TW200415894A - Atomic message division - Google Patents

Atomic message division Download PDF

Info

Publication number
TW200415894A
TW200415894A TW092130351A TW92130351A TW200415894A TW 200415894 A TW200415894 A TW 200415894A TW 092130351 A TW092130351 A TW 092130351A TW 92130351 A TW92130351 A TW 92130351A TW 200415894 A TW200415894 A TW 200415894A
Authority
TW
Taiwan
Prior art keywords
changes
group
message
computing system
computer
Prior art date
Application number
TW092130351A
Other languages
English (en)
Other versions
TWI321419B (en
Inventor
Quentin S Miller
Donald J Mcnamara
Avner Sander
Original Assignee
Microsoft Corp
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.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200415894A publication Critical patent/TW200415894A/zh
Application granted granted Critical
Publication of TWI321419B publication Critical patent/TWI321419B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

A、發明說明: 【發明所屬之技術領域】 本發明關於網路通信技術,且更明 一因半儿—A 作3之’是關於將 V化訊息分成多個可極微地處理成份之機制。 【先前技術】 計算技術已從基本上改變人們工作與遊玩之方式,且 對人類進展有非常大的貢獻。現今電腦在許多應用上(譬如 文書處理、電腦模擬、先進遊戲、聲音辨識等)提供協助。 計算系統目前是以相當廣泛之型例如,桌上電腦、膝 上電腦、個人數位助理(PDA)及甚至為行動電話與裝置)出 現0 具行而 >施甚 置作 裝工 動些 行這 該。 許作 允工 以多 , 許 力的 能行 理施 處腦 置用電 裝通上 線與桌 無體型 動憶大 行記由 些之能 某雜只 複前 有先 話 ϊρπτ 線 無 與 理 助 位 數 人 個 如 譬 在暫 使, 即而 者然 用。 使作 許工 允件 此郵 〇 子 作電 工行 之施 信且 通路 路網 網際 料網 資入 過進 透能 需 仍 括中 包動 可行 比 然 顯 體 。 憶制 記限 之的 中大 置更 裝有 小統 較系 , 算 統計 系型 算上 計膝 持至 手甚 之或 雜型 複上 此桌 論型 不大 受$ 該 當 D” 士 Γ 相。時 量小況 數極情 之能之 體可構 憶也結 記量料 統數資 系體層 為憶分 因記化 之步 器 同 限 配 分 信 通 該 能 可 信 衝當衝 緩是緩 收能收 接可接 一 如 於 予λ(大 去 失 全 完 會 下 況 情 些 某 在 成 造 信 通 些 。 1 力 去能 失之 致信 導通 此該 。 理 器處 3 200415894 料結構以容置可能太小 同步化資訊之接收緩衝 因此,需求用於同步化分層資 而無法在一單一訊息中容納所有的 器之機制。 【發明内容】 伴p迎先前技藝之#城卩卩% + 衣心别述問通的克服可藉由本發明之; 理,其關於將儲存在一客戶#^ 谷尸%電恥糸統上之分層資料結才j 的版本與健存在一祠服哭卜 八
J服σσ上之刀層資料結構的版本同步… 之機制。同步化即使為綠交$山 #
之在这客戶、计鼻糸統之接收緩衝器I 、、匕έ八有舄同步化之所有改變的單一訊息時也可養 生。該分層資料結構具有數個可分開地定址之可極微地激 輯成份,且甚至可有其自已的改變追蹤資訊。 在決定同步化將發生後,該伺服器會辨識客戶端版4 需要發生之所有改變,以便由該分層文件之伺服器版本同 步化分層文件之客戶端版本。各個改變涉及編輯(如,插入
改變或刪除)該資料結構之一或多數可極微地編輯成份。如 果該伺服器預估一含有所有該等複數個改變之單一訊息無 法包含在該客戶端電腦系統之一接收緩衝器時,則該伺服 器會將該同步化資訊分成多數訊息。 與習知分割技藝不同的是,在接收時各個別訊息可被 極微地處理以施行部份同步化。換句話說,如該同步化資 訊被分成二個極微地可處理訊息,且如果只有一訊息被接 收與處理’該分層資料結構仍符合該方案與應用,使得具 有該結構之工作仍可在該資料結構上操作。 4 200415894 伺服器組合一含有一少於所有同步化改變之第一群組 的第一訊息,且也組合一或多數個各含有其他同步化改變 之其他訊息。當該等訊息(被視為一體時)含有所有同步化 改變’雖然其等中任何之一均不個別地含有所有同步化改 變。因此,各個別訊息係較小,因而更可能適配於該客戶 端計算系統之接收緩衝器。 各訊息接著被單獨地發送至客戶端計算系統。客戶端 計算系統接著可極微地處理各訊息。對於在一單一訊息中 被辨識將進行之改變,客戶端計算系統會辨識出有關該改 % 變之可極微地編輯成份,且接著以該改變所特定之方式編 輯(如,插入、改變或刪除)該等可極微地編輯成份。因為 該等改變包含該分層資料結構之可極微地編輯成份,該等 改變可以在即使沒有所有同步化改變時也可實施。因此, 無須快取任何之訊息(假設其等以一正確順序到達)。各訊 息被接收、處理而後放下,即使任一訊息均不代表所有待 進行之改變。 然而’如果一接收訊息具有比一尚未接收訊息較晚之 改變時,可能會發生一些快取。在該例中,含有該較慢改 變之訊息可被快取,直到含有較早改變之訊息被接收與處 理。此情況可能是相當少發生,因為伺服器可能會在傳輸 具有較晚改變之訊息前,先發送具有較早改變之訊息。畢 竟’訊息通常是以其被傳輸之順序到達。 依此方式,不會因為接收緩衝器大小不足而失去通 信。再者’改變可以在其被接收時處理,即使尚未達成完 5 200415894 全同步化。如果此訊息中一些未接收到,則只有此等未接 收之訊息需要被傳輸,因而能保留網路頻寬。或者是,從 實施,觀…,較簡單的是只傳送以第一失去訊息開始 之該等訊息(即使在該第一失去訊息後之一 被接收而全未失去)。在任一方式中,只需傳輸較少·^ 本發明額外之特徵與優勢將在以下說明中提出,且因 此可從說明中明瞭,或可從實現本發明中得知。本發明之 特徵與優勢可藉由隨附申請專利範圍中所特別指出之設備 與組合而實現與獲得。本發明此等與其他特徵可從以下說 明與隨附申請專利範圍中更加顯而易i,或可從以下提出 之本發明的實施中得知。 【實施方式 本發明 層資料結構 的版本同步 址之可極微 器會辨識客 文件之伺服 變涉及編輯 數極微地可 複數個改變 接收缓衝器 息,且然後 原理關於可 的版本,及 化之機制。 地編輯成份 戶端版本所 益版本同步 (如,插入, 編輯成份。 之單一訊息 時’則該伺 個別發送該 將儲存在一客戶 儲存在一伺服器 該分層資料結構 。在決定同步化 有需要發生之改 化分層文件之客 改變或刪除)該 如果該伺服器決 無法包含在該客 服器會將該同步 訊息至該客戶端 端電腦系統 上之分層資 具有數個可 會發生後, 變,以便以 戶端版本。 資料結構之 定一含有所 >端計算系 化資訊分成 計算系統。 上之分 料結構 分開定 該伺服 該分層 各個改 一或多 有該等 統之— 多數訊 6 200415894 該客戶端計算系統接著可極微地處理各訊息。對於在 一單一訊息中被辨識出將進行之改變,客戶端計算系統會 辨識出涉及該改變之極微地可編輯成份’且接著以該改變 所特定之方式編輯(如,插入、改變或刪除)該等可極微地 編輯成份。因為該等改變包含該分層資料結構之可極微地 編輯成份,該等改變可以在即使不具所有同步化改變時也 可實施。 _ a /U π小秋攻吴有電腦可執 行指令或資料結構错存於其上 . /、上之電腦可讀媒體。此電腦可 讀媒體可為任何可由通用或專 用電腦存取之市售媒體。Μ 由實例說明(而非限制),此電腦可 《、藉 實體電腦可讀媒體,譬如括隨貝、電腦可至少包含 EEPROM、CD-ROM或JL #企 11體、唯讀記憶體、 、他光磲儲在哭 β 他磁性儲存裝置、或任 裔、磁碟儲存器或其
〃他*可以I 結構型式用於承載或儲存所需求电知可執行指令或資料 用或專用電腦存取之媒體。 之程式碼構件,且可由通 當資訊是透過一網路或另〜、 線與無線之組合中之一 通“連接(有線、無線或有 ^丨寸ft或提供 適當地視該連接為一電 八芝一電腦時,該電腦可 4 可適當地稱為一電腦可讀媒體、因此,任何此一連接 腦可讀媒體之範疇内。。以上之組合也應包括在電 电御可執杆> 成一通用電腦、專用電腦或專 曰令至少包含(例如)造 -群組功能之任何指令與資料用處理裝置施行某一功能或 (例如)二進制、中間 1 ^電恥可執行指令可包括 飞、令(譬如組合达士 ^ $七 m a或甚至來源 7 200415894 碼)。
第1圖及以下討論希望提供對可實施本發明之適用電 腦環境的簡要、一般性說明。雖然並非必要,本發明會以 電腦可執行指令的一般文字内容加以描述。大體上,程式 模組包括施行特定工作或實施特定抽象資料型式之常式、 程式、目標程式、組件、資料結構及其類似者。電腦可執 行指令、相關資料結構與程式模組代表用於執行本文揭露 方法之行動的程式碼構件。 請參考第1圖,適用本發明原理之操作環境包括如電 腦系統1 00型式之通用型電腦系統。電腦系統1 00可包括 (例如)一已適於施行本文所揭露之個人電腦。 電腦系統 100包括一從輸入裝置(譬如,鍵盤、麥克 風、滑鼠或一小型行動裝置之觸控板)接收資訊之使用者介 面170。一輸入裝置可耦合至使用者介面170以致使資訊 能進入。一輸入裝置可透過此一輕合傳輸資訊以回應該輸 入裝置之已程式化資料或使用者操控。
電腦系統1 00包括一提供視訊輸出信號至外部視訊顯 示裝置之視訊輸出介面1 5 0。電腦系統1 00可被整合於一 視訊顯示裝置内或與其分隔,譬如一彩色或單色電腦螢 幕。一視訊顯示裝置可被耦合至視訊輸出介面150,以接 收一被提供之視訊輸出信號。在一小型行動裝置中,視訊 輸出介面可與一較小顯示器形成介面。 同樣地,電腦系統1 00包括一提供音訊輸出信號至外 部音訊輸出裝置之音訊輸出介面130。電腦系統100可被 8 200415894 正口於曰訊系統(其可包括一揚聲器或其他能夠發射聲 曰貝料之裝置)内或與其分隔。一音訊系統可被耦合至音訊 輸出介面130,以接收一被提供之音訊輸出信號。 電細系統1 00包括一提供複雜與彈性通用性處理能力 之處里單元12 〇。處理單元! 2 〇執行經設計以實施電腦系 統1〇0之特徵(包括本發明之特徵)的電腦可執行指令。處 理單元120係耦合至系統匯流排11〇,其也各種其他包括 系統δ己憶體1 4 〇之系統組件相互連接。 系統記憶體i4〇大體上代表相當多種之揮發性及/或 非揮發性記憶體,i包括上述型式之記憶體。然而,使用 在電腦系、統i 〇 〇内記憶體之特殊型式對本發明並非至關重 要。程式碼構件至少包含一或多數可儲存在系統記憶體 H0中之程式模組。該等一或多數程式模組可包括一操作 系、.先141或多數應用程式142、其他程式模組143盥 式資料144。 八 電月自系統 1 〇 〇可句女县料^ — 、 υ』^^括大里儲存介面160,其可將資料 吞貝取自及/或寫至一大量儲在获 jg条, 里储存裝置,譬如一磁碟或光碟。一 大量儲存裝置可㈣合至大量储存介自16〇,以致能夠讀 取與寫入資料。當麵合一大量健存裝置至大量儲存介面 二’包括操作系統141之一或多數程式模组、應用程 式142、其他程式模組 量儲存裝置中…一…:“4 144可儲存在該大 大量錯存器。 k小之仃動裝置可能不具任何此類 電腦系統⑽係連接至網路’譬如一泛辦公室或泛企 200415894 業之網路、一内部網路、網際網路及/或一承載網路。電腦 系統1 0 0包括網路介面1 8 0,電腦系統1 0 0經其可從外部 來源接收資料及/或傳輸資料至外部來源。電腦系統1 00可 透過此一網路與外部來源(譬如,遠端處理器系統及/或資 料庫)交換資料。
雖然第1圖示範可實施本發明原理之計算系統實例, 任何計算系統均可能實施本發明之特徵。在說明書與申請 專利範圍中,“計算系統”係廣泛地定義為能夠使用軟體以 施行一或多數功能之任何硬體組件或組件等。計算系統之 實例包括桌上型電腦、膝上型電腦、個人數位助理(PDA)、 電話或任何具有處理能力之其他系統或裝置。
第2圖示範本發明原理可操作之網路環境200。網路 環境200包括透過一網路220通信之一客戶端計算系統 2 1 0與一伺服器計算系統23 0。客戶端計算系統2 1 0可以是 一只具有相當小接收緩衝器2 1 2之極有限記憶體裝置。此一 裝置之實例可為一行動電話或一行動個人數位助理(PDA)。 客戶端計算系統2 1 0與伺服器計算系統23 0可各依有關上 述電腦系統1 〇〇之方式構成。如果客戶端計算系統2 1 0係電 腦1 00,接收緩衝器2 1 2之位置可與系統記憶體1 40分隔。 伺服器計算系統230與客戶端計算系統2 1 0可具有雙 向通信能力。然而,當伺服器計算系統23 0與客戶端計算 系統210通信時,伺服器計算系統230依箭頭221所示發 送訊息至客戶端接收緩衝器。此通信是當(例如)以一分層 資料結構之伺服器版本23 1同步化一分層資料結構之客戶 10 200415894 端版本2 1 1時施行。 在此說明書與申請專利範圍中,一“分層資料結構,,可 為任何含有以親子分層結構配置之資料攔的資料結構。允 許此分層組織之格式的一實例是eXtensible Markup(XML) 語言。
雖然分層文件可採廣泛型式之分層形式,第3圖示範 一分層資料結構300之特定概要表示法,其中分層資料結 構300中各節點是由一圓圈或十字表示。 由圓圈表示之節點(即,節點3〇1至3〇5)表示可極微 地編輯之該等節點。換句話說,各個可極微地編輯節點可 在不影響該分層樹中其他節點下編輯(如,插入、改變或刪 除)而。各個可極微地編輯節點視需要也可具有改變追蹤資 訊’以允許改變表示為對該特定可極微地編輯節點之編輯。
由十字表示之節點(即,節點306至3 17)表示不可極 微地編輯之該等節點。為了編輯節點3 〇 6至3丨7,須編輯 一在該分層資料結構之袓先(allcestral)線中之對應可極微 地編輯節點。例如,為了編輯節點308,須先編輯整個節 點3 0 2。在一些例中,也許需要限制那些節點是可極微地 編輯節點,以限制需要維持該分層資料結構之處理與記憶 體資源的數量。使用此分層資料結構之資料模型的實例係 揭露於共同擁有之共同審理中美國專利申請案序列號碼 [事務所檔號:1 3 768.1 98.3],該申請案全數以引用方式併入 本文。雖然資料結構3 0 0具有的一些節點為可極微地編輯 節點而一些則非,本發明之原理也可應用至所有在該資料 11 200415894 結構中之節點均為可極微地編輯的資料結構。 第4圖示範用於同步化依據本發明原理之該分層資料 結構之客戶端版本與祠服器版本的方&伽。由㈣器施 題“飼服器,,下+方面,由客戶端施行之個行動是心 在方法4〇〇之左側攔位的標題“客戶端,,下。 飼服器也會辨識出將應用至該分層資料結構之客戶端 版本的同步化改變(行動402)。行動4〇1與4〇2係平行顯 示以強調在二行動間並無時間相依性。例#,伺服器可持 續在發生同步化改變時加以辨識,而不管同步化是否需立 即施行。 祠服器決定一同步化會在該分層資料結構之客戶端版 本與伺服器版本間發生(行動401)。此決定可在回應客戶 端發送與飼服器同步化之要求下進行。或者是,㈣器在 未從客戶端接收到同步化要求下,可根據其本身之狀離資 訊決定同步化之發生,,飼服器可定期地同步化,或 在祠服器版本已改變達預定次數後或其類似者時同步化。 孩同步化改變之辨識可藉由(例 于乂 Λ L? 代表該分 一貝料結構客戶端版本狀態之改變識別符,與一代表該分 結構伺服器版本狀態之改變識別符。代表該客戶端版本 態之改變識別符可能已從客戶端本身接㈣,或可能在 後一次發生同步化時由伺服器更新且快取。 此 方法40G接著包括_功能性、結果導向步驟,用於 符合一接收緩衝器大小之方式發送該改變至客戶端計算 12 200415894 統(打動4 1 0)。此步驟可包括任何可用於達成此步驟之斜 應灯動。然而在所示範之具體實施例中,步驟410包括特 定之對應行動404至4〇9。 gH ^ ° ’伺服器預估一包含所有複數個改變之單 一訊息無法包含太旁< & & g s在客戶端計算系統之接收緩衝器内(行 403)。為了逵 ώ .L , 匕,伺服器會預估一包含所有該等改變之 單一訊息的, 、’、 大小’預估客戶端計算系統之接收緩衝器 的約略大小,而A 4 σ 向後確定接收緩衝器大小是大於(或至少驚險 地靠近)單—訊息之大小。客戶端可在先前已將資訊登錄二· 〇 β臼地列出該接收緩衝器大小,或提供對相關接 收緩衝器大」、沾 人 J的一合理預估之足夠資訊。例如, 斑 相同廠牌之夂壯虫 <谷裝置具有相同接收緩衝器大小的一特定廠牌 之無線! 罢 ”’、、、’、罝,則可根據該廠牌之無線裝置推論該接收緩衝 哭 λ!、 ' °° /、。或者是,該接收緩衝器大小可在從客戶端接收之 任何同步化要求中表明。 飼服器接著會組合各包含少於所有該等同步化改變之 一些訊息。例如,伺服器會組合一包含少於所有改變之一 φ 第群組的第一訊息(行動404),組合一包含至少一部份 2餘改變(非該第一群組之部份)的第二訊息(行動4〇5),且 如果第二訊息未包含所有剩餘之改變,則會組合更多由水 平橢圓點4 〇 6代表之訊息。 第5圖示範包含一些改變511、512、513與514全部 ^ 早一訊息510的實例。第5圖也顯示其内各含有少於 所有該等改變之一系列較小改變的另一選擇,訊息 13 200415894 5 2 1只含有一同步化改變5 11,訊息5 2 2只含有一同步化改 變512,而訊息523含有二同步化改變513與514。任何特 定訊息5 2 1至5 2 3之大小是小於單一訊息5 1 〇之大小,且 係因此更可能被接收於接收緩衝器内,即使該接收緩衝器 是小於單一訊息5 1 0。 在一實例中,各該等訊息係一簡單物件存取協定封襞 (SOAP envelope)。當發送二訊息時,第一 soap封裝之表 頭部位會含有一將第一訊息關聯至第二訊息之表頭部位, 且含有一包含該等改變之第一群組的本體部位。第二 SOAP封裝會含有一將第二訊息關聯至第一訊息之表頭部 位,且含有一包含改變之第二群組的本體部位。 伺服器接著會發送第一與第二訊息及可能任何也含有 客戶端同步化改變的進一步訊息(分別為行動4〇7、4〇8與 409),隨之客戶端接收第一與第二訊息及可能的進一步訊 息(分別為打動4 11、4 1 2與4 1 3)。客戶端接著會處理所有 在第一要求中接收之第一群組改變中的同步化改變(行動 414),且接著處理所有在第二群組改變中的同步化改變(行 動415),以及處理在後續訊息中的任何其他改變。 零 在一實例中’在第一訊息中接收之同步化改變會在後 續訊息中之改變前先被應用。因此,如果後續訊息在第一 訊息前接收到,則後續訊息可被快取直到該第一訊息被接 收到且處理。在更普通情形下(其中各訊息是依其被傳輸之 順序接收),訊息可在其等被接收時處理,因為所應用之該 等改變是可極微地編輯至該資料結構,而不使資料結構違 14 200415894 反規劃或者是更改該資料結構。因此,訊息可在其等被接 收時接收、處理與放下,而非企圖在該等訊息接收時施行 重組所有該等改變之更多處理器與記憶體密集工作,然後 在一次處置程序中應用該等改變。
雖然本發明之原理絕非限制該等訊息為S OAP封裝, 以下之S OAP封裝顯示一訊息會是何狀,如果其含有三不 同之同步化改變。一同步化改變是刪除一具有識別符為 7 的節點,另一者是編輯一具有識別符為5的節點,且又另 一者是刪除另一具有識別符為1 2的節點。如果所有這些改 變是在一單一實例訊息中提供,該實例訊息可如下: 1. <s:Envelope> 2. <s:Header> 3. <srp:path> 4. <srp:from> “http://mywidges.mobil.msn.com”</srp:from> 5. <srp :id>23</srp :id> 6. <srp :relatesT 〇>202</ srp rrelatesT 〇>
7. </srp:path> 8. <ss:license〉“lf2e3d4c5b6a”</ms:license> 9. <ms:response service: “myWidgets’’previousChangeNumber= “8”
ChangeNumber= “117〉 10. </s:Header> 11. <s:Body> 12. <ms :queryResponse> 13. <ms:changeQueryResponse baseChangeNumber= “11” 15 200415894 14. 15. 16. 17. 18. 19. 20. 21. 22. 23 至 該 息 前 結 該 該 改 在 裝 status: “success”〉 <ms:deleteBlue id= “7” changeNumber= “9”/> <m:widget id= “5” changeNumber= “10”> <m:name xml:lang= “en’’〉Widget 5</m:name> <m:unitPrice currency^ “USD’>128.00 </m:unitPrice> </m: widget〉 <ms:deleteBlue id= “12” changeNumber= “11”/> </ms :changeQueryResponse> </ms:queryResponse> </s:Body> .</s:Envelope> 在此要求中,第1至23行是該整個SOAP封裝。第2 10代表該SOAP封裝之表頭部位,而第1 1至22行代表 SOAP封裝之本體。該表頭部位之第3至7行界定一訊 之特定路徑,而第8行代表特許資訊。第9行辨識一先 改變號碼與一旦該等改變係完全實施時將應用至該分層 構的一改變號碼。因此,該資料結構之改變號碼在應用 等改變前為8,而在應用該等改變後該改變號碼為11。 訊息因此含有經辨識為9、10與11之所有三改變。第一 變係表示在第14行之SOAP封裝本體中。第二改變表示 第15至18行。第三改變是表示在第19行。 如果所有三改變9、1 0與11均包括在相同之S 0AP封 中時,該單一實例SOAP封裝可能對一接收緩衝器而言
16 200415894 係太大。因此以下示範三特定之SOAP封裝,各只含有該 等改變中之一。以下示範含有第一改變之第一 SOAP封裝: 1. <s: Envelope〉 2. <s:Header> 3. <srp:path> 4. <srp:from> “http://mywidgets.mobile.msn.com” </srp:from> 5· <srp:id>23</srp:id>
6. <srp rrelatesT o>202</srp :relatesT 〇> 7. </srp:path> 8. <ss:license〉“l £2e3d4c5b6a”</ms:license> 9. <ms:response service: “myWidgets’’previousChangeNumber= “8” changeNumber= “97〉 10. </s:Header> 11. <s:Body> 12. <ms: queryResponse〉 13. <ms:changeQueryResponse baseChangeNumber= β<1 Γ9
status: “success”〉 14· <ms:deleteBlue id= “7” changeNumber= “9”/> 15. </ms: changeQueryResponse> 16. </ms: queryResponse> 17. </s:Body> 18. </s:Envelope> 此第一分段SOAP封裝係類似於該單一實例SOAP封 裝,除了第9行辨識出如果所有改變被應用時現行改變號 17 200415894 碼將為9。再者,該本體只含有改變9,其為刪除具有識別 符為7之節點。 第二分段係如下: 1. <s:Envelope> 2. <s:Header> 3. <srp:path> 4. <srp: from> “http ://mywidges.mobil.msn· com”</srp :from>
5 · <srp: id>24</srp: id> 6. <srp: relatesT o>202</srp rrelatesT 〇> 7. </srp:path> 8. <ss:license>“l£2e3d4c5b6a’’</ms:license> 9. <ms:response service: “myWidgets” previousChangeNumber= “9” changeNumber= “10”/〉 10. </s:Header> 11. <s:Body> 12. <ms:queryResponse>
13. <ms:changeQueryResponse baseChangeNumber= “11” status= “success”〉 14. <ms:widget id= “5” changeNumber= “10”/> 15. <m:name xml:lang= uen,5>Widget 5</m:name> 16. <m:unitPrice currency= “USD’’>128.00 </m:unitPrice> 17. </m:widget> 18. </ms :changeQueryResponse> 18 200415894 19. </ms: queryResponse> 20. </s:Body> 21. </s:Envelope> 此第二分段 SOAP封裝係類似該單一實例 SOAP封 裝,除了第9行辨識出如果所有改變被應用時現行改變號 碼將為1 0,而先前改變號碼係9。因此,此第二分段將在 第一分段應用後,應用至客戶端版本。再者,該本體只含 有改變1 0,其為編輯具有識別符為5之節點。
第三分段係如下列: 1. <s:Envelope> 2. <s:Header> 3. <srp:path> 4. <srp:from> “http://mywidges.mobil.msn.com”</srp:from> 5. <srp:id>25</srp:id> 6. <srp :relatesT o>202</srp :relatesT 〇> 7. </srp:path>
8. <ss: license〉" 1 £2e3 d4c5b6a”</ms: license〉 9. <ms:response service= “myWidgets’’previousChangeNumber= “ 10” changeNumber= “11’’/> 10. </s:Header> 11. <s:Body> 12. <ms: queryResponse> 13. <ms:changeQueryResponse baseChangeNumber= “11 ’’ status= “success”〉 19 200415894 14. <ms:deleteBlue id= “12” changeNumber= “1 Γ,/> 15. </ms: changeQueryResponse> 16. </ms: queryResponse> 17. </s:Body> 18. </s:Envelope>
此第三分段SOAP封裝係類似於該單一實例SOAP封 裝,除了第9行辨識出如果所有改變被應用時現行改變號 碼將為1 1,而先前改變號碼係1 〇。因此,此第三分段將在 第二分段應用後,應用至客戶端版本。再者,該本體只含 有改變1 1,其為編輯具有識別符為1 2之節點。 此第三分段S OAP封裝實例之設置係藉由提供本發明 原理的一實例來說明。然而,本發明原理絕不受限於此等 實例。再者,雖然舉例中之分段SOAP訊息只是最低限度 小於該單一 S〇AP訊息實例(如比起23行之XML碼已各減 為1 8、2 1與1 8行之XML碼),如果改變之數目較大,則 大小的減少會更明顯。
因此,本發明之原理提供一機制,因此從一伺服器傳 輸予一客戶端之同步化改變係可符合該接收緩衝器之較小 片段’無須通常用以重新組合該等改變而後在一次處置基 準下應用該等改變時,所需明顯較多之處理與記憶體能力。 本發明可依其他特定形式實施而不脫離其精神或本質 之特徵。所描寫之具體實施例在任何方面均應視為示範而 非限制。本發明之範疇因此係由隨附申請專利範圍而非前 述說明所指明。所有來自與申請專利範圍等同之意涵與範 20 200415894 圍中之改變將包括在其範疇中。 【圖式簡單說明】
為了描述可獲得本發明上述與其他優勢及特徵之方 法,可藉由參考其在附圖中示範之特定具體實施例而獲得 對以上簡要描述更特別的說明。請瞭解此等附圖只例示本 發明之典型具體實施例,而因此不應被視為對其範疇的限 制,本發明將經由使用附圖額外地明確與詳細說明與解 釋,其中: 第1圖示範本發明原理的一適用操作環境; 第 2圖示範具有可極微地編輯成份之一分層資料結 構; 第3圖示範一網路環境,在其内一客戶端與一伺服器 已各存取該分層資料結構的一版本,其中已對該分層資料 結構的伺服器版本施行進一步之改變;
第4圖示範依據本發明原理用於同步化該分層資料結 構的客戶端與伺服器版本之方法;及 第5圖示範包含一些改變全部之一單一訊息的實例, 也示範其内各含有少於所有該等改變之一系列較小訊息的 另一選擇。 【元件代表符號簡單說明】 100 電腦系統 1 10 匯流排 120處理單元 130音訊輸出介面 21 200415894 140 系 統 記 憶體 141 操 作 系 統 142 應 用 程 式 143 其 他 程 式 模 組 144 程 式 資 料 150 視 訊 輸 出 介 面 160 大 量 儲 存介面 170 使 用 者 輸 入 介面 180 網 路 介 面 200 網 路 環 境 210 客 戶 端 211 客 戶 端 版 本 212 緩 衝 器 220 網 路 221 箭 頭 230 伺 服 器 231 伺 服 器 版本 300 分層 資 料 結 構 301 節 點 302 /r/T 即 點 303 即 點 304 /r/r 即 點 305 節 點 306 節 點 307 即 點 308 節 點 309 節 點 310 即 點 311 節 點 312 即 點 313 節 點 314 即 點 315 節 點 316 節 點 317 節 點 400 方 法 510 訊 息 521 訊 息 522 訊 息 523 訊 息
22

Claims (1)

  1. 200415894 拾、申請專利範圍: 1. 一種在包括一伺服器計算系統與一客戶端計算系統之 電腦網路中供該伺服器計算系統在即使該客戶端計算 系統的一接收緩衝器不具有足夠記憶體以同時包含一 具有所有用以同步化該伺服器版本與該客戶端版本之 該同步化資料的單一訊息時用於同步化一分層資料結 構之該伺服器版本與該客戶端版本的方法,該伺服器計 算系統與該客戶端計算系統各含有一包含複數個可極 微地編輯成份之分層資料結構的版本,該方法至少包 含: 一決定一同步化將在該分層資料結構之該伺服器版本 與該客戶端版本間發生之行動; 一如果同步化將發生時會辨識出複數個將需發生之改 變的行動,各該等複數個改變涉及對一或多數之該等可極 微地編輯成份的改變; 一預估包含所有該等複數個改變的一單一訊息無法被 包含在該客戶端計算系統的一接收緩衝器内之行動; 一組合包含少於所有該等複數個改變之一第一群組的 一第一訊息之行動; 一組合包含非該第一群組之至少部份的該等複數個改 變中的一第二群組之一第二訊息的行動; 一發送該第一訊息至該客戶端計算系統之行動;及 一發送該第二訊息至該客戶端計算系統之行動。 23 200415894 2.如申請專利範圍第1項所述之方法,其中該第二群組不 含有非該第一群組之部份的所有複數個改變,該方法更 包含下列z 一組合一或多數含有未在該第一或第二群組中之該等 複數個改變的其他訊息之行動。
    3 ·如申請專利範圍第1項所述之方法,其中決定一同步化 將在該分層資料結構之該伺服器版本與該客戶端版本 間發生之該行動至少包含下列: 一從該客戶端計算系統接收一同步化要求之行動。 4.如申請專利範圍第1項所述之方法,其中決定一同步化 將在該分層資料結構之該伺服器版本與該客戶端版本 間發生之該行動至少包含下列:
    該伺服器計算系統在未從該客戶端計算系統接收到一 同步化之同步要求下,根據其本身狀態資訊決定該同步化 將發生之一行動。 5 ·如申請專利範圍第1項所述之方法,其中如果同步化將 發生時會辨識出複數個將需發生之改變的該行動包含 下列: 一比較一代表該分層資料結構之該客戶端版本的一狀 態之改變識別符,與一代表該分層結構之該伺服器版本的 24 200415894 一狀態之改變識別符的行動。 6.如申請專利範圍第5項所述之方法,更包含下列: 一從該客戶端計算系統接收代表該分層資料結構之該 客戶端版本的狀態之該改變識別符的行動。 7 ·如申請專利範圍第5項所述之方法,更包含下列:
    一從一區域資料庫獲得代表該分層資料結構之該客戶 端版本的狀態之該改變識別符的行動。 8 ·如申請專利範圍第1項所述之方法,其中預估包含所有 該等複數個改變的單一訊息無法被包含在該客戶端計 算系統的一接收緩衝器内之該行動至少包含下列: 一預估該單一訊息大小之行動; 一預估該客戶端計算系統之該接收緩衝器大小之行
    一預估該單一訊息大小是大於該接收缓衝器大小之行 動。 9.如申請專利範圍第8項所述之記錄媒體,其中預估該客 戶端計算系統之該接收緩衝器大小的該行動至少包含 下歹U : 一從該客戶端計算系統接收該接收缓衝器大小之一指 25 200415894 示的行動;及 一預估該接收緩衝器大小是如該客戶端計算系統所特 定之行動。 10·如申請專利範圍第1項所述之方法,其中組合包含少於 所有該等複數個改變之一第一群組的第一訊息之該行 動至少包含下列: 一建構一第一簡單物件存取協定封裝(SOAP envelope) 之行動,該第一 S Ο AP封裝含有一將該第一訊息關聯至該 第二訊息之表頭部位,且含有一包含該第一群組之改變的 本體部位。 1 1 ·如申請專利範圍第1 0項所述之方法,其中組合包含非 該第一群組之至少部份的該等複數個改變中的一第二 群組之第二訊息的該行動至少包含下列: 一建構一第二SOAP封裝之行動,該第二SOAP封裝 含有一將該第二訊息關聯至該第一訊息之表頭部位,且含 有一包含該第二群組之改變的本體部位。 1 2. —種在包括一伺服器計算系統與一客戶端計算系統之 電腦網路中使用之電腦程式產品,該伺服器計算系統與 該客戶端計算系統各含有一包含複數個可極微地編輯 成份之一分層資料結構的版本,該電腦程式產品用於實 26 200415894 施一供該伺服器計算系統在即使該客戶端計算系統的 一接收緩衝器不具有足夠記憶體以同時包含一具有所 有用以同步化該伺服器版本與該客戶端版本之該同步 化資料的單一訊息時同步化該分層資料結構之該伺服 器版本與該客戶端版本的方法,該電腦程式產品至少包 含一或多數在其上具有下列之電腦可讀媒體: 用於決定一同步化會在該分層資料結構之該伺服器版 本與該客戶端版本間發生之電腦可執行指令; 用於在如果同步化將發生時辨識出將需發生之複數個 改變的電腦可執行指令,各該等複數個改變涉及對一或多 數之該等可極微地編輯成份的改變; 用於預估一包含所有該等複數個改變之單一訊息無法 被包含在該客戶端計算系統的一接收緩衝器内之電腦可執 行指令; 用於組合一包含少於所有該等複數個改變之一第一群 組的一第一訊息之電腦可執行指令; 用於組合一包含非該第一群組之至少部份的該等複數 個改變中的一第二群組之一第二訊息之電腦可執行指令; 用於使該第一訊息被發送至該客戶端計算系統之電腦 可執行指令;及 用於使該第二訊息被發送至該客戶端計算系統之電腦 可執行指令。 1 3.如申請專利範圍第1 2項所述之電腦程式產品,其中用 27 200415894 於決定一同步化會在該分層資料結構之該伺服器版本 與該客戶端版本間發生之該等電腦可執行指令至少包 含下列: 用於偵測從該客戶端計算系統接收一同步化要求之電 腦可執行指令。
    1 4.如申請專利範圍第1 2項所述之電腦程式產品,其中用 於決定一同步化會在該分層資料結構之該伺服器版本 與該客戶端版本間發生之該等電腦可執行指令至少包 含下列: 用於使該伺服器計算系統在未從該客戶端計算系統接 收到一用於同步化之同步要求下根據其本身之狀態資訊決 定該同步化將發生的電腦可執行指令。
    1 5.如申請專利範圍第1 2項所述之電腦程式產品,其中用 於在如果同步化將發生時辨識出將需發生之複數個改 變的該等電腦可執行指令,而各該等複數個改變涉及一 或多數之該等可極微地編輯成份的改變的該等電腦可 執行指令,至少包含: 用於比較一代表該分層資料結構之該客戶端版本的狀 態之改變識別符與一代表該分層資料結構之該伺服器版本 的狀態之改變識別符的電腦可執行指令。 28 16200415894 構 令 17 戶 18 腦 電 .如申請專利範圍第1 5項所述之電腦程式產品,其中該 一或多數電腦可讀媒體在其上更具有: 用於偵測從該客戶端計算系統接收代表該分層資料結 之該客戶端版本狀態的該改變識別符的電腦可執行指 .如申請專利範圍第1 5項所述之電腦程式產品,其中該 一或多數電腦可讀媒體在其上更具有下列: 用於從一區域資料庫獲得代表該分層資料結構之該客 端版本狀態的該改變識別符之電腦可執行指令。 .如申請專利範圍第1 2項所述之電腦程式產品,其中用 於預估一包含所有該等複數個改變之單一訊息無法被 包含在該客戶端計算系統的一接收緩衝器内之該等電 腦可執行指令至少包含: 用於預估該單一訊息大小之電腦可執行指令; 用於預估該客戶端計算系統之該接收緩衝器大小之電 可執行指令;及 用於預估該單一訊息大小是大於該接收緩衝器大小之 腦可執行指令。 .如申請專利範圍第1 8項所述之電腦程式產品,其中用 於預估該客戶端計算系統之該接收緩衝器大小之該等
    29 19 200415894 電腦可執行指令至少包含下列: 用於偵測從該客戶端計算系統接收該接收緩衝器大小 之一指示的電腦可執行指令;及 用於預估該接收緩衝器大小是如該客戶端計算系統所 特定之電腦可執行指令。
    2 0.如申請專利範圍第1 2項所述之電腦程式產品,其中用 於組合一包含少於所有該等複數個改變之一第一群組 的一第一訊息之該等電腦可執行指令至少包含下列: 用於建構一含有一將該第一訊息關聯至該第二訊息之 表頭部位且含有一包含該第一群組之改變的本體部位之簡 單物件存取協定(SOAP)封裝的電腦可執行指令。
    2 1.如申請專利範圍第20項所述之電腦程式產品,其中用 於組合一包含非該第一群組之至少部份的該等複數個 改變中的一第二群組之一第二訊息之該等電腦可執行 指令至少包含下列: 用於建構一含有一將該第二訊息關聯至該第一訊息之 表頭部位且含有一包含該第二群組之改變的本體部位之第 二SOAP封裝的電腦可執行指令。 22.如申請專利範圍第1 2項所述之電腦程式產品,其中該 一或多數電腦可讀媒體係實體儲存媒體。 30 200415894 2 3 · —種在包括一伺服器計算系統與一客戶端計算系統之 電腦網路中供該伺服器計算系統在即使該客戶端計算 系統的一接收缓衝器不具有足夠記憶體以同時含有一 具有所有用以同步化該伺服器版本與該客戶端版本之 該同步化資料的單一訊息時用於同步化一分層資料結 構之該伺服器版本與該客戶端版本的方法,該伺服器計 算系統與該客戶端計算系統各含有一包含複數個可極 微地編輯成份之分層資料結構的版本,該方法至少包含 下列: 一決定一同步化會在該分層資料結構之該伺服器版本 與該客戶端版本間發生之行動; 一如果同步化將發生時辨識出複數個將需發生之改變 的行動,各該等複數個改變涉及對一或多數之該等可極微 地編輯成份的改變;及 一用於以符合一接收緩衝器大小之方式發送該等複數 個改變至該客戶端計算系統之步驟。 2 4.如申請專利範圍第23項所述之方法,其中用於以符合 一接收緩衝器大小之方式發送該等複數個改變至該客 戶端計算系統之該步驟至少包含下列: 一預估一包含所有該等複數個改變之單一訊息無法被 包含在該客戶端計算系統的一接收緩衝器内之行動; 一組合一包含少於所有該等複數個改變之一第一群組 31 200415894 的第一訊息之行動; 一組合一包含非該第一群組之至少部份的該等複數個 改變中的一第二群組之第二訊息的行動; 一發送該第一訊息至該客戶端計算系統之行動;及 一發送該第二訊息至該客戶端計算系統之行動。 2 5 · —種在包括一伺服器計算系統與一客戶端計算系統之 電腦網路中供該客戶端計算系統在即使該客戶端計算 系統的一接收緩衝器不具有足夠記憶體以同時含有一 具有所有用以同步化該伺服器版本與該客戶端版本之 該同步化資料的單一訊息時用於同步化一分層資料結 構之該伺服器版本與該客戶端版本的方法,該伺服器計 算系統與該客戶端系統各含有一包含複數個可極微地 編輯成份之該分層資料結構的版本,該方法至少包含下 列: 一接收一包括少於所有需要同步化該分層資料結構之 該客戶端版本與該分層資料結構之該伺服器版本之複數個 改變的一第一群組之第一訊息的行動; 一處理在該第一群組之改變中所有該等改變之行動; 一接收一包括非該第一群組之部份的該等複數個改變 中至少一部份的一第二群組之第二訊息的行動;各該等複 數個改變涉及對一或多數該等複數個可極微地編輯成份之 改變;及 32 200415894 一處理在該第二群組之改變中所有該等改變的行動, 其中處理在該第一群組與該第二群組中之所有該等改變的 該等行動涉及對各改變之下列步驟: 一辨識因為該改變所涉及之該等可極微地編輯成 份之行動;及 一以特定方式編輯因為該改變所涉及之該等可極 微地編輯成份的行動。
    26.如申請專利範圍第2 5項所述之方法,更包含下列: 一發送與該伺服器計算系統同步化之一要求的行動。 2 7.如申請專利範圍第25項所述之方法,其中接收包括少 於所有需要同步化該分層資料結構之該客戶端版本與 該分層資料結構之該伺服器版本之複數個改變的的一 第一群組第一訊息之該行動至少包含:
    一接收一含有將第一 SOAP封裝關聯至一第二SOAP 封裝之一表頭部位的第一 SOAP封裝之行動,該第一 SOAP 封裝含有一包含該第一群組之改變的本體部位。 2 8.如申請專利範圍第27項所述之方法,其中接收一包括 非該第一群組之部份的該等複數個改變中至少一部份 的一第二群組之第二訊息的該行動,而各該等複數個改 變涉及對一或多數該等複數個可極微地編輯成份之改 33 200415894 變,至少包含下列: 一接收該第二SOAP封裝之行動,該第二SOAP 含有一將該第二SOAP封裝關聯至該第一 SOAP封裝 頭部位且含有一包含該第二群組之改變的本體部位。 2 9.如申請專利範圍第25項所述之方法,其中接收一 非該第一群組之部份的該等複數個改變中至少一 的一第二群組之第二訊息的該行動,而各該等複數 變涉及對一或多數該等複數個可極微地編輯成份 變,至少包含下列: 一接收含有一將一第二 SOAP封裝關聯至一 SOAP封裝之表頭部位且含有一包含該第二群組之改 本體部位之該第二SOAP封裝的行動。 3 0.如申請專利範圍第2 5項所述之方法,更包含下列 一決定該第一群組之改變代表將在該第二群組之 前發生的改變之行動。 3 1.如申請專利範圍第3 0項所述之方法,其中決定該 群組之改變代表將在該第二群組之改變前發生的 之該行動至少包含: 一比較一來自該第一訊息之改變識別符與一來自 二訊息之改變識別符的行動。 封裝 之表 包括 部份 個改 之改 第一 變的 改變 第一 改變 該第 34 200415894 3 2.如申請專利範圍第3 1項所述之方法,其中決定該第一 群組之改變代表將在該第二群組之改變前發生的改變 之該行動更包含下列: 一決定該第一訊息與該第二訊息有關聯之行動。
    33.如申請專利範圍第30項所述之方法,其中處理在該第 一群組之改變中的所有該等改變之該行動是在處理在 該第二群組之改變中的所有該等改變之該行動前發生。 34.如申請專利範圍第33項所述之方法,其中接收該第一 訊息之該行動是在接收該第二訊息之該行動後發生,該 方法更包含下列:
    一行動,該行動使處理所有在該第二群組之改變中的 所有該等改變之行動先行直到完成接收該第一訊息之該行 動及處理在該第一群組之改變中的所有該等改變之行動。 3 5 · —種用於包括一伺服器計算系統與一客戶端計算系統 之電腦網路中的電腦程式產品,該伺服器計算系統與該 客戶端系統各含有一包含複數個可極微地編輯成份之 分層資料結構的版本,該電腦程式產品用於實施一供該 客戶端計算系統在即使該客戶端計算系統的一接收緩 衝器不具有足夠記憶體以同時含有一具有所有用以同 35 200415894 步化該伺服器版本與該客戶端版本之該同步化資料 單一訊息時用於同步化該分層資料結構之該伺服器 本與該客戶端版本的方法,該電腦程式產品至少包含 或多數在其上具有下列之電腦可讀軟體: 用於偵測接收一包括少於所有需要同步化該分層資 結構之該客戶端版本與該分層資料結構之該伺服器版本 複數個改變的一第一群組的第一訊息之電腦可執行指令 各該等複數個改變涉及對一或多數該等可極微化編輯組 之改變; 用於處理在該第一群組之改變中的所有該等改變之 腦可執行指令; 用於偵測接收一包括非該第一群組之部份的該等複 個改變中至少一部份的一第二群組之第二訊息之電腦可 行指令;各該等複數個改變涉及對一或多數該等可極微 編輯成份之改變;及 用於處理在該第二群組之改變中的所有該等改變之 腦可執行指令,其中處理在該第一群組與該第二群組中 所有該等改變涉及為下列各改變: 辨識因為該改變所涉及之該等可極微地編輯 份;及 以特定方式編輯因為該改變所涉及之該等可極 地編輯成份。 的 版 料 的 件 電 數 執 地 電 之 成 微 36 200415894 36 的 37 第 行 的 38 該 變 .如申請專利範圍第3 5項所述之電腦程式產品,其 一或多數電腦可讀軟體在其上更具有下列: 用於造成一同步化之要求被發送至該伺服器計算 電腦可執行指令。 •如申請專利範圍第3 5項所述之電腦程式產品,其 於偵測接收一包括少於所有需要同步化該分層資 構之該客戶端版本與該分層資料結構之該伺服器 的複數個改變的一第一群組的第一訊息之該等電 執行指令至少包含下列: 用於偵測接收到一含有一將第一 SOAP封裝關聯 二SOAP封裝之表頭部位的第一 SOAP封裝之電腦 指令,該第一 SOAP封裝含有一包含該第一群組之 本體部位。 .如申請專利範圍第3 7項所述之電腦程式產品,其 於偵測接收一包括非該第一群組之部份的該等複 改變中至少一部份的一第二群組之第二訊息之該 腦可執行指令至少包含下列: 用於偵測接收該第二SOAP封裝之電腦可執行指 第二SOAP封裝含有一將該第二SOAP封裝關聯至 SOAP封裝之表頭部位,且含有一包含該第二群組 的本體部位。 中該 糸統 中用 料結 版本 腦可 至一 可執 改變 中用 數個 等電 令, 該第 之改 37 200415894 3 9.如申請專利範圍第3 5項所述之電腦程式產品,其中用 於偵測接收一包括非該第一群組之部份的該等複數個 改變中至少一部份的一第二群組之第二訊息之該等電 腦可執行指令至少包含:
    用於偵測接收一含有一將該第二SOAP封裝關聯至一 第一 S OAP封裝之表頭部位且含有一包含該第二群組之改 變的本體部位的第二S OAP封裝之電腦可執行指令。 40.如申請專利範圍第3 5項所述之電腦程式產品,其中該 一或多數電腦可讀軟體在其上更具有下列: 用於決定該第一群組之改變代表將在該第二群組之改 變前發生的改變之電腦可執行指令。
    4 1.如申請專利範圍第40項所述之方法,其中用於決定該 第一群組之改變代表將在該第二群組之改變前發生的 改變之該等電腦可執行指令至少包含下列: 用於比較一來自該第一訊息之改變識別符與一來自該 第二訊息之改變識別符的電腦可執行指令。 42.如申請專利範圍第41項所述之方法,其中用於決定該 第一群組之改變代表將在該第二群組之改變前發生的 改變之該等電腦可執行指令至少包含下列: 38 200415894 用於決定該第一訊息與該第二訊息有關聯之電腦可執 行指令。 43 .如申請專利範圍第40項所述之電腦程式產品,其中用 於處理在該第一群組之改變中的所有該等改變發生之 該等電腦可執行指令是經設置在用於處理在該第二群 組之改變中的所有該等改變之該等電腦可執行指令前
    44 ·如申請專利範圍第3 5項所述之方法,其中該一或多數 電腦可讀軟體是實體儲存媒體。
    39
TW092130351A 2002-11-19 2003-10-30 Atomic message division TWI321419B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/300,138 US7337239B2 (en) 2002-11-19 2002-11-19 Atomic message division

Publications (2)

Publication Number Publication Date
TW200415894A true TW200415894A (en) 2004-08-16
TWI321419B TWI321419B (en) 2010-03-01

Family

ID=32324394

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092130351A TWI321419B (en) 2002-11-19 2003-10-30 Atomic message division

Country Status (6)

Country Link
US (1) US7337239B2 (zh)
EP (1) EP1435715B1 (zh)
JP (1) JP4455025B2 (zh)
KR (1) KR101076850B1 (zh)
CN (1) CN100518044C (zh)
TW (1) TWI321419B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237184B2 (en) * 2003-12-18 2007-06-26 Microsoft Corporation Data property promotion system and method
KR100808414B1 (ko) * 2004-06-08 2008-02-29 엘지전자 주식회사 이동단말의 클라이언트 세션 복구방법
US7954050B2 (en) * 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US7860989B2 (en) * 2005-02-02 2010-12-28 Microsoft Corporation Efficient transformation of interchange format messages
FR2881903B1 (fr) * 2005-02-08 2007-06-08 Baracoda Sa Systeme a reveil informatique multimedia avec liaison de communication
US7305420B2 (en) * 2005-05-25 2007-12-04 Microsoft Corporation Synchronizing modifiable documents with multiple clients using document subsections
KR100739729B1 (ko) * 2005-09-03 2007-07-13 삼성전자주식회사 디지털 방송 네트워크에서 서버와 클라이언트 간 epg정보를 동기화시키기 위한 방법 및 장치
US7788338B2 (en) * 2005-09-21 2010-08-31 Sap Ag Web services message processing runtime framework
US7904418B2 (en) * 2006-11-14 2011-03-08 Microsoft Corporation On-demand incremental update of data structures using edit list
US9104962B2 (en) 2007-03-06 2015-08-11 Trion Worlds, Inc. Distributed network architecture for introducing dynamic content into a synthetic environment
US8898325B2 (en) * 2007-03-06 2014-11-25 Trion Worlds, Inc. Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
US8812712B2 (en) * 2007-08-24 2014-08-19 Alcatel Lucent Proxy-driven content rate selection for streaming media servers
CN101677314B (zh) * 2008-09-18 2013-01-09 华为终端有限公司 一种同步数据操作的标识方法、装置及系统
US8626863B2 (en) * 2008-10-28 2014-01-07 Trion Worlds, Inc. Persistent synthetic environment message notification
US8657686B2 (en) * 2009-03-06 2014-02-25 Trion Worlds, Inc. Synthetic environment character data sharing
US8694585B2 (en) * 2009-03-06 2014-04-08 Trion Worlds, Inc. Cross-interface communication
US8661073B2 (en) * 2009-03-06 2014-02-25 Trion Worlds, Inc. Synthetic environment character data sharing
US8214515B2 (en) * 2009-06-01 2012-07-03 Trion Worlds, Inc. Web client data conversion for synthetic environment interaction
CN102546815A (zh) * 2012-01-20 2012-07-04 王鑫 一种数字电子终端间同步系统和数字电子终端间同步方法
US20130326330A1 (en) * 2012-06-01 2013-12-05 Google Inc. Integrating collaboratively proposed changes and publishing
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
CN105306585B (zh) * 2015-11-12 2019-02-05 焦点科技股份有限公司 一种多数据中心的数据同步方法
CN105791401B (zh) * 2016-03-01 2019-09-20 张君 客户端与服务端在网与离网状态下数据交互方法、系统
TWI660575B (zh) * 2018-06-07 2019-05-21 崑山科技大學 具提升輸出電壓響應之運算放大裝置
WO2023128794A1 (en) * 2021-12-30 2023-07-06 Ringcentral, Inc., (A Delaware Corporation) System and method for deep message editing in a chat communication environment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013315B1 (en) * 1996-11-13 2006-03-14 Intellisync Corporation Synchronization of databases with record sanitizing and intelligent comparison
EP0964559A1 (en) 1998-06-08 1999-12-15 THOMSON multimedia Method for transmitting asynchronous data in a home network
US6377957B1 (en) 1998-12-29 2002-04-23 Sun Microsystems, Inc. Propogating updates efficiently in hierarchically structured date
US6393434B1 (en) * 1999-09-14 2002-05-21 International Business Machines Corporation Method and system for synchronizing data using fine-grained synchronization plans
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7320011B2 (en) * 2001-06-15 2008-01-15 Nokia Corporation Selecting data for synchronization and for software configuration
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
US7076567B1 (en) * 2002-04-25 2006-07-11 Oracle International Corporation Simplified application object data synchronization for optimized data storage

Also Published As

Publication number Publication date
KR20040044150A (ko) 2004-05-27
JP4455025B2 (ja) 2010-04-21
US7337239B2 (en) 2008-02-26
CN1505304A (zh) 2004-06-16
JP2004171574A (ja) 2004-06-17
TWI321419B (en) 2010-03-01
US20040103141A1 (en) 2004-05-27
EP1435715B1 (en) 2012-08-08
EP1435715A2 (en) 2004-07-07
EP1435715A3 (en) 2006-02-08
KR101076850B1 (ko) 2011-10-25
CN100518044C (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
TW200415894A (en) Atomic message division
US11200044B2 (en) Providing access to a hybrid application offline
US7818458B2 (en) Clipboard for application sharing
AU2015267625B2 (en) Activity continuation between electronic devices
JP5280583B2 (ja) サーバ記憶モデルを利用したファイルパーティションの同期
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
US10180945B2 (en) Data replication from a cloud-based storage resource
JP6484667B2 (ja) 構造化文書のページレットのキャッシング
CN107656937B (zh) 用于实现读写数据一致性的方法和装置
WO2021227860A1 (zh) 一种数据同步的方法、装置、终端以及存储介质
US20080077668A1 (en) Method and apparatus for synchronizing content directory service objects of universal plug and play media servers
CN103907311A (zh) 来自移动设备的远程访问
WO2021212493A1 (zh) 数据同步方法、装置、数据存储系统及计算机可读介质
US20090013284A1 (en) Systems and Methods for Communicating Information
US20130325908A1 (en) Systems and methods for storing data and eliminating redundancy
CN117390032A (zh) 数据处理方法、装置、设备及存储介质
US20080320169A1 (en) Systems, Methods, and Computer Programs for Enabling a Computing Apparatus to Obtain Data
CN115292633A (zh) 一种网页解说录制与播放方法
CN116962430A (zh) 数据同步方法、装置、设备以及存储介质
CN113423095A (zh) 信息交互方法、装置和电子设备
CN117149876A (zh) 一种基于车联网多数据源的数据元信息同步方法及装置
CN116028236A (zh) 消息队列的构建方法、装置、电子设备

Legal Events

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