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