next up previous contents
Next: CPISync Up: Scalability in Mobile Device Previous: Intellisync   Contents

SyncML

SyncML [24] is an open industry initiative supported by many companies including Ericsson, IBM, Lotus, Matsushita, Motorola, Nokia, Openwave and Starfish. It seeks to provide an open standard for synchronization across various platforms and devices. SyncML tries to achieve ``Fastsync" capabilities by requiring that every device in the network keep status flags for each record with respect to every other device in the network. While this does guarantee the near optimal communication complexity for synchronization, there is an unreasonable demand on the mobile device's memory to store the status flags of each record with respect to each other device in the network, making the memory complexity on each device O$ (nr)$ where there are $ n$ devices in the network and $ r$ records on the device. This is not scalable for multi-device networks with a large number of $ n$ devices. For example, there might be $ 100$ devices synchronizing among each other and each of these hold $ 10,000$ records. If it takes $ 8$ bytes to store status information for a record, each device will have to use approximately 8MB of memory to store status flags. Version vectors [25] may be used as an approach to implement SyncML efficiently, which make the overhead linear in the number of updates $ m$ and not on the number of items in the data sets. It is not clear whether this approach will scale with the number of devices in a network because the authors in [25] assumed that the network size is small enough to be considered a constant. This assumption may not be applicable in a larger setting such as the one shown in Figure 2.6. The overhead would more accurately be $ O(n \cdot m)$ where n is the number of devices in the network.
next up previous contents
Next: CPISync Up: Scalability in Mobile Device Previous: Intellisync   Contents
Sachin Kumar Agarwal 2002-07-12