Systems and methods for caching of managed content in a distributed environment using a multi-tiered architecture
First Claim
Patent Images
1. A system for remote caching, comprising:
- a primary content management server for managing content;
a remote cache system, including;
a processor;
a cache;
an interface to a network;
a data store for storing metadata corresponding to content stored in the cache, wherein the content in cache is managed by the primary content management server; and
a remote client transfer module for;
receiving a first request to access content, wherein the first request is associated with a user;
accessing the data store to determine if first metadata associated with the requested content is stored in the data store;
sending a second request to a primary content transfer module associated with the primary content management server based on a presence of first metadata associated with the requested content;
receiving a first response from the primary content transfer module including second metadata;
comparing the first metadata to the second metadata to determine if a version of the content stored in the cache is a current version of the content;
if the version of the content stored in the cache is a current version, providing the content in the cache in response to the first request;
if the version of the content stored in the cache is not the current version,sending a third request for the current version of the content to the primary content transfer module;
receiving the current version of the content;
storing the current version of the content in the cache; and
providing the content in the cache in response to the first request; and
the primary content transfer module for;
receiving the second request associated with the content from the remote client transfer module;
sending a fourth request to the primary content management server for the second metadata associated with the content;
determining if the user has permission to access the content based on the second metadata and the second requestif the user does not have permission returning a response indicating the user does not have permission;
if the user does have permission,
returning the first response, including the second metadata to the remote client transfer module;
receiving the third request for the current version of the content;
obtaining the current version of the content from a content management platform; and
returning the current version of the content to the remote client transfer module.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments as disclosed provide a distributed caching solution that improve the performance and functionality of a content management platform for sites that are physically or logically remote from the primary site of the content management platform. In particular, according to embodiments, a remote cache server may be associated with a remote site to store local copies of documents that are managed by the primary content management platform. Periodically, a portion of the remote site'"'"'s cache may be synchronized with the content management platform'"'"'s primary site using an extensible architecture to ensure that content at the remote cache server is current.
12 Citations
22 Claims
-
1. A system for remote caching, comprising:
-
a primary content management server for managing content; a remote cache system, including; a processor; a cache; an interface to a network; a data store for storing metadata corresponding to content stored in the cache, wherein the content in cache is managed by the primary content management server; and a remote client transfer module for; receiving a first request to access content, wherein the first request is associated with a user; accessing the data store to determine if first metadata associated with the requested content is stored in the data store; sending a second request to a primary content transfer module associated with the primary content management server based on a presence of first metadata associated with the requested content; receiving a first response from the primary content transfer module including second metadata; comparing the first metadata to the second metadata to determine if a version of the content stored in the cache is a current version of the content; if the version of the content stored in the cache is a current version, providing the content in the cache in response to the first request; if the version of the content stored in the cache is not the current version, sending a third request for the current version of the content to the primary content transfer module; receiving the current version of the content; storing the current version of the content in the cache; and providing the content in the cache in response to the first request; and the primary content transfer module for; receiving the second request associated with the content from the remote client transfer module; sending a fourth request to the primary content management server for the second metadata associated with the content; determining if the user has permission to access the content based on the second metadata and the second request if the user does not have permission returning a response indicating the user does not have permission; if the user does have permission,
returning the first response, including the second metadata to the remote client transfer module;
receiving the third request for the current version of the content;
obtaining the current version of the content from a content management platform; and
returning the current version of the content to the remote client transfer module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for remote caching, comprising:
-
receiving, at a remote client transfer module of a system including a primary content management server for managing content, a remote cache system including a cache storing content managed by the primary content management server and a data store for storing metadata corresponding to content stored in the cache, a first request to access content, wherein the first request is associated with a user; accessing the data store to determine if first metadata associated with the requested content is stored in the data store; sending a second request to a primary content transfer module associated with the primary content management server based on a presence of first metadata associated with the requested content; receiving a first response from the primary content transfer module including second metadata; comparing the first metadata to the second metadata to determine if a version of the content stored in the cache is a current version of the content; if the version of the content stored in the cache is a current version, providing the content in the cache in response to the first request; if the version of the content stored in the cache is not the current version, sending a third request for the current version of the content to the primary content transfer module; receiving the current version of the content; storing the current version of the content in the cache; and providing the content in the cache in response to the first request; and receiving, by the primary content transfer module, the second request associated with the content from the remote client transfer module; sending a fourth request to the primary content management server for the second metadata associated with the content; determining if the user has permission to access the content based on the second metadata and the second request if the user does not have permission returning a response indicating the user does not have permission; if the user does have permission, returning the first response, including the second metadata to the remote client transfer module; receiving the third request for the current version of the content; obtaining the current version of the content from a content management platform; and returning the current version of the content to the remote client transfer module. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium, comprising instruction for implementing remote caching in a system including a primary content management server for managing content, a remote cache system including a cache and a data store for storing metadata corresponding to content stored in the cache, where the content in cache is managed by the primary content management server, the instruction translatable to implement a remote client transfer module and a primary content transfer module, and
at the remote client transfer module: -
receiving a first request to access content, wherein the first request is associated with a user; accessing the data store to determine if first metadata associated with the requested content is stored in the data store; sending a second request to a primary content transfer module associated with the primary content management server based on a presence of first metadata associated with the requested content; receiving a first response from the primary content transfer module including second metadata; comparing the first metadata to the second metadata to determine if a version of the content stored in the cache is a current version of the content; if the version of the content stored in the cache is a current version, providing the content in the cache in response to the first request; if the version of the content stored in the cache is not the current version, sending a third request for the current version of the content to the primary content transfer module; receiving the current version of the content; storing the current version of the content in the cache; and providing the content in the cache in response to the first request; and at the primary content transfer module; receiving the second request associated with the content from the remote client transfer module; sending a fourth request to the primary content management server for the second metadata associated with the content; determining if the user has permission to access the content based on the second metadata and the second request if the user does not have permission returning a response indicating the user does not have permission; if the user does have permission, returning the first response, including the second metadata to the remote client transfer module; receiving the third request for the current version of the content; obtaining the current version of the content from a content management platform; and returning the current version of the content to the remote client transfer module. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification