• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



Information is the nucleus of today's interconnected economy. We need to be able to access our personal and business information quickly, efficiently, and securely, at any time and at any location, even if this location has no capabilities for wireline or wireless networks to access remote servers.

Pervasive devices like PDAs and mobile phones enable us to remotely use services provided by servers. With these devices we want to access personal or corporate data that we need for our daily business, like contact information of customers, pricelists, or other corporate data.

Data is primarily stored on servers or desktop computers. The mobile device contains a copy of this data and the user needs to be able to manipulate the data on the mobile device. The resulting changes need to be reflected in the source database, without retyping them.

At the same time somebody else could make changes to the data on the server directly. Having two or more copies of a dataset and being able to manipulate the copies independently requires synchronization to reconcile the different changes to form one consistent dataset.

To make all this happen seamlessly, the industry is currently converging upon the required standards. The leading companies in the Information Technology and Mobile Communications industries, like Ericsson®, IBM®, Lotus®, Matsushita®, Motorola®, Nokia®, Palm®, Psion®, and Starfish® founded the SyncML® Initiative as a forum for the definition and promotion of a universal synchronization de facto standard based on XML. Since the first meetings in 2000, SyncML has received a lot of support and the resulting specification has been a great success. All leading companies interested in data synchronization actively participated in the definition and enhancements of the specifications. More importantly, a number of SyncML compliant servers and devices are already available in the market.

About This Book

This book explains the fascinating characteristics of data synchronization and device management and the solution that SyncML offers to achieve global and interoperable synchronization and device management with first-class out-of-the-box experience.

It comprehensively covers the SyncML specifications and the reference implementations. It describes the ideas and design principles behind the specifications and how they evolved to the current state. There are separate chapters dedicated to the integration of SyncML into mobile devices as well as synchronization servers.

This book has a strong emphasis on the challenges that universal synchronization faces as well as the solutions and opportunities that a global synchronization specification offers. One example of these new opportunities is the new generation of services, which deliver added value to a growing number of customers. There are many industries (such as e-business, private or home, finance, or travel) that will use synchronization as the base infrastructure to efficiently exchange data.

This book contains everything you need to know about SyncML and synchronization. The major goal of this book is to make it easy to understand SyncML, its benefits, and to implement it in solutions, on the client as well as on the server side.

The Audience of This Book

Giving a comprehensive and profound overview of synchronization and especially SyncML makes this book very valuable for a wide audience of readers. Following the main thread of this book a reader will find an easy and quick entry to the topics of his interest.

Business managers and managers responsible for IT systems will learn what impact SyncML and synchronization itself has on economy and society. The knowledge about synchronization paradigms, new business models, and a new generation of applications will affect their work as well as their decisions. They will see where synchronization can help businesses to offer new services and new products or how to improve existing businesses to reach a new range of customers.

Software architects and project managers extending their e-business activities to a new front-end using synchronization will read which components SyncML based solutions are made of and how these building blocks are related to each other. This book gives an overview of state-of-the-art synchronization technology and shows which components are available and what needs to be done to build a complete solution.

Application developers getting involved with SyncML will find an in-depth guide through the different SyncML specifications and paradigms, what needs to be implemented, and how to get a perfectly working, efficient, and scalable SyncML synchronization solution. They will get a very good introduction before digging into the details. They will learn how to rapidly enable applications for the use of SyncML and how to avoid usual pitfalls.

No Need to Read the Whole Book

Most of us no longer have the time to read a book cover to cover. Therefore, we have broken this book into parts that may be read in almost any sequence:

  • “Introduction”

  • Part I: SyncML Overview”

  • Part II: SyncML In Depth”

  • Part III: Building Synchronization Applications”

  • Part IV: The Future”

  • Part V: Appendices”


In this part, we set the stage by providing an overview of data synchronization in general.

Chapter 1: An Introduction to Data Synchronization

This chapter gives a general overview on data synchronization. It introduces the reader to the basic concepts of synchronization and their advantages or difficulties. It describes its challenges and why SyncML is needed. An overview of the other data synchronization standards, like those used in IrMC or Bluetooth™ completes this introductory chapter.

Part I: SyncML Overview

In this part, we give an overview of SyncML, its fundamentals, and typical applications that benefit from using SyncML.

Chapter 2: SyncML: An Introduction

This chapter provides a look behind the scenes of SyncML. It explains what the business motivations were and still are and how it all began. It gives a brief history of the formation of the group, how SyncML evolved from a group of companies jointly developing and promoting SyncML to a real industry initiative with many companies in the IT industry being a member of it.

