(57)【要約】【課題】  管理者が各世代の保証期間を個別に設定することを許容しつつ、複数世代のバックアップデータの管理を行う。【解決手段】  バックアップ管理装置とディスクアレイ装置とをＳＡＮを介して接続し、バックアップシステムを構築する。バックアップ管理装置は、管理者に、バックアップ周期と、バックアップの世代数と、各世代の保証期間との設定を許容する。そして、バックアップ管理装置は、設定内容に基づいて、上書き可能判定処理を行い、限られたボリューム数で、管理者が所望する複数世代のバックアップデータの管理ができるように、バックアップ処理を実行する。【選択図】  図１２
2005190259.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置であって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する保証期間入力部と、
前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、バックアップスケジュールを作成するシミュレーション部と、
を備えるバックアップ管理装置。
【請求項２】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置であって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する保証期間入力部と、
前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、前記複数世代のバックアップデータの管理を実現するために必要な前記記録媒体の数を算出するシミュレーション部と、
該算出された記録媒体の数を出力する出力部と、
を備えるバックアップ管理装置。
【請求項３】
請求項１または２記載のバックアップ管理装置であって、さらに、
ユーザによって設定された前記バックアップ周期を入力するバックアップ周期入力部と、
ユーザによって設定された前記世代数を入力する世代数入力部と、
のうちの少なくとも１つを備える、
バックアップ管理装置。
【請求項４】
請求項１または２記載のバックアップ管理装置であって、さらに、
前記世代と、前記保証期間とを対応づけて記憶する保証期間記憶部と、
前記記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて記憶する媒体情報記憶部と、を備え、
前記シミュレーション部は、
前記保証期間記憶部と、前記媒体情報記憶部とを参照して、前記第ｎ世代（ｎは、自然数）のバックアップデータが、該第ｎ世代よりも古い第（ｎ＋１）世代のバックアップデータに移行するときに、該バックアップデータが記録された記録媒体に、第１世代のバックアップデータを上書き可能か否かを判断する判断部を備える、
バックアップ管理装置。
【請求項５】
請求項４記載のバックアップ管理装置であって、
前記判断部は、
前記第ｎ世代のバックアップデータよりも１つ新しいバックアップデータが、前記第（ｎ＋１）世代のバックアップデータに移行するまでの第１の所要時間と、
前記第（ｎ＋１）世代のバックアップデータが、該第（ｎ＋１）世代のバックアップデータの保証期間外に移行するまでの第２の所要時間と、を比較し、
前記第１の所要時間が前記第２の所要時間よりも短い場合に、上書き可能と判断する、
バックアップ管理装置。
【請求項６】
請求項１記載のバックアップ管理装置であって、さらに、
前記バックアップスケジュールに従って、前記バックアップを実行するバックアップ実行部を備えるバックアップ管理装置。
【請求項７】
請求項１記載のバックアップ管理装置であって、さらに、
前記シミュレーションの結果、前記バックアップスケジュールにおける前記ローテーションのパターンが所定の試行回数以内に収束するか否かを判断する収束判断部と、
前記収束判断部によって、前記パターンが前記所定の試行回数以内に収束する判断されたときに、前記バックアップスケジュールに従って、前記バックアップを実行する第１のバックアップ実行部と、
前記収束判断部によって、前記パターンが前記所定の試行回数以内に収束しないと判断されたときに、前記バックアップ周期ごとに、前記複数の記録媒体の中から、上書き可能な記録媒体を逐次選択して、該記録媒体に、前記バックアップを実行する第２のバックアップ実行部と、
を備えるバックアップ管理装置。
【請求項８】
書き換え可能な複数の記録媒体のいずれかに、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置であって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する保証期間入力部と、
前記世代と、前記保証期間とを対応づけて記憶する保証期間記憶部と、
前記記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて記憶する媒体情報記憶部と、
前記バックアップ周期ごとに、前記保証期間記憶部と、前記媒体情報記憶部とを参照して、前記第ｎ世代（ｎは、自然数）のバックアップデータが、該第ｎ世代よりも古い第（ｎ＋１）世代のバックアップデータに移行するときに、該バックアップデータが記録された記録媒体に、第１世代のバックアップデータを上書き可能か否かを判断する判断部と、
該判断結果が上書き可のときには、前記記録媒体に上書きして第１世代のバックアップを実行し、前記判断結果が上書き不可のときには、他の記録媒体に第１世代のバックアップを実行するバックアップ実行部と、
を備えるバックアップ管理装置。
【請求項９】
請求項８記載のバックアップ管理装置であって、さらに、
前記保証期間記憶部と、前記媒体情報記憶部とを参照して、前記保証期間と、前記バックアップデータが記録された記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて出力する出力部を備える、
バックアップ管理装置。
【請求項１０】
請求項１、２、８のいずれかに記載のバックアップ管理装置であって、
前記保証期間入力部は、以下に示す条件下で、前記保証期間の入力を許容する、
バックアップ管理装置。
条件（１）：複数の前記保証期間は、連続している。；
条件（２）：第（ｎ＋１）世代（ｎは、自然数）のバックアップデータは、第ｎ世代のバックアップデータよりも古く、第（ｎ＋１）世代のバックアップデータの保証期間は、第ｎ世代のバックアップデータの保証期間以上である。
【請求項１１】
請求項１０記載のバックアップ管理装置であって、
前記条件は、さらに、
条件（３）：前記保証期間は、前記バックアップ周期の倍数である、
を含むバックアップ管理装置。
【請求項１２】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置に用いられるインタフェースであって、
時間軸とともに表示され、期間の長さに対応した長さを有する所定の領域を、区切線で区分することによって、前記バックアップデータの世代数と等しい複数の領域を表示する期間表示領域を有し、
前記各領域の長さは、前記複数世代のそれぞれについて、前記バックアップデータの存在を保証する保証期間を表しており、
前記期間表示領域は、前記区切線を、ユーザのポインティングデバイスの操作に応じて移動することによって、前記保証期間を変更可能である、
インタフェース。
【請求項１３】
請求項１２記載のインタフェースであって、
前記期間表示領域は、第（ｎ＋１）世代（ｎは、自然数）のバックアップデータは、第ｎ世代のバックアップデータよりも古く、第（ｎ＋１）世代のバックアップデータの保証期間は、第ｎ世代のバックアップデータの保証期間以上であるという条件を満たすように表示される、
インタフェース。
【請求項１４】
請求項１２記載のインタフェースであって、
前記保証期間と、前記バックアップデータが記録された記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて表示する管理状況表示領域を有する、
インタフェース。
【請求項１５】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御する制御方法であって、
（ａ）前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する工程と、
（ｂ）前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、バックアップスケジュールを作成する工程と、
を備える制御方法。
【請求項１６】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御する制御方法であって、
（ａ）前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する工程と、
（ｂ）前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、前記複数世代のバックアップデータの管理を実現するために必要な前記記録媒体の数を算出する工程と、
（ｃ）該算出された記録媒体の数を出力する工程と、
を備える制御方法。
【請求項１７】
書き換え可能な複数の記録媒体のいずれかに、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御する制御方法であって、
（ａ）前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する工程と、
（ｂ）前記世代と、前記保証期間とを対応づけて記憶する工程と、
（ｃ）前記記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて記憶する工程と、
（ｄ）前記バックアップ周期ごとに、前記保証期間記憶部と、前記媒体情報記憶部とを参照して、前記第ｎ世代（ｎは、自然数）のバックアップデータが、該第ｎ世代よりも古い第（ｎ＋１）世代のバックアップデータに移行するときに、該バックアップデータが記録された記録媒体に、第１世代のバックアップデータを上書き可能か否かを判断する工程と、
（ｅ）該判断結果が上書き可のときには、前記記録媒体に上書きして第１世代のバックアップを実行し、前記判断結果が上書き不可のときには、他の記録媒体に第１世代のバックアップを実行する工程と、
を備える制御方法。
【請求項１８】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御するためのコンピュータプログラムであって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を取得する機能と、
前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、バックアップスケジュールを作成する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１９】
書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御するためのコンピュータプログラムであって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を取得する機能と、
前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、前記複数世代のバックアップデータの管理を実現するために必要な前記記録媒体の数を算出する機能と、
該算出された記録媒体の数を出力する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項２０】
書き換え可能な複数の記録媒体のいずれかに、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置を制御するためのコンピュータプログラムであって、
前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を取得する機能と、
前記世代と、前記保証期間とを対応づけて記憶する機能と、
前記記録媒体と、該記録媒体に前記バックアップデータが記録された時刻とを対応づけて記憶する機能と、
前記バックアップ周期ごとに、前記保証期間記憶部と、前記媒体情報記憶部とを参照して、前記第ｎ世代（ｎは、自然数）のバックアップデータが、該第ｎ世代よりも古い第（ｎ＋１）世代のバックアップデータに移行するときに、該バックアップデータが記録された記録媒体に、第１世代のバックアップデータを上書き可能か否かを判断する機能と、
該判断結果が上書き可のときには、前記記録媒体に上書きして第１世代のバックアップを実行し、前記判断結果が上書き不可のときには、他の記録媒体に第１世代のバックアップを実行する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数世代のバックアップデータの管理に関するものである。
【背景技術】
【０００２】
近年、大容量のデータを格納するストレージ装置が普及している。このストレージ装置は、ネットワークを介して、サーバなど複数の情報処理装置と接続される。ストレージ装置では、データを格納する運用ボリュームの物理的、あるいは、論理的障害が発生したときに、リストアが可能なように、バックアップが行われる。このバックアップは、一定の時間間隔（バックアップ周期）で行われることが多い。そして、バックアップデータは、通常、複数世代で管理される。
【０００３】
一般に、バックアップデータを格納するバックアップ先のボリューム数には、制限がある。このため、複数世代のバックアップデータの管理を行う場合には、複数のボリュームをローテーションさせて、不要となったバックアップデータを保持するボリュームに、新たなバックアップデータを上書きしながら、バックアップを行う。管理すべきバックアップデータの世代数や、バックアップデータの存在を保証する保証期間、すなわち、管理者がバックアップデータを保持しておきたい期間は、管理者が任意に設定する。そして、管理者は、バックアップ先のボリューム数や、バックアップデータの世代数や、各世代の保証期間に基づいて、バックアップスケジュールを作成する。
【０００４】
複数のボリュームをローテーションさせてバックアップを行うバックアップスケジュールの作成には、種々のアルゴリズムが適用される。このアルゴリズムとしては、例えば、「ラウンドロビン」や、「ＧＦＳ（Grandfather-Father-Son）」や、「ハノイの塔」などが挙げられる。また、下記特許文献１に記載された技術も知られている。
【０００５】
【特許文献１】特開平１１−１９４９６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述したアルゴリズムでは、ある世代の保証期間を変更すると、他の世代の保証期間も連動して変更しなければならないという各世代間の保証期間の相互関係に制約があり、管理者が各世代の保証期間を個別に設定することは困難だった。そして、数が限られたバックアップ先のボリュームを有効活用する観点から、各保証期間の個別設定を可能とすることが望まれていた。
【０００７】
本発明は、上述の課題を解決するためになされたものであり、管理者が各世代の保証期間を個別に設定することを許容しつつ、複数世代のバックアップデータの管理を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題の少なくとも一部を解決するため、本発明では、以下の構成を採用した。すなわち、本発明のバックアップ管理装置は、書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置であって、前記複数世代のそれぞれについて、ユーザによって個別に設定され、前記バックアップデータの存在を保証する保証期間を入力する保証期間入力部と、前記バックアップ周期と、前記バックアップデータの世代数と、前記保証期間とに基づいて、所定のシミュレーションを行うことによって、バックアップスケジュールを作成するシミュレーション部と、を備えることを要旨とする。
【０００９】
ここで、「複数の記録媒体をローテーションさせて」とは、「複数の記録媒体を用いて、不要となったバックアップデータを保持する記録媒体に、新たなバックアップデータを上書きしながら」ということを意味している。また、バックアップ周期とは、バックアップを行う一定の時間間隔を意味する。１つの記録媒体について、上書きが行われる時間間隔は、必ずしも一定である必要はなく、変化してもよい。また、バックアップデータを記録する書き換え可能な記録媒体は、物理的な単位であってもよいし、論理的な単位であってもよい。物理的な単位としては、例えば、磁気テープや、ＣＤや、ＤＶＤなどが挙げられる。論理的な単位としては、例えば、ストレージ装置内に設定された論理ボリュームが挙げられる。
【００１０】
本発明によって、各世代の保証期間が、「ハノイの塔」などのアルゴリズムに適合しない場合であっても、容易にバックアップスケジュールを作成することができる。そして、管理者は、バックアップ管理装置によって作成されたバックアップスケジュールに従って、バックアップを行うことができる。つまり、管理者が各世代の保証期間を個別に設定することを許容しつつ、複数世代のバックアップデータの管理を行うことができる。
【００１１】
本発明は、インタフェースの発明として構成することもできる。すなわち、本発明のインタフェースは、書き換え可能な複数の記録媒体をローテーションさせて、所定のバックアップ周期で、定期的に前記記録媒体にバックアップデータを記録し、複数世代のバックアップデータの管理を行うバックアップ管理装置に用いられるインタフェースであって、時間軸とともに表示され、期間の長さに対応した長さを有する所定の領域を、区切線で区分することによって、前記バックアップデータの世代数と等しい複数の領域を表示する期間表示領域を有し、前記各領域の長さは、前記複数世代のそれぞれについて、前記バックアップデータの存在を保証する保証期間を表しており、前記期間表示領域は、前記区切線を、ユーザのポインティングデバイスの操作に応じて移動することによって、前記保証期間を変更可能であることを要旨とする。
【００１２】
こうすることによって、管理者は、期間表示領域を目視して、複数世代の各保証期間の長さを視認しながら、ポインティングデバイスの操作によって区切線を移動させて、容易に保証期間の設定を行うことができる。この結果、バックアップ管理装置の利便性を向上させることができる。
【００１３】
本発明は、上述したバックアップスケジュールを作成するバックアップ管理装置としての構成の他、シミュレーションによってバックアップに必要な記録媒体の数を出力するバックアップ管理装置や、バックアップ周期ごとに逐次上書きの可否を判断してバックアップを実行するバックアップ管理装置として構成することもできる。また、これらのバックアップ管理装置の種々の特徴を、適宜、組み合わせて構成することもできる。また、これらのバックアップ管理装置の制御方法の発明として構成することもできる。さらに、これらを実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。
【００１４】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、バックアップ管理装置の動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．バックアップシステムの構成：
Ｂ．第１実施例：
Ｂ１．バックアップ管理装置：
Ｂ２．スケジュールモード：
Ｂ２−１．バックアップスケジュール作成処理：
Ｂ２−２．上書き可能判定処理：
Ｂ２−３．バックアップ処理：
Ｂ３．逐次判定モード：
Ｃ．第２実施例：
Ｄ．変形例：
【００１６】
Ａ．バックアップシステムの構成：
図１は、本発明の一実施例としてのバックアップシステム１０００の構成を示す説明図である。このバックアップシステム１０００は、数が限られたボリュームをローテーションさせて利用し、バックアップデータを複数世代で管理するシステムである。本実施例のバックアップシステム１０００は、バックアップ管理装置１００と、ディスクアレイ装置２００と、テープ装置３００とを備えている。これらは、ＳＡＮ（Storage Area Network）を介して、それぞれ接続されている。ＳＡＮは、ファイバーチャネル技術を利用した高速通信が可能なネットワークである。ＳＡＮの代わりに、インターネットや、ＬＡＮなど、他のネットワークを適用するようにしてもよい。
【００１７】
バックアップ管理装置１００は、ＣＰＵ１０や、メモリ２０や、記憶装置３０や、ブロックデバイスインタフェース４０や、入力装置５０や、出力装置６０などを備えるコンピュータである。このバックアップ管理装置１００は、後述するように、管理者によって設定されたバックアップ周期や、バックアップの世代数や、各世代の保証期間に従って、バックアップを実行する。バックアップ周期とは、バックアップを行う一定の時間間隔である。保証期間とは、バックアップデータの存在を保証する期間であり、管理者がバックアップデータを保持しておきたい期間である。
【００１８】
記憶装置３０は、バックアップを実行するための種々のプログラムを記憶している。このプログラムには、ディスクアレイ装置２００内のバックアップ対象となるプライマリ・ボリューム２２０に格納されたデータを、セカンダリ・ボリューム２３０ａ、２３０ｂ、２３０ｃ、２３０ｄ、２３０ｅ、・・・（以下、総称してセカンダリ・ボリューム２３０と呼ぶ）にバックアップして、複数世代で管理するためのプログラムが含まれる。また、セカンダリ・ボリューム２３０に格納されたデータを、テープ装置３００内の磁気テープにバックアップするためのプログラムも含まれる。
【００１９】
ブロックデバイスインタフェース４０は、ＳＡＮを介して他の機器と通信を行うためのインタフェースである。ブロックデバイスインタフェース４０としては、例えば、ホストバスアダプタを用いることができる。
【００２０】
入力装置５０は、キーボードや、マウスなどを含む。出力装置６０は、ディスプレイや、プリンタなどを含む。
【００２１】
ディスクアレイ装置２００は、ＣＰＵや、メモリや、複数のディスク（ディスクアレイ）を備えるコンピュータであり、ディスクに大容量のデータを格納する。ブロックデバイスインタフェース２１０は、ＳＡＮを介して他の機器と通信を行うためのインタフェースである。ディスクアレイ装置２００内のディスクには、プライマリ・ボリューム２２０と、セカンダリ・ボリューム２３０とが論理的に構成されている。プライマリ・ボリューム２２０は、ＳＡＮに接続された図示しないサーバが常時利用するデータを格納する運用ボリュームであり、バックアップ対象のデータを格納するボリュームである。セカンダリ・ボリューム２３０は、バックアップ先のボリュームである。ディスクアレイ装置２００は、バックアップ時やリストア時に、プライマリ・ボリューム２２０とセカンダリ・ボリュームとの同期、および、分離のペア制御を行いつつ、両者間で高速にデータのコピーを行う。なお、複数のセカンダリ・ボリューム２３０の数には制限があるため、これら複数のセカンダリ・ボリューム２３０は、複数世代のバックアップデータの管理を行う際に、ローテーションして利用される。
【００２２】
テープ装置３００は、複数のテープドライブを備えており、磁気テープにディスクアレイ装置２００のバックアップデータを保存する。ブロックデバイスインタフェース３１０は、ＳＡＮを介して他の機器と通信を行うためのインタフェースである。
【００２３】
Ｂ．第１実施例：
Ｂ１．バックアップ管理装置：
図２は、第１実施例のバックアップ管理装置１００の概略構成を示す説明図である。バックアップ管理装置１００は、図示する各モジュールを備えている。これらは、ソフトウェア的に構成されている。これらをハードウェア的に構成するものとしてもよい。
【００２４】
本実施例のバックアップ管理装置１００には、スケジュールモードと、逐次判定モードという２種類の自動バックアップモードが用意されている。スケジュールモードとは、バックアップ先となるセカンダリ・ボリューム２３０のローテーションの順序を含むバックアップスケジュールを予め作成し、このバックアップスケジュールに従ってバックアップを実行するバックアップモードである。逐次判定モードとは、バックアップ周期ごとに、バックアップ先となるセカンダリ・ボリューム２３０を逐次選択してバックアップを実行するバックアップモードである。このバックアップモードは、管理者によって任意に選択される。
【００２５】
保証期間設定画面表示モジュール３２は、管理者がバックアップ周期や、バックアップの世代数や、各世代の保証期間を設定するためのグラフィカル・ユーザ・インタフェースをディスプレイに表示する。このグラフィカル・ユーザ・インタフェースについては、後述する。ここで設定されたバックアップ周期は、バックアップ周期記憶部３１ｂに記憶される。また、設定されたバックアップの世代数、および、各保証期間は、保証期間テーブル記憶部３１ｃに保証期間テーブルとして記憶される。保証期間テーブルについては、後述する。保証期間設定画面表示モジュール３２は、本発明における保証期間入力部、バックアップ周期入力部、世代数入力部に相当する。
【００２６】
ボリューム設定モジュール３３は、管理者がバックアップ先となるセカンダリ・ボリューム２３０に関する設定を行うためのボリューム設定画面をディスプレイに表示する。ここでの設定内容は、ボリュームテーブル記憶部３１ｄにボリュームテーブルとして記憶される。ボリューム設定画面、および、ボリュームテーブルについては、後述する。ボリュームテーブル記憶部３１ｄは、本発明における媒体情報記憶部に相当する。
【００２７】
ボリューム上書き可能判定モジュール３４は、バックアップ周期記憶部３１ｂに記憶されたバックアップ周期と、保証期間テーブル記憶部３１ｃに記憶された保証期間テーブルと、ボリュームテーブル記憶部３１ｄに記憶されたボリュームテーブルとを参照して、上書き可能判定処理を行う。上書き可能判定処理とは、既にバックアップデータが格納されたセカンダリ・ボリューム２３０に、新たなバックアップデータを上書き可能か否かを判定する処理である。ボリューム上書き可能判定モジュール３４は、また、判定結果に基づいて、ボリュームテーブル記憶部３１ｄに記憶されたボリュームテーブルの内容を更新する。上書き可能判定処理については、後から詳述する。
【００２８】
ボリューム上書き可能判定モジュール３４は、スケジュールモードが設定されている場合には、シミュレーションによって、複数世代のバックアップデータの管理を行うために必要なセカンダリ・ボリューム２３０の数を算出する。すなわち、ボリューム上書き可能判定モジュール３４は、仮想的なバックアップ先ボリュームを設定し、後述するバックアップ取得モジュール３５や、タイマモジュール３６と連携して、仮想的な上書き可能判定処理を実行する。
【００２９】
バックアップスケジュール作成部３４ａは、スケジュールモードが設定されている場合に、ボリューム上書き可能判定モジュール３４によるシミュレーション結果に基づいて、バックアップスケジュールを作成する。バックアップスケジュールには、セカンダリ・ボリューム２３０のローテーションの順序などが記される。バックアップスケジュール作成部３４ａで作成されたバックアップスケジュールは、バックアップスケジュール記憶部３１ｅに記憶される。
【００３０】
バックアップ取得モジュール３５は、タイマモジュール３６によって、バックアップ時刻になったことが通知されたときに、バックアップ対象情報を記憶したバックアップ対象情報記憶部３１ａを参照して、バックアップ処理を実行する。本実施例では、バックアップ対象情報として、バックアップ対象となるプライマリ・ボリューム２２０を一意に表すＩＤを用いるものとした。バックアップ取得モジュール３５は、スケジュールモードが設定されている場合には、バックアップスケジュール記憶部３１ｅに記憶されたバックアップスケジュールに従って、バックアップ処理を実行する。また、バックアップ取得モジュール３５は、逐次判定モードが設定されている場合には、バックアップ周期ごとに、ボリューム上書き可能判定モジュール３４によって、上書き可能判定処理を実行し、その判定結果に基づいて、バックアップ処理を実行する。これら各処理については、後述する。なお、バックアップ処理には、プライマリ・ボリューム２２０からセカンダリ・ボリューム２３０へのバックアップと、セカンダリ・ボリューム２３０からテープ装置３００の磁気テープへのバックアップ（テープバックアップ）とが含まれる。
【００３１】
テープバックアップ設定画面表示モジュール３８は、テープバックアップ時のバックアップ先テープを管理者が指定するためのテープバックアップ設定画面をディスプレイに表示する。ここでの設定内容は、テープバックアップ設定情報記憶部３１ｆに記憶される。
【００３２】
テープバックアップ管理モジュール３９は、テープバックアップ設定情報記憶部３１ｆに記憶されたテープバックアップ設定情報と、ボリュームテーブル記憶部３１ｄに記憶されたボリュームテーブルに基づいて、テープバックアップを行う。テープバックアップの内容は、テープバックアップカタログ記憶部３１ｇに、テープバックアップカタログとして記憶される。テープバックアップカタログについては、後述する。テープバックアップ管理モジュール３９は、また、テープバックアップを行った際に、ボリュームテーブル記憶部３１ｄ内のボリュームテーブルの内容を更新する。
【００３３】
バックアップ保持状況画面表示モジュール３７は、管理者の表示指示により、ボリュームテーブル記憶部３１ｄに記憶されているボリュームテーブルを参照して、セカンダリ・ボリューム２３０に保持されているバックアップデータの保持状況をディスプレイに表示する。バックアップ保持状況表示画面については、後述する。
【００３４】
図３は、保証期間設定画面の一例を示す説明図である。この保証期間設定画面には、管理者がバックアップ周期や、バックアップの世代数や、各世代の保証期間を入力するためのグラフィカル・ユーザ・インタフェースＷＧが表示される。このグラフィカル・ユーザ・インタフェースＷＧによって、管理者は、バックアップ周期や、バックアップの世代数や、各世代の保証期間を容易に入力することができる。このグラフィカル・ユーザ・インタフェースＷＧは、本発明におけるインタフェースに相当する。
【００３５】
グラフィカル・ユーザ・インタフェースＷＧには、現在から過去への時間軸Ａｘｔと、複数世代の保証期間を表示するための保証期間表示領域Ｒと、設定内容を確定するための「決定」ボタンＢＴ１と、「キャンセル」ボタンＢＴ２と、先に説明したシミュレーション結果の１つである必要ボリューム数を表示するためのボックスＢＸとが表示される。
【００３６】
保証期間表示領域Ｒは、区切線によって複数の領域に区分される。そして、この領域の数は、バックアップの世代数に対応している。また、各領域の時間軸Ａｘｔに沿った長さは、各世代の保証期間の長さに対応している。図示した例では、保証期間表示領域Ｒは、区切線Ｌ１，Ｌ２，Ｌ３によって連続する４つの領域Ｂ１〜Ｂ４に区分されており、バックアップの世代数が４世代であることを示している。管理者は、区切線を追加したり、削除したりすることによって、世代数を増減させることができる。また、管理者は、グラフィカル・ユーザ・インタフェースＷＧを見ながら、マウスなどのポインティングデバイスの操作によって、マウスポインタＭＰで区切線を指定し、この区切線を時間軸Ａｘｔ方向に移動させることにより、保証期間の長さを変更することができる。
【００３７】
区切線の移動は、「第（ｎ＋１）世代（ｎは、自然数）のバックアップデータの保証期間は、第ｎ世代のバックアップデータの保証期間以上である」という条件によって制限されている。また、第（ｎ＋１）世代のバックアップデータは、第ｎ世代のバックアップデータよりも古い。例えば、図３の上段において、第３世代の保証期間が６時間であるから、第４世代の保証期間は、６時間以上に制約される。したがって、第４世代の保証期間を長くしなければ、区切線Ｌ３を右に移動する、すなわち、第３世代の保証期間を長くすることはできない。
【００３８】
グラフィカル・ユーザ・インタフェースＷＧにおいて、区切線を移動させ、保証期間の長さを変更すると、自動的に上述したシミュレーションが実行され、ボックスＢＸの必要ボリューム数が更新される。なお、本実施例では、第１世代の保証期間の長さが、バックアップ周期であるものとした。また、保証期間は、バックアップ周期の倍数であるものとした。
【００３９】
図４は、ボリューム設定画面の一例を示す説明図である。図３に示したグラフィカル・ユーザ・インタフェースＷＧの「決定」ボタンＢＴ１がクリックされたときに、ディスプレイに表示される画面である。図示するように、ボリューム設定画面Ｗ１には、バックアップ先ボリュームの指定を管理者に指示するメッセージＭＳＧ１と、バックアップ先ボリュームを設定するためのテーブルＴＢＬ１と、設定内容を確定するための「決定」ボタンと、「キャンセル」ボタンとが表示される。テーブルＴＢＬ１には、バックアップ先ボリューム数に対応した数のボリュームＩＤが表示され、管理者は、各ボリュームＩＤに対応するセカンダリ・ボリューム２３０のＬＵＮ（論理ユニット番号）を入力する。
【００４０】
図５は、ボリュームテーブルの一例を示す説明図である。このボリュームテーブルは、バックアップ先ボリュームの設定内容や、各ボリュームのバックアップの保持状況などを記録するためのテーブルである。ボリュームテーブルには、図４に示したボリューム設定画面Ｗ１で設定されたボリュームＩＤ、および、ＬＵＮと、バックアップデータの取得時間と、上書き可能判定モジュール３４による判定結果である上書き可能フラグ、および、テープバックアップフラグとが記録される。このボリュームテーブルの内容は、バックアップ処理が実行されるごとに更新される。
【００４１】
図６は、保証期間テーブルの一例を示す説明図である。保証期間テーブルには、バックアップの世代数に対応した数の保証期間ＩＤと、各保証期間の開始時間と、終了時間とが対応づけて記録される。
【００４２】
図７は、テープバックアップ設定画面の一例を示す説明図である。テープバックアップ設定画面Ｗ２には、テープバックアップ先の指定を管理者に指示するメッセージＭＳＧ２と、バックアップ先テープを設定するためのテーブルＴＢＬ２と、バックアップ先テープを追加するための「追加」ボタンと、バックアップ先テープを削除するための「削除」ボタンと、設定内容を確定するための「決定」ボタンと、「キャンセル」ボタンとが表示される。管理者は、テーブルＴＢＬ２にバックアップ先テープを識別するためのテープＩＤを入力する。
【００４３】
図８は、テープバックアップカタログの一例を示す説明図である。テープバックアップカタログには、テープバックアップの履歴、すなわち、バックアップＩＤと、テープＩＤと、磁気テープにおけるデータの開始位置であるオフセットと、バックアップデータのサイズと、バックアップの取得時間とが記録される。テープバックアップカタログに、さらに、他の必要な情報を記録するようにしてもよい。
【００４４】
図９は、バックアップモードがスケジュールモードであるときの、ボリューム上書き可能判定モジュール３４によるシミュレーション結果、および、バックアップスケジュール３１ｓの一例を示す説明図である。図の左側に、シミュレーション結果を示し、図の右側に、シミュレーション結果に基づくバックアップスケジュール３１ｓを示した。ここでは、第１世代の保証期間がバックアップ周期と同じであり、第２世代、および、第３世代の保証期間が、第１世代の保証期間の２倍であるという条件下で、３世代のバックアップを保証する場合について示す。この場合、ボリューム上書き可能判定モジュール３４によって、必要なセカンダリ・ボリューム２３０の数は、３つと算出される。シミュレーションについては、後に詳述する。
【００４５】
左図の枠内に記した数字は、バックアップを行うセカンダリ・ボリューム２３０のボリュームＩＤを示している。また、枠外の数字は、バックアップの回数を示している。例えば、１回目のバックアップでは、「ボリュームＩＤ：１」のセカンダリ・ボリューム２３０にバックアップを行い、この「ボリュームＩＤ：１」で第１世代のバックアップを保証することを示している。また、２回目のバックアップでは、「ボリュームＩＤ：１」は、第２世代のバックアップを保証し、「ボリュームＩＤ：２」で第１世代のバックアップを保証することを示している。図示した例では、セカンダリ・ボリューム２３０のローテーションの順序に、６回のバックアップを１セットとした規則性が存在することが分かる。
【００４６】
図９の右図は、複数のセカンダリ・ボリューム２３０を用いて、複数世代のバックアップデータを管理する際に用いるバックアップスケジュール３１ｓである。このバックアップスケジュール３１ｓは、複数のセカンダリ・ボリューム２３０のうち、バックアップ先となるセカンダリ・ボリューム２３０のＩＤを、バックアップ周期で行うバックアップ実行ごとに指定している。図示した例では、バックアップスケジュール３１ｓは、ボリュームＩＤが１であるセカンダリ・ボリューム２３０を用いて１回目のバックアップを実行し、図９に示した順番に従って、２回目、３回目、...のバックアップ実行を、それぞれ該当するボリュームＩＤのセカンダリ・ボリューム２３０を用いて行い、６回目のバックアップ実行後、再度順番１に戻り、該当するセカンダリ・ボリューム２３０を用いてバックアップを実行することを示している。
【００４７】
右図に示したバックアップスケジュール３１ｓにおいて、「上書きボリューム」は、次回のバックアップ時に上書きしてバックアップを行うセカンダリ・ボリューム２３０のボリュームＩＤを示すためのフラグである。このフラグが「ＯＮ」と記されている「順番」に対応する「ボリュームＩＤ」がバックアップ先のボリュームである。フラグが「ＯＮ」と記される位置は、図示するように、バックアップの実行毎に順次移行する。つまり、フラグが「ＯＮ」と記される位置は、「順番１」→「順番２」→「順番３」→...と移行する。先に説明したように、図示した例では、セカンダリ・ボリューム２３０のローテーションの順序には、６回のバックアップを１セットとした規則性があるから、フラグが「ＯＮ」である位置は、「順番：６」の次には、「順番：１」に戻る。
【００４８】
図１０は、バックアップ保持状況表示画面の一例を示す説明図である。バックアップ保持状況表示画面Ｗ３には、現在から過去への時間軸と、各世代におけるバックアップデータの保持状況と、バックアップ保持状況表示画面Ｗ３の表示を終了するための「閉じる」ボタンとが表示される。ここでは、バックアップデータが４世代で管理されており、第１世代の保証期間が２時間であり、第２世代および第３世代の保証期間が４時間であり、第４世代の保証期間が６時間である場合の表示例を示した。丸で囲んだ「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、それぞれバックアップデータを示している。これらの表示位置は、時間の経過とともに図の右側に移動する。管理者は、これらの表示位置を視認することによって、各バックアップデータがいつ取得されたものであるのかなどの管理状況を容易に把握することができる。
【００４９】
Ｂ２．スケジュールモード：
スケジュールモードにおけるバックアップについて説明する。スケジュールモードにおけるバックアップでは、まず、バックアップスケジュールを作成し、作成されたバックアップスケジュールに従って、バックアップを実行する。
【００５０】
Ｂ２−１．バックアップスケジュール作成処理：
図１１は、バックアップスケジュール作成処理の流れを示すフローチャートである。管理者の実行指示に応じて、バックアップ管理装置１００のＣＰＵ１０が実行する処理である。
【００５１】
ＣＰＵ１０は、まず、図３に示した保証期間設定画面を表示する（ステップＳ１００）。次に、ＣＰＵ１０は、保証期間設定画面において管理者によって設定されたバックアップ周期と、バックアップの世代数と、各保証期間とを取得し（ステップＳ１１０）、保証期間テーブルを設定する（ステップＳ１２０）。そして、ＣＰＵ１０は、設定されたバックアップ周期と、世代数と、保証期間とを満たす複数世代のバックアップの管理を行うために必要なセカンダリ・ボリューム２３０のボリューム数を算出したり、セカンダリ・ボリューム２３０のローテーションの順序を決定したりするためのシミュレーションを行う（ステップＳ１３０）。このシミュレーションでは、後述する上書き可能判定処理が実行される。上書き可能判定処理とは、既にバックアップデータが格納されたセカンダリ・ボリューム２３０に、新たなバックアップデータを上書き可能か否かを判定する処理である。次に、ＣＰＵ１０は、シミュレーションで得られた必要ボリューム数を保証期間設定画面のボックスＢＸに出力する（ステップＳ１４０）。ステップＳ１１０〜ステップＳ１４０は、バックアップ周期や、世代数や、保証期間が変更されるごとに行う。ステップＳ１４０において必要ボリューム数を出力することによって、管理者は、バックアップに先立ち、所望の複数世代のバックアップの管理を行うために必要なボリューム数を、予め準備することができる。
【００５２】
次に、ＣＰＵ１０は、保証期間設定画面で「決定」ボタンＢＴ１がクリックされたか否かを判断する（ステップＳ１５０）。「決定」ボタンＢＴ１がクリックされた場合には（ステップＳ１５０：ＹＥＳ）、ステップＳ１３０におけるシミュレーション結果に基づいてバックアップスケジュール３１ｓを作成し（ステップＳ１６０）、このバックアップスケジュール３１ｓをバックアップスケジュール記憶部３１ｅに保存する（ステップＳ１７０）。このバックアップスケジュール３１ｓには、テープバックアップのスケジュールも記録される。ステップＳ１５０において、「キャンセル」ボタンＢＴ２がクリックされた場合には、バックアップスケジュール３１ｓを作成せずに、処理を終了する。
【００５３】
以上説明したバックアップスケジュール作成処理によって、複数世代のバックアップデータの管理に、「ハノイの塔」などのアルゴリズムを適用できない場合であっても、容易にバックアップスケジュールを作成することができる。
【００５４】
Ｂ２−２．上書き可能判定処理：
次に、図１１のステップＳ１３０で行われる上書き可能判定処理について説明する。上書き可能判定処理とは、先に説明したように、既にバックアップデータが格納されたセカンダリ・ボリューム２３０に、新たなバックアップデータを上書き可能か否かを判定する処理である。まず、上書き可能判定の概要を説明する。
【００５５】
図１２は、上書き可能判定の概要を示す説明図である。今、第ｎ世代のバックアップとして、バックアップＡと、バックアップＡよりも古いバックアップＢとが保持されており、第（ｎ＋１）世代のバックアップとして、バックアップＣが保持されているものとする。そして、次のバックアップ時には、バックアップＢが、第ｎ世代から第（ｎ＋１）世代に移行するものとする。このときに、バックアップＣが第（ｎ＋１）世代から外れるまでの時間Ｔｐと、バックアップＢよりも１つ新しいバックアップＡが、第ｎ世代から第（ｎ＋１）世代に移行するまでの時間Ｔｎとを算出して、両者を比較する。
【００５６】
時間Ｔｎが時間Ｔｐよりも短い場合、すなわち、バックアップＣが第（ｎ＋１）世代から外れる前にバックアップＡが第（ｎ＋１）世代に移行する場合には、バックアップＢが存在しなくても、第（ｎ＋１）世代をバックアップＣまたはバックアップＡで保証することができるから、バックアップＢの上書きを可能とする。また、時間Ｔｎが時間Ｔｐ以上である場合、すなわち、バックアップＡが第（ｎ＋１）世代に移行する前にバックアップＣが第（ｎ＋１）世代から外れる場合には、バックアップＢが存在しないと、バックアップＣが第（ｎ＋１）世代から外れたときに第（ｎ＋１）世代を保証するバックアップデータが存在しないことになるので、バックアップＢの上書きを不可とする。このようにして、上書き可能判定を行う。
【００５７】
図１３は、上書き可能判定の具体例を示す説明図である。図の上段は、上述した時間Ｔｎが時間Ｔｐよりも長い場合について示す説明図である（ケース１）。図の下段は、時間Ｔｎが時間Ｔｐ以上である場合について示す説明図である（ケース２）。図示した例では、バックアップ周期は１時間とする。
【００５８】
バックアップＢは、１時間後に第２世代から第３世代に移行する。ケース１の場合、バックアップＡが第３世代に移行するまでの時間Ｔｎは３時間であり、バックアップＣが第３世代から外れるまでの時間Ｔｐは２時間である。この場合、バックアップＣが第３世代から外れる２時間後には、バックアップＡは、まだ、第３世代に移行しない。したがって、第３世代は、バックアップＢが保証しなければならず、バックアップＢには上書きすることができない。
【００５９】
一方、ケース２の場合、バックアップＡが第３世代に移行するまでの時間Ｔｎは３時間であり、バックアップＣが第３世代から外れるまでの時間Ｔｐは３時間である。この場合、バックアップＣが第３世代から外れる３時間後には、バックアップＡは第３世代に移行する。したがって、第３世代は、バックアップＢが存在しなくても、バックアップＡが保証することができるので、バックアップＢに上書きすることができる。
【００６０】
図１４は、上書き可能判定処理の流れを示すフローチャートである。ここで、バックアップ取得時に保証期間を移行するバックアップを対象バックアップと呼ぶ。また、対象バックアップの移行先の保証期間を保証期間ＮＲと呼ぶ。また、保証期間ＮＲを既に保証しているバックアップをバックアップＰＢと呼ぶ。また、対象バックアップよりも１つ新しいバックアップをバックアップＮＢと呼ぶ。
【００６１】
ＣＰＵ１０は、保証期間テーブル記憶部３１ｃに記憶された保証期間テーブルと、ボリュームテーブル記憶部３１ｄに記憶されたボリュームテーブルを参照して、対象バックアップの移行先が保証期間であるか否かを判断する（ステップＳ２００）。このとき、ボリュームテーブルにおける対象バックアップを格納するボリュームの上書き可能フラグ、および、テープバックアップフラグは、それぞれ「ＮＯ」、および、「ｆａｌｓｅ」になっている。対象バックアップの移行先が保証期間でない場合には（ステップＳ２００：ＮＯ）、後にテープバックアップを実行するために、ボリュームテーブルの対象バックアップを格納するボリュームのテープバックアップフラグを「ｔｒｕｅ」に変更する（ステップＳ２１０）。また、保証期間から外れる対象バックアップは、保持する必要がないので、上書き可能フラグを「ＯＫ」に変更する（ステップＳ２７０）。
【００６２】
ステップＳ２００において、対象バックアップの移行先が保証期間である場合には（ステップＳ２００：ＹＥＳ）、ＣＰＵ１０は、移行先である保証期間ＮＲを既に保証しているバックアップＰＢを取得する処理を実行する（ステップＳ２２０）。このバックアップＰＢ取得処理については、後述する。
【００６３】
次に、ＣＰＵ１０は、バックアップＰＢを取得できたか否かを判断する（ステップＳ２３０）。パックアップＰＢを取得できなかった場合には（ステップＳ２３０：ＮＯ）、処理を終了する。バックアップＰＢを取得できた場合には（ステップＳ２３０：ＹＥＳ）、対象バックアップよりも１つ新しいバックアップＮＢを取得する処理を実行する（ステップＳ２４０）。バックアップＮＢ取得処理については、後述する。
【００６４】
次に、ＣＰＵ１０は、バックアップＰＢが保証期間ＮＲから外れるまでの時間Ｔｐと、バックアップＮＢが保証期間ＮＲに移行するまでの時間Ｔｎとを算出し（ステップＳ２５０）、時間Ｔｎが時間Ｔｐよりも短いか否かを判断する（ステップＳ２６０）。時間Ｔｎが時間Ｔｐ以上である場合には（ステップＳ２６０：ＮＯ）、処理を終了する。時間Ｔｎが時間Ｔｐよりも短い場合には（ステップＳ２６０：ＹＥＳ）、ボリュームテーブルの対象バックアップを格納するボリュームの上書き可能フラグを「ＯＫ」に変更する（ステップＳ２７０）。
【００６５】
図１５は、バックアップＰＢ取得処理の流れを示すフローチャートである。図１４のステップＳ２２０における処理である。まず、ＣＰＵ１０は、ボリュームテーブルを参照して、保証期間ＮＲに属するバックアップを古い順にリストアップする（ステップＳ２１１）。そして、リストアップされたバックアップの中から最も古いバックアップをバックアップＴＢとする（ステップＳ２１２）。
【００６６】
次に、ＣＰＵ１０は、ボリュームテーブルのバックアップＴＢを格納するボリュームにおける上書き可能フラグが「ＮＧ」であるか否かを判断する（ステップＳ２１３）。上書き可能フラグが「ＮＧ」である場合には（ステップＳ２１３：ＹＥＳ）、バックアップＴＢをバックアップＰＢとする。上書き可能フラグが「ＯＫ」である場合には（ステップＳ２１３：ＮＯ）、ステップＳ２１１でリストアップした全てのバックアップを検査したか否かを判断する（ステップＳ２１４）。全てのバックアップを検査した場合には（ステップＳ２１４：ＹＥＳ）、バックアップＰＢは取得できずに、処理を終了する。全てのバックアップを検査していない場合には（ステップＳ２１４：ＮＯ）、次に古いバックアップをバックアップＴＢとし（ステップＳ２１５）、ステップＳ２１３に戻る。
【００６７】
図１６は、バックアップＮＢ取得処理の流れを示すフローチャートである。図１４のステップＳ２４０における処理である。まず、ＣＰＵ１０は、ボリュームテーブルを参照して、対象バックアップよりも新しいバックアップを古い順にリストアップする（ステップＳ２４１）。そして、リストアップされたバックアップの中から最も古いバックアップをバックアップＴＢとする（ステップＳ２４２）。
【００６８】
次に、ＣＰＵ１０は、ボリュームテーブルにおけるバックアップＴＢを格納するボリュームの上書き可能フラグが「ＮＧ」であるか否かを判断する（ステップＳ２４３）。上書き可能フラグが「ＮＧ」である場合には（ステップＳ２４３：ＹＥＳ）、バックアップＴＢをバックアップＰＢとする。上書き可能フラグが「ＯＫ」である場合には（ステップＳ２４３：ＮＯ）、ステップＳ２４１でリストアップした全てのバックアップを検査したか否かを判断する（ステップＳ２４４）。全てのバックアップを検査していない場合には（ステップＳ２４４：ＮＯ）、次に古いバックアップをバックアップＴＢとし（ステップＳ２４５）、ステップＳ２４３に戻る。全てのバックアップを検査した場合には（ステップＳ２４４：ＹＥＳ）、新規取得予定のバックアップをバックアップＮＢとする（ステップＳ２４６）。
【００６９】
以上説明した上書き可能判定処理によって、各世代のバックアップデータを確保しつつ、最少のボリューム数で、複数世代のバックアップデータの管理を行うことができるように、バックアップ先ボリュームの選択を行うことができる。
【００７０】
Ｂ２−３．バックアップ処理：
図１７は、スケジュールモードにおけるバックアップ処理の流れを示す説明図である。バックアップ管理装置１００のＣＰＵ１０が実行する処理である。
【００７１】
ＣＰＵ１０は、常時、バックアップ時刻になったか否かを監視しており（ステップＳ３００）、バックアップ時刻になると（ステップＳ３００：ＹＥＳ）、バックアップスケジュール記憶部３１ｅに記憶されたバックアップスケジュール３１ｓを参照し（ステップＳ３１０）、バックアップを実行する（ステップＳ３２０）。そして、ボリュームテーブルを更新する（ステップＳ３３０）。
【００７２】
このバックアップ処理によって、バックアップスケジュール３１ｓに従って、バックアップを自動的に行うことができる。
【００７３】
Ｂ３．逐次判定モード：
次に、逐次判定モードにおけるバックアップについて説明する。逐次判定モードにおけるバックアップでは、バックアップスケジュール３１ｓを作成せずに、バックアップ周期ごとに、バックアップ先となるセカンダリ・ボリューム２３０を逐次選択してバックアップを実行する。
【００７４】
図１８は、逐次判定モードにおけるバックアップ処理の流れを示すフローチャートである。なお、逐次判定モードでバックアップを行う場合には、管理者は、図１１に示したバックアップスケジュール作成処理のステップＳ１００〜ステップＳ１４０の処理によって、所望の複数世代のバックアップを行うために必要なボリューム数を調べ、予め準備しておく。
【００７５】
ＣＰＵ１０は、常時、バックアップ時刻になったか否かを監視しており（ステップＳ４００）、バックアップ時刻になると（ステップＳ４００：ＹＥＳ）、先に説明した上書き可能判定処理を実行する（ステップＳ４１０）。そして、この判定結果に基づいてバックアップ先ボリュームを選択し、バックアップを実行する（ステップＳ４２０）。そして、ボリュームテーブルを更新する（ステップＳ４３０）。
【００７６】
このバックアップ処理によって、バックアップ周期ごとに、複数のセカンダリ・ボリューム２３０の中から上書き可能な記録媒体を逐次自動選択して、バックアップを自動的に行うことができる。
【００７７】
以上説明した第１実施例のバックアップ管理装置１００によれば、管理者が各世代の保証期間を個別に設定することを許容しつつ、複数世代のバックアップデータの管理を行うことができる。
【００７８】
Ｃ．第２実施例：
第１実施例では、バックアップ管理装置１００は、バックアップモードの切り換えを管理者の選択によって行ったが、第２実施例では、バックアップモードの切り換えを自動で行う。これ以外は、第１実施例とほぼ同じである。
【００７９】
図１９は、バックアップモード切換処理の流れを示すフローチャートである。バックアップ管理装置１００のＣＰＵ１０が実行する処理である。
【００８０】
ＣＰＵ１０は、まず、図３に示した保証期間設定画面を表示する（ステップＳ５００）。次に、ＣＰＵ１０は、保証期間設定画面で管理者によって設定されたバックアップ周期と、バックアップの世代数と、各保証期間とを取得し（ステップＳ５１０）、保証期間テーブルを設定する（ステップＳ５２０）。そして、ＣＰＵ１０は、設定されたバックアップ周期と、世代数と、保証期間とを満たす複数世代のバックアップを行うために必要なセカンダリ・ボリューム２３０のボリューム数を算出したり、セカンダリ・ボリューム２３０のローテーションの順序を決定したりするためのシミュレーションを行う（ステップＳ５３０）。このシミュレーションは、図１１に示したバックアップスケジュール作成処理のステップＳ１３０と同じである。シミュレーションの試行回数は、管理者によって任意に設定可能である。
【００８１】
次にＣＰＵ１０は、シミュレーションによって、セカンダリ・ボリューム２３０のローテーションのパターンが所定試行回数以内に収束したか否かを判断する（ステップＳ５４０）。ここで、「ローテーションのパターンが収束する」とは、例えば、図９に示したように、ローテーションの順序に規則性が見出されることを意味する。ローテーションのパターンが所定試行回数以内に収束した場合には（ステップＳ５４０：ＹＥＳ）、バックアップモードをスケジュールモードに設定する（ステップＳ５５０）。ローテーションのパターンが所定試行回数以内に収束しなかった場合には（ステップＳ５４０：ＮＯ）、バックアップモードを逐次判定モードに設定する（ステップＳ５６０）。所定試行回数は、任意に設定可能である。この処理によって、バックアップモードを自動的に切り換えることができる。
【００８２】
この後、バックアップモードがスケジュールモードである場合には、先に図１１に示したバックアップスケジュール作成処理と同様にしてバックアップスケジュール３１ｓを作成し、これに従ってバックアップ処理を実行する。また、バックアップモードが逐次判定モードである場合には、以下に説明するバックアップ処理を実行する。
【００８３】
図２０は、逐次判定モードにおけるバックアップ処理の流れを示すフローチャートである。
【００８４】
ＣＰＵ１０は、常時、バックアップ時刻になったか否かを監視しており（ステップＳ６００）、バックアップ時刻になると（ステップＳＳ６００：ＹＥＳ）、上書き判定処理を実行し（ステップＳ６１０）、上書き可能なボリュームがあるか否かを判断する（ステップＳ６２０）。上書き可能なボリュームがない場合には（ステップＳ６２０：ＮＯ）、管理者にその旨を通知する（ステップＳ６３０）。このとき、セカンダリ・ボリューム２３０の代わりにテープバックアップを行うようにしてもよい。ステップＳ６２０において、上書き可能なボリュームがある場合には（ステップＳ６２０：ＹＥＳ）、そのボリュームにバックアップを実行し（ステップＳ６４０）、ボリュームテーブルを更新する（ステップＳ６５０）。
【００８５】
以上説明した第２実施例のバックアップ管理装置１００によれば、管理者が各世代の保証期間を個別に設定することを許容しつつ、バックアップスケジュール３１ｓに従ってバックアップを行うか、バックアップ周期ごとに上書き可能な記録媒体を逐次自動選択してバックアップを行うかを切り換えて、複数世代のバックアップを行うことができる。
【００８６】
Ｄ．変形例：
以上、本発明のいくつかの実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形例が可能である。
【００８７】
Ｄ１．変形例１：
上記実施例では、バックアップ管理装置１００は、プライマリ・ボリューム２２０からセカンダリ・ボリューム２３０へのバックアップ、および、セカンダリ・ボリューム２３０から磁気テープへのバックアップを行うものとしたが、これに限られない。ＳＡＮに複数のディスクアレイ装置や、他の外部記憶装置を接続し、これらにバックアップを行うようにしてもよい。
【００８８】
Ｄ２．変形例２：
上記実施例では、図３に示したグラフィカル・ユーザ・インタフェースＷＧによって、管理者が、バックアップ周期と、バックアップの世代数と、各世代の保証期間とを設定可能とし、バックアップ管理装置１００の利便性を向上させているが、これに限られない。管理者が各世代の保証期間を設定可能であれば、バックアップ周期と、バックアップの世代数とを固定にしてもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施例としてのバックアップシステム１０００の構成を示す説明図である。
【図２】第１実施例のバックアップ管理装置１００の概略構成を示す説明図である。
【図３】保証期間設定画面の一例を示す説明図である。
【図４】ボリューム設定画面の一例を示す説明図である。
【図５】ボリュームテーブルの一例を示す説明図である。
【図６】保証期間テーブルの一例を示す説明図である。
【図７】テープバックアップ設定画面の一例を示す説明図である。
【図８】テープバックアップカタログの一例を示す説明図である。
【図９】ボリューム上書き可能判定モジュール３４によるシミュレーション結果、および、バックアップスケジュール３１ｓの一例を示す説明図である。
【図１０】バックアップ保持状況表示画面の一例を示す説明図である。
【図１１】バックアップスケジュール作成処理の流れを示すフローチャートである。
【図１２】上書き可能判定の概要を示す説明図である。
【図１３】上書き可能判定の具体例を示す説明図である。
【図１４】上書き可能判定処理の流れを示すフローチャートである。
【図１５】バックアップＰＢ取得処理の流れを示すフローチャートである。
【図１６】バックアップＮＢ取得処理の流れを示すフローチャートである。
【図１７】スケジュールモードにおけるバックアップ処理の流れを示す説明図である。
【図１８】逐次判定モードにおけるバックアップ処理の流れを示すフローチャートである。
【図１９】バックアップモード切換処理の流れを示すフローチャートである。
【図２０】逐次判定モードにおけるバックアップ処理の流れを示すフローチャートである。
【符号の説明】
【００９０】
１０００...バックアップシステム
１００...バックアップ管理装置
１０...ＣＰＵ
２０...メモリ
３０...記憶装置
３１ｂ...バックアップ周期記憶部
３１ｃ...保証期間テーブル記憶部
３１ｄ...ボリュームテーブル記憶部
３１ｓ...バックアップスケジュール
３２...保証期間設定画面表示モジュール
３４...ボリューム上書き可能判定モジュール
４０...ブロックデバイスインタフェース
５０...入力装置
６０...出力装置
２００...ディスクアレイ装置
２１０...ブロックデバイスインタフェース
２２０...プライマリ・ボリューム
２３０...セカンダリ・ボリューム
３００...テープ装置
３１０...ブロックデバイスインタフェース
ＷＧ...グラフィカル・ユーザ・インタフェース
Ａｘｔ...時間軸
Ｒ...保証期間表示領域
Ｌａ１，Ｌ２，Ｌ３...区切線
ＭＰ...マウスポインタ
【図１】
2005190259.tif 000003
【図２】
2005190259.tif 000004
【図３】
2005190259.tif 000005
【図４】
2005190259.tif 000006
【図５】
2005190259.tif 000007
【図６】
2005190259.tif 000008
【図７】
2005190259.tif 000009
【図８】
2005190259.tif 000010
【図９】
2005190259.tif 000011
【図１０】
2005190259.tif 000012
【図１１】
2005190259.tif 000013
【図１２】
2005190259.tif 000014
【図１３】
2005190259.tif 000015
【図１４】
2005190259.tif 000016
【図１５】
2005190259.tif 000017
【図１６】
2005190259.tif 000018
【図１７】
2005190259.tif 000019
【図１８】
2005190259.tif 000020
【図１９】
2005190259.tif 000021
【図２０】
2005190259.tif 000022