專利名稱:利用服務(wù)器存儲模型來同步文件分區(qū)的制作方法
利用服務(wù)器存儲模型來同步文件分區(qū)背景在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中,電子文檔文件可以由在不同的客戶機(jī)計算機(jī)處的多個用戶編輯。電子文檔文件可以包括不同于且獨立于主文檔文件內(nèi)容的相關(guān)聯(lián)的編輯會話數(shù)據(jù)(例如,元數(shù)據(jù))。在客戶機(jī)計算機(jī)和中央服務(wù)器之間同步電子文檔文件以便存儲對該電子文檔文件做出的任何編輯,然后,這些編輯由網(wǎng)絡(luò)中的其他客戶機(jī)計算機(jī)的用戶查看。在現(xiàn)有的同步方法下,必須將任何相關(guān)聯(lián)的元數(shù)據(jù)與對電子文檔文件做出的編輯一起同步。具體而言,對于標(biāo)記語言或?qū)ο箧溄优c嵌入(“OLE”)復(fù)合文檔,可以將元數(shù)據(jù)置于用于同步的可擴(kuò)展文件格式。作為同步的結(jié)果,即使同步電子文檔文件的用戶不期望由其他用戶(在電子文檔文件內(nèi))查看或下載與該電子文檔文件相關(guān)聯(lián)的元數(shù)據(jù),也在服務(wù)器上自動公開該元數(shù)據(jù)。相對于這些考慮和其他,實現(xiàn)本發(fā)明的各種實施方式。概述提供本概述以便以簡化形式介紹下面在詳細(xì)描述中進(jìn)一步描述的概念的選集。本概述不旨在標(biāo)識所要求保護(hù)的本主題關(guān)鍵特征或必要特征,也不旨在輔助確定所要求保護(hù)的本主題的范圍。提供了用于在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中利用服務(wù)器存儲模型同步文件分區(qū)的各實施方式。在客戶機(jī)計算機(jī)處可以接收到對電子文檔的內(nèi)容的編輯。該內(nèi)容可以被包括在被存儲在服務(wù)器計算機(jī)上的文件的第一分區(qū)中。該第一分區(qū)可以包括包含該電子文檔內(nèi)容的第一流。該文件可以包括多個分區(qū),且每一分區(qū)包括一個或多個流??蛻魴C(jī)計算機(jī)可以在該文件的第二分區(qū)中生成元數(shù)據(jù)。元數(shù)據(jù)可以與對第一分區(qū)中的電子文檔內(nèi)容的編輯相關(guān)聯(lián)。然后,可以將第二分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲元數(shù)據(jù)。然后, 可以將第一分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲對電子文檔內(nèi)容做出的編輯。通過閱讀下面的詳細(xì)描述并參考相關(guān)聯(lián)的附圖,這些及其他特點和優(yōu)點將變得顯而易見??梢岳斫?,前述一般描述和以下詳細(xì)描述均僅是例示性的,且不限制所要求保護(hù)的本發(fā)明。附圖簡述
圖1是示出根據(jù)各種實施方式的可以利用服務(wù)器存儲模型來同步文件分區(qū)的客戶機(jī)-服務(wù)器網(wǎng)絡(luò)體系結(jié)構(gòu)的框圖;圖2是示出根據(jù)各種實施方式的可以利用服務(wù)器存儲模型來同步文件分區(qū)的客戶機(jī)計算環(huán)境的框圖;圖3是示出根據(jù)一個實施方式的利用服務(wù)器存儲模型來同步文件分區(qū)的例程的流程圖;圖4是示出根據(jù)圖3中所示出的實施方式的利用服務(wù)器存儲模型來同步單個文件分區(qū)的例程的流程圖;圖5是示出根據(jù)圖3中所示出的實施方式的利用服務(wù)器存儲模型來同步另一文件分區(qū)的例程的流程圖;圖6是示出根據(jù)另一實施方式的利用服務(wù)器存儲模型來同步文件分區(qū)的例程的流程圖;以及圖7是示出根據(jù)圖6中所示出的實施方式的利用服務(wù)器存儲模型來在第二客戶機(jī)計算機(jī)上同步文件分區(qū)的例程的流程圖。詳細(xì)描述提供了用于在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中利用服務(wù)器存儲模型來同步文件分區(qū)的各實施方式。在客戶機(jī)計算機(jī)處可以接收對電子文檔的內(nèi)容的編輯。該內(nèi)容可以被包括在被存儲在服務(wù)器計算機(jī)上的文件的第一分區(qū)。該第一分區(qū)可以包括包含電子文檔內(nèi)容的第一流。該文件可以包括多個分區(qū),且每一分區(qū)包括一個或多個流??蛻魴C(jī)計算機(jī)可以在文件的第二分區(qū)中生成元數(shù)據(jù)。該元數(shù)據(jù)可以與對第一分區(qū)中的電子文檔內(nèi)容的編輯相關(guān)聯(lián)。然后,可以將第二分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲該元數(shù)據(jù)。然后,可以將第一分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲對電子文檔內(nèi)容做出的編輯。在以下詳細(xì)描述中,參考了構(gòu)成詳細(xì)描述的一部分并作為說明示出各具體實施例或示例的附圖??山M合這些實施例,可利用其他實施例,并且可作出結(jié)構(gòu)上的改變,而不背離本發(fā)明的精神或范圍。因此,以下詳細(xì)描述并不旨在限制,并且本發(fā)明的范圍由所附權(quán)利要求及其等效方案來限定?,F(xiàn)在參考附圖(這些附圖中相同的標(biāo)號表示相同的元素),將描述本發(fā)明的各方面。圖1是示出根據(jù)各種實施方式的可以利用服務(wù)器存儲模型來同步文件分區(qū)的客戶機(jī)-服務(wù)器網(wǎng)絡(luò)體系結(jié)構(gòu)的框圖。該網(wǎng)絡(luò)體系結(jié)構(gòu)包括兩者都通過網(wǎng)絡(luò)4與服務(wù)器計算機(jī) 70通信的客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6。網(wǎng)絡(luò)4可以包括局域網(wǎng)或廣域網(wǎng)(例如,因特網(wǎng))。客戶機(jī)計算機(jī)2可以存儲可以被用來編輯電子文檔文件40 (也被存儲在客戶機(jī)計算機(jī)2上)的生產(chǎn)力應(yīng)用程序30。根據(jù)各種實施方式,生產(chǎn)力應(yīng)用程序30可以包括來自華盛頓州雷蒙德市微軟公司的Word文字處理軟件、POWERPOINT演示圖形程序和GROOVE軟件。然而,應(yīng)明白,根據(jù)在此描述的各種實施方式,可以利用來自其他生產(chǎn)商的其他生產(chǎn)力或應(yīng)用程序。在客戶機(jī)計算機(jī)2處可以經(jīng)由下載操作通過網(wǎng)絡(luò)4從服務(wù)器計算機(jī)70接收電子文檔文件40,或者由生產(chǎn)力應(yīng)用程序30在客戶機(jī)計算機(jī)30上生成電子文檔文件40。電子文檔文件40可以包括分區(qū)50。分區(qū)50可以包括流52和流56。流52還可以包括內(nèi)容 (即,電子文檔內(nèi)容)54A。電子文檔文件40還可以包括分區(qū)60。分區(qū)60可以包括流62和流68。流62還可以包括元數(shù)據(jù)64A。根據(jù)一種實施方式,元數(shù)據(jù)64A可以與被存儲在分區(qū) 50中的內(nèi)容54A相關(guān)聯(lián)。尤其,元數(shù)據(jù)64A可以包括描述內(nèi)容54A的一個或多個作者的作者列表67A和描述電子文檔文件40的當(dāng)前用戶(例如,當(dāng)前正在編輯內(nèi)容54A的用戶)的文檔鎖66A。根據(jù)各種實施方式,“分區(qū)”被定義為在文件(例如電子文檔文件40)內(nèi)的“文件”, 且可以包含一個或多個流。分區(qū)內(nèi)所包含的“流”包含與電子文檔文件相關(guān)聯(lián)的數(shù)據(jù)(例如內(nèi)容54A或元數(shù)據(jù)64A)。應(yīng)理解,可以彼此獨立地且以不同的同步率來同步文件中的各分區(qū)中的每一個(即,可以在不同的時刻同步單個文件中的各分區(qū))。此外,同一分區(qū)中的多個流是彼此相關(guān)的,而在不同的分區(qū)中的各流之間可以不存在關(guān)系。例如,流56包括與電子文檔內(nèi)容相關(guān)聯(lián)的數(shù)據(jù)(且因而與流52相關(guān))但可以不包含與電子文檔文件40相關(guān)聯(lián)的元數(shù)據(jù)。另外,可以同時地同步給定分區(qū)中的多個流,由此確保在同一分區(qū)中的各流之間的一致性??蛻魴C(jī)計算機(jī)6可以存儲也可以被用來編輯電子文檔文件40 (也被存儲在客戶機(jī)計算機(jī)6上)的生產(chǎn)力應(yīng)用程序30??梢栽诳蛻魴C(jī)計算機(jī)6處經(jīng)由下載操作通過網(wǎng)絡(luò)4從服務(wù)器計算機(jī)70接收電子文檔文件40,或者由生產(chǎn)力應(yīng)用程序30在客戶機(jī)計算機(jī)6上生成或電子文檔文件40。電子文檔文件40可以包括分區(qū)50。分區(qū)50可以包括流52和流56。 流52還可以包括內(nèi)容(S卩,電子文檔內(nèi)容)54B。電子文檔文件40還可以包括分區(qū)60。分區(qū)60可以包括流62和流68。流62還可以包括元數(shù)據(jù)64B。應(yīng)理解,根據(jù)各種實施方式, “元數(shù)據(jù)”表示與流一起被包含在分區(qū)中的內(nèi)容。根據(jù)一種實施方式,元數(shù)據(jù)64B可以與被存儲在分區(qū)50中的內(nèi)容54B相關(guān)聯(lián)。具體而言,元數(shù)據(jù)64B可以包括描述內(nèi)容54B的一個或多個作者的作者列表67B和描述電子文檔文件40的當(dāng)前用戶(例如,當(dāng)前正在編輯內(nèi)容 54B的用戶)的文檔鎖66B。服務(wù)器計算機(jī)70可以存儲服務(wù)器應(yīng)用程序42。根據(jù)各種實施方式,服務(wù)器計算機(jī) 70可以充當(dāng)用于在客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6上創(chuàng)建的電子文件的文檔存儲系統(tǒng)。 服務(wù)器應(yīng)用程序42可以包括協(xié)作服務(wù)應(yīng)用程序,例如來自微軟公司的SHAREPOINT SERVER 服務(wù)應(yīng)用程序。如本領(lǐng)域中的技術(shù)人員已知的,SHAREPOINT服務(wù)技術(shù)允許用戶創(chuàng)建、維護(hù)和呈現(xiàn)協(xié)作環(huán)境以便共享信息。使用該技術(shù),用戶或組織可以創(chuàng)建一個或多個網(wǎng)站以便為與該網(wǎng)站相關(guān)聯(lián)的其他用戶提供和共享信息(例如,web服務(wù)器或web文件夾上的文檔等等)。應(yīng)理解,在此描述的各實施方式不應(yīng)被解釋成限于SHAREPOINT服務(wù)技術(shù),且也可以利用來自其他開發(fā)者和/或生產(chǎn)商的其他協(xié)作服務(wù)技術(shù)。服務(wù)器計算機(jī)70也可以存儲電子文檔文件40。電子文檔文件40可以包括分區(qū) 50。分區(qū)50可以包括流52和流56。流52還可以包括內(nèi)容(S卩,電子文檔內(nèi)容)54。電子文檔文件40還可以包括分區(qū)60。分區(qū)60可以包括流62和流68。流62還可以包括元數(shù)據(jù)64。根據(jù)一種實施方式,元數(shù)據(jù)64可以與被存儲在分區(qū)50中的內(nèi)容討相關(guān)聯(lián)。具體而言,元數(shù)據(jù)64可以包括描述內(nèi)容M的一個或多個作者的作者列表67和描述電子文檔文件 40的當(dāng)前用戶(例如,當(dāng)前正在編輯內(nèi)容M的用戶)的文檔鎖66。應(yīng)理解,根據(jù)一種實施方式,可以從服務(wù)器計算機(jī)70將電子文檔文件40下載到客戶機(jī)計算機(jī)2和6以供編輯,由此潛在地在同步回到服務(wù)器計算機(jī)70之前做出改變時創(chuàng)建電子文檔文件40中的內(nèi)容M 和元數(shù)據(jù)64的不同版本。因而,在本詳細(xì)描述中,客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6上的內(nèi)容M和元數(shù)據(jù)64的版本由附在這些文件分量的附圖標(biāo)記之后的字母“A”和字母“B”標(biāo)識。根據(jù)各種實施方式且如下面將相對于圖3-圖7更詳細(xì)地描述,服務(wù)器應(yīng)用程序 42和生產(chǎn)力應(yīng)用程序30可以被配置為促進(jìn)在客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6上的分區(qū) 50和分區(qū)60與服務(wù)器計算機(jī)70的同步。根據(jù)一種實施方式,服務(wù)器應(yīng)用程序42可以被配置為利用協(xié)議(包括但不限于無狀態(tài)協(xié)議)來促進(jìn)增量式文檔同步并增加對服務(wù)器文件的支持以便展示出多個獨立的或相依的數(shù)據(jù)流。因而,電子文件中的各分區(qū)中的每一個可以獨立于彼此且以不同的同步率來同步(即,可以以不同的時刻同步單個文件中的各分區(qū))。例如,與生產(chǎn)力應(yīng)用程序30結(jié)合的服務(wù)器應(yīng)用程序42可以被配置為在分區(qū)50 (包含內(nèi)容54A)之前將客戶機(jī)計算機(jī)2上的分區(qū)60 (包含元數(shù)據(jù)64)與服務(wù)器計算機(jī)70進(jìn)行同步。應(yīng)明白,通過以不同的速率同步各分區(qū),減少了通過網(wǎng)絡(luò)4傳輸?shù)椒?wù)器計算機(jī) 70數(shù)據(jù)的量,由此改善了服務(wù)器可擴(kuò)展性。在于2008年5月2日提交的題為“Document Synchronization over Stateless Protocols (通過無狀態(tài)協(xié)議的文檔同步)”相關(guān)美國專利申請第12/113,975號中描述了根據(jù)各種實施方式可以利用的說明性的無狀態(tài)協(xié)議,該專利申請的公開內(nèi)容通過引用以其整體合并于此。應(yīng)理解,相對于客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6以及服務(wù)器計算機(jī)70討論的各種分區(qū)和流僅僅是說明性的,且不限于根據(jù)各種實施方式可以被包含在電子文檔文件內(nèi)的分區(qū)或流的數(shù)量。例如,根據(jù)一種實施方式,電子文檔文件可以僅包含單個分區(qū)和單個流, 而根據(jù)其他實施方式,電子文檔文件可以包含多個分區(qū)和多個流。還應(yīng)理解,根據(jù)各種實施方式,被包含在客戶機(jī)計算機(jī)2和客戶機(jī)計算機(jī)6以及服務(wù)器計算機(jī)70上的電子文檔文件內(nèi)的流的內(nèi)容不限于元數(shù)據(jù),而是也可以包括一般數(shù)據(jù)(即,與被存儲在電子文檔文件分區(qū)中的內(nèi)容不相關(guān)聯(lián)的數(shù)據(jù))。還應(yīng)理解,在此描述的各實施方式不應(yīng)被解釋成限于前述的軟件應(yīng)用程序,且也可以利用來自其他開發(fā)者和/或生產(chǎn)商的其他軟件應(yīng)用程序。還應(yīng)理解,圖1的網(wǎng)絡(luò)體系結(jié)構(gòu)及其組件包括與其他計算設(shè)備、通信設(shè)備和/或其他系統(tǒng)通信的功能,且不旨在被限于在此描述的實施方式和示例。因而,例如,圖1的網(wǎng)絡(luò)體系結(jié)構(gòu)可以包括根據(jù)各種實施方式的與服務(wù)器計算機(jī)70通信的附加的客戶機(jī)計算機(jī)。示例性操作環(huán)境現(xiàn)在參見圖2,下列討論旨在提供可以在其中實現(xiàn)各種說明性的實施方式的合適的計算環(huán)境的簡要、一般的描述。盡管將在結(jié)合在個人計算機(jī)上的操作系統(tǒng)上運(yùn)行的程序模塊執(zhí)行的程序模塊的一般上下文中描述各種實施方式,本領(lǐng)域中的技術(shù)人員將認(rèn)識到, 也可以與其他類型的計算機(jī)系統(tǒng)和程序模塊組合實現(xiàn)各種實施方式。一般地,程序模塊包括執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、 組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本領(lǐng)域中的技術(shù)人員將明白,可以用包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費性電子設(shè)備、小型計算機(jī)、大型計算機(jī)等等的其他計算機(jī)系統(tǒng)配置來實踐各種實施方式。也可以在分布式計算環(huán)境中實踐各種實施方式,分布式計算環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊可以是位于本地存儲器存儲設(shè)備和遠(yuǎn)程存儲器存儲設(shè)備兩者。圖2示出客戶機(jī)計算機(jī)2,客戶機(jī)計算機(jī)2可以包括通用臺式計算機(jī)、膝上型計算機(jī)、手持式計算機(jī)、平板計算機(jī)或能夠執(zhí)行一個或多個應(yīng)用程序的其他類型的計算機(jī)??蛻魴C(jī)計算機(jī)2包括至少一個中央處理單元8 ( “CPU”)、包括隨機(jī)存取存儲器18 ( “RAM”)和只讀存儲器(“ROM”)20的系統(tǒng)存儲器12和將存儲器耦合到CPU 8的系統(tǒng)總線10。包含例如在啟動期間幫助在計算機(jī)內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)被存儲在R0M20中??蛻魴C(jī)計算機(jī)2還包括用于存儲操作系統(tǒng)32、生產(chǎn)力應(yīng)用程序30和電子文檔文件40的大容量存儲設(shè)備14,其中電子文檔文件40包括以上相對于圖1所描述的分區(qū)50、流52、流56、流62和流68、內(nèi)容54A、元數(shù)據(jù)64A、作者列表67A和文檔鎖66A。根據(jù)各種實施方式,操作系統(tǒng)32可以適用于控制聯(lián)網(wǎng)個人計算機(jī)的操作,例如來自華盛頓州雷蒙德市微軟公司的WINDOWS操作系統(tǒng)。大容量存儲設(shè)備14通過被連接到總線 10的大容量存儲控制器(未示出)連接到CPU 8。大容量存儲設(shè)備14及其相關(guān)聯(lián)的計算機(jī)可讀介質(zhì)為客戶機(jī)計算機(jī)2提供了非易失性存儲。盡管在此包含的計算機(jī)可讀介質(zhì)的描述是指諸如硬盤或CD-ROM驅(qū)動器等大容量存儲設(shè)備,但本領(lǐng)域中的技術(shù)人員明白,計算機(jī)可讀介質(zhì)可以是可以由客戶機(jī)計算機(jī)2訪問或利用的任何可用介質(zhì)。作為示例而非限制, 計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何物理方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動硬件存儲介質(zhì)。計算機(jī)存儲介質(zhì)包括但不限于可以被用來存儲所需信息且可由客戶機(jī)計算機(jī)2訪問的RAM、ROM、EPROM、EEPR0M、閃存或其他固態(tài)存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(“DVD ”) 或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備。通信介質(zhì)通常以諸如載波或其他傳輸介質(zhì)等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)且包括任何信息傳輸介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指以將信息編碼在信號中的方式來設(shè)置或改變其一個或多個特性的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì)和諸如聲學(xué)、RF、紅外和其他無線介質(zhì)等無線介質(zhì)。以上的任何的組合也應(yīng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。計算機(jī)可讀介質(zhì)也可以被稱為計算機(jī)程序產(chǎn)品。根據(jù)各種實施方式,客戶機(jī)計算機(jī)2可以通過網(wǎng)絡(luò)4使用到遠(yuǎn)程計算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作,網(wǎng)絡(luò)4可以包括例如局域網(wǎng)或廣域網(wǎng)(例如,因特網(wǎng))。客戶機(jī)計算機(jī)2可以通過被連接到總線10網(wǎng)絡(luò)接口單元16連接到網(wǎng)絡(luò)4。應(yīng)明白,網(wǎng)絡(luò)接口單元16 也可以被用來連接到其他類型的網(wǎng)絡(luò)和遠(yuǎn)程計算系統(tǒng)。客戶機(jī)計算機(jī)2也可以包括用于接收和處理來自包括鍵盤、鼠標(biāo)、筆、指示筆、手指和/或其他裝置的許多輸入類型的輸入的輸入/輸出控制器22。類似地,輸入/輸出控制器22可以向顯示設(shè)備82、打印機(jī)或其他類型的輸出設(shè)備提供輸出。另外,觸摸屏可以充當(dāng)輸入和輸出機(jī)制。應(yīng)明白,圖1中所示出的客戶機(jī)計算機(jī)6和服務(wù)器計算機(jī)70可以包括相對于圖2中的客戶機(jī)計算機(jī)2而示出的常規(guī)組件中的許多。圖3是示出根據(jù)一種實施方式的用于利用服務(wù)器存儲模型來同步文件分區(qū)的例程300的流程圖。當(dāng)閱讀對在此提供的例程的討論時,應(yīng)當(dāng)理解,本發(fā)明的各種實施例的邏輯操作被實現(xiàn)為(1)運(yùn)行于計算系統(tǒng)上的一系列計算機(jī)實現(xiàn)的動作或程序模塊,和/或O) 計算系統(tǒng)內(nèi)互連的機(jī)器邏輯電路或電路模塊。該實現(xiàn)是取決于實現(xiàn)本發(fā)明的計算系統(tǒng)的性能要求來選擇的。因此,圖3-7中所示出的并且構(gòu)成在此所描述的各實施例的邏輯操作被不同地表示為操作、結(jié)構(gòu)性設(shè)備、動作或模塊。本領(lǐng)域技術(shù)人員將認(rèn)識到,這些操作、結(jié)構(gòu)設(shè)備、動作和模塊可用軟件、固件、專用數(shù)字邏輯、及其任意組合實現(xiàn),而不背離如本文中闡述的權(quán)利要求內(nèi)陳述的本發(fā)明精神和范圍。例程300在操作305開始,操作305中,在客戶機(jī)計算機(jī)2上執(zhí)行的生產(chǎn)力應(yīng)用程序30接收對電子文檔文件40的分區(qū)50中的電子文檔內(nèi)容(被包含在流52中)的編輯。 根據(jù)一種實施方式,可以從包括所有分區(qū)和其中包含的流的服務(wù)器計算機(jī)70下載電子文檔文件40。然后,可以打開分區(qū)50以便編輯其中包含的內(nèi)容54,由此創(chuàng)建內(nèi)容54A。從操作305,例程300繼續(xù)到操作310,操作310中,生產(chǎn)力應(yīng)用程序30在電子文檔文件40的分區(qū)60中生成元數(shù)據(jù)64A。具體而言,生產(chǎn)力應(yīng)用程序30可以生成元數(shù)據(jù)以便更新電子文檔文件40的分區(qū)60中的作者列表67,以便將客戶機(jī)計算機(jī)2的用戶添加為作者(由此生成作者列表67A)。生產(chǎn)力應(yīng)用程序30還可以生成元數(shù)據(jù)以便將文檔鎖66A 添加到電子文檔文件40的分區(qū)60,以便指示電子文檔文件40當(dāng)前正在由客戶機(jī)計算機(jī)2的用戶編輯。從操作310,例程300繼續(xù)到操作315,操作315中,生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步的請求,以便將對元數(shù)據(jù)64做出的改變(即,包含作者列表67A和文檔鎖66A的元數(shù)據(jù)64A)保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)50而同步分區(qū)60,以使得僅將經(jīng)改變的元數(shù)據(jù)64A保存到服務(wù)器計算機(jī)70。下面將相對于圖4更詳細(xì)地描述將分區(qū)60與服務(wù)器計算機(jī)進(jìn)行同步的說明性例程。從操作315,例程300繼續(xù)到操作320,操作320中,生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步的請求,以便將經(jīng)編輯的內(nèi)容54A 保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)60而同步分區(qū)50,以使得僅將經(jīng)編輯的內(nèi)容54A保存到服務(wù)器計算機(jī)70。還應(yīng)理解,分區(qū)60和分區(qū)50的同步的次序可以反過來, 以使得在分區(qū)60之前獨立地將分區(qū)50與服務(wù)器計算機(jī)70同步。下面將相對于圖5更詳細(xì)地描述將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步的說明性例程。從操作320,例程300繼續(xù)到操作325,操作325中,它隨后結(jié)束。應(yīng)理解,根據(jù)一種實施方式,以上所描述的操作310-操作320也可以由在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30執(zhí)行。圖4是示出根據(jù)圖3中所示出的實施方式的利用服務(wù)器存儲模型來同步單個文件分區(qū)的例程400的流程圖。例程400從圖3的操作315開始且繼續(xù)到操作405,操作405 中,服務(wù)器應(yīng)用程序42確定在將客戶機(jī)計算機(jī)2上的分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步時是否存在沖突。具體而言且根據(jù)一種實施方式,服務(wù)器應(yīng)用程序42可以將被存儲在客戶機(jī)計算機(jī)2上的分區(qū)60中的元數(shù)據(jù)64A與被存儲在服務(wù)器計算機(jī)70上的元數(shù)據(jù)64進(jìn)行比較以便確定任何差異。如果元數(shù)據(jù)64A和元數(shù)據(jù)64不同,則服務(wù)器應(yīng)用程序42確定存在沖突且例程400繼續(xù)到操作410。如果在元數(shù)據(jù)64A和元數(shù)據(jù)64之間不存在差異,則例程400返回到圖3的操作320。在操作410,服務(wù)器應(yīng)用程序42基于客戶機(jī)計算機(jī)2上的分區(qū)60中的元數(shù)據(jù)64A 是否比被存儲在服務(wù)器計算機(jī)70上的元數(shù)據(jù)64更新近來確定如何解決沖突。具體而言, 來自生產(chǎn)力應(yīng)用程序30的對分區(qū)60進(jìn)行同步的請求可以包括指示元數(shù)據(jù)64A何時被存儲在客戶機(jī)計算機(jī)2上的分區(qū)60中的時間戳。服務(wù)器應(yīng)用程序42可以將該時間戳與指示元數(shù)據(jù)64何時被存儲在服務(wù)器計算機(jī)70上的分區(qū)60中的時間戳進(jìn)行比較。如果確定元數(shù)據(jù)64A比元數(shù)據(jù)64更新近,則例程400繼續(xù)到操作415。如果確定元數(shù)據(jù)64比元數(shù)據(jù)64A 更新近,則例程400分支到操作420。本領(lǐng)域中的技術(shù)人員應(yīng)理解,根據(jù)另一實施方式,來自生產(chǎn)力應(yīng)用程序30的對分區(qū)60進(jìn)行同步的請求可以包括超文本標(biāo)記語言(“HTTP”)實體標(biāo)簽(“ETAG”)以便標(biāo)識(和解決)沖突。在操作415,服務(wù)器應(yīng)用程序42自動地將客戶機(jī)計算機(jī)2上的分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步,以按有利于客戶機(jī)計算機(jī)2上存在的最新近的元數(shù)據(jù)64A的方式來解決沖突。因而,服務(wù)器應(yīng)用程序42可以用元數(shù)據(jù)64A來更新服務(wù)器計算機(jī)70上的分區(qū)60中的元數(shù)據(jù)64。從操作415,例程400返回到圖3的操作320。在操作420,服務(wù)器應(yīng)用程序42自動地使客戶機(jī)計算機(jī)2上的分區(qū)60與服務(wù)器計算機(jī)70的同步失敗,以按有利于比元數(shù)據(jù)64A更新近的元數(shù)據(jù)64的方式來解決沖突。因而,服務(wù)器應(yīng)用程序42可以將元數(shù)據(jù)64維持在服務(wù)器計算機(jī)70上的分區(qū)60中。從操作420,例程400返回到圖3的操作320。圖5是示出根據(jù)圖3中所示出的實施方式的利用服務(wù)器存儲模型來同步另一文件分區(qū)的例程500的流程圖。例程500從圖3的操作320開始且繼續(xù)到操作505,操作505 中,服務(wù)器應(yīng)用程序42確定在將客戶機(jī)計算機(jī)2上的分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步時是否存在沖突。具體而言且根據(jù)一種實施方式,服務(wù)器應(yīng)用程序42可以將被存儲在客戶機(jī)計算機(jī)2上的分區(qū)50中的內(nèi)容54A與被存儲在服務(wù)器計算機(jī)70上的內(nèi)容M進(jìn)行比較。 如果內(nèi)容M包含在客戶機(jī)計算機(jī)2上的分區(qū)50中的經(jīng)編輯的內(nèi)容54A中不存在的編輯, 則服務(wù)器計算機(jī)70確定存在沖突,且例程500繼續(xù)到操作510。如果內(nèi)容M完全不包含任何編輯,則例程500繼續(xù)到操作515。在操作510,服務(wù)器應(yīng)用程序42為客戶機(jī)計算機(jī)2的用戶生成沖突出錯消息。例如,由服務(wù)器應(yīng)用程序42在客戶機(jī)計算機(jī)2上生成的沖突出錯消息可以包括先前已經(jīng)被上傳到服務(wù)器70的對內(nèi)容M的未看見的編輯(例如由客戶機(jī)計算機(jī)6的用戶做出)。響應(yīng)于該沖突出錯消息,客戶機(jī)計算機(jī)2的用戶可以通過將經(jīng)編輯的內(nèi)容54A與對內(nèi)容M的編輯進(jìn)行歸并來手動地解決沖突,或替代地,令對內(nèi)容M的先前編輯在服務(wù)器70上保持不變。從操作510,例程500返回到圖3的操作325。在操作515,服務(wù)器應(yīng)用程序42將分區(qū)50中的經(jīng)編輯的內(nèi)容54A與服務(wù)器70進(jìn)行同步,以便用經(jīng)編輯的內(nèi)容54A來更新服務(wù)器70上的內(nèi)容M。從操作515,例程500返回到圖3的操作325。圖6是示出根據(jù)另一實施方式的利用服務(wù)器存儲模型來同步各文件分區(qū)的例程 600的流程圖。例程600在操作605開始,操作605中,在客戶機(jī)計算機(jī)2上執(zhí)行的生產(chǎn)力應(yīng)用程序30接收對電子文檔文件40中的分區(qū)50的電子文檔內(nèi)容(被包含在流52中)的編輯。根據(jù)一種實施方式,可以從包括所有分區(qū)和其中包含的流的服務(wù)器計算機(jī)70下載電子文檔文件40。然后,可以打開分區(qū)50以便編輯其中包含的內(nèi)容M,由此創(chuàng)建內(nèi)容54A。從操作605,例程600繼續(xù)到操作610,操作610中,生產(chǎn)力應(yīng)用程序30在電子文檔文件40的分區(qū)60中生成元數(shù)據(jù)64A以便標(biāo)識分區(qū)50中的內(nèi)容54A的編輯者。具體而言,生產(chǎn)力應(yīng)用程序30可以生成元數(shù)據(jù)以便將內(nèi)容54A的編輯者的名稱添加到電子文檔文件40的分區(qū)60中的作者列表67 (由此生成作者列表67A)。從操作610,例程600繼續(xù)到操作615,操作615中,生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步的請求,以便將對元數(shù)據(jù)64做出的改變(即,包含作者列表67A的元數(shù)據(jù)64A)保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)50而同步分區(qū)60,以使得僅將經(jīng)改變的元數(shù)據(jù)64A保存到服務(wù)器計算機(jī)70。從操作615,例程600繼續(xù)到操作620,操作620中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30通過下載電子文件40來從服務(wù)器計算機(jī)70接收文件分區(qū)50和文件分區(qū) 60 (包括其中包含的流42、流56、流62和流68)。應(yīng)理解,作為在操作615將客戶機(jī)計算機(jī) 2上的分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步的結(jié)果,客戶機(jī)計算機(jī)6在接收文件分區(qū)60時還接收標(biāo)識來自客戶機(jī)計算機(jī)2的內(nèi)容54A的編輯者的元數(shù)據(jù)64A。因而,客戶機(jī)計算機(jī)6 的用戶能夠確定客戶機(jī)計算機(jī)2的用戶已經(jīng)從服務(wù)器計算機(jī)70下載了內(nèi)容M以供編輯。從操作620,例程600繼續(xù)到操作625,操作625中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30接收對電子文檔文件40的分區(qū)50中的電子文檔內(nèi)容(被包含在流52中)的編輯。然后,可以打開分區(qū)50,以便編輯其中包含的內(nèi)容M,由此創(chuàng)建內(nèi)容MB。應(yīng)理解,經(jīng)編輯的內(nèi)容54B不包括在客戶機(jī)計算機(jī)2上做出的編輯(即,經(jīng)編輯的內(nèi)容54A)。
從操作625,例程600繼續(xù)到操作630,操作630中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步的請求, 以便將對元數(shù)據(jù)64做出的改變(即,包含作者列表67B的元數(shù)據(jù)64B)保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)50而同步分區(qū)60,以使得僅將經(jīng)改變的元數(shù)據(jù)64B保存到服務(wù)器計算機(jī)70。從操作630,例程600繼續(xù)到操作635,操作635中,作為在操作630將分區(qū)60與服務(wù)器計算機(jī)70進(jìn)行同步的結(jié)果,客戶機(jī)計算機(jī)2接收標(biāo)識來自客戶機(jī)計算機(jī)6的內(nèi)容MB 的編輯者的元數(shù)據(jù)64B。具體而言,在客戶機(jī)計算機(jī)2上執(zhí)行的生產(chǎn)力應(yīng)用程序30可以從服務(wù)器計算機(jī)70下載先前用來自客戶機(jī)計算機(jī)6的元數(shù)據(jù)64B更新的分區(qū)60。因而,客戶機(jī)計算機(jī)2的用戶能夠確定客戶機(jī)計算機(jī)6的用戶也已經(jīng)從服務(wù)器計算機(jī)70下載了內(nèi)容 54以供編輯。從操作635,例程600繼續(xù)到操作640,操作640中,在客戶機(jī)計算機(jī)2上執(zhí)行的生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步的請求,以便將經(jīng)編輯的內(nèi)容54A保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)60而同步分區(qū)50,以使得僅將經(jīng)編輯的內(nèi)容54A保存到服務(wù)器計算機(jī)70。還應(yīng)理解,分區(qū)60和分區(qū) 50的同步的次序可以反過來,以使得在分區(qū)60之前獨立地將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步。從操作640,例程600繼續(xù)到操作645,操作645中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30向服務(wù)器應(yīng)用程序42發(fā)送將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步的請求,以便將經(jīng)編輯的內(nèi)容54B保存到服務(wù)器計算機(jī)70。應(yīng)理解,可以獨立于分區(qū)60而同步分區(qū)50,以使得僅將經(jīng)編輯的內(nèi)容54B保存到服務(wù)器計算機(jī)70。還應(yīng)理解,分區(qū)60和分區(qū) 50的同步的次序可以反過來,以使得在分區(qū)60之前獨立地將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步。下面將相對于圖7更詳細(xì)地描述用于將分區(qū)50與服務(wù)器計算機(jī)70進(jìn)行同步的說明性例程。從操作645,例程600繼續(xù)到操作600,操作600中,它隨后結(jié)束。圖7是示出根據(jù)圖6中所示出的實施方式的利用服務(wù)器存儲模型來在第二客戶機(jī)計算機(jī)上同步文件分區(qū)的例程700的流程圖。例程700從圖6的操作645開始且繼續(xù)到操作605,操作605中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30與服務(wù)器計算機(jī)70進(jìn)行核對以便獲得對分區(qū)50做出的任何更新。具體而言,生產(chǎn)力應(yīng)用程序30可以向服務(wù)器應(yīng)用程序42發(fā)送關(guān)于服務(wù)器計算機(jī)70上的分區(qū)60中的內(nèi)容是否已經(jīng)被客戶機(jī)計算機(jī)2 更新的查詢。如以上在圖6的操作620所描述的,客戶機(jī)計算機(jī)6的用戶可以知曉,在接收到從服務(wù)器計算機(jī)70下載的電子文件40中的文件分區(qū)50和文件分區(qū)60時,服務(wù)器計算機(jī)70的分區(qū)50中的內(nèi)容正在由在客戶機(jī)計算機(jī)2處的另一用戶編輯。從操作705,例程700繼續(xù)到操作710,操作710中,客戶機(jī)計算機(jī)6從服務(wù)器應(yīng)用程序42接收到服務(wù)器計算機(jī)70上的分區(qū)50已經(jīng)被更新(即,被客戶機(jī)計算機(jī)2更新)且因而來自客戶機(jī)計算機(jī)2的經(jīng)編輯的內(nèi)容54A可用于與客戶機(jī)計算機(jī)6的分區(qū)50中的經(jīng)編輯的內(nèi)容54B進(jìn)行歸并的確認(rèn)。從操作710,例程700繼續(xù)到操作715,操作715中,客戶機(jī)計算機(jī)6從服務(wù)器計算機(jī)70接收經(jīng)編輯的內(nèi)容54A。
從操作715,例程700繼續(xù)到操作720,操作720中,在客戶機(jī)計算機(jī)6上執(zhí)行的生產(chǎn)力應(yīng)用程序30請求服務(wù)器計算機(jī)70上的服務(wù)器應(yīng)用程序42用經(jīng)編輯的內(nèi)容54A (來自客戶機(jī)計算機(jī)幻和經(jīng)編輯的內(nèi)容MB(來自客戶機(jī)計算機(jī)6)來更新分區(qū)50。從操作720, 例程700返回到圖6的操作650。盡管已結(jié)合各個例示性實施例描述了本發(fā)明,但本領(lǐng)域普通技術(shù)人員將理解,可在所附權(quán)利要求的范圍內(nèi)對其作出許多修改。因此,并非旨在以任何方式將本發(fā)明的范圍限于以上的說明,而是應(yīng)該完全參照所附權(quán)利要求書來確定。
權(quán)利要求
1.一種在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中利用服務(wù)器存儲模型來同步文件分區(qū) (50,60)的方法,包括在客戶機(jī)計算機(jī)( 處接收(30 對電子文檔的內(nèi)容(54A)的編輯,所述內(nèi)容(54A) 包括文件GO)中的第一分區(qū)(50)的第一流(52),所述文件00)包括所述第一分區(qū)(50) 和至少一個其他分區(qū)(60),其中所述第一分區(qū)(50)和所述至少一個其他分區(qū)(60)各自包括至少一個流(52,56,62,68);在所述客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)中生成(310)與對所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54A)的所述編輯相關(guān)聯(lián)的數(shù)據(jù)(64A);僅將所述客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)與所述服務(wù)器計算機(jī) (70)進(jìn)行同步(31 ,以便將所述數(shù)據(jù)(64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件 (40)的所述至少一個其他分區(qū)(60)中;以及僅將所述客戶機(jī)計算機(jī)( 上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(320),以便將對所述電子文檔內(nèi)容(54A)做出的所述編輯存儲在所述服務(wù)器計算機(jī) (70)上的所述文件00)的第一分區(qū)(50)中。
2.如權(quán)利要求1所述的方法,其特征在于,在所述客戶機(jī)計算機(jī)(2)上的所述至少一個其他分區(qū)(60)中生成(310)與對所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54A)的所述編輯相關(guān)聯(lián)的數(shù)據(jù)(64A)包括在所述客戶機(jī)計算機(jī)( 上的第二分區(qū)(60)中生成與對所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54A)的所述編輯相關(guān)聯(lián)的元數(shù)據(jù)(64A)。
3.如權(quán)利要求2所述的方法,其特征在于,僅將所述客戶機(jī)計算機(jī)(2)上的所述至少一個其他分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(315)以便將所述數(shù)據(jù)(64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述至少一個其他分區(qū)(60)中包括僅將所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步以便將所述元數(shù)據(jù)(64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60) 中。
4.如權(quán)利要求3所述的方法,其特征在于,僅將所述客戶機(jī)計算機(jī)(2)上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(315)以便將所述元數(shù)據(jù)(64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的第二分區(qū)(60)中包括將在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中生成的所述元數(shù)據(jù)(64A)與被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的元數(shù)據(jù)(64)進(jìn)行比較;以及當(dāng)在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中生成的所述元數(shù)據(jù)(64A)不同于被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64)時,確定(405)沖突。
5.如權(quán)利要求4所述的方法,其特征在于,還包括當(dāng)在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64A)比被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的所述元數(shù)據(jù)(64)更新近時,自動地將所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步015)以解決所述沖突;以及當(dāng)被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的所述元數(shù)據(jù)(64)比被存儲在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64A)更新近時,自動地使得(420)所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60) 與所述服務(wù)器計算機(jī)(70)的所述同步失敗以解決所述沖突。
6.如權(quán)利要求1所述的方法,其特征在于,僅將所述客戶機(jī)計算機(jī)(2)上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(320)以便將對所述電子文檔內(nèi)容(54A)做出的所述編輯存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的第一分區(qū)(50)中包括將所述客戶機(jī)計算機(jī)O)上的所述第一分區(qū)(50)中的所述經(jīng)編輯的電子文檔內(nèi)容 (54A)與被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第一分區(qū)(50)中所存儲的電子文檔內(nèi)容(54)進(jìn)行比較(50 ;以及當(dāng)被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第一分區(qū)(50)中所存儲的所述電子文檔內(nèi)容(54)包含在所述客戶機(jī)計算機(jī)( 上的所述第一分區(qū)(50)中的所述經(jīng)編輯的電子文檔內(nèi)容(MA)中不存在的編輯時,確定(50 沖突。
7.一種包括計算機(jī)可執(zhí)行指令的計算機(jī)可讀存儲介質(zhì)(12,14),所述計算機(jī)可執(zhí)行指令在計算機(jī)( 上執(zhí)行時,將使得所述計算機(jī)( 執(zhí)行利用服務(wù)器存儲模型來同步文件分區(qū)(50,60)的方法,包括在客戶機(jī)計算機(jī)( 處接收(305)對電子文檔的內(nèi)容(MA)的編輯,所述內(nèi)容(54A) 包括文件GO)中的第一分區(qū)(50)的第一流(52),所述文件00)至少包括所述第一分區(qū) (50)和第二分區(qū)(60),所述至少第一分區(qū)和第二分區(qū)(50,60)中的每一個包括至少一個流 (52,56,62,68);在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中生成(310)與對所述第一分區(qū) (50)中的所述電子文檔內(nèi)容(54A)的所述編輯相關(guān)聯(lián)的元數(shù)據(jù)(64A);僅將所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(31 ,以便將所述元數(shù)據(jù)(64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的第二分區(qū)(60)中;以及僅將所述客戶機(jī)計算機(jī)( 上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(320),以便將對所述電子文檔內(nèi)容(54A)做出的所述編輯存儲在所述服務(wù)器計算機(jī) (70)上的所述文件00)的第一分區(qū)(50)中。
8.如權(quán)利要求7所述的計算機(jī)可讀存儲介質(zhì),其特征在于,僅將所述客戶機(jī)計算機(jī) (2)上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(615)以便將所述元數(shù)據(jù) (64A)存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的第二分區(qū)(60)中包括將在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中生成的所述元數(shù)據(jù)(64A)與被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的元數(shù)據(jù)(64)進(jìn)行比較(405);以及當(dāng)在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中生成的所述元數(shù)據(jù)(64A)不同于被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64)時,確定(405)沖突。
9.如權(quán)利要求8所述的計算機(jī)可讀存儲介質(zhì),其特征在于,還包括當(dāng)在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64A)比被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的所述元數(shù)據(jù)(64)更新近時,自動地將所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(415),以解決所述沖突;以及當(dāng)被存儲在所述服務(wù)器計算機(jī)(70)上的所述文件00)的所述第二分區(qū)(60)中所存儲的所述元數(shù)據(jù)(64)比被存儲在所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60)中的所述元數(shù)據(jù)(64A)更新近時,自動地使得(420)所述客戶機(jī)計算機(jī)( 上的所述第二分區(qū)(60) 與所述服務(wù)器計算機(jī)(70)的所述同步失敗,以解決所述沖突。
10.一種在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中利用服務(wù)器存儲模型來同步文件分區(qū) (50,60)的方法,包括在第一客戶機(jī)計算機(jī)( 處接收(60 對電子文檔的內(nèi)容(54A)的編輯,所述內(nèi)容 (54A)包括文件00)中的第一分區(qū)(50)的第一流(52),所述文件00)至少包括所述第一分區(qū)(50)和一個其他分區(qū)(60),其中所述第一分區(qū)(50)和所述至少一個其他分區(qū)(60)各自包括至少一個流(52,56,62,68);在所述第一客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)的流(6 中生成 (610)標(biāo)識在所述第一客戶機(jī)計算機(jī)( 處的所述第一分區(qū)(50)中的所述電子文檔內(nèi)容 (54A)的編輯者的數(shù)據(jù)(67A);僅將所述第一客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(615),以便將所述數(shù)據(jù)(67A)存儲在所述服務(wù)器計算機(jī)(70)上;在第二客戶機(jī)計算機(jī)(6)處接收(620)被存儲在所述服務(wù)器計算機(jī)(70)上的至少包括所述第一分區(qū)(50)和所述至少一個其他分區(qū)(60)的所述文件(40),其中所述至少一個其他分區(qū)(60)包括標(biāo)識在所述第一客戶機(jī)計算機(jī)( 處的所述電子文檔內(nèi)容(54A)的所述編輯者的數(shù)據(jù)(66B);在所述第二客戶機(jī)計算機(jī)(6)處接收(62 對所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54B)的編輯,其中在所述第二客戶機(jī)計算機(jī)(6)處接收到的對所述電子文檔內(nèi)容 (54B)的所述編輯不包括在所述第一客戶機(jī)計算機(jī)( 處接收到的對所述電子文檔內(nèi)容 (54A)的所述編輯;以及僅將所述第一客戶機(jī)計算機(jī)( 上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(640),以便將對所述電子文檔內(nèi)容(54A)做出的所述編輯存儲在所述服務(wù)器計算機(jī)(70)上。
11.如權(quán)利要求10所述的方法,其特征在于,在所述第一客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)的流(6 中生成(610)標(biāo)識在所述第一客戶機(jī)計算機(jī)( 處的所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54A)的所述編輯者的數(shù)據(jù)(67A)包括在所述第一客戶機(jī)計算機(jī)( 上的第二分區(qū)(60)的流(6 中生成標(biāo)識在所述第一客戶機(jī)計算機(jī)O) 處的所述第一分區(qū)(50)中的所述電子文檔內(nèi)容(54A)的所述編輯者的元數(shù)據(jù)。
12.如權(quán)利要求11所述的方法,其特征在于,僅將所述第一客戶機(jī)計算機(jī)( 上的所述至少一個其他分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(615)以便將所述數(shù)據(jù)(67A) 存儲在所述服務(wù)器計算機(jī)(70)上包括僅將所述第一客戶機(jī)計算機(jī)( 上的所述第二分區(qū) (60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步以便將所述元數(shù)據(jù)存儲在所述服務(wù)器計算機(jī)(70) 上。
13.如權(quán)利要求12所述的方法,其特征在于,還包括僅將所述第二客戶機(jī)計算機(jī)(6)上的所述第二分區(qū)(60)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(630)以便用在所述第二客戶機(jī)計算機(jī)(6)處的所述電子文檔內(nèi)容的所述編輯者的身份更新標(biāo)識在所述第一客戶機(jī)計算機(jī)( 處的所述電子文檔內(nèi)容(54A)的所述編輯者(67A)的所述元數(shù)據(jù)。
14.如權(quán)利要求10所述的方法,其特征在于,還包括僅將所述第二客戶機(jī)計算機(jī)(2)上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(645),以便向所述服務(wù)器計算機(jī)(70)上的所述第一分區(qū)(50)添加在所述第二客戶機(jī)計算機(jī)( 處對所述電子文檔內(nèi)容 (54B)做出的所述編輯以及在所述第一客戶機(jī)計算機(jī)( 處對所述電子文檔(54A)做出的所述編輯。
15.如權(quán)利要求14所述的方法,其特征在于,僅將所述第二客戶機(jī)計算機(jī)(2)上的所述第一分區(qū)(50)與所述服務(wù)器計算機(jī)(70)進(jìn)行同步(64 以便向所述服務(wù)器計算機(jī)(70) 上的所述第一分區(qū)(50)添加在所述第二客戶機(jī)計算機(jī)( 處對所述電子文檔內(nèi)容(54B) 做出的所述編輯以及在所述第一客戶機(jī)計算機(jī)(2)處對所述電子文檔(54A)做出的所述編輯,還包括從所述服務(wù)器計算機(jī)(70)接收(71 在所述第一客戶機(jī)計算機(jī)( 處對所述電子文檔內(nèi)容(54A)做出的所述編輯;以及用在所述第二客戶機(jī)計算機(jī)(6)和所述第一客戶機(jī)計算機(jī)( 處對所述電子文檔內(nèi)容 (54A,54B)做出的編輯來更新(720)所述服務(wù)器計算機(jī)(70)上的所述第一分區(qū)(50)。
全文摘要
提供了用于在客戶機(jī)-服務(wù)器計算機(jī)網(wǎng)絡(luò)中利用服務(wù)器存儲模型來同步文件分區(qū)的各實施方式。在客戶機(jī)計算機(jī)處可以接收對電子文檔的內(nèi)容的編輯。該內(nèi)容可以被包括在被存儲在服務(wù)器計算機(jī)上的文件的第一分區(qū)。該第一分區(qū)可以包括包含電子文檔內(nèi)容的第一流。該文件可以包括多個分區(qū),且每一分區(qū)包括一個或多個流??蛻魴C(jī)計算機(jī)可以在文件的第二分區(qū)中生成元數(shù)據(jù)。該元數(shù)據(jù)可以與對第一分區(qū)中的電子文檔內(nèi)容的編輯相關(guān)聯(lián)。然后,可以將第二分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲該元數(shù)據(jù)。然后,可以將第一分區(qū)單獨地與服務(wù)器計算機(jī)進(jìn)行同步以便存儲對電子文檔內(nèi)容做出的編輯。
文檔編號G06F13/14GK102460409SQ201080025222
公開日2012年5月16日 申請日期2010年6月1日 優(yōu)先權(quán)日2009年6月5日
發(fā)明者M·A·S·博斯, S·P·克拉克, 孫雪磊 申請人:微軟公司