PEER-TO-PEER N-WAY SYNCING IN DECENTRALIZED ENVIRONMENT
First Claim
1. A computer-implementable synchronization method, comprising:
- initiating synchronization between first and second stores using at least one processor, the first store storing a first version of a datum and having a first history associated therewith, the second store storing a second version of the datum and having a second history associated therewith;
determining whether the first and second histories identify subordinate and dominant versions of the datum by comparing the first and second histories with the at least one processor, the first history identifying a first set of one or more stores that have modified the datum and indicating a number of modifications associated with each of the one or more stores identified in the first set, the second history identifying a second set of one or more stores that have modified the datum and indicating a number of modifications associated with each of the one or more stores identified in the second set; and
indicating with the at least one processor that the subordinate version of the datum is replaceable by the dominant version of the datum.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method of synchronizing a datum between a plurality of stores is disclosed. A version history is associated with the datum in each store. The version history has one or more entries, and each entry has an identifier and a value. The identifier identifies a store that has modified the datum, and the value indicates a number of modifications to the datum made by the store. When synchronizing the datum between stores, the version histories of the datum are compared to determine whether one version history is subordinate to another version history. The datum in the store having the subordinate version history is then replaced with the datum having the dominant version history. When compared, a conflict resolution by a user is required if the version histories are not identical, if the version histories do not have all the same identifiers, and if one version history does not contain all of the identifiers with equal or greater values of those in the other version history.
-
Citations
38 Claims
-
1. A computer-implementable synchronization method, comprising:
-
initiating synchronization between first and second stores using at least one processor, the first store storing a first version of a datum and having a first history associated therewith, the second store storing a second version of the datum and having a second history associated therewith; determining whether the first and second histories identify subordinate and dominant versions of the datum by comparing the first and second histories with the at least one processor, the first history identifying a first set of one or more stores that have modified the datum and indicating a number of modifications associated with each of the one or more stores identified in the first set, the second history identifying a second set of one or more stores that have modified the datum and indicating a number of modifications associated with each of the one or more stores identified in the second set; and indicating with the at least one processor that the subordinate version of the datum is replaceable by the dominant version of the datum. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-implementable synchronization method, comprising:
-
initiating synchronization between first and second stores using at least one processor, the first store storing a first version of a datum and having a first history associated therewith, the second store storing a second version of the datum and having a second history and a loser array associated therewith, the loser array identifying one or more subordinate histories that have lost a conflict resolution; determining whether the first history is subordinate to one of the subordinate histories in the loser array by comparing the first history and the loser array with the at least one processor; and indicating with the at least one processor that the first version of the datum at the first store is replaceable by the second version of the datum at the second store if the first history is identified as being subordinate. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-implementable synchronization method, comprising:
-
initiating synchronization between first and second stores using at least one processor, the first store storing a first version of a datum and having a first history associated therewith, the second store storing a second version of the datum and having a second history associated therewith; determining a conflict between the first and histories by comparing the first and second histories with the at least one processor; obtaining a resolution of the conflict using the at least one processor, the resolution identifying one of the histories as a subordinate history associated with a subordinate version of the datum and identifying the other history as a dominant history associated with a dominant version of the datum; adding the subordinate history to a loser array associated with the dominant history; and indicating with the at least one processor that the subordinate version of the datum is replaceable by the dominant version of the datum. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 38)
-
-
37. The method of 27, further comprising removing a redundant history from the loser array automatically when the second history is updated by a change to the datum at the second store or when synchronizing between stores.
Specification