Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
SyncML

SyncML, or Synchronization Markup Language, was originally developed as a platform-independent standard for information synchronization. Established by the SyncML Initiative, this project has evolved to become a key component in data synchronization and device management. The project is currently referred to as Open Mobile Alliance Data Synchronization and Device Management. The purpose of SyncML is to offer an open standard as a replacement for existing data synchronization solutions; which have mostly been somewhat vendor, application, or operating system specific. SyncML 1.0 specification was released on December 17, 2000, and 1.1 on February 26, 2002.

A SyncML message is a well-formed XML document that adheres to the document type definition (DTD), but which does not require validation.

We don't have any images related to SyncML yet.
We don't have any YouTube videos related to SyncML yet.
We don't have any PDF documents related to SyncML yet.
We don't have any Books related to SyncML yet.
We don't have any archived web articles related to SyncML yet.

Internals

SyncML works by exchanging commands, which can be requests and responses. As an example:

  • the mobile phone sends an Alert command for signaling the wish to begin a refresh-only synchronization
  • the computer responds with a Status command for accepting the request
  • the phone sends one or more Sync command containing an Add sub-command for each item (e.g., phonebook entry); if the number of entries is large, it does not include the <Final/> tag;
  • in the latter case, the computer requests to continue with an appropriate Alert message, and the mobile sends another chunk of items; otherwise, the computer confirms it received all data with a Status command

Commands (Alert, Sync, Status, etc.) are grouped into messages. Each message and each of its commands has an identifier, so that the pair (MsgID, CmdID) uniquely determines a command. Responses like Status commands include the pair identifying the command they are responding to.

Before commands, messages contain a header specifying various data regarding the transaction. An example message containing the Alert command for begin a refresh synchronization, like in the previous example, is:

<?xml version="1.0"?> <!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd"> <SyncML xmlns="SYNCML:SYNCML1.2"> <SyncHdr> <VerDTD>1.1</VerDTD> <VerProto>SyncML/1.1</VerProto> <SessionID>1</SessionID> <MsgID>1</MsgID> <Target><LocURI>PC Suite</LocURI></Target> <Source><LocURI>IMEI:3405623856456</LocURI></Source> <Meta><MaxMsgSize xmlns="syncml:metinf">8000</MaxMsgSize></Meta> </SyncHdr> <SyncBody> <Alert> <CmdID>1</CmdID> <Data>203</Data> <!-- 203 = mobile signals a refresh from it to computer --> <Item> <Target><LocURI>Events</LocURI></Target> <Source><LocURI>/telecom/cal.vcs</LocURI></Source> <Meta><Anchor xmlns="syncml:metinf"><Last>42</Last><Next>42</Next></Anchor></Meta> </Item> </Alert> <Final/> </SyncBody> </SyncML>

The response from the computer could be an XML document like (comments added for the sake of explanation):

<?xml version="1.0"?> <!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd"> <SyncML> <SyncHdr> <VerDTD>1.1</VerDTD> <VerProto>SyncML/1.1</VerProto> <SessionID>1</SessionID> <MsgID>1</MsgID> <Target><LocURI>IMEI:3405623856456</LocURI></Target> <Source><LocURI>PC Suite</LocURI></Source> </SyncHdr> <SyncBody> <!-- accept the header of the last message from the client --> <Status> <CmdID>1</CmdID> <MsgRef>1</MsgRef> <CmdRef>0</CmdRef> <!-- 0 = header of the message --> <Cmd>SyncHdr</Cmd> <TargetRef>PC Suite</TargetRef> <SourceRef>IMEI:3405623856456</SourceRef> <Data>200</Data> <!-- 200 = ok, accepted --> </Status> <!-- accept the request of the mobile for a sync --> <Status> <CmdID>2</CmdID> <!-- this is command #2 --> <MsgRef>1</MsgRef> <CmdRef>1</CmdRef> <!-- it respond to command msg=1,cmd=1 --> <Cmd>Alert</Cmd> <TargetRef>Events</TargetRef> <SourceRef>/telecom/cal.vcs</SourceRef> <Meta><Anchor xmlns="syncml:metinf"><Next>0</Next><Last>0</Last></Anchor></Meta> <Data>200</Data> <!-- 200 = ok, accepted --> </Status> <Final/> </SyncBody> </SyncML>

