A method and system for synchronization of data stores is described. A
synchronization initiator sends a sync key to a synchronization partner
requesting to synchronize to some checkpoint. An integer is used as the
sync key. When the sent sync key is zero the synchronization partner
performs an initial synchronization. When the sent sync key is a value
other than zero, the synchronization partner attempts to synchronize to
the desired state. The value of the sync key is incremented only upon
successful synchronization. A sync server can also include a sync key
with change update notifications sent to a sync client, which the client
can use to determine if the update notification is a valid update from
the current sync state or is a delayed and obsolete update that should be
discarded.