Method and system of managing conflicts for a set of synchronized folders
First Claim
1. A method of resolving conflicts for a synchronized folder comprising:
- creating a synchronized folder as a set of local folders, each local folder associated with one of a plurality of devices, and wherein each local folder is processed to contain a consistent set of items organized by a hierarchical tree structure including parent and child relationships, and wherein an item is a folder or a file;
creating a holding area store that is restricted from user access;
receiving at a first node a set of update items of the synchronized folder, wherein the update items each contain an attribute for designating a link to an enclosure of the item and contain metadata indicating a hierarchical position of the item in the hierarchical tree structure;
merging the set of update items with corresponding items of a local feed to form a set of deferred items, wherein the local feed is separate and distinct from a local folder;
creating a deferred items store that is restricted from user access and that holds the deferred items;
executing an orphan conflict resolution process sequentially on the deferred items in the deferred items store to move a set of orphan items to the holding area store;
executing a duplicate conflict resolution process sequentially on the deferred items in the deferred items store to sort a set of duplicate items and to move all but a duplicate item having a most recent update time to the holding area store; and
executing a cycle conflict resolution process sequentially on the deferred items in the deferred items store to select a folder item of a cycle having an earliest modification date and re-parenting that folder to a root folder; and
updating the local folder with a deferred item that is not moved to the holding area store based on one of the resolution processes.
2 Assignments
0 Petitions
Accused Products
Abstract
Generally, the described system and process enables resolution of conflicts in a synchronized folder. Within the described mesh operating environment, each of the devices may be configured to do the same processing so that the file system view of the synchronized folder looks the same on all devices (pending local capabilities). Updates that cannot be immediately realized to the local store due to conflicts may be deferred for later attempts when, for example, additional updates at the system level or local level are made to resolve or eliminate the conflict for the update item. Generally, further changes may be propagated by a user in addressing a particular conflict that the user is notified about (e.g., via a selected winner that the user disagrees with). Alternatively, the conflict may resolve itself when a further update occurs that overrides or renders moot the previous update (e.g., a deleted item having a modified enclosure, where the enclosure had a previous concurrency conflict).
Depending on the local file system, the described system and process may perform additional fix ups for file name, attributes, etc. In this case, the described system and process may be configured not to update a main replication feed since the updates are local or node application specific. Resolution may primarily depend on the user. When the user does resolve a conflict, the feed may be updated and the resolution propagated to all nodes.
-
Citations
20 Claims
-
1. A method of resolving conflicts for a synchronized folder comprising:
-
creating a synchronized folder as a set of local folders, each local folder associated with one of a plurality of devices, and wherein each local folder is processed to contain a consistent set of items organized by a hierarchical tree structure including parent and child relationships, and wherein an item is a folder or a file; creating a holding area store that is restricted from user access; receiving at a first node a set of update items of the synchronized folder, wherein the update items each contain an attribute for designating a link to an enclosure of the item and contain metadata indicating a hierarchical position of the item in the hierarchical tree structure; merging the set of update items with corresponding items of a local feed to form a set of deferred items, wherein the local feed is separate and distinct from a local folder; creating a deferred items store that is restricted from user access and that holds the deferred items; executing an orphan conflict resolution process sequentially on the deferred items in the deferred items store to move a set of orphan items to the holding area store; executing a duplicate conflict resolution process sequentially on the deferred items in the deferred items store to sort a set of duplicate items and to move all but a duplicate item having a most recent update time to the holding area store; and executing a cycle conflict resolution process sequentially on the deferred items in the deferred items store to select a folder item of a cycle having an earliest modification date and re-parenting that folder to a root folder; and updating the local folder with a deferred item that is not moved to the holding area store based on one of the resolution processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for resolving conflicts for a synchronized folder comprising:
-
a plurality of computing devices configured to communicate with each other over a network, wherein each computing device includes a memory for storing executable instructions and a processor configured to execute the instructions; a synchronized folder defined as a set of local folders, each local folder associated with one of the plurality of computing devices, and wherein each local folder is processed to contain a consistent set of items organized by a hierarchical tree structure including parent and child relationships, and wherein an item is a folder or a file; a holding area store that is configured to be restricted from user access; an application executed on each of the plurality of computing devices, wherein the application is programmed to; receive a set of item updates for the local folder of the computing device; execute an orphan conflict resolution routine that moves orphan files and folders to the holding area store; execute a duplicate conflict resolution routine that sorts a set of duplicate items and moves all but a duplicate file having a most recent update time to the holding area store; and execute a cycle conflict resolution routine that selects a folder of a cycle with an earliest creation date and re-parents that folder to a root folder; and update the local folder with an item update that is not moved to the holding area store based on the orphan conflict, cycle conflict, and duplicate conflict resolution routines. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-storage medium coupled to a processor and containing computer-executable instructions for performing operations comprising:
-
creating a local copy of a synchronized folder at a first device, wherein the synchronized folder includes a plurality of folders each located on a different computing device; creating a holding area store on the first device that is configured to be restricted from user access; receiving a feed containing a set of update items, wherein each update item contains an attribute for designating a link to an enclosure and metadata indicating a hierarchical position of the update item in a tree structure; merging each update item with an item of the local copy of the synchronized folder that corresponds with the update item to form a set of deferred items; executing an orphan conflict resolution process sequentially on each deferred item to move a set of orphan items to the holding area store; executing a duplicate conflict resolution process sequentially on each deferred item to determine a set of duplicate items and to move all but a duplicate item having a most recent update time to the holding area store; and executing a cycle conflict resolution process sequentially on each deferred item to select a folder of a cycle having an earliest modification date and re-parenting that folder to a root folder; and updating the local copy of the synchronized folder with a set of deferred items not moved to the holding area store. - View Dependent Claims (17, 18, 19, 20)
-
Specification