(57)【特許請求の範囲】
【請求項１】
複数の仮想テープドライブと、
情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される物理テープ装置に出力するか否かを判定する判定部と、
前記判定部によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する指示部と
を有することを特徴とする仮想テープ装置。
【請求項２】
前記物理テープ装置内の物理テープドライブからクリーニング要求を受け取った場合、前記複数の仮想テープドライブのうち、仮想テープがマウントされていない仮想テープドライブを選択し、選択した仮想テープドライブのクリーニング要求を前記情報処理装置に対して中継する中継部をさらに有し、
前記判定部は、前記情報処理装置から前記中継部によって中継された、仮想テープドライブのクリーニング要求に対するクリーニング命令を受け取ると、該クリーニング命令を前記物理テープ装置に出力すると判定し、
前記指示部は、前記クリーニング要求の要求元の物理テープドライブに対してクリーニングを指示する
ことを特徴とする請求項１に記載の仮想テープ装置。
【請求項３】
前記判定部によって該クリーニング命令を前記物理テープ装置に出力しないと判定した場合、該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に有るか否かを判定する第２の判定部と、
前記第２の判定部によって該クリーニング命令と、該クリーニング命令が出された仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に有ると判定された場合、前記物理テープ装置内の全ての物理テープドライブに対してクリーニングを指示する第２の指示部とを
さらに有することを特徴とする請求項１に記載の仮想テープ装置。
【請求項４】
仮想テープがマウントされた累積時間を仮想テープドライブ毎に記憶する第１の記憶部と、
物理テープがマウントされた累積時間を物理テープドライブ毎に記憶する第２の記憶部と、
前記第２の判定部によって該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に無いと判定された場合、前記第１の記憶部の、該クリーニング命令が出された仮想テープドライブの累積時間と、前記第１の記憶部の、該クリーニング命令より前にクリーニング命令がされた仮想テープドライブの累積時間とを用いて、前記情報処理装置から各仮想テープドライブにクリーニングを命令する平均的な累積時間を算出する算出部と、
前記第２の記憶部によって記憶された前記物理テープドライブの累積時間について、前記算出部によって算出された累積時間を越えた物理テープドライブに対してクリーニングを指示する第３の指示部とを
さらに有することを特徴とする請求項３に記載の仮想テープ装置。
【請求項５】
コンピュータが、
情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される物理テープ装置に出力するか否かを判定し、
前記判定する処理によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する
各処理を実行することを特徴とするクリーニング制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想テープ装置などに関する。
【背景技術】
【０００２】
従来、仮想テープシステムとして、磁気テープなどのテープカートリッジへデータを記録するテープライブラリ装置と、テープライブラリ装置に記録されたデータを仮想的に記憶するディスクアレイ装置とを備えたシステムが知られている。
【０００３】
例えば、図８を参照して、従来の仮想テープシステムについて説明する。図８は、従来の仮想テープシステムの構成を示す図である。図８に示すように、仮想テープシステム９００は、仮想テープ装置９１０とテープライブラリ装置９２０とを有する。また、仮想テープシステム９００は、上位装置であるホスト９３０と互いに通信可能に接続される。
【０００４】
仮想テープ装置９１０は、制御サーバ９１１とディスクアレイ９１２とを有し、これらをテープライブラリとして仮想的に見せかける。つまり、仮想テープ装置９１０は、ホスト９３０に、テープライブラリが直接的に接続されているように認識させる。そして、仮想テープ装置９１０は、バックエンドに、実際のテープライブラリ装置９２０と接続する。テープライブラリ装置９２０は、各テープカートリッジを装着するテープドライブ９２１を有する。そして、ホスト９３０から書き込まれるデータは、一旦ディスクアレイ９１２に書き込まれ、ディスクアレイ９１２に書き込まれた後に、テープカートリッジにも書き込まれる。
【０００５】
テープドライブ９２１では、テープカートリッジをマウントし、マウントしたテープカートリッジに対し、磁気ヘッドを用いてデータを書き込んだり、読み出したりする。ここで、ある頻度、データを書き込んだり、読み出したりすると、磁気ヘッドが汚れてくる。そうすると、データを書き込んだり、読み出したりする際、エラーが発生し、リトライが多発する頻度が高くなる。このため、磁気ヘッドをクリーニングすることが必要となる。
【０００６】
図９は、従来のクリーニング制御の一例を示す図である。図９の例では、テープライブラリ装置９２０がクリーニング制御機能を有している。すなわち、テープライブラリ装置９２０自体がクリーニング制御を実行し、テープドライブ９２１からクリーニング要求を受領すると、クリーニング要求がされたテープドライブ９２１の磁気ヘッドをクリーニングする。
【０００７】
また、クリーニング制御機能を有していないテープライブラリ装置も存在する。かかるテープライブラリ装置は、テープドライブのクリーニングを自動的に実行できない。そこで、ユーザが運用を一時的に中断し、テープドライブのクリーニングを手動で実行し、終了後運用を再開する。
【０００８】
また、上位装置と接続する磁気テープ装置では、テープが移動した長さを積算し、予め設定した値に達すると、クリーニングが実行されるまで上位装置からの磁気テープをアンロードする命令が出される度に上位装置に対してクリーニングを要求する技術がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０１−２５６０１３号公報
【特許文献２】特開平０７−３０２１３１号公報
【特許文献３】特開２００３−３３１４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の仮想テープシステムでは、テープドライブのクリーニングについて、ホストが管理できないという問題がある。すなわち、クリーニング制御機能を有しているテープライブラリ装置の場合、テープライブラリ装置自体がクリーニング制御を実行するので、テープライブラリ装置と直接接続していないホストはテープドライブのクリーニングについて管理できない。また、クリーニング制御機能を有していないテープライブラリ装置の場合であっても、テープライブラリ装置自体がクリーニング制御を実行できないので、テープライブラリ装置を直接接続していないホストもテープドライブのクリーニングについて管理できない。
【００１１】
また、上位装置と接続する磁気テープ装置では、仮に上位装置と磁気テープ装置との間に仮想テープ装置相当の装置が存在すれば、磁気テープ装置は上位装置に対してクリーニングを要求できないので、上位装置はテープドライブにクリーニング要求をできない。
【００１２】
また、図９に示すように、従来におけるクリーニング制御では、テープドライブのクリーニング制御機能を含むテープ制御ソフトウェアがホスト上にインストールされていることがある。ところが、ホスト上のテープ制御ソフトウェアは、ホストと直接接続されていればテープライブラリ装置を制御できるが、ホストと直接接続されていないテープライブラリ装置を制御できない。したがって、ホストは、テープライブラリ装置上のテープドライブのクリーニングを管理できない。
【００１３】
なお、上記課題は、テープドライブの磁気ヘッドだけではなく、紙テープなどのテープ全般の読み出し用ヘッドや書き込み用ヘッドにも同様に生じる課題である。
【００１４】
１つの側面では、本発明は、テープドライブのクリーニングについて、上位装置が管理できる仮想テープ装置などを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願の開示する仮想テープ装置は、一つの態様において、複数の仮想テープドライブと、情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される物理テープ装置に出力するか否かを判定する判定部と、前記判定部によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する指示部とを有する。
【発明の効果】
【００１６】
本願の開示する仮想テープ装置の一つの態様によれば、テープドライブのクリーニングについて、上位装置が管理できる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例に係る仮想テープシステムの構成を示す機能ブロック図である。
【図２】図２は、実施例に係る制御管理テーブルのデータ構造の一例を示す図である。
【図３】図３は、実施例に係る仮想ドライブ管理テーブルのデータ構造の一例を示す図である。
【図４】図４は、実施例に係る物理ドライブ管理テーブルのデータ構造の一例を示す図である。
【図５】図５は、実施例に係るクリーニング制御処理のフローチャートを示す図（１）である。
【図６】図６は、実施例に係るクリーニング制御処理のフローチャートを示す図（２）である。
【図７】図７は、実施例に係る仮想テープシステムの構成の変形例を示す図である。
【図８】図８は、従来の仮想テープシステムの構成を示す図である。
【図９】図９は、従来のクリーニング制御の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本願の開示する仮想テープ装置およびクリーニング制御方法の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。以下では、仮想テープシステムに本発明を適用した場合について説明する。
【実施例】
【００１９】
［仮想テープシステムの構成］
図１は、実施例に係る仮想テープシステムの構成を示す機能ブロック図である。図１に示すように、仮想テープシステム９は、仮想テープ装置１とテープライブラリ装置２とを有する。また、仮想テープシステム９は、ホスト３と互いに通信可能に接続される。
【００２０】
テープライブラリ装置２は、物理テープドライブ２１を有する。物理テープドライブ２１は、テープカートリッジの挿入を受け付けて、仮想テープシステム９の実運用上におけるデータの読み書きを行う。なお、物理テープドライブ２１の数は図示したものに限定されるものではなく、変更可能である。
【００２１】
仮想テープ装置１は、テープライブラリ装置２を仮想化する。さらに、仮想テープ装置１は、ＩＣＰ（Integrated  Cannel  Processor）１１と、ＩＤＰ（Integrated  Device  Processor）１２と、ディスクアレイ１３と、ＶＬＰ（Virtual  Library  Processor）１４とを有する。
【００２２】
ディスクアレイ１３は、データを仮想的に記憶し、例えばＴＶＣ（Tape  Volume  Cache）を一例とする。ＩＣＰ１１は、仮想テープドライブ１１１をディスクアレイ１３で構築し、構築した仮想テープドライブ１１１を用いてホスト３とのインタフェースを制御する。仮想テープドライブ１１１は、テープカートリッジに記憶されたデータを仮想的に記憶する。なお、仮想テープドライブ１１１の数は、図示したものに限定されるものではなく、変更可能である。
【００２３】
ＩＤＰ１２は、テープライブラリ装置２とのインタフェースを制御する。ＶＬＰ１４は、ディスクアレイ１３を管理するとともに、仮想テープ装置１全体を制御する。さらに、ＶＬＰ１４は、記憶部１５と制御部１６とを有する。
【００２４】
記憶部１５は、例えばＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Frash  Memory）などの半導体メモリ素子などの記憶装置に対応する。そして、記憶部１５は、制御管理テーブル１５１と、仮想ドライブ管理テーブル１５２と、物理ドライブ管理テーブル１５３とを有する。
【００２５】
制御管理テーブル１５１は、クリーニング制御に用いられる情報を各仮想テープドライブ１１１に対応付けて記憶する。なお、制御管理テーブル１５１は、例えば後述するクリーニング要求中継部１６１や閾値算出部１６６によって更新される。
【００２６】
仮想ドライブ管理テーブル１５２は、仮想テープドライブ１１１の使用時間、すなわち仮想テープドライブ１１１に仮想テープがマウントされた累積時間を、各仮想テープドライブ１１１に対応付けて記憶する。なお、仮想ドライブ管理テーブル１５２は、例えば、ＩＣＰ１１によってＶＬＰ１４を介して更新される。
【００２７】
物理ドライブ管理テーブル１５３は、物理テープドライブ２１の使用時間、すなわち物理テープドライブ２１にテープカートリッジがマウントされた累積時間を、各物理テープドライブ２１に対応付けて記憶する。なお、物理ドライブ管理テーブル１５３は、例えばＶＬＰ１４によって更新される。なお、各テーブルの詳細は、後述する。
【００２８】
制御部１６は、テープライブラリ装置２内の物理テープドライブ２１のクリーニング制御を行う。例えば、制御部１６は、ホスト３から当該ホストに割り当てられた所定の仮想テープドライブ１１１のクリーニング命令を受け取ると、該クリーニング命令を自装置と接続されるテープライブラリ装置２に出力するか否かを判定する。そして、制御部１６は、該クリーニング命令をテープライブラリ装置２に出力すると判定した場合、該クリーニング命令がされた仮想テープドライブ１１１に対応する、テープライブラリ装置２内の物理テープドライブ２１にクリーニングを指示する。
【００２９】
ここで、ホスト３からのクリーニング命令は、例えば、ホスト３にインストールされたテープ制御ソフトウェア３１によって発行される。テープ制御ソフトウェア３１は、物理テープドライブ２１に対する、以下の３種のクリーニング処理を仮想テープ装置１に実施させるべく、仮想テープドライブ１１１を介してクリーニング命令を発行する。第１のクリーニング処理は、物理テープドライブ２１自体からクリーニング要求が発行された場合、クリーニング要求が発行された物理テープドライブ２１のクリーニングを実施する。この第１のクリーニング処理を「物理テープドライブから要求された場合のクリーニング」とする。第２のクリーニング処理は、一定周期が到来した場合、全ての物理テープドライブ２１のクリーニングを順次実施する。この第２のクリーニング処理を「周期クリーニング」とする。第３のクリーニング処理は、物理テープドライブ２１の使用時間が所定の閾値を超えた場合、閾値を超えた物理テープドライブ２１のクリーニングを実施する。この第３のクリーニング処理を「使用時間が閾値を超えた場合のクリーニング」とする。このように、テープ制御ソフトウェア３１は、これらクリーニング処理を仮想テープ装置１に実施させるために、仮想テープドライブ１１１を介してクリーニング命令を発行する。そして、制御部１６は、テープ制御ソフトウェア３１からのクリーニング命令を適切な指示に変換して、物理テープドライブ２１にクリーニングを指示する。
【００３０】
なお、制御部１６は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの集積回路に対応する。そして、制御部１６は、クリーニング要求中継部１６１と、クリーニング命令判定部１６２と、第１の指示部１６３と、連続受領判定部１６４と、第２の指示部１６５と、閾値算出部１６６と、第３の指示部１６７とを有する。
【００３１】
クリーニング要求中継部１６１は、テープライブラリ装置２内の物理テープドライブ２１からクリーニング要求を受領した場合、複数の仮想テープドライブ１１１のうち、仮想テープがマウントされていない仮想テープドライブ１１１を選択する。そして、クリーニング要求中継部１６１は、選択した仮想テープドライブ１１１のクリーニング要求をホスト３に中継する。すなわち、クリーニング要求中継部１６１は、ホスト３内のテープ制御ソフトウェア３１に対し、選択した仮想テープドライブ１１１のクリーニング命令を促す。
【００３２】
また、クリーニング要求中継部１６１は、テープ制御ソフトウェア３１にクリーニングを要求したことを示す「クリーニング要求フラグ」をＯＮに設定する。かかるクリーニング要求中継部１６１は、第１のクリーニング処理のために、クリーニング要求がされた物理テープドライブ２１を未使用の仮想テープドライブ１１１に代えてホスト３にクリーニング命令を発行させる。
【００３３】
クリーニング命令判定部１６２は、ホスト３から仮想テープドライブ１１１のクリーニング命令を受領すると、該クリーニング命令をテープライブラリ装置２に出力するか否かを判定する。例えば、クリーニング命令判定部１６２は、ホスト３から仮想テープドライブ１１１のクリーニング命令を受領すると、クリーニング要求フラグがＯＮであるか否かを判定する。
【００３４】
クリーニング命令判定部１６２は、クリーニング要求フラグがＯＮであると判定した場合、該クリーニング命令をテープライブラリ装置２に出力すると判定する。すなわち、クリーニング命令判定部１６２は、該クリーニング命令が「物理テープドライブから要求された場合のクリーニング」を実施させるための命令であると判断する。そして、クリーニング命令判定部１６２は、該当する仮想テープドライブ１１１のクリーニングの実施を第１の指示部１６３に指示する。
【００３５】
クリーニング命令判定部１６２は、クリーニング要求フラグがＯＮでないと判定した場合、該クリーニング命令をテープライブラリ装置２に出力しないと判定する。すなわち、クリーニング命令判定部１６２は、該クリーニング命令が「周期クリーニング」または「使用時間が閾値を超えた場合のクリーニング」を実施させるための命令であると判断する。そして、クリーニング命令判定部１６２は、該当する仮想テープドライブ１１１のクリーニング命令を連続受領判定部１６４に出力する。
【００３６】
また、クリーニング命令判定部１６２は、後述する制御管理テーブル１５１に対し、仮想テープドライブのクリーニング命令を受領したことを示す「受領フラグ」を当該仮想テープドライブに対応付けてＯＮに設定する。ここで、制御管理テーブルのデータ構造について、図２を参照して説明する。図２は、実施例に係る制御管理テーブルのデータ構造の一例を示す図である。
【００３７】
図２に示すように、制御管理テーブル１５１は、仮想ドライブ識別番号１５１ａと受領フラグ１５１ｂと受領タイミング１５１ｃとを対応付けて記憶する。仮想ドライブ識別番号１５１ａは、仮想テープドライブ１１１の識別番号である。受領フラグ１５１ｂは、仮想ドライブ識別番号で示される仮想テープドライブ１１１のクリーニング命令を受領したか否かを示すフラグである。例えば、受領した場合「ＯＮ」が設定され、受領していない場合「ＯＦＦ」が設定される。なお、受領フラグ１５１ｂは、前述したとおり、クリーニング命令判定部１６２によって設定される。受領タイミング１５１ｃは、クリーニング命令を受領したタイミングでの仮想テープドライブ１１１の使用時間である。なお、受領タイミング１５１ｃは、後述する閾値算出部１６６によって仮想テープドライブ１１１のクリーニング命令を受領したタイミングで設定される。
【００３８】
制御管理テーブル１５１の一例として、仮想ドライブ識別番号１５１ａが「００」である場合、受領フラグ１５１ｂとして「ＯＦＦ」、受領タイミング１５１ｃとして「０」時間を記憶している。また、仮想ドライブ識別番号１５１ａが「０１」である場合、受領フラグ１５１ｂとして「ＯＮ」、受領タイミング１５１ｃとして「１０１」時間を記憶している。
【００３９】
図１に戻って、第１の指示部１６３は、ホスト３からのクリーニング命令がされた仮想テープドライブ１１１を、クリーニング要求の要求元の物理テープドライブ２１に代えて、当該物理テープドライブ２１にクリーニングを指示する。言い換えると、第１の指示部１６３は、「物理テープドライブから要求された場合のクリーニング」を実施する。また、第１の指示部１６３は、制御管理テーブル１５１に対し、ホスト３からクリーニング命令がされた仮想テープドライブ１１１の「受領フラグ」をリセットすべく、ＯＦＦに設定する。さらに、第１の指示部１６３は、「クリーニング要求フラグ」をリセットすべく、ＯＦＦに設定する。
【００４０】
連続受領判定部１６４は、ホスト３からクリーニング命令がされた仮想テープドライブ１１１と他の仮想テープドライブ１１１の各クリーニング命令が規定時間の範囲内に有るか否かを判定する。例えば、連続受領判定部１６４は、仮想テープドライブ１１１のクリーニング命令を受領したときから規定時間過去に遡った範囲内に他の仮想テープドライブ１１１のクリーニング命令を２つ以上受領したか否かを判定する。仮想テープドライブ１１１のクリーニング命令を受領したか否かは、制御管理テーブル１５１の受領フラグ１５１ｂを用いて判定される。
【００４１】
また、連続受領判定部１６４は、クリーニング命令がされた仮想テープドライブ１１１と他の仮想テープドライブ１１１の各クリーニング命令が規定時間の範囲内に有ると判定した場合、クリーニング命令の連続受領であると判定する。すなわち、連続受領判定部１６４は、一定周期が到来した場合、全ての物理テープドライブ２１に順次クリーニングが実施される「周期クリーニング」であると判断する。そして、連続受領判定部１６４は、周期クリーニングの実施を第２の指示部１６５に指示する。
【００４２】
また、連続受領判定部１６４は、クリーニング命令がされた仮想テープドライブ１１１と他の仮想テープドライブ１１１の各クリーニング命令が規定時間の範囲内に無いと判定した場合、クリーニング命令の連続受領でないと判定する。すなわち、連続受領判定部１６４は、「使用時間が閾値を超えた場合のクリーニング」であると判断する。そして、連続受領判定部１６４は、物理テープドライブ２１のクリーニングのタイミングを規定する閾値を算出するように、閾値算出部１６６に指示する。
【００４３】
第２の指示部１６５は、テープライブラリ装置２内の全ての物理テープドライブ２１に対してクリーニングを指示する。すなわち、第２の指示部１６５は、テープ制御ソフトウェア３１からの仮想テープドライブ１１１のクリーニング命令を、物理テープドライブ２１に対する周期クリーニングの指示に変換して、物理テープドライブ２１のクリーニングを実施する。言い換えると、第２の指示部１６５は、「周期クリーニング」を実施する。また、第２の指示部１６５は、制御管理テーブル１５１に対し、全仮想テープドライブ１１１の「受領フラグ」をリセットすべく、ＯＦＦに設定する。
【００４４】
閾値算出部１６６は、ホスト３で用いられている、仮想テープドライブ１１１の使用時間の閾値を算出し、算出した閾値を物理テープドライブ２１の使用時間の閾値とする。なお、閾値算出部１６６は、「使用時間が閾値を超えた場合のクリーニング」を実施させるために行われる。
【００４５】
ここで、仮想テープドライブ１１１の使用時間の閾値を算出する必要性について説明する。まず、ホスト３内のテープ制御ソフトウェア３１では、例えば仮想ドライブ監視部３１１が、仮想テープドライブ１１１の使用時間を監視する。そして、仮想ドライブ監視部３１１は、仮想テープドライブ１１１の使用時間が予め定めた閾値を超えた場合に、閾値を超えた仮想テープドライブ１１１のクリーニング命令を発行する。ところが、仮想ドライブ監視部３１１は、ホスト３と直接的に接続されていないテープライブラリ装置２の各物理テープドライブ２１の使用状況を監視できない。他方、テープライラリ装置２は、自装置内の各物理テープドライブ２１の使用状況を、直接的に接続されていないホスト３のテープ制御ソフトウェア３１に報告できない。そこで、閾値算出部１６６は、仮想ドライブ監視部３１１によって監視に用いられている、仮想テープドライブ１１１の使用時間の閾値を算出する。具体的に説明すると、仮想ドライブ監視部３１１では、監視（監視Ａ）で用いられるクリーニングの条件として、「前回のクリーニング処理以降、テープカートリッジのドライブへのマウント時間（使用時間と同義）が閾値１００時間を経過した場合」と定義される。この場合、閾値算出部１６６は、閾値１００時間を推測するものである。そして、閾値算出部１６６は、推測した閾値を物理テープドライブ２１の使用時間の監視に反映する。
【００４６】
例えば、閾値算出部１６６は、仮想テープドライブ１１１のクリーニング命令がされたタイミングで、当該仮想テープドライブ１１１の使用時間を仮想ドライブ管理テーブル１５２から読み出す。そして、閾値算出部１６６は、読み出した使用時間を、制御管理テーブル１５１に対し、クリーニング命令がされた仮想テープドライブ１１１の受領タイミング１５１ｃに記録する。そして、閾値算出部１６６は、仮想ドライブ管理テーブル１５２の、クリーニング命令がされた仮想テープドライブ１１１の使用時間をリセットする。これは、クリーニング命令がされた仮想テープドライブ１１１について、次のクリーニング命令が出されるときまでの使用時間を確実に累積するためである。そして、閾値算出部１６６は、制御管理テーブル１５１に記憶された、複数の仮想テープドライブ１１１の受領タイミング１５１ｃを用いて、ホスト３からクリーニング命令がされる平均的な使用時間を閾値として算出する。一例として、閾値算出部１６６は、ホスト３に割り当てられた仮想テープドライブ１１１のうち３台分の仮想テープドライブ１１１の使用時間の平均値を算出する。これにより、閾値算出部１６６は、仮想ドライブ監視部３１１によって仮想テープドライブ１１１の使用時間の監視（監視Ａ）に用いられている閾値を推測でき、推測できた閾値を物理テープドライブ２１の使用時間の監視（監視Ｚ）に反映できる。
【００４７】
また、閾値算出部１６６は、制御管理テーブル１５１に対し、全仮想テープドライブの「受領フラグ」をリセットすべく、ＯＦＦに設定する。
【００４８】
なお、仮想テープドライブの使用時間の平均値を算出する際に、閾値算出部１６６が、ホスト３に割り当てられた仮想テープドライブ１１１のうち３台分の仮想テープドライブ１１１の使用時間を用いると説明したが、これに限定されない。閾値算出部１６６は、４台分の仮想テープドライブ１１１の使用時間を用いても良いし、５台分の仮想テープドライブ１１１の使用時間を用いても良い。また、閾値算出部１６６は、ホスト３に割り当てられた仮想テープドライブ１１１のうち１／４以上の台数分の仮想テープドライブ１１１の使用時間を用いても良い。算出に用いる台数を増やせば、閾値算出部１６６は、仮想ドライブ監視部３１１で用いられる閾値を精度良く算出できる。
【００４９】
第３の指示部１６７は、閾値算出部１６６によって算出された使用時間を閾値として用いて、使用時間が閾値を超えた物理テープドライブ２１に対してクリーニングを指示する。例えば、第３の指示部１６７は、物理ドライブ管理テーブル１５３を用いて、各物理テープドライブ２１の使用時間を監視する。すなわち、第３の指示部１６７は、一定時間毎に、物理ドライブ管理テーブル１５３に記憶された各物理テープドライブ２１の使用時間を読み出し、読み出した各物理テープドライブ２１の使用時間が閾値を超えているか否かを判定する。そして、第３の指示部１６７は、いずれかの物理テープドライブ２１の使用時間が閾値を超えていると判定した場合、閾値を超えた物理テープドライブ２１にクリーニングを指示する。言い換えると、第３の指示部１６７は、「使用時間が閾値を超えた場合のクリーニング」を実施する。
【００５０】
次に、仮想ドライブ管理テーブルのデータ構造について、図３を参照して説明する。図３は、実施例に係る仮想ドライブ管理テーブルのデータ構造の一例を示す図である。図３に示すように、仮想ドライブ管理テーブル１５２は、仮想ドライブ識別番号１５２ａと使用時間１５２ｂとを対応付けて記憶する。仮想ドライブ識別番号１５２ａは、仮想テープドライブ１１１の識別番号である。使用時間１５２ｂは、仮想テープドライブ１１１に仮想テープをマウントした累積時間である。
【００５１】
仮想ドライブ管理テーブル１５２の一例として、仮想ドライブ識別番号１５２ａが「００」である場合、使用時間１５２ｂとして「６７」を記憶している。また、仮想ドライブ識別番号１５２ａが「０１」である場合、使用時間１５２ｂとして「０」を記憶している。
【００５２】
次に、物理ドライブ管理テーブルのデータ構造について、図４を参照して説明する。図４は、実施例に係る物理ドライブ管理テーブルのデータ構造の一例を示す図である。図４に示すように、物理ドライブ管理テーブル１５３は、物理ドライブ識別子１５３ａと、使用時間１５３ｂとを対応付けて記憶する。物理ドライブ識別子１５３ａは、物理テープドライブ２１の識別子である。使用時間１５３ｂは、物理テープドライブ２１にテープカートリッジをマウントした累積時間である。
【００５３】
物理ドライブ管理テーブル１５３の一例として、物理ドライブ識別子１５３ａが「Ａ」である場合、使用時間１５３ｂとして「８９」を記憶している。また、物理ドライブ識別子１５３ａが「Ｂ」である場合、使用時間１５３ｂとして「５０」を記憶している。
【００５４】
［クリーニング制御処理の手順］
次に、クリーニング制御処理の手順について、図５および図６を参照して説明する。図５および図６は、実施例に係るクリーニング制御処理のフローチャートを示す図である。なお、ホスト３に複数の仮想テープドライブ１１１が割り当てられているものとする。また、図５では、仮想テープドライブ１１１の識別番号をＮｏ．ｎ（ｎは、１以上の自然数）で表すものとする。さらに、ホスト３は、「周期クリーニング」の場合、仮想テープドライブ１１１の識別番号の昇順に順次クリーニング命令を発行するものとする。
【００５５】
ＩＣＰ１１では、各仮想テープドライブ１１１の使用時間を仮想ドライブ管理テーブル１５２に記録している（ステップＳ１１）。ＶＬＰ１４では、クリーニング要求中継部１６１は、テープライブラリ装置２内の物理テープドライブ２１からクリーニング要求を受領したか否かを判定する（ステップＳ１２）。テープライブラリ装置２内の物理テープドライブ２１からクリーニング要求を受領していない場合（ステップＳ１２；Ｎｏ）、クリーニング要求中継部１６１は、仮想テープドライブ１１１のクリーニング命令を受領すべく、ステップＳ１６に移行する。
【００５６】
一方、テープライブラリ装置２内の物理テープドライブ２１からクリーニング要求を受領した場合（ステップＳ１２；Ｙｅｓ）、クリーニング要求中継部１６１は、仮想テープがマウントされていない仮想テープドライブ１１１を選択する（ステップＳ１３）。そして、クリーニング要求中継部１６１は、選択した仮想テープドライブ１１１を用いて、テープ制御ソフトウェア３１にクリーニング要求を中継する（ステップＳ１４）。さらに、クリーニング要求中継部１６１は、「クリーニング要求フラグ」をＯＮに設定する（ステップＳ１５）。そして、クリーニング要求中継部１６１は、仮想テープドライブ１１１のクリーニング命令を受領すべく、ステップＳ１６に移行する。
【００５７】
続いて、クリーニング命令判定部１６２は、ホスト３からＮｏ．ｎの仮想テープドライブ１１１のクリーニング命令を受領する（ステップＳ１６）。ここでは、クリーニング命令判定部１６２は、ホスト３内のテープ制御ソフトウェア３１１から受領するものとする。そして、クリーニング命令判定部１６２は、制御管理テーブル１５１に対し、Ｎｏ．ｎの仮想テープドライブ１１１のクリーニング命令を受領したことを示す「受領フラグ」をＯＮに設定する（ステップＳ１７）。そして、クリーニング命令判定部１６２は、テープ制御ソフトウェア３１に、クリーニング命令に対するクリーニング完了を応答する（ステップＳ１８）。ここで、クリーニング命令に対応するクリーニング処理を実施する前にクリーニング完了を応答するのは、物理層（例えばテープライブラリ装置２）でクリーニング処理を実施させながら、仮想層（ＶＬＰ１４）では次の処理を行わせるためである。つまり、仮想層での処理の滞りを防止するためである。
【００５８】
続いて、クリーニング命令判定部１６２は、「クリーニング要求フラグ」がＯＮであるか否かを判定する（ステップＳ１９）。「クリーニング要求フラグ」がＯＮであると判定された場合（ステップＳ１９；Ｙｅｓ）、第１の指示部１６３は、クリーニング要求の要求元の物理テープドライブ２１へクリーニングを実行する（ステップＳ２０）。すなわち、第１の指示部１６３は、「物理テープドライブから要求された場合のクリーニング」を実施する。そして、第１の指示部１６３は、「クリーニング要求フラグ」をリセットすべく、ＯＦＦに設定する。第１の指示部１６３は、制御管理テーブル１５１に対し、Ｎｏ．ｎの仮想テープドライブ１１１の「受領フラグ」をリセットすべく、ＯＦＦに設定する（ステップＳ２１）。そして、クリーニング制御処理は、終了する。
【００５９】
「クリーニング要求フラグ」がＯＮでないと判定された場合（ステップＳ１９；Ｎｏ）、連続受領判定部１６４は、Ｎｏ．ｎ−１またはＮｏ．ｎ−２の仮想テープドライブ１１１が無いか否かを判定する（ステップＳ２２）。例えば、クリーニング命令を受領した仮想テープドライブ１１１の識別番号Ｎｏ．ｎが「００」である場合、「−０１」および「−０２」は無いので、Ｎｏ．ｎ−１またはＮｏ．ｎ−２の仮想テープドライブ１１１が無いと判定する。また、クリーニング命令を受領した仮想テープドライブ１１１の識別番号Ｎｏ．ｎが「０１」である場合、「００」は有るが「−０１」は無いので、Ｎｏ．ｎ−１またはＮｏ．ｎ−２の仮想テープドライブ１１１が無いと判定する。また、クリーニング命令を受領した仮想テープドライブ１１１の識別番号Ｎｏ．ｎが「０２」である場合、「００」および「０１」は有るので、Ｎｏ．ｎ−１またはＮｏ．ｎ−２の仮想テープドライブ１１１が有ると判定する。
【００６０】
そして、Ｎｏ．ｎ−１またはＮｏ．ｎ−２の仮想テープドライブ１１１が無いと判定した場合（ステップＳ２２；Ｙｅｓ）、連続受領判定部１６４は、次のクリーニング命令を受領すべく、ステップＳ１１に移行する。一方、Ｎｏ．ｎ−１およびＮｏ．ｎ−２の仮想テープドライブ１１１が有ると判定した場合（ステップＳ２２；Ｎｏ）、連続受領判定部１６４は、Ｎｏ．ｎ−１およびＮｏ．ｎ−２の仮想テープドライブ１１１の「受領フラグ」がＯＮであるか否かを判定する（ステップＳ２３）。
【００６１】
Ｎｏ．ｎ−１およびＮｏ．ｎ−２の仮想テープドライブ１１１の「受領フラグ」がＯＮであると判定した場合（ステップＳ２３；Ｙｅｓ）、連続受領判定部１６４は、クリーニング命令の連続受領であると判定する。すなわち、連続受領判定部１６４は、「周期クリーニング」であると判断する。さらに、連続受領判定部１６４は、引き続き連続受領があるか否かを判定すべく、Ｎｏ．ｎ＋１の仮想テープドライブ１１１が有るか否かを判定する（ステップＳ２４）。これは、仮に引き続き仮想テープドライブ１１１のクリーニング命令が有る場合には、周期クリーニングの実施を待ち合わせ、全て該命令を受領した段階で、周期クリーニングを実施させるようにするためである。
【００６２】
Ｎｏ．ｎ＋１の仮想テープドライブ１１１が有ると判定した場合（ステップＳ２４；Ｙｅｓ）、連続受領判定部１６４は、次のクリーニング命令を連続受領すべく、ステップＳ１１に移行する。一方、Ｎｏ．ｎ＋１の仮想テープドライブ１１１が無いと判定した場合（ステップＳ２４；Ｎｏ）、第２の指示部１６５は、テープライブラリ装置２内の全ての物理テープドライブ２１へクリーニングを実行する（ステップＳ２５）。すなわち、第３の指示部１６７は、「周期クリーニング」を実施する。そして、第２の指示部１６５は、制御管理テーブル１５１に対し、全仮想テープドライブ１１１の「受領フラグ」をリセットすべく、ＯＦＦに設定する（ステップＳ２６）。そして、クリーニング制御処理は、終了する。
【００６３】
Ｎｏ．ｎ−１およびＮｏ．ｎ−２の仮想テープドライブ１１１のいずれかの「受領フラグ」がＯＮでないと判定した場合（ステップＳ２３；Ｎｏ）、連続受領判定部１６４は、クリーニング命令の連続受領でないと判定する。すなわち、連続受領判定部１６４は、「使用時間が閾値を超えた場合のクリーニング」であると判断する。
【００６４】
続いて、閾値算出部１６６は、制御管理テーブル１５１に対し、全仮想テープドライブ１１１の「受領フラグ」をリセットすべく、ＯＦＦに設定する（ステップＳ２７）。そして、閾値算出部１６６は、Ｎｏ．ｎの仮想テープドライブ１１１について、使用時間を仮想ドライブ管理テーブル１５２から読み出し、読み出した使用時間を制御管理テーブル１５１の受領タイミングに記録する（ステップＳ２８）。そして、閾値算出部１６６は、仮想ドライブ管理テーブル１５２の、Ｎｏ．ｎの使用時間をリセットする（ステップＳ２９）。
【００６５】
そして、閾値算出部１６６は、３台分の仮想テープドライブ１１１の使用時間の平均値を算出できたか否かを判定する（ステップＳ３０）。例えば、閾値算出部１６６は、制御管理テーブル１５１に記憶された、３台分の仮想テープドライブ１１１の受領タイミングを用いて、ホスト３からクリーニング命令がされる平均的な使用時間を閾値として算出する。ここで、閾値算出部１６６は、３台分の仮想テープドライブ１１１の受領タイミングが制御管理テーブル１５１に記憶されている場合は、これらの受領タイミングの平均値を算出し、仮想テープドライブ１１１の使用時間の平均値を算出できたと判定する。一方、閾値算出部１６６は、３台分の仮想テープドライブ１１１の受領タイミングが制御管理テーブル１５１に記憶されていない場合は、仮想テープドライブ１１１の使用時間の平均値を算出できなかったと判定する。３台分の仮想テープドライブ１１１の使用時間の平均値を算出できなかった場合（ステップＳ３０；Ｎｏ）、閾値算出部１６６は、次のクリーニング命令を受領すべく、ステップＳ１１に移行する。
【００６６】
一方、３台分の仮想テープドライブ１１１の使用時間の平均値を算出できた場合（ステップＳ３０；Ｙｅｓ）、閾値算出部１６６は、「反映フラグ」がＯＮであるか否かを判定する（ステップＳ３１）。ここで、「反映フラグ」とは、テープ制御ソフトウェア３１で用いられている閾値を物理テープドライブ２１の使用時間の監視に反映したか否かを示すフラグである。例えば、反映した場合「ＯＮ」が設定され、反映していない場合「ＯＦＦ」が設定される。
【００６７】
「反映フラグ」がＯＮであると判定した場合（ステップＳ３１；Ｙｅｓ）、閾値算出部１６６は、閾値が既に反映されているので、次のクリーニング命令を受領すべく、ステップＳ１１に移行する。一方、「反映フラグ」がＯＮでないと判定した場合（ステップＳ３１；Ｎｏ）、閾値算出部１６６は、算出できた仮想テープドライブ１１１の使用時間の平均値を監視Ａで用いられる閾値と判断し、監視Ｚで用いられる閾値に反映する（ステップＳ３２）。そして、閾値算出部１６６は、「反映フラグ」をＯＮに設定する（ステップＳ３３）。
【００６８】
その後、第３の指示部１６７は、監視Ｚの機能により、一定時間毎に物理ドライブ管理テーブル１５３に記憶された各物理テープドライブ２１の使用時間を読み出す（ステップＳ３４）。そして、第３の指示部１６７は、各物理テープドライブ２１の使用時間が閾値を超えたか否かを判定する（ステップＳ３５）。各物理テープドライブ２１のいずれの使用時間も閾値を超えていないと判定した場合（ステップＳ３５；Ｎｏ）、第３の指示部１６７は、監視を継続すべく、ステップＳ３４に移行する。
【００６９】
一方、各物理テープドライブ２１のいずれかの使用時間が閾値を超えたと判定した場合（ステップＳ３５；Ｙｅｓ）、第３の指示部１６７は、閾値を超えた物理テープドライブ２１へクリーニングを実行する（ステップＳ３６）。すなわち、第３の指示部１６７は、「使用時間が閾値を超えた場合のクリーニング」を実施する。そして、クリーニング制御処理は、終了する。
【００７０】
なお、ホスト３は、「周期クリーニング」の場合、仮想テープドライブ１１１の識別番号の昇順に順次クリーニング命令を発行するものとして説明した。しかしながら、ホスト３は、これに限定されず、仮想テープドライブ１１１の識別番号の降順に順次クリーニング命令を発行するものとしても良い。この場合、ステップＳ２２では、連続受領判定部１６４は、Ｎｏ．ｎ＋１またはＮｏ．ｎ＋２の仮想テープドライブ１１１が無いか否かを判定するようにすれば良い。また、ステップＳ２４では、連続受領判定部１６４は、引き続き連続受領があるか否かを判定すべく、Ｎｏ．ｎ−１の仮想テープドライブ１１１が有るか否かを判定すれば良い。
【００７１】
ところで、上記した実施例では、１台のホスト３が仮想テープ装置１と接続された場合について説明した。しかしながら、複数のホスト３が仮想テープ装置１と接続されるようにしても良い。そこで、実施例の変形例として、複数のホスト３の一例として２台のホスト３が仮想テープ装置１と接続される場合について説明する。
【００７２】
［仮想テープシステムの構成の変形例］
図７は、実施例に係る仮想テープシステムの構成の変形例を示す図である。なお、図１に示す仮想テープシステム１と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。変形例が実施例と異なるところは、２台のホスト３Ａ、３Ｂが仮想テープ装置１Ａと接続される点にある。
【００７３】
ホスト３Ａには、仮想ドライブ監視部３１１Ａを含むテープ制御ソフトウェア３１Ａがインストールされている。ホスト３Ｂには、仮想ドライブ監視部３１１Ｂを含むテープ制御ソフトウェア３１Ｂがインストールされている。仮想ドライブ監視部３１１Ａおよび仮想ドライブ監視部３１１Ｂでは、それぞれ監視で用いられるクリーニングの条件を予めユーザによって定義される。例えば、仮想ドライブ監視部３１１Ａでは、監視（監視Ａ）で用いられるクリーニングの条件として、「前回のクリーニング処理以降、テープカートリッジのドライブへのマウント時間（使用時間と同義）が閾値１００時間を経過した場合」と定義される。また、仮想ドライブ監視部３１１Ｂでは、監視（監視Ｂ）で用いられるクリーニングの条件として、「前回のクリーニング処理以降、テープカートリッジのドライブへのマウント時間（使用時間と同義）が閾値３０時間を経過した場合」と定義される。
【００７４】
また、変形例が実施例と異なるところは、仮想テープ装置１Ａには、２台のＩＣＰ１１Ａ、１１Ｂを有する点にある。
【００７５】
ＩＣＰ１１Ａは、ホスト３Ａに割り当てられた仮想テープドライブ１１１Ａをディスクアレイ１３に構築し、構築した仮想テープドライブ１１１Ａを用いてホスト３Ａとのインタフェースを制御する。ＩＣＰ１１Ｂは、ホスト３Ｂに割り当てられた仮想テープドライブ１１１Ｂをディスクアレイ１３に構築し、構築した仮想テープドライブ１１１Ｂを用いてホスト３Ｂとのインタフェースを制御する。
【００７６】
また、変形例が実施例と異なるところは、仮想テープ装置１Ａには、２台のＩＤＰ１２Ａ、１２Ｂを有する点にある。また、変形例が実施例と異なるところは、閾値算出部１６６を閾値算出部１６６Ａに変更し、第３の指示部１６７を第３の指示部１６７Ａに変更した点にある。
【００７７】
閾値算出部１６６Ａは、ホスト３Ａに割り当てられた仮想テープドライブ１１１Ａに対し、クリーニングを命令する平均的な使用時間を閾値として算出する。また、閾値算出部１６６Ａは、ホスト３Ｂに割り当てられた仮想テープドライブ１１１Ｂに対し、クリーニングを命令する平均的な使用時間を閾値として算出する。なお、平均的な使用時間の算出方法は、閾値算出部１６６の説明と同様であるので、その説明を省略する。
【００７８】
第３の指示部１６７Ａは、閾値算出部１６６Ａによって算出されたそれぞれの閾値のうち最小の値を示す閾値を選択する。そして、第３の指示部１６７Ａは、選択した閾値を用いて、使用時間が閾値を超えた物理テープドライブ２１に対してクリーニングを指示する。すなわち、第３の指示部１６７Ａは、監視Ａで用いられるクリーニング条件および監視Ｂで用いられるクリーニング条件のうち短周期の閾値を持つクリーニング条件を優先し、物理テープドライブ２１のクリーニングを実施する。例えば、ホスト３Ａに割り当てられた仮想テープドライブ１１１Ａにクリーニングを命令する閾値が１００時間であるとする。ホスト３Ｂに割り当てられた仮想テープドライブ１１１Ｂにクリーニングを命令する閾値が３０時間であるとする。かかる場合、第３の指示部１６７Ａは、それぞれの閾値のうち最小の値を示す３０時間を閾値として選択し、選択した３０時間の閾値を監視Ｚに反映する。そして、第３の指示部１６７Ａは、監視Ｚに反映した３０時間の閾値を超えた物理テープドライブ２１に対してクリーニングを指示する。
【００７９】
このようにして、第３の指示部１６７Ａは、閾値算出部１６６Ａによって算出されたそれぞれの閾値のうち最小の値を示す閾値を監視Ｚに反映するので、テープ制御ソフトウェア３１Ａ、３１Ｂにそれぞれ閾値を定義したユーザの意向を重視できる。
【００８０】
［実施例の効果］
上記実施例によれば、仮想テープ装置１は、ホスト３から当該ホスト３に割り当てられた所定の仮想テープドライブ１１１のクリーニング命令を受け取ると、該クリーニング命令を自装置と接続されるテープライブラリ装置２に出力するか否かを判定する。そして、仮想テープ装置１は、該クリーニング命令をテープライブラリ装置２に出力すると判定した場合、該クリーニング命令がされた仮想テープドライブ１１１に対応する、テープライブラリ装置２内の物理テープドライブ２１にクリーニングを指示する。かかる構成によれば、仮想テープ装置１は、ホスト３から受け付けた、仮想テープドライブ１１１のクリーニング命令を判定し、判定に応じて物理テープドライブ２１にクリーニング指示を行う。この結果、ホスト３は、物理テープドライブ２１のクリーニングについて、管理することができる。
【００８１】
また、上記実施例によれば、仮想テープ装置１は、テープライブラリ装置２内の物理テープドライブ２１からクリーニング要求を受け取った場合、複数の仮想テープドライブ１１１のうち、仮想テープがマウントされていない仮想テープドライブ１１１を選択する。そして、仮想テープ装置１は、選択した仮想テープドライブ１１１のクリーニング要求をホスト３に対して中継する。そして、仮想テープ装置１は、ホスト３から仮想テープドライブ１１１のクリーニング要求に対するクリーニング命令を受け取ると、該クリーニング命令をテープライブラリ装置２に出力すると判定する。さらに、仮想テープ装置１は、クリーニング要求の要求元の物理テープドライブ２１にクリーニングを指示する。かかる構成によれば、仮想テープ装置１は、仮想テープがマウントされていない仮想テープドライブ１１１をホスト３へのクリーニング要求の中継に用いて、クリーニング要求の要求元の物理テープドライブ２１にクリーニング指示を行う。この結果、ホスト３は、物理テープドライブ２１からクリーニング要求がされたクリーニングについて、管理することができる。
【００８２】
また、上記実施例によれば、仮想テープ装置１は、該クリーニング命令をテープライブラリ装置２に出力しないと判定した場合、以下の処理を行う。仮想テープ装置１は、該クリーニング命令と、該クリーニング命令がされた仮想テープドライブ１１１と異なる仮想テープドライブ１１１のクリーニング命令とが規定時間の範囲内に有るか否かを判定する。そして、仮想テープ装置１は、該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に有ると判定した場合、全ての物理テープドライブ２１にクリーニングを指示する。かかる構成によれば、仮想テープ装置１は、ホスト３から規定時間の範囲内に少なくとも２つの仮想テープドライブ１１１のクリーニング命令が有る場合、全ての物理テープドライブ２１にクリーニング指示を行う。この結果、ホスト３は、全ての物理テープドライブ２１を周期的にクリーニングする周期クリーニングについて、管理することができる。
【００８３】
また、かかる構成によれば、仮想テープ装置１は、該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に無いと判定した場合、以下の処理を行う。仮想テープ装置１は、該クリーニング命令がされた仮想テープドライブ１１１と、該命令以前にクリーニング命令がされた仮想テープドライブ１１１との各使用時間を用いて、ホスト３から各仮想テープドライブ１１１にクリーニング命令がされる平均的な使用時間を算出する。そして、仮想テープ装置１は、物理テープドライブ２１の使用時間について、算出した使用時間を越えた物理テープドライブ２１にクリーニングを指示する。かかる構成によれば、仮想テープ装置１は、ホスト３によって各仮想テープドライブ１１１にクリーニング命令がされるタイミング（使用時間）を算出できる。そして、仮想テープ装置１は、算出したタイミングを各物理テープドライブ２１のクリーニング指示のタイミングに反映できる。この結果、仮想テープ装置１は、ホスト３が意図したタイミングで物理テープドライブ２１のクリーニングを行うことができる。つまり、ホスト３は、物理テープドライブ２１の使用時間に応じたクリーニングについて、管理することができる。
【００８４】
また、かかる構成によれば、仮想テープ装置１は、複数のホスト３にそれぞれ割り当てられた各仮想テープドライブ１１１にクリーニングを命令する平均的な使用時間をそれぞれ算出する。そして、仮想テープ装置１は、算出したそれぞれの使用時間のうち最小の値を示す使用時間を選択し、選択した使用時間を越えた物理テープドライブ２１にクリーニングを指示する。かかる構成によれば、仮想テープ装置１は、算出したそれぞれの使用時間のうち最小の値を示す使用時間を、各物理テープドライブ２１のクリーニング指示のタイミングに反映できる。この結果、仮想テープ装置１は、複数のサーバ３それぞれの意向を重視できる。
【００８５】
［その他］
なお、仮想テープ装置１は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したクリーニング要求中継部１６１、クリーニング命令判定部１６２などの各機能を搭載することによって実現することができる。
【００８６】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クリーニング命令判定部１６２と連続受領判定部１６４とを１個の部として統合しても良い。一方、閾値算出部１６６を、ホスト３で用いられている閾値を算出する算出部と、算出した閾値を物理テープドライブ２１の使用時間の監視で用いられる閾値に反映する反映部とに分散しても良い。また、制御管理テーブル１５１などの記憶部を仮想テープ装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【００８７】
また、仮想テープ装置１にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）（またはＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）などのマイクロコンピュータ）および当該ＣＰＵ（またはＭＰＵ、ＭＣＵなどのマイクロ・コンピュータ）にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
【００８８】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【００８９】
（付記１）複数の仮想テープドライブと、
情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される物理テープ装置に出力するか否かを判定する判定部と、
前記判定部によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する指示部と
を有することを特徴とする仮想テープ装置。
【００９０】
（付記２）前記物理テープ装置内の物理テープドライブからクリーニング要求を受け取った場合、前記複数の仮想テープドライブのうち、仮想テープがマウントされていない仮想テープドライブを選択し、選択した仮想テープドライブのクリーニング要求を前記情報処理装置に対して中継する中継部をさらに有し、
前記判定部は、前記情報処理装置から前記中継部によって中継された、仮想テープドライブのクリーニング要求に対するクリーニング命令を受け取ると、該クリーニング命令を前記物理テープ装置に出力すると判定し、
前記指示部は、前記クリーニング要求の要求元の物理テープドライブに対してクリーニングを指示する
ことを特徴とする付記１に記載の仮想テープ装置。
【００９１】
（付記３）前記判定部によって該クリーニング命令を前記物理テープ装置に出力しないと判定した場合、該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に有るか否かを判定する第２の判定部と、
前記第２の判定部によって該クリーニング命令と、該クリーニング命令が出された仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に有ると判定された場合、前記物理テープ装置内の全ての物理テープドライブに対してクリーニングを指示する第２の指示部とを
さらに有することを特徴とする付記１に記載の仮想テープ装置。
【００９２】
（付記４）仮想テープがマウントされた累積時間を仮想テープドライブ毎に記憶する第１の記憶部と、
物理テープがマウントされた累積時間を物理テープドライブ毎に記憶する第２の記憶部と、
前記第２の判定部によって該クリーニング命令と、該クリーニング命令がされた仮想テープドライブと異なる仮想テープドライブのクリーニング命令とが規定時間の範囲内に無いと判定された場合、前記第１の記憶部の、該クリーニング命令が出された仮想テープドライブの累積時間と、前記第１の記憶部の、該クリーニング命令より前にクリーニング命令がされた仮想テープドライブの累積時間とを用いて、前記情報処理装置から各仮想テープドライブにクリーニングを命令する平均的な累積時間を算出する算出部と、
前記第２の記憶部によって記憶された前記物理テープドライブの累積時間について、前記算出部によって算出された累積時間を越えた物理テープドライブに対してクリーニングを指示する第３の指示部とを
さらに有することを特徴とする付記３に記載の仮想テープ装置。
【００９３】
（付記５）前記算出部は、複数の情報処理装置にそれぞれ割り当てられた各仮想テープドライブにクリーニングを命令する平均的な累積時間をそれぞれ算出し、
前記第３の指示部は、前記算出部によって算出されたそれぞれの累積時間のうち最小の値を示す累積時間を選択し、選択した累積時間を越えた物理テープドライブに対してクリーニングを指示する
ことを特徴とする付記４に記載の仮想テープ装置。
【００９４】
（付記６）コンピュータが、
情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される物理テープ装置に出力するか否かを判定し、
前記判定する処理によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する
各処理を実行することを特徴とするクリーニング制御方法。
【００９５】
（付記７）複数の仮想テープドライブを有する仮想テープ装置と複数の物理テープドライブを有する物理テープ装置とを含む仮想テープシステムにおいて、
前記仮想テープ装置は、
情報処理装置から当該情報処理装置に割り当てられた所定の仮想テープドライブのクリーニング命令を受け取ると、該クリーニング命令を自装置と接続される前記物理テープ装置に出力するか否かを判定する判定部と、
前記判定部によって該クリーニング命令を前記物理テープ装置に出力すると判定した場合、該クリーニング命令が出された仮想テープドライブに対応する、前記物理テープ装置内の物理テープドライブに対してクリーニングを指示する指示部と
を有することを特徴とする仮想テープシステム。
【符号の説明】
【００９６】
１      仮想テープ装置
２      テープライブラリ装置
３      ホスト
９      仮想テープシステム
１１    ＩＣＰ
１２    ＩＤＰ
１３    ディスクアレイ
１４    ＶＬＰ
１５    記憶部
１６    制御部
２１    物理テープドライブ
３１    テープ制御ソフトウェア
１１１  仮想テープドライブ
１５１  制御管理テーブル
１５２  仮想ドライブ管理テーブル
１５３  物理ドライブ管理テーブル
１６１  クリーニング要求中継部
１６２  クリーニング命令判定部
１６３  第１の指示部
１６４  連続受領判定部
１６５  第２の指示部
１６６  閾値算出部
１６７  第３の指示部
３１１  仮想ドライブ監視部
【図１】
0005783071.tif 000002
【図２】
0005783071.tif 000003
【図３】
0005783071.tif 000004
【図４】
0005783071.tif 000005
【図５】
0005783071.tif 000006
【図６】
0005783071.tif 000007
【図７】
0005783071.tif 000008
【図８】
0005783071.tif 000009
【図９】
0005783071.tif 000010