patents.google.com

TWI220201B - Engine system of common data synchronization protocol for pocket PC - Google Patents

  • ️Wed Aug 11 2004

TWI220201B - Engine system of common data synchronization protocol for pocket PC - Google Patents

Engine system of common data synchronization protocol for pocket PC Download PDF

Info

Publication number
TWI220201B
TWI220201B TW92129981A TW92129981A TWI220201B TW I220201 B TWI220201 B TW I220201B TW 92129981 A TW92129981 A TW 92129981A TW 92129981 A TW92129981 A TW 92129981A TW I220201 B TWI220201 B TW I220201B Authority
TW
Taiwan
Prior art keywords
data
synchronization
syncml
module
remote
Prior art date
2003-10-29
Application number
TW92129981A
Other languages
Chinese (zh)
Other versions
TW200515176A (en
Inventor
Yi-Nian Lin
Shian-Ming Wu
Jian-An Chen
Ye-Chin He
Original Assignee
Chunghwa Telecom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
2003-10-29
Filing date
2003-10-29
Publication date
2004-08-11
2003-10-29 Application filed by Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
2003-10-29 Priority to TW92129981A priority Critical patent/TWI220201B/en
2004-08-11 Application granted granted Critical
2004-08-11 Publication of TWI220201B publication Critical patent/TWI220201B/en
2005-05-01 Publication of TW200515176A publication Critical patent/TW200515176A/en

Links

  • 230000008859 change Effects 0.000 claims abstract description 19
  • 238000004891 communication Methods 0.000 claims abstract description 14
  • 238000012545 processing Methods 0.000 claims abstract description 9
  • 238000000034 method Methods 0.000 claims description 11
  • 230000001360 synchronised effect Effects 0.000 claims description 8
  • 230000008569 process Effects 0.000 claims description 7
  • 238000012795 verification Methods 0.000 claims description 3
  • 230000009471 action Effects 0.000 claims description 2
  • 241001080798 Polygala tenuifolia Species 0.000 claims 1
  • 230000004044 response Effects 0.000 claims 1
  • 239000010017 yuan zhi Substances 0.000 claims 1
  • 230000005540 biological transmission Effects 0.000 abstract description 2
  • 230000007246 mechanism Effects 0.000 abstract description 2
  • 230000010365 information processing Effects 0.000 abstract 1
  • 238000010586 diagram Methods 0.000 description 3
  • 239000011257 shell material Substances 0.000 description 3
  • 230000000694 effects Effects 0.000 description 2
  • 238000005516 engineering process Methods 0.000 description 2
  • 239000000463 material Substances 0.000 description 2
  • 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
  • 235000017491 Bambusa tulda Nutrition 0.000 description 1
  • 241001330002 Bambuseae Species 0.000 description 1
  • 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
  • 241000190070 Sarracenia purpurea Species 0.000 description 1
  • 239000011425 bamboo Substances 0.000 description 1
  • 238000009395 breeding Methods 0.000 description 1
  • 230000001488 breeding effect Effects 0.000 description 1
  • 238000007796 conventional method Methods 0.000 description 1
  • 230000009429 distress Effects 0.000 description 1
  • 230000002452 interceptive effect Effects 0.000 description 1
  • 235000012149 noodles Nutrition 0.000 description 1
  • 238000011160 research Methods 0.000 description 1

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Abstract

An engine system of common data synchronization protocol for pocket PC employs a synchronization markup language (SyncML) as a data synchronization communication protocol. The system primarily comprises the change log processing of local data, synchronization anchor, reference information processing of synchronization mode, SyncML message sending/receiving processing, XML (extensible markup language) data processing mechanism, SyncML document encoding/decoding processing, local data interface access and update processing and remote connection sending/receiving message interface processing. The data of pocket PC utilizes and integrates with the program to synchronize with remote data through the data message transmission and reception of wireless network.

Description

1220201 玖、發明說明: 【發明所屬之技術領域】1220201 发明 Description of the invention: [Technical field to which the invention belongs]

本發明係關於一種口袋型個人電腦共通資料㊃^ 之引擎糸統’特別是指-種利用SyncML通訊協定,可Z 本地端之資料異動處理,執行本地端和遠端同㈣服^ I 同步機制之口袋型個人電腦共通資料同:貝枓 【先前技術】 之引擎糸統。 目前口袋型個人電腦上雖已有提供資料同步功能,作僅 限制於與桌上型個人電腦,直接以廠商提供專屬軟體(:微 軟公司的ActweSync)相連,以達到資料同步的目的。 ^ 然而’當口袋型個人電腦使用者外出時,將受限桌 個人電腦之g動性因素,使得與桌上型電腦同步方式就不太 適用,故有必要提#口袋型個丨電腦使用者另外一種^步方 式,以遠端同步伺服器代替使用者的桌上型個人電腦j二存 放個人的資料’使用者需要時可透過無線網路(如:The present invention relates to an engine system for common data of pocket personal computers. In particular, it refers to a kind of data synchronization processing using the SyncML communication protocol, which can perform local and remote synchronization services. I Synchronization mechanism The common information of the pocket personal computer is the same as the engine system of [Previous Technology]. At present, although pocket personal computers have provided data synchronization functions, they are limited to desktop personal computers and are connected directly with the manufacturer's exclusive software (ActweSync from Microsoft Corporation) to achieve the purpose of data synchronization. ^ However, when pocket PC users are out, the mobility factors of the restricted desktop PC will make the synchronization with the desktop computer less suitable, so it is necessary to mention # 袋 型 个 丨 Computer users Another ^ step method is to use a remote synchronization server instead of the user's desktop personal computer to store personal data. 'Users can use wireless networks when needed (such as:

Genera! Packet Radio Service,為整體封包無線電服務之簡稱)或網 際網路,隨時存取遠端資料伺服器的資料,並且進行資料之 更新異動同步作業’使得π袋型個人電腦本地端和遠端同步 伺服器的資料保持一致。’ 另外,雖然有些口袋型個人電腦提供類似本功能,但仍 有資料重複、無法強制重新同步等功能缺失,往往造成使用 者很大的困擾。 由此可見,上述習用方法仍有諸多缺失,實非一良善之 設計者,而亟待加以改良。 本案發明人鑑於上述習用方法所衍生的各項缺點,乃亟 5 心、加以改良創新,並經多年苦心孤錢潛心研究後,終於成功 汗t兀成本件口袋型個人電腦共通資料同步協定之引擎系 統。 【發明内容】 本發明之目的即在於提供一種新的SyncML應用程式,可 擴充:前口袋型個人電腦之資料同步作業方式,並提供一種 插作簡易’尤其適用於無線網際網路之遠端同步操作方法, 提供口袋型個人電腦共通資料同步協定之引擎系統。 本毛月之-人目的係在於提供一種可大幅增加口袋型電 月自實用性之π袋型個人電腦共通f料同步協定之引擎系統。 本發明之另一目的係在於提供一種可使口袋型個人電 腦強制重新同,,並不會發生資料重複之口袋型個人電腦共 通貧料同步協定之引擎系統。 可達成上述發明目的之口袋型個人電腦共通資料同步協 疋之引擎系統,包括有: :提供SyneML資料同步引擎制者操作之使用者介面模 組與逆端同步伺服哭遠蠄@咨i ^ 一 V 1」服时連線及貝枓父換的通訊介面模組及本 地端資料庫; 一 SyncML資料同步引擎,其中包含: 一主控模組,該主控模組為開始執行同步的進入點,由 此主控模組負責統籌各功能的 ^ 仗翏數模組之Profile 貝?十"面杈組來分析及處理本 地鳊貝科庫内容,其異動的資料 /六榜姑次、w . 杯%貝科異動模組,同時 义〜貝料異動檔(Change Log)資訊,將待里 c λ/ΓΤ w 了忖兵動的貧訊,透渦Genera! Packet Radio Service (abbreviation for overall packet radio service) or the Internet, at any time to access the data of the remote data server, and update the data and synchronize the operation of the local and remote end of the π-bag personal computer The data of the synchronization server is consistent. ’In addition, although some pocket personal computers provide similar functions, there are still missing functions such as data duplication and inability to force resynchronization, which often causes great distress to users. It can be seen that there are still many shortcomings in the above-mentioned customary methods. They are not a good designer, and need to be improved. In view of the various shortcomings derived from the above-mentioned conventional methods, the inventor of this case has worked hard to improve and innovate, and after years of painstaking research, he finally succeeded in developing an engine for the common data synchronization agreement of the pocket PC system. [Summary of the invention] The purpose of the present invention is to provide a new SyncML application program that can be expanded: a data synchronization operation method of a front pocket personal computer, and provide a simple plug-in, especially suitable for remote synchronization of wireless Internet The operation method provides an engine system for a common data synchronization protocol for pocket personal computers. The purpose of this month is to provide an engine system that can greatly increase the practicality of a pocket-type personal computer for a π-bag personal computer. Another object of the present invention is to provide an engine system for a pocket-type personal computer common lean synchronization protocol that enables the pocket-type personal computer to forcibly renew without data duplication. The engine system of the common data synchronization protocol of the pocket personal computer that can achieve the above-mentioned purpose of the invention includes:: Provides a user interface module operated by the SyneML data synchronization engine maker and a reverse-side synchronization servo cry far @ 咨 i ^ 1 "V 1" service interface and communication interface module and local database exchanged by Beckham's father; a SyncML data synchronization engine, which includes: a master control module, which is the entry point to start synchronization Therefore, the main control module is responsible for coordinating the profile of each function. Ten " Noodles group to analyze and process the contents of the local 鳊 Beko library, its changes data / Liubanggu times, w. Cup% Beko change module, meanwhile ~ Shell material change log information, Will λ c λ / ΓΤ w be a poor news of the military, through the vortex

