EFFICIENT KNOWLEDGE REPRESENTATION IN DATA SYNCHRONIZATION SYSTEMS
First Claim
1. A method for synchronizing a set of objects between a first node and a second node of a plurality of nodes connectable via one or more networks, comprising:
- initiating synchronization of the set of objects between the first node and the second node;
comparing knowledge of the second node concerning the set of objects with knowledge of the first node concerning the set of objects including determining that a conflict exists with respect to respective versions of at least one object of the set of objects maintained by the first and second node; and
resolving the conflict by selecting one of the versions to propagate to the plurality of nodes with reference to at least one conflict resolution policy configurable by the first and/or second node from a set of conflict resolution policies.
2 Assignments
0 Petitions
Accused Products
Abstract
A variety of flexible conflict resolution policies are provided for loosely coupled devices to implement according to a variety of different synchronization scenarios. Choosing a conflict resolution policy, such as “Most Frequent Updater,” “Priority,” “PerCent Change,” “Arbiter Deadlock Resolution,” etc., enables devices to select how and when to resolve such synchronization conflicts. In addition, with reference to a conflict log, a user or synchronizing application can roll back synchronization state to a time before a conflict may have arisen, so that the user or application can undo a resolution of a conflict and/or the user or application can apply an alternative conflict resolution policy moving forward from that time.
108 Citations
21 Claims
-
1. A method for synchronizing a set of objects between a first node and a second node of a plurality of nodes connectable via one or more networks, comprising:
-
initiating synchronization of the set of objects between the first node and the second node; comparing knowledge of the second node concerning the set of objects with knowledge of the first node concerning the set of objects including determining that a conflict exists with respect to respective versions of at least one object of the set of objects maintained by the first and second node; and resolving the conflict by selecting one of the versions to propagate to the plurality of nodes with reference to at least one conflict resolution policy configurable by the first and/or second node from a set of conflict resolution policies. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A first node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects between the first node and any second node of the plurality of nodes, comprising:
-
a synchronization component that synchronizes the set of objects between the first node any second node of the plurality of nodes and detects whether at least conflict exists with respect to respective versions of at least one object of the set of objects maintained by the first and any second node; a conflict log store that stores information representative of the at least one conflict; a synchronization conflict resolution component that enables resolution of the at least one conflict by selecting one of the versions to propagate to the second node with reference to at least one conflict resolution policy selected by the first node from a plurality of conflict resolution policies; and a synchronization time control component allows an application or user of the first node to restore the at least one object to a time before the detection of the at least one conflict. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A first node of a plurality of nodes connectable via one or more networks that synchronizes a set of objects between the first node and any second node of the plurality of nodes, comprising:
-
a synchronization component that synchronizes the set of objects between the first node any second node of the plurality of nodes by comparing knowledge of the second node concerning the set of objects with knowledge of the first node concerning the set of objects, wherein the synchronization component determines whether at least conflict exists with respect to respective versions of at least one object of the set of objects maintained by the first and any second node; and a conflict log store that stores information representative of the at least one conflict so that the first node can defer resolving the at least one conflict as between the first and any second node to a later time.
-
Specification