As desktop computers, laptops, personal digital assistants (PDAs) and advanced phones have become part of our business and personal life, the need to access current, consistent data in multiple locations has become a pressing need. The term synchronization, often abbreviated to sync, is broadly used to address this requirement. This section discusses synchronization, along with a description of SyncML4J, an IBM® offering that enables ISVs and developers to implement SyncML based applications.
Resources can either be standalone items on the file system, such a word processor document, or items managed within an application, such as a calendar within a Personal Information Manager (PIM) application. If a single user accesses the resources that are required from a single location, such as when using a standalone desktop computer, there is no synchronization issue; the user is always working with the single, and thus current, version. In a local area network, where multiple users access resources on a shared file system, there is no inherent synchronization facility. If two users open and edit the same file, the last person to save the file overwrites the content input by the other user. As applications have become more sophisticated, they often provide support for multi-user access to the resources they manage; however this usually assumes continuously connected devices on a network.
Contacts, calendars, and memos are three common resources that a user might want access to on a variety of devices, beyond the desktop. The most significant problem with situation is that these devices often operate disconnected from the desktop computer for significant periods and it is possible to edit the data on these devices, as well as on the desktop. To merge the edits from both locations, the data must be synchronized between these two devices.
Previously, these resources were synchronized between a desktop machine and single PDA using the synchronization software that was provided with the PDA. Often this meant data was synchronized to a desktop application provided by the device manufacturer; this might not have been the default application used on the desktop, particularly in a corporate scenario. Facilities were often provided to import data to the PDA desktop counterpart application, but this was usually a one-off activity, with no facility to update or merge ongoing edits between the applications.
The situation became worse as the facilities of mobile phones improved. Now there was a third device, usually from a different manufacturer, to synchronize. One possible solution was to ensure that all three devices ran software from one manufacturer and expect manufacturers to ensure compatibility, but this is not the way the market evolved.
Within this context a consortium of companies began the SyncML Initiative to develop an open synchronization standard appropriate to server, desktop, and handheld devices. The organization developed data synchronization (DS), then device management (DM) specifications and regularly held SyncFests, where software and device manufacturers were able to test interoperability between various servers and devices. In November 2002, the SyncML Initiative was integrated into the Open Mobile Alliance (OMA), with the following mission:
“The mission of the Open Mobile Alliance is to facilitate global user adoption of mobile data services by specifying market driven mobile service enablers that ensure service interoperability across devices, geographies, service providers, operators, and networks, while allowing businesses to compete through innovation and differentiation.”
Parent topic: SyncML: XPD621