This chapter introduces the basic concepts behind SyncML and how SyncML fits in a data synchronization solutions.

Chapter 3: SyncML Applications

In this chapter we walk through two applications that SyncML is commonly used for: Personal Information Management, Data Management, and Enterprise. The applications also illustrate the use of device management. It provides insight into how SyncML is used in these applications and how the various players (server and device manufacturers, and most notably, customers) benefit from it.

Part II: SyncML In-Depth

This part gives in-depth insight into the core specifications that the SyncML standard consists of. It provides valuable information how SyncML can be successfully used and gives insight into the reasons behind different design decisions.

It also explains the knowledge that one needs to build an efficient and working SyncML implementation that resides in different places in the specifications.

Chapter 4: SyncML Fundamentals

This chapter lays the ground for the following parts that give in-depth insight into the different components of SyncML. The key design goals such as interoperability, performance, scalability, and footprint are introduced. The chapter further explains how SyncML matches these goals.

It gives an introduction into the overall SyncML architecture and how the different specifications fit together to a working standard.

Chapter 5: Synchronization Protocol

The Synchronization Protocol [SSP02] needs to be studied to understand the SyncML technology and how different SyncML components interact with each other. This chapter analyzes this protocol, which uses the functionality from most of the other SyncML components, e.g., the Representation Protocol [SRP02] or the Meta Information DTD [SMI02].

In addition to the phases and features of the Synchronization Protocol, this chapter brings out many crucial issues, which need to be taken into account when implementing this protocol. These can substantially help to achieve a high-quality implementation of a SyncML Client or a SyncML Server.

Chapter 6: Representation Protocol

The Representation Protocol defines the way a SyncML document, which is exchanged using the Synchronization Protocol, has to be built. It defines the DTD on which the SyncML XML document is based. This chapter describes the different commands and DTD elements as a tutorial, using examples and giving hints and tips not found in the specifications themselves.

Chapter 7: Supportive SyncML Components

This chapter covers the Meta Information DTD and the Device Information DTD [SDI02] specifications, which support the Synchronization Protocol and the Representation Protocol for enabling complete and fully operational SyncML sessions. These specifications complete the SyncML synchronization framework.

In addition to the above, this chapter provides a comprehensive description of the three SyncML transport bindings, which enable the SyncML functionality over HTTP [RFC2616], WSP [WSP01], and OBEX [OBEX99]. By understanding these bindings, SyncML can easily and efficiently be provided in an interoperable manner over the most common transport protocols.

Chapter 8: Security and Authentication

Security is an important aspect in all data processing standards and applications, but especially in cases were data is exchanged using public packet-switched networks, security needs special attention.

This chapter explains the different levels an application using SyncML can secure the exchanged data, it describes SyncML's built-in security features and uses examples to show the different implications in several scenarios. It demonstrates how SyncML security can be enhanced using additional techniques and gives an outlook of possible future enhancements.

Chapter 9: Device Management

The latest major functional addition to the SyncML family of specifications is device management, called SyncML DM [SDM02]. This chapter gives an introduction to the unique area of managing mobile devices and what this exactly means. It explains how SyncML is used to provision and manage mobile devices providing synchronization and other value-added services. It covers the differences with the data synchronization parts of SyncML and what is needed for a SyncML implementation to manage devices.

This uses a number of illustrative examples and scenarios focusing on the different aspects of this new field for SyncML. In addition, the aspects for achieving interoperable device management systems by leveraging the SyncML Device Management Framework are analyzed and discussed in this chapter.

Part III: Building SyncML Applications

This part contains tools, hints, and tips that speed up developing SyncML applications on servers as well as on clients.

Chapter 10: SyncML API and Reference Implementation

SyncML provides a Reference Implementation in the C language to help companies to quickly enable their implementations to support SyncML. This chapter describes the modular architectures and how to optimize the Reference Toolkit for different environments. The chapter also explores the design and API of the Reference Toolkit and uses multiple examples to show how to exploit it efficiently.

Chapter 11: Mobile Devices and SyncML

This chapter describes the special considerations to be made for the efficient use of SyncML in mobile devices. It covers the special characteristics of mobile and wireless devices and how to account for such characteristics to build implementations that perform well, are robust, have small footprints, and interoperate. It explains the design decisions that SyncML chose to enable the development of small and efficient client implementations. It also addresses the issues, which need to be taken into account by the Servers when communicating with the mobile devices.

Chapter 12: The SyncML Server

As with the SyncML Client, there are several ways to implement a SyncML Server. Some are more efficient than others. This chapter introduces the components that constitute a SyncML Server and which design decisions need to be taken to build servers that perform well and scale to a large number of SyncML Clients.

Chapter 13: Interoperability Verification

The success of SyncML is dependant on the ability to synchronize different devices with each other. Customers will use SyncML only if its various implementations are interoperable.

This chapter introduces the SyncML Interoperability Committee, which was created by the SyncML Initiative to develop and coordinate the SyncML Conformance and Interoperability Process. This chapter describes the steps that need to be taken to first obtain the right to use the term “SyncML conformant” and in a second step, get the SyncML Interoperability logo.

This chapter also contains a description of how to use the SyncML Conformance Test Suite and how the SyncFests are organized.

Part IV: Summary and the Future

This part describes the possible future directions of SyncML.

Chapter 14: Summary and Future

This chapter summarizes the content of the book and gives an outlook on future enhancements of SyncML, and applications based on SyncML that might emerge in near future. It describes the missing pieces and what might come in the next version of SyncML.

Part V: Appendices

Appendix A: Bibliography

In this appendix, we reference the sources that we used. In addition, we point to material that is very helpful for learning more about those areas that are not the focus of this book.

Appendix B: Glossary

The glossary briefly explains some of the most important terms.

Appendix C: Trademarks

A list of trademarks referenced in this book is presented.


The index helps to locate terms used and explained in this book.

About the Authors

Uwe Hansmann is currently a development manager at IBM for various Pervasive Computing projects including the development of the SyncML Reference Toolkit. He was co-chair of the SyncML Core Expert Group. He helped to get several industry initiatives started, was Secretary of the Open Services Gateway Initiative as well as the Secretary and a Board member of the OpenCard Consortium. Uwe received a Master of Science from the University of Applied Studies of Stuttgart in 1993 and an MBA from the University of Hagen in 1998. He joined IBM in 1993 as a software developer and led the technical marketing support team for IBM Digital Library in Europe before joining IBM's Pervasive Computing Division in 1998.

In the past he has written books about Smart Card Application Development Using Java, as well as the Pervasive Computing Handbook. He can be reached via email at hansmann@de.ibm.com.

Riku Mettälä is currently working as a technology manager for SyncML based application technologies in Nokia Mobile Phones. He has headed the software projects related to SyncML and was also involved in the standardization of SyncML from its very beginning. Before working with SyncML, he took part in the Bluetooth standardization effort and also acted as the chairman of the synchronization expert group within Bluetooth SIG. He has worked for Nokia Mobile Phones since 1998 and before that, he was a part of the Nokia Networks organization. Riku has a Master of Science in computer science, with specialization in the telecommunications area. He studied in Tampere University of Technology, Finland and in Virginia Tech, USA. He can be reached via email at riku.m.mettala@nokia.com.

Apratim Purakayastha is currently a research manager in the IBM Thomas J. Watson Research Center. For the last few years he has engaged in research in the area of mobile computing and in mobile data synchronization. He is one of the founding contributors to the SyncML standard and was involved in SyncML from its nascent stage as the basic notions in SyncML emerged from a project in IBM/Lotus. He has authored numerous research papers in the area of mobile computing and data synchronization. He has also played key roles in IBM's synchronization related activities. He joined IBM in 1996 after completing his Ph.D. in Computer Science from Duke University, USA. He can be reached via email at apu@us.ibm.com.

Peter Thompson is currently working at Starfish Software as a Senior Software Engineer. He is also the chair of the SyncML Technical Committee and is active in as many of the Expert Groups as he can spare time. Peter is the least educated of the authors with only a Bachelors of Science from the University of California at Berkeley. When not working on SyncML or with other Standards organizations, he also flies his airplane around California. Peter can be reached at peter.thompson@starfish.com.


We had a unique opportunity to work with colleagues from leading companies around the world on SyncML, which helped us broaden our experience. Without that we could not have written this book. We would like to thank all members of the SyncML Initiative and all people who have invested an important time of their lives to create SyncML, as well as our employers for having provided us with this opportunity. We would like to thank everybody who worked with us on SyncML, especially Frank Dawson, Douglas Heintzman, Rajiv Jain, Ilari Nurmi, Noel Poore, Timo Saraketo, Dan Wolfson, and Quinton Zondervan.

Numerous people furnished us with in-depth reviews of the book, supported us, or provided us with their invaluable expertise. We are indebted to Chatschik Bisdikian, Stephane Bouet, Douglas Heintzman, Philippe Kahn, Hui Lei, Michael Robert, James Scales, and Thomas Stober.

We would especially like to thank our wives and kids Alisha, Anna, Anusha, Eeva, Linda, Sandra, and Urmi for the borrowed time.

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint