(57)【特許請求の範囲】
【請求項１】
テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定する方法であって、
前記複数のデータ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第一データ・グループとして選定するステップと、
残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有する、データ・グループを前記アクセス・シーケンスの第二データ・グループとして選定するステップと、
第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定するステップと、
前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成するステップと、
前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返すステップと、
前記複数のデータ・グループの間を移動するのに要する時間に基づいて、前記アクセス・シーケンスに対する複数の合計シーク・タイムを計算するステップと、
を含む、前記方法。
【請求項２】
残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの第（ｎ−１）データ・グループの終端部に最も近い開始部を有する、データ・グループを前記アクセス・シーケンスの第ｎデータ・グループとして選定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記複数のデータ・グループ中に残りのデータ・グループがない場合、前記第ｎデータ・グループは前記アクセス・シーケンスの最後のデータ・グループである、請求項２に記載の方法。
【請求項４】
前記複数の合計シーク・タイムの各々は、前記アクセス・シーケンスの前記最後のデータ・グループの異なった位置に対応する、請求項３に記載の方法。
【請求項５】
複数のデータ・グループのアクセス・シーケンスを決定するプロセッサを含むコンピュータ・システムであって、
テープ媒体に格納された複数データ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記複数のデータ・グループのアクセス・シーケンスの第一データ・グループとして選定し、
残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第二データ・グループとして選定し、
第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定し、
前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成し、
前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返し、
前記複数のデータ・グループの間を移動するのに要する時間に基づて、前記アクセス・シーケンスに対する前記複数の合計シーク・タイムを計算する、
よう構成される、前記コンピュータ・システム。
【請求項６】
前記プロセッサは、残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの第（ｎ−１）データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第ｎデータ・グループとして選定するようさらに構成される、請求項５に記載のコンピュータ・システム。
【請求項７】
前記複数のデータ・グループ中に残りのデータ・グループがない場合、前記第ｎデータ・グループは前記アクセス・シーケンスの最後のデータ・グループである、請求項６に記載のコンピュータ・システム。
【請求項８】
前記複数の合計シーク・タイムの各々は、前記アクセス・シーケンスの前記最後のデータ・グループの異なった位置に対応する、請求項７に記載のコンピュータ・システム。
【請求項９】
複数のデータ・グループのアクセス・シーケンスを決定するためのコンピュータ・プログラムであって、
前記複数のデータ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第一データ・グループとして選定するための第一実行可能部分と、
残りの前記複数データ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第二データ・グループとして選定するための第二実行部可能部分と、
第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定し、
前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成し、
前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返し、
前記複数のデータ・グループの間を移動するのに要する時間に基づて、前記アクセス・シーケンスに対する前記複数の合計シーク・タイムを計算する、
をコンピュータに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータに関し、さらに具体的には、テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、コンピュータ・システム、およびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
技術が進歩するにつれ、テープ媒体の（例、テープ・ドライブ）の記憶容量も増大し続けている。最新の進展では、一部のテープ媒体は１．５テラバイト（ＴＢ）の容量を持つまでになっている。テープ媒体の容量の増大により、従来のデータ・バックアップおよびアーカイビングからファイル・システムまでの幅広い用途にテープ媒体を用いることができる。
【０００３】
テープ・ドライブなどテープ媒体は、容量および転送速度に関してはハード・ディスクに引けを取らないが、数百メートルの長さに及ぶこともあるテープ媒体上に分散されたデータを見出すのに、多くの場合、数分のデータ・シーク・タイムを要する。ドライブのシーク・タイムは、長きにわたって重要な問題と考えられてきており、さまざまな形態のデータに対するシーク・タイムを低減するための多くの方法が提案されてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近の一部の用途に対応できるためには、テープ・ドライブは、複数のファイルまたは論理ボリューム（例、記録グループ）を連続的に読み取る、しばしば「デフラグ」または「リクラメーション」といわれるプロセスが実施可能である必要があり得る。このことは、連続的に複数の記録グループにアクセスするときの合計シーク・タイムを低減するという新たな課題を課す。個々のシーク・オペレーションに対する短縮されたシーク・タイムを維持しながら、合計シーク・タイムを低減する一つの可能なやり方は、記録グループに対するアクセス・シーケンスを修正することである。合計シーク・タイムを低減するためのこの方法の使用は、テープ・ドライブがテープ媒体を駆動する速度および加速度、並びに合計データ・バンド移送時間などを含め、テープ・ドライブに最適なアクセス・シーケンスに修正するための、テープ・ドライブに固有の各種の条件に大きく依存する。テープ・ドライブ上のアクセス・シーケンスを修正し、修正のため必要な処理時間量を最小にするため、低い計算複雑性を備えたアルゴリズムが必要となる。
【課題を解決するための手段】
【０００５】
一つの実施形態において、テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定するための方法が提供される。複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループが、アクセス・シーケンスの第一データ・グループとして選定される。残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有する、データ・グループがアクセス・シーケンスの第二データ・グループとして選定される。
【０００６】
別の実施形態において、コンピュータ・システムが提供される。本コンピュータ・システムは、コンピュータ可読媒体と、コンピュータ可読媒体と動作可能に通信するプロセッサとを包含する。プロセッサは、テープ媒体に格納された複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、複数のデータ・グループのアクセス・シーケンスの第一データ・グループとして選定し、残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第二データ・グループとして選定するよう構成される。
【０００７】
さらなる実施形態において、テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定するためのコンピュータ・プログラムが提供される。コンピュータ可読記憶媒体は、その中に格納されたコンピュータ可読プログラム・コード部分を有する。コンピュータ可読プログラム・コード部分は、複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第一データ・グループとして選定するための第一実行可能部分と、残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第二データ・グループとして選定するための第二実行可能部分とを包含する。
【図面の簡単な説明】
【０００８】
【図１】本発明の一つの実施形態によるテープ・カートリッジの断面図である。
【図２】図１のテープ・カートリッジ内のテープ媒体の概略平面図である。
【図３】本発明の各種態様による方法を示すフローチャートである。
【図４】本発明の各種態様による方法を示すフローチャートである。
【図５】代表的なバーチャル・テープ・システムの例示的実施形態の概略ブロック図である。
【図６】バーチャル・テープ・サーバ（ＶＴＳ：ｖｉｒｔｕａｌ  ｔａｐｅ  ｓｅｒｖｅｒ）およびライブラリ・マネージャの例示的実施形態のブロック図である。
【発明を実施するための形態】
【０００９】
本発明の利点を容易に理解できるようにするため、添付の図面に示された具体的な実施形態を参照しながら、簡単に前述した本発明のさらに具体的な説明を提供する。これらの図面が本発明の実施形態を図示したものであり従って本発明の範囲を限定すると見なすべきでないことを理解の上、これら添付図面を用いながら、さらなる特質および詳細を記述、説明する。
【００１０】
本発明の諸実施形態は、テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、コンピュータ・システム、およびコンピュータ・プログラムを提供する。
【００１１】
本発明の一つの態様によれば、ファイル・システムまたはバーチャル・テープ・サーバ（ＶＴＳ）が任意の所与の順序で複数の記録グループを読み取ることができるという事実に基づいて、記録グループ間の距離という新しい概念が定義され、これを記録グループのアクセス・シーケンスの修正に用いて合計シーク・タイムを低減することができる。シミュレーション・テストにおいて、この方法は、特に、多数の記録グループが関与したときに、低い計算能力で合計シーク・タイムを大きく低減する。
【００１２】
図１は、本発明の一つの実施形態によるテープ・カートリッジ（またはテープ・ドライブ・カートリッジ）１０を示す。テープ・カートリッジ１０はテープ媒体（またはテープ）１２を包含する。一つの実施形態において、テープ媒体１２は、約１．２５センチメートル（ｃｍ）の幅（すなわち、水平方向に）および約８００メートル（ｍ）の長さ（すなわち、長手方向に）を有する。図示のように、テープ媒体１２は、４つのデータ・バンド１４に分けられており、これらのバンドは、基本的には、サーボ・バンド１６の間の挟まれた長くて薄い区域である（図１参照）。データ・バンド１４には、これらが使われる順序を示す番号（０〜３）が付されている。図示されていないが、（サーボ・バンド・ヘッド１９とともに）、データを読み取り書き込む、読み取り／書き込みヘッド１８の位置を制御するための「サーボ・パターン」といわれるデータがサーボ・バンド１６中に書き込まれる。図示のように、サーボ・バンド・ヘッド１９は、読み取り／書き込みヘッド１８の両側に配置される。一つのオブジェクトだけが示されているが、１６個の読み取り／書き込みヘッド１８を設けることができる。最新のテープ媒体システムでは、ヘッドをデータ・バンド中で横方向に移動するのに要する時間は比較的短いが、ヘッドを隣接のデータ・バンドに移動するには数秒かかることがある。
【００１３】
データをテープ媒体に書き込むため、アプリケーションはテープ・ドライブに記録中へのデータの書き込みを要求し、この記録は数バイトから数メガバイト（ＭＢ）のサイズに亘り得る。記録は、テープ媒体１２に書き込まれる際に一意的な記録番号を受け取り、これは、アプリケーションがテープ媒体のデータにアクセスしようとするとき読み取り対象のデータを指定するのに用いられる。ファイル・システム中で用いられるファイル、およびＶＴＳ中で用いられる論理ボリュームは複数の記録で構成される。テープ・ドライブは、アプリケーションから受信した記録を、データ・セット（ＤＳ：ｄａｔａ  ｓｅｔ）として知られる固定長のパッケージ（例えば、約２．４ＭＢ）に再パックし、次いでそれがテープ媒体に書き込まれる。
【００１４】
一つの実施形態において、テープ・ドライブ・システムは、並列方式に配置された１６個のヘッドを用い、データ・セットを、データ・セットのフラグメントとしてテープ媒体に書き込み、フラグメントの幅は数マイクロメートル（μｍ）、その長さは約１０ｃｍとなり得る。テープ媒体の最大容量を満たすまで十分にデータを書き込むため、ヘッドは、テープ媒体中のラップの数によっては、テープ媒体１２上に亘って前方および後方に数十回の行き来を完了しなければならない。データ・セットの容量およびサイズ、テープ長さ、ラップ数はいろいろである。
【００１５】
テープ媒体１２は、例えば数百万から１千万の記録を収容することができる。結果として、媒体中のあらゆる記録の物理的位置に対応する情報を維持するのは極めて困難である。テープ媒体に書き込まれた記録を効率的に検索するため、テープ・カートリッジ中の不揮発性カートリッジ・メモリのセット（例、４ＫＢまたは８ＫＢのセット）を使ってテープ・ディレクトリ（すなわち、各ラップに所在する記録番号の範囲であり、シーク・オペレーションを遂行する）が格納される。
【００１６】
複数の記録グループに連続的にアクセスする際の合計シーク・タイムを低減する一つのやり方は、記録グループ群のアクセス・シーケンスを修正することである。基本的に、これは、組み合わせ最適化として、いろいろな意味で「巡回セールスマン問題」と同様に一般に理解されている、非決定性多項式時間（ＮＰ困難）問題である。しかしながら、巡回セールスマン問題では、Ａ点からＢ点への巡回コストは、Ｂ点からＡ点への巡回コストと同じである。複数の記録グループへのアクセス・シーケンス問題では、記録グループは長い、すなわち、記録グループＡの終端部から記録グループＢの開始部への巡回コストは、記録グループＢの終端部から記録グループＡの開始部への巡回コストとは異なる。
【００１７】
本発明の一つの態様によれば、この巡回コストは記録グループ間の「距離」と考えられる。この概念を用い、新たに開発された最近傍アルゴリズムとペアワイズ交換アルゴリズムと（下記で説明）を組み合わせて記録グループのアクセス・シーケンスを設定することによって、合計シーク・タイムを低減することができる。
【００１８】
記録グループ間の距離は、記録グループ巡回コストを表すものと定義される。この距離は、テープ媒体上に格納された記録グループ間の物理的距離をいうのではなく、正しくは記録グループの間を移動するのに必要な時間をいう。記録グループＡと記録グループＢとの間の距離（ｔ（Ａ，Ｂ））は主として、以下の２つのファクタ、すなわち、テープ媒体の長手方向（より長い方の方向）に沿った移動のため要する時間、ｔＬ（Ａ，Ｂ）と、データ・バンド上の移動のために要する時間、ｔＤ（Ａ，Ｂ）とに左右される。
【００１９】
しかして、記録グループＡとＢとの間の距離ｔ（Ａ，Ｂ）は次式により定義される。
ｔ（Ａ，Ｂ）＝ｔＬ（Ａ，Ｂ）＋ｔＤ（Ａ，Ｂ）      （１）
【００２０】
ｔＬ（Ａ，Ｂ）を決定する変数には、テープ媒体の開始部と記録グループＡの終端部との間の距離ＩＥ（Ａ）と、テープ媒体の開始部と記録グループＢの開始部との間の距離ＩＳ（Ｂ）と、記録グループＡを読み取る際のテープ媒体の搬送速度Ｂｓ（Ａ）と、記録グループＢを読み取る際のテープ媒体の搬送速度Ｂｓ（Ｂ）と、シーク・オペレーションを遂行する際のテープ媒体の搬送速度ｓＲと、テープ媒体の加速度ａと、ｓ（Ａ）からｓＲにシフトする際に移動する距離ＩＲ（Ａ）と、ｓＲからｓ（Ｂ）にシフトする際に移動する距離ＩＲ（Ｂ）と、が含まれる。
【００２１】
上記の変数を用いて、テープ媒体の長手方向に沿った移動のため必要な時間、ｔＬ（Ａ，Ｂ）を以下の式で表すことができる。ただし、ＩＥ（Ａ）とＩＳ（Ｂ）との間の距離は十分に長く、加速および減速の間に到達することはないと仮定する。距離が非常に短い場合は、これらの変数は自明と見なし排除することができる。
ｔＬ（Ａ，Ｂ）＝｜ｓＲ−ｓ（Ａ）｜／ａ  ＋（｜ＩＥ（Ａ）−ＩＳ（Ｂ）｜  −ＩＲ（Ａ）−ＩＲ（Ｂ））／ｓＲ＋｜ｓＲ−ｓ（Ｂ）｜／ａ      （２）
【００２２】
ｔＤ（Ａ，Ｂ）を決定する変数には、隣接のデータ・バンドに移動するために要する時間ｔＤ、および記録グループＡの終端部から記録グループＢの開始部までシークする際に通過するデータ・バンドの数を返す関数ｄ（Ａ，Ｂ）が含まれる。
【００２３】
上記の変数を用い、データ・バンド上を移動するために要する時間ｔＤ（Ａ，Ｂ）を、ｔＤとｄ（Ａ，Ｂ）との積として次のように表すことができる。
ｔＤ（Ａ，Ｂ）＝ｔＤｄ（Ａ，Ｂ）                      （３）
【００２４】
アクセス対象の記録グループの数が比較的小さい場合（例えば、１０）、総当たり法を適用してあらゆるアクセス・シーケンス組み合わせを解析し、合計シーク・タイム（すなわち、各アクセス・シーケンスにおける記録グループ間の合計距離）を計算することができる。しかして、最短の合計シーク・タイムを生成するアクセス・シーケンスが最も効果的な選択肢となることになる。しかしながら、もっと多くの記録グループが関与する場合、あらゆる可能な組み合わせに対する合計シーク・タイムを計算するには、はるかに高いレベルの計算量が必要となり、現実的な時間量の中でアクセス・シーケンスを設定することは極めて困難である。
【００２５】
最近傍アルゴリズム（または手法）とペアワイズ交換アルゴリズム（または手法）との新規の具体化を展開、組み合わせ、適用することによって、多数の記録グループに対するアクセス・シーケンスを設定するために要する時間量を限定することができる。また、合計シーク・タイムも、これらグループにランダムにまたは記録番号の順にアクセスするアプローチよりももっと効果的に低減することができる。
【００２６】
図２は、図１のテープ媒体１２を示すもので、これを用いて、以下に記載する最近傍手法およびペアワイズ交換手法を説明することができる。テープ媒体１２は、開始部（すなわち、テープの開始部）セクション２０、終端部（すなわち、テープの終端部）セクション２２を包含し、テープ媒体上に書き込まれた４つの記録グループ２４（すなわち、記録グループＡ、記録グループＢ、記録グループＣ、および記録グループＤ）を有する。矢印２６は、記録グループ２４の各々が書き込まれるもしくは読み取られるまたはその両方が行われる方向を示す。
【００２７】
図３は、本発明の一つの実施形態による、最近傍手法３０を示す。ステップ３２において、手法３０は、図２に示すように配置された記録グループ２４（すなわち記録グループＡ〜ｎ）から始まる。ステップ３４で、テープ媒体１２（図２）の位置が設定される。一つの実施形態において、テープ媒体は開始部２０に位置合わせされる（すなわち、テープ媒体システムのヘッドが開始部２０に位置合わせされる）。
【００２８】
ステップ３６において、開始点（読み取り／書き込みの方向２６如何による）が現在位置に最も近い記録グループ２４が、読み取り対象の第一記録グループ２４として選定される。図２に示された例では、記録グループＡがテープ媒体１２の開始部セクション２０の最も近くで開始しているのでグループＡグループが選定される。またステップ３６では、テープ位置は選定された記録グループ２４の終端部にリセットされる。
【００２９】
ステップ３８において、記録のシーケンスに入れられずに残っている記録グループ２４があれば、手法３０はステップ３６に戻る。図２に示された例では、開始部が記録グループＡの終端部に最も近い記録グループは記録グループＢである。しかして、この例では、アクセス・シーケンスにおける第二グループとして記録グループＢが選択され、テープ位置は記録グループＢの終端部にリセットされる。
【００３０】
ステップ３８で、記録シーケンスに入れられずに残っている記録グループ２４があるので、手法３０は再度ステップ３６に戻る。ステップ３６において、記録グループＣが記録グループＢの終端部の最も近くで開始しているのでグループＣが次に選定される。本手法は、全部の記録グループ２４がアクセス・シーケンス中に入るまで、上記を続ける。この例では、このシーケンスにおける最後の記録グループ２４は記録グループＤである。
【００３１】
ステップ３８において、全部の記録グループ２４がアクセス・シーケンスに入っている場合、手法３０は、記録グループ２４が、アクセス・シーケンスの上記選定された順にアクセスされるステップ４０に進み、然るのち手法３０はステップ４２で終了する。
【００３２】
しかして、最近傍アルゴリズムを使って、現在位置から最も短い記録グループ２４間距離を有する記録グループ２４が、アクセス・シーケンスの第一グループとして選定される。次いで、第一記録グループの終端部から最も短い記録グループ２４間距離を有する記録グループ２４が、シーケンス中の第二グループとして選定される。このプロセスは、全部の記録グループが入るまで続く。
【００３３】
最近傍手法は、シーケンスの前半では、非常に短縮された記録グループ・シーク・タイムを提供するが、後半ではシーク・タイムを大きく低減することはできない。
【００３４】
図４は、本発明の一実施形態による、最近傍手法３０によって生成されたアクセス・シーケンスを修正するため用いることができる、ペアワイズ交換手法４０を示す。
【００３５】
ステップ４２において、手法４０は、記録グループ２４が、図３の最近傍手法３０によって決定されたアクセス・シーケンスの順序に配置されることから始まる。この例に対し、最近傍手法３０に設定されたアクセス・シーケンスは、ＡＢＣＤ（すなわち、Ａが最初にアクセスされ、Ｂが二番目にアクセスされ、Ｃが三番目にアクセスされ、Ｄが最後にアクセスされる）であると仮定するものとする。
【００３６】
ステップ４４では、アクセス・シーケンスにおける最後の記録グループ（例、記録グループＤ）が、あり得る全てのシーケンス位置に置かれ、そのあり得るシーケンスの各々に対し合計シーク・タイムが計算される。しかして、アクセス・シーケンス、ＤＡＢＣ、ＡＤＢＣ、ＡＢＤＣ、およびＡＢＣＤの各々に対して合計シーク・タイムが計算される。
【００３７】
ステップ４６において、最後の記録グループを、最近傍手法３０が決定したのと異なる位置に置くことによって合計シーク・タイムが低減する場合、手法４０はステップ４８に進む。ステップ４８では、最短のシーク・タイムを有するアクセス・シーケンスを使って、使用の対象となるアクセス・シーケンスを修正し、本手法はステップ４４に戻る。一例として、アクセス・シーケンスＤＡＢＣが最短のシーク・タイムを提供したと仮定することにする。しかして、ステップ４４に戻った時にはＤＡＢＣが用いられる。
【００３８】
かくて、ステップ４４において、現在はシーケンスの最後の位置を占める記録グループＣが、あり得るすべてのシーケンス位置に置かれて合計シーク・タイムが評価される。このとき相異なるシーケンスは、ＣＤＡＢ、ＤＣＡＢ、ＤＡＣＢ、およびＤＡＢＣとなる。
【００３９】
ステップ４６で、最短の合計シーク・タイムを有するシーケンスがＤＡＢＣである場合、手法４０はステップ５０に進む。というのは、この結果が（ステップ４２からの）最新の結果だからである。しかして、ＤＡＢＣが最適の読み取りシーケンスとして選択される（シーケンスの最後のエレメントに加え、シーケンスの最終部のｎ個のエレメントを同様に再配置することもできる）。ペアワイズ交換手法は、記録グループ間の距離が最長の場合にも適用することができる。ステップ５０で、手法４０は、例えば、記録グループ２４が最新に修正されたアクセス・シーケンスの順序でアクセスされることで終了する。
【００４０】
このように、ペアワイズ交換手法では、アクセス・シーケンスの最終位置（または最後のいくつかの位置）の記録グループが、異なったアクセス・シーケンス位置に置かれ、最短の合計シーク・タイムを生成するアクセス・シーケンスが選択される。このプロセスは、シーケンスの最終位置の変化がもう無くなるまで繰り返される。ペアワイズ交換手法は、アクセス・シーケンスの後半におけるグループ・シーク・タイムを改善することができる。
【実施例】
【００４１】
合計シーク・タイムを低減するための上記の手法の効果性を評価するため、シミュレーション環境が生成された。このシミュレーションは４つのセクション、すなわち、インプット生成、記録グループ間の距離計算、記録グループのアクセス・シーケンス修正セクション、および合計シーク・タイムの表示、に分けることができる。
【００４２】
インプット生成セクションでは、各記録グループに対し、５つのエレメントに対するランダム値が生成された。この５つのエレメントには、記録グループの開始部の長手位置、記録グループの終端部の長手位置、記録グループを包含するデータ・バンド、記録グループの開始部を読み取る際にテープ媒体が移動する方向、および記録グループの終端部を読み取る際にテープ媒体が移動する方向が含まれる。
【００４３】
モデルを単純化するため、各記録グループの開始部と終端部とは常に同一のデータ・バンドに存在すると仮定された。加えて、記録グループの数は、記録グループの合計数が手法の効果性に影響し得るという事実にかんがみ、８から１，０２４までの間で変動できるようにされた。さらに、記録グループ群の位置的関係に起因する効果性のばらつきを防止するために、各記録グループ量に対し１，０００セットの関係を生成し、平均合計シーク・タイムを比較することによって、本手法が評価された。
【００４４】
記録グループ間の距離計算セクションでは、計算を単純化するため、加速、減速のために要する時間、およびこれらの時間の間にカバーされる距離は無視された。代わりに、記録グループ間の長手方向の移動に要する時間、データ・バンド間を移動するのに要する時間、およびテープ搬送方向の変更に要する時間が計算された。次いで、これらの値を合計して、記録グループ間の距離が算出された。
【００４５】
記録グループ・アクセス・シーケンス修正セクションでは、インプット生成セクションにおいて生成された複数の記録グループに対するアクセス・シーケンスが、総当たり法、ペアワイズ交換手法と組み合わせた最近傍手法、および記録番号シーケンス、の３つの方式に基づいて修正された。
【００４６】
記録番号シーケンスに変更する際は、各記録グループは、データ・バンド番号に従ってセットされた。同一のデータ・バンド番号を有するグループは、インプット生成セクションで生成された順にアクセスされた。
【００４７】
合計シーク・タイム表示セクションにおいて、記録グループ・アクセス・シーケンス修正セクションにおいて設定されたシーケンスに従って、記録が連続してアクセスされた際の、合計シーク・タイム、およびアクセス・シーケンスを修正するのに要する時間が表示された。
【００４８】
最初に、総当たり法を使ってアクセス・シーケンスを修正した場合に要する時間が、最近傍手法とペアワイズ交換手法とを組み合わせた方法（この明細書で説明される本方法）によるものと比較された。その結果を表１に示す。
【００４９】
【表１】
0005785484.tif 000002
【００５０】
表１の値は、最も近い整数に四捨五入されている。総当たり法では、１０より多い記録グループが関与する場合、アクセス・シーケンスを修正するのに要する時間は、合計シーク・タイム低減効果を上回り、これについては下記でより詳しく説明する。比較すると、本方法を用いれば、記録グループの数が１，０００を超える場合であっても、アクセス・シーケンスを最小の時間量で修正することができる。
【００５１】
このシミュレーションは、ラップトップ・コンピュータ上で行われたものであり、実際のテープ・ドライブではないので、テープ・ドライブへの本方法の実装では、記録グループの数とシーケンス修正のため要する時間との間の相関関係に若干異なる結果が出ることが予期されるが、全般的傾向は同じようになると予期される。
【００５２】
表２および表３は、ベースライン比較のため、記録番号シーケンスを使用した、総当たり法と本方法との間の合計シーク・タイムの差を示す。上記で説明したように、各記録グループ量に対しランダムに生成された１，０００セットが作成され、各セットでの平均低減時間が比較に使われた。低減率は、各種方法によって低減されたシーク・タイムのパーセントに相当する。
【００５３】
【表２】
0005785484.tif 000003
【００５４】
表２および表３中の「グループの数」とは、連続してアクセスされる記録グループの数をいう。「従来式」とは、記録番号シーケンスに従ってアクセスされた１，０００セットに対する平均合計シーク・タイムをいう（秒単位）。「総当たり」とは、アクセス・シーケンスが総当たり法によって修正されたときの、１，０００セットに対する平均合計シーク・タイムをいう（秒単位）。「低減」とは、従来式方法と総当たり法との間の平均合計シーク・タイムの差をいう（秒単位）。「グループあたり」とは、記録グループあたりのシーク・タイムの差をいう（秒単位）。「低減率」とは、従来式方法と比較した、総当たり法によって低減されたシーク・タイムのパーセントをいう（単位パーセント）。
【００５５】
【表３】
0005785484.tif 000004
【００５６】
表３中の「本方法」とは、アクセス・シーケンスが本方法によって修正されたときの、１，０００セットに対する平均合計シーク・タイムをいう（秒単位）。「低減」とは、従来式方法と本方法との間の平均合計シーク・タイムの差をいう（秒単位）。
【００５７】
最初に、８つの記録グループの場合を考えてみる。表２および３は、総当たり法および本方法が、従来式の記録番号シーケンスよりも短縮された合計シーク・タイム（それぞれ、４４秒と３８秒）を生成することを示している。しかして、アクセス・シーケンスを修正するのに要する時間を含めての合計シーク・タイムは、アクセス・シーケンスを修正するのに要する時間が６秒以下であるならば総当たり法を適用することによって、また、アクセス・シーケンスに６秒より長くかかる場合は本方法を用いることによって低減することができる。
【００５８】
次に、表３は、記録グループの数が多いほど、記録グループあたりのシーク・タイム低減の差が大きくなることを示している。しかして、より大きな数の記録グループほど、アクセス・シーケンスを修正するためのより大きな余地を有することになる。記録グループの数が１，０００を超える場合、８０％を超えて合計シーク・タイムを低減することができる。
【００５９】
シミュレーションの結果と、テープ・ドライブを使用して行われた実際のシーク・オペレーションとの間の差異を確認するために、ＬＴＯ−５テープ・ドライブを使ってテストが行われた。このテストには、８つの記録グループに対してランダムに生成された位置情報が使われた。結果は約１０％の誤差を示し、これを表４に示す。
【００６０】
【表４】
0005785484.tif 000005
【００６１】
上記で説明したように、シミュレーションでは、加速および減速のために要する時間を無視し、一定の早い速度を仮定したので、計算された値（計算値）が測定された値（測定値）より短くなることが予期されていた。
【００６２】
しかしながら、表４の記録番号シーケンスによって示されるように、計算値は予想外に遅いものであった。記録グループ間を移動するのに要する時間に対する計算値と測定値との比較結果は、異なったバンド上の記録グループの間を移動する場合、計算値が測定値よりも長かったことを示している。長手方向に大きな距離を移動する場合、実際のテープ・ドライブは、長手方向の移動のため必要な時間に影響を与えることなく異なるデータ・バンドに移動することが可能であるが、シミュレーションでは、長手方向位置に関係なくデータ・バンドの移動のため必要な一定の時間を加えていた。
【００６３】
従って、本方法の実装において、加速／減速時間、および長手方向距離とデータ・バンド間を移動するために要する時間との相関関係を考慮して、計算値と測定値との間の差を差し引くことが可能であり得る。
【００６４】
シミュレーション結果と測定値との間の差異は、記録番号シーケンス、総当たり法、または本方法を用いた場合に、おおむね同一の頻度で生じる可能性が高く、従って、この差異が前述した、１，０００セットの平均の評価結果に影響があるとは考えられない。
【００６５】
本方法を使用することによって、特に、多くの記録グループが関与する場合、合計シーク・タイムを大きく低減することが可能になり得る。しかしながら、ファイル・システムまたはＶＴＳを使用するテープ・ドライブのユーザにとって、重要なファクタは、合計シーク・タイムの差異でなく、デフラグおよびリクラメーション・オペレーションのために要する時間の差異である。以下の説明では、ＶＴＳを例に使って、リクラメーションのために要する時間に本方法がどのような影響を与えるかを吟味する。
【００６６】
この（例えば１ＴＢの）ＶＴＳテープ媒体は、（例えば各々が４００ＭＢＴの）２，５６０の論理ボリュームを包含していると仮定する。加えて、論理ボリュームの８０％は期限切れであり、残りの２０％（すなわち、５１２論理ボリューム）を異なるテープ媒体にコピーして、元のボリュームを空にするものとする。このプロセスはリクラメーションと呼ばれる。テープ・ドライブがテープ媒体上のデータを読み取り、媒体に書き込みする速度は同一であり、リクラメーションの間にテープ媒体に書き込まれるデータは、各ボリュームに対するシーク・オペレーションを行うことなく、直近に書き込まれた論理ボリュームの直ぐ後ろに書き込まれる。しかして、リクラメーションの過程で論理ボリュームを読み取る際に、テープ媒体上に散り散りになっている論理ボリュームのシーク・オペレーションがボトルネックを形成する。数学的表現において、リクラメーションに必要な時間ｔＴは、合計シーク・タイムｔＲと論理ボリューム合計読み取り時間ｔＶとの和で表すことができる。すなわち、
ｔＴ＝ｔＲ＋ｔＶ                                  （４）
【００６７】
表３によれば、合計シーク・タイムｔＲに対する値は、従来式記録番号シーケンスで読み取った場合、４，５９２秒であり、また、本方法を用いた場合は、１，０１１秒である。
【００６８】
１４０（ＭＢ／秒）のテープ・ドライブのデータ転送速度を仮定すれば、（各４００ＭＢの）５１２個の論理ボリュームを読み取るのに要する合計時間ｔＶ（秒単位）は次式で表すことができる。
ｔＶ＝４００／１４０＊５１２＝１，４６３            （５）
【００６９】
表５は、上記の情報に基づいて、従来式方法および本方法を使ったリクラメーションに要する時間の比較である。
【００７０】
【表５】
0005785484.tif 000006
【００７１】
しかして、本方法の適用が、一般的なＶＴＳにおけるリクラメーション時間をおおよそ６０％（すなわち、この例では１時間）低減することが明らかである。このように、本方法は、合計シーク・タイムを低減するだけでなく、テープ・ドライブ・ベースのシステム全体のパフォーマンスを向上するための効果的ツールでもあり得る。
【００７２】
要約すれば、記録グループ間の距離という概念が提供されており、これを用いて記録グループのアクセス・シーケンスを修正することができる。シミュレーション・テストにおいて、この方法は、合計シーク・タイムを約８０％低減し、特に、多数の記録グループが関与したときに効果的であった。また、テープ・ドライブのパフォーマンス上の最大の不利点の一つである合計シーク・タイムを低減する本方法の能力は、ファイル・システムまたはＶＴＳを用いるとき、デフラグおよびリクラメーション・オペレーションのために要する時間を低減するのにも有用である。
【００７３】
図５は、本発明に従って使用可能な、代表的ＶＴＳシステム１００の例示的実施形態を示す。システム１００は、テープ・ライブラリ１０２、少なくとも一つのＶＴＳ１０４（一時キャッシュ）、および少なくとも一つのホスト（１０６ａおよび１０６ｂとして示す）を包含する。各ホスト１０６をメインフレーム・コンピュータとすることができる。これに換えて、ホスト（ユーザ）１０６を、サーバまたはさまざまなオペレーティング・システムを使うパソコンとすることもできる。ホスト１０６とＶＴＳ１０４とは、ストレージ・エリア・ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１０８または、別の適切な通信チャネル、例えばＩＢＭ（ＩＢＭ社の登録商標）のメインフレーム・コンピュータで用いられるエンタープライズ・システム・コネクション（ＥＳＣＯＮ：Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍ  Ｃｏｎｎｅｃｔｉｏｎ）（ＩＢＭ社の登録商標）チャネルを介して接続される。
【００７４】
テープ・ライブラリ１０２には、ライブラリ・マネージャ１１０、一つ以上のデータ・ドライブ・デバイス（これらはテープ・カートリッジ１１２（１１２ａ〜ｅとして示された二次キャッシュ）とすることができる）、アクセサ１１４、および複数のマウント可能媒体１１６を包含させることができる。一つの実施形態において、マウント可能媒体１１６には、テープ・カートリッジ、磁気ディスク、光ディスク、ＣＤ、ＤＶＤ、データを格納できドライブ装置に搭載可能な他のデバイスなどが包含される。ライブラリ・マネージャ１１０は少なくとも一つのコンピューティング・プロセッサを包含し、このプロセッサはテープ・カートリッジ１１２およびアクセサ１１４と相互接続し、これらの動作を制御することができる。ライブラリ・マネージャ１１０の構成については、さらなる詳細を下記に示し説明する。例示の実施形態のメカニズムは、階層的記憶管理（ＨＳＭ：ｈｉｅｒａｒｃｈｉｃａｌ  ｓｔｏｒａｇｅ  ｍａｎａｇｅｍｅｎｔ）システムにおいて、２種類のキャッシュ、すなわち、一次キャッシュ（ＶＴＳ１０４）および二次キャッシュを用いる。かかる構成は、ＶＴＳ１０４がディスク・キャッシュ上のファイルをあたかもそれがバーチャル・テープであるかのようにユーザに提供することを可能にし、ユーザはそのファイルに対しデータの読み取りおよび書き込みを行う。ホストに生成されたバーチャル・テープとしてのファイルは、後で適切なときに実際のテープに移される。ただし、例示の実施形態のメカニズムは、実際のテープ、あるいは実際のまたはバーチャルの形でのテープ・カートリッジを提供することができる。
【００７５】
図５には、５つのテープ・カートリッジ１１２ａ、１１２ｂ、１１２ｃ、１１２ｄ、および１１２ｅが示されている。本発明は、一つ以上のテープ・ドライブ１１３を使って動作可能である。テープ・ドライブ群１１３は、ユーザ・データおよびログ・データのマウントおよびデマウントを助力するよう構成される。テープ・カートリッジ１１２は、マウント可能媒体１１６の単一のリポジトリを共用することができる。これに換えて、テープ・カートリッジ１１２は、マウント可能媒体１１６の複数のリポジトリを用いることもできる。有利には、テープ・カートリッジ１１２を複数の場所に亘って分散し、一つの場所での災害によって、複数のテープ・カートリッジ１１２が機能喪失する確率を減少させることができる。
【００７６】
ライブラリ・マネージャ１１０、テープ・カートリッジ１１２、およびアクセサ１１４の間の相互接続が点線で示されており、ライブラリ・マネージャ１１０が、格納または読み出されるデータの送受信ではなく、テープ・カートリッジ１１２もしくはアクセサ１１４またはその両方に制御信号を送受信することを示している。格納または読み出されるデータは、代わりに、ネットワーク１１８を介してＶＴＳ１０４とテープ・カートリッジ１１２との間で直接送信され、このネットワークは、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）あるいは、インターネットもしくは、２点間または例えば小型コンピュータ用周辺機器インタフェース（ＳＣＳＩ：Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｔｏｒａｇｅ  Ｉｎｔｅｒｆａｃｅ）マルチドロップ・バス接続を介したＶＴＳ１０４とテープ・カートリッジ１１２との間の直接接続を含む、別の適切な種類のネットワークとすることができる。上記に換えて、テープ・ドライブ１１２に対する制御信号は、ＶＴＳ１０４とライブラリ・マネージャ１１０との間、およびネットワーク１１８を介したＶＴＳ１０４とテープ・ドライブ１１２との間の接続を介して送受信することもできる。
【００７７】
アクセサ１１４は、格納棚とテープ・カートリッジ１１２との間で選定されたマウント可能媒体１１６を移送するよう構成された、ロボット・アームまたは別のメカニカル・デバイスとすることができる。アクセサ１１４は、通例、把持部、および把持部に搭載されたバーコード・スキャナまたは類似の読み取りシステムを包含する。バーコード・スキャナは、テープ・カートリッジ１１２に貼付されたカートリッジ・ラベル上にプリントされたボリューム連番（ＶＯＬＳＥＲ：ｖｏｌｕｍｅ  ｓｅｒｉａｌ  ｎｕｍｂｅｒ）を読み取るために使われる。別の実施形態において、テープ・カートリッジ１１２は、光ディスク・ドライブまたは他の磁気ドライブで置き換えることができる。同様に、マウント可能媒体１１６およびテープ・ドライブ１１３は、磁気媒体、光媒体、または用いられるドライブの種類に対応する任意の他の着脱可能媒体を包含することができる。制御コンソール１２０は、ライブラリ・マネージャ１１０に接続することができる。制御コンソール１２０を、ライブラリ・マネージャ１１０と通信するコンピュータとし、ユーザが、ホスト１０６と関係なくテープ・ライブラリ１０２の動作パラメータを制御できるようにすることができる。
【００７８】
さらに、説明した例示的実施形態は、コンピューティング環境でまたは別途これに関連させて動作可能な、ハードウエア、ソフトウエア、ファームウエア、またはこれらの組み合わせなど、さまざまな手段によって実装することができる。例えば、本方法１００、および以下に示す例示的方法を、部分的にまたは全体的に、コンピュータ可読プログラム・コード部分を内部に格納するするコンピュータ可読記憶媒体を包含するコンピュータ・プログラムとして実装することができる。これらコンピュータ可読記憶媒体は、ディスク・ドライブ、フラッシュ・メモリ、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、コンパクト・ディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｋｓ）、および前述したような他の種類の記憶媒体を包含し得る。
【００７９】
図６は、図５のＶＴＳ１０４の一実施形態およびライブラリ・マネージャ１１０の一実施形態を図示した概略ブロック図を示す。ＶＴＳ１０４およびライブラリ・マネージャ１１０は、各々、バス、プロセッサ、メモリなどを備えたコンピュータの形をとることができる。図６では、ＶＴＳ１０４およびライブラリ・マネージャ１１０の本発明に関連する各種の実行可能モジュールおよびデータ・ブロックをより明瞭に示すために、これらのエレメントは省略されている。ＶＴＳ１０４またはライブラリ・マネージャ１１０の実装において、当分野で知られた他の実行可能モジュールおよびデータ・ブロックもあろうが、本発明に必須のエレメントに焦点を当てるため省略されている。
【００８０】
図示のように、ＶＴＳ１０４は、複数のバーチャル・テープ・ドライブ２００、ファイル・システム・マネージャ２０２、自動化記憶マネージャ２０６、キュー２０８、および少なくとも一つの直接アクセス記憶デバイス（ＤＡＳＤ：ｄｉｒｅｃｔ  ａｓｓｅｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）キャッシュ２１０を包含する。ＤＡＳＤキャッシュ２１０は、ホスト１０６からのデータを、バーチャルまたは論理ボリュームに、ファイルの形で一時的に格納し、しかして一次キャッシュといわれることがある。ホスト１０６からの書き込み命令は、ＶＴＳ１０４によって、バーチャル・テープ・ドライブ２００を通してＤＡＳＤキャッシュ２１０中に処理された後、更新された論理ボリュームが、ＤＡＳＤキャッシュ２１０からマウント可能媒体または物理ボリューム１１６（図５参照）に転送される。一つの例によれば、ＤＡＳＤキャッシュ２１０は一つ以上のハード・ディスク・ドライブの形をとり、これらは、ＲＡＩＤ５などの独立ドライブ冗長アレイ（ＲＡＩＤ：ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｒｉｖｅｓ）に配置することができる。また、バーチャル・テープ・ドライブ２００は、ホスト１０６からの制御命令も処理する。
【００８１】
ファイル・システム・マネージャ２０２は、ＤＡＳＤキャッシュ２１０中のデータ記憶を管理し調整する。自動化記憶マネージャ２０６は、ファイル・システム・マネージャ２０２とテープ・カートリッジ１１２との間のインタフェース通信を制御する。また、自動化記憶マネージャ２０６は、ＶＴＳ１０４とライブラリ・マネージャ１１０との間の通信も制御する。一つの実施形態において、ホスト１０６はある特定の論理ボリュームを要求することができる。自動化記憶マネージャ２０６は、その論理ボリュームがＤＡＳＤキャッシュ２１０中に在るかどうかを判定する。無い場合、自動化記憶マネージャ２０６は、物理ボリュームまたはマウント可能媒体１１６からそのボリュームのリコールを要求する。また、自動化記憶マネージャ２０６は、処理対象の追加リコール要求を一時的にキュー２０８に収容することができる。このように、自動化記憶マネージャ２０６は、テープ・ドライブ１１２ａ、ｂ、ｃ、ｄ、およびｅ（図５参照）を使って、脱着可能媒体１１６から論理ボリュームをリコールするための装置である。
【００８２】
ライブラリ・マネージャ１１０は、バーチャルおよび物理ボリューム並びにその構成体を管理する。さらに具体的には、ライブラリ・マネージャ１１０は、バーチャル・テープ・ドライブ２００および自動化記憶マネージャ２０６から制御命令を受信する命令プロセッサ２２５を包含する。命令プロセッサ２２５は、バーチャルおよび物理ボリュームの管理についての命令を、ボリューム・マネージャ２３５に渡す。ボリューム・マネージャ２３５は、バーチャルおよび物理ボリュームについての情報を、ライブラリ・マネージャ１１０のデータベース２３０に格納する。さらに、受信された命令に応じて、ボリューム・マネージャは、テープ・カートリッジ１１２もしくはアクセサ１１４またはその両方に対し、バーチャル・ボリュームのコピーの作成または取り出しの対象となるカートリッジまたは他の脱着可能媒体１１６を、装着または「搭載」する命令を送信する。複数のカートリッジ１１６の搭載は、アクセサ１１４およびテープ・カートリッジ１１２の構成如何によって、一般には同時にまたは特定の順序で行われる。
【００８３】
また、ライブラリ・マネージャ１１０は、所与の構成体名に対して進めるべきボリューム管理処置に関するユーザ命令を制御コンソール１２０から受信する、構成マネージャ２４０を有する。ボリューム管理処置は、構成マネージャ２４０によって、ライブラリ・マネージャ１１０のデータベース２３０に格納され、取り出される。命令プロセッサに２２５によって受信された特定の制御命令に対し、命令プロセッサ２２５は、構成マネージャ２４０に、特定のバーチャル・ボリュームに対するボリューム管理処置を施すよう指令する。命令プロセッサ２２５は、次いで、返信された、特定のバーチャル・ボリュームに対するボリューム管理処置を自動化記憶マネージャ２０６に渡す。
【００８４】
実施形態に基づいて上記に本発明を説明してきたが、本発明の技術的範囲は上記の実施形態に限定されない。当業者にとって、上記の実施形態にさまざまな変更または改良を加えることが可能なのは明らかである。
【００８５】
請求の範囲、記述および図面に示された、デバイス、システム、プログラム、および方法中のオペレーション、手順、ステップおよびステージなど諸プロセスの実行順序は、「前に」または「先立って」などの表現を特に用いて明確に特定されていないことに留意すべきである。従って、これら諸プロセスは、先行のプロセスからのアウトプットが後続のプロセスに使われる場合を除き、任意の順序で実行が可能である。請求の範囲中、記述中、または図面中のいずれかのオペレーションの流れが、便宜上、「最初に」および「その後に」などの表現によって表されていたとしても、それは、必ずしも、そのオペレーションの流れが、こういった表現で表された順序で実行されなければならないことを意味するものではない。
【００８６】
当業者ならよく理解するであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラムとして具現することができる。従って、本発明の態様は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態（ファームウエア、常駐ソフトウエア、マイクロコードなどを含む）、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれる、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、媒体に体現されたコンピュータ可読プログラム・コードを有する一つ以上のコンピュータ可読媒体（群）中に具現されたコンピュータ・プログラムの形を取ることもできる。
【００８７】
一つ以上のコンピュータ可読媒体（群）の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム、装置、またはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例（限定的リスト）には、一つ以上の配線を有する電気接続、携帯コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）またはフラッシュ・メモリ）、光ファイバ、携帯コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることができる。
【００８８】
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、ＲＦなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および、“Ｃ”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組合せで記述することができる。このプログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで、スタンドアロン・ソフトウエア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔のコンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことができる。
【００８９】
本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラムのフローチャート説明図もしくはブロック図またはその両方を参照しながら本発明の態様を上記で説明している。フローチャート説明図もしくはブロック図またはその両方の各ブロック、および、フローチャート説明図もしくはブロック図またはその両方中のブロックの組合せは、コンピュータ・プログラム命令によって実行可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能／処理を実施するための手段を生成するようにすることができる。
【００９０】
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能／処理を実施する命令群を包含する製品を形成するようにすることもできる。同様に、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、そのコンピュータ、または他のプログラム可能装置、または他のデバイス上で一連のオペレーション・ステップを遂行させてコンピュータ実行のプロセスを生成し、そのコンピュータまたは他のプログラム可能装置で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能／処理を実施するためのプロセスを提供するようにすることもできる。
【００９１】
前述図面中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラムの可能な実装によるアーキテクチャ、機能、およびオペレーションを例示している。これに関し、フローチャートまたはブロック図中の各ブロックは、規定された論理機能（群）を実施するための一つ以上の実行可能命令（すなわち、実行可能部分）を含むコードのモジュール、セグメント、または部分を表し得る。また、ある別な実装においては、ブロックに記載された機能が図に記載されたのと違った順序で実施され得ることに留意すべきである。例えば、関与する機能性によっては、引き続きに示された２つのブロックが、実際は実質上同時に実行されることがあり、ブロック群が時として逆の順序で実行され得る。また、ブロック図もしくはフローチャート説明図またはその両方の各ブロック、および、フローチャート説明図もしくはブロック図またはその両方中のブロックの組合せは、特定の機能または処理を遂行する特殊用途のハードウエア・ベース・システム、または特殊用途ハードウエアとコンピュータ命令との組合せによって実施できることにも留意すべきである。
【００９２】
本発明の一つ以上の実施形態を詳細に説明してきたが、当業者は、添付の請求項に記載された本発明の範囲から逸脱することなく、これらの実施形態に変更および脚色を加えることが可能なことをよく理解しているであろう。
【符号の説明】
【００９３】
１００    システム
１０２    テープ・ライブラリ
１０４    ＶＴＳ
１０６    ホスト
１０８    ストレージ・エリア・ネットワーク
１１０    ライブラリ・マネージャ
１１２    テープ・カートリッジ
１１３    テープ・ドライブ
１１４    アクセサ
１１６    マウント可能媒体
１１８    ネットワーク
１２０    制御コンソール
【図１】
0005785484.tif 000007
【図２】
0005785484.tif 000008
【図３】
0005785484.tif 000009
【図４】
0005785484.tif 000010
【図５】
0005785484.tif 000011
【図６】
0005785484.tif 000012