欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

交叉信道共同寫作一致性的制作方法

文檔序號:6349108閱讀:138來源:國知局
專利名稱:交叉信道共同寫作一致性的制作方法
交叉信道共同寫作一致性
背景技術(shù)
基于網(wǎng)絡(luò)的文檔協(xié)作系統(tǒng)準許多個用戶同時地訪問和共同寫作文檔。盡管準許多個用戶共同寫作文檔,但為了防止沖突,系統(tǒng)可以限制文檔中每一用戶可以進行編輯的區(qū)域。如果不將與這些限制相關(guān)聯(lián)的信息傳遞給其他共同寫作的用戶,則在合并各文檔的副本時增加了有沖突改變的機會。

發(fā)明內(nèi)容
本發(fā)明內(nèi)容的各實施方式涉及計算設(shè)備,該計算設(shè)備包括處理單元和帶有指令的系統(tǒng)存儲器,指令在由處理單元執(zhí)行時,使處理單元創(chuàng)建處理文檔內(nèi)容的創(chuàng)建和編輯的文檔處理模塊;以及生成、監(jiān)視和存儲計算設(shè)備上的文檔的元數(shù)據(jù)的元數(shù)據(jù)處理模塊,該元數(shù)據(jù)處理模塊生成包括關(guān)于在用戶開始編輯文檔的一部分時創(chuàng)建的新的鎖的信息的鎖創(chuàng)建元數(shù)據(jù)、包括關(guān)于移除鎖的信息的鎖移除元數(shù)據(jù),以及包括關(guān)于刪除鎖的信息的鎖刪除元數(shù)據(jù),該元數(shù)據(jù)處理模塊將鎖創(chuàng)建元數(shù)據(jù)寫到數(shù)據(jù)信道和分離的元數(shù)據(jù)信道兩者,數(shù)據(jù)信道是在計算設(shè)備和服務(wù)器計算機之間的第一通信路徑,沿著該第一通信路徑傳遞與文檔相關(guān)聯(lián)的內(nèi)容和鎖元數(shù)據(jù),而元數(shù)據(jù)信道是在計算設(shè)備和服務(wù)器計算機之間的第二通信路徑,沿著第二通信路徑傳遞與文檔相關(guān)聯(lián)的鎖元數(shù)據(jù),元數(shù)據(jù)處理模塊將鎖移除元數(shù)據(jù)寫到數(shù)據(jù)信道并且元數(shù)據(jù)處理模塊將鎖刪除元數(shù)據(jù)寫到元數(shù)據(jù)信道。在下面的附圖和描述中闡明一種或多種技術(shù)的細節(jié)。通過描述、附圖和權(quán)利要求, 這些技術(shù)的其他特征、目的和優(yōu)點將變得顯而易見。


