JP5671656B2 - レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション) - Google Patents

レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション) Download PDF

Info

Publication number
JP5671656B2
JP5671656B2 JP2014523155A JP2014523155A JP5671656B2 JP 5671656 B2 JP5671656 B2 JP 5671656B2 JP 2014523155 A JP2014523155 A JP 2014523155A JP 2014523155 A JP2014523155 A JP 2014523155A JP 5671656 B2 JP5671656 B2 JP 5671656B2
Authority
JP
Japan
Prior art keywords
replication
server
source
replication destination
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014523155A
Other languages
English (en)
Other versions
JP2014522044A (ja
Inventor
アングリン、マシュー、ジェイ
キャノン、デイヴィッド、エム
ドーソン、コリン、エス
フラットマン、バリー
エー ハイ、マーク
エー ハイ、マーク
マーティン、ハワード、エヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014522044A publication Critical patent/JP2014522044A/ja
Application granted granted Critical
Publication of JP5671656B2 publication Critical patent/JP5671656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Description

本発明は、レプリケーション元サーバからレプリケーション先サーバにデータ・オブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法に関する。
データがバックアップされている主レプリケーション元サーバがダウンする場合に、クライアントがレプリケーション・サイトからそれらのクライアントのデータを復旧することができるように、複数のノードに属するデータを1つのサーバから別のサーバに複製するために、データ・レプリケーションが使用される。Tivoli(R)Storage Manager(TSM)などのストレージ管理サーバは、1つまたは複数のストレージ・プールにデータ・オブジェクトを記憶し、記憶されたオブジェクトについてのメタデータを追跡するためにデータベースを使用する。(Tivoliは、世界的にIBMの商標である)。ストレージ管理サーバは、災害復旧を目的として遠隔の場所にデータ・オブジェクトを複製する可能性がある。遠隔の場所にデータを転送するために使用される方法の一部は、データのコピーを含むテープをレプリケーション元のサイトから災害復旧用のサイトに物理的に運ぶこと、データを電子的に送信すること(TSMのエクスポート/インポート)、またはレプリケーション元のサイトのディスク・ストレージのハードウェアのレプリケーションを用いてデータのミラーを作成することを含む。利用可能なレプリケーション・ハードウェア・デバイスは、重複排除ハードウェアを使用してブロック・レベルのレプリケーションを行う仮想テープ・ライブラリ(VTL)製品を含む。
データの重複排除は、冗長なデータを取り除いてストレージの利用を改善するためのデータ圧縮技術である。重複排除は、チャンクまたはエクステントとしても知られる一意のデータ単位の1つのコピーだけが記憶されるので、必要とされるストレージ容量を削減する。ストレージ管理サーバおよび仮想テープ・ライブラリ(VTL)などのディスクに基づくストレージ・システムは、冗長なデータ・チャンクを検出し、そのようなチャンクの冗長な記憶を避けることによって重複を少なくするための重複排除技術を実装する可能性がある。
重複排除システムは、ファイルを一連のチャンクまたはエクステントに分割することによって動作する。重複排除システムは、チャンクのいずれかが既に記憶されているかどうかを決定し、続けて、それらの冗長でないチャンクだけを記憶する。冗長性は、ファイル内の記憶されているチャンク、またはシステムに既に記憶されたチャンクを用いて調べられる可能性がある。
1つのサーバから別のサーバにオブジェクトを複製するための改善された技術に対するニーズが、当技術分野に存在する。
レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにデータ・オブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法が、提供される。レプリケーション先サーバに複製すべきレプリケーション元サーバのオブジェクトのレプリケーション元リストが、構築される。レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために記レプリケーション先サーバが、問い合わせされる。レプリケーション先サーバに転送すべき、レプリケーション先リストに含まれていない、レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストが、構築される。レプリケーション・リストの各オブジェクトに関して、レプリケーション先ストレージにまだないオブジェクトに関するデータが、レプリケーション先サーバに送信され、オブジェクトに関するメタデータが、レプリケーション先サーバに、メタデータをレプリケーション先サーバのレプリケーション・データベース内のオブジェクトに関するエントリに含めさせるためにレプリケーション先サーバに送信される。オブジェクトに関するエントリが、レプリケーション元サーバのレプリケーション・データベースに追加される。
さらなる実施形態においては、レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせが、レプリケーション元サーバから受信される。レプリケーション先サーバのオブジェクトのレプリケーション先リストが、レプリケーション元サーバに送信される。レプリケーション先ストレージに記憶すべきオブジェクトに関するデータが、レプリケーション元サーバから受信される。複製すべきオブジェクトに関して受信されたデータに関するメタデータが、レプリケーション元サーバから受信される。オブジェクトに関して受信されたメタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリが追加される。
実施形態が実装され得るコンピューティング環境を示す図である。 オブジェクト情報の実施形態を示す図である。 レプリケーション元およびレプリケーション先レプリケーション・データベース・エントリの実施形態を示す図である。 チャンク記憶情報エントリの実施形態を示す図である。 チャンク・インデックス・エントリの実施形態を示す図である。 レプリケーション要求を処理するための動作の実施形態を示す図である。 レプリケーション要求を処理するための動作の実施形態を示す図である。 レプリケーション要求を処理するための動作の実施形態を示す図である。 重複排除を使用してオブジェクトを複製するための動作の実施形態を示す図である。 ネットワーク・コンピューティングの実施形態でのノードの実装を示す図である。 クラウド・コンピューティング環境の実施形態を示す図である。 クラウド・コンピューティング環境の抽象化モデルのレイヤの実施形態を示す図である。
説明される実施形態は、レプリケーション先サーバで既に利用可能なデータの送信を避けることによって送信帯域幅をより最適に利用するようにしてレプリケーション元サーバからレプリケーション先サーバにデータ・オブジェクトを複製する。さらに、レプリケーション元サーバが、レプリケーション先サーバで既に利用可能なデータまたはチャンクを有するオブジェクトに関するメタデータを送信して、レプリケーション先サーバに、レプリケーション先サーバに既にあるオブジェクトに関してレプリケーション・データベースにエントリを追加させ、データおよびメタデータの一貫性を保証させる。説明される実施形態は、オブジェクト・レベルで複製すべきオブジェクトの選択およびフィルタリングを許可するためのレプリケーション基準をユーザが与えることを可能にする。さらなる実施形態は、レプリケーション先サーバに既に記憶されている、複製されるオブジェクトのチャンクを送り出すことを避けるために重複排除も採用する。
図1は、レプリケーション元ストレージ8aのオブジェクトに関するデータをレプリケーション先ストレージ8bに複製するためのレプリケーション元レプリケーション・マネージャ6aおよびレプリケーション先レプリケーション・マネージャ6bをそれぞれ含むレプリケーション元サーバ4aおよびレプリケーション先サーバ4bを有するコンピューティング環境2の実施形態を示す。サーバ4a、4bのデバイスのどちらかが、レプリケーション元およびレプリケーション先サーバとして機能する可能性がある。レプリケーションは、クライアント・ノードによって所有されているオブジェクトを複製するために、レプリケーション元サーバ4aに接続されたクライアント・ノードのために実行される可能性がある。レプリケーション元サーバ4aおよびレプリケーション先サーバ4bは、それぞれオブジェクト情報10aおよび10bで定義されたデータ・オブジェクトを保有する。チャンク12a、12bと呼ばれる別々のデータの単位の形態である可能性があるデータ・オブジェクトに関するデータが、レプリケーション元ストレージ8aおよびレプリケーション先ストレージ8bにそれぞれ保有されている。各サーバ4a、4bは、オブジェクト情報10a、10bで定義されたデータ・オブジェクトのチャンクが置かれているストレージ8a、8b内の位置を示すチャンク記憶情報14a、14bを保有する。オブジェクト情報10a、10bは、各オブジェクトに割り振られたデータのチャンク12a、12bの順序付きリストから成る、それぞれの定義されたデータ・オブジェクトに関するメタデータまたはエントリを含む。
レプリケーション元サーバ4aおよびレプリケーション先サーバ4bは、クライアント・ノードのためにレプリケーション先サーバ4bに複製されるレプリケーション元サーバ4aのデータ・オブジェクトに関する情報を有するレプリケーション元レプリケーション・データベース16aおよびレプリケーション先レプリケーション・データベース16bをそれぞれ保有する。さらに、レプリケーション元サーバ4aは、所有するクライアント・ノード、クライアント・ノードのファイルスペース、およびデータ・タイプなどのレプリケーション基準を満たす、複製すべきレプリケーション元サーバ4a上のオブジェクトを有するレプリケーション元リスト30と、レプリケーション基準を満たすレプリケーション先サーバ4b上のオブジェクトを有するレプリケーション先リスト32と、オブジェクトを一意に特定するための一意の識別子または属性を含む、レプリケーション先サーバ4b内のオブジェクトのレプリケーション先インベントリ34と、レプリケーション先サーバ4bに複製すべき、レプリケーション元リスト30に載っていてレプリケーション先リスト32に載っていないファイルのレプリケーション・リスト36とを保有し、使用する。レプリケーション先インベントリ34を構築するために使用される基準は、レプリケーション基準よりも広いか、またはレプリケーション基準と同じである可能性がある。
重複排除コンポーネント24は、レプリケーション元サーバ4aまたはレプリケーション先サーバ4bがオブジェクト・データを送信するときに、受信するサーバ4a、4bに既に存在する重複するチャンクが再送信されないことを保証するために、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bに重複排除サービスを提供する。重複排除コンポーネント24は、重複排除動作を実行するための重複排除マネージャ26と、オブジェクトに割り振られたチャンク12a、12bに関する情報を提供する重複排除インデックスなどのチャンク・インデックス28とを含む。重複排除マネージャ26は、データ・オブジェクトがレプリケーション元サーバ4aとレプリケーション先サーバ4bとの間で転送されるときに、それぞれのチャンクの1つのコピーだけがレプリケーション元ストレージ8aおよびレプリケーション先ストレージ8bに保有されることを保証するが、ただし、1つのストレージ8a、8b内の1つのチャンクは、そのストレージを管理するサーバ4a、4bのために定義された複数のデータ・オブジェクトに含まれる可能性がある。重複排除マネージャ26は、レプリケーション元サーバ4aおよびレプリケーション先サーバ4b内のオブジェクトへのチャンクの割り振りに関する情報を有するオブジェクト情報10cも保有する可能性がある。
重複排除を実行するために、データ・オブジェクトの新しいまたは未変更のチャンクを持つと、レプリケーション元レプリケーション・マネージャ6aまたはその他のコンポーネントが、チャンク記憶情報14a、14bなどのチャンクに関するハッシュをデータベースから取得する可能性がある。代替的な実施形態においては、レプリケーション元レプリケーション・マネージャ6aが、ハッシュを計算する可能性がある。レプリケーション元レプリケーション・マネージャ6aは、チャンク・インデックス28が一致するハッシュを有するかどうかを決定するために、チャンクのアクセスされたハッシュを重複排除マネージャ26に伝達する。チャンク・インデックス28が一致するハッシュを持たない場合、重複排除マネージャ26は、チャンクが新規であることをレプリケーション元レプリケーション・マネージャ6aに知らせ、レプリケーション元レプリケーション・マネージャ6aは、データ・オブジェクトの新しいまたは変更されたチャンクの完全なコピーを、レプリケーション先ストレージ8bに記憶するためにレプリケーション先サーバ4bに送信する。そうではなく、チャンク・インデックス28がハッシュの一致するコピーを有する場合、レプリケーション元レプリケーション・マネージャ6aは、チャンクの完全なコピーを転送する必要がない。その代わりに、レプリケーション元レプリケーション・マネージャ6aは、チャンクのダイジェストおよびオブジェクト内でのそのチャンクの位置を転送する可能性がある。代替的に、レプリケーション元レプリケーション・マネージャ6aは、チャンクをレプリケーション先サーバ4bに送信する必要があるかどうかを決定するために重複排除コンポーネント24とインタラクションする可能性がある。
レプリケーション元側の重複排除の実施形態においては、レプリケーション元レプリケーション・マネージャ6aが、チャンクがレプリケーション先サーバ4bに送信される必要があるかどうかを決定するために重複排除マネージャ26と通信し、その結果、レプリケーション先ストレージ8bにあることがチャンク・インデックス28でまだ示されていない新しいチャンクだけがレプリケーション先サーバ4bに送信される。レプリケーション先側の重複排除の実施形態においては、レプリケーション元サーバ4aが、レプリケーション先サーバ4bに複製すべきデータ・オブジェクトのすべてのチャンクを送信し、レプリケーション先レプリケーション・マネージャ6bが、重複排除コンポーネント24に、どのチャンクがレプリケーション先ストレージ8bに記憶される必要がある新しいチャンクであるかを決定するように要求する。
レプリケーション元サーバ4a、レプリケーション先サーバ4b、および重複排除コンポーネント24は、ローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、広域ネットワーク(WAN)などのネットワークを介して通信する別々のコンピュータ・デバイスで実装される可能性がある。さらなる実施形態においては、レプリケーション元サーバ4a、レプリケーション先サーバ4b、または重複排除コンポーネント24、あるいはそれらすべては、1つまたは2つのコンピュータ・システム上に実装される可能性がある。レプリケーション元サーバ4a、レプリケーション先サーバ4b、または重複排除コンポーネント24、あるいはそれらすべてが同じシステム内にある場合、それらは、バスまたはメモリを介して通信する可能性がある。
レプリケーション元ストレージ8aおよびレプリケーション先ストレージ8bは、相互に接続された(例えば、DASD、RAID、JBODなどとして構成された)ハード・ディスク・ドライブ、ソリッド・ステート・ストレージ・デバイス(例えば、EEPROM(電気的消去可能プログラマブル読み出し専用メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ストレージ・クラス・メモリ(SCM:storage-class memory))、電子的なメモリ、磁気テープ媒体、テープ・カートリッジなどの当技術分野で知られている1つまたは複数のストレージ・デバイスで構成され得る。
レプリケーション元レプリケーション・マネージャ6a、レプリケーション先レプリケーション・マネージャ6b、および重複排除マネージャ26は、プロセッサによって実行されるメモリ内のソフトウェア・プログラムを含む可能性がある。代替的な実施形態においては、レプリケーション元レプリケーション・マネージャ6a、レプリケーション先レプリケーション・マネージャ6b、および重複排除マネージャ26の一部またはすべてが、専用の集積回路、例えば、特定用途向け集積回路(ASIC)、拡張カードなどのハードウェア・コンポーネントで実装される可能性がある。
レプリケーション元レプリケーション・マネージャ6a、レプリケーション先レプリケーション・マネージャ6b、および重複排除マネージャ26は別々のコンポーネントとして示されているが、代替的な実装においては、レプリケーション元レプリケーション・マネージャ6a、レプリケーション先レプリケーション・マネージャ6b、および重複排除マネージャ26によって実行される機能は、単一のコンピュータ・システムの単一のプログラム・コンポーネントで、または3つ以上のコンピュータ・デバイスの3つ以上のプログラム・コンポーネントで実装される可能性がある。例えば、重複排除コンポーネント24は、レプリケーション元サーバ4aおよびレプリケーション先サーバ4b、またはレプリケーション元レプリケーション・マネージャ6aもしくはレプリケーション先レプリケーション・マネージャ6bのコンポーネントの一部で分けて実装される可能性がある。重複排除コンポーネント24が各サーバ4a、4bで分けて実装される実施形態において、各サーバ4a、4bは、そのサーバ独自の重複排除コンポーネント24を有し、オブジェクト情報10cおよびチャンク・インデックス28を保有する可能性がある。
レプリケーション元レプリケーション・マネージャ6aおよびレプリケーション先レプリケーション・マネージャ6bは、復元動作の一部としてオブジェクトを復旧するためにクライアント・ノードによって使用され得る。
図2は、オブジェクト情報10a、10b、10cに保有される1つのオブジェクトに関するオブジェクト情報50の実施形態を示す。1つのオブジェクトに関するオブジェクト情報50は、オブジェクトの識別子(ID)52と、オブジェクト52に割り振られたデータの1つまたは複数のチャンク54a、54b....54nに関する識別情報とを含む。オブジェクト情報50は、データ・オブジェクト内でチャンクが現れる順序1....nを示す、チャンク(C....C)に対する参照の順序付きリストを保有する可能性がある。各チャンク(C)に関して、オブジェクト情報54iが、チャンクのダイジェスト(d)およびチャンクの長さ(l)を保有する。このように、オブジェクト情報50は、ダイジェストおよび長さなどの、データ・オブジェクトに含まれるチャンクに対する参照を提供するが、実際のデータは提供しない。ダイジェスト(d)は、チャンクを処理してチャンクに関する一意の値を生成することによって計算され得る。例えば、一実施形態において、ダイジェストは、データ・オブジェクトの各チャンクの暗号学的ハッシュを計算するMD5(メッセージ・ダイジェスト・アルゴリズム5)またはSHA−1(セキュア・ハッシュ・アルゴリズム1)などの暗号学的ダイジェスト(cryptographic digest)を含む可能性がある。
図3は、レプリケーション元サーバ4aからレプリケーション先サーバ4bに複製される各オブジェクトに関するレプリケーション元レプリケーション・データベース16aおよびレプリケーション先レプリケーション・データベース16b内のエントリ60の実施形態を示す。エントリ60は、オブジェクト識別子(ID)62と、署名、ハッシュ値、または一意のネーミング規約などの、オブジェクトの一意の識別子を提供するオブジェクト一意属性64と、オブジェクト62を保有するサーバ4a、4bの識別子を含むサーバ識別子(ID)66と、レプリケーション関係にある他方のサーバ4a、4bを特定するレプリケーション・サーバID68(例えば、レプリケーション元レプリケーション・データベース16a内のエントリ60は、レプリケーション・サーバID68にレプリケーション先サーバ4bの識別子を有し、レプリケーション先レプリケーション・データベース16b内のエントリ60は、レプリケーション・サーバID68にレプリケーション元サーバ4aの識別子を有する)と、レプリケーション・サーバ68内のオブジェクトに割り振られた識別子を特定する複製済みオブジェクトID70と、オブジェクト60を所有するクライアント・ノードのレプリケーション元サーバ4aの識別子を与えるサーバ・ノード識別子(ID)72と、オブジェクト60を含むファイルスペースを特定するファイルスペースIDのレプリケーション元サーバ4aの識別子74と、レプリケーション先サーバ4b、すなわちレプリケーション・サーバが、オブジェクト60を所有するクライアント・ノードに割り振る識別子を含むレプリケーション・サーバ・ノードID76と、レプリケーション先サーバ4b(レプリケーション・サーバ)が、オブジェクト60を含むファイルスペースに割り振る識別子を含むレプリケーション・サーバ・ファイルスペースID78と、オブジェクト60のデータ・タイプを特定するデータ・タイプID80とを含む。
したがって、特定の実施形態においては、各サーバ4a、4bが、ノード72および76ならびにファイルスペース74および78にそのサーバ独自のIDをそれぞれ割り振る。
図4は、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bが管理するそれぞれのストレージ8a、8bに保有される各チャンク12a、12bに関するそれらのサーバのそれぞれのチャンク記憶情報14a、14bにそれらのサーバが保有するチャンク記憶情報エントリ81の実施形態を示す。チャンク記憶情報エントリ81は、チャンクID82と、チャンクがストレージ8a、8b内のどこに記憶されているかを特定する論理または物理アドレスなどの、特定されるチャンク82のストレージ8a、8b内の記憶位置84と、チャンクを参照する、レプリケーション元サーバ4aまたはレプリケーション先サーバ4bのオブジェクトの数を示す参照数86とを含む。いずれのオブジェクトでも参照されていない参照を解除(dereference)されたチャンク12a、12bは、参照数86が0であり、ストレージ8a、8bでスペースが必要な場合に削除の対象になる可能性がある。
図5は、ストレージ8a、8bに記憶された各チャンク12a、12bに関するチャンク・インデックス28に重複排除マネージャ26によって保有される重複排除インデックス・エントリ90の実施形態である。インデックス・エントリ90は、ストレージ8a、8b内のチャンクのチャンク識別子(ID)92と、チャンクID92によって示されるチャンクから計算されたハッシュ値94と、チャンクの長さ96とを含む。チャンク12aのコピーをレプリケーション先サーバ4bに送信すべきかどうかを決定するとき、レプリケーション元レプリケーション・マネージャ6aは、チャンクのハッシュおよび長さを重複排除コンポーネント24に提供することができ、重複排除マネージャ26は、チャンク・インデックス28内の1つのエントリ90が、レプリケーション元レプリケーション・マネージャ6aによって送信されるチャンク12aに関するそれらの値に一致するハッシュ値94および長さ96を有するかどうかを決定して、レプリケーション元レプリケーション・マネージャ6aがチャンク12aを送信する必要があるのか、またはチャンク12aの識別子、例えば、ダイジェストおよび長さだけを送信する必要があるのかを決定することができる。さらに、チャンク・インデックス・エントリ90は、ストレージ8a、8b内のチャンク12a、12bを管理するための追加の情報を含む可能性がある。
このように、本明細書においてチャンクと呼ばれるデータ・オブジェクトの下位要素は、それらの下位要素が含まれるオブジェクトとは別に記憶される。チャンク12a、12bは、トラックのエクステント、データのブロック、またはオブジェクトに割り振られ得るデータの任意のその他の定義可能な下位単位を含む可能性がある。これらのチャンク12a、12bは、固定のまたは可変の長さを有する可能性がある。オブジェクトは、ファイル、オブジェクト、データベースなどのデータ単位の任意のグループ分けを含み得る。
図6は、レプリケーション元サーバ4aのオブジェクトをレプリケーション先サーバ4bに複製するためにレプリケーション元レプリケーション・マネージャ6aおよびレプリケーション先レプリケーション・マネージャ6bによって実行される動作の実施形態を示す。制御は、レプリケーション元レプリケーション・マネージャ6aが、オブジェクトを所有するクライアント・ノード、オブジェクトを含むクライアント・ノード内のファイルスペース、およびオブジェクトのデータ・タイプなどの1つまたは複数の基準に基づいてオブジェクトを複製するレプリケーション要求を(ブロック100において)受信することから始まる。要求に応答して、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先サーバ4bがレプリケーションをサポートするかどうかを決定するために、レプリケーション先サーバ4bの構成を(ブロック102において)確認する。(ブロック104において)レプリケーション先サーバ4bが確認されなかった場合、レプリケーション動作は(ブロック106において)失敗する。そうではなく、レプリケーション先サーバ4bがレプリケーションに対応している場合、これがサーバ4a、4bの間で起こった初めてのレプリケーションである場合、サーバ4a、4bが一意の識別子を(ブロック108において)交換する。サーバ4a、4bは、レプリケーション・データベース16a、16b内にレプリケーションのために利用可能なサーバのサーバ一意識別子を保有することができる。
管理者は、レプリケーション先サーバ4bに既にインポートされたオブジェクトが複製されていることを反映するためにレプリケーション元レプリケーション・データベース16aおよびレプリケーション先レプリケーション・データベース16bを更新するためにレプリケーション元サーバ4aとレプリケーション先サーバ4bとの間で同期が実行されることを要求することができ、したがって、レプリケーション先サーバ4bに既にあるそれらのオブジェクトに関して冗長なレプリケーションは実行されない。(ブロック109において)同期が必要とされる場合、制御は、同期するためにブロック110に進み、そうではなく、同期が要求されないかまたは必要とされない場合、制御は、レプリケーションを実行するために(ブロック130において)図7に進む。
(ブロック109において)同期が必要とされる場合、レプリケーション元レプリケーション・マネージャ6aが、第1の基準(例えば、複製するクライアント・ノード)を満たすレプリケーション先サーバ4bのファイルのレプリケーション先インベントリ34をレプリケーション先サーバ4bに(ブロック110において)問い合わせる。問い合わせを(ブロック112において)受信すると、レプリケーション先レプリケーション・マネージャ6bは、第1の基準を満たすレプリケーション先サーバ4bのオブジェクトのインベントリ34をレプリケーション元サーバ4aに(ブロック114において)送信する。ファイルのレプリケーション先インベントリ34を(ブロック116において)受信したことに応答して、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先サーバ4bからのレプリケーション先インベントリ34に挙げられたオブジェクトに一致するレプリケーション元サーバ4aのオブジェクトを(ブロック118において)決定する。署名、一意のファイル名、ハッシュ値などの、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bのオブジェクトの一意属性64(図3)が、レプリケーション先サーバ4bがレプリケーション元サーバ4aのオブジェクトに一致するオブジェクトを有するかどうかを決定するために比較される可能性がある。
レプリケーション元レプリケーション・マネージャ6aは、インベントリ34に挙げられたオブジェクトに一致する決定されたオブジェクトに関するメタデータをレプリケーション先サーバ4bに(ブロック120において)送信する。レプリケーション元レプリケーション・マネージャ6aは、レプリケーション元レプリケーション・マネージャ6aが用意している情報を含め、決定されたオブジェクトに関して、レプリケーション元レプリケーション・データベース16aにエントリ60(図3)を(ブロック122において)追加する。
メタデータを(ブロック124において)受信することに応答して、レプリケーション先レプリケーション・マネージャ6bは、インベントリ34に挙げられたオブジェクトに一致するオブジェクトに関して、メタデータが受信される各オブジェクトについて、レプリケーション先レプリケーション・データベース16bにエントリ60を(ブロック126において)追加する。このように、レプリケーション先サーバ4bが既に有するオブジェクトは、レプリケーションの一部として転送される必要がなく、同期は、それらのオブジェクトが複製済みであると見なすようにレプリケーション先レプリケーション・データベース16bを更新する。レプリケーション先レプリケーション・マネージャ6bは、追加されたオブジェクトのオブジェクトIDを、レプリケーション元レプリケーション・データベース16a内のオブジェクトに関するエントリ60の複製済みオブジェクトID70に含めるためにレプリケーション元レプリケーション・マネージャ6aに(ブロック128において)返す。レプリケーション先レプリケーション・マネージャ6bは、レプリケーション・サーバ・ノードID76およびレプリケーション・サーバ・ファイルスペースID78も、レプリケーション元レプリケーション・データベース16a内のオブジェクトに関するエントリに含めるためにレプリケーション元レプリケーション・マネージャ6aに返す可能性がある。
レプリケーション元サーバ4aとレプリケーション先サーバ4bとの両方に既にある特定の基準を満たすすべてのオブジェクトに関するエントリを含めるようにレプリケーション元レプリケーション・データベース16aおよびレプリケーション先レプリケーション・データベース16bを同期するためにエントリを追加する動作を実行した後、制御は、レプリケーションを開始するために図7のブロック150に(ブロック130において)進む。図6の同期動作は、顧客がレプリケーション・データベース16a、16bを同期して、レプリケーション元サーバ4a上に一致するオブジェクトを有するレプリケーション先サーバ4b上に存在するオブジェクトを、それらのオブジェクトが既に複製されたかのように見せることを可能にする。
図7および8は、レプリケーション動作を実行するためにレプリケーション元レプリケーション・マネージャ6aおよびレプリケーション先レプリケーション・マネージャ6bによって実行される動作の実施形態を示す。レプリケーションを(ブロック150において)開始すると、レプリケーション元レプリケーション・マネージャ6aが、レプリケーション基準(例えば、クライアント・ノード、ファイルスペース、データ・タイプ)を満たす、レプリケーション先サーバ4bに複製すべきレプリケーション元サーバ4aのオブジェクトのレプリケーション元リスト30を(ブロック152において)構築し、複製すべきファイルを決定するために使用されるレプリケーション基準は、レプリケーション先サーバ4bのレプリケーション先インベントリ34を決定するために使用される基準(例えば、クライアント・ノードだけ)よりも広い可能性がある。レプリケーション元レプリケーション・マネージャ6aは、第2の基準を満たすレプリケーション先サーバ4bのオブジェクトのレプリケーション先リスト32を得るためにレプリケーション先サーバ4bに(ブロック154において)問い合わせを行う。問い合わせに応答して、レプリケーション先レプリケーション・マネージャ6bは、レプリケーション基準を満たすレプリケーション先サーバ4bのオブジェクトのレプリケーション先リスト32をレプリケーション元サーバ4aに(ブロック158において)送信する。レプリケーション先リスト32を受信すると、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先サーバ4bに転送すべき、レプリケーション先リスト32に含まれていない、レプリケーション元リスト30に載っているオブジェクトを示すレプリケーション・リスト36を(ブロック160において)構築する。
レプリケーション元リスト30の各オブジェクトに関して、レプリケーション元レプリケーション・マネージャ6aは、オブジェクトをレプリケーション先サーバ4bに複製するためにブロック164から172までの動作を(ブロック162から174までにおいて)実行する。ブロック162から174までのループは、レプリケーション元リスト30のすべてのオブジェクトを処理した後に終了し、ブロック184に進む可能性があり、または何らかのその他の条件が発生すると終了する可能性がある。(ブロック164において)オブジェクトがレプリケーション・リスト36に載っている場合、レプリケーション元レプリケーション・マネージャ6aは、オブジェクトに関するデータをレプリケーション先レプリケーション・マネージャ6bに送信する。一実施形態において、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先ストレージ8bにまだ存在しないオブジェクトに関するデータまたはチャンク12aだけを送信する可能性がある。代替的に、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先ストレージ8bが複製されるオブジェクトのチャンクに一致するチャンク12bを有するかどうかにかかわらずオブジェクト全体を送信する可能性がある。(ブロック168から)複製すべきオブジェクトに関するデータを送信した後、またはオブジェクトがレプリケーション・リスト36に載っておらず、レプリケーション先サーバ4bがオブジェクトを既に有することを示す場合、レプリケーション元レプリケーション・マネージャ6aは、エントリ60(図3)の情報などの、オブジェクトに関するメタデータをレプリケーション先サーバ4bに(ブロック170において)送信する。レプリケーション元レプリケーション・マネージャ6aは、図3に示されたフィールドの情報を含め、オブジェクトに関して、レプリケーション元レプリケーション・データベース16aにエントリ60を(ブロック172において)追加する。
(レプリケーション・リスト36のオブジェクトに関してブロック168において任意のデータが送信される場合)メタデータおよびデータを(ブロック176において)受信すると、レプリケーション先レプリケーション・マネージャ6bは、オブジェクトに関するすべての受信されたデータをレプリケーション先ストレージ8bに(ブロック178において)記憶し(データは、レプリケーション先ストレージ8bがオブジェクトに関するチャンク12bを既に有する場合、受信されない可能性がある)、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bのID62、70、72、74、76、および78ならびにエントリ60(図3)のその他の情報を含め、メタデータが受信されるオブジェクトに関して、レプリケーション先レプリケーション・データベース16bにエントリ60を(ブロック180において)追加する。さらに、レプリケーション先レプリケーション・マネージャ6bは、レプリケーション先サーバ4bにおいて追加されたオブジェクトの複製済みオブジェクトID70、レプリケーション・サーバ・ノードID76、およびレプリケーション・サーバ・ファイルスペースID78を、レプリケーション元レプリケーション・データベース16a内のオブジェクトに関するエントリに含めるためにレプリケーション元サーバ4aに(ブロック182において)返す可能性がある。
複製すべきすべてのオブジェクトに関してレプリケーション元レプリケーション・データベース16aおよびレプリケーション先レプリケーション・データベース16bにエントリを追加した後、制御は、図8のブロック186に(ブロック184において)進み、レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先リスト32に載っているがレプリケーション元リスト30には載っていない削除すべきオブジェクト、またはレプリケーションされるレプリケーション元サーバ4aのオブジェクトの一部ではないレプリケーション先サーバ4bのオブジェクトを(ブロック186において)決定する。レプリケーション元レプリケーション・マネージャ6aは、レプリケーション先サーバ4bと(ブロック188において)通信して、レプリケーション先サーバ4bに、削除すべき決定されたオブジェクトをレプリケーション先サーバ4bから削除させる。通信に応答して、レプリケーション先レプリケーション・マネージャ6bは、削除すべきオブジェクトに関するエントリをレプリケーション先レプリケーション・データベース16bから(ブロック190において)削除する。いかなるその他のオブジェクトによっても参照されていない削除されたオブジェクトのすべてのチャンク12bが、(ブロック194において)参照を解除される。オブジェクトを削除するとき、オブジェクトのチャンク12bに関するエントリ82(図4)内の参照数86が減らされ、参照数が0であるすべてのチャンク82は、参照を解除されており、どこかの時点で削除の対象になるものとして示される。
図9は、重複排除を使用してオブジェクトを複製するためにレプリケーション元レプリケーション・マネージャ6aおよびレプリケーション先レプリケーション・マネージャ6bによって実行される動作の実施形態を示す。図9の動作は、レプリケーション元レプリケーション・マネージャ6aが図7のブロック168においてオブジェクトに関するデータをレプリケーション先サーバ4bに送信するときに実行される。オブジェクトを送信すると、レプリケーション元レプリケーション・マネージャ6aは、重複排除マネージャ26を呼び出して、送信すべきオブジェクトのチャンクを(ブロック202において)決定し、次に、(ブロック204において)重複排除を使用して、レプリケーション先ストレージ8bに記憶されていないオブジェクトの1組のチャンク12aを決定する。重複排除マネージャ26は、チャンク・インデックス28を使用してこの決定を行うことができる。重複排除マネージャ26またはレプリケーション元レプリケーション・マネージャ6aは、チャンクの決定された組を、レプリケーション先ストレージ8bに記憶するためにレプリケーション先サーバ4bに(ブロック206において)送信し、レプリケーション先ストレージ8bに既にあるオブジェクトのチャンク12aのダイジェスト(d)および長さ(l)などのチャンク識別子のリストを送信する。データ・オブジェクトに関するチャンクを(ブロック208において)受信すると、レプリケーション先レプリケーション・マネージャ6bは、受信されたチャンクをレプリケーション先ストレージ8bに(ブロック210において)記憶する。レプリケーション先レプリケーション・マネージャ6bは、レプリケーション先ストレージに既に記憶されている、識別情報、例えば、ダイジェスト(d)および長さ(l)が提供されるオブジェクトのチャンクへのリンクと、レプリケーション先ストレージ8bに追加されたチャンクへのリンクとをレプリケーション先レプリケーション・データベース16b内のオブジェクトに関するエントリ60で(ブロック212において)示す。
記載された実施形態において、レプリケーション元レプリケーション・マネージャ6aが、レプリケーション先サーバ4bに送信されるデータを暗号化する可能性があり、そのデータはレプリケーション先サーバ4bにおいて復号される。さらに、オブジェクト・レベルのレプリケーションは、管理者/ユーザが、どのデータ・オブジェクトが複製されるべきかを指定し、レプリケーション先サーバ4bおよびストレージ8bにまだ記憶されていない複製すべきオブジェクトのチャンクだけの増分レプリケーション(incremental replication)を行うことを可能にする。
特定の実施形態においては、ハードウェアおよびオペレーティング・システムの独立を可能にするために、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bで別々のハードウェアおよびオペレーティング・システムが提供される。さらに、レプリケーション元サーバ4aおよびレプリケーション先サーバ4bは、異種のハードウェアおよびオペレーティング・システムで実装される可能性がある。
特定の実施形態においては、レプリケーション先サーバ4bは、レプリケーション元サーバ4a対して遠隔の場所でホット・スタンバイを提供する可能性がある。レプリケーション元サーバ4aが故障する場合、バックアップおよび復元などのクライアントの動作は、レプリケーションのために既に運転中であるレプリケーション先サーバ4bにリダイレクトされる可能性がある。
さらなる実施形態においては、(例えば、遠隔の事業所にある)複数のレプリケーション元サーバ4aが、(例えば、中央データセンターにある)単一のレプリケーション先サーバ4bに複製される可能性がある。
さらなる実施形態は、レプリケーション先サーバ4b上のオブジェクトの不完全なグループが、グループが完全になるまでクライアント・ノードに見えないように、オブジェクトの異なる組の論理的なグループ分けを提供する可能性がある。部分的なグループは、オブジェクトの再送信を防止するためにレプリケーション先サーバ4bに保有される。例えば、論理的なグループを形成するオブジェクトは、レプリケーション中にレプリケーション先サーバ4bに送信される可能性がある。特定の状況では、グループのオブジェクトの一部が、エラーが原因で、またはプロセスがキャンセルされたことが原因で送信されない可能性がある。この場合、複製されたオブジェクトが、レプリケーション先サーバに残り、レプリケーション先サーバが、すべてのオブジェクトを持たないグループに、不完全であるものとして印を付ける。これらの不完全なグループは、復元中、クライアント・ノードが利用できるようにされない。その後、レプリケーションが欠けているファイルを転送した後、グループは、完全であるものとして印を付けられ、クライアント・ノードが利用できるようにされる。
記載された実施形態を用いると、レプリケーション元とレプリケーション先との間のレプリケーションが、レプリケーション先サーバ4bに既にあるオブジェクトの検査をオブジェクト・レベルで行い、次に、オブジェクトを送信するときに重複排除を行って、レプリケーション先サーバ4bで既に利用可能なデータ・オブジェクトに関するチャンクを送信することを防止することによって、レプリケーション先サーバに送信されるオブジェクトに関する送信されるデータの量を最小化しようとする。さらに、記載された実施形態を用いると、レプリケーション元レプリケーション・マネージャ6aが、レプリケーション先サーバ4bに既に記憶されている複製すべきオブジェクトに関するメタデータをレプリケーション先レプリケーション・マネージャ6bに送信して、レプリケーション先レプリケーション・マネージャ6bに、レプリケーション先サーバ4bに既にある複製すべきオブジェクトに関してレプリケーション先レプリケーション・データベース16bにエントリを追加させる。
クラウド・コンピューティングの実施形態
図1のコンピューティング環境は、最小限の管理労力またはサービスのプロバイダとのインタラクションで迅速にプロビジョニングおよび解放され得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの利便性の良いオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のクラウド・コンピューティング・モデルの一部である可能性がある。クラウド・コンピューティングの実装が、図10〜11に関連して説明される。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの配置モデル(deployment model)を含む可能性がある。
特徴は、以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスのプロバイダと人がインタラクションする必要なしに自動的に、必要に応じて、サーバの時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:能力が、ネットワークを介して利用可能であり、異種のシン・ソース(thin source)またはシック・ソース(thick source)プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
リソース・プーリング:異なる物理リソースおよび仮想リソースが需要に応じて動的に割り振りおよび再割り振りされるようにして、マルチテナント・モデルを使用して複数の消費者にサービスを提供するために、プロバイダのコンピューティング・リソースがプールされる。概して、消費者は提供されるリソースの正確な場所を制御できないか、または正確な場所を知らないが、より高い抽象度で場所(例えば、国、州、またはデータセンター)を指定することができる可能性があるという点で、場所に依存しないという感覚がある。
迅速な柔軟性:能力は、即座にスケール・アウトするために迅速かつ柔軟に、場合によっては自動的にプロビジョニングされる可能性があり、即座にスケール・インするために迅速に解放される可能性がある。消費者に対して、プロビジョニングに利用できる能力は、多くの場合、無制限であるように見え、いつでも任意の量が購入され得る。
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、および有効なユーザ・アカウント)に適した何らかの抽象度で計測能力(metering capability)を利用することによってリソースの使用を自動的に制御し、最適化する。リソースの使用が、監視され、制御され、報告される可能性があり、利用されるサービスのプロバイダと消費者との両方に透明性をもたらす。
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS:Software as a Service):消費者に提供される能力は、クラウド・インフラストラクチャで実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・ソース・インターフェースを通じてさまざまなソース・デバイスからアクセス可能である(例えば、ウェブに基づく電子メール)。消費者は、限られたユーザに固有のアプリケーションの構成の設定は例外である可能性があるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーションの能力さえも含む基礎となるクラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS:Platform as aService):消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された消費者によって作られたまたは獲得されたアプリケーションをクラウド・インフラストラクチャに配置することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理または制御しないが、配置されたアプリケーションと、場合によっては、アプリケーションをホストする環境の構成とを制御することができる。
サービスとしてのインフラストラクチャ(IaaS:Infrastructure asa Service):消費者に提供される能力は、オペレーティング・システムおよびアプリケーションを含む可能性がある任意のソフトウェアを消費者が配置し、実行することができる処理、ストレージ、ネットワーク、およびその他の基礎的なコンピューティング・リソースをプロビジョニングすることである。消費者は、基礎となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、配置されたアプリケーションを制御することができ、選ばれたネットワーキング・コンポーネント(例えば、ホストのファイアウォール)を場合によっては制限付きで制御することができる。
配置モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャが、1つの組織のためにのみ運用される。クラウド・インフラストラクチャは、その組織または第三者によって管理される可能性があり、オンプレミスまたはオフプレミスで存在する可能性がある。
コミュニティ・クラウド:クラウド・インフラストラクチャが、複数の組織によって共有され、共通の問題(例えば、目的、セキュリティの要件、ポリシー、およびコンプライアンスの考え方)を有する特定の共同体をサポートする。クラウド・インフラストラクチャは、それらの組織または第三者によって管理される可能性があり、オンプレミスまたはオフプレミスで存在する可能性がある。
パブリック・クラウド:クラウド・インフラストラクチャが、公衆または大きな産業のグループが利用できるようにされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャが、一意のエンティティのままであるが、データおよびアプリケーションの可搬性を与える標準化されたまたは独自仕様の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング(cloud bursting))によって1つに結びつけられる2つ以上の(プライベート、コミュニティ、またはパブリック)クラウドから成る。
クラウド・コンピューティング環境はサービス指向であり、ステートレスであること、低結合、モジュール性、および意味的相互運用性(semantic interoperability)に焦点をおいている。クラウド・コンピューティングの中心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
図10は、レプリケーション元サーバ4a、レプリケーション先サーバ4b、および重複排除コンポーネント24の実装を含み得るクラウド・コンピューティング・ノード300の実施形態を示し、それらのコンポーネントは、ノード300のうちの1つまたは複数で実装され得る。クラウド・コンピューティング・ノード300は、好適なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関していかなる限定を示唆することも意図されていない。とにかく、クラウド・コンピューティング・ノード300は、本明細書において上で説明された機能のいずれかを与えられ得るか、または本明細書において上で説明された機能のいずれかを実行し得るか、あるいはその両方である。
クラウド・コンピューティング・ノード300には、多数のその他の多目的または専用コンピューティング・システム環境または構成で動作可能なコンピュータ・システム/サーバ302が存在する。コンピュータ・システム/サーバ302で使用するのに好適である可能性があるよく知られているコンピューティング・システム、環境、または構成、あるいはそれらすべての例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・ソース、シック・ソース、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などが含まれるがこれらに限定されない。
コンピュータ・システム/サーバ302は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システムが実行可能な命令の幅広い文脈で説明される可能性がある。概して、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含む可能性がある。コンピュータ・システム/サーバ302は、通信ネットワークを介して接続された遠隔の処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実施される可能性がある。分散型クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルのコンピュータ・システムのストレージ媒体と遠隔のコンピュータ・システムのストレージ媒体との両方に配置される可能性がある。
図10に示されるように、クラウド・コンピューティング・ノード300のコンピュータ・システム/サーバ302は、多目的コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ302のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット304と、システム・メモリ306と、システム・メモリ306を含むさまざまなシステム・コンポーネントをプロセッサ304に結合するバス308とを含む可能性があるがこれらに限定されない。
バス308は、さまざまなバス・アーキテクチャのいずれかを使用したメモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサまたはローカル・バスを含む数種のバス構造のいずれかのうちの1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカル・バス、および周辺装置相互接続(PCI)バスを含む。
通常、コンピュータ・システム/サーバ302は、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ302によってアクセス可能である任意の利用可能な媒体である可能性があり、揮発性の媒体と不揮発性の媒体との両方、取り外し可能な媒体および取り外し不可能な媒体を含む。
システム・メモリ306は、ランダム・アクセス・メモリ(RAM)310またはキャッシュ・メモリ312あるいはその両方などの揮発性メモリの形態のコンピュータ・システムが読み取り可能な媒体を含み得る。コンピュータ・システム/サーバ302は、その他の取り外し可能/取り外し不可能な揮発性/不揮発性のコンピュータ・システムのストレージ媒体をさらに含み得る。単なる例として、ストレージ・システム313は、(図示されておらず、通常「ハード・ドライブ」と呼ばれる)取り外し不可能な不揮発性の磁気媒体からの読み出しと、その磁気媒体への書き込みとのために提供される可能性がある。図示されていないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)からの読み出しと、その磁気ディスクへの書き込みとのための磁気ディスク・ドライブ、CD−ROM、DVD−ROM、またはその他の光媒体などの取り外し可能な不揮発性の光ディスクからの読み出し、またはその光ディスクへの書き込みのための光ディスク・ドライブが、提供される可能性がある。そのような場合、それぞれが、1つまたは複数のデータ媒体のインターフェースによってバス308に接続される可能性がある。以下でさらに示され、説明されるように、システム・メモリ306は、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
限定ではなく例として、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データのみならず、プログラム・モジュール316の組(少なくとも1つ)を有するプログラム/ユーティリティ314も、システム・メモリ306に記憶される可能性がある。オペレーティング・システム、1つもしくは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはこれらの何らかの組み合わせは、ネットワーキング環境の実装を含む可能性がある。概して、プログラム・モジュール316は、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を実行する。
また、コンピュータ・システム/サーバ302は、キーボード、ポインティング・デバイス、ディスプレイ320などの1つもしくは複数の外部デバイス318、ユーザがコンピュータ・システム/サーバ302とインタラクションすることを可能にする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ302が1つもしくは複数のその他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはそれらすべてと通信することができる。そのような通信は、入力/出力(I/O)インターフェース322を介して行われ得る。そしてさらに、コンピュータ・システム/サーバ302は、ネットワーク・アダプタ324を介して、ローカル・エリア・ネットワーク(LAN)、通常の広域ネットワーク(WAN)、または公衆ネットワーク(例えば、インターネット)、あるいはそれらすべてなどの1つまたは複数のネットワークと通信することができる。示されるように、ネットワーク・アダプタ324は、バス308を介してコンピュータ・システム/サーバ302のその他のコンポーネントと通信する。示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が、コンピュータ・システム/サーバ302と併せて使用され得ることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長な処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらに限定されない。
ここで図11を参照すると、例示的なクラウド・コンピューティング環境350が示されている。示されるように、クラウド・コンピューティング環境350は、例えば、携帯情報端末(PDA)またはセルラ電話354A、デスクトップ・コンピュータ354B、ラップトップ・コンピュータ354C、または自動車のコンピュータ・システム354N、あるいはそれらすべてなどのクラウドの消費者によって使用されるローカルのコンピューティング・デバイスが通信することができる1つまたは複数のクラウド・コンピューティング・ノード300を含む。ノード300は、互いに通信することができる。それらのノード300は、本明細書において上で説明されたプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはこれらの組み合わせなどの1つまたは複数のネットワークで物理的または仮想的にグループ化される可能性がある(図示せず)。これは、クラウド・コンピューティング環境350が、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはそれらすべてを、クラウドの消費者がローカルのコンピューティング・デバイスにリソースを保有する必要がないサービスとして提供することを可能にする。図11に示されるコンピューティング・デバイス354A〜Nの種類は、例示的であるようにのみ意図されており、コンピューティング・ノード300およびクラウド・コンピューティング環境350は、(例えば、ウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワークのアドレス指定可能な接続あるいはその両方を介して任意の種類のコンピュータ化されたデバイスと通信する可能性があることが理解される。
さらに、図11は、単一のクラウドを示す。しかし、特定のクラウドの実施形態は、顧客/生産データを有するクラウドに加えて、別個の「バックアップ」または「データ保護」クラウドを含む配置モデルを提供する可能性がある。あらゆる主となるクラウド・モデル(プライベート、コミュニティ、ハイブリッドなど)をデータ保護クラウドから分離するために別個の異なる追加のクラウドをデータ保護クラウドとして提供することは、単一障害点を防止し、別個のバックアップ・クラウドで顧客データのより高度な保護を提供する。
ここで図12を参照すると、クラウド・コンピューティング環境350(図11)によって提供される1組の機能抽象化レイヤが示される。図12に示されるコンポーネント、レイヤ、および機能は例示的であるようにのみ意図されており、本発明の実施形態はそれらに限定されないことを前もって理解されたい。示されるように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ360は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム、一例においてはIBM(R)zSeries(R)システム、RISC(縮小命令セット・コンピュータ)アーキテクチャに基づくサーバ、一例においてはIBM pSeries(R)システム、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントが含まれる。ソフトウェア・コンポーネントの例には、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例においてはIBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例においてはIBM DB2(R)データベース・ソフトウェアが含まれる。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界的に多くの管轄機関に登録されたIBMの商標である)。
仮想化レイヤ362は、仮想エンティティの以下の例、すなわち、仮想サーバと、仮想ストレージと、仮想プライベート・ネットワークを含む仮想ネットワークと、仮想アプリケーションおよびオペレーティング・システムと、仮想ソース(virtual source)とが提供され得る抽象化レイヤを提供する。
一例において、管理レイヤ364は、以下で説明される機能を提供し得る。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよびその他のリソースの動的な調達を行う。計測および課金は、リソースがクラウド・コンピューティング環境内で利用されるときのコストの追跡、およびこれらのリソースの消費に関する請求書またはインボイスの送付を行う。一例において、これらのリソースは、アプリケーション・ソフトウェアのライセンスを含む可能性がある。セキュリティは、クラウドの消費者およびタスクの識別確認と、データおよびその他のリソースの保護とを行う。ユーザ・ポータルは、消費者およびシステム管理者がクラウド・コンピューティング環境にアクセスできるようにする。サービス・レベル管理は、必要とされるサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割り当ておよび管理を行う。サービス品質保証契約(SLA)計画および履行(Service Level Agreement (SLA) planning and fulfillment)は、SLAにより将来必要とされることが予測されるクラウド・コンピューティング・リソースの事前手配および調達を行う。
作業負荷レイヤ(workloads layer)366は、クラウド・コンピューティング環境が利用され得る機能の例を与える。このレイヤから提供される可能性がある作業負荷および機能の例には、地図およびナビゲーションと、ソフトウェア開発およびライフサイクル管理と、仮想教室の教育の配信と、データ分析処理と、トランザクション処理と、上で図1〜9に関連して説明されたようなレプリケーション・サービスとが含まれる。
説明された動作は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせを生産するための標準的なプログラミング技術またはエンジニアリング技術あるいはその両方を使用して、方法、装置、またはコンピュータ・プログラム製品として実装され得る。したがって、本発明の態様は、すべてハードウェアの実施形態、すべてソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはすべてが概して本明細書において「回路」、「モジュール」、もしくは「システム」と呼ばれることがあるソフトウェアの態様とハードウェアの態様とを組み合わせる実施形態の形態をとる可能性がある。さらに、実施形態の態様は、コンピュータ可読プログラム・コードを具現化する1つまたは複数のコンピュータ可読媒体で具現化されたコンピュータ・プログラム製品の形態をとる可能性がある。
1つまたは複数のコンピュータ可読媒体の任意の組み合わせが、利用される可能性がある。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体である可能性がある。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいはこれらの任意の好適な組み合わせである可能性があるが、これらに限定されない。コンピュータ可読ストレージ媒体のより詳細な例(非網羅的なリスト)には、以下、すなわち、1つもしくは複数の配線を有する電気的な接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、またはこれらの任意の好適な組み合わせが含まれる。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、もしくはデバイスによって、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを含むまたは記憶することができる任意の有形の媒体である可能性がある。
コンピュータ可読信号媒体は、例えば、ベースバンドで、または搬送波の一部としてコンピュータ可読プログラム・コードを具現化する伝播されるデータ信号を含み得る。そのような伝播される信号は、電磁的、光学的、またはこれらの任意の好適な組み合わせを含むがこれらに限定されないさまざまな形態のうちの任意の形態をとり得る。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、もしくはデバイスによって、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを伝達、伝播、または搬送することができる任意のコンピュータ可読媒体である可能性がある。
コンピュータ可読媒体上に具現化されるプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の好適な組み合わせを含むがこれらに限定されない任意の適切な媒体を用いて送信される可能性がある。
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの通常の手続き型プログラミング言語とを含む1つまたは複数のプログラミング言語の任意の組み合わせで記述され得る。プログラム・コードは、すべてユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔のコンピュータ上で部分的に、またはすべて遠隔のコンピュータもしくはサーバ上で実行され得る。最後の場合では、遠隔のコンピュータが、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得るか、または外部コンピュータへの接続が(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)行われ得る。
本発明の態様が、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図または構成図あるいはその両方を参照して上で説明されている。流れ図または構成図あるいはその両方の各ブロック、および流れ図または構成図あるいはその両方のブロックの組み合わせは、コンピュータ・プログラム命令によって実装され得ることが理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサによって実行される命令が、流れ図または構成図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するための手段をもたらすように、多目的コンピュータ、専用コンピュータ、または機械を生産するためのその他のプログラム可能なデータ処理装置のプロセッサに与えられる可能性がある。
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、流れ図または構成図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施する命令を含む製品をもたらすように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスを特定の方法で機能させることができるコンピュータ可読媒体に記憶される可能性もある。
コンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能な装置で実行される命令が、流れ図または構成図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するためのプロセスを提供するように、コンピュータで実施されるプロセスを生成するために一連の操作のステップがコンピュータ、その他のプログラム可能な装置、またはその他のデバイスで実行されるようにするために、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスにロードされる可能性もある。
用語「実施形態(an embodiment)」、「実施形態(embodiment)」、「実施形態(embodiments)」、「実施形態(the embodiment)」、「実施形態(the embodiments)」、「1つのまたは複数の実施形態(one or more embodiments)」、「一部の実施形態(someembodiment)」、および「1つの実施形態(one embodiment)」は、そうでないことがはっきりと記載されていない限り「(1つまたは複数の)本発明の1つまたは複数の(ただしすべてではない)実施形態」を意味する。
用語「含む(including)」、「含む(comprising)」、「有する(having)」、およびこれらの変化形は、そうでないことがはっきりと記載されていない限り「〜を含むが〜に限定されない」を意味する。
項目の列挙されたリストは、そうでないことがはっきりと記載されていない限り、項目のいずれかまたはすべてが互いに排他的であることを示唆しない。
用語「a」、「an」、および「the」は、そうでないことがはっきりと記載されていない限り「1つまたは複数の」を意味する。
互いに通信するデバイスは、そうでないことがはっきりと記載されていない限り、互いに連続的に通信するとは限らない。加えて、互いに通信するデバイスは、直接的に、または1つもしくは複数の媒介物を通じて間接的に通信する可能性がある。
互いに通信するいくつかのコンポーネントを用いる実施形態の説明は、すべてのそのようなコンポーネントが必須であることを示唆しない。反対に、さまざまな任意のコンポーネントが、本発明の多種多様なあり得る実施形態を示すために記載されている。
さらに、プロセスのステップ、方法のステップ、アルゴリズムなどが順番に記載されている可能性があるが、そのようなプロセス、方法、およびアルゴリズムは、代替的な順序で機能するように構成される可能性がある。換言すれば、記載されている可能性があるステップの任意の順番または順序は、必ずしも、ステップがその順序で実行されることが必要であることを示さない。本明細書に記載のプロセスのステップは、実用的な任意の順序で実行され得る。さらに、一部のステップは、同時に実行され得る。
単一のデバイスまたは製品が本明細書に記載されているとき、2つ以上のデバイス/製品が(それらのデバイス/製品が連携するか否かにかかわらず)単一のデバイス/製品の代わりに使用され得ることはすぐに分かるであろう。同様に、2つ以上のデバイスまたは製品が(それらのデバイスまたは製品が連携するか否かにかかわらず)本明細書に記載されている場合、単一のデバイス/製品が2つ以上のデバイスもしくは製品の代わりに使用される可能性があり、または異なる数のデバイス/製品が示された数のデバイスもしくはプログラムの代わりに使用される可能性があることはすぐに分かるであろう。デバイスの機能または特徴あるいはその両方は、代替的に、そのような機能/特徴を有すると明確に説明されていない1つまたは複数のその他のデバイスによって具現化される可能性がある。したがって、本発明のその他の実施形態は、そのデバイスそのものを必ずしも含まない。
図6、7、8、および9の示された動作は、特定の順序で起こる特定のイベントを示す。代替的な実施形態においては、特定の動作が、異なる順序で実行されるか、修正されるか、または削除される可能性がある。さらに、ステップが、上で説明されたロジックに追加され、説明された実施形態にそれまで通り準拠する可能性がある。さらに、本明細書に記載の動作は、順番に行われる可能性があり、または特定の動作が、並列に処理される可能性がある。その上さらに、動作は、単一の処理ユニットまたは分散された処理ユニットによって実行される可能性がある。
本発明のさまざまな実施形態の上述の説明は、例示および説明を目的として示された。本発明のさまざまな実施形態の上述の説明は、網羅的であるように、または本発明を開示された厳密な形態に限定するように意図されていない。上述の教示に照らして、多くの修正または変更があり得る。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された特許請求の範囲によって限定されることが意図される。上述の詳細、例、およびデータは、本発明の構成の製造および使用の完全な説明を与える。本発明の多くの実施形態が本発明の精神および範囲を逸脱することなく作成され得るので、本発明は、添付された特許請求の範囲に存する。

