(57)【要約】【課題】構成可能なコンピュータ資源の共用プールにおけるデータの同期を提供すること。【解決手段】データおよびメタデータを含むファイルシステム変更の画像が、整合性ポイントの形で取り込まれる。順次的整合性ポイントが作成され、順次的整合性の間のファイルシステム内のデータおよびメタデータへの変更が取り込まれて、目的サイトにある目的ファイルシステムに通信するための待ち行列内に置かれる。その変更は、ファイルシステム動作として通信され、その通信はその整合性ポイント内で取り込まれ、反映された変更に制限される。【選択図】図５
2015504202.tif 000002
【特許請求の範囲】
【請求項１】
各整合性ポイントが、回復ポイントを確立するためのある時点のファイルシステム・データおよびメタデータを表す、ソース・ファイルシステム内の整合性ポイントを定期的に作成するステップであって、第１の時点での第１の整合性ポイントおよび第２の時点での第２の整合性ポイントを作成するステップを含む、前記定期的に作成するステップと、
前記第１の整合性ポイントと前記第２の整合性ポイントの間の差を識別するステップを含む、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するステップと、
ソース・ファイルシステム・オブジェクトと目的ファイルシステム・オブジェクトの間の対応する関係に基づいて、前記ソース・ファイルシステム・オブジェクトを前記目的ファイルシステム・オブジェクトにマップするステップと、
１つまたは複数のファイルシステム動作としての前記識別された差をリプレイするステップを含む、前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するステップと
を含む、方法。
【請求項２】
前記識別された差を適用する前記ステップが、ソース・ファイルシステムｉノードの目的ファイルシステムｉノードへのマッピングを使用する、請求項１に記載の方法。
【請求項３】
前記識別された差を適用する前記ステップが、ファイル名を使用してファイルシステム・オブジェクトでファイルシステム動作を識別するステップを含む、請求項１に記載の方法。
【請求項４】
前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用する前記ステップが、任意のメタデータ変更および任意のデータ変更の正確なデルタを作り出すステップと、前記正確なデルタで反映されたそれらの変更のみをリプレイするステップとを含む、請求項１に記載の方法。
【請求項５】
前記識別された差の出力ファイルを生成するステップと、一連のファイルシステム動作として前記出力ファイルをリプレイするステップであって、前記動作のうちのいくつかが目的サイトに同時にリプレイされ得る、前記リプレイするステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記ソース・ファイルシステムと目的ファイルシステムの間の通信障害の後に出力ファイルをリプレイするステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記ソース・ファイルシステムおよび目的ファイルシステムが、異種ファイルシステムである、請求項１に記載の方法。
【請求項８】
より古い整合性ポイントに移動させることによって目的ファイルシステムでの変更を取り消すステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記第１の整合性ポイントおよび前記第２の整合性ポイントが、連続する整合性ポイントに制限されない、請求項１に記載の方法。
【請求項１０】
構成可能なコンピュータ資源の共用プールと、
ソース・サイトのソース・ファイルシステム内の整合性ポイントの定期的作成を含む、前記共用プール内の前記ソース・サイトでデータを処理するためのデータ・マネージャであって、各整合性ポイントが回復ポイントを確立するためのある時点でのソース・ファイルシステム・データおよびメタデータを表し、前記データ・マネージャによる前記整合性ポイントの作成が、前記データ・マネージャが第１の時点での第１の整合性ポイントおよび第２の時点での第２の整合性ポイントを作成することを含む、前記データ・マネージャ、
前記データ・マネージャと通信するデルタ・マネージャであって、前記第１の整合性ポイントと前記第２の整合性ポイントの間の任意の差の識別を含めて、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するための前記デルタ・マネージャ、および、
ソース・ファイルシステム・オブジェクトの目的ファイルシステム・オブジェクトへのマッピングに基づく前記識別された差のリプレイを含む、前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するように前記デルタ・マネージャおよびアプリケーション・マネージャと通信するデータ・ムーバ
を備える、前記共用プールと通信する機能ユニットと
を備える、システム。
【請求項１１】
前記データ・ムーバが、ソース・ファイルシステムｉノードの目的ファイルシステムｉノードへのマップを使用して、前記識別された差を適用する、請求項１０に記載のシステム。
【請求項１２】
前記データ・ムーバによる前記識別された差の適用が、ファイル名を使用するファイルシステム・オブジェクトでのファイルシステム動作の識別を含む、請求項１０に記載のシステム。
【請求項１３】
前記デルタ・マネージャが、前記識別された差から正確なデルタを生み出し、前記正確なデルタが任意のメタデータ変更および任意のデータ変更を含み、前記データ・ムーバが前記正確なデルタで反映されたそれらの変更のみをリプレイする、請求項１０に記載のシステム。
【請求項１４】
さらに、前記識別された差の出力ファイルを生成するおよび目的サイトへの一連のファイルシステム動作の同時リプレイをサポートするように、前記データ・ムーバを備える、請求項１０に記載のシステム。
【請求項１５】
さらに、前記ソース・サイトと目的サイトの間の通信障害の後に出力ファイルをリプレイするように、前記データ・ムーバを備える、請求項１０に記載のシステム。
【請求項１６】
コンピュータ可読プログラム・コードを具現化したコンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードが、
構成可能な資源の共用プール内のソース・サイトでデータを処理するように構成された、コンピュータ可読プログラム・コードであって、前記ソース・サイトのソース・ファイルシステム内の整合性ポイントの定期的作成を含み、各整合性ポイントが回復ポイントを確立するためのある時点でのソース・ファイルシステム・データおよびメタデータを表し、前記整合性ポイントの前記定期的作成が第１の時点での第１の整合性ポイントおよび第２の時点での第２の整合性ポイントの前記作成を含む、前記コンピュータ可読プログラム・コードと、
前記第１の整合性ポイントと前記第２の整合性ポイントの間の任意の差の識別を含めて、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するように構成されたコンピュータ可読プログラム・コードと、
ソース・ファイルシステム・オブジェクトと目的ファイルシステム・オブジェクトの間の対応する関係に基づいて、前記ソース・ファイルシステム・オブジェクトを前記目的ファイルシステム・オブジェクトにマップするように構成されたコンピュータ可読プログラム・コードと、
前記ソース・ファイルシステム・オブジェクトの前記目的ファイルシステム・オブジェクトへのマッピングに基づく１つまたは複数のファイルシステム動作としての前記識別された差のリプレイを含めて、前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するように構成されたコンピュータ可読プログラム・コードと
を備える、コンピュータ・プログラム製品。
【請求項１７】
前記識別された差を適用するための前記プログラム・コードが、ソース・ファイルシステムｉノードの目的ファイルシステムｉノードへのマッピングを使用する、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１８】
前記識別された差を適用するための前記プログラム・コードが、ファイル名を使用してファイルシステム・オブジェクトでファイルシステム動作を識別するためのプログラム・コードを含む、請求項１６に記載のコンピュータ・プログラム製品。
【請求項１９】
前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するように構成された前記コードが、任意のメタデータ変更および任意のデータ変更の正確なデルタを生み出し、前記正確なデルタで反映されたそれらの変更のみをリプレイする、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２０】
前記識別された差の出力ファイルを生成するようにおよび前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を同時に適用して複数の同時のファイルシステム動作をサポートするように構成されたコンピュータ・プログラム・コードをさらに備える、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２１】
前記ソース・サイトと目的サイトの間の通信障害の後に出力ファイルをリプレイするように構成されたコンピュータ・プログラム・コードをさらに備える、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２２】
前記第１の整合性ポイントおよび前記第２の整合性ポイントが、連続する整合性ポイントに制限されない、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２３】
より古い整合性ポイントに移動させることによって目的ファイルシステムでの変更を取り消すように構成されたコンピュータ・プログラム・コードをさらに備える、請求項１６に記載のコンピュータ・プログラム製品。
【請求項２４】
第１の時点でソース・ファイルシステム内に第１の整合性ポイントを作成し、第２の時点で前記ソース・ファイルシステム内に第２の整合性ポイントを作成するステップであって、前記第１の整合性ポイントが第１の回復ポイントを確立するための第１の時点でのファイルシステム・データおよびメタデータを表し、前記第２の整合性ポイントが第２の整合性ポイントを確立するための第２の時点でのファイルシステム・データおよびメタデータを表す、前記作成するステップと、
前記ソース・ファイルシステムに関連する通信障害に続いて、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するステップであって、前記第１の整合性ポイントと前記第２の整合性ポイントの間の変更を識別するステップを含む、前記比較するステップと、
前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するステップであって、ソース・ファイルシステム・オブジェクトの目的ファイルシステム・オブジェクトへのマッピングに基づくファイルシステム動作としての前記識別された差をリプレイするステップを含む、前記適用するステップと
を含む、方法。
【請求項２５】
第３の時点で前記ソース・ファイルシステム内に第３の整合性ポイントを作成するステップであって、前記第３の整合性ポイントが前記第１の整合性ポイントおよび前記第２の整合性ポイントに続いて起こる、前記作成するステップと、前記第１の整合性ポイントを取り除くステップとをさらに含む、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタ・ファイルシステムを横断するデータ同期に関する。より詳細には、本発明は、ファイルシステムにおける変更の追跡および標準プロトコルを使用した別のファイルシステムへのその変更のリプレイに関する。
【背景技術】
【０００２】
遠隔ファイル・データをキャッシュに格納するスケーラブルなおよび書込み可能なキャッシング・システムで、データは遠隔サイトから取り込まれ、更新がソース・サイトとしても知られるキャッシュ・サイトで行われ、目的サイトとしても知られるその遠隔サイトでリプレイされる。ソース・サイトと目的サイトの間のネットワーク接続性は、一時的切断にさらされることがあることが知られている。それらの２つのサイトの間で切断が生じるとき、ソース・サイトは前にキャッシュに格納されたデータへのアクセスのために依然として使用可能でなければならず、そのため、ソース・サイトは、データおよびメタデータの更新の両方をサポートし続ける。それらの２つのサイト間の接続性が復元されるようなときに、データおよびメタデータ更新は、目的サイトと同期化される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
クラスタ・ファイルシステムを横断する同期更新方法、システム、およびコンピュータ・プログラムを提供すること。
【課題を解決するための手段】
【０００４】
本発明は、目的データ・サイトへの構成可能なコンピューティング資源の共用プール（sharedpool）と通信しているソース・データ・サイトからの更新データおよびメタデータの同期のための方法、システム、および物品を含む。
【０００５】
一態様で、更新データの同期のための方法が提供される。整合性ポイント（consistencypoint）が、定期的にソース・ファイルシステム内で作成される。各整合性ポイントは、ある時点でのファイルシステム・データおよびメタデータを表し、回復ポイント（recovery point）を確立するために使用される。より具体的には、整合性ポイントの定期的作成は、第１の時点で第１の整合性ポイントが作成されることと、第２の時点で第２の整合性ポイントが作成されることとを含む。第１の整合性ポイントおよび第２の整合性ポイントは、任意の差を識別するために比較される。加えて、ソース・ファイルシステム・オブジェクトが、オブジェクト間の対応する関係に基づいて目的ファイルシステム・オブジェクトにマップされる。識別された差は、第１の整合性ポイントと第２の整合性ポイントの間で適用される。より具体的には、その差の適用は、１つまたは複数のファイルシステム動作としての識別された差のリプレイを含む。
【０００６】
もう１つの態様で、システムは、整合性のあるデータの同期をサポートするためのツールが提供される。構成可能なコンピュータ資源の共用プールには、それと通信する機能ユニットが提供され、その機能ユニットは、同期をサポートするためのツールをその中に有する。そのツールは、データ・マネージャ、デルタ・マネージャ、およびデータ・ムーバを含む。そのデータ・マネージャは、共用プール内のソース・サイトでデータを処理し、ソース・サイトのソース・ファイルシステム内で整合性ポイントを定期的に作成する。各整合性ポイントは、回復ポイントを確立するためのある時点でのソース・ファイルシステム・データおよびメタデータを表す。より具体的には、そのデータ・マネージャは、第１の時点に第１の整合性ポイントを、そして、第２の時点に第２の整合性ポイントを作成する。そのデータ・マネージャと通信するデルタ・マネージャは、第１の整合性ポイントを第２の整合性ポイントと比較する機能を果たす。より具体的には、そのデルタ・マネージャは、第１の整合性ポイントと第２の整合性ポイントの間の任意の差を識別する。そのデルタおよびアプリケーション・マネージャと通信するデータ・ムーバは、第１の整合性ポイントと第２の整合性ポイントの間の識別された差を適用する。その差の適用は、ソース・ファイルシステム・オブジェクトの目的ファイルシステム・オブジェクトへのマッピングに基づくその識別された差のリプレイを含む。
【０００７】
さらなる態様で、コンピュータ・プログラム製品が、ネットワーク接続を介してサービスとして配信される。そのコンピュータ・プログラム製品は、コンピュータ可読プログラム・コードを具現化したコンピュータ可読記憶媒体を備える。コンピュータ可読プログラム・コードは、ソース・サイトのソース・ファイルシステム内の整合性ポイントの定期的作成を含めて、構成可能な資源の共用プール内のソース・サイトでデータを処理するために提供される。作成された各整合性ポイントは、ある時点でのソース・ファイルシステム・データおよびメタデータを表し、回復ポイントとして使用される。より具体的には、そのコードは、第１の時点に第１の整合性ポイントを、そして、第２の時点に第２の整合性ポイントを作成する。コンピュータ可読プログラム・コードが、第１の整合性ポイントを第２の整合性ポイントと比較するために、そして、より具体的には第１の整合性ポイントと第２の整合性ポイントの間の任意の差を識別するために、さらに提供される。加えて、コンピュータ可読プログラム・コードが、ソース・ファイルシステム・オブジェクトを目的ファイルシステム・オブジェクトにマップするために提供され、そのマッピングはそれらのオブジェクト間の関係に基づく。コンピュータ可読プログラム・コードが、第１の整合性ポイントと第２の整合性ポイントの間の識別された差を適用するために、提供される。より具体的には、そのコードは、そのマッピングに基づいて１つまたは複数のファイルシステム動作として識別された差をリプレイする。
【０００８】
さらに別の態様では、更新データを同期させるための方法が提供される。より具体的には、第１の整合性ポイントが、第１の時点でソース・ファイルシステム内に作成され、そして、第２の整合性ポイントが、第２の時点でそのソース・ファイルシステム内に作成される。第１の整合性ポイントは、第１の時点でのファイルシステム・データおよびメタデータを表し、第１の回復ポイントを確立する機能を果たす。第２の整合性ポイントは、第２の時点でのファイルシステム・データおよびメタデータを表し、第２の整合性ポイントを確立する機能を果たす。そのソース・ファイルシステムに関連する通信障害に続いて、第１の整合性ポイントが、第２の整合性ポイントと比較される。その比較は、第１の整合性ポイントと第２の整合性ポイントの間の変更を識別するステップを含む。第１の整合性ポイントと第２の整合性ポイントの間の識別された変更が、同期をサポートするために適用される。より具体的には、その適用は、ソース・ファイルシステム・オブジェクトの目的ファイルシステム・オブジェクトへのマッピングに基づくファイルシステム動作としてその変更を置き換えるステップを含む。
【０００９】
本発明の他の特徴および利点が、添付の図面と併せて、本発明の現在の好ましい実施形態の以下の詳細な説明から明らかとなろう。
【００１０】
本明細書で参照される図面は、本明細書の一部を形成する。図面に示される特徴は、本発明のいくつかの実施形態のみの説明を意図し、別段の明示的な指示のない限り、本発明のすべての実施形態の説明を意味しない。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態によるクラウド・コンピューティング・ノードを示す図である。
【図２】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
【図３】本発明の一実施形態による抽象モデル層を示す図である。
【図４】目的サイトへの通信のための待ち行列内にソース・サイトでのデータおよびメタデータの変更を置くためのプロセスを説明する流れ図である。
【図５】ソース・サイトでの整合性ポイントの管理のためのプロセスを説明する流れ図である。
【図６】ソース・サイトと目的サイトの間の通信の障害の検出のためのプロセスと、そのソース・サイト内のデータおよびメタデータでその目的サイトを最新の状態にするための回復の管理の第１の態様とを説明する流れ図である。
【図７】ソース・サイトでの２つの整合性ポイント内のディレクトリ入力を調整するためのプロセスを説明する流れ図である。
【図８】データの同期をサポートするためにコンピュータ・システム内に組み込まれたツールを説明するブロック図である。
【図９】本発明の一実施形態を実装するためのシステムを示すブロック図である。
【発明を実施するための形態】
【００１２】
概して本明細書の図に記載され、説明されるような、本発明の構成要素は、多種多様な異なる構成で配列および設計され得ることが、容易に理解されよう。したがって、図に示すような、本発明の装置、システムおよび方法の実施形態の以下の詳細な説明は、特許請求されているものとしての本発明の範囲を限定するものではなく、単に、本発明の選択された実施形態を表すものである。
【００１３】
本明細書に記載の機能ユニットは、マネージャと呼ばれる。マネージャは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイス、または同様のものなどのプログラマブル・ハードウェア・デバイスで実装され得る。そのマネージャはまた、様々なタイプのプロセッサによる処理のためのソフトウェアで実装され得る。たとえば、実行可能コードの識別されたマネージャは、たとえばオブジェクト、手続き、機能または他の構造体として編成され得る、コンピュータ命令の１つまたは複数の物理または論理的ブロックを備え得る。とはいえ、識別されるマネージャの実行ファイルは、物理的に一緒に置かれる必要はなく、論理的にともに結合されるときに、そのマネージャを構成し、そのマネージャの規定の目的を達成する異なる場所で記憶された異種の命令を備え得る。
【００１４】
実際に、実行可能コードのマネージャは、単一の命令、または多数の命令でもよく、またいくつかの異なるコード区分にわたって、異なるアプリケーションの間で、およびいくつかの記憶装置にわたって、分散することさえできる。同様に、運用データが、ここでは、マネージャ内で識別され、説明することができ、任意の適切な形で実施され、任意の適切なタイプのデータ構造内で編成され得る。その運用データは、単一のデータ・セットとして集めることができ、または、異なる記憶装置にわたることを含めて異なる場所にわたり分散することができ、少なくとも部分的に、システムまたはネットワーク上の電子信号として存在し得る。
【００１５】
本明細書をとおして「選ばれた実施形態」、「１つの実施形態」、または「一実施形態」の参照は、その実施形態に関して記載された特定の特徴、構造体、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書をとおして様々な場所にある「選ばれた実施形態」、「１つの実施形態で」、または「一実施形態で」という語句の出現は、同じ実施形態を必ずしも参照しない。
【００１６】
さらに、その記載された特徴、構造体、または特性は、１つまたは複数の実施形態で任意の適切な形で結合され得る。以下の説明では、データ・ムーバ、複製マネージャ、移行マネージャなどの例など、非常に多くの具体的な詳細が、本発明の実施形態の完全な理解を実現するために提供される。しかし、本発明は、それらの具体的な詳細のうちの１つまたは複数なしに、あるいは他の方法、構成要素、材料などで、実施することができることが、当業者には認識されよう。他の例では、よく知られている構造体、材料、または動作は、本発明の態様を分かり難くすることを避けるために、詳細に図示または記載されない。
【００１７】
本発明の説明される実施形態は、それらをとおして同様の部分が同様の番号によって指示される図面を参照することによって、最もよく理解されよう。以下の説明は、例示のみを意図し、単に、本明細書で請求されているものとしての本発明と一致するデバイス、システム、およびプロセスのある種の選択された実施形態を単に説明する。
【００１８】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性、および意味的相互運用性（semantic interoperability）に重点を置いて指向されたサービスである。クラウド・コンピューティングの心臓部にあるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。図１をここで参照すると、クラウド・コンピューティング・ノードの一例の概略図が示される。クラウド・コンピューティング・ノード（１０）は、適切なクラウド・コンピューティング・ノードの単なる一例であり、本明細書に記載の本発明の実施形態の使用または機能性の範囲に関するいかなる限定も示唆するものではない。とにかく、クラウド・コンピューティング・ノード（１０）は、前述の機能性のいずれかを実装または実行することあるいはその両方を行うことができる。クラウド・コンピューティング・ノード（１０）内には、多数の他の汎用または特定目的コンピューティング・システム環境または構成と動作可能なコンピュータ・システム／サーバ（１２）がある。コンピュータ・システム／サーバ（１２）との使用に適し得るよく知られているコンピューティング・システム、環境または構成あるいはそれらのすべての例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、前述のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。
【００１９】
コンピュータ・システム／サーバ（１２）は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令との一般的関連で説明され得る。一般に、プログラム・モジュールは、特定のタスクを実行するまたは特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、構成要素、論理、データ構造などを含み得る。コンピュータ・システム／サーバ（１２）は、通信ネットワークを介してリンクされた遠隔処理装置によってタスクが実行される分散クラウド・コンピューティング環境で実施され得る。分散クラウド・コンピューティング環境で、プログラム・モジュールは、記憶保存装置を含む、ローカルおよび遠隔の両方のコンピュータ・システム記憶媒体内に置かれ得る。
【００２０】
図１に示すように、クラウド・コンピューティング・ノード（１０）内のコンピュータ・システム／サーバ（１２）は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ（１２）の構成要素は、１つまたは複数のプロセッサまたは処理ユニット（１６）、システム・メモリ（２８）、および、システム・メモリ（２８）を含む様々なシステム構成要素をプロセッサ（１６）に結合させるバス（１８）を含み得るが、これらに限定されない。バス（１８）は、メモリ・バスまたはメモリ制御装置、周辺バス、アクセラレーテッド・グラフィクス・ポート、および、プロセッサまたは様々なバス・アーキテクチャのいずれかを使用するローカル・バスを含む、いくつかのタイプのバス構造体のいずれかの１つまたは複数を表す。例として、そして限定ではなく、そのようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ＥＩＳＡ（Enhanced ISA、拡張ＩＳＡ）バス、ＶＥＳＡ（Video ElectronicsStandards Association）ローカル・バス、およびＰＣＩ（PeripheralComponent Interconnects）バスを含む。コンピュータ・システム／サーバ（１２）は、通常は、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム／サーバ（１２）によってアクセス可能な任意の使用可能な媒体でもよく、それは、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体を含む。
【００２１】
システム・メモリ（２８）は、ランダム・アクセス・メモリ（ＲＡＭ）（３０）またはキャッシュメモリ（３２）あるいはその両方などの揮発性メモリの形でコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ（１２）は、他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ・システム記憶媒体をさらに含み得る。単に例として、ストレージ・システム（３４）は、取外し不能、不揮発性磁気媒体（図示せず、そして、通常は「ハード・ドライブ」と称される）から読み取るおよびそこに書き込むために提供され得る。図示しないが、取外し可能、不揮発性磁気ディスク（たとえば、「フロッピ・ディスク」）から読み取るおよびそこに書き込むための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたは他の光媒体などの取外し可能、不揮発性光ディスクから読み取るおよびそこに書き込むための光ディスク・ドライブとが、提供され得る。そのような例で、各々は、１つまたは複数のデータ媒体インターフェースによってバス（１８）に接続され得る。さらに図示され、以下に記載されるように、メモリ（２８）は、本発明の実施形態の機能を実行するように構成された１セット（たとえば、少なくとも１つの）のプログラム・モジュールを有する少なくとも１つのプログラム製品を含み得る。
【００２２】
１セットの（少なくとも１つの）プログラム・モジュール（４２）を有するプログラム／ユーティリティ（４０）は、例として、そして限定ではなく、メモリ（２８）に、ならびに、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データに格納することができる。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々、あるいはそれらの何らかの組合せは、ネットワーク環境の実装を含み得る。プログラム・モジュール（４２）は、一般に、本明細書に記載される本発明の実施形態の機能または方法論あるいはその両方を実行する。
【００２３】
コンピュータ・システム／サーバ（１２）はまた、キーボード、ポインティング・デバイス、ディスプレイ（２４）などの１つまたは複数の外部デバイス（１４）、ユーザがコンピュータ・システム／サーバ（１２）と対話することを可能にする１つもしくは複数のデバイスまたはコンピュータ・システム／サーバ（１２）が１つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（たとえば、ネットワーク・カード、モデムなど）あるいはそれらのすべてと通信することができる。そのような通信は、入出力（Ｉ／Ｏ）インターフェース（２２）を介して生じ得る。さらに、コンピュータ・システム／サーバ（１２）は、ネットワーク・アダプタ（２０）を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ）または公衆網（たとえば、インターネット）あるいはそれらのすべてなどの１つまたは複数のネットワークと通信することができる。図示するように、ネットワーク・アダプタ（２０）は、バス（１８）を介してコンピュータ・システム／サーバ（１２）のその他の構成要素と通信する。図示しないが、他のハードウェアまたはソフトウェア構成要素あるいはその両方が、コンピュータ・システム／サーバ（１２）と併せて使用され得ることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイバル記憶システムなどを含むが、これらに限定されない。
【００２４】
ここで図２を参照すると、例示的クラウド・コンピューティング環境（５０）が示される。図示するように、クラウド・コンピューティング環境（５０）は、たとえば、パーソナル・デジタル・アシスタント（ＰＤＡ）もしくは携帯電話（５４Ａ）、デスクトップ・コンピュータ（５４Ｂ）、ラップトップ・コンピュータ（５４Ｃ）または自動車コンピュータ・システム（５４Ｎ）あるいはそれらのすべてなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスがそれを使って通信することができる１つまたは複数のクラウド・コンピューティング・ノード（１０）を備える。ノード（１０）は、互いに通信することができる。ノード（１０）は、物理的または仮装的に、前述のプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドあるいはそれらの組合せなどの１つまたは複数のネットワークにグループ化することができる（図示せず）。これは、クラウド・コンピューティング環境（５０）が、クラウド消費者がローカル・コンピューティング・デバイス上に資源を保持する必要のないサービスとして、インフラストラクチャ、プラットフォームまたはソフトウェアあるいはそれらのすべてを提供することを可能にする。図２に示すコンピューティング・デバイス（５４Ａ）〜（５４Ｎ）のタイプは単に例示的なものであり、コンピューティング・ノード（１０）およびクラウド・コンピューティング環境（５０）は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続（たとえば、ウェブ・ブラウザを使用する）あるいはその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【００２５】
ここで図３を参照すると、クラウド・コンピューティング環境（５０）（図２）によって提供される機能的抽象層のセットが示される。図３に示す構成要素、層、および機能は単に例示的であり、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示するように、以下の層、すなわちハードウェアおよびソフトウェア層（６０）、仮想化層（６２）、管理層（６４）、および作業負荷層（６６）、ならびに対応する機能が提供される。ハードウェアおよびソフトウェア層（６０）は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム、一例ではＩＢＭ（Ｒ）  ｚＳｅｒｉｅｓ（Ｒ）システム、ＲＩＳＣ（縮小命令セットコンピュータ）アーキテクチャに基づくサーバ、一例ではＩＢＭ  ｐＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ  ｘＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ  Ｂｌａｄｅ  Ｃｅｎｔｅｒ（Ｒ）システム、記憶装置、ネットワーク、および、ネットワークの構成要素を含む。ソフトウェア構成要素の例は、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例ではＩＢＭ  ＷｅｂＳｐｈｅｒｅ（Ｒ）アプリケーション・サーバ・ソフトウェア、および、データベース・ソフトウェア、一例ではＩＢＭ  ＤＢ２（Ｒ）データベース・ソフトウェア、を含む。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、ｘＳｅｒｉｅｓ、Ｂｌａｄｅ  Ｃｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、およびＤＢ２は、世界の多数の管轄区域で登録されたＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの商標である。）
【００２６】
仮想化層（６２）は、そこから仮想実体の以下の例、すなわち仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントが提供され得る抽象層を提供する。
【００２７】
一例では、管理層（６４）は、以下の機能、すなわち資源プロビジョニング、計測および価格設定、ユーザ・ポータル、サービス・レベル管理、ならびにＳＬＡプランニングおよびフルフィルメントを提供することができる。これらの機能は、以下に説明される。資源プロビジョニングは、そのクラウド・コンピューティング環境内でタスクを実行するために使用されるコンピューティング資源および他の資源の動的調達を行う。計測および価格設定は、資源がそのクラウド・コンピューティング環境内で使用されるときのコスト追跡、および、これらの資源の消費の請求書作成または料金請求を行う。一例では、これらの資源は、アプリケーション・ソフトウェア・ライセンスを備え得る。セキュリティは、クラウド消費者およびタスクの識別確認、ならびに、データおよび他の資源の保護を行う。ユーザ・ポータルは、消費者およびシステム管理者へのクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、必要とされるサービス・レベルが満たされるようにクラウド・コンピューティング資源割当ておよび管理を行う。サービス内容合意書（ＳＬＡ）プランニングおよびフルフィルメントは、将来の要件がＳＬＡに従って予期されるクラウド・コンピューティング資源の事前の取り決めおよびその調達を行う。
【００２８】
作業負荷層（６６）は、そのためにクラウド・コンピューティング環境が使用され得る機能性の例を提供する。この層から提供され得る作業負荷および機能の例は、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、動作処理、ならびにそのクラウド・コンピューティング環境内の移行をサポートするための整合性のあるアプリケーション・データの保持を含むがこれらに限定されない。
【００２９】
以下でクラウド・コンピューティング環境と称される、本明細書に記載の構成可能なコンピュータ資源の共用プールで、アプリケーションは、本明細書でデータ・サイトとも称される任意のデータ・センタに移行することができる。その中でアプリケーションが計画された移行および計画外の移行を含む移行が行われる、２つの一般的シナリオが存在する。計画された移行で、アプリケーションは、災害回復サポートを維持しながらクラウド内の任意のデータ・センタ、すなわち目的サイト、に移行し、そして、計画外の移行では、そのアプリケーションは、障害にさらされ、災害回復サポートを維持しながらクラウド内の任意のデータ・センタ内で回復する。したがって、計画された移行と計画外の移行の差は、障害と障害のあるアプリケーションのその後の回復である。
【００３０】
ソース・サイトはデータの１次の場所であり、そして、その目的サイトは、そのソース・データの複製を提供する。１つの実施形態で、ソース・サイトは、読み書きモードで動作して読取りおよび書込み動作の両方をサポートし、そして、目的サイトは、読取り専用モードで動作し、読取り動作のサポートに制限される。目的サイトとソース・データの連続的同期が提供される。１つの実施形態で、ソース・サイトの障害に続いて、読取りおよび書込み動作の両方をサポートするために、目的サイトは新しいソース・サイトにアップグレードされる。そのようなアップグレードは、アプリケーションまたはツールあるいはその両方が新しいソース・サイトに移動されてその新しいソース・サイトの機能性をサポートすることを必要とし得る。
【００３１】
そのソース・サイトからのデータは、ファイル・セット・レベルで定義される。１つの実施形態で、ファイル・セットは、データ管理のための管理上の境界を提供するファイルシステム名前空間のサブツリーである。したがって、複製の粒度および整合性は、ファイル・セットである。定義される粒度の態様は、所与のファイル・セット内のすべてのファイルにわたるすべての依存する書込みが順番付けされることを保証されることを保証する。図４は、目的サイトへの通信のための待ち行列内にソース・サイトでのデータおよびメタデータの変更を置く態様を説明する流れ図（４００）である。待ち行列内に任意のデータまたはメタデータあるいはその両方の変更を置く前に、そのソース・サイトおよび目的サイトにあるファイル識別子空間でのそのソース・サイトでのマッピングが作成される（４０２）。より具体的には、ソース・サイトにあるｉノード番号が、目的サイトにある同等のｉノード番号にマップされる必要があり、そのソース・サイトにあるファイル名が、その目的サイトにある同等のファイル名にマップされる必要があり得る。
【００３２】
アプリケーションが、ソース・サイトで動作する（４０４）。そのアプリケーションは、読取り動作または書込み動作あるいはその両方をサポートすることができる。書込み動作から生成されたデータは、その中でそのアプリケーションが処理を行っているソース・サイトにローカルなデータ・ストレージ、たとえばローカル・ストレージで記憶される（４０６）。同時に、その書込み動作から作成されたデータは、そのアプリケーションが１つまたは複数の動作を処理し続ける間に目的サイトでデータ・ストレージをバックアップするために、そのローカル・データ・ストレージから複製される（４０８）。ステップ（４０８）での複製は、その書込み動作からのデータおよびメタデータの両方を含む。ステップ（４０８）での複製は、ソース・サイト内の１つまたは複数のサーバ・ノードからその目的サイト内の１つまたは複数のサーバ・ノードに同期してまたは非同期で行われ得る。ステップ（４０８）での複製の形式にかかわらず、データ整合性ポイントが、ソース・データ・ストレージおよび目的データ・ストレージの両方で作成される。整合性ポイントの作成は、そのアプリケーションが障害にさらされた場合、そのアプリケーションが整合性のあるデータ・セットから回復することができることを確保する。
【００３３】
整合性ポイントは、当業者に知られたいくつかの異なる方法を使用して、達成され得る。１つの実施形態で、ファイルシステムまたはストレージ・システム・スナップショットがとられ、そして、書込み時コピー方式（copy-on-write semantics）が使用されて、長期間アプリケーション要求を遅れさせることなしにある一定の時点でデータを保存する。１つの実施形態では、アプリケーション、クラッシュ、ファイルシステムなどを含むがこれらに限定されない、任意のレベルの整合性が、使用され得る。したがって、１つまたは複数の書込み動作からのデータおよびメタデータは、両方のデータ・ストレージ場所での１つまたは複数の整合性ポイントの作成とともに、ソース・データ・ストレージで記憶され、目的データ・ストレージに複製される。
【００３４】
定期的整合性ポイントが作成され、ソースのおよび目的の場所の両方で保持され、その整合性ポイントは、サイト障害の場合には、回復ポイントとして機能する。より具体的には、整合性ポイントはソース・サイト対してローカルにとられ、その整合性ポイント内に反映されたデータのすべてが目的サイトに送信された後は、整合性ポイントがその目的サイトで作成される。したがって、データおよびメタデータへの変更がソース・サイトで行われるとき、これらの変更は、そのソース・サイトにローカルな整合性ポイントで反映され、目的整合性ポイントが目的サイトに対してローカルに作成されるその目的サイトに通信される。
【００３５】
ネットワーク帯域幅の効率的使用をサポートするために、整合性ポイントのソース・サイトから目的サイトへの送信は、前の整合性ポイントとの差に制限することができる。図５は、ソース・サイトでの整合性ポイントの管理のためのプロセスを説明する流れ図（５００）である。第１の整合性ポイントが、ソース・サイトに対してローカルに作成される（５０２）。時間間隔（５０４）に続いて、第２の整合性ポイントが、ソース・サイトに対してローカルに作成される（５０６）。第１の整合性ポイントと第２の整合性ポイントの間に何らかの差が存在するかが判定される（５０８）。ステップ（５０８）での判定への肯定応答に続いて、具体的な差の識別が行われる（５１０）。より具体的には、そのソース・サイトでの整合性ポイントの比較は、ｉノードで反映されるものとしてのメタデータと、作成、削除または修正された可能性のあるディレクトリ入力で反映されるものとしてのデータとの両方の探索を含む。差を有するものとして識別された任意のｉノード・メタデータについて、ｉノード出力ファイルが作成され（５１２）、そして、差を有するものとして識別された任意のディレクトリ入力について、ディレクトリ出力ファイルが作成される（５１４）。１つの実施形態で、その出力ファイルを作成および記憶することは必要とされない。より具体的には、その差（複数可）は、中間ファイル、たとえばその出力ファイルを使用することなしに直接に２次サイトでリプレイするために待ち行列に入れることができる。同様に、１つの一実施形態で、待ち行列またはファイルのいずれかの形での出力が、単一のパス内で作成され得る。
一連のファイルシステム動作としてその出力ファイルをリプレイするステップは、その目的サイトと同時にまたは並行して行われ得る。１つの実施形態で、そのファイルシステム動作（複数可）は、ＵＮＩＸ（ＰＯＳＩＸ）ファイルシステム動作のためのポータブル・オペレーティング・システム・インターフェースなど、標準または非専売のまたはその両方のファイルシステム動作でもよい。したがって、１つまたは複数の出力ファイルが作成される、または、待ち行列がその識別されたメタデータおよびデータ差のリプレイのために実装される。
【００３６】
ステップ（５１２）または（５１４）あるいはその両方での任意の出力ファイルの作成に続いて、その出力ファイルは、ソース・サイトにローカルなインメモリ待ち行列内に置かれる（５１６）。同時に、そのソース・サイトは、データまたはメタデータあるいはその両方へのさらなる変更を含み得る読取りおよび書込み動作を処理し続けることができる。ステップ（５１６）、または、ステップ（５０８）での判定への否定応答に続いて、本プロセスは、ステップ（５０４）に戻って継続し、次に、後続の整合性ポイントの作成およびその比較が繰り返される。１つの実施形態で、整合性ポイント間の１つまたは複数の差の適用は、連続する整合性ポイントに制限されない。より具体的には、その識別される差は、任意の２つの整合性ポイントの間でもよい。たとえば、２つの整合性ポイントの間の差がリプレイされて変更を元に戻すことができる。Ｓ１およびＳ２が、それぞれ、時間Ｔ１およびＴ２にとられた連続する整合性ポイントであり、Ｔ１がＴ２の前に生じる場合、その目的サイトは、整合性ポイントＳ１にあり、時間でＳ２に進めることができ、あるいは、その目的サイトは整合性ポイントＳ２にあり、時間でＳ１に戻すことができる。第１の整合性ポイントおよび第２の整合性ポイントは、必ずしも時間的に連続せず、整合性ポイントは任意の２つの整合性ポイントでもよい。したがって、整合性ポイントは、定期的に作成され、比較される整合性ポイント間の差は識別され、目的サイトへの通信のための待ち行列内に置かれる。
【００３７】
ソース・サイトと目的サイトの間に通信障害が存在し得ることが認識されている。障害は、様々な理由で生じ、そのような障害の詳細およびそれらの原因は、本発明の主題ではない。しかし、障害の場合、災害回復が使用されて、ソース・サイトと目的サイトの間でデータおよびメタデータの両方のレベルで整合性を確立または再確立する。１つの実施形態で、その待ち行列内のデータの送信は、連続的な形で非同期で生じる。ソース・サイトがノードまたはサイト障害を経験する場合、目的サイトは、その障害時に待ち行列内にあった可能性のあるいずれの変更も受信しないことになる。ソース・サイトと目的サイトの間の通信障害の検出に続いて、アルゴリズムが、そのソース・サイトでの動作を解釈および実行するために、呼び出される。その実行動作は、その整合性ポイントに関連する２つの態様、メタデータの差に関する１つの態様、および、データの差に関する第２の態様を含む。
【００３８】
図６は、ソース・サイトと目的サイトの間の通信の障害の検出のためのプロセスと、そのソース・サイト内のデータおよびメタデータでその目的サイトを最新の状態にするための回復の管理の第１の態様とを示す流れ図（６００）である。ソース・サイトでの最新の整合性ポイント内で参照される各ｉノードについて、そのｉノードがソース・サイトで前の整合性ポイント内に存在したかが判定される（６０２）。ステップ（６０２）での判定への否定応答は、その対象ｉノードが新しいｉノードであるという指示である（６０４）。そのソース・サイトでのその新しいｉノードの属性が確定され（６０６）、そして、一時的な新しいｉノードがその目的サイトで作成され、そのソース・サイトで参照される新しいｉノードにマップされる（６０８）。それに応じて、そのソースノードでその最新の整合性ポイント内で参照される各新しいｉノードについて、新しいｉノードは、その目的サイトで一時的に作成される。
【００３９】
ステップ（６０２）で、その対象ｉノードが前の整合性ポイント内に存在したと判定された場合、次いで、参照によって、このｉノードはその目的サイトに存在する。その対象ｉノードの参照は、その対象ｉノードに関する既存のファイルが修正されたことを指示する（６１０）。ステップ（６０８）または（６１０）のいずれかに続いて、そのマップされた目的ｉノードへのその対象ｉノードのハード・リンクが確立される（６１２）。１つの実施形態で、ハード・リンクは、ファイルシステムで既存のファイルに名前を関連付けるディレクトリ入力である。ハード・リンクが確立された後は、次いでその対象整合性ポイント内で参照されるおよびその対象ｉノードに関連する新しいデータが存在するかが判定される（６１４）。ステップ（６１４）での判定への肯定応答に続いて、そのソース・サイトで待ち行列内に新しいデータを置き、そのハード・リンクを介して目的ｉノードにそのデータを書き込む（６１６）。その目的サイトでのデータの更新の詳細は、以下に記載の図７に示される。ステップ（６１４）での判定への否定応答に続いて、その対象整合性ポイントで参照されるおよびその対象ｉノードに関連する新しいメタデータが存在するかが判定される（６１８）。ステップ（６１８）での判定への応答が否定である場合、そのメタデータの調整プロセスは完了する（６２０）。逆に、ステップ（６１８）での判定への肯定応答の後には、目的サイトへのソース・サイト内のその整合性ポイントからのすべてのメタデータ属性の更新が続く（６２２）。それに応じて、メタデータ整合性は、通信障害に続いて、そのソース・サイトと目的サイトの間で保持され、調整される。
【００４０】
図６で参照するように、ソース・サイトでの２つの整合性ポイントの間の差は、そのデータに関して存在し得る。図７は、そのソース・サイトで２つの整合性ポイント内のディレクトリ入力を調整するためのプロセスを説明する流れ図（７００）である。各識別された変更されたディレクトリについて（７０２）、ソースｉノードは、目的ｉノードにマップされる（７０４）。次いで、その対象ディレクトリが最新の整合性ポイント内にあるかが判定される（７０６）。ステップ（７０６）での判定への否定応答は、その対象ディレクトリが取り除かれたか改名されたかのいずれかであることの指示である（７０８）。その対象ディレクトリのリンクが、そのソース・サイトからその目的サイトに確立される（７１０）。それに応じて、取り除かれたまたは改名されたと整合性ポイント比較で識別された各ディレクトリについて、リンクが、そのソース・サイトからその目的サイトへの変更の通信のためにそれらの２つのサイトの間に確立される。
【００４１】
しかし、ステップ（７０８）での判定への肯定応答は、そのディレクトリがその目的サイトで既に確立されているという指示である。したがって、ステップ（７０６）での判定への肯定応答に続いて、その目的サイトにあるマップされたｉノードでその対象ディレクトリを調べる（７１２）。次いで、その対象ディレクトリがそのマップされたｉノード内に存在するかが判定される（７１４）。そのディレクトリが存在しない場合、そのディレクトリが、その目的サイトで作成され、ソース・サイトにある対象ディレクトリにリンクする（７１６）。しかし、そのディレクトリが存在する場合、次いで、そのソース・サイトで整合性ポイント比較で認められたファイル・レベルで変更が存在するかが判定される（７１８）。ステップ（７１６）での判定への否定応答は、その変更がディレクトリ・レベルであったという指示である（７２０）。逆に、ステップ（７１８）での判定への肯定応答は、その変更がデータ・レベルであり、そのソースからその目的へのリンクが、変更されたデータで適切な目的ｉノードおよびディレクトリを更新するために確立されることを示す（７２０）。したがって、そのソース・サイトと目的サイトの間のデータ整合性は、ディレクトリ・レベルで保持される。
【００４２】
そのソース・サイトで実行されるすべてのファイルシステム動作は、その目的サイトで同じ順番でリプレイされ、それによって、書込み順番および読取り安定性を保証する。より具体的には、そのソース・サイトおよび目的サイトの整合性ポイントの間の識別された差が、ファイルシステム動作としてそのソース・サイトから適用される。
【００４３】
図４〜７の流れ図に明示されるように、ソース・サイトから目的サイトへのデータの同期をサポートするための方法が使用される。より具体的には、順次的整合性ポイントが作成され、整合性ポイント間の差が識別され、そして、その差が、ファイルシステム動作としてそのソース・サイトから目的サイトにリプレイされる。１つの実施形態で、整合性ポイントの作成、順次的整合性ポイント間の差の確定、およびその確定された差の目的サイトへの通信のためのファイルシステム動作への変換を含む、その同期をサポートするためのツールはすべて、そのソース・サイトに対してローカルである。図８は、前述のようなデータの同期をサポートするためのコンピュータ・システム内に組み込まれたツールを説明するブロック図（８００）である。より具体的には、構成可能なコンピュータ資源の共用プールが、第１のデータ・センタ（８１０）および第２のデータセンタ（８５０）とともに示される。説明を目的として、第１のデータセンタ（８１０）はソース・サイトと称され、第２のデータセンタ（８５０）は目的サイトと称される。２つのデータ・センタのみが本明細書の例には示されるが、本発明は、そのコンピュータ・システム内のデータ・センタのこの数量に限定されるべきではない。したがって、２つ以上のデータ・センタが、データ同期をサポートするために使用され得る。
【００４４】
本システム内の各々のデータ・センタは、データ・ストレージと通信する少なくとも１つのサーバが備わっている。より具体的には、第１のデータセンタ（８１０）には、バス（８２６）を介してメモリ（８２４）と通信する、および第１のローカル・ストレージ（８２８）と通信する、処理ユニット（８２２）を有するサーバ（８２０）が備わり、そして、第２のデータセンタ（８５０）には、バス（８６６）を介してメモリ（８６４）と通信する、および第３のローカル・ストレージ（８６８）と通信する、処理ユニット（８６２）を有するサーバ（８６０）が備わる。
【００４５】
本明細書に示す例で、アプリケーション（８８０）は、第１のデータセンタ（８１０）に対してローカルな読取りおよび書込み動作を処理する。読取り動作は、第１のローカル・ストレージ（８２８）内のデータでサポートされる。同様に、書込み動作からのデータは、第１のローカル・ストレージ（８２８）に書き込まれる。いくつかのツールが、第１のデータセンタ（８１０）から第２のデータセンタ（８５０）への書込みデータの同期をサポートするために提供される。より具体的には、機能ユニット（８３０）は、共用プール内のおよびサーバ（８２０）のメモリ（８２４）と通信する第１のデータセンタ（８１０）にローカルに提供される。機能ユニット（８３０）は、データ同期をサポートするツールを管理する。そのツールは、データ・マネージャ（８３２）、デルタ・マネージャ（８３４）、およびデータ・ムーバ（８３６）を含むが、これらに限定されない。データ・マネージャ（８３２）は、整合性ポイントの使用を介してソースサイト（８１０）でデータを処理する機能を果たす。より具体的には、データ・マネージャ（８３２）は、定期的にソースサイト（８１０）にローカルにファイルシステム、すなわちソース・ファイルシステムの整合性ポイントを作成する。
【００４６】
各々の作成された整合性ポイントは、ある時点でのファイルシステム・データおよびメタデータを表し、障害の場合に回復ポイントを確立する機能を果たす。最低でも、データ・マネージャ（８３２）は、第１の時点に第１の整合性ポイントを、そして、第２の時点に第２の整合性ポイントを作成する。１つの実施形態で、第２の整合性ポイントが生成され、目的サイト（８５０）に複写された後に、第１の整合性ポイントはソースサイト（８１０）から削除され得る。したがって、データ・マネージャ（８３２）は、異なる時点でソース・ファイルシステムの少なくとも２つのイメージを取り込む機能を果たす。
【００４７】
ソース・ファイルシステムの整合性ポイントが少なくとも２つ存在するとき、整合性ポイントは、第１のデータセンタ（８１０）と第２のデータセンタ（８５０）の間の通信障害の場合に第２のデータセンタ（８５０）に通信される必要がある。帯域幅利用を軽減するために、その通信は、それらの２つの整合性ポイントの間の差に制限され得る。デルタ・マネージャ（８３４）は、データ・マネージャ（８３２）との通信で、そのような差の識別および管理をサポートするためのデルタ・マネージャ（８３４）の機能性を提供される。より具体的には、デルタ・マネージャ（８３４）は、第１の整合性ポイントを第２の整合性ポイントと比較し、第１の整合性ポイントと第２の整合性ポイントの間の任意の差を識別する。したがって、デルタ・マネージャ（８３４）は、２つの整合性ポイントの間でメタデータ・レベルおよびデータ・レベルの両方で差を識別する機能を果たす。
【００４８】
最後に、データ・ムーバ（８３６）が、デルタ・マネージャ（８３４）との通信で提供されて、デルタ・マネージャ（８３４）によって識別されるものとしての２つの整合性ポイントの間の差の適用を管理する。より具体的には、データ・ムーバ（８３６）は、その識別された差を含む出力ファイルを生成し、待ち行列内にその識別された差を置き、ファイルシステム動作としてその出力ファイルをリプレイする。一実施形態で、そのファイルシステム動作は、ソースサイト（８１０）から目的サイト（８５０）にリプレイされ、その動作は同時の形での複数のファイルシステム動作を含む。データ・ムーバ（８３６）によって使用されるファイルシステム動作は、デルタ・マネージャ（８３４）によって作成されるものとしての正確なデルタで反映されるそれらの変更のみをリプレイする。１つの実施形態で、データ・ムーバ（８３６）は、２つ以上のファイル更新が結合され、一時メタデータ動作、たとえば一時ファイルが無視されることを可能にする。データ・ムーバ（８３６）はファイルシステム動作を置き換えてファイルシステム変更を通信するので、ソース・サイト（８１０）および目的サイト（８５０）は、同種ファイルシステムに限定されない。１つの実施形態で、そのソース・サイト（８１０）および目的サイト（８５０）は、異種ファイルシステムでもよい。したがって、データ・ムーバ（８３６）は、ファイルシステム動作の形でソースサイト（８１０）から目的サイト（８５０）に識別されたファイルシステム変更を通信する責任を負う。
【００４９】
本明細書に示すように、ファイルシステム変更は、識別され、目的サイト（８５０）に資源の共用プール内でソースサイト（８１０）から同期される。より具体的には、その同期は、データ・マネージャ（８３２）、デルタ・マネージャ（８３４）、およびデータ・ムーバ（８３６）によってサポートされる。１つの実施形態で、ソースサイト（８１０）からのデータの同期は、ソースサイト（８１０）からの通信における障害に応答して行われて、目的サイト（８５０）のデータの整合性のあるバージョンが保持され、進行することを確保する。それに応じて、データの整合性は、クラウド内の２つの場所で保持されて、ソース・サイトからのデータの複製が２次の場所で使用可能であることを確保する。
【００５０】
図示するように、ツール（８３２）〜（８３６）は、ソースサイト（８１０）にローカルな、構成可能なコンピュータ資源、すなわちクラウドの共用プール内で提供される。１つの実施形態で、その目的サイトは、コンピュータ・プログラム・コードが同期機能性をサポートするための任意の追加のツールを必要としない。前述のように、データ・マネージャ（８３２）、デルタ・マネージャ（８３４）、およびデータ・ムーバ（８３６）はそれぞれ、ソース・データ・センタ（８１０）にローカルなサーバ（８２０）のメモリ（８２４）内にあることが示される。１つの実施形態で、データ・マネージャ（８３２）、デルタ・マネージャ（８３４）、およびデータ・ムーバ（８３６）はそれぞれ、サーバ（８２０）のメモリ（８２４）の外部にハードウェア・ツールとして存在し得るが、あるいは、それらは、ハードウェアおよびソフトウェアの組合せとして実装され得る。同様に、１つの実施形態で、マネージャ（８３２）〜（８３６）は、別個のアイテムの機能性を組み込む単一の機能的アイテムに結合され得る。本明細書に示すように、マネージャ（複数可）の各々は、１つのデータ・センタに対してローカルに示される。しかし、１つの実施形態でそれらは、構成可能なコンピュータ資源の共用プールを横断して集合的にまたは個別に分散され、ユニットとして機能してソース・サイトから目的サイトへの整合性のあるデータの同期を管理することができる。したがって、そのマネージャは、ソフトウェア・ツール、ハードウェア・ツール、または、ソフトウェアおよびハードウェア・ツールの組合せとして実装することができる。
【００５１】
本発明の態様は、システム、方法またはコンピュータ・プログラム製品として実施され得ることが、当業者には理解されよう。したがって、本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、ソフトウェアおよびハードウェア態様を結合する実施形態の形をとることができ、これらはすべて本明細書で「回路」、「モジュール」または「システム」として一般に称され得る。さらに、本発明の態様は、コンピュータ可読プログラム・コードを具現化した１つまたは複数のコンピュータ可読媒体（複数可）内に実施されたコンピュータ・プログラム製品の形をとることができる。
【００５２】
１つまたは複数のコンピュータ可読媒体（複数可）の任意の組合せが、使用され得る。そのコンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体でもよい。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁気、赤外線、または半導体のシステム、装置、もしくはデバイス、あるいは前述の任意の適切な組合せでもよいが、これらに限定されない。そのコンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）は、以下、すなわち１つまたは複数のワイヤを有する電気接続、携帯用コンピュータディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはＦｌａｓｈメモリ）、光ファイバ、携帯用ＣＤ−ＲＯＭ（compact disc read-only memory）、光記憶装置、磁気記憶装置、または前述の任意の適切な組合せを含むことになろう。本明細書の文脈で、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれに関して使用するためのプログラムを含むまたは記憶することができる任意の有形の媒体でもよい。
【００５３】
コンピュータ可読信号媒体は、たとえば、ベースバンド内にまたは搬送波の部分として、コンピュータ可読プログラム・コードを具現化した伝搬されるデータ信号を含み得る。そのような伝搬される信号は、電磁気、光、またはそれらの任意の適切な組合せを含むがこれらに限定されない様々な形のいずれをとることもできる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではない、そして、命令実行システム、装置、もしくはデバイスによってまたはそれに関して使用するためのプログラムを通信、伝搬、または移送することができる、任意のコンピュータ可読媒体でもよい。
【００５４】
コンピュータ可読媒体で具現化されたプログラム・コードは、ワイヤレス、ワイヤライン、光ファイバ・ケーブル、ＲＦなど、または前述の任意の適切な組合せを含むがこれらに限定されない任意の適切な媒体を使用して、送信することができる。
【００５５】
本発明の態様のための動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋または同様のものなどのオブジェクト指向のプログラミング言語、および、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書くことができる。そのプログラム・コードは、完全にユーザのコンピュータで、部分的にユーザのコンピュータで、独立型ソフトウェア・パッケージとして、部分的にユーザのコンピュータそして部分的に遠隔コンピュータで、あるいは完全に遠隔コンピュータまたはサーバで、実行することができる。最後のシナリオで、その遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、あるいは、その接続は、外部コンピュータに対して行うことができる（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）。
【００５６】
本発明の態様は、本発明の実施形態の方法、装置（システム）およびコンピュータ・プログラム製品の流れ図の図解またはブロック図あるいはその両方を参照して前述される。流れ図の図解またはブロック図あるいはその両方と、流れ図の図解またはブロック図あるいはその両方の中のブロックの組合せとは、コンピュータ・プログラム命令によって実装することができることが、理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／動作を実装するための手段を作成するように、汎用コンピュータ、特定目的コンピュータ、または、他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを形成することができる。
【００５７】
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶された命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／動作を実施する命令を含む製造品を作り出すことができるように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスを特定の方式で機能するように導くことができるコンピュータ可読媒体内に記憶され得る。
【００５８】
そのコンピュータ・プログラム命令はまた、コンピュータまたは他のプログラマブル装置で実行する命令が流れ図またはブロック図あるいはその両方の１つまたは複数のブロックで指定された機能／動作を実装するためのプロセスを提供するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、一連の動作のステップをコンピュータ、他のプログラマブル装置または他のデバイスで実行させて、コンピュータ実装プロセスを作り出すことができる。
【００５９】
ここで図９を参照すると、本発明の一実施形態を実装するためのシステムを示すブロック図（９００）がある。そのコンピュータ・システムは、プロセッサ（９０２）などの１つまたは複数のプロセッサを含む。プロセッサ（９０２）は、通信インフラストラクチャ（９０４）（たとえば、通信バス、クロスオーバ・バー、またはネットワーク）に接続される。そのコンピュータ・システムは、表示ユニット（９０８）に表示するためにその通信インフラストラクチャ（９０４）から（または図示しないフレーム・バッファから）グラフィックス、テキスト、および他のデータを送る表示インターフェース（９０６）を含み得る。そのコンピュータ・システムは、メイン・メモリ（９１０）、好ましくはランダム・アクセス・メモリ（ＲＡＭ）、も含み、２次メモリ（９１２）もまた含み得る。２次メモリ（９１２）は、たとえば、フロッピ・ディスク・ドライブ、磁気テープ・ドライブ、または光ディスク・ドライブを表す、ハードディスク・ドライブ（９１４）または取外し可能ストレージ・ドライブ（９１６）あるいはその両方を含み得る。取外し可能ストレージ・ドライブ（９１６）は、当業者によく知られた形で取外し可能ストレージ・ユニット（９１８）から読み取るまたはそこに書き込むあるいはその両方を行う。取外し可能ストレージ・ユニット（９１８）は、たとえば、取外し可能ストレージ・ドライブ（９１６）によって読み取られるおよびそこに書き込まれる、フロッピ・ディスク、コンパクト・ディスク、磁気テープ、または光ディスクなどを表す。取外し可能ストレージ・ユニット（９１８）は、そこにコンピュータ・ソフトウェアまたはデータあるいはその両方が記憶されたコンピュータ可読媒体を含むことが理解されよう。
【００６０】
代替実施形態で、２次メモリ（９１２）は、コンピュータ・プログラムまたは他の命令がコンピュータ・システムにロードされることを可能にするための他の同様の手段を含み得る。そのような手段は、たとえば、取外し可能ストレージ・ユニット（９２０）およびインターフェース（９２２）を含み得る。そのような手段の例は、プログラム・パッケージおよびパッケージ・インターフェース（ビデオ・ゲーム・デバイス内で見られるものなど）と、取外し可能メモリ・チップ（ＥＰＲＯＭ、またはＰＲＯＭなど）および関連ソケットと、ソフトウェアおよびデータを取外し可能ストレージ・ユニット（９２０）からコンピュータ・システムに転送できるようにする他の取外し可能ストレージ・ユニット（９２０）およびインターフェース（９２２）とを含み得る。
【００６１】
そのコンピュータ・システムはまた、通信インターフェース（９２４）を含み得る。通信インターフェース（９２４）は、ソフトウェアおよびデータをそのコンピュータ・システムと外部デバイスの間で転送できるようにする。通信インターフェース（９２４）の例は、モデム、ネットワーク・インターフェース（イーサネット・カードなど）、通信ポート、または、ＰＣＭＣＩＡスロットおよびカードなどを含み得る。通信インターフェース（９２４）を介して転送されるソフトウェアおよびデータは、たとえば、通信インターフェース（９２４）によって受信することができる電子、電磁気、光、または他の信号でもよい信号の形をとる。これらの信号は、通信パス（すなわち、チャネル）（９２６）を介して通信インターフェース（９２４）に提供される。この通信パス（９２６）は、信号を運び、ワイヤもしくはケーブル、光ファイバ、電話回線、携帯電話リンク、無線周波数（ＲＦ）リンクまたは他の通信チャネルあるいはそれらのすべてを使用して実装することができる。
【００６２】
本明細書で、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は、メイン・メモリ（９１０）および２次メモリ（９１２）、取外し可能ストレージ・ドライブ（９１６）、および、ハードディスク・ドライブ（９１４）にインストールされたハードディスクなどの媒体を概して参照するために使用される。
【００６３】
コンピュータ・プログラム（コンピュータ制御論理とも称される）は、メイン・メモリ（９１０）または２次メモリ（９１２）あるいはその両方で記憶される。コンピュータ・プログラムはまた、通信インターフェース（９２４）を介して受信することができる。そのようなコンピュータ・プログラムは、稼働するとき、コンピュータ・システムが本明細書に論じるような本発明の機能を実行することを可能にする。具体的には、そのコンピュータ・プログラムは、稼働するとき、プロセッサ（９０２）がそのコンピュータ・システムの機能を実行することを可能にする。したがって、そのようなコンピュータ・プログラムは、そのコンピュータ・システムの制御装置を表す。
【００６４】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の起こり得る実装形態のアーキテクチャ、機能性および動作を説明する。これに関連して、流れ図またはブロック図中の各ブロックは、指定された論理的機能（複数可）を実装するための１つまたは複数の実行可能命令を備える、モジュール、区分、またはコードの部分を表し得る。いくつかの代替実装形態で、そのブロックに記載された機能は、図に記載された順番以外で生じ得ることにも留意されたい。たとえば、関係する機能性に応じて、連続して示される２つのブロックは、実際には、ほぼ同時に実行されることがあり、またはそれらのブロックは、ときには逆の順番で実行されることがある。それらのブロック図または流れ図あるいはその両方の図解の各ブロック、および、それらのブロック図または流れ図あるいはその両方の図解の中のブロックの組合せは、指定された機能もしくは動作を実行する特定目的ハードウェアに基づくシステム、または特定目的ハードウェアおよびコンピュータ命令の組合せによって実装することができることにも留意されたい。
【００６５】
本明細書で使用される専門用語は、特定の実施形態の説明のみを目的とし、本発明の限定を意図されていない。本明細書では、単数形「１つの」および「その」は、文脈上明白に他を指示するのでない限り、複数形も同様に含むものである。「備える」または「備えた」あるいはその両方の用語は、本明細書で使用されるとき、記載された特徴、整数、ステップ、動作、要素または構成要素あるいはそれらのすべての存在を指定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素またはそれらのグループあるいはそれらのすべての存在または追加を排除しないことが、さらに理解されよう。
【００６６】
添付の特許請求の範囲内のすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造体、材料、動作、および均等物は、具体的に特許請求されているものとしての他の特許請求されている要素との組合せでその機能を実行するための任意の構造体、材料、または動作を含むものとする。本発明の説明は、例示および説明を目的として提示されるが、網羅的なものではなく、または開示された形での本発明に限定されるものではない。多数の変更形態および変形形態が、本発明の範囲および趣旨を逸脱することなしに、当業者には明らかとなろう。その実施形態は、本発明の原理およびその実際の適用を最もよく説明するために、および、企図された特定の使用に適するように様々な変更を有する様々な実施形態について本発明を他の当業者が理解できるようにするために、選択され、記載された。したがって、その機能強化されたクラウド・コンピューティング・モデルは、アプリケーション場所からのそのデータの場所の分離および適切な回復サイトの選択のサポートを含むがこれに限定されない、アプリケーション処理および災害回復に関する柔軟性をサポートする。
代替実施形態
【００６７】
本発明の特定の実施形態が、例示を目的として本明細書に記載されるが、様々な変更形態が本発明の趣旨および範囲を逸脱することなしに行われ得ることが、理解されよう。具体的には、本システムは、第１のデータ・センタで動作するデータおよびメタデータの計画されたおよび計画外の同期をサポートするように構成することができる。したがって、本発明の保護の範囲は、添付の特許請求の範囲およびそれらの均等物によってのみ限定される。
【図１】
2015504202.tif 000003
【図２】
2015504202.tif 000004
【図３】
2015504202.tif 000005
【図４】
2015504202.tif 000006
【図５】
2015504202.tif 000007
【図６】
2015504202.tif 000008
【図７】
2015504202.tif 000009
【図８】
2015504202.tif 000010
【図９】
2015504202.tif 000011
【手続補正書】
【提出日】平成26年6月20日(2014.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各整合性ポイントが、回復ポイントを確立するためのある時点のファイルシステム・データおよびメタデータを表す、ソース・ファイルシステム内の整合性ポイントを定期的に作成するステップであって、第１の時点での第１の整合性ポイントおよび第２の時点での第２の整合性ポイントを作成するステップを含む、前記定期的に作成するステップと、
前記第１の整合性ポイントと前記第２の整合性ポイントの間の差を識別するステップを含む、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するステップと、
ソース・ファイルシステム・オブジェクトと目的ファイルシステム・オブジェクトの間の対応する関係に基づいて、前記ソース・ファイルシステム・オブジェクトを前記目的ファイルシステム・オブジェクトにマップするステップと、
１つまたは複数のファイルシステム動作としての前記識別された差をリプレイするステップを含む、前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するステップと
を含む、方法。
【請求項２】
前記識別された差を適用する前記ステップが、ソース・ファイルシステムｉノードの目的ファイルシステムｉノードへのマッピングを使用する、請求項１に記載の方法。
【請求項３】
前記識別された差を適用する前記ステップが、ファイル名を使用してファイルシステム・オブジェクトでファイルシステム動作を識別するステップを含む、請求項１に記載の方法。
【請求項４】
前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用する前記ステップが、任意のメタデータ変更および任意のデータ変更の正確なデルタを作り出すステップと、前記正確なデルタで反映されたそれらの変更のみをリプレイするステップとを含む、請求項１に記載の方法。
【請求項５】
前記識別された差の出力ファイルを生成するステップと、一連のファイルシステム動作として前記出力ファイルをリプレイするステップであって、前記動作のうちのいくつかが目的サイトに同時にリプレイされ得る、前記リプレイするステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記ソース・ファイルシステムと目的ファイルシステムの間の通信障害の後に出力ファイルをリプレイするステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記ソース・ファイルシステムおよび目的ファイルシステムが、異種ファイルシステムである、請求項１に記載の方法。
【請求項８】
より古い整合性ポイントに移動させることによって目的ファイルシステムでの変更を取り消すステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記第１の整合性ポイントおよび前記第２の整合性ポイントが、連続する整合性ポイントに制限されない、請求項１に記載の方法。
【請求項１０】
構成可能なコンピュータ資源の共用プールと、
ソース・サイトのソース・ファイルシステム内の整合性ポイントの定期的作成を含む、前記共用プール内の前記ソース・サイトでデータを処理するためのデータ・マネージャであって、各整合性ポイントが回復ポイントを確立するためのある時点でのソース・ファイルシステム・データおよびメタデータを表し、前記データ・マネージャによる前記整合性ポイントの作成が、前記データ・マネージャが第１の時点での第１の整合性ポイントおよび第２の時点での第２の整合性ポイントを作成することを含む、前記データ・マネージャ、
前記データ・マネージャと通信するデルタ・マネージャであって、前記第１の整合性ポイントと前記第２の整合性ポイントの間の任意の差の識別を含めて、前記第１の整合性ポイントを前記第２の整合性ポイントと比較するための前記デルタ・マネージャ、および、
ソース・ファイルシステム・オブジェクトの目的ファイルシステム・オブジェクトへのマッピングに基づく前記識別された差のリプレイを含む、前記第１の整合性ポイントと前記第２の整合性ポイントの間の前記識別された差を適用するように前記デルタ・マネージャおよびアプリケーション・マネージャと通信するデータ・ムーバ
を備える、前記共用プールと通信する機能ユニットと
を備える、システム。
【請求項１１】
前記データ・ムーバが、ソース・ファイルシステムｉノードの目的ファイルシステムｉノードへのマップを使用して、前記識別された差を適用する、請求項１０に記載のシステム。
【請求項１２】
前記データ・ムーバによる前記識別された差の適用が、ファイル名を使用するファイルシステム・オブジェクトでのファイルシステム動作の識別を含む、請求項１０に記載のシステム。
【請求項１３】
前記デルタ・マネージャが、前記識別された差から正確なデルタを生み出し、前記正確なデルタが任意のメタデータ変更および任意のデータ変更を含み、前記データ・ムーバが前記正確なデルタで反映されたそれらの変更のみをリプレイする、請求項１０に記載のシステム。
【請求項１４】
さらに、前記識別された差の出力ファイルを生成するおよび目的サイトへの一連のファイルシステム動作の同時リプレイをサポートするように、前記データ・ムーバを備える、請求項１０に記載のシステム。
【請求項１５】
さらに、前記ソース・サイトと目的サイトの間の通信障害の後に出力ファイルをリプレイするように、前記データ・ムーバを備える、請求項１０に記載のシステム。
【請求項１６】
請求項１〜９の何れか１項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１７】
前記コンピュータ・プログラムを、コンピュータ可読記録媒体に記録した、記録媒体。
【国際調査報告】
2015504202.tif 000012
2015504202.tif 000013
2015504202.tif 000014