Patent ID: 8332352

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