圖1示出用于交叉信道共同寫作一致性的示例系統(tǒng)。圖2示出實現(xiàn)用于交叉信道共同寫作一致性的能力的圖1的示例客戶端計算機的示例模塊。圖3示出用于在客戶端計算機處將元數(shù)據(jù)應(yīng)用到文檔的方法的流程圖的第一部分。圖4示出用于在客戶端計算機處將元數(shù)據(jù)應(yīng)用到文檔的方法的流程圖的第二部分。圖5示出用于在客戶端計算機處將元數(shù)據(jù)應(yīng)用到文檔的方法的流程圖的第三部分。圖6示出圖2的客戶端計算機的示例組件。
具體實施例方式本申請涉及用于在基于網(wǎng)絡(luò)的文檔協(xié)作系統(tǒng)中合并文檔數(shù)據(jù)時提供信息的交叉信道一致性的系統(tǒng)和方法。在所公開的系統(tǒng)和方法中,在元數(shù)據(jù)信道上傳送例如文檔的區(qū)域的鎖的元數(shù)據(jù),而在數(shù)據(jù)信道上傳送文檔內(nèi)容和元數(shù)據(jù)兩者。系統(tǒng)和方法公開指定何時應(yīng)將元數(shù)據(jù)適當(dāng)?shù)貞?yīng)用到文檔的優(yōu)先化準則。 圖1示出在將元數(shù)據(jù)應(yīng)用到文檔時支持交叉信道一致性的示例系統(tǒng)100。系統(tǒng)100 包括客戶機102,104、服務(wù)器106和網(wǎng)絡(luò)108??梢允褂酶嗷蚋俚目蛻魴C和服務(wù)器。在本發(fā)明中,術(shù)語客戶機和客戶端計算機可交換地使用,且術(shù)語服務(wù)器和服務(wù)器計算機可交換地使用。在存儲在客戶機102、104上的多個信息當(dāng)中有客戶機操作系統(tǒng)(“OS”)和客戶機應(yīng)用??蛻魴COS是管理客戶機系統(tǒng)的硬件和軟件資源的程序。客戶機應(yīng)用利用客戶機 102、104的資源來直接執(zhí)行用戶指定的任務(wù)。例如,客戶機102、104包括用于創(chuàng)建和編輯文檔文件的一個或多個軟件應(yīng)用,諸如文字處理程序。這樣的應(yīng)用的一個示例是來自華盛頓州雷蒙德市微軟公司的Microsoft Word。這樣的應(yīng)用的其他示例也是適用的。服務(wù)器106是通過網(wǎng)絡(luò)可訪問的文件服務(wù)器。服務(wù)器106存儲多個文件。這些文件可以包括軟件應(yīng)用和文檔兩者,如在此進一步描述。服務(wù)器106控制對由服務(wù)器106存儲的各文檔的訪問。在各示例實施方式中,服務(wù)器106可以位于組織內(nèi)或者可以是文檔協(xié)作系統(tǒng)的一部分。示例文檔協(xié)作系統(tǒng)是由微軟公司提供的SHAREPOINT 團隊服務(wù)和SHAREP0INT⑧門戶服務(wù)器服務(wù)(SHAREPOINT team services portal server services)。示例共享文檔服務(wù)器是由微軟公司提供的Microsoft Office SharePoint Server 2007??梢允褂闷渌渲谩T獢?shù)據(jù)是關(guān)于數(shù)據(jù)的信息。典型的元數(shù)據(jù)的一些示例是文檔名稱、創(chuàng)建日期或最后編輯日期、當(dāng)前編輯文檔的作者、當(dāng)前審閱文檔的作者、段落標識符和段落鎖。其他種類的文檔元數(shù)據(jù)是可能的。在發(fā)明中,元數(shù)據(jù)包括鎖,該鎖被應(yīng)用到文檔的各區(qū)域以防止多個共同寫作用戶同時地編輯文檔的相同區(qū)域。文檔區(qū)域通常是段落,但是它可以包括段落標題、表、句子等等。元數(shù)據(jù)包括創(chuàng)建鎖的元數(shù)據(jù)、移除鎖的元數(shù)據(jù)和刪除鎖的元數(shù)據(jù)。在各示例實施方式中,通過元數(shù)據(jù)信道111傳送元數(shù)據(jù)。在各示例實施方式中,為了提供交叉信道一致性,也在數(shù)據(jù)信道113上傳送元數(shù)據(jù)。數(shù)據(jù)信道113還被用來將文檔內(nèi)容信息發(fā)送到服務(wù)器計算機106以及從服務(wù)器計算機106發(fā)送文檔內(nèi)容信息。創(chuàng)建鎖的元數(shù)據(jù),稱為鎖創(chuàng)建元數(shù)據(jù),在共同寫作用戶例如通過在段落中鍵入或通過做出格式改變來修改文檔的區(qū)域的內(nèi)容時,被寫到元數(shù)據(jù)信道111。鎖創(chuàng)建元數(shù)據(jù)為所有其他共同寫作用戶將鎖應(yīng)用到段落,防止其他共同寫作用戶編輯該文檔的相同區(qū)域。如下面進一步討論,為了提供交叉信道一致性,在保存文檔時還將鎖創(chuàng)建元數(shù)據(jù)包括在數(shù)據(jù)信道113中。移除鎖的元數(shù)據(jù),稱為鎖移除元數(shù)據(jù),在共同寫作用戶已經(jīng)完成編輯文檔的區(qū)域 (通常是段落)時,被寫到數(shù)據(jù)信道113。將鎖移除元數(shù)據(jù)寫到數(shù)據(jù)信道113以將鎖移除與內(nèi)容更新進行同步。在共同寫作用戶時完成編輯文檔的區(qū)域時,共同寫作用戶通常執(zhí)行保存操作。在保存操作期間,將文檔內(nèi)容寫到數(shù)據(jù)信道113并發(fā)送給服務(wù)器106。將鎖移除元數(shù)據(jù)連同文檔內(nèi)容一起寫到數(shù)據(jù)信道113,確保了在與文檔內(nèi)容相同的時間接收到移除該文檔的已編輯區(qū)域的鎖的元數(shù)據(jù)。這防止了在接收到已更新內(nèi)容之前就移除鎖潛在地允許用戶編輯不具有最新內(nèi)容的文檔的區(qū)域的潛在問題。刪除鎖的元數(shù)據(jù),稱為鎖刪除元數(shù)據(jù),在例如通過激活鎖刪除按鈕或通過超時來明確地刪除鎖時,被寫到元數(shù)據(jù)信道111??梢猿鲇诙喾N理由明確地刪除鎖。例如,用戶可以開始編輯文檔的區(qū)域、創(chuàng)建該文檔的該區(qū)域的鎖,并且接著取消而不保存。沒有刪除鎖的明確方法,鎖將仍然起作用。作為另一示例,用戶可以開始編輯文檔的區(qū)域、創(chuàng)建該文檔的該區(qū)域的鎖、并且離開長的時間段,或者是從網(wǎng)絡(luò)108斷開長的時間段。對于這些情況,文檔協(xié)作系統(tǒng)可以實現(xiàn)在特定時間之后使得共同寫作用戶的所有鎖過期的超時。對于這種示例,超時使得將正在編輯的文檔的區(qū)域的鎖刪除元數(shù)據(jù)寫到元數(shù)據(jù)信道111。鎖元 數(shù)據(jù)的每一單元具有與其相關(guān)聯(lián)的標識符。在這一示例中,標識符包括標識鎖并且也標識該鎖針對的文檔的部分的數(shù)字,如下面進一步描述。鎖可以也包括發(fā)起鎖的創(chuàng)建、移除或刪除的用戶的標識符。在創(chuàng)建鎖時將標識符指派給鎖,且在刪除或移除鎖時使用相同的標識符。因而,總是存在與相鎖關(guān)聯(lián)的鎖創(chuàng)建、鎖刪除/移除對。如果正在編輯文檔的區(qū)域(導(dǎo)致鎖的創(chuàng)建),并且執(zhí)行保存操作(導(dǎo)致移除鎖), 并且接著再次編輯文檔的相同的區(qū)域,則為文檔的該區(qū)域創(chuàng)建新的鎖。即使是正在編輯文檔的相同的部分,也為新的鎖指派新的標識符。如下面所解釋,將鎖標識符用作增強交叉信道一致性的附加工具。示例文檔協(xié)作系統(tǒng)維持每一鎖創(chuàng)建、鎖刪除和鎖移除的歷史。在元數(shù)據(jù)信道111 中維持該歷史。如下面進一步解釋,鎖創(chuàng)建、鎖刪除和鎖移除歷史被用作增強交叉信道一致性的進一步的工具。圖2示出客戶端計算機102的各邏輯模塊的詳盡視圖??蛻舳擞嬎銠C102包括示例文檔處理模塊202和示例元數(shù)據(jù)處理模塊204。示例文檔處理模塊202執(zhí)行諸如Microsoft Word等的字處理器的操作。示例文檔處理模塊202容許創(chuàng)建或打開、修改和保存各文檔。示例文檔處理模塊202使用數(shù)據(jù)信道113來將文檔內(nèi)容保存到服務(wù)器106。數(shù)據(jù)信道113是相對慢的信道,因為在保存文檔時,整個文檔的內(nèi)容被發(fā)送給服務(wù)器106。在各示例實施方式中,客戶機102和客戶機104上的共同寫作用戶可以編輯相同的文檔。如果客戶機102上的共同寫作用戶首先打開文檔,則示例文檔處理模塊202從服務(wù)器106獲得該文檔的副本并在客戶機102上打開該文檔。在客戶機104上的共同寫作用戶打開文檔時,示例文檔處理模塊202從服務(wù)器106獲得該文檔的副本并在客戶機104上打開該文檔。如果在客戶機104上的共同寫作用戶打開文檔之前客戶機102上的共同寫作用戶對文檔做出改變,但是客戶機102上的共同寫作用戶未保存改變,則在客戶機104上的共同寫作用戶打開文檔時,客戶機104上的共同寫作用戶看不到改變。在各示例實施方式中,第二共同寫作用戶看不到第一共同寫作用戶對文檔做出的改變,直到第一共同寫作用戶和第二共同寫作用戶兩者都保存對文檔的改變。例如,在客戶機102上的共同寫作用戶保存對在客戶機102上打開的文檔的改變時,客戶機104上的共同寫作用戶看不到改變,直到客戶機104上的共同寫作用戶保存對在客戶機104上打開的文檔的改變。當(dāng)在客戶機102上的共同寫作用戶保存對客戶機102上的文檔的改變之后, 客戶機104上的共同寫作用戶保存對在客戶機104上打開的文檔的改變時,將在客戶機102 上對文檔做出的改變與在客戶機104上打開的文檔合并起來。示例元數(shù)據(jù)處理模塊204處理在示例文檔協(xié)作系統(tǒng)上打開的各文檔的元數(shù)據(jù)。在客戶機102上的共同寫作用戶打開文檔并例如通過在文檔的段落中鍵入來修改文檔中的內(nèi)容時,客戶機102上的示例元數(shù)據(jù)處理模塊為該段落創(chuàng)建鎖。該鎖是包括標識該文檔的已鎖定的段落的段落標識符的元數(shù)據(jù)。鎖元數(shù)據(jù)也包括編輯該文檔的共同寫作用戶的標識符,且鎖元數(shù)據(jù)包括該鎖的標識符。關(guān)于段落鎖的另外的細節(jié)可以在2008年7月25日提交的美國專利申請第 12/145,536號中找到,該專利申請整體通過引用結(jié)合于此。在各示例實施方式中,每 一鎖具有標識該鎖的鎖標識符。鎖標識符是由創(chuàng)建鎖的示例元數(shù)據(jù)處理模塊204生成的隨機數(shù)字。每當(dāng)創(chuàng)建新的鎖時,即使是為與先前的鎖相同的段落創(chuàng)建新的鎖,也為該鎖生成新的鎖標識符。鎖標識符用來確定應(yīng)該何時應(yīng)用、從文檔移除或刪除鎖。在創(chuàng)建鎖時,將鎖寫到示例元數(shù)據(jù)信道111并將其發(fā)送到服務(wù)器計算機106。元數(shù)據(jù)信道111是與數(shù)據(jù)信道113分離的快速信道。與數(shù)據(jù)信道113相比較,通常更快速(“迅速”)地更新元數(shù)據(jù)信道111,這是因為通常存在較少的要在元數(shù)據(jù)信道111上傳送的信息, 因此比數(shù)據(jù)信道113上的信息更快地將信息傳送給服務(wù)器106。對于將元數(shù)據(jù)信道111用于鎖傳播以便快速地警告共同寫作用戶另一共同寫作用戶正在編輯該文檔的區(qū)域,并且最小化其他共同寫作用戶編輯該文檔的相同的區(qū)域的可能性,這是有益的。在各示例實施方式中,將示例元數(shù)據(jù)信道111上的初始元數(shù)據(jù)立即發(fā)送到服務(wù)器 106,但此后,以周期性的間隔,例如每5秒、10秒、30秒、45秒、1分鐘、5分鐘、或10分鐘,將附加的元數(shù)據(jù)發(fā)送到服務(wù)器106。出于性能原因,例如為了減少服務(wù)器106上的負載,周期性地而非立即將附加的元數(shù)據(jù)發(fā)送給服務(wù)器106。在客戶機102上的共同寫作編輯者,例如在客戶機102處打開的文檔的段落1中,開始編輯時,為段落1創(chuàng)建鎖并在元數(shù)據(jù)信道111 上將其發(fā)送到服務(wù)器106。在客戶機104處接收到鎖時,該鎖防止了客戶機104上的共同寫作用戶在該文檔的段落1中編輯。如果示例客戶機102上的共同寫作用戶現(xiàn)在編輯段落8,則為段落8創(chuàng)建鎖,但不在元數(shù)據(jù)信道111上將該鎖發(fā)送到服務(wù)器106,直到周期性時間間隔過期。例如,如果周期性時間間隔是30秒且在將段落1的鎖發(fā)送到服務(wù)器106三秒之后,客戶機102上的共同寫作用戶在段落8中鍵入,則在另外的27秒內(nèi)不在元數(shù)據(jù)信道111上將段落8的鎖發(fā)送給服務(wù)器106。在這一示例中,如果在27秒已經(jīng)到期之前客戶機102上的共同寫作用戶執(zhí)行保存操作,則可能的是,在段落8的鎖到達元數(shù)據(jù)信道111之前,段落8的內(nèi)容信息到達客戶機 104。出于這種原因,在示例元數(shù)據(jù)處理模塊204為段落創(chuàng)建鎖并將該鎖寫到元數(shù)據(jù)信道111時,示例元數(shù)據(jù)處理模塊204也將該鎖寫到數(shù)據(jù)信道113。然后,在客戶機102上的共同寫作用戶為對在客戶機102上打開的文檔做出的編輯執(zhí)行保存操作時,在與在數(shù)據(jù)信道113上將該段落的內(nèi)容改變傳送給服務(wù)器106的同時,在數(shù)據(jù)信道113上將該段落的鎖傳送給服務(wù)器106。在元數(shù)據(jù)信道111和數(shù)據(jù)信道113兩者上提供鎖創(chuàng)建元數(shù)據(jù)幫助最小化與在以上所描述的元數(shù)據(jù)信道111上的更新的周期性本質(zhì)相關(guān)聯(lián)的等待時間的任何問題。如果在保存操作之前元數(shù)據(jù)信道111上的鎖到達客戶機104,則該鎖防止客戶機104上的共同寫作用戶編輯該段落。如果在客戶機102上進行了保存操作,并且來自保存操作的在數(shù)據(jù)信道 113上的內(nèi)容改變在元數(shù)據(jù)信道111上的鎖之前到達客戶機104,則來自數(shù)據(jù)信道113的鎖連同內(nèi)容改變一起到達客戶機104。數(shù)據(jù)信道113中的鎖防止客戶機104上的共同寫作用戶編輯段落。鎖移除通常是作為結(jié)保存操作果而經(jīng)由數(shù)據(jù)信道113發(fā)生。在文檔協(xié)作系統(tǒng)中, 可以存在至少兩個不同類型的保存操作。在保存操作的一個示例中,將內(nèi)容數(shù)據(jù)保存到服務(wù)器106,但不將內(nèi)容信息指定為共享。在這一示例中,共同寫作用戶保存所被編輯內(nèi)的容以便將內(nèi)容保存在服務(wù)器106上,但是內(nèi)容可以仍然不處于共同寫作用戶方便與其他人共享內(nèi)容的狀態(tài)。在保存操作的另一示例中,共同寫作用戶將內(nèi)容指定為共享。在本發(fā)明中, 保存操作與第二示例一致,意味著保存操作將所保存的內(nèi)容指定為與其他共同寫作用戶共享。鎖移除經(jīng)由數(shù)據(jù)信道113發(fā)生,因為保存操作通常指示共同寫作用戶已經(jīng)完成對被保存的文檔的各段落的編輯。如果共同寫作用戶希望繼續(xù)編輯一個或多個段落,則為共同寫作用戶所編輯的每一段落創(chuàng)建具有新的鎖標識符的新的鎖。將鎖移除元數(shù)據(jù)寫到數(shù)據(jù)信道113以確保在與內(nèi)容改變相同的時間在服務(wù)器106 處接收到鎖移除元數(shù)據(jù)。這確保了在另一共同寫作用戶,例如示例客戶機104上的共同寫作用戶,接收鎖移除元數(shù)據(jù)(防止了客戶機104上的共同寫作用戶編輯已鎖定的段落)時, 在客戶機104上打開的文檔也被更新到最新的內(nèi)容。這確保了,在移除對應(yīng)于鎖移除元數(shù)據(jù)的鎖時,客戶機104上的共同寫作用戶編輯已更新的內(nèi)容。在鎖移除發(fā)生時,除了將鎖移除元數(shù)據(jù)寫到數(shù)據(jù)信道113之外,也將鎖移除元數(shù)據(jù)寫到元數(shù)據(jù)信道111。來自元數(shù)據(jù)信道111的鎖移除元數(shù)據(jù)通常在來自數(shù)據(jù)信道113鎖移除元數(shù)據(jù)到達服務(wù)器106之前到達服務(wù)器106。在服務(wù)器106接收到鎖移除元數(shù)據(jù)時, 服務(wù)器106改變該文檔的其他共同寫作用戶的已鎖定的段落的鎖類型。新的鎖類型指示已鎖定的段落不再被編輯。這告知用戶,例如客戶機104上的共同寫作用戶,該段落可用于編輯。然而,對于客戶機104上的共同寫作用戶,段落仍然被鎖定。在客戶機104上的共同寫作用戶執(zhí)行保存操作時,服務(wù)器106用對該段落的已更新的內(nèi)容改變來更新客戶機104,并移除該段落上的鎖。在元數(shù)據(jù)信道111上將鎖刪除元數(shù)據(jù)發(fā)送到服務(wù)器106。從鎖移除元數(shù)據(jù)區(qū)分鎖刪除元數(shù)據(jù)。在用戶不再編輯文檔的區(qū)域時生成鎖移除元數(shù)據(jù)。鎖刪除元數(shù)據(jù)發(fā)生是因為共同寫作用戶的明確的動作或文檔協(xié)作系統(tǒng)的明確的動作。例如,如上所述,用戶可以開始編輯一個或多個段落并決定取消編輯而不保存。由于在共同寫作用戶在段落中鍵入時將鎖創(chuàng)建元數(shù)據(jù)寫到元數(shù)據(jù)信道111和數(shù)據(jù)信道113兩者,共同寫作用戶可以按下與示例文檔處理模塊202相關(guān)聯(lián)的刪除鍵。按下示例刪除關(guān)鍵引起將鎖刪除元數(shù)據(jù)寫到元數(shù)據(jù)信道 111。如下面所討論,鎖刪除元數(shù)據(jù)具有比鎖創(chuàng)建元數(shù)據(jù)高的優(yōu)先級。結(jié)果,在在客戶機 104上處理來自元數(shù)據(jù)信道111的元數(shù)據(jù)時,鎖刪除元數(shù)據(jù)從客戶機104移除具有鎖刪除元數(shù)據(jù)的鎖標識符的任何鎖。在某些條件下,鎖刪除元數(shù)據(jù)也由文檔協(xié)作系統(tǒng)明確地生成。例如,如果用戶編輯文檔的一個或多個段落,不保存改變,不關(guān)閉文檔并回家過夜,則對于用戶編輯的所有段落,鎖仍然是活動的。這些鎖防止其他共同寫作用戶編輯各段落。元數(shù)據(jù)處理模塊111通過在預(yù)先確定的時間周期之后使得鎖超時并為各鎖生成鎖刪除元數(shù)據(jù)來解決這一情況。
在客戶機104接收元數(shù)據(jù)(例如由客戶機102生成的元數(shù)據(jù))時,客戶機104上的優(yōu)先化準則確定如何將元數(shù)據(jù)應(yīng)用到在客戶機104上打開的文檔。在客戶機104上的共同寫作用戶從服務(wù)器106獲得文檔并在客戶機104上打開該文檔時,在元數(shù)據(jù)信道111上獲得該文檔的元數(shù)據(jù)。如果該元數(shù)據(jù)包括該文檔的一個或多個段落的一個或多個鎖,則客戶機104確定元數(shù)據(jù)是否包括具有與一個或多個鎖相同的鎖標識符的一個或多個鎖移除。 如果元數(shù)據(jù)包括具有與元數(shù)據(jù)中包括的鎖相同的鎖標識符的鎖移除,則不將鎖應(yīng)用到該文檔。原因是鎖移除總是在創(chuàng)建鎖之后發(fā)生,因此鎖移除是更近的。然而,如果元數(shù)據(jù)不包括具有與元數(shù)據(jù)中包括的鎖相同的鎖標識符的鎖移除,則將該鎖應(yīng)用到該文檔中鎖元數(shù)據(jù)中指定的段落。該鎖防止客戶機104上的共同寫作用戶編輯該文檔。一旦打開客戶機104上的文檔并如上所述將初始元數(shù)據(jù)應(yīng)用到文檔,在各示例實施方式中就以周期性的間隔(通常是30秒)將附加的元數(shù)據(jù)應(yīng)用到文檔。另外,在各示例實施方式中僅在客戶機104上進行保存操作時將對文檔的附加的內(nèi)容更新應(yīng)用到文檔。在下一周期性的時間間隔發(fā)生時,經(jīng)由元數(shù)據(jù)信道111從服務(wù)器106獲得元數(shù)據(jù)。根據(jù)優(yōu)先級準則將元數(shù)據(jù)應(yīng)用到文檔。客戶機104上的示例元數(shù)據(jù)處理模塊204首先確定元數(shù)據(jù)是否包括任何鎖刪除。元數(shù)據(jù)信道111上的鎖刪除是最高優(yōu)先級元數(shù)據(jù),指示鎖要被明確地移除??蛻魴C104上的示例元數(shù)據(jù)處理模塊204接著確定從服務(wù)器106獲得的元數(shù)據(jù)被獲得是否包括任何鎖創(chuàng)建。如果元數(shù)據(jù)包括一個或多個鎖創(chuàng)建,則做出該元數(shù)據(jù)是否也包括與一個或多個鎖創(chuàng)建的鎖標識符匹配的任何鎖移除的判斷。如果鎖創(chuàng)建不具有帶有相同的鎖標識符的相應(yīng)的鎖移除,則將對應(yīng)于鎖創(chuàng)建的鎖應(yīng)用到該鎖創(chuàng)建中所標識的文檔的段落。然而,如果鎖創(chuàng)建具有帶有相同的鎖標識符的相應(yīng)的鎖移除,則不將對應(yīng)于鎖創(chuàng)建的鎖應(yīng)用到該鎖創(chuàng)建中標識的文檔的段落。這是因為鎖移除總是在鎖創(chuàng)建之后發(fā)生,且如果鎖移除和鎖創(chuàng)建具有相同的標識符,則已經(jīng)取了消該鎖。在客戶機104上的共同寫作用戶時執(zhí)行保存操作時,從服務(wù)器106獲得該文檔的已更新內(nèi)容。已更新的內(nèi)容反映由自從客戶機104上的上次保存操作以來將他們的內(nèi)容改變保存到服務(wù)器106的其他共同寫作用戶做出的對文檔的任何變化。在數(shù)據(jù)信道113上將已更新的內(nèi)容從服務(wù)器106發(fā)送到客戶機104。在客戶機104從接收服務(wù)器106的已更新的內(nèi)容時,客戶機104確定從服務(wù)器106接收的最新的元數(shù)據(jù)是否包括任何鎖移除。如果從服務(wù)器106接收的最新的元數(shù)據(jù)包括任何鎖移除,則從由鎖移除標識的文檔的段落移除由該鎖移除標識的鎖。直到內(nèi)容更新發(fā)生為止不發(fā)生鎖移除的原因,是為了確保在移除鎖并且共同寫作用戶開始編輯已鎖定的段落時,共同寫作用戶正在編輯在服務(wù)器106上保存的文檔的最近內(nèi)容。圖3-圖5示出將元數(shù)據(jù)應(yīng)用到文檔以提供信息的交叉信道一致性的方法的示例流圖300。在操作302,從服務(wù)器計算機106獲取被指派用于共同寫作的文檔。在操作304, 由客戶機104上的共同寫作用戶打開文檔。在操作306,客戶機104從服務(wù)器計算機106接收包括該文檔的第一元數(shù)據(jù)的第一消息。當(dāng)在客戶機104上打開文檔時,服務(wù)器計算機106 將第一元數(shù)據(jù)發(fā)送到客戶機104。在元數(shù)據(jù)信道111上發(fā)送第一元數(shù)據(jù)。第一元數(shù)據(jù)包括該文檔的一個或多個鎖。各鎖指示一個或多個共同寫作用戶例如客戶機102上的共同寫作用戶已經(jīng)修改該文檔的一個或多個區(qū)域。
在操作308,客戶機104從服務(wù)器計算機106接收包括該文檔的第二元數(shù)據(jù)的第二消息。還在元數(shù)據(jù)信道111上接收第二元數(shù)據(jù)。在操作310,做出第二元數(shù)據(jù)是否包括一個或多個鎖刪除的判斷。在確定第二元數(shù)據(jù)包括一個或多個鎖刪除時,在操作312,做出一個或多個鎖刪除是否與被應(yīng)用到文檔的鎖匹配的判斷。每一鎖刪除具有一標識符且每一鎖具有一標識符。如果做出鎖刪除的標識符與該文檔上的鎖的標識符匹配的判斷,則在操作 314,刪除該文檔上的鎖。在操作316,做出第二元數(shù)據(jù)是否包括鎖創(chuàng)建的判斷。在確定第二元數(shù)據(jù)包括鎖創(chuàng)建時,在操作318,做出第二元數(shù)據(jù)是否包括鎖移除的判斷。在確定第二元數(shù)據(jù)包括鎖移除時,在操作320,做出鎖移除的標識符是否與鎖創(chuàng)建的標識符匹配的判斷。在確定不存在鎖移除時或在確定存在鎖移除且沒有一個鎖移除與鎖創(chuàng)建匹配時,在操作322,將對應(yīng)于第二元數(shù)據(jù)中的鎖創(chuàng)建的鎖應(yīng)用到文檔。如果鎖創(chuàng)建具有匹配的鎖移除,則不將鎖應(yīng)用到該鎖創(chuàng)建的文檔。因為鎖移除在鎖創(chuàng)建之后發(fā)生,鎖移除指示不再需要鎖定對應(yīng)于鎖創(chuàng)建的文檔的區(qū)域。在操作324,客戶機104從服務(wù)器計算機206接收包括文檔內(nèi)容且也包括第三元數(shù)據(jù)的第三消息。第三消息通常是在客戶機104上的共同寫作用戶執(zhí)行保存操作以保存在客戶機上打開的文檔的內(nèi)容之后被接收的。第三消息中所包括的文檔內(nèi)容是來自另一共同寫作用戶例如客戶機102上的共同寫作用戶的已更新文檔內(nèi)容。在數(shù)據(jù)信道113上接收第三消息。在數(shù)據(jù)信道113上接收第三消息以確保在與經(jīng)更新文檔內(nèi)容相同的時間接收到該鎖移除。這確保了如果移除了鎖,則對其移除了該鎖的文檔的區(qū)域具有最新的內(nèi)容。在操作326,做出第三元數(shù)據(jù)是否包括鎖移除的判斷。在確定第三元數(shù)據(jù)包括一個或多個鎖移除時,在操作312做出一個或多個鎖移除是否與被應(yīng)用到文檔的鎖匹配的判斷。每一鎖移除具有一標識符且每一鎖具有一標識符。如果做出鎖移除的標識符與該文檔上的鎖的標識符的判斷,則在操作314,移除該文檔上的鎖。交叉信道共同寫作一致性的以上討論描述兩個共同寫作用戶。在其他示例實施方式中,多于兩個的共同寫作用戶可以編輯相同的文檔。相同的元數(shù)據(jù)合并操作適用于具有多于兩個的共同寫作用戶的示例實施方式。參考圖6,示出客戶機102的示例組件。在示例實施方式中,客戶機102是計算設(shè)備,諸如臺式計算機、膝上型計算機、個人數(shù)字助理,或蜂窩式設(shè)備??蛻魴C102可以包括輸入/輸出設(shè)備、中央處理單元(“CPU”)、數(shù)據(jù)存儲設(shè)備,和網(wǎng)絡(luò)設(shè)備。在基本配置中,計算設(shè)備102通常包括至少一個處理單元402和系統(tǒng)存儲器404。 取決于計算設(shè)備的確切的配置和類型,系統(tǒng)存儲器404可以是易失性存儲器(例如RAM), 非易失性存儲器(例如ROM、閃速存儲器等等)或兩者的某種組合。系統(tǒng)存儲器404通常包括諸如來自華盛頓州雷蒙德市微軟公司的WINDOWS @操作系統(tǒng)等的適用于控制聯(lián)網(wǎng)個人計算機的操作的操作系統(tǒng)406,或諸如也來自華盛頓州雷蒙德市微軟公司的Windows SharePoint Server 2007等的適用于控制服務(wù)器的操作的操作系統(tǒng)406。系統(tǒng)存儲器404 還可以包括一個或多個軟件應(yīng)用408且可以包括程序數(shù)據(jù)。計算設(shè)備102可以具有附加的特征或功能。例如,計算設(shè)備102還可以也包括附加的數(shù)據(jù)存儲設(shè)備(可移動存儲設(shè)備和/或不可移動存儲設(shè)備),例如磁盤、光盤或磁帶。 在圖6中由可移動存儲410和不可移動存儲412示出這樣的附加存儲。計算機存儲介質(zhì)可以包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等的信息的任何方法或技術(shù)實現(xiàn)的易失性介質(zhì)和非易失性介質(zhì)、可移動介質(zhì)和不可移動介質(zhì)。系統(tǒng)存儲器 404、可移動存儲410和不可移動存儲412都是計算機存儲介質(zhì)的示例。計算機存儲介質(zhì)包括但不限于RAM、R0M、EEPR0M、閃速存儲器或其他存儲器技術(shù)、CD-ROM、數(shù)字多用盤(DVD)或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或可以被用來存儲所期望的信息且可由計算設(shè)備102訪問的任何其他介質(zhì)。任何這樣的計算機存儲介質(zhì)可以是設(shè)備102的一部分。計算設(shè)備102可以也具有諸如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等等的輸入設(shè)備414。也可以包括諸如顯示器、揚聲器、打印機等等的輸出設(shè)備416。這些設(shè)備在本領(lǐng)域中是公知的,且不需要在此詳細討論。計算設(shè)備102可以也包含允許設(shè)備例如在分布式計算環(huán)境中的網(wǎng)絡(luò)例如內(nèi)聯(lián)網(wǎng)或因特網(wǎng)上與其他計算設(shè)備420通信的通信連接418。通信連接418是通信介質(zhì)的一個示例。通信介質(zhì)可以通常是由諸如載波或其他傳輸機制等的經(jīng)調(diào)制的數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),且包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制的數(shù)據(jù)信號”意味著以在信號中編碼信息的方式來設(shè)置或改變其一個或多個特性的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接等的有線介質(zhì)和諸如聲學(xué)、 RF、紅外和其他無線介質(zhì)等的無線介質(zhì)。在此所使用的術(shù)語計算機可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。僅作為闡釋提供以上所描述的各種實施方式,且各種實施方式不應(yīng)被解釋成限制??梢栽诓黄x本公開內(nèi)容的真實精神和范圍的前提下對以上所描述的實施方式進行各種修改和改變。
權(quán)利要求
1.一種用于客戶端計算機(102)上的元數(shù)據(jù)一致性處理的方法(300),所述方法包括在客戶端計算機(102)上,從服務(wù)器計算機(106)獲得文檔; 在所述客戶端計算機(102)上打開所述文檔;在打開所述文檔之后,從所述服務(wù)器計算機(106)接收第一消息,所述第一消息包括所述文檔的第一元數(shù)據(jù),所述第一元數(shù)據(jù)包括所述文檔的一個或多個區(qū)域的一個或多個鎖,在元數(shù)據(jù)信道(111)上從所述服務(wù)器計算機(106)接收所述第一元數(shù)據(jù),所述元數(shù)據(jù)信道(111)是在所述客戶端計算機(102)和所述服務(wù)器計算機(106)之間的第一通信路徑, 沿著所述第一通信路徑傳遞與所述文檔相關(guān)聯(lián)的鎖元數(shù)據(jù); 在打開所述文檔之后,編輯未鎖定的所述文檔的第一區(qū)域;從所述服務(wù)器計算機(106)接收第二消息,所述第二消息包括所述文檔的第二元數(shù)據(jù),在所述元數(shù)據(jù)信道(111)上接收所述第二元數(shù)據(jù);在接收所述第二元數(shù)據(jù)之后,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖刪除; 在確定所述第二元數(shù)據(jù)包括一個或多個鎖刪除時,確定所述一個或多個鎖刪除是否包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符;在確定一個或多個鎖刪除包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符時,刪除對應(yīng)于所述鎖刪除的所述鎖;在接收所述第二元數(shù)據(jù)之后,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖創(chuàng)建,所述一個或多個鎖創(chuàng)建中的每一個都包括對應(yīng)于要被創(chuàng)建的每一鎖的標識符;在確定所述第二元數(shù)據(jù)包括一個或多個鎖創(chuàng)建時,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖移除,所述鎖移除具有與所述鎖創(chuàng)建的一個或多個相同的鎖標識符;在確定所述第二元數(shù)據(jù)不包括任何鎖移除時或在確定所述第二元數(shù)據(jù)包括一個或多個鎖移除且所述一個或多個鎖移除中沒有一個具有與鎖創(chuàng)建匹配的鎖標識符時,對于所述一個或多個鎖移除中沒有一個具有與所述鎖創(chuàng)建匹配的鎖標識符的所述一個或多個鎖創(chuàng)建中的每一鎖創(chuàng)建,將所述鎖創(chuàng)建應(yīng)用到在所述鎖創(chuàng)建中指定的所述文檔的所述區(qū)域;從所述服務(wù)器計算機(106)接收第三消息,所述第三消息包括內(nèi)容信息和第三元數(shù)據(jù),所述內(nèi)容信息和所述第三元數(shù)據(jù)是在與所述元數(shù)據(jù)信道(111)分離的數(shù)據(jù)信道(113) 上接收的,所述數(shù)據(jù)信道(113)是在所述客戶端計算機(102)和所述服務(wù)器計算機(106) 之間的第二通信路徑,沿著所述第二通信路徑傳遞與所述文檔相關(guān)聯(lián)的內(nèi)容和所述鎖元數(shù)據(jù);在接收所述內(nèi)容信息和所述第三元數(shù)據(jù)之后,確定所述第三元數(shù)據(jù)是否包括一個或多個鎖移除;在確定所述第三元數(shù)據(jù)包括一個或多個鎖移除時,確定所述一個或多個鎖移除是否包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符;在確定一個或多個鎖移除包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符時,移除對應(yīng)于所述鎖移除的所述鎖。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在確定所述第三元數(shù)據(jù)是否包括一個或多個鎖移除之后,確定所述第三元數(shù)據(jù)是否包括一個或多個鎖創(chuàng)建;在確定所述第三元數(shù)據(jù)包括一個或多個鎖創(chuàng)建時,確定所述第三元數(shù)據(jù)是否包括具有與所述鎖創(chuàng)建中的一個或多個的標識符匹配的鎖標識符的一個或多個鎖移除;以及在確定所述第三元數(shù)據(jù)不包括任何鎖移除時或在確定所述第三元數(shù)據(jù)包括一個或多個鎖移除且所述一個或多個鎖移除中沒有一個具有與鎖創(chuàng)建匹配的鎖標識符時,對于所述一個或多個鎖移除中沒有一個具有與所述鎖創(chuàng)建匹配的鎖標識符的所述一個或多個鎖創(chuàng)建中的每一鎖創(chuàng)建,將鎖應(yīng)用到在所述鎖創(chuàng)建中指定的所述文檔的所述區(qū)域;
3.如權(quán)利要求1所述的方法,其特征在于,還包括,所述客戶端計算機(102)在所述客戶端計算機接收所述第一元數(shù)據(jù)之后,以預(yù)先確定的時間間隔將第一請求消息發(fā)送到所述服務(wù)器計算機(106),所述第一請求消息從所述服務(wù)器計算機(106)請求元數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,還包括編輯未鎖定的所述文檔的第二區(qū)域, 所述文檔的所述第二區(qū)域不同于所述文檔的所述第一區(qū)域。
5.如權(quán)利要求4所述的方法,其特征在于,還包括將第二請求消息發(fā)送給所述服務(wù)器計算機(106),所述第二請求消息包括未鎖定的所述文檔的所述第二區(qū)域的鎖創(chuàng)建,從將所述第一請求消息發(fā)送到所述服務(wù)器計算機(106)的時間起以一個或多個預(yù)先確定的時間間隔發(fā)送所述第二請求消息。
6.如權(quán)利要求1所述的方法,其特征在于,還包括,每一鎖創(chuàng)建、每一鎖移除和每一鎖刪除的所述標識符,包括發(fā)起所述鎖創(chuàng)建、鎖移除或鎖刪除的共同寫作用戶的標識符。
7.一個計算設(shè)備(102),包括:處理單元(402);連接到所述處理單元(402)的系統(tǒng)存儲器(404),所述系統(tǒng)存儲器(404)包括指令,所述指令在由所述處理單元(402)執(zhí)行時使得所述處理單元(402)創(chuàng)建處理文檔內(nèi)容的創(chuàng)建和編輯的文檔處理模塊(202);以及生成、監(jiān)視和存儲所述計算設(shè)備(102)上的文檔的元數(shù)據(jù)的元數(shù)據(jù)處理模塊(204),所述元數(shù)據(jù)處理模塊(204)生成包括關(guān)于在用戶開始編輯文檔的一部分時創(chuàng)建的新的鎖的信息的鎖創(chuàng)建元數(shù)據(jù)、包括關(guān)于移除鎖的信息的鎖移除元數(shù)據(jù),以及包括關(guān)于刪除鎖的信息的鎖刪除元數(shù)據(jù),所述元數(shù)據(jù)處理模塊(204)將鎖創(chuàng)建元數(shù)據(jù)寫到數(shù)據(jù)信道(113)和分離的元數(shù)據(jù)信道(111)兩者,所述數(shù)據(jù)信道(113)是在所述計算設(shè)備(102)和服務(wù)器計算機(106)之間的第一通信路徑,沿著所述第一通信路徑傳遞與所述文檔相關(guān)聯(lián)的內(nèi)容和鎖元數(shù)據(jù),且所述元數(shù)據(jù)信道(111)是在所述計算設(shè)備(102)和所述服務(wù)器計算機(106)之間的第二通信路徑,沿著所述第二通信路徑出傳遞與所述文檔相關(guān)聯(lián)的所述鎖元數(shù)據(jù),所述元數(shù)據(jù)處理模塊(204)將鎖移除元數(shù)據(jù)寫到所述數(shù)據(jù)信道(113)且所述元數(shù)據(jù)處理模塊 (204)將鎖刪除元數(shù)據(jù)寫到所述元數(shù)據(jù)信道(111)。
8.如權(quán)利要求7所述的計算設(shè)備,其特征在于,在保存操作之后,所述元數(shù)據(jù)處理模塊 (204)將鎖移除元數(shù)據(jù)寫到所述數(shù)據(jù)信道(113),所述鎖移除元數(shù)據(jù)對應(yīng)于在所述保存操作期間被保存的已修改內(nèi)容。
9.如權(quán)利要求7所述的計算設(shè)備,其特征在于,在所述文檔的一個或多個區(qū)域被修改時,所述元數(shù)據(jù)處理模塊(204)將鎖創(chuàng)建元數(shù)據(jù)寫到所述元數(shù)據(jù)信道(111)和所述數(shù)據(jù)信道(113)。
10.如權(quán)利要求7所述的計算設(shè)備,其特征在于,在所述計算設(shè)備(102)上超時之后或當(dāng)在所述計算設(shè)備(102)上手動地激活刪除功能時,所述元數(shù)據(jù)處理模塊(204)將鎖刪除元數(shù)據(jù)寫到所述元數(shù)據(jù)信道(111)。
11.如權(quán)利要求7所述的計算設(shè)備,其特征在于,當(dāng)在所述計算設(shè)備(102)處執(zhí)行保存操作時,所述文檔處理模塊(202)從服務(wù)器計算機(106)獲得文檔的經(jīng)更新內(nèi)容信息。
12.如權(quán)利要求11所述的計算設(shè)備,其特征在于,當(dāng)在所述計算設(shè)備(102)處執(zhí)行所述保存操作時,所述元數(shù)據(jù)處理模塊(204)從所述服務(wù)器計算機(106)獲得鎖創(chuàng)建元數(shù)據(jù)和鎖移除元數(shù)據(jù)。
13.如權(quán)利要求7所述的計算設(shè)備,其特征在于,所述元數(shù)據(jù)處理模塊(204)將標識符指派給所述鎖創(chuàng)建元數(shù)據(jù)和所述鎖移除元數(shù)據(jù),所述元數(shù)據(jù)處理模塊將各標識符指派給成對的所述鎖創(chuàng)建元數(shù)據(jù)和所述鎖移除元數(shù)據(jù),至少一個鎖移除的所述標識符與至少一個鎖創(chuàng)建的所述標識符是相同的,不多于一個的鎖創(chuàng)建和一個鎖移除具有相同的標識符。
14.如權(quán)利要求7所述的計算設(shè)備,所述元數(shù)據(jù)處理模塊(204)將各標識符指派給成對的所述鎖創(chuàng)建元數(shù)據(jù)和所述鎖刪除元數(shù)據(jù),至少一個鎖刪除的所述標識符與至少一個鎖創(chuàng)建的所述標識符是相同的,不多于一個的鎖創(chuàng)建和一個鎖刪除具有相同的標識符。
15.一種包括指令的計算機可讀的數(shù)據(jù)存儲介質(zhì),所述指令在由電子計算設(shè)備(102) 的處理單元(402)執(zhí)行時,使得所述處理單元(402)從服務(wù)器計算機(106)獲取文檔,所述文檔由所述電子計算機設(shè)備(102)處的用戶請求;打開所述文檔;在打開所述文檔之后,從所述服務(wù)器計算機(106)接收第一消息,所述第一消息包括所述文檔的第一元數(shù)據(jù),所述第一元數(shù)據(jù)包括所述文檔的一個或多個區(qū)域的一個或多個鎖,在元數(shù)據(jù)信道(111)上從所述服務(wù)器計算機(106)接收所述第一元數(shù)據(jù),所述元數(shù)據(jù)信道(111)是在所述電子計算設(shè)備(102)和所述服務(wù)器計算機(106)之間的第一通信路徑, 沿著所述第一通信路徑傳遞與所述文檔相關(guān)聯(lián)的鎖元數(shù)據(jù); 在打開所述文檔之后,編輯未鎖定的所述文檔的第一區(qū)域;從所述服務(wù)器計算機(106)接收第二消息,所述第二消息包括所述文檔的第二元數(shù)據(jù),在所述元數(shù)據(jù)信道(111)上接收所述第二元數(shù)據(jù);在接收所述第二元數(shù)據(jù)之后,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖刪除; 在確定所述第二元數(shù)據(jù)包括一個或多個鎖刪除時,確定所述一個或多個鎖刪除是否包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符;在確定一個或多個鎖刪除包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符時,刪除對應(yīng)于所述鎖刪除的所述鎖;在接收所述第二元數(shù)據(jù)之后,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖創(chuàng)建,所述一個或多個鎖創(chuàng)建中的每一個包括對應(yīng)于要創(chuàng)建的每一鎖的標識符;在確定所述第二元數(shù)據(jù)包括一個或多個鎖創(chuàng)建時,確定所述第二元數(shù)據(jù)是否包括一個或多個鎖移除,所述鎖移除具有與所述鎖創(chuàng)建的一個或多個相同的鎖標識符; 在確定所述第二元數(shù)據(jù)不包括任何鎖移除時或在確定所述第二元數(shù)據(jù)包括一個或多個鎖移除且所述一個或多個鎖移除中沒有一個具有與鎖創(chuàng)建匹配的鎖標識符時,對于所述一個或多個鎖移除中沒有一個具有與所述鎖創(chuàng)建匹配的鎖標識符的所述一個或多個鎖創(chuàng)建中的每一鎖創(chuàng)建,將所述鎖創(chuàng)建應(yīng)用到在所述鎖創(chuàng)建中指定的所述文檔的所述區(qū)域;從所述服務(wù)器計算機(106)接收第三消息,所述第三消息包括內(nèi)容信息和第三元數(shù)據(jù),所述內(nèi)容信息和所述第三元數(shù)據(jù)是在與所述元數(shù)據(jù)信道(111)分離的數(shù)據(jù)信道(113) 上接收的,所述數(shù)據(jù)信道(113)是在所述電子計算設(shè)備(102)和所述服務(wù)器計算機(106) 之間的第二通信路徑,沿著所述第二通信路徑傳遞與所述文檔相關(guān)聯(lián)的內(nèi)容和所述鎖元數(shù)據(jù); 在接收所述內(nèi)容信息和所述第三元數(shù)據(jù)之后,確定所述第三元數(shù)據(jù)是否包括一個或多個鎖移除;在確定所述第三元數(shù)據(jù)包括一個或多個鎖移除時,確定所述一個或多個鎖移除是否包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符;在確定一個或多個鎖移除包括與已鎖定的所述文檔的一個或多個區(qū)域的鎖的標識符匹配的標識符時,移除對應(yīng)于所述鎖移除的所述鎖;在確定所述第三元數(shù)據(jù)是否包括一個或多個鎖移除之后,確定所述第二元數(shù)據(jù)是否包括具有與所述一個或多個鎖移除的標識符匹配的標識符的一個或多個鎖創(chuàng)建;在確定所述第二元數(shù)據(jù)包括具有與所述一個或多個鎖移除的標識符匹配的標識符的一個或多個鎖創(chuàng)建時,確定是否應(yīng)該將具有與所述一個或多個鎖創(chuàng)建匹配的標識符的一個或多個鎖應(yīng)用到所述文檔;在確定具有與所述一個或多個鎖移除的標識符匹配的標識符的一個或多個鎖創(chuàng)建時, 以及在確定將具有與所述一個或多個鎖創(chuàng)建匹配的標識符的一個或多個鎖應(yīng)用到所述文檔時,從所述文檔移除具有與具有匹配于所述一個或多個鎖移除的標識符的鎖創(chuàng)建相匹配的標識符的每一鎖;在確定所述第三元數(shù)據(jù)是否包括一個或多個鎖移除之后,確定所述第三元數(shù)據(jù)是否包括一個或多個鎖創(chuàng)建;在確定所述第三元數(shù)據(jù)包括一個或多個鎖創(chuàng)建時,確定所述第三元數(shù)據(jù)是否包括具有與所述鎖創(chuàng)建中的一個或多個的標識符匹配的鎖標識符的一個或多個鎖移除;以及在確定所述第三元數(shù)據(jù)不包括任何鎖移除時或在確定所述第三元數(shù)據(jù)包括一個或多個鎖移除且所述一個或多個鎖移除中沒有一個具有匹配鎖創(chuàng)建的鎖標識符時,對于所述一個或多個鎖移除中沒有一個具有匹配所述鎖創(chuàng)建的鎖標識符的所述一個或多個鎖創(chuàng)建中的每一鎖創(chuàng)建,將鎖應(yīng)用到在所述鎖創(chuàng)建中指定的所述文檔的所述區(qū)域。
全文摘要
一個計算設(shè)備包括處理單元和帶有指令的存儲器,指令在由處理單元執(zhí)行時,使處理單元創(chuàng)建處理文檔內(nèi)容的創(chuàng)建和編輯的文檔處理模塊;以及在計算設(shè)備上生成、監(jiān)視和存儲文檔的元數(shù)據(jù)的元數(shù)據(jù)處理模塊,該元數(shù)據(jù)處理模塊生成包括關(guān)于在用戶開始編輯文檔的一部分時創(chuàng)建的新的鎖的信息的鎖創(chuàng)建元數(shù)據(jù)、包括關(guān)于移除鎖的信息的鎖移除元數(shù)據(jù),以及包括關(guān)于刪除鎖的信息的鎖刪除元數(shù)據(jù),元數(shù)據(jù)處理模塊將鎖創(chuàng)建元數(shù)據(jù)寫到數(shù)據(jù)信道和分離的元數(shù)據(jù)信道兩者,元數(shù)據(jù)處理模塊將鎖移除元數(shù)據(jù)寫到數(shù)據(jù)信道且元數(shù)據(jù)處理模塊將鎖刪除元數(shù)據(jù)寫到元數(shù)據(jù)信道。
文檔編號G06F15/16GK102414675SQ201080020012
公開日2012年4月11日 申請日期2010年4月30日 優(yōu)先權(quán)日2009年5月1日
發(fā)明者C·J·安托斯, E·J·伯恩斯坦, J·B·拜勒 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
谢通门县| 潼关县| 英德市| 乌拉特前旗| 赣州市| 库车县| 武宁县| 临沭县| 许昌县| 怀宁县| 敖汉旗| 刚察县| 宁陵县| 泗阳县| 岳西县| 平果县| 临江市| 吉林省| 壤塘县| 滁州市| 乌兰察布市| 汶上县| 彝良县| 亚东县| 武夷山市| 雅安市| 商河县| 察哈| 江安县| 郑州市| 青神县| 包头市| 鄂州市| 云南省| 北宁市| 长子县| 丹凤县| 临潭县| 隆回县| 楚雄市| 嘉荫县|