(57)【特許請求の範囲】
【請求項１】
複数の記憶ユニットと、前記複数の記憶ユニットを処理する複数の物理ドライブと、前記記憶ユニットを前記物理ドライブに装着するライブラリ・サーバとを備えたライブラリと、アクセス・コントローラとにより構成されたデータ記憶システムに、複数のホスト・コンピュータを接続する方法であって、
（ａ）前記データ記憶システムにアクセスする前記複数のホスト・コンピュータのそれぞれを前記アクセス・コントローラに接続するステップと、
（ｂ）前記複数のホスト・コンピュータのそれぞれに対して、前記アクセス・コントローラ内に設けられた複数の仮想ドライブの一つを割り当てるステップと、
（ｃ）前記ホスト・コンピュータから、前記データ記憶システム内の複数の記憶ユニットの一つへのアクセス要求を受信するステップと、
（ｄ）前記アクセス要求に応じて前記複数の物理ドライブの一つを選択し、前記複数の記憶ユニットの一つを当該選択された物理ドライブに装着するするステップと、
（ｅ）前記アクセス・コントローラ内において、前記割り当てられた仮想ドライブと前記選択された物理ドライブとの接続を行うステップと、
の各ステップを有することを特徴とするホスト・コンピュータの接続方法。
【請求項２】
前記ステップ（ｄ）は、
使用可能な前記複数の物理ドライブのそれぞれと前記複数の記憶ユニットのそれぞれとの近接度情報を判断するステップを含み、前記複数の物理ドライブの一つの選択が前記近接度情報に基づいて行われる、請求項１に記載のホスト・コンピュータの接続方法。
【請求項３】
前記ステップ（ｄ）は、
前記複数の記憶ユニットの一つを収容するために、前記複数の物理ドライブの中から使用可能な物理ドライブを判断するステップを含み、前記複数の物理ドライブの一つの選択が、前記使用可能な物理ドライブの中から選択される、請求項１に記載のホスト・コンピュータへの接続方法。
【請求項４】
さらに、
（ｆ）第２の前記ホスト・コンピュータから、前記データ記憶システム内の複数の記憶ユニットの一つへのアクセス要求を受信するステップと、
（ｇ）前記複数の物理ドライブの他の一つを選択して、前記複数の記憶ユニットの他の一つを当該選択された物理ドライブに装着するするステップと、
（ｈ）前記アクセス・コントローラ内において、前記第２の前記ホスト・コンピュータに割り当てられた仮想ドライブと前記選択された物理ドライブとの接続を形成するステップと、
の各ステップを有することを特徴とする請求項１に記載のホスト・コンピュータの接続方法。
【請求項５】
前記記憶ユニットがテープ・カートリッジであり、前記物理ドライブがテープ・ドライブであり、前記仮想ドライブが仮想テープ・ドライブである、請求項１に記載のコンピュータの接続方法。
【請求項６】
前記記憶ユニットがディスクであり、前記物理ドライブがディスク・ドライブであり、前記仮想ドライブが仮想ディスク・ドライブである、請求項１に記載のコンピュータの接続方法。
【請求項７】
複数のテープ・カートリッジと、前記複数のテープ・カートリッジを処理する複数のテープ・ドライブと、前記テープ・カートリッジを前記テープ・ドライブに装着するライブラリ・サーバとを備えたライブラリと、アクセス・コントローラとにより構成されたデータ記憶システムに、ホスト・コンピュータを接続する方法であって、
（ａ）前記ホスト・コンピュータが、前記ライブラリ内の前記複数のテープ・カートリッジの中の所望の一つへのアクセス要求を行うステップと、
（ｂ）前記ライブラリ・サーバが、前記所望のテープ・カートリッジを装着するテープ・ドライブを選択するステップと、
（ｃ）前記ライブラリ・サーバが、前記所望のテープ・カートリッジを前記選択されたテープ・ドライブに装着するステップと、
（ｄ）前記ホスト・コンピュータのために、前記アクセス・コントローラ内に設けられた複数の仮想テープ・ドライブの一つを割り当てるステップと、
（ｅ）前記アクセス・コントローラ内において、前記割り当てられた仮想テープ・ドライブと前記選択されたテープ・ドライブとの接続を行うステップと、
の各ステップを有することを特徴とするホスト・コンピュータの接続方法。
【請求項８】
前記ステップ（ｂ）は、
使用可能な前記複数のテープ・ドライブのそれぞれと前記複数のテープ・カートリッジとの近接度情報を判断するステップを含み、前記使用可能な複数のテープ・ドライブの一つの選択が前記近接度情報に基づいて行われる、請求項７に記載のホスト・コンピュータの接続方法。
【請求項９】
さらに、
（ｆ）第２の前記ホスト・コンピュータから、前記データ記憶システム内の複数のテープ・カートリッジの一つへのアクセス要求を受信するステップと、
（ｇ）前記複数のテープ・ドライブの他の一つを選択して、前記複数のテープ・カートリッジの他の一つを当該選択されたテープ・ドライブに装着するするステップと、
（ｈ）前記アクセス・コントローラ内において、前記第２の前記ホスト・コンピュータに割り当てられた前記仮想テープ・ドライブと前記選択されたテープ・ドライブとの接続を形成するステップと、
の各ステップを有することを特徴とする請求項７に記載のホスト・コンピュータの接続方法。
【請求項１０】
複数のホスト・コンピュータと、
複数の記憶ユニットと、前記複数の記憶ユニットを処理する複数の物理ドライブと、前記記憶ユニットを前記物理ドライブに装着するライブラリ・サーバと、を備えたライブラリと、
前記複数のホスト・コンピュータのそれぞれに割り当てられたる複数の仮想ドライブを有したアクセス・コントローラと、を有し、
前記ホスト・コンピュータから前記データ記憶システム内の複数の記憶ユニットの一つへのアクセス要求があった場合に、前記ライブラリ・サーバは、前記複数の物理ドライブの一つを選択して前記複数の記憶ユニットの一つを当該選択された物理ドライブに装着し、前記アクセス・コントローラは、前記割り当てられた仮想ドライブと前記選択された物理ドライブとの接続を行う、ことを特徴とするデータ記憶システム。
【請求項１１】
前記ライブラリ・サーバは、使用可能な前記複数の物理ドライブのそれぞれと前記複数の記憶ユニットのそれぞれとの近接度情報に基づいて前記記憶ユニットを装着する物理ドライブの選択を行う、請求項１０に記載のデータ記憶システム。
【請求項１２】
前記ライブラリ・サーバは、前記複数の記憶ユニットの一つを収容するために、前記複数の物理ドライブの中から使用可能な物理ドライブを判断し、前記使用可能な物理ドライブの中から前記記憶ユニットを装着する物理ドライブの選択を行う、請求項１０に記載のデータ記憶システム。
【請求項１３】
第２の前記ホスト・コンピュータから、前記データ記憶システム内の複数の記憶ユニットの一つへのアクセス要求があった場合には、
前記ライブラリ・サーバは、前記複数の物理ドライブの他の一つを選択して、前記複数の記憶ユニットの他の一つを当該選択された物理ドライブに装着し、
前記アクセス・コンピュータは、前記アクセス・コントローラ内において、前記第２の前記ホスト・コンピュータに割り当てられた仮想ドライブと前記選択された物理ドライブとの接続を形成する、請求項１０に記載のデータ記憶システム。
【請求項１４】
前記記憶ユニットがテープ・カートリッジであり、前記物理ドライブがテープ・ドライブであり、前記仮想ドライブが仮想テープ・ドライブである、請求項１０に記載のデータ記憶システム。
【請求項１５】
前記記憶ユニットがディスクであり、前記物理ドライブがディスク・ドライブであり、前記仮想ドライブが仮想ディスク・ドライブである、請求項１０に記載のデータ記憶システム。
【発明の詳細な説明】
【０００１】
［技術分野］
本発明は、概して、データ記憶システムに関し、特に、ホスト・コンピュータに接続するために、テープ・ドライブを動的に選択するための方法及びシステムに関する。
【０００２】
［背景技術］
データ記憶システムで大量の情報を取り扱うために広く使用されているデバイスとしては、自動カートリッジ・ライブラリがある。自動カートリッジ・ライブラリは、データが記録されている磁気テープを含む大量のテープ・カセットを収容し、管理する。通常、自動カートリッジ・ライブラリは、それぞれが、１つのテープ・カートリッジを含むようになっている一意に識別されたセルのアレーを有するテープ・ライブラリからなる。ロボット・アセンブリは、特定のセルの位置を発見し、特定のセルからテープ・カートリッジを検索し、そのテープ・カートリッジをテープ・ドライブに送り、そのカートリッジをテープ・ドライブに挿入するためにテープ・ライブラリ内で動作することができる。次に、テープ・ドライブは、テープ・カートリッジの磁気テープからデータを読み取ったり、磁気テープにデータを書き込んだりする。このようにして、多数のテープ・カートリッジは、１つのテープ・ドライブに自動的にアクセスすることができる。自動カートリッジ・ライブラリ及びテープ・ドライブの動作は、通常、テープ・ライブラリに関連するライブラリ・サーバと通信するホスト・コンピュータにより制御される。
【０００３】
複数のホスト・コンピュータは、通常、テープ・ライブラリ内に保管されているテープ・カートリッジにアクセスするために、ライブラリ・サーバと通信する。ホスト・コンピュータは、テープ・カートリッジ上に記憶されているファイルを読み取り、またテープ・カートリッジにファイルを書き込むために、テープ・ドライブを通してテープ・カートリッジにアクセスする。
【０００４】
各ホスト・コンピュータは、テープ・ライブラリに関連する各組のテープ・ドライブに接続するように構成されている。例えば、第１のホスト・コンピュータは、第１の組のテープ・ドライブに接続するように構成されていて、第２のホスト・コンピュータは、第２の組のテープ・ドライブに接続するように構成されている。通常、テープ・ドライブは、各ホスト・コンピュータに関連する異なるテープ・ドライブの組で重畳していて、上記テープ・ドライブの組は、相互に排他的な関係にある。
【０００５】
必要なファイルにアクセスするために、ホスト・コンピュータは、必要なファイルが記憶されているテープ・カートリッジを検索したいという要求をライブラリ・サーバに送る。それに対して、ライブラリ・サーバは、テープ・ライブラリのロボット・アセンブリに、テープ・カートリッジのアレーから必要なテープ・カートリッジを検索し、次に、それを、要求しているホスト・コンピュータに関連するテープ・ドライブ・セットのテープ・ドライブに装着するように命令する。必要なファイルが２つ以上のテープ・カートリッジ上に記憶されている場合には、ライブラリ・サーバは、ロボット・アセンブリに、必要なファイルを記憶しているすべてのテープ・カートリッジを検索し、それらをホスト・コンピュータに関連するテープ・ドライブに装着するように命令する。
【０００６】
１９９８年７月３０日付けの、ＰＣＴ公告ＷＯ９８  ３３１１３Ａは、ホスト・コンピュータ・システムに、そのライブラリ内に物理的に存在している媒体およびドライブ構成以外の媒体およびドライブ構成を報告する、取り外すことができる媒体ライブラリを開示している。ライブラリが報告する上記構成は、システムのユーザが選択する動作モードにより決定される。
先行技術のデータ記憶システムの１つの欠点は、多くのテープ・ドライブに一度にアクセスしたい場合には、多くのホスト・コンピュータを複数の各テープ・ドライブに接続するように構成することが実際には不可能であることである。この欠点は、１９９７年６月１７日付けの米国特許第５，６４０，５１０号；１９９３年４月７日付けの欧州特許第５３５  ９３３号；１９９６年９月２４日付けの米国特許第５，５６０，０４０号に記載されている。今、必要なのは、複数のホスト・コンピュータと接続するために、動的に複数のテープ・ドライブを選択するための方法およびシステムである。
【０００７】
［発明の概要］
従って、本発明の１つの目的は、複数の物理ドライブから、その物理ドライブが動的に選択される１つの記憶ユニットにアクセスするために、１台の物理ドライブに１台のホスト・コンピュータを接続するための方法及びシステムを提供することである。
【０００８】
本発明のもう１つの目的は、複数の物理ドライブから、その各物理ドライブが動的に選択される各物理ドライブに複数のホスト・コンピュータを同時に接続するための方法及びシステムを提供することである。
【０００９】
本発明のさらにもう１つの目的は、１つのテープ・ライブラリ内のすべてのテープ・ドライブから、そのテープ・ドライブが動的に選択される１つのテープ・カートリッジにアクセスするために、１台のテープ・ドライブに１台のホスト・コンピュータを接続するための方法及びシステムを提供することである。
【００１０】
本発明のさらにもう１つの目的は、ホスト・コンピュータに関連する１台の仮想テープ・ドライブが、複数のテープ・ドライブから動的に選択された１台のテープ・ドライブに接続される１つのテープ・カートリッジにアクセスするために、１台のテープ・ドライブに１台のホスト・コンピュータを接続するための方法及びシステムを提供することである。
【００１１】
本発明のもう１つの目的は、複数の各テープ・ドライブに対するそのテープ・カートリッジの近接度情報に基づいて、複数のテープ・ドライブから、そのテープ・ドライブが動的に選択される１つのテープ・カートリッジにアクセスするために、１台のテープ・ドライブに１台のホスト・コンピュータを接続するための方法及びシステムを提供することである。
【００１２】
上記及びその他の目的を実行する際に、本発明は、１つの記憶ユニットにアクセスするために、物理ドライブにホスト・コンピュータを接続するための方法を提供する。上記方法は、複数の記憶ユニット、該記憶ユニットを処理するための複数の物理ドライブ、及び上記複数の記憶ユニットを上記複数の物理ドライブに装着するためのライブラリ・サーバを備える１つのライブラリを有するデータ記憶システムで使用するためのものである。記憶ユニットとしては、テープ・カートリッジ又はディスクを使用することができ、物理ドライブとしては、テープ・ドライブ又はディスク・ドライブを使用することができる。
【００１３】
上記方法は、ホスト・コンピュータがアクセスできるように、ライブラリ内に収容している必要な記憶ユニットを選択するステップを含む。次に、ライブラリ・サーバは、ホスト・コンピュータは、ライブラリ・サーバに対して必要な記憶ユニットにアクセスするように要求する。次に、必要な記憶ユニットを収容するために、複数の物理ドライブの中から１台の物理ドライブが選択される。次に、ライブラリ・サーバにより、必要な記憶ユニットが、選択した物理ドライブ内に装着される。次に、ホスト・コンピュータを必要な記憶ユニットにアクセスさせるために、ホスト・コンピュータに関連する１つの仮想ドライブが、選択した物理ドライブに接続される。
【００１４】
好適には、上記方法は、さらに、複数の各物理ドライブに対する必要な記憶ユニットの近接度情報を判断するステップを含むことができることが好ましい。次に、近接度情報に基づいて、複数の物理ドライブの中からその物理ドライブが選択される。
【００１５】
上記方法は、また、ホスト・コンピュータがアクセスを要求するライブラリ内に記憶している記憶ユニットを予測し、さらに、予測した記憶ユニットを物理ドライブ内に装着するステップを含むこともできる。次に、ホスト・コンピュータは、予測した記憶ユニットを物理デバイス内に装着した後で、ライブラリ・サーバに対して、予測した記憶ユニットにアクセスするように要求する。次に、仮想ドライブは、ホスト・コンピュータを予測した記憶ユニットにアクセスさせるために、予測した記憶ユニットを有する物理ドライブに接続される。
【００１６】
上記方法は、さらに、第２のホスト・コンピュータがアクセスできるように、ライブラリ内に記憶している第２の記憶ユニットを選択し、その後で、第２のホスト・コンピュータが、選択した第２の記憶ユニットにアクセスできるようにするように、ライブラリ・サーバに要求するステップを含むことができる。次に、第２の記憶ユニットを収容するために、複数の物理ドライブの中から第２の物理ドライブが選択される。次に、第２の記憶ユニットが、ライブラリ・サーバにより、選択した第２の物理ドライブ内に装着される。次に、第２のホスト・コンピュータを第２の記憶ユニットにアクセスさせるために、第２のホスト・コンピュータに関連する第２の仮想ドライブが、選択した第２の物理ドライブに接続される。
【００１７】
上記及び他の目的を実行する際に、本発明は、さらに、本発明の方法によるデータ記憶システムを提供する。
【００１８】
本発明は、多くの利点を持つ。例えば、ホスト・コンピュータの構成が小規模になり、管理がより容易になる。テープ・ライブラリに新しいテープ・ドライブを追加する場合に、すべての接続しているホスト・コンピュータの構成を更新する必要がない。本発明の動的にマッピングしたスキームを使用することにより、装着時間が短くてすむ。何故なら、代理エージェントが、そこから選択が行われるテープ・ライブラリのすべてのテープ・ドライブを持っているからである。そのため、必要なテープ・カートリッジを装着するために選択中の必要なテープ・カートリッジの記憶位置に最も近いテープ・ドライブを選択する可能性が高くなる。テープ・ドライブの維持も、特定のホスト・コンピュータに影響を与えないで行うことができる。何故なら、個々のホスト・コンピュータが特定のテープ・ドライブに接続していないからである。他の潜在的な最適化も同様に行うことができる。例えば、装着スクラッチ要求を受信した場合に、テープ・ドライブを即座に使用できるようにするために、利用できるテープ・ドライブ内に種々のスクラッチの音量を予めロードすることもできる。
【００１９】
本発明の上記及び他の目的、機能及び利点は、添付の図面を参照しながら、本発明を実施するための最良の形態についての以下の詳細な説明を読めば、容易に理解することができる。
【００２０】
［発明を実施するための最良の形態］
図１について説明すると、この図は、本発明の自動テープ・カートリッジ・ライブラリ・システム１０である。ホスト・コンピュータ１２ａ、１２ｂ及び１２ｃは、代理エージェント１６を通してライブラリ・サーバ１４と通信する。ライブラリ・サーバ１４は、テープ・ライブラリ１８内のロボット・アセンブリの動作を支配する。テープ・ライブラリ１８は、複数のテープ・カートリッジを含む。テープ・カートリッジは、記録したデータを持つか、データを記録するために使用することができる。テープ・ライブラリ１８は、さらに、複数のテープ・ドライブ（ＴＤ）２０（ａ−ｎ）を含む。テープ・ドライブ２０は、テープ・カートリッジからデータを読み取ったり、テープ・カートリッジへデータを書き込んだりするために使用される。アクセス・コントローラ２２は、ホスト・コンピュータがテープ・カートリッジにアクセスできるように、ホスト・コンピュータ１２をテープ・ドライブ２０に接続する。
【００２１】
ライブラリ・サーバ１４は、ホスト・コンピュータ１２からの信号を解釈し、その運動及び動作を制御するために、テープ・ライブラリ１８内のロボット・アセンブリに適当な信号を送る。ホスト・コンピュータ１２からの信号は、テープ・ライブラリ１８内のテープ・カートリッジの取り扱い及び保管を管理する。上記信号に応じて、ロボット・アセンブリは、テープ・カートリッジを検索し、ホスト・コンピュータ１２により処理するために、それらをテープ・ドライブ２０内に装着する。処理後に、ロボット・アセンブリは、テープ・ドライブ２０からテープ・カートリッジを取り外し、それをテープ・ライブラリ１８内の適当な保管領域に戻す。代理エージェント１６を通してのホスト・コンピュータ１２とライブラリ・サーバ１４との間の制御信号は、図１に点線で示す接続部を通して送られる。各ホスト・コンピュータ１２は、各接続部を通して代理エージェント１６と通信する。
【００２２】
アクセス・コントローラ２２は、それぞれが、各ホスト・コンピュータ１２に関連している仮想テープ・ドライブ（ＶＴＤ）２４ａ、２４ｂ及び２４ｃを含む。例えば、仮想テープ・ドライブ２４ａは、ホスト・コンピュータ１２ａと関連していて、仮想テープ・ドライブ２４ｂは、ホスト・コンピュータ１２ｂと関連している。アクセス・コントローラ２２は、テープ・ドライブ内に装着されているテープ・カートリッジを処理するために、ホスト・コンピュータに対する仮想テープ・ドライブ２４を通して、ホスト・コンピュータ１２とテープ・ドライブ２０との間のデータ経路を動作できるようにする。
【００２３】
例えば、アクセス・コントローラ２２は、仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａとテープ・ドライブ２０ｂとの間のデータ経路を動作できるようにする。アクセス・コントローラ２２が、このデータ経路を動作できるようにしている間に、ホスト・コンピュータ１２ａは、テープ・ドライブ２０ｂ内に装着されているテープ・カートリッジを処理することができる。次に、アクセス・コントローラ２２は、処理後に上記データ経路を動作不能にする。次に、アクセス・コントローラ２２は、例えば、テープ・ドライブ２０ｃ内に装着されているテープ・カートリッジを処理するために、ホスト・コンピュータ１２ａ用の仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａとテープ・ドライブ２０ｃとの間のデータ経路を動作できるようにすることができる。同様に、アクセス・コントローラ２２は、テープ・ドライブ２０ｎ内に装着されているテープ・カートリッジを処理するために、ホスト・コンピュータ１２ｂ用の仮想テープ・ドライブ２４ｂを通して、ホスト・コンピュータ１２ｂ及びテープ・ドライブ２０ｎの間のデータ経路を動作できるようにすることができる。アクセス・コントローラ２２は、ホスト・コンピュータ１２に、自分達が自分自身の専用のテープ・ドライブを持ち、他のどのホスト・コンピュータともテープ・ドライブを共有していないという状態を示すために、仮想テープ・ドライブ２４を生成することができる。
【００２４】
アクセス・コントローラ２２は、仮想テープ・ドライブ２４を通して、任意のホスト・コンピュータ１２とテープ・ドライブ２０との間のデータ経路を動作できるようにすることができる。アクセス・コントローラ２２は、仮想テープ・ドライブ２４を通して、ホスト・コンピュータ１２とテープ・ドライブ２０との間のデータ経路を同時に動作できるようにすることができる。例えば、アクセス・コントローラ２２は、仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａとテープ・ドライブ２０ａとの間の第１のデータ経路を同時に動作できるようにすることができ、また、仮想テープ・ドライブ２４ｂを通して、ホスト・コンピュータ１２ｂとテープ・ドライブ２０ｎとの間の第２のデータ経路を動作できるようにすることができる。代理エージェント１６は、ホスト・コンピュータ１２とテープ・ドライブ２０との間のデータ経路を動作可能にするように、アクセス・コントローラに命令するために、アクセス・コントローラ２２と一緒に動作することができる。代理エージェント１６は、また、関連する仮想テープ・ドライブ２４を通して、ホスト・コンピュータ１２の中の１台と接続する目的で、テープ・ドライブ２０から１台のテープ・ドライブを選択するために、ライブラリ・サーバ１４と一緒に動作することたできる。
【００２５】
動作中、ホスト・コンピュータ１２ａは、ライブラリ・サーバ１４に、テープ・ライブラリ１８から必要なテープ・カートリッジを検索し、それを仮想テープ・ドライブ２４ａ内に装着するように要求する制御信号をライブラリ・サーバに送る。代理エージェント１６は、上記制御信号を傍受し、ライブラリ・サーバ１４に、その中に必要なテープ・カートリッジを装着することができる、使用可能なテープ・ドライブのリストを生成するように問い合わせる。テープ・ドライブ２０の利用度は、そのテープ・ドライブ内に、現在、他のテープ・カートリッジが入っているかどうか、保守のためにテープ・ドライブが使用不能になっているかどうか等の多くの要因により異なる。ライブラリ・サーバ１４に必要なテープ・カートリッジを装着するために、どのテープ・ドライブ２０を使用できるかを判断するように依頼する他に、代理エージェント１６は、また、ライブラリ・サーバ１４に、必要なテープ・カートリッジの保管位置に対する、利用できるテープ・ドライブの位置の近接度情報を生成するように問い合わせる。
【００２６】
使用可能なテープ・ドライブのリスト及び近接度情報に基づいて、代理エージェント１６は、必要なテープ・カートリッジを処理するためのテープ・ドライブを選択する。一例を挙げると、代理エージェント１６は、テープ・ドライブ２０ｃを選択テープ・ドライブとして選択する。これに応じて、ライブラリ・サーバ１４は、ロボット・アセンブリに、その保管位置から必要なテープ・カートリッジを検索し、それを、選択したテープ・ドライブ２０ｃ内に装着するように命令する。次に、代理エージェント１６は、アクセス・コントローラ２２に、仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａと選択したテープ・ドライブ２０ｃとの間のデータ経路を動作可能にするように命令する。その後、ホスト・コンピュータ１２ａは、必要なテープ・カートリッジを処理するために、選択したテープ・ドライブ２０ｃ内に装着されている必要なテープ・カートリッジにアクセスする。
【００２７】
必要なテープ・カートリッジを処理した後で、ホスト・コンピュータ１２ａは、ライブラリ・サーバ１４に、テープ・ライブラリ１８から第２の必要なテープ・カートリッジを検索し、それを仮想テープ・ドライブ２４ａ内に装着するように要求する第２の制御信号を送ることができる。代理エージェント１６は、上記第２の制御信号を傍受し、ライブラリ・サーバ１４に、仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａと選択したテープ・ドライブ２０ｃとの間のデータ経路を使用不能にするように命令する。代理エージェント１６は、また、ライブラリ・サーバ１４に、その中に第２の必要なテープ・カートリッジを装着することができる、使用可能なテープ・ドライブのリストを生成するように問い合わせる。利用できるテープ・ドライブは、最初に選択したテープ・ドライブ２０ｃを含むことができる。次に、代理エージェント１６は、第２の必要なテープ・カートリッジを処理するためのテープ・ドライブを選択する。一例を挙げると、代理エージェント１６は、テープ・ドライブ２０ｂを第２の選択したテープ・ドライブとして選択する。これに応じて、ライブラリ・サーバ１４は、ロボット・アセンブリに、その保管位置から第２の必要なテープ・カートリッジを検索し、それを第２の選択したテープ・ドライブ２０ｂ内に装着するように命令する。次に、ライブラリ・サーバ１４は、ロボット・アセンブリに、最初に選択したテープ・ドライブ２０ｃからテープ・カートリッジを取り外し、その保管位置に戻すように命令する。
【００２８】
好適には、前に選択したテープ・ドライブの後で選択したテープ・ドライブは、もう１つのテープ・ドライブ内で、現在必要なテープ・カートリッジにアクセスしている間に、前に選択したテープ・ドライブから、前に必要としたテープ・カートリッジの取外し及び返還が、ロボット・アセンブリにより行うことができるように、異なるテープ・ドライブであることが好ましい。そうすることにより、ロボット・アセンブリが、あるテープ・ドライブからテープ・カートリッジを取り外し、同じテープ・ドライブ内に第２のテープ・カートリッジを装着する場合と比較すると、時間が短くてすむようになる。
【００２９】
次に、代理エージェント１６は、仮想テープ・ドライブ２４ａを通して、ホスト・コンピュータ１２ａと第２の選択したテープ・ドライブ２０ｂとの間のデータ経路を動作可能にするように、アクセス・コントローラ２２に命令する。次に、ホスト・コンピュータ１２ａは、第２の必要なテープ・カートリッジを処理するために、第２の選択したテープ・ドライブ２０ｂ内に装着されている第２の必要なテープ・カートリッジにアクセスする。その後、ホスト・コンピュータ１２ａが、テープ・カートリッジを処理するまで、このプロセスは継続して行われる。
【００３０】
アクセス・コントローラ２２が、ホスト・コンピュータ１２ａを、仮想テープ・ドライブ２４ａを通して、選択したテープ・ドライブ内の必要なテープ・カートリッジにアクセスできるようにしている間に、他のホスト・コンピュータ１２は、各仮想テープ・ドライブ２４を通して、他のテープ・ドライブ内の他のテープ・カートリッジに同時にアクセスすることができる。例えば、ホスト・コンピュータ１２ａが、テープ・ドライブ２０ｃ内の第１のテープ・カートリッジにアクセスしている間に、ホスト・コンピュータ１２ｂは、ライブラリ・サーバ１４に、ライブラリ・サーバに、テープ・ライブラリ１８から第２のテープ・カートリッジを検索し、それを仮想テープ・ドライブ２４ｂ内に装着することを要求する制御信号を送る。代理エージェント１６は、ホスト・コンピュータ１２ｂから上記制御信号を傍受し、ライブラリ・サーバ１４に、その中に第２のテープ・カートリッジを装着することができる、使用可能なテープ・ドライブのリストを生成するように問い合わせる。次に、代理エージェント１６は、第２のテープ・カートリッジを処理するために、テープ・ドライブ２０ａのようなテープ・ドライブを選択する。これに応じて、ライブラリ・サーバ１４は、ロボット・アセンブリに、その保管位置から第２のテープ・カートリッジを検索し、それをテープ・ドライブ２０ａ内に装着するように命令する。次に、代理エージェント１６は、アクセス・コントローラ２２に、仮想テープ・ドライブ２４ｂを通して、ホスト・コンピュータ１２ｂとテープ・ドライブ２０ａとの間のデータ経路を動作可能にするように命令する。次に、ホスト・コンピュータ１２ｂは、ホスト・コンピュータ１２ａが、テープ・ドライブ２０ｃ内に装着されている第１のテープ・カートリッジにアクセスしている間に、テープ・ドライブ２０ａ内に装着されている第２のテープ・カートリッジにアクセスする。
【００３１】
引き続き図１を参照しながら、図２について説明すると、この図は、本発明のテープ・カートリッジにアクセスするために、ホスト・コンピュータ１２ａのようなホスト・コンピュータをテープ・ドライブに接続するための方法及びシステムの動作を示す流れ図３０である。最初に、ホスト・コンピュータ１２ａは、ブロック３２に示すように、ホスト・コンピュータ１２ａがアクセスできるように、テープ・ライブラリ１８内に収容されているテープ・カートリッジを選択する。次に、ブロック３４に示すように、ホスト・コンピュータ１２ａは、ホスト・コンピュータが、必要なテープ・カートリッジにアクセスできるようにするように、ライブラリ・サーバ１４に要求する。次に、ブロック３６に示すように、代理エージェント１６は、テープ・ライブラリ１８内のどのテープ・ドライブが、必要なテープ・カートリッジを収容するために使用できるかを判断する。次に、ブロック３８に示すように、代理エージェント１６は、必要なテープ・カートリッジを収容するために、使用可能な複数のテープ・ドライブの中からテープ・ドライブ２０ｃのようなテープ・ドライブを選択する。代理エージェント１６は、必要なテープ・カートリッジの保管位置に対するこのテープ・ドライブの位置の近接度の関数としてテープ・ドライブを選択することができる。
【００３２】
これに応じて、ブロック４０に示すように、ライブラリ・サーバ１４は、必要なテープ・カートリッジを検索し、それを、選択したテープ・ドライブ内に装着する。必要なテープ・カートリッジが、選択したテープ・ドライブ内に正しく装着されていない場合には、代理エージェント１６は、必要なテープ・カートリッジを収容するために、テープ・ドライブ２０ｎのような他のテープ・ドライブを選択する。必要なテープ・カートリッジが、選択したテープ・ドライブ内に正しく装着されている場合には、ブロック４２に示すように、アクセス・コントローラ２２は、ホスト・コンピュータ１２ａに関連する仮想テープ・ドライブ２４ａを供給する。次に、ブロック４４に示すように、アクセス・コントローラ２２は、ホスト・コンピュータ１２ａを必要なテープ・カートリッジにアクセスさせる目的で、選択したテープ・ドライブ２０ｃを選択するために、仮想テープ・ドライブ２４ａを接続する。
【００３３】
引き続き図１−図２を参照しながら、図３について説明すると、この図は、本発明の方法及びシステムの動作をさらに詳細に説明するための第２の流れ図５０である。最初に、ブロック５２に示すように、ホスト・コンピュータ１２ａが、テープ・カートリッジへのアクセスを要求する前に、ホスト・コンピュータ１２ａによりアクセスの要求が行われるテープ・ライブラリ内に記憶されているテープ・カートリッジの予測が行われる。予測されたテープ・カートリッジは、スクラッチ・テープ・カートリッジであってもよく、そのため、装着スクラッチを挿入すると、予測したテープ・カートリッジを直ちに使用することができる。そのために、ブロック５４に示すように、ライブラリ・サーバ１４は、予測したテープ・カートリッジを、テープ・ドライブ２０ｂのようなテープ・ドライブ内に装着する。次に、ブロック５６に示すように、ホスト・コンピュータ１２ａは、予測したテープ・カートリッジが、テープ・ドライブ２０ｂ内に装着された後で、ライブラリ・サーバ１４に、予測したテープ・カートリッジへのアクセスを要求する。次に、ブロック５８に示すように、アクセス・コントローラ２２は、ホスト・コンピュータ１２ａを予測したテープ・カートリッジにアクセスさせるために、予測したテープ・カートリッジを有するテープ・ドライブ２０ｂに仮想テープ・ドライブ２４ａを接続する。
【００３４】
要するに、本発明は、複数のテープ・ドライブからの１つのテープ・ドライブの選択を制御する代理エージェントを含む。特定の要求に対して選択したテープ・ドライブは、後続の装着により異なる場合がある。仮想することにより、代理エージェントは、ホスト・コンピュータを再構成しなくても、任意の数の基準の中から適当なテープ・ドライブを選択することができる。
【００３５】
それ故、本発明が、上記目的、目標及び利点を完全に満足させるホスト・コンピュータに接続するテープ・ドライブを動的に選択するための方法及びシステムを提供することは明らかである。特定の実施形態を参照しながら、本発明を説明してきたが、当業者であれば、上記説明を読めば、多くの代案、修正及び変更を容易に思い付くことは明らかである。従って、そのような代案、修正及び変更は、すべて添付の特許請求の範囲の精神及び広い領域内に入る。
【図面の簡単な説明】
【図１】  本発明の自動テープ・カートリッジ・ライブラリ・システムである。
【図２】  本発明の方法及びシステムの動作を示す流れ図である。
【図３】  本発明の方法及びシステムの動作を示す別の流れ図である。
【図１】
0003735571.tif 000002
【図２】
0003735571.tif 000003
【図３】
0003735571.tif 000004