Claims (26)

  1. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む動作を前記レプリケーション元サーバに実行させる、コンピュータ・プログラムであって
    前記動作が、
    前記レプリケーション元リストと前記レプリケーション先リストとの両方に載っている各オブジェクトに関して、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行すること
    をさらに含む、コンピュータ・プログラム。
  2. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む動作を前記レプリケーション元サーバに実行させる、コンピュータ・プログラムであって、
    各オブジェクトがチャンクから成り、前記レプリケーション・リストの各オブジェクトに関して実行される前記動作が、
    前記オブジェクトのチャンクを決定することと、
    前記レプリケーション先ストレージに記憶されていない前記オブジェクトのチャンクの第1の組を決定することであって、前記オブジェクトに関する前記データを前記レプリケーション先サーバに送信することが、チャンクの決定された組を、前記レプリケーション先ストレージに記憶するために前記レプリケーション先サーバに送信することを含む、前記決定することと、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクの第2の組を決定することと、
    チャンクの前記第2の組のチャンクのチャンク識別子を前記レプリケーション先サーバに送信することとをさらに含む、コンピュータ・プログラム。
  3. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む動作を前記レプリケーション元サーバに実行させる、コンピュータ・プログラムであって、
    前記動作が、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリを前記レプリケーション先サーバに問い合わせることと、
    前記オブジェクトの前記インベントリを前記レプリケーション先サーバから受信することと、
    前記レプリケーション先サーバからの前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトを決定することと、
    前記インベントリに挙げられたオブジェクトに一致する決定されたオブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせることと、
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加することであって、構築されるレプリケーション元リストが、第2の基準を満たす前記レプリケーション元サーバの複製されるべきオブジェクトを含む、前記追加することとをさらに含む、コンピュータ・プログラム。
  4. 前記第1の基準が、複製すべき前記オブジェクトを生み出したクライアント・ノードを含み、前記第2の基準が、前記クライアント・ノードにおけるオブジェクトのデータ・タイプおよびファイルスペースの少なくとも一方を含む、請求項に記載のコンピュータ・プログラム。
  5. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む動作を前記レプリケーション元サーバに実行させる、コンピュータ・プログラムであって、
    前記動作が、
    前記レプリケーション先リストに載っているが前記レプリケーション元リストには載っていない削除すべきオブジェクトを決定することと、
    前記レプリケーション先サーバと通信して、前記レプリケーション先サーバに、削除すべき決定されたオブジェクトを前記レプリケーション先サーバおよび前記レプリケーション先ストレージから削除させることとをさらに含む、コンピュータ・プログラム。
  6. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む動作を前記レプリケーション先サーバに実行させる、コンピュータ・プログラムであって、
    前記動作が、
    前記レプリケーション先ストレージに既に記憶されている複製すべき各オブジェクトに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関する受信されたメタデータを含め、前記レプリケーション先ストレージに既に記憶された複製すべき各オブジェクトに関するエントリを前記レプリケーション先サーバのレプリケーション・データベースに追加することとをさらに含む、コンピュータ・プログラム。
  7. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む動作を前記レプリケーション先サーバに実行させる、コンピュータ・プログラムであって、
    各オブジェクトがチャンクから成り、少なくとも1つのオブジェクトに関する前記データを受信することが、前記レプリケーション先ストレージにまだ記憶されていないオブジェクトに関するチャンクだけを前記レプリケーション元サーバから受信することを含み、前記動作が、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクのリストを前記レプリケーション元サーバから受信することと、
    オブジェクトの一部のチャンクだけが前記レプリケーション先サーバから受信された各オブジェクトに関して、前記レプリケーション先ストレージに既に記憶されたチャンクの前記リストのチャンクへのリンクを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関する前記エントリで示すこととをさらに含む、コンピュータ・プログラム。
  8. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む動作を前記レプリケーション先サーバに実行させる、コンピュータ・プログラムであって、
    前記動作が、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリの問い合わせを前記レプリケーション元サーバから受信することと、
    前記第1の基準を満たす前記レプリケーション先サーバの前記オブジェクトの前記インベントリを前記レプリケーション元サーバに送信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトに関するメタデータを受信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記オブジェクトに関して、メタデータが受信される各オブジェクトについて、前記レプリケーション先サーバのレプリケーション・データベースにエントリを追加することであって、前記エントリが、前記オブジェクトに関する前記メタデータを含み、前記レプリケーション先リストが、第2の基準を満たす前記レプリケーション先サーバのオブジェクトを含む、前記追加することとをさらに含む、コンピュータ・プログラム。
  9. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラムであって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む動作を前記レプリケーション先サーバに実行させる、コンピュータ・プログラムであって、
    前記動作が、
    前記レプリケーション先ストレージに記憶されるオブジェクトのグループを保有することと、
    前記グループの一部のオブジェクトしか前記レプリケーション先サーバで受信され終わっていないと決定することに応じて、オブジェクトの前記グループを不完全であると示すことであって、不完全であると示されたオブジェクトの前記グループは、復元動作中、クライアント・ノードが利用できるようにされない、前記示すこととをさらに含む、コンピュータ・プログラム。
  10. 前記動作が、
    不完全であると示されたオブジェクトの前記グループに関するオブジェクトを受信することと、
    前記グループのすべてのオブジェクトを受信し終えたことに応じて、オブジェクトの前記グループを完全であると示すことであって、完全であると示された前記グループのオブジェクトは、復元動作中、前記クライアント・ノードが利用可能である、前記示すこととをさらに含む、請求項に記載のコンピュータ・プログラム。
  11. レプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元ストレージのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    前記レプリケーション元リストと前記レプリケーション先リストとの両方に載っている各オブジェクトに関して、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行すること
    をさらに含む、システム。
  12. レプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元ストレージのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    各オブジェクトがチャンクから成り、前記レプリケーション・リストの各オブジェクトに関して実行される前記動作が、
    前記オブジェクトのチャンクを決定することと、
    前記レプリケーション先ストレージに記憶されていない前記オブジェクトのチャンクの第1の組を決定することであって、前記オブジェクトに関する前記データを前記レプリケーション先サーバに送信することが、チャンクの決定された組を、前記レプリケーション先ストレージに記憶するために前記レプリケーション先サーバに送信することを含む、前記決定することと、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクの第2の組を決定することと、
    チャンクの前記第2の組のチャンクのチャンク識別子を前記レプリケーション先サーバに送信することとをさらに含む、システム。
  13. レプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元ストレージのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリを前記レプリケーション先サーバに問い合わせることと、
    前記オブジェクトの前記インベントリを前記レプリケーション先サーバから受信することと、
    前記レプリケーション先サーバからの前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトを決定することと、
    前記インベントリに挙げられたオブジェクトに一致する決定されたオブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせることと、
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加することであって、構築されるレプリケーション元リストが、第2の基準を満たす前記レプリケーション元サーバの複製されるべきオブジェクトを含む、前記追加することとをさらに含む、システム。
  14. レプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元ストレージのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    前記レプリケーション先リストに載っているが前記レプリケーション元リストには載っていない削除すべきオブジェクトを決定することと、
    前記レプリケーション先サーバと通信して、前記レプリケーション先サーバに、削除すべき決定されたオブジェクトを前記レプリケーション先サーバおよび前記レプリケーション先ストレージから削除させることとをさらに含む、システム。
  15. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    前記レプリケーション先ストレージに既に記憶されている複製すべき各オブジェクトに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関する受信されたメタデータを含め、前記レプリケーション先ストレージに既に記憶された複製すべき各オブジェクトに関するエントリを前記レプリケーション先サーバのレプリケーション・データベースに追加することとをさらに含む、システム。
  16. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    各オブジェクトがチャンクから成り、少なくとも1つのオブジェクトに関する前記データを受信することが、前記レプリケーション先ストレージにまだ記憶されていないオブジェクトに関するチャンクだけを前記レプリケーション元サーバから受信することを含み、前記動作が、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクのリストを前記レプリケーション元サーバから受信することと、
    オブジェクトの一部のチャンクだけが前記レプリケーション先サーバから受信された各オブジェクトに関して、前記レプリケーション先ストレージに既に記憶されたチャンクの前記リストのチャンクへのリンクを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関する前記エントリで示すこととをさらに含む、システム。
  17. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリの問い合わせを前記レプリケーション元サーバから受信することと、
    前記第1の基準を満たす前記レプリケーション先サーバの前記オブジェクトの前記インベントリを前記レプリケーション元サーバに送信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトに関するメタデータを受信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記オブジェクトに関して、メタデータが受信される各オブジェクトについて、前記レプリケーション先サーバのレプリケーション・データベースにエントリを追加することであって、前記エントリが、前記オブジェクトに関する前記メタデータを含み、前記レプリケーション先リストが、第2の基準を満たす前記レプリケーション先サーバのオブジェクトを含む、前記追加することとをさらに含む、システム。
  18. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコードを有するコンピュータ・プログラムであって、前記動作が、
    レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することと
    を含む、前記コンピュータ・プログラムと
    を含む、システムであって、
    前記動作が、
    前記レプリケーション先ストレージに記憶されるオブジェクトのグループを保有することと、
    前記グループの一部のオブジェクトしか前記レプリケーション先サーバで受信され終わっていないと決定することに応じて、オブジェクトの前記グループを不完全であると示すことであって、不完全であると示されたオブジェクトの前記グループは、復元動作中、クライアント・ノードが利用できるようにされない、前記示すこととをさらに含む、システム。
  19. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、方法であって、
    前記レプリケーション元リストと前記レプリケーション先リストとの両方に載っている各オブジェクトに関して、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行すること
    をさらに含む、方法。
  20. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、方法であって、
    各オブジェクトがチャンクから成り、前記レプリケーション・リストの各オブジェクトに関して実行される動作が、
    前記オブジェクトのチャンクを決定することと、
    前記レプリケーション先ストレージに記憶されていない前記オブジェクトのチャンクの第1の組を決定することであって、前記オブジェクトに関する前記データを前記レプリケーション先サーバに送信することが、チャンクの決定された組を、前記レプリケーション先ストレージに記憶するために前記レプリケーション先サーバに送信することを含む、前記決定することと、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクの第2の組を決定することと、
    チャンクの前記第2の組のチャンクのチャンク識別子を前記レプリケーション先サーバに送信することとをさらに含む、方法。
  21. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、方法であって、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリを前記レプリケーション先サーバに問い合わせることと、
    前記オブジェクトの前記インベントリを前記レプリケーション先サーバから受信することと、
    前記レプリケーション先サーバからの前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトを決定することと、
    前記インベントリに挙げられたオブジェクトに一致する決定されたオブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせることと、
    前記オブジェクトに関するエントリを前記レプリケーション元サーバのレプリケーション・データベースに追加することであって、構築されるレプリケーション元リストが、第2の基準を満たす前記レプリケーション元サーバの複製されるべきオブジェクトを含む、前記追加することとをさらに含む、方法。
  22. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバに複製すべき前記レプリケーション元サーバのオブジェクトのレプリケーション元リストを構築することと、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストを得るために前記レプリケーション先サーバに問い合わせを行うことと、
    前記レプリケーション先サーバに転送すべき、前記レプリケーション先リストに含まれていない、前記レプリケーション元リストに載っているオブジェクトを示すレプリケーション・リストを構築することと、
    前記レプリケーション・リストの各オブジェクトに関して、
    前記レプリケーション先ストレージにまだないオブジェクトに関するデータを前記レプリケーション先サーバに送信すること、
    前記オブジェクトに関するメタデータを前記レプリケーション先サーバに送信して、前記レプリケーション先サーバに、前記メタデータを、レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関するエントリに含めさせること、および
    前記オブジェクトに関するエントリをレプリケーション元サーバのレプリケーション・データベースに追加すること
    を実行することと
    を含む、方法であって、
    前記レプリケーション先リストに載っているが前記レプリケーション元リストには載っていない削除すべきオブジェクトを決定することと、
    前記レプリケーション先サーバと通信して、前記レプリケーション先サーバに、削除すべき決定されたオブジェクトを前記レプリケーション先サーバおよび前記レプリケーション先ストレージから削除させることとをさらに含む、方法。
  23. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することとを含む、方法であって、
    前記レプリケーション先ストレージに既に記憶されている複製すべき各オブジェクトに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関する受信されたメタデータを含め、前記レプリケーション先ストレージに既に記憶された複製すべき各オブジェクトに関するエントリを前記レプリケーション先サーバのレプリケーション・データベースに追加することとをさらに含む、方法。
  24. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することとを含む、方法であって、
    各オブジェクトがチャンクから成り、少なくとも1つのオブジェクトに関する前記データを受信することが、前記レプリケーション先ストレージにまだ記憶されていないオブジェクトに関するチャンクだけを前記レプリケーション元サーバから受信することを含み、前記方法が、
    前記レプリケーション先ストレージに現在記憶されているオブジェクトのチャンクのリストを前記レプリケーション元サーバから受信することと、
    オブジェクトの一部のチャンクだけが前記レプリケーション先サーバから受信された各オブジェクトに関して、前記レプリケーション先ストレージに既に記憶されたチャンクの前記リストのチャンクへのリンクを、前記レプリケーション先サーバのレプリケーション・データベース内の前記オブジェクトに関する前記エントリで示すこととをさらに含む、方法。
  25. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することとを含む、方法であって、
    第1の基準を満たす前記レプリケーション先サーバのオブジェクトのインベントリの問い合わせを前記レプリケーション元サーバから受信することと、
    前記第1の基準を満たす前記レプリケーション先サーバの前記オブジェクトの前記インベントリを前記レプリケーション元サーバに送信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記レプリケーション元サーバのオブジェクトに関するメタデータを受信することと、
    前記インベントリに挙げられたオブジェクトに一致する前記オブジェクトに関して、メタデータが受信される各オブジェクトについて、前記レプリケーション先サーバのレプリケーション・データベースにエントリを追加することであって、前記エントリが、前記オブジェクトに関する前記メタデータを含み、前記レプリケーション先リストが、第2の基準を満たす前記レプリケーション先サーバのオブジェクトを含む、前記追加することとをさらに含む、方法。
  26. レプリケーション元サーバによって管理されるレプリケーション元ストレージからレプリケーション先サーバによって管理されるレプリケーション先ストレージにオブジェクトを複製するための方法であって、
    前記レプリケーション先サーバのオブジェクトのレプリケーション先リストの問い合わせを前記レプリケーション元サーバから受信することと、
    前記レプリケーション先サーバの前記オブジェクトの前記レプリケーション先リストを前記レプリケーション元サーバに送信することと、
    前記レプリケーション先ストレージに記憶すべきオブジェクトに関するデータを前記レプリケーション元サーバから受信することと、
    複製すべき前記オブジェクトに関して受信される前記データに関するメタデータを前記レプリケーション元サーバから受信することと、
    前記オブジェクトに関して受信された前記メタデータを含め、データが受信される各オブジェクトに関して、レプリケーション先サーバのレプリケーション・データベースにエントリを追加することとを含む、方法であって、
    前記レプリケーション先ストレージに記憶されるオブジェクトのグループを保有することと、
    前記グループの一部のオブジェクトしか前記レプリケーション先サーバで受信され終わっていないと決定することに応じて、オブジェクトの前記グループを不完全であると示すことであって、不完全であると示されたオブジェクトの前記グループは、復元動作中、クライアント・ノードが利用できるようにされない、前記示すこととをさらに含む、方法。
