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.