Sharing and synchronizing electronically stored files
First Claim
1. A computer implemented method for dispatching work items that effect sharing and synchronization of electronically stored files between a client file system and a cloud file system, the method comprising:
- ordering the work items in a queue from oldest to newest;
sequentially examining from oldest to newest the queued work items;
for a particular work item under examination;
comparing a first set of dependencies with a second set of dependencies to determine whether there is at least one match between the first set of dependencies and the second set of dependencies, wherein;
the first set of dependencies correspond to dependencies affected by the particular work item, andthe second set of dependencies are in a dependency map and includes dependencies affected by a set of previously dispatched work items that are currently being processed by at least one worker thread;
when there is no match,dispatching the particular work item to one of the at least one worker thread for processing, andupdating the second set of dependencies to reflect the processing of the dispatched particular work item when the one of the at least one worker thread completes the processing; and
when there is at least one match, proceeding to examine a next work item in the queue;
wherein a relative order of the work items in the queue that are not dispatched is maintained.
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 serial processing and ordering of work items associated with file system changes such that correct parallel execution of the work items may proceed resulting in the synchronization of the cloud file system and the client computer file system.
-
Citations
16 Claims
-
1. A computer implemented method for dispatching work items that effect sharing and synchronization of electronically stored files between a client file system and a cloud file system, the method comprising:
-
ordering the work items in a queue from oldest to newest; sequentially examining from oldest to newest the queued work items; for a particular work item under examination; comparing a first set of dependencies with a second set of dependencies to determine whether there is at least one match between the first set of dependencies and the second set of dependencies, wherein; the first set of dependencies correspond to dependencies affected by the particular work item, and the second set of dependencies are in a dependency map and includes dependencies affected by a set of previously dispatched work items that are currently being processed by at least one worker thread; when there is no match, dispatching the particular work item to one of the at least one worker thread for processing, and updating the second set of dependencies to reflect the processing of the dispatched particular work item when the one of the at least one worker thread completes the processing; and when there is at least one match, proceeding to examine a next work item in the queue; wherein a relative order of the work items in the queue that are not dispatched is maintained. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer implemented method of processing work items associated with sharing and synchronization of electronically stored files between a client file system and a cloud file system, the method comprising:
-
receiving a work item from a queue in which a plurality of work items including the work item are sequentially examined from oldest to newest; comparing a first set of dependencies with a second set of dependencies to determine whether there is at least one match between the first set of dependencies and the second set of dependencies, wherein; the first set of dependencies correspond to dependencies affected by the received work item, and the second set of dependencies are in a dependency map and includes dependencies affected by a previously dispatched work item that is currently being processed by at least one worker thread; and dispatching the received work item to one of the at least one worker thread if there is no match; wherein the one of the at least one worker thread processes the dispatched received work item to cause the sharing and synchronization of an electronically stored file between the client file system and the cloud file system. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer storage medium having computer executable instructions which when executed by a computer cause the computer to perform operations comprising:
-
ordering the work items in a queue from oldest to newest; sequentially examining from oldest to newest the queued work items; for a particular work item under examination; comparing a first set of dependencies with a second set of dependencies to determine whether there is at least one match between the first set of dependencies and the second set of dependencies, wherein; the first set of dependencies correspond to dependencies affected by the particular work item, and the second set of dependencies are in a dependency map and includes dependencies affected by a set of previously dispatched work items that are currently being processed by at least one worker thread; when there is no match, dispatching the particular work item to one of the at least one worker thread for processing; and when there is at least one match, proceeding to examine a next work item in the queue; wherein a relative order of the work items in the queue that are not dispatched is maintained; and wherein the one of the at least one worker thread processes the dispatched work item to cause sharing and synchronization of an electronically stored file between a client file system and a cloud file system. - View Dependent Claims (14, 15, 16)
-
Specification