The transaction then proceeds with a message from the mobile containing the Sync command, and so on.

This example is a refresh where the mobile sends all its data to the computer and nothing in the other way around. Different codes in the initial Alert command can be used to initiate other kinds of synchronizations. For example, in a "two-way sync", only the changes from the last synchronization are sent to the computer, which does the same.

The Last and Next tags are used to keep track of a possible loss of sync. Last represents the time of the last operation of synchronization, as measured by each device. For example, a mobile may use progressive numbers (1, 2, 3, ...) to represent time, while the computer uses strings like "20140112T213401Z". Next is the current time in the same representation. This latter data is stored and then compared with Last in the next synchronization. Any difference indicates a loss of sync. Appropriate actions involving sending all data can be then taken to put the devices back in sync.

Anchors are only used to detect a loss of sync; they do not indicate which data is to be sent. Apart from the loss-of-synchronization situation, in a normal (non-refresh) synchronization, each device sends a log of changes since the last synchronization.

SyncML client connectors and plugins

NamePlatformApplicationContactsCalendarMemosTasksBook-marksE-mailSMSPhotoVideoMusicFilesNotes
Syncfriend for MS OutlookWindows XP/Vista/7SyncML and ActiveSync client for Outlook 2007/10YesYesAlso supports Google sync including feeds from Facebook, Twitter and LinkedIn. Free version synchronizes 200 contacts in any custom folder
Gemalto / O3SIS AGWindows MobileSyncML Client, Personal Life MobilizerYesYesNoYesNoYesYesYesYesYescommercial, over-the-air installable client, Videos, Photo, Ringtones, SMS, MMS, as well
Gemalto / O3SIS AGAndroidSyncML Client, Personal Life MobilizerYesYesNoNoNoNoNoYesYesYescommercial, over-the-air installable client
Gemalto / O3SIS AGiOSSyncML Client, Personal Life MobilizerYesYesNoNoNoNoNoYesNoNocommercial, over-the-air installable client
Gemalto / O3SIS AGSymbian, Series 60SyncML Client, Life Mobilizer Push Mail EditionYesYesNoYesNoYesYesYesYesYescommercial, over-the-air installable client
Gemalto / O3SIS AGBlackBerry J2ME from OS 4.5, Nokia S40, Sony Ericsson J2MESyncML Client,YesYesNoYesNoNoNoYescommercial, over-the-air installable client
SyncEvolutionUnix/LinuxEvolution, KDE/Akonadi, plain files, ...YesYesYesYesNoNoNofree, command line, Genesis GUI frontend
libsynthesisLinux, iOSSyncML client+server engine libraryYesYesYesYesYesYesYesOpen-source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible
SyncEvolutionMaemo 5system address book/Contacts, DatesYesYesYesYesNoNoNofree, command line
SyncEvolutionOS X, iPhonesystem address bookYesNoNoNoNoNoNofree, command line
FunambolWINNERPocket PC, SmartphoneYesYesYesYesNoYesNoYesplus files in 'briefcase', AGPL v3
FunambolSymbianSymbian S60 3rd/5th EditionYesYesYesYesYesAGPL v3, adds push and picture sync capabilities to native client
FunambolAndroidAndroid Sync ClientYesYesYesNoNoNoNoYesOpen Source, AGPL v3; very specific to onemedia.com, attempts to use it with other SyncML servers have failed
FunambolBlackBerryBB DatabasesYesYesYesYesYesOpen Source, AGPL v3
FunamboliOSAddressBookYesOpen Source, AGPL v3
FunambolJava Email ClientJava ME, J2SEYesYesOpen Source, AGPL v3
FunambolWindowsOutlookYesYesYesYesNoNoNoYesOpen Source, AGPL v3
FunambolOS XDesktopYesNoNoNoNoNoNoNoOpen Source, AGPL v3
FunambolMulti-platformJava ME, J2SE, C++YesYesYesYes***Open Source SDK, AGPL v3
FunambolPalm OSPalm DatabasesYesNoNoNoNoNoOpen Source, AGPL v3, Community Project
Funambol Community ProjectWindows, LinuxiPodYesYesNoNoNoNoNosync via cable, Open Source, AGPL v3
Funambol Community ProjectWindows, Linux, MacThunderbird, SunbirdYesYesYesNoNoOpen Source, AGPL v3
FunambolYahoo!, GoogleContacts, CalendarYesYesNoNoNoYesNoOpen Source, AGPL v3
NokiaSymbian 9.xNokia S60 3rd/5th Edition nativeYesYesYesYesYesNoYesMMS, too!
SynchronicaWindows MobilePocket PC, SmartphoneYesYesNoYesYesemails, attachments and folders
SynchronicaSun Java Systems Communication SuiteSun Comms 4, 5 and 6YesYesNoYesYes
SynchronicaMicrosoft Exchange2003 and 2007YesYesNoYesYesUsing OWA (WebDAV)
SynchronicaLotus Domino6YesYesNoYesYesUsing IMAP and CORBA
SynchronicaGoogleCalendar, ContactsYesYesNoNoYes
SynchronicaMSN/Hotmail/WindowsLiveContactsYesNoNoNoNo
SynchronicaJava Content RepositoryAny JCR compatible serverYesYesYesYesYesJCR (JSR-170) back-end API
SynchronicaPalm OSmobile devicesYesYesNoYesYes
SynchronicaOS XiPhoneNoNoNoNoYesover the air (OTA) using IMAP/SMTP
TSyncWindows, Linux, OS X, *ThunderbirdYesNoNoNoNoNoNofree, GPL
SyncML2iPhoneiPhoneiCalNoYesNoNofree
MyTTSymbianS60 all versionYesYesYesYesYesfree, support file upload/download, only Chinese version
MyTTWindows MobilePocket PC, SmartphoneYesYesYesYesYesfree, support file upload/download, only Chinese version
MyTTWindowsOutlookYesYesYesfree, only Chinese version
MyTTMTK25,26,28YesYesYesYes
MyTTBrewYesYes
plan44.chiOSiOS contacts and calendar, separate tasks and calendarYesYesNoYescommercial, free contacts-only version
SynthesisAndroidAndroid databases, internal tasks and notes, Astrid Tasks, Alex Baker's Tasks, OI notesYesYesYesYesYesNoYesYesYesYesYescommercial, multiple sync profiles, scheduling
SynthesisWindows Phone 8Windows Phone 8 contacts, calendarYesYesNoNocommercial
SynthesisPalm OSPalm DatabasesYesYesYesYesNoYesNocommercial, multiple sync profiles, scheduling
SynthesisWindows MobilePocket PC, SmartphoneYesYesYesYescommercial
SynthesisWindowsOutlook, Outlook ExpressYesNoNoNocommercial
SynthesisWindows, Linux, OS XSQL, ODBC, SQLite3, PlainTextYesYesYesYes***Programming SDK w/API's in C, C++, Delphi, Java, & .Net
SynthesisWindows, OS XSunbird/LightningYesYesNoNoDEMO application included with SDK
SynthesisWindows, Linux, OS XClient Desktop DEMO/ODBC/PluginYesYesYesYes***Scriptable utility to connect with any other client side application or database.
TTSyncWindows MobilePocket PC, SmartphoneYesYesYesYes***commercial
TTSyncSymbianS60, 1,2,3 versionYesYesYesYes***commercial
CompanionLinkWindowsVariouscommercial
SyncJE by NexthausWindows MobileWindows MobileYesYesNoYescommercial
SyncJE by NexthausOS XOS XYesYesNoYescommercial
SyncJE by NexthausWindowsOutlookYesYesYesYescommercial
SyncJE by NexthausWindowsOutlook ExpressYesNoNoNocommercial
SyncJE by NexthausWindowsLotus NotesYesYesYesYescommercial
SyncJE by NexthausWindowsACTYesYesNoYescommercial
SyncJE by NexthausPalm OSPalm DatabasesYesYesYesYescommercial
SyncJE by NexthausBlackBerryYesYesNoYescommercial
SyncJE by NexthausiOSiPhoneYesNoNoNocommercial
Critical Path (Memova)J2MEPhone Backup ClientYesYesYesYesYescommercial
Voxmobili (An OnMobile Company)Windows Mobile, Android, OS X, Symbian, J2ME...SyncML Client, VoxMobili ClientYesYesYesYesYesYesYesYesYesYesYescommercial
Yota ContactsWindows MobileSyncML Client, Address bookYesfree, shipped with Yota HTC MAX 4G
SynchronossBlackberry, Symbian, Palm OS, Windows Mobile, AndroidSyncML Client, MightyBackup, Network Address BookYesYesYesYesYesYescommercial, with over 10 Million clients deployed
SynchronossWindowsOutlook ConnectorYesYesYesYes
SynchronossExchangeMicrosoft Exchange ConnectorYesYesYesYes
PleexAndroid, Bada, Blackberry OS, iOS, J2ME, Symbian (S60/S40/UIQ), Windows MobileVariousYesYesYesYesYesYesMedia sharing and community networks too

