(57)【特許請求の範囲】
【請求項１】
データ処理システムのバックアップ対象媒体のデータをバックアップ先に複写するバックアップ制御装置に於いて、
予め定めたバックアップ定義情報に基づいてバックアップ動作環境を定義する環境定義手段と、
前記環境定義手段で定義されたバックアップ動作環境、バックアップ対象媒体の情報、バックアップ先媒体の情報を登録して管理する制御情報管理手段と、
バックアップ自動処理の開始を指示するバックアップ指示手段と、
前記バックアップ指示手段からのバックアップ指示を受けた際に、前記制御情報管理手段に有するバックアップを開始する日時であるバックアップ開始条件を参照してバックアップ開始条件が成立するごとに、処理データを格納するバックアップ対象媒体の更新ビットマップにおける現在の更新データの数である前記更新ビットマップにおける有効ビット数を所定の基準値と比較して、該有効ビット数が基準値以上の場合に前記バックアップ対象媒体の全データを前記バックアップ対象媒体の複写データを格納するバックアップ先媒体に複写する全体バックアップ処理を実行し、該更新データの数が該基準値より少ない場合にはバックアップ対象媒体のデータの内、基準となるバックアップ処理データに対し更新されたデータを抽出して前記バックアップ先媒体に複写する差分バックアップ処理を実行するバックアップ処理手段と、
を設けたことを特徴とするデータ処理システムのバックアップ制御装置。
【請求項２】
データ処理システムのバックアップ対象媒体のデータをバックアップ先に複写するバックアップ制御装置に於いて、
予め定めたバックアップ定義情報に基づいてバックアップ動作環境を定義する環境定義手段と、
前記環境定義手段で定義されたバックアップ動作環境、バックアップ対象媒体の情報、バックアップ先媒体の情報を登録して管理する制御情報管理手段と、
バックアップ自動処理の開始を指示するバックアップ指示手段と、
前記バックアップ指示手段からのバックアップ指示を受けた際に、前記制御情報管理手段に有するバックアップを開始する日時であるバックアップ開始条件を参照してバックアップ開始条件が成立するごとに、処理データを格納するバックアップ対象媒体の更新ビットマップにおける現在の更新データの数である前記更新ビットマップにおける有効ビット数を所定の基準値と比較して、該有効ビット数が基準値以上の場合に前記バックアップ対象媒体の全データを前記バックアップ対象媒体の複写データを格納するバックアップ先媒体に複写する全体バックアップ処理を実行し、該更新データの数が該基準値より少ない場合にはバックアップ対象媒体のデータの内、基準となるバックアップ処理データに対し更新されたデータを抽出して前記バックアップ先媒体に複写する差分バックアップ処理を実行するバックアップ処理手段と、
１つの全体バックアップ先媒体と複数の差分バックアップ先媒体のバックアップデータをマージしてより少ない数のバックアップ先媒体に格納するマージ処理手段を設け、
前記マージ処理手段は、前記制御情報管理手段に予め登録した実行条件に基づいて自動的にマージ処理を実行することを特徴とするデータ処理システムのバックアップ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大量に処理されるデータを磁気テープ等の媒体に格納してバックアップするバックアップ制御装置及び方法に関し、特に、全データのバックアップとそれ以降の差分となる更新データのみのバックアップを組合せて運用するバックアップ制御方法及び装置に関する。
【０００２】
【従来技術】
近年、銀行業務、保険業務などの計算機ネットワークを使用したデータ処理システムにあっては、データ量の急激な増加により、磁気ディスク装置などの直接アクセス装置（ＤＡＳＤ）の設置台数が増大し、バックアップ時間が増加している。通常、バックアップは夜間の業務負荷の少ない時間帯を使用して行うが、データ量の増加に伴い、翌日のオンライン業務に支障をきたす程、バックアップ時間が増加してきている。
【０００３】
従来の一般的なバックアップの方法は、バックアップ処理の都度、バックアップ対象となった磁気ディスク装置上の全てのデータを、例えば磁気テープ装置を用いて磁気テープ上に複写するようにしている。
【０００４】
しかし、従来のバックアップは、バックアップ時に対象となる全データを複写する必要があるため、データ量の増加に伴ってバックアップ時間が増大してしまう。このようなバックアップ時間を短縮するバックアップ方法として、更新されなかったデータはバックアップせず、更新されたデータのみをバックアップする所謂差分バックアップ方法がある。
【０００５】
差分バックアップ方法は、全データのバックアップ（以下「全体バックアップ（と称する）」と、全体バックアップ以降に更新された更新データのみのバックアップ（以下「差分バックアップ」という）を組合せて使用する必要がある。さらに、差分バックアップには、
▲１▼累積型、
▲２▼非累積型、
▲３▼両者の併用型、
があり、どのバックアップを更新箇所を判定する基準とするかで異なる。即ち、累積型は、前回の全体バックバックを基準として更新データを判定し、また非累積型は直前の全体バックアップまたは直前の差分バックアップを基準に更新データを判別する。
【０００６】
例えば月曜から土曜のサイクルでバックアップを繰り返す場合、累積型の差分バックアップでは、まず最初の月曜日に全体バックアップテープをとる。次の火曜日には、月曜日の全体バックアップを基準に更新されたデータのみの差分バックアップテープをとる。次の水曜日も同じく月曜日の全体バックアップを基準に更新されたデータの差分バックアップテープをとり、これを土曜日まで繰り返す。このため各曜日ごとに更新データが累積された差分バックアップが行われる。
【０００７】
これに対し非蓄積型の差分バックアップは、最初の月曜日に全体バックアップテープ、残りの火曜から土曜までの更新バックアップについては前日のデータを基準に更新されたデータのみの差分バックアップテープをとる。
【０００８】
このような差分バックアップ法を用いた場合のリカバリ処理は、累積型については、全体バックアップテープと最新の差分バックアップテープを必要とする。また非累積型は全体バックアップテープとリカバリ時点までに取得した差分バックアップテープの全てを使用してデータを復元する。
【０００９】
ここで累積型処理と非累積型処理の利点欠点は次のようになる。累積型処理は、差分バックアップを行うにつれて、バックアップ時のデータ量と処理時間が次第に増加していくが、バックアップ媒体の管理やリカバリ処理は容易である。これに対し非累積型処理は、最新の更新データだけを処理するので、バックアップ時のデータ量や処理時間が増加することはないが、差分バックアップを行うにつれてバックアップ先媒体の数が次第に増加し、媒体管理やリカバリ処理が複雑になる。
【００１０】
【発明が解決しようとする課題】
しかしながら、従来の差分バックアップ処理を用いたバックアップ法においては、全体バックアップを行うか、差分バックアップを行うかは、バックアップを行う業務管理者などがその都度人為的に判断して決めており、使い分けの判断が経験に依存せざるを得ない面があり、十分な使い分けが困難であった。
【００１１】
また従来の差分バックアップ処理においては、リカバリ時に少くとも全体バックアップ先媒体に加えて１又は複数の差分バックアップ先媒体が必要となり、全体バックアップ先媒体のみを使用した通常のリカバリ処理に比較し時間が掛かっていた。特に、リカバリ中は業務が中断するため、時間短縮が必要である。
【００１２】
更に、従来の更新分バックアップ処理においては、バックアップ対象媒体のどの部分が更新データとしてバックアップしてあるかバックアップ先媒体内にのみ記録していたため、リカバリ時にバックアップ先媒体を読み込んでみないとデータの必要性が判断できず、不要なバックアップ先媒体であった場合には、その分、時間と労力が無駄になる問題があった。
【００１３】
更にまた、従来の差分バックアップ先媒体を用いたリカバリ処理にあっては、全体バックアップ先媒体のデータをまず書き込み、その後に差分バックアップ先媒体の更新データを書き込んでいる。そのため、全体バックアップしたデータの大半が差分バックアップで更新されていたような場合、リカバリ時間が全体バックアップ先媒体のみからのリカバリと比較し、リカバリの入力となるバックアップ先媒体の数をｎとすると、約ｎ倍リカバリ時間が必要になる。
【００１４】
また全体バックアップ処理から差分バックアップ処理までの間にバックアップ対象媒体のデータ更新を行う有効領域が変更または減少していた場合、変更または減少した部分の機密保護のため、リカバリの際に一度書き戻した変更前または減少前の領域のデータを消去しなければならず、リカバリに時間がかかる。
【００１５】
加えて、従来の差分バックアップを用いたリカバリ処理にあっては、全体バックアップ先媒体と差分バックアップ先媒体を順に１つずつ読み込んでリカバリしていたため、リカバリ時に書き出すデータが分散してしまい、例えばリカバリ時に使用可能な入出力装置の複数台あっても、ハードウェアの最大性能を引き出すことができなかった。
【００１６】
本発明の目的は、全体バックアップと差分バックアップを組合せた最適なバックアップデータの取得を行うと共に、バックアップデータ取得後のリカバリ処理を短時間で効率良く実行できるようにするデータ処理システムのバックアップ制御装置および方法を提供することを目的とする。
【００１７】
【課題を解決するための手段】
図１は、本発明の原理説明図であり、装置構成を例にとっている。
【００１８】
まず本発明によるデータ処理システムのバックアップ制御装置は、全体バックアップと差分バックアップの自動的な使い分けのため、予め定めたバックアップ定義情報に基づいてバックアップ動作環境を環境定義手段３４で定義する。またコントロールデータセット（ＣＤＳ；Control Data Set）としての制御情報管理手段５０に、環境定義手段３４で定義されたバックアップ動作環境、バックアップ対象媒体５２の情報、バックアップ先媒体６２の情報を登録して管理する。
【００１９】
バックアップ処理手段３６に対するバックアップ自動処理の開始をバックアップ指示手段２８により外部から指示すると、制御情報管理手段５０を参照してバックアップ開始条件が成立するごとに、バックアップ対象媒体５２の全データをバックアップ先媒体６２に複写する全体バックアップ処理と、バックアップ対象媒体５２のデータの内、基準となるバックアップ処理データに対し更新されたデータを差分データとして抽出してバックアップ先媒体６２に複写する差分バックアップ処理とのいずれかを判断して実行する。
【００２０】
ここでバックアップ対象媒体５２の更新データの位置を示す情報としての更新ビットマップテーブルは、バックアップ対象媒体５２自身、またはバックアップ対象媒体５２の入出力装置の制御部に設け、ビットマップテーブルに対する初期化処理及び更新位置情報の書込処理を行う。
【００２１】
またバックアップ処理手段３６は、差分バックアップ処理ごとに、バックアップ対象媒体５２の直前の全体バックアップデータまたは差分バックアップデータを基準に更新された差分データを抽出してバックアップ先媒体６２に複写する非累積型の差分バックアップ処理、またはバックアップ対象媒体５２の前回の全体バックアップデータを基準に更新された差分データを抽出してバックアップ先媒体６２に複写する累積型の差分バックアップ処理を行う。
【００２２】
バックアップ処理手段３６による全体バックアップと差分バックアップの使い分けは、バックアップ対象媒体５２における現在の更新データの数を所定の基準値と比較し、基準値以上の場合に全体バックアップ処理を実行し、基準値より少ない場合には差分バックアップ処理を実行する自動的な使い分けを行う。
【００２３】
制御情報管理手段５０は、バックアップ対象媒体５２を媒体単位に指定しており、この場合、バックアップ処理手段３６は指定媒体単位にバックアップ処理を実行する。また制御情報管理手段５０は、複数の媒体ごとにグループ分けしてバックアップ対象に指定することもでき、この場合、バックアップ処理手段３６は指定グループ単位にバックアップ処理を実行する。このグループ分けは、媒体の使用頻度又は重要度に従って階層的に行うことができる。更に、１つのグループを下位の複数グループに分割することで上位グループからから下位グループまでの木構造の階層グループに分割し、更に、各グループ階層ごとにバックアップ動作環境を設定するようにしてもよい。
【００２４】
制御情報管理手段５０は、バックアップ先媒体情報として、
バックアップ対象媒体の識別番号；
バックアップの形態を示す識別子；
バックアップ先媒体の識別番号；
を格納したテーブル情報を登録する。バックアップ形態を示す識別子としては、全体バックアップ、非累積型差分バックアップ又は累積型差分バックアップを示す識別子を用いる。
【００２５】
バックアップ処理手段３６は、バックアップ対象媒体５２のボリューム目録内容テーブル（ＶＴＯＣ;Volume Table of Content) に設けた更新データの位置を示す更新位置を示すビットマップテーブルを参照してバックアップするデータを抽出する。このバックアップ対象媒体５２から得たの更新位置を示すビットマップテーブルはバックアップ先媒体にバックアップデータと共に格納される。
【００２６】
またバックアップ処理手段３６は、バックアップ対象媒体５２から得た更新位置を示すビットマップテーブルを制御情報管理手段５０に登録して管理させてもよい。更に、バックアップ対象媒体５２の入出力制御装置に、ビットマップテーブルを設け、データの更新状態を記録するようにしてもよい。
【００２７】
更にバックアップ対象媒体５２のボリューム目録内容テーブル（ＶＴＯＣ）には、上位のソフトウェアが管理する有効領域情報が登録されていることから、バックアップ処理手段３６は、バックアップ対象媒体５２から得た更新データの位置を示すビットマップテーブルと上位装置がアクセスする有効領域を示すビットマップテーブルを参照して、両者の論理積が得られる位置のデータをバックアップデータとして抽出してもよい。
【００２８】
本発明によるデータ処理システムのバックアップ制御装置に於いて、更に、マージ処理手段３８を設け、既に取得した全体バックアップ先媒体と複数のバックアップ先媒体のバックアップデータをマージし、より少ない数のバックアップ先媒体６２に格納するマージ処理（複写結合処理）を行う。このマージ処理は、制御情報管理手段５０に予め登録した実行条件に基づいて自動的に行われる。
【００２９】
例えば、データ処理システムの業務負荷が低下し、且つバックアップ先媒体６２の入出力装置に空きがある場合に、マージ処理を実行する。また制御管情報管理手段５０のバックアップ先媒体情報から取得したマージ対象となる差分バックアップ先媒体の形態が非累積型か、累積型か、更には混在型かに応じてマージ処理を行う。
【００３０】
複数の差分バックアップ先媒体６２が非累積型の場合、全体バックアップ先媒体と全ての差分バックアップ先媒体のうちの最新のデータを有効データとして残すようにマージして１つの全体バックアップ先媒体を生成する。
【００３１】
またマージ対象となる複数の差分バックアップ先媒体６２が非累積型の場合、全ての差分バックアップ先媒体のうちの最新のデータを有効データとして残すようにマージして１つの累積型差分バックアップ先媒体を生成するようにしてもよい。これは全体バックアップ先媒体を生成するまでの処理時間がない場合に有効である。
【００３２】
勿論、マージ対象となる差分バックアップ先媒体６２が累積型の場合、全体バックアップ先媒体と最新の累積型差分バックアップ先媒体のうちの最新のデータを有効データとして残すようにマージして１つの全体バックアップ先媒体を生成する。マージ処理においても、媒体単位又はグループ分けした複数の媒体単位にマージ処理を指定することができる。更に、１つのグループを下位の複数グループに分割することで上位グループからから下位グループまでの木構造の階層グループに分割し、更に、各グループ階層ごとにマージ実行条件を設定してもよい。
【００３３】
更に、本発明によるデータ処理装置のバックアップ制御装置は、バックアップ取得後のリカバリ処理を効率良く行うため、環境定義手段３４でリカバリ動作環境を設定する。リカバリ指示手段２８により外部からリカバリ処理の開始指示を受けると、リカバリ処理手段４０は、制御情報管理手段５０を参照してリカバリ処理に使用するバックアップ先媒体６２の識別子が差分バックアップか否か判断する。
【００３４】
差分バックアップ先媒体が含まれていない場合は全体バックアップ先媒体のデータをリカバリ先媒体６８に複写（リストア）する通常のリカバリ処理を行う。差分バックアップ先媒体が含まれている場合は、全体バックアップ先媒体と差分バックアップ先媒体からリカバリデータを生成してリカバリ先媒体６８に複写  （リストア）するリカバリ処理を行う。
【００３５】
リカバリ処理手段４０は、複数の差分バックアップ先媒体を使用してリカバリ処理を行う場合、制御情報管理手段５０にバックアップ処理の際に登録されたか差分バックアップ先媒体の更新位置を示すビットマップテーブルに基づいてリカバリ処理に使用しない差分バックアップ先媒体を判別し、処理対象から除外する。具体的には、複数の差分バックアップ先媒体中の最新の更新位置を示す更新ビットマップの有効ビットと同一位置の他の更新ビットマップの有効ビットを無効ビットに変更し、全て無効ビットとなった更新ビットマップの差分バックアップ先媒体を処理対象から除外する。
【００３６】
リカバリ処理手段４０は、複数の差分バックアップ先媒体を使用してリカバリ処理を行う場合、バックアップ先媒体の読み込みに使用する入出力装置が１台のとき、最新の差分バックアップ先媒体から順次読み込んで最新の更新データをバックアップデータとして残すリカバリ処理を行う。
【００３７】
具体的には、リカバリに使用する複数のバックアップ先媒体から有効領域を示す有効領域ビットマップを展開すると共に、更新位置を示す更新ビットマップを展開する。次に最新の更新ビットマップの有効ビット位置に対応した更新データをリカバリ先媒体６８に書き込むと共に、最新の有効領域ビットマップの書込み済みの有効ビットを無効ビットに切替える処理を、前記有効領域ビットマップが全て無効ビットとなるまで新しいバックアップ先媒体から古いバックアップ先媒体に向けて逐次繰り返す。これにより最新の更新データのみが有効データとしてリカバリ先媒体に書き込まれ、同一位置の更新データの重複した書込みが回避される。
【００３８】
リカバリ処理手段４０は、バックアップ先媒体６２の読み込みに使用する入出力装置が複数台の場合、複数のバックアップ先媒体６２から同時にバックアップデータを読み込み、同一位置で複数の更新データが重複する場合は、最新の更新データを有効データとしてリカバリ先媒体６８に書き込む。具体的には、複数の入出力装置の各々にバックアップ先媒体の読出位置情報を指定すると共に、リカバリ先媒体６８の入出力装置にリカバリデータの書込位置情報を指定し、複数の入出力装置の読込み処理（読込タスク）と書込み処理（書込タスク）の各々に中央処理装置の使用権（タスク）を割り振って並列処理させる。
【００３９】
このような本発明によるデータ処理装置のバックアップ制御装置および方法によれば次の作用が得られる。
【００４０】
まずバックアップ開始条件が成立するごとに、バックアップ対象媒体の更新ビットマップを読み込んで現在の更新データの数を検出し、基準値より多ければ全体バックアップが採取され、基準値より少なければ差分バックアップが採取され、データの更新状況に応じた最適なバックアッブ取得ができる。例えば、バックアップ対象媒体の全域が更新されているような場合には、全体バックアップが採取され、１箇所も更新されていないような場合には、更新分バックアップが採取されることとなる。
【００４１】
また採取済みのバックアップに対しては、業務負荷の少ない時間帯を使用して複数のバックアップ先媒体を１つの全体バックアップ先媒体に整理するマージ処理が行われる。このため差分バックアップ処理によりリカバリに使用する媒体数が増加しても、単一の全体バックアップ先媒体に整理され、単独でリカバリ可能と判断され、リカバリ時間を短縮と媒体管理の簡易が図れる。
【００４２】
一方、リカバリ処理の起動時には、コントロールデータセット（ＣＤＳ）にバックアップの際に登録された複数のリカバリ先媒体の更新ビットマップを使用し、リカバリに使用しない差分バックアップ先媒体を判別して排除し、必要最小限のバックアップ先媒体の使用を可能とする。
【００４３】
またリカバリ使用するバックアップ先媒体の入出力装置が１台しかないか複数台あるかにより最適なリカバリを行う。入出力装置が１台しかない場合は、最新の差分バックアップ先媒体から順番にデータを読込んで、重複した場合には最新のデータを有効データとしてリカバリ先媒体に書き込む。このとき、後続するバックアップ先媒体の更新ビットマップの同一位置に有効ビットがあれば、この有効ビットをオフして無効ビットとする。これにより全ビットを無効ビットとする更新ビットマップが得られた時点で、リカバリ完了と判断でき、重複したデータの無駄な書き戻しをなくし、１台の入出力装置であっても、リカバリ時間を最短時間で行う。
また複数台の入出力装置が使用できる場合には、複数のバックアップ先媒体の同一位置のデータを並列的に読出し、重複する有効データがあれば最新のデータをリカバリデータとして書き戻し、ハードウェア性能を最大限に活かすことができ、リカバリ時間を全体バックアップのみの場合とほぼ同じ時間に短縮できる。
【００４４】
【発明の実施の形態】
＜目次＞
１．ハードウェア構成と全体機能
２．バックアップ処理
３．バックアップ処理の使い分け
４．累積型と非累積型の差分バックアップ
５．更新ビットマップと有効領域ビットマップ
６．マージ処理
７．リカバリ処理
８．リカバリ逐次処理
９．リカバリ並列処理
１．ハードウェア構成と全体機能
図２は本発明のバックアップ制御方法が適用される計算機システムのハードウェア構成を示す。計算機システムは中央処理装置１０のバスライン３２に主記憶装置１２を接続しており、更に入出力チャネル装置１４−１〜１４−４を接続している。この実施例で入出力チャネル装置１４−１，１４−３に対してはディスク用入出力制御装置１６−１〜１６−３を介して直接アクセス装置（ＤＡＳＤ; Direct Access Strage Divice ）として磁気ディスク装置２４−１〜２４−３，２４−１１〜２４−１３，２４−２１〜２４−２３を接続している。
【００４５】
これらの磁気ディスク装置２４−１〜２４−２３は中央処理装置１０で処理されたデータを外部記憶装置として格納する。入出力チャネル装置１４−１にはまた磁気テープ用入出力制御装置１８が接続され、複数の磁気テープ装置２６−１〜２６−３を接続している。この磁気テープ装置２６−１〜２６−３はバックアップ先媒体としての磁気テープに対するバックアップデータの入出力に使用される。
【００４６】
入出力チャネル装置１４−２にはコンソール用入出力制御装置２０を介してオペレータコンソール２８が接続される。更に、入出力チャネル装置１４−４に対してはモデム装置２５が接続され、モデム装置２５を介して通信回線により外部装置との間のデータ送受を行うことができ、所謂オンラインシステムとして引用することができる。
【００４７】
図３は図２のハードウェアのプログラム制御により実現される本発明のバックアップ制御の処理機能を示したブロック図である。
【００４８】
まず中央処理装置１０に示すように、主記憶装置１２に格納されたプログラムの実行により環境定義処理部３４，バックアップ処理部３６，マージ処理部３８およびリカバリ処理部４０がアプリケーションプログラムの機能として実現される。またオペレーティング・システム４２によって各アプリケーション処理部からの要求を処理する。
【００４９】
更に、バックアップ対象媒体５２のデータを更新するデータ更新処理部４４と、処理動作の際に必要なデータを展開するメモリ４６の機能が実現される。中央処理装置１０に対する外部機能として定義制御文４８、各種の制御指示を行うオペレータコンソール２８、必要なデータを打ち出すプリンタ３０が設けられる。更に本発明のバックアップ制御に必要な各種の制御情報を登録して管理するコントロールデータセットとして、バックアップ制御用管理ファイル５０が設けられている。
【００５０】
バックアップ対象とするデータを格納した図２の磁気ディスク装置は、図３にあっては１つのバックアップ対象媒体５２として示している。バックアップ対象媒体５２は入出力制御装置５４を介して中央処理装置１０に接続される。バックアップ対象媒体５２のデータ領域はデータ更新が行われる有効領域５８の割付けを受けており、有効領域５８に含まれるデータに対し中央処理装置１０のデータ更新処理部４４による更新データ６０の更新が行われる。
【００５１】
この有効領域５８については、データ更新処理部４４がソフトウェア処理により適宜に設定する。バックアップ対象媒体５２に割り付けた有効領域５８の位置情報は、例えば仮想記憶計算機システムの場合には磁気ディスク装置のボリューム目録テーブル（ＶＴＯＣ）にトラック単位のビットマップテーブルとして格納されている。
【００５２】
また、データ更新処理部４４により更新された有効領域５８の中の更新データ６０の位置についても、同じくボリューム目録テーブル（ＶＴＯＣ）の中の１トラックを１ビットに対応させた更新ビットマップテーブルとして格納されている。このため、バックアップ対象媒体５２としての磁気ディスク装置におけるボリューム目録テーブルを参照すれば、有効領域５８および有効領域５８の中の更新データ６０の位置を認識することができる。
【００５３】
更に、更新データ６０の位置を示す更新ビットマップテーブルについては、バックアップ対象媒体５２のボリューム目録テーブルを参照せずに入出力制御装置５４でまとめて管理することもできる。即ち、入出力制御装置５４に更新ビットマップテーブル５６を格納するメモリ領域を確保し、ハードウェアによりバックアップ対象媒体５２を更新するごとに更新データ６０に対応する入出力制御装置５４の更新ビットマップテーブルの対応ビットをセットする。
【００５４】
入出力制御装置５４に更新ビットマップテーブル５６を設けることは、図２に示したように１つのディスク用入出力制御装置１６−１〜１６−３に複数の磁気ディスク装置を接続した場合、各磁気ディスク装置をアクセスするときに入出力制御装置をアクセスするだけで、バックアップ対象とする磁気ディスク装置の更新ビットマップテーブルが得られる点で優れている。
【００５５】
また、入出力制御装置５４に設ける更新ビットマップテーブル５６としては、電源断による情報消失を防ぐため不揮発性メモリとすることが望ましい。中央処理装置１０に対し接続されるバックアップ先媒体６２として、この実施例にあっては、磁気テープ装置によりデータ読み書きを行う磁気テープを使用している。
２．バックアップ処理
図４は図３に示した本発明によるバックアップ処理の機能を取り出して更に詳細に示した説明図である。まず定義制御文４８としては、バックアップ対象媒体５２に関する情報、バックアップ先媒体６２に関する情報、全体バックアップ処理か差分バックアップ処理かの使い分けを決める基準、更にバックアップが済んだバックアップ先媒体６２を整理するマージ処理の実行基準を定める。
【００５６】
このような定義制御文４８の内容は、図２に示した計算機システムの環境設計および環境設定を行う際に予め作成される。定義制御文４８はオペレータコンソール２８を用いたメニュー処理，コマンド入力，ジョブ指定などの適宜の手法で中央処理装置１０に与えられ、この指示を受けて環境定義処理部３４がコントロールデータセット（ＣＤＳ）として機能するバックアップ制御用管理ファイル５０に定義制御文４８で指定された内容を登録する。
【００５７】
バックアップ制御用管理ファイル５０としては、この実施例にあっては磁気ディスク装置を使用している。勿論、磁気ディスク装置以外に半導体メモリを使用した半導体ディスク装置，システム記憶装置，光ディスク装置，フロッピー（Ｒ）装置などの適宜の媒体に格納してもよい。
【００５８】
環境定義処理部３４による定義制御文４８に基づいた登録により、バックアップ制御用管理ファイル５０には、
▲１▼バックアップ対象媒体管理情報
▲２▼バックアップ先媒体管理情報
▲３▼バックアップ使い分け基準
▲４▼マージ実行条件
がそれぞれテーブル情報として登録される。
【００５９】
図５はバックアップ制御用管理ファイル５０に登録されるバックアップ対象媒体の管理情報テーブルを示す。図５（Ａ）はバックアップ対象媒体を示す情報を使用頻度１，２，３，４，・・・の順番にバックアップ対象媒体の媒体識別番号によって登録している。このため、バックアップ処理を指示された際には、このバックアップ対象媒体管理テーブルを参照し、使用頻度が一番高い媒体識別番号「ＤＡＳＤ００」をもつバックアップ対象媒体からバックアップ処理を開始するようになる。
【００６０】
図５（Ｂ）はバックアップ対象媒体を使用頻度に応じてグループ分けしたバックアップ対象媒体管理テーブルを示している。このため、バックアップ指示を受けると、使用頻度の最も高いグループ識別番号に属するバックアップ対象媒体からグループ単位にバックアップ処理を行うようになる。このような使用頻度により階層的に分けたバックアップ対象媒体の管理情報テーブルを用いることで、使用頻度や重要度の最も高いバックアップ対象媒体から優先的にバックアップ処理を行うことができる。
【００６１】
図６はバックアップ制御用管理テーブル５０に登録するバックアップ対象媒体の管理情報テーブルの他の実施例を示したもので、この実施例にあっては、重要度に応じてバックアップ対象媒体を階層的に分類している。即ち、図６（Ａ）は、重要度に応じてバックアップ対象媒体単位に階層的に登録している。また図６（Ｂ）は、重要度に応じたグループ分けにより階層的にバックアップ対象媒体を登録している。勿論、媒体単位あるいはグループ分けした際の階層的なバックアップ優先順位の分け方は、使用頻度や重要度以外に必要に応じて適宜のパラメータを用いてもよい。
【００６２】
図７はバックアップ対象媒体のグループ分けの他の実施例を示したもので、１つのグループ内を階層的に分割してグループ分けしたことを特徴する。図７（Ａ）はバックアップ対象となる複数の磁気ディスク装置で構成された入出力サブシステム８８を示す。入出力サブシステム８８は、予め定めたグループ分け基準に従いグループＡ，Ｂ，Ｃに分割している。更に、クループＡ，Ｂ，Ｃ内には下位のグループを示すａ１〜ａ４，ｂ１〜ｂ４，ｃ１〜ｃ４が付された磁気ディスク装置が４台ずつ含まれている。
【００６３】
図７（Ｂ）は図７（Ａ）の階層的なグループ分けによる木構造を示す。１つの大きなグループを構成する入出力サブシステム８８は、まずグループＡ，Ｂ，Ｃに分割され、グループＡ，Ｂ，Ｃのそれぞれが更に下位のグループａ１〜ａ４，ｂ１〜ｂ４ｃ１〜ｃ４に分割されている。ここでグループ分割の最下位層は、磁気ディスク装置１台単位となる。このような階層的なグループ分けに対応して、各階層ごとに左側に示す第１階層バックアップ条件９０，第２階層バックアップ条件９２がバックアップ動作環境として設定されている。
【００６４】
階層ごとに設定するバックアップ条件としては、例えば磁気ディスク装置の信頼性を用いる。具体的には磁気ディスクのに信頼性の評価関数のシークエラー回数を監視し、階層ごとに下位で高く上位に行くほど低くなるエラー回数閾値を設定する。そしてバックアップ処理を開始する際に、最下位グループから順番に実際のエラー回数と閾値と比較し、閾値を越えるグループをバックアップ対象として選択する。
【００６５】
図７（Ｂ）の例えばグループＡの系統を例にとると、まず最下位グループａ１〜ａ４について、それぞれのグループのエラー回数を第２階層バックアップ条件９２として設定されたエラー回数閾値と比較する。ここで最下位グループａ１〜ａ４は磁気ディスク装置１台ずつで構成されており、従って、磁気ディスク総血ごとのエラー回数を閾値と比較することになる。例えばグループａ１〜ａ３のエラー回数が閾値を越え、グループａ４のエラー回数が閾値を越えていなかった場合は、グループａ１〜ａ３に最も優先度の高いバックアップ順位をセットする。
【００６６】
閾値を越えていないグループａ４は、その上位グループＡに設定された第１段階バックアップ条件９０のエラー回数閾値と比較する。ここで閾値を越えていれば、第２階層より低いバックアップ順位を設定する。閾値を越えていなかった場合は、それ以上の上位の階層がないのでグループａ４を今回のバックアップ対象から除外する。これらにより信頼性の低いバックアップ対象を優先的に選択したバックアップ処理を行うことができる。尚、図７は２階層にグループ分けした場合を示しているが、階層数は必要に応じて任意に決めることができる。
【００６７】
図８は図４のバックアップ制御用管理ファイル５０に登録されるバックアップ先媒体６２の管理情報テーブルを示す。このバックアップ先媒体の管理情報テーブル７０にあっては、バックアップ対象媒体の識別番号７２，バックアップ処理の形態を示す識別子７４、更にバックアップ先媒体を示す識別番号７６の３つを登録している。
【００６８】
例えばバックアップ対象媒体ＩＤ＝ＤＡＳＤ０１については、４つのバックアップ先媒体番号ＮＴ００００〜ＮＴ０００３が登録されている。これらのバックアップ先媒体は先頭の媒体が全体バックアップ処理を行っており、残り３つの媒体が非累積型差分バックアップ処理を行っている。またバックアップ対象媒体ＩＤ＝ＤＡＳＤ１１については、先頭の全体バックアップ処理に対し残り３つは累積型差分バックアップ処理であることが分かる。
【００６９】
図９は図４のバックアップ制御用管理ファイル５０に登録するバックアップ先媒体の管理情報テーブルの他の実施例を示したもので、図８に示した管理情報テーブル７０に対象媒体のもつ更新ビットマップ８２を付加したことを特徴とする。このように更新ビットマップテーブル８２を付加する理由は、後の説明で明らかにするリカバリ処理の際にバックアップ先媒体を読み込まなくてもバックアップ制御用管理ファイル５０を参照するだけで、リカバリに使用しようとするバックアップ先媒体における更新データの様子を把握できることである。
【００７０】
図１０は図４のバックアップ制御用管理ファイル５０に登録される複数のバックアップ先媒体を対象マージ処理を行うためのマージ処理の実行条件テーブルを示す。このマージ処理の実行条件テーブルには、マージ処理を開始するためのＣＰＵの付加条件、マージ処理に使用可能なバックアップ用の入出力装置の空き条件、マージ対象となるバックアップ先媒体の媒体数、日付、曜日、時刻などの条件が定義制御文４８に基づく環境定義処理部３８の処理で登録されている。
【００７１】
再び図４を参照するに、バックアップ処理部３６はオペレータコンソール２８を通じて業務管理者などによるバックアップ指示を受けると、環境定義処理部３４によりバックアップ制御用管理ファイル５０に登録されたバックアップ開始条件に従って自動的にバックアップ処理を開始する。このバックアップ開始条件としては、例えばバックアップのサイクルを月曜日から土曜日とし、夜間の業務負荷の少ない時間帯を使用して自動的にバックアップ処理を行う。またバックアップ処理部３６によるバックアップ処理の内容は、バックアップ使い分け基準に従って全体バックアップ処理と差分バックアップ処理のいずれかが自動的に判断され、実行する。
３．バックアップ処理の使い分け
図１１は図４のバックアップ処理部３６による本発明のバックアップ処理のメインルーチンを示したフローチャートである。図１１の処理に先立ってバックアップ処理部３６は予め定義されたバックアッブ条件を監視している。例えば月曜日から土曜日までを１サイクルとし、一日の業務が終了した負荷の少ない夜間の指定時間に到達するとバックアップ処理を起動する。またバックアップ対象媒体は予め固定的に決めていてもよいし、図７の階層的なグループ分けで示したように、各階層に設定したバックアップ条件を満たすグループのみをバックアップ対象媒体とし選択するようにしてもよい。
【００７２】
このように予め定義されたバックアップ条件が成立すると、図１１の処理が開始され、まずステップＳ１でバックアップ制御用管理ファイル５０から全体バックアップ処理は差分バックアップ処理かを決める基準情報を読み込む。続いてステップＳ２でバックアップ対象媒体５２における更新状況を調べる。
【００７３】
具体的には、バックアップ対象媒体５２側から更新データの位置を示す更新ビットマップテーブルを読み込み、ビットが１にオンしている有効ビットの数を検出する。続いてステップＳ３で、検出した更新データの数がステップＳ１で読み込んだ基準値を越えているか否か判定する。基準値を越えている場合にはステップＳ４に進み、全体バックアップ処理を実行する。一方、基準値に満たない場合にはステップＳ５で差分バックアップ処理を実行する。
【００７４】
ステップＳ４の全体バックアップ処理は図１２のサブルーチンに示すように、まずステップＳ１でバックアップ対象として認識したバックアップ対象媒体の全データをバックアップ先媒体に複写するバックアップ処理を行う。この全データの複写が済んだならば、ステップＳ２で例えば入出力制御装置５４に更新ビットマップテーブル５６を設けていた場合には更新ビットマップテーブル５６をクリアし、次の更新バックアップに備える。
【００７５】
図１３は図１１のステップＳ５に示した差分バックアップ処理をサブルーチンとして示したフローチャートである。この差分バックアップ処理にあっては、まずステップＳ１でバックアップ対象として認識したバックアップ対象媒体の更新ビットマップを読み込み、ステップＳ２で更新ビットマップテーブルのビットがオンしている有効ビットに対応するデータを更新データとして抽出してバックアップ先媒体に複写する。
【００７６】
続いてステップＳ３で差分バックアップ処理が非累積型か否かチェックし、もし非累積型の設定であればステップＳ４でバックアップ対象媒体側の更新ビットマップテーブルをクリアし、次のバックアップ処理の際には、今回バックアップできたデータを基準とした更新データのみを抽出可能とする。これに対し、累積型が設定されていた場合には更新ビットマップのクリアは行わない。
【００７７】
このため、累積型の差分バックアップ処理にあっては、図１２の全体バックアップ処理のバックアップデータを基準とし、この後の差分バックアップごとに累積された更新データを抽出したバックアップが行われる。
４．累積型と非累積型の差分バックアップ
ここで、図１３に示した差分バックアップ処理の累積型と非累積型を具体的に説明すると次のようになる。
【００７８】
図１４は累積型の差分バックアップ処理を示している。いまバックアップのサイクルを月曜日から土曜日の業務終了後の行うものとする。まず最初の月曜日にあっては、バックアップ対象媒体５２のデータ部５８を全てバックアップ先媒体６２−０１に複写する全体バックアップ処理を行う。このときバックアップ対象媒体５２側の更新ビットマップをクリアしておく。
【００７９】
次の火曜日にあっては、更新ビットマップの状態から有効データ領域５８の中で２つの更新データ６０−１，６０−２の更新が行われたことが分かるので、この更新データ６０−１，６０−２のみをバックアップ先媒体６２−０２に複写する差分バックアップを行う。この場合には、バックアップ対象媒体５２側の更新ビットマップのクリアは行わない。
【００８０】
次の水曜日にあっては、更に更新データ６０−３，６０−４の更新が行われ、火曜分と水曜分を合わせた更新データ６０−１〜６０−４をバックアップ先媒体６２−０３に複写する差分バックアップを行う。以下、木曜，金曜について同様の差分バックアップを行い、土曜については図示のように差分バックアップを行う。このような月曜から土曜に亘るバックアップ処理で、バックアップ先媒体６２−０１〜６２−０６が得られる。
【００８１】
ここで、バックアップ対象媒体５２を磁気ディスク装置とし、バックアップ先媒体６２−０１〜６２−０６とした場合、一週間当たりのバックアップ対象媒体の更新率は約１０〜２０％程度となる。このため、曜日が進むごとに最初の差分バックアップでは１〜２分程度でテープ数も１，２本であったものが、土曜日の差分バックアップ処理では１０分程度の時間に増加し、またテープ数も５〜６本に増加する。このような月曜から土曜の一週間分のバックアップが済むと、次の月曜では再び全体バックアップを行って更新ビットマップをクリアし、これを繰り返す。
【００８２】
累積型の差分バックアップにおけるリカバリ処理は、例えば土曜日の状態のデータをリカバリするためには月曜の全体バックアップデータのバックアップ先媒体６２−０１と最も新しい土曜日に得たバックアップ先媒体６２−０６の２つを使用すればよい。このため、累積型のバックアップ処理にあっては、リカバリ処理の際の媒体数が少なくでき、媒体管理も容易になる。
【００８３】
図１５は非累積型の差分バックアップ処理を図１４と同様、月曜から土曜日を１サイクルとしてバックアップ業務を行う場合を例にとって示している。最初の月曜日については、図１４の累積型と同様、全体バックアップを行い、更新ビットマップをクリアしている。次の火曜から水曜については差分バックアップをとるごとに更新ビットマップをクリアしている点が累積型の場合と相違する。
【００８４】
このため、火曜から土曜までの差分バックアップにあっては、前日の全体バックアップまたは差分バックアップを基準とした更新データのみが抽出されてバックアップ先媒体６２−０２〜６２−０６に複写される。
【００８５】
非累積型のバックアップ処理で得られた媒体を用いたリカバリ処理は、例えば土曜日までのデータを復元する場合を例にとると、月曜の全体バックアップから土曜までの複数の差分バックアップによるバックアップ先媒体６２−０１〜６２−０６の全てを使用しなければならない。
【００８６】
このように非累積型の差分バックアップにあっては、例えば一週間におけるバックアップ対象媒体の更新率を１０〜２０％とすると、各曜日における毎回の差分バックアップは１〜２分程度でテープ数も１〜２本と処理時間およびテープ本数を大幅に低減できる。しかし、リカバリ処理の際には全体バックアップとリカバリを行うまでに得た複数の差分バックアップによる媒体の全てを使用しなければならず、リカバリ時間が増大し、また媒体管理も繁雑になる。
【００８７】
本発明のバックアップ制御にあっては、このような累積型と非累積型の差分バックアップ処理がもつ利点を効果的に活かすと共に、それぞれのもつ欠点を可能な限り抑制して効率のよいリカバリ処理と媒体管理を行うものである。
５．更新ビットマップと有効領域ビットマップ
図１６は図４に示したバックアップ処理部３６による更新ビットマップテーブルに加えて、有効領域ビットマップテーブルを用いたバックアップ処理を示しいる。仮想記憶方式を採用した計算機システムにあっては、図４に示したバックアップ対象媒体５２を構成する磁気ディスク装置のボリューム目録テーブル（ＶＴＯＣ）にデータ更新を行う有効領域を示すビットマップテーブルを格納している。そこで図１６のバックアップ処理にあっては、更新データの位置を示すビットマップテーブルに加えて、有効領域を示す有効領域ビットマップテーブルを組み合わせてバックアップとして複写する更新データの抽出を行う。
【００８８】
まずバックアップ対象媒体５２のデータ部６６には中央処理装置１０によるソフトウェア処理で有効領域５８が予め設定されている。この有効領域５８は有効領域ビットマップ６４に示すように、バックアップ対象媒体５２側に記録されている。中央処理装置はバックアップ対象媒体５２の有効領域５８のデータについてのみ更新データ６０に示すように更新処理を行う。
【００８９】
しかしながら、無効領域９０に対しハードウェアによって更新が行われ、更新データ６０が存在する場合もある。更新ビットマップテーブル８２はバックアップ対象媒体５２における更新データ６０の位置をハードウェア的に検出して記録している。従って、無効領域９０の更新データ６０についても、更新ビットマップ８２上に有効ビット１がセットされている。
【００９０】
このような更新ビットマップテーブル８２をそのまま用いた場合には、無効領域９０の更新データ６０もバックアップ先媒体６２に不要なデータとして複写されてしまう。そこでバックアップ処理の際に更新ビットマップデータ８２に加えて有効領域ビットマップテーブル６４を読み込み、２つのビットマップテーブル６４，８２の同一位置のビットの論理積をとって、有効ビットとなった位置の有効データのみをバックアップ先媒体６２に複写する。これによって無効領域９０の更新データ６０はバックアップ対象から除外され、必要ないデータをバックアップ先媒体６２に複写してしまう無駄を省くことができる。
６．マージ処理
次に、図１１に示したバックアップ処理に従ってバックアップ先媒体としての複数の磁気テープが得られた状態でのマージ処理を説明する。
【００９１】
図１７は本発明のマージ処理の対象となるあるバックアップ対象媒体についてのバックアップ先媒体の管理情報テーブルを示している。即ち、バックアップ対象媒体の識別ＩＤ＝ＤＡＳＤ０１については、バックアップ形態識別子７４−１〜７４−４に示すように、全体バックアップに続いて３つの累積型差分バックアップにより得られたバックアップ先媒体の識別番号７６−１〜７６−４に示すＩＤ＝ＭＴ０００１〜ＭＴ０００４のバックアップが済んでいることが認識される。
【００９２】
このようなバックアップ済みの状態については、図１８に示すように、ＩＤ＝ＭＴ０００１〜ＭＴ０００４のバックアップ先媒体６２−０１〜６２−０４について最も時間的に古い全体バックアップ先媒体６２−０１と最新の累積型差分バックアップ先媒体６２−０４の２つを複写合成して１つの全体バックアップ先媒体６２−０５を生成する。この場合の複写は全体バックアップ先媒体６２−０１と最新の累積型差分バックアップ先媒体６２−０４のそれぞれの更新ビットマップにつき、同一位置に有効ビットがあれば最新の有効ビットに対応するデータを抽出して複写結合すればよい。
【００９３】
更に、マージ処理により１つの全体バックアップ先媒体６２−０５が得られたならば、図１７に示す管理情報テーブル７０については４つの情報をとりまとめた識別子７４−５を全体バックアップとし、また媒体識別ＩＤ＝ＭＴ０００５としたテーブル情報の置き換えを行う。
【００９４】
図１９はマージ処理の対象とするバックアップ先媒体の管理情報テーブルの他の例を示したもので、この場合には全体バックアップに続く残り３つの差分バックアップが非累積型となっていた場合である。
【００９５】
この場合のマージ処理は図２０に示すように、全体バックアップ先媒体６２−０１と残り３つの差分バックアップ先媒体６２−０１〜６２−０４の全てを読み込んで複写結合する。勿論、複写結合は同一位置にある更新データのうちの最新のものを抽出して全体バックアップ先媒体６２−０５に複写する。
【００９６】
図２１は図１９に示した３つの非累積型の差分バックアップによる媒体を使用したマージ処理の他の処理に使用する管理情報テーブル７０を示している。この場合には、図２２に示すように３つの非累積型差分バックアップ先媒体６２−０２〜６２−０４をマージ処理し、１つの累積型差分バックアップ先媒体６２−０５を生成していることを特徴とする。
【００９７】
これはマージ処理に時間的な余裕がない場合であり、全体バックアップ先媒体６２−０１を含めた図２０に示すような１つの全体バックアップ先媒体６２−０５を作るには時間がない場合に、とりあえず非累積型差分バックアップ先媒体を１つの累積型差分バックアップ先媒体にまとめる。そして、もし余裕があれば、図１８に示したように全体バックアップ先媒体と図２２で生成した１つの累積型差分バックアップ先媒体６２−０５を使用したマージ処理を行えばよい。
【００９８】
図２３はマージ処理の対象となるバックアップ先媒体の管理情報テーブル７０の他の例を示したもので、この例にあっては累積型差分バックアップと非累積型差分バックアップとが混在した場合である。
【００９９】
図２４は累積型と非累積型の差分バックアップが混在した場合のマージ処理を示している。まず最初の全体バックアップ先媒体６２−０１と次の累積型差分バックアップ先媒体６２−０２については、両者をマージして全体バックアップ先媒体６２−０５を生成する。次に全体バックアップ先媒体６２−０１と３番目の累積型差分バックアップ先媒体６２−０３を統合して、この時点での全体バックアップ先媒体６２−０６を生成する。
【０１００】
更に全体バックアップ先媒体６２−０１と累積型差分バックアップ先媒体６２−０３と最後の非累積型差分バックアップ先媒体６２−０３の３つをマージして、この時点での全体バックアップ先媒体６２−０７を生成する。そして新たに生成した全体バックアップ先媒体６２−０５〜６２−０７については、図２３の右側に示すように、新たな識別子とバックアップ先媒体のＩＤを生成して置き換えを行う。
【０１０１】
図２５は本発明によるマージ処理を示したフローチャートである。まずステップＳ１で計算機システムにおける業務負荷が低いか否かチェックし、業務負荷が低ければステップＳ２でバックアップ処理用の入出力装置に空きがあるか否かチェックする。空きがあればステップＳ３以降のマージ処理を行う。マージ処理はステップＳ３でバックアップ制御用管理ファイル５０からマージ対象とするバックアップ先媒体に関する情報を取得する。
【０１０２】
即ち、図１７，図１９，図２１あるいは図２３に示したようなバックアップ先媒体に関する管理情報テーブル７０を取得する。次にステップＳ４でマージ対象に含まれる差分バックアップ先媒体が非累積型のみか否かチェックする。非累積型のみであった場合には、ステップＳ４で全体バックアップ先媒体と全ての非累積型差分バックアップ先媒体を複写して結合するマージ処理を行う。
【０１０３】
ステップＳ４で非累積型のみでなかった場合にはステップＳ５で累積型のみか否かチェックする。累積型のみであった場合には、ステップＳ７で全体バックアップ先媒体と最新の累積型差分バックアップ先媒体を複写して結合するマージ処理を行う。更に非累積型のみでなく且つ累積型のみではなかった場合には、混在型であることからステップＳ８に進み、例えば図２４に示すような全体非累積型，累積型の混在処理を行う。
【０１０４】
ステップＳ６，Ｓ７またはＳ８におけるマージ処理が済んだならばステップＳ９で、ステップＳ３で読み込んだバックアップ対象媒体に関する管理情報テーブルの書替えを行う。
７．リカバリ処理
図２６は本発明のバックアップ処理制御におけるリカバリ処理の機能を示した説明図である。図２６のリカバリ処理はリカバリ処理部４０に対するオペレータコンソール２８からのリカバリ指示により行われる。このリカバリ処理のため、定義制御文４８により予めリカバリ処理の使い分け基準を作成して環境定義処理部３４に指示し、リカバリ処理使い分け基準をバックアップ制御用管理ファイル５０に予め登録している。
【０１０５】
定義制御文４８で指示するリカバリ処理の使い分け基準としては、例えばリカバリ用の使用できるバックアップ先媒体の入出力装置の台数がある。即ち、本発明のリカバリ処理にあっては、リカバリ処理の際に使用可能なリカバリ先媒体の入出力装置が１台か複数台かにより順次処理と並列処理を行っており、このための使い分け基準としてリカバリ用に使用できるバックアップ先媒体の入出力装置の台数が使い分け基準として定義される。
【０１０６】
図２７は図２６のリカバリ処理部４０によるリカバリ処理のメインルーチンを示したフローチャートである。システムダウンなどによりリカバリ指示を受けるとリカバリ処理部４０が起動し、まずステップＳ１でバックアップ制御用管理ファイル５０からリカバリに必要な差分バックアップ先媒体の数を読み込む。続いてステップＳ２でリカバリに必要な差分バックアップ先媒体があるか否かチェックし、もし差分バックアップ先媒体がなければステップＳ３に進み、全体バックアップ先媒体のみを使用した通常のリカバリ処理を行う。
【０１０７】
ステップＳ２で差分バックアップ先媒体があった場合にはステップＳ４に進み、複数の差分バックアップ先媒体の中から不要な媒体を排除する不要媒体排除処理を行う。続いてステップＳ５でバックアップ先媒体からの読込みに使用する入出力装置の台数が複数台か否かチェックする。もし入出力装置が１台であった場合にはステップＳ６に進み、最新の差分バックアップ先媒体から順次読み込んでリカバリする逐次処理を実行する。一方、入出力装置が複数台あった場合にはステップＳ７で複数のバックアップ先媒体のデータを並列的に読み込んでリカバリする並列処理を実行する。
【０１０８】
図２８は図２７のステップＳ４による不要媒体排除処理の対象となったバックアップ先媒体の一例を示している。不要媒体排除処理の際には、図２８に示す例えば４つのバックアップ先媒体６２−１〜６２−４につきバックアップ制御用管理ファイル５０を参照して、図２９に示す管理情報テーブル７０およびこれに付加している更新ビットマップテーブル８２を参照する。
【０１０９】
この更新ビットマップテーブル８２について図３０に示すように、媒体識別ＩＤ＝ＭＴ０００４となる最新の更新ビットマップデータの中の有効ビット１に対応するそれ以前のビットマップデータにおける有効ビット１を矢印で示すように無効ビット０にオフする。次に媒体識別ＩＤ＝ＭＴ０００３について、有効ビット１について、それ以前の更新ビットマップの同一位置の有効ビット１を無効ビット０に矢印に示すようにオフする。
【０１１０】
この結果、媒体識別ＩＤ＝ＭＴ０００２の更新ビットマップテーブルは全て無効ビット０となる。従って、媒体識別ＩＤ＝ＭＴ０００２の有効ビット１で示される更新データは、その後の媒体識別ＩＤ＝ＭＴ０００３，ＭＴ０００４による有効ビット１の更新データで書き替えられており、リカバリの際に書込みを必要とする有効な更新データは存在しない。従って、媒体識別ＩＤ＝ＭＴ０００２はリカバリに使用する媒体から排除される。
【０１１１】
図３１は本発明の不要媒体排除処理を示したフローチャートである。まずステップＳ１でバックアップ制御用管理ファイル５０から各バックアップ先媒体にバックアップされている更新データの場所を示す情報を獲得し、ステップＳ２でビットマップテーブルを作成する。なお、ステップＳ１の処理はバックアップ制御用管理ファイル５０に最初からビットマップテーブルの形で格納している場合は不要である。
【０１１２】
ステップＳ３にあっては、最新のバックアップ先媒体をチェック対象とする。続いてステップＳ４でチェック対象となったバックアップ先媒体の更新ビットマップテーブルに有効ビットがあるか否かチェックする。もし有効ビットがあればステップＳ５でこの媒体をリカバリに使用する媒体として指定する。
【０１１３】
続いてステップＳ６で処理中のバックアップ先媒体の更新ビットマップテーブルにおける有効ビット１と同一位置の以前の更新ビットマップテーブルの有効ビットを無効化する。続いてステップＳ７でビットマップテーブルに有効ビットが残っているか否かチェックする。残っていればステップＳ８で１つ前のバックアップ先媒体を新たなチェック対象とし、ステップＳ４〜Ｓ６の処理を繰り返す。ステップＳ７で有効ビットがもはや残っていなければステップＳ９に進み、ステップＳ５でリカバリ用として指定した指定媒体のみを使用してリカバリ処理を実行する。
８．リカバリ逐次処理
次に図２７のステップＳ６に示したリカバリ処理の際に使用可能なバックアップ先媒体の入出力装置が１台しか設けられていない場合の逐次処理を説明する。
【０１１４】
図３２はリカバリ逐次処理に使用される全体バックアップの様子を示している。即ち、この全体バックアップにあってはバックアップ対象媒体５２の有効領域を示す有効領域ビットマップテーブル６４−１と、その中の更新データの位置を示す更新ビットマップテーブル８２−１との論理積で有効ビットとなった位置の更新データを全体バックアップ先媒体６２−１に複写している。
【０１１５】
図３３は図３２の全体バックアップに組み合わせてリカバリ逐次処理に使用される最新の差分バックアップの様子を示している。この差分バックアップにあっては、バックアップ対象媒体５２に示すように、有効領域５８−１は図３２の全体バックアップと同じであるが、有効領域５８−３については１段下側にずれた位置に変更している。この場合にも有効領域ビットマップテーブル６４−２と更新ビットマップテーブル８２−２における同一位置のビットの論理積から得られた有効ビット１の更新データ６０のみを差分バックアップ先媒体６２−２に複写している。
【０１１６】
リカバリ逐次処理にあっては、図３３に示した最新の差分バックアップ先媒体６２−２を最初に読み込み、続いて図３２に示す全体バックアップ先媒体６２−１を読み込んでリカバリ処理を行う。説明を簡単にするため、差分バックアップ先媒体は１つの場合としているが、複数ある場合は新しい順番に順次読み込む。
【０１１７】
図３４は図３３に示した最新の差分バックアップ先媒体６２−２の読込みによる第１段階のリカバリ処理を示している。この第１段階のリカバリ処理は、まず最新の差分バックアップ先媒体６２−２の更新ビットマップテーブル８２−２の有効ビット１に対応する更新データ６０を読み込んでリカバリ先媒体６８に書き込む。
【０１１８】
次に図３２に示した１つ前のバックアップ先媒体、すなわち全体バックアップ先媒体６２−１のビットマップテーブル８２−１の有効ビットを、既にリカバリ先媒体６８への書込みが済んだ更新ビットマップテーブル８２−２の有効ビット１により無効ビット０にオフする。これによって新たな更新ビットマップテーブル８２−３が得られる。
【０１１９】
図３５は全体バックアップ先媒体６２−１からデータを読み込んで行う第２段階のリカバリ処理である。この場合には最終段階のリカバリ処理を示している。全体バックアップ先媒体６２−１からのデータの読込みは図３４の第２段階で得られた更新ビットマップテーブル８２−３を使用し、その有効ビット１に対応する位置のデータを全体バックアップ先媒体６２−１から読み込んでリカバリ先媒体６８に書き込む。
【０１２０】
この書込みにおいて、更新ビットマップテーブル８２−３の書込みが済んだ有効ビット１は無効ビット０にオフする。更新ビットマップテーブル８２−４は更新ビットマップテーブル８２−３の有効ビット１の全てに対応するデータのリカバリ先媒体６８への書込みが済んだときの状態を示している。このとき更新ビットマップテーブル８２−４のビットは全て無効ビット０となっていることから、この時点でリカバリ逐次処理が完了したことを認識して処理を終了する。
【０１２１】
図３６は本発明によるリカバリ逐次処理を示したフローチャートである。まずステップＳ１で、バックアップ制御用管理ファイル５０からリカバリに必要な媒体の一覧表を獲得する。続いてステップＳ２で最新のバックアップ先媒体に関する更新データの格納位置である有効位置を示すビットマップを作成する。ここで、更新ビットマップが既にバックアップ制御用管理ファイル５０に登録されている場合はビットマップの作成は不要である。
【０１２２】
ステップＳ３にあっては、最新のバックアップ先媒体を用意する。続いてバックアップ先媒体からステップＳ４でバックアップデータを読み込み、ステップＳ５でビットマップテーブル上で有効ビット１か否かチェックする。有効ビット１であればステップＳ６で、読み込んだバックアップデータをリカバリ先媒体に書き出してリカバリし、ビットマップ上で有効ビット１を無効ビット０に切り替える。
【０１２３】
ステップＳ５で有効ビット１でなかったり、ステップＳ６でのリカバリ書込みと無効ビットへの切替えが済んだならば、ステップＳ７でバックアップ先媒体内に未処理の読込データが残っているか否かチェックし、全データを読み込むまでステップＳ４〜Ｓ６の処理を繰り返す。
【０１２４】
ステップＳ７でバックアップ先媒体内からの全ての媒体読出しが済んだならば、ステップＳ８でビットマップに有効ビットが残っているか否かチェックする。有効ビットが残っていればステップＳ９に進み、１つ前のバックアップ先媒体を用意し、ステップＳ４〜Ｓ７の処理を繰り返す。ステップＳ８でビットマップ上に有効ビットが残っておらず全て無効ビットとなっていた場合にはリカバリ処理の終了を認識し、一連の処理を終了する。
９．リカバリ並列処理
次に図３７のステップＳ７に示した複数の入出力装置を使用したリカバリ並列処理の詳細を説明する。図３７はリカバリ並列処理に使用されるバックアップ先媒体の管理情報テーブルの一例を示している。この管理情報テーブル７０で指定されるバックアップ先媒体６２−１〜６２−４は図３８に示すバックアップ内容をもっている。
【０１２５】
メモリ４６上に展開されたリカバリ処理部４０はリカバリ先媒体６２−１〜６２−４ごとに入出力装置が個別に割り当てられていることから、それぞれの入出力装置にリード処理部８４−１〜８４−４としてのタスクを割り振り、各媒体における同一位置のデータの並列読込みを行わせる。リード処理部８４−１〜８４−４によりメモリ４６上に読み込まれた４つのリカバリデータについて、リカバリ処理部４０は最新のデータを有効データとしてリカバリ先媒体６８に書き出す。
【０１２６】
このような並列処理を全てのデータ位置について順次繰り返すことで、複数のバックアップ先媒体６２−１〜６２−４を用いても全体バックアップによるリカバリ先媒体１つを用いたリカバリ処理と同等の処理時間でリカバリ先媒体６８に書き出すことができる。
【０１２７】
図３９は本発明によるリカバリ並列処理を示したフローチャートである。まずステップＳ１でバックアップ制御用管理ファイル５０よりリカバリに必要な媒体を判断し、ステップＳ２で全てのバックアップ先媒体を入出力装置にセットして読込可能状態にする。続いてステップＳ３で全てのバックアップ先媒体の同一位置からデータを読み込み、ステップＳ４で重複箇所については最新のデータをメモリ内で選択する。続いてステップＳ５で最新データのみをリカバリ先となる出力媒体に書き出してリカバリする。以上のステップＳ３〜Ｓ５の処理をステップＳ６でリカバリ対象箇所が終了するまで繰り返す。
【０１２８】
尚、上記の実施例はリカバリ対象媒体として磁気ディスク装置を例にとっているが、この他に半導体メモリを使用した光ディスク装置，システム記憶装置，光磁気ディスク装置またはフロッピー（Ｒ）装置などの適宜の直接アクセス装置を含む。
【０１２９】
またバックアップ先媒体としてはオープンリールやカートリッジの磁気テープを媒体とした磁気テープ装置を例にとっているが、磁気ディスク装置，光磁気ディスク装置，半導体ディスク装置，システム記憶装置あるいはフロッピ装置であってもよい。
【０１３０】
また、更新データの位置を示す情報としては１つの更新データに１ビットを割り当てたビットマップを用いているが、ビットマップによる表現形式以外に更新データの開始位置と大きさ、更新データの開始位置と終了位置、更新データでない場所の開始位置と大きさ、または更新データでない場所の開始位置と終了位置で表現するようにしてもよい。この点はビットマップを用いた有効領域についても同様である。更に本発明は実施例に示された数値による限定は受けない。
【０１３１】
【発明の効果】
以上説明してきたように本発明によれば、バックアップの都度、バックアップ実施者が行っていた更新箇所情報の出力、バックアップの媒体量、バックアップ時間の見積り、全体バックアップと差分バックアップの使い分けの判断などの前準備が不要となり、バックアップ準備の作業工数が削減され、結果としてバックアップ時間を短縮できる。
【０１３２】
また、全体バックアップから差分バックアップへの変更はバックアップ制御用管理ファイルに対する一度の定義で済み、運用形態を変更する際の工数や準備期間が削減でき、より簡単に運用形態の変更ができる。
【０１３３】
更に導入作業が困難になることから、差分バックアップによる運用ができなかったものが、本発明は自動的に全体バックアップと差分バックアップを使い分けることで、導入作業を意識することなく差分バックアップを組み合わせた運用ができる。
【０１３４】
また差分バックアップの組合せでバックアップ先媒体の媒体数が増加しても、業務負荷の低い空き時間を利用したマージ処理によりリカバリ処理に必要なバックアップ先媒体数が必要最小限に整理されるため、リカバリ時間の短縮とバックアップ先媒体の管理が容易になる。特にリカバリ時間が制約されて差分バックアップによる媒体数ではリカバリ困難な場合に、マージ処理によるバックアップ先媒体で十分な時間的余裕をもってリカバリでき、リカバリに必要な業務中止時間を最小限に抑えることができる。
【０１３５】
また、差分バックアップの組合せで多数のバックアップ先媒体が得られても、リカバリの際に不要な媒体を自動的に排除した読込処理を行うことで、リカバリ時間の大部分を占めるバックアップ先媒体の読込処理の時間を短縮し、リカバリを効率良く行うことができる。
【０１３６】
また、リカバリの際に使用可能な入出力装置が１台で、バックアップ先媒体の逐次処理しかできない場合にも、同一位置の重複するバックアップデータについては最新のデータをリカバリデータとして書き出し、リカバリ時間を必要最小限に抑えることができる。
【０１３７】
更にまた、複数台の入出力装置を使用したバックアップ先データの読込みが可能な場合には、複数のバックアップデータの同一位置からの並列読込みと、読み込んだ複数データの最新データを有効データとしてリカバリ先に書き出す書込処理とを並列的に行うことで、複数の差分バックアップ先媒体があっても１つの全体バックアップ先媒体を用いた場合と同等のリカバリ時間で効率良く処理することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明が適用される計算機システムのハードウェアを示したブロック図
【図３】本発明による処理機能を示した説明図
【図４】本発明のバックアップ処理の機能を示した説明図
【図５】使用頻度に基づくバックアップ対象媒体の管理情報の説明図
【図６】重要度に基づくバックアップ対象媒体の管理情報の説明図
【図７】木構造をもつ階層的なグループ分けを示した説明図
【図８】バックアップ先媒体の管理情報の説明図
【図９】更新ビットマップを同時に登録したバックアップ先媒体の管理情報の説明図
【図１０】差分バックアップ先媒体のマージ条件登録テーブルの説明図
【図１１】本発明のバックアップ処理のメインルーチンを示したフローチャート
【図１２】全体バックアップ処理を示したフローチャート
【図１３】差分バックアップ処理を示したフローチャート
【図１４】累積型の差分バックアップ処理の説明図
【図１５】非累積型の差分バックアップ処理の説明図
【図１６】有効領域ビットマップテーブルと更新ビットマップテーブルを用いたバックアップ処理の説明図
【図１７】本発明のマージ処理の対象となるバックアップ先媒体情報を示した説明図
【図１８】図１７のバックアップ先媒体情報に基づいた累積型のマージ処理の説明図
【図１９】本発明のマージ処理の対象となるバックアップ先媒体情報を示した説明図
【図２０】図１９のバックアップ先媒体情報に基づいた非累積型のマージ処理の説明図
【図２１】本発明のマージ処理の対象となるバックアップ先媒体情報を示した説明図
【図２２】図２１のバックアップ先媒体情報に基づいた非累積型の他のマージ処理の説明図
【図２３】本発明のマージ処理の対象となるバックアップ先媒体情報を示した説明図
【図２４】図２３のバックアップ先媒体情報に基づいた混在型のマージ処理の説明図
【図２５】本発明のマージ処理を示したフローチャート
【図２６】本発明によるリカバリ処理の機能を示した説明図
【図２７】本発明のリカバリ処理のメインルーチンを示したフローチャート
【図２８】リカバリ処理で媒体排除処理を行うバックアップ先媒体の説明図
【図２９】図２８の媒体に対応した管理情報テーブルの説明図
【図３０】媒体処理における管理情報テーブルのビット無効化を示した説明図
【図３１】本発明による不要媒体の排除処理を示したフローチャート
【図３２】逐次読込みで行うリカバリ処理に用いる全体バックアップの説明図
【図３３】逐次読込みで行うリカバリ処理に用いる差分バックアップの説明図
【図３４】最新の差分バックアップ先媒体の読込みで行う第１段階のリカバリ処理の説明図
【図３５】最も古い全体バックアップ先媒体の読込みで行う最終段階のリカバリ処理の説明図
【図３６】本発明の逐次読込みによるリカバリ処理を示したフローチャート
【図３７】並列読込みで行うリカバリ処理に用いるバックアップ先媒体情報の説明図
【図３８】図３７の媒体情報に基づいた並列読込みによるリカバリ処理の説明図
【図３９】本発明の並列読込みによるリカバリ処理を示したフローチャート
【符号の説明】
１０：中央処理装置（ＣＰＵ）
１２：主記憶装置（ＭＳＵ）
１４−１〜１４−４：入出力チャネル装置
１６−１〜１６−３：ディスク用入出力制御装置
１８：磁気テープ用入出力制御装置
２０：コンソール用入出力制御装置
２２：プリンタ用入出力制御装置
２４−１〜２４−２３：磁気ディスク装置
２６−１〜２６−３：磁気テープ装置
２８：オペレータコンソール
３０：プリンタ
３４：環境定義処理部（環境定義手段）
３６：バックアップ処理部（バックアップ処理手段）
３８：マージ処理部（マージ処理手段）
４０：リカバリ処理部（リカバリ処理手段）
４２：オペレーティング・システム（ＯＳ）
４４：データ更新処理部
４６：メモリ
４８：定義制御文
５０：バックアップ制御用管理ファイル（制御情報管理手段）
５２：バックアップ対象媒体
５４：入出力制御装置
５６：更新ビットマップテーブル
５８：有効領域
６０：更新データ
６２，６２−１〜６２−５：バックアップ先媒体
６６，７８：ボリューム目録テーブル（ＶＴＯＣ;Volume of Table Content)
６８，８０：データ部
７０：制御情報管理テーブル
７２：対象媒体番号
７４：バックアップ形態の識別子
７６：バックアップ先媒体番号
８２：更新ビットマップテーブル
８４−１〜８４−４：リード処理部
【図１】
0003785074.tif 000002
【図２】
0003785074.tif 000003
【図３】
0003785074.tif 000004
【図４】
0003785074.tif 000005
【図５】
0003785074.tif 000006
【図６】
0003785074.tif 000007
【図７】
0003785074.tif 000008
【図８】
0003785074.tif 000009
【図９】
0003785074.tif 000010
【図１０】
0003785074.tif 000011
【図１１】
0003785074.tif 000012
【図１２】
0003785074.tif 000013
【図１３】
0003785074.tif 000014
【図１４】
0003785074.tif 000015
【図１５】
0003785074.tif 000016
【図１６】
0003785074.tif 000017
【図１７】
0003785074.tif 000018
【図１８】
0003785074.tif 000019
【図１９】
0003785074.tif 000020
【図２０】
0003785074.tif 000021
【図２１】
0003785074.tif 000022
【図２２】
0003785074.tif 000023
【図２３】
0003785074.tif 000024
【図２４】
0003785074.tif 000025
【図２５】
0003785074.tif 000026
【図２６】
0003785074.tif 000027
【図２７】
0003785074.tif 000028
【図２８】
0003785074.tif 000029
【図２９】
0003785074.tif 000030
【図３０】
0003785074.tif 000031
【図３１】
0003785074.tif 000032
【図３２】
0003785074.tif 000033
【図３３】
0003785074.tif 000034
【図３４】
0003785074.tif 000035
【図３５】
0003785074.tif 000036
【図３６】
0003785074.tif 000037
【図３７】
0003785074.tif 000038
【図３８】
0003785074.tif 000039
【図３９】
0003785074.tif 000040