SyncML

資工二乙 495512109 葉冠延

資工二乙 495512331 郭濬易

資工三甲 494511689 賴家偉

資工三甲 454511641 歐明勳


SyncML (Synchronization Markup Language)


1.What is SyncML ?

Sync ML Initiative由Ericsson、IBM、Lotus、Matsushita、Motorola、Nokia、Openwave、Starfish以及Symbian所組成,共同制訂行動通訊設備的資料同步標準。透過這些業界大廠支援的標準,大部分的行動通訊設備可以跟支援Sync ML的網路伺服器進行通訊錄、行事曆的個人資訊的同步化作業 有了Sync ML這套資料同步協定標準,使用者就可以在他的行動裝置上使用應用軟體和個人資料,如果對這些軟體和個人資料有所更新或變動,可以隨時藉由Sync ML機制與後端的資料庫或網路上的資料更新同步化。用在裝置對networked data的同步化,還有裝置對networked data的同步化。


2.Why SyncML?

遇到問題

a.各大廠商提供各式各樣的資料同步,資料傳輸只能在特定的幾個裝置上作傳輸

b.缺乏一個共通的資料同步協定使得日益增加的無線裝置使用者,限制了他們傳輸資料的 能力

使用syncml的特點

a.在無線和有線網路上都能有效率的運作

b.支援多種傳輸協定

c.支援任何的網路資料

d. 可以從多種的應用軟體存取資料

e.解決行動裝置資源有限的問題

f.建立在現有的網際網路和Web網路技術基礎上

g.促進任何裝置都能互相同步化、互相溝通


3. SyncML Framework

  • The application "A" depicts a networked service that provides data synchronization service for other
    applications, in this case application "B", on some networked device. The service and device are
    connected over some common network transport, such as HTTP.
  • the 'Sync Engine' functionality is completely placed onto the SyncML server side even if some SyncML
    client implementations may in practice provide some sync engine functionality, too.
  • The 'Sync Server Agent' and the 'Sync Client Agent' use the protocol defined in
    this specification and the representation protocol offered by the SyncML interface ('SyncML I/F')
    to communicate with each other


4.Sync type

4.1 Sync Initialization

  • The sync initialization is required for the following purposes:
    • To process the authentication between the client and the server on the SyncML level.
    • To indicate which databases are desired to be synchronized and which protocol
      type is used
      .
    • To enable the exchange of service and device capabilities.

 

4.2

Sync Scenario
Description
Two-way sync
Slow sync
(full sync)

。A form of two-way sync in which all items are compared with each other on a
field-by-field
basis.
。This means that the client sends all its data from a database to the server and the
server does the sync analysis (field-by-field) for this data and the data in the server.

。On the server, there probably is a "last modified" timestamp.
。On the client, a simpler scheme often is used, the dirty bit. If a record is edited, it is
set dirty.
。On synchronization, only dirty records are sent and after the termination of the
communication, all dirty bits are removed.
。If both the server and the client record have been modified since last sync session,
a conflict occurs.
。Some conflicts can be resolved automatically by merging the two items, others
can't be solved and the user must be asked which version is the correct one.

One-way sync
One-way sync from client only
。A sync type in which the client sends its modifications to the server but the
server does not send its modifications back to the client.
Refresh sync from client only
。A sync type in which the client sends all its data from a database to the
server
.
。The server is expected to replace all data in the target database with the data sent
by the client.
One-way sync from server only
。A sync type in which the client gets all modifications from the server but
the client does not send its modifications to the server.
Refresh sync from server only
。A sync type in which the server sends all its data from a database to
the client
.
。The client is expected to replace all data in the target database with the data sent
by the server.
Server alerted sync
。A sync type in which the server to alerts the client to perform sync.That is, the
server informs the client to starts a specific type of sync
with the server.

 

4.2.1 Two-Way Sync

4.2.2 One-Way Sync from Client Only

4.2.3One-Way Sync from Server Only

4.2.4 Server Alerted Sync


5.Want to know more about how to use SYNCML?

CLICk attached website link

http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html

 

REFERENCE:

http://www.esrealm.com/Product1-41_main.htm

http://turtle.ee.ncku.edu.tw/~chkang/research/SyncML/index.htm#12

http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html

http://en.wikipedia.org/wiki/SyncML