SyncML杈組傳送及接收XML π W SyncML通訊協定訊 6 1220201 息,以便和遠端同步伺服器進行資料的同步作業· -參數模組(1>邊),財數模_提供使㈣介面模组 設定包括遠端同步伺服器之相關參數資訊,如:伺服器位 址、帳號及密碼等;除此之外’尚包括同步作業所參考的遠 端貧枓庫目錄,和syneML資料同步引擎與遠端同步伺服哭所 採用的強制重新同步選項’以及彼此交換的系統參數,上述 之資料皆§己錄在一個profye槽案; 一 Anchor模組,該Mchor模組係提供參考之字串 值,包括LastU次)/Next(目前)之兩種,以便和遠端 同步祠服it協商,並判斷要使用何種同步模式(tw〇_way SYNC 或 SLOW-SYNC:); 一貝料異為模組,該資料異動模組係用來建立本地端之 異動圯錄’以做為本程式之分析及完成資料同步之參考依 據;透過異動記錄槽之資肖,將本地端異動資料送至遠端同 y伺服進行同步作業,另本模組亦記錄由遠端同步伺服 器送來的異動資料,以便本程式對本地端資料庫執行新增、 修改、刪除等資料作業,並完成資料同步; 貝料介面模組,該資料介面模組係提供存取本地端資 料庫的程式介面,以便提供本SyiicML資料同步引擎執行資 料庫的各種異動作業,包括新增、修改、查詢、刪除、比對 資料’以及分配及釋放資料等管理作業;SyncML group sends and receives XML π W SyncML communication protocol message 6 1220201, in order to synchronize data with the remote synchronization server · -Parameter module (1 > side), financial module_provide interface module The settings include the relevant parameter information of the remote synchronization server, such as: server address, account number, and password; in addition, 'the remote poor library directory referenced by the synchronization operation, and syneML data synchronization engine and remote The end-to-end synchronization server uses the forced resynchronization option 'and the system parameters exchanged with each other. The above information has been recorded in a profye slot. An Anchor module. The Mchor module provides reference string values, including LastU times) / Next (current), in order to negotiate with the remote synchronization service, and determine which synchronization mode to use (tw〇_way SYNC or SLOW-SYNC :); One thing is different. The data change module is used to establish the local transaction recording 'as the reference basis for the analysis of this program and the completion of data synchronization; through the information of the transaction record slot, the local transaction data is sent to the remote end.The y servo performs synchronization operations. In addition, this module also records the transaction data sent by the remote synchronization server, so that the program can perform data operations such as adding, modifying, and deleting the local database, and complete the data synchronization. Interface module, the data interface module is a program interface that provides access to the local database, in order to provide the SyiicML data synchronization engine to perform various changes to the database, including adding, modifying, querying, deleting, and comparing data ' And management operations such as allocating and releasing data;

SyncML模組,該SyncML模組負責和遠端同步伺服器協 商各貧料庫的同步模式(SLOW-SYNC或丁WO-WAY SYNC),將 貝料轉換至各種文件之交換格式資料,執行驗證及文件欄位 内谷之 > 訊編解碼,產生·及接收SyncML訊息;其中一個 1220201SyncML module. The SyncML module is responsible for negotiating the synchronization mode (SLOW-SYNC or Ding WO-WAY SYNC) of each lean warehouse with a remote synchronization server, converting shell materials to various file exchange format data, performing verification and File field in the valley > encoding and decoding, generating and receiving SyncML messages; one of the 1220201

SyncML封包(Pac㈣,可由一或多個如胤訊息所組成,每個 SyncML訊息含同步標頭办祕_及同步本體兩部 分’本模組實作了 SyncML收發訊息; —XML Parser _組,該恤财(解析器傅組係處理通訊介 面模組的訊息資料流’並對應的胤資料結構,以及轉換應 用程式的凰:諸結構至通齡賴㈣應的訊息資料流。 本么明係利用自行實作< SyncML通訊協定為基礎,結 合Pocket PC的個人資訊,以建構本發明之咖视資料同步應 用程式’並提供❹者另―資料同步簡作方式;在本地端 各資料異㈣中尚未同步之資料項目,即透過本系統,將異動 過的資料傳送至遠端同步伺服器;㈣也接收遠端同步伺服 1之SyneML❹指* ’將遠端異動之f料’進行資料同步 作業,達到本地端與遠端資料同步的目的。 【實施方式】 、一請參關-所示,為本發明所提供之口袋型個人電腦共 通貝料同步協定之引擎系統運作網路架構圖,主要係由口袋 型個人電腦H)之共通資料同步龄之引料、統與無線網際 網路U及同步伺服器12所構成,透過彼此間資料間之交互 傳遞,使其得以適用於無線網際網路之遠端同步的操作方 請參閱圖二所示,為本發明所提供之口袋型個人電腦; 通資料同步協定之引擎系統整體同步功能應 圖,其說明: ^ 一遠端同步健器12,該遠端同步伺服器12係為口, 型個人電腦之《L資料同步引擎應用程式進行資料同; 8 的對象; 一提供SyncML資料同步 組2卜本地端資料庫22 :用者刼作之使用者介面模 換的通訊介面模組24;,、心同步伺服器連線及資料交 - SyncML資料同幻丨擎23,其中包含: /一參數模組 232 (Profiled a 人 ^ 5亥參數模組2 3 2係提供使用去 介面模組21設定包括遠端 竹扠仏使用者 L y 问步飼服器12之相關參數資邙, 如:伺服器位址、帳號及密 彳關乂數貝几, 酱私4 i 馬等’除此之外’尚包括同步作 業所參考的遠端資料庫目 # ,·表,及SyncML資料同步引擎23與 逯力而问步伺服器12所採用的強 六 ^ ^直新冋步遙項,以及彼此 乂換的糸統參數,上述之資料 _ 貝τ十白5己錄在一個Profile標案; Μ料異卜動模組2 3 4,古穸咨粗g i , 忒貝枓異動榼組234係用來建立本 來老己錄’以作為本程式之分析及完成資料同步之 二友:’透過異動記錄檔之資料’將本地端異動資料送至 =同服$12,進行同步作f ;另本模組亦記錄由遠端 =伺服H 12送來的異動資料’以便本程式對本地端資料庫 ^增、修改、刪除等資料作業,並完成資料同步; 。、資料η面模組233,該資料介面模組233係提供本模組 次、、、子取本地端貝料庫22的程式介面,以便提供本SyncML =料同步引擎23執行資料庫的各種異動作業,包括新增、修 ^、查珣、刪除、比對資料,以及分配及釋放資料等管理作 業’本杈組可依本SyncML資料同步引擎程式23之功能需 要,建立資料操作之程式介面: (a) 新增/修改/刪除/查詢資料處理; (b) 比較資料; 1220201 (C)分配資料結構, (d) 釋放資料結構; (e) 取得時戳; 一主控模組231,該主控模組231為開始執行同步的進 入點,由此主控模組2 31負責統籌各功能的作業,它從參數 模組232之Profile檔案讀取各種參數資料,經由資料介面模 組2 3 3來分析及處理本地端資料庫内容,其異動的資料記錄 於資料異動模組2 3 4 ’同時依據該資料異動標(Change Log)資 訊,將待異動的資訊,透過.SyncML模組235傳送及接收XML 語法的SyncML通訊協定訊息,以便和遠端同步伺服器2 0進 行資料的同步作業; ^ 一 Anchor趨組2 3 6,該Anchor模組2 3 6係提供參考之Anchor 字串值,包括Last (上次)/ Next (目前)之兩種Anchor,以便和 遠端同步伺服器1 2協商,並判斷要使用何種同步模式 (TWO-WAYSYNC 或 SLOW-SYNC); 一 SyncML模組235,該SyncML模組235負責和遠端同步伺 服器12協商各資料庫的同步模式 (SLOW-SYNC或 TWO-WAYSYNC),將資料轉換至各種文件之交換袼式資料,執 行驗證及文件欄位内容之資訊編解碼,產生及接收SyncML 訊息;其中一個SyncML Packet,可由一或多個SyncML訊息所 組成,每個 SyncML訊息包含SyncHeader及 SyncBody兩部 分,本模組實作了 SyncML收發訊息; 上述之強制重新同步(SLOW-SYNC)運作方式,係表示重新 開始同步,並且從用戶端開始發送SyncML同步指令,將本地 端所有資料透過SyncML同步指令送出後,再開始接收遠端同 10 1220201 步伺服器之同步資料;因考量部分遠端同步伺服器,可能未 實作資料攔位比對之功能,使得「標準型」SLOW-SYNC同步可 能會發生重複的資料;因而本SyncML資料同步引擎程式,改 善並實作資料欄位比對的功能,故自定為「智慧型」 SLOW-SYNC同步;該「智慧型」SLOW-SYNC同步,係指本行動 終端之用戶端SyncML同步應用程式,先不送本用戶端所有之 本地端資料,而只接收並比對遠端同步伺服器之資料,並設 定已存在並相同資料之同步狀態,待接收完成後,剩下尚未 同步之用戶端資料,即等待下次雙向同步作業時再傳送給遠 端同步伺服器;另一雙向同步(TWO-WAY)運作方式,係代表 只交換尚未同步之資料; 本模組之實作範圍包括SyncHeader標頭資料及下列 SyncBody之指令: (a) Alert告知對方使用同步之模式; (b) Status:回應收到指令之作業結果; (c) Put傳送本地端之設備資訊(此說明本SyncML同步應用程 式可處理之SyncML資訊及交換資料格式資訊)至對方; (d) Get··要求取得對方的設備資訊; (e) Result:得到對方的設備資訊; (f) Sync··針對某資料庫做同步動作; (g) Add:執行新增資料指令; (h) Replace:執行修改資料指令; (i) Delete:執行刪除資料指令; (j) Copy:執行複製資料指令; (k) Map:回應新增所參考本地端之識別及對方之識別; 11 1220201 (l)Final:完成同步送收作業; 一 XMLParser模組237,該XMLParser模組237係處理通訊 介面模組23的訊息資料流,並對應的狐資料結構,以及 轉換應用程式的XML資料結構至通訊介面模組23對應的訊 息育料流。 /請參閱圖三所示,為本發明所提供之口袋型個人電腦共 通資料同步協定之引擎系統主控模組細部流程圖,當使用者' 操作介面模組之使用者開始執行同步作業時,即開始執行主 控杈組,亚進入INIT狀態30中,該INIT狀態30為主控模組 _ 之進入點,除了讀取使用者參數、上次使用及目前參考的 Anchor資訊、以及通訊連線資訊,亦包含各個資料庫(如:行 事曆、連絡人及待辦事項等個人資訊)之同步模式(如: SLO雾SYNC或TWO-WAY SYNC),與遠端同步伺服器協商,並 產生第一個SyncML訊息,内含使用者帳號、密碼之編碼資訊 等驗證資料,並透過通訊連線交換訊息;若傳送及接收訊息 成功,則用戶端之SyncML應用程式,完成分析遠端同步伺 服器1 2回應的SyncML訊息,在確認各個資料庫採用的同步 鲁 模式之後,則進入SYNC狀態31 ;該SYNC狀態31為口袋型 個人電腦端發送用戶端之本地端資料異動訊息至遠端同步 伺服器作業,當經分析並送完所有SyncML訊息之後,即進入 POST SYNC狀態32 ;該POST SYNC狀態32為此口袋型個人電 腦端接收遠端同步伺服器之資料異動訊息,當收完所有 SyncML訊息後,即執行資料最終異動作業,並進入ΕΝϋ狀態 3 3 ;該ΕΜ3狀態3 3係用來釋放軟體資源及輸出資料同步作 業結果’右同步作業成功’則會更新參數模組之^ 12 1220201 案’藉以更新至最新的Anchor資訊,若正常完成sl〇w_sync 同步之後,則將再回到腿丁狀態繼續TWawAY同步作業; CLOSING狀態34及TERMlNATp狀態35則是用於處理同步失敗 作業。 本發明所提供之口袋型個人電腦共通資料同步協定之 引擎系統,與及其他習用技術相互比較時,更具有下列之 優點: 1·本發明可提供使用者更寬廣的資料同步方式,而不 會限制在個人電腦上。· 本毛月了破保資料之正確性及迅速性,且不會產生 重複的資料。 上列詳細說明係針對本發明之一可行實施例之具體說 明,惟该貫施例並非用以限制本發明之專利範圍,凡未脫 離本發明技藝精神所為之等效實施或變更,均應包含於本 案之專利範圍中。 ' 紅上所述,本案不但在技術思想上確屬創新,並能較習 用物品增進上述多項功效,應已充分符合新穎性及進步性之 ^疋U專利要件,羑依法提出中請,_貴局核准本件 毛明專利申請t,以勵發明,至感德便。 【圖式簡單說明】 圖有/本發明一較佳實施例之詳細說明及其附 • : v瞭解本發明之技術内容及其目的功& β1 該實施例之附圖為: 的力放,有關 圖-為本發明口袋型個人電腦共通資料同 糸統之運作網路架構圖; 拏 13 1220201 圖二為本發明口袋型個人電腦共通資料同步協定之引擎 系統之用戶端整體同步功能架構圖;以及 圖三為該口袋型個人電腦共通資料同步協定之引擎系統 之主控模組細部流程圖。 【主要部分代表符號】 ^ 10 口袋型個人電腦 11無線網際網路 12同步伺服器 21使用者介面模組 22本地端資料庫 23 SyncML資料同步引擎 231主控模組 232參數模組 233資料介面模組 234資料異動模組 235 SyncML 模組 236 Anchor 模組 237 XML Parser 模組 24通訊介面模組 30 INIT狀態 31 SYNC狀態 32 POST SYNC 狀態 1220201 33 END狀態 34 CLOSING 狀態 35 TERMINATE 狀態SyncML packet (Pac㈣), which can be composed of one or more such messages. Each SyncML message contains two parts: a synchronization header and a synchronization body. This module implements SyncML sending and receiving messages. —XML Parser _ group, which Tsai Choi (parser Fu group system handles the message data stream of the communication interface module and the corresponding data structure, and transforms the application program: the various structures to the age-specific information data stream. Self-implement < SyncML communication protocol as the basis, combined with the personal information of the Pocket PC, to build the coffee data synchronization application of the present invention, and provide the other-a simple way of data synchronization; in the local end of each data difference The data items that have not been synchronized, that is, the changed data is transmitted to the remote synchronization server through this system; ㈣ also receives SyneML from the remote synchronization server 1 means * 'remote the data of the remote movement' for data synchronization operation, To achieve the purpose of local and remote data synchronization. [Embodiment], one please refer to the-shown, this is the pocket type personal computer common shell material synchronization protocol engine provided by the present invention The operation network architecture diagram is mainly composed of the common data synchronization age of the pocket personal computer, the system, the wireless network U, and the synchronization server 12. It is made through the interactive transmission of data between each other. An operator suitable for remote synchronization of the wireless Internet is shown in FIG. 2, which is a pocket personal computer provided by the present invention. The overall synchronization function of the engine system of the data synchronization protocol should be as follows: ^ Yiyuan The terminal synchronization server 12, which is a remote synchronization server 12 is a port-type personal computer "L data synchronization engine application to perform the same data; 8 objects; a SyncML data synchronization group 2 local database 22: The user interface interface module 24 ;, the synchronization server connection and data transfer-SyncML data is the same as the engine 23, which includes: / a parameter module 232 (Profiled a person ^ 5 Hai parameter module 2 3 2 provides the use of the interface module 21 to set the parameters including the remote bamboo fork 仏 user L y step feeding device 12, such as: server address, account number and password Pass number In addition, the "private" 4 horses and other 'in addition' also include the remote database reference #, reference table, and the SyncML data synchronization engine 23 and the strong and powerful server 12 6 ^ ^ Straight new step and remote system parameters, and the system parameters of each other, the above information _ Bei τ Shibai 5 has been recorded in a Profile project; Μ materials different activities module 2 3 4, Gu Zheng Coarse gi, 忒 贝 枓 枓 动 榼 Group 234 is used to create the original old record 'as the second friend of the program's analysis and complete data synchronization:' through the data of the change log file 'to send the local change data to the same Serving $ 12, synchronizing f; In addition, this module also records the transaction data sent by the remote = servo H 12 so that the program can add, modify, delete and other data operations to the local database, and complete the data synchronization; . Data η plane module 233. The data interface module 233 provides the programming interface of the module's local database 22 in order to provide this SyncML = material synchronization engine 23 to perform various changes in the database. Operations, including management operations such as adding, repairing, searching, deleting, comparing data, and allocating and releasing data. This branch can be used to create the programming interface for data operations according to the functional requirements of this SyncML data synchronization engine program 23: (a) add / modify / delete / query data processing; (b) compare data; 1220201 (C) allocate data structure, (d) release data structure; (e) obtain time stamp; a main control module 231, which The main control module 231 is the entry point for starting synchronization. From this, the main control module 2 31 is responsible for coordinating the operations of various functions. It reads various parameter data from the profile file of the parameter module 232, and through the data interface module 2 3 3 to analyze and process the content of the local database. The data of the changes are recorded in the data change module 2 3 4 'At the same time, the information to be changed is transmitted through the .SyncML module 235 according to the data change log information. And receive X ML syntax SyncML protocol message to synchronize data with the remote synchronization server 20; ^ Anchor trend group 2 3 6, the Anchor module 2 3 6 provides the reference Anchor string value, including Last (Last) / Next (current) two Anchors, in order to negotiate with the remote synchronization server 12 and determine which synchronization mode (TWO-WAYSYNC or SLOW-SYNC) to use; a SyncML module 235, the The SyncML module 235 is responsible for negotiating the synchronization mode (SLOW-SYNC or TWO-WAYSYNC) of each database with the remote synchronization server 12 to convert the data into various types of file exchange format data, perform verification and information on the contents of the file fields Codec, generate and receive SyncML messages; one SyncML Packet can be composed of one or more SyncML messages, each SyncML message contains two parts: SyncHeader and SyncBody. This module implements SyncML sending and receiving messages; the above mentioned mandatory resynchronization (SLOW-SYNC) operation means that the synchronization is restarted, and the SyncML synchronization command is sent from the client. After sending all the data on the local end through the SyncML synchronization command, Then start to receive the synchronization data between the remote server and the 10 1220201 step server; due to the consideration of some remote synchronization servers, the data block comparison function may not be implemented, so that the "standard" SLOW-SYNC synchronization may be repeated. Data; therefore, this SyncML data synchronization engine program improves and implements the function of data field comparison, so it is self-defined as "smart" SLOW-SYNC synchronization; the "smart" SLOW-SYNC synchronization refers to this mobile terminal The client SyncML synchronization application does not send all the local data of the client, but only receives and compares the data of the remote synchronization server, and sets the synchronization status of the existing and same data. After the reception is completed, The remaining client data that has not been synchronized is waiting for the next two-way synchronization operation before being sent to the remote synchronization server; another two-way synchronization (TWO-WAY) operation mode is to exchange only the data that has not been synchronized; this module The implementation scope includes the SyncHeader header data and the following SyncBody commands: (a) Alert informs the other party to use the synchronization mode; (b) Status: responds to the operation result of the received command ; (C) Put sends the local device information (this explains the SyncML information that the SyncML synchronization application can process and exchange data format information) to the other party; (d) Get ·· requests the other party's device information; (e) Result : Get the device information of the other party; (f) Sync ·· Perform a synchronization action against a database; (g) Add: execute the command to add data; (h) Replace: execute the command to modify data; (i) Delete: execute to delete data Commands; (j) Copy: execute the copy data command; (k) Map: respond to the addition of the reference local identification and the identification of the other party; 11 1220201 (l) Final: complete the synchronous sending and receiving operation; an XMLParser module 237, The XMLParser module 237 processes the message data stream of the communication interface module 23 and the corresponding fox data structure, and converts the XML data structure of the application program into the message breeding stream corresponding to the communication interface module 23. / Please refer to FIG. 3, which is a detailed flowchart of the main control module of the engine system common data synchronization protocol of the pocket personal computer provided by the present invention. When the user of the user interface module starts to perform the synchronization operation, That is, the execution of the main control group is started, and Asia enters the INIT state 30. The INIT state 30 is the entry point of the main control module. In addition to reading user parameters, last used and currently referenced Anchor information, and communication connections Information, including the synchronization mode of each database (such as personal information such as calendar, contacts, and to-do items) (such as: SLO fog SYNC or TWO-WAY SYNC), negotiate with the remote synchronization server, and generate the first A SyncML message, which contains authentication information such as the user account and password encoding information, and exchanges information through a communication connection; if the message is sent and received successfully, the SyncML application on the client side completes the analysis of the remote synchronization server 1 2 Responsive SyncML message, after confirming the synchronization mode adopted by each database, it enters the SYNC state 31; the SYNC state 31 is sent by the pocket personal computer The local local data change message is sent to the remote synchronization server. After analyzing and sending all the SyncML messages, it enters the POST SYNC state 32. The POST SYNC state 32 receives the remote synchronization server for this pocket personal computer. Data change message of the device, when all SyncML messages are received, the final data change operation is executed, and enters ΕΝϋ state 3 3; the EM3 state 3 3 is used to release software resources and output the results of the data synchronization operation 'right synchronization operation successful 'The case of the parameter module will be updated 12 1220201' to update to the latest Anchor information. If the slw synchronization is completed normally, it will return to the leg status and continue the TWawAY synchronization operation; CLOSING status 34 and TERMlNATp status 35 It is used to handle synchronization failure jobs. Compared with other conventional technologies, the engine system of the common data synchronization protocol of the pocket personal computer provided by the present invention has the following advantages: 1. The present invention can provide users with a wider way of data synchronization without Restricted to personal computers. · This month's warranty information is correct and swift, and no duplicate data will be generated. The above detailed description is a specific description of one feasible embodiment of the present invention, but the consistent embodiment is not intended to limit the patent scope of the present invention. Any equivalent implementation or change that does not depart from the technical spirit of the present invention should include Within the scope of the patent in this case. 'As mentioned above, this case is not only technically innovative, but also enhances the above-mentioned multiple effects compared with conventional items. It should have fully met the novelty and progressiveness of the ^ 疋 patent requirements, and requested according to law, _ 贵The Bureau approved this Mao Ming patent application t to encourage inventions to the utmost. [Brief description of the drawing] The figure has a detailed description of a preferred embodiment of the present invention and its appendix: v understand the technical content of the present invention and its purpose function & β1 The drawing of this embodiment is: Relevant figure-is the operation network architecture diagram of the common data peer system of the pocket personal computer of the present invention; Take 13 1220201 Figure 2 is the overall client function synchronization architecture diagram of the engine system of the common data synchronization protocol of the pocket personal computer of the invention; And FIG. 3 is a detailed flowchart of the main control module of the engine system of the common data synchronization protocol of the pocket personal computer. [Representative symbols of main parts] ^ 10 Pocket PC 11 Wireless Internet 12 Synchronization Server 21 User Interface Module 22 Local Database 23 SyncML Data Synchronization Engine 231 Main Control Module 232 Parameter Module 233 Data Interface Module Group 234 Data change module 235 SyncML module 236 Anchor module 237 XML Parser module 24 Communication interface module 30 INIT state 31 SYNC state 32 POST SYNC state 1220201 33 END state 34 CLOSING state 35 TERMINATE state

1515

Claims (1)

12202011220201 拾、申請專利範圍: 之引擎系統,包 種口袋型個人電腦共通資料同步協定之引 一提供SyncML資料同步引擎使用者操作之使用 組與遠端@步㈣ϋ連線及資料交換的通訊介 用者介面模 介面模組及 本地端資料庫; 一 SyncML資料同步引擎,其中包含·· 主控模組,忒主控模組為開始執行同步的進入點,由 此主控模組負責統籌各功能的作業; 一參數模組(Profile),該參數模組係提供使用者介面模組 設定包括遠端同步伺服器之相關參數資訊; Anchor模組,該模組係提供參考之如也沉字串 值,包括Last(上次)/Next(目前)之兩種如也沉,以便和遠 知同步伺服器協商’並判斷要使用何種同步模式 (TWO-WAY SYNC 或 SLOW-SYNC); 一貝料異動模組,該資料異動模組係用來建立本地端之 異動記錄,以做為本程式之分析及完成資料同步之參考 依據; 一資料介面模組,該資料介面模組係提供存取本地端資 料庫的程式介面,以便提供本SyncML資料同步引擎執行 資料庫的各種異動作業; 一 SyncML模組,該SyncML模組負責和遠端同步伺服器協 商各資料庫的同步模式(SLOW-SYNC或TWO-WAY SYNC), 將資料轉換至各種文件之交換格式資料,執行驗證及文 件攔位内容之資訊編解碼,產生及接收SyncML訊息; 16 1220201 一 XML Parser模組,該XML Parser模組係處理通訊介面模 組的訊息資料流,並對應的XML資料結構,以及轉換應 用程式的XML資料結構至通訊介面模組對應的訊息資料 流; 本發明係利用SyncML通訊協定為基礎,並結合p〇cket pc 之個人^訊,以建構本發明之SyncML資料同步應用程 式’在本地端各資料異動檔中尚未同步之資料項目,就 透過本系統,將異動過之資料傳送至遠端同步伺服器, 同時也接收遠端同步伺服器之SyncML同步指令,將異動 的資料進行資料同步作業,達到本地端與遠端資料同步 的目的。 2 如申咕專利範圍第1項所述之口袋型個人電腦共通資料 同步協疋之引擎系統,其中該SyneML資料同步引擎之主 控模組,係從參數模組之Profile檔案讀取各種參數資 料,經由資料介面模組來分析及處理本地端資料庫内 容,其異動的資料記錄於資料異動模組,同時依據該資 料異動檔(Change Log)資訊,將待異動的資訊,透過 SynCML模組傳送及接收XML語法的SyncML通訊協定 訊息,以便和遠端同步伺服器進行資料的同步作業。 3·如申印專利範圍第1項所述之口袋型個人電腦共通資料 同步協疋之引擎系統,其中該SyncML資料同步引擎之參 數模組,係提供使用者介面模組設定遠端同步伺服器之 相關參數資訊,可為伺服器位址、帳號及密碼。 申月專利範圍第1項所述之口袋型個人電腦共通資料 同步協定之引擎系統,其中該SyncML資料同步引擎之資 17 1220201 ?> ^ [L s 料介面模組,可依SyncML資料同步引擎之功能需要,建 立資料操作之程式介面: ⑷新增/修改/刪除/查詢資料處理; ⑻比較資料; (C)分配資料結構; (d) 釋放資料結構; (e) 取得時戳。 5·如申明專利範圍第1項所述之口袋型個人電腦共通資料 同步協疋之引擎系統,其中該SyncML資料同步引擎之資 料介面模組,係包含新增、修改、查詢、刪除、比對資 料,以及分配及釋放資料等管理作業。 6·如申請專利範圍第丨項所述之口袋型個人電腦共通資料 同步協疋之引擎系統,其中該SyncML模組,係包含強制 重新同步(SLOW-SYNC)運作方式及雙向同步(TW〇_WAY SYNC)運作方式。 7·如申吻專利範圍第1項所述之口袋型個人電腦共通資料 同步協疋之引擎系統,其中該SyncML模組之實作範圍包 括SyncHeader標頭資料及下列SyncB〇dy之指令: (a) Alert··告知對方使用同步之模式; (b) Status:回應收到指令之作業结果· (C)PUt:傳送本地端之設備資訊(此說明本SyncML同步應用程 式可處理之SyncML資訊及交換資料格式資訊)至對方; (d) Get:要求取得對方的設備資訊; (e) Result得到對方的設備資訊; (f) Sync:針對某資料庫做同步動作; 18 1220201pf ji: e>丄―Scope of patent application: Engine system, including the introduction of common data synchronization protocols for pocket personal computers. Provides the user who operates the SyncML data synchronization engine. The user group is connected with the remote @ 步 ㈣ϋ connection and data exchange. Interface module interface module and local database; a SyncML data synchronization engine, which contains the main control module, the main control module is the entry point to start synchronization, and the main control module is responsible for coordinating various functions. Operation; a parameter module (Profile), which provides user interface module settings, including related parameter information of the remote synchronization server; Anchor module, which provides a reference such as a string value , Including both Last (last) / Next (current), so as to negotiate with Yuanzhi Synchronization Server 'and determine which synchronization mode to use (TWO-WAY SYNC or SLOW-SYNC); Change module, the data change module is used to establish a local record of changes, as a reference for the analysis of the program and complete data synchronization; a data interface module, the data The interface module provides a program interface for accessing the local database, in order to provide the SyncML data synchronization engine to perform various changes in the database; a SyncML module, which is responsible for negotiating each database with a remote synchronization server Synchronous mode (SLOW-SYNC or TWO-WAY SYNC), which converts data to various file exchange format data, performs verification and information encoding and decoding of the contents of the document block, generates and receives SyncML messages; 16 1220201 an XML Parser module The XML Parser module processes the message data stream of the communication interface module and the corresponding XML data structure, and converts the XML data structure of the application program to the message data stream corresponding to the communication interface module. The invention uses the SyncML communication protocol. Based on this, and combined with personal data from the pocket PC, the SyncML data synchronization application of the present invention is used to construct the data items that have not been synchronized in the local data change files, and the changed data is transmitted through this system. To the remote synchronization server, and also receive the SyncML synchronization command from the remote synchronization server, it will change The data is synchronized to achieve the purpose of local and remote data synchronization. 2 As described in Item 1 of Shengu's patent scope, the common personal data synchronization engine system of the pocket personal computer, wherein the main control module of the SyneML data synchronization engine reads various parameter data from the profile file of the parameter module The data interface module is used to analyze and process the contents of the local database. The changed data is recorded in the data change module. At the same time, the information to be changed is transmitted through the SynCML module based on the data change log information. And receive SyncML protocol messages with XML syntax to synchronize data with a remote synchronization server. 3. The engine system for the common data synchronization protocol of the pocket personal computer as described in item 1 of the scope of the patent application, in which the parameter module of the SyncML data synchronization engine provides a user interface module to set a remote synchronization server Related parameter information can be server address, account number and password. Engine system of common data synchronization agreement for pocket personal computers as described in item 1 of Shenyue's patent scope, in which the SyncML data synchronization engine is 17 1220201? ≫ ^ [L s data interface module, according to SyncML data synchronization engine The function needs to establish a program interface for data operation: ⑷ add / modify / delete / query data processing; ⑻ compare data; (C) allocate data structure; (d) release data structure; (e) obtain time stamp. 5. The engine system for the common data synchronization protocol of the pocket personal computer as stated in item 1 of the declared patent scope, wherein the data interface module of the SyncML data synchronization engine includes adding, modifying, querying, deleting, and comparing Management of data, as well as allocating and releasing data. 6. The engine system for the common data synchronization protocol of the pocket personal computer as described in item 丨 of the patent application scope, wherein the SyncML module includes a forced resynchronization (SLOW-SYNC) operation mode and a two-way synchronization (TW〇_ WAY SYNC). 7. The engine system of the common data synchronization protocol of the pocket personal computer as described in item 1 of the kiss kiss patent scope, wherein the implementation range of the SyncML module includes the SyncHeader header data and the following SyncBody instructions: (a ) Alert ·· Inform the other party to use the synchronization mode; (b) Status: Response to the operation result of receiving the command · (C) PUt: Send local device information (This explains the SyncML information and exchange that this SyncML synchronization application can process Data format information) to the other party; (d) Get: request to get the other party's device information; (e) Result to get the other party's device information; (f) Sync: do a synchronization action for a database; 18 1220201pf ji: e > 丄 ― 替換頁 “月(G曰 (g) Add:執行新增資料指令; (h) Replace:執行修改資料指令; (i) Delete:執行刪除資料指令; (j) Copy:執行複製資料指令; (k) Map:回應新增所參考本地端之識別及對方之識別; (l) Final:完成同步送收作業。Replace page "month (G said (g) Add: execute the add data command; (h) Replace: execute the modify data command; (i) Delete: execute the delete data command; (j) Copy: execute the copy data command; (k ) Map: respond to the addition of the reference local identification and the identification of the other party; (l) Final: complete the synchronous sending and receiving operation. 1919

TW92129981A 2003-10-29 2003-10-29 Engine system of common data synchronization protocol for pocket PC TWI220201B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW92129981A TWI220201B (en) 2003-10-29 2003-10-29 Engine system of common data synchronization protocol for pocket PC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW92129981A TWI220201B (en) 2003-10-29 2003-10-29 Engine system of common data synchronization protocol for pocket PC

Publications (2)

Publication Number Publication Date
TWI220201B true TWI220201B (en) 2004-08-11
TW200515176A TW200515176A (en) 2005-05-01

Family

ID=34076697

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92129981A TWI220201B (en) 2003-10-29 2003-10-29 Engine system of common data synchronization protocol for pocket PC

Country Status (1)

Country Link
TW (1) TWI220201B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512491B (en) * 2010-04-15 2015-12-11 Htc Corp Data synchronization methods for synchronizing data in communication systems and communication systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512491B (en) * 2010-04-15 2015-12-11 Htc Corp Data synchronization methods for synchronizing data in communication systems and communication systems

Also Published As

Publication number Publication date
TW200515176A (en) 2005-05-01

Similar Documents

Publication Publication Date Title
TW200400444A (en) 2004-01-01 System and method for accessing different types of back end data stores
TWI263148B (en) 2006-10-01 Method and device for management of tree data exchange
TW594582B (en) 2004-06-21 Method and system for synchronizing mobile devices
EP2706719B1 (en) 2015-12-16 File synchronization method and device
CN106936441B (en) 2020-08-21 A data compression method and device
CN102664871B (en) 2015-09-09 A kind of processing method of intelligent terminal address list
WO2011113372A1 (en) 2011-09-22 Method, system and group server for synchronizing operations of multiple groups
WO2008040224A1 (en) 2008-04-10 Data synchronous method, system and apparatus
JP2011511368A (en) 2011-04-07 Representation of Qualitative Object Changes in a Knowledge-Based Framework for Multimaster Synchronization Environments
CN103259864A (en) 2013-08-21 Data synchronization protocol
CN108764879A (en) 2018-11-06 The real-time account checking method of distribution, system and computer storage media based on affairs
WO2017114190A1 (en) 2017-07-06 File uploading processing method and device
CN110263001A (en) 2019-09-20 File management method, device, system, equipment and computer readable storage medium
JP2003510902A (en) 2003-03-18 Wide area network synchronization
CN114816499A (en) 2022-07-29 A kind of electronic resource sharing method, device and storage medium
CN115002130A (en) 2022-09-02 Personal digital twin DID construction application method based on block chain
CN102594874B (en) 2014-12-17 Synchronization processing method and device
TWI220201B (en) 2004-08-11 Engine system of common data synchronization protocol for pocket PC
WO2022067509A1 (en) 2022-04-07 Device upgrade control method and apparatus, and computer device and storage medium
JP2007035053A (en) 2007-02-08 Session holding method between different terminals
CN114827274B (en) 2024-10-15 Request processing method and device
CN113407491B (en) 2024-10-29 Data processing method and device
JP2001069137A (en) 2001-03-16 Method for issuing public key certificate, terminal equipment for user, certification center and medium recording programs therefor
CN112988740B (en) 2022-08-05 A data storage method for distribution network based on multiple data sources
CN114461595A (en) 2022-05-10 Method, apparatus, medium and electronic device for sending messages

Legal Events

Date Code Title Description
2013-05-11 MM4A Annulment or lapse of patent due to non-payment of fees