Method and system using reusable state information for synchronization and maintenance of data
First Claim
1. A method for maintaining data and metadata for synchronization, the method comprising:
- altering first data on a first device;
creating a first history statement to reflect metadata regarding the alteration of the first data wherein the first history statement comprises a plurality of portions and each portion contains one or more attributes describing a type of change to the first data wherein the type of change indicates an action performed that altered the first data;
creating a first reusable state on the first device wherein the first reusable state uniquely corresponds to the first history statement;
associating the first history statement with the first reusable state;
associating the first reusable state with the first data;
altering second data on the first device wherein attributes describe a type of change, the type of change indicating an action performed to alter the second data, the attributes corresponding with all of the one or more attributes of the first history statement and wherein each corresponding attribute has the same value; and
associating the first reusable state with the second data, wherein the first data and the second data share the first reusable state for at least an overlapping time period;
obtaining an indication of an associated reusable state for the first data from a communicatively coupled second device; and
determining, by using the associated reusable state, if synchronization of the first data is required between the first device and the second device.
1 Assignment
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.
76 Citations
19 Claims
-
1. A method for maintaining data and metadata for synchronization, the method comprising:
-
altering first data on a first device; creating a first history statement to reflect metadata regarding the alteration of the first data wherein the first history statement comprises a plurality of portions and each portion contains one or more attributes describing a type of change to the first data wherein the type of change indicates an action performed that altered the first data; creating a first reusable state on the first device wherein the first reusable state uniquely corresponds to the first history statement; associating the first history statement with the first reusable state; associating the first reusable state with the first data; altering second data on the first device wherein attributes describe a type of change, the type of change indicating an action performed to alter the second data, the attributes corresponding with all of the one or more attributes of the first history statement and wherein each corresponding attribute has the same value; and associating the first reusable state with the second data, wherein the first data and the second data share the first reusable state for at least an overlapping time period; obtaining an indication of an associated reusable state for the first data from a communicatively coupled second device; and determining, by using the associated reusable state, if synchronization of the first data is required between the first device and the second device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium with instructions embodied thereon to configure a processor to:
-
accept a user input from a user input mechanism indicating a user has altered a first data; create a first history statement in the one or more memories to reflect metadata regarding the alteration of the first data wherein the first history statement comprises a plurality of portions and each portion contains one or more attributes describing a type of change to the first data wherein the type of change indicates an action performed that altered the first data; create a first reusable state in the one or more memories wherein the first reusable state uniquely corresponds to the first history statement;
associate the first history statement with the first reusable state;
associate the first reusable state with the first data;accept a user input from the user input mechanism indicating the user has altered a second data wherein attributes describe a type of change, the type of change indicating an action performed to alter the second data, the attributes corresponding with all of the one or more attributes of the first history statement and wherein each corresponding attribute has the same value; and associate the first reusable state with the second data, wherein the first data and the second data share the first reusable state for at least an overlapping time period; obtain an indication of an associated reusable state for the first data from a communicatively coupled second device; and determine, by using the associated reusable state, if synchronization of the first data is required between the first device and the second device.
-
-
17. A device for maintaining data to be synchronized, the device comprising:
-
one or more memories communicatively coupled to a processor; a display communicatively coupled to the processor and to a user input mechanism, the user input mechanism for creating, editing or deleting a data item wherein the processor is programmed to; accept a user input from the user input mechanism indicating a user has altered a first data; create a first history statement in the one or more memories to reflect metadata regarding the alteration of the first data wherein the first history statement comprises a plurality of portions and each portion contains one or more attributes describing a type of change to the first data wherein the type of change indicates an action performed that altered the first data; create a first reusable state in the one or more memories wherein the first reusable state uniquely corresponds to the first history statement; associate the first history statement with the first reusable state; associate the first reusable state with the first data; accept a user input from the user input mechanism indicating the user has altered a second data wherein attributes describe a type of change, the type of change indicating an action performed to alter the second data, the attributes corresponding with all of the one or more attributes of the first history statement and wherein each corresponding attribute has the same value; and associate the first reusable state with the second data, wherein the first data and the second data share the first reusable state for at least an overlapping time period; obtain an indication of an associated reusable state for the first data from a communicatively coupled second device; and determine, by using the associated reusable state, if synchronization of the first data is required between the first device and the second device. - View Dependent Claims (18, 19)
-
Specification