Systems and methods for synchronizing a device and for ensuring that updates
to the device occurring during synchronization are not re-synchronized to the synchronization
partner. Generation identifiers (GIDs), which are updated each time a synchronization
occurs, are assigned to objects in a store. When synchronization occurs, a sync
client uses state information, which is used to indicate which generations have
been synchronized, to determine which objects have changed since the last synchronization.
The state information includes reserved write GIDs that are only used by a particular
sync client that performs writes during a synchronization. Objects having a GID
that matches a write GID are not synchronized because they were written by the
sync client during the previous synchronization.