System and method for policy based synchronization of remote and local file systems
First Claim
1. In a local file storage system, a method for synchronizing a local file system (LFS) and a remote file system (RFS) that is located remotely from said LFS, said method comprising:
- generating steady-state sync (SSS) events in response to changes being made to said LFS by a user, each of said SSS events being associated with a local file system object of said LFS that is synchronized with a corresponding remote file system object of said RFS;
generating rescan synchronization (RS) events based on a comparison between metadata associated with said LFS and metadata associated with said RFS received from a remote file storage system, each of said RS events being indicative of a difference between corresponding local and remote file system objects of said LFS and said RFS;
storing said SSS events and said RS events;
prioritizing said SSS events and said RS events for synchronization by assigning a higher priority to said SSS events than to said RS events;
generating a set of file system operations from said SSS events and said RS events based on the prioritization of said SSS events and said RS events;
applying a first subset of said set of said file system operations to said LFS to alter said LFS; and
providing a second subset of said set of said file system operations to said remote file storage system for application to said RFS; and
whereinportions of said LFS and said RFS are synchronized as said file system operations are applied to said LFS and said RFS; and
whereinsaid step of generating a set of file system operations from said SSS events and said RS events based on the prioritization of said SSS events and said RS events includes making more synchronization resources available for generating file system operations based on said SSS events than based on said RS events; and
said step of prioritizing said SSS events and said RS events includes defining a plurality of service classes, assigning a priority to each of said service classes, assigning each of said SSS events to a first service class having a first priority, and assigning each of said RS events to a second service class having a second priority lower than said first priority; and
further including at least one ofadditionally prioritizing said SSS events for synchronization with respect to other SSS events within said first service class; and
additionally prioritizing said RS events for synchronization with respect to other RS events within said second service class.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for synchronizing a local file system (LFS) and a remote (cloud) file system (RFS) includes the step of storing events indicative of differences between the LFS and the RFS, where the events are associated with file system objects of the LFS and RFS. The method further includes the steps of prioritizing the events, generating file system operations for the events based at least in part on the prioritization of the events, and performing at least some of the file system operations to synchronize the LFS and RFS. Prioritizing the events includes defining a plurality of service classes (e.g., based on type of event, event attribute, etc.), assigning a priority to each of the service classes, and assigning each event to one of said service classes. Systems are also described. The invention allocates limited synchronization resources based on a predefined policy to synchronize important file system objects sooner.
-
Citations
28 Claims
-
1. In a local file storage system, a method for synchronizing a local file system (LFS) and a remote file system (RFS) that is located remotely from said LFS, said method comprising:
-
generating steady-state sync (SSS) events in response to changes being made to said LFS by a user, each of said SSS events being associated with a local file system object of said LFS that is synchronized with a corresponding remote file system object of said RFS; generating rescan synchronization (RS) events based on a comparison between metadata associated with said LFS and metadata associated with said RFS received from a remote file storage system, each of said RS events being indicative of a difference between corresponding local and remote file system objects of said LFS and said RFS; storing said SSS events and said RS events; prioritizing said SSS events and said RS events for synchronization by assigning a higher priority to said SSS events than to said RS events; generating a set of file system operations from said SSS events and said RS events based on the prioritization of said SSS events and said RS events; applying a first subset of said set of said file system operations to said LFS to alter said LFS; and providing a second subset of said set of said file system operations to said remote file storage system for application to said RFS; and
whereinportions of said LFS and said RFS are synchronized as said file system operations are applied to said LFS and said RFS; and
whereinsaid step of generating a set of file system operations from said SSS events and said RS events based on the prioritization of said SSS events and said RS events includes making more synchronization resources available for generating file system operations based on said SSS events than based on said RS events; and said step of prioritizing said SSS events and said RS events includes defining a plurality of service classes, assigning a priority to each of said service classes, assigning each of said SSS events to a first service class having a first priority, and assigning each of said RS events to a second service class having a second priority lower than said first priority; and
further including at least one ofadditionally prioritizing said SSS events for synchronization with respect to other SSS events within said first service class; and additionally prioritizing said RS events for synchronization with respect to other RS events within said second service class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A local file storage system operative to synchronize a local file system (LFS) and a remote file system (RFS) stored on a remote file storage system, said local file storage system comprising:
-
a data monitor operative to generate steady-state synchronization (SSS) events in response to changes being made to said LFS by a user, each of said SSS events being associated with a local file system object of said LFS that is synchronized with a corresponding remote file system object of said RFS; a synchronizer operative to generate rescan synchronization (RS) events by comparing metadata associated with said LFS and metadata associated with said RFS received from a remote file storage system, each of said RS events being indicative of a difference between corresponding local and remote file system objects of said LFS and said RFS; memory containing at least one database for storing said SSS events and said RS events; an event processor operative to generate a set of file system operations from said SSS events and said RS events; an admissions controller operative to prioritize said SSS events and said RS events for synchronization by assigning a higher priority to said SSS events than to said RS events and selectively provide said SSS events and said RS events to said event processor based on said priority; and an operations handler operative to cause a first subset of said set of said file system operations to be applied to said LFS and provide a second subset of said set of said file system operations to said remote file storage system for application to said RFS, whereby portions of said LFS and said RFS are synchronized as said file system operations are applied to said LFS and said RFS; and
whereineach of said SSS events is assigned to a first one of a plurality of service classes; each of said RS events is assigned to a second one of said plurality of service classes; each of said service classes is assigned a priority for synchronization; said first service class has a higher priority than said second service class; and said admissions controller is further operative to at least one of additionally prioritize said SSS events for synchronization with respect to other SSS events within said first service class and additionally prioritize said RS events for synchronization with respect to other RS events within said second service class. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A local file storage system storing a local file system (LFS) to be synchronized with a remote file system (RFS) stored on a remote file storage system, said local file storage system comprising:
-
a data monitor operative to generate steady-state synchronization (SSS) events in response to changes being made to said LFS by a user, each of said SSS events being associated with a local file system object of said LFS that is synchronized with a corresponding remote file system object of said RFS; a synchronizer operative to generate rescan synchronization (RS) events by comparing metadata associated with said LFS and metadata associated with said RFS received from a remote file storage system, each of said RS events being indicative of a difference between corresponding local and remote file system objects of said LFS and said RFS; memory containing at least one database for storing said SSS events and said RS events; means for prioritizing said SSS events and said RS events for synchronization by assigning a higher priority to said SSS events than to said RS events; means for generating a set of file system operations from said SSS events and said RS events based on the priority of said SSS events and said RS events; and an operations handler operative to cause a first subset of said set of said file system operations to be applied to said LFS and to cause a second subset of said set of said file system operations to be provided to said remote file storage system for application to said RFS, whereby portions of said LFS and said RFS are synchronized as said file system operations are applied to said LFS and said RFS; and
whereineach of said SSS events is assigned to a first one of a plurality of service classes; each of said RS events is assigned to a second one of said plurality of service classes; each of said service classes is assigned a priority for synchronization; said first service class has a higher priority than said second service class; and said means for prioritizing said SSS events and said RS events is further operative to at least one of additionally prioritize said SSS events for synchronization with respect to other SSS events within said first service class and additionally prioritize said RS events for synchronization with respect to other RS events within said second service class.
-
-
28. A non-transitory, electronically-readable storage medium having code embodied therein for causing an electronic device to perform a method for synchronizing a local file system (LFS) and a remote file system (RFS) that is located remotely from said LFS, said code causing said electronic device to:
-
generate steady-state sync (SSS) events in response to changes being made to said LFS by a user, each of said SSS events being associated with a local file system object of said LFS that is synchronized with a corresponding remote file system object of said RFS; generate rescan synchronization (RS) events based on a comparison between metadata associated with said LFS and metadata associated with said RFS received from a remote file storage system, each of said RS events being indicative of a difference between corresponding local and remote file system objects of said LFS and said RFS; store said SSS events and said RS events; prioritize said SSS events and said RS events for synchronization by assigning a higher priority to said SSS events than to said RS events; generate a set of file system operations from said SSS events and said RS events based on the prioritization of said SSS events and said RS events; apply a first subset of said set of said file system operations to said LFS to alter said LFS; and provide a second subset of said set of said file system operations to said remote file storage system for application to said RFS; and
wherein portions of said LFS and said RFS are synchronized as said file system operations are applied to said LFS and said RFS; and
wherein generating said set of file system operations from said SSS events and saidRS events based on the prioritization of said SSS events and said RS events includes using more synchronization resources for generating file system operations based on said SSS events than based on said RS events; and prioritizing said SSS events and said RS events includes defining a plurality of service classes, assigning a priority to each of said service classes, assigning each of said SSS events to a first service class having a first priority, and assigning each of said RS events to a second service class having a second priority lower than said first priority; and
further including at least one ofadditionally prioritizing said SSS events for synchronization with respect to other SSS events within said first service class; and additionally prioritizing said RS events for synchronization with respect to other RS events within said second service class.
-
Specification