Patent ID: 8589340

Claim:
A method for synchronizing data records between three or more processing devices through three or more paths, the method comprising: synchronizing, from a first device with a first synchronization client, a first data record to a second device with a second synchronization client through a first path using a first communication protocol, wherein the first data record is assigned a data record identifier by the first device, wherein the first device assigns a stable common data record identifier based on the first protocol which allows stable common data record identifiers across clients, and wherein the data record identifier assigned to the first data record is also assigned as a first universal identity identifying the first data record; synchronizing, from the first device, a second data record to a third device with a third synchronization client through a second path using a second communication protocol, wherein the second data record is assigned a second universal identity by the first device, wherein the first device does not assign a stable common data record identifier based on the second protocol which does not allow stable common data record identifiers across clients, wherein the second universal identity comprises a mapping of the second universal identity to the second data record, wherein the first device and the third device each store a mapping of the second universal identity to the second data record, and wherein the mapping is stored in the second data record; and synchronizing from the second device to the third device through a third path using a third communication protocol, wherein synchronizing comprises using the first universal identity and the mapping of the second universal identity to the second data record stored by the third device in the second data record to determine if the first data record and the second data record are the same data record based on comparing the first universal identity with the second universal identity and wherein at least one of the second communication protocol or the third communication protocol is different from the first communication protocol.