SyncML
   HOME

TheInfoList



OR:

SyncML (Synchronization Markup Language) is the former name for a
platform-independent In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
information synchronization standard. The project is currently referred to as ''
Open Mobile Alliance OMA SpecWorks, previously the Open Mobile Alliance (OMA) is a standards organization which develops open, international technical standards for the mobile phone industry. It is a nonprofit Non-governmental organization (NGO), not a formal gov ...
Data Synchronization and Device Management''. The purpose of SyncML is to offer an
open standard An open standard is a standard that is openly accessible and usable by anyone. It is also a prerequisite to use open license, non-discrimination and extensibility. Typically, anybody can participate in the development. There is no single definitio ...
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.


Internals

SyncML works by exchanging commands, which can be requests and responses. As an example: * the mobile 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 mobile 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 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, ecc.) are grouped into messages. Each message and each of its commands has an identifier, so that the pair MsgID,CmdID uniquely determine 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: 1.1 SyncML/1.1 1 1 PC Suite IMEI:3405623856456 8000 1 203 Events /telecom/cal.vcs 4242 The response from the computer could be an xml document like (comments added for the sake of explanation): 1.1 SyncML/1.1 1 1 IMEI:3405623856456 PC Suite 1 1 0 SyncHdr PC Suite IMEI:3405623856456 200 2 1 1 Alert Events /telecom/cal.vcs 00 200 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 sync case, in a normal (non-refresh) sync, each device sends all changes since the last synchronization.


SyncML client connectors and plugins


SyncML servers

1SAN = Server Alert Notification. This SyncML Push technology is based on definitions by the
Open Mobile Alliance OMA SpecWorks, previously the Open Mobile Alliance (OMA) is a standards organization which develops open, international technical standards for the mobile phone industry. It is a nonprofit Non-governmental organization (NGO), not a formal gov ...
and extends the existing SyncML protocol specification by offering a method of server initiated synchronization.


SyncML hosted services


See also

*
CalDAV Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access and manage calendar data along with the ability to schedule meetings with users on the same or on remote servers. It lets multiple users in diff ...
*
CardDAV vCard Extensions to WebDAV (CardDAV) is an address book client/server protocol designed to allow users to access and share contact data on a server. The CardDAV protocol was developed by the IETF and was published as in August 2011. CardDAV is ...
* Critical Path SyncML Server *
iCalendar The Internet Calendaring and Scheduling Core Object Specification (iCalendar) is a media type which allows users to store and exchange calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, a ...
* The SyncML Initiative * Yahoo! Mobile and
Yahoo! Calendar Yahoo Calendar is a Web-based calendar service from Yahoo!. It can read calendar feeds and events syndicated from sites that make use of the published Yahoo calendar programming interfaces. While users are not required to have a Yahoo Mail accoun ...
-
Yahoo Yahoo! (, styled yahoo''!'' in its logo) is an American web services provider. It is headquartered in Sunnyvale, California and operated by the namesake company Yahoo! Inc. (2017–present), Yahoo Inc., which is 90% owned by investment funds ma ...
services offered in some countries that uses SyncML technology.


References

{{DEFAULTSORT:Syncml Open formats Computer standards Web syndication formats XML-based standards