by Jon Newman, special to Network World

SyncML links communications devices

How-To
Mar 27, 20063 mins

Synchronization standard helps manage personal data.

Today’s users have an ever-expanding array of personal communications options, including devices such as mobile phones, PDAs and PCs, and a growing number of new services, such as VoIP and instant messaging, on top of traditional e-mail. As a result, there is an increasing need for synchronization of contacts, calendars and to-do lists across multiple applications and devices. Managing personal data across devices is time-consuming and complex, and users need a good way to ensure that information is available wherever and whenever they need it.

Synchronization Markup Language (SyncML), also known as data synchronization and device management, is a platform-agnostic synchronization standard from the Open Mobile Alliance that enables information stored on network servers and multiple user devices to be easily and automatically synchronized. For example, users could add a contact to a mobile phone during a business meeting, synchronize with a network and instantly have that contact available on their desktop e-mail client and PDA and via the Web.

Leading mobile phones support SyncML. These phones can be used, along with SyncML servers and SyncML desktop clients, to synchronize data on a network and multiple applications and devices. The current version, SyncML 1.2, provides server-initiated synchronization, which enables new personal information to be synchronized to a mobile device without prompting from a user or device client.

The SyncML standard works via the SyncML representation protocol and SyncML synchronization protocol.

The SyncML representation protocol defines a standard format for SyncML messages in an XML document. The body of the document contains one or more SyncML commands, defined by a set of request commands and a set of response commands.

The SyncML synchronization protocol defines actions between a SyncML client and a SyncML server. Features include synchronization anchors that represent the current and last synchronization event and let a fresh synchronization occur if they don’t match, and ID mapping that utilizes locally unique IDs and globally unique IDs for each data item in the client and server.

Other capabilities of SyncML include security, addressing schemes and the presentation of information about the capabilities of the device to be synchronized. In addition, there are seven synchronization types supported, of which three are key:

•  Two-way synchronization, which allows new changes to be exchanged between client and server.

•  Slow synchronization, which enables all items in client and server databases to be compared field by field.

•  Server-alerted synchronization, which notifies a mobile device when an update occurs on the network, to prompt a new synchronization session.

SyncML can be implemented in a variety of applications and devices. It can be used by developers at a company or by application vendors to create SyncML clients and servers. Different transport bindings can be used to allow for use with different systems, such as HTTP and Object Exchange for infrared. SyncML is built on existing Internet and Web technologies, and has been optimized for wireless networks and mobile devices, addressing the issues of high network latency and limited bandwidth with features such as a single request-response message model and Wireless Application Protocol Binary XML to reduce the size of messages.

Any data format can be synchronized using SyncML, including files, thus making a broad range of content available to users via their mobile phones, PDAs or PCs.

Newman is a product manager for Critical Path. He can be reached at jon.newman@criticalpath.net.

Synchronization Markup Language is a standard for synchronizing information between servers and user devices such as mobile phones and PDAs.