Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
First Claim
1. A method of updating one or more shadows of a local file system by a synchronization client, comprising:
- executing a first action on an item in the local file system by the synchronization client, wherein the first action produces a change to the item, wherein the change to the item is indicated as a change of a state of the item from an old state to a new state;
providing an interface for updating the one or more shadows of the local file system, wherein the one or more shadows of the local file system describe the change to the item on the local file system, wherein the synchronization client is configured to translate between an identifier (id) and path for operations on the local filesystem;
based on the one or more shadows of the local file system, comparing a current state of the local file system with a last known state of the local file system;
in response to the comparing, determining whether the change to the item when applied to the local file system causes the local file system to be in an inconsistent state;
updating the one or more shadows of the local file system with the new state of the item using the interface for generation of a synchronization event for the change to the item;
executing a second action on the item by the synchronization client, wherein the second action reverses the change to the item resulting a current state of the local file system to retain the old state of the item;
determining a difference between the current state of the local file system and a state of the one or more shadows, wherein the state of the one or more shadows have the new state of the item corresponding to the first action; and
generating, based on the difference between the current state of the local file system and the state of the one or more shadows, the synchronization event to bring a remote file system in synchronization with the local file system.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for maintaining and updating file system shadows by a synchronization client of a cloud-based platform. In some embodiments, an executor of the synchronization client can execute an action on an item in the local file system which changes the state of the item from an old state to a new state. The synchronization client updates the file system shadows with the new state of the item via an interface to facilitate generation of a synchronization event for the change to the item, that would otherwise go undetected if the change to the item was immediately reversed. In some embodiments, methods for providing shadow consistency and enhancing concurrent access to shadows are implemented by the synchronization client in maintaining and updating the file system shadows.
-
Citations
20 Claims
-
1. A method of updating one or more shadows of a local file system by a synchronization client, comprising:
-
executing a first action on an item in the local file system by the synchronization client, wherein the first action produces a change to the item, wherein the change to the item is indicated as a change of a state of the item from an old state to a new state; providing an interface for updating the one or more shadows of the local file system, wherein the one or more shadows of the local file system describe the change to the item on the local file system, wherein the synchronization client is configured to translate between an identifier (id) and path for operations on the local filesystem; based on the one or more shadows of the local file system, comparing a current state of the local file system with a last known state of the local file system; in response to the comparing, determining whether the change to the item when applied to the local file system causes the local file system to be in an inconsistent state; updating the one or more shadows of the local file system with the new state of the item using the interface for generation of a synchronization event for the change to the item; executing a second action on the item by the synchronization client, wherein the second action reverses the change to the item resulting a current state of the local file system to retain the old state of the item; determining a difference between the current state of the local file system and a state of the one or more shadows, wherein the state of the one or more shadows have the new state of the item corresponding to the first action; and generating, based on the difference between the current state of the local file system and the state of the one or more shadows, the synchronization event to bring a remote file system in synchronization with the local file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A synchronization client associated with a memory and one or more hardware processors for updating one or more shadows of a local file system, the synchronization client comprising:
-
a local file system monitor comprising one or more shadows of the local file system, wherein the one or more shadows of the local file system describe a change to the item on the local file system, wherein the synchronization client is configured to translate between an identifier (id) and path for operations on the local filesystem, the local file system monitor configured to; scan the local file system to determine the current state of the local file system; based on the one or more shadows of the local file system, compare a current state of the local file system with a last known state of the local file system; in response to the comparison, determine whether the change to the item when applied to the local file system causes the local file system to be in an inconsistent state; identify whether a synchronization event is to be generated for the item, wherein the synchronization event synchronizes the local file system with a remote file system; updating the one or more shadows of the local file system with a new state of the item, wherein the new state of the item is received from a synchronization executor; determine a difference between a current state of the local file system and a state of the one or more shadows, wherein the state of the one or more shadows have the new state of the item corresponding to a first action; and the synchronization executor configured to; execute the first action on an item that produces the change to the item, wherein the change to the item is indicated as a change of a state of the item from an old state to the new state; provide the new state of the item via an interface to the local file system monitor for updating the one or more shadows of the local file system; execute a second action on the item by the synchronization client, wherein the second action reverses the change to the item resulting the current state of the local file system to retain the old state of the item; generate, based on the difference between the current state of the local file system and the state of the one or more shadows, the synchronization event to bring a remote file system in synchronization with the local file system. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for updating one or more shadows of a local file system by a synchronization client, comprising:
-
executing a first action on an item in the local file system, wherein the first action produces a change to the item, wherein the change to the item is indicated as a change of a state of the item from an old state to a new state; updating the one or more shadows of the local file system using the new state of the item, wherein the one or more shadows of the local file system describe the change to the item on the local file system, wherein the synchronization client is configured to translate between an identifier (id) and path for operations on the local filesystem; scanning the local file system to determine the current state of the local file system; based on the one or more shadows of the local file system, comparing the current state of the local file system with a last known state of the local file system to determine a difference between the current state of the local file system and the last known state of the local file system; based on the difference, determining whether the change to the item when applied to the local file system causes the local file system to be in an inconsistent state; identifying, based on the difference, whether a synchronization event is to be generated, wherein the synchronization event synchronizes the local file system with a remote file system; executing a second action on the item by the synchronization client, wherein the second action reverses the change to the item resulting a current state of the local file system to retain the old state of the item; determining a difference between the current state of the local file system and a state of the one or more shadows, wherein the state of the one or more shadows have the new state of the item corresponding to the first action; and generating, based on the difference between the current state of the local file system and the state of the one or more shadows, the synchronization event to bring a remote file system in synchronization with the local file system. - View Dependent Claims (18, 19, 20)
-
Specification