IP Library › Granted Patent US 11,803,516
Granted Patent B2
US 11,803,516 · App. 17/666,487 · Granted Oct 31, 2023

System and method for selective synchronization

Inventors: Brian Alexander Jewell (Kitchener, CA); Brennen Matthew Walsh (Waterloo, CA); Jinshan Yang (Waterloo, CA)
Assignee: OPEN TEXT SA ULC
G06F16/178G06F16/172G06F16/1734G06F16/185G06F16/1824
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 11,803,516
App. No.
17/666,487
Granted
Oct 31, 2023
Kind
B2
Abstract

A client computer includes a synchronization manager. The synchronization manager communicates with a remote content management system to determine a set of objects in a content navigation hierarchy. The synchronization manager provides a user interface with controls to allow a user to independently select multiple objects in the content navigation hierarchy for synchronization and receives an input, via the interface, that selects objects from the set of objects for synchronization. The synchronization manager stores local peers of the selected objects in a local cache in a local file system. The synchronization manager synchronizes changes to the selected objects at the content management system to the local peers in the file system.

Claims (54)

1. A system comprising:

a processor;

a memory having stored thereon instructions executable by the processor to:

determine a set of objects in a remote content navigation hierarchy on a remote content management system;

maintain on a local file system a local content hierarchy, wherein at least a portion of the local content navigation hierarchy comprises objects that are paired with corresponding objects in the remote content navigation hierarchy;

receive input, via a user interface, the input selecting a synched set of the objects in the local content hierarchy for synchronization with the corresponding objects in the remote content navigation hierarchy, the input further selecting a non-synched set of the objects in the local content hierarchy data resources;

maintain a selective synchronization model that identifies the synched set of objects and the non-synched set of objects;

synchronize changes to the synched set of objects with corresponding objects in the remote content management system and blocking synchronization of changes to the non-synched set of objects.

2. The system of claim 1 , wherein the instructions are further executable to:

traverse the remote content navigation hierarchy to identify a set of additional container objects above each selected object in the remote content navigation hierarchy; and

create additional local objects corresponding to the additional container objects in the local content navigation hierarchy, wherein the additional local objects are arranged in the local content navigation hierarchy.

3. The system of claim 2 , wherein the instructions are further executable to:

build a selective synchronization model including metadata for the selected objects and additional container objects;

receive a notification from the content management system of an event associated with at least one object in the content navigation hierarchy; and

filter the notification based on the selective synchronization model.

4. The system of claim 1 , wherein the set of objects comprises files and folders.

5. The system of claim 1 , wherein the interface is adapted to allow the user to independently select the multiple objects from different levels of the content navigation hierarchy.

6. The system of claim 1 , wherein the interface is adapted to allow the user to independently select the multiple objects from the same level of the content navigation hierarchy.

7. The system of claim 1 , wherein the user interface combines hierarchy data from the content management system with user selections.

8. The system of claim 1 , further comprising instructions executable to:

monitor the file system for events in the local cache;

in response to an event in the local cache, determine that a file has been added to the local cache;

upload the file to the content management system;

receive a notification from the content management system to create the file in the local cache;

determine that the file already exists in the local cache; and

based on determining that the file already exists in the local cache, select the file for synchronization.

9. The system of claim 1 , wherein the controls to allow a user to independently select the multiple objects as hard sync selections.

10. The system of claim 9 , further comprising instructions executable by the processor to automatically select, as soft sync selections, a parent container object of a hard sync selected object.

11. A computer program product comprising a non-transitory computer readable medium storing computer instructions executable by a processor to:

determine a set of objects in a remote content navigation hierarchy on a remote content management system;

maintain on a local file system a local content hierarchy, wherein at least a portion of the local content navigation hierarchy comprises objects that are paired with corresponding objects in the remote content navigation hierarchy;

receive input, via a user interface, the input selecting a synched set of the objects in the local content hierarchy for synchronization with the corresponding objects in the remote content navigation hierarchy, the input further selecting a non-synched set of the objects in the local content hierarchy data resources;

maintain a selective synchronization model that identifies the synched set of objects and the non-synched set of objects;

synchronize changes to the synched set of objects selected objects in the remote content management system and blocking synchronization of changes to the non-synched set of objects.

12. The computer program product of claim 11 , wherein the instructions are further executable to:

traverse the remote content navigation hierarchy to identify a set of additional container objects above each selected object in the content navigation hierarchy; and

create additional local objects corresponding to the additional container objects in the local content navigation hierarchy, wherein the additional local objects are arranged in the local content navigation hierarchy.

13. The computer program product of claim 12 , wherein the instructions are further executable to:

build a selective synchronization model including metadata for the selected objects and additional container objects;

receive a notification from the content management system of an event associated with at least one object in the content navigation hierarchy; and

filter the notification based on the selective synchronization model.

14. The computer program product of claim 11 , wherein the set of objects comprises files and folders.

15. The computer program product of claim 11 , wherein the interface is adapted to allow the user to independently select the multiple objects from different levels of the content navigation hierarchy.

16. The computer program product of claim 11 , wherein the interface is adapted to allow the user to independently select the multiple objects from the same level of the content navigation hierarchy.

17. The computer program product of claim 11 , wherein the user interface combines hierarchy data from the content management system with user selections.

18. The computer program product of claim 11 , further comprising instructions executable to:

monitor the file system for events in the local cache;

in response to an event in the local cache, determine that a file has been added to the local cache;

upload the file to the content management system;

receive a notification from the content management system to create the file in the local cache;

determine that the file already exists in the local cache; and

based on determining that the file already exists in the local cache, select the file for synchronization.

19. The computer program product of claim 11 , wherein the controls to allow a user to independently select the multiple objects as hard sync selections.

20. The computer program product of claim 19 , further comprising instructions executable by the processor to automatically select, as soft sync selections, a parent container object of a hard sync selected object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2022
From: JEWELL, BRIAN ALEXANDER; WALSH, BRENNEN MATTHEW; YANG, JINSHAN
To: OPEN TEXT SA ULC
Reel/Frame 059033/0888 →
Continuity (3)
Continuation 15997286 · Jun 4, 2018
Provisional Application 62514221 · Jun 2, 2017
Related Publication 20220164315A1 · May 26, 2022
Cited By (3)
US 12,353,361 US 12,360,952 US 12,506,554