Sharing and synchronizing electronically stored files
First Claim
1. A computer implemented system for synchronizing electronically stored files between a client file system and a cloud file system comprising:
- a cloud watcher processor that receives a change log indicative of the status of the cloud file system, detects changes to the cloud file system, and generates work items in response to the detected cloud file system changes;
a local watcher processor that concurrently monitors the client file system and detects changes thereto and generates work items in response to the detected client file system changes;
a fetcher processor that serializes selected ones of the work items and assigns each of the selected ones of the work items to only one of a plurality of worker processors that concurrently perform assigned work items, wherein the fetcher processor references a dependency map prior to assigning selected work items to worker processors;
wherein the work items are file operations resulting in a synchronization between the client file system and the cloud file system.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the present disclosure are directed to architectures, methods and systems and structures that facilitate the sharing and synchronization of electronically stored files among and between cloud entities and a number of computers, systems, devices and/or users. One particular exemplary architectural aspect includes the concurrent determination of file system changes within a cloud file system and a client file system, the serial ordering of necessary file system operations in response to the determined file system changes, and the concurrent execution of file system operations such that the cloud file system and the client computer file system are synchronized.
90 Citations
20 Claims
-
1. A computer implemented system for synchronizing electronically stored files between a client file system and a cloud file system comprising:
-
a cloud watcher processor that receives a change log indicative of the status of the cloud file system, detects changes to the cloud file system, and generates work items in response to the detected cloud file system changes; a local watcher processor that concurrently monitors the client file system and detects changes thereto and generates work items in response to the detected client file system changes; a fetcher processor that serializes selected ones of the work items and assigns each of the selected ones of the work items to only one of a plurality of worker processors that concurrently perform assigned work items, wherein the fetcher processor references a dependency map prior to assigning selected work items to worker processors; wherein the work items are file operations resulting in a synchronization between the client file system and the cloud file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer implemented method for synchronizing electronically stored files between a client file system and a cloud file system comprising the steps of:
-
receiving a change log indicative of the status of the cloud file system, detecting changes to the cloud file system, and generating work items in response to the detected cloud file system changes; concurrently monitoring the client file system, detecting changes to one or more files electronically stored in the client file system, and generating work items in response to the detected client file system changes; serially fetching the generated work items such that each of the generated work items is assigned to only one of a plurality of worker processors, wherein a dependency map is referenced prior to assigning selected work items to worker processors; and concurrently working the fetched work items at the assigned worker processors, such that changes detected to a file in one of the client file system or cloud file system are replicated to a file of the other file system. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer storage medium having computer executable instructions which when executed by a computer cause the computer to perform operations comprising:
-
receiving a change log indicative of the status of the cloud file system, detecting changes to the cloud file system, and generating file system operations in response to the detected cloud file system changes; concurrently monitoring the client file system, detecting changes to one or more files electronically stored in the client file system, aggregating a number of the client file system changes, and using the aggregated changes to generate file system operations in response to the detected client file system changes; serially ordering the file system operations from oldest to newest; assigning each of the file system operations to only one of a plurality of worker processors, wherein a dependency map is referenced prior to assigning selected work items to worker processors; and concurrently performing the file system operations at assigned worker processors, such that changes detected to a file in one of the file systems are replicated a file of the other file system. - View Dependent Claims (19, 20)
-
Specification