Synchronizing data shared between two devices independent of any other devices that may also share the data
First Claim
Patent Images
1. A computer implemented method for synchronizing first, second, and third shared data stores, comprising:
- providing a first status table having a first maximum change counter associated with the first shared data store and a second maximum change counter associated with the second shared data store;
providing a second status table having a third maximum change counter associated with the second shared data store and a fourth maximum change counter associated with the third shared data store;
updating the first maximum change counter with a value of a highest of a plurality of change counters associated with records in the first shared data store;
updating the second maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store;
identifying a first record in the first shared data store that is associated with a first change counter that exceeds the first maximum change counter;
updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store;
identifying a second record in the second shared data store that is associated with a second change counter that exceeds the second maximum change counter;
updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store;
updating the third maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store;
updating the fourth maximum change counter with a value of a highest of the plurality of change counters associated with records in the third shared data store;
identifying a third record in the second shared data store that is associated with a third change counter that exceeds the third maximum change counter;
updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store;
identifying a fourth record in the third shared data store that is associated with a fourth change counter that exceeds the fourth maximum change counter; and
updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method enabling synchronization of data stored on three or more devices in which synchronization between any two of the devices can be conducted independently of the other device. A method embodying the invention involves identifying a record in a first data store that is associated with a change counter that exceeds a maximum change counter recorded for the first data store and updating a second data store using the identified record.
72 Citations
15 Claims
-
1. A computer implemented method for synchronizing first, second, and third shared data stores, comprising:
-
providing a first status table having a first maximum change counter associated with the first shared data store and a second maximum change counter associated with the second shared data store; providing a second status table having a third maximum change counter associated with the second shared data store and a fourth maximum change counter associated with the third shared data store; updating the first maximum change counter with a value of a highest of a plurality of change counters associated with records in the first shared data store; updating the second maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; identifying a first record in the first shared data store that is associated with a first change counter that exceeds the first maximum change counter; updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; identifying a second record in the second shared data store that is associated with a second change counter that exceeds the second maximum change counter; updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; updating the third maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; updating the fourth maximum change counter with a value of a highest of the plurality of change counters associated with records in the third shared data store; identifying a third record in the second shared data store that is associated with a third change counter that exceeds the third maximum change counter; updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a fourth change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store. - View Dependent Claims (2)
-
-
3. A computer implemented method for synchronizing shared data stores, comprising:
-
recording a largest of one or more change counters associated with a record or records in a first shared data store as a first maximum change counter; recording a largest of one or more change counters associated with a record or records in a second shared data store as a second maximum change counter; maintaining the first and second change counters in a first status table; identifying a first record in the first shared data store that is associated with a change counter that exceeds the first maximum change counter; updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; identifying a second record in the second shared data store that is associated with a change counter that exceeds the second maximum change counter; updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; recording a largest of one or more change counters associated with a record or records in the second shared data store as a third maximum change counter; recording a largest of one or more change counters associated with a record or records in a third shared data store as a fourth maximum change counter; maintaining the third and fourth change counters in a second status table; identifying a third record in the second shared data store that is associated with a change counter that exceeds the third maximum change counter; and updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the third shared data store with the first shared data store. - View Dependent Claims (4)
-
-
5. A computer implemented method for synchronizing shared data stores, comprising:
-
identifying first records in a first shared data store associated with change counters that exceed a first maximum change counter recorded for the first shared data store; updating records in a second shared data store using the first records to synchronize the second shared data store with the first shared data store; identifying second records in the second shared data store associated with change counters that exceed a second maximum change counter recorded for the second shared data store; updating records in the first shared data store using the second records to synchronize the first shared data store with the second shared data store; updating the first maximum change counter with the highest change counter associated with the first records; updating the second maximum change counter with the highest change counter associated with the second records; identifying third records in the second shared data store associated with change counters that exceed a third maximum change counter recorded for the second shared data store; updating records in a third shared data store using the third records to synchronize the third shared data store with the second shared data store; identifying fourth records in the third shared data store associated with change counters that exceed a fourth maximum change counter recorded for the third shared data store; updating records in the second shared data store using the fourth records to synchronize the second shared data store with the third shared data store; updating the third maximum change counter with the highest change counter associated with the third records; and updating the fourth maximum change counter with the highest change counter associated with the fourth records. - View Dependent Claims (6)
-
-
7. One or more computer readable storage media storing instructions for:
-
accessing a first status table having a first maximum change counter associated with a first shared data store and a second maximum change counter associated with a second shared data store; accessing a second status table having a third maximum change counter associated with the second shared data store and a fourth maximum change counter associated with the third shared data store; updating the first maximum change counter with a value of a highest of a plurality of change counters associated with records in the first shared data store; updating the second maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; identifying a first record in the first shared data store that is associated with a first change counter that exceeds the first maximum change counter; updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; identifying a second record in the second shared data store that is associated with a second change counter that exceeds the second maximum change counter; updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; updating the third maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; updating the fourth maximum change counter with a value of a highest of the plurality of change counters associated with records in the third shared data store; identifying a third record in the second shared data store that is associated with a third change counter that exceeds the third maximum change counter; updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a fourth change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store. - View Dependent Claims (8)
-
-
9. One or more computer readable storage media storing instructions for:
-
recording a largest of one or more change counters associated with a record or records in a first shared data store as a first maximum change counter; recording a largest of one or more change counters associated with a record or records in a second shared data store as a second maximum change counter; maintaining the first and second change counters in a first status table; identifying a first record in the first shared data store that is associated with a change counter that exceeds the first maximum change counter; updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; identifying a second record in the second shared data store that is associated with a change counter that exceeds the second maximum change counter; updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; recording a largest of one or more change counters associated with a record or records in the second shared data store as a third maximum change counter; recording a largest of one or more change counters associated with a record or records in a third shared data store as a fourth maximum change counter; maintaining the third and fourth change counters in a second status table; identifying a third record in the second shared data store that is associated with a change counter that exceeds the third maximum change counter; and updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store. - View Dependent Claims (10)
-
-
11. One or more computer readable storage media storing instructions for:
-
identifying first records in a first shared data store associated with change counters that exceed a first maximum change counter recorded for the first shared data store; updating records in a second shared data store using the first records to synchronize the second shared data store with the first shared data store; identifying second records in the second shared data store associated with change counters that exceed a second maximum change counter recorded for the second shared data store; updating records in the first shared data store using the second records to synchronize the first shared data store with the second shared data store; updating the first maximum change counter with the highest change counter associated with the first records; updating the second maximum change counter with the highest change counter associated with the second records; identifying third records in the second shared data store associated with change counters that exceed a third maximum change counter recorded for the second shared data store; updating records in a third shared data store using the third records to synchronize the third shared data store with the second shared data store; identifying fourth records in the third shared data store associated with change counters that exceed a fourth maximum change counter recorded for the third shared data store; updating records in the second shared data store using the fourth records to synchronize the second shared data store with the third shared data store; updating the third maximum change counter with the highest change counter associated with the third records; and updating the fourth maximum change counter with the highest change counter associated with the fourth records. - View Dependent Claims (12)
-
-
13. A synchronization system comprising one or more computer readable media and one or more processors for accessing data and executing instructions stored by the one or more computer readable media, wherein:
-
the one or more computer readable media stores a first status table and a second status table, the first status table having a first maximum change counter associated with a first shared data store and a second maximum change counter associated with a second shared data store and the second status table having a third maximum change counter associated with the second shared data store and a fourth maximum change counter associated with a third shared data store; and the instructions include instructions for; updating the first maximum change counter with a value of a highest of a plurality of change counters associated with records in the first shared data store; updating the second maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; for identifying a first record in the first shared data store that is associated with a first change counter that exceeds the first maximum change counter; for updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; identifying a second record in the second shared data store that is associated with a second change counter that exceeds the second maximum change counter; for updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; updating the third maximum change counter with a value of a highest of a plurality of change counters associated with records in the second shared data store; updating the fourth maximum change counter with a value of a highest of the plurality of change counters associated with records in the third shared data store; identifying a third record in the second shared data store that is associated with a third change counter that exceeds the third maximum change counter; updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a fourth change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store.
-
-
14. A synchronization system, comprising one or more computer readable media and one or more processors for accessing data and executing instructions stored by the one or more computer readable media, wherein the instructions include instructions for:
-
recording a highest of one or more change counters associated with a record or records in a first shared data store as a first maximum change counter; recording a highest of one or more change counters associated with a record or records in a second shared data store as a second maximum change counter; maintaining the first and second change counters in a first status table; identifying a first record in the first shared data store that has a change counter exceeding the first maximum change counter; identifying a second record in the second shared data store that has a change counter exceeding the second maximum change counter; updating the first shared data store according to the second record to synchronize the first shared data store with the second shared data store; and updating the second shared data store according to the first record to synchronize the second shared data store with the first shared data store; recording a largest of one or more change counters associated with a record or records in the second shared data store as a third maximum change counter; recording a largest of one or more change counters associated with a record or records in a third shared data store as a fourth maximum change counter; maintaining the third and fourth change counters in a second status table; identifying a third record in the second shared data store that is associated with a change counter that exceeds the third maximum change counter; and updating the third shared data store according to the third record to synchronize the third shared data store with the second shared data store; identifying a fourth record in the third shared data store that is associated with a change counter that exceeds the fourth maximum change counter; and updating the second shared data store according to the fourth record to synchronize the second shared data store with the third shared data store.
-
-
15. In a synchronization environment, a computer implemented method comprising:
-
identifying a change counter associated with a record in a first shared data store that has a value that exceeds all other change counters associated with other records in the first shared data store; identifying a change counter associated with a record in a second shared data store that has a value that exceeds all other change counters associated with other records in the second shared data store; identifying a change counter associated with a record in a third shared data store that has a value that exceeds all other change counters associated with other records in the third shared data store; recording the value of the change counter identified with regard to the first shared data store as a first maximum change counter in a first status table; recording the value of the change counter identified with regard to the second shared data store as a second maximum change counter in the fist status table; recording the value of the change counter identified with regard to the second shared data store as a third maximum change counter in a second status table; recording the value of the change counter identified with regard to the third shared data store as a fourth maximum change counter in the second status table; and synchronizing the first, second, and third shared data stores according to the first, second, third, and fourth records.
-
Specification