(57)【要約】  【課題】  複数のデータセットを複数の出力媒体にバックアップするのに要する時間を短縮する。  【解決手段】  制御タスク１０が、指定された数の処理タスク２１〜２ｎを起動する。その際、制御タスク１０は、処理タスク２ｋ(ｋ＝１、２、…、ｎ)に対し、処理タスク２ｋがバックアップすべきデータセット３ｋのうちの最初にバックアップすべきデータセットと、処理タスク２ｋによるバックアップの出力先である出力媒体４ｋと伝える。これにより、処理タスク２ｋは、最初にバックアップすべきデータセットを出力媒体４ｋにバックアップした後、バックアップが未実行のデータセットを選択し、そのデータセットを同じく出力媒体４ｋにバックアップする。  【選択図】  図１
2005165542.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ対象の複数のデータセットの中から順にデータセットを選択して一の出力先にバックアップする処理タスクを実行する処理タスク実行手段と、
複数の前記処理タスクを、各処理タスクが最初に選択すべきデータセットと各処理タスクにおける前記一の出力先とを特定した上で起動する制御タスクを実行する制御タスク実行手段と
を備えたことを特徴とするデータバックアップ装置。
【請求項２】
前記制御タスク実行手段は、
前記制御タスクを起動する指示中に記述された数値と等しい数の前記処理タスクを起動することを特徴とする請求項１記載のデータバックアップ装置。
【請求項３】
前記複数のデータセットのそれぞれに対しそのバックアップの出力先を指定するための制御テーブルを記憶する記憶手段を更に備え、
前記制御タスク実行手段は、
前記制御テーブルにおいて、前記複数のデータセットのうち、前記各処理タスクが最初に選択すべきデータセットに対しそのバックアップの出力先を指定することで、当該各処理タスクが最初に選択すべきデータセットと当該各処理タスクにおける前記一の出力先とを特定することを特徴とする請求項１記載のデータバックアップ装置。
【請求項４】
前記複数のデータセットのそれぞれに対しそのバックアップを行う処理タスクが決定済みである旨を設定するための制御テーブルを記憶する記憶手段を更に備え、
前記処理タスク実行手段は、
前記制御テーブルにおいて、前記複数のデータセットのうち、バックアップを行う処理タスクが決定済みである旨が設定されていないデータセットの中から、２回目以降にバックアップすべきデータセットを選択し、当該選択されたデータセットに対しそのバックアップを行う処理タスクが決定済みである旨を設定する前記処理タスクを実行することを特徴とする請求項１記載のデータバックアップ装置。
【請求項５】
前記複数のデータセットのそれぞれに対しそのバックアップの出力先を指定するための制御テーブルを記憶する記憶手段を更に備え、
前記処理タスク実行手段は、
前記制御テーブルにおいて、前記複数のデータセットのうち、バックアップの出力先が指定されたデータセットを最初にバックアップすべきデータセットとして選択した後、バックアップの出力先が指定されていないデータセットの中から２回目以降にバックアップすべきデータセットを選択し、当該選択されたデータセットに対しそのバックアップの出力先を指定する前記処理タスクを実行することを特徴とする請求項１記載のデータバックアップ装置。
【請求項６】
制御タスクが、複数の処理タスクを、各処理タスクが最初にバックアップすべき一のデータセットとそのバックアップの出力先とを特定した上で起動するステップと、
起動された各処理タスクが、前記一のデータセットを、特定された前記出力先にバックアップするステップと、
起動された各処理タスクが、前記一のデータセットのバックアップの終了後、他のデータセットを前記出力先にバックアップするステップと
を含むことを特徴とするデータバックアップ方法。
【請求項７】
前記起動するステップでは、前記制御タスクを起動する指示中に記述された数値と等しい数の前記処理タスクを起動することを特徴とする請求項６記載のデータバックアップ方法。
【請求項８】
前記起動するステップは、
バックアップ対象の複数のデータセットのそれぞれに対しそのバックアップの出力先を指定するための制御テーブルを記憶するステップと、
前記制御テーブルにおいて、前記複数のデータセットのうち、前記各処理タスクが最初にバックアップすべきデータセットに対しそのバックアップの出力先を指定することで、当該各処理タスクについての前記一のデータセットと前記出力先とを特定するステップと
を更に含むことを特徴とする請求項６記載のデータバックアップ方法。
【請求項９】
前記他のデータセットをバックアップするステップは、
バックアップ対象の複数のデータセットのそれぞれに対しそのバックアップを行う処理タスクが決定済みである旨を設定するための制御テーブルを参照するステップと、
前記制御テーブルにおいて、前記複数のデータセットのうち、バックアップを行う処理タスクが決定済みである旨が設定されていないデータセットの中から、当該他のデータセットを選択するステップと、
当該選択された他のデータセットに対しそのバックアップを行う処理タスクが決定済みである旨を設定するステップと
を更に含むことを特徴とする請求項６記載のデータバックアップ方法。
【請求項１０】
前記他のデータセットをバックアップするステップは、
前記複数のデータセットのそれぞれに対しそのバックアップの出力先を指定するための制御テーブルを参照するステップと、
前記制御テーブルにおいて、前記複数のデータセットのうち、バックアップの出力先が指定されたデータセットを前記一のデータセットとして選択した後、バックアップの出力先が指定されていないデータセットの中から当該他のデータセットを選択し、当該選択された他のデータセットに対しそのバックアップの出力先を指定するステップと
を更に含むことを特徴とする請求項６記載のデータバックアップ方法。
【請求項１１】
コンピュータに、
バックアップ対象の複数のデータセットの中から順にデータセットを選択して一の出力先にバックアップする機能と、
複数の前記バックアップする機能を、各機能が最初に選択すべきデータセットと各機能における前記一の出力先とを特定した上で動作させる機能と
を実現させるためのプログラム。
【請求項１２】
コンピュータに、
複数の処理タスクを起動する機能と、
起動された各処理タスクが、最初にバックアップすべき一のデータセットと、当該一のデータセットのバックアップの終了後にバックアップすべき他のデータセットとして選択可能なデータセットからなるデータセット群と、当該一のデータセットおよび当該他のデータセットのバックアップの出力先とを認識できるようにする機能と
を実現させるためのプログラム。
【請求項１３】
前記起動する機能では、前記プログラムを起動する指示中に記述された数値と等しい数の前記処理タスクを起動させる請求項１２記載のプログラム。
【請求項１４】
前記認識できるようにする機能では、
バックアップ対象の複数のデータセットのそれぞれに対しそのバックアップの出力先を指定するための制御テーブルを記憶する機能と、
前記制御テーブルにおいて、前記複数のデータセットのうち、前記各処理タスクが最初に選択すべきデータセットに対しそのバックアップの出力先を指定することで、当該各処理タスクについての前記一のデータセットと前記出力先とを特定する機能と
を更に実現させる請求項１２記載のプログラム。
【請求項１５】
コンピュータに、
最初にバックアップすべき一のデータセットとそのバックアップの出力先とを特定する機能と、
前記一のデータセットを、特定された前記出力先にバックアップし、そのバックアップの終了後、他のデータセットを当該出力先にバックアップする機能と
を実現させるためのプログラム。
【請求項１６】
前記バックアップする機能では、
バックアップ対象の複数のデータセットのそれぞれに対しそのバックアップを行う処理タスクが決定済みである旨を設定するための制御テーブルを参照する機能と、
前記制御テーブルにおいて、前記複数のデータセットのうち、バックアップを行う処理タスクが決定済みである旨が設定されていないデータセットの中から前記他のデータセットを選択し、当該選択された他のデータセットに対しそのバックアップを行う処理タスクが決定済みである旨を設定する機能と
を更に実現させる請求項１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードディスク等の記録媒体に記録されたデータセットを磁気テープ等の出力媒体にバックアップするデータバックアップ装置等に関する。
【背景技術】
【０００２】
コンピュータを用いて情報を処理する情報処理システムでは、例えば、ハードディスク等の記録媒体に情報が記録される。ところが、ハードディスク等の記録媒体に障害が発生すると、それらの情報が消失してしまい、業務に重大な影響を与える虞がある。そこで、従来から、ハードディスク等の記録媒体に記録されるデータのうち重要なものについては、磁気テープ等の出力媒体に保存するいわゆるバックアップが行われている(例えば、特許文献１参照。)。
【０００３】
このようなバックアップは、例えば、データの集まりであるデータセット(ファイル)を単位として、ハードディスク等に記録された内容をそのままコピー(イメージコピー)することにより行われる。また、複数のデータセットを１つの出力媒体にバックアップするには、スタック処理が行われる。スタック処理とは、複数のデータセットのバックアップを出力媒体に順番に記録していくことにより、出力媒体数を抑えるものである。
例えば、ＤＳ１、ＤＳ２、ＤＳ３、ＤＳ４という４つのデータセットをこの順に１本のテープにバックアップする場合、そのテープ上に、ＤＳ１のイメージコピー、ＤＳ２のイメージコピー、ＤＳ３のイメージコピー、ＤＳ４のイメージコピーを順に記録するスタック処理が行われる。
しかしながら、出力媒体であるテープが１本である場合、ＤＳ１のコピー処理が終わったら、ＤＳ２のコピー処理を行い、それが終わったらＤＳ３のコピー処理を行い、それが終わったらＤＳ４のコピー処理を行うという具合に、複数のデータセットのコピー処理を順次行うこととなるため、処理時間の短縮には限界がある。
【０００４】
一方で、複数のテープを用意し、各データセットの出力先となるテープを決めておく方法も考えられる。例えば、ＤＳ１、ＤＳ３の出力先をＴＡＰＥ１とし、ＤＳ２、ＤＳ４の出力先をＴＡＰＥ２とするといった方法である。このようにすれば、ＤＳ１のコピー処理とＤＳ２のコピー処理とを並行に行い、ＤＳ３のコピー処理とＤＳ４のコピー処理とを並行に行うことも可能となるので、上述した１本のテープを用いる場合に比べれば、処理時間は短縮される。
【０００５】
【特許文献１】特開２００１−２０９５０１号公報(第３、４頁、第１図)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＤＳ２のイメージコピーの処理に要する時間が、ＤＳ１、ＤＳ３のイメージコピーの処理に要する時間を合わせたものよりも長い場合、２本のテープを用いる方法でも、効率的な処理とはならないという問題点があった。即ち、ＤＳ１、ＤＳ３のバックアップが終了してＴＡＰＥ１が解放されているにもかかわらず、ＤＳ４のイメージコピー処理は開始されず、ＤＳ２の処理の終了を待っているという状況が生じていた。
【０００７】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、複数のデータセットを複数の出力媒体にバックアップするのに要する時間を短縮することにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、データセットのバックアップ処理を並行に行い、かつ、決められた本数のテープにスタックして記録することを実現した。このようなことが実現できなかったのは、１本のテープに複数のデータセットを並行にバックアップ処理し記録する制御の手順が確立されていなかったためである。本発明では、この点を工夫している。即ち、本発明のデータバックアップ装置は、バックアップ対象の複数のデータセットの中から順にデータセットを選択して一の出力先にバックアップする処理タスクを実行する処理タスク実行手段と、複数の処理タスクを、各処理タスクが最初に選択すべきデータセットと各処理タスクにおける一の出力先とを特定した上で起動する制御タスクを実行する制御タスク実行手段とを備えている。
【０００９】
また、本発明は、データセットのバックアップ処理を並行に行うデータバックアップ方法として捉えることもできる。その場合、本発明のデータバックアップ方法は、制御タスクが、複数の処理タスクを、各処理タスクが最初にバックアップすべき一のデータセットとそのバックアップの出力先とを特定した上で起動するステップと、起動された各処理タスクが、一のデータセットを、特定された出力先にバックアップするステップと、起動された各処理タスクが、一のデータセットのバックアップの終了後、他のデータセットを同じ出力先にバックアップするステップとを含んでいる。
【００１０】
更に、本発明は、データセットのバックアップ処理を並行に行うための制御タスクおよび処理タスクを実現するプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、バックアップ対象の複数のデータセットの中から順にデータセットを選択して一の出力先にバックアップする機能と、複数のバックアップする機能を、各機能が最初に選択すべきデータセットと各機能における一の出力先とを特定した上で動作させる機能とを実現させるものである。
【００１１】
更にまた、本発明は、データセットのバックアップ処理を並行に行うための制御タスクを実現するプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、複数の処理タスクを起動する機能と、起動された各処理タスクが、最初にバックアップすべき一のデータセットと、一のデータセットのバックアップの終了後にバックアップすべき他のデータセットとして選択可能なデータセットからなるデータセット群と、一のデータセットおよび他のデータセットのバックアップの出力先とを認識できるようにする機能とを実現させるものである。
【００１２】
また、本発明は、データセットのバックアップ処理を並行に行うための処理タスクを実現するプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、最初にバックアップすべき一のデータセットとそのバックアップの出力先とを特定する機能と、一のデータセットを、特定された出力先にバックアップし、そのバックアップの終了後、他のデータセットを同じ出力先にバックアップする機能とを実現させるものである。
【発明の効果】
【００１３】
本発明によれば、複数のデータセットを複数の出力媒体にバックアップするのに要する時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態におけるシステムに含まれる制御タスク、処理タスク、データセット、出力媒体の関係を示した図である。図１に示すように、本実施の形態は、制御タスク１０と、処理タスク２１〜２ｎと、データセット３１〜３ｎと、出力媒体４１〜４ｎとを含む。
【００１５】
制御タスク１０は、処理タスク２１〜２ｎが参照するタスクコントロールテーブル(以下、「ＴＣＴ」という)を生成して図示しないメモリに格納し、各処理タスクを起動するタスクである。各処理タスクの起動に当たっては、各処理タスクが最初に参照すべきＴＣＴのエントリの情報を受け渡す。
処理タスク２１〜２ｎは、それぞれ、データセット３１〜３ｎを読み込み、出力媒体４１〜４ｎに書き出すタスクである。尚、処理タスクの数ｎは、特定の決まった数ではなく、ユーザの指定により、如何なる値をもとりうる。
【００１６】
データセット３１〜３ｎは、ハードディスク等に記録されたデータの集まりであり、本実施の形態によるバックアップ処理の対象となるものである。データセット３１〜３ｎは、例えば、ＩＭＳ(Information Management System)に含まれるものであり、全てのデータセットを機能目的別にグループ化したものと捉えることもできる。尚、ここでは、便宜上、処理タスク２ｋ(ｋ＝１、２、…、ｎ)により処理されるデータセットをデータセット３ｋとして示しているが、あるデータセットがどの処理タスクにより処理されるかは動的に決定されるものであり、特定のデータセットが特定の処理タスクにより処理されることが予め決められていることを示しているのではない。
出力媒体４１〜４ｎは、データセット３１〜３ｎのバックアップ処理における出力先として用いられるものである。出力媒体４１〜４ｎとしては、例えば、磁気テープを用いることができる。尚、出力媒体４ｋ(ｋ＝１、２、…、ｎ)は、処理タスク２ｋに対して予め割り当てられたものであり、処理タスク２ｋは、出力媒体４ｋを用いてバックアップを行う。
【００１７】
尚、制御タスク１０、処理タスク２１〜２ｎを実行するコンピュータのハードウェア構成としては、一般的なコンピュータと同様のものを採用することができる。即ち、中央処理装置(ＣＰＵ)と、メインメモリとを含み、これらがバスを介して補助記憶装置と接続されたようなものであってよい。ここで、補助記憶装置としては、ハードディスク、フレキシブルディスク、ＭＯ(Magneto Optical disk)、ＣＤ−ＲＯＭ、磁気テープ等が想定される。
また、補助記憶装置には、制御タスク１０の機能を実現するコンピュータプログラムと、処理タスク２１〜２ｎの機能を実現するコンピュータプログラムとが記憶される。即ち、中央処理装置(ＣＰＵ)がこれらのコンピュータプログラムをメインメモリに読み込んで実行することにより、それぞれ、制御タスク１０の機能、処理タスク２１〜２ｎの機能を実現する。尚、処理タスク２１〜２ｎの機能を実現するコンピュータプログラムは、処理タスク２１〜２ｎのそれぞれについて用意するのではなく、処理タスク２１〜２ｎに対して１つのコンピュータプログラムのみを用意しておき、それをｎ回起動することにより、処理タスク２１〜２ｎとしての役割を担わせるようにする。また、処理タスク２１〜２ｎの機能を実現するコンピュータプログラムには、制御タスク１０の機能を実現するための記述が含まれていてもよい。
【００１８】
次に、本実施の形態の動作について詳細に説明する。
まず、図２を参照しながら、制御タスク１０の動作を説明する。
制御タスク１０は、処理タスク２１〜２ｎが参照するＴＣＴを生成し、各処理タスクが最初に参照すべきエントリの情報を伝えて各処理タスクを起動するものである。尚、ＴＣＴは、詳細は後述するが、バックアップ対象のデータセットについて、その識別情報と、そのデータセットを処理するタスクの識別情報と、そのデータセットのバックアップ処理における出力先の識別情報と、バックアップ対象のデータセットをバックアップ処理を行う順に並べた場合に最後のデータセットとなることを示す「Team Last」とを対応付けたテーブルである。
【００１９】
まず、制御タスク１０は、バックアップ対象のデータセットを特定し、その特定されたデータセットの識別情報(例えば、データセット名)をＴＣＴに書き込むことにより、データセットのエントリを作成する(ステップ１０１)。
次に、制御タスク１０は、起動する処理タスクの数(ｎとする)を取得する(ステップ１０２)。
そして、ＴＣＴ内のエントリのうち、先頭のｎ個のエントリに着目し、それらのエントリのそれぞれに対し、そのエントリに対するデータセットを処理する処理タスクの識別情報(例えば、タスクＩＤ)と、その処理タスクによるバックアップ処理の出力先の識別情報(例えば、出力先名)とを書き込む(ステップ１０３)。
また、最後のエントリの「Team Last」に「ＯＮ」をセットする(ステップ１０４)。
このようにしてＴＣＴを生成した後、処理タスク２１〜２ｎが最初に参照すべきＴＣＴのエントリを知らせた上で各処理タスクを起動する(ステップ１０５)。
【００２０】
次に、図３を参照しながら、処理タスク２１〜２ｎの動作を説明する。尚、処理タスク２１〜２ｎは、全て同様の処理ロジックで動作するので、ここでは、処理タスク２０の動作として説明する。
まず、処理タスク２０は、ＴＣＴ内のエントリのうち、制御タスク１０から知らされたエントリの情報を読み込む(ステップ２０１)。
次に、処理タスク２０は、その処理がこの処理タスク２０における最初の処理であるかどうかを判断する(ステップ２０２)。尚、最初の処理であることの判断は、例えば、ステップ２０１〜２０６のループをカウントするカウンタを設けておき、カウンタが初期値であることを確認することにより行うことができる。
ここで最初の処理であると判断されれば、そのエントリに対するデータセットを読み込んで出力先として示されるテープへイメージコピーする処理を行う(ステップ２０５)。また、この最初の処理において、処理タスク２０は、自身のタスクＩＤと、自身がバックアップ処理を行う際に用いる出力先とを認識することになる。
一方、最初の処理でないと判断されれば、次に、そのエントリに対するタスクＩＤが「ＮＵＬＬ」であるかどうかを判断する(ステップ２０３)。
【００２１】
タスクＩＤが「ＮＵＬＬ」でない場合はステップ２０６へ進むが、タスクＩＤが「ＮＵＬＬ」である場合は、そのエントリに対するデータセットはどの処理タスクの処理対象にもなっていないので、処理タスク２０がそのエントリに対するデータセットを処理することを決定する。即ち、そのエントリに対し、最初の処理で認識した自身のタスクＩＤと、同じく最初の処理で認識した出力先とを設定する(ステップ２０４)。そして、そのエントリに対するデータセットを読み込んで出力先として示されるテープへイメージコピーする処理を行う(ステップ２０５)。
最後に、処理タスク２０は、「Team Last」に「ＯＮ」がセットされているかどうかを判断する(ステップ２０６)。そして、「ＯＮ」がセットされていれば、処理を終了し、「ＯＮ」がセットされていなければ、ステップ２０１に戻って処理を続ける。
【００２２】
以下、本実施の形態の動作について、具体例を用いて説明する。
本具体例では、図４に示すような定義情報が予め記憶されているものとする。
図４(Ａ)は、制御タスク１０を起動する指示(ＪＣＬ)における記述の一例である。
「ＤＢＤＳＧＲＰ」は、バックアップ対象とするデータセットのグループを指定するための記述である。図４(Ａ)では、グループ「ＣＡＧ１」をバックアップ対象のデータセットのグループとして指定している。
【００２３】
また、「ＦＵＮＣ」は、バックアップ方法を指定するための記述である。「ＦＵＮＣ＝ＩＣ」と指定した場合は、従来通りの方法、つまり、バックアップ対象のデータセットを順次処理してバックアップを行う方法が採用され、「ＦＵＮＣ＝ＡＩＣ」と指定した場合は、本実施の形態による方法が採用される。
更に、「ＳＴＡＣＫ」は、バックアップ処理における出力先を指定するための記述である。出力先を明示的に指定する場合は、例えば、「ＳＴＡＣＫ＝ＳＴＫ１」のように記述し、本実施の形態のように、出力先の数のみを指定し、出力先を明示的に指定しない場合は、「ＳＴＡＣＫ＝＊」と記述する。
更にまた、「ＧＲＰＬＩＭ」は、起動する処理タスクの数(使用する出力媒体の数)を指定するための記述である。図４(Ａ)では、２つの処理タスクを起動することが指定されている。
【００２４】
また、図４(Ｂ)は、データセットのグループに如何なるデータセットが含まれているかを定義する記述の一例である。グループとは、アプリケーションプログラムやビジネスユニットや運用形態ごとに複数のＤＢを束ねたものであり、それら複数のＤＢのそれぞれの中に１または複数のデータセットが含まれる構成を採っているものとする。図４(Ｂ)では、「−ＤＢＤ−」の下に記述された「ＤＢＤ１」、「ＤＢＤ２」、「ＤＢＤ３」、「ＤＢＤ４」が、グループ「ＣＡＧ１」に含まれるＤＢ名を示しており、「−ＤＤＮ/ＡＲＥＡ−」の下に記述された「ＤＢＤＳ１」、「ＤＢＤＳ２」、「ＤＢＤＳ３」、「ＤＢＤＳ４」が、各ＤＢに対応するデータセット名を示している。
【００２５】
以上のような定義がなされていることを前提に、本実施の形態の動作を説明する。
まず、制御タスク１０は、図２の処理を実行し、図５(Ａ)に示すようなＴＣＴを生成する。即ち、制御タスク１０は、図４(Ａ)の定義情報における「ＤＢＤＳＧＲＰ」を参照してバックアップ対象がグループ「ＣＡＧ１」であることを認識した後、図４(Ｂ)の定義情報を参照してグループ「ＣＡＧ１」に含まれるデータセットが「ＤＢＤＳ１」、「ＤＢＤＳ２」、「ＤＢＤＳ３」、「ＤＢＤＳ４」であることを認識し、ステップ１０１で、データセット名としてこれらを書き込むことにより、ＴＣＴに４つのエントリを作成する。
【００２６】
次に、制御タスク１０は、ステップ１０２で、図４(Ａ)の定義情報における「ＧＲＰＬＩＭ」を参照することにより、起動すべき処理タスクの数が２であることを認識する。尚、ここでは、起動すべき２つの処理タスクを処理タスク１および処理タスク２とする。また、処理タスク１のタスクＩＤを「１」、処理タスク１が使用する出力先を「ＩＣＯＵＴ１」とし、処理タスク２のタスクＩＤを「２」、処理タスク２が使用する出力先を「ＩＣＯＵＴ２」とする。
更に、ステップ１０３で、ＴＣＴにおける先頭の２つのエントリに着目し、「ＤＢＤＳ１」に対し、タスクＩＤ「１」および出力先名「ＩＣＯＵＴ１」を、「ＤＢＤＳ２」に対して、タスクＩＤ「２」および出力先名「ＩＣＯＵＴ２」を書き込む。尚、この時点では、「ＤＢＤＳ３」、「ＤＢＤＳ４」に関しては、これらを扱う処理タスクおよび出力先が未定のため「ＮＵＬＬ」になっている。
【００２７】
また、制御タスク１０は、ステップ１０４で、「ＤＢＤＳ４」に対する「Team Last」に「ＯＮ」を設定する。
そして、ステップ１０５で、各処理タスクが最初に参照すべきＴＣＴ内のエントリの情報を知らせて処理タスク１および処理タスク２に制御を渡す。即ち、ＴＣＴの１番目のエントリを参照すべきことを知らせて処理タスク１をＡＴＴＡＣＨし、ＴＣＴの２番目のエントリを参照すべきことを知らせて処理タスク２をＡＴＴＡＣＨする。これにより、制御タスク１０は、処理タスク１および処理タスク２が終了するまでＷＡＩＴする。
【００２８】
これに応じ、処理タスク１、２は、それぞれ、図３に従った処理を行う。即ち、処理タスク１は、ステップ２０１でＴＣＴの１番目のエントリを読み、ステップ２０２で最初の処理だと判断されるので、ステップ２０５に進み、「ＤＢＤＳ１」のデータを読み込んで「ＩＣＯＵＴ１」に出力する処理を行う。また、処理タスク２は、ステップ２０１でＴＣＴの２番目のエントリを読み、ステップ２０２で最初の処理だと判断されるので、ステップ２０５に進み、「ＤＢＤＳ２」のデータを読み込んで「ＩＣＯＵＴ２」に出力する処理を行う。
即ち、図５(Ｂ)に示すように、処理タスク１、２が制御タスク１０にＡＴＴＡＣＨされ、処理タスク１が「ＤＢＤＳ１」を読み込んで「ＩＣＯＵＴ１」に出力し、処理タスク２が「ＤＢＤＳ２」を読み込んで「ＩＣＯＵＴ２」に出力する状態となる。
【００２９】
次に、処理タスク２が「ＤＢＤＳ２」のバックアップ処理を終了し、処理タスク１は「ＤＢＤＳ１」のバックアップ処理を継続中であるとする。この場合、処理タスク２は、次に処理すべきデータセットを探しに行く。次に処理すべきデータセットはタスクＩＤと出力先名が「ＮＵＬＬ」のものである。即ち、処理タスク２は、ステップ２０６で「ＤＢＤＳ２」に対する「Team Last」が「ＯＮ」でないと判断されるので、ステップ２０１に進み、「ＤＢＤＳ３」に対するエントリを読み込む。そして、ステップ２０２で最初の処理でないと判断されるので、ステップ２０３に進み、タスクＩＤが「ＮＵＬＬ」だと判断されるので、ステップ２０４に進み、図６(Ａ)に示すように、そのエントリにタスクＩＤ「２」および出力先名「ＩＣＯＵＴ２」を書き込み、ステップ２０５で、「ＤＢＤＳ３」のデータを読み込んで「ＩＣＯＵＴ２」に出力する処理を行う。
即ち、図６(Ｂ)に示すように、処理タスク１、２が制御タスク１０にＡＴＴＡＣＨされた状態のまま、処理タスク１が「ＤＢＤＳ１」を読み込んで「ＩＣＯＵＴ１」に出力し、処理タスク２が「ＤＢＤＳ３」を読み込んで「ＩＣＯＵＴ２」に出力する状態となる。
【００３０】
次に、処理タスク１が「ＤＢＤＳ１」のバックアップ処理を終了し、処理タスク２は「ＤＢＤＳ３」のバックアップ処理を継続中であるとする。この場合、処理タスク１は、次に処理すべきデータセットを探しに行く。次に処理すべきデータセットはタスクＩＤと出力先名が「ＮＵＬＬ」のものである。即ち、処理タスク１は、ステップ２０６で「ＤＢＤＳ１」に対する「Team Last」が「ＯＮ」でないと判断されるので、ステップ２０１に進み、「ＤＢＤＳ２」に対するエントリを読み込む。そして、ステップ２０２で最初の処理でないと判断されるので、ステップ２０３に進むが、タスクＩＤが「ＮＵＬＬ」でないと判断されるので、ステップ２０６に進む。次に、「ＤＢＤＳ２」に対する「Team Last」が「ＯＮ」でないと判断されるので、ステップ２０１に進み、「ＤＢＤＳ３」に対するエントリを読み込む。そして、ステップ２０２で最初の処理でないと判断されるので、ステップ２０３に進むが、タスクＩＤが「ＮＵＬＬ」でないと判断されるので、ステップ２０６に進む。次に、「ＤＢＤＳ３」に対する「Team Last」が「ＯＮ」でないと判断されるので、ステップ２０１に進み、「ＤＢＤＳ４」に対するエントリを読み込む。そして、ステップ２０２で最初の処理でないと判断されるので、ステップ２０３に進み、タスクＩＤが「ＮＵＬＬ」だと判断されるので、ステップ２０４に進み、図７(Ａ)に示すように、そのエントリにタスクＩＤ「１」および出力先名「ＩＣＯＵＴ１」を書き込み、ステップ２０５で、「ＤＢＤＳ４」のデータを読み込んで「ＩＣＯＵＴ１」に出力する処理を行う。
即ち、図７(Ｂ)に示すように、処理タスク１、２が制御タスク１０にＡＴＴＡＣＨされた状態のまま、処理タスク１が「ＤＢＤＳ４」を読み込んで「ＩＣＯＵＴ１」に出力し、処理タスク２が「ＤＢＤＳ３」を読み込んで「ＩＣＯＵＴ２」に出力する状態となる。
【００３１】
更に、処理タスク１が「ＤＢＤＳ４」のバックアップ処理を終了し、処理タスク２は「ＤＢＤＳ３」のバックアップ処理を継続中であるとする。この場合、処理タスク１は、次に処理すべきデータセットがないので、制御タスク１０に自分の終了処理を通知し、自分は処理を終えて消滅する。即ち、処理タスク１は、ステップ２０６で、「ＤＢＤＳ４」に対する「Team Last」が「ＯＮ」だと判断されるので、そのまま処理を終了する。
また、処理タスク２が「ＤＢＤＳ３」のバックアップ処理を終了したとする。この場合、処理タスク２は、次に処理すべきデータセットがないので、制御タスク１０に自分の終了処理を通知し、自分は処理を終えて消滅する。即ち、処理タスク２は、ステップ２０６で、「ＤＢＤＳ３」に対する「Team Last」が「ＯＮ」でないと判断されるので、ステップ２０１に進み、「ＤＢＤＳ４」に対するエントリを読み込む。そして、ステップ２０２で最初の処理でないと判断されるので、ステップ２０３に進むが、タスクＩＤが「ＮＵＬＬ」でないと判断されるので、ステップ２０６に進む。次に、「ＤＢＤＳ４」に対する「Team Last」が「ＯＮ」だと判断されるので、そのまま処理を終了する。
この時の様子は、図８(Ａ)に示すようなものとなる。即ち、処理タスク１、２は、自身の終了を「ＰＯＳＴ」により制御タスク１０に報告している。
【００３２】
更にまた、制御タスク１０は、全ての処理タスクの処理が終了したことを確認して、自分も終了処理をおこなう。即ち、図８(Ｂ)に示すように、各処理タスクのＤＥＴＡＣＨを行う。
尚、以上の処理により、出力先「ＩＣＯＵＴ１」には、「ＤＢＤＳ１」のバックアップ、「ＤＢＤＳ４」のバックアップがこの順に記録され、出力先「ＩＣＯＵＴ２」には、「ＤＢＤＳ２」のバックアップ、「ＤＢＤＳ３」のバックアップがこの順に記録されることになる。
以上により、本実施の形態の動作の説明を終了する。
【００３３】
このように、本実施の形態では、複数のデータセットを１つの出力媒体にバックアップする処理タスクを指定された数だけ起動し、各処理タスクがバックアップすべきデータセットを動的に決定するようにし、処理時間の短縮を図った。
例えば、上記具体例では、最初に「ＤＢＤＳ１」、「ＤＢＤＳ２」のバックアップを並行に処理し、それぞれの出力を「ＩＣＯＵＴ１」、「ＩＣＯＵＴ２」に記録する。その後、どちらか一方のバックアップが終了すると、「ＤＢＤＳ３」のバックアップ処理が開始するようにしている。
【００３４】
また、本実施の形態では、制御タスク１０が、全ての処理対象のデータセットの情報を持つＴＣＴを準備しておくようにした。そして、制御タスク１０は、指定された数の処理タスクを起動し、制御タスク１０から各処理タスクには、各処理タスクが最初に処理するデータセットのエントリと各処理タスクによる出力先の情報だけを渡すようにした。一方、各処理タスクが処理すべきデータセットは、最初に制御タスク１０により指定されたデータセットの処理が終わった後は、制御タスク１０が作成したＴＣＴを検索して、まだ処理の終わっていないデータセットの情報を見つけて決定するようにした。各処理タスクによる出力先は一意に決まっているので同一の処理タスクで処理されたデータセットの出力先は同じテープとなり、そこにスタックされていくことになる。このような処理を未処理のデータセットがなくなるまで繰り返すこととした。
【００３５】
尚、並行に実行される処理タスクを制御する方法としては、データセットをバックアップする処理の都度、制御タスクが各処理タスクに情報を渡すというものも考えられる。この場合、制御タスクは、各処理タスクを監視しながら処理を進めることになる。即ち、制御タスクは、タイマーで時間制御をしながら各処理タスクの終了を待ち、１つの処理が終わると次のデータセットの情報を渡してまた監視モードに入る。このような処理を行う場合、次のような問題点がある。
第一に、制御タスクは、処理タスクの監視をしている間、完全にＷＡＩＴするのではなく、一定時間間隔で監視のための処理を動作させるので、処理時間がかかるという問題点である。
第二に、制御タスクと処理タスクとの間のパラメータやコントロールの受け渡しのための処理時間がかかり、１つのデータセットに対する処理から次のデータセットに対する処理に移るのに時間がかかるという問題点である。
第三に、どの処理タスクがどのデータセットをどの出力先に書き出したかの制御が煩雑になるという問題点である。
【００３６】
これに対し、本実施の形態で採用した制御方法によれば、上記の問題点は次のように解決される。
即ち、制御タスクは、処理タスクを起動した後は、全てのデータセットの処理が終わるまでは完全にＷＡＩＴとなるので、その間の制御タスクによる処理時間がなくなる。
また、一度起動された処理タスクは、１つのデータセットの処理が終わると、すぐに自分が処理すべき次のデータセットを探すため、１つのデータセットの処理から次のデータセットの処理に移るのに要する時間が短縮される。
１つの処理タスクの出力先は一箇所なので、処理するデータセットと出力先の関係が簡単に制御できるため、インストラクションが簡潔化される。
以上のように、本実施の形態の制御方法を採用することにより、バックアップ処理の時間の短縮、ＣＰＵタイムの削減を実現できた。
【００３７】
また、本実施の形態では、指定された数の処理タスクを起動し、どのデータセットをどのテープにスタックして格納するかを各処理タスクが自動決定するため、簡単な指定によって複数のデータセットを並列に処理し指定本数のテープにスタックして記録することが可能である。例えば、上記具体例では、「ＧＲＰＬＩＭ＝２」を指定することにより、出力先を２本のテープに設定している。
しかも、処理時間が最短になるようコピー先のテープを割り振られ、処理タスクをＲｅｕｓｅすることで処理時間とストレージを抑えるという利点もある。
【００３８】
尚、本実施の形態では、データセット名とタスクＩＤと出力先名と「Team Last」とを対応付けたＴＣＴを用いたが、ＴＣＴの構成はこれに限定されるものではない。各処理タスクが、最初にバックアップすべきデータセットとそのバックアップの出力先とを特定できれば、タスクＩＤは必ずしも設けなくてもよい。また、各処理タスクは、バックアップすべきデータセットを決定した場合、タスクＩＤ、出力先名を書き込むことにより、そのデータセットが他の処理タスクによって選択されないようにしているが、タスクＩＤや出力先名とは別に、各データセットをバックアップする処理タスクが決定済みかどうかを示す情報を記憶するようにしてもよい。更に、「Team Last」は、ＴＣＴの最後のエントリを知るための別途の手段を確保することができれば、設けないようにしてもよい。
【図面の簡単な説明】
【００３９】
【図１】本実施の形態の全体構成を示した図である。
【図２】本実施の形態における制御タスクの動作を示すフローチャートである。
【図３】本実施の形態における処理タスクの動作を示すフローチャートである。
【図４】本実施の形態で用いられる定義情報を説明するための図である。
【図５】本実施の形態におけるＴＣＴの内容およびバックアップの様子を説明するための図である。
【図６】本実施の形態におけるＴＣＴの内容およびバックアップの様子を説明するための図である。
【図７】本実施の形態におけるＴＣＴの内容およびバックアップの様子を説明するための図である。
【図８】本実施の形態におけるバックアップ処理の終了時の様子を説明するための図である。
【符号の説明】
【００４０】
１０…制御タスク、２１〜２ｎ…処理タスク、３１〜３ｎ…データセット、４１〜４ｎ…出力媒体
【図１】
2005165542.tif 000003
【図２】
2005165542.tif 000004
【図３】
2005165542.tif 000005
【図４】
2005165542.tif 000006
【図５】
2005165542.tif 000007
【図６】
2005165542.tif 000008
【図７】
2005165542.tif 000009
【図８】
2005165542.tif 000010