(57)【要約】【課題】シングルインスタンス・ストレージプールを複製するための有効な方法を提供する。【解決手段】システムは、少なくとも２台のバックアップサーバを含み、各バックアップサーバはシングルインスタンス・ストレージプールに含まれる。第１のバックアップサーバは、データセグメントを識別する第１の重複除外リストを第１のストレージプールから第２のバックアップサーバに送る。第１のバックアップサーバは、第２のバックアップサーバから、データセグメントのサブセットを識別する第２の重複除外リストを受け取り、データセグメントのサブセットを第２のバックアップサーバに送る。第１のバックアップサーバからの第１のリストの受け取りに応じて、第２のバックアップサーバは、第２のストレージプールに対する第１のリストを重複除外し、第２のリストを第１のバックアップサーバに送る。データセグメントのサブセットの受け取りに応じて、第２のバックアップサーバは、受け取ったデータセグメントを第２のストレージプールに追加する。【選択図】図７
2008251011.tif 000002
【特許請求の範囲】
【請求項１】
第１のストレージプールと、
第２のストレージプールとを含み、
第１のストレージプールの第１のバックアップサーバは、
１つ又は複数のデータセグメントを識別する第１の重複除外リストを、第１のストレージプールから第２のストレージプールと関連付けられた第２のバックアップサーバに送り、
第２のバックアップサーバから、１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外リストを受け取り、
１つ又は複数のデータセグメントのサブセットを第２のストレージプールに送るように構成されたコンピュータシステム。
【請求項２】
第１のバックアップサーバからの第１のリストの受け取りに応じて、第２のバックアップサーバは、
第１のリストを第２のストレージプールに対して重複除外して第２の重複除外リストを作成し、
第２の重複除外リストを第１のバックアップサーバに送るように構成され、
１つ又は複数のデータセグメントの前記サブセットの受け取りに応じて、第２のバックアップサーバは、更に、第２のストレージプールに１つ又は複数のデータセグメントのサブセットを追加するように構成された請求項１に記載のシステム。
【請求項３】
１台又は複数台のクライアントを含み、
第１又は第２のストレージプールに記憶された各データセグメントごとに、データセグメントを識別するフィンガープリントと、バックアップのためにデータセグメントのコピーを受け取る各クライアントへの参照が記憶され、
第１のリストを重複除外するために、第２のバックアップサーバは、更に、データセグメント及び各データセグメントの関連付けられた参照を第２のストレージプールに対して重複除外するように構成された請求項２に記載のシステム。
【請求項４】
データセグメントを識別するフィンガープリントが暗号化された請求項３に記載のシステム。
【請求項５】
１台又は複数台のクライアントを更に含み、各クライアントは、
第１のストレージプールにまだバックアップコピーが記憶されていないデータセグメントだけを含むデータセグメントのバッチを組み立て、
組み立てたバッチを第１のバックアップサーバに送るように構成された請求項２に記載のシステム。
【請求項６】
各クライアントは、組み立てたバッチ内のデータセグメントと参照にバッチ番号を割り当てるように構成され、
第１のバックアップサーバは、更に、
バッチ番号をバックアップ履歴に記憶し、
バックアップ履歴に記憶されるバッチ番号を有する第１のリストに含まれるデータセグメントと参照だけを選択し、
各複製後にバックアップ履歴を消去するように構成された請求項５に記載のシステム。
【請求項７】
第２のストレージプールの少なくとも一部分を逆方向に複製する要求に応じて、第２のバックアップサーバは、
１つ又は複数のデータセグメントを識別する第１の重複除外逆方向リストを第１のバックアップサーバに送り、
第１のバックアップサーバから、第１の重複除外逆方向リストの１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外逆方向リストを受け取り、
１つ又は複数のデータセグメントの少なくともサブセットを第１のバックアップサーバに送るように構成され、
第２のバックアップサーバからの第１の逆方向リストの受け取りに応じて、第１のバックアップサーバは、
第１の逆方向リストを第１のストレージプールに対して重複除外し、
第２の重複除外逆方向リストを第２のバックアップサーバに送るように構成され、
１つ又は複数のデータセグメントの少なくともサブセットの受け取りに応じて、第１のバックアップサーバは、更に、１つ又は複数のデータセグメントの少なくともサブセットを第１のストレージプールに追加するように構成された請求項２に記載のシステム。
【請求項８】
シングルインスタンス・ストレージプールをバックアップサーバ間で複製する方法であって、
第１のバックアップサーバを含み、それが
１つ又は複数のデータセグメントを識別する第１の重複除外リストを、第１のストレージプールから第２のストレージプールと関連付けられた第２のバックアップサーバに送り、
第２のバックアップサーバから、１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外リストを受け取り、
１つ又は複数のデータセグメントの少なくともサブセットを第２のバックアップサーバに送る
シングルインスタンス・ストレージプールをバックアップサーバ間で複製する方法。
【請求項９】
第１のバックアップサーバからの第１のリストの受け取りに応じて、第１の重複除外リストを第２のストレージプールに対して重複除外して、第２の重複除外リストを作成し、
第２の重複除外リストを第１のバックアップサーバに送る第２のバックアップサーバを更に含み、
第１のバックアップサーバは、前記サブセットの受け取りに応じて１つ又は複数のデータセグメントのサブセットを第１のストレージプールに追加する請求項８に記載の方法。
【請求項１０】
第１と第２のストレージプールに記憶された各データセグメントごとに、データセグメントを識別するフィンガープリントと、バックアップのためにデータセグメントのコピーを受け取った１台又は複数台のクライアントへの参照とを記憶するステップを更に含み、
第１のリストを第２のストレージプールに対して重複除外するステップは、更に、データセグメントと各データセグメントの関連付けられた参照を第２のストレージプールに対して重複除外するステップを含む請求項９に記載の方法。
【請求項１１】
データセグメントを識別するフィンガープリントが暗号化された請求項１０に記載の方法。
【請求項１２】
第１のストレージプールにまだバックアップコピーが記憶されていないデータセグメントだけを含むデータセグメントのバッチを組み立てるステップと、
組み立てたバッチを第１のバックアップサーバに送るステップとを含む請求項９に記載の方法。
【請求項１３】
組み立てたバッチ内のデータセグメントと参照にバッチ番号を割り当てるステップを含み、さらに
組み立てたバッチの受け取りに応じて、
バッチ番号をバックアップ履歴に記憶するステップと、
バックアップ履歴に記憶されたバッチ番号を有する第１のリストに含まれるデータセグメントと参照だけを選択するステップと、
各複製後にバックアップ履歴を消去するステップとを含む請求項１２に記載の方法。
【請求項１４】
１つ又は複数のデータセグメントを識別する第１の重複除外逆方向リストを第２のストレージプールから第１のバックアップサーバに送り、
第１のバックアップサーバから、第１の重複除外逆方向リストの１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外逆方向リストを受け取り、
１つ又は複数のデータセグメントの少なくともサブセットを第１のバックアップサーバに送る第２のバックアップサーバと、
第２のバックアップサーバからの第１の逆方向リストの受け取りに応じて、第１の重複除外逆方向リストを第１のストレージプールに対して重複除外し、
第２の重複除外逆方向リストを第２のバックアップサーバに送り、
１つ又は複数のデータセグメントの少なくともサブセットの受け取りに応じて、１つ又は複数のデータセグメントの少なくともサブセットを第１のストレージプールに追加する第１のバックアップサーバとを更に含む請求項９に記載の方法。
【請求項１５】
第１のバックアップサーバが、
１つ又は複数のデータセグメントを識別する第１の重複除外リストを、第１のストレージプールから第２のストレージプールと関連付けられた第２のバックアップサーバに送り、
第２のバックアップサーバから、１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外リストを受け取り、
１つ又は複数のデータセグメントの少なくともサブセットを第２のバックアップサーバに送る
ように、プロセッサによって実行可能なコンピュータ命令を記憶するコンピュータ可読媒体。
【請求項１６】
命令は、更に、第２のバックアップサーバが、
第１のバックアップサーバからの第１のリストを受け取りに応じて、第１のリストを第２のストレージプールに対して重複除外し、
第２の重複除外リストを第１のバックアップサーバに送り、
１つ又は複数のデータセグメントの少なくともサブセットの受け取りに応じて、第１のバックアップサーバに、１つ又は複数のデータセグメントの少なくともサブセットを第１のストレージプールに追加させるように実行可能である請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
命令は、更に、
第１又は第２のストレージプールに記憶された各データセグメントごとに、データセグメントを識別する関連付けられたフィンガープリントと、バックアップのためにデータセグメントのコピーを受け取った１台又は複数台のクライアントへの参照を記憶するように実行可能であり、リストは、各データセグメントの関連付けられた参照を含み、
第１のリストを第２のストレージプールに対して重複除外するために、更に、データセグメントと、各データセグメントの関連付けられた参照を第２のストレージプールに対して重複除外するステップを含む請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
データセグメントを識別するフィンガープリントは、暗号化された請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
命令は、更に、
第１のストレージプールにバックアップコピーがまだ記憶されていないデータセグメントだけを含むデータセグメントのバッチを組み立て、
組み立てたバッチを第１のバックアップサーバに送るように実行可能である請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
命令は、更に、
データセグメントと組み立てたバッチ内の参照にバッチ番号を割り当て、
組み立てたバッチの受け取りに応じて、
バッチ番号をバックアップ履歴に記憶し、
バックアップ履歴に記憶されたバッチ番号を有する第１のリストに含まれるデータセグメントと参照のみを選択し、
各複製後にバックアップ履歴を消去するように実行可能である請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、より詳細にはコンピュータシステム内のバックアップファイルの複製と再格納に関する。
【背景技術】
【０００２】
組織が、何かしらのタイプのバックアップ機構によって様々なクライアント装置上にあるデータを保護する必要性が高まっている。例えば、多数台のクライアント装置が、１台又は複数台のバックアップサーバが結合されたネットワークに結合される。バックアップサーバは、更に、１台又は複数台のテープドライブや他のバックアップ媒体に結合されている。各クライアント装置上のバックアップエージェントは、バックアップ媒体に記憶するデータファイルを、様々なスケジュールやポリシーなどに従ってバックアップサーバに送る。例えば、大きなバックアップデータセットが、クライアント装置から、データを記憶し、後で取り出すことができるように構成された媒体サーバに移され、それによりデータは、ユーザエラー、システム障害、停電、災害などによる損失から保護される。更に、そのようなバックアップ手順は、法規制の遵守やワークフロー追跡などに利用される場合がある。
【０００３】
バックアップデータの記憶に必要なストレージプールの容量を最小にするために、各バックアップの場所で、シングルインスタンス・ストレージ（ＳＩＳ:Single Instance Stroage）技術が使用されることがある。いくつかのＳＩＳ技術では、データがセグメントで記憶され、各セグメントは、セグメントを明確に識別するために使用されるフィンガープリントを有する。例えば、データファイルがセグメント化され、各セグメントごとにフィンガープリントが計算される。次に、データセグメントの複製されたコピーは、セグメントのシングルインスタンスと、そのシングルインスタンスに対する１組の参照とによって置き換えられる。バックアップファイルを取り出すときは、１組のフィンガープリントがバックアップサーバに送られ、そこで関連付けられたストレージプールに記憶されたデータのフィンガープリントと比較される。合致しているフィンガープリントがあるたびに、データセグメントが取り出される。得られたセグメントは、所望のファイルを作成するように再組み立てされる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データを更に使い易くするために、ストレージプールの一部分を複製したい場合がある。例えば、ストレージプールの内容が複製され、その内容を取り出すことができるリモート位置に記憶される（例えば、壊滅的なデータ損失から回復するため）。あるいは、多国籍企業は、営業時間外にストレージプール又はその一部分を複製して、要求されたときに大量の情報を送信する必要なく、おそらく様々な大陸上の様々な場所から取り出しやすくすることができる。従来のシステムにおいて、複製は、一般に、ソース・ストレージプールに記憶されたそれぞれのデータセグメントから複製されたファイルを再組み立てするステップと、それらのファイルをＳＩＳ技術が再び適用されるターゲットストレージプールに送るステップを含む。残念ながら、この方法は、複数の参照があるデータを何度も再組み立てすることになる。更に、得られた大きなデータセットの送信は、時間と帯域幅を消費する。これらの問題は、サーバ故障が発生した場合など、データを複製してその元のソース・ストレージプールに戻さなければならないときにも起こる。以上の点を鑑みて、これらの問題を考慮したシングルインスタンス・ストレージプールを複製するための有効なシステム及び方法が望まれている。
【課題を解決するための手段】
【０００５】
コンピュータシステムの様々な実施態様を開示する。一実施態様において、コンピュータシステムは、少なくとも２つのシングルインスタンス・ストレージプールを含み、各ストレージプールは、１台又は複数台のバックアップサーバを含む。第１のバックアップサーバは、第１のストレージプールの１つ又は複数のデータセグメントを識別する第１の重複除外リスト（de-duplicated list）を、第２のストレージプールと関連付けられた第２のバックアップサーバに送るように構成される。第２のバックアップサーバは、第１のバックアップサーバからの第１のリストの受け取りに応じて、第１のリストを第２のストレージプールに対して重複除外(de-duplicate)して、１つ又は複数のデータセグメントの少なくともサブセットを識別する第２の重複除外リストを作成し、第２のリストを第１のバックアップサーバに送るように構成される。第１のバックアップサーバは、第２のリストを受け取り、かつ１つ又は複数のデータセグメントのサブセットを第２のバックアップサーバに送るように構成される。第２のバックアップサーバは、１つ又は複数のデータセグメントのサブセットの受け取りに応じて、サブセットを第２のストレージプールに追加するように構成される。
【０００６】
更に他の実施態様において、第１又は第２のシングルインスタンス・ストレージプールに記憶された各データセグメントごとに、（ｉ）データセグメントを識別する関連付けられたフィンガープリントと、（ii）バックアップのためにデータセグメントのコピーを受け取る、１台又は複数台のクライアントのそれぞれへの参照も記憶される。一実施態様において、第１のリストは、各データセグメントの関連付けられた参照を含み、第２のバックアップサーバは、データセグメントと各データセグメントの関連付けられた参照を第２のシングルインスタンス・ストレージプールに対して重複除外するように構成される。
【０００７】
以上その他の実施態様は、以下の説明と添付図面を検討することにより明らかになるであろう。
【発明を実施するための最良の形態】
【０００８】
本発明は様々な修正と代替形態が可能であるが、特定の実施形態が図面に例として示され、本明細書に詳細に説明されている。しかしながら、図面と詳細な説明は、本発明を開示した特定の形態に限定するものではなく、むしろ本発明が、添付の特許請求の範囲によって定義されたような本発明の精神と範囲内にあるすべての修正物、等価物、代替物を対象として含むことを理解されたよう。
【０００９】
図１は、計算処理システム１００の一実施形態を示す。図示したように、システム１００は、任意台数の固定クライアントコンピュータを表すデスクトップクライアント１１０、１２０を含む。システム１００は、また、ラップトップコンピュータやハンドヘルドコンピュータなどの任意台数のモバイルクライアント計算処理装置を表すモバイルクライアント１３０、１４０を含む。システム１００は、更に、バックアップ媒体１５５、１６５をそれぞれ含むバックアップサーバ１５０、１６０を含む。バックアップ媒体１５５、１６５は、テープやディスクなどのリムーバブルメディア、さらには、ハードディスク、メモリ、又はバックアップサーバ１５０、１６０と関連付けられた他の記憶装置でよい。代替の実施形態では、バックアップ媒体１５５、１６５は、バックアップサーバ１５０、１６０と別でもよい。クライアント１１０、１２０、１３０、１４０とサーバ１５０、１６０はそれぞれ、ネットワーク１７０に結合されている。ネットワーク１７０は、広域ネットワーク（ＷＡＮ）／インターネット及び／又は１台又は複数台のモデムを介して公衆交換電話網（ＰＳＴＮ）に接続される１つ又は複数のローカルエリアネットワーク（ＬＡＮ）を含む。
【００１０】
代替の実施形態において、クライアントの数とタイプは、デスクトップクライアント１１０，１２０や、モバイルクライアント１３０，１４０に限定されない。ほぼ任意の数と組み合わせのデスクトップクライアントとモバイルクライアントをネットワーク１７０に、モデムバンクの様々な組み合わせを介して、あるいはＬＡＮ接続、無線接続、ＷＡＮリンクなどによって直接接続することができる。また、様々なときに１台又は複数台のクライアントがオフラインで動作することができる。更に、動作中、個々のクライアント接続のタイプは、モバイルユーザが場所を移動してネットワーク１７０に接続し、切断し、再接続するときに変化する。
【００１１】
示したシステム１００は、クライアントとサーバで構成され、代替実施形態において、ネットワーク１７０に接続された各装置は、様々なときにクライアントとサーバのどちらかの役割をする。更に他の代替実施形態において、システム１００は、集中制御サービスを含む場合と含まない場合があるピアツーピアネットワークを含んでもよい。
【００１２】
システム１００内で、クライアント１１０、１２０、１３０、１４０のいずれかと関連付けられたデータを保護したい場合がある。クライアントデータを保護するために、様々なバックアップ操作が可能である。例えば、一実施形態において、バックアップサーバ１５０及び／又はバックアップ媒体１５５が、第１のストレージプール内の１台又は複数台のクライアントからデータを記憶する。１台又は複数台のクライアントからのデータの第２のコピーが、バックアップサーバ１６０及び／又はバックアップ媒体１６５上の第２のストレージプールに記憶される。動作の際、それぞれのクライアント１１０、１２０、１３０、１４０上にあるデータ保護ソフトウェアが、バックグラウンドで動作してデータバックアップを実行することができる。バックアップの頻度と記憶場所は、データ保護の緊急性、媒体格納スペースの可用性、ネットワーク接続状態、企業ポリシーを含む様々な要素に依存することがある。例えば、一実施形態において、バックアップサーバ１５０上のストレージプールからのデータは、バックアップサーバ１６０上のストレージプールに複製される。そのような複製は、スケジュールに従って、又は管理ポリシーやセキュリティポリシーによって決定された他の時間、あるいは企業の他の要件を満たすように行われる。更に、様々なときに、複製されたデータが、逆方向に複製されることがある。例えば、バックアップサーバ１５０上のストレージプールからバックアップサーバ１６０上のストレージプールに複製されたデータが、バックアップサーバ１５０上のストレージプールに逆方向に複製される。逆の複製は、不注意な削除、システム障害、災害などによって失われたデータの再格納などの様々な理由で行われる。
【００１３】
次に図２に移り、バックアップサーバ１５０、１６０の概略的なブロック図を示す。示したようなバックアップサーバ１５０は、シングルインスタンス・ストレージ（ＳＩＳ）制御部２１０、バックアップ媒体２２０、複製ＳＩＳ制御部２４０を含む。バックアップサーバ１５０は、第１のストレージプールを一緒に構成する１台又は複数台のバックアップサーバを表す。バックアップ媒体２２０は、データエントリー２３０Ａ〜２３０Ｎを含む。本明細書で後に文字を付けて参照番号で示されている要素は、参照番号単独で集合的に示されることがある。例えば、データエントリー２３０Ａ〜２３０Ｎは、データエントリー２３０と呼ばれる場合がある。各エントリ２３０は、データ２３４と関連したメタデータ２３２を含む。同様に、バックアップサーバ１６０は、シングルインスタンス・ストレージ制御部２５０、バックアップ媒体２６０、複製ＳＩＳ制御部２８０を含む。バックアップサーバ１６０は、第２のストレージプールを共に構成する１台又は複数台のバックアップサーバを表す。バックアップ媒体２６０は、データエントリー２７０Ａ〜２７０Ｎを含む。各エントリ２７０は、データ２７４と関連したメタデータ２７２を含む。
【００１４】
動作中、クライアントは、バックアップサーバ１５０にデータをバックアップする。例えば、クライアント上で動作するバックアップエージェントは、ネットワーク１７０を介してバックアップサーバ１５０にデータエンティティを送信する。データエンティティは、本明細書で使用されるとき、１つ又は複数のファイル及び／又はファイルのセグメントあるいは他のデータ構造を含む。バックアップサーバ１５０内で、ＳＩＳ制御部２１０は、データエンティティを受け取り、受け取ったデータエンティティの重複除外（de-duplication）を実行し、得られたデータとメタデータを１つ又は複数のエントリ２３０として記憶する。重複除外は、本明細書で使用されるとき、データエンティティの複数のコピーを見つけるステップと、それらのコピーを、エンティティの単一コピーと各コピーのエンティティへの参照を加えたものに置き換えるステップとを含むプロセスを指す。データエンティティのコピーは、あるエンティティのデジタルフィンガープリントを別のエンティティのフィンガープリントと比較することにより識別することができる。フィンガープリントが合致した場合、２つのエンティティは、互いのコピーであると見る。データエンティティのデジタルフィンガープリントは、ハッシュ関数などの何らかの関数をデータエンティティに適用することによって作成することができる。一実施形態において、デジタルフィンガープリントは暗号化される。一実施形態では、フィンガープリント生成機能は、メッセージダイジェストアルゴリズム５（ＭＩＤ５）ハッシュ関数を含む。代替のハッシュ関数には、データエンティティを識別するためのセキュアハッシュアルゴリズム（ＳＨＡ）、チェックサム、シグネチャデータ、その他適切な機能、暗号その他などがある。バックアップ媒体２２０内の各エントリ２３０は、データエンティティ２３４と、重複除外中に生成されたデータエンティティ２３４への参照を含む関連付けられたメタデータ２３２とを含む。エントリ２３０の更なる詳細は後述する。
【００１５】
データは、バックアップサーバ１６０上のバックアップ媒体２６０内に同じように記憶されてもよい。更に、データは、様々なときに、あるストレージプールから別のストレージプールに複製される。より具体的には、一実施形態において、複製ＳＩＳ制御部２４０は、１組のデータエンティティを集めて、それらのデータエンティティをバックアップ媒体２２０からバックアップ媒体２６０に転送する。複製ＳＩＳ制御部２８０が１組のデータエンティティを集め、そのデータエンティティをバックアップ媒体２６０からバックアップ媒体２２０に転送する逆の複製を実行することもできる。複製ＳＩＳ制御部２４０と２８０の動作の更なる詳細は後述する。
【００１６】
図３は、図２のエントリ２３０又は２７０を表わすエントリ３１０の一実施形態の概略的なブロック図である。各エントリ３１０は、メタデータ部分３２０と関連するデータ部分３３０を含む。メタデータ３２０は、図示したような参照３２１〜３２３などの１つ又は複数のメタデータ参照を含む。各参照は、関連データ３３０について記述する情報を含む。例えば、参照３２１は、データエンティティ名３４１、データサイズ３５１、データ３３０のフィンガープリント３６１、バッチ番号３７１を含む。データ３３０に対する関連付けられた参照３２１が作成された特定のバックアップ操作を識別するために、バッチ番号３７１が使用される場合がある。参照３２２、３２３のための類似のデータを示す。各参照には、タイプ、バージョン番号、所有権、許可、修正時間、エラーコードなどの他の情報が含まれてもよい。他の形式のメタデータ及び／又は識別子は、当業者に明らかであろう。
【００１７】
図４は、バックアップサーバ１５０の一実施形態で詳細なブロック図である。ＳＩＳ制御部２１０、バックアップ媒体２２０、複製ＳＩＳ制御部２４０の他に、バックアップ履歴２４５が示されている。動作において、複製５１５制御部２４０は、ＳＩＳ制御部２１０からのバックアップ更新を申し込み、対応するエントリをバックアップ履歴２４５に記憶する。より具体的には、バックアップ操作中に、ＳＩＳ制御部２１０は、バッチ番号が付けられた一塊りのデータセグメントを受け取る。バッチ番号は、申し込んでいる複製ＳＩＳ制御部２４０に送られる。一実施形態では、バックアップは増分的であり、即ちデータエンティティが修正されたときに新しいデータセグメントだけがバックアップサーバ１５０に送られる。受け取ったバッチ番号ごとに、複製ＳＩＳ制御部２４０は、バックアップ履歴２４５内にエントリを作成してもよい。例えば、示した実施形態において、複製ＳＩＳ制御部２４０は、バックアップ履歴２４５内にエントリ２９０〜２９２を作成する。各エントリはそれぞれのバッチ番号を含む。バックアップ履歴２４５内のエントリは、前回の複製操作以後受け取ったバックアップバッチに対応する。複製する際、バックアップ履歴２４５に記憶されたエントリは、すべてのバックアップ媒体２２０を複製するのではなく、複製すべきバッチを決定するために使用される。複製が完了した後で、バックアップ履歴２４５を消去することができる。
【００１８】
図５は、データセットを重複除外した後でそのデータセットをストレージプールに記憶するプロセス５００の一実施形態を示す。プロセス５００は、最初に、バックアップデータセットなどの一群のデータセグメントと関連付けられたフィンガープリントのリストを受け取る（ブロック５１０）。リスト内の各フィンガープリントは、１つ又は複数の参照を含む場合があり、各参照は、ソースがデータセグメントのコピーを有することを示す。例えば、複数のバックアップエージェントが、データセグメントのコピーをバックアップデータセットに提供すると、バックアップデータセットは、各ソースエージェントへの参照と共にセグメントのシングルインスタンスを含む。フィンガープリントのリストを受け取った後、フィンガープリントが選択される（ブロック５２０）。選択されたフィンガープリントは、ストレージプール内のフィンガープリントと比較される（ブロック５３０）。選択されたフィンガープリントが、ストレージプール内に既にあるどのデータセグメントのフィンガープリントとも合致しない場合（決定ブロック５４０）、フィンガープリントとその関連付けられた参照はリスト上に維持される（ブロック５４２）。選択されたフィンガープリントが、ストレージプール内に既にあるデータセグメントのフィンガープリントと合致した場合（決定ブロック５４０）、選択されたフィンガープリントと関連付けられた参照は、ストレージプールからの合致しているフィンガープリントと既に関連付けられている参照と比較される（決定ブロック５５０）。参照が、合致しているフィンガープリントに対するどの既存の参照とも合致しない場合、参照は、リスト上に維持される（ブロック５５２）。参照が、合致しているフィンガープリントに対するどれかの既存の参照と合致する場合、参照はリストから削除される。参照をすべて比較した後、合致しているフィンガープリントはリストから取り出され（ブロック５６０）、合致しなかった参照が保持される。選択されたフィンガープリントとその参照を比較し終わった後、選択されたフィンガープリントが、リスト上の最後のフィンガープリントである場合は（決定ブロック５７０）、リストの重複除外が完了し、重複除外リストが戻される（ブロック５８０）。他の状況では、別のフィンガープリントが選択され（ブロック５７５）、プロセス５００は、フィンガープリントと参照の比較が各リストエントリごとに実行されるように、ブロック５３０に戻る。
【００１９】
図６は、シングルインスタンス・ストレージプールにバックアップデータセットを追加するプロセス６００の一実施形態を示す。プロセス６００は、最初に、重複除外されたバックアップデータバッチを受け取る（ブロック６１０）。例えば、クライアントサーバコンピュータネットワーク内のバックアップサーバが、ネットワーク内のクライアント上で動作するバックアップエージェントからバックアップストレージプールに記憶されるデータバッチを受け取ることができる。更に、バッチは、図５に示したようなプロセスに従ってフィルタリングされる場合がある。代替の実施形態において、バックアップデータバッチが送信クライアントによって重複除外されない場合は、バックアップデータバッチは、受信バックアップサーバによって受け取られたときに重複除外されてもよい。データバッチを受け取った後、バッチ内の各項目＃が、申し込みリストに追加されてもよい（ブロック６３０）。申し込みリストの項目は、複製制御部に転送され（ブロック６４０）、そこでバックアップ履歴に記憶されてもよい（ブロック６５０）。更に、重複除外されたバッチからの新しいデータセグメントが、シングルインスタンス・ストレージプールに追加されてもよく（ブロック６６０）、重複除外されたバッチから既存のデータセグメントへの新しい参照が、シングルインスタンス・ストレージプール内の関連データセグメントに追加されてもよい（ブロック６７０）。すべての新しいデータセグメントと参照がシングルインスタンス・ストレージプールに追加された後、プロセス６００は完了する（ブロック６８０）。
【００２０】
図７は、シングルインスタンス・ストレージプールを複製するプロセス７００の一実施形態を示す。プロセス７００では、複製ソース（図７の左側）からのストレージプールが、複製ターゲット上のターゲットプールに複製される（図７の右側）。複製ソースと複製ターゲットは、例えば２つのバックアップサーバでよい。プロセス７００は、最初に、複製ソースに複製要求を受け取る（ブロック７１０）。複製ソースは、複製要求に応じて、データセグメントのリストと参照から成る履歴を複製ターゲットに送る（ブロック７２０）。一実施形態において、履歴は、前回複製されてからソースシングルインスタンス・ストレージプール内で変更されたデータセグメントのリストと参照を含んでもよい。複製ターゲットは、履歴の受け取りに応じて、ターゲットのシングルインスタンス・ストレージプールに対して履歴を重複除外し（ブロック７３０）、重複除外した履歴を複製ソースに戻す（ブロック７４０）。複製ソースは、重複除外された履歴の受け取りに応じて、対応する重複除外されたデータバッチを組み立て（ブロック７５０）、重複除外されたデータバッチを複製ターゲットに転送する（ブロック７６０）。複製ターゲットは、重複除外されたデータバッチの受け取りに応じて、重複除外されたデータバッチからターゲットのシングルインスタンス・ストレージプールにデータセグメントと参照を追加する（ブロック７７０）。すべてのバッチされたデータセグメントと参照が、ターゲットのシングルインスタンス・ストレージプールに追加された後、プロセス７００は完了する（ブロック７８０）。
【００２１】
図８は、シングルインスタンス・ストレージプールを逆方向に複製するプロセス８００の一実施形態を示す。プロセス８００において、逆方向複製ソース（図８の左側）からのストレージプールが、逆方向複製ターゲット上のターゲットプールに逆方向に複製される（図８の右側）。逆方向複製ソースと逆方向複製ターゲットは、例えば、２つのバックアップサーバでもよい。プロセス８００は、最初に、逆方向複製ソースに逆方向複製要求を受け取る（ブロック８１０）。逆方向複製ソースは、逆方向複製要求に応じて、重複除外したローカルのストレージプールエントリのリストを組み立て（ブロック８２０）、そのリストを逆方向複製ターゲットに送る（ブロック８３０）。一実施形態において、リストは、データセグメントと対応するエントリと、最後に逆方向に複製してからソースシングルインスタンス・ストレージプール内で変更された参照を含むことができる。リストの受け取りに応じて、逆方向複製ターゲットは、そのリストをターゲットのシングルインスタンス・ストレージプールに対して重複除外し（ブロック８４０）、重複除外リストを逆方向複製ソースに戻す（ブロック８５０）。逆方向複製ソースは、重複除外リストの受け取りに応じて、対応する重複除外したデータバッチを組み立て（ブロック８６０）、重複除外されたデータバッチを逆方向複製ターゲットに転送することができる（ブロック８７０）。逆方向複製ターゲットは、重複除外されたデータバッチの受け取りに応じて、重複除外されたデータバッチからターゲットのシングルインスタンス・ストレージプールにデータセグメントと参照を追加する（ブロック８８０）。バッチされたデータセグメントと参照がすべてターゲットのシングルインスタンス・ストレージプールに追加された後で、プロセス８００は完了する（ブロック８９０）。
【００２２】
前述の実施形態が、ソフトウェアで構成することができることに注意されたい。そのような実施形態において、方法及び／又は手順を実現するプログラム命令は、コンピュータ可読媒体上に伝送又は記憶される。プログラム命令を記憶するように構成された多数のタイプの媒体が使用可能であり、そのような媒体には、ハードディスク、フロッピディスク、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ、プログラマブルＲＯＭ（ＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、その他の様々な形態の揮発性又は不揮発性記憶装置がある。
【００２３】
以上の実施形態を詳細に説明したが、上記の開示を完全に理解した後で多くの変更及び修正が当業者に明らかになるであろう。添付の特許請求の範囲はそのような変更と修正をすべて含むように意図されている。
【図面の簡単な説明】
【００２４】
【図１】コンピュータのシステムの一実施形態を示す図である。
【図２】１対のバックアップサーバの一実施形態の概略ブロック図である。
【図３】ストレージプールデータエントリーの一実施形態を示す図である。
【図４】バックアップサーバの一実施形態の詳細なブロック図である。
【図５】データセットをストレージプールに記憶する前に重複除外する方法の一実施形態を示す図である。
【図６】バックアップデータセットをシングルインスタンス・ストレージプールに追加する方法の一実施形態を示す図である。
【図７】シングルインスタンス・ストレージプールを複製する方法の一実施形態を示す図である。
【図８】シングルインスタンス・ストレージプールを逆方向に複製する方法の一実施形態を示す図である。
【符号の説明】
【００２５】
１００  システム
１１０，１２０  デスクトップクライアント
１３０，１４０  モバイルクライアント
１５０，１６０  バックアップサーバ
１５５、１６５  バックアップ媒体
１７０  ネットワーク
【図１】
2008251011.tif 000003
【図２】
2008251011.tif 000004
【図３】
2008251011.tif 000005
【図４】
2008251011.tif 000006
【図５】
2008251011.tif 000007
【図６】
2008251011.tif 000008
【図７】
2008251011.tif 000009
【図８】
2008251011.tif 000010