(57)【特許請求の範囲】
【請求項１】
論理ボリュームを再呼び出しするためのシステムであって、
少なくとも１つの論理ボリュームを保持するマウント可能メディアを受け取るように構成された少なくとも１つのドライブ・ユニットと、
前記ドライブ・ユニットにマウント可能メディアを提供するために前記ドライブ・ユニットに動作可能なように接続されたテープ・ライブラリと、
前記マウント可能メディアから受け取られた論理ボリュームを格納するように構成されたキャッシュと、
プロセッサ上で実行するための複数のモジュールを保持するメモリとを備え、
前記複数のモジュールが、
それぞれの再呼び出し要求が実装可能メディアに格納された論理ボリュームを対象とする、複数の再呼び出し要求を受け取るように構成された受け取りモジュールと、
それぞれの再呼び出し要求を処理のためにキュー内に配置するように構成されたキューイング・モジュールと、
少なくとも１つの最適化規則に従って前記キューを再配列するように構成されたオプティマイザ・モジュールとを有し、
前記オプティマイザ・モジュールが、それぞれの再呼び出し要求が単一のマウント可能メディア上に常駐する一の論理ボリュームに対応する、少なくとも２つの再呼び出し要求を前記キュー内で順次にグループ化するとともに、当該少なくとも２つの再呼び出し要求のうちの第２の再呼び出し要求が再配列によって以前に移動された場合には、当該第２の再呼び出し要求の後に当該少なくとも２つの再呼び出し要求のうちの第１の再呼び出し要求が処理されるように、当該第２の再呼び出し要求の状況に基づいて当該第１の再呼び出し要求を処理する、システム。
【請求項２】
前記単一のマウント可能メディアに対応する前記少なくとも２つの再呼び出し要求が、当該マウント可能メディア上の当該少なくとも２つの再呼び出し要求の物理的場所に従って前記キュー内でグループ化される、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想テープ・サーバにおける論理ボリュームの再呼び出しに関し、とりわけ、処理される再呼び出し要求のキューへの最適化規則の適用を通じて、論理ボリュームに対する複数の再呼び出し要求を最適化することに関する。
【背景技術】
【０００２】
通常、データ処理システムは大量のデータ記憶容量を必要とし、そのうちの一部はすぐに必要であってメモリおよびハード・ディスク・ドライブに格納可能であり、他の部分はすぐには必要でない。
【０００３】
一例として、すぐに必要でないデータは頻繁にアクセスされないデータを有することが可能であり、データのストレージは、磁気テープまたは光ディスクなどの取り外し可能な再書き込み可能物理メディア・ボリューム上に格納されるデータの論理ボリュームの形を取ることが可能であり、物理メディア・ボリュームはデータ・ストレージ・ドライブによって書き込みあるいは読み取りまたはその両方が可能である。
【０００４】
大量のデータが格納された後、時折アクセスされる場合、自動化データ・ストレージ・ライブラリによって支援される仮想テープ・サーバ（ＶＴＳ）がしばしば採用される。こうしたライブラリは、物理メディア・ボリューム上に格納された大量のデータへの効率的なアクセスを提供する。こうした物理メディア・ボリュームは、ストレージ・シェルフに格納され、１つ以上のアクセサによってアクセスされ、ライブラリ内のデータ・ストレージ・ドライブに移送される。
【０００５】
論理ボリュームを作成または修正するための要求は、ホスト・データ処理システムによって、ＶＴＳに対して発行される。要求が、要求された論理ボリュームを保持する物理メディア・ボリュームへのアクセスを必要とする場合、ＶＴＳは、それに接続されたライブラリに対して、ストレージ・シェルフから物理メディア・ボリュームにアクセスし、所望のデータ・ストレージ・ドライブに物理メディア・ボリュームをマウントするように命令する。論理ボリュームは、ハード・ディスク・ドライブまたは他の高速ストレージを有することが可能なキャッシュ・ストレージに読み取られるため、即時にアクセスしてホスト・システムに提供することが可能である。
【０００６】
要求がすでにキャッシュ内にある論理ボリュームに対するものであるか、または本明細書ではスクラッチ・マウントと呼ばれる完全に再書き込みされることになる論理ボリュームに対するものである場合、物理メディア・ボリュームへのアクセスは必要ない。その後ホスト・システムは、ＶＴＳを介して、キャッシュ内の論理ボリュームから読み取るかまたはこれへ書き込む。ホスト・システムが論理ボリュームを閉じた場合、論理ボリュームはキャッシュ・ストレージ内に残るため、即時に再アクセスすることができる。
【０００７】
通常、キャッシュ・ストレージの容量は限られており、キャッシュ・ストレージ内のスペースを解放するために、更新済みの論理ボリュームを、物理メディア・ボリュームを格納する、ストレージ・シェルフに逆移行する必要がある。通常、論理ボリュームをキャッシュ・ストレージからストレージ・シェルフに逆移行するためには、最小使用頻度すなわちＬＲＵアルゴリズムが採用される。
【０００８】
移行済み論理ボリュームの再呼び出しおよびコピーを行うには、移行済み論理ボリュームを保持する物理メディア・ボリュームをデータ・ストレージ・ドライブ上にマウントする必要がある。そうすると、論理ボリュームをキャッシュ・ストレージに再呼び出しし、再アクセスおよびコピーすることができる。
【０００９】
米国特許第６５０７８８３号明細書は、自動化データ・ストレージ・ライブラリ内の冗長ストレージ用に物理メディア・ボリュームからキャッシュへ論理ボリュームを再呼び出しするための方法および装置を開示する。
【００１０】
ボリューム・マッピングを使用して、ストレージ・カートリッジ（スタック・ボリュームまたは物理ボリューム）の物理容量と、このカートリッジ上に格納されるファイルまたはブロックのデータ・ストレージ・ユニット・サイズ（仮想ボリュームまたは論理ボリューム）との間の相関を作成する。ディスクの使用可能データ・ストレージ容量が与えられた場合、こうしたマッピングにより、複数の論理ボリュームを単一の物理ボリューム上に格納することが可能となるため、使用可能ストレージ・メディアが効率良く使用される。仮想テープ・サーバ（ＶＴＳ）は、物理ボリュームおよび論理ボリューム間でこうしたマッピングを作成および維持することができるデバイスの１つである。
【００１１】
典型的なＶＴＳは、仮想ボリュームの再呼び出しに使用可能な少数の物理ドライブを有する。ＶＴＳは、仮想ボリュームへのアクセスを提供する、たとえば２５６個などのより多くの仮想デバイスを有する。ＶＴＳでは、物理テープをマウントするためにある物理ドライブよりも多くの仮想デバイスが、キャッシュ内にない仮想ボリュームにアクセスする場合がある。このような場合、追加の再呼び出し要求が処理のためにキューに、通常は先入れ先出しキューに入れられる。一般に、キューに入れられるこれらの再呼び出し要求は、先入れ先出し順で処理される場合、呼び出される論理ボリューム当たり１つのロード／アンロード・サイクルを必要とする順序で到着する。
【００１２】
いくつかの既知のＶＴＳシステムに関する問題の１つは、物理メディアからの論理ボリュームの呼び出しに時間がかかる可能性があるということである。たとえば、使用中のＶＴＳでは、一部またはすべてのドライブが、カートリッジなどの物理メディアをマウントまたはロードしている。再呼び出しが要求された場合、カートリッジまたは物理テープを物理ドライブからアンロードまたは取り外さなければならない。このプロセスには１分以上かかる可能性がある。次の物理テープを物理テープ・ドライブにロードし、仮想ボリュームの先頭にテープを位置付けるために、さらに１分が費やされる可能性もある。物理テープまたは他のマウント可能メディアからＶＴＳキャッシュへ仮想ボリュームを転送するために、さらに１分が費やされる可能性もある。一般に、テープから仮想ボリュームを再呼び出しするために費やされる時間の大部分は、物理テープ・カートリッジのロードおよびアンロードに費やされる。
【特許文献１】米国特許第６５０７８８３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１３】
したがって、再呼び出し要求の効率を上げる仮想テープ・システムおよび方法を提供することが、当分野における向上につながるであろう。さらに、任意の特定の要求について要求元を長く待たせすぎることなく、より高い効率を達成することが可能なこうした仮想テープ・サーバを提供することも、当分野における向上につながるであろう。さらに、任意の再呼び出し要求を過度に不利にすることなく、再呼び出しを効率よく要求することが可能なこうした仮想テープ・サーバを提供することも、当分野における向上につながるであろう。再呼び出しを要求する場合に仮想テープ・リソースを最小限にするこうした仮想テープ・システムを提供することも、当分野における他の向上につながるであろう。本明細書は、こうした仮想テープ・サーバを開示する。
【課題を解決するための手段】
【００１４】
本発明は、当分野の現状に応えて、特に、現在使用可能な仮想テープ・サーバではいまだ完全に解決されていない当分野の問題およびニーズに応えて、開発された。したがって本発明は、前述の従来技術の欠点の多くまたはすべてを克服する、仮想テープ・サーバにおける論理ボリュームの再呼び出し要求を最適化するための装置、システム、および方法を提供するために開発された。
【００１５】
論理ボリュームを再呼び出しするための装置は、再呼び出し要求を受け取り、再呼び出し要求をキュー内に配置し、キューの処理を最適化するという必要なステップを機能的に実行するように構成された複数のモジュールを含む、論理ユニットを備える。
【００１６】
一実施形態では、１つ以上の最適化規則に従ってキューを再配列することにより、キューの処理を最適化するように装置を構成することが可能である。ディスク・カートリッジなどの１つのマウント可能メディア上に常駐する論理ボリュームに対する１つ以上の要求は、これらの論理ボリュームに対する再呼び出し要求が最初に順次受け取られたかどうかにかかわらず、単一ドライブ上で順次にグループ化または処理することが可能である。
【００１７】
さらにこの装置は、第１の再呼び出し要求を第２の再呼び出し要求の状況に基づいて処理するように構成することも可能である。オプティマイザ・モジュールは、最適化規則をキューの処理に適用することができるが、特定の再呼び出し要求の状況が長時間処理待ちであることを示す場合、最適化を中止することができる。
【００１８】
論理ボリュームを再呼び出しするための本発明のシステムも提示される。このシステムは、プロセッサ、ドライブ・ユニット、およびテープ・ライブラリを含むキャッシュ・システム内で具体化することができる。テープ・ライブラリは、マウント可能メディア上に格納された論理ボリュームをキャッシュに提供することができる。一実施形態では、プロセッサは、論理ボリュームを格納するように構成されたプロセッサ・キャッシュに結合される。
【００１９】
さらにこのシステムは、プロセッサ上で実行するための複数のモジュールを保持するメモリを含むこともできる。一実施形態では、メモリは、ディスク・カートリッジなどのマウント可能メディア上に見出される論理ボリュームを対象とする１つ以上の再呼び出し要求を受け取るための、受け取りモジュールを含む。メモリは、処理のために各再呼び出し要求をキュー内に配置するためのキュー・モジュールも含むことができる。メモリは、最適化規則をキュー内の再呼び出し要求の処理に適用する、オプティマイザ・モジュールも含むことができる。
【００２０】
論理ボリュームを再呼び出しするための本発明の方法も提示される。開示された実施形態におけるこの方法は、実質上、前述の装置およびシステムのオペレーションに関して前述の機能を実施するために必要な複数のステップを含む。一実施形態では、この方法は、マウント可能メディアに格納された論理ボリュームに対する複数の再呼び出し要求を受け取ることを含む。この方法は、処理のために各再呼び出し要求をキュー内に配置し、そして処理のためにキュー内の要求を再配列するための少なくとも１つの最適化規則を適用することを含むことも可能である。
【００２１】
本明細書全体を通じた機能、利点、または同様の用語への言及は、本発明によって具体化可能な機能および利点のすべてが本発明のいずれかの単一の実施形態にあるべきまたはあるということを暗に示すものではない。むしろ機能および利点に言及する用語は、一実施形態に関連して説明された特定の機能、利点、または特徴が本発明の少なくとも１つの実施形態に含まれることを意味するためのものであると理解される。したがって、本明細書全体を通じた機能および利点の考察ならびに同様の用語は、同じ実施形態について言及するものである可能性があるが、必ずしもそうではない。
【００２２】
さらに本明細書に記載された機能、利点、および特徴は、１つ以上の実施形態において任意の好適な様式で組み合わせることができる。当業者であれば、本発明が特定の実施形態の１つ以上の特定の機能または利点なしで実施可能であることを理解されよう。その他の場合、ある実施形態における追加の機能および利点が、本発明のすべての実施形態には存在しない可能性があることを理解されよう。
【００２３】
本発明のこれらの機能および利点は、以下の説明および特許請求の範囲からより完全に明らかとなるか、本明細書で以下に示すような本発明の実施によって習得可能である。
【００２４】
本発明の利点を容易に理解するために、上記で簡潔に説明した本発明について、添付の図面に示された特定の実施形態を参照しながらより詳細に説明する。これらの図面が本発明の典型的な実施形態を示すものであり、その範囲を限定するものとみなされないことを理解した上で、添付の図面を使用して本発明の追加の特異性および詳細について説明する。
【発明を実施するための最良の形態】
【００２５】
本明細書に記載された多くの機能ユニットは、それらの実装独立性を特に強調するためにモジュールとしてラベル表示されている。たとえばモジュールは、カスタムＶＬＳＩ回路またはゲート・アレイを有するハードウェア回路、論理チップなどの既製の半導体、トランジスタ、あるいは他の離散的コンポーネントとして実装可能である。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイスなどの、プログラマブル・ハードウェア・デバイスとしても実装可能である。
【００２６】
モジュールは、様々なタイプのプロセッサによる実行用のソフトウェアとしても実装可能である。たとえば、実行可能コードの識別モジュールは、たとえばオブジェクト、プロシージャ、または関数として編成可能なコンピュータ命令の１つ以上の物理または論理ブロックを有することができる。それにもかかわらず、実行可能コードの識別モジュールは、物理的に一緒にある必要はないが、論理的にまとめて結合された場合、モジュールを構成し、このモジュールの定められた目的を達成する、様々な場所に格納された異なる命令を有することができる。
【００２７】
実際のところ、実行可能コードのモジュールは、単一の命令または多くの命令である可能性があり、いくつかの異なるコード・セグメントを介して、異なるプログラム間で、およびいくつかのメモリ・デバイスを横切って、分散することさえも可能である。同様に、本明細書ではオペレーショナル・データは、識別されてモジュール内に存在することが可能であり、任意の好適な形で具体化すること、および任意の好適なタイプのデータ構造内に編成することが可能である。オペレーショナル・データは、単一のデータ・セットとして収集すること、または異なるストレージ・デバイスにわたることを含む異なる位置にわたって分散することが可能であり、少なくとも物理的に、単にシステムまたはネットワーク上の電子信号として存在することが可能である。
【００２８】
本明細書全体を通じた「一実施形態」、「実施形態」、または同様の用語への言及は、この実施形態に関連して記載された特定の機能、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて出現する「一実施形態において」、「実施形態において」、および同様の用語は、すべて同じ実施形態に言及するものとすることができるが、その限りではない。
【００２９】
信号担持メディアへの言及は、信号を生成すること、信号を生成させること、またはデジタル処理装置上でマシン読み取り可能命令のプログラムを実行させることが可能な、任意の形を取ることができる。信号担持メディアは、伝送回線、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、または他のデジタル処理装置メモリ・デバイスによって具体化可能である。
【００３０】
さらに、本明細書に記載された機能、構造、または特徴は、１つ以上の実施形態において任意の好適な方式で組み合わせることが可能である。以下の説明では、本発明の諸実施形態を完全に理解するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどの例などの、多数の特定の細部が提供される。ただし、当業者であれば、１つ以上の特定の細部なしで、あるいは他の方法、コンポーネント、材料などを使用して、本発明が実施可能であることを理解されよう。その他の場合、本発明の態様をあいまいにしないように、周知の構造、材料、またはオペレーションについては詳細に図示または説明しない。
【００３１】
図１は、本発明に従った代表的な仮想テープ・システム１００の一実施形態を示す概略ブロック図である。システム１００は、自動化ライブラリ・ユニット１０２、少なくとも１つのＶＴＳ １０４、および少なくとも１つのホスト１０６を含む。各ホスト１０６は、メインフレーム・コンピュータとすることができる。代替的に、ホスト１０６は様々なオペレーティング・システムを使用するサーバまたはパーソナル・コンピュータとすることができる。ホスト１０６およびＶＴＳ １０４は、ストレージ・エリア・ネットワーク（ＳＡＮ）１０８または、他の好適な通信チャネル、たとえばＩＢＭ（商標）メインフレーム・コンピュータで使用されるエンタープライズ・システム接続（ＥＳＣＯＮ）（商標）チャネルを介して接続される。
【００３２】
自動化テープ・ライブラリ・ユニット１０２は、ライブラリ・マネージャ１１０と、テープ・ドライブ・ユニット１１２とすることができる１つ以上のデータ・ドライブ・デバイスと、アクセサ１１４と、複数のマウント可能メディア１１６とを含む。一実施形態では、マウント可能メディア１１６には、テープ・カートリッジ、磁気ディスク、光ディスク、ＣＤ、ＤＶＤ、データの格納およびテープ・ドライブ・ユニット１１２へのマウントが可能な他のデバイスが含まれる。少なくとも１つのコンピューティング・プロセッサを含むライブラリ・マネージャ１１０は、テープ・ドライブ・ユニット１１２およびアクセサ１１４と相互接続され、これらのアクションを制御する。ライブラリ・マネージャ１１０の構成は、以下でより詳細に図示および説明する。
【００３３】
図１には、３つのテープ・ドライブ・ユニット１１２ａ〜１１２ｃが示されている。本発明は、１つ以上のテープ・ドライブ・ユニット１１２で動作可能である。テープ・ドライブ・ユニット１１２は、マウント可能メディア１１６の１つの単一リポジトリを共有する。代替的に、テープ・ドライブ・ユニット１１２は、マウント可能メディア１１６の複数のリポジトリを利用することも可能である。テープ・ドライブ・ユニット１１２は、複数のテープ・ドライブ・ユニット１１２が１つの場所での災害により機能不全に陥る確率を下げるために、複数の場所にわたって有利に分散させることができる。
【００３４】
ライブラリ・マネージャ１１０と、テープ・ドライブ・ユニット１１２と、アクセサ１１４との間の相互接続が破線になっているのは、データが格納または検索されるのではなく、ライブラリ・マネージャ１１０がテープ・ドライブ・ユニット１１２あるいはアクセサ１１４またはその両方に制御信号を送信および受信することを示すためである。その代わりに、格納または検索用のデータは、ＶＴＳ １０４とテープ・ドライブ・ユニット１１２との間で、ネットワーク１１８を介して直接伝送することが可能である。ネットワーク１１８は、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、あるいは、インターネットまたはＶＴＳ １０４とテープ・ドライブ・ユニット１１２との間のポイント・ツー・ポイントまたはマルチドロップ・バス接続、たとえばＳＣＳＩ（Small Computer Storage Interface）インターフェースを介した直接接続を含む、他の好適なタイプのネットワークとすることが可能である。代替的に、テープ・ドライブ１１２用の制御信号を、ＶＴＳ １０４とライブラリ・マネージャ１１０との間、およびネットワーク１１８を介したＶＴＳ １０４とテープ・ドライブ１１２との間で、接続を介して送信および受信することができる。
【００３５】
アクセサ１１４は、ストレージ・ビンとテープ・ドライブ・ユニット１１２との間で選択されたマウント可能メディア１１６を移送するように構成された、ロボット・アームまたは他の機械的なデバイスとすることができる。アクセサ１１４は、通常、グリッパと、グリッパ上にマウントされたバー・コード・スキャナまたは同様の読み取りシステムとを含む。バー・コード・スキャナは、カートリッジ１１６に貼付されたカートリッジ・ラベル上に印刷されたボリューム通し番号（ＶＯＬＳＥＲ）を読み取るために使用される。代替の実施形態では、テープ・ドライブ・ユニット１１２を光ディスク・ドライブまたは他の磁気ドライブに置き換えることができる。同様に、マウント可能メディア１１６は、磁気メディア、光メディア、または採用されるドライブの種類に対応した任意の他の取り外し可能メディアを含むことができる。
【００３６】
制御コンソール１２０はライブラリ・マネージャ１１０に接続される。制御コンソール１２０は、ライブラリ・マネージャ１１０と通信するコンピュータとすることが可能であるため、ユーザは、ホスト１０６とは独立にテープ・ライブラリ・ユニット１０２のオペレーティング・パラメータを制御することができる。
【００３７】
図２は、図１のＶＴＳ １０４の一実施形態およびライブラリ・マネージャ１１０の一実施形態を示す概略ブロック図である。ＶＴＳ １０４およびライブラリ・マネージャ１１０は、それぞれがバス、プロセッサ、メモリ、その他を備えたコンピュータの形を取ることが可能である。これらの要素は、本発明に関するＶＴＳ １０４およびライブラリ・マネージャ１１０の様々な実行可能モジュールおよびデータ・ブロックをより明確に示すために、図２から省略されている。ＶＴＳまたはライブラリ・マネージャの実装には、当分野で公知の他の実行可能モジュールおよびデータ・ブロックが存在する可能性もあるが、本発明に不可欠な要素に焦点を当てるために省略されている。
【００３８】
図示のように、ＶＴＳ １０４は、複数の仮想テープ・ドライブ２００、ファイル・システム・マネージャ２０２、自動化ストレージ・マネージャ２０６、キュー２０８、および少なくとも１つのダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ）キャッシュ２１０を含む。ＤＡＳＤキャッシュ２１０は、ホスト１０６からのデータを仮想または論理ボリューム上にファイルの形で一時的に格納するため、「キャッシュ」と呼ばれる場合もある。ホスト１０６からの書き込みコマンドは、ＶＴＳ １０４により、仮想テープ・ドライブ２００を介してＤＡＳＤキャッシュ２１０へと処理された後、更新済みの論理ボリュームがＤＡＳＤキャッシュ２１０からマウント可能メディアまたは物理ボリューム１１６（図１）に転送される。一例によれば、ＤＡＳＤキャッシュ２１０は、ＲＡＩＤ ５などの独立ドライブの冗長アレイ（ＲＡＩＤ構成）として編成可能な１つ以上のハード・ディスク・ドライブの形を取る。仮想テープ・ドライブ２００は、ホスト１０６からの制御コマンドも処理する。
【００３９】
ファイル・システム・マネージャ２０２は、ＤＡＳＤキャッシュ２１０内のデータ・ストレージを管理および調整する。自動化ストレージ・マネージャ２０６は、ファイル・システム・マネージャ２０２とテープ・ドライブ・ユニット１１２との間のインターフェース通信を制御し、ＶＴＳ １０４とライブラリ・マネージャ１１０との間の通信も制御する。一実施形態では、ホスト１０６は、特定の論理ボリュームを要求することになる。自動化ストレージ・マネージャ２０６は、論理ボリュームがＤＡＳＤキャッシュ２１０内にあるかどうかを決定する。ここにない場合、自動化ストレージ・マネージャ２０６は、その再呼び出しを物理ボリュームまたはマウント可能メディア１１６から要求する。自動化ストレージ・マネージャ２０６は、処理されることになる追加の再呼び出し要求を一時的に配置するためのキュー２０８も含むことができる。したがって、自動化ストレージ・マネージャ２０６は、テープ・ドライブ１１２ａ〜１１２ｃ（図１）を用いてマウント可能メディア１１６から論理ボリュームを再呼び出しするための装置である。
【００４０】
ライブラリ・マネージャ１１０は、仮想および物理ボリュームならびに構成体を管理する。さらに具体的に言えば、ライブラリ・マネージャ１１０は、仮想テープ・ドライブ２００および自動化ストレージ・マネージャ２０６から制御コマンドを受け取るコマンド・プロセッサ２２５を含む。コマンド・プロセッサ２２５は、仮想および物理ボリュームの管理に関する命令をボリューム・マネージャ２３５に渡す。ボリューム・マネージャ２３５は、仮想および物理ボリュームに関する情報を、ライブラリ・マネージャ１１０のデータベース２３０上に格納する。さらにボリューム・マネージャ２３５は、受け取った命令に応じて、仮想ボリュームのコピーが作成または検索されることになるカートリッジまたは他のマウント可能メディア１１６をロードまたは「マウント」するための命令を、テープ・ドライブ・ユニット１１２あるいはアクセサ１１４またはその両方に送る。複数のカートリッジ１１６のマウンテングは、アクセサ１１４およびテープ・ドライブ・ユニット１１２の構成に応じて、全体的に同時的であるかまたはある一定の順序で行うことができる。
【００４１】
ライブラリ・マネージャ１１０の構成体マネージャ２４０は、所与の構成体名について従うことになるボリューム管理アクションに関して、制御コンソール１２０からユーザ命令を受け取る。ボリューム管理アクションは、ライブラリ・マネージャ１１０のデータベース２３０上で構成体マネージャ２４０によって格納および検索される。コマンド・プロセッサ２２５によって受け取られたある種の制御コマンドについて、コマンド・プロセッサ２２５は、特定の仮想ボリュームに対するボリューム管理アクションを提供するように構成体マネージャ２４０に命令する。その後コマンド・プロセッサ２２５は、戻された特定の仮想ボリュームに対するボリューム管理アクションを自動化ストレージ・マネージャ２０６に渡す。
【００４２】
図３は、本発明に従った自動化ストレージ・マネージャ２０６の一実施形態を示す概略ブロック図である。本発明のシステムは、実行可能モジュールとしてプロセッサ上のメモリ内に常駐することができる。自動化ストレージ・マネージャ２０６は、こうしたメモリ内に常駐し、プロセッサ上で実行するための複数のモジュールを含むことが可能である。一実施形態では、自動化ストレージ・マネージャ２０６は、マウント可能メディア１１６上に格納された論理ボリュームを対象とする複数の再呼び出し要求を受け取るように構成された受け取りモジュール３００と、各再呼び出し要求を処理のためにキュー２０８内に配置するように構成されたキューイング・モジュール３０２と、少なくとも１つの最適化規則をキュー２０８内の再呼び出し要求の処理に適用するように動作するオプティマイザ・モジュール３０４を含むことができる。
【００４３】
本発明の一実施形態では、自動化ストレージ・マネージャ２０６は、キュー２０８内の再呼び出し要求が処理される効率を最適化するようにキュー２０８を再配列する。この再配列は、第１の再呼び出し要求をデキューすること、およびこの要求を別の時点で処理されるように別の位置にリキューすることを含むことができる。自動化ストレージ・マネージャ２０６は、キュー２０８内の第１の再呼び出し要求を、第２の再呼び出し要求の状況に基づいて処理することができる。任意の再呼び出し要求の状況は、再呼び出し要求がキュー２０８内にあった時間量、キュー２０８内の再呼び出し要求の位置、再呼び出し要求の対象となるマウント可能メディア１１６、再呼び出し要求によって要求されたデータを保持する記録の物理的場所、再呼び出し要求が最適化のためにかって（その位置を）移動されたことがあるかどうか、再呼び出し要求によって要求された論理ボリュームのサイズなどを含むことができる。一実施形態では、オプティマイザ・モジュール３０４は、第２の要求の状況が第１の再呼び出し要求よりも第２の要求の方が処理のために長い時間待機していることを示す場合は、第２の再呼び出し要求の後に第１の再呼び出し要求を処理することができる。
【００４４】
一実施形態では、オプティマイザ・モジュール３０４は、最適化規則を適用することにより、１つのマウント可能メディア１１６上に常駐する論理ボリュームに対応する最小数の再呼び出し要求を、キュー２０８内で順次にグループ化することができる。本発明の他の実施形態では、１つのマウント可能メディア１１６上に常駐する論理ボリュームに対応する２つの再呼び出し要求が、順次に処理されるようにまとめてグループ化される。
【００４５】
例を挙げると、マウント可能メディア１１６がテープ・ドライブ１１２ａ〜１１２ｃ（図１）のそれぞれにマウントまたはロードされると想定する。この例では、典型的な「最小使用頻度」処理順序の下で、特定の再呼び出し要求がキュー２０８内の１つ以上の再呼び出し要求の後で処理されるように、この特定の再呼び出し要求をキュー２０８内に配置することが可能である。この例では、キュー２０８内の前記１つ以上の再呼び出し要求の中には、ロードされたマウント可能メディア上のデータを対象とするものがないと想定する。オプティマイザ・モジュール３０４は、この特定の再呼び出し要求が、テープ・ドライブ１１２ａ〜１１２ｃのうちの１つにロードされたマウント可能メディア１１６のうちの１つにあるデータを対象としている旨を決定することができる。オプティマイザ・モジュール３０４は、すでにキュー２０８内にある前記１つ以上の再呼び出し要求の前に、この特定の再呼び出し要求が次に処理されるようにキュー２０８を再配列することができる。当業者であれば、単一のマウントされたメディア上のデータを対象とする１つ以上の再呼び出し要求をグループ化し、それらのグループ化された再呼び出し要求を順次に処理することが、より効率的であることを理解されよう。この様式で再呼び出し要求をグループ化すると、再呼び出しが要求された順序に関係なく、これらのグループ化された再呼び出し要求のそれぞれについてメディア１１６をロードおよびアンロードする必要がなくなる。これに対し、これらの再呼び出し要求を元の順序で処理する場合には、こうした効率的処理を期待することはできない。
【００４６】
オプティマイザ・モジュール３０４は、最適化規則を適用することにより、特定の論理ボリュームに対応する最小数の再呼び出し要求を、マウント可能メディア１１６上の少なくとも２つの再呼び出し要求の物理的場所に従ってキュー２０８内でグループ化することができる。論理ボリュームは、特定のマウント可能メディア１１６上の物理的場所に対応する。一般に、マウント可能メディア１１６上の物理的場所に特定の順序でアクセスする方が、論理ボリュームにアクセスするためにある場所から別の場所へとジャンプするよりも、効率的となる可能性がある。したがって、この例では、通常は一致する物理的場所にアクセスする順序に対応する順序で、再呼び出し要求をグループ化する方がより効率的であろう。
【００４７】
オプティマイザ・モジュール３０４は、単一のマウント可能メディア１１６上に常駐する論理ボリュームについて、所定の最大数の再呼び出し要求を順次にグループ化することができる。最大数に達すると、オプティマイザ・モジュール３０４は、最適化規則を無視し、キュー２０８内で次に最も古い再呼び出し要求を処理することになる。キュー２０８内の特定の再呼び出し要求に関する最小待機しきい値に達した場合、オプティマイザ・モジュール３０４は、最適化規則を無視し、その再呼び出し要求を処理することもできる。当業者であれば、特定の再呼び出し要求を他の要求より先に処理できるようにすると、最適化された処理効率を提供できるが、ある点では、継続的に無視される再呼び出しの要求元は、待たされることに幻滅を覚えるようになる可能性があることを理解されよう。
【００４８】
たとえば、テープ・ドライブ・ユニット１１２ａ〜１１２ｃにマウント可能メディア１１６がロードされ、次に最も古い再呼び出し要求が、これらのマウント可能メディア１１６のうちのいずれにも位置しない論理ボリュームを対象とすると想定する。さらに、次に最も古い再呼び出し要求の後に９００個の再呼び出し要求があり、このうち３００個がテープ・ドライブ１１２ａにロードされた論理ボリューム向け、３００個がテープ・ドライブ１１２ｂにロードされた論理ボリューム向け、および３００個がテープ・ドライブ１１２ｃにロードされた論理ボリューム向けであると想定する。次に最も古い再呼び出し要求の前に９００個の再呼び出し要求を処理することが最も効率的である可能性があるが、次に最も古い再呼び出し要求を処理するまでそのように長い時間待機させることが不利な可能性もある。
【００４９】
オプティマイザ・モジュール３０４は、第１のマウント可能メディア１１６上に位置する論理ボリュームに対応する最小数の再呼び出し要求のうちの１つを、第２のマウント可能メディア１１６上に常駐する論理ボリュームに対応する再呼び出し要求と比較することによって、キュー２０８内で当該最小数の再呼び出し要求をグループ化する最適化規則を適用することができる。以前の例では、次に最も古い再呼び出し要求は、テープ・ドライブ・ユニット１１２ａ〜１１２ｃのいずれかにある論理ボリュームに対する再呼び出し要求に関連付けられたグループ内になかった。それらグループのうちの１つにある追加の再呼び出し要求がキュー２０８に追加され、そのマウント可能メディア１１６がすでにロードされている間に処理が可能であると想定する。オプティマイザ・モジュール３０４は、第２のマウント可能メディア１１６（すなわちテープ・ドライブ１１２ａ〜１１２ｃ上にロードされたものとは異なるマウント可能メディア１１６）上に位置する、次に最も古い再呼び出し要求の状況を決定し、最も新しい再呼び出し要求を任意の既存グループに追加することを拒否することができる。さらに、オプティマイザ・モジュール３０４は、１つ以上の再呼び出し要求をグループから除去し、次に最も古いグループ化されていない再呼び出し要求、または任意の他の再呼び出し要求を次に処理することができる。
【００５０】
この構成では、任意の再呼び出し要求が待機しきい値より長く待機している場合（「長期待機再呼び出し要求（long-waiter recall request）」）、長期待機再呼び出し要求が次に処理されることになるように、ロードされたマウント可能メディア１１６上で処理している再呼び出し要求と共にグループ化することができる。長期待機再呼び出し要求が、現在はロードされていない物理ボリュームまたはマウント可能メディア１１６を必要とする場合、オプティマイザ・モジュール３０４は、長期待機再呼び出し要求が処理されるまで、再呼び出し要求を処理中の再呼び出し要求と共にグループ化するのを禁止（すなわち最適化を不許可）することができる。オプティマイザ・モジュール３０４は、長期待機再呼び出し要求の処理を加速させるために、処理中の再呼び出し要求とグループ化される再呼び出し要求を除去することもできる。除去または移動された再呼び出し要求は、その後キュー２０８内のその元の場所に戻ることになる。
【００５１】
一実施形態では、オプティマイザ・モジュール３０４は、マウント可能メディアまたは物理ボリューム１１６に対する最小数の再呼び出し要求がキュー２０８内に残っているかどうかを決定することもできる。オプティマイザ・モジュール３０４は、いずれの長期待機再呼び出し要求の状況にもかかわらず、特定のマウント可能メディア１１６に関連付けられた再呼び出し要求のグループの処理を完了するように決定することができる。一実施形態では、長期待機再呼び出し要求を上書きまたは無視するために特定の物理ボリューム１１６上で処理が残っているグループ内の最小数の再呼び出し要求は、１である。他の実施形態では、長期待機再呼び出し要求を考慮の対象とする前に、グループ内で処理が残っている再呼び出し要求は最大２つが可能である。
【００５２】
特定の一実施形態では、最適化規則を数学的アルゴリズムによって決定し、数学的アルゴリズムのパラメータが一致した場合に自動的に適用することが可能である。一実施形態では、数学的アルゴリズムは線形とすることができる。他の実施形態では、数学的アルゴリズムは非線形とすることができる。この構成では、システムのユーザは、特定の再呼び出し要求が処理されるまで待機する期間についてのしきい値をどこに設定するかを決定することができる。ユーザは、いくつの再呼び出し要求をまとめてグループ化し、任意の１つのマウント可能メディア１１６から順次に処理するかを決定することもできる。この任意の再呼び出し要求状況に関するユーザ定義パラメータは、ソフトウェアまたはハードウェアによって実装することができる。たとえば、システム１００または自動化ストレージ・マネージャ２０６は、最適化のためにグループ化されていない任意の再呼び出し要求に対する待機しきい値を上下させるために使用可能な、ノブ、スイッチなどを含むことができる。ハードウェア・スイッチは、ハードウェアを介してユーザによって設定されたしきい値を適用するために、線形または非線形アルゴリズムを使用するソフトウェアを採用することができる。
【００５３】
前述のように、複数の再呼び出し要求を受け取り、各再呼び出し要求を処理のためにキュー２０８内に配置し、少なくとも１つの最適化規則に従ってキュー２０８を再配列し、第１の再呼び出し要求を第２の再呼び出し要求の状況に基づいて処理するためのモジュールを、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせによって実装することができる。再呼び出し要求を受け取り、キューイングし、最適化するためのこれらおよび他の手段を、本発明の教示を実施するために実装することができる。
【００５４】
キュー２０８内の再呼び出し要求を再配列することが可能な再呼び出し要求の処理に、追加の最適化規則が適用できることを理解されよう。これらおよび他のこうした最適化規則は、効率性、実用性、または有用性を向上させ、本発明の範囲内であるものとすることができる。さらに、本発明の教示を実施するために、これらおよび他の最適化規則を単独または組み合わせて適用できることを理解されよう。
【００５５】
以下の概略流れ図は、論理流れ図として全体的に示される。したがって、記載された順序およびラベル付けされたステップは、本方法の一実施形態を示すものである。他のステップおよび方法は、機能、論理、または効果において、例示された方法の１つ以上のステップ、あるいはその一部と等価であると考えることができる。加えて、採用されたフォーマットおよび記号は、この方法の論理ステップを説明するために提供されたものであり、この方法の範囲を限定しないものと理解される。流れ図では様々な矢印の種類および線の種類が採用される場合があるが、これらは対応する方法の範囲を限定しないものと理解される。実際に、いくつかの矢印または他の結合子は、本方法の論理流れのみを示すために使用することができる。たとえば、ある矢印は、記載された方法の列挙されたステップ間の、指定されていない継続時間の待機または監視期間を示すことができる。加えて、特定の方法が発生する順序は、図示された対応するステップの順序を厳密に遵守する場合、またはしない場合がある。
【００５６】
図４は、図３の自動化ストレージ・マネージャ２０６によって実施することが可能な、論理ボリュームを再呼び出しするための方法４００の一実施形態を示す概略流れ図である。本方法は、プロセッサ２２５から複数の再呼び出し要求を受け取ること４０４によって開始される４０２。各再呼び出し要求は、マウント可能メディア１１６（図１）に格納された論理ボリュームを対象とする。再呼び出し要求は、処理のためにキュー２０８（図３）内に配置される４０６。再呼び出し要求の処理を最適化するために、少なくとも１つの最適化規則がキュー２０８に適用される４０８。これが、キュー２０８内の再呼び出し要求の再配列につながる。適用ステップ４０８は、第２の再呼び出し要求の状況に基づいて第１の再呼び出し要求を処理することを含むことができる。任意の再呼び出し要求の状況は、再呼び出し要求がキュー２０８内にあった時間量、キュー２０８内の再呼び出し要求の位置、再呼び出し要求の対象となるマウント可能メディア１１６、再呼び出し要求によって要求されたデータを保持する記録の物理的場所、再呼び出し要求が最適化のためにかって移動されたことがあるかどうか、再呼び出し要求によって要求された論理ボリュームのサイズなどを含むことができる。適用ステップ４０８は、最小数の再呼び出し要求をキュー２０８内で順次にグループ化することを含むことも可能である。ここで、最小数の再呼び出し要求は、単一のマウント可能メディア１１６上に常駐する論理ボリュームに対応する。適用ステップ４０８は、キュー内の最大数の再呼び出し要求を順次にグループ化する、最適化規則を適用することを含むことも可能である。ここで、最大数の再呼び出し要求は、単一のマウント可能メディア１１６上に常駐する論理ボリュームに対応する。適用ステップ４０８は、ある種の条件下で、いずれの最適化規則もまったく適用しないように決定することを含むこともできる。キュー２０８は、追加の再呼び出し要求を受け取り４０４、これをキュー内に配置することができる４０６。キュー２０８内の各再呼び出し要求について、自動化ストレージ・マネージャ２０６は、最適化規則を適用する４０８かどうか、およびその方法を決定する。キュー２０８内にこれ以上再呼び出し要求がない場合、プロセスは終了する４１０。適用ステップ４０８の例は、上記で説明している。
【００５７】
信号担持メディアも、実行された場合、マウント可能メディア１１６から論理ボリュームを再呼び出しするために１つ以上のオペレーションを実行するプログラムを格納するために提示される。一実施形態では、こうしたオペレーションには、上記で概説された方法の諸ステップを実行することが含まれる。他の実施形態では、プログラムは、少なくとも１つの最適化規則に従ってキュー２０８を再配列するためのオペレーションを実行する。プログラムは、マウント可能メディア１１６上の少なくとも２つの再呼び出し要求の物理的場所に従って、特定の論理ボリュームに対応する最小数の再呼び出し要求をグループ化する命令を実行することができる。プログラムは、第１のマウント可能メディア１１６上に位置する論理ボリュームに対応する最小数の再呼び出し要求のうちの１つと、第２のマウント可能メディア１１６上に常駐する論理ボリュームに対応する再呼び出し要求とを比較することによって、キュー２０８内で最小数の再呼び出し要求をグループ化するための命令を実行することもできる。プログラムは、いくつかの環境下で、１つ以上の最適化規則を無視するための命令を実行することもできる。これらの環境には、処理されるために待機しきい値よりも長く待機している特定の再呼び出し要求が含まれるが、これに限定されるものではない。
【００５８】
図５は、図４の再呼び出し要求方法と共に実行可能なより詳細なオペレーションの一例として与えられた、再呼び出し要求方法５００の一実施形態を示す図である。この実施形態では、本方法は、マウント可能メディア１１６上に格納された論理ボリュームに対する再呼び出し要求５０４で開始される。自動化ストレージ・マネージャ２０６は、この論理ボリュームが常駐しているメディア１１６が、すでにアクセス可能なドライブ１１２ａ〜１１２ｃのいずれかにマウントされているかどうかを決定する５０６。マウントされていない場合、再呼び出し要求５０４を保持するメディア１１６をマウントすることができる５０８。マウントされている場合、自動化ストレージ・マネージャ２０６は、必要なメディア１１６が使用可能であるかどうかを決定する５１０。マウント済みのメディア１１６は、たとえば他の再呼び出し要求がそのメディア１１６上で処理中の場合、再呼び出し要求５０４に対して使用できない場合がある。メディア１１６がまだ使用可能でない場合、再呼び出し要求５０４は、そのメディア１１６上で処理中の再呼び出し要求とグループ化またはチェーン化される５１２ため、これがマウント済みのメディア１１６上で次に処理されることになる。
【００５９】
メディア１１６がマウントされ且つ使用可能である場合、自動化ストレージ・マネージャ２０６は、このメディア１１６を必要とする任意の他の再呼び出し要求５１５がキュー２０８内にあるかどうかを決定する５１４。ない場合、再呼び出し要求５０４が処理される５１６。再呼び出し要求５０４と同じこのメディア１１６を必要とする他の再呼び出し要求５１５がキュー２０８内にある場合、自動化ストレージ・マネージャ２０６は、最小待機しきい値が設定されているかどうかを決定する５１８。最小しきい値が設定されていない場合、この第２または他の再呼び出し要求５１５は、マウント済みのメディア１１６上のより効率的な処理のために、再呼び出し要求５０４とグループ化される５２０。最小待機しきい値が設定されている場合、自動化ストレージ・マネージャ２０６は、次に最も古い再呼び出し要求が最小待機しきい値よりも長く待機しているかどうかを決定する５２２。長く待機している場合、再呼び出し要求５０４が処理され５１６、再呼び出し要求５０４と同じマウント済みのメディア１１６を必要とするキュー２０８内の他の再呼び出し要求５１５は、長期待機再呼び出し要求を他の再呼び出し要求５１５の前に処理できるように、再呼び出し要求５０４とグループ化されない。最小待機しきい値に合致しない場合、言い換えれば、次に最も古い再呼び出し要求が所定の最小待機しきい値よりも長く待機していない場合、他の再呼び出し要求５１５は、マウント済みのメディア１１６上のより効率的な処理のために、再呼び出し要求５０４とグループ化される。
【００６０】
他の再呼び出し要求の処理中に任意の再呼び出し要求が移動した場合５２４、これはキュー２０８内の元の場所に戻される５２６。このシナリオは、再呼び出し要求が、処理中の再呼び出しとグループ化されている場合に生じる可能性があるが、グループ化またはチェーン化された再呼び出し要求が処理される前に、キュー２０８内に長期待機再呼び出し要求があるかどうかが決定される。この時点で、再呼び出し要求の処理が完了すると、グループ化された再呼び出し要求はキュー２０８に戻ることができる。次に、長期待機再呼び出し要求を処理できるように、長期待機再呼び出し要求に必要なメディア１１６をマウントすることが可能である。
【００６１】
図６および７は、図５の方法の利点のうちの１つを示すものである。図６に示された例では、マウント可能メディア６０２がドライブ６０４にマウントされ、マウント可能メディア６０６がドライブ６０８にマウントされ、マウント可能メディア６１０がドライブ６１２にマウントされ、マウント可能メディア６１４がドライブ６１６にマウントされる。図示された例では、マウント可能メディア６０４は、論理ボリューム６２０、６２８、６３６、および６４４を保持する。マウント可能メディア６０６は、論理ボリューム６２２、６３０、６３８、および６４６を保持する。マウント可能メディア６１０は、論理ボリューム６２４、６３２、６４０、および６４８を保持する。マウント可能メディア６１４は、論理ボリューム６２６、６３４、６４２、および６５０を保持する。各論理ボリュームは特定の順序で要求され、要求番号６００に関連付けられる。
【００６２】
典型的なＶＴＳは、テープ・カートリッジなどのマウント可能メディアから論理ボリュームを再呼び出しするために使用可能な、少数のドライブ・ユニットを有する可能性がある。図６に示された例では、４つのドライブ・ユニット６０４、６０８、６１２、および６１６が示される。標準のＶＴＳは、論理ボリュームへのアクセスを提供するさらに多くの仮想デバイスを有することができる。前述のように、ＶＴＳでは、物理マウント可能メディアをマウントするためにある物理ドライブよりも多くの仮想デバイスが、キャッシュ内にない論理ボリュームにアクセスする場合がある。このような場合、追加の再呼び出し要求が、処理のためにキュー内に配置される。標準的なＶＴＳでは、これは通常、先入れ先出しベースで行われる。キューに入れられるこれらの再呼び出し要求は、先入れ先出し順で処理される場合、呼び出される論理ボリューム当たり１つのロード／アンロード・サイクルを必要とする順序で到着する。
【００６３】
従来のＶＴＳでは、要求番号１は、再呼び出し要求の主題が常駐するマウント可能メディアを対象とすることになる。図示された例では、これはドライブ６０４上にロードされたマウント可能メディア６０２である。同様に、要求番号２は、次に使用可能なドライブ６０８上にロードされたマウント可能メディア６０６を対象とすることになる。同様に、要求番号３は、次に使用可能なドライブ６１２上にロードされたマウント可能メディア６１０を対象とすることになる。最後に、マウント可能メディア６１４上の論理ボリュームを対象とする要求番号４は、マウント可能メディア６１４をドライブ６１６上にロードさせることになり、ドライブ・ユニット６０４、６０８、６１２、および６１６は満杯になる。従来のＶＴＳでは、要求番号５が次に処理され、その後、要求番号６となる。しかしながら、要求番号６が対象とする論理ボリューム６３０がマウント可能メディア６０６上にない場合、マウント可能メディア６０６はアンロードされ、要求番号６が対象とする論理ボリューム６３０を保持するマウント可能メディアがロードされることになる。同様に、ドライブが１つしかない場合、従来のＶＴＳでは、あらゆる要求がロード／アンロード・サイクルを必要とする可能性がある。ローディングおよびアンローディングには時間がかかる。
【００６４】
図７は、本発明に従った処理順序を示す。要求１、５、９、および１３は、ドライブ６０４上にロードされたマウント可能メディア６０２上に位置する論理ボリューム６２０、６２８、６３６、および６４４に関連付けられる。この実施形態では、これらの要求は、まとめて処理される。第１のグループが完了すると、要求２、６、１０、および１４がグループとして処理され、その後に、再呼び出し要求３、７、１１、および１５を含むグループが続く。最後に、再呼び出し要求４、８、１２、および１６が処理される。この構成では、時間のかかるロード／アンロード・サイクルは回避される。複数の再呼び出し要求にわたってドライブ・ユニットのロードおよびアンロードに必要な時間は、何分かの時間を節約するために、いくつかの再呼び出し要求にわたって実質的に償却される。
【００６５】
図８は、４つのドライブ・ユニット７０２、７０４、７０６、および７０８を有するＶＴＳシステムにおける本発明の方法の一実施形態を示す図である。この実施形態では、キュー２０８は、再呼び出しキュー７１０と、ドライブスロット７０２、７０４、７０６、および７０８のそれぞれのためのグループ化キュー７１２とに再分割される。グループ化キュー７１２は、「処理中」スロット７１６および１つ以上のグループ化スロット７１８で構成される。グループ化スロットの数は、グループにまとめられる再呼び出し要求の数に依存する。それぞれの処理中スロット７１６が、それぞれのマウント可能メディア７２０、７２２、７２４、および７２６が取り付けられるドライブ７０２、７０４、７０６、および７０８に関連付けられる。処理中スロットは、そのそれぞれのドライブ・ユニット７０２、７０４、７０６、および７０８上で処理中の再呼び出し要求を表す。グループ化されたスロットは、それぞれのドライブ・ユニット７０２、７０４、７０６、および７０８にロードされたマウント可能メディアに対して発行されることになる、次の再呼び出し要求を表す。それぞれのドライブ・ユニット７０２、７０４、７０６、および７０８に関連付けられた２つのスロット７１６、７１８は、それぞれのロードされたマウント可能メディア７０２、７０４、７０６、および７０８に関連付けられた２層のキューを形成する。再呼び出しキュー７１０は、グループ化キュー７１２にはない要求された再呼び出しを、ユーザから受け取った順番に保持する。
【００６６】
再呼び出し要求は、受け取られると、再呼び出しキュー７１０に入る。処理中スロット７１６内にエントリがなく、再呼び出しキュー７１０内にもエントリがない場合、この再呼び出し要求は、使用可能な処理中スロット７１６内に配置される。一定の実施形態では、この再呼び出し要求が空の処理中スロット７１６に直接入ることを理解されよう。複数の再呼び出しが定期的に完了すると、現在再呼び出しされている論理ボリュームに関して対応する再呼び出し要求を除去するためのコマンドが送られることになる。再呼び出し要求が入ってくると、それらは再呼び出しキュー７１０に追加される。
【００６７】
再呼び出しキュー７１０が処理される場合、処理中スロット７１６およびグループ化スロット７１８が処理される。キュー７１０内の最も古い再呼び出し要求を処理するために、自動化ストレージ・マネージャ２０６は、いずれかの処理中スロット７１６が空であるか、および、その特定の処理中スロット７１６に関連付けられたグループ化スロット７１８内にエントリがあるかどうかを決定する。空の処理中スロット７１６がある（おそらく、そこにあった再呼び出し要求が処理を完了したため）場合、グループ化スロット・エントリは、その関連する処理中スロット７１６に移動される７３２。
【００６８】
グループ化スロット７１８が使用可能になると、本発明の自動化ストレージ・マネージャ２０６は、最適化の条件に合致しているかどうかを決定する。合致している場合、再呼び出しキュー７２０内のエントリの最適化を実行することができる。最適化条件に合致していない場合、次に最も古い再呼び出し要求が次に使用可能な処理中スロット７１６内に配置される７３０。第１の「最も古い再呼び出し要求」が処理されると、再呼び出しキュー７１０内のすべてのエントリが「次に最も古い要求」バージョンとなることを理解されよう。次に最も古い要求のそれぞれが処理されると、次に最も古い要求のキューは、現在最も古い要求、または次に最も古い中で最も古い再呼び出し要求となるまで、前進する７３４。最適化条件または規則は、過度の期間にわたって最適化できない再呼び出し要求処理の遅延を防ぐように整えられる。
【００６９】
自動化ストレージ・マネージャ２０６は、処理中スロット７１６をスキャンして、関連付けられたグループ化スロット７１８内に再呼び出し要求を有していないエントリがあるかどうかを決定する。エントリがあり且つ最適化が可能である場合、自動化ストレージ・マネージャ２０６は、再呼び出しキュー７１０をスキャンして、選択された処理中の再呼び出し要求と同じマウント可能メディアを必要とする、最も長く待機している次に最も古い再呼び出し要求があるかどうかを決定する。自動化ストレージ・マネージャ２０６は、これを見つけると、適切なグループ化スロット７１８に移動する７３６。再呼び出しキュー７１０の処理は、所定量の論理ボリュームが処理されるか、またはこれ以上論理ボリュームが処理できなくなるまで、続行される。こうした処理は、再呼び出し要求が発行された場合、要求された再呼び出しが完了した場合、または必要に応じて定期的に、必ず活動化される。
【００７０】
本発明は、その趣旨または本来の特徴から逸脱することなく、他の特定の形で具体化することが可能である。説明された実施形態は、すべての点において例示的なものに過ぎず、制約的なものではないとみなされる。したがって、本発明の範囲は、前述の説明によってではなく、特許請求の範囲によって示される。特許請求の範囲と同等の意味および領域内にあるすべての変更は、それらの範囲内に包含される。
【図面の簡単な説明】
【００７１】
【図１】本発明に従った仮想テープ・システムの一実施形態を示す概略ブロック図である。
【図２】図１の仮想テープ・システムで使用するのに好適な仮想テープ・サーバ（ＶＴＳ）の一実施形態およびライブラリ・マネージャの一実施形態を示す概略ブロック図である。
【図３】図１の仮想テープ・システムで使用するのに好適な自動化ストレージ・マネージャの一実施形態を示す概略ブロック図である。
【図４】図１の仮想テープ・システム上で実装可能な論理ボリュームを再呼び出しするための方法の一実施形態を示す概略流れ図である。
【図５】図１の仮想テープ・システム上で実装可能な論理ボリュームを再呼び出しするための方法の一実施形態を示す概略流れ図である。
【図６】図１の仮想テープ・システムによって具体化可能な一利点を示す概略流れ図である。
【図７】図１の仮想テープ・システムによって具体化可能な一利点を示す概略流れ図である。
【図８】本発明に従ったプロセスの一実施形態を示す概略ブロック図である。
【符号の説明】
【００７２】
１００ 仮想テープ・システム
１０２ 自動化ライブラリ・ユニット
１０４ ＶＴＳ
１０６ ホスト
１０８ ストレージ・エリア・ネットワーク
１１０ ライブラリ・マネージャ
１１２ａ〜１１２ｃ テープ・ドライブ・ユニット
１１４ アクセサ
１１６ マウント可能メディア
１１８ ネットワーク
【図１】
0004808489.tif 000002
【図２】
0004808489.tif 000003
【図３】
0004808489.tif 000004
【図４】
0004808489.tif 000005
【図５】
0004808489.tif 000006
【図６】
0004808489.tif 000007
【図７】
0004808489.tif 000008
【図８】
0004808489.tif 000009