コンピュータ実行可能命令を格納するコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ実行可能命令は、コンピュータによって実行される時に、コンピュータに、複製物セットの第1のメンバの第1のフェンス値および第1のメタデータを受信するステップであって、前記第1のフェンス値は、前記複製物セットの第1のメンバのコンテンツになされる任意の変更から独立しており、また、前記複製物セットの第1のメンバの情報および前記複製物セットの第2のメンバの情報の間の競合を解決するために使用される、ステップと、前記第1のフェンス値を前記複製物セットの第2のメンバの第2のフェンス値と比較するステップと、前記第1のフェンス値の方が前記第2のフェンス値よりも優先度が高いか否かを判定するステップと、前記判定の結果に基づいて、前記第2のメンバのコンテンツを、前記第1のメンバのコンテンツを反映するように変更するステップと、前記第2のメンバのコンテンツの変更を示すために前記第2のメンバの第2のメタデータを変更し、前記第2のフェンス値を更新されないままにしておくステップであって、前記第2のフェンス値は前記第2のメンバのコンテンツになされる任意の変更から独立している、ステップとを含む方法を実行させることを特徴とするコンピュータ読み取り可能な記憶媒体。前記第2のフェンス値および前記第2のメタデータは、前記第2のメンバのコンテンツとは別の記憶域に格納されることを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記第2のメンバのコンテンツを変更するステップは、前記第1のメンバのコンテンツと前記第2のメンバのコンテンツとの間の1つまたは複数の差分を決定するステップを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記第2のメンバのコンテンツは、ファイルデータおよびファイル属性を含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記第1のメタデータは、第1のリソースを要約する第1のダイジェストを含み、前記第2のメタデータは、第2のリソースを要約する第2のダイジェストを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記第1のダイジェストと前記第2のダイジェストを比較して、該第1のダイジェストと該第2のダイジェストが同じ場合は前記第2のメンバのコンテンツの更新をバイパスするステップをさらに含むことを特徴とする請求項5に記載のコンピュータ読み取り可能な記憶媒体。前記第1のフェンス値が前記第2のフェンス値に等しい場合に、前記第1のメタデータと前記第2のメタデータを比較して、前記第2のメンバのコンテンツが変更されるべきであるかどうかを判定するステップをさらに含むことを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記第1のフェンス値および前記第2のフェンス値のそれぞれが、前記複製物セットのそれぞれのメンバのコンテンツの一部に割り当てられることを特徴とする請求項1に記載のコンピュータ読み取り可能な記憶媒体。しかし、同時に発生する更新のどれが他よりも優先され、反対にどの更新が優先権を譲るべきかを制御するための方法が他にもあればよいと、ユーザまたはアプリケーションが望む場合は多い。どのコンテンツが優先され複製されるかを制御するためのフレキシブルな方法およびシステムが必要とされている。簡単に言えば、本発明は、どのコンテンツが優先され複製されるかを制御するための方法およびシステムを提供する。複製物セットは、リソースのセットからなる。各リソースは、リソースデータおよびリソースメタデータに関連する。リソースデータは、ファイルの場合はファイルコンテンツおよび属性を含み、リソースメタデータは、複製中に同期を交渉するのに関係する追加の属性を含む。フェンス値fencevalueと呼ばれる特別なフィールドが、各リソースに関連するメタデータに追加される。同期中、フェンス値が比較される。最大のフェンス値を有するリソースは、制御側コンテンツであって複製されるコンテンツを含む。フェンス値が等しい場合および特定の値よりも大きい場合は、制御側リソースは他のメタデータに基づいて決定される。フェンス値は、コンテンツのローカル変更から独立している。すなわち、コンテンツのローカル変更は、他のメタデータ例えばタイムスタンプ、クロック値、その他に影響を与えることはあるが、特に指示がない限りフェンス値には影響を与えない。本発明の一態様では、リソースは、リソースがフェンシング解除されているunfencedことを示すフェンス値を有することができる。リソースがフェンシング解除されている場合、このことは、このリソースをそれが記憶されているマシンから送信すべきではないことを示す。争っているリソースが同期のために受け取られたとき、フェンシング解除されているリソースは、フェンシングされているfencedリソースに負けるそして同期中に置換される。本発明の別の態様では、勝ったリソースを有するマシン上のリソースと、負けたコンテンツを有するマシン上のリソースとの差分だけが送信される。例えば、リソースコンテンツを送信せずにリソースメタデータを送信することができる。別の例では、同期中にリソースコンテンツの差分を送信することができる。その他の利点は、以下の詳細な説明を図面とともに読めば明らかになるであろう。例示的な動作環境図1に、本発明を実施するのに適したコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな制限も意味しない。またコンピューティング環境100は、この例示的な動作環境100に示すコンポーネントのいずれか1つまたは組合せに関してどんな依存や要件を有するものとも解釈すべきではない。本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成でも動作する。本発明で使用するのに適すると考えられる周知のコンピューティングシステム、環境、および/または構成の例には、限定しないがパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロコントローラベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般にプログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールおよびその他のデータは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体に位置することができる。図1を参照すると、本発明を実施するための例示的なシステムは、コンピュータシステム110の形の汎用コンピューティングデバイスを含む。コンピュータ110のコンポーネントには、限定しないが処理ユニット120と、システムメモリ130と、システムメモリを含めた様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121とを含めることができる。システムバス121は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャには、ISAIndustryStandardArchitectureバス、MCAMicroChannelArchitectureバス、EISAEnhancedISAバス、VESAVideoElectronicsStandardsAssociationローカルバス、PCIPeripheralComponentInterconnectバスメザニンバスとも呼ばれるが含まれる。コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110からアクセスできる任意の利用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能の媒体の両方が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、限定しないがRAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD-ROM、ディジタル多用途ディスクDVDまたはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ110からアクセスできるその他の任意の媒体が含まれる。通信媒体は通常、搬送波やその他のトランスポート機構などの変調されたデータ信号中に、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを組み入れたものであり、任意の情報送達媒体が含まれる。変調されたデータ信号という語は、情報が信号中に符号化される形で1つまたは複数の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体には、配線式ネットワークや直接配線式接続などの配線式媒体と、音響、無線周波、赤外線、その他の無線媒体などの無線媒体とが含まれる。以上の任意の組合せもコンピュータ可読媒体の範囲に含めるべきである。システムメモリ130は、読取り専用メモリROM131やランダムアクセスメモリRAM132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。ROM131には通常、起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOSbasicinputoutputsystem133が記憶されている。RAM132は通常、処理ユニット120がすぐにアクセス可能な、かつ/または処理ユニット120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム136、その他のプログラムモジュール137、プログラムデータ138を示す。コンピュータ110は、その他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例にすぎないが図1には、取外し不可能かつ不揮発性の磁気媒体に対して読み書きするハードディスクドライブ141と、取外し可能かつ不揮発性の磁気ディスク152に対して読み書きする磁気ディスクドライブ151と、CDROMやその他の光媒体など取外し可能かつ不揮発性の光ディスク156に対して読み書きする光ディスクドライブ155を示す。この例示的な動作環境で使用できるその他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体には、限定しないが磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体RAM、固体ROMなどが含まれる。ハードディスクドライブ141は通常、インタフェース140などの不揮発性メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースでシステムバス121に接続される。以上に論じ図1に示した各ドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータの記憶域をコンピュータ110に提供する。例えば図1には、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム136、その他のプログラムモジュール137、プログラムデータ138と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。ユーザは、キーボード162、マウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを介して、コンピュータ110にコマンドおよび情報を入力することができる。その他の入力デバイス図示せずには、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナや、ハンドヘルドPCおよびその他の筆記タブレットのタッチセンシティブスクリーンなどを含めることができる。これらおよびその他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバスUSBなど、その他のインタフェースおよびバス構造で接続されてもよい。モニタ191または他のタイプの表示デバイスもまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは通常、スピーカ195やプリンタ196など、その他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース194を介して接続することができる。コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、図1にはメモリ記憶デバイス181しか示していないが、通常はパーソナルコンピュータ110に関して上述した要素の多くまたはすべてを備える。図1に示す論理接続は、ローカルエリアネットワークLAN171およびワイドエリアネットワークWAN173を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよくみられるものである。コンピュータ110は、LANネットワーキング環境で使用されるときは、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるときは通常、インターネットなどのWAN173を介した通信を確立するためのモデム172またはその他の手段を備える。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160またはその他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図1には、リモートアプリケーションプログラム185がメモリデバイス181上にあるものとして示す。図示のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用することもできることは理解されるであろう。リソース複製による更新制御図2は、本発明の様々な態様による、リソースを複製する2つのマシンを含むリソース複製システムを表すブロック図である。マシン201と202は両方とも、リソースAを複製し、これを同時に、コンテンツxを有する状態からコンテンツy、u、またはzを有する状態に更新する。コンテンツx、y、u、zは、例えばリソースAの異なるバージョンシーケンス番号およびクロックに対応するものとすることができる。用語マシンは、単に物理マシンだけに限定しない。そうではなく、単一の物理マシンが複数の仮想マシンを含む場合もある。本明細書では、あるマシンから別のマシンへの複製は、同じ複製物セットの1つまたは複数のメンバを、ある仮想または物理マシンから別の仮想または物理マシンに複製することを意味する。単一の物理マシンが、同じ複製物セットの複数のメンバを含む場合もある。したがって、複製物セットのメンバを複製することは、同じ複製物セットの複数のメンバを含む単一の物理マシンのメンバ同士を同期させることを含む場合がある。複製システムは通常、各リソースと共に、関係する2つのデータセット、すなわちリソースデータおよびリソースメタデータを維持することになる。ファイルシステム中の名前付きファイルに基づくデータ記憶域を含む複製システムでは、リソースデータは、ファイルコンテンツ、ならびに、ファイルコンテンツに関連してファイルシステムに記憶された任意のファイル属性を含むことができる。ファイル属性は、アクセス制御リストACL、作成/修正時刻、および、ファイルに関連するその他のデータを含むことができる。ファイルシステム中の名前付きファイルに基づくデータ記憶域を含まない複製システム例えばリソースがデータベースにまたはオブジェクトベースのデータ記憶域に記憶される複製システムでは、そのデータ記憶域にとって適切なリソースデータが記憶される。この文書全体を通して、例示のためにファイルシステム中のファイルに基づく複製システムをしばしば使用するが、本発明の趣旨または範囲を逸脱することなく、コンテンツを記憶できる任意のデータ記憶域を使用することができることを理解されたい。リソースメタデータは、複製中に同期を交渉するのに関係する追加の属性のセットを含む。各リソースにつき、リソースメタデータは、グローバル一意識別子GUID、リソースが削除されたかどうか、バージョンシーケンス番号、加えて変更の出所、変更が行われた時を反映するためのクロック値、その他のフィールドを含むことができる。その他のフィールドは、リソースデータの値を要約したものであってリソースコンテンツについての署名を含む場合もあるダイジェストなどである。ダイジェストは、例えば複製同期中にデータ転送をバイパスするためのクイック比較に使用することができる。宛先マシン上のリソースがソースマシン上のコンテンツと同期している場合例えばダイジェストで示されるようには、リソースデータ自体は送信せずにリソースメタデータだけを送信することによって、ネットワークオーバーヘッドを最小限に抑えることができる。リソースメタデータの送信は、ソースマシン上に含まれるメタデータを宛先マシンがその後続の複製動作で反映することができるように行われる。これにより、宛先マシンは、例えば後続の複製動作でソースマシンになることができる。リソースメタデータは、本発明の趣旨または範囲を逸脱することなく、リソースデータと共にまたは別々に記憶することができる。一般に、ワイドエリア分散システムでは、クロック同期を非常に細分性の高いレベルで想定することは実現可能ではない。このため、複製システムは、大域的なクロックを使用して同時の更新および作成の勝者を決定することはできない。レプリケータは通常、配信されたコンテンツのメタデータにスタンプされた論理分散クロックを使用する。論理クロックは、変更時刻の物理ローカルクロックによって上書きされるのとは異なり、コンテンツが更新されるときにインクリメントされる。したがって、論理クロックは因果関係を考慮し、同じコンテンツの更新には、増加していくクロック値がスタンプされる。例えば、図2のクロック値A:xを4とする。この場合、複製システムは、A:yおよびA:zに関連するクロック値が4よりも大きくなるようにする。これらのクロック値の間の関係は任意である。これらの値は独立して割り当てられるので例えばマシン201はA:yのクロック値を割り当て、マシン202はA:zのクロック値を割り当てる、同一である場合もそうでない場合もある。通常の複製同期では、クロック値を使用して、最後に書いた者勝ちlastwriterwinsの競合解決戦略に基づいて競合の勝者を決定することができる。最大のクロック値を有するデータが、より小さいクロック値を有する複製データよりも最近のデータを示すことができる。論理クロックは因果関係を維持するので、最後に書いた者勝ちの戦略は、因果関係と整合する。本発明の一態様によれば、リソースメタデータはフェンス値と呼ばれる数値フィールドで増強される。フェンス値は、各リソースまたはその一部に割り当てることができる。フェンス値は、以下に定義する規則のセットに従って、競合解決中に他のメタデータと共に使用される。本発明の一実施形態では、規則によれば、フェンス値が0と1のどちらかに初期化される。0の値は、リソースを複製機構を介して別のマシンに送信すべきではなく、また別のマシンから見える状態にもすべきではないことを示す。1の値は、リソースを複製して他のマシンから見える状態にすることができることを示す。0のフェンス値を有するリソースはスレーブリソースと考えることができ、1のフェンス値を有するリソースはマスタリソースと考えることができる。2つのマシン間での複製動作中に、一方のマシン例えばマシン201上のリソース例えばリソースAが他方のマシン例えばマシン202上の同じリソースよりも大きいフェンス値を有する場合、フェンス値が大きい方のリソースが、フェンス値が小さい方のリソースを有するマシンに複製される。言い換えれば、他にどんなリソースメタデータがあるかにかかわらず、フェンス値が大きい方のリソースが勝つそして複製される。2つのマシン上にすでにあるが異なるリソースを複製する際は、できるだけ少ないデータを伝搬してリソースを同期させることを試みる機構を利用することができる。例えば、リソースに関連するすべてのデータを送信する代わりに、この複製機構は、送信側マシン上にあるリソース中のどのデータが受信側マシン上にあるリソース中のデータと異なるかを決定し、1つまたは複数の差分またはデルタを送信して、受信側マシン上のリソースを更新することができる。複製動作中に、フェンス値が同じであり0よりも大きい場合は、どちらのリソースが勝つかそして複製されるかは、各リソースに関連する他のリソースメタデータによって決まる。言い換えれば、フェンス値が同じのときは、複製は、複製に関連する通常の規則に従って進められる。したがってフェンス値は、競合解決において優先されるので、競合解決プロセスに対する細粒度の制御をもたらす。すなわち、2つのリソースのメタデータを比較したとき、フェンス値が大きい方のリソースが優先される。論理クロックなど他の属性は、フェンスが等しいときだけ比較される。フェンス値は、論理クロックと同様のプロパティを有するものとすることができ、一実装形態では、インクリメントされるか0にリセットされることができるだけである。例えばフェンス値は、ユーザまたはプロセスが複製システムにインクリメントするよう指示したときに、インクリメントすることができる。これは、リソースをフェンシングするまたは単にフェンシングと言われることがある。フェンス値のインクリメントは、リソースデータの更新から独立している。フェンスインクリメントは、複製によって見える状態になる例えばメタデータ中で送信される。フェンシングは頻繁に行われる動作ではないので、ウォールクロック時間の整数表現を用いて、フェンスを最大値現在のフェンス値1および現在のウォールクロック時間にインクリメントすることができる。フェンス値は、ユーザまたはプロセスが複製システムにリセットするよう指示したときに、0にリセットすることができる。これは、リソースをフェンシング解除するまたは単にフェンシング解除と言われることがある。フェンシング解除されたすなわちそのフェンス値が0にリセットされたスレーブモードのリソースは、それらのリソースを保持するマシンの外部にある他のどんなマシンへも複製されないものとすることができる。これにより、スレーブモードのリソースは外部から見えなくなる。したがって、フェンス値のリセットは複製によって見えるようにはならない。フェンシングおよびフェンシング解除を除いては、フェンス値は複製中に一定のままである。具体的には、正のフェンス値は、リソースデータが更新されたときでも論理クロックが変化したときでも変化しない。0の値のフェンス値もまた、スレーブマシンでのコンテンツ更新時でも変化しないはずである。1つのマシン上でリソースをフェンシングすることにより、複製物セットの他のメンバに対する同時のリソース更新に関係なく、このリソースが複製されるようにすることができることが理解されるであろう。また、リソースをフェンシング解除することにより、複製された他のどんなリソースも、ローカルのフェンシング解除されたリソースよりも優先されるようにすることができ、フェンシング解除されたこのリソースは外部に複製されないようになることが理解されるであろう。フェンスは、選択されたリソースをフェンシングする複製システムアプリケーションプログラミングインタフェースAPIを介して、既存のリソースに対して設定することができる。さらに、フェンスは、特定のパラメータリソース名や属性などに合致するリソースが複製システムから見えるようになったときにこれらのリソースをフェンシングするAPIを公開することによって、将来のリソースに対して設定することもできる。将来のフェンシングおよびフェンシング解除の制御はまた、スティッキネスstickinessを指定することによって提供することもでき、フェンシング/フェンシング解除されたディレクトリの下にあるリソースなど間接的に関係するリソースを生成する場合、親に対して設定されたポリシーセットに基づくフェンシング値を継承することができる。フェンシング解除はまた、複製パートナーのマスタ挙動またはスレーブ挙動を制御するための細分性のある方法も提供する。選択されたリソースに対して効果的にフェンスを設定することにより、マシンは、そのバージョンのコンテンツのマスタになるコンテンツが最初に更新されるまで。選択されたリソースをフェンシング解除することにより、マシンは、選択されたリソースに関連するコンテンツについてスレーブとして挙動する。フェンシングおよびフェンシング解除は、バックアップ復元、帯域外複製、より新しいバージョンのレプリケータへのアップグレード、管理者制御の提供を含めて、いくつかの領域で使用することができることは理解されるであろう。スレーブ上でローカルに更新されるリソースの場合、フェンシング解除された例えばフェンス値0のリソースを含むマシンは、フェンシング解除されたリソースフェンス値を、フェンシングされたリソース値例えば1に変更することを選択することができる。これは例えば、更新を見えるようにするために行うことができる。図3は、本発明の様々な態様による、2つのマシンがその両方に含むリソースを一致させようとしているシステムを表すブロック図である。図3では、各マシンはそれ自体のバージョンのリソースを有し、リソースは同じ名前または識別子を有する。調停の最後に、複製されたリソースがxとyのどちらかのコンテンツを有するようにすることが目標である。図3に示すシステムでは、マシン301のコンテンツxが、マシン302のコンテンツyに勝つ。これは例えば、マシン301上にあるリソースAのフェンス値の方が高い場合に、または他のリソースメタデータの比較によって生じる場合がある。図4に、本発明の様々な態様による、図2および3のA:xに使用することのできる例示的ないくらかのリソースデータおよびメタデータを示す。リソースメタデータは、1のフェンス値、クロック値、GUID、変更を生み出した複製メンバ、ダイジェストを含む。リソースデータは、リソースの名前、データ自体、作成時刻、修正時刻、および、リソースデータのその他の属性を含む。図5に、図3に示した同期に関係する、本発明の様々な態様により使用することのできる例示的ないくらかのリソースデータおよびメタデータを示す。xに関連するリソースのフェンス値すなわち1056603359の方が、yに関連するリソースのフェンス値すなわち1よりも大きいので、マシン501上のコンテンツ例えばxがマシン502上のコンテンツ例えばyに勝ち、したがってマシン502に複製されることになる。従来の複製方法では、yの更新クロック時刻の方が大きいためyがxに勝つことになることに留意されたい。図6は、本発明の様々な態様による、2つのマシン間でリソースを同期させるために実施することのできる例示的なステップを一般に表すデータフロー図である。プロセスはブロック605で開始する。ブロック610で、リソースを伝搬すべきであることを少なくとも1つのフェンス値が示しているかどうかを決定する。フェンス値が両方ともフェンシング解除の状態例えば0に設定されている場合もある。この場合はリソースを伝搬すべきではない。フェンス値の1つが、フェンシングされた値例えば1またはそれ以上に設定されている場合は、2つのリソースを同期させるために必要ならリソースを伝搬すべきである。ブロック615で、リソースを伝搬すべきである場合、処理はブロック620に分岐する。そうでない場合は、処理はブロック635に分岐する。ブロック620で、フェンス値が等しいかどうかを決定する。等しい場合は、処理はブロック625に分岐し、他のメタデータを使用して、リソースをどのように伝搬するかを決定する。ブロック627で、リソースまたはその一部例えばメタデータ、フェンス値、コンテンツの差分などを、ブロック625で決定されたマシンから伝搬する。ブロック620でフェンス値が等しくない場合は、処理はブロック630に分岐する。ブロック630で、リソースまたはその一部例えばメタデータ、フェンス値、コンテンツの差分などを、リソースのフェンス値が高い方のマシンから、リソースのフェンス値が低い方のマシンに伝搬する。ブロック635で処理は終了する。以下は、本発明の態様を用いることのできる例示的ないくつかのシナリオである。権限のないバックアップ復元:データが破損または紛失したとき、複製されたリソースシステムのメンバを管理するユーザは、メンバを消去して、リソース複製システムを介してメンバに関連するすべてのデータを得ることを求める場合がある。メンバが、メンバをリソース複製システムに接続するリンクの帯域幅に対して相対的に大きいときは、この動作過程は、時間またはコストがかかりすぎることがある。しかし、本発明の一態様を用いると、ユーザはメンバのリソースをバックアップから復元することができる。次いでユーザは、バックアップの中のリソースをフェンシング解除して例えばフェンス値を0に設定して、リソース複製システムが古いリソースを更新できるようにすることができる。この場合、復元されたコンテンツはちょうどコンテンツキャッシュとして働き、適切なロジックがあれば、レプリケータはこのコンテンツキャッシュを使用して、コンテンツが低速リンクを介して例えばワイヤを介して転送されるのを回避することができ、それにより、バックアップ復元に続く最初の同期トラフィックを、更新を必要とするメタデータおよびリソースデータだけに限定されるように維持することができる。同期後、フェンス値0を有する残りのリソースがあれば、それらは削除するか、それらのフェンス値を1に設定して複製可能にすることができる。帯域外コピー:複製物セットの新しいメンバが、多量のデータを潜在的に含む場合がある。より高速かつ/またはより安価な転送を容易にするために、新しいメンバを、ユーザにとってよりコストの低いチャネルおよび/またはより高速なサービスを有するチャネルを介して送信することができる。例えば、新しいメンバをハードディスクにコピーするか、あるいはCD-ROMまたはDVD-ROMに焼いて、翌日配達で出荷することができる。新しいメンバをリモート位置のシステムにコピーするとき、権限のないバックアップ復元に関して上述したようにこれらをフェンシング解除することができる。新しいメンバのフェンシング解除は、リモート位置にコピーされたコンテンツが他の位置に転送されないようにするために行われる。権限のあるバックアップ復元:ユーザは、バックアップから復元して、復元されたコンテンツを複製されたリソースシステム中のすべてのシステムに伝搬したいと思う場合がある。こうするには、ユーザは、リソースをシステムに復元し、次いで、伝搬したいと思うリソースをフェンシングすることができる。特例シナリオ:ユーザは、特定のバージョンのリソースセットを複製させて、これを複製物セット中の他のどんな競合コンテンツよりも優先させたいと思う場合がある。これは、リソースセットをフェンシングすることによって行うことができる。初期同期:初期同期は、帯域外コピーの特別なケースである。複製されたシステムをセットアップまたはアップグレードする際、ユーザは、あるマシンをマスタすなわち他のマシンに複製されるコンテンツを含むとして指定し、他のマシンをスレーブすなわちマスタからコンテンツを受け取るとして指定する場合がある。こうするには、ユーザは、マスタ上のリソースが初期フェンス値1を有するようにフェンシングし、スレーブ上の既存のリソースをフェンス値0でフェンシング解除することができる。この初期化の後にスレーブ上に存在するようになったリソースは、複製されるように1でフェンシングすることができる。フェンシング解除されたスレーブリソースは複製されないので、このようなリソースがマスタからの名前競合リソースに負けたとき、このリソースに関する追加のメタデータを同期させる必要はない。図7は、本発明の様々な態様による、権限のないバックアップ復元を行うために実施することのできる例示的なステップを一般に表すデータフロー図である。メンバ中のデータが、削除されるか破損するブロック710。管理者は、バックアップから復元するブロック715。管理者は、復元したデータにフェンシング解除の印を付けるブロック720。ブロック725に表すように、同期がとられる。管理者は、残りのリソースを削除するかフェンス値1で印を付けブロック730、処理は終了するブロック735。図7は、前述の権限のないバックアップで実施することのできるステップの一例として提供したものである。前述の他の適用例についても、容易にデータフロー図に還元できるほど十分に詳細に述べたことは理解されるであろう。また、本発明の趣旨または範囲を逸脱することなく、図7のステップまたは前述の適用例に対してその他多くの変形を行うことができることも理解されるであろう。図8は、本発明の様々な態様による、リソース複製システムで動作するように構成されたマシンを表すブロック図である。マシン805は、更新機構810、リソース822、通信機構840を備える。更新機構810はフェンス比較器ロジック815を備え、このフェンス比較器ロジック815は、フェンス値を比較して、リソースをマシン805から伝搬すべきかどうか、またリソースを他のマシンから見えるようにもすべきかどうかを決定するのに使用される。フェンス比較器ロジック815はまた、フェンシング動作の場合に、あるいはリソースメタデータ830の破損または削除とそれに続く再構築の場合後でさらに詳細に述べるに、フェンス値をどのように更新すべきかを決定するのにも使用することができる。他のメタデータの競合解決ロジック820は、リソースのフェンス値同士が同等である場合にどのリソースが勝つかそして伝搬されるべきかを決定するのに使用されるロジックを含む。他のメタデータの競合解決ロジック820が適用される際、更新機構810は、リソースメタデータ830および/またはリソースデータ825中のデータにアクセスして、リソースまたはその一部を別のマシンに伝搬すべきか、別のマシンから受け取るべきかを決定することができる。リソース822は、リソースデータ825およびリソースメタデータ830を含む。リソースデータとリソースメタデータとの区別は、図2に関して上述した。これらは同じボックス中に示してあるが、リソースデータ825は、リソースメタデータ830とは別の記憶域に記憶されてもよい。通信機構840は、更新機構810が他のマシン上にある他の更新機構図示せずと通信できるようにするものである。これと共に、更新機構は、どのリソースを同期させるべきか、またどのように同期をとることができるかを決定する。通信機構840は、図1に関して述べたネットワークインタフェースまたはアダプタ170、モデム172、あるいは通信を確立するためのその他任意の手段とすることができる。本発明の趣旨または範囲を逸脱することなく、図8に示すマシンのその他の変形も実施することができることは理解されるであろう。本発明の一実施形態では、-1、0、1の3つの初期フェンス値がある。-1は、前述の0すなわちフェンシング解除された値の役割をし、0は、1以上のフェンス値を有するリソースが他にない限りこのリソースが複製できることを示すことができる。この拡張の有用性の1つは、複製メタデータの紛失に対処することにある。例えば、リソースレプリケータは、メタデータを、リソースデータを記憶するのに使用される記憶域とは別の記憶域に保持する。したがって、メタデータとリソースデータすなわちコンテンツに、独立して障害が発生する。再構築中、そのメタデータを失ったマシンは、そのリソースがすでに複製されたものか単にローカルに生成されたしたがって複製物セット中で他のマシンに知られていないものかわからないため、最初にそのリソースを値-1でフェンシングすることができる。フェンス値を-1から1に変更するのが早すぎると、より新しいが切断されているマシンからのコンテンツが上書きされる場合があるので、古くなったコンテンツが再びネットワーク中に導入されるという影響がある可能性がある。一方、フェンスを-1から0に変更すれば、そのようなコンテンツは、古くなっていると他の参加者の誰かが決定できる時点まで、再び導入することができる。正の整数だけが望まれる場合は、前述の各値をずらして0、1、2または他の何らかの番号付け方式を代わりに使用してもよいことに留意されたい。本発明の別の実施形態では、可能な初期フェンス値として-8および0を使用する。機能的には、フェンス値-8は0に取って代わりすなわちフェンシング解除された値であり、0は1に取って代わるすなわちリソースを複製すべきであることを示す。さらに、その他の負のフェンス値例えば-1、-2、-3、...-nを使用して、複製できるリソースを示すこともできる。このようなフェンス値は、より大きい値でフェンシングされたリソースに負けることになる。この一般化の有用性には、新鮮なリソースが利用可能であることの方が復元中の帯域幅使用よりも重要である場合のシナリオが含まれる。マシンにはそれぞれ、最初のリソースに対して使用される異なるフェンス値例えば-1、-2、...、-nを割り当てることができる。この順序付けでは、フェンス-1を使用するリーダーマシンが優先されるが、すべてのマシンからの競合しないコンテンツはすぐに利用可能である。この表現の別の適用例には、メタデータの破損または紛失に応答してマシンが回復するたびに、またはそのメタデータを再構築するたびに、フェンス値をデクリメントすることが含まれる。この適用例のヒューリスティックな価値の1つは、マシンがそのメタデータを再構築するたびに、マシン上に記憶されたリソースデータはだんだん信頼性が低くなっていく、かつ/または古くなっていく可能性が高いことである。この機構を介した場合、そのメタデータを再構築する頻度がより低いマシン上のコンテンツは、より信頼性が高いと考えられ、そのメタデータを再構築する頻度がより高いマシン上のコンテンツにフェンス値によって勝つ。前述のフェンス値は、任意の様々な物理フェンス値で実現することのできる論理フェンス値であることは理解されるであろう。例えば、本発明の趣旨または範囲を逸脱することなく、フェンス値は、符号なし整数、浮動小数点数、ビット値、またはその他任意のタイプの番号付け方式として物理的に表すことができる。以上の詳細な説明からわかるように、情報複製に対して細分性のある制御を行うための改良された方法およびシステムが提供される。本発明は様々な修正および代替構造が可能だが、そのいくつかの例示的な実施形態について図面に示し、以上に詳細に述べた。ただし、開示した特定の形に本発明を限定する意図はなく、反対に、本発明の趣旨および範囲に含まれるすべての修正、代替構造、均等物をカバーするものとすることを理解されたい。