State based synchronization
First Claim
1. A method for maintaining data and metadata for synchronization, the method comprising the steps of:
- creating first data on a first device and associating a first state with said first data;
creating a first history statement to reflect metadata regarding the creation of said first data;
associating said first history statement with said first state; and
creating second data on said first device and associating said first state with said second data.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for synchronization whereby metadata repository maintains information regarding the history and status of data items in a data repository. Data items are associated with states and such states changes (e.g. increment) in response to changes to the data items. History statements associated with the same states describe the changes in a generic enough fashion that multiple data items may be associated with a single state (e.g. if multiple data items share a common history such as that they were all edited by a user on the same device). The history repository is synchronized with other history repositories so as to reflect the states of data items on multiple devices. The synchronized history stores are used during synchronization to identify and resolve data conflicts through ancestry of data item history.
165 Citations
71 Claims
-
1. A method for maintaining data and metadata for synchronization, the method comprising the steps of:
-
creating first data on a first device and associating a first state with said first data;
creating a first history statement to reflect metadata regarding the creation of said first data;
associating said first history statement with said first state; and
creating second data on said first device and associating said first state with said second data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 71)
-
-
8. A device for maintaining data to be synchronized, said device comprising:
-
a user input for creating a first data and a second data;
a processor and software for creating a first history statement to reflect metadata regarding the creation of said first data and the creation of said second data, and for associating said first data, said second data and said first history statement with a first state;
a first memory for storing a first data structure, said first data structure for maintaining both said association between said first data and said first state, and said association between said second data and said first state;
a second memory for storing a second data structure, said second data structure for maintaining said association between said first history statement and said first state. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of synchronizing databases, the method comprising the steps of:
-
in a first data structure, associating a first state identification with one or more data sets;
in a second data structure, associating said first state identification with information regarding said one or more data sets associated with said state identification;
making a change to a first one of said one or more data sets;
in said first data structure, associating a second state with said first one of said one or more data sets;
in said second data structure, associating said second state with information regarding said change if said information regarding said change is not already associated with said second state in said second data structure. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 41)
-
-
32. A device for synchronizing information comprising:
-
a first memory for storing a first data structure, said first data structure for associating a first state identification with one or more data sets;
a second memory for storing a second data structure, said second data structure for associating said first state identification with information regarding said one or more data sets associated with said state identification;
a user input for making a change to a first one of said one or more data sets;
a processor and software for associating a second state with said first one of said one or more data sets, in said first data structure; and
forassociating said second state with information regarding said change in said second data structure, if said information regarding said change is not already associated with said second state in said second data structure. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40)
-
-
42. A method of synchronizing first data maintained in a first data structure with second data maintained in a second data structure, the method comprising the steps of:
-
associating each data item of first data with a first state identification in said first data structure;
associating each first state identification with a history statement in a third data structure;
associating each data item of second data with a second state identification in said second data structure;
associating each second state identification with a history statement in a fourth data structure;
synchronizing history statements from said third data structure into said fourth data structure to create a synchronized fourth data structure;
synchronizing data from said first data structure into said second data structure by using information from said synchronized fourth data structure. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A local device for synchronization with a remote device, said local device comprising:
-
a first local data store for storing local data items and associated local data states, a plurality of said local data items correlating with remote data items stored on said remote device, said remote data items associated with remote states;
a second local data store for storing history statements, said history statements comprising statements associating local data states with remote data states and statements regarding the editing of one or more local data items and one or more remote data items. - View Dependent Claims (48, 49, 50, 51)
-
-
52. A method of tracking changes to data, wherein data comprises a plurality of data items, said method comprising the steps of:
-
Associating a first state with a first plurality of data items, all of said first plurality of data items having a first common history;
Associating said first state with a first history statement describing said first common history. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
Specification