A method of extending SyncML to Support Peer-to-Peer Synchronization.
Original Publication Date: 2005-Oct-07
Included in the Prior Art Database: 2005-Oct-07
This article presents a set of extensions to the SyncML protocol to support interoperable peer to peer synchronization.
A method of extending SyncML to Support Peer -to-Peer Synchronization.
Disclosed is a set of extensions to SyncML to permit interoperable peer to peer synchronization. Currently SyncML defines a mechanism for client to server synchronization, but it does not define how to accomplish synchronization in topologies that include multiple servers.
For simplification we can assume that nodes in the topology can switch between client and server roles. This invention describes what is needed to allow the nodes to seamlessly switch between those roles.
Consider the following possible topology:
Figure 1. Client1 could be a desktop or laptop device. Client2 could be a mobile phone or PDA device. Servers1 and 2 could be traditional server devices. All 4 devices may synchronize a given data store with each other.
Server1 and 2 as well as Client1 need to support an identifier mapping function as defined by SyncML 1.2 to allow Client2 to synchronize if it cannot store a GUID (Globally Unique Identifier) for each data item.
Because Client2 can receive updates from any of the other 3 parties, the mapping of GUID to LUID (Locally Unique Identifier) for Client2 must be available at all 3 parties during synchronization. This problem is partly solved by synchronizing the mapping table itself among those 3 parties.
To do so in an interoperable fashion requires standardizing the URN schema for a particular
mapping table, as well as the semantics of the SYNC command and its sub-commands (ADD, UPDATE, and DELETE) in relation to the mapping table.
In particular, the MAP command obviousl...