(57)【要約】      （修正有）【課題】バックアップストレージシステムの中に格納されたスナップショットおよび関連するジャーナルエントリのバックアップを包括的に管理する。【解決手段】システムは、ホストと、ストレージシステムと、バックアップストレージシステムとを含む。ホストによって発行された命令に応答して、ストレージシステムは、指定された時点における、または指定された期間内のデータのイメージを復元するのに必要とされるスナップショットおよびジャーナルエントリを選択し、バックアップストレージシステムにそのスナップショットおよびジャーナルエントリのバックアップをとる。ストレージシステムは、そのバックアップを管理して、後の時点で元のデータが復元されることが可能であるようにする。【選択図】図１
2007317186.tif 000002
【特許請求の範囲】
【請求項１】
ａ．ネットワーク相互接続を介して、バックアップコントローラモジュールを含むホストに結合されたストレージシステムであって、
ｉ．前記ホストからの少なくとも１つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも１つのデータボリュームと、
ｉｉ．ある時点でとられた、前記少なくとも１つのデータボリュームの中に格納されたホストデータの少なくとも１つのスナップショットイメージを格納するように動作可能な少なくとも１つのスナップショットボリュームと、
ｉｉｉ．前記少なくとも１つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも１つのジャーナルレコードを格納するように動作可能な少なくとも１つのジャーナルボリュームと、
ｉｖ．コントローラとを含むストレージシステムと、
ｂ．少なくとも１つのバックアップボリュームを含み、前記ストレージシステムに動作上、結合され、前記ストレージシステムから、前記少なくとも１つのスナップショットと、前記少なくとも１つのジャーナルレコードとを含むバックアップデータを受信し、前記コントローラから命令を受信すると、前記バックアップデータを前記少なくとも１つのバックアップボリュームに書き込むように動作可能なバックアップストレージシステムとを含むコンピュータ化されたシステム。
【請求項２】
前記バックアップストレージシステムは、コントローラと、前記バックアップデータを格納するように動作可能な磁気テープライブラリシステムと、前記バックアップデータをキャッシュするように動作可能なディスクシステムとを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項３】
前記少なくとも１つのバックアップボリュームは、前記ディスクシステムおよび前記磁気テープライブラリシステムのストレージリソースから割り当てられた仮想ボリュームである、請求項２に記載のコンピュータ化されたシステム。
【請求項４】
前記バックアップストレージシステムは、前記ストレージシステムと同一のインタフェースを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項５】
前記バックアップストレージシステムは、ＶＤＬ（仮想ディスクライブラリ）を含む、請求項１に記載のコンピュータ化されたシステム。
【請求項６】
前記バックアップ命令は、バックアップ時点を指定し、前記コントローラは、前記バックアップデータの前記少なくとも１つのスナップショットと、前記バックアップデータの前記少なくとも１つのジャーナルレコードとを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにする、請求項１に記載のコンピュータ化されたシステム。
【請求項７】
前記バックアップ命令は、バックアップ期間を指定し、前記コントローラは、前記バックアップデータの前記少なくとも１つのスナップショットと、前記バックアップデータの前記少なくとも１つのジャーナルレコードとを選択して、前記バックアップ期間中の前記ホストデータが、前記バックアップデータから回復されることが可能であるようにする、請求項１に記載のコンピュータ化されたシステム。
【請求項８】
前記コントローラは、前記少なくとも１つのバックアップボリュームの利用可能性および使用ステータスについての情報を含むバックアップリソーステーブルを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項９】
前記バックアップリソーステーブルは、前記少なくとも１つのバックアップボリュームのそれぞれに関するボリューム識別子を含む、請求項８に記載のコンピュータ化されたシステム。
【請求項１０】
前記データボリュームは、少なくとも１つのジャーナルグループにグループ化され、前記コントローラは、前記ジャーナルグループ、および各ジャーナルグループ間の関係についての構成情報と、前記ジャーナルグループに関連するジャーナルボリュームと、前記ジャーナルグループに関連するスナップショットイメージとを格納するジャーナル管理テーブルを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項１１】
前記コントローラは、前記ホストからバックアップ命令を受信して、前記バックアップデータのバックアップをとるよう、前記データバックアップシステムに命令するように動作可能なバックアップマネージャを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項１２】
前記データバックアップシステムは、指定された時点における前記データボリュームの状態を回復するように動作可能である、請求項１に記載のコンピュータ化されたシステム。
【請求項１３】
前記回復中、前記データバックアップシステムは、前記バックアップボリュームから少なくとも１つのスナップショットイメージと、少なくとも１つのジャーナルレコードとを読み取り、前記読み取られたスナップショットイメージ、および前記ジャーナルレコードを前記コントローラに転送するように動作可能であり、前記コントローラは、前記読み取られたジャーナルレコードを前記スナップショットイメージに適用して、前記指定された時点における前記データボリュームの状態を獲得するように動作可能である、請求項１２に記載のコンピュータ化されたシステム。
【請求項１４】
前記バックアップストレージシステムは、前記指定された時点における前記データボリュームの状態を、前記ストレージシステムとは異なる第２のストレージシステムに回復するように動作可能である、請求項１２に記載のコンピュータ化されたシステム。
【請求項１５】
バックアップマネージャと、バックアップ管理テーブルと、バックアップリソーステーブルとを含み、前記スナップショットボリュームのコンテンツ、および前記ジャーナルボリュームのコンテンツが、前記バックアップストレージシステムに書き込まれるようにし、前記指定された時点における前記データボリュームの状態が、前記ストレージシステムとは異なる第２のストレージシステムに回復されるようにするように動作可能なバックアップ管理ホストをさらに含む請求項１２に記載のコンピュータ化されたシステム。
【請求項１６】
前記ストレージシステムは、前記スナップショットボリュームの前記コンテンツ、および前記ジャーナルボリュームの前記コンテンツを前記バックアップストレージシステムに直接に転送するように動作可能である、請求項１２に記載のコンピュータ化されたシステム。
【請求項１７】
前記ストレージシステムは、前記スナップショットボリュームの前記コンテンツ、および前記ジャーナルボリュームの前記コンテンツを、前記バックアップ管理ホストを介して、前記バックアップストレージシステムに転送するように動作可能である、請求項１２に記載のコンピュータ化されたシステム。
【請求項１８】
前記コントローラは、前記少なくとも１つのバックアップボリュームに書き込まれた前記バックアップデータの各スナップショットおよび各グループジャーナルレコードに対応する少なくとも１つのエントリを含むバックアップ管理テーブルを含む、請求項１に記載のコンピュータ化されたシステム。
【請求項１９】
前記バックアップ管理テーブルの前記少なくとも１つのエントリは、
ａ．前記バックアップデータに対応するジャーナルグループを識別するジャーナルグループ識別子と、
ｂ．前記バックアップデータに対応する前記ジャーナルグループのジャーナルグループ名と、
ｃ．スナップショットイメージ時刻、または前記ジャーナルエントリグループの開始時刻を示す開始時刻と、
ｄ．前記ジャーナルエントリグループの終了時刻を示す終了時刻と、
ｅ．前記バックアップデータを格納している前記バックアップ媒体を識別する媒体識別子と、
ｆ．前記少なくとも１つのバックアップボリューム上の前記バックアップデータのロケーションを示すアドレスと、
ｇ．前記バックアップデータの長さとを含む、請求項１８に記載のコンピュータ化されたシステム。
【請求項２０】
ａ．ネットワーク相互接続を介して、バックアップコントローラモジュールを含むホストに結合された第１のストレージシステムであって、
ｉ．前記ホストからの少なくとも１つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも１つのデータボリュームと、
ｉｉ．ある時点でとられた、前記少なくとも１つのデータボリュームの中に格納されたホストデータの少なくとも１つのスナップショットイメージを格納するように動作可能な少なくとも１つのスナップショットボリュームと、
ｉｉｉ．前記少なくとも１つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも１つのジャーナルレコードを格納するように動作可能な少なくとも１つのジャーナルボリュームとを含む第１のストレージシステムと、
ｂ．バックアップ管理ホストと、
ｃ．少なくとも１つのバックアップボリュームを含み、前記第１のストレージシステム、および第２のストレージシステムに動作上、結合されたバックアップストレージシステムであって、
ｉ．前記第１のストレージシステムから、前記少なくとも１つのスナップショットと、前記少なくとも１つのジャーナルレコードとを含むバックアップデータを受信し、
ｉｉ．前記バックアップ管理ホストから命令を受信すると、前記バックアップデータを前記少なくとも１つのバックアップボリュームに書き込み、
ｉｉｉ．前記少なくとも１つのバックアップボリュームからの前記バックアップデータの少なくとも一部分を、前記第２のストレージシステムに復元するように動作可能なバックアップストレージシステムとを含むコンピュータ化されたシステム。
【請求項２１】
前記第１のストレージシステムは、前記バックアップ管理ホストから、バックアップ時点を指定するバックアップ命令を受信するように動作可能であり、前記受信されたバックアップ命令に応答して、前記第１のストレージシステムは、前記バックアップデータの前記少なくとも１つのスナップショットと、前記バックアップデータの前記少なくとも１つのジャーナルレコードとを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにし、前記バックアップデータを前記バックアップ管理ホストに供給するように動作可能である、請求項２０に記載のコンピュータ化されたシステム。
【請求項２２】
前記第１のストレージシステムは、前記少なくとも１つのジャーナルレコードのフォーマット情報を前記バックアップ管理ホストに供給するようにさらに動作可能である、請求項２１に記載のコンピュータ化されたシステム。
【請求項２３】
前記バックアップ管理ホストは、
ａ．前記第１のストレージシステムから前記バックアップデータを受信し、
ｂ．前記受信されたバックアップデータを前記バックアップストレージシステムに供給し、
ｃ．前記第１のストレージシステムから前記少なくとも１つのジャーナルレコードの前記フォーマット情報を受信して、前記受信されたフォーマット情報を格納するようにさらに動作可能である、請求項２２に記載のコンピュータ化されたシステム。
【請求項２４】
前記バックアップストレージシステムは、
ｉ．前記バックアップ管理ホストから、バックアップ時点を指定する復元コマンドを受信し、
ｉｉ．前記バックアップボリュームの中に格納されているバックアップデータを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにし、前記バックアップデータを前記バックアップ管理ホストに供給するように動作可能である、請求項２０に記載のコンピュータ化されたシステム。
【請求項２５】
前記バックアップ管理ホストは、前記バックアップストレージシステムから前記バックアップデータを受信して、前記受信されたバックアップデータを前記第２のストレージシステムに供給するように動作可能である、請求項２０に記載のコンピュータ化されたシステム。
【請求項２６】
前記バックアップ管理ホストは、前記受信されたバックアップデータの前記ジャーナルレコードを、前記第１のストレージシステムの第１のジャーナルレコードフォーマットから、前記第２のストレージシステムの第２のジャーナルレコードフォーマットに変換するようにさらに動作可能である、請求項２５に記載のコンピュータ化されたシステム。
【請求項２７】
前記バックアップストレージシステムは、前記バックアップ管理ホストから命令を受信すると、前記第１のストレージシステムから前記バックアップデータを直接に受信するように動作可能である、請求項２０に記載のコンピュータ化されたシステム。
【請求項２８】
前記バックアップ管理ホストは、前記少なくとも１つのバックアップボリュームの利用可能性および使用ステータスについての情報を含むバックアップリソーステーブルを含む、請求項２０に記載のコンピュータ化されたシステム。
【請求項２９】
前記バックアップリソーステーブルは、前記少なくとも１つのバックアップボリュームのそれぞれに関するボリューム識別子を含む、請求項２８に記載のコンピュータ化されたシステム。
【請求項３０】
ａ．第１のストレージシステムにおいて、ホストから少なくとも１つの書き込みコマンドを受信すること、
ｂ．前記少なくとも１つの受信された書き込みコマンドに関連するホストデータをデータボリュームに書き込むこと、
ｃ．前記データボリュームに格納されたホストデータの少なくとも１つのスナップショットイメージをとること、
ｄ．前記少なくとも１つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも１つのジャーナルレコードを格納すること、
ｅ．前記ホストから、時刻を指定するバックアップ命令を受信すること、
ｆ．前記指定された時刻における前記データボリュームの中のデータを回復するのに必要な少なくとも１つのスナップショットイメージと、少なくとも１つのジャーナルレコードとを選択すること、および
ｇ．前記選択されたスナップショットイメージ、および少なくとも１つのジャーナルレコードをバックアップボリュームに書き込むことを含む方法。
【請求項３１】
前記指定された時刻は、ある時点である、請求項３０に記載の方法。
【請求項３２】
前記指定された時刻は、ある期間である、請求項３０に記載の方法。
【請求項３３】
前記バックアップボリュームから少なくとも１つのスナップショットイメージと、少なくとも１つのジャーナルレコードとを読み取り、前記少なくとも１つのジャーナルエントリを前記少なくとも１つのスナップショットイメージに適用することを含む、指定された回復時刻における前記データボリュームの中の前記ホストデータの少なくとも一部分を回復することをさらに含む請求項３０に記載の方法。
【請求項３４】
前記回復されたホストデータを前記データボリュームに書き込むことをさらに含む請求項３３に記載の方法。
【請求項３５】
前記ホストデータの少なくとも一部分を前記回復することは、前記第１のストレージシステムとは異なる第２のストレージシステムに行われる、請求項３３に記載の方法。
【請求項３６】
前記選択されたスナップショットイメージ、および少なくとも１つのジャーナルレコードは、前記第１のストレージシステムから前記バックアップボリュームに直接に送信される、請求項３５に記載の方法。
【請求項３７】
前記バックアップボリュームから読み取られた前記ジャーナルレコードを、前記第１のストレージシステムの第１のジャーナルレコードフォーマットから、前記第２のストレージシステムの第２のジャーナルレコードフォーマットに変換することをさらに含む請求項５５に記載の方法。
【請求項３８】
前記選択することは、
ｉ．スナップショットイメージおよびジャーナルエントリの最も早い時刻と最も遅い時刻を特定すること、
ｉｉ．前記指定された時刻が、前記最も早い時刻と前記最も遅い時刻の間にあるかどうかを調べること、
ｉｉｉ．前記指定された時刻が、前記最も遅い時刻より後であり、前記指定された時刻が将来にある場合、前記指定された時刻が来るまで待つこと、
ｉｖ．前記指定された時刻が、前記最も早い時刻と前記最も遅い時刻の間にある場合、前記指定された時刻より前の最後のスナップショットイメージを選択すること、および
ｖ．前記選択されたスナップショットイメージの時点と、前記指定された時刻との間にジャーナルエントリが存在する場合、それらすべてのジャーナルエントリをさらに選択することを含む、請求項３１に記載の方法。
【請求項３９】
前記選択することは、
ｉ．スナップショットイメージおよびジャーナルエントリの最も早い時刻と最も遅い時刻を特定すること、
ｉｉ．前記指定された期間が、前記最も早い時刻と前記最も遅い時刻の間にあるかどうかを調べること、
ｉｉｉ．前記指定された期間の終了時刻が、前記最も遅い時刻より後であり、前記指定された期間の前記終了時刻が、将来にある場合、前記指定された期間の前記終了時刻が来るまで待つこと、
ｉｖ．前記指定された期間が、前記最も早い時刻と前記最も遅い時刻の間にある場合、前記指定された期間の開始時刻より前の最後のスナップショットイメージを選択すること、
ｖ．前記選択されたスナップショットイメージの前記時刻と、前記指定された期間の前記終了時刻との間にスナップショットイメージが存在する場合、それらすべてのスナップショットイメージをさらに選択すること、および
ｖｉ．ｉｖで選択された前記スナップショットイメージの前記時刻と、前記指定された期間の前記終了との間にジャーナルエントリが存在する場合、それらすべてのジャーナルエントリをさらに選択することを含む、請求項３２に記載の方法。
【請求項４０】
前記バックアップボリュームに書き込まれる各スナップショット、および各ジャーナルレコードセットに関して、
ｉ．前記バックアップデータに対応するジャーナルグループを識別するジャーナルグループ識別子と、
ｉｉ．前記バックアップデータに対応する前記ジャーナルグループの名前と、
ｉｉｉ．スナップショットイメージ時刻または前記ジャーナルエントリグループの開始時点を示す開始時刻と、
ｉｖ．前記ジャーナルエントリグループの終了時点を示す終了時刻と、
ｖ．前記バックアップデータを格納する前記バックアップ媒体を識別する媒体識別子と、
ｖｉ．前記バックアップボリューム上の前記バックアップデータのロケーションを示すアドレスと、
ｖｉｉ．前記バックアップデータの長さとを含む少なくとも１つのエントリをバックアップ管理テーブルに挿入することをさらに含む請求項３０に記載の方法。
【請求項４１】
ａ．バックアップ管理ホストにおいて、ジャーナルグループ、バックアップボリューム、および時刻情報によって指定されるバックアップ目標を指定すること、
ｂ．ストレージシステムにおいて、前記時刻情報によって識別されたデータの回復を保証するスナップショットおよびジャーナルエントリを選択すること、
ｃ．前記指定されたバックアップボリュームに、前記選択されたスナップショットおよびジャーナルエントリのバックアップを実行すること、
ｄ．前記バックアップ管理ホストに、前記バックアップボリュームの最高の使用中のアドレス、およびジャーナルエントリのフォーマットを戻すこと、および
ｅ．前記バックアップボリュームの前記戻された最高の使用中のアドレス、およびジャーナルエントリの前記フォーマットを前記バックアップ管理ホストにおいて格納することを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願明細書は、参照により開示の全体が本願明細書に組み込まれている、２００６年５月２３日に出願した米国特許出願第１１／４３９６１０号の一部継続出願である。
【０００２】
また、本願明細書は、参照により開示の全体が本願明細書に組み込まれている、本願明細書と同一の日付に出願した、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｉｇｒａｔｉｏｎ  ｏｆ  ＣＤＰ  Ｖｏｌｕｍｅｓ  Ｂｅｔｗｅｅｎ  Ｓｔｏｒａｇｅ  Ｓｕｂｓｙｓｔｅｍｓ」（整理番号ＣＡ１５３０）という名称の、本願明細書と所有者が共通である同時係属の米国特許出願第  号にも関連する。
【０００３】
本発明は、コンピュータストレージシステムに関し、詳細には、データのバックアップおよび回復に関する。
【背景技術】
【０００４】
従来、様々な方法が、データストレージボリュームの中のデータが失われるのを防止するのに使用されてきた。通常の従来の方法は、定期的に（例えば、１日に１回）、バックアップ媒体（例えば、磁気テープ）にデータのバックアップを行うことである。データが、復元される必要がある場合、バックアップ媒体の中に保存されたデータが、読み取られて、新たなボリュームに書き込まれる。しかし、以上の方法は、バックアップがとられた時点におけるデータのイメージを復元することだけしかできない。したがって、復元されたデータも壊れていた場合、前の期間、または次の期間にとられたバックアップデータ全体が、復元される必要がある。
【０００５】
最近、ジャーナリング能力を有するストレージシステムが、開発されている。ジャーナリングは、データが失われるのを防止する方法の１つである。ジャーナリング法では、ある時点におけるストレージボリュームの中のすべてのデータのイメージ（通常、スナップショットと呼ばれる）が、作成され、格納される。スナップショットが作成され、格納された後、スナップショットの時点より後にボリュームに行われた変更の履歴（つまり、ジャーナル）が、保持される。データを復元することは、ジャーナルをスナップショットに適用することによって達せられる。したがって、データは、様々な時点におけるイメージに復元されることが可能である。参照により本願明細書に組み込まれている米国特許出願公開第２００４／０２６８０６７Ａ１号、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｂａｃｋｕｐ  ａｎｄ  Ｒｅｃｏｖｅｒｙ  Ｓｙｓｔｅｍ  Ｕｓｉｎｇ  Ｓｔｏｒａｇｅ  Ｂａｓｅｄ  Ｊｏｕｒｎａｌｉｎｇ」が、そのようなストレージシステムを開示する。開示されるストレージシステムは、ボリュームの定期的なスナップショットをとり、スナップショットがとられた後のボリュームに対する変更のジャーナルを保持する。スナップショットおよびジャーナルエントリは、データボリュームとは別に格納される。そのようなストレージシステムは、従来のバックアップ方法に取って代わることができるように思われるが、依然、ストレージシステム障害が起きた場合にバックアップデータを保全するために、バックアップデータコピーをバックアップ媒体に移す必要性がある。
【０００６】
米国特許出願第１１／４３９６１０号、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｏｆ  Ｍａｎａｇｉｎｇ  Ｂａｃｋｕｐ  Ｄａｔａ  ａｎｄ  Ｊｏｕｒｎａｌ」が、ある時点、またはある期間内のスナップショットおよびジャーナルエントリのバックアップをとって、その時点、またはその期間内のデータが、そのバックアップデータから復元されることが可能であるようにするための方法を開示する。前述の特許出願は、バックアップ媒体（例えば、磁気テープ）の中に格納されたバックアップを管理するための方法をさらに開示する。しかし、バックアップ媒体の代わりに、従来のストレージシステムと同一のインタフェース（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）を有するストレージシステムが、最近、バックアップデータを格納するのに、しばしば、使用される。それらのストレージシステムは、通常、ＳＡＴＡハードドライブまたは磁気テープなどの安価な媒体を含み、媒体の費用を抑えている。本発明では、それらのストレージシステムを、「バックアップストレージシステム」と呼び、特に、磁気テープを含むバックアップストレージシステムは、ＶＤＬ（仮想ディスクライブラリ）と呼ばれる。バックアップストレージシステムでは、データ記憶領域は、ボリュームごとに管理され、ボリュームの中のデータには、従来のストレージシステム（ランダムにアクセスされることが可能な）と同じようにアクセスが行われることが可能である。
【０００７】
したがって、必要とされているのは、バックアップストレージシステムの中に格納されたスナップショット、および関連するジャーナルエントリのバックアップをとり、それらのバックアップを包括的に管理する方法を提供する技術である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の方法論は、データのバックアップおよび回復のための従来の技術に関連する以上、およびその他の問題の１つまたは複数を未然に防ぐ方法およびシステムを対象とする。
【課題を解決するための手段】
【０００９】
本発明の方法論の一態様によれば、ネットワーク相互接続を介してホストに結合されたストレージシステムを含むコンピュータ化されたシステムが、提供される。ホストは、バックアップコントローラモジュールを含む。ストレージシステムは、ホストからの少なくとも１つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも１つのデータボリュームと、その少なくとも１つのデータボリュームの中に格納されたホストデータの、ある時点にとられた少なくとも１つのスナップショットイメージを格納するように動作可能な少なくとも１つのスナップショットボリュームと、少なくとも１つのジャーナルレコードを格納するように動作可能な少なくとも１つのジャーナルボリュームとを含む。前述のジャーナルレコードは、その少なくとも１つのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む。ストレージシステムは、コントローラをさらに含む。本発明のコンピュータ化されたシステムは、バックアップボリュームを組み込んだバックアップストレージシステムをさらに含み、バックアップボリュームは、ストレージシステムに結合されて、ストレージシステムからバックアップデータを受け取り、コントローラから命令を受け取ると、そのバックアップデータをバックアップボリュームに書き込むように構成される。バックアップデータは、前述の少なくとも１つスナップショットと、少なくとも１つのジャーナルレコードとを含む。
【００１０】
本発明の方法論の別の態様によれば、第１のストレージシステムを含むコンピュータ化されたシステムが、提供される。ストレージシステムは、ネットワーク相互接続を介してホストに結合され、ホストからの少なくとも１つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも１つのデータボリュームと、その少なくとも１つのデータボリュームの中に格納されたホストデータの少なくとも１つのスナップショットイメージを格納するように動作可能な少なくとも１つのスナップショットボリュームと、少なくとも１つのジャーナルレコードを格納するように動作可能な少なくとも１つのジャーナルボリュームとを含む。スナップショットイメージは、ある時点でとられる。ジャーナルレコードは、その少なくとも１つのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む。ホストは、バックアップコントローラモジュールを含む。本発明のコンピュータ化されたシステムは、バックアップ管理ホストと、バックアップボリュームを含むバックアップストレージシステムとをさらに含む。バックアップストレージシステムは、第１のストレージシステム、および第２のストレージシステムに動作上、結合され、ストレージシステムからバックアップデータを受け取り、バックアップ管理ホストから命令を受け取ると、そのバックアップデータをバックアップボリュームに書き込み、バックアップボリュームからのバックアップデータの少なくとも一部分を第２のストレージシステムに復元するように動作可能である。バックアップデータは、前述の少なくとも１つのスナップショットと、少なくとも１つのジャーナルレコードとを含む。
【００１１】
本発明のさらに別の態様によれば、コンピュータによって実施される方法、および前述の方法を実施するコンピュータプログラムを具現化するコンピュータ可読媒体が、提供される。本発明の方法によれば、ホストからの書き込みコマンドは、ストレージシステムにおいて受け取られ、その書き込みコマンドに関連するホストデータが、データボリュームに書き込まれる。データボリュームの中に格納されたホストデータの少なくとも１つのスナップショットイメージがとられ、そのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む少なくとも１つのジャーナルレコードが、格納される。時刻を指定するバックアップ命令が、ホストから受信されると、その指定された時刻におけるデータボリュームの中のデータを回復するのに必要な、少なくとも１つのスナップショットイメージ、および少なくとも１つのジャーナルレコードが、選択されて、バックアップボリュームに書き込まれる。
【００１２】
本発明の方法論のさらに別の態様によれば、コンピュータによって実施される方法、および前述の方法を実施するコンピュータプログラムを具現化するコンピュータ可読媒体が、提供される。本発明の方法によれば、バックアップ目標が、バックアップ管理ホストにおいて指定される。前述のバックアップ目標は、ジャーナルグループ情報、バックアップボリューム情報、および時刻情報によって指定される。その後、スナップショットおよびジャーナルエントリが、ストレージシステムにおいて選択されて、時刻情報によって識別されたデータの回復、ならびに選択されたスナップショットおよびジャーナルエントリのバックアップが、指定されたバックアップボリュームに実行されることを確実にする。前述の方法は、バックアップ管理ホストに、最高の使用中のバックアップボリュームアドレス、およびジャーナルエントリのフォーマットを戻すこと、ならびに戻された最高の使用中のバックアップボリュームアドレス、およびジャーナルエントリのフォーマットをバックアップ管理ホストにおいて格納することをさらに含む。
【００１３】
本発明に関連するさらなる態様は、一部は、以下の説明で陳述され、一部は、その説明から明白となり、あるいは本発明の実施から知ることができる。本発明の諸態様は、以下の詳細な説明、および添付の特許請求の範囲において特に指摘される様々な要素および態様の諸要素および組み合わせによって実現され、得られることが可能である。
【００１４】
以上、および以下の説明は、単に例示および説明のためであり、主張される発明、または発明の応用をいかなる形でも限定することを意図するものではないことを理解されたい。
【００１５】
本願明細書に組み込まれ、その一部を成す添付の図面は、本発明の諸実施形態を例示し、説明とともに、本発明の技術の諸原理を説明し、例示する役割をする。
【発明を実施するための最良の形態】
【００１６】
以下の詳細な説明では、同一の機能要素が同一の符号で示されている添付の図面を参照する。前述の添付の図面は、例として、限定としてではなく、本発明の諸原理と合致する特定の実施形態およびインプリメンテーションを示す。それらのインプリメンテーションは、当業者が、本発明を実施できるようにするだけ十分に詳細に説明され、他のインプリメンテーションが利用されてもよいこと、および本発明の趣旨および範囲を逸脱することなく、様々な要素の構造上の変更および/または代替が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されてはならない。さらに、説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形態で実施されても、専用のハードウェアの形態で実施されても、あるいはソフトウェアとハードウェアの組み合わせで実施されてもよい。
【００１７】
第１の実施形態
図１は、本発明の概念によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図を提供する。ストレージシステム１００がアクティブにされると、プロダクションデータボリューム２０４のスナップショットが、とられる。この文脈における「スナップショット」という用語は、所与の時点におけるデータボリュームのデータイメージを慣例的に指す。システム要件およびインプリメンテーションとともに、その他の要因にも応じて、スナップショットは、データボリューム全体のものであることも、データボリュームの一部、またはいくつかの部分のものであることも可能である。ストレージシステム１００の通常の動作の間に、ホスト１４０からデータボリューム２０４に書き込み動作が発行されるごとに、ジャーナルエントリが、行われる。以下に説明するとおり、適切なスナップショットに一連のジャーナルエントリを適用することにより、任意の時点に関して、将来、データが回復されることが可能である。さらに、ストレージシステム１００は、ホスト１４０からの要求に応答して、磁気テープライブラリシステム１２０内の磁気テープ１２６にスナップショットおよびジャーナルエントリのバックアップをとるように構成される。
【００１８】
システム構成
図２は、本発明の方法が実施されることが可能なシステムの例示的な構成を示す。図２に示されるとおり、ホスト１４０が、ＳＡＮ１５０を介してストレージシステム１００に接続される。ＳＡＮ１５０は、スイッチとケーブルとから成り、ホスト１４０とストレージシステム１００の間で、ＦＣ−ＳＷ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｗｉｔｃｈｅｄ  Ｆａｂｒｉｃ）標準に準拠する通信を確立することができるようになっている。
【００１９】
ホスト１４０は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどに基づいて実施されることが可能である。ホスト１４０は、ＣＰＵ１４１と、メモリ１４２と、ＦＣアダプタ１４３とを含む。ホスト１４０は、ＦＣ（ファイバチャネル）アダプタ１４３を介してストレージシステム１００に接続される。本発明の概念を実現するプログラムのいくつかが、ＣＰＵ１４１を使用してホスト１４０によって実行される。
【００２０】
ストレージシステム１００は、コントローラ１０１と、ディスクハウジング１０２とを含むことが可能である。コントローラ１０１は、ＣＰＵ１０３と、メモリ１０４と、キャッシュメモリ１０６と、チャネル制御部１０８と、データコントローラ１０７と、ディスク制御部１１０と、不揮発性メモリ１０５とを含む。ディスクハウジング１０２は、複数のハードディスクドライブ１１２と、スイッチ１１１とを含む。図１９に示されるとおり、各ハードディスクドライブ１１２は、当業者には周知のＦＣ−ＳＷ標準に準拠する通信機能を提供するＦＣアダプタ１５０５を使用して実施されるファイバチャネルインタフェースを有する。ディスクハウジング１０２内のハードディスクドライブ１１２は、ディスク制御部１１０と通信を確立することができるように、ケーブル１６０およびスイッチ１１１を介してディスク制御部１１０に接続される。やはり図１９に示されるとおり、各ハードディスクドライブ１１２は、ディスク制御部１１０からのデータ入力／出力要求を処理するＣＰＵ１５００およびメモリ１５０１とともに、様々な管理情報および管理テーブルを格納する不揮発性メモリ１５０２も有する。最後に、各ディスクドライブ１１２は、データを物理的に格納する磁気媒体を含む、物理ディスク１５０４を含む。以上の構成要素は、内部バス１５０３で互いに接続される。ディスク制御部１１０は、ＣＰＵ１０３からの命令に従ってハードディスクドライブ１１２とデータを交換するためのインタフェースである。ディスク制御部１１０は、当業者には周知のＦＣ−ＳＷ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｗｉｔｃｈｅｄ  Ｆａｂｒｉｃ）標準に準拠して、ハードディスクドライブ１１２にデータ入力／出力要求を伝送するように構成される。前述の入力／出力要求は、ハードディスクドライブ１１２を制御する。ＣＰＵ１０３は、ストレージシステム１００の全体的な機能を制御する。その目的で、ＣＰＵ１０３は、メモリ１０４の中に格納されているマイクロプログラムを実行して、チャネル制御部１０８、ディスク制御部１１０、データコントローラ１０７、およびその他のシステム構成要素を制御するようにする。キャッシュメモリ１０６は、各チャネル制御部１０８とディスク制御部１１０の間で交換されるデータを一時的に格納する役割をする。データコントローラ１０７は、ＣＰＵ１０３の制御下で、各チャネル制御部１０８とキャッシュメモリ１０６の間、またはキャッシュメモリ１０６とディスク制御部１１０の間におけるデータ転送を実行する。不揮発性メモリ１０５は、様々な管理情報および管理テーブルを格納する役割をする。コントローラ１０１は、いわゆるＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術による特定のＲＡＩＤレベル（例えば、０、１、または５）に従ってハードディスクドライブ１１２を制御する。複数のハードディスクドライブ１１２から構築されたＲＡＩＤシステムは、１つのディスクグループ（以降、ＲＡＩＤグループと呼ぶ）として管理される。ホスト１４０からアクセス可能な別々のデータストレージユニットの役割をする論理ボリュームが、各ＲＡＩＤグループ内に形成される。ＬＵＮ（論理ユニット番号���と呼ばれる識別子が、各論理ボリュームに割り当てられて、そのような論理ボリュームが、入力／出力操作の際にアドレス指定されることが可能であるようになる。ＲＡＩＤ構成情報は、メモリ１０４の中に格納され、ＣＰＵ１０３が、データＲＥＡＤ命令またはデータＷＲＩＴＥ命令を実行する際に、ＣＰＵ１０３によって使用される。さらに、説明される実施形態では、コントローラ１０１は、書き込み動作のジャーナリングとデータボリューム２０４のスナップショットのコーディネータの役割をするように構成される。ディスク制御部１１０は、当業者には周知のＦＣ−ＳＷ標準に準拠して、ケーブル１１３およびスイッチ１１１を介して、複数のハードディスクドライブ１１２に接続される。ファイバチャネルハードディスクドライブ１１２は、複数のケーブル１６０によってスイッチ１１１に接続される。本発明の概念を実現するプログラムのいくつかが、ＣＰＵ１０３を使用してストレージシステム１００によって実行される。
【００２１】
やはり図２に示されるとおり、ストレージシステム１００が、ＳＡＮ（ストレージエリアネットワーク）１５０を介して磁気テープライブラリシステム１２０に接続される。磁気テープライブラリシステム１２０は、バックアップデータを格納するためのデータストレージユニットライブラリシステムの一例に過ぎない。当業者には認められるように、他の適切なストレージシステムを使用して、データのバックアップコピーを格納することもでき、本発明は、いずれの特定のバックアップストレージシステムにも限定されない。
【００２２】
磁気テープライブラリシステム１２０は、光ディスクとともに、バックアップデータストレージユニットの例である、磁気テープ１２６に、また磁気テープ１２６から、高位レベルストレージシステム（第１の実施形態では、高位レベルシステムは、ストレージシステム１００である）によって使用される情報を書き込むため、また読み取るための読み取り／書き込み装置１２５を含む。ストレージライブラリシステム１２０は、磁気テープ１２６を保持する、ラック、ホルダ、またはシェルフ１２７も含むことが可能である。ハンドラ１２８および１２９が、レール１３０上を移動して、読み取り／書き込み装置１２５とシェルフ１２７の間でテープを搬送する。コントローラ１２１が、読み取り／書き込み装置１２５、ならびにハンドラ１２８および１２９の動作を、前述の高位レベルストレージシステムからのコマンドまたは要求に応じて、制御する。コントローラ１２１は、ＣＰＵ１２２と、メモリ１２３とを含むことが可能である。
【００２３】
機能図
図３は、本発明の概念の第１の実施形態によるストレージシステムの例示的な機能図を示す。図３に示されるとおり、ホスト１４０が、バックアップコントローラ２１０を含み、コントローラ２１０は、ホスト１４０のユーザ（または管理者）から受け取られた入力に応じて、ある時点、またはある期間を指定するバックアップ要求をストレージシステム１００に送信する。
【００２４】
ストレージシステム１００の構成要素は、ジャーナルマネージャ２００と、ジャーナル管理テーブル２０２と、バックアップマネージャ２０１と、バックアップ管理テーブル２０３とを含む。ジャーナルマネージャ２００は、ストレージボリュームスナップショットをとり、ジャーナル管理テーブル２０２を使用してジャーナルエントリを保つ。バックアップマネージャ２０１は、以下に詳細に説明するとおり、スナップショットとジャーナルエントリのセットのバックアップを、磁気テープライブラリシステム１２０内の磁気テープ１２６上に作成する。
【００２５】
スナップショットおよびジャーナルエントリ
データボリューム２０４は、ジャーナルグループ２０５に編成され、ジャーナルグループ２０５は、ホスト１４０からデータボリューム２０４への書き込み動作のジャーナリングが保証される、データボリューム２０４の最小単位である。関連するジャーナルレコードは、ホスト１４０からデータボリューム２０４への書き込み動作の適切な順序を反映する。本発明のストレージシステムのジャーナリング機能によって生成されるジャーナルデータは、１つまたは複数のジャーナルボリューム２０８の中に格納されることが可能である。
【００２６】
ストレージシステム１００は、ジャーナルグループ２０５を含むデータボリューム２０４のスナップショット２０７を作成する。例えば、スナップショット２０７は、そのスナップショットがとられた時点におけるジャーナルグループ２０５の中のデータボリューム２０４のコンテンツを反映する。当業者には周知である、スナップショットイメージを作成するためのいくつかの方法が、存在する。スナップショットデータを含む１つまたは複数のスナップショットボリューム２０６が、ストレージシステム１００内で提供される。生成されたスナップショットは、１つまたは複数のスナップショットボリューム２０６の中に格納されることが可能である。さらに、ジャーナルグループ２０５、スナップショット２０７、およびジャーナルボリューム２０８と関連する情報を格納するジャーナル管理テーブル２０２が、提供される。
【００２７】
図４は、ジャーナルの例示的なインプリメンテーションにおいて使用される例示的な情報を示す。ジャーナルは、ストレージシステム１００によってホスト１４０から受信された書き込み要求に応答して、生成される。ジャーナルは、ジャーナルヘッダ３０９と、ジャーナルデータ３１０とを含む。ジャーナルヘッダ３０９は、ジャーナルヘッダに関連付けられた、対応するジャーナルデータ３１０についての情報を含む。ジャーナルデータ３１０は、書き込み動作の対象であるデータ（書き込みデータ）を含む。このタイプのジャーナルは、「ＡＦＴＥＲジャーナル」とも呼ばれる。
【００２８】
図４に示されるとおり、ジャーナルヘッダ３０９は、オフセット番号（ＪＮＬ＿ＯＦＳ）３２０と、アドレス（ＪＮＬ＿ＡＤＲ）３０３と、データ長（ＪＮＬ＿ＬＥＮ）３０４と、書き込み時刻（ＪＮＬ＿ＴＩＭＥ）３０５と、シーケンス番号（ＪＮＬ＿ＳＥＱ）３０６と、ジャーナルボリューム識別子（ＪＮＬ＿ＪＶＯＬ）３０７と、ジャーナルデータアドレス（ＪＮＬ＿ＪＡＤＲ）３０８とを含む。
【００２９】
オフセット番号ＪＮＬ＿ＯＦＳ３０２により、ジャーナルグループ２０５の中の特定のデータボリューム２０４が識別される。データボリュームには、第０番のデータボリュームから始まり、第１番のデータボリューム、第２番のデータボリュームといった具合に番号が付けられる。オフセット番号は、０、１、２などであることが可能である。ＪＮＬ＿ＯＦＳ３０２により、書き込み動作の対象であったのが、ジャーナルグループ２０５の中のデータボリューム２０４であるかが識別される。オフセット番号は、図５のＤＶＯＬ＿ＯＦＦＳ４２０に対応し、書き込み動作に応答してジャーナルエントリが行われると、決定される。
【００３０】
ＪＮＬ＿ＡＤＲ３０３により、データが書き込まれるべきデータボリューム２０４における開始アドレスが識別される。例えば、アドレスは、ブロック番号（ＬＢＡ、論理ブロックアドレス）として表されることが可能である。
【００３１】
ＪＮＬ＿ＬＥＮ３０４は、書き込みデータのデータ長を表す。通常、ＪＮＬ＿ＬＥＮ３０４は、ブロック数として表される。
【００３２】
ＪＮＬ＿ＴＩＭＥ３０５は、書き込み要求がストレージシステム１００に到着した時刻を表す。書き込み時刻は、暦日、時、分、秒、およびミリ秒さえ含むことが可能である。この時刻は、コントローラ１０１またはホスト１４０によって与えられることが可能である。
【００３３】
ＪＮＬ＿ＳＥＱ３０６は、各書き込み要求に割り当てられる番号である。所与のジャーナルグループ２０５内のすべてのシーケンス番号は、固有である。シーケンス番号は、ジャーナルエントリが作成された際に、ジャーナルエントリに割り当てられる。
【００３４】
ＪＮＬ＿ＪＶＯＬ３０７により、ジャーナルデータ３１０に関連するジャーナルボリューム２０８が識別される。この識別子は、ジャーナルデータ３１０を含むジャーナルボリュームを示す。ジャーナルデータ３１０は、ジャーナルヘッダ３０９を含むジャーナルボリュームとは異なるジャーナルボリュームの中に格納されている可能性があることに留意されたい。
【００３５】
ＪＮＬ＿ＪＡＤＲ３０８は、ジャーナルデータ３１０を含む、関連するジャーナルボリューム２０８の中のジャーナルデータ３１０の開始アドレスを含む。
【００３６】
図４は、ジャーナルボリューム２０８が、２つのデータ領域、すなわち、ジャーナルヘッダ領域３００およびジャーナルデータ領域３１１を含むことを示す。ジャーナルヘッダ領域３００は、ジャーナルヘッダ３０９だけを含み、ジャーナルデータ領域３１１は、ジャーナルデータ３１０だけを含む。ジャーナルヘッダ３０９は、固定サイズのデータ構造である。ジャーナルヘッダ３０９は、ジャーナルヘッダエリア３００の先頭から、順次に割り当てられる。この順次の編成は、ジャーナルエントリの時間的な順序に対応する。後述するとおり、「最も古い」ジャーナルエントリである、リストの中の最初のジャーナルエントリを指し示すデータが、提供される。通常、所与のシーケンス番号（シーケンス番号フィールド、ＪＮＬ＿ＳＥＱ３０６の中に格納された）、または所与の書き込み時刻（時刻フィールド、ＪＮＬ＿ＴＩＭＥ３０５の中に格納された）に関するジャーナルヘッダ３０９を探し出すことが必要である。
【００３７】
ジャーナルヘッダ３０９およびジャーナルデータ３１０は、時間的な順序で、ジャーナルボリューム２０８のそれぞれの領域の中に格納される。このため、ジャーナルヘッダ３０９およびジャーナルデータ３１０が、ジャーナルボリューム２０８の中に格納される順序は、割り当てられたシーケンス番号と同一である。ジャーナル情報３０９、３１０は、それぞれの領域３００、３１１の範囲内でラップする。
【００３８】
ジャーナル管理テーブル
図５は、ジャーナル管理テーブル２０２の詳細を示す。ジャーナルヘッダ領域３００およびジャーナルデータ領域３１１を管理するため、各領域に関するポインタが、必要とされる。前述したとおり、ジャーナル管理テーブルは、ジャーナルグループ２０５の構成情報、およびジャーナルグループの間の関係、関連するジャーナルボリューム２０８、およびスナップショットイメージ２０７を保持する。
【００３９】
図５に示されるジャーナル管理テーブル２０２は、例示的な管理テーブル、およびテーブルのコンテンツを示す。ジャーナル管理テーブル２０２は、ジャーナルグループＩＤ（ＧＲＩＤ）４００と、ジャーナルグループ名（ＧＲＮＡＭＥ）４０１と、ジャーナル属性（ＧＲＡＴＴＲ）４０２と、ジャーナルステータス（ＧＲＳＴＳ）４０３と、シーケンス番号（ＳＥＱ）４０４と、データボリュームの数（ＮＵＭ＿ＤＶＯＬ）４０５と、データボリュームのリスト（ＤＶＯＬ＿ＬＩＳＴ）４０６と、ジャーナルボリュームの数（ＮＵＭ＿ＪＶＯＬ）４０７と、ＪＩ＿ＨＥＡＤ＿ＶＯＬ４０８と、ＪＩ＿ＨＥＡＤ＿ＡＤＲ４０９と、ＪＯ＿ＨＥＡＤ＿ＶＯＬ４１０と、ＪＯ＿ＨＥＡＤ＿ＡＤＲ４１１と、ＪＩ＿ＤＡＴＡ＿ＶＯＬ４１２と、ＪＩ＿ＤＡＴＡ＿ＡＤＲ４１３と、ＪＯ＿ＤＡＴＡ＿ＶＯＬ４１４と、ＪＯ＿ＤＡＴＡ＿ＡＤＲ４１５と、ジャーナルボリュームのリスト（ＪＶＯＬ＿ＬＩＳＴ）４１６と、スナップショットイメージのリスト（ＳＳ＿ＬＩＳＴ）４１７とを格納する。
【００４０】
ＧＲＩＤ４００は、ストレージシステム１００における特定のジャーナルグループ２０５を示す。このＩＤは、ストレージシステム１００内のジャーナルマネージャ２００によって、ストレージシステム１００のユーザまたは管理者が、その特定のジャーナルグループ２０５を定義した際に、割り当てられる。
【００４１】
ＧＲＮＡＭＥ４０１は、人間が認識できる識別子でジャーナルグループ２０５を識別する。この名前は、ストレージシステム１００のユーザまたは管理者によって入力され、ユーザまたは管理者が、その特定のジャーナルグループ２０５を定義すると、ジャーナルマネージャ２００によってフィールドの中に保存される。
【００４２】
ＧＲＡＴＴＲ４０２は、ジャーナルグループ２０５に関連する。ＧＲＡＴＴＲ４０２は、２つの属性、すなわち、ＭＡＳＴＥＲおよびＲＥＳＴＯＲＥを示すことが可能である。ＭＡＳＴＥＲ属性は、ジャーナルグループ２０５が、ジャーナリングされていることを示す。ＲＥＳＴＯＲＥ属性は、ジャーナルグループが、ジャーナルから復元されていることを示す。
【００４３】
ＧＲＳＴＳ４０３は、ジャーナルグループ２０５に関連する。ＧＲＳＴＳ４０３は、２つのステータス、すなわち、ＡＣＴＩＶＥおよびＩＮＡＣＴＩＶＥを示すことが可能である。
【００４４】
ＳＥＱ４０４は、ジャーナルヘッダ３０９の中で使用されるシーケンス番号のソースの役割をするカウンタである。新たなジャーナルを作成する際、ＳＥＱフィールド４０４が、読み取られて、その新たなジャーナルに割り当てられる。次に、ＳＥＱ４０４は、増分されて、ジャーナル管理テーブル２０２に再び書き込まれる。
【００４５】
ＮＵＭ＿ＤＶＯＬ４０５は、所与のジャーナルグループ２０５の中に含まれるデータボリューム２０４の数を示す。
【００４６】
ＤＶＯＬ＿ＬＩＳＴ４０６は、ジャーナルグループ２０５の中のデータボリューム２０４をリストアップする。特定のインプリメンテーションでは、ＤＶＯＬ＿ＬＩＳＴ４０６は、図５に見られるデータボリューム情報を保持するデータ構造の最初のエントリに対するポインタである。各データボリューム情報は、オフセット番号（ＤＶＯＬ＿ＯＦＦＳ）４２０を含む。例えば、ジャーナルグループ２０５が、３つのデータボリューム２０４を含む場合、オフセット値は、０、１、および２であることが可能である。オフセット値は、ストレージシステム１００のユーザまたは管理者によってデータボリューム２０４が、ジャーナルグループ２０５に追加されると、ジャーナルマネージャ２００によって各データボリューム２０４に割り当てられる。データボリューム識別子（ＤＶＯＬ＿ＩＤ）４２１により、ストレージシステム１００全体の中でデータボリュームが一意に識別される。また、ストレージシステム１００のユーザまたは管理者が、データボリューム２０４を追加する場合も、ユーザまたは管理者は、データボリューム識別子を使用して、そのデータボリューム２０４を指定する。ポインタ（ＤＶＯＬ＿ＮＥＸＴ）４２２が、ジャーナルグループ２０５の中の次のデータボリューム２０４に関する情報を保持するデータ構造をポイントし、さもなければ、ポインタ（ＤＶＯＬ＿ＮＥＸＴ）４２２は、ＮＵＬＬ値である。
【００４７】
ＮＵＭ＿ＪＶＯＬ４０７は、ジャーナルグループ２０５に関連するジャーナルデータヘッダ３０９およびジャーナルデータ３１０を包含するのに使用されるジャーナルボリューム２０８の数を示す。
【００４８】
ＪＩ＿ＨＥＡＤ＿ＶＯＬ４０８により、次の新たなジャーナルヘッダ３０９を格納するジャーナルヘッダ領域３００を含むジャーナルボリューム２０８が識別される。
【００４９】
ＪＩ＿ＨＥＡＤ＿ＡＤＲ４０９により、次のジャーナルヘッダ３０９が格納されるジャーナルボリューム２０８上のロケーションのアドレスが識別される。
【００５０】
ＪＯ＿ＨＥＡＤ＿ＶＯＬ４１０により、最も古いジャーナルヘッダ３０９を含むジャーナルヘッダ領域３００を格納するジャーナルボリューム２０８が識別される。
【００５１】
ＪＯ＿ＨＥＡＤ＿ＡＤＲ４１１により、最も古いジャーナルを含むジャーナルヘッダ領域３００内のジャーナルヘッダ３０９のロケーションのアドレスが識別される。
【００５２】
ＪＩ＿ＤＡＴＡ＿ＶＯＬ４１２により、次のジャーナルデータ３１０が格納されるジャーナルデータ領域３１１が識別される。
【００５３】
ＪＩ＿ＤＡＴＡ＿ＡＤＲ４１３により、次のジャーナルデータ３１０が格納されるジャーナルデータ領域３１１の中の特定のアドレスが識別される。
【００５４】
ＪＯ＿ＤＡＴＡ＿ＶＯＬ４１４により、最も古いジャーナルのデータを含むジャーナルデータ領域３１１を格納するジャーナルボリューム２０８が識別される。
【００５５】
ＪＯ＿ＤＡＴＡ＿ＡＤＲ４１５により、ジャーナルデータ領域３１１内の最も古いジャーナルデータ３１０のロケーションのアドレスが識別される。
【００５６】
ＪＶＯＬ＿ＬＩＳＴ４１６は、特定のジャーナルグループ２０５に関連するジャーナルボリューム２０８のリストを含む。特定のインプリメンテーションでは、ＪＶＯＬ＿ＬＩＳＴ４１６は、ジャーナルボリューム２０８に関する情報のデータ構造に対するポインタである。図５に示されるとおり、各データ構造は、所与のジャーナルグループ２０５に関連する特定のジャーナルボリューム２０８を識別するオフセット番号（ＪＶＯＬ＿ＯＦＳ）２０３を含む。例えば、あるジャーナルグループが、２つのジャーナルボリューム２０８に関連している場合、各ジャーナルボリュームは、０または１によって識別される可能性がある。ジャーナルボリューム識別子（ＪＶＯＬ＿ＩＤ）４２４により、ストレージシステム１００内のジャーナルボリューム２０８が一意に識別される。最後に、ポインタ（ＪＶＯＬ＿ＮＥＸＴ）４２５が、ジャーナルグループに関連する次のジャーナルボリュームに関係する次のデータ構造エントリをポイントし、さもなければ、ポインタ（ＪＶＯＬ＿ＮＥＸＴ）４２５は、ＮＵＬＬ値である。
【００５７】
ＳＳ＿ＬＩＳＴ４１７は、所与のジャーナルグループ２０５に関連するスナップショットイメージ２０７のリストである。この特定のインプリメンテーションでは、ＳＳ＿ＬＩＳＴ４１７は、図５に示されるとおり、スナップショット情報データ構造に対するポインタである。各スナップショット情報データ構造は、スナップショットがとられた際に割り当てられたシーケンス番号（ＳＳ＿ＳＥＱ）４２６を含む。時刻値（ＳＳ＿ＴＩＭＥ）４２７が、スナップショットがとられた時刻を示す。ステータス（ＳＳ＿ＳＴＳ）４２８が、各スナップショットに関連し、有効な値は、ＶＡＬＩＤおよびＩＮＶＡＬＩＤを含む。ポインタ（ＳＳ＿ＮＥＸＴ）４２９が、次のスナップショット情報データ構造をポイントし、さもなければ、ポインタ（ＳＳ＿ＮＥＸＴ）４２９は、ＮＵＬＬ値である。また、各スナップショット情報データ構造は、スナップショットイメージ２０７を格納するのに使用されるスナップショットボリュームのリスト（ＳＳ＿ＬＩＳＴ）４１７も含む。図５に示されるとおり、スナップショットボリューム情報データ構造に対する（ＳＶＯＬ＿ＬＩＳＴ）４３０に対するポインタが、各スナップショット情報データ構造の中に格納される。各スナップショットボリューム情報データ構造は、スナップショットイメージの少なくとも一部分を含むスナップショットボリュームを識別するオフセット番号（ＳＶＯＬ＿ＯＦＦＳ）４３１を含む。スナップショットイメージが、セグメント化され、または別の形で分割されて、複数のスナップショットボリュームの中に格納されることが可能である。その特定のインプリメンテーションでは、オフセットにより、第ｉ番のスナップショットボリュームの中に格納されていることが可能なスナップショットイメージの一部分（セグメント、パーティションなど）を含む第ｉ番のスナップショットボリュームが識別される。各スナップショットボリューム情報データ構造は、ストレージシステム１００内のスナップショットボリュームを一意に識別するスナップショットボリューム識別子（ＳＶＯＬ＿ＩＤ）４３２と、所与のスナップショットイメージに関する次のスナップショットボリューム情報データ構造をポイントするポインタ（ＳＶＯＬ＿ＮＥＸＴ）４３３とをさらに含む。
【００５８】
ジャーナルエントリとスナップショットの間の関係
図６は、ジャーナルエントリとスナップショットの間の関係を示す。スナップショット５０２は、ジャーナルグループ２０５に属するデータボリューム２０４の第１のスナップショットイメージを表す。シーケンス番号ＳＥＱ０およびＳＥＱ１を有するジャーナルエントリ５０１が行われており、２つの書き込み動作に関するジャーナルエントリであることに留意されたい。それらのエントリは、ジャーナリングが、スナップショットがとられるのに先立つ時点で開始されていることを示す。このため、シーケンス番号ＳＥＱ２に対応する時点で、バックアップコントローラ２１０が、スナップショットをとることを開始し、ジャーナリングが開始されて以来、スナップショットがとられている間に行われたあらゆる書き込み動作が、ジャーナリングされる。このため、シーケンス番号ＳＥＱ３以上に関連する書き込み動作５００は、それらの動作がジャーナリングされていることを示す。所見として、シーケンス番号ＳＥＱ０およびＳＥＱ１によって識別されるジャーナルエントリは、破棄される、またはそれ以外で無視されることが可能である。
【００５９】
スナップショットおよびジャーナルエントリから復元すること
データを復元することは、通常、特定の時点におけるデータボリューム２０４の少なくとも一部分のデータ状態を回復することを要求する。一般に、これは、１つまたは複数のジャーナルエントリを、それらのジャーナルエントリより時間的に前にとられたスナップショットに適用する（または１つまたは複数のジャーナルエントリに従って、そのスナップショットの一部を更新する、または上書きする）ことによって達せられる。この特定のインプリメンテーションでは、ＳＥＱ４０４は、毎回、増分されて、ジャーナルエントリまたはスナップショットに割り当てられる。したがって、いずれのジャーナルエントリが、選択されたスナップショットに適用されることが可能であるかを識別するのは、簡単なことである。すなわち、関連するシーケンス番号（ＪＮＬ＿ＳＥＱ）３０６が、選択されたスナップショットに関連するシーケンス番号（ＳＳ＿ＳＥＱ）４２６より大きいジャーナルエントリ。
【００６０】
例えば、管理者が、何らかの時点、多分、データボリューム２０４の中のデータが、失われた、またはそれ以外で壊れた時点より早期の時点を指定することが可能である。各スナップショットに関する時刻フィールドＳＳ＿ＴＩＭＥ４２７が、目標時刻より早期の時刻が見つかるまで、探索される。次に、ジャーナルヘッダ領域３００内のジャーナルヘッダ３０９が、「最も古い」ジャーナルヘッダ３０９から始めて、探索される。最も古いジャーナルヘッダは、ジャーナル管理テーブル２０２の中の「ＪＯ＿」フィールド４１０、４１１、４１４、および４１５によって識別されることが可能である。ジャーナルヘッダは、シーケンス番号ＪＮＬ＿ＳＥＱ３０６が、選択されたスナップショットに関連するシーケンス番号ＳＳ＿ＳＥＱ４２６より大きい最初のヘッダを求めて、領域３００内で順次に探索される。選択されたスナップショットは、各ジャーナルエントリを１つずつ、スナップショットに順番に適用して、書き込み動作の順序を再現することにより、増分更新される。これは、ジャーナルエントリの時刻フィールドＪＮＬ＿ＴＩＭＥ３０５が、目標時刻より前である限り、続けられる。更新は、時刻フィールド３０５が、目標時刻を過ぎている最初のジャーナルエントリで止まる。
【００６１】
この特定のインプリメンテーションの一態様によれば、単一のスナップショットがとられる。その後、そのスナップショットの後に続くすべてのジャーナルエントリが、所与の時点におけるデータ状態を再構成するように適用されることが可能である。この特定のインプリメンテーションの別の態様によれば、複数のスナップショット５０２’がとられる。各スナップショットおよび各ジャーナルエントリに、シーケンス番号が、その対象（スナップショットまたはジャーナルエントリ）が記録される順序で、割り当てられる。通常、各スナップショット５０２’間で記録される多数のジャーナルエントリ５０１が存在するので、複数のスナップショットを有することにより、データを復元するより迅速な回復時間が可能になることが理解できよう。目標回復時刻に時間的に最も近いスナップショットが、選択される。次に、そのスナップショットの後に続いて行われたジャーナルエントリが適用されて、所望されるデータ状態が復元されることが可能である。
【００６２】
バックアップするスナップショットおよびジャーナルエントリを選択すること
スナップショット２０７とジャーナルエントリのバックアップをとる際、ホスト１４０上のユーザまたは管理者は、特定の時点、または特定の期間を有するジャーナルグループ２０５のバックアップ要求を送信する。ジャーナルグループ２０５は、ＧＲＩＤ４００と同一のＩＤで、またはＧＲＮＡＭＥ４０１と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム１００は、スナップショット２０７およびジャーナルエントリを選択して、ホスト１４０によって指定された時点における、またはホスト１４０によって指定された期間内のジャーナルグループ２０５のイメージを復元することができるようにする。
【００６３】
図８は、ホスト１４０からのバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択したことの結果を示す。このケースでは、ホスト１４０が、時点６００を、ジャーナルグループ２０５のイメージが保証されなければならない時点として指定した。スナップショット６０２、ならびにジャーナルエントリ６０３および６０４のバックアップが、とられる。
【００６４】
図９は、特定の時点を有するバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択することの流れ図を示す。
【００６５】
ステップ７００：バックアップマネージャ２０１が、最も早い時点と最も遅い時点のスナップショットおよびジャーナルを獲得する。これは、すべてのスナップショットおよびジャーナルエントリのＳＳ＿ＴＩＭＥ４２７フィールドおよびＪＮＬ＿ＴＩＭＥ３０５フィールドを調べることによってアーカイブされることが可能である。
【００６６】
ステップ７０１：バックアップマネージャ２０１が、ホスト１４０によって指定された時点が、ステップ７００で獲得された最も早い時点と最も遅い時点の間であるかどうかを調べる。指定された時点が、その最も早い時点と、その最も遅い時点の間である場合、マネージャ２０１は、ステップ７０４に進む。そうではない場合、マネージャ２０１は、ステップ７０２に進む。
【００６７】
ステップ７０２：バックアップマネージャ２０１は、ホスト１４０によって指定された時点が、将来であるか否かを調べる。これは、指定された時点を、コントローラ１０１によって管理される現在時刻と比較することによってアーカイブされる。指定された時点が、将来である場合、マネージャ２０１は、ステップ７０３に進む。将来ではない場合、マネージャ２０１は、その指定された時点におけるデータイメージを保証するスナップショットまたはジャーナルが、ストレージシステム１００の中に保持されていないため、エラーを戻す。
【００６８】
ステップ７０３：バックアップマネージャ２０１が、指定された時刻が来るのを待つ。
【００６９】
ステップ７０４：バックアップマネージャ２０１が、ホスト１４０によって指定された時点より前の最後のスナップショットを選択する。
【００７０】
ステップ７０５：バックアップマネージャ２０１が、ステップ７０４で選択されたスナップショットの時点と、指定された時点との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ７０６に進む。存在しない場合、マネージャ２０１は、プロセスを終了する。
【００７１】
ステップ７０６：バックアップマネージャ２０１は、ステップ７０４で選択されたスナップショットの時点と、ホスト１４０によって指定された時点との間のすべてのジャーナルエントリを選択する。
【００７２】
図１１は、ホスト１４０からのバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択したことの結果を示す。このケースでは、ホスト１４０は、期間８００を、データボリューム２０４の中のイメージが保証されなければならない期間として指定した。図１１で、期間８００は、時点８０１で始まり、時点８０２で終わる。期間８００中の任意の時点におけるボリューム２０４のイメージを再現するのに必要とされるスナップショットおよびジャーナルデータは、図１１において符号８０３で示されている。したがって、図１１に示されるとおり、スナップショット８０４、８０５、およびジャーナルエントリ８０６、８０７、８０８のバックアップがとられる。
【００７３】
図１２は、特定の期間を有するバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択することの流れ図を示す。
【００７４】
ステップ９００：バックアップマネージャ２０１は、最も早い時点と最も遅い時点のスナップショットおよびジャーナルを獲得する。これは、すべてのスナップショットおよびジャーナルエントリのＳＳ＿ＴＩＭＥ４２７およびＪＮＬ＿ＴＩＭＥ３０５を調べることによってアーカイブされることが可能である。
【００７５】
ステップ９０１：バックアップマネージャ２０１は、ホスト１４０によって指定された期間が、ステップ９００で獲得された最も早い時点と最も遅い時点の範囲内にあるかどうかを調べる。指定された期間が、その最も早い時点と、その最も遅い時点との範囲内にある場合、マネージャ２０１は、ステップ９０４に進む。範囲内にはない場合、マネージャ２０１は、ステップ９０２に進む。
【００７６】
ステップ９０２：バックアップマネージャ２０１は、ホスト１４０によって指定された期間の終了時刻が、将来であるか否かを調べ、ホスト１４０によって指定された期間の開始時刻が、最も早い時点より遅いかどうかを調べる。これは、終了時刻を、コントローラ１０１によって管理される現在時刻と比較し、開始時刻を、最も早い時点と比較することによってアーカイブされることが可能である。終了時刻が、将来である場合、マネージャ２０１は、ステップ９０３に進む。将来ではない場合、マネージャ２０１は、その指定された期間内のデータイメージを保証するスナップショットまたはジャーナルが、ストレージシステム１００の中に保持されていないため、エラーを戻す。
【００７７】
ステップ９０３：バックアップマネージャ２０１は、指定された期間の終わりが来るまで、待つ。
【００７８】
ステップ９０４：バックアップマネージャ２０１は、ホスト１４０によって指定された期間の開始より前の最後のスナップショットを選択する。
【００７９】
ステップ９０５：バックアップマネージャ２０１は、ステップ９０４で選択されたスナップショットの時点と、ホスト１４０によって指定された期間の終了時刻との間にとられたスナップショットが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ９０６に進む。存在しない場合、マネージャ２０１は、ステップ９０７に進む。
【００８０】
ステップ９０６：バックアップマネージャ２０１は、ステップ９０４で選択されたスナップショットの時点と、ホスト１４０によって指定された期間の終了時刻との間にとられたすべてのスナップショットを選択する。
【００８１】
ステップ９０７：バックアップマネージャ２０１は、ステップ９０４で選択されたスナップショットの時刻と、ホスト１４０によって指定された期間の終了時刻との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ９０８に進む。存在しない場合、マネージャ２０１は、プロセスを終了する。
【００８２】
ステップ９０８：バックアップマネージャ２０１は、ステップ９０４で選択されたスナップショットの時刻と、ホスト１４０によって指定された期間の終了時刻との間に行われたすべてのジャーナルエントリを選択する。
【００８３】
磁気テープへのバックアップ
従来の磁気テープ１２６は、データを順次に格納するため、ジャーナルヘッダ３０９およびジャーナルデータ３１０は、磁気テープ１２６に書き込まれるために特定の順序で配列される必要がある。図２０は、ジャーナルヘッダ３０９およびジャーナルデータ３１０の例示的な配列を示す。
【００８４】
ジャーナルヘッダ１６００は、第１の実施形態に関連して説明したジャーナルヘッダ３０９と非常に似通っている。しかし、ヘッダ情報の一部は、バックアップに必要とされない。以下のリストは、各ジャーナルエントリのバックアップの中に含められる情報を指定する。すなわち、
【００８５】
ＪＮＬ＿ＯＦＳ１６０２：ＪＮＬ＿ＯＦＳ３０２と同一
【００８６】
ＪＮＬ＿ＡＤＲ１６０３：ＪＮＬ＿ＡＤＲ３０３と同一
【００８７】
ＪＮＬ＿ＬＥＮ１６０４：ＪＮＬ＿ＬＥＮ３０４と同一
【００８８】
ＪＮＬ＿ＴＩＭＥ１６０５：ＪＮＬ＿ＴＩＭＥ３０５と同一
【００８９】
ＪＮＬ＿ＳＥＱ１６０６：ＪＮＬ＿ＳＥＱ３０６と同一
【００９０】
ＪＮＬ＿ＥＮＤ１６０７：このフィールドは、ジャーナルデータの終わりを示す。特定のインプリメンテーションでは、このフィールドは、ジャーナルデータの終わりを示すためのマジックナンバで埋められる。
【００９１】
ジャーナルデータ１６０１：ジャーナルデータ３１０と同一
【００９２】
第１の実施形態では、コントローラが、ジャーナルヘッダ３０９およびジャーナルデータ３１０を配列して、配列されたデータを磁気テープライブラリシステム１２０に送信し、次いで、磁気テープライブラリシステム１２０が、そのデータを磁気テープ１２５に書き込む。磁気テープライブラリシステム１２０に対する書き込み要求に応答して、磁気テープライブラリシステム１２０は、磁気テープ１２５のＩＤを戻して、後に、磁気テープ１２５が、他の磁気テープから区別されることが可能であるようにする。
【００９３】
バックアップマネージャ２０１は、スナップショットおよびジャーナルエントリのバックアップをとることを、最古のものから最新のものまで、スナップショットおよびジャーナルエントリの時点の順序で行う。図１３は、選択されたスナップショットおよびジャーナルエントリのバックアップをとることの流れ図を示す。
【００９４】
ステップ１０００：バックアップマネージャ２０１は、図９または図１２の処理フローの結果として選択されたスナップショットの中の最も早期のスナップショットのバックアップをとる。
【００９５】
ステップ１００１：バックアップマネージャ２０１は、図９または図１２の処理フローの結果として選択された、その他のスナップショットが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ１００２に進む。存在しない場合、マネージャ２０１は、ステップ１００４に進む。
【００９６】
ステップ１００２：バックアップマネージャ２０１は、ステップ１００１でバックアップされたスナップショットの時刻と、次に早期のスナップショットとの間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ１００３に進む。存在しない場合、マネージャ２０１は、ステップ１００４に進む。
【００９７】
ステップ１００３：バックアップマネージャ２０１は、ステップ１００１でバックアップされたスナップショットの時刻と、次に早期のスナップショットの時刻との間に行われたジャーナルエントリのバックアップをとる。
【００９８】
ステップ１００４：バックアップマネージャ２０１は、次に早期のスナップショットのバックアップをとる。
【００９９】
ステップ１００５：バックアップマネージャ２０１は、ジャーナルエントリの残りの部分のバックアップをとる。
【０１００】
バックアップ管理テーブル
スナップショットおよびジャーナルエントリのバックアップをとる際、バックアップマネージャ２０１は、各スナップショット、および一連のジャーナルエントリに関するエントリ（行７１０ないし７１３）を、図１０のバックアップ管理テーブル２０２上で行う。
【０１０１】
ジャーナルグループＩＤ７０１：ＧＲＩＤ４００と同一のＩＤ
【０１０２】
ジャーナルグループ名７０７：ＧＲＮＡＭＥ４０１と同一の名前
【０１０３】
開始時刻７０２：エントリが、スナップショットのバックアップに関する場合、そのスナップショットがとられた時点が、このフィールドに書き込まれる。エントリが、一連のジャーナルエントリのバックアップに関する場合、その一連のジャーナルエントリがバックアップされた最も早い時点の直前のスナップショットの時点が、このフィールドに書き込まれる。
【０１０４】
終了時刻７０３：エントリが、スナップショットのバックアップに関する場合、ＮＵＬＬが、このフィールドに書き込まれる。エントリが、一連のジャーナルエントリのバックアップに関する場合、その一連のジャーナルエントリがバックアップされた最も遅い時点が、このフィールドに書き込まれる。それらのジャーナルエントリの後にバックアップされるべき別のスナップショットが存在する場合、そのスナップショットの時点が、このフィールドに書き込まれて、最後のジャーナルエントリと次のスナップショットの間にバックアップされていないジャーナルエントリは存在しないことを示すことが可能である。
【０１０５】
媒体ＩＤ７０４：スナップショット、または一連のジャーナルエントリを保存するのに使用される磁気テープ１２６のＩＤ。このＩＤは、磁気テープライブラリシステム１２０から戻される。
【０１０６】
オフセット７０５：スナップショットまたは一連のジャーナルエントリの格納が始められる磁気テープ１２６内のオフセット
【０１０７】
長さ：７０６：磁気テープ１２６の中に保存される、スナップショットまたは一連のジャーナルエントリのデータの長さ（通常、ブロック数またはバイト数）
【０１０８】
スナップショットおよびジャーナルエントリのバックアップからの復元
磁気テープの中に格納されているスナップショットおよびジャーナルエントリのバックアップから復元する際、ホスト１４０のユーザまたは管理者は、ジャーナルグループＩＤまたはジャーナルグループ名、および復元されるべきジャーナルグループのデータイメージの時点を伴う復元要求をストレージシステム１００に送信する。その要求に応答して、ストレージシステム１００内のバックアップマネージャ２０１は、スナップショットおよびジャーナルエントリのバックアップからデータイメージを復元する。図１４は、スナップショットおよびジャーナルエントリのバックアップからジャーナルグループのデータイメージを復元することの流れ図を示す。
【０１０９】
ステップ１１００：バックアップマネージャ２０１は、スナップショットおよびジャーナルエントリがバックアップされた期間を獲得する。これは、開始時刻７０２フィールドおよび終了時刻７０３フィールドを探索することによって達せられることが可能である。時間ギャップが存在する場合、そのことは、その時間ギャップ内のデータが、バックアップされていない（その時間ギャップ内のデータイメージが、バックアップデータによって保証されていない）ことを意味する。
【０１１０】
ステップ１１０１：バックアップマネージャ２０１は、ホスト１４０によって指定された時点が、ステップ１１００で獲得された期間に入っているかどうかを調べる。入っている場合、マネージャ２０１は、ステップ１１０２に進む。入っていない場合、マネージャ２０１は、指定された時刻におけるデータイメージが、復元されることが不可能なため、エラーを戻す。
【０１１１】
ステップ１１０２：バックアップマネージャ２０１は、ホスト１４０によって指定された時点より前の最後のスナップショットを復元する。
【０１１２】
ステップ１１０３：バックアップマネージャ２０１は、ステップ１１０２で復元されたスナップショットの時点と、ホスト１４０によって指定された時点との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ２０１は、ステップ１１０４に進む。存在しない場合、マネージャ２０１は、プロセスを終了する。
【０１１３】
ステップ１１０４：バックアップマネージャ２０１は、ステップ１１０２で復元されたスナップショットの時点と、ホスト１４０によって指定された時点との間に行われたジャーナルエントリを、最も早いものから最も遅いものまで時刻順に適用する。
【０１１４】
第２の実施形態
図１５は、本発明の別の態様によるバックアップ−回復システムの別の例示的な実施形態の高レベルの一般化されたブロック図を提供する。第１の実施形態と第２の実施形態の主要な違いは、バックアップ要求が、バックアップ管理ホスト１２０５から送信され、受信されたバックアップ要求に応答して、ストレージシステム１２００が、適切なスナップショットおよびジャーナルエントリをバックアップ管理ホスト１２０５に戻すことである。第１の実施形態の場合と同様に、ストレージシステム１２００によって戻されるスナップショットおよびジャーナルエントリは、バックアップ管理ホスト１２０５によって指定された時点における、またはホスト１２０５によって指定された期間内のストレージボリュームの中のデータの回復を確実にすることである。次に、バックアップ管理ホスト１２０５は、戻されたデータを磁気テープライブラリシステム１２０１内の磁気テープ１２６に保存し、バックアップ管理テーブル１３０３を使用してバックアップデータを管理する。ネットワークに接続されたバックアップ管理ホスト１２０５上にバックアップデータを格納して、管理することにより、データは、ジャーナリング能力を有さない、異なるストレージシステム１２０３に復元されることが可能である。さらに、バックアップ管理ホストからの要求に応答して、ストレージシステム１２００が、ジャーナルエントリのフォーマットを戻し、バックアップ管理ホスト１２０５は、そのフォーマット情報を保存して、管理し、これにより、ホスト１２０５が、ジャーナルエントリを、様々なストレージシステムから送信された様々なフォーマットで管理することができるようになる。
【０１１５】
システム構成
図１６は、本発明の方法が適用されるシステムの例示的な構成を示す。図１６に示されるとおり、ホスト１２０４は、ＳＡＮ１２１１を介してストレージシステム１  １２００に接続される。ＳＡＮ１２１１は、第１の実施形態と同じようにスイッチおよびケーブルから成る。ホスト１２０４およびストレージシステム１  １２００は、第１の実施形態におけるホスト１４０およびストレージシステム１００と同一の構成要素を有する。
【０１１６】
第２の実施形態では、バックアップ管理ホスト１２０５は、ＳＡＮ１２１１を介して、やはりストレージシステム１２００に接続される。バックアップ管理ホスト１２０５は、ＣＰＵ１２０６と、メモリ１２０７と、ＦＣアダプタ１２１０とを含む。また、磁気ディスクライブラリシステム１２０１も存在し、バックアップ管理ホスト１２０５に接続される。磁気ディスクライブラリシステム１２０１は、第１の実施形態におけるシステム１２０と同一の構成要素を有する。第２の実施形態では、ストレージシステム１  １２００とは異なるストレージシステム２  １２０３およびストレージシステム３  １２１２も存在する。ストレージシステム２  １２０３は、ストレージシステム１  １２００と同一の構成要素を有するが、ジャーナリング能力を有さない。ストレージシステム３  １２１２は、ストレージシステム１  １２００と同一の構成要素およびジャーナリング能力を有するが、ジャーナルエントリのフォーマットは、ストレージシステム１  １２００とは異なる。
【０１１７】
機能図
図１７は、第２の実施形態におけるシステムの機能図を示す。
【０１１８】
バックアップ管理ホスト１２０５内には、バックアップ管理ホスト１３０２におけるユーザ（または管理者）から受信された回復要求に応じて、適切な時点または期間を選択して、ストレージシステム１２００にデータの回復を保証するバックアップマネージャ１３０２が存在する。また、バックアップマネージャ１３０２は、ユーザが、バックアップデータを使用して、後の時点でデータを復元することができるように、バックアップ管理テーブル１３０３を使用して磁気テープライブラリシステム１２０１の中に格納されたバックアップデータを管理する。
【０１１９】
ストレージシステム１２００は、ジャーナルマネージャ１３００と、ジャーナル管理テーブル１３０１とを含む。ジャーナルマネージャ１３００は、第１の実施形態の場合と同じように、スナップショットをとり、ジャーナル管理テーブル１３０１を使用してボリュームのジャーナルを保持する。
【０１２０】
バックアップするスナップショットおよびジャーナルエントリを選択すること
スナップショット２０７およびジャーナルエントリのバックアップをとる際、バックアップ管理ホスト１２０５を使用するユーザまたは管理者が、ジャーナルグループ２０５のバックアップ要求を発行する。バックアップ要求には、特定の時点情報、または特定の時期情報が付随する。ジャーナルグループ２０５は、第１の実施形態に関連して詳細に説明した、ＧＲＩＤ４００と同一のＩＤ、ＧＲＮＡＭＥ４０１と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム１２００は、スナップショット２０７、および対応するジャーナルエントリを選択し、それらをバックアップ管理ホスト１２０５に戻して、バックアップ管理ホスト１２０５が、選択された時点における、または選択された期間内のジャーナルグループ２０５のイメージを復元することができるようにする。ジャーナルエントリを戻す前に、ストレージシステム１２００は、各ジャーナルエントリを、図２０に示されるフォーマットに再フォーマットする。また、ジャーナルエントリを戻す際、ストレージシステム１２００は、図２１に示される、各ジャーナルエントリのフォーマットに関する情報も戻す。これに応答して、バックアップマネージャ１３０２は、フォーマットに任意の名前を割り当てて、その名前をバックアップ管理ホスト１２０４の中に保存する。
【０１２１】
スナップショットおよびジャーナルエントリを選択し、バックアップをとるためのプロセス、およびバックアップデータを復元するためのプロセスの動作フローは、第１の実施形態の場合と同一である。しかし、スナップショットおよびジャーナルエントリを選択するためのプロセスは、ストレージシステム１２００上のジャーナルマネージャ１３００によって実行され、スナップショットおよびジャーナルエントリのバックアップをとり、復元するためのプロセスは、バックアップ管理ホスト１３０３上のバックアップマネージャ１３０２によって実行される。また、スナップショットおよびジャーナルエントリを復元する際、バックアップマネージャ１３０２は、各ジャーナルエントリが各磁気テープ１２６上に格納されているロケーションを認識するために、バックアップ管理ホスト１２０４の中に保存されたフォーマット情報を参照する。
【０１２２】
バックアップ管理テーブル
図１８は、第２の実施形態におけるバックアップ管理テーブル１３０２の例示的なインプリメンテーションを示す。第２の実施形態のバックアップ管理テーブル１３０３は、第１の実施形態におけるテーブル２０３とはわずかに異なる。バックアップマネージャ１３０２は、他のストレージシステムのスナップショットおよびジャーナルエントリのバックアップをとる可能性があるため、ジャーナルエントリの各バックアップに関して、ジャーナルエントリのフォーマット（図２１参照）を管理する必要がある。バックアップマネージャ１３０２は、バックアップ要求に対する応答としてストレージシステム１２００から戻されたフォーマット情報を保存し、そのフォーマットに関して任意の名前（タイプ１４０４）を付けることにより、そのフォーマット情報を管理する。
【０１２３】
ジャーナルグループ名１４０１：第１の実施形態におけるジャーナルグループ名７０７と同一
【０１２４】
開始時刻１４０２：第１の実施形態における開始時刻７０２と同一
【０１２５】
終了時刻１４０３：第１の実施形態における終了時刻７０３と同一
【０１２６】
タイプ１４０４：ジャーナルエントリのフォーマットの任意の名前。この任意の名前は、ストレージシステム１２００が、バックアップ管理ホスト１２０４からのバックアップ要求に応答して、図２１に示されるジャーナルエントリのフォーマットを戻すと、バックアップマネージャ１３０２によって割り当てられる。
【０１２７】
媒体ＩＤ１４０５：第１の実施形態における媒体ＩＤ７０４と同一
【０１２８】
オフセット１４０６：第１の実施形態におけるオフセット７０５と同一
【０１２９】
長さ１４０７：第１の実施形態における長さ７０６と同一
【０１３０】
テーブル１３０３の行１４１０〜１４１３は、例示的なバックアップレコードを含む。
【０１３１】
図２１は、ストレージシステム１２００からバックアップ管理ホスト１２０５に戻される情報の例示的なフォーマットを示すテーブル１７００を表す。
【０１３２】
ＯＦＦＳＥＴ１７０１は、フィールドが始まる各ジャーナルエントリの開始からのオフセットを表す。
【０１３３】
ＳＩＺＥ１７０２は、フィールドのサイズをバイト数で表す。
【０１３４】
タイプ１７０３は、フィールドのデータタイプを表す。
【０１３５】
コンテンツ１７０４は、フィールドに何が書き込まれるかを示す。
【０１３６】
テーブル１７００の行１７１０〜１７１５は、ストレージシステム１２００からバックアップ管理ホスト１２０５に戻される情報フォーマットデータの例を含む。
【０１３７】
第３の実施形態
図２２は、本発明の第３の実施形態によるバックアップ−回復システムの例示的なインプリメンテーションの高レベルの一般化されたブロック図である。前述の第１の実施形態との違いは、バックアップマネージャ２００１が、スナップショットおよびジャーナルエントリのバックアップを、磁気テープライブラリシステム１２０内の磁気テープ１２６にではなく、バックアップストレージシステム２２０３内のバックアップボリューム２００９に格納することである。
【０１３８】
システム構成
図２３は、本発明の方法が実施されるシステムの例示的な構成を示す。この実施形態によるシステムの構成の態様のほとんどは、第１の実施形態のシステムの場合と同一である。しかし、ストレージシステム２２００を構成する構成要素にいくつかの違いが存在し、さらに、図２３に示されるシステムは、磁気テープライブラリシステムではなく、バックアップストレージシステム２２０３を含む。
【０１３９】
より詳細には、ストレージシステム２２００は、ストレージシステム２２００が、ＳＡＮ２２０８に接続され、バックアップストレージシステム２２０３にアクセスするディスク制御部２２１０を組み込むこと以外は、前述した第１の実施形態のストレージシステム１００と同一の構成要素から成る。
【０１４０】
図２４に示されるとおり、バックアップストレージシステム２２０３は、コントローラ２２０４と、ディスクハウジング２２０５と、磁気テープライブラリシステム２２０６とを含む。ディスクハウジング２２０５および磁気テープライブラリシステム２２０６はそれぞれ、前述した第１の実施形態におけるディスクハウジング１０２および磁気テープライブラリシステム１２０と同一の構成要素から成る。コントローラ２２０４は、コントローラ２２０４が、ディスクハウジング２２０５内のハードディスクドライブと、磁気テープライブラリシステム２２０６内の磁気テープの両方にアクセスするための２つのディスク制御部２３０８および２３０９を有すること以外は、前述した第１の実施形態におけるストレージシステム１００のコントローラ１０１と同一の構成要素から成る。
【０１４１】
機能図
図２５は、第３の実施形態によるストレージシステムの機能図を示す。図示される実施形態の構成要素の大半は、前述した第１の実施形態の対応する構成要素と同一である。しかし、図２５に示されるシステムは、ストレージシステム２２００にバックアップリソーステーブル２０１０を組み込み、このテーブル２０１０を使用して、バックアップマネージャ２００１は、バックアップストレージシステム２２０３内のバックアップボリューム２００９を管理する。
【０１４２】
第３の実施形態において、スナップショットおよびジャーナルエントリ、ジャーナル管理テーブル、ジャーナルエントリとスナップショットの間の関係、スナップショットおよびジャーナルエントリからの復元動作、ならびにバックアップのためにスナップショットおよびジャーナルエントリを選択することは、前述した第１の実施形態の対応する特徴と同様であることに留意されたい。
【０１４３】
バックアップストレージシステム
従来のストレージシステムと同一のインタフェース（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）を有するバックアップストレージシステムが、しばしば、バックアップデータを格納するのに使用される。それらのストレージシステムは、通常、ＳＡＴＡハードドライブまたは磁気テープなどの比較的安価な媒体に基づき、媒体の費用を抑えている。本願明細書では、それらのタイプのストレージシステムを、「バックアップストレージシステム」と呼ぶ。バックアップストレージシステムにおいて、データ記憶領域は、従来のストレージシステムと同様のボリュームを使用して管理され、ボリュームの中のデータも、従来のストレージシステムと同様に、ランダムにアクセスされることが可能である。
【０１４４】
特に、磁気テープを含むバックアップストレージシステムは、ＶＤＬ（仮想ディスクライブラリ）と呼ばれる。ＶＤＬは、ホストが、従来のストレージシステムと同一のインタフェース（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）を使用して、磁気テープの中のデータを読み取り、書き込むことを可能にする。本発明の概念の一実施形態におけるバックアップストレージシステム２２０３は、ＶＤＬの構成を表している。図２４に示されるとおり、ＶＤＬは、通常、物理的記憶媒体としてハードディスクドライブと磁気テープをともに有する。磁気テープにデータの読み取りおよび書き込みを行うことは、ハードディスクドライブよりもはるかに遅いため、ＶＤＬは、ハードディスクドライブをバッファとして使用する。ホストが、データをＶＤＬの中のボリュームに書き込む際、ＶＤＬは、そのデータをハードディスクドライブ上にまず格納する。次に、例えば、その書き込まれたデータに、ある期間にわたってアクセスが行われなかった場合、ＶＤＬは、そのデータを磁気テープに移す。
【０１４５】
バックアップリソーステーブル
バックアップマネージャ２００１は、バックアップリソーステーブル２０１０を作成して、管理する。バックアップリソーステーブル２０１０は、バックアップストレージシステム２２０３内の利用可能なバックアップボリュームに関する情報、およびそれらのボリュームの使用ステータスを格納する。図２６は、バックアップリソーステーブル２０１０の例示的な実施形態を示す。
【０１４６】
バックアップボリュームＩＤ２６０１が、バックアップストレージシステム２２０３内のそれぞれの利用可能なバックアップボリューム２００９に割り当てられる。このＩＤは、ユーザまたは管理者が、バックアップストレージシステム２２０３を接続し、バックアップマネージャ２００１が、バックアップストレージシステム２２０３、およびシステム２２０３内のバックアップボリューム２００９を見出すと、バックアップマネージャ２００１によって割り当てられる。
【０１４７】
ＷＷＮ２６０２は、特定のバックアップストレージシステム２２０３のポートのＷＷＮを示す。一般に、ＷＷＮは、ＳＡＮに接続された各システムの各ポートに割り当てられる一意の番号である。したがって、ＷＷＮを使用して、バックアップマネージャ２００１は、バックアップボリュームがいずれのバックアップストレージシステム上にあるかを識別することができる。
【０１４８】
ＬＵＮ２６０３は、バックアップストレージシステム２２０３内のバックアップボリューム２００９の特定のＬＵＮを示す。一般に、ＬＵＮは、特定のバックアップストレージシステム２２０３によってエクスポートされる各ボリュームに割り当てられる。ＬＵＮは、各ポート内に限って固有である。バックアップストレージシステム２２０３は、複数のバックアップストレージシステムが存在する場合、ＷＷＮ２６０２およびＬＵＮ２６０３を使用して、特定のバックアップボリュームを識別することができる。
【０１４９】
最低の未使用のＬＢＡ２６０４は、バックアップボリューム２００９の中でデータがまだ格納されていない最低のＬＢＡを示す。このフィールドは、バックアップマネージャ２００１が、スナップショット、または一連のジャーナルエントリをバックアップボリューム２００９にバックアップすることを完了した後に更新される。
【０１５０】
最高のＬＢＡ２６０５は、バックアップボリューム２００９の最大のＬＢＡを示す。このフィールドは、バックアップマネージャ２００１が、バックアップストレージシステム２２０３内でバックアップボリューム２００９を見出した際に、マネージャ２００１によって埋められる。
【０１５１】
バックアップストレージシステムへのバックアップ
前述した第１の実施形態において使用される磁気テープは、ホストが、データを順次に読み取る、または書き込むことを可能にするが、バックアップストレージシステム２２３は、ホストが、従来のストレージシステムのように、バックアップボリューム２００９内であればどこでもデータの読み取り、または書き込みを行うことを可能にする。しかし、バックアップデータを管理するのを容易にするのに、バックアップマネージャ２００１は、バックアップボリューム２００９を順次に使用する。つまり、バックアップマネージャ２００１は、バックアップボリューム２００９にスナップショットおよびジャーナルエントリのバックアップをとる際、最低の未使用のＬＢＡからのバックアップデータを、より高いＬＢＡに書き込む。その結果、一連のジャーナルエントリのバックアップが、図２７に示されるとおり、バックアップボリューム２００９の中に格納される。ジャーナルエントリのバックアップをとる際、バックアップマネージャ２００１は、図２０に示される、前述した第１の実施形態と同一のフォーマットに、各ジャーナルエントリを再フォーマットすることに留意されたい。
【０１５２】
バックアップ管理テーブル
バックアップマネージャ２００１は、前述した第１の実施形態におけるバックアップ管理テーブル２０３と同一の行と列から成るバックアップ管理テーブル２００３を使用して、スナップショットおよび一連のジャーナルエントリのバックアップを管理する。
【０１５３】
しかし、媒体ＩＤ７０４フィールドの中には、スナップショットまたは一連のジャーナルエントリをバックアップするのに使用されたバックアップボリューム２００９のバックアップボリュームＩＤ２６０１が、入れられる。また、オフセット７０５フィールドの中には、バックアップボリューム２００９内でバックアップデータの格納が始められたＬＢＡが、入れられる。
【０１５４】
この実施形態のシステムにおけるスナップショットおよびジャーナルエントリのバックアップから復元を行うための手続きは、前述した第１の実施形態の対応する手続きと同一であることに留意されたい。
【０１５５】
第４の実施形態
図２８は、本発明によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図である。前述した第２の実施形態との違いは、バックアップマネージャ３００２が、磁気テープライブラリシステム１２０１内の磁気テープ１２６ではなく、バックアップストレージシステム２９０１内のバックアップボリューム２００９に、スナップショットおよびジャーナルエントリのバックアップを格納することである。
【０１５６】
システム構成
図２９は、本発明の方法が適用されるシステムの例示的な構成を示す。構成のほとんどは、前述した第２の実施形態と同一である。しかし、磁気テープライブラリシステム１２０１の代わりに、バックアップストレージシステム２９０１が存在する。バックアップストレージシステム２９０１は、前述した第３の実施形態におけるバックアップストレージシステム２２０３と同一の構成要素を含む。
【０１５７】
機能図
図３０は、第４の実施形態におけるシステムの機能図を示す。構成要素のほとんどは、前述した第２の実施形態と同一である。しかし、バックアップ管理ホスト２９０４上にバックアップリソーステーブル３００４が存在し、バックアップマネージャ３００２は、このテーブル３００４を使用して、バックアップストレージシステム２９０１内のバックアップボリューム２００９を管理する。
【０１５８】
バックアップリソーステーブル３００４は、第３の実施形態におけるバックアップリソーステーブル２０１０と同一の行と列から成る。
【０１５９】
バックアップのためにスナップショットおよびジャーナルエントリを選択するための手続きは、前述した第２の実施形態によるシステムにおいて使用される対応する手続きと同一である。
【０１６０】
バックアップリソーステーブル
バックアップリソーステーブル３００４は、前述した第３の実施形態におけるバックアップリソーステーブル２０１０と同一の行と列から成り、第３の実施形態におけるバックアップマネージャ２００１が管理を行うのと同じように、バックアップ管理ホスト２９０４上のバックアップマネージャ３００２によって管理される。
【０１６１】
バックアップ管理テーブル
バックアップマネージャ３００２は、前述した第２の実施形態におけるバックアップ管理テーブル１３０３と同一の行と列から成るバックアップ管理テーブル３００３を使用して、スナップショットおよび一連のジャーナルエントリのバックアップを管理する。
【０１６２】
しかし、媒体ＩＤ１４０５フィールドの中には、スナップショットおよび一連のジャーナルエントリをバックアップするのに使用されたバックアップリソーステーブル３００４の中のバックアップボリューム２００９のバックアップボリュームＩＤ２６０１が、入れられる。
【０１６３】
また、オフセット１４０６フィールドの中には、バックアップボリューム２００９内でバックアップデータの格納が始められたＬＢＡが、入れられる。
【０１６４】
第４の実施形態のシステムにおけるスナップショットおよびジャーナルエントリのバックアップからデータを復元するための手続きは、前述した第２の実施形態の対応する手続きと同一である。
【０１６５】
第５の実施形態
図３１は、本発明によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図である。第４の実施形態では、ジャーナルマネージャ３０００が、バックアップマネージャ３００２からの命令に応じて、スナップショットおよびジャーナルエントリのデータをバックアップ管理ホスト２９０４に戻し、次に、バックアップマネージャ３００２が、スナップショットおよびジャーナルエントリのバックアップデータを、バックアップストレージシステム２９０１内のバックアップボリューム２００９に格納する。しかし、このケースでは、バックアップデータのデータフローは、バックアップデータが、２回（ストレージシステム１  ２９００からバックアップ管理ホスト２９０４に、さらに、バックアップ管理ホスト２９０４からバックアップストレージシステム２９０１に）送信されるため、ＳＡＮ２９０６のトラフィックを増大させる。
【０１６６】
第５の実施形態では、バックアップマネージャ３１０２は、スナップショットおよびジャーナルエントリのバックアップをとるよう、ストレージシステム１  ２９００に命令するだけであり、ストレージシステム１  ２９００は、バックアップストレージシステム２９０１に直接にバックアップをとる。
【０１６７】
システム構成
この実施形態に関するシステムの構成は、第４の実施形態と同一である。
【０１６８】
機能図
図３１は、第５の実施形態におけるシステムの機能図を示す。構成要素のほとんどは、第４の実施形態と同一である。しかし、ストレージシステム２２００内にバックアップエージェント３１０５が存在し、バックアップマネージャ３１０２の役割は、第４の実施形態における役割とは異なる。
【０１６９】
第４の実施形態とは異なり、バックアップマネージャ３１０２は、特定の時点、または特定の期間、ならびにスナップショット２００６およびジャーナルエントリのバックアップが格納されるべき特定のバックアップボリューム２００９を有するバックアップ要求を、ストレージシステム１  ２９００に送信するだけである。バックアップボリューム２００９は、ボリューム２００９のＷＷＮ２６０２およびＬＵＮ２６０３によって指定される。ジャーナルエントリに関して、バックアップマネージャ３１０２は、最低の未使用のＬＢＡフィールド２６０４を参照する開始ＬＢＡも指定する。また、バックアップエージェント３１０５が、以下に説明するとおり、バックアップボリュームの中にスナップショットおよびジャーナルエントリを格納するのに使用された最高のＬＢＡを戻すと、バックアップマネージャ３１０２は、最高のＬＢＡを増分し、バックアップリソーステーブル３１０４の最低の未使用のＬＢＡフィールド２６０４を、その増分された値で更新する。
【０１７０】
バックアップエージェント３１０５は、指定された時点または期間におけるデータを保証するのに必要とされるスナップショット２００６およびジャーナルエントリを選択し、図２０に示されるとおり、各ジャーナルエントリを再フォーマットする。また、バックアップエージェント３１０５は、選択されたスナップショットおよびジャーナルエントリを、バックアップストレージシステム２９０１内の指定されたバックアップボリューム２００９に格納し、ジャーナルエントリを格納するのに使用された最高のＬＢＡをバックアップ管理ホスト２９０４に戻す。
【０１７１】
バックアップボリュームを見出すこと
ユーザまたは管理者が、バックアップストレージシステム２９０１を接続すると、バックアップエージェント３１０２が、バックアップストレージシステム２９０１内のバックアップボリューム２００９を見出す。次に、バックアップエージェント３１０２は、バックアップボリューム２００９についての情報をバックアップ管理ホスト２９０４に送信する。
【０１７２】
バックアップエージェント３１０２は、各バックアップボリューム２００９に関するＷＷＮ２６０２、ＬＵＮ２６０３、最低の未使用のＬＢＡ２６０４、および最高のＬＢＡ２６０５をバックアップ管理ホスト２９０４に送信して、バックアップ管理ホスト２９０４が、バックアップリソーステーブル３００４を作成することができるようにする。バックアップ管理ホスト２９０４は、その情報を受信すると、バックアップボリュームＩＤ２６０１を各バックアップボリューム２００９に割り当てて、バックアップリソーステーブル３００４を作成する。
【０１７３】
バックアップストレージシステムへのバックアップ
スナップショット２００６およびジャーナルエントリのバックアップをとる際、バックアップ管理ホスト２９０４上のユーザまたは管理者は、特定の時点、または特定の期間、ならびにスナップショット２００６およびジャーナルエントリのバックアップが格納されるべきバックアップボリューム２００９を有する、ジャーナルグループ２００５のバックアップ要求を送信する。ジャーナルグループ２００５は、ＧＲＩＤ４００と同一のＩＤ、またはＧＲＮＡＭＥ４０１と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム２９００は、スナップショット２６００およびジャーナルエントリを選択し、スナップショット２００６およびジャーナルエントリを、バックアップストレージシステム２９０１内のバックアップボリューム２００９の中に格納する。スナップショット２００６およびジャーナルエントリを格納することを完了すると、ストレージシステム２９００は、ジャーナルエントリを格納するのに使用された最高のＬＢＡをバックアップ管理ホスト２９０４に戻す。ジャーナルエントリを格納する際、ストレージシステム２９００は、格納を行う前に、図２０に示されるフォーマットに各ジャーナルエントリを再フォーマットする。また、最高のＬＢＡをバックアップ管理ホスト２９０４に戻す際、ストレージシステム２９００は、図２０に示される各ジャーナルエントリのフォーマット自体を戻す。これに応答して、バックアップマネージャ３１０２は、フォーマットに任意の名前を割り当て、その名前をバックアップ管理ホスト２９０４上に保存する。
【０１７４】
図３２は、バックアップストレージシステムへのバックアップのフローを示す。
【０１７５】
ステップ３３００：バックアップ管理ホスト２９０４上のバックアップマネージャ３１０２が、特定の時点、または特定の期間、目標ジャーナルグループ２００５の情報、使用されるべきバックアップボリューム２００９を有するバックアップ要求を送信する。ジャーナルエントリに関するバックアップボリューム２００９に関して、マネージャ３１０２は、ジャーナルエントリを格納する開始ＬＢＡを指定する。
【０１７６】
ステップ３３０１：ストレージシステム１  ２９００上のバックアップエージェント３１０５が、指定された時点、または指定された期間におけるデータを保証するのに必要とされるスナップショットおよびジャーナルエントリを選択する。スナップショットおよびジャーナルエントリを選択することのフローは、前述した第１の実施形態と同一である。
【０１７７】
ステップ３３０２：ストレージシステム１  ２９００上のバックアップエージェント３１０５が、ステップ３３０１で選択されたスナップショットおよびジャーナルエントリを、ステップ３３００のバックアップマネージャ３１０２によるバックアップボリューム２００９に保存する。
【０１７８】
ステップ３３０３：バックアップエージェント３１０５が、バックアップボリューム２００９の中にジャーナルエントリを格納するのに使用される最高のＬＢＡをバックアップ管理ホスト２９０４に戻す。また、エージェント３１０５は、各ジャーナルエントリのフォーマットも戻す。
【０１７９】
ステップ３３０４：バックアップ管理ホスト２９０４が、バックアップ管理テーブル３１０３およびバックアップリソーステーブル３１０４を更新する。
【０１８０】
第５の実施形態におけるスナップショットおよびジャーナルエントリのバックアップからデータを復元するための手続きは、前述した第２の実施形態の対応する手続きと同一である。
【０１８１】
ハードウェアプラットフォーム実施例
図３４は、本発明の方法論の一実施形態が実施されることが可能なコンピュータ／サーバシステム３４００の一実施形態を示すブロック図である。システム３４００は、コンピュータ／サーバプラットフォーム３４０１と、周辺デバイス３４０２と、ネットワークリソース３４０３とを含む。
【０１８２】
コンピュータプラットフォーム３４０１は、コンピュータプラットフォーム３４０１の様々な部分にわたり、それらの部分の間で情報を通信するためのデータバス３４０４または他の通信機構と、情報を処理するため、ならびに他の計算タスクおよび制御タスクを実行するための、バス３４０１に結合されたプロセッサ３４０５とを含むことが可能である。また、コンピュータプラットフォーム３４０１は、様々な情報、およびプロセッサ３４０５によって実行されるべき命令を格納するための、バス３４０４に結合された、ランダムアクセスメモリ（ＲＡＭ）または他のダイナミックストレージデバイスなどの、揮発性ストレージ３４０６も含む。また、揮発性ストレージ３４０６は、プロセッサ３４０５による命令の実行中に、一時変数、または他の中間情報を格納するために使用されることも可能である。コンピュータプラットフォーム３４０１は、ＢＩＯＳ（基本入出力システム）などの、プロセッサ３４０５のための静的情報および命令、ならびに様々なシステム構成パラメータを格納するための、バス３４０４に結合された読み取り専用メモリ（ＲＯＭまたはＥＰＲＯＭ）３４０７、または他のスタティックストレージデバイスをさらに含むことが可能である。磁気ディスク、光ディスク、またはソリッドステートフラッシュメモリデバイスなどの、永続ストレージデバイス３４０８が、情報および命令を格納するために提供され、バス３４０１に結合される。
【０１８３】
コンピュータプラットフォーム３４０１は、コンピュータプラットフォーム３４０１のシステム管理者またはユーザに情報を表示するために、ＣＲＴ（陰極線管）、プラズマディスプレイ、またはＬＣＤ（液晶ディスプレイ）などの、ディスプレイ３４０９に、バス３４０４を介して結合されることが可能である。英数キー、およびその他のキーを含む入力デバイス３４１０が、情報およびコマンド選択をプロセッサ３４０５に通信するためにバス３４０１に結合される。別のタイプのユーザ入力デバイスが、情報およびコマンド選択をプロセッサ３４０４に通信するため、およびディスプレイ３４０９上のカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キーなどの、カーソル制御デバイス３４１１である。この入力デバイスは、デバイスが、平面における位置を指定することを可能にする、２つの軸、第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）における２つの自由度を通常、有する。
【０１８４】
外部ストレージデバイス３４１２が、バス３４０４を介してコンピュータプラットフォーム３４０１に接続されて、コンピュータプラットフォーム３４０１に追加の、または取り外し可能なストレージ能力をもたらすことが可能である。コンピュータシステム３４００の一実施形態では、外部の取り外し可能なストレージデバイス３４１２が、他のコンピュータシステムとのデータの交換を円滑にするのに使用されることが可能である。
【０１８５】
本発明は、本願明細書で説明する諸技術を実施するためのコンピュータシステム３４００の使用に関する。一実施形態では、本発明のシステムは、コンピュータプラットフォーム３４０１などのマシン上に存在することが可能である。本発明の一実施形態によれば、本願明細書で説明する諸技術は、プロセッサ３４０５が、揮発性メモリ３４０６の中に含まれる１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、コンピュータシステム３４００によって実行される。そのような命令は、永続ストレージデバイス３４０８などの、別のコンピュータ可読媒体から揮発性メモリ３４０６に読み込まれることが可能である。揮発性メモリ３４０６の中に含まれる命令シーケンスの実行により、プロセッサ３４０５が、本願明細書で説明するプロセスステップを実行するようにさせられる。代替の諸実施形態では、ハードワイヤド回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、本発明を実施するのに使用されてもよい。このため、本発明の諸実施形態は、ハードウェア回路とソフトウェアのいずれの特定の組み合わせにも限定されない。
【０１８６】
本願明細書で使用される「コンピュータ可読媒体」という用語は、実行のためにプロセッサ３４０５に命令を供給することに参加する任意の媒体を指す。コンピュータ可読媒体は、本願明細書で説明される諸方法および／または諸技術のいずれかを実施するための命令を担持することができる、マシン可読媒体の一例に過ぎない。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、以上には限定されない、多くの形態をとることが可能である。不揮発性媒体には、例えば、ストレージデバイス３４０８のような、光ディスクまたは磁気ディスクが含まれる。揮発性媒体には、揮発性ストレージ３４０６のような、ダイナミックメモリが含まれる。伝送媒体には、データバス３４０４を含む配線を含む、同軸ケーブル、銅線、および光ファイバが含まれる。また、伝送媒体は、無線波データ通信中、および赤外線データ通信中に生成されるような、音波または光波の形態をとることも可能である。
【０１８７】
コンピュータ可読媒体の一般的な形態には、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、フラッシュドライブ、メモリカード、他の任意のメモリチップまたはメモリカートリッジ、後段で説明する搬送波、またはコンピュータが読み取ることができる他の任意の媒体が含まれる。
【０１８８】
コンピュータ可読媒体の様々な形態が、実行のためにプロセッサ３４０５に１つまたは複数の命令の１つまたは複数のシーケンスを搬送することに関与することが可能である。例えば、命令は、リモートコンピュータから磁気ディスク上で、最初、搬送されることが可能である。代替として、リモートコンピュータが、コンピュータのダイナミックメモリに命令を読み込み、それらの命令を、モデムを使用して電話線を介して送信することができる。コンピュータシステム３４００にローカルのモデムが、電話線上でデータを受信し、赤外線送信機を使用して、そのデータを赤外線信号に変換することができる。赤外線ディテクタが、赤外線信号の中で伝送されるデータを受信し、適切な回路が、そのデータをデータバス３４０４に乗せることができる。バス３４０４は、データを揮発性ストレージ３４０６まで伝送し、ストレージ３４０６から、プロセッサ３４０５は、命令を取り出して、実行する。揮発性メモリ３４０６によって受け取られる命令は、オプションとして、プロセッサ３４０５による実行の前に、または後に、永続ストレージデバイス３４０８上に格納されてもよい。また、命令は、当技術分野で周知の様々なネットワークデータ通信プロトコルを使用して、インターネットを介してコンピュータプラットフォーム３４０１にダウンロードされてもよい。
【０１８９】
また、コンピュータプラットフォーム３４０１は、データバス３４０４に結合されたネットワークインタフェースカード３４１３のような、通信インタフェースも含む。通信インタフェース３４１３は、ローカルネットワーク３４１５に接続されたネットワークリンク３４１４に対する双方向データ通信結合を提供する。例えば、通信インタフェース３４１３は、対応するタイプの電話線に対するデータ通信接続をもたらすＩＳＤＮ（デジタル総合サービス網）カードまたはモデムであることが可能である。別の例として、通信インタフェース３４１３は、適合するＬＡＮに対するデータ通信接続をもたらすローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）であることが可能である。また、周知の８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、およびＢｌｕｅｔｏｏｔｈなどの無線リンクも、ネットワークインプリメンテーションのために使用されることが可能である。そのようないずれのインプリメンテーションにおいても、通信インタフェース３４１３は、様々なタイプの情報を表すデジタルデータストリームを伝送する電気信号、電磁信号、または光信号を送受信する。
【０１９０】
ネットワークリンク３４１３は、通常、１つまたは複数のネットワークを介して、他のネットワークリソースに対するデータ通信をもたらす。例えば、ネットワークリンク３４１４は、ローカルネットワーク３４１５を介して、ホストコンピュータ３４１６またはネットワークストレージ／サーバ３４２２に対する接続をもたらすことができる。さらに、または代替として、ネットワークリンク３４１３は、ゲートウェイ／ファイアウォール３４１７を介して、インターネットなどの、ワイドエリアネットワークまたはグローバルネットワーク３４１８に接続することができる。このため、コンピュータプラットフォーム３４０１は、リモートネットワークストレージ／サーバ３４１９のような、インターネット３４１８上のいずれの場所に位置するネットワークリソースにもアクセスすることができる。他方、コンピュータプラットフォーム３４０１も、ローカルエリアネットワーク３４１５上、および／またはインターネット３４１８上のいずれの場所に位置するクライアントによってもアクセスされることが可能である。ネットワーククライアント３４２０および３４２１は、それら自体、プラットフォーム３４０１と同様のコンピュータプラットフォームに基づいて実装されることが可能である。
【０１９１】
ローカルネットワーク３４１５とインターネット３４１８はともに、デジタルデータストリームを伝送する電気信号、電磁信号、または光信号を使用する。コンピュータプラットフォーム３４０１に、またプラットフォーム３４０１からデジタルデータを伝送する、様々なネットワークを介する信号、およびネットワークリンク３４１４上の、通信インタフェース３４１３を介する信号は、情報をトランスポートする搬送波の例示的な形態である。
【０１９２】
コンピュータプラットフォーム３４０１は、インターネット３４１８およびＬＡＮ３４１５を含む様々なネットワーク、ネットワークリンク３４１４、および通信インタフェース３４１３を介して、プログラムコードを含め、メッセージを送信し、データを受信することができる。インターネットの例では、システム３４０１は、ネットワークサーバとして動作する場合、インターネット３４１８、ゲートウェイ／ファイアウォール３４１７、ローカルエリアネットワーク３４１５、および通信インタフェース３４１３を介して、クライアント３４２０および／または３４２１上で実行されるアプリケーションプログラム向けの要求されたコードまたはデータを送信することが可能である。同様に、システム３４０１は、他のネットワークリソースからコードを受信することもできる。
【０１９３】
受信されるコードは、受信されるにつれ、プロセッサ３４０５によって実行され、かつ／または永続ストレージデバイス３４０８または揮発性ストレージデバイス３４０６の中に、または他の不揮発性ストレージの中に、後の実行のために格納されることが可能である。このようにして、コンピュータシステム３４０１は、搬送波の形態でアプリケーションコードを獲得することができる。
【０１９４】
最後に、本願明細書で説明するプロセスおよび技術は、いずれの特定の装置にも本来的に関連しておらず、構成要素の任意の適切な組み合わせによって実施されることが可能であることを理解されたい。さらに、様々なタイプの汎用デバイスが、本願明細書で説明する教示に従って使用されることが可能である。また、本願明細書で説明する方法ステップを実行する専用の装置を構築することが有利であると判明する可能性もある。本発明は、すべての点で、限定的ではなく、例示的であるものとされる特定の実施例に関連して説明してきた。ハードウェア、ソフトウェア、およびファームウェアの多くの異なる組み合わせが、本発明を実施することに適していることが、当業者には認められよう。例えば、説明するソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）などの、多種多様なプログラミング言語またはスクリプト言語で実施されることが可能である。
【０１９５】
さらに、本発明の他のインプリメンテーションが、本願明細書で開示する本発明の仕様および実施の考慮から、当業者には明白となろう。説明する諸実施形態の様々な態様および／または構成要素は、コンピュータ化されたストレージシステムにおいて単独で使用されても、任意の組み合わせで使用されてもよい。仕様および実施例は、単に例示的であると考えられるものされ、本発明の真の範囲および趣旨は、添付の特許請求の範囲によって示される。
【図面の簡単な説明】
【０１９６】
【図１】本発明の概念の第１の例示的な実施形態を示す図である。
【図２】本発明の概念の第１の実施形態の例示的なシステム構成を示す図である。
【図３】本発明の概念の第１の実施形態の例示的な機能図である。
【図４】ジャーナルデータの例示的な実施形態を示す図である。
【図５】ジャーナル管理テーブルの例示的な実施形態を示す図である。
【図６】スナップショットとジャーナルの間の関係を示す図である。
【図７】複数のスナップショットとジャーナルの間の関係を示す図である。
【図８】指定された時刻におけるデータを復元するのに必要とされるスナップショットおよびジャーナルデータを示す図である。
【図９】指定された時刻におけるデータを復元するのに必要とされるスナップショットおよびジャーナルデータを選択するための手続きの例示的な流れ図である。
【図１０】バックアップ管理テーブルの例示的な実施形態を示す図である。
【図１１】指定された期間内のデータを復元するのに必要とされるスナップショットおよびジャーナルデータを示す図である。
【図１２】指定された期間内のデータを復元するのに必要とされるスナップショットおよびジャーナルデータを選択するための手続きの例示的な流れ図である。
【図１３】選択されたスナップショットおよびジャーナルデータのバックアップをとるための手続きの例示的な流れ図である。
【図１４】指定された時刻におけるデータをバックアップデータから復元するための手続きの例示的な流れ図である。
【図１５】本発明の概念の第２の例示的な実施形態を示す図である。
【図１６】本発明の概念の第２の実施形態の例示的なシステム構成を示す図である。
【図１７】本発明の概念の第２の実施形態の例示的な機能図である。
【図１８】]本発明の概念の第２の例示的な実施形態によるバックアップ管理テーブルの例示的な実施形態を示す図である。
【図１９】ハードディスクドライブの例示的な実施形態を示す図である。
【図２０】磁気テープ上のジャーナルヘッダおよびジャーナルデータの例示的な配列を示す図である。
【図２１】ジャーナルエントリの例示的なフォーマットを示す図である。
【図２２】本発明の概念の第３の例示的な実施形態を示す図である。
【図２３】本発明の概念の第３の実施形態の例示的なシステム構成を示す図である。
【図２４】バックアップストレージシステムの例示的な実施形態を示す図である。
【図２５】本発明の概念の第３の例示的な実施形態の例示的な機能図である。
【図２６】バックアップリソーステーブルの例示的な実施形態を示す図である。
【図２７】バックアップボリューム上のジャーナルヘッダおよびジャーナルデータの例示的な配列を示す図である。
【図２８】本発明の概念の第４の例示的な実施形態を示す図である。
【図２９】本発明の概念の第４の実施形態の例示的なシステム構成を示す図である。
【図３０】本発明の概念の第４の例示的な実施形態の例示的な機能図である。
【図３１】本発明の概念の第５の例示的な実施形態を示す図である。
【図３２】本発明の概念の第５の例示的な実施形態の例示的な機能図である。
【図３３】本発明のシステムの第５の例示的な実施形態においてスナップショットおよびジャーナルエントリをバックアップすることの例示的な流れ図である。
【図３４】本発明のシステムが実装されることが可能なコンピュータプラットフォームの例示的な実施形態を示す図である。
【図１】
2007317186.tif 000003
【図２】
2007317186.tif 000004
【図３】
2007317186.tif 000005
【図４】
2007317186.tif 000006
【図５】
2007317186.tif 000007
【図６】
2007317186.tif 000008
【図７】
2007317186.tif 000009
【図８】
2007317186.tif 000010
【図９】
2007317186.tif 000011
【図１０】
2007317186.tif 000012
【図１１】
2007317186.tif 000013
【図１２】
2007317186.tif 000014
【図１３】
2007317186.tif 000015
【図１４】
2007317186.tif 000016
【図１５】
2007317186.tif 000017
【図１６】
2007317186.tif 000018
【図１７】
2007317186.tif 000019
【図１８】
2007317186.tif 000020
【図１９】
2007317186.tif 000021
【図２０】
2007317186.tif 000022
【図２１】
2007317186.tif 000023
【図２２】
2007317186.tif 000024
【図２３】
2007317186.tif 000025
【図２４】
2007317186.tif 000026
【図２５】
2007317186.tif 000027
【図２６】
2007317186.tif 000028
【図２７】
2007317186.tif 000029
【図２８】
2007317186.tif 000030
【図２９】
2007317186.tif 000031
【図３０】
2007317186.tif 000032
【図３１】
2007317186.tif 000033
【図３２】
2007317186.tif 000034
【図３３】
2007317186.tif 000035
【図３４】
2007317186.tif 000036
【外国語明細書】
2007317186000001.pdf