(57)【要約】【課題】  異なる装置間においてバックアップまたはリストアできない環境であっても、バックアップまたはリストア可能なように制御するバックアップ制御装置等を提供する。【解決手段】  バックアップ制御装置１は、ボリューム管理テーブル１０４に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、異なるコピーテーブル１０５を生成すると共に、コピーテーブル１０５に基づいて、第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求するバックアップ制御部２を備える。【選択図】      図１
2015114784.tif 000002
【特許請求の範囲】
【請求項１】
スナップショットの世代番号を含むバックアップ要求に応じて、バックアップを識別可能なバックアップ番号と、バックアップ先である記憶装置に構築された１つ以上のボリュームを識別可能なボリューム番号とを含むボリューム管理情報に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、前記世代番号と、前記スナップショットを管理する差分管理情報とに基づいて、異なるコピー情報を生成し、
該生成したコピー情報に基づいて、運用ボリュームを構成する１つ以上の第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップの必要となる第１セクタ番号と、前記世代番号とに基づいて、該第１セクタ番号のセクタに記憶された情報を、スナップショット制御手段に要求すると共に、その要求に応じて得られた情報を、該第１セクタ番号に対応する前記ボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求するバックアップ制御手段を、
備えることを特徴とするバックアップ制御装置。
【請求項２】
復元の対象である特定のバックアップ番号を含む復元要求に応じて、前記ボリューム管理情報と前記特定のバックアップ番号とに基づいて、前記初回バックアップに際して用いた第１ボリュームのボリューム番号と、前記差分バックアップに際して用いた第２ボリュームのボリューム番号とを求め、
前記特定のバックアップ番号に基づいて、実施する復元が前記初回バックアップからの復元か否かを判別し、前記初回バックアップからの復元であると判別する場合に、前記コピー情報に前記初回バックアップからの復元が必要なセクタであることを示す情報を含めると共に該コピー情報を読み込む一方で、前記初回バックアップからの復元でないと判別する場合に、前記第２ボリュームにバックアップする際に用いた前記コピー情報を読み込み、
前記第１セクタ番号毎に、前記読み込んだコピー情報に基づいて、前記第１セクタ番号のセクタが前記初回バックアップ、または前記差分バックアップの何れかにおいてバックアップされた情報から復元が必要なセクタかを判別し、
前記初回バックアップからの復元が必要なセクタであると判別する場合には、前記第１セクタ番号のセクタに記憶された情報を、求めた前記第１ボリュームのボリューム番号と前記第１セクタ番号とに基づき、前記記憶装置に要求する一方で、
前記差分バックアップからの復元が必要なセクタであると判別する場合には、前記第２セクタ番号のセクタに記憶された情報を、求めた前記第２ボリュームのボリューム番号と前記第２セクタ番号とに基づき、前記記憶装置に要求し、
その要求に応じて得られた情報を、前記運用ボリュームにおける前記第１セクタ番号のセクタに復元するよう前記運用ボリュームに要求する復元制御手段を、
さらに備えることを特徴とする請求項１に記載のバックアップ制御装置。
【請求項３】
前記コピー情報は、
前記第１セクタ番号毎に、該第１セクタ番号と、前記初回バックアップ以降に発生した差分の有無を示す第１の差分情報とを含み、
前記バックアップ制御手段は、
前記初回バックアップであると判別する場合に、前記１つ以上の第１セクタ番号のセクタのうち、全てのセクタをバックアップの対象となるように前記コピー情報を生成する一方で、
前記差分バックアップであると判別する場合には、前記１つ以上の第１セクタ番号のセクタのうち、前記初回バックアップ以降に差分の発生したセクタをバックアップの対象となるように前記コピー情報を生成する
ことを特徴とする請求項１に記載のバックアップ制御装置。
【請求項４】
前記差分管理情報は、
前記世代毎に、前記第１セクタ番号と、前記スナップショットを取得以降に前記運用ボリュームに差分が発生したか否かを示す第２の差分情報とを含み、
前記バックアップ制御手段は、
前記初回バックアップであると判別する場合に、前記第１セクタ番号毎に、前記第１の差分情報に、差分が発生したことを示す情報を含めることにより前記コピー情報を生成する一方で、
前記差分バックアップであると判別する場合には、前記第１セクタ番号毎に、前記第１の差分情報に、差分の発生していないことを示す情報を含めると共に、該情報を含めた第１の差分情報と、前記世代番号より１つ前の世代を論理和による演算の対象に設定すると共に、前記差分管理情報の中から求めた前記論理和による演算の対象に設定された世代における前記第２の差分情報との論理和をとり、該論理和と前記第１セクタ番号とを関連付けて前記コピー情報に含めることにより前記コピー情報を生成し、
前記論理和により演算は、
前記差分管理情報に含まれる全ての前記世代番号より前の世代に対して実行する
ことを特徴とする請求項３に記載のバックアップ制御装置。
【請求項５】
前記バックアップ制御手段は、
前記コピー情報に基づいて、前記実施するバックアップに必要となるボリュームの容量を算出すると共に、前記算出した容量と、前記ボリューム番号とに基づき前記記憶装置にボリュームを構築するよう要求する
ことを特徴とする請求項１に記載のバックアップ制御装置。
【請求項６】
請求項１乃至請求項５の何れかに記載されたバックアップ制御装置を含むことを特徴とするディスクアレイ装置。
【請求項７】
スナップショットの世代番号を含むバックアップ要求に応じて、バックアップを識別可能なバックアップ番号と、バックアップ先である記憶装置に構築された１つ以上のボリュームを識別可能なボリューム番号とを含むボリューム管理情報に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、前記世代番号と、前記スナップショットを管理する差分管理情報とに基づいて、異なるコピー情報を生成し、
該生成したコピー情報に基づいて、運用ボリュームを構成する１つ以上の第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップの必要となる第１セクタ番号と、前記世代番号とに基づいて、該第１セクタ番号のセクタに記憶された情報を、スナップショット制御手段に要求すると共に、その要求に応じて得られた情報を、該第１セクタ番号に対応する前記ボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求する
ことを特徴とするバックアップ制御方法。
【請求項８】
復元の対象である特定のバックアップ番号を含む復元要求に応じて、前記ボリューム管理情報と前記特定のバックアップ番号とに基づいて、前記初回バックアップに際して用いた第１ボリュームのボリューム番号と、前記差分バックアップに際して用いた第２ボリュームのボリューム番号とを求め、
前記特定のバックアップ番号に基づいて、実施する復元が前記初回バックアップからの復元か否かを判別し、前記初回バックアップからの復元であると判別する場合に、前記コピー情報に前記初回バックアップからの復元が必要なセクタであることを示す情報を含めると共に該コピー情報を読み込む一方で、前記初回バックアップからの復元でないと判別する場合に、前記第２ボリュームにバックアップする際に用いた前記コピー情報を読み込み、
前記第１セクタ番号毎に、前記読み込んだコピー情報に基づいて、前記第１セクタ番号のセクタが前記初回バックアップ、または前記差分バックアップの何れかにおいてバックアップされた情報から復元が必要なセクタかを判別し、
前記初回バックアップからの復元が必要なセクタであると判別する場合には、前記第１セクタ番号のセクタに記憶された情報を、求めた前記第１ボリュームのボリューム番号と前記第１セクタ番号とに基づき、前記記憶装置に要求する一方で、
前記差分バックアップからの復元が必要なセクタであると判別する場合には、前記第２セクタ番号のセクタに記憶された情報を、求めた前記第２ボリュームのボリューム番号と前記第２セクタ番号とに基づき、前記記憶装置に要求し、
その要求に応じて得られた情報を、前記運用ボリュームにおける前記第１セクタ番号のセクタに復元するよう前記運用ボリュームに要求する
ことを、さらに特徴とする請求項７に記載のバックアップ制御方法。
【請求項９】
スナップショットの世代番号を含むバックアップ要求に応じて、バックアップを識別可能なバックアップ番号と、バックアップ先である記憶装置に構築された１つ以上のボリュームを識別可能なボリューム番号とを含むボリューム管理情報に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、前記世代番号と、前記スナップショットを管理する差分管理情報とに基づいて、異なるコピー情報を生成し、
該生成したコピー情報に基づいて、運用ボリュームを構成する１つ以上の第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップの必要となる第１セクタ番号と、前記世代番号とに基づいて、該第１セクタ番号のセクタに記憶された情報を、スナップショット制御手段に要求すると共に、その要求に応じて得られた情報を、該第１セクタ番号に対応する前記ボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求する機能を、
コンピュータに実現させることを特徴とするコンピュータ・プログラム。
【請求項１０】
復元の対象である特定のバックアップ番号を含む復元要求に応じて、前記ボリューム管理情報と前記特定のバックアップ番号とに基づいて、前記初回バックアップに際して用いた第１ボリュームのボリューム番号と、前記差分バックアップに際して用いた第２ボリュームのボリューム番号とを求め、
前記特定のバックアップ番号に基づいて、実施する復元が前記初回バックアップからの復元か否かを判別し、前記初回バックアップからの復元であると判別する場合に、前記コピー情報に前記初回バックアップからの復元が必要なセクタであることを示す情報を含めると共に該コピー情報を読み込む一方で、前記初回バックアップからの復元でないと判別する場合に、前記第２ボリュームにバックアップする際に用いた前記コピー情報を読み込み、
前記第１セクタ番号毎に、前記読み込んだコピー情報に基づいて、前記第１セクタ番号のセクタが前記初回バックアップ、または前記差分バックアップの何れかにおいてバックアップされた情報から復元が必要なセクタかを判別し、
前記初回バックアップからの復元が必要なセクタであると判別する場合には、前記第１セクタ番号のセクタに記憶された情報を、求めた前記第１ボリュームのボリューム番号と前記第１セクタ番号とに基づき、前記記憶装置に要求する一方で、
前記差分バックアップからの復元が必要なセクタであると判別する場合には、前記第２セクタ番号のセクタに記憶された情報を、求めた前記第２ボリュームのボリューム番号と前記第２セクタ番号とに基づき、前記記憶装置に要求し、
その要求に応じて得られた情報を、前記運用ボリュームにおける前記第１セクタ番号のセクタに復元するよう前記運用ボリュームに要求する機能を、
さらにコンピュータに実現させることを特徴とする請求項９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、記憶装置に記憶された情報をバックアップ及びリストアする技術分野に関する。
【背景技術】
【０００２】
ディスクアレイ装置やそのディスクアレイ装置内に設けられた記憶媒体に障害が発生した場合に、それらに記憶された情報は消失する虞がある。そのため、情報の消失を回避する手法としては、当該情報を、運用中のプライマリ装置からセカンダリ装置にバックアップするシステムがある。
【０００３】
当該システムは、例えば、初回のバックアップ（以降、本願では、「初回バックアップ」と称する）を行う際に、記憶媒体に記憶された全ての情報を、バックアップ（「フルバックアップ」とも記す）する。初回以降にバックアップを行う際には、当該システムは、初回にバックアップした情報との差分の情報を、バックアップ（以降、本願では「差分バックアップ」と称する）することがある。この差分バックアップを実現するシステムには、管理サーバを経由してバックアップするシステムや複数のディスクアレイ装置間においてバックアップするシステムが存在する。
【０００４】
また、バックアップの対象である運用ボリュームに対する世代毎（つまり、複数世代）のバックアップを実現する手法としては、コピーオンライト方式によるスナップショットが知られている。
【０００５】
このスナップショットを用いたバックアップの手法は、スナップショットを作成した時点では、係る運用ボリュームに記憶された情報をバックアップしない。一方で、当該運用ボリュームに対して追加、変更及び削除（以降、本願では、「追加、変更及び削除」を、「更新」とも記す）があった場合に、当該バックアップ手法は、その更新個所の情報をバックアップする。即ち、当該バックアップ手法は、例えば、特定のスナップショットの世代に記憶された情報に対する読み込み処理が発生した場合に、運用ボリューム、もしくは当該情報が記憶された個所に対して最後に更新されたスナップショットを参照する。参照した結果、当該バックアップ手法は、運用ボリュームに対する書き込みにより過去の世代との差分が発生した時点において、その書き込み個所の情報をバックアップする。このように、係るバックアップ手法は、記憶領域を削減することができる。また、このバックアップ手法は、スナップショットの世代毎に、差分の有無や情報の格納位置等を管理する差分管理情報を持つことが一般的に知られている。
【０００６】
ここで、本願出願に先立って存在する関連技術としては、例えば、特許文献１がある。
【０００７】
特許文献１は、スナップショットを利用することによりリモートコピーを実現するストレージ装置および情報管理システムに関する技術を開示する。
【０００８】
特許文献１に開示されたストレージ装置は、第１の論理ボリュームに格納された過去のデータを、世代毎の差分データとして第２の論理ボリュームに書き込むように制御する。また、当該ストレージ装置は、当該第２の論理ボリュームに格納されている世代毎の差分データの関係を管理するスナップショット管理テーブルによって、当該差分データを管理する。当該ストレージ装置は、スナップショット管理テーブルによって、特定の世代の仮想論理ボリュームを生成すると共に、生成した仮想論理ボリュームを用いてリモートコピーを作成する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２６７５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
例えば、上述した差分バックアップを実現するシステムは、運用ボリュームの全体をコピーするフルバックアップと比較して、セクタ毎に、差分の有無に応じて、コピーの要否を判定する制御や、複製元のアドレスと複製先のアドレスとが異なることによるアドレス変換等の制御が必要となる。
【００１１】
また、例えば、係る制御する手段としては、自装置の外部に通信可能に接続された管理サーバを経由してソフトウェア的に制御する方法が存在する。しかしながら、この方法では、管理サーバの設置や管理サーバを制御する管理ソフトウェア等の追加コストが必要となる。
【００１２】
この問題を回避するために、係る手段は、例えば、２つのディスクアレイ装置との間を接続すると共に、それらディスクアレイ装置において連携して制御する方法が存在する。しかしながら、それぞれのディスクアレイ装置が異なるベンダの装置である場合に、当該方法は、例えば、バックアップのような拡張機能に関する仕様が異なるため、ディスクアレイ装置間において制御することができない。
【００１３】
さらに、差分バックアップのような拡張機能を持たない廉価な装置では、セカンダリ装置として用いることができない。即ち、セカンダリ装置としては、高機能な装置を導入する必要があるため、その装置の導入に高額な費用が必要となる。
【００１４】
特許文献１には、世代毎の差分データの関係を管理するスナップショット管理テーブルによって仮想論理ボリュームを作成すると共に、その作成した仮想論理ボリュームを用いてコピーすることが記載されている。しかしながら、特許文献１に開示されたストレージ装置は、仮想論理ボリュームをバックアップすることが記載されているに留まり、差分バックアップを実現する手法については、考慮されておらず何ら述べられていない。
【００１５】
本発明は、異なる装置間においてバックアップまたはリストアできない環境であっても、バックアップまたはリストア可能なように制御するバックアップ制御装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１６】
上記の課題を達成すべく、本発明に係るバックアップ制御装置は、以下の構成を備えることを特徴とする。
【００１７】
即ち、本発明に係るバックアップ制御装置は、
スナップショットの世代番号を含むバックアップ要求に応じて、バックアップを識別可能なバックアップ番号と、バックアップ先である記憶装置に構築された１つ以上のボリュームを識別可能なボリューム番号とを含むボリューム管理情報に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、前記世代番号と、前記スナップショットを管理する差分管理情報とに基づいて、異なるコピー情報を生成し、
該生成したコピー情報に基づいて、運用ボリュームを構成する１つ以上の第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップの必要となる第１セクタ番号と、前記世代番号とに基づいて、該第１セクタ番号のセクタに記憶された情報を、スナップショット制御手段に要求すると共に、その要求に応じて得られた情報を、該第１セクタ番号に対応する前記ボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求するバックアップ制御手段を、
備えることを特徴とする。
【００１８】
或いは、同目的は、上記に示すバックアップ制御装置を含むディスクアレイ装置によっても達成される。
【００１９】
また、同目的を達成すべく、本発明に係るバックアップ制御方法は、以下の構成を備えることを特徴とする。
【００２０】
即ち、本発明に係るバックアップ制御方法は、
スナップショットの世代番号を含むバックアップ要求に応じて、バックアップを識別可能なバックアップ番号と、バックアップ先である記憶装置に構築された１つ以上のボリュームを識別可能なボリューム番号とを含むボリューム管理情報に基づいて、実施するバックアップが初回バックアップか、または差分バックアップかを判別し、その判別結果に応じて、前記世代番号と、前記スナップショットを管理する差分管理情報とに基づいて、異なるコピー情報を生成し、
該生成したコピー情報に基づいて、運用ボリュームを構成する１つ以上の第１セクタ番号毎に、バックアップの要否を判別し、バックアップが必要であると判別する場合には、バックアップの必要となる第１セクタ番号と、前記世代番号とに基づいて、該第１セクタ番号のセクタに記憶された情報を、スナップショット制御手段に要求すると共に、その要求に応じて得られた情報を、該第１セクタ番号に対応する前記ボリュームにおける第２セクタ番号のセクタに記憶するよう前記記憶装置に要求する
ことを特徴とする。
【００２１】
尚、同目的は、上記の各構成を有するバックアップ制御装置及びバックアップ制御方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００２２】
本発明によれば、異なる装置間においてバックアップまたはリストアできない環境であっても、バックアップまたはリストア可能なように制御するバックアップ制御装置等を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態におけるバックアップ制御装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるコピーテーブルを具体的に例示する図である。
【図３】本発明の第１の実施形態における差分管理テーブルを具体的に例示する図である。
【図４】本発明の第１の実施形態におけるボリューム管理テーブルを具体的に例示する図である。
【図５】本発明の第１の実施形態におけるバックアップ制御部が行うテーブル生成処理を示すフローチャートである。
【図６Ａ】本発明の第１の実施形態におけるバックアップ制御部が行うバックアップ要求を受信した際の動作を示すフローチャートである。
【図６Ｂ】本発明の第１の実施形態におけるバックアップ制御部が行うバックアップ要求を受信した際の動作を示すフローチャートである。
【図７】本発明の第２の実施形態におけるバックアップ制御装置を含む第１のディスクアレイ装置の構成を示すブロック図である。
【図８Ａ】本発明の第２の実施形態における復元制御部が行う復元要求を受信した際の動作を示すフローチャートである。
【図８Ｂ】本発明の第２の実施形態における復元制御部が行う復元要求を受信した際の動作を示すフローチャートである。
【図９】本発明の第３の実施形態におけるバックアップ制御装置を含む第１のディスクアレイ装置の構成を示すブロック図である。
【図１０】本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２５】
＜第１の実施形態＞
図１は、本発明の第１の実施形態におけるバックアップ制御装置１を含む第１のディスクアレイ装置１０の構成を示すブロック図である。
【００２６】
図１において、バックアップ制御装置１は、バックアップ制御部２を備える。
【００２７】
また、第１のディスクアレイ装置１０と、ホストコンピュータ１１とは、インタフェース１６を介して接続されている。そして、第１のディスクアレイ装置１０と、第２のディスクアレイ装置１２とは、インタフェース１７を介して接続されている。
【００２８】
第１のディスクアレイ装置１０は、運用ボリューム１３と、スナップショット制御部１４と、転送制御部１５と、差分管理テーブル（差分管理情報）１０３と、バックアップボリューム管理テーブル（バックアップボリューム管理情報）１０４と、コピーテーブル（コピー情報）１０５とを有する。
【００２９】
より具体的に、バックアップ制御部２は、例えば、ホストコンピュータ１１などの外部装置から転送制御部１５を介してバックアップ要求１０１を受信するのに応じて、処理を開始する。
【００３０】
ここで、バックアップ要求１０１とは、バックアップの対象であるスナップショットの世代を示す世代番号を含む。より具体的に、バックアップ要求１０１は、例えば、当該世代番号を含むバックアップ取得コマンドである。
【００３１】
尚、以下の説明では、説明の便宜上、一例として、「バックアップ要求１０１に含まれるスナップショットの世代を示す世代番号」を「第１の世代番号」と称する（以下、各実施形態においても同様）。
【００３２】
バックアップ制御部２は、バックアップボリューム管理テーブル１０４に基づいて、実施するバックアップが初回のバックアップか、または初回のバックアップ以降に更新された差分のバックアップかを判別する。
【００３３】
尚、以下の説明では、説明の便宜上、一例として、「初回のバックアップ」を「初回バックアップ」と称し、そして、「初回バックアップ以降に更新された差分のバックアップ」を「差分バックアップ」と称する。また、以下の説明では、「バックアップボリューム管理テーブル１０４」を、単に、「ボリューム管理テーブル１０４」と称する（以下、各実施形態においても同様）。
【００３４】
バックアップ制御部２は、初回バックアップか、または差分バックアップかを判別した結果、初回バックアップであると判別する場合に、運用ボリューム１３を構成する１つ以上のセクタのうち、全てのセクタをバックアップの対象となるようにコピーテーブル１０５を生成する。
【００３５】
その一方で、バックアップ制御部２は、初回バックアップか、または差分バックアップかを判別した結果、差分バックアップであると判別する場合に、差分管理テーブル１０３とバックアップ要求１０１に含まれる第１の世代番号とに基づいて、運用ボリューム１３を構成する１つ以上のセクタのうち、初回バックアップ以降に差分の発生したセクタをバックアップの対象となるようにコピーテーブル１０５を生成する。
【００３６】
ここでは、コピーテーブル１０５について、より具体的に説明する。
【００３７】
コピーテーブル１０５は、運用ボリューム１３を構成する１つ以上のセクタを指定する第１セクタ番号と、初回バックアップ以降に、その第１セクタ番号により指定されたセクタに記憶された情報（バイトデータ列）に差分が発生したか否か（つまり、差分の有無）を示す情報（第１の差分情報）と、が関連付けられた情報である。
【００３８】
尚、以下の説明では、説明の便宜上、一例として、「第１セクタ番号により指定されたセクタ」を、単に、「第１セクタ番号のセクタ」とも記す。また、「初回バックアップ以降に発生した差分の有無を示す情報」を、「第１の差分情報」とも称する（以下、各実施形態においても同様）。
【００３９】
図２は、本発明の第１の実施形態におけるコピーテーブル１０５を具体的に例示する図である。
【００４０】
図２に示す１列目には、第１セクタ番号を示す。また、２列目は、第１の差分情報を示す。
【００４１】
尚、上述するバックアップ制御部２がコピーテーブル１０５を生成するテーブル生成処理については、本実施形態において詳細に後述する。
【００４２】
次に、ここでは、差分管理テーブル１０３について、より具体的に説明する。
【００４３】
差分管理テーブル１０３は、スナップショット制御部１４によって運用ボリューム１３のスナップショットを管理する管理テーブルである。
【００４４】
そのため、差分管理テーブル１０３は、スナップショットの世代（以降、本願では「スナップショットの世代」を、単に、「世代」とも記す）毎に、運用ボリューム１３を構成する１つ以上のセクタを指定するセクタ番号（第１セクタ番号）と、差分の有無を示す情報とが関連付けられた情報を含む。ここで、差分の有無を示す情報とは、スナップショットを取得した以降に、運用ボリューム１３における第１セクタ番号により指定されたセクタに記憶された情報に差分が発生したか否か（つまり、差分の有無）を示す情報である。
【００４５】
尚、以下の説明では、説明の便宜上、一例として、「運用ボリューム１３を構成する１つ以上のセクタを指定するセクタ番号」を、「第１セクタ番号」と称する。また、以下の説明では、係る情報に発生した差分の有無を示す情報を、「第２の差分情報」とも称する（以下、各実施形態においても同様）。
【００４６】
より具体的に、差分管理テーブル１０３は、スナップショット制御部１４によってスナップショットを取得してから次のスナップショットを取得するまでの間に亘って運用ボリューム１３に対して更新があった場合に、その更新のあったセクタを指定する第１セクタ番号と、スナップショットを取得した以降に差分が発生したことを示す情報（第２の差分情報）とが関連付けられて記録された管理テーブルである。即ち、差分管理テーブル１０３は、スナップショットの世代毎に、第１セクタ番号と、その第１セクタ番号に対して更新があったか否かを示す情報とを含む。
【００４７】
図３は、本発明の第１の実施形態における差分管理テーブル１０３を具体的に例示する図である。
【００４８】
図３において、差分管理テーブル１０３は、点線によって示すようにスナップショットの世代毎に差分管理テーブルを有する。また、図３に示す１列目には、運用ボリューム１３を構成する１つ以上のセクタを指定する第１セクタ番号を表す（８バイト（０ｘ）のデータとして例示する）。そして、２列目は、第２の差分情報を１ビットの値によって表す。
【００４９】
この第２の差分情報には、差分が発生した場合に、差分が発生したことを示す「１」を格納する（含める）。一方で、第２の差分情報は、差分が発生しなかった場合には、差分が発生しなかったことを示す「０」を格納する（含める）。
【００５０】
次に、以下の説明では、ボリューム管理テーブル１０４について、より具体的に説明する。
【００５１】
ボリューム管理テーブル１０４は、バックアップ制御部２により実施するバックアップを識別可能なバックアップ番号と、そのバックアップする情報を格納する（つまり、バックアップ先の）バックアップボリュームを識別可能なバックアップボリューム番号と、が関連付けられた情報である。
【００５２】
図４は、本発明の第１の実施形態におけるボリューム管理テーブル１０４を具体的に例示する図である。
【００５３】
図４に示す１列目には、バックアップ番号を示す。また、２列目は、バックアップボリューム番号を示す。
【００５４】
ここで、一例として、バックアップ番号は、初回バックアップを表すバックアップ番号を「１」とする。また、バックアップ番号は、初回バックアップ以降に行うバックアップ（つまり、差分バックアップ）を表すバックアップ番号を「２」とする。即ち、バックアップ制御部２は、バックアップのたびに、前回行ったバックアップのバックアップ番号に「１」を加算することによりバックアップ番号を生成する。
【００５５】
また、一例として、バックアップボリューム番号は、バックアップ番号を、バックアップボリューム番号の末尾に付与する構成を採用してもよい。より具体的に、例えば、バックアップ番号が「１」である場合に、バックアップボリューム番号は、「８０１」とする。また、バックアップ番号が「２」である場合に、バックアップボリューム番号は、「８０２」とする。
【００５６】
このように、バックアップ制御部２は、「８０１」、「８０２」、「８０３」、・・・、「８０Ｘ」のように複数のバックアップボリュームを識別可能なバックアップボリューム番号とする構成を採用してもよい。また、バックアップ制御部２は、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４に既に登録されたバックアップボリューム番号と異なる（つまり、未登録の）バックアップボリューム番号とする構成を採用してもよい。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない（以下、各実施形態においても同様）。
【００５７】
次に、バックアップ制御部２は、生成したコピーテーブル１０５に基づいて、バックアップに際して必要となるバックアップボリュームの容量を算出する。バックアップ制御部２は、バックアップボリューム番号と、算出したバックアップボリューム容量とに基づき、例えば、第２のディスクアレイ装置１２等の記憶装置に対してバックアップボリュームを構築するよう要求する。バックアップ制御部２は、構築要求に応じて構築されたバックアップボリュームのボリューム番号と、バックアップ番号とを関連付けてボリューム管理テーブル１０４に格納する（含める）。
【００５８】
また、バックアップ制御部２は、コピーテーブル１０５に基づいて、第１セクタ番号毎に、バックアップの要否を判別する。バックアップ制御部２は、バックアップが必要であると判別する場合に、第１セクタ番号のセクタに記憶された情報を、第１セクタ番号に対応する構築要求に応じて構築されたバックアップボリュームにおける第２セクタ番号のセクタにバックアップするよう制御する。
【００５９】
ここで、第２セクタ番号とは、第１セクタ番号のセクタに記憶された情報のバックアップ先であるバックアップボリュームのセクタを指定するセクタ番号である。即ち、第２セクタ番号は、１つ以上の第１セクタ番号毎に対応するセクタ番号である。
【００６０】
より具体的に、バックアップ制御部２は、第１セクタ番号に基づいて、コピーテーブル１０５を参照すると共に、コピーテーブル１０５の中から第１セクタ番号に対応する初回バックアップ以降に発生した差分の有無を示す情報（第１の差分情報）を求める。
【００６１】
バックアップ制御部２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別する。バックアップ制御部２は、第１の差分情報に基づいて、バックアップの要否を判別した結果、バックアップが必要であると判別する場合に、第１セクタ番号と、バックアップ要求１０１に含まれる第１の世代番号とに基づいて、第１の世代番号により指定されたスナップショットにおける第１セクタ番号のセクタに記憶された情報を、転送制御部１５を介して後述するスナップショット制御部１４に対して要求する。
【００６２】
バックアップ制御部２は、要求に応じて得られた情報を、転送制御部１５を介して構築されたバックアップボリュームにおける第２セクタ番号のセクタに記憶するよう第２のディスクアレイ装置１２に対して要求する。バックアップ制御部２は、全ての第１セクタ番号に対して上述した処理を実行する。
【００６３】
これにより、第２のディスクアレイ装置１２は、バックアップ制御部２からの要求に応じて、要求に応じて得られた情報を、指定されたバックアップボリュームにおける第２セクタ番号のセクタに記憶する。
【００６４】
スナップショット制御部１４は、バックアップの対象である運用ボリューム１３のスナップショット（仮想的な複製）を世代毎に管理すると共に、そのスナップショットのアクセスを制御する。
【００６５】
より具体的に、スナップショット制御部１４は、スナップショット取得コマンドを受信した場合に、スナップショット取得コマンドを受信した時点において、運用ボリューム１３のスナップショットを取得すると共に、スナップショット取得コマンドの送信元に対して実行結果を送信する。
【００６６】
また、スナップショット制御部１４は、スナップショットの世代を示す世代番号と、第１セクタ番号とを含むスナップショット読み込みコマンドを受信した場合に、スナップショット読み込みコマンドによって指定されたスナップショットにおける第１セクタ番号のセクタに記憶されている情報を、スナップショット読み込みコマンドの送信元に対して送信する。
【００６７】
スナップショット制御部１４は、スナップショットを取得してから次のスナップショットを取得するまでの間に亘って運用ボリューム１３に対して更新があった場合に、その更新のあったセクタを指定する第１セクタ番号と、取得したスナップショットに差分が発生したことを示す情報（第２の差分情報）とを、差分管理テーブル１０３に関連付けて記憶する。また、スナップショット制御部１４は、差分管理テーブル１０３に第１セクタ番号と、第２の差分情報とを記録する際に、当該第１セクタ番号のセクタに記録されている更新前の情報をバックアップする。
【００６８】
ホストコンピュータ１１は、転送制御部１５を介してバックアップ制御装置１、運用ボリューム１３及びスナップショット制御部１４に対して各種コマンドを送信する。
【００６９】
より具体的に、ホストコンピュータ１１は、運用ボリューム１３に対して書き込み、または読み込みコマンドを送信する。また、ホストコンピュータ１１は、スナップショット制御部１４に対してスナップショット取得コマンド、またはスナップショット読み込みコマンドを送信する。そして、ホストコンピュータ１１は、バックアップ制御装置１に対してバックアップ取得コマンド（バックアップ要求１０１）、またはバックアップ復元コマンド（第２の実施形態において後述する復元要求１０２）を送信する。
【００７０】
第２のディスクアレイ装置１２は、バックアップボリュームの構築要求に応じて構築した、１つ以上のバックアップボリューム８０１乃至８０Ｘを有する。また、第２のディスクアレイ装置１２は、外部からバックアップボリューム構築コマンド、バックアップボリューム８０１乃至８０Ｘに対する書き込みコマンド及びバックアップボリューム８０１乃至８０Ｘに対する読み込みコマンド等の各種コマンドを受信するのに応じて、そのコマンドに応じて処理を実行する。
【００７１】
より具体的に、例えば、第２のディスクアレイ装置１２は、バックアップボリュームの構築要求に応じて、バックアップボリュームを構築すると共に、その実行結果を要求元に対して送信する。即ち、第２のディスクアレイ装置１２は、当該構築要求により指定されたボリューム番号を有するバックアップボリュームを、指定されたボリューム容量により構築する。
【００７２】
また、例えば、第２のディスクアレイ装置１２は、書き込みコマンド、または読み込みコマンドに応じて、バックアップボリューム８０１乃至８０Ｘに対してそれらコマンドを送信すると共に、コマンドの完了を待つ。そして、書き込みコマンドを受信した際に、第２のディスクアレイ装置１２は、コマンドの送信元に対して実行結果を送信する。読み込みコマンドを受信した際には、第２のディスクアレイ装置１２は、コマンドの送信元に対して実行結果と、読み込んだ情報とを送信する。
【００７３】
運用ボリューム１３及びバックアップボリューム８０１乃至８０Ｘは、固定長のセクタ単位毎にバイトデータ列を記録する記憶装置である。また、運用ボリューム１３及びバックアップボリューム８０１乃至８０Ｘは、書き込みコマンドと読み込みコマンド等のコマンドに応じて、処理を実行する。
【００７４】
より具体的に、一例として、ここでは、運用ボリューム１３が各種コマンドを受信した際の処理について説明する。書き込みコマンドを受信した運用ボリューム１３は、書き込みコマンドに含まれるセクタ番号のセクタにバイトデータ列を記憶すると共に、実行結果をコマンドの送信元に対して送信する。また、読み込みコマンドを受信した運用ボリューム１３は、読み込みコマンドに含まれるセクタ番号のセクタに記憶されたバイトデータ列を、コマンドの送信元に対して送信する。
【００７５】
尚、第１のディスクアレイ装置１０、ホストコンピュータ１１及び第２のディスクアレイ装置１２によって送受信される各種コマンドは、例えば、ＳＣＳＩ（Ｓｍａｌｌ＿Ｃｏｍｐｕｔｅｒ＿Ｓｙｓｔｅｍ＿Ｉｎｔｅｒｆａｃｅ）コマンドなどである。しかしながら、当該コマンドは、必要な情報の送信が可能であればこれに限定するものではない。
【００７６】
また、運用ボリューム１３及びバックアップボリューム８０１乃至８０Ｘの構成は、セクタもしくはそれに類する固定長のデータ記憶単位での読み込み及び書き込みの指示が可能であればよい。
【００７７】
次に、以下の説明において、より具体的に、本実施形態におけるバックアップ制御部２が行うテーブル生成処理について説明する。
【００７８】
図５は、本発明の第１の実施形態におけるバックアップ制御部２が行うテーブル生成処理を示すフローチャートである。係るフローチャートに沿ってバックアップ制御部２の動作手順を説明する。
【００７９】
ステップＳ１：
バックアップ制御部２は、ボリューム管理テーブル１０４に基づいて、初回バックアップか否かを判別する。即ち、バックアップ制御部２は、ボリューム管理テーブル１０４に基づいて、初回バックアップか差分バックアップかを判別する。
【００８０】
より具体的に、バックアップ制御部２は、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４に何らかのエントリが登録されているか否かを判別することによって、初回バックアップか否かを判別する。
【００８１】
ステップＳ１において「ＹＥＳ」：
バックアップ制御部２は、初回バックアップか否かを判別した結果、初回バックアップであると判別する場合に、処理をステップＳ２に進める。
【００８２】
より具体的に、バックアップ制御部２は、ボリューム管理テーブル１０４にエントリが登録されていない場合に、初回バックアップであると判別する。
【００８３】
ステップＳ１において「ＮＯ」：
バックアップ制御部２は、初回バックアップか否かを判別した結果、初回バックアップでないと判別する場合に、処理をステップＳ３に進める。即ち、バックアップ制御部２は、差分バックアップであると判別する場合に、処理をステップＳ３に進める。
【００８４】
より具体的に、バックアップ制御部２は、ボリューム管理テーブル１０４にエントリが登録されている場合に、初回バックアップでない（つまり、差分バックアップである）と判別する。
【００８５】
ステップＳ２：
バックアップ制御部２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報に、差分が有ることを示す情報を格納する。さらに、バックアップ制御部２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報とを関連付けてコピーテーブル１０５に格納する（含める）。
【００８６】
より具体的に、一例として、バックアップ制御部２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報を示すビットに、差分が有ることを示す「１」を格納する。さらに、バックアップ制御部２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報を示すビットとを関連付けてコピーテーブル１０５に格納する（含める）。
【００８７】
ステップＳ３：
バックアップ制御部２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報に、差分が無いことを示す情報を格納する。さらに、バックアップ制御部２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報とを関連付けてコピーテーブル１０５に格納する（含める）。
【００８８】
より具体的に、一例として、バックアップ制御部２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報を示すビットに、差分が無いことを示す「０」を格納する。さらに、バックアップ制御部２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報を示すビットとを関連付けてコピーテーブル１０５に格納する（含める）。
【００８９】
ステップＳ４：
バックアップ制御部２は、バックアップ要求１０１に含まれる第１の世代番号より１つ前の世代を論理和による演算の対象に設定する。
【００９０】
ステップＳ５：
バックアップ制御部２は、差分管理テーブル１０３を参照すると共に、差分管理テーブル１０３の中から論理和による演算の対象に設定された世代の差分管理テーブルを求める。
【００９１】
ステップＳ６：
バックアップ制御部２は、全ての第１セクタ番号毎に、コピーテーブル１０５に含まれる第１の差分情報と、求めた差分管理テーブルに含まれる第２の差分情報との論理和をとり、その論理和と第１セクタ番号とを関連付けてコピーテーブル１０５に格納する（含める）。
【００９２】
より具体的に、一例として、以下の説明では、特定の第１セクタ番号（「０ｘ０００００００１」）に対応する第２の差分情報と第１の差分情報との論理和による演算について説明する。
【００９３】
ここでは、コピーテーブル１０５に含まれる特定の第１セクタ番号に対応する第１の差分情報を「１」、求めた差分管理テーブルに含まれる特定の第１セクタ番号に対応する第２の差分情報を「０」とすることとする。
【００９４】
バックアップ制御部２は、第１の差分情報を示すビット「１」と第２の差分情報を示すビット「０」との論理和をとり、その論理和「１」と特定の第１セクタ番号とを関連付けてコピーテーブル１０５に格納する（含める）。
【００９５】
ステップＳ７：
バックアップ制御部２は、論理和による演算の対象に設定された世代が、差分管理テーブル１０３に含まれる世代のうち、最も古い世代か否かを判別する。
【００９６】
より具体的に、一例として、スナップショットの世代番号を古い順に「１、２、３、・・・、ｎ」と管理する場合に、バックアップ制御部２は、論理和による演算の対象に設定された世代が「１」である場合に、論理和による演算の対象に設定された世代が最も古い世代であると判別する構成を採用してもよい。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない（以下、各実施形態においても同様）。
【００９７】
ステップＳ７において「ＹＥＳ」：
バックアップ制御部２は、論理和による演算の対象に設定された世代が、差分管理テーブル１０３に含まれる世代のうち、最も古い世代か否かを判別した結果、最も古い世代であると判別する場合に、テーブル生成処理を終了する。
【００９８】
ステップＳ７において「ＮＯ」：
バックアップ制御部２は、論理和による演算の対象に設定された世代が、差分管理テーブル１０３に含まれる世代のうち、最も古い世代か否かを判別した結果、最も古い世代でないと判別する場合に、処理をステップＳ８に進める。
【００９９】
ステップＳ８：
バックアップ制御部２は、論理和による演算の対象に設定された世代より、さらに１つ前の世代を論理和による演算の対象に設定する。バックアップ制御部２は、処理をステップＳ５に戻す。
【０１００】
このように、バックアップ制御部２は、バックアップ要求１０１に含まれる第１の世代番号以前に取得された全てのスナップショットの世代に対して論理和をとり、その論理和と第１セクタ番号とを関連付けてコピーテーブル１０５に格納する（含める）。
【０１０１】
次に、以下の説明において、より具体的に、本実施形態におけるバックアップ制御部２が行う動作について説明する。
【０１０２】
図６Ａ及び図６Ｂは、本発明の第１の実施形態におけるバックアップ制御部２が行うバックアップ要求１０１を受信した際の動作を示すフローチャートである。係るフローチャートに沿ってバックアップ制御部２の動作手順を説明する。
【０１０３】
ステップＳ１１：
バックアップ制御部２は、第１の世代番号を含むバックアップ要求１０１を受信するのに応じて、図５において説明したテーブル生成処理を実行する。そのため、重複する説明は省略する。
【０１０４】
ステップＳ１２：
バックアップ制御部２は、ボリューム管理テーブル１０４に基づいて、初回バックアップか否かを判別する。尚、初回バックアップか否かを判別する処理は、図５に示すステップＳ１において説明した処理と同じである。そのため、重複する説明は省略する。
【０１０５】
ステップＳ１２において「ＹＥＳ」：
バックアップ制御部２は、初回バックアップか否かを判別した結果、初回バックアップであると判別する場合に、処理をステップＳ１３に進める。
【０１０６】
ステップＳ１２において「ＮＯ」：
バックアップ制御部２は、初回バックアップか否かを判別した結果、初回バックアップでないと判別する場合に、処理をステップＳ１７に進める。即ち、バックアップ制御部２は、差分バックアップであると判別する場合に、処理をステップＳ１７に進める。
【０１０７】
ステップＳ１３：
バックアップ制御部２は、テーブル生成処理によって生成したコピーテーブル１０５に基づいて、バックアップに際して必要となるバックアップボリュームの容量を算出する。
【０１０８】
より具体的に、バックアップ制御部２は、コピーテーブル１０５を参照すると共に、コピーテーブル１０５の中から有効ビット数の合計を求める。
【０１０９】
ステップＳ１４：
バックアップ制御部２は、求めたバックアップボリュームの容量と、バックアップボリューム番号とに基づいて、第２のディスクアレイ装置１２に対してバックアップボリュームを構築するよう要求する。
【０１１０】
より具体的に、バックアップ制御部２は、バックアップボリューム番号と、バックアップボリューム容量とからなるボリューム構築コマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。
【０１１１】
これにより、第２のディスクアレイ装置１２は、ボリューム構築コマンドを受信すると共に、そのボリューム構築コマンドに基づきバックアップボリューム番号を有するバックアップボリュームを構築する。また、第２のディスクアレイ装置１２は、実行結果を、転送制御部１５を介してバックアップ制御部２に対して送信する。
【０１１２】
ステップＳ１５：
バックアップ制御部２は、バックアップ番号と、構築要求に応じて構築されたバックアップボリュームのボリューム番号とからなるエントリをボリューム管理テーブル１０４に格納する（含める）。即ち、バックアップ制御部２は、バックアップ番号と、バックアップボリューム番号とを関連付けてボリューム管理テーブル１０４に格納する（含める）。
【０１１３】
ステップＳ１６：
バックアップ制御部２は、複製元である第１セクタ番号と、その第１セクタ番号に対応する複製先である第２セクタ番号とを初期化する。また、バックアップ制御部２は、処理をステップＳ２２に進める。
【０１１４】
より具体的に、バックアップ制御部２は、初期値として第１セクタ番号に「０ｘ０００００００１」、そして、第２セクタ番号に「０ｘ０００００００１」を格納する。即ち、バックアップ制御部２は、初回バックアップの場合には、第１セクタ番号「０ｘ０００００００１」と第２セクタ番号「０ｘ０００００００１」とが同一となるように初期化する。
【０１１５】
ステップＳ１７：
バックアップ制御部２は、テーブル生成処理によって生成したコピーテーブル１０５に基づいて、バックアップに際して必要となるバックアップボリュームの容量を算出する。
【０１１６】
より具体的に、バックアップ制御部２は、コピーテーブル１０５を参照すると共に、コピーテーブル１０５の中から有効ビット数の合計を求める。また、バックアップ制御部２は、求めた有効ビット数の合計に「１」を加算する。即ち、差分バックアップにおけるボリューム容量の算出処理は、求めた有効ビット数の合計に「１」を加算する点が、ステップＳ１３に示す初回バックアップにおけるボリューム容量の算出処理と異なる。
【０１１７】
ステップＳ１８：
バックアップ制御部２は、求めたバックアップボリュームの容量と、バックアップボリューム番号とに基づいて、第２のディスクアレイ装置１２に対してバックアップボリュームを構築するよう要求する。
【０１１８】
ステップＳ１９：
バックアップ制御部２は、バックアップ番号と、構築要求に応じて構築されたバックアップボリュームのボリューム番号とからなるエントリをボリューム管理テーブル１０４に格納する（含める）。
【０１１９】
ステップＳ２０：
バックアップ制御部２は、構築要求に応じて構築されたバックアップボリュームにコピーテーブル１０５を保存するよう第２のディスクアレイ装置１２に対して要求する。
【０１２０】
より具体的に、バックアップ制御部２は、構築要求に応じて構築されたバックアップボリュームのボリューム番号と、そのバックアップボリュームの所定のセクタ番号「０ｘ０００００００１」と、コピーテーブル１０５を表すバイトデータ列からなる書き込みコマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。
【０１２１】
これにより、第２のディスクアレイ装置１２は、転送制御部１５を介してバックアップ制御部２から書き込みコマンドを受信する。そして、第２のディスクアレイ装置１２は、その書き込みコマンドに基づきバックアップボリュームの所定のセクタ番号「０ｘ０００００００１」により指定されたセクタにコピーテーブル１０５を保存する。また、第２のディスクアレイ装置１２は、実行結果を、転送制御部１５を介してバックアップ制御部２に対して送信する。
【０１２２】
ステップＳ２１：
バックアップ制御部２は、複製元である第１セクタ番号と、その第１セクタ番号に対応する複製先である第２セクタ番号とを初期化する。
【０１２３】
より具体的に、バックアップ制御部２は、初期値として第１セクタ番号に「０ｘ０００００００１」、そして、第２セクタ番号に「０ｘ０００００００２」を格納する。即ち、差分バックアップにおける初期化処理は、第２セクタ番号に「０ｘ０００００００２」を格納する点が、ステップＳ１６に示す初回バックアップにおける初期化処理と異なる。
【０１２４】
ステップＳ２２：
バックアップ制御部２は、運用ボリューム１３の総セクタ数と第１セクタ番号とに基づいて、バックアップが完了したか否かを判別する。
【０１２５】
より具体的に、一例として、バックアップ制御部２は、運用ボリューム１３の総セクタ数を求めると共に、求めた総セクタ数を第１セクタ番号が超過したか否かを判別する。
【０１２６】
ステップＳ２２において「ＹＥＳ」：
バックアップ制御部２は、バックアップが完了したか否かを判別した結果、バックアップが完了したと判別する場合に、処理をステップＳ２３に進める。
【０１２７】
より具体的に、一例として、バックアップ制御部２は、当該総セクタ数を第１セクタ番号が超過したか否かを判別した結果、当該総セクタ数を第１セクタ番号が超過したと判別する場合に、処理をステップＳ２３に進める。
【０１２８】
ステップＳ２２において「ＮＯ」：
バックアップ制御部２は、バックアップが完了したか否かを判別した結果、バックアップが完了していないと判別する場合に、処理をステップＳ２４に進める。
【０１２９】
より具体的に、一例として、バックアップ制御部２は、当該総セクタ数を第１セクタ番号が超過したか否かを判別した結果、当該総セクタ数を第１セクタ番号が超過していないと判別する場合に、処理をステップＳ２４に進める。
【０１３０】
ステップＳ２３：
バックアップ制御部２は、実行結果をバックアップ要求１０１の送信元に対して送信する。即ち、バックアップ制御部２は、バックアップ要求１０１の送信元であるホストコンピュータ１１に対して応答を返す。
【０１３１】
ステップＳ２４：
バックアップ制御部２は、第１セクタ番号に基づいて、テーブル生成処理によって生成されたコピーテーブル１０５を参照すると共に、コピーテーブル１０５の中から当該第１セクタ番号に対応する第１の差分情報を求める。
【０１３２】
より具体的に、バックアップ制御部２は、コピーテーブル１０５の中から係る第１セクタ番号に対応する第１の差分情報を示すビットを読み込む。
【０１３３】
ステップＳ２５：
バックアップ制御部２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別する。
【０１３４】
ステップＳ２５において「ＹＥＳ」：
バックアップ制御部２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別した結果、バックアップが必要であると判別する場合に、処理をステップＳ２６に進める。
【０１３５】
より具体的に、バックアップ制御部２は、求めた第１の差分情報を示すビットに基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別した結果、当該ビットが「１」である場合に、当該第１セクタ番号のセクタに記憶された情報のバックアップが必要であると判別する。
【０１３６】
ステップＳ２５において「ＮＯ」：
バックアップ制御部２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別した結果、バックアップが必要でない（つまり、不要）と判別する場合に、処理をステップＳ２９に進める。
【０１３７】
より具体的に、バックアップ制御部２は、求めた第１の差分情報を示すビットに基づいて、第１セクタ番号のセクタに記憶された情報に対するバックアップの要否を判別した結果、当該ビットが「０」である場合に、第１セクタ番号のセクタに記憶された情報のバックアップが不要であると判別する。
【０１３８】
ステップＳ２６：
バックアップ制御部２は、バックアップ要求１０１に含まれる第１の世代番号と、第１セクタ番号とに基づいて、第１の世代番号を有するスナップショットにおける第１セクタ番号のセクタに記憶された情報を、転送制御部１５を介してスナップショット制御部１４に対して要求する。
【０１３９】
より具体的に、バックアップ制御部２は、バックアップ要求１０１に含まれる第１の世代番号と、第１セクタ番号とからなるスナップショット読み込みコマンドを、転送制御部１５を介してスナップショット制御部１４に対して送信する。
【０１４０】
ステップＳ２７：
バックアップ制御部２は、構築要求に応じて構築されたバックアップボリュームのボリューム番号と、第１セクタ番号に対応する第２セクタ番号とに基づいて、要求に応じて得られた情報を、転送制御部１５を介して第２のディスクアレイ装置１２に対して記憶するよう要求する。
【０１４１】
より具体的に、バックアップ制御部２は、要求に応じて得られたバイトデータ列と、バックアップボリューム番号と、第２セクタ番号とからなる書き込みコマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。
【０１４２】
これにより、第２のディスクアレイ装置１２は、転送制御部１５を介してバックアップ制御部２から書き込みコマンドを受信する。そして、第２のディスクアレイ装置１２は、その書き込みコマンドに基づきバックアップボリュームにおける第２セクタ番号のセクタにバイトデータ列を記憶する。また、第２のディスクアレイ装置１２は、転送制御部１５を介して実行結果をバックアップ制御部２に対して送信する。
【０１４３】
ステップＳ２８：
バックアップ制御部２は、第１セクタ番号と、その第１セクタ番号に対応する第２セクタ番号とに「１」を加算する。また、バックアップ制御部２は、処理をステップＳ２２に戻す。
【０１４４】
より具体的に、例えば、ステップＳ１６において、第１セクタ番号に「０ｘ０００００００１」、第２セクタ番号に「０ｘ０００００００１」を格納した場合に、バックアップ制御部２は、第１セクタ番号と、第２セクタ番号とに「１」を加算する。これにより、第１セクタ番号は、「０ｘ０００００００２」となる。また、第２セクタ番号は、「０ｘ０００００００２」となる。
【０１４５】
他の具体例として、例えば、ステップＳ２１において、第１セクタ番号に「０ｘ０００００００１」、第２セクタ番号に「０ｘ０００００００２」を格納した場合に、バックアップ制御部２は、第１セクタ番号と、第２セクタ番号とに「１」を加算する。これにより、第１セクタ番号は、「０ｘ０００００００２」となる。また、第２セクタ番号は、「０ｘ０００００００３」となる。
【０１４６】
ステップＳ２９：
バックアップ制御部２は、第１セクタ番号に「１」を加算する。また、バックアップ制御部２は、処理をステップＳ２２に戻す。
【０１４７】
このように本実施の形態に係るバックアップ制御装置１によれば、異なる装置間においてバックアップできない環境であっても、バックアップ可能なように制御することができる。その理由は、以下に述べる通りである。
【０１４８】
即ち、バックアップ制御装置１は、スナップショットを管理する差分管理テーブル１０３と、バックアップ要求１０１に含まれる第１の世代番号とに基づくテーブル生成処理により生成されたコピーテーブル１０５によって、セクタ毎に、バックアップの要否を容易に判別することができる。バックアップ制御装置１は、バックアップが必要であると判別する場合に、プライマリ装置が運用中であっても、スナップショット機能を利用して、例えば、セカンダリ装置にバックアップするよう制御することができるからである。そのため、プライマリ装置とセカンダリ装置との間において、バックアップ等の拡張機能に関する仕様が異なる場合や、その拡張機能をセカンダリ装置が持たない場合であっても、バックアップ制御装置１は、セカンダリ装置に対してバックアップ可能なように制御することができる。即ち、バックアップ制御装置１によれば、バックアップ制御装置１を含むプライマリ装置だけでバックアップに関する制御を実現することができる。
【０１４９】
＜第２の実施形態＞
次に、上述した本発明の第１の実施形態に係るバックアップ制御装置１を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【０１５０】
本発明の第２の実施形態におけるバックアップ制御装置２１について、図４、図７、図８Ａ及び図８Ｂを参照して説明する。
【０１５１】
図７は、本発明の第２の実施形態におけるバックアップ制御装置２１を含む第１のディスクアレイ装置２０の構成を示すブロック図である。
【０１５２】
図７において、バックアップ制御装置２１は、バックアップ制御部２と、復元制御部２２とを備える。
【０１５３】
本実施形態において、バックアップ制御装置２１は、バックアップ制御部２によってバックアップした情報を復元することが可能な復元制御部２２を、さらに有する点が第１の実施形態において説明したバックアップ制御装置１と異なる。
【０１５４】
より具体的に、復元制御部２２は、例えば、ホストコンピュータ１１などの外部装置から転送制御部１５を介して復元要求１０２を受信するのに応じて、処理を開始する。
【０１５５】
ここで、復元要求１０２とは、復元の対象である特定のバックアップ番号を含む。より具体的に、復元要求１０２は、例えば、当該特定のバックアップ番号を含むバックアップ復元コマンドである。
【０１５６】
尚、以下の説明では、説明の便宜上、一例として、復元要求１０２に含まれる特定のバックアップ番号を第１のバックアップ番号と称する。
【０１５７】
より具体的に、復元制御部２２は、ボリューム管理テーブル１０４の中から初回バックアップに際して用いたバックアップボリューム（第１のボリューム）のボリューム番号を求める。また、復元制御部２２は、復元要求１０２に含まれる第１のバックアップ番号に基づいて、ボリューム管理テーブル１０４の中から第１のバックアップ番号に関連付けられたバックアップボリューム（第２のボリューム）のボリューム番号を求める。即ち、復元制御部２２は、ボリューム管理テーブル１０４の中から差分バックアップに際して用いたバックアップボリューム番号を求める。
【０１５８】
復元制御部２２は、復元要求１０２に含まれる第１のバックアップ番号に基づいて、実施する復元が初回バックアップからの復元か否かを判別する。復元制御部２２は、実施する復元が初回バックアップからの復元である判別する場合に、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報に、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタであることを示す情報を格納する（含める）と共に、そのコピーテーブル１０５を読み込む。一方で、復元制御部２２は、実施する復元が初回バックアップからの復元でないと判別する場合には、バックアップボリューム（第２のボリューム）からコピーテーブル１０５を読み込む。即ち、復元制御部２２は、実施する復元が初回バックアップからの復元でないと判別する場合には、当該バックアップボリュームにバックアップする際に用いたピーテーブル１０５を読み込む。
【０１５９】
次に、復元制御部２２は、第１セクタ番号毎に、コピーテーブル１０５の中からその第１セクタ番号に対応する第１の差分情報を求める。また、復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタか、または差分バックアップにおいてバックアップした情報から復元が必要なセクタかを判別する。即ち、復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップ、または差分バックアップの何れかにおいてバックアップした情報から復元が必要なセクタかを判別する。
【０１６０】
復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタか、または差分バックアップにおいてバックアップした情報から復元が必要なセクタかを判別した結果、差分バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する場合に、差分バックアップに際して用いたバックアップボリュームにおける第２セクタ番号のセクタに記憶された情報を、転送制御部１５を介して第２のディスクアレイ装置１２に対して要求する。
【０１６１】
一方で、復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタか、差分バックアップにおいてバックアップした情報から復元が必要なセクタかを判別した結果、初回バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する場合に、初回バックアップに際して用いたバックアップボリュームにおける第２セクタ番号のセクタに記憶された情報を、転送制御部１５を介して第２のディスクアレイ装置１２に対して要求する。
【０１６２】
復元制御部２２は、要求に応じて得られた情報を、第２セクタ番号に対応する第１セクタ番号のセクタに記憶するよう転送制御部１５を介して運用ボリューム１３に対して要求する。
【０１６３】
次に、以下の説明において、より具体的に、本実施形態における復元制御部２２が行う動作について説明する。
【０１６４】
図８Ａ及び図８Ｂは、本発明の第２の実施形態における復元制御部２２が行う復元要求１０２を受信した際の動作を示すフローチャートである。係るフローチャートに沿って復元制御部２２の動作手順を説明する。
【０１６５】
ステップＳ３１：
復元制御部２２は、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４の中から初回バックアップに際して用いたバックアップボリュームのボリューム番号を求める。
【０１６６】
より具体的に、復元制御部２２は、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４の中から初回バックアップを表すバックアップ番号「１」のエントリを読み込むと共に、バックアップ番号「１」に対応するバックアップボリューム番号を求める。
【０１６７】
ここでは、説明の便宜上、一例として、復元制御部２２は、図４に示すボリューム管理テーブル１０４の中からバックアップ番号「１」に対応するバックアップボリューム番号「８０１」を取得することとする。
【０１６８】
ステップＳ３２：
復元制御部２２は、復元要求１０２に含まれる第１のバックアップ番号に基づいて、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４の中から差分バックアップに際して用いたバックアップボリュームのボリューム番号を求める。
【０１６９】
より具体的に、復元制御部２２は、復元要求１０２に含まれる第１のバックアップ番号に基づいて、ボリューム管理テーブル１０４を参照すると共に、ボリューム管理テーブル１０４の中から第１のバックアップ番号に対応するバックアップボリューム番号を求める。
【０１７０】
ステップＳ３３：
復元制御部２２は、復元要求１０２に基づいて、初回バックアップからの復元か否かを判別する。
【０１７１】
より具体的に、復元制御部２２は、復元要求１０２に含まれる第１のバックアップ番号が、初回バックアップを表すバックアップ番号「１」であるか否かを判別することによって、初回バックアップからの復元か否かを判別する。
【０１７２】
ステップＳ３３において「ＹＥＳ」：
復元制御部２２は、初回バックアップからの復元か否かを判別した結果、初回バックアップからの復元であると判別する場合に、処理をステップＳ３４に進める。
【０１７３】
ステップＳ３３において「ＮＯ」：
復元制御部２２は、初回バックアップからの復元か否かを判別した結果、初回バックアップからの復元でないと判別する場合に、処理をステップＳ３５に進める。即ち、復元制御部２２は、差分バックアップからの復元であると判別する場合に、処理をステップＳ３５に進める。
【０１７４】
ステップＳ３４：
復元制御部２２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報に、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタであることを示す情報を格納する。さらに、復元制御部２２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報とを関連付けてコピーテーブル１０５に格納する（含める）。また、復元制御部２２は、処理をステップＳ３６に進める。
【０１７５】
より具体的に、一例として、復元制御部２２は、コピーテーブル１０５に含まれる全ての第１セクタ番号毎に、その第１セクタ番号に対応する第１の差分情報を示すビットに、初回バックアップにおいてバックアップした情報から復元が必要なセクタであることを示す「０」を格納する。さらに、復元制御部２２は、第１セクタ番号と、その第１セクタ番号に対応する第１の差分情報を示すビットとを関連付けてコピーテーブル１０５に格納する（含める）。
【０１７６】
ステップＳ３５：
復元制御部２２は、ステップＳ３２において求めたバックアップボリューム番号を有するバックアップボリュームに対してコピーテーブル１０５を要求する。復元制御部２２は、要求に応じて得られたコピーテーブル１０５を読み込む。
【０１７７】
より具体的に、復元制御部２２は、ステップＳ３２において求めたバックアップボリューム番号と、そのバックアップボリュームの所定のセクタ番号とからなる読み込みコマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。復元制御部２２は、転送制御部１５を介して第２のディスクアレイ装置１２から要求に応じて得られたコピーテーブル１０５を読み込む。
【０１７８】
これにより、第２のディスクアレイ装置１２は、転送制御部１５を介して復元制御部２２から読み込みコマンドを受信する。また、第２のディスクアレイ装置１２は、受信した読み込みコマンドに基づきバックアップボリューム番号を有するバックアップボリュームにおける所定のセクタ番号のセクタに記憶されたコピーテーブル１０５を表すバイトデータ列を、転送制御部１５を介して復元制御部２２に対して送信する。
【０１７９】
ステップＳ３６：
復元制御部２２は、復元先である第１セクタ番号と、その第１セクタ番号に対応する復元元である第２セクタ番号とを初期化する。
【０１８０】
より具体的に、復元制御部２２は、初期値として第１セクタ番号に「０ｘ０００００００１」、そして、第２セクタ番号に「０ｘ０００００００２」を格納する。
【０１８１】
ステップＳ３７：
復元制御部２２は、運用ボリューム１３に対する復元が完了したか否かを判別する。
【０１８２】
より具体的に、一例として、復元制御部２２は、運用ボリューム１３の総セクタ数を求めると共に、求めた総セクタ数を第１セクタ番号が超過したか否かを判別する。
【０１８３】
ステップＳ３７において「ＹＥＳ」：
復元制御部２２は、運用ボリューム１３に対する復元が完了したか否かを判別した結果、復元が完了したと判別する場合に、処理をステップＳ３８に進める。
【０１８４】
ステップＳ３７において「ＮＯ」：
復元制御部２２は、運用ボリューム１３に対する復元が完了したか否かを判別した結果、復元が完了していないと判別する場合に、処理をステップＳ３９に進める。
【０１８５】
ステップＳ３８：
復元制御部２２は、実行結果を復元要求１０２の送信元に対して送信する。即ち、復元制御部２２は、復元要求１０２の送信元であるホストコンピュータ１１に対して応答を返す。
【０１８６】
ステップＳ３９：
復元制御部２２は、第１セクタ番号に基づいて、ステップＳ３５において読み込まれたコピーテーブル１０５を参照すると共に、コピーテーブル１０５の中から当該第１セクタ番号に対応する第１の差分情報を求める。
【０１８７】
より具体的に、復元制御部２２は、コピーテーブル１０５の中から係る第１セクタ番号に対応する第１の差分情報を示すビットを読み込む。
【０１８８】
ステップＳ４０：
復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタか、差分バックアップにおいてバックアップした情報から復元が必要なセクタかを判別する。
【０１８９】
ステップＳ４０において「ＹＥＳ」：
復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップ、または差分バックアップの何れかにおいてバックアップした情報から復元が必要なセクタかを判別した結果、差分バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する場合に、処理をステップＳ４１に進める。
【０１９０】
より具体的に、復元制御部２２は、求めた第１の差分情報を示すビットが「１」を示す場合に、第１セクタ番号のセクタが差分バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する。
【０１９１】
ステップＳ４０において「ＮＯ」：
復元制御部２２は、求めた第１の差分情報に基づいて、第１セクタ番号のセクタが初回バックアップ、または差分バックアップの何れかにおいてバックアップした情報から復元が必要なセクタかを判別した結果、初回バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する場合に、処理をステップＳ４３に進める。
【０１９２】
より具体的に、復元制御部２２は、求めた第１の差分情報を示すビットが「０」を示す場合に、第１セクタ番号のセクタが初回バックアップにおいてバックアップした情報から復元が必要なセクタであると判別する。
【０１９３】
ステップＳ４１：
復元制御部２２は、差分バックアップに際して用いたバックアップボリュームにおける第２セクタ番号のセクタに記憶された情報を、転送制御部１５を介して第２のディスクアレイ装置１２に対して要求する。
【０１９４】
より具体的に、復元制御部２２は、ステップＳ３２において求めたバックアップボリューム番号と、第２セクタ番号とからなる読み込みコマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。
【０１９５】
これにより、第２のディスクアレイ装置１２は、転送制御部１５を介して復元制御部２２から読み込みコマンドを受信する。また、第２のディスクアレイ装置１２は、受信した読み込みコマンドに基づきバックアップボリューム番号を有するバックアップボリュームにおける第２セクタ番号のセクタに記憶されたバイトデータ列を、転送制御部１５を介して復元制御部２２に対して送信する。
【０１９６】
ステップＳ４２：
復元制御部２２は、第１セクタ番号と、その第１セクタ番号に対応する第２セクタ番号とに「１」を加算する。
【０１９７】
ステップＳ４３：
復元制御部２２は、初回バックアップに際して用いたバックアップボリュームにおける第１セクタ番号のセクタに記憶された情報を、転送制御部１５を介して第２のディスクアレイ装置１２に対して要求する。
【０１９８】
より具体的に、復元制御部２２は、ステップＳ３１において求めたバックアップボリューム番号と、第１セクタ番号とからなる読み込みコマンドを、転送制御部１５を介して第２のディスクアレイ装置１２に対して送信する。
【０１９９】
これにより、第２のディスクアレイ装置１２は、転送制御部１５を介して復元制御部２２から読み込みコマンドを受信する。また、第２のディスクアレイ装置１２は、受信した読み込みコマンドに基づきバックアップボリューム番号を有するバックアップボリュームにおける第１セクタ番号のセクタに記憶されたバイトデータ列を、転送制御部１５を介して復元制御部２２に対して送信する。
【０２００】
ステップＳ４４：
復元制御部２２は、第１セクタ番号に「１」を加算する。また、復元制御部２２は、処理をステップＳ４５に進める。
【０２０１】
即ち、復元制御部２２は、差分バックアップにおいて記憶された復元元の情報を要求する場合には、第１セクタ番号と第２セクタ番号とに「１」を加算する。その一方で、復元制御部２２は、初回バックアップにおいて記憶された復元元の情報を要求する場合には、第１セクタ番号「１」を加算する。
【０２０２】
ステップＳ４５：
復元制御部２２は、要求に応じて得られた情報を、第１セクタ番号のセクタに記憶するよう転送制御部１５を介して運用ボリューム１３に対して要求する。また、復元制御部２２は、処理をステップＳ３７に戻す。
【０２０３】
より具体的に、復元制御部２２は、要求に応じて得られたバイトデータ列と、運用ボリューム１３を識別可能なボリューム番号と、第１セクタ番号とからなる書き込みコマンドを、転送制御部１５を介して運用ボリューム１３に対して送信する。
【０２０４】
これにより、運用ボリューム１３は、転送制御部１５を介して復元制御部２２から書き込みコマンドを受信する。また、運用ボリューム１３は、受信した書き込みコマンドに基づき運用ボリューム１３における第１セクタ番号のセクタにバイトデータ列を記憶する。
【０２０５】
このように、復元制御部２２は、差分バックアップにおいてバックアップした情報から復元が必要である場合に、第２のディスクアレイ装置１２に、差分バックアップに際して構築されたバックアップボリュームにおける第２セクタ番号のセクタに記憶された情報を、運用ボリューム１３における第１セクタ番号のセクタに復元することができる。
【０２０６】
また、復元制御部２２は、初回バックアップにおいてバックアップした情報から復元が必要である場合に、第２のディスクアレイ装置１２に、初回バックアップに際して構築されたバックアップボリュームにおける第１セクタ番号のセクタに記憶された情報を、運用ボリューム１３における第１セクタ番号のセクタに復元することができる。
【０２０７】
尚、上述した本実施形態では、説明の便宜上、一例として、バックアップ制御装置２１は、バックアップ制御部２と、復元制御部２２とを同一（つまり、一体）の装置において実現する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。バックアップ制御装置２１は、例えば、バックアップ制御部２と、復元制御部２２とを別体の装置において実現する構成を採用してもよい。また、バックアップ制御装置２１は、例えば、１つの情報処理装置において、仮想的にバックアップ制御部２と、復元制御部２２とを実現する構成を採用してもよい。
【０２０８】
このように本実施の形態に係るバックアップ制御装置２１によれば、第１の実施形態において説明した効果を享受できると共に、さらに、異なる装置間においてリストアできない環境であっても、リストア可能なように制御することができる。その理由は、以下に述べる通りである。
【０２０９】
即ち、バックアップ制御装置２１は、コピーテーブル１０５によって、第１セクタ番号のセクタが初回バックアップ、または差分バックアップの何れかにおいてバックアップした情報から復元が必要なセクタかを判別することができる。バックアップ制御装置２１は、差分バックアップにおいてバックアップした情報から復元が必要なセクタである判別する場合に、差分バックアップの際に用いたバックアップボリュームのボリューム番号と、第２セクタ番号とに基づいて、そのバックアップボリュームにおける第２セクタ番号のセクタに記憶された情報を、第２のディスクアレイ装置１２に対して要求する。その一方で、バックアップ制御装置２１は、初回バックアップにおいてバックアップした情報から復元が必要なセクタである判別する場合に、初回バックアップの際に用いたバックアップボリュームのボリューム番号と、第１セクタ番号とに基づいて、そのバックアップボリュームにおける第１セクタ番号のセクタに記憶された情報を、第２のディスクアレイ装置１２に対して要求する。また、その要求に応じて得られた当該情報を、復元先である運用ボリューム１３における第１セクタ番号のセクタに復元するよう制御することができるからである。これにより、運用ボリューム１３は、第１セクタ番号により指定されたセクタに当該情報をコピーすることができる。また、プライマリ装置とセカンダリ装置との間において、リストア等の拡張機能に関する仕様が異なる場合やその拡張機能をセカンダリ装置が持たない場合であっても、バックアップ制御装置２１は、セカンダリ装置に対してリストア可能なように制御することができる。即ち、バックアップ制御装置２１によれば、バックアップ制御装置２１を含むプライマリ装置だけでバックアップ及びリストアに関する制御を実現することができる。
【０２１０】
＜第３の実施形態＞
次に、上述した本発明の第２の実施形態に係るバックアップ制御装置２１を基本とする第３の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【０２１１】
本発明の第３の実施形態におけるバックアップ制御装置３１について、図５、図６Ａ、図６Ｂ、図８Ａ、図８Ｂ及び図９を参照して説明する。
【０２１２】
図９は、本発明の第３の実施形態におけるバックアップ制御装置３１を含む第１のディスクアレイ装置３０の構成を示すブロック図である。
【０２１３】
図９において、バックアップ制御装置３１は、バックアップ制御部３２と、復元制御部３３とを備える。
【０２１４】
また、第１のディスクアレイ装置３０は、複数の運用ボリューム（１３ａ乃至１３ｃ）と、スナップショット制御部３４と、転送制御部３５と、複数の差分管理テーブル（１０３ａ乃至１０３ｃ）と、複数のバックアップボリューム管理テーブル（１０４ａ乃至１０４ｃ）と、複数のコピーテーブル（１０５ａ乃至１０５ｃ）とを有する。
【０２１５】
即ち、第１のディスクアレイ装置３０は、複数の運用ボリューム（１３ａ乃至１３ｃ）毎に、その運用ボリューム（１３ａ乃至１３ｃ）に対応する複数の差分管理テーブル（１０３ａ乃至１０３ｃ）と、複数のバックアップボリューム管理テーブル（１０４ａ乃至１０４ｃ）と、複数のコピーテーブル（１０５ａ乃至１０５ｃ）とを有する。
【０２１６】
尚、上述した本実施形態では、説明の便宜上、一例として、第１のディスクアレイ装置３０は、３つの運用ボリューム（１３ａ乃至１３ｃ）を有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。第１のディスクアレイ装置３０は、複数の運用ボリューム（１、２、３、・・・、ｎ、ｎ＋１）を有する構成を採用してもよい。
【０２１７】
バックアップ制御部３２は、スナップショットの世代を示す世代番号と、運用ボリューム（１３ａ乃至１３ｃ）を識別可能なボリューム番号とを含むバックアップ要求１１１を受信するのに応じて、バックアップ要求１１１により指定された運用ボリュームに対して図５、図６Ａ及び図６Ｂにおいて説明したバックアップ処理を実行する。
【０２１８】
また、復元制御部３３は、復元の対象である特定のバックアップ番号と、さらに、運用ボリューム（１３ａ乃至１３ｃ）のボリューム番号とを含む復元要求１１２を受信するのに応じて、復元要求１１２により指定された運用ボリュームに対して図８Ａ及び図８Ｂにおいて説明したリストア処理を実行する。
【０２１９】
このように、バックアップ制御装置３１は、運用ボリューム毎に各実施形態において説明した処理を実行する。そのため重複する説明は省略する。
【０２２０】
次に、スナップショット制御部３４は、バックアップの対象である運用ボリュームのスナップショットを世代毎に管理するだけでなく、さらに、運用ボリューム毎にスナップショットを管理する。そのため、差分管理テーブル（１０３ａ乃至１０３ｃ）は、運用ボリューム（１３ａ乃至１３ｃ）毎に存在する。
【０２２１】
また、スナップショット制御部３４は、運用ボリューム（１３ａ乃至１３ｃ）のボリューム番号をさらに含むスナップショット取得コマンドを受信した場合に、スナップショット取得コマンドを受信した時点において、指定された運用ボリューム（１３ａ乃至１３ｃ）のスナップショットを取得する。
【０２２２】
その一方で、スナップショット制御部３４は、スナップショットの世代を示す世代番号と、第１セクタ番号と、さらに、運用ボリュームのボリューム番号とを含むスナップショット読み込みコマンドを受信した場合に、スナップショット読み込みコマンドによって指定された運用ボリュームに対して取得したスナップショットの世代における第１セクタ番号により指定されたセクタに記憶されているバイトデータ列を、スナップショット読み込みコマンドの送信元に対して送信する。
【０２２３】
このように、バックアップ制御装置３１、スナップショット制御部３４及び転送制御部３５は、各種コマンドにより指定された運用ボリューム（１３ａ乃至１３ｃ）に対して各実施形態において説明した処理を実行する。そのため重複する説明は省略する。
【０２２４】
このように本実施の形態に係るバックアップ制御装置３１によれば、各実施形態において説明した効果を享受できると共に、異なる装置間においてバックアップまたはリストアできない環境であっても、複数の運用ボリュームに対してバックアップまたはリストア可能なように制御することができる。
【０２２５】
その理由は、バックアップ制御装置３１は、運用ボリューム毎に各実施形態において説明した処理を実行することができるからである。また、バックアップ制御装置３１は、ディスクアレイ装置に適用して好適である。
【０２２６】
（ハードウェア構成例）
上述した実施形態において図面に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定されうる。この場合のハードウェア環境の一例を、図１０を参照して説明する。
【０２２７】
図１０は、本発明の模範的な実施形態に係るバックアップ制御装置を実行可能な情報処理装置３００（コンピュータ）の構成を例示的に説明する図である。即ち、図１０は、図１に示したバックアップ制御装置１、或いは、図７に示したバックアップ制御装置２１及び図９に示したバックアップ制御装置３１、の全体または一部のバックアップ制御装置を実現可能なサーバ等のコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０２２８】
図１０に示した情報処理装置３００は、ＣＰＵ（ＣＥＮＴＲＡＬ＿ＰＲＯＣＥＳＳＩＮＧ＿ＵＮＩＴ）３０１、ＲＯＭ（ＲＥＡＤ＿ＯＮＬＹ＿ＭＥＭＯＲＹ）３０２、ＲＡＭ（ＲＡＮＤＯＭ＿ＡＣＣＥＳＳ＿ＭＥＭＯＲＹ）３０３、ハードディスク３０４（記憶装置）、並びに外部装置との通信インタフェース（ＩＮＴＥＲＦＡＣＥ：以降、「Ｉ／Ｆ」と称する）３０５、ＣＤ−ＲＯＭ（ＣＯＭＰＡＣＴ＿ＤＩＳＣ＿ＲＥＡＤ＿ＯＮＬＹ＿ＭＥＭＯＲＹ）等の記憶媒体３０７に格納されたデータを読み書き可能なリーダライタ３０８を備え、これらの構成がバス３０６（通信線）を介して接続された一般的なコンピュータである。
【０２２９】
そして、上述した実施形態を例に説明した本発明は、図１０に示した情報処理装置３００に対して、その説明において参照したブロック構成図（図１、図７、図９）或いはフローチャート（図５、図６Ａ、図６Ｂ、図８Ａ、図８Ｂ）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ３０１に読み出して実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ（ＲＡＭ３０３）またはハードディスク３０４等の不揮発性の記憶デバイスに格納すれば良い。
【０２３０】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体３０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体によって構成されると捉えることができる。
【符号の説明】
【０２３１】
１    バックアップ制御装置
２    バックアップ制御部
３    復元制御部
１０    第１のディスクアレイ装置
１１    ホストコンピュータ
１２    第２のディスクアレイ装置
１３、１３ａ、１３ｂ、１３ｃ    運用ボリューム
１４    スナップショット制御部
１５    転送制御部
１６    インタフェース
１７    インタフェース
２０    第１のディスクアレイ装置
２１    バックアップ制御装置
２２    復元制御部
３０    第１のディスクアレイ装置
３１    バックアップ制御装置
３２    バックアップ制御部
３３    復元制御部
３４    スナップショット制御部
３５    転送制御部
１０１、１１１    バックアップ要求
１０２、１１２    復元要求
１０３、１０３ａ、１０３ｂ、１０３ｃ    差分管理テーブル
１０４、１０４ａ、１０４ｂ、１０４ｃ    バックアップボリューム管理テーブル
１０５    コピーテーブル
８０１、８０Ｘ    バックアップボリューム
３００    情報処理装置
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    ハードディスク
３０５    通信インタフェース
３０６    バス
３０７    記憶媒体
３０８    リーダライタ
【図１】
2015114784.tif 000003
【図２】
2015114784.tif 000004
【図３】
2015114784.tif 000005
【図４】
2015114784.tif 000006
【図５】
2015114784.tif 000007
【図６Ａ】
2015114784.tif 000008
【図６Ｂ】
2015114784.tif 000009
【図７】
2015114784.tif 000010
【図８Ａ】
2015114784.tif 000011
【図８Ｂ】
2015114784.tif 000012
【図９】
2015114784.tif 000013
【図１０】
2015114784.tif 000014