国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通過圍欄和解圍欄對(duì)復(fù)制信息的權(quán)限進(jìn)行的粒度控制的制作方法

      文檔序號(hào):6419497閱讀:168來源:國知局
      專利名稱:通過圍欄和解圍欄對(duì)復(fù)制信息的權(quán)限進(jìn)行的粒度控制的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及計(jì)算設(shè)備,尤其涉及資源復(fù)制系統(tǒng)。
      背景技術(shù)
      機(jī)會(huì)主義、多主復(fù)制系統(tǒng)允許對(duì)參與給定復(fù)制品集合的任一機(jī)器上的復(fù)制內(nèi)容進(jìn)行無限制的變化。使用一組沖突分解標(biāo)準(zhǔn)在復(fù)制系統(tǒng)的控制下協(xié)調(diào)這些潛在沖突變化,沖突分解標(biāo)準(zhǔn)為每一沖突情況定義了哪一沖突的變化優(yōu)先于其它變化。過去,使用的主要沖突分解標(biāo)準(zhǔn)為變化的物理或邏輯時(shí)間,最近的變化優(yōu)先于所有其它變化。
      然而,當(dāng)用戶或應(yīng)用可能希望有另外的方法來控制哪一并發(fā)的更新優(yōu)先于其它更新,并且相反地,哪一更新應(yīng)放棄優(yōu)先級(jí)時(shí),存在許多問題。需要一種控制哪一內(nèi)容獲得優(yōu)先級(jí)并被復(fù)制的靈活的方法和系統(tǒng)。

      發(fā)明內(nèi)容
      簡單而言,本發(fā)明提供了一種用于控制哪一內(nèi)容獲得優(yōu)先級(jí)并被復(fù)制的方法和系統(tǒng)。復(fù)制品集合包括一組資源。每一資源與資源數(shù)據(jù)和資源元數(shù)據(jù)關(guān)聯(lián)。對(duì)文件而言,資源數(shù)據(jù)包括文件內(nèi)容和屬性,而資源元數(shù)據(jù)包括有關(guān)在復(fù)制過程中協(xié)商同步的另外的屬性。向與每一資源關(guān)聯(lián)的元數(shù)據(jù)添加名為“圍欄值(fence value)”的附加域。在同步過程中,比較圍欄值。具有最高圍欄值的資源包括正在控制的內(nèi)容并獲得復(fù)制。如果圍欄值相等(并大于一特定值),則基于其它元數(shù)據(jù)確定控制資源。
      圍欄值與對(duì)內(nèi)容的本地變化不相關(guān)。即,盡管內(nèi)容中的本地變化可能影響其它元數(shù)據(jù)(如,時(shí)間標(biāo)記、時(shí)鐘值或其它),內(nèi)容中的本地變化不影響圍欄值,除非另外指示。
      在本發(fā)明的一個(gè)方面,資源可能具有指示該資源未圍欄的圍欄值。如果該資源未圍欄,則這指示不應(yīng)從儲(chǔ)存該資源的機(jī)器發(fā)送該資源。當(dāng)接收到競(jìng)爭的資源用于同步時(shí),未圍欄的資源負(fù)于(并且在同步過程中被替代)已圍欄的資源。
      在本發(fā)明的另一方面,僅發(fā)送具有獲勝資源的機(jī)器和具有失敗內(nèi)容的機(jī)器上的資源之間的差異。例如,可能發(fā)送資源元數(shù)據(jù)而不發(fā)送資源內(nèi)容。作為另一示例,可能在同步過程中發(fā)送資源內(nèi)容的差異。
      結(jié)合附圖閱讀以下詳細(xì)描述,將清楚其它優(yōu)點(diǎn)。


      圖1是可以在其中結(jié)合本發(fā)明的計(jì)算機(jī)系統(tǒng)的方框圖;圖2是依照本發(fā)明的各方面包括復(fù)制資源的兩機(jī)器的資源復(fù)制系統(tǒng)的方框圖;圖3是依照本發(fā)明的各方面在其中兩機(jī)器試圖協(xié)調(diào)兩者都包括的資源的系統(tǒng)的方框圖;圖4示出依照本發(fā)明的各方面能夠用于圖2和3的機(jī)器的一些示例性資源數(shù)據(jù)和元數(shù)據(jù);圖5示出依照本發(fā)明的各方面可以使用的一些示例性資源數(shù)據(jù)和元數(shù)據(jù);圖6是依照本發(fā)明的各方面一般代表了可能出現(xiàn)的用以同步兩機(jī)器之間的資源的示例性步驟的數(shù)據(jù)流圖;圖7是依照本發(fā)明的各方面一般代表了可能出現(xiàn)的用以執(zhí)行非授權(quán)備份的示例性步驟的數(shù)據(jù)流圖;圖8所示是依照本發(fā)明的各方面被配置以在資源復(fù)制系統(tǒng)中運(yùn)行的示例機(jī)器的方框圖。
      具體實(shí)施例方式
      示例性操作環(huán)境圖1所示是適合在其中實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境100僅為合適計(jì)算環(huán)境的一個(gè)示例,并非對(duì)本發(fā)明的使用或功能的范圍的任何限制。也不應(yīng)將計(jì)算環(huán)境100解釋為對(duì)示例性操作環(huán)境100中所示的組件的任一或其組合具有任何依賴或需求。
      本發(fā)明適用于眾多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置??梢赃m合使用本發(fā)明的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括(但不限于)個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
      可以采用由計(jì)算機(jī)執(zhí)行的一般語境的計(jì)算機(jī)可執(zhí)行指令(如程序模塊)來描述本發(fā)明。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等,執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)媒質(zhì)中,包括存儲(chǔ)器存儲(chǔ)設(shè)備。
      參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括以計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可包括(但不限于)處理單元120、系統(tǒng)存儲(chǔ)器130以及將包括系統(tǒng)存儲(chǔ)器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線以及使用任一多種總線體系結(jié)構(gòu)的本地總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
      計(jì)算機(jī)110通常包括多種計(jì)算機(jī)可讀媒質(zhì)。計(jì)算機(jī)可讀媒質(zhì)可以是可由計(jì)算機(jī)110訪問的任一可用媒質(zhì),并包括易失和非易失媒質(zhì)以及可移動(dòng)和不可移動(dòng)媒質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀媒質(zhì)可包括計(jì)算機(jī)存儲(chǔ)媒質(zhì)和通信媒質(zhì)。計(jì)算機(jī)存儲(chǔ)媒質(zhì)包括易失和非易失、可移動(dòng)和不可移動(dòng)媒質(zhì),以用于儲(chǔ)存信息的任一方法和技術(shù)來實(shí)現(xiàn),信息如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)媒質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)裝置、磁存儲(chǔ)設(shè)備磁帶、磁盤存儲(chǔ)裝置或可以用來儲(chǔ)存所期望的信息并可由計(jì)算機(jī)110訪問的任一其它媒質(zhì)。通信媒質(zhì)通常在諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送媒質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”指采用對(duì)信號(hào)中的信息進(jìn)行編碼的方式來設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非局限,通信媒質(zhì)包括有線媒質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線媒質(zhì),如聲學(xué)、RF、紅外和其它無線媒質(zhì)。上述的任一組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀媒質(zhì)的范圍之內(nèi)。
      系統(tǒng)存儲(chǔ)器130包括易失和/非易失存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒質(zhì),如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包含如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息的基本例程,通常儲(chǔ)存在ROM 131中。RAM 132通常包含處理單元120直接可訪問和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1說明了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
      計(jì)算機(jī)110也可包括其它可移動(dòng)/不可移動(dòng)、易失/非易失計(jì)算機(jī)存儲(chǔ)媒質(zhì)。僅作示例,圖1說明了對(duì)不可移動(dòng)、非易失磁媒質(zhì)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器140、對(duì)可移動(dòng)、非易失磁盤152進(jìn)行讀寫的磁盤驅(qū)動(dòng)器151以及對(duì)可移動(dòng)、非易失光盤156,如CD ROM或其它光媒質(zhì)進(jìn)行讀寫的光盤驅(qū)動(dòng)器155。能夠在示例性操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失/非易失計(jì)算機(jī)存儲(chǔ)媒質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141通常通過不可移動(dòng)存儲(chǔ)器接口,如接口140連接至系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常通過可移動(dòng)存儲(chǔ)器接口,如接口150連接至系統(tǒng)總線121。
      以上描述并在圖1中說明的驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)媒質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。在圖1中,例如,將硬盤驅(qū)動(dòng)器141描述成是儲(chǔ)存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146以及程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136以及程序數(shù)據(jù)137相同,也可以與它們不同。這里對(duì)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146以及程序數(shù)據(jù)147給予不同的數(shù)字,來說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,如鍵盤162和指向設(shè)備161(通常指鼠標(biāo)、軌跡球或觸摸板)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲板、圓盤式衛(wèi)星天線、掃描儀、手持式PC的觸敏屏幕或其它書寫板等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)(如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器之外,計(jì)算機(jī)經(jīng)常包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,可通過輸出外圍接口190來連接。
      計(jì)算機(jī)110可以在使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接的網(wǎng)絡(luò)化環(huán)境中運(yùn)行。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括上述與計(jì)算機(jī)110相關(guān)的元件的許多或全部,盡管在圖1中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備181。圖1所示的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)。
      當(dāng)在LAN環(huán)境中使用時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接至LAN171。當(dāng)在WAN環(huán)境中使用時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或其它裝置,用于通過WAN 173,如因特網(wǎng)建立通信。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,通過用戶輸入接口160或其它合適的機(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,所描述的與計(jì)算機(jī)110相關(guān)的程序模塊或其部分可以儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備181中??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
      資源復(fù)制中的控制更新圖2所示是依照本發(fā)明的各方面包括復(fù)制資源的兩機(jī)器的資源復(fù)制系統(tǒng)的結(jié)構(gòu)圖。機(jī)器201和202復(fù)制資源A并且并發(fā)地將其從具有內(nèi)容x更新為具有內(nèi)容y、u或z。內(nèi)容x、y、u和z可能對(duì)應(yīng)于例如資源A的不同版本的序列號(hào)和時(shí)鐘。
      術(shù)語“機(jī)器”不僅限于物理機(jī)器。相反,單個(gè)物理機(jī)器可包括多個(gè)虛擬機(jī)器。如這里所使用的,從一個(gè)機(jī)器復(fù)制到另一機(jī)器指將同一復(fù)制品集合的一個(gè)或多個(gè)成員從一個(gè)虛擬或物理機(jī)器復(fù)制到另一虛擬或物理機(jī)器。單個(gè)物理機(jī)器可包括同一復(fù)制品集合的多個(gè)成員。由此,復(fù)制復(fù)制品集合的成員可涉及同步包括同一復(fù)制品集合的兩個(gè)或多個(gè)成員的單個(gè)物理機(jī)器的成員。
      復(fù)制系統(tǒng)通常對(duì)每一資源保留兩個(gè)相關(guān)的數(shù)據(jù)集合資源數(shù)據(jù)和資源元數(shù)據(jù)。在基于文件系統(tǒng)中命名的文件的包括數(shù)據(jù)存儲(chǔ)的復(fù)制系統(tǒng)中,資源數(shù)據(jù)可包括文件內(nèi)容以及與文件內(nèi)容關(guān)聯(lián)地儲(chǔ)存在文件系統(tǒng)中的任一文件屬性。文件屬性可包括存取控制表(ACL)、創(chuàng)建/修改次數(shù)以及與文件關(guān)聯(lián)的其它數(shù)據(jù)。在不基于文件系統(tǒng)中的命名的文件的包括數(shù)據(jù)存儲(chǔ)的復(fù)制系統(tǒng)(如,其資源儲(chǔ)存在數(shù)據(jù)庫或基于對(duì)象的數(shù)據(jù)存儲(chǔ)中的系統(tǒng))中,儲(chǔ)存對(duì)數(shù)據(jù)存儲(chǔ)合適的資源數(shù)據(jù)。在整篇文檔中,經(jīng)常使用基于文件系統(tǒng)中的文件的復(fù)制系統(tǒng)來說明,但是應(yīng)當(dāng)理解,在不脫離本發(fā)明的精神或范圍的情況下可以使用能夠儲(chǔ)存內(nèi)容的任一數(shù)據(jù)存儲(chǔ)。
      資源元數(shù)據(jù)包括與在復(fù)制過程中協(xié)商同步相關(guān)的一組另外的屬性。對(duì)于每一資源,資源元數(shù)據(jù)可包括全局唯一標(biāo)識(shí)符(GUID)、資源是否已被刪除、版本序列號(hào)以及變化的原作者、反映出現(xiàn)變化的時(shí)間的時(shí)鐘值以及其它域,如概括資源數(shù)據(jù)值并可包括對(duì)資源內(nèi)容的簽名的摘要。例如,摘要可用于復(fù)制同步過程中的快速比較以繞過數(shù)據(jù)傳輸。如果目的地機(jī)器上的資源與源機(jī)器上的內(nèi)容同步(如,由摘要指示),可以通過僅發(fā)送資源元數(shù)據(jù)而不發(fā)送資源數(shù)據(jù)其本身來最小化網(wǎng)絡(luò)額外開銷。發(fā)送資源元數(shù)據(jù),使得目的地機(jī)器可以在其隨后的復(fù)制行動(dòng)中反映包括在源機(jī)器上的元數(shù)據(jù)。例如,這使目的地機(jī)器能夠在隨后的復(fù)制行動(dòng)中成為源機(jī)器。在不脫離本發(fā)明的精神或范圍的情況下,資源元數(shù)據(jù)可以與資源數(shù)據(jù)一起儲(chǔ)存,或者可以與其分開儲(chǔ)存。
      一般而言,在廣域分布式系統(tǒng)中,在非常粒度級(jí)別上假定時(shí)鐘同步是不可行的。這阻礙了資源系統(tǒng)使用全局時(shí)鐘來對(duì)并發(fā)的更新和創(chuàng)建確定勝者。復(fù)制器通常使用在元數(shù)據(jù)上對(duì)分布式內(nèi)容標(biāo)記的邏輯分布式時(shí)鐘。當(dāng)更新內(nèi)容時(shí),邏輯時(shí)鐘遞增,與之形成對(duì)比的是邏輯時(shí)鐘被變化時(shí)刻的物理本地時(shí)鐘所覆蓋。因此,邏輯時(shí)鐘考慮因果性對(duì)同一內(nèi)容的更新使用永久遞增的時(shí)鐘值來標(biāo)記。例如,圖2的時(shí)鐘值A(chǔ):x可以為四(“4”)。復(fù)制系統(tǒng)然后確保與A:y和A:z關(guān)聯(lián)的時(shí)鐘值大于4。這些時(shí)鐘值之間的關(guān)系是任意的。值可能相等也可能不相等,因?yàn)樗鼈兪仟?dú)立賦值的(如,機(jī)器201向時(shí)鐘值賦值A(chǔ):y,而機(jī)器202向時(shí)鐘值賦值A(chǔ):z)。
      在正常的復(fù)制同步中,可以基于最后一個(gè)書寫者勝出的沖突分解策略來使用時(shí)鐘值來確定沖突的勝者。具有最高時(shí)鐘值的數(shù)據(jù)可以指示比具有較小時(shí)鐘值的復(fù)制數(shù)據(jù)更近的數(shù)據(jù)。最后一個(gè)書寫者勝出的策略與邏輯時(shí)鐘一致,因?yàn)樗鼈兌急3至艘蚬浴?br> 依照本發(fā)明的一個(gè)方面,使用名為“圍欄值”的數(shù)值域來擴(kuò)充資源元數(shù)據(jù)。圍欄值可以分配到每一資源或其部分。在沖突分解過程中,依照一組下文定義的規(guī)則,結(jié)合其它元數(shù)據(jù)來使用圍欄值。
      在本發(fā)明的一個(gè)實(shí)施例中,依照規(guī)則,圍欄值被初始化為0或1。0值表示不應(yīng)將該資源發(fā)送到另一機(jī)器或令其對(duì)另一機(jī)器可見(通過復(fù)制機(jī)制)。1值表示該資源可以被復(fù)制并且可令其對(duì)其它機(jī)器可見。圍欄值為0的資源可以被認(rèn)為是從資源,而圍欄值為1的資源可以被認(rèn)為是主資源。
      如果在兩機(jī)器間的復(fù)制行動(dòng)過程中,機(jī)器之一(如機(jī)器201)上的資源(如資源A)比另一機(jī)器(如機(jī)器202)上的同一資源具有更高的圍欄值,則具有更高的圍欄值的資源復(fù)制到具有較低圍欄值資源的機(jī)器上。換言之,具有更高圍欄值的資源勝出(并被復(fù)制),無論現(xiàn)存什么其它資源元數(shù)據(jù)。
      在復(fù)制已在兩機(jī)器上存在但不同的資源時(shí),可以使用試圖盡可能少地傳播數(shù)據(jù)來同步資源的機(jī)制。例如,作為對(duì)發(fā)送與資源相關(guān)聯(lián)的所有數(shù)據(jù)的替代,復(fù)制機(jī)制可以確定在發(fā)送機(jī)器上的資源中的哪些數(shù)據(jù)與在接收機(jī)器上的資源中的數(shù)據(jù)不同,并發(fā)送一個(gè)或多個(gè)差異或增量來更新接收機(jī)器上的資源。
      如果在復(fù)制行動(dòng)過程中,圍欄值相同并且大于0,則哪一資源勝出(并被復(fù)制)取決于與每一資源相關(guān)聯(lián)的其它資源元數(shù)據(jù)。換言之,當(dāng)圍欄值相等時(shí),復(fù)制依照與復(fù)制相關(guān)聯(lián)的普通規(guī)則進(jìn)行。
      由此,圍欄值提供了對(duì)沖突分解進(jìn)程的較佳粒度控制,因?yàn)樗鼈冊(cè)跊_突分解中采用了優(yōu)先級(jí)。即,當(dāng)比較兩資源的元數(shù)據(jù)時(shí),具有最高圍欄值的資源占先。僅當(dāng)圍欄相等時(shí)比較其它屬性,如邏輯時(shí)鐘。
      圍欄值可能具有與邏輯時(shí)鐘類似的特性,如在一個(gè)實(shí)現(xiàn)中它們只能增加,或復(fù)位為0。例如,當(dāng)用戶或進(jìn)程命令復(fù)制系統(tǒng)增加圍欄值時(shí),圍欄值增加。有時(shí)候這被稱為“對(duì)資源進(jìn)行圍欄(fence)”或簡稱為“圍欄”。對(duì)圍欄值的增加與對(duì)資源數(shù)據(jù)的更新不相關(guān)。圍欄增量由復(fù)制變?yōu)榭梢?如,在元數(shù)據(jù)中發(fā)送)。由于圍欄不是一種頻繁的操作,可以使用壁鐘(wall-clock)的整數(shù)表示來將圍欄增加至(當(dāng)前圍欄值加1)與(當(dāng)前壁鐘時(shí)間)的最大值。
      當(dāng)用戶或進(jìn)程指示復(fù)制系統(tǒng)將圍欄值復(fù)位為0時(shí),圍欄值被復(fù)位為0。有時(shí)候這也被稱為“對(duì)資源進(jìn)行解圍欄(unfence)”,或簡稱為“解圍欄”。被解圍欄的從模式資源(即,其圍欄值被復(fù)位為0的資源)可能無法復(fù)制到除保留它們的機(jī)器之外的其它機(jī)器上。這防止了從模式資源變?yōu)橥獠靠梢?。因此,圍欄值?fù)位不被復(fù)制變?yōu)榭梢姟?br> 除圍欄和解圍欄之外,圍欄值在復(fù)制過程中保持恒定。具體說來,當(dāng)更新資源數(shù)據(jù)或當(dāng)邏輯時(shí)鐘改變時(shí),正圍欄值不改變。當(dāng)對(duì)從機(jī)器更新內(nèi)容時(shí),0值的圍欄值應(yīng)當(dāng)也不改變。
      應(yīng)當(dāng)理解,在一個(gè)機(jī)器上對(duì)資源進(jìn)行圍欄允許強(qiáng)迫對(duì)所述資源的復(fù)制,而不管對(duì)該復(fù)制品集合中其它成員上的資源的并發(fā)更新。還應(yīng)當(dāng)理解,對(duì)資源進(jìn)行解圍欄允許強(qiáng)迫任一其它復(fù)制的資源優(yōu)先于本地(未圍欄)資源并防止了未圍欄的資源被復(fù)制出去。
      可以通過對(duì)所選擇的資源進(jìn)行圍欄的復(fù)制系統(tǒng)應(yīng)用編程接口(API)在現(xiàn)存的資源上設(shè)置圍欄。此外,可以通過展現(xiàn)當(dāng)資源變?yōu)閷?duì)復(fù)制系統(tǒng)可見時(shí)對(duì)匹配具體參數(shù)(如資源名稱和屬性)的資源進(jìn)行圍欄的API以在未來的資源上設(shè)置圍欄。也可以通過指定粘附性(stickiness)來提供對(duì)未來圍欄和解圍欄的控制創(chuàng)建間接相關(guān)的資源,如位于已圍欄/未圍欄目錄下的資源,可能繼承基于在父資源上設(shè)置的策略的圍欄值。
      解圍欄也提供了一種控制復(fù)制對(duì)方的主或從行為的粒度化方式。在選擇資源上設(shè)置圍欄有效地令機(jī)器成為該版本的內(nèi)容的主機(jī)器(直到該內(nèi)容首次被更新)。對(duì)選擇的資源進(jìn)行解圍欄令機(jī)器成為對(duì)于與選擇的資源相關(guān)的內(nèi)容的從機(jī)器。
      應(yīng)當(dāng)理解,可以在許多領(lǐng)域內(nèi)使用圍欄和解圍欄,包括備份恢復(fù)、帶外復(fù)制、升級(jí)到復(fù)制器的更新版本以及提供管理員控制。
      包括未圍欄資源(如,其圍欄值為0的資源)的機(jī)器可以對(duì)在從機(jī)器上本地更新的資源選擇將未圍欄的資源圍欄值改變?yōu)橐褔鷻谫Y源值(如,1)。例如,可以完成這一過程來使更新可見。
      圖3所示是依照本發(fā)明的各方面在其中兩機(jī)器試圖協(xié)調(diào)兩者都包括的資源的系統(tǒng)的結(jié)構(gòu)圖。在圖3中,每一機(jī)器具有該資源的其自己的版本,并且該資源具有同一名稱或標(biāo)識(shí)符。在復(fù)制的結(jié)尾,目的是擁有一個(gè)或者具有內(nèi)容x或y的已復(fù)制資源。在圖3所示的系統(tǒng)中,機(jī)器301的內(nèi)容x戰(zhàn)勝機(jī)器302的內(nèi)容y。例如,當(dāng)機(jī)器301上的資源A的圍欄值較高,或者通過對(duì)其它資源的元數(shù)據(jù)進(jìn)行比較時(shí),會(huì)出現(xiàn)這一情況。
      圖4所示是依照本發(fā)明的各方面可以用于圖2和圖3的A:x的一些示例性資源數(shù)據(jù)和元數(shù)據(jù)。資源元數(shù)據(jù)包括圍欄值1、時(shí)鐘值、GUID、作出變化的復(fù)制品成員以及摘要。資源數(shù)據(jù)包括資源名稱、數(shù)據(jù)其自身、創(chuàng)建時(shí)間、修改時(shí)間以及資源數(shù)據(jù)的其它屬性。
      圖5所示是依照本發(fā)明的各方面可以使用的一些示例性資源數(shù)據(jù)和元數(shù)據(jù),與圖3所示的同步相關(guān)。機(jī)器501上的內(nèi)容(如,x)戰(zhàn)勝機(jī)器502上的內(nèi)容(如,y),并因此可以復(fù)制到機(jī)器502,因?yàn)榕cx關(guān)聯(lián)的該資源的圍欄值(即,1056603359)比與y關(guān)聯(lián)的圍欄值(即,1)大。注意,在常規(guī)復(fù)制方法中,y將戰(zhàn)勝x,因?yàn)樗哂懈蟮母聲r(shí)鐘時(shí)間。
      圖6所示是依照本發(fā)明的各方面一般代表可能出現(xiàn)來同步兩機(jī)器之間的資源的示例性步驟的數(shù)據(jù)流圖。進(jìn)程在塊605開始。
      在塊610,確定圍欄值的至少一個(gè)是否指示了該資源應(yīng)當(dāng)被傳播??梢詫蓢鷻谥翟O(shè)置為未圍欄狀態(tài)(如,0)。在這一情況下,該資源不應(yīng)被傳播。如果圍欄值的其中之一被設(shè)置為已圍欄值(如,1或更大),則如需要,應(yīng)當(dāng)傳播該資源來同步兩資源。
      在塊615,如果該資源應(yīng)當(dāng)被傳播,則進(jìn)程分支到塊620;否則進(jìn)程分支到塊635。在塊620,確定圍欄值是否相等。如果是這樣,則進(jìn)程分支到塊625,使用元數(shù)據(jù)來確定如何傳播該資源。在塊627,該資源或其部分(如,元數(shù)據(jù)、圍欄值、內(nèi)容差異等等)被從在塊625確定的機(jī)器傳播。
      如果在塊620圍欄值不相等,則進(jìn)程分支到塊630。在塊630,該資源或其一部分(如,元數(shù)據(jù)、圍欄值、內(nèi)容差異等等)被從具有較高的資源圍欄值的機(jī)器傳播到具有較低的資源圍欄值的機(jī)器。在塊635,進(jìn)程結(jié)束。
      以下是可在其中使用本發(fā)明的一些示例性情形。
      非授權(quán)備份恢復(fù)當(dāng)數(shù)據(jù)被破壞或丟失時(shí),管理復(fù)制資源系統(tǒng)的成員的用戶可以通過資源復(fù)制系統(tǒng)擦除該成員并要求獲取與該成員相關(guān)聯(lián)的所有數(shù)據(jù)。當(dāng)與將成員連接到資源復(fù)制系統(tǒng)的鏈路的帶寬相比較,成員相對(duì)較大時(shí),這一行動(dòng)的過程可能消耗較長時(shí)間或較多成本。然而,使用本發(fā)明的一個(gè)方面,用戶可以從備份中恢復(fù)成員的資源。用戶然后可以對(duì)備份中的資源進(jìn)行解圍欄(即,將圍欄值設(shè)為0),并允許資源復(fù)制系統(tǒng)更新過時(shí)的資源。在這一情況下,恢復(fù)的內(nèi)容僅擔(dān)當(dāng)“內(nèi)容高速緩存”的角色,給予適當(dāng)?shù)倪壿?,可以由?fù)制器用來避免通過慢鏈路(即,“通過線”)傳輸內(nèi)容,由此,在受需要更新的元數(shù)據(jù)和資源限制的備份恢復(fù)之后保持了初始的同步通信量。在同步之后,任何圍欄值為0的剩余資源可以被刪除或可以將其圍欄值設(shè)為1來允許它們被復(fù)制。
      帶外復(fù)制復(fù)制品集合的新成員可能潛在地包括大量數(shù)據(jù)。為方便更快和/或較不昂貴的傳輸,可以通過對(duì)用戶具有較低成本和/或更快服務(wù)的信道來發(fā)送新成員。例如,可以將新成員復(fù)制到硬盤或燒錄到CD-ROM或DVD-ROM上,并連夜運(yùn)送。在遠(yuǎn)程站點(diǎn)上將新成員復(fù)制到系統(tǒng)時(shí),它們可能如上文關(guān)于非授權(quán)備份恢復(fù)所描述的那樣被解圍欄。對(duì)新成員進(jìn)行解圍欄避免了將復(fù)制到遠(yuǎn)程站點(diǎn)上的內(nèi)容傳輸?shù)狡渌军c(diǎn)。
      授權(quán)備份恢復(fù)用戶可能希望從備份中恢復(fù)并將恢復(fù)的內(nèi)容傳播到復(fù)制資源系統(tǒng)中的所有系統(tǒng)。為完成這一過程,用戶可以將資源恢復(fù)到系統(tǒng),然后對(duì)用戶希望傳播的資源進(jìn)行圍欄。
      特別情形用戶可能期望強(qiáng)迫復(fù)制一組資源的特定版本,并優(yōu)先于復(fù)制品集合中任一其它沖突的內(nèi)容。這可以通過對(duì)該組資源進(jìn)行圍欄來完成。
      初始同步初始同步是帶外復(fù)制的一個(gè)特殊情況。在設(shè)立或升級(jí)復(fù)制系統(tǒng)時(shí),用戶可以將一個(gè)機(jī)器指定為主機(jī)器(即,包含將要復(fù)制到其它機(jī)器的內(nèi)容),并將其它機(jī)器指定為從機(jī)器(即,從主機(jī)器接收內(nèi)容)。為完成這一過程,用戶可以對(duì)主機(jī)器上的資源進(jìn)行圍欄從而具有初始圍欄值1,并以圍欄值0對(duì)從機(jī)器上的現(xiàn)有資源進(jìn)行解圍欄。在這一初始化之后出現(xiàn)在從機(jī)器上的資源可以用1來圍欄,使其能夠被復(fù)制。由于未復(fù)制未圍欄的從資源,當(dāng)該資源負(fù)于來自主機(jī)器的名稱沖突的資源時(shí),不需要對(duì)這一資源同步另外的元數(shù)據(jù)。
      圖7是依照本發(fā)明的各方面一般代表可能出現(xiàn)來執(zhí)行非授權(quán)備份恢復(fù)的示例性步驟的數(shù)據(jù)流圖。成員中的數(shù)據(jù)被刪除或被破壞(塊710)。管理員從備份恢復(fù)資源(塊715)。管理員將恢復(fù)的數(shù)據(jù)標(biāo)記為未圍欄(塊720)。同步出現(xiàn),如塊725所示。管理員刪除剩余資源或以圍欄值1標(biāo)記剩余資源(塊730),進(jìn)程結(jié)束(塊735)。
      提供圖7作為可能在上述非授權(quán)備份中出現(xiàn)的步驟的一個(gè)示例。應(yīng)當(dāng)理解,上文中也足夠詳細(xì)地描述了其它應(yīng)用以簡單地減少到數(shù)據(jù)流圖。也可以理解,可以在不脫離本發(fā)明的精神或范圍的情況下對(duì)圖7的步驟或上述應(yīng)用作出許多其它變化。
      圖8所示是依照本發(fā)明的各方面被配置以在資源復(fù)制系統(tǒng)中運(yùn)行的機(jī)器的結(jié)構(gòu)圖。機(jī)器805包括更新機(jī)制810、資源822以及通信機(jī)制840。
      更新機(jī)制810包括圍欄比較器邏輯815,用于比較圍欄值并確定資源是否應(yīng)當(dāng)被從機(jī)器805傳播或資源是否應(yīng)當(dāng)甚至對(duì)其它機(jī)器可見。圍欄比較器邏輯815也可以用于確定如果發(fā)生圍欄操作或資源元數(shù)據(jù)830的破壞或刪除以及隨后的重建(如下文更詳細(xì)的描述)時(shí),應(yīng)當(dāng)如何更新圍欄值。
      其它元數(shù)據(jù)沖突分解邏輯820包括用于確定當(dāng)資源的圍欄值相等時(shí)哪一資源勝出(并應(yīng)當(dāng)被傳播)的邏輯。在應(yīng)用其它元數(shù)據(jù)沖突分解邏輯820時(shí),更新機(jī)制810可以訪問資源元數(shù)據(jù)830和/或資源數(shù)據(jù)825中的數(shù)據(jù)來確定資源(或其部分)是否應(yīng)當(dāng)被傳播到另一機(jī)器或從另一機(jī)器接收。
      資源822包括資源數(shù)據(jù)825和資源元數(shù)據(jù)830。資源數(shù)據(jù)和資源元數(shù)據(jù)之間的區(qū)別如上文參照?qǐng)D2所描述的那樣。盡管在同一框中示出,資源數(shù)據(jù)825可能儲(chǔ)存在相對(duì)于資源元數(shù)據(jù)830分離的存儲(chǔ)中。
      通信機(jī)制840允許更新機(jī)制810與其它機(jī)器上的其它更新機(jī)制(未示出)進(jìn)行通信。更新機(jī)制一起確定應(yīng)當(dāng)同步哪一資源以及同步應(yīng)當(dāng)如何出現(xiàn)。通信機(jī)制840可以是網(wǎng)絡(luò)接口或適配器170、調(diào)制解調(diào)器172或任一其它裝置,用于如結(jié)合圖1所述的那樣建立通信。
      可以理解,在不脫離本發(fā)明的精神和范圍的情況下實(shí)現(xiàn)圖8所示的機(jī)器的其它變異。
      在本發(fā)明的一個(gè)實(shí)施例中,有三個(gè)初始圍欄值-1、0和1。-1扮演上述0的角色(即,未圍欄值),0可以代表只要沒有具有1或更高的圍欄值的其它資源就可以復(fù)制該資源。這一擴(kuò)展的一種使用是處理復(fù)制元數(shù)據(jù)的丟失。例如,資源復(fù)制器可以在對(duì)于用來儲(chǔ)存復(fù)制數(shù)據(jù)的存儲(chǔ)分離的存儲(chǔ)中保存元數(shù)據(jù)。由此,該元數(shù)據(jù)和該資源數(shù)據(jù)(即,內(nèi)容)可能不相關(guān)地失敗。在重建過程中,丟失其元數(shù)據(jù)的機(jī)器可以初始地使用值-1來對(duì)其資源進(jìn)行圍欄,因?yàn)樗恢涝撡Y源是否已被復(fù)制或者剛被本地創(chuàng)建(并且因此不被復(fù)制品集合中的其它機(jī)器所知)。過早地將圍欄值從-1改變?yōu)?將導(dǎo)致將舊內(nèi)容重新引入回網(wǎng)絡(luò)中,作為來自更新的內(nèi)容,但是斷開連接的機(jī)器可能被改寫。另一方面,將圍欄從-1改變?yōu)?,可以允許重新向上引入這一內(nèi)容,直到某一其它參與方確定它為舊。注意,如果僅期望正整數(shù),則替代地可以使用0、1和2(或一些其它編號(hào)模式),對(duì)上述每一值移位。
      本發(fā)明的再一實(shí)施例使用-∞和0作為可能的初始圍欄值。在功能上,圍欄值-∞代替了0(即,為未圍欄值),而0代替了1(即,指示該資源應(yīng)當(dāng)被復(fù)制)。另外,可以使用其它負(fù)圍欄值(如,-1、-2、-3、…、-n)來指示可以被復(fù)制的資源。這類圍欄值將負(fù)于以更高的值圍欄的資源。這一一般化的一種使用包括新鮮資源的可用性比恢復(fù)過程中的帶寬使用更重要的情形。每一機(jī)器可能被分配在初始資源上使用的一個(gè)不同的圍欄值(如,-1、-2、…、-n)。該順序給予使用圍欄值-1的領(lǐng)導(dǎo)機(jī)器優(yōu)先級(jí),然而來自所有機(jī)器的非沖突內(nèi)容立即可用。
      這一表示的另一應(yīng)用包括每次當(dāng)機(jī)器恢復(fù)或重建其元數(shù)據(jù)作為對(duì)元數(shù)據(jù)的破壞或丟失的響應(yīng)時(shí)確定圍欄值。這一應(yīng)用的啟發(fā)值是每次當(dāng)機(jī)器重建其元數(shù)據(jù)時(shí),儲(chǔ)存在機(jī)器上的資源數(shù)據(jù)可能變少并較不可靠和/或較不新。通過這一機(jī)制,較不頻繁地重建其元數(shù)據(jù)的機(jī)器上的內(nèi)容被認(rèn)為是更可靠的,并且通過圍欄值戰(zhàn)勝較頻繁地重建其元數(shù)據(jù)的機(jī)器上的內(nèi)容。
      應(yīng)當(dāng)理解,上述圍欄值是可以在任一多種物理圍欄值中實(shí)現(xiàn)的邏輯圍欄值。例如,在不脫離本發(fā)明的精神或范圍的情況下,圍欄值可以物理地被表示為無符號(hào)整數(shù)、浮點(diǎn)數(shù)、比特值或任一其它類型的編號(hào)模式。
      從上述詳細(xì)描述中可以看到,本發(fā)明提供了一種用于粒度化地控制復(fù)制信息的改進(jìn)的系統(tǒng)和方法。盡管本發(fā)明可以具有各種修改和替代構(gòu)造,然而在附圖中示出并詳細(xì)描述了其特定的說明實(shí)施例。然而,應(yīng)當(dāng)理解,這并非將本發(fā)明限制在所揭示的特定形式中,而是相反,本發(fā)明覆蓋了處于本發(fā)明的精神和范圍之內(nèi)的所有的修改、替代構(gòu)造和等效物。
      權(quán)利要求
      1.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它包括接收在多個(gè)機(jī)器上復(fù)制的資源的元數(shù)據(jù),所述資源具有駐留在復(fù)制所述資源的每一機(jī)器上的元數(shù)據(jù)和內(nèi)容,所述元數(shù)據(jù)包括只要通過任一本地更新改變所述資源的所述內(nèi)容時(shí)就被更新的一個(gè)或多個(gè)值,以及一與對(duì)所述內(nèi)容的任一本地改變不相關(guān)的圍欄值;將所述多個(gè)機(jī)器中的第一機(jī)器上的所述內(nèi)容的第一圍欄值與所述多個(gè)機(jī)器中的第二機(jī)器的所述內(nèi)容的第二圍欄值相比較;以及如果所述第一圍欄值優(yōu)先于所述第二圍欄值,則更新所述第二機(jī)器。
      2.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,所述元數(shù)據(jù)儲(chǔ)存在與所述內(nèi)容分離的存儲(chǔ)器中。
      3.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,更新所述第二機(jī)器包括確定所述第一和第二機(jī)器上的所述內(nèi)容之間的一個(gè)或多個(gè)差異,并發(fā)送所述一個(gè)或多個(gè)差異。
      4.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,更新所述第二機(jī)器包括僅發(fā)送所述元數(shù)據(jù)。
      5.如權(quán)利要求4所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,所述第一和第二機(jī)器上的所述內(nèi)容相同。
      6.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,所述內(nèi)容包括文件數(shù)據(jù)和文件屬性。
      7.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,每一機(jī)器上的每一元數(shù)據(jù)包括概括所述資源的摘要。
      8.如權(quán)利要求8所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它還包括比較所述機(jī)器上的所述元數(shù)據(jù)的所述摘要,并且如果所述摘要等效,則繞過更新。
      9.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,更新所述第二機(jī)器包括將所述第二圍欄值更新為等于所述第一圍欄值。
      10.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它還包括,如果所述圍欄值等效時(shí),則比較所述元數(shù)據(jù)中的其它數(shù)據(jù)來確定是否應(yīng)當(dāng)更新內(nèi)容。
      11.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,每一圍欄值被分配到其相應(yīng)資源的一個(gè)或多個(gè)部分。
      12.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,具有特定圍欄值的內(nèi)容不被傳播到其它機(jī)器。
      13.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,具有特定圍欄值的內(nèi)容對(duì)其它機(jī)器不可見。
      14.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它還包括將所述圍欄值之一設(shè)置為包括所述一個(gè)圍欄值的所述資源所駐留的機(jī)器的(其本身+1)與(時(shí)鐘時(shí)間)中的最大值。
      15.如權(quán)利要求1所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它還包括將每一圍欄值保持為與同所述圍欄值變化關(guān)聯(lián)的內(nèi)容相同。
      16.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒質(zhì),其特征在于,它包括確定是否應(yīng)當(dāng)使用駐留在第一機(jī)器上的第一資源來更新駐留在第二機(jī)器上的第二資源,每一所述資源與元數(shù)據(jù)和內(nèi)容關(guān)聯(lián),每一所述元數(shù)據(jù)包括只要所述關(guān)聯(lián)的資源的所述內(nèi)容改變時(shí)就被更新的一個(gè)或多個(gè)域,以及一圍欄值,每一所述圍欄值表示是否應(yīng)當(dāng)使用其關(guān)聯(lián)的資源優(yōu)先于來自其它元數(shù)據(jù)的資源來更新另一機(jī)器上的資源;如果所述第二資源的所述圍欄值指示所述第二資源不應(yīng)從所述第二機(jī)器傳播,則防止從所述第二機(jī)器傳播;以及如果所述第一資源的所述圍欄值優(yōu)先于所述第二資源的所述圍欄值,則從所述第一資源更新所述第二資源。
      17.如權(quán)利要求16所述的方法,其特征在于,它還包括,如果所述第一和第二資源的所述圍欄值相等,則基于元數(shù)據(jù)而非所述圍欄值來確定哪一機(jī)器將更新另一個(gè)。
      18.如權(quán)利要求17所述的方法,其特征在于,所述其它元數(shù)據(jù)包括指示最后一次更新所述相應(yīng)內(nèi)容的邏輯時(shí)鐘。
      19.如權(quán)利要求18所述的方法,其特征在于,圍欄值指示其相應(yīng)的資源可以傳播到其它機(jī)器,直到具有更高圍欄值的另一資源定位于另一機(jī)器上。
      20.如權(quán)利要求16所述的方法,其特征在于,與所述第一資源關(guān)聯(lián)的所述元數(shù)據(jù)儲(chǔ)存在與其相應(yīng)資源分離的數(shù)據(jù)結(jié)構(gòu)中。
      21.如權(quán)利要求20所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)被破壞或刪除,它還包括重建所述數(shù)據(jù)結(jié)構(gòu)并遞減與所述第一資源關(guān)聯(lián)的所述圍欄值。
      22.如權(quán)利要求21所述的方法,其特征在于,它還包括多次重建所述數(shù)據(jù)結(jié)構(gòu),并在每次重建所述數(shù)據(jù)結(jié)構(gòu)時(shí)遞減與所述第一資源關(guān)聯(lián)的所述圍欄值。
      23.如權(quán)利要求22所述的方法,其特征在于,它還包括,如果所述第二資源的所述圍欄值更優(yōu)先于所述第一資源的所述圍欄值時(shí),從所述第二資源更新所述第一資源。
      24.一種用于復(fù)制數(shù)據(jù)的方法,其特征在于,它包括將數(shù)據(jù)加載到第一機(jī)器上;使用指示不應(yīng)從所述第一機(jī)器發(fā)送所述數(shù)據(jù)來更新任一其它機(jī)器上的數(shù)據(jù)的圍欄值來標(biāo)記所述數(shù)據(jù);使用第二機(jī)器上的數(shù)據(jù)來同步所述數(shù)據(jù)的至少一個(gè)部分。
      25.如權(quán)利要求24所述的方法,其特征在于,它還包括,在同步所述數(shù)據(jù)的所述至少一個(gè)部分之后,使用指示可以從所述第一機(jī)器發(fā)送所述數(shù)據(jù)來更新任一其它機(jī)器上的數(shù)據(jù)的圍欄值來標(biāo)記所述數(shù)據(jù)的剩余部分。
      26.如權(quán)利要求24所述的方法,其特征在于,它還包括在同步所述數(shù)據(jù)的所述至少一個(gè)部分之后,刪除所述數(shù)據(jù)的剩余部分。
      27.如權(quán)利要求24所述的方法,其特征在于,所述數(shù)據(jù)從備份中加載。
      28.如權(quán)利要求24所述的方法,其特征在于,所述數(shù)據(jù)從發(fā)送自另一機(jī)器的數(shù)據(jù)的副本中加載。
      29.如權(quán)利要求24所述的方法,其特征在于,它還包括標(biāo)記在指示應(yīng)當(dāng)在同步過程中同步所述相應(yīng)數(shù)據(jù)的第二機(jī)器上的相應(yīng)數(shù)據(jù)。
      30.如權(quán)利要求24所述的方法,其特征在于,它還包括改變所述數(shù)據(jù)的一部分并使用指示應(yīng)當(dāng)在同步過程中同步所述改變的部分的圍欄值來標(biāo)記所述改變的部分。
      31.一種用于復(fù)制數(shù)據(jù)的系統(tǒng),其特征在于,它包括具有第一組資源的第一機(jī)器;具有第二組資源的第二機(jī)器,其中,每一所述機(jī)器上的每一所述資源與元數(shù)據(jù)和內(nèi)容相關(guān)聯(lián),每一所述元數(shù)據(jù)包括只要所述關(guān)聯(lián)的資源的所述內(nèi)容改變時(shí)就被更新的一個(gè)或多個(gè)域以及一圍欄值,每一所述圍欄值指示是否應(yīng)當(dāng)使用其關(guān)聯(lián)的資源來與其它元數(shù)據(jù)不相關(guān)地更新另一機(jī)器上的資源,其中,所述第一和第二機(jī)器被配置以傳遞有關(guān)兩者都包含的所述資源信息;以及依照以下優(yōu)先級(jí)更新每一過時(shí)的資源如果所述機(jī)器之一上的資源的圍欄值更優(yōu)先于另一機(jī)器上的相應(yīng)資源的所述圍欄值,則使用所述一個(gè)機(jī)器上的所述資源來更新所述另一機(jī)器;否則基于數(shù)據(jù)而非所述圍欄值來更新所述機(jī)器上的資源。
      32.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述第一組資源從備份中加載,并且設(shè)置其圍欄值以使所述第一組資源優(yōu)先于任一其它資源組,使得與所述資源組相應(yīng)的任一其它機(jī)器上的任一其它資源組從所述第一組資源更新。
      33.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述第一組資源的所述圍欄值被標(biāo)記為優(yōu)先于其它機(jī)器上的相應(yīng)資源,使得所述相應(yīng)資源從所述第一組資源更新。
      全文摘要
      一種用于控制哪一內(nèi)容獲得優(yōu)先級(jí)并被復(fù)制的方法與系統(tǒng)。復(fù)制品集合包括一組資源。每一資源與資源數(shù)據(jù)和資源元數(shù)據(jù)相關(guān)聯(lián)。對(duì)于基于文件的系統(tǒng),資源數(shù)據(jù)包括文件內(nèi)容和屬性,而資源元數(shù)據(jù)包括與在復(fù)制過程中協(xié)商同步相關(guān)的另外的屬性。將名為“圍欄值”的附加域添加到與每一資源相關(guān)聯(lián)的元數(shù)據(jù)上。在同步過程中,比較第一圍欄值。具有最高圍欄值的資源包括控制并復(fù)制的內(nèi)容。如果圍欄值相等(并大于特定值),則基于其它元數(shù)據(jù)確定控制資源。
      文檔編號(hào)G06F17/30GK1607500SQ20041006365
      公開日2005年4月20日 申請(qǐng)日期2004年7月9日 優(yōu)先權(quán)日2003年7月10日
      發(fā)明者D·笛奧多西油, N·S·布妖爾納 申請(qǐng)人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1