Patent ID: 6970889

Claim:
In a system including a device that synchronizes with a synchronization partner, wherein objects or changes to objects are written to the device during synchronization, a method for synchronizing the device and the synchronization partner such that the objects or changes to objects written to the device during synchronization are not synced back to the synchronization partner in future synchronizations, the method comprising acts of: performing a synchronization checkpoint by a sync client of the device to initiate a synchronization between the synchronization partner and the device; updating a synchronization state in a sync state object using the value of the global GID, wherein the synchronization state includes a Sync To GID, a Sync From generated identifier, and write generations, wherein the write generations include a current write generated identifier and a write generation list as, further comprises the act of: assigning a current value of the Sync To GID to the Sync From GID; assigning the present value of the global GID to the Sync To GID; transferring a value of the current write GID to the write generation list; and removing values from the write generation list that are less than or equal to the Sync From GID; incrementing a global GID to a new value from the present value; detecting changed objects based on the synchronization state; and synchronizing the changed objects, wherein the write generations prevent objects or changes to objects written by the sync client from being synchronized unnecessarily.