(57)【特許請求の範囲】
【請求項１】
磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および前記一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと前記二次記憶装置から前記一次記憶装置への前記ファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を記憶する仮想テープ定義情報記憶部と、
前記退避ＪＣＬを生成するための雛形である退避ＪＣＬ雛形と前記復元ＪＣＬを生成するための雛形である復元ＪＣＬ雛形を記憶するＪＣＬ雛形記憶部と、
ホストコンピュータの磁気テープ使用ジョブから前記磁気テープ媒体へのファイルの割り当て要求があったときに、前記仮想テープ定義情報を参照し前記ファイルの割当先を前記磁気テープ媒体から前記一次記憶装置に変換する割り当て先変換手段と、
前記磁気テープ使用ジョブから前記ファイルの解放要求があったときに、前記テープ使用ジョブに記述されたファイル割り当て情報と前記退避ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記退避ＪＣＬを生成し、前記磁気テープ使用ジョブから前記ファイルの入力オープン要求があったときに、前記ファイル割り当て情報と前記復元ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記復元ＪＣＬを生成する退避／復元ＪＣＬ生成手段と、
前記退避ＪＣＬに基づいて前記ファイルの退避を実行し、前記復元ＪＣＬに基づいて前記ファイルの復元を実行するテープ仮想化制御手段とを備えたことを特徴としたテープ仮想化システム。
【請求項２】
前記ＪＣＬ雛形記憶部には、複数の前記退避ＪＣＬ雛形と複数の前記復元ＪＣＬ雛形が記憶され、
前記仮想テープ定義情報には、前記磁気テープ媒体毎に使用する前記退避ＪＣＬ雛形と前記復元ＪＣＬ雛形を特定する情報が含まれていることを特徴とした請求項１に記載のテープ仮想化システム。
【請求項３】
前記仮想テープ定義情報には、前記磁気テープ媒体毎に前記退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、
前記テープ仮想化制御手段は、前記磁気テープ媒体毎に指定された前記退避規則に従って前記退避ＪＣＬを実行することを特徴とした請求項１または請求項２に記載のテープ仮想化システム。
【請求項４】
前記退避規則は、前記一次記憶装置の使用記憶容量が所定の閾値を越えたときに前記退避ＪＣＬを実行するものであることを特徴とした請求項３に記載のテープ仮想化システム。
【請求項５】
前記退避規則は、所定の時刻に前記退避ＪＣＬを実行するものであることを特徴とした請求項３に記載のテープ仮想化システム。
【請求項６】
磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および前記一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと前記二次記憶装置から前記一次記憶装置への前記ファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を予め記憶装置に記憶する記憶工程と、
ホストコンピュータの磁気テープ使用ジョブから前記磁気テープ媒体への前記ファイルの割り当て要求があったときに、前記仮想テープ定義情報を参照し前記ファイルの割当先を前記磁気テープ媒体から前記一次記憶装置に変換する割り当て先変換工程と、
前記磁気テープ使用ジョブから前記ファイルの解放要求があったときに、前記テープ使用ジョブに記述されたファイル割り当て情報と前記退避ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記退避ＪＣＬを生成し、前記磁気テープ使用ジョブから前記ファイルの入力オープン要求があったときに、前記ファイル割り当て情報と前記復元ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記復元ＪＣＬを生成する退避／復元ＪＣＬ生成工程と、
前記退避ＪＣＬに基づいて前記ファイルの退避を実行し、前記復元ＪＣＬに基づいて前記ファイルの復元を実行するテープ仮想化制御工程とを備えたことを特徴としたテープ仮想化方法。
【請求項７】
前記記憶工程では、複数の前記退避ＪＣＬと複数の前記復元ＪＣＬを前記記憶装置に記憶し、
前記仮想テープ定義情報には、前記磁気テープ媒体毎に使用する前記退避ＪＣＬ雛形と前記復元ＪＣＬ雛形を特定する情報が含まれていることを特徴とした請求項６に記載のテープ仮想化方法。
【請求項８】
前記仮想テープ定義情報には、前記磁気テープ媒体毎に前記退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、
前記テープ仮想化制御工程では、前記磁気テープ媒体毎に指定された前記退避規則に従って前記退避ＪＣＬを実行することを特徴とした請求項６または請求項７のいずれかひとつに記載のテープ仮想化方法。
【請求項９】
前記退避規則は、前記一次記憶装置の使用記憶容量が所定の閾値を越えたときに前記退避ＪＣＬを実行するものであることを特徴とした請求項８に記載のテープ仮想化方法。
【請求項１０】
前記退避規則は、所定の時刻に前記退避ＪＣＬを実行するものであることを特徴とした請求項８に記載のテープ仮想化方法。
【請求項１１】
コンピュータに、
磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および前記一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと前記二次記憶装置から前記一次記憶装置への前記ファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を予め記憶装置に記憶する記憶機能と、
ホストコンピュータの磁気テープ使用ジョブから前記磁気テープ媒体への前記ファイルの割り当て要求があったときに、前記仮想テープ定義情報を参照し前記ファイルの割当先を前記磁気テープ媒体から前記一次記憶装置に変換する割り当て先変換機能と、
前記磁気テープ使用ジョブから前記ファイルの解放要求があったときに、前記テープ使用ジョブに記述されたファイル割り当て情報と前記退避ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記退避ＪＣＬを生成し、前記磁気テープ使用ジョブから前記ファイルの入力オープン要求があったときに、前記ファイル割り当て情報と前記復元ＪＣＬ雛形と前記ＪＣＬ生成規則に基づいて前記復元ＪＣＬを生成する退避／復元ＪＣＬ生成機能と、
前記退避ＪＣＬに基づいて前記ファイルの退避を実行し、前記復元ＪＣＬに基づいて前記ファイルの復元を実行するテープ仮想化制御機能とを実行させることを特徴としたテープ仮想化プログラム。
【請求項１２】
前記記憶機能は、複数の前記退避ＪＣＬと複数の前記復元ＪＣＬを前記記憶装置に記憶するものであり、
前記仮想テープ定義情報には、前記磁気テープ媒体毎に使用する前記退避ＪＣＬ雛形と前記復元ＪＣＬ雛形を特定する情報が含まれていることを特徴とした請求項１１に記載のテープ仮想化プログラム。
【請求項１３】
前記仮想テープ定義情報には、前記磁気テープ媒体毎に前記退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、
前記テープ仮想化制御機能は、前記磁気テープ媒体毎に指定された前記退避規則に従って前記退避ＪＣＬを実行するものであることを特徴とした請求項１１または請求項１２に記載のテープ仮想化プログラム。
【請求項１４】
前記退避規則は、前記一次記憶装置の使用記憶容量が所定の閾値を越えたときに前記退避ＪＣＬを実行するものであることを特徴とした請求項１３に記載のテープ仮想化プログラム。
【請求項１５】
前記退避規則は、所定の時刻に前記退避ＪＣＬを実行するものであることを特徴とした請求項１３に記載のテープ仮想化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテープ仮想化システム、テープ仮想化方法およびテープ仮想化プログラムに関し、特に既存の磁気テープ使用ジョブに使用していたＪＣＬを変更することなく、磁気テープ代替機能を使用可能とするテープ仮想化システム、テープ仮想化方法およびテープ仮想化プログラムに関する。
【背景技術】
【０００２】
従来の仮想テープ装置の一例が、特許文献１に記載されている。
従来の仮想テープ装置は、磁気テープ装置と同じ入出力インタフェースを持ち、仮想テープ装置への入出力を変換することで、磁気テープの代わりに磁気ディスクなどの他種の記憶装置にファイルを格納するように実現している。
また、上記記憶装置を一次記憶装置として、さらに別の記憶装置（これを二次記憶装置と呼ぶ）にファイルを移動することを可能としているものもある。
二次記憶装置には、外部保管に利用可能なテープ装置や、低速であるが大容量で安価な磁気ディスク装置などさまざまなものが使用されている。
また、特許文献１に記載の発明では、ユーザの指定などに基づいて、上記一次（または二次）記憶装置を複数の種類の記憶装置から選択して利用できるようにしている。
【０００３】
【特許文献１】特開２００５−９９９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の仮想テープ装置には、以下の２つの問題があった。
第１の問題点は、仮想テープを実現する専用装置が必要となり、使用できる一次記憶装置や二次記憶装置が仮想テープ装置に接続できる（組み込まれている）ものに限られてしまうということである。また、より多くの種類の記憶装置が使用できるような仮想テープ装置を実現したとしても、高額なものになってしまうという問題があった。
【０００５】
第２の問題点は、仮想テープ装置は、仮想テープ装置に接続された（組み込まれた）記憶装置でファイルの移動を行うため、ＦＴＰ（File Transfer Protocol）などのホストコンピュータ内のソフトウェアで実現した機能や仮想テープ装置と独立した外部記憶装置を利用できないという問題があった。
また、上記のような仮想テープ装置を利用せずに、ＦＴＰなどのホストコンピュータが持つ機能やホストコンピュータに接続された他の外部記憶装置を利用したい場合は、従来磁気テープを利用していたジョブを、ＦＴＰなどの機能や他の外部記憶装置を利用するジョブに変更する必要があった。しかし、ユーザのＪＣＬ資産は膨大であり、ＪＣＬの変更にはコストがかかるため、全てのＪＣＬを別装置や別機能を使用するように変更することが困難であるという問題があった。
なお、本明細書では、ＪＣＬとはジョブ制御言語（Job Control Language）で記述されたジョブ記述を指し、ジョブとはこのジョブ記述に従って順に実行されるプログラム群を指す。
【０００６】
本発明の目的は、既存の磁気テープ使用ジョブのＪＣＬを変更することなく、用途や目的に応じてホストコンピュータの持つ磁気テープ代替機能や代替記憶装置を利用可能とするテープ仮想化システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の、テープ仮想化システムは、磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと二次記憶装置から一次記憶装置へのファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を記憶する仮想テープ定義情報記憶部と、退避ＪＣＬを生成するための雛形である退避ＪＣＬ雛形と復元ＪＣＬを生成するための雛形である復元ＪＣＬ雛形を記憶するＪＣＬ雛形記憶部と、ホストコンピュータの磁気テープ使用ジョブから磁気テープ媒体へのファイルの割り当て要求があったときに、仮想テープ定義情報を参照しファイルの割当先を磁気テープ媒体から一次記憶装置に変換する割り当て先変換手段と、磁気テープ使用ジョブからファイルの解放要求があったときに、テープ使用ジョブに記述されたファイル割り当て情報と退避ＪＣＬ雛形とＪＣＬ生成規則に基づいて退避ＪＣＬを生成し、磁気テープ使用ジョブからファイルの入力オープン要求があったときに、ファイル割り当て情報と復元ＪＣＬ雛形とＪＣＬ生成規則に基づいて復元ＪＣＬを生成する退避／復元ＪＣＬ生成手段と、退避ＪＣＬに基づいてファイルの退避を実行し、復元ＪＣＬに基づいてファイルの復元を実行するテープ仮想化制御手段とを備えている（請求項１から請求項５）。
【０００８】
上記テープ仮想化システムによれば、磁気テープ媒体へのファイル割り当て要求があったときに、割り当て先変換手段が、仮想テープ定義情報に従って、ファイルの割り当て先を磁気テープ使用ジョブで指定された磁気テープ媒体から磁気ディスク等の一次記憶装置へ変換する。
一次記憶装置へのデータ出力完了後に、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と退避ＪＣＬ雛形とにより、一次記憶装置から二次記憶装置へファイルを退避するためのＪＣＬが生成および実行される。また、一次記憶装置の入力に先立って、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と復元ＪＣＬ雛形とにより、二次記憶装置から一次記憶装置にファイルを復元するためのＪＣＬが生成および実行される。
そのため、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ磁気テープ代替機能や記憶装置を利用できる。
また、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく二次記憶装置を利用することができる。
【０００９】
上記テープ仮想化システムにおいて、ＪＣＬ雛形記憶部には、複数の退避ＪＣＬ雛形と複数の復元ＪＣＬ雛形が記憶され、仮想テープ定義情報には、磁気テープ媒体毎に使用する退避ＪＣＬ雛形と復元ＪＣＬ雛形を特定する情報が含まれているようにしてもよい（請求項２）。
このようにすれば、仮想テープ定義情報に、磁気テープ使用ジョブにより指定された磁気テープ媒体名に応じて異なるＪＣＬ雛形を使用するように設定し、磁気テープ媒体名に応じて、異なる退避ジョブおよび復元ジョブを実行できる。
そのため、磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ複数の磁気テープ代替機能や記憶装置から任意のものを選択して利用することができる。
【００１０】
上記テープ仮想化システムにおいて、仮想テープ定義情報には、磁気テープ媒体毎に退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、テープ仮想化制御手段は、磁気テープ媒体毎に指定された退避規則にしたがって退避ＪＣＬを実行するようにしてもよい（請求項３）。
このようにすれば、仮想テープ定義情報に、磁気テープ毎に一次記憶装置から二次記憶装置へのファイル退避タイミングを退避規則として記述しておき、二次記憶装置への退避を待たずに一次記憶装置へのデータ出力が完了した時点で磁気テープ使用ジョブを終了することができる。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。
【００１１】
上記テープ仮想化システムにおいて、退避規則は、一次記憶装置の使用記憶容量が所定の閾値を越えたときに退避ＪＣＬを実行するものとしてもよい（請求項４）。
このようにすれば、テープ仮想化制御手段は、ファイル解放要求があってもすぐには退避ジョブを実行せずに、一次記憶装置の使用記憶容量が閾値を越えたときに実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避回数を減らし、システムの負荷を減らすことができる。
【００１２】
上記テープ仮想化システムにおいて、退避規則は、所定の時刻に退避ＪＣＬを実行するものとしてもよい（請求項５）。
このようにすれば、テープ仮想化制御手段は、ファイル解放要求があってもすぐには退避ジョブを実行せずに、退避規則で指定された時刻に実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避をシステムの負荷の低い時間帯に実行することができる。
【００１３】
本発明の、テープ仮想化方法は、磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと二次記憶装置から一次記憶装置へのファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を予め記憶装置に記憶する記憶工程と、ホストコンピュータの磁気テープ使用ジョブから磁気テープ媒体へのファイルの割り当て要求があったときに、仮想テープ定義情報を参照しファイルの割当先を磁気テープ媒体から一次記憶装置に変換する割り当て先変換工程と、磁気テープ使用ジョブからファイルの解放要求があったときに、テープ使用ジョブに記述されたファイル割り当て情報と退避ＪＣＬ雛形とＪＣＬ生成規則に基づいて退避ＪＣＬを生成し、磁気テープ使用ジョブからファイルの入力オープン要求があったときに、ファイル割り当て情報と復元ＪＣＬ雛形とＪＣＬ生成規則に基づいて復元ＪＣＬを生成する退避／復元ＪＣＬ生成工程と、退避ＪＣＬに基づいてファイルの退避を実行し、復元ＪＣＬに基づいてファイルの復元を実行するテープ仮想化制御工程とを備えている（請求項６から請求項１０）。
【００１４】
上記テープ仮想化方法によれば、割り当て先変換工程では、磁気テープ媒体へのファイル割り当て要求があったときに、仮想テープ定義情報に従って、ファイルの割り当て先を磁気テープ使用ジョブで指定された磁気テープ媒体から磁気ディスク等の一次記憶装置へ変換する。
一次記憶装置へのデータ出力完了後に、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と退避ＪＣＬ雛形とにより、一次記憶装置から二次記憶装置へファイルを退避するためのＪＣＬが生成および実行される。また、一次記憶装置の入力に先立って、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と復元ＪＣＬ雛形とにより、二次記憶装置から一次記憶装置にファイルを復元するためのＪＣＬが生成および実行される。
そのため、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ磁気テープ代替機能や記憶装置を利用できる。
また、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく二次記憶装置を利用することができる。
【００１５】
上記テープ仮想化方法において、記憶工程では、複数の退避ＪＣＬと複数の復元ＪＣＬを記憶装置に記憶し、仮想テープ定義情報には、磁気テープ毎に使用する退避ＪＣＬ雛形と復元ＪＣＬ雛形を特定する情報が含まれるようにしても良い（請求項７）。
このようにすれば、仮想テープ定義情報に、磁気テープ使用ジョブにより指定された磁気テープ媒体名に応じて異なるＪＣＬ雛形を使用するように設定し、磁気テープ媒体名に応じて、異なる退避ジョブおよび復元ジョブを実行できる。
そのため、磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ複数の磁気テープ代替機能や記憶装置から任意のものを選択して利用することができる。
【００１６】
上記テープ仮想化方法において、仮想テープ定義情報には、退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、テープ仮想化制御工程では、退避規則にしたがって退避ＪＣＬを実行するようにしても良い（請求項８）。
このようにすれば、仮想テープ定義情報に、磁気テープ毎に一次記憶装置から二次記憶装置へのファイル退避タイミングを退避規則として記述しておき、二次記憶装置への退避を待たずに一次記憶装置へのデータ出力が完了した時点で磁気テープ使用ジョブを終了することができる。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。
【００１７】
上記テープ仮想化方法において、退避規則は、一次記憶装置の使用記憶容量が所定の閾値を越えたときに退避ＪＣＬを実行するものとしても良い（請求項９）。
このようにすれば、テープ仮想化制御工程では、ファイル解放要求があってもすぐには退避ジョブを実行せずに、一次記憶装置の使用記憶容量が閾値を越えたときに実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避回数を減らし、システムの負荷を減らすことができる。
【００１８】
上記テープ仮想化方法において、退避規則は、所定の時刻に退避ＪＣＬを実行するものとしても良い（請求項１０）。
このようにすれば、テープ仮想化制御工程では、ファイル解放要求があってもすぐには退避ジョブを実行せずに、退避規則で指定された時刻に実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避をシステムの負荷の低い時間帯に実行することができる。
【００１９】
本発明の、テープ仮想化プログラムは、コンピュータに、磁気テープ媒体名、この磁気テープ媒体名と一次記憶装置を対応付ける規則である割り当て先変更規則および一次記憶装置から二次記憶装置へのファイルの退避を制御する退避ＪＣＬと二次記憶装置から一次記憶装置へのファイルの復元を制御する復元ＪＣＬを生成する規則であるＪＣＬ生成規則を含む仮想テープ定義情報を予め記憶装置に記憶する記憶機能と、ホストコンピュータの磁気テープ使用ジョブから磁気テープ媒体へのファイルの割り当て要求があったときに、仮想テープ定義情報を参照しファイルの割当先を磁気テープ媒体から一次記憶装置に変換する割り当て先変換機能と、磁気テープ使用ジョブからファイルの解放要求があったときに、テープ使用ジョブに記述されたファイル割り当て情報と退避ＪＣＬ雛形とＪＣＬ生成規則に基づいて退避ＪＣＬを生成し、磁気テープ使用ジョブからファイルの入力オープン要求があったときに、ファイル割り当て情報と復元ＪＣＬ雛形とＪＣＬ生成規則に基づいて復元ＪＣＬを生成する退避／復元ＪＣＬ生成機能と、退避ＪＣＬに基づいてファイルの退避を実行し、復元ＪＣＬに基づいてファイルの復元を実行するテープ仮想化制御機能とを実行させる（請求項１１から請求項１５）。
【００２０】
上記テープ仮想化プログラムによれば、割り当て先変換機能は、磁気テープ媒体へのファイル割り当て要求があったときに、仮想テープ定義情報に従って、ファイルの割り当て先を磁気テープ使用ジョブで指定された磁気テープ媒体から磁気ディスク等の一次記憶装置へ変換する。
一次記憶装置へのデータ出力完了後に、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と退避ＪＣＬ雛形とにより、一次記憶装置から二次記憶装置へファイルを退避するためのＪＣＬが生成および実行される。また、一次記憶装置の入力に先立って、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と復元ＪＣＬ雛形とにより、二次記憶装置から一次記憶装置にファイルを復元するためのＪＣＬが生成および実行される。
そのため、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ磁気テープ代替機能や記憶装置を利用できる。
また、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく二次記憶装置を利用することができる。
【００２１】
上記テープ仮想化プログラムにおいて、記憶機能を、複数の前記退避ＪＣＬと複数の前記復元ＪＣＬを前記記憶装置に記憶するものとし、仮想テープ定義情報には、磁気テープ媒体毎に使用する退避ＪＣＬ雛形と復元ＪＣＬ雛形を特定する情報が含まれるようにしても良い（請求項１２）。
このようにすれば、仮想テープ定義情報に、磁気テープ使用ジョブにより指定された磁気テープ媒体名に応じて異なるＪＣＬ雛形を使用するように設定し、磁気テープ媒体名に応じて、異なる退避ジョブおよび復元ジョブを実行できる。
そのため、磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ複数の磁気テープ代替機能や記憶装置から任意のものを選択して利用することができる。
【００２２】
上記テープ仮想化プログラムにおいて、仮想テープ定義情報には、磁気テープ媒体毎に退避ＪＣＬの実行の契機となる条件である退避規則が含まれ、テープ仮想化制御機能は、磁気テープ媒体毎に指定された退避規則にしたがって退避ＪＣＬを実行するものとしても良い（請求項１３）。
このようにすれば、仮想テープ定義情報に、磁気テープ毎に一次記憶装置から二次記憶装置へのファイル退避タイミングを退避規則として記述しておき、二次記憶装置への退避を待たずに一次記憶装置へのデータ出力が完了した時点で磁気テープ使用ジョブを終了することができる。
【００２３】
上記テープ仮想化プログラムにおいて、退避規則は、一次記憶装置の使用記憶容量が所定の閾値を越えたときに退避ＪＣＬを実行するものとしても良い（請求項１４）。
このようにすれば、テープ仮想化制御機能は、ファイル解放要求があってもすぐには退避ジョブを実行せずに、一次記憶装置の使用記憶容量が閾値を越えたときに実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避回数を減らし、システムの負荷を減らすことができる。
【００２４】
上記テープ仮想化プログラムにおいて、退避規則は、所定の時刻に退避ＪＣＬを実行するものとしても良い（請求項１５）。
このようにすれば、テープ仮想化制御機能では、ファイル解放要求があってもすぐには退避ジョブを実行せずに、退避規則で指定された時刻に実行する。
そのため、磁気テープ使用ジョブの実行時間を短縮することができる。また、一次記憶装置から二次記憶装置への退避をシステムの負荷の低い時間帯に実行することができる。  
【発明の効果】
【００２５】
本発明によれば、磁気テープ媒体のファイル割り当て要求があったときに、仮想テープ定義情報に従って、ファイルの割り当て先を磁気テープ使用ジョブで指定された磁気テープ媒体から磁気ディスク等の一次記憶装置へ変換する。
一次記憶装置へのデータ出力完了後に、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則にと退避ＪＣＬ雛形とにより、一次記憶装置から二次記憶装置へファイルを退避するためのＪＣＬが生成および実行される。また、一次記憶装置の入力に先立って、ファイル割り当て情報と仮想テープ定義情報に定義したＪＣＬ生成規則と復元ＪＣＬ雛形とにより、二次記憶装置から一次記憶装置にファイルを復元するためのＪＣＬが生成および実行される。
そのため、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ磁気テープ代替機能や記憶装置を利用できる。
また、ホストコンピュータは、磁気テープ使用ジョブを記述した磁気テープ使用ＪＣＬを変更することなく二次記憶装置を利用することができる。
【発明を実施するための最良の形態】
【００２６】
図を参照しながら本発明の第１の実施形態であるテープ仮想化システム１の構成と動作について説明する。
図１は、テープ仮想化システム１の機能ブロック図である。
テープ仮想化システム１は、ファイルの割り当て／解放、ファイルのオープン／クローズ、データ入出力の機能を有するファイル管理１２と、ファイルの割り当て先を磁気テープから磁気ディスク等の一次記憶装置へ変換する割り当て先変換手段１３と、一次記憶装置と二次記憶装置間でファイルの退避／復元を行うＪＣＬを生成する退避／復元ＪＣＬ生成手段１４と、ファイル管理１２からの要求による退避／復元ＪＣＬの生成、生成したＪＣＬの実行、および、ジョブの実行結果の応答などを制御するテープ仮想化制御手段１５とを備えている。これらの各手段は、テープ仮想システム１の図示しないＣＰＵがテープ仮想化プログラムを実行しテープ仮想化システム１のハードウェアを制御することにより実現される。
また、テープ仮想化システム１は、ＲＡＭ(Random Access Memory)等の記憶装置により構成されるＪＣＬ雛形記憶部２６に、退避ＪＣＬ生成時の入力となる退避ＪＣＬ雛形１８と、復元ＪＣＬ生成時の入力となる復元ＪＣＬ雛形１９とを、ＲＡＭ等の記憶装置により構成される仮想テープ定義情報記憶部２７に、仮想テープ定義情報２４を記憶している。
【００２７】
例えば、一次記憶装置１６は、テープ仮想化システム１に接続され、ハードディスク装置等の磁気テープ媒体以外の記憶媒体に対して情報の書き込みと読み出しを行う記憶装置とすることができる。つまり、一次記憶装置１６から見るとテープ仮想化システム１がホストコンピュータとなる。
例えば、二次記憶装置１７は、テープ仮想化システム１あるいは他のホストコンピュータに接続され、ＬＴＯ（Linear Tape-Open）装置等の一次記憶装置とは異なる種類の記憶媒体に対して情報の書き込みと読み出しを行う記憶装置とすることができる。
二次記憶装置１７がテープ仮想化システム１に接続されている場合は、たとえば、日中は一次記憶装置１６を利用して処理を高速化し、夜間に一次記憶装置１６から二次記憶装置１７にファイルを退避する。
二次記憶装置１７が他のホストコンピュータに接続されている場合は、テープ仮想化システム１と他のコンピュータを、例えばＬＡＮ(Local Area Network)やＳＡＮ（Storage Area Network）を介して接続し、例えば、テープ仮想化システム１が実行するＦＴＰクライアントソフトウェアにより一時記憶装置１６と二次記憶装置１７との間でファイル転送が可能に構成する。
【００２８】
磁気テープ使用ジョブ１１は、磁気テープファイルの割り当て、ファイルのオープン、データの入出力、ファイルのクローズ、ファイルの解放という流れで、ファイル管理１２の機能を呼び出す。
ファイル管理１２は、磁気テープ使用ジョブからの要求に応じてファイルの割り当て／解放、ファイルのオープン／クローズ、データの入出力を行う機能を提供する。このような機能を持つものは、従来から用いられており、ホストコンピュータによってはファイルシステムやデータ管理と呼ばれることもある。
テープ仮想化システム１では、ファイル管理１２は上記の機能に加えて、さらに以下の処理を行う。
磁気テープファイルの割り当て要求を受けると、割り当て先変換手段１３に割り当て先の変換を要求し、変換後の割り当て先に対して、ファイルの割り当てを行う。
ファイル出力後のファイル解放要求を受けると、テープ仮想化制御手段１５にファイルの退避を要求し、ファイル退避の完了を待って、ファイルを解放する。
ファイルの入力オープン要求を受けると、テープ仮想化制御手段１５にファイルの復元を要求し、ファイル復元の完了を待って、ファイルをオープンする。
【００２９】
割り当て先変換手段１３は、ファイル管理１２から割り当て先の変換要求を受けると、磁気テープ使用ジョブ１１の磁気テープファイル割り当て情報と、仮想テープ定義情報２４に設定された割り当て先変更規則に従って、ファイルの割り当て先を磁気テープから磁気ディスクすなわち、一次記憶装置１６へ変換する。
なお、従来磁気テープ媒体上に格納されるファイルは順編成ファイルと呼ばれ、出力時はファイルの先頭から順にデータを書き込み、入力時はファイルの先頭から順にデータを読み込むという特徴のファイルであり、ファイルのオープン、データの出力または入力、ファイルのクローズは、磁気ディスク上の順編成ファイルと同じアプリケーションプログラムインタフェースを利用できるため、磁気テープ使用ジョブのプログラムやＪＣＬを修正する必要はない。また、磁気テープファイルの解放処理については、割り当て時に指定したファイル識別子（内部ファイル名、ＦＤとも呼ぶ）を指定して解放するため、解放対象が磁気テープファイルから磁気ディスクファイルへ変わってもプログラムやＪＣＬを修正する必要はない。
【００３０】
テープ仮想化制御手段１５は、ファイル管理１２からファイルの退避要求を受けると、退避／復元ＪＣＬ生成手段１４に退避ＪＣＬの生成を要求し、その結果生成された退避ＪＣＬ２０を使って、退避ジョブ２２を実行する。その結果、一次記憶装置１６から二次記憶装置１７へファイルが退避される。
また、ファイルの復元要求を受けると、退避／復元ＪＣＬ生成手段１４に復元ＪＣＬの生成を要求し、その結果生成された復元ＪＣＬ２１を使って、復元ジョブ２３を実行する。その結果、二次記憶装置１７から一次記憶装置１６へファイルが復元される。
【００３１】
退避／復元ＪＣＬ生成手段１４は、テープ仮想化制御手段１５から退避ＪＣＬの生成要求を受けると、磁気テープ使用ジョブ１１の磁気テープ割り当て情報と、仮想テープ定義情報２４に設定されたＪＣＬ生成規則に従って、退避ＪＣＬ雛形１８を元に、一次記憶装置１６から二次記憶装置１７へファイルを退避するための退避ＪＣＬ２０を生成する。
また、復元ＪＣＬの生成要求を受けると、磁気テープ使用ジョブ１１の磁気テープ割り当て情報と、仮想テープ定義情報２４に設定されたＪＣＬ生成規則に従って、復元ＪＣＬ雛形１９を元に、二次記憶装置１７から一次記憶装置１６へファイルを復元するための復元ＪＣＬ２１を生成する。
【００３２】
図２（ａ）に、磁気テープ使用ジョブ１１内のＪＣＬのファイル割り当て記述の例を示す。
ファイル割り当て記述３０には、内部ファイル名、外部ファイル名、装置種別、媒体名などファイルをジョブに割り当てるために必要な情報が指定されている。
外部ファイル名とは、媒体上のファイルの名前である。
装置種別とは、磁気ディスクや磁気テープなどの装置の種別を表す情報である。
媒体名とは、上記ファイルを格納する記憶装置上にある媒体ごとに付けられた名前である。
内部ファイル名とは、実行したジョブのアプリケーションプログラム内部でファイルのオープン／クローズ、およびデータの入出力、ファイルの解放時に指定するファイル識別子のことで、これらの処理と割り当てたファイルとを関連づけるための識別子である。
【００３３】
ジョブが実行され、ファイル割り当て記述３０によりファイルが割り当てられると、ファイル管理１２は、ファイル割り当て記述３０ごとにファイル割り当て情報として値を保持する。
ファイル割り当て情報の例を図２（ｂ）に示す。
ファイル割り当て情報４０は、内部ファイル名４１、外部ファイル名４２、装置種別４３、媒体名４４等のファイル割り当て記述３０に記述されている情報に対応したフィールドと仮想テープか否か４５、変更前割り当て情報４６を持ったテーブルとなっている。仮想テープか否か４５には、ファイル割り当て先が変更されておらず仮想テープが未設定の場合は「未設定」、ファイル割り当て先が変更され仮想テープが設定された後は「ＹＥＳ」が記憶される。変更前割り当て情報４６には、割り当て先の変更前は「未設定」が、割り当て先の変更後は、変更前の装置種別と媒体名が記憶される。
ファイル割り当て情報４０は、以降のファイルのオープンやデータの入出力、ファイルのクローズ、ファイルの解放時に、ファイル管理１２が参照する。
【００３４】
図３に仮想テープ定義情報２４の実施例を示す。
仮想テープ定義情報は、磁気テープ媒体名５１、割り当て先変更規則５２、ＪＣＬ生成規則５３で構成される。
磁気テープ媒体名５１には、テープ仮想化システム１の対象となる仮想の磁気テープ媒体名を設定する。
割り当て先変更規則５２には、割り当て先変換手段１３が割り当て先を変更する一次記憶装置１６を設定する。
ＪＣＬ生成規則５３には、退避ＪＣＬ雛形１８や復元ＪＣＬ雛形１９から、退避ＪＣＬ２０や復元ＪＣＬ２１を生成するための、置換パラメータを設定する。この置換パラメータには、退避／復元ジョブ固有のパラメータや二次記憶装置１７の情報を指定するため、「置換キーワード＝置換後文字列」という形で複数指定することができる。
この置換キーワードの名前は利用者が定義することができる。
【００３５】
次に、図１〜８の構成図およびフローチャートを参照してテープ仮想化システム１の動作について詳細に説明する。
図４に、磁気テープ使用ジョブ１１からファイルの割り当て要求があったときのファイル管理１２、および、割り当て先変換手段１３の動作を示す。
ファイル管理１２は、ファイルの割り当て要求を受けると、その要求が磁気テープファイルの割り当て要求であれば（Ｓ１０１の判定がイエスであれば）、割り当て先変換手段１３に割り当て先の変換を要求し、その要求が磁気テープファイル以外の割り当て要求であれば、割り当て先を変更せずにファイルの割り当てに進む（Ｓ１０１の判定がノー、Ｓ１０５）。
【００３６】
割り当て先変換手段１３は、磁気テープファイルのファイル割り当て情報で割り当て先として指定された媒体名を、仮想テープ定義情報２４の磁気テープ媒体名５１から検索する（Ｓ１０２）。
一致する媒体名が見つからなかった場合、ファイル割り当て先は変更せず（Ｓ１０３の判定がノー、Ｓ１０５）、一致する媒体名が見つかった場合、ファイル割り当て先を仮想テープ定義情報２４の同じ行の割り当て先変更規則５２に設定されている一次記憶装置１６に変更する（Ｓ１０３の判定がイエス、Ｓ１０４）。
ファイル管理１２は、ファイルの解放やファイルの入力オープン時に参照するために、仮想テープ（割り当て先を一時記憶装置１６に変更した）か否か、および、仮想テープの場合はさらに変更前のファイル割り当て情報を「仮想テープか否か４５」および「変更前割り当て情報」４６に保持する（Ｓ１０５）。
ファイル管理１２は、割り当て先に従ってファイルを割り当てる（Ｓ１０６）。
【００３７】
図５に、磁気テープ使用ジョブ１１が一次記憶装置１６上のファイルにデータを出力した後、ファイルの解放要求を行ったときのファイル管理１２の動作を示す。
ファイル管理１２は、ファイルの解放要求を受けると、解放対象のファイルがある媒体が仮想テープ（一次記憶装置１６）か否かを判定する（Ｓ１１１）。仮想テープでなかった場合は、ファイルの解放処理に進む（Ｓ１１１の判定がノー、Ｓ１１５）。
解放対象のファイルが仮想テープにある場合は、ファイル管理１２は、実行されたジョブが出力だった否かを判定する（Ｓ１１２）。当該ファイルの処理が出力でなかった場合は、解放処理に進む（Ｓ１１２の判定がノー、Ｓ１１５）。
当該ファイルの処理が出力だった場合は、ファイル割り当て時に保持していた変更前のファイル割り当て情報を指定して、テープ仮想化制御手段１５にファイルの退避を要求する（Ｓ１１２の判定がイエス、Ｓ１１３）。
続いてテープ仮想化制御手段１５からの退避の完了通知を待ち（Ｓ１１４）、完了通知を受けるとファイルを解放する（Ｓ１１５）。
【００３８】
図６に、磁気テープ使用ジョブ１１が磁気テープファイルのデータを入力するためにファイルを入力オープンしたときのファイル管理１２の動作を示す。
ファイル管理１２は、ファイルの入力オープン要求を受けると、ファイルを割り当てた媒体から、ファイルを検索する（Ｓ１２１）。
ファイルが見つかった場合は、ファイルのオープン処理を継続する（Ｓ１２２の判定がイエス、Ｓ１２８）。
ファイルが見つからなかった場合、ファイル管理１２は、そのファイルが格納されている媒体が仮想テープか否かを判定する（Ｓ１２３）。
仮想テープでなかった場合、ファイルが見つからなかった旨のエラーを呼び出し元に返却する（Ｓ１２３の判定がノー、Ｓ１２７）。
仮想テープだった場合、ファイル割り当て時に保持していた変更前のファイル割り当て情報を指定して、テープ仮想化制御手段１５にファイルの復元を要求する（Ｓ１２３の判定がイエス、Ｓ１２４）。
続いてテープ仮想化制御手段１５からの復元の完了通知を待つ（Ｓ１２５）。
完了通知を受け、復元が成功していれば、ファイルのオープン処理を継続し（Ｓ１２５の判定がイエス、Ｓ１２８）、復元に失敗していれば、復元に失敗した旨のエラーを呼び出し元に返却する（Ｓ１２５の判定がノー、Ｓ１２７）。
【００３９】
図７に、ファイル管理１２から退避または復元要求を受けたときのテープ仮想化制御手段１５の動作を示す。
テープ仮想化制御手段１５は、退避または復元要求を受けると、要求時に指定されたファイル割り当て情報と退避か復元かを指定して、退避／復元ＪＣＬ生成手段１４にＪＣＬの生成を要求する（Ｓ１３１）。
生成されたＪＣＬが退避／復元ＪＣＬ生成手段１４から返却されると、そのＪＣＬを使用してジョブを実行し（Ｓ１３２）、実行したジョブの終了を待ち合わせる（Ｓ１３３）。
ジョブの終了が通知されると、一次記憶装置１６上のファイルを削除し（Ｓ１３４）、ジョブの実行結果を要求元に返却する（Ｓ１３５）。
【００４０】
図８に、テープ仮想化制御手段１５からＪＣＬの生成要求を受けたときの退避／復元ＪＣＬ生成手段１４の動作を示す。
退避／復元ＪＣＬ生成手段１４は、ＪＣＬの生成要求を受けると、要求時に指定されたファイル割り当て情報の媒体名と仮想テープ定義情報２４（図３参照）の磁気テープ媒体名が一致する行を検索する（Ｓ１４１）。
要求が退避ＪＣＬの生成か否かを判定し（Ｓ１４２）、要求時に指定された退避か復元かの指示に従って、退避ＪＣＬ雛形１８または復元ＪＣＬ雛形１９をオープンする（Ｓ１４３またはＳ１４４）。
次に、ＪＣＬ雛形から１行分のデータを読み込み（Ｓ１４５）、置換キーワードを検索する（Ｓ１４６）。  置換キーワードの検索処理では、例えば、奇数番目に現れた"%"の文字から次に現れた"%"の文字までの文字列を置換キーワードとして抜き出すようにすればよい。
置換キーワードが見つからなければ（Ｓ１４７の判定がノーならば）、出力ＪＣＬに書き出す処理（Ｓ１５５）へ進む。
【００４１】
置換キーワードが見つかると置換キーワードが予約キーワードか否かを判定する（Ｓ１４７の判定がイエス、Ｓ１４８）。予約キーワードとは、利用者がＪＣＬ生成規則５３の置換パラメータに指定した置換キーワード以外の文字列で、あらかじめテープ仮想化システム１で予め定義されている文字列を指す。例えば、予約キーワードは"_"で始まる文字列とし、ＪＣＬ生成規則５３に利用者が定義する置換パラメータのキーワードは"_"で始まらない文字列というように規定することで、予約キーワードか否かを区別できるようにしておく。
予約キーワードでなければ、Ｓ１４１で抜き出した行のＪＣＬ生成規則５３の置換パラメータから一致するキーワードを検索し（Ｓ１４９）、一致するキーワードがある場合は設定されている値で置換し（Ｓ１５０）、キーワードのある位置が行の最後か否かを判定する（Ｓ１５４）。
予約キーワードであれば（Ｓ１４８の判定がイエスであれば）、予約キーワードがファイル割り当て情報の予約キーワードか仮想テープ定義情報の予約キーワードかを判定し（Ｓ１５１）、ファイル割り当て情報のキーワードであれば、ファイル割り当て情報に設定されている値で置換し（Ｓ１５２）、仮想テープ定義情報のキーワードであれば、Ｓ１４１で抜き出した仮想テープ定義情報５０（図３参照）に設定されている値で置換する（Ｓ１５３）。
ここで、ファイル割り当て情報の予約キーワードとは、ファイル割り当て記述に指定できるパラメータごとに、内部ファイル名であれば"%_ifn%"、外部ファイル名であれば"%_efn%"、媒体名であれば"%_media%"と規定し、仮想テープ定義情報の予約キーワードとは、ＪＣＬ生成規則５３の置換パラメータ以外の指定に対応するもので、例えば、割り当て先変更規則の媒体名であれば、%_workdisk%と規定しているものとする。
【００４２】
行の最後までキーワードの検索が終わっていなければ、Ｓ１４６に進み、行の最後までキーワードの検索が終わっていれば、置換した行を出力ＪＣＬに１行書き出す（Ｓ１５４の判定がイエス、Ｓ１５５）。
ＪＣＬ雛形の最後の行まで読み込んでいたら、ＪＣＬ雛形をクローズし（Ｓ１５６の判定がイエス、Ｓ１５７）、そうでない場合は、Ｓ１４５に進む。
最後に、生成したＪＣＬをテープ仮想化制御手段１５に返却する（Ｓ１５８）。
【００４３】
テープ仮想化システム１によれば、磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ磁気テープ代替機能や記憶装置を利用できる。
その理由は、磁気テープ使用ジョブのファイル割り当て時に、割り当て先変換手段１３が仮想テープ定義情報２４に定義した割り当て先変更規則５２を参照してファイル割り当て先を磁気テープ媒体から別の一次記憶装置１６に切り替え、一次記憶装置へのデータ出力完了後に、退避／復元ＪＣＬ生成手段１４が仮想テープ定義情報２４に定義したＪＣＬ生成規則５３と退避ＪＣＬ雛形１８とにより、一次記憶装置から二次記憶装置へファイルを退避するための退避ＪＣＬ２０を生成し、それをテープ仮想化制御手段１５が実行し、一次記憶装置１６の入力に先立って、退避／復元ＪＣＬ生成手段１４が仮想テープ定義情報２４に定義したＪＣＬ生成規則５３と復元ＪＣＬ雛形１９とにより、二次記憶装置１７から一次記憶装置１６にファイルを復元するための復元ＪＣＬ２１を生成し、それをテープ仮想化制御手段１５が実行するためである。
【００４４】
次に、図を参照しながら本発明の第２の実施形態であるテープ仮想化システム２の構成と動作について説明する。テープ仮想化システム２の構成と動作は、テープ仮想化システム１と多くの部分が共通するので、共通する部分には図に同じ符号を付して説明を省略する。
図１０は、テープ仮想化システム２の機能ブロックである。
テープ仮想化システム２は、退避ＪＣＬ雛形１８と復元ＪＣＬ雛形１９をそれぞれ複数記憶している。そのため、退避／復元ＪＣＬ生成手段１４ａの動作と仮想テープ定義情報２４ａのデータ構造が図１のテープ仮想化システム１と異なっている。
【００４５】
退避／復元ＪＣＬ生成手段１４ａは、退避ＪＣＬの生成要求を受けると、磁気テープ使用ジョブ１１に記述された磁気テープ割り当て情報と、仮想テープ定義情報２４ａに設定されたＪＣＬ生成規則に従って、退避ＪＣＬ雛形１８を元に、一次記憶装置１６から二次記憶装置１７へファイルを退避する退避ＪＣＬ２０を生成する。
また、退避／復元ＪＣＬ生成手段１４は、復元ＪＣＬの生成要求を受けると、磁気テープ使用ジョブ１１に記述された磁気テープ割り当て情報と、仮想テープ定義情報２４ａに設定されたＪＣＬ生成規則に従って、復元ＪＣＬ雛形１９を元に、二次記憶装置１７から一次記憶装置１６へファイルを復元する復元ＪＣＬ２１を生成する。
このとき、退避ＪＣＬ雛形や復元ＪＣＬ雛形として、仮想テープ定義情報２４ａのＪＣＬ生成規則５３ａに指定された雛形が使用される。
【００４６】
図１１に、仮想テープ定義情報２４ａの一例を示す。
仮想テープ定義情報２４ａのデータ構造は、図３と基本的には同様であるが、ＪＣＬ生成規則５３ａの内容が異なっている。
ＪＣＬ生成規則５３ａには、置換パラメータの他に、ＪＣＬの生成に用いる退避ＪＣＬ雛形と復元ＪＣＬ雛形を指定する記述が含まれている。この記述は、行ごと（磁気テープ使用ジョブごと）に異なる設定とすることができる。
これにより、例えば、「ＴＡＰＥ０１」という磁気テープ媒体を使用する磁気テープ使用ジョブは、退避ＪＣＬ雛形「ＪＣＬ０１」を使ってＬＴＯへファイルを退避することができ（図１０の１行目、符号５０ｄ）、「ＴＡＰＥ０２」という磁気テープ媒体を使用する磁気テープ使用ジョブは、退避ＪＣＬ雛形「ＪＣＬ１１」を使ってＦＴＰでファイルを退避することができるようになる（図１０の２行目、符号５０ｅ）。
【００４７】
テープ仮想化システム２の動作は、基本的には図４ないし図８に示したテープ仮想化システム１の動作と同様であるが、テープ仮想化制御手段１５からＪＣＬの生成要求を受けたときの退避／復元ＪＣＬ生成手段１４の動作が図８の場合と異なっている。
図１２は、テープ仮想化制御手段１５からＪＣＬの生成要求を受けたときの退避／復元ＪＣＬ生成手段１４ａの動作を示すフローチャートである。
退避／復元ＪＣＬ生成手段１４ａは、ＪＣＬの生成要求を受けると、ファイル割り当て情報の媒体名と仮想テープ定義情報２４ａの磁気テープ媒体名が一致する行を取得する（Ｓ１４１）。
要求時に指定された退避か復元かの指示に従って（Ｓ１４２）、退避ＪＣＬ雛形または復元ＪＣＬ雛形をオープンするが、仮想テープ定義情報２４ａのＪＣＬ生成規則５３ａに設定されているＪＣＬ雛形を使用する（Ｓ１６３またはＳ１６４）。
以降のステップＳ１４５〜Ｓ１５８は、図８と同じである。
【００４８】
テープ仮想化システム２によれば、磁気テープ使用ＪＣＬを変更することなく、ホストコンピュータの持つ複数の磁気テープ代替機能や記憶装置から選択して利用できる。
その理由は、仮想テープ定義情報２４ａに、磁気テープ割り当て情報に応じて異なる退避ＪＣＬ雛形１８と復元ＪＣＬ雛形１９を使用するように設定することで、退避／復元ＪＣＬ生成手段１４ａが、磁気テープ使用ジョブ１１のファイル割り当て記述に指定した磁気テープ媒体名に応じて、異なる退避ジョブと復元ジョブを実行できるためである。
【００４９】
次に、図を参照しながら本発明の第３の実施形態であるテープ仮想化システム３の構成と動作について説明する。テープ仮想化システム３の構成と動作は、テープ仮想化システム１と多くの部分が共通するので、共通する部分には図に同じ符号を付して説明を省略する。
図１３は、テープ仮想化システム３の機能ブロックである。
テープ仮想化システム３では、ファイル管理１２ｂのファイル解放時の動作、テープ仮想化制御手段１５ｂの退避要求時の動作が図１のテープ仮想化システム１と異なる。また、仮想テープ定義情報２４ｂに退避要求時の動作を決める退避規則が追加されている。さらに、退避状態を管理するための退避状態管理表２５が追加されている。
【００５０】
ファイル管理１２ｂは、ファイル出力後のファイル解放要求を受けると、テープ仮想化制御手段１５ｂにファイルの退避を要求する。そして、仮想テープ定義情報２４ｂに退避規則がなければ、ファイル退避の完了を待って、ファイルを解放する。仮想テープ定義情報２４ｂに退避規則があれば、ファイル退避の完了を待たずに、ファイルを解放する。
【００５１】
テープ仮想化制御手段１５ｂは、ファイルの退避要求を受けると、退避／復元ＪＣＬ生成手段１４に退避ＪＣＬの生成を要求する。そして、仮想テープ定義情報２４ｂに退避規則がなければ、生成された退避ＪＣＬ２０を使って、退避ジョブ２２を実行し、退避ジョブ２２の実行結果を退避要求元に通知する。
仮想テープ定義情報２４ｂに退避規則があれば、退避ジョブ２２をただちには実行せず、退避規則に指定されたタイミングで退避ジョブ２２を実行する。
【００５２】
図１５に、仮想テープ定義情報２４ｂの一例を示す。
仮想テープ定義情報２４ｂは、基本的には、図３または図１１に示したものと同様であるが、退避規則５４が追加されている。退避規則５４には、退避ジョブの実行を一次記憶装置１６の記憶スペース不足が発生した時に行うか（図１５の１行目、符号５０ｇ）、または、指定の時刻に行うか（図１５の２行目、符号５０ｈ）を指定する。指定の時刻に実行する場合は、退避時刻も合わせて設定する。スペース不足が発生した時に退避ジョブを実行する場合、スペース不足と判断するスペース量閾値はテープ仮想化システム３にあらかじめ記憶しておく。
退避規則は、上記以外の条件に基づいて設定しても良い。
【００５３】
図１８に、退避状態管理表２５の一例を示す。
退避状態管理表２５は、退避ＪＣＬ名６１、割り当て先変更規則６２、退避規則６３で構成される。
退避ＪＣＬ名６１には、ファイル解放時に実行しなかった退避ジョブに対応する退避ＪＣＬの名前が設定される。
割り当て先変更規則６２、退避規則６３には、上記退避ＪＣＬ生成時に参照した仮想テープ定義情報２４ｂの割り当て先変更規則５２と退避規則５４を保存する。
【００５４】
次に、図１６、図１７、図１９、図２０のフローチャートを参照してテープ仮想化システム３の動作について詳細に説明する。
図１６に、磁気テープ使用ジョブ１１が一次記憶装置１６上のファイルにデータを出力した後、ファイルの解放要求を行ったときのファイル管理１２ｂの動作を示す。
ファイル管理１２ｂの動作は、図５のＳ１１３とＳ１１４の間に、Ｓ１８１ないしＳ１８３が追加されたものである。
ファイル管理１２ｂは、テープ仮想化制御手段１５ｂにファイルの退避要求を行った後、仮想テープ定義情報２４ｂから、ファイル割り当て情報の媒体名と仮想テープ定義情報の磁気テープ媒体名が一致する行を検索する（Ｓ１８１）。
仮想テープ定義情報２４ｂの退避規則５４を参照し（Ｓ１８２）、退避規則がなければ（Ｓ１８３の判定がノーならば）、テープ仮想化制御手段１５ｂからの退避の完了通知を待ち（Ｓ１１４）、退避完了後にファイルを解放する（Ｓ１１５）。
退避規則があれば（Ｓ１８３の判定がイエスならば）、退避完了を待たずにファイルを解放する（Ｓ１１５）。
【００５５】
図１７に、ファイル管理１２ｂから退避／復元要求を受けたときのテープ仮想化制御手段１５ｂの動作を示す。
テープ仮想化制御手段１５ｂの動作は、図７のＳ１３１とＳ１３２の間に、ステップＳ１９１ないしＳ１９７が追加されたものである。
テープ仮想化制御手段１５ｂは、退避／復元ＪＣＬの生成要求後、仮想テープ定義情報２４ｂから、ファイル割り当て情報の媒体名と仮想テープ定義情報の磁気テープ媒体名が一致する行を検索する（Ｓ１９１）。
退避要求でなければ（Ｓ１９２の判定がノーならば）、復元ジョブを実行しその結果を要求元に返却する（Ｓ１３２ないしＳ１３５）。
退避要求であれば（Ｓ１９２の判定がイエスならば）、仮想テープ定義情報２４ｂの退避規則５４を参照する（Ｓ１９３）。
仮想テープ定義情報２４ｂに、退避規則がなければ（Ｓ１９４の判定がノーならば）、退避ジョブを実行しその結果を要求元に返却する（Ｓ１３２ないしＳ１３５）。
退避規則があれば（Ｓ１９４の判定がイエスならば）、退避ＪＣＬ名、割り当て先変更規則、退避規則を退避状態管理表２５に保存する（Ｓ１９５）。なお、生成した退避ＪＣＬ２０にはテープ仮想化システム３で一意に識別できる名前を付与するものとする。
退避規則が時刻指定であれば（Ｓ１９６の判定がイエスならば）、退避時刻にタイマーを設定し（Ｓ１９７）、処理を終了する。
退避規則が時刻指定でなければ（Ｓ１９６の判定がノーならば）、タイマーの設定は行わずに処理を終了する。
【００５６】
図１９に、実行されずに退避状態管理表２５に保存された退避ジョブが、スペース監視により実行されるときの動作を示す。
テープ仮想化制御手段１５ｂは、割り当て先変更規則に設定されている一次記憶装置１６のスペースを監視し（Ｓ２０１）、記憶スペース使用量があらかじめ規定された閾値を超えているか否か判定する（Ｓ２０２）。スペース監視のタイミングは、例えば、インターバルで一次記憶装置１６のスペース使用量を取得する方法でもよいし、一次記憶装置１６に閾値を超えたことを通知する仕組みを設けるようにしても良い。
閾値を超えたことを検出すると、テープ仮想化制御手段１５ｂは、退避状態管理表２５から、退避規則６３がスペース監視で、割り当て先変更規則６２の媒体名が閾値を超えた一次記憶装置１６と一致する行を検索する（Ｓ２０３）。
上記の条件を満たす行が見つかった場合、その行の退避ＪＣＬ名６１に設定されている退避ＪＣＬを使って、退避ジョブを実行する（Ｓ２０４の判定がイエス、Ｓ２０５）。退避ジョブの実行が終了すると（Ｓ２０６）、実行した退避ＪＣＬ、退避状態管理表２５の検索条件と一致した行、一次記憶装置１６上のファイルを削除する（Ｓ２０７、Ｓ２０８）。退避状態管理表２５の最後の行まで検索が終わっていなければ（Ｓ２０９の判定がノーならば）、Ｓ２０３に戻る。
【００５７】
図２０に、実行されずに退避状態管理表２５に保存された退避ジョブが、タイムアウトにより実行されるときの動作を示す。
テープ仮想化制御手段１５ｂは、テープ仮想化制御手段１５ｂが図１７のＳ１９７でタイマーに設定した時刻になりタイムアウト通知を受けると、タイムアウト時刻を取得する（Ｓ２１１）。
退避状態管理表２５から退避規則６３に時刻指定が含まれ、かつ、そこに記憶された退避時刻がＳ２１１で取得したタイムアウト時刻と一致する行を検索する（Ｓ２１２）。
上記の条件を満たす行が見つかった場合、その行の退避ＪＣＬ名６１に設定されている退避ＪＣＬを使って、退避ジョブを実行する（Ｓ２１３の判定がイエス、Ｓ２１４）。退避ジョブの実行が終了すると（Ｓ２１５）、実行した退避ＪＣＬ、退避状態管理表２５の検索条件に一致した行、一次記憶装置１６上のファイルを削除する（Ｓ２１６、Ｓ２１７）。退避状態管理表２５の最後の行まで検索が終わっていなければ（Ｓ２１８の判定がノーならば）、Ｓ２１２に戻る。
【００５８】
テープ仮想化システム３によれば、磁気テープ使用ジョブの実行時間を短縮することができる。
その理由は、仮想テープ定義情報２４ｂに、一次記憶装置１６から二次記憶装置１７への退避タイミングを指定する条件、例えば指定時刻や一次記憶装置１６の記憶用容量不足、を設定することで、テープ仮想化制御手段１５ｂは、二次記憶装置１７へのファイル退避を待たずに一次記憶装置１６へのデータ出力が完了した時点で磁気テープ使用ジョブを終了することができるためである。
【実施例】
【００５９】
次に、具体的な実施例を用いてテープ仮想化システム１の動作を説明する。
図３に示すように、仮想テープ定義情報２４の磁気テープ媒体名が「TAPE01」に対応する行（符号５０ａ）には、割り当て先変更規則として、一次記憶装置の装置種別が「磁気ディスク」、媒体名が「WORKDISK1」と設定されている。
また、ＪＣＬ生成規則には、置換パラメータとして、「poolid=POOL01」と設定されている。これは、図８のＪＣＬ生成処理（Ｓ１５０）において、ＪＣＬ雛形に「%poolid%」という文字列（キーワード）が見つかった場合に「POOL01」という文字列で置き換えることを意味する。
【００６０】
次に図９（ａ）に示すように、ファイル割り当て記述５７に、内部ファイル名が「IFN01」、外部ファイル名が「FILE01」、装置種別が「磁気テープ」、媒体名が「TAPE01」と記述された磁気テープ使用ジョブ１１を使ってジョブを実行した場合の動作を説明する。
なお、退避ＪＣＬ雛形１８は、図９（ｂ）に示すように「INFILE」パラメータに指定された磁気ディスク上のファイルを、「POOLID」に指定されたＬＴＯ媒体上のファイルにバックアップする退避ジョブのＪＣＬ雛形である。退避ジョブの詳細な仕組みは、周知の技術であるから説明を省略する。
【００６１】
まず、このジョブが磁気テープファイルへの出力処理を行ったときの動作例を説明する。
ファイルの割り当て要求では、図４のフローチャートに従って、仮想テープ定義情報２４の媒体名が「TAPE01」に対応する行（図３の５０ａ）が検索され、割り当て先変更規則５２に従って、ファイルの割り当て先が、装置種別が「磁気ディスク」、媒体名が「WORKDISK1」に変更される。
以降のファイルのオープン、データの出力、ファイルのクローズ要求は、上記「WORKDISK1」上のファイル「FILE01」に対して処理される。
【００６２】
ファイルの解放要求では、図５、図７、図８のフローチャートに従って、退避ＪＣＬが生成され、退避ジョブとして実行される。
このときの退避ＪＣＬの生成例を説明する。
テープ仮想化システム１のＪＣＬ生成時の予約キーワードとして、ファイル割り当て情報４０の外部ファイル名は「%_efn%」、仮想テープ定義情報２４の割り当て先変更規則５２の媒体名は「%_workdisk%」とあらかじめ規定されているものとする。
ファイル割り当て情報４０の行４０ａ（図２（ｂ））の外部ファイル名４２より、退避ＪＣＬ雛形１８の「%_efn%」という文字列は「FILE01」という文字列に置き換えられ、仮想テープ定義情報２４の行５０ａ（図３）の割り当て先変更規則５２より、図９（ｂ）の退避ＪＣＬ雛形１８の「%_workdisk%」という文字列は「WORKDISK1」という文字列に置き換えられ、仮想テープ定義情報２４の行５０ａのＪＣＬ生成規則５３の置換パラメータより、退避ＪＣＬ雛形１８の「%poolid%」という文字列は「POOL01」という文字列に置き換えられ、図９（ｂ）に示す退避ＪＣＬ２０が生成される。
【００６３】
このＪＣＬを使ってジョブを実行することにより、磁気ディスク媒体「WORKDISK1」（一時記憶装置１６）上のファイル「FILE01」が、ＬＴＯ媒体「POOL01」（二次記憶装置１７）上のファイル「FILE01」にバックアップされる。このジョブの実行が終了すると、磁気ディスク媒体「WORKDISK1」上のファイル「FILE01」は削除され、退避ジョブの終了がファイル管理１２に通知されると、ファイルが解放される。
【００６４】
次に、磁気テープファイルの入力処理を行う磁気テープ使用ジョブ１１を実行したときの動作例を説明する。
ファイル割り当て要求では、磁気テープファイルへの出力処理の場合と同じである。
ファイルの入力オープンの要求では、図６、図７、図８のフローチャートに従って、復元ＪＣＬ２１が生成され、ジョブとして実行される。復元ＪＣＬの生成は、図９の退避ＪＣＬ雛形が復元ＪＣＬ雛形のものに変わるだけなので、説明は省略する。
復元ジョブを実行することにより、ＬＴＯ媒体「POOL01」（二次記憶装置１７）上のファイル「FILE01」が、磁気ディスク媒体「WORKDISK1」（一時記憶装置１６）上のファイル「FILE01」にリストアされる。このジョブの実行が終了すると、復元ジョブの終了がファイル管理１２に通知され、ファイルのオープン処理が行われる。
以降のデータの入力、ファイルのクローズ、ファイルの解放要求は、上記「WORKDISK1」上のファイル「FILE01」に対して処理される。
【００６５】
次に、具体的な実施例を用いてテープ仮想化システム２の動作を説明する。
図１１に示すように、仮想テープ定義情報２４ａの磁気テープ媒体名５１が「TAPE02」に対応する行５０ｅには、割り当て先変更規則として、一次記憶装置１６の装置種別が「磁気ディスク」、媒体名が「WORKDISK1」と設定されている。また、ＪＣＬ生成規則５３ａには、退避ＪＣＬ雛形として「JCL11」、復元ＪＣＬ雛形として「JCL12」が設定され、置換パラメータとして、「ipaddr=123.456.789.123、user=user01、pswd=3245h9af、directory=/home/user01、workfile=GRP1.USER01」が設定されている。
これは、図１２のＪＣＬ生成処理において、退避ＪＣＬの雛形には「JCL11」というＪＣＬを使用し、復元ＪＣＬの雛形には「JCL12」を使用することを意味する。また、置換パラメータに指定されたキーワードが雛形ＪＣＬから見つかれば対応する文字列で置き換えることを意味する。
【００６６】
次に図１４（ａ）に示すように、ファイル記述５８に、内部ファイル名が「IFN02」、外部ファイル名が「FILE02」、装置種別が「磁気テープ」、媒体名が「TAPE02」と記述された磁気テープ使用ＪＣＬを実行した場合のＪＣＬの生成例を説明する。
なお、図１４（ｂ）に示す退避ＪＣＬ雛形１８は、「INFILE」パラメータに指定された磁気ディスク上のファイルを、指定されたＩＰアドレスのマシンの指定されたフォルダにＦＴＰで格納する退避ジョブのＪＣＬ雛形である。
【００６７】
テープ仮想化システム２のＪＣＬ生成時の予約キーワードとして、ファイル割り当て情報の外部ファイル名は「%_efn%」、仮想テープ定義情報の割り当て先変更規則の媒体名は「%_workdisk%」とあらかじめ規定されているものとする。
テープ仮想化システム１のＪＣＬ生成処理と同様に、退避ＪＣＬ雛形１８の「%_efn%」という文字列は「FILE02」という文字列に、「%_workdisk%」という文字列は「WORKDISK1」という文字列に、「%ipaddr%」という文字列は「123.456.789.123」という文字列に、「%user%」という文字列は「user01」という文字列に、「%pswd%」という文字列は「245h9af」という文字列に、「%directory%」という文字列は「/home/user01」という文字列に、「%workfile%」という文字列は「GRP1.USER01」という文字列に、それぞれ置き換えられて、図１４（ｂ）の退避ＪＣＬ２０が生成される。
この退避ＪＣＬを使ってジョブを実行することにより、磁気ディスク媒体「WORKDISK1」（一時記憶装置１６）上のファイル「FILE02」が、ＩＰアドレスが「123.456.789.123」というサーバのディスク装置（二次記憶装置１７）上の「/home/user01」というフォルダにＦＴＰで転送される。
【００６８】
次に、具体的な実施例を用いてテープ仮想化システム３の動作を説明する。
図１５に示すように、仮想テープ定義情報２４ｂの磁気テープ媒体名が「TAPE01」に対応する行５０ｇには、退避規則５４に、スペース監視で退避するように設定されている。
また、磁気テープ媒体名が「TAPE02」に対応する行５０ｈには、退避規則５４に、時刻指定が設定され退避時刻が「23:00」に設定されている。
これらの設定がされているシステムで、図９（ａ）と図１４（ａ）の例にあるファイル割り当て記述を持つ磁気テープにデータを出力するジョブを実行した場合、それぞれの磁気テープ使用ジョブは一次記憶装置１６へファイルを格納したところで終了し、二次記憶装置１７への退避は行われない。このとき作成した退避ＪＣＬはそれぞれ「退避JCL_001」、「退避JCL_002」という名前で退避状態管理表２５に保存される。また、退避時刻の指定に従い「23:00」にタイマーが設定される。
【００６９】
テープ仮想化制御手段１５ｂが「WORKDISK1」のスペース使用量が閾値を超えたことを検出すると、退避状態管理表２５から、退避規則６３がスペース監視で、割り当て先変更規則６２の媒体名が「WORKDISK1」である行を検索する。
次に、見つかった行６０ａの退避ＪＣＬ名６１に指定されている「退避JCL_001」というＪＣＬを使って退避ジョブを実行する。
【００７０】
また、テープ仮想化制御手段１５ｂが23:00にタイムアウトの通知を受けると、退避状態管理表２５から、退避規則５３が時刻指定かつ退避時刻が23:00である行を検索する。
次に、見つかった行６０ｂの退避ＪＣＬ名６１に指定されている「退避JCL_002」というＪＣＬを使って退避ジョブを実行する。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施形態であるテープ仮想化システムの構成図である。
【図２】図２（ａ）は、ＪＣＬに記載するファイル割り当て記述の例を示す図である。図２（ｂ）は、ファイル割り当て情報の例を示す図である。
【図３】仮想テープ定義情報の例を示す図である。
【図４】ファイル割り当て時のファイル管理および割り当て先変換手段の動作を示すフローチャートである。
【図５】ファイル解放時のファイル管理の動作を示すフローチャートである。
【図６】ファイルの入力オープン時のファイル管理の動作を示すフローチャートである。
【図７】退避／復元要求時のテープ仮想化制御手段の動作を示すフローチャートである。
【図８】ＪＣＬ生成時の退避／復元ＪＣＬ生成手段の動作を示すフローチャートである。
【図９】図９（ａ）は、磁気テープ使用ＪＣＬのファイル割り当て記述例を示す図である。図９（ｂ）は、生成される退避ＪＣＬの例を示す図である。
【図１０】本発明の第２の実施形態であるテープ仮想化システムの構成図である。
【図１１】図１０のテープ仮想化システムにおける仮想テープ定義情報の例を示す図である。
【図１２】図１０のテープ仮想化システムにおけるＪＣＬ生成時の退避／復元ＪＣＬ生成手段の動作を示すフローチャートである。
【図１３】本発明の第３の実施形態であるテープ仮想化システムの構成図である。
【図１４】図１４（ａ）は、図１３のテープ仮想化システムにおける磁気テープ使用ＪＣＬのファイル割り当て記述例を示す図である。図１４（ｂ）は、図１３のテープ仮想化システムで生成される退避ＪＣＬの例を示す図である。
【図１５】図１３のテープ仮想化システムにおける仮想テープ定義情報の例を示す図である。
【図１６】図１３のテープ仮想化システムにおけるファイル解放時のファイル管理の動作を示すフローチャートである。
【図１７】図１３のテープ仮想化システムにおける退避／復元要求時のテープ仮想化制御手段の動作を示すフローチャートである。
【図１８】図１３の退避状態管理表の例を示す図である。
【図１９】図１３のテープ仮想化システムにおける一次記憶装置のスペース監視時のテープ仮想化制御手段の動作を示すフローチャートである。
【図２０】図１３のテープ仮想化システムにおけるタイムアウト通知時のテープ仮想化制御手段の動作を示すフローチャートである。
【符号の説明】
【００７２】
１、２、３  テープ仮想化システム
１１    磁気テープ使用ジョブ
１２、１２ｂ    ファイル管理
１３    割り当て先変換手段
１４、１４ａ    退避／復元ＪＣＬ生成手段
１５、１５ｂ    テープ仮想化制御手段
１６    一次記憶装置
１７    二次記憶装置
１８    退避ＪＣＬ雛形
１９    復元ＪＣＬ雛形
２０    退避ＪＣＬ
２１    復元ＪＣＬ
２２    退避ジョブ
２３    復元ジョブ
２４、２４ａ、２４ｂ    仮想テープ定義情報
２５    退避状態管理表
２６  ＪＣＬ雛形記憶部
２７  仮想テープ定義情報記憶部
【図１】
0004572857.tif 000002
【図２】
0004572857.tif 000003
【図３】
0004572857.tif 000004
【図４】
0004572857.tif 000005
【図５】
0004572857.tif 000006
【図６】
0004572857.tif 000007
【図７】
0004572857.tif 000008
【図８】
0004572857.tif 000009
【図９】
0004572857.tif 000010
【図１０】
0004572857.tif 000011
【図１１】
0004572857.tif 000012
【図１２】
0004572857.tif 000013
【図１３】
0004572857.tif 000014
【図１４】
0004572857.tif 000015
【図１５】
0004572857.tif 000016
【図１６】
0004572857.tif 000017
【図１７】
0004572857.tif 000018
【図１８】
0004572857.tif 000019
【図１９】
0004572857.tif 000020
【図２０】
0004572857.tif 000021