JP2014523155A 2011-08-30 2012-08-28 レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション) Active JP5671656B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/221,670 US9910904B2 (en) 2011-08-30 2011-08-30 Replication of data objects from a source server to a target server
US13/221,670 2011-08-30
PCT/CA2012/050593 WO2013029173A1 (en) 2011-08-30 2012-08-28 Replication of data objects from a source server to a target server

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014190852A Division JP5972327B2 (ja) 2011-08-30 2014-09-19 レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション)

Publications (2)

Publication Number Publication Date
JP2014522044A JP2014522044A (ja) 2014-08-28
JP5671656B2 true JP5671656B2 (ja) 2015-02-18

Family

ID=47745090

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014523155A Active JP5671656B2 (ja) 2011-08-30 2012-08-28 レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション)
JP2014190852A Active JP5972327B2 (ja) 2011-08-30 2014-09-19 レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション)

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014190852A Active JP5972327B2 (ja) 2011-08-30 2014-09-19 レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション)

Country Status (6)

Country Link
US (4) US9910904B2 (ja)
JP (2) JP5671656B2 (ja)
CN (1) CN103765817B (ja)
DE (1) DE112012002762T5 (ja)
GB (1) GB2509023A (ja)
WO (1) WO2013029173A1 (ja)

