IP Library Granted Patent US 10,594,825
Granted Patent B2
US 10,594,825 · App. 16/006,317 · Granted Mar 17, 2020

Systems and methods for caching of managed content in a distributed environment using a multi-tiered architecture

Inventors: Nicolae Ionescu (Toronto, CA); Dan-Horia Trufasiu (Newmarket, CA); Peter Varga (Markham, CA); Tao Zhou (Richmond Hill, CA); Franz Pauthner (Zorneding, DE); Yue Kuk Wong (Toronto, CA)
Assignee: OPEN TEXT SA ULC
H04L67/2842G06F16/172G06F16/173G06F16/2329G06F16/2474H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,594,825
App. No.
16/006,317
Granted
Mar 17, 2020
Kind
B2
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.

Claims (93)

1. A system for remote caching, comprising:

a remote cache system for use with a primary content management system for managing content, including:

a cache;

a processor;

a data store for storing metadata corresponding to content stored in the cache, wherein the content in cache comprises content managed by the primary content management system; and

a non-transitory computer readable medium, comprising instruction for: 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 first request to a primary content transfer module associated with the primary content management system based on the determination if first metadata associated with the requested content is stored in the data store;

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 the 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 second 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 current version of the content in response to the first request; and the primary content transfer module for:

receiving the first request associated with the content from the remote client transfer module;

sending a third request to the primary content management system for the second metadata associated with the content;

returning the first response, including the second metadata to the remote client transfer module;

receiving the second request for the current version of the content; obtaining the current version of the content from the primary content management system; and

returning the current version of the content to the remote client transfer module.

2. The system of claim 1 , wherein the remote client transfer module and the primary content transfer module are deployed in a cloud environment.

3. The system of claim 2 , wherein the first metadata and second metadata include metadata used by the primary content management system for managing the content.

4. The system of claim 1 , wherein the primary content management system includes a primary content server and a repository server, the primary content server storing metadata for managed content and the repository server storing managed content.

5. The system of claim 1 , wherein the remote client transfer module is further configured for:

receiving a fourth request to save content from the user,

updating metadata associated with the saved content in the data store;

updating the content in the cache with saved content;

sending a second response to the user indicating the content has been saved; and

subsequently to sending the second response to the user, sending a fifth request to the primary content management system to save the saved content at the primary content management system.

6. The system of claim 1 , wherein the first request and second request are included in a single request.

7. The system of claim 1 , wherein the first response, includes the second metadata and the current version of the content.

8. A method for remote caching, comprising:

providing a cache and a data store for storing metadata corresponding to content stored in the cache, where the content in cache comprises content managed by a primary content management system:

providing a remote client transfer module for the steps of:

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 first request to a primary content transfer module associated with the primary content management system based on the determination if first metadata associated with the requested content is stored in the data store;

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 the 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 second 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 current version of the content in response to the first request; and

providing the primary content transfer module for the steps of:

receiving the first request associated with the content from the remote client transfer module;

sending a third request to the primary content management system for the second metadata associated with the content;

returning the first response, including the second metadata to the remote client transfer module;

receiving the second request for the current version of the content;

obtaining the current version of the content from the primary content management system; and

returning the current version of the content to the remote client transfer module.

9. The method of claim 8 , wherein the remote client transfer module and the primary content transfer module are deployed in a cloud environment.

10. The method of claim 9 , wherein the first metadata and second metadata include metadata used by the primary content management system for managing the content.

11. The method of claim 8 , wherein the primary content management system includes a primary content server and a repository server, the primary content server storing metadata for managed content and the repository server storing managed content.

12. The method of claim 8 , wherein the remote client transfer module is further configured for:

receiving a fourth request to save content from the user,

updating metadata associated with the saved content in the data store;

updating the content in the cache with saved content;

sending a second response to the user indicating the content has been saved; and

subsequently to sending the second response to the user, sending a fifth request to the primary content management system to save the saved content at the primary content management system.

13. The method of claim 8 , wherein the first request and second request are included in a single request.

14. The method of claim 8 , wherein the first response, includes the second metadata and the current version of the content.

15. A non-transitory computer readable medium, comprising instructions for implementing remote caching in 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 a primary content management system, the instructions for implementing 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 first request to a primary content transfer module associated with the primary content management system based on the determination if first metadata associated with the requested content is stored in the data store;

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 the 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 second 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 current version of the content in response to the first request; and

at the primary content transfer module:

receiving the first request associated with the content from the remote client transfer module;

sending a third request to the primary content management system for the second metadata associated with the content;

returning the first response, including the second metadata to the remote client transfer module;

receiving the second request for the current version of the content;

obtaining the current version of the content from the primary content management system; and

returning the current version of the content to the remote client transfer module.

16. The non-transitory computer readable media of claim 15 , wherein the remote client transfer module and the primary content transfer module are deployed in a cloud environment.

17. The non-transitory computer readable media of claim 16 , wherein the first metadata and second metadata include metadata used by the primary content management system for managing the content.

18. The non-transitory computer readable media of claim 15 , wherein the primary content management system includes a primary content server and a repository server, the primary content server storing metadata for managed content and the repository server storing managed content.

19. The non-transitory computer readable media of claim 15 , wherein the remote client transfer module is further configured for:

receiving a fourth request to save content from the user,

updating metadata associated with the saved content in the data store;

updating the content in the cache with saved content;

sending a second response to the user indicating the content has been saved; and

subsequently to sending the second response to the user, sending a fifth request to the primary content management system to save the saved content at the primary content management system.

20. The non-transitory computer readable media of claim 15 , wherein the first request and second request are included in a single request.

21. The non-transitory computer readable media of claim 15 , wherein the first response, includes the second metadata and the current version of the content.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: OPEN TEXT CORP.
To: CROWDSTRIKE, INC.
Reel/Frame 068121/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: OPEN TEXT SA ULC
To: OPEN TEXT CORP.
Reel/Frame 067400/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2018
From: IONESCU, NICOLAE; TRUFASIU, DAN-HORIA; VARGA, PETER; ZHOU, TAO; PAUTHNER, FRANZ; WONG, YUE KUK
To: OPEN TEXT SA ULC
Reel/Frame 046339/0117 →
Continuity (4)
Continuation 15094524 · Apr 8, 2016
Provisional Application 62296329 · Feb 17, 2016
Provisional Application 62146030 · Apr 10, 2015
Related Publication 20180332133A1 · Nov 15, 2018
Cited By (1)
US 12,328,374