SyncML servers

NamePlatformApplicationFree?ContactsCalendarMemosTasksBook- marksE-mailPhotoVideoMMSFilesSAN1Notes
Alt-N Technologies' MDaemon Email ServerWindowsSyncML ServerNoYesYesYesYesSMB email OTA mobile device sync
Group-OfficePHPData Synchronization but not Device ManagementNoYesYesYesYesYesE-mail is synced with IMAP
FunambolJava (Linux, Windows, OS X)Data Synchronization and Device ManagementYesYesYesYesYesYesYesYesOpen Source, Java and C++ SDK, OEM & ISV Partners, AGPL v3
mySync DMJava (Linux)Data Synchronization and Device ManagementNoYesYesYesYesYesYesIncludes SMS backup on Android and Symbian platforms. Carrier-grade.
SynthesisWindows, OS X, Linux x86SyncML ServerNoYesYesYesYesYesSDK - (Java, C/C++, .Net API's), OEM & ISV Partners
syncgwPHPSyncML, CalDAV, CardDAV, ActiveSync ServerNoYesYesYesYesYesYesYesplatform independent PHP SyncML server, OMA push service; Support for WebDAV (CardDav/CalDAV) and Exchange ActiveSync (EAS)
libsynthesisLinux, iOSSyncML client+server engine libraryYesYesYesYesYesYesOpen Source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible
CompelsonASP .Net, IIS, SQL ServerSyncML ServerNoYesYesYesYes
IceWarp Messaging ServerWindows, LinuxSyncML ServerNoYesYesYesYesYesEnterprise Groupware
Winfonie mobile 2WindowsDesktop SyncML Server (discontinued, no longer available)NoYesYesYesDesktop SyncML server, connects with Microsoft Outlook, Lotus Notes, Lotus Organizer, Mozilla Thunderbird, Lightning, Tobit David, Palm Desktop, combit etc.
SynchronicaJava (Solaris, Linux, Windows, OS X)Mobile GatewayNoYesYesYesYesYesService Providers, OEMS, Enterprise, supports OMA CP, OMA DS Push, OMA EMN and IMAP IDLE
HordeLinuxHordeYesYesYesYesYesNoWeb Groupware, open source
Access NetFront SyncLinux, SolarisSyncML ServerNoYesYesYesYesYesYesEnterprise sync solution
eGroupWarePHPSyncML ServerYesYesYesYesYesEmail uses IMAP, Open Source groupware
TimeMaker ServerLinuxSyncML ServerNoYesYesYesYesLeadership software. E-mail is synced by using integrated POP3/SMTP.

1SAN = Server Alert Notification. This SyncML Push technology is based on definitions by the Open Mobile Alliance and extends the existing SyncML protocol specification by offering a method of server initiated synchronization.

SyncML hosted services

Provider NameTarget MarketPriceContactsCalendarMemosTasksBookmarksE-mailE-mail to SMSSMSMMSWebDAVCalDAVNotes
Access NetFront SyncEnterprise sync solutioncommercialYesYesYesYesYesYesYesYesSyncML standard sync server, has been deployed for Japan KDDI, China Telecom
AOL Sync Service (discontinued)ConsumerfreeyesyesNoNoyesSyncML standard sync server
basota.comConsumers€10/yearYesYesYesYesYesNoNoNoNoNoNo
ComEasecell phone backup
CompanionLinkdata synching of disconnected applicationscommercialYesYesYesYes
CompelsondemofreeYesYesYesYes
ContailsProvides a one address book solution to contact management. Supports sync via mobile phones and several other services like mail and Instant Messengers.FreeYesSyncMl based synchronization, webmail synchronization
GooSyncBetapaidYesYesYesGoogle Calendar Synchronisation
GSMSyncfree / paidYesYesYesYesYesYes
hotpimService Providers, Device Manufacturers, EnterprisesfreeYesYesYesYesYesSupport media file with self client,full-text search engine,only Chinese version
MemoTooConsumer and businessfree / paidYesYesYesYesYes*NoYesYesYesFree services limited to 100 items stored for any category - OTA configuration, Photo for contact, Category support, Sortable tasks
MightyPhoneBrew Cell Phone OwnersYesYesNoNolimited client support
KeepfreeYesNoNoNoNoNoNoNoNoNoNoformerly: Everdroid
Mobilesynchrocell phone backupfree / paidYesYesYesYesYesSyncML based SMS synchronization, OMA/OTA configuration
myFunambolconsumerdemoYesYesYesYesNoYesNoNoNoNoTasks and notes can not be viewed or edited online
MyTTBetafreeYesYesYesYesYesYesSupport media file with self client,full-text search engine,only Chinese version
O3SIS.comCarriers and Service Providers, Enterprises, Retail, Device Manufacturers, PartnerscommercialYesYesYesYesYesYesYesNoNoNoShowcase available with OTA configurator, downloadable clients
O-SyncConsumerfreeYesYesYesYesYescontact self-update feature
PhoneCopyconsumers, communityfree/paidYesYesYesYesYesNoYesYesNoNoAll data can be viewed, edited or deleted online. Supports all platforms (Android, BlackBerry, Apple, Windows Phone, ActiveSync, Symbian, SyncML, ...).
picoBeatconsumer and SoHoDevelopment has halted and new users are not being accepted. Existing users can still use their account.YesYesYesYesElements can be edited online
PhoneBackupConsumerpaidYesYesNoNoNoOTA configuration
ScheduleWorldconsumerpaid (service shut down on November 30, 2010)YesYesYesYesNoYesNoNoNoYesNocalendar sharing, multiple calendars, Google calendars, Email via Over The Air (OTA) provided by IMAP/SMTP
SoocialProvides a one address book solution to contact management. Supports sync via mobile phones and several other services like GMail.SERVICE CLOSEDYesNoNoNoNoNoNoNoNoNoNoSyncML based Contact synchronization. Outlook client, OTA configuration & downloadable clients.
SynchronicaService Providers, Device Manufacturers, EnterprisesYesYesYesYesNoYesYesNoNoYesYesLive demo available with OTA configuration
Synkiacell phone backuppaidYesYesYesYesYesSyncML based SMS synchronization, OMA/OTA configuration, server alerted sync.
syncgcal.comGoogle Calendar sync servicefree / paidYesGoogle Calendar Synchronisation (including shared calendars)
SyncfriendA self updated phonebook. Supports multiple phones per each account. Automatic duplicate elimination.FreeYesYesUser friendly web interface. Not working.
Voxmobili(An OnMobile Company)Provides a complete synchronization solution. Supports sync via mobile phones and PC clients.commercialYesYesYesYesYesYesYesSyncML based Personal Data synchronisation
Yota users, online communityfreeYesContacts management as a part of social network
MightyBackuppaidYescommercial, with over 10 Million mobile clients deployed
Network Address BookService Providers, EnterprisecommercialYes
MightyPhoneBrew Cell Phone OwnerspaidYesYesYesYes

See also

References

  1. "Lightcast". Lightcast. Retrieved 2024-09-15. https://lightcast.io/open-skills/skills/KS4414L79MLXQ6FQ0080/syncml

  2. "SyncML Delivers Tomorrow´s Technology Today". SyncML.org. 2000-12-07. Archived from the original on 2001-04-10. Retrieved 2021-04-02. https://web.archive.org/web/20010410185233/http://www.syncml.org/php/news.php3?id=36

  3. "SyncML Turns Two, Releases Specifications v1.1 for Mobile Data Sync". SyncML.org. 2002-02-26. Archived from the original on 2002-04-18. Retrieved 2021-04-02. https://web.archive.org/web/20020418052412/http://www.syncml.org:80/php/news.php3