Families Citing this family (186)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378216B2 (en) * 2009-09-29 2016-06-28 Oracle America, Inc. Filesystem replication using a minimal filesystem metadata changelog
US9244967B2 (en) * 2011-08-01 2016-01-26 Actifio, Inc. Incremental copy performance between data stores
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9910904B2 (en) 2011-08-30 2018-03-06 International Business Machines Corporation Replication of data objects from a source server to a target server
US8868505B1 (en) * 2012-03-20 2014-10-21 Emc Corporation Systems and methods for protecting data in a network host environment
US9258262B2 (en) * 2012-04-30 2016-02-09 Racemi, Inc. Mailbox-based communications system for management communications spanning multiple data centers and firewalls
TW201401074A (zh) * 2012-06-26 2014-01-01 Quanta Comp Inc 軟體跨雲部署機制及系統
US9417796B2 (en) 2012-06-29 2016-08-16 M-Files Oy Method, a server, a system and a computer program product for copying data from a source server to a target server
US10037370B2 (en) * 2012-06-29 2018-07-31 M-Files Oy Method, a server, a system and a computer program product for copying data from a source server to a target server
US9563628B1 (en) * 2012-12-11 2017-02-07 EMC IP Holding Company LLC Method and system for deletion handling for incremental file migration
US8930311B1 (en) * 2012-12-14 2015-01-06 Netapp, Inc. Push-based piggyback system for source-driven logical replication in a storage environment
US11023487B2 (en) 2013-03-04 2021-06-01 Sap Se Data replication for cloud based in-memory databases
US9251008B2 (en) * 2013-03-14 2016-02-02 International Business Machines Corporation Client object replication between a first backup server and a second backup server
JP6083268B2 (ja) * 2013-03-14 2017-02-22 日本電気株式会社 レプリケーションシステム
US9805105B1 (en) * 2013-03-15 2017-10-31 EMC IP Holding Company LLC Automatically creating multiple replication sessions in response to a single replication command entered by a user
TW201437940A (zh) * 2013-03-30 2014-10-01 Ibm 提供一交易處理伺服器有效率之資料複製的方法、支援伺服器與電腦程式產品
US10089192B2 (en) 2013-06-13 2018-10-02 Hytrust, Inc. Live restore for a data intelligent storage system
US10102079B2 (en) 2013-06-13 2018-10-16 Hytrust, Inc. Triggering discovery points based on change
US8849764B1 (en) 2013-06-13 2014-09-30 DataGravity, Inc. System and method of data intelligent storage
US9213706B2 (en) 2013-06-13 2015-12-15 DataGravity, Inc. Live restore for a data intelligent storage system
US9639448B2 (en) * 2013-06-27 2017-05-02 Sap Se Multi-version systems for zero downtime upgrades
US9569455B1 (en) * 2013-06-28 2017-02-14 EMC IP Holding Company LLC Deduplicating container files
US9461969B2 (en) 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
CN103595782A (zh) * 2013-11-11 2014-02-19 中安消技术有限公司 一种分布式存储系统及其下载文件的方法
CN104657396B (zh) * 2013-11-25 2020-04-24 腾讯科技(深圳)有限公司 数据迁移方法及装置
US20160253398A1 (en) * 2013-12-06 2016-09-01 Hewlett Packard Enterprise Development Lp Replicating metadata associated with a file
US20150227543A1 (en) * 2014-02-11 2015-08-13 Atlantis Computing, Inc. Method and apparatus for replication of files and file systems using a deduplication key space
US11016941B2 (en) 2014-02-28 2021-05-25 Red Hat, Inc. Delayed asynchronous file replication in a distributed file system
US10025808B2 (en) 2014-03-19 2018-07-17 Red Hat, Inc. Compacting change logs using file content location identifiers
US9986029B2 (en) 2014-03-19 2018-05-29 Red Hat, Inc. File replication using file content location identifiers
US9965505B2 (en) 2014-03-19 2018-05-08 Red Hat, Inc. Identifying files in change logs using file content location identifiers
US10656864B2 (en) * 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
WO2015152935A1 (en) * 2014-04-04 2015-10-08 Hewlett-Packard Development Company, L.P. Storing and retrieving ciphertext in data storage
US10585762B2 (en) 2014-04-29 2020-03-10 Hewlett Packard Enterprise Development Lp Maintaining files in a retained file system
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9396243B1 (en) * 2014-06-27 2016-07-19 Emc Corporation Hash-based replication using short hash handle and identity bit
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
CN105279020A (zh) * 2014-07-03 2016-01-27 北京联嘉众赢网络技术有限公司 一种任务调度方法及系统
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN105447033B (zh) 2014-08-28 2019-06-11 国际商业机器公司 在复制初始化中生成初始副本的方法和装置
US9753955B2 (en) 2014-09-16 2017-09-05 Commvault Systems, Inc. Fast deduplication data verification
US10025843B1 (en) 2014-09-24 2018-07-17 EMC IP Holding Company LLC Adjusting consistency groups during asynchronous replication
US20160100004A1 (en) * 2014-10-06 2016-04-07 International Business Machines Corporation Data replication across servers
JP6037469B2 (ja) 2014-11-19 2016-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報管理システム、情報管理方法およびプログラム
US20160150012A1 (en) 2014-11-25 2016-05-26 Nimble Storage, Inc. Content-based replication of data between storage units
US9959274B2 (en) * 2014-12-19 2018-05-01 Amazon Technologies, Inc. Volume-level redundancy coding techniques for sequential transfer optimized storage devices
US9672264B2 (en) * 2015-01-26 2017-06-06 Netapp, Inc. Method and system for backup verification
US10063665B2 (en) * 2015-02-18 2018-08-28 Actmobile Networks, Inc. System and method to eliminate duplicate byte patterns in network streams
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US9639274B2 (en) 2015-04-14 2017-05-02 Commvault Systems, Inc. Efficient deduplication database validation
WO2016185573A1 (ja) * 2015-05-20 2016-11-24 株式会社日立製作所 重複排除ストレージにおけるボリュームバックアップ・リストア方法
US9665534B2 (en) * 2015-05-27 2017-05-30 Red Hat Israel, Ltd. Memory deduplication support for remote direct memory access (RDMA)
US9300737B1 (en) * 2015-06-02 2016-03-29 Mylio, LLC Object replication using object device links and flags
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US10725708B2 (en) 2015-07-31 2020-07-28 International Business Machines Corporation Replication of versions of an object from a source storage to a target storage
US10255287B2 (en) * 2015-07-31 2019-04-09 Hiveio Inc. Method and apparatus for on-disk deduplication metadata for a deduplication file system
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US20170123676A1 (en) * 2015-11-04 2017-05-04 HGST Netherlands B.V. Reference Block Aggregating into a Reference Set for Deduplication in Memory Management
EP3173985A1 (en) * 2015-11-25 2017-05-31 Thomson Licensing Method and apparatus for generating a combined calendar
US9430163B1 (en) 2015-12-15 2016-08-30 International Business Machines Corporation Implementing synchronization for remote disk mirroring
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10324635B1 (en) 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10310951B1 (en) 2016-03-22 2019-06-04 EMC IP Holding Company LLC Storage system asynchronous data replication cycle trigger with empty cycle detection
US9959073B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Detection of host connectivity for data migration in a storage system
US10095428B1 (en) 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US9959063B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Parallel migration of multiple consistency groups in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
CN105871678B (zh) * 2016-06-02 2019-09-24 郭立峰 远程管理私有网络内终端设备的方法
US10747734B2 (en) 2016-06-22 2020-08-18 International Business Machines Corporation Data deduplication within distributed computing components
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10356171B1 (en) * 2016-09-16 2019-07-16 Plesk International Gmbh Mail server migration with message synchronization
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10541895B2 (en) * 2016-10-13 2020-01-21 General Electric Company Apparatus and method for determining key performance indicators
EP3309692A1 (en) * 2016-10-17 2018-04-18 Huawei Technologies Co., Ltd. Method for elastic geographical database replication
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10747402B2 (en) * 2016-12-20 2020-08-18 Sap Se Replication filters for data replication system
JP6540677B2 (ja) * 2016-12-22 2019-07-10 日本電気株式会社 ストレージ装置、ストレージ装置のバックアップ方法、ストレージ装置のバックアップシステム及びストレージ装置の制御プログラム
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US11223528B2 (en) * 2017-01-27 2022-01-11 Box. Inc. Management of cloud-based shared content using predictive cost modeling
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
GB201704973D0 (en) * 2017-03-28 2017-05-10 Gb Gas Holdings Ltd Data replication system
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10282127B2 (en) 2017-04-20 2019-05-07 Western Digital Technologies, Inc. Managing data in a storage system
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10809928B2 (en) 2017-06-02 2020-10-20 Western Digital Technologies, Inc. Efficient data deduplication leveraging sequential chunks or auxiliary databases
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US11403260B2 (en) * 2017-07-18 2022-08-02 Vmware, Inc. Hash-based data transfer in distributed deduplication storage systems
US10503608B2 (en) 2017-07-24 2019-12-10 Western Digital Technologies, Inc. Efficient management of reference blocks used in data deduplication
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
JP7208967B2 (ja) * 2017-09-29 2023-01-19 オラクル・インターナショナル・コーポレイション 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10877884B2 (en) * 2018-01-09 2020-12-29 International Business Machines Corporation Copying and forwarding for concurrent copying garbage collection
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
JP7306665B2 (ja) * 2018-03-01 2023-07-11 Necソリューションイノベータ株式会社 ストレージ装置、データ移行方法、プログラム
CN110389856B (zh) * 2018-04-20 2023-07-11 伊姆西Ip控股有限责任公司 用于迁移数据的方法、设备和计算机可读介质
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US11645261B2 (en) 2018-04-27 2023-05-09 Oracle International Corporation System and method for heterogeneous database replication from a remote server
US10534708B1 (en) * 2018-06-25 2020-01-14 Microsoft Technology Licensing, Llc Shallow cache for content replication
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US20200134052A1 (en) * 2018-10-26 2020-04-30 EMC IP Holding Company LLC Decentralized distribution using an overlay network
US11556699B2 (en) * 2019-02-04 2023-01-17 Citrix Systems, Inc. Data migration across SaaS applications
US11226905B2 (en) 2019-04-01 2022-01-18 Nutanix, Inc. System and method for mapping objects to regions
US11809382B2 (en) 2019-04-01 2023-11-07 Nutanix, Inc. System and method for supporting versioned objects
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11853575B1 (en) * 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
US11079960B2 (en) * 2019-06-20 2021-08-03 Western Digital Technologies, Inc. Object storage system with priority meta object replication
US11074002B2 (en) 2019-06-20 2021-07-27 Western Digital Technologies, Inc. Object storage system with meta object replication
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11341106B2 (en) 2019-07-19 2022-05-24 Commvault Systems, Inc. Deduplication system without reference counting
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11704334B2 (en) 2019-12-06 2023-07-18 Nutanix, Inc. System and method for hyperconvergence at the datacenter
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11609777B2 (en) 2020-02-19 2023-03-21 Nutanix, Inc. System and method for multi-cluster storage
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11928030B2 (en) 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11436229B2 (en) 2020-04-28 2022-09-06 Nutanix, Inc. System and method of updating temporary bucket based on object attribute relationships or metadata relationships
US11487787B2 (en) * 2020-05-29 2022-11-01 Nutanix, Inc. System and method for near-synchronous replication for object store
US11669543B2 (en) * 2020-06-11 2023-06-06 EMC IP Holding Company LLC Object-level replication including bulk-mode replication in a data storage system
US11900164B2 (en) 2020-11-24 2024-02-13 Nutanix, Inc. Intelligent query planning for metric gateway
US11822370B2 (en) 2020-11-26 2023-11-21 Nutanix, Inc. Concurrent multiprotocol access to an object storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
CN113138722B (zh) * 2021-04-30 2024-01-12 北京百度网讯科技有限公司 用于分布式块存储系统的复制快照方法、系统和介质
US11829343B2 (en) 2021-06-30 2023-11-28 Syntio Ltd. Generating a business object
JP2023026232A (ja) 2021-08-13 2023-02-24 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US11899572B2 (en) 2021-09-09 2024-02-13 Nutanix, Inc. Systems and methods for transparent swap-space virtualization
TWI802035B (zh) * 2021-10-06 2023-05-11 神雲科技股份有限公司 伺服器資料備援控制方法
US11748374B2 (en) * 2021-11-30 2023-09-05 Snowflake Inc. Replication group objects configuration in a network-based database system

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170480A (en) 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
JPH11249874A (ja) 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムにおける同期処理方法および記録媒体
US6466980B1 (en) * 1999-06-17 2002-10-15 International Business Machines Corporation System and method for capacity shaping in an internet environment
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US6978282B1 (en) 2001-09-04 2005-12-20 Emc Corporation Information replication system having automated replication storage
JP2003087491A (ja) 2001-09-14 2003-03-20 Ricoh Co Ltd 画像形成システム
JP4739673B2 (ja) 2002-01-02 2011-08-03 グレープ テクノロジー グループ インコーポレイテッド 通信補助システムおよび方法
US7043732B2 (en) 2002-04-29 2006-05-09 Sun Microsystems, Inc. Method and apparatus for managing remote data replication using CIM providers in a distributed computer system
US7426559B2 (en) 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US20040153473A1 (en) 2002-11-21 2004-08-05 Norman Hutchinson Method and system for synchronizing data in peer to peer networking environments
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US7769722B1 (en) * 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7398285B2 (en) 2003-07-30 2008-07-08 International Business Machines Corporation Apparatus and system for asynchronous replication of a hierarchically-indexed data store
US7203712B2 (en) * 2004-02-26 2007-04-10 International Business Machines Corporation Algorithm to find LOB value in a relational table after key columns have been modified
JP2005267157A (ja) 2004-03-18 2005-09-29 Equos Research Co Ltd 情報同期装置及び情報処理装置
US7246258B2 (en) 2004-04-28 2007-07-17 Lenovo (Singapore) Pte. Ltd. Minimizing resynchronization time after backup system failures in an appliance-based business continuance architecture
US7275142B1 (en) * 2004-07-26 2007-09-25 Veritas Operating Corporation Storage layout and data replication
US7502961B2 (en) * 2004-09-09 2009-03-10 Microsoft Corporation Method, system, and apparatus for providing alert synthesis in a data protection system
US20060161449A1 (en) 2005-01-15 2006-07-20 Mckinney Sam A Automated real estate data replication
US20070027935A1 (en) 2005-07-28 2007-02-01 Haselton William R Backing up source files in their native file formats to a target storage
US7350041B1 (en) * 2005-08-26 2008-03-25 Emc Corporation Methods and apparatus for managing the storage of content
US7320059B1 (en) * 2005-08-26 2008-01-15 Emc Corporation Methods and apparatus for deleting content from a storage system
US7636704B2 (en) * 2005-08-26 2009-12-22 Emc Corporation Methods and apparatus for scheduling an action on a computer
US20070055835A1 (en) 2005-09-06 2007-03-08 Reldata, Inc. Incremental replication using snapshots
US7904425B2 (en) 2005-12-13 2011-03-08 International Business Machines Corporation Generating backup sets to a specific point in time
US7739239B1 (en) * 2005-12-29 2010-06-15 Amazon Technologies, Inc. Distributed storage system with support for distinct storage classes
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7788456B1 (en) 2006-02-16 2010-08-31 Network Appliance, Inc. Use of data images to allow release of unneeded data storage
JP4574675B2 (ja) 2006-08-24 2010-11-04 デュアキシズ株式会社 通信管理システム
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
EP1933236A1 (en) 2006-12-12 2008-06-18 Ixiar Technologies Branch Office and remote server smart archiving based on mirroring and replication software
JP4930031B2 (ja) 2006-12-13 2012-05-09 富士通株式会社 制御装置及び制御システム
US8782047B2 (en) 2009-10-30 2014-07-15 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform using namespaces
US20090063587A1 (en) * 2007-07-12 2009-03-05 Jakob Holger Method and system for function-specific time-configurable replication of data manipulating functions
CN100451976C (zh) 2007-07-23 2009-01-14 清华大学 基于海量数据分级存储系统的迁移管理方法
US8352431B1 (en) 2007-10-31 2013-01-08 Emc Corporation Fine-grain policy-based snapshots
US7769714B2 (en) 2007-11-06 2010-08-03 Oracle International Corporation Automatic error correction for replication and instantaneous instantiation
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US8306947B2 (en) 2008-10-30 2012-11-06 Hewlett-Packard Development Company, L.P. Replication of operations on objects distributed in a storage system
US9542409B2 (en) 2008-11-26 2017-01-10 Red Hat, Inc. Deduplicated file system
CN101414949B (zh) 2008-11-28 2011-05-18 阿里巴巴集团控股有限公司 一种链式数据传输方法、节点及系统
JP4502063B2 (ja) 2008-12-15 2010-07-14 株式会社日立製作所 データウェアハウスシステムとそこで用いられる問合せ処理方法及びそのためのデータ収集方法と装置及び課金システム
US9239767B2 (en) * 2008-12-22 2016-01-19 Rpx Clearinghouse Llc Selective database replication
US8898267B2 (en) 2009-01-19 2014-11-25 Netapp, Inc. Modifying information lifecycle management rules in a distributed system
US8286030B1 (en) 2009-02-09 2012-10-09 American Megatrends, Inc. Information lifecycle management assisted asynchronous replication
JP5339432B2 (ja) 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム
US8671072B1 (en) * 2009-09-14 2014-03-11 Netapp, Inc. System and method for hijacking inodes based on replication operations received in an arbitrary order
US9378216B2 (en) * 2009-09-29 2016-06-28 Oracle America, Inc. Filesystem replication using a minimal filesystem metadata changelog
US8744997B2 (en) * 2010-02-09 2014-06-03 Google Inc. Pruning of blob replicas
US8239390B2 (en) * 2010-02-26 2012-08-07 International Business Machines Corporation Filtered remote journal
US20130024429A1 (en) 2010-04-29 2013-01-24 Hewlett-Packard Development Company, L.P. Multi-Jurisdiction Retention Scheduling For Record Management
US10296428B2 (en) 2010-05-17 2019-05-21 Veritas Technologies Llc Continuous replication in a distributed computer system environment
US8799222B2 (en) * 2010-12-17 2014-08-05 Symantec Corporation Host based software block level replication using metadata indicating changed data objects at source and secondary nodes
CN102063500A (zh) 2011-01-04 2011-05-18 北京凯铭风尚网络技术有限公司 一种数据迁移的方法及装置
US8538926B2 (en) * 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
US8918362B2 (en) * 2011-05-23 2014-12-23 Microsoft Corporation Replication processes in a distributed storage environment
US8838529B2 (en) 2011-08-30 2014-09-16 International Business Machines Corporation Applying replication rules to determine whether to replicate objects
US9910904B2 (en) 2011-08-30 2018-03-06 International Business Machines Corporation Replication of data objects from a source server to a target server
US9659080B1 (en) 2013-04-29 2017-05-23 Google Inc. Categorization for constraint-based placement of object replicas in a distributed storage system
US10157014B1 (en) 2013-12-16 2018-12-18 EMC IP Holding Company LLC Maintaining backup snapshots on deduplicated storage using continuous replication

