Patent ID: 8868493

Claim:
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.