Synchronizing data shared between two devices independent of any other devices that may also share the data
First Claim
Patent Images
1. A method for synchronizing data stores, comprising:
- recording a highest of one or more change counters associated with a record or records in a first data store as a maximum change counter;
identifying a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
updating a record in a second data store according to the identified record.
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.
172 Citations
40 Claims
-
1. A method for synchronizing data stores, comprising:
-
recording a highest of one or more change counters associated with a record or records in a first data store as a maximum change counter;
identifying a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
updating a record in a second data store according to the identified record. - View Dependent Claims (2, 6, 12)
-
-
3. A method for synchronizing data stores, comprising:
-
recording a largest of one or more change counters associated with a record or records in a first data store as a first maximum change counter;
recording a largest of one or more change counters association with a record or records in a second data store as a second maximum change counter;
identifying a record in the first data store that is associated with a change counter that exceeds the first maximum change counter; and
updating a record in the second data store according to the record identified in the first data store;
identifying a record in the second data store that is associated with a change counter that exceeds the second maximum change counter; and
updating the first data store according to the record identified in the second data store. - View Dependent Claims (4)
-
-
5. A method for synchronizing data stores, comprising:
-
recording a largest of one or more change counters associated with records in a first data store as a maximum change counter;
for each record in the first data store, comparing the maximum change counter with a change counter associated with that record;
identifying a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
updating a record in a second data store according to the identified record. - View Dependent Claims (7, 8)
-
-
9. A method for synchronizing data stores, comprising:
-
identifying records in a first data store associated with change counters that exceed a maximum change counter recorded for the first data store;
updating records in a second data store using the identified records from the first data store;
identifying records in the second data store associated with change counters that exceed a maximum change counter recorded for the second data store;
updating records in the first data store using the identified records from the second data store;
updating the maximum change counter recorded for the first data store with the highest change counter associated with the identified records from the first data store; and
updating the maximum change counter recorded for the second data store with the highest change counter associated with the identified records from the second data store. - View Dependent Claims (10, 20)
-
-
11. A computer readable medium having instructions for:
-
recording a largest of one or more change counters associated with a record or records in a first data store as a maximum change counter;
identifying a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
updating a record in a second data store according to the identified record.
-
-
13. A computer readable medium having instructions for:
-
recording a largest of one or more change counters associated with a record or records in a first data store as a first maximum change counter;
recording a largest of one or more change counters association with a record or records in a second data store as a second maximum change counter;
identifying a record in the first data store that is associated with a change counter that exceeds the first maximum change counter; and
updating a record in the second data store according to the record identified in the first data store;
identifying a record in the second data store that is associated with a change counter that exceeds the second maximum change counter; and
updating the first data store according to the record identified in the second data store. - View Dependent Claims (14)
-
-
15. A computer readable medium having instructions for:
-
recording a largest of one or more change counters associated with records in a first data store as a maximum change counter;
for each record in the first data store, comparing the maximum change counter a change counter associated with that record;
identifying a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
updating a record in a second data store according to the identified record. - View Dependent Claims (16, 17, 18)
-
-
19. A computer readable medium having instructions for:
-
identifying records in a first data store associated with change counters that exceed a maximum change counter recorded for the first data store;
updating records in a second data store using the identified records from the first data store;
identifying records in the second data store associated with change counters that exceed a maximum change counter recorded for the second data store;
updating records in the first data store using the identified records from the second data store;
updating the maximum change counter recorded for the first data store with the highest change counter associated with the identified records from the first data store; and
updating the maximum change counter recorded for the second data store with the highest change counter associated with the identified records from the second data store.
-
-
21. A synchronization system, comprising:
-
a first adapter operable to manage records in a first data store;
a second adapter operable to manage records in a second data store; and
a synch engine in communication with the first and second adapters, the synch engine operable to;
record a largest of one or more change counters associated with a record or records in the first data store as a maximum change counter;
instruct the first adapter to identify a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
instruct the second adapter to update a record in the second data store according to the identified record.
-
-
22. A synchronization system, comprising:
-
a first adapter operable to compare a maximum change counter with a change counter associated with a record for each record in a first data store and to identify a record in the first data store that is associated with a change counter that exceeds the maximum change counter; and
a second adapter operable to update a record in a second data store according to the record identified by the first adapter; and
a synch engine in communication with the first and second adapters, the synch engine operable to record a highest of one or more change counters associated with records in the first data store as a maximum change counter.
-
-
23. A synchronization system, comprising:
-
a first adapter operable to manage records in a first data store;
a second adapter operable to manage records in a second data store; and
a synch engine in communication with the first and second adapters, the synch engine operable to;
instruct the first adapter to identify a record in the first data store that has a change counter exceeding a maximum change counter recorded for the first data store;
instruct the second adapter to identify a record in the second data store that has a change counter exceeding a maximum change counter recorded for the second data store;
instruct the first adapter to update the first data store using the records identified in the second data store; and
instruct the second adapter to update the second data store using the records identified in the first data store. - View Dependent Claims (24, 25, 26)
-
-
27. A synchronization system, comprising:
-
a first adapter operable to manage records in a first data store;
a second adapter operable to manage records in a second data store;
a third adapter operable to manage a third data store;
a first synch engine in communication with the first, second, and third adapters, the first synch engine operable to;
instruct the first adapter to identify a record in the first data store that has a change counter exceeding a first maximum change counter;
instruct the second adapter to identify a record in the second data store that has a change counter exceeding a second maximum change counter;
instruct the third adapter to identify a record in the second data store that has a change counter exceeding a third maximum change counter;
instruct the first adapter to update the first data store using the records identified in the second and/or third data stores;
instruct the second adapter to update the second data store using the records identified in the first and/or third data stores; and
instruct the third adapter to update the third data store using the records identified in the first and/or second data stores; and
a second synch engine in communication with the second and third adapters, the second synch engine operable to;
instruct the second adapter to identify a record in the second data store that has a change counter exceeding a maximum change counter recorded for the second data store;
instruct the second adapter to identify a record in the third data store that has a change counter exceeding a maximum change counter recorded for the third data store;
instruct the second adapter to update the second data store using the records identified in the third data store; and
instruct the third adapter to update the third data store using the records identified in the second data store. - View Dependent Claims (28, 29, 30)
-
-
31. A synchronization system comprising:
-
a means recording a highest of one or more change counters associated with a record or records in a first data store as a maximum change counter;
a means for identifying a record in the first data store that has a change counter exceeding the maximum change counter; and
a means for updating a second data store according to the record identified in the first data store.
-
-
32. A synchronization system, comprising:
-
a means recording a highest of one or more change counters associated with a record or records in a first data store as a first maximum change counter;
a means recording a highest of one or more change counters associated with a record or records in a second data store as a second maximum change counter;
a means for identifying a record in the first data store that has a change counter exceeding the first maximum change counter;
a means for identifying a record in the second data store that has a change counter exceeding the second maximum change counter;
a means for updating the first data store according to the record identified in the second data store; and
a means for updating the second data store according to the record identified in the first data store.
-
-
33. In a synchronization environment, a synch status table for containing one or more entries each having a field or fields identifying, at least indirectly, two data stores to be synchronized and a filed or fields identifying a maximum change counter for each of the identified data stores.
-
34. A synchronization environment comprising:
-
a first change log table associated with a first data store, the first change log table capable of containing one or more entries, each entry associated with a record in the first data store, each entry having a change counter field for containing a change counter for the associated record;
a second change log table associated with a second data store, the second change log table capable of containing one or more entries, each entry associated with a record in the second data store, each entry having a change counter field for containing a change counter for the associated record; and
a synch status table capable of containing one or more entries each having a field or fields identifying, at least indirectly, the first and second data stores and a field or fields containing a first maximum change counter for the first data store and a second maximum change counter for the second data store. - View Dependent Claims (35, 36)
-
-
37. In a synchronization environment, a method comprising identifying a change counter associated with a record in a data store that has a value that exceeds all other change counters associated with other records in the data store and recording the value of the identified change counter as a maximum change counter.
-
38. In a synchronization environment, a method comprising:
-
identifying a change counter associated with a record in a first data store that has a value that exceeds all other change counters associated with other records in the first data store;
identifying a change counter associated with a record in a second data store that has a value that exceeds all other change counters associated with other records in the second data store;
recording the value of the change counter identified with regard to the first data store as a first maximum change counter; and
recording the value of the change counter identified with regard to the second data store as a second maximum change counter.
-
-
39. A shared data environment comprising a first, a second, and a third data store, each data store capable of storing shared data, and programming capable of synchronizing the shared data between any two of the first, second, and third data stores without regard to the remaining data store.
-
40. A synchronization environment comprising:
-
a first, a second, and a third data store, each data store capable of storing shared data a first synch engine operable to synchronize shared data between any two of the first, second, and third data stores without regard to the remaining data store; and
a second synch engine operable to synchronize shared data between any two of the first, second, and third data stores according to any prior synchronizations completed by the first or second synch engine and without regard to the remaining data store.
-
Specification