Also Published As

Publication number Publication date
CN103765817B (zh) 2017-01-25
CN103765817A (zh) 2014-04-30
US10664492B2 (en) 2020-05-26
US20180101588A1 (en) 2018-04-12
GB2509023A (en) 2014-06-18
US9910904B2 (en) 2018-03-06
US20130054524A1 (en) 2013-02-28
JP5972327B2 (ja) 2016-08-17
US10664493B2 (en) 2020-05-26
DE112012002762T5 (de) 2014-04-10
GB201405324D0 (en) 2014-05-07
US20130054523A1 (en) 2013-02-28
WO2013029173A1 (en) 2013-03-07
US9904717B2 (en) 2018-02-27
JP2014522044A (ja) 2014-08-28
US20180101587A1 (en) 2018-04-12
JP2015015047A (ja) 2015-01-22

Similar Documents

Publication Publication Date Title
JP5671656B2 (ja) レプリケーション元ストレージからレプリケーション先ストレージにオブジェクトを複製するためのコンピュータ・プログラム製品、システム、および方法(レプリケーション元サーバからレプリケーション先サーバへのデータ・オブジェクトのレプリケーション)
US9110603B2 (en) Identifying modified chunks in a data set for storage
US9087010B2 (en) Data selection for movement from a source to a target
US9495409B1 (en) Techniques for performing data validation
US8838529B2 (en) Applying replication rules to determine whether to replicate objects
US8874532B2 (en) Managing dereferenced chunks in a deduplication system
US9558194B1 (en) Scalable object store
US11360856B2 (en) Manifest index for block-level snapshots
US11029851B2 (en) Sub-block modifications for block-level snapshots
US11366593B2 (en) Point-in-time backups via a storage controller to an object storage cloud
US10838641B2 (en) Defragmenting backup objects
US10558373B1 (en) Scalable index store
US11809379B2 (en) Storage tiering for deduplicated storage environments
CN116848517A (zh) 使用基于数据指纹的数据地址的高速缓存编索引
US11403185B2 (en) Network-accessible block-level snapshots
US9442938B1 (en) File system layer

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140131

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140131

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141219

R150 Certificate of patent or registration of utility model

Ref document number: 5671656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150