Multi-way, Peer-to-Peer Synchronization
First Claim
1. A method of synchronizing data elements between devices, the method comprising:
- directly receiving at a first device, from only one of multiple peer devices with which the first device is configured to synchronize, a remote data identifier and a corresponding change instruction;
determining whether the remote data identifier is included in a mapping in the first device; and
if the remote identifier is included in the mapping, applying the corresponding change instruction to a data element in the first device that is associated by the mapping to the remote data identifier; and
if the remote identifier is not included in the mapping, creating a new data element to correspond to the remote data identifier.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of synchronizing data elements between devices can include receiving at a first device, from only one of multiple peer devices with which the first device is configured to synchronize, a request to synchronize data between the first device and the only one peer device; identifying data elements stored in the first device that have changed since a previous synchronization operation between the first device and the only one peer device; and transmitting, directly and solely to the only one peer device, for each of the identified data elements, a local data identifier and a corresponding change to be applied to a data element in the only one peer device that corresponds to the local data identifier. In some implementations, each local data identifier is transmitted in a format in which it is maintained in the first device.
61 Citations
20 Claims
-
1. A method of synchronizing data elements between devices, the method comprising:
-
directly receiving at a first device, from only one of multiple peer devices with which the first device is configured to synchronize, a remote data identifier and a corresponding change instruction; determining whether the remote data identifier is included in a mapping in the first device; and if the remote identifier is included in the mapping, applying the corresponding change instruction to a data element in the first device that is associated by the mapping to the remote data identifier; and
if the remote identifier is not included in the mapping, creating a new data element to correspond to the remote data identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of synchronizing data elements between devices, the method comprising:
-
receiving at a first device, from only one of multiple peer devices with which the first device is configured to synchronize, a request to synchronize data between the first device and the only one peer device; identifying data elements stored in the first device that have changed since a previous synchronization operation between the first device and the only one peer device; and transmitting, directly and solely to the only one peer device, for each of the identified data elements, a local data identifier and a corresponding change to be applied to a data element in the only one peer device that corresponds to the local data identifier. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A device comprising:
-
a data store configured to store a plurality of digital data elements; a synchronization module configured to directly synchronize the plurality of data elements in the data store with corresponding data elements in any one of multiple other peer devices; and a computer-readable medium comprising program instructions that, when executed, perform operations comprising; directly receiving, from only one of multiple peer devices with which the device is configured to synchronize, a remote data identifier and a corresponding change instruction; determining whether the remote data identifier is included in a mapping in the device; and if the remote identifier is included in the mapping, applying the corresponding change instruction to a data element in the data store that is associated by the mapping to the remote data identifier; and
if the remote identifier is not included in the mapping, creating a new data element in the data store to correspond to the remote data identifier.
-
Specification