Patent ID: 7761412

Claim:
A data store synchronization support system which facilitates the synchronization of a plurality of data replicas comprising: a processor operatively coupled to memory that stores computer executable instructions, wherein the processor executes the instructions to implement the following components: an input component that receives input that specifies movement of data or a collection of data, to, from or within a synchronization scope of a data store; a log component that updates a move log, that identifies data subject to synchronization, with information that identifies the moved data, a time of move, and a type of move, wherein the information includes a move in timestamp for the moved data if the data is moved in to the synchronization scope, or includes a move out timestamp for the moved data if the data is moved out of the synchronization scope; a synchronization component that uses the move log to quickly identify the moved data in response to a synchronization request, wherein the synchronization component uses the timestamps to generate logical creation and update versions for use in a synchronization message to be sent to a second data replica such that: upon determining that the moved data has a move in timestamp, the synchronization component derives a logical creation version using both a timestamp generated when the moved data was created in the data store and the move in timestamp, and upon determining that the moved data has a move out timestamp, the synchronization component derives an update version using both the last update version on the data store and the move out timestamp; and an order component that determines that data that is moved into the synchronization scope is a child to other data that is also moved into the synchronization scope at a later time such that the child data has a logical creation version that is lower than the logical creation version of the other data, and in response, adds a unique identifier to the logical creation version of the child data so that the logical creation version of the child is greater than the logical creation version of the other data.