Method and system for providing a synchronization service
AssigneeExcalibur IP, LLC
InventorsRic ALLINSON, Fanyi ZENG
Life of this patent
Estimating the term…
Abstract
Disclosed herein is a data synchronization between a client computing device's local store and another data store, such as a data store that is remote to the client computing device. The other data store may comprise a cloud data store. The existence, or absence, of a causal relationship between the local and remote data stores for a given data item is used to determine whether or not a conflict exists and/or whether a requested operation may be performed. The casual relationship may be determined using a previous commit's hash value, referred to as a hash_base value, and a hash value, both of which are associated with the data item.
Claims21
1-39. (canceled)
A method comprising:
- receiving, by a data synchronization computing device, a request of a client computing device to perform a data storage operation in connection with a data store under synchronization control of the data synchronization computing device, the request comprising a data identifier, an operation type and a synchronization value associated with the request;
- retrieving, by the data synchronization computing device, the data store's synchronization value using the received data identifier;
- conditionally performing, by the data synchronization computing device, a data-item synchronization operation without using versioning information in connection with a data item identified by the data identifier, performance of the data-item synchronization operation being conditioned on a determination whether or not the received synchronization value and the retrieved synchronization value match indicating that the data store's data item identified by the data identifier is a direct causal ancestor of data associated with the request;
- conditionally performing, by the data synchronization computing device, a synchronization-value synchronization operation in connection with at least one of the retrieved synchronization value and the received synchronization value, performance of the synchronization-value synchronization operation being conditioned on at least the received operation type.
A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions that when executed by a processor associated with a computing device perform a method comprising:
- receiving a request of a client computing device to perform a data storage operation in connection with a data store under synchronization control of a data synchronization computing device, the request comprising a data identifier, an operation type and a synchronization value associated with the request;
- retrieving the data store's synchronization value using the received data identifier;
- conditionally performing a data-item synchronization operation without using versioning information in connection with a data item identified by the data identifier, performance of the data-item synchronization operation being conditioned on a determination whether or not the received synchronization value and the retrieved synchronization value match indicating that the data store's data item identified by the data identifier is a direct causal ancestor of data associated with the request;
- conditionally performing a synchronization-value synchronization operation in connection with at least one of the retrieved synchronization value and the received synchronization value, performance of the synchronization-value synchronization operation being conditioned on at least the received operation type.
A data synchronization computing device comprising:
- a processor;
- a non-transitory storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:
- receiving logic executed by the processor for receiving a request of a client computing device to perform a data storage operation in connection with a data store under synchronization control of the data synchronization computing device, the request comprising a data identifier, an operation type and a synchronization value associated with the request;
- retrieving logic executed by the processor for retrieving the data store's synchronization value using the received data identifier;
- performing logic executed by the processor for conditionally performing a data-item synchronization operation without using versioning information in connection with a data item identified by the data identifier, performance of the data-item synchronization operation being conditioned on a determination whether or not the received synchronization value and the retrieved synchronization value match indicating that the data store's data item identified by the data identifier is a direct causal ancestor of data associated with the request;
- performing logic executed by the processor for conditionally performing a synchronization-value synchronization operation in connection with at least one of the retrieved synchronization value and the received synchronization value, performance of the synchronization-value synchronization operation being conditioned on at least the received operation type.
Dependencies are inferred from the claim text.