In the past few years we have observed a sustained growth in the use of mobile computers. Small handheld devices and mobile phones with data communication capabilities are already common. Mobile Personal Information Management (PIM) applications, such as calendars and address books, are commonplace and mobile business applications, such as inventory control, are emerging. For many mobile applications, the data on a handheld device corresponds to the data on a personal computer or a network server. As Chapter 1 explains, this data must be kept consistent using data synchronization. The basic process involved in this kind of data synchronization, including fundamental algorithms and data structures, is well known in the mobile computing community.
Synchronizing a handheld computer or a mobile phone with a personal computer is already popular. Applications on the Palm® and the PocketPC™ computers are synchronized with their counterparts on the personal computer. Such local synchronization is typically performed using serial communication over a cable or an infrared connection between the handheld device and the personal computer. Usually the same vendor writes the applications for the handheld device and the personal computer. The vendors also control the associated data synchronization protocols and data formats. This development model works fine in practice, because the set of applications is primarily limited to PIM applications, the data is associated with a single individual, the communication mechanism is predominantly serial, and the number of commercial handheld platforms is relatively small.
Advances in wireless data communication are making it possible for wireless-enabled handheld computers and high-end mobile phones to access network services. A model is emerging where the counterpart for a calendar application on a handheld device is not a desktop application but a network service offered by a Web portal or an enterprise server. This model is attractive for a number of reasons. First, the network service provider relieves the user of managing application data on his or her desktop. Second, the handheld application can interact with its network counterpart more spontaneously without the need for physical proximity to a personal computer. Third, the model enables the sharing of application data across users to build useful applications such as family calendars. Finally, the model facilitates business applications on a variety of handheld devices and mobile phones by allowing the integration of data on handheld devices with business data in back-end datastores.
Despite its relative advantages, the above model is far from being truly realized. The model requires remote synchronization of application data on handheld devices and mobile phones with data in various datastores in network servers. Unlike local synchronization, it is not feasible for application vendors to fully control the synchronization process. One reason is that currently many mobile phones do not expose application-programming interfaces. Another reason is that network service providers and handheld device manufacturers are usually from distinct business segments, and it is difficult for them to cooperate on this synchronization. It is still conceivable that a substantially sizeable application vendor such as Lotus® or Microsoft® would want to write synchronizing client applications for Lotus Notes® and Microsoft Exchange® for handheld platforms like PocketPC that publish open programming interfaces. This approach has only had limited success, as the application vendors could only support typically one or two platforms and very few specific communication protocols.
A number of synchronization vendors have emerged to "bridge the difference" between server applications and handheld or mobile phone applications. The vendors typically partner with a client platform provider and a network service provider or a server application vendor. They also often make a choice of the kind of communication protocol to support. Thus, they typically offer a "synchronization solution" that works for a set of clients and set of server applications or service providers. They also typically use proprietary synchronization protocols and data formats that are optimized for the set of platforms and supported applications without concern for interoperability. This has resulted in disjointed islands of communication.
Figure 2-1 illustrates the segmentation of the mobile data synchronization market in the period from the middle of 1999 through 2000. The figure primarily focuses on remote synchronization capabilities and not on mobile device to personal computer synchronization capabilities. On the left, examples of mobile devices are shown. On the right, some examples of Web portals and server applications are shown. In the middle, some synchronization vendor products are shown. It is clear that for mobile phones not much remote synchronization capability with Web portals and enterprise applications existed in the indicated timeframe. FoneSync™ only offered synchronization between certain mobile phones and personal computers. TrueSync® offered synchronization between Motorola® phones and a few portals such as Excite@Home™ and Yahoo!®, and to Microsoft Exchange. Intellisync Anywhere® offered synchronization between the Palm and Symbian OS®-based handhelds and Lotus Notes and Microsoft Exchange. The xTndConnect® product offered synchronization between Palm, PocketPC, and Symbian® devices and Anyday.com™ portal and enterprise PIM applications, such as Lotus Notes, Microsoft Exchange, and Open Database Connectivity (ODBC) [San98] compliant databases. Many synchronization vendors did not offer a direct remote synchronization solution from the mobile device to the server but used the personal computer as a pass-through to the network server, thereby limiting many cited benefits for true remote synchronization. Now consider, if one installed the TrueSync client on a Motorola phone to synchronize with Excite, that person would need to find a vendor application that synchronized the Motorola phone with the Lotus Notes application and install it on the mobile phone. From the perspective of the consumer, if one has a client application that one wants to synchronize with a server application, one must first find a supporting synchronization vendor and install the required vendor-specific client code. If one now wants to synchronize a different application, one may have to find a different synchronization vendor. From the perspective of a network service provider, the number of sync vendors it is able to partner with defines its reach of client platforms.
Figure 2-1. The figure illustrates the pre-SyncML® segmented mobile data synchronization market from mid-1999 through 2000. This figure is primarily for illustrative purposes and may not accurately reflect the exact features of certain products in the indicated timeframe.