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 a first data item of a first object on a first device, the first object comprising a first state of the first data item on the first device and a log, the first state having a first value of an ordered set values, the log comprising one or more portions, and each of the portions identifying a type of change performed by a user to the first data item;
in response to altering the first data item, changing the first value to a second value, the second value being the next value after the first value in the ordered set of values, and updating the log according to the type of change performed by the user to the first data item;
obtaining a second state of the first data item from a communicatively coupled second device, the second state having a third value of the ordered set of values;
comparing the third value of the second state to the second value of the first state; and
determining whether synchronization of the first data item is required between the first device and the second device based on the comparison.
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.
84 Citations
25 Claims
-
1. A method for maintaining data and metadata for synchronization, the method comprising:
-
altering a first data item of a first object on a first device, the first object comprising a first state of the first data item on the first device and a log, the first state having a first value of an ordered set values, the log comprising one or more portions, and each of the portions identifying a type of change performed by a user to the first data item; in response to altering the first data item, changing the first value to a second value, the second value being the next value after the first value in the ordered set of values, and updating the log according to the type of change performed by the user to the first data item; obtaining a second state of the first data item from a communicatively coupled second device, the second state having a third value of the ordered set of values; comparing the third value of the second state to the second value of the first state; and determining whether synchronization of the first data item is required between the first device and the second device based on the comparison. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium with instructions embodied thereon to configure a processor to:
-
alter a first data item of a first object on a first device, the first object comprising a first state of the first data item on the first device and a log, the first state having a first value of an ordered set values, the log comprising one or more portions, and each of the portions identifying a type of change performed by a user to the first data item; change the first value to a second value in response to altering the first data item, the second value being the next value after the first value in the ordered set of values, and updating the log according to the type of change performed by the user to the first data item; obtain a second state of the first data item from a communicatively coupled second device, the second state having a third value of the ordered set of values; compare the third value of the second state to the second value of the first state; and determine whether synchronization of the first data item is required between the first device and the second device based on the comparison. - View Dependent Claims (19, 20, 21)
-
-
22. 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; alter a first data item of a first object on a first device, the first object comprising a first state of the first data item on the first device and a log, the first state having a first value of an ordered set values, the log comprising one or more portions, and each of the portions identifying a type of change performed by a user to the first data item; change the first value to a second value in response to altering the first data item, the second value being the next value after the first value in the ordered set of values, and updating the log according to the type of change performed by the user to the first data item; obtain a second state of the first data item from a communicatively coupled second device, the second state having a third value of the ordered set of values; compare the third value of the second state to the second value of the first state; and determine whether synchronization of the first data item is required between the first device and the second device based on the comparison. - View Dependent Claims (23, 24, 25)
-
Specification