IP Library Granted Patent US 11,301,431
Granted Patent B2
US 11,301,431 · App. 15/997,286 · Granted Apr 12, 2022

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,301,431
App. No.
15/997,286
Granted
Apr 12, 2022
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 (57)

1. A system comprising:

a processor;

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

communicate with a remote content management system to determine a content navigation hierarchy and a set of objects in the content navigation hierarchy on the remote content management system;

maintain in a local cache in a local file system a local content hierarchy that reflects at least a portion of the content navigation hierarchy on the remote content management system, the local content hierarchy containing local peers of corresponding objects in the content navigation hierarchy on the remote content management system;

provide a user interface with controls to allow a user to independently select multiple objects in the content navigation hierarchy for synchronization with corresponding local peers in the local content hierarchy;

receive an input, via the interface, the input selecting a subset of one or more objects from the set of objects for synchronization;

synchronize changes only to the subset of one or more selected objects at the content management system to the corresponding local peers of the selected objects.

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

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

create local peers of the additional container objects in the local file system, wherein the local peers of the additional container objects and the local peers of the selected objects are arranged in a local hierarchy that reflects at least a portion of the 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 synchronize changes to the local peers in the local cache to the selected objects at the content management system.

9. 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.

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

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

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

communicate with a remote content management system to determine a content navigation hierarchy and a set of objects in the content navigation hierarchy;

maintain in a local cache in a local file system a local content hierarchy that reflects at least a portion of the content navigation hierarchy on the remote content management system, the local content hierarchy containing local peers of corresponding objects in the content navigation hierarchy on the remote content management system;

provide a user interface with controls to allow a user to independently select multiple objects in the content navigation hierarchy for synchronization with corresponding local peers in the local content hierarchy;

receive an input, via the interface, the input selecting a subset of one or more objects from the set of objects for synchronization;

store local peers of the selected objects in a local cache in a local file system; and

synchronize changes to the selected objects at the content management system to the local peers of the selected objects.

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

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

create local peers of the additional container objects in the local file system, wherein the local peers of the additional container objects and the local peers of the selected objects are arranged in a local hierarchy that reflects at least a portion of the content navigation hierarchy.

14. The computer program product of claim 13 , 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.

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

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

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

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

19. The computer program product of claim 12 , further comprising instructions executable to synchronize changes to the local peers in the local cache to the selected objects at the content management system.

20. The computer program product of claim 12 , 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.

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

22. The computer program product of claim 21 , 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 Oct 7, 2021
From: JEWELL, BRIAN ALEXANDER; WALSH, BRENNEN MATTHEW; YANG, JINSHAN
To: OPEN TEXT SA ULC
Reel/Frame 057722/0632 →
Continuity (2)
Provisional Application 62514221 · Jun 2, 2017
Related Publication 20180349408A1 · Dec 6, 2018
Cited By (3)
US 12,380,067 US 12,386,858 US 12,405,968