專利名稱:用于客戶端與服務(wù)器同步的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)同步領(lǐng)域,并且更具體地涉及使用同步框架來提供數(shù)據(jù)同步服務(wù)。
背景技術(shù):
個(gè)人計(jì)算機(jī)不再是用戶通過它連接到類似互聯(lián)網(wǎng)的數(shù)據(jù)通信網(wǎng)絡(luò)的最普通的工具。既然計(jì)算被視為真正地?zé)o處不在,計(jì)算機(jī)科學(xué)家和信息技術(shù)專家已經(jīng)開始重新思考那些被提供用來滿足移動(dòng)計(jì)算用戶需要的服務(wù)。結(jié)果,普適計(jì)算(pervasive computing)的研究已經(jīng)導(dǎo)致網(wǎng)絡(luò)連接性領(lǐng)域的實(shí)質(zhì)性的變革?!捌者m計(jì)算”已經(jīng)被定義為涉及任何無約束的計(jì)算設(shè)備,該設(shè)備在物理上不局限于數(shù)據(jù)通信網(wǎng)絡(luò)。因此,普適計(jì)算設(shè)備不僅涉及無線連網(wǎng)的計(jì)算機(jī),而且還涉及手提計(jì)算設(shè)備、可佩戴系統(tǒng)、嵌入式計(jì)算系統(tǒng)等。
大多數(shù)普適設(shè)備,包括筆記本電腦、手提計(jì)算機(jī)以及甚至支持?jǐn)?shù)據(jù)的蜂窩電話允許與例如臺(tái)式計(jì)算機(jī)的不同計(jì)算設(shè)備的數(shù)據(jù)同步。數(shù)據(jù)同步指在兩個(gè)數(shù)據(jù)源之間數(shù)據(jù)的協(xié)調(diào),使得盡管改變了應(yīng)用于一個(gè)或兩個(gè)數(shù)據(jù)源中的數(shù)據(jù),但仍能夠協(xié)調(diào)包含在每個(gè)數(shù)據(jù)源中的數(shù)據(jù)?,F(xiàn)代普適設(shè)備通過至主計(jì)算設(shè)備的直接線纜鏈接、調(diào)制解調(diào)器鏈接、或網(wǎng)絡(luò)鏈接來提供同步處理。無線普適設(shè)備進(jìn)一步能夠通過紅外或射頻鏈接供應(yīng)同步。
為了促進(jìn)主控(host)不同應(yīng)用的不同設(shè)備的同步,已經(jīng)提出類似于由“ SyncML”規(guī)定的框架的同步框架。通常,同步框架定義用于在所連接的服務(wù)器與普適設(shè)備上的異類數(shù)據(jù)存儲(chǔ)器之間的用于數(shù)據(jù)同步的可互操作協(xié)議。這種同步框架進(jìn)一步定義了在客戶端和服務(wù)器之間的消息交換,用于完成同步。然而,通過設(shè)計(jì),同步框架不規(guī)定完成同步所需的實(shí)際處理。
目前的協(xié)議同步框架促進(jìn)了在諸如無線鏈接的通信介質(zhì)上本地和主機(jī)設(shè)備的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的協(xié)調(diào)。在普通的同步過程中,客戶端設(shè)備取回自從本地?cái)?shù)據(jù)存儲(chǔ)器的最后的同步起的數(shù)據(jù)更新,并且向主機(jī)設(shè)備提供這些更新。主機(jī)設(shè)備將該更新應(yīng)用于主機(jī)數(shù)據(jù)存儲(chǔ)器,并且將自從主機(jī)數(shù)據(jù)存儲(chǔ)器的最后的同步起的更新提供給客戶端設(shè)備。為了標(biāo)識(shí)更新的數(shù)據(jù),主機(jī)設(shè)備依賴于由客戶端設(shè)備先前提供的本地標(biāo)識(shí)符。
當(dāng)接收到主機(jī)更新后,客戶端通過每一次更新將相同內(nèi)容迭代地應(yīng)用于本地?cái)?shù)據(jù)存儲(chǔ)器。只有一旦已經(jīng)在本地應(yīng)用所有更新,客戶端設(shè)備將向主機(jī)設(shè)備提供更新的映射信息,以便促進(jìn)后續(xù)的同步。同樣,技術(shù)人員將認(rèn)識(shí)到,客戶端側(cè)更新的串行特性和對(duì)于提供本地標(biāo)識(shí)符映射的嚴(yán)重依賴可能使目前的同步協(xié)議容易受到故障情況和慢速響應(yīng)的影響。另外,技術(shù)人員將認(rèn)識(shí)到,在客戶端設(shè)備中的處理可能比在服務(wù)器中的處理更慢,并且網(wǎng)絡(luò)鏈接可以進(jìn)一步限制同步的速度。
特別地,在通信鏈接在同步期間(mid-synchronization)中斷的情況下,將丟失所有進(jìn)程。而且,在將本地標(biāo)識(shí)符映射轉(zhuǎn)發(fā)至主機(jī)設(shè)備前,客戶端設(shè)備必須盡量等待在本地?cái)?shù)據(jù)存儲(chǔ)器中的更新處理完成,在由于可應(yīng)用的普適設(shè)備的特性而引起的更新處理緩慢的地方可能引起相當(dāng)大的延遲。最后,目前的同步協(xié)議不能考慮到在源自主機(jī)設(shè)備而不是客戶端設(shè)備的同步處理中具有大量更新業(yè)務(wù)的業(yè)務(wù)傳送的實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例解決了關(guān)于數(shù)據(jù)同步領(lǐng)域的技術(shù)的不足,并且提供一種新穎的且非顯而易見的方法、系統(tǒng)和裝置,用于客戶端和服務(wù)器同步的協(xié)議優(yōu)化。在一個(gè)實(shí)施例中,能夠提供支持優(yōu)化的同步協(xié)議的數(shù)據(jù)處理系統(tǒng)。該系統(tǒng)可以包括同步客戶端,被配置為針對(duì)普通應(yīng)用而通過通信介質(zhì)可通信地耦合到同步服務(wù)器;用于公共應(yīng)用的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器;以及數(shù)據(jù)存儲(chǔ)器代理,耦合于同步客戶端和數(shù)據(jù)存儲(chǔ)器中的每一個(gè)。
該代理可以包括程序代碼,該程序代碼能夠用于在同步客戶端與同步服務(wù)器交換通信的同時(shí),代表同步客戶端處理針對(duì)公共應(yīng)用的數(shù)據(jù)存儲(chǔ)器的更新,作為同步會(huì)話的一部分。例如,更新可能是用于同步會(huì)話的單個(gè)服務(wù)器更新的子集。該代理還可以包括附加程序代碼,附加程序代碼能夠?qū)㈩A(yù)分配的臨時(shí)本地標(biāo)識(shí)符指派給與子集相關(guān)聯(lián)的本地對(duì)象,并且能夠響應(yīng)于接收到來自同步服務(wù)器的子集而將指派的預(yù)分配的臨時(shí)本地標(biāo)識(shí)符提供給同步服務(wù)器。
在本發(fā)明的另一個(gè)實(shí)施例中,能夠提供一種用于客戶端和服務(wù)器同步的協(xié)議優(yōu)化方法。該方法可以包括接收來自同步服務(wù)器的服務(wù)器更新;以及在完成對(duì)客戶端數(shù)據(jù)存儲(chǔ)器的應(yīng)用之前,將每一個(gè)更新應(yīng)用于客戶端數(shù)據(jù)存儲(chǔ)器,同時(shí)請(qǐng)求來自同步服務(wù)器的服務(wù)器更新中另外的服務(wù)器更新。在該實(shí)施例的一個(gè)方面,接收來自同步服務(wù)器的服務(wù)器更新可以包括從同步服務(wù)器接收用于同步會(huì)話的單個(gè)服務(wù)器更新的服務(wù)器更新子集。
在該實(shí)施例的另一方面,該方法還可以包括預(yù)分配臨時(shí)本地標(biāo)識(shí)符,用于指派給與服務(wù)器更新子集的進(jìn)入服務(wù)器更新子集相關(guān)聯(lián)的本地對(duì)象;將對(duì)應(yīng)于本地對(duì)象的預(yù)分配的臨時(shí)本地標(biāo)識(shí)符的映射提供給同步服務(wù)器;以及當(dāng)單個(gè)服務(wù)器更新的所有服務(wù)器更新子集已經(jīng)被接收并且應(yīng)用于客戶端數(shù)據(jù)存儲(chǔ)器時(shí),將更新的映射提供給同步服務(wù)器。同樣,當(dāng)檢測(cè)到同步會(huì)話中的中斷時(shí),可以在最接近最后處理的服務(wù)器更新子集處恢復(fù)同步會(huì)話。
本發(fā)明的附加方面將在以下的描述中進(jìn)行部分闡述,并且根據(jù)描述部分將是明顯的,或可以通過本發(fā)明的實(shí)踐被了解。借助于在后附權(quán)利要求書中具體指出的元件或組合將可以實(shí)現(xiàn)并且完成本發(fā)明的方面。可理解的是,前面的概略描述與后面的詳細(xì)描述都僅僅是實(shí)例性和解釋性的并且不是對(duì)要求保護(hù)的本發(fā)明的限制。
包括在說明書中并且是其組成部分的附圖示出了本發(fā)明的實(shí)施例,并且結(jié)合描述來解釋本發(fā)明的原理。在此示出的實(shí)施例是當(dāng)前優(yōu)選的,然而,可理解本發(fā)明并不限于所示的精確安排和手段,其中圖1是能夠用于協(xié)議優(yōu)化數(shù)據(jù)同步的數(shù)據(jù)處理系統(tǒng)的示意說明;以及圖2是示出用于協(xié)議優(yōu)化數(shù)據(jù)同步的處理的事件圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施例提供了一種用于協(xié)議優(yōu)化數(shù)據(jù)同步的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。根據(jù)本發(fā)明的實(shí)施例,在取回服務(wù)器更新塊的取回的同時(shí),可以將在用于公共應(yīng)用的數(shù)據(jù)同步期間對(duì)客戶端的服務(wù)器更新存儲(chǔ)在客戶端數(shù)據(jù)存儲(chǔ)器中。而且,用于完全同步的對(duì)客戶端的單個(gè)服務(wù)器更新能夠被分割為在服務(wù)器和客戶端之間的服務(wù)器更新子集的多個(gè)更新交換。最后,在數(shù)據(jù)同步過程期間,可以將預(yù)分配的臨時(shí)本地標(biāo)識(shí)符映射到服務(wù)器側(cè)的數(shù)據(jù)對(duì)象,使得可以恢復(fù)對(duì)同步處理的中斷,而不需要重新啟動(dòng)同步處理。
通過在取回服務(wù)器更新塊的同時(shí)執(zhí)行對(duì)客戶端的服務(wù)器更新,可以消除傳統(tǒng)數(shù)據(jù)同步協(xié)議的緩慢的、串行的處理特性,從而支持更快的并行處理。另外,通過將用于完全同步的對(duì)客戶端的單個(gè)服務(wù)器更新分割為在服務(wù)器和客戶端之間的服務(wù)器更新子集的多個(gè)更新交換,能夠更容易滿足性能和故障恢復(fù)的目標(biāo)。最后,通過在數(shù)據(jù)同步過程期間預(yù)分配用于映射到服務(wù)器側(cè)數(shù)據(jù)對(duì)象的臨時(shí)本地標(biāo)識(shí)符,可以恢復(fù)同步處理的中斷,而不需要重新啟動(dòng)同步處理。
在本發(fā)明的示例性實(shí)施例的更具體的說明中,圖1是能夠用于協(xié)議優(yōu)化數(shù)據(jù)同步的數(shù)據(jù)處理系統(tǒng)的示意說明。該數(shù)據(jù)處理系統(tǒng)可以包括主機(jī)計(jì)算平臺(tái)130,該平臺(tái)通過計(jì)算機(jī)通信介質(zhì)120,例如有線或無線數(shù)據(jù)通信介質(zhì),耦合于一個(gè)或多個(gè)客戶端計(jì)算平臺(tái)110。根據(jù)同步協(xié)議,主機(jī)計(jì)算平臺(tái)130和每個(gè)客戶端計(jì)算平臺(tái)110二者都能夠支持能夠用于數(shù)據(jù)同步的公共應(yīng)用190A、190B的操作。
為了針對(duì)公共應(yīng)用190A、190B能夠進(jìn)行數(shù)據(jù)同步,在主機(jī)計(jì)算平臺(tái)130中能夠提供同步服務(wù)器140,并且在每個(gè)客戶計(jì)算平臺(tái)110中能夠提供同步客戶端180。同步客戶端180和同步服務(wù)器140可以被配置為跨越通信介質(zhì)120來協(xié)商和管理針對(duì)公共應(yīng)用190A、190B中的數(shù)據(jù)的數(shù)據(jù)同步處理。通常,由設(shè)置在客戶端平臺(tái)110中的公共應(yīng)用190A利用的數(shù)據(jù)能夠存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器150中。
顯著地,同步代理170可以被邏輯地設(shè)置在同步客戶端180與客戶端數(shù)據(jù)存儲(chǔ)器150之間,這是由于同步代理170可以代表客戶端數(shù)據(jù)存儲(chǔ)器150管理對(duì)客戶端數(shù)據(jù)存儲(chǔ)器150的更新,而不需要同步客戶端180與客戶端數(shù)據(jù)存儲(chǔ)器150直接通信。同步代理170可以包括程序代碼,該程序代碼能夠代表同步客戶端180支持到客戶端數(shù)據(jù)存儲(chǔ)器150的并行處理更新,允許同步客戶端180返回到與同步服務(wù)器140通信。用這種方式,同步客戶端180在恢復(fù)與同步服務(wù)器140的同步會(huì)話前不需要等待對(duì)數(shù)據(jù)存儲(chǔ)器150的更新處理成功完成。
重要地是,同步代理170的程序代碼能夠被進(jìn)一步用于以多個(gè)、分割的更新子集來處理用于應(yīng)用190A、190B的單個(gè)服務(wù)器更新。而且,對(duì)于每個(gè)分割的子集,可以提供用于在數(shù)據(jù)存儲(chǔ)器150中的存儲(chǔ)對(duì)象的臨時(shí)本地標(biāo)識(shí)符160。在這一點(diǎn)上,可以使得程序代碼將臨時(shí)本地標(biāo)識(shí)符160預(yù)分配至每個(gè)更新子集中的同步數(shù)據(jù)。該臨時(shí)本地標(biāo)識(shí)符160可以映射到在主機(jī)計(jì)算平臺(tái)130中的本地對(duì)象,而不用針對(duì)每個(gè)更新子集等待在數(shù)據(jù)存儲(chǔ)器150中的更新處理完成。另外,同步處理的任何中斷可以在以最后處理的更新子集開始的同步處理中通過簡(jiǎn)單恢復(fù)來補(bǔ)救。
在更具體的說明中,圖2是一幅示出用于協(xié)議優(yōu)化數(shù)據(jù)同步的處理的事件圖。自路徑205開始,同步客戶端可以向數(shù)據(jù)存儲(chǔ)器代理轉(zhuǎn)發(fā)用以改變客戶端數(shù)據(jù)存儲(chǔ)器的請(qǐng)求。在路徑210中,數(shù)據(jù)存儲(chǔ)器代理可以將該改變轉(zhuǎn)發(fā)至同步客戶端用于與同步服務(wù)器同步。在路徑215中,同步客戶端可以將改變遞送至同步服務(wù)器,并且在路徑220中,同步服務(wù)器可以利用用于同步會(huì)話的服務(wù)器更新的完整集合的子集來答復(fù)同步客戶端。
在路徑225中,服務(wù)器更新的子集可以被提供至數(shù)據(jù)存儲(chǔ)器代理,并且在路徑230中數(shù)據(jù)存儲(chǔ)器代理可以利用更新子集中所引用的對(duì)象的臨時(shí)標(biāo)識(shí)符的預(yù)分配本地映射來響應(yīng)。其后,在路徑235中數(shù)據(jù)存儲(chǔ)器代理可以將服務(wù)器更新的子集提供至客戶端數(shù)據(jù)存儲(chǔ)器用來存儲(chǔ)。在路徑245中,數(shù)據(jù)存儲(chǔ)器可以處理服務(wù)器更新子集的存儲(chǔ)并且,當(dāng)完成時(shí),在路徑250中數(shù)據(jù)存儲(chǔ)器可以將用于服務(wù)器更新子集的本地標(biāo)識(shí)符提供給數(shù)據(jù)存儲(chǔ)器代理。其后,在路徑255中同步服務(wù)器可以將服務(wù)器更新的新子集提供至同步客戶端,用以根據(jù)路徑225到250進(jìn)行處理。
具體地,在路徑260中服務(wù)器更新的子集可以被提供給數(shù)據(jù)存儲(chǔ)器代理,并且在路徑265中數(shù)據(jù)存儲(chǔ)器代理可以利用更新子集中所引用的對(duì)象的臨時(shí)標(biāo)識(shí)符的預(yù)分配本地映射來響應(yīng)。另外,在路徑265中數(shù)據(jù)存儲(chǔ)器代理可以利用先前存儲(chǔ)的對(duì)象的最終標(biāo)識(shí)符的本地映射來響應(yīng)。其后,在路徑275中數(shù)據(jù)存儲(chǔ)器代理可以將服務(wù)器更新子集提供給客戶數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ),并且在路徑270中服務(wù)器可以根據(jù)情況使用臨時(shí)和最終映射。在路徑280中,數(shù)據(jù)存儲(chǔ)器可以處理服務(wù)器更新子集的存儲(chǔ),并且當(dāng)完成時(shí),在路徑290中數(shù)據(jù)存儲(chǔ)器可以將用于服務(wù)器更新子集的本地標(biāo)識(shí)符提供給數(shù)據(jù)存儲(chǔ)器代理。
這個(gè)處理可以繼續(xù)進(jìn)行直到所有服務(wù)器更新子集已經(jīng)完成,以形成用于同步會(huì)話的完整服務(wù)器更新。在服務(wù)器更新的最后的子集完成時(shí),在路徑295中更新完成消息可以被轉(zhuǎn)發(fā)至同步客戶端。響應(yīng)于接收到更新完成消息,在路徑300中,同步客戶端可以將對(duì)象標(biāo)識(shí)符的本地映射遞送給同步服務(wù)器,使得同步服務(wù)器可以具有真實(shí)的和正確的映射而沒有先前指派的臨時(shí)標(biāo)識(shí)符。在路徑305中,同步服務(wù)器可以確認(rèn)該映射。其后,預(yù)期一個(gè)新的同步會(huì)話,在路徑310中,客戶端數(shù)據(jù)存儲(chǔ)器可以請(qǐng)求臨時(shí)本地標(biāo)識(shí)符的新集合,并且在路徑315中客戶端數(shù)據(jù)存儲(chǔ)器可以通過將預(yù)分配的臨時(shí)本地標(biāo)識(shí)符的集合提供給數(shù)據(jù)存儲(chǔ)器代理作為響應(yīng)。
重要地是,更新客戶端數(shù)據(jù)存儲(chǔ)器的處理可以在與同步客戶端和同步服務(wù)器進(jìn)行同步會(huì)話中使用的執(zhí)行線程不同的執(zhí)行線程中進(jìn)行。因此,更新數(shù)據(jù)存儲(chǔ)器的處理可以和與同步服務(wù)器通信的處理并行進(jìn)行。而且,由于單個(gè)同步會(huì)話的完整服務(wù)器更新可以被分割為被指派到臨時(shí)本地標(biāo)識(shí)符的服務(wù)器更新的小子集,通信的中斷可以通過在存儲(chǔ)臨時(shí)本地標(biāo)識(shí)符映射的最新集合處恢復(fù)同步會(huì)話來補(bǔ)救。
本發(fā)明的實(shí)施例可以采取完全的硬件實(shí)施例、完全的軟件實(shí)施例或既包括硬件也包括軟件單元的實(shí)施例的形式。在優(yōu)選的實(shí)施例中,本發(fā)明以軟件實(shí)現(xiàn),包括但不局限于固件、常駐軟件、微碼等。而且,本發(fā)明可以采取從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可訪問的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用的或與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)相連接使用的程序代碼。
為了該描述的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是能夠包含、存儲(chǔ)、通信、傳播或傳送用于由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用的或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備相連接使用的程序的任何裝置。該介質(zhì)可以是電的、磁的、光學(xué)的、電磁的、紅外的或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)磁盤、隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),硬盤以及光盤、目前光盤的例子包括致密盤-只讀存儲(chǔ)器(CD-ROM),致密盤-讀/寫(CD-R/W)以及DVD。
適合存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)通過系統(tǒng)總線直接或間接耦合于存儲(chǔ)器元件的處理器。存儲(chǔ)器元件可以包括在程序代碼實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器、大容量存儲(chǔ)器以及高速緩存存儲(chǔ)器,其提供至少部分程序代碼的臨時(shí)存儲(chǔ)器,以便減少必須在執(zhí)行期間取回的時(shí)間碼的數(shù)目。輸入/或輸出或I/O設(shè)備(包括但不局限于鍵盤、顯示器、指針設(shè)備等)可以直接或通過中間I/O控制器耦合于系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合于系統(tǒng),以使數(shù)據(jù)處理系統(tǒng)能夠通過中間專用或公共網(wǎng)絡(luò)耦合到其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器以及以太網(wǎng)卡僅是目前可用的幾類網(wǎng)絡(luò)適配器。
權(quán)利要求
1.一種支持優(yōu)化的同步協(xié)議的數(shù)據(jù)處理系統(tǒng),包括同步客戶端,被配置為針對(duì)公共應(yīng)用而通過通信介質(zhì)可通信地耦合到同步服務(wù)器;用于所述公共應(yīng)用的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器;以及數(shù)據(jù)存儲(chǔ)器代理,耦合于所述同步客戶端和所述數(shù)據(jù)存儲(chǔ)器中的每一個(gè),所述代理包括程序代碼,所述程序代碼能夠用于在所述同步客戶端與同步服務(wù)器交換通信的同時(shí),代表所述同步客戶端處理針對(duì)所述公共應(yīng)用的所述數(shù)據(jù)存儲(chǔ)器的更新,作為同步會(huì)話的一部分。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中所述通信介質(zhì)是無線數(shù)據(jù)網(wǎng)絡(luò)。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中所述通信介質(zhì)是有線數(shù)據(jù)網(wǎng)絡(luò)。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中所述更新是用于所述同步會(huì)話的單個(gè)服務(wù)器更新的子集。
5.根據(jù)權(quán)利要求4的系統(tǒng),其中所述代理進(jìn)一步包括附加程序代碼,所述附加程序代碼能夠?qū)㈩A(yù)分配的臨時(shí)本地標(biāo)識(shí)符指派給與所述子集相關(guān)聯(lián)的本地對(duì)象,并且能夠響應(yīng)于接收到來自所述同步服務(wù)器的子集而將指派的預(yù)分配的臨時(shí)本地標(biāo)識(shí)符提供給所述同步服務(wù)器。
6.一種用于客戶端和服務(wù)器同步的協(xié)議優(yōu)化方法,所述方法包括接收來自同步服務(wù)器的多個(gè)服務(wù)器更新;以及在完成對(duì)客戶端數(shù)據(jù)存儲(chǔ)器的應(yīng)用之前,將每一個(gè)更新應(yīng)用于客戶端數(shù)據(jù)存儲(chǔ)器,同時(shí)請(qǐng)求來自所述同步服務(wù)器的所述服務(wù)器更新中另外的服務(wù)器更新。
7.根據(jù)權(quán)利要求6的方法,其中接收來自同步服務(wù)器的多個(gè)服務(wù)器更新,包括從同步服務(wù)器接收用于同步會(huì)話的單個(gè)服務(wù)器更新的多個(gè)服務(wù)器更新子集。
8.根據(jù)權(quán)利要求7的方法,進(jìn)一步包括當(dāng)所述單個(gè)服務(wù)器更新的所有服務(wù)器更新子集已經(jīng)被接收并且被應(yīng)用于所述客戶端數(shù)據(jù)存儲(chǔ)器時(shí)通知所述同步服務(wù)器。
9.根據(jù)權(quán)利要求6的方法,其中在完成對(duì)客戶端數(shù)據(jù)存儲(chǔ)器的應(yīng)用之前將每一個(gè)更新應(yīng)用于所述客戶端數(shù)據(jù)存儲(chǔ)器同時(shí)請(qǐng)求來自所述同步服務(wù)器的所述服務(wù)器更新中另外的服務(wù)器更新,包括在完成對(duì)客戶端數(shù)據(jù)存儲(chǔ)器的應(yīng)用之前,在一個(gè)并行執(zhí)行的執(zhí)行線程中將每個(gè)更新應(yīng)用于所述客戶端數(shù)據(jù)存儲(chǔ)器,同時(shí)在一個(gè)不同的并行執(zhí)行的執(zhí)行線程中請(qǐng)求來自所述同步服務(wù)器的服務(wù)器更新中另外的服務(wù)器更新。
10.根據(jù)權(quán)利要求8的方法,進(jìn)一步包括預(yù)分配臨時(shí)本地標(biāo)識(shí)符,用于指派給與所述服務(wù)器更新子集的進(jìn)入服務(wù)器更新子集相關(guān)聯(lián)的本地對(duì)象;將對(duì)應(yīng)于所述本地對(duì)象的所述預(yù)分配的臨時(shí)本地標(biāo)識(shí)符的映射提供給所述同步服務(wù)器;以及當(dāng)所述單個(gè)服務(wù)器更新的所有服務(wù)器更新子集已經(jīng)被接收并且應(yīng)用于所述客戶端數(shù)據(jù)存儲(chǔ)器時(shí),將更新的映射提供給所述同步服務(wù)器。
11.根據(jù)權(quán)利要求8的方法,進(jìn)一步包括檢測(cè)所述同步會(huì)話中的中斷;以及在最接近最后處理的服務(wù)器更新子集處恢復(fù)所述同步會(huì)話。
全文摘要
本發(fā)明的實(shí)施例解決了關(guān)于數(shù)據(jù)同步領(lǐng)域的技術(shù)的不足,并且提供一種新穎的且非顯而易見的方法、系統(tǒng)和裝置,用于客戶端和服務(wù)器同步的協(xié)議優(yōu)化。在一個(gè)實(shí)施例中,能夠提供支持優(yōu)化的同步協(xié)議的數(shù)據(jù)處理系統(tǒng)。該方法可以包括接收來自同步服務(wù)器的服務(wù)器更新;以及在完成對(duì)客戶端數(shù)據(jù)存儲(chǔ)器的應(yīng)用之前,將每一個(gè)更新應(yīng)用于客戶端數(shù)據(jù)存儲(chǔ)器,同時(shí)請(qǐng)求來自同步服務(wù)器的服務(wù)器更新的附加服務(wù)器更新。在該實(shí)施例的一個(gè)方面,接收來自同步服務(wù)器的服務(wù)器更新可以包括從同步服務(wù)器接收用于同步會(huì)話的單個(gè)服務(wù)器更新的服務(wù)器更新子集。
文檔編號(hào)H04L29/06GK101072091SQ20071010477
公開日2007年11月14日 申請(qǐng)日期2007年4月26日 優(yōu)先權(quán)日2006年5月9日
發(fā)明者C·E·赫里舒克, T·E·克里默 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司