(57)【特許請求の範囲】
【請求項１】
ストレージエリアネットワークと複数のパーティションを利用した可動媒体ライブラリとの通信を仲介するシステムであって、前記可動媒体ライブラリは、制御インタフェースを介して受信するコマンドに応答して、ロボティクスサブシステムを制御する内部コントローラを備え、前記システムは、
前記ストレージエリアネットワークから受け取ったライブラリコマンドを外部コントローラに渡すブリッジユニットであって、前記外部コントローラによって前記複数のパーティションに各々関連付けられた複数の論理ユニット（ＬＵＮ）に対し、ホストシステムにアクセスが許可されたパーティションのみが該ホストシステムから見えるように該論理ユニットの番号付け直しを行う、ブリッジユニットを備え、
前記外部コントローラは、前記ブリッジユニットからのライブラリコマンドを処理するものであり、前記媒体ライブラリを複数のパーティションに分け、該複数のパーティションのそれぞれを前記複数のＬＵＮのそれぞれに関連づけ、前記複数のパーティションに従って前記内部コントローラと通信をするために前記ブリッジユニットから受信したライブラリコマンドの仮想要素を物理要素に変換する、前記システム。
【請求項２】
前記ブリッジユニットは、ホストシステムからライブラリコマンドを受信することに応答して、前記ホストシステムのＷＷＮ（World Wide Name）を決定する、請求項１記載のシステム。
【請求項３】
前記ブリッジユニットは、前記決定されたＷＷＮを利用して前記外部コントローラに前記ライブラリコマンドを通信するＬＵＮを前記複数のＬＵＮの中から決定する、請求項２記載のシステム。
【請求項４】
前記外部コントローラは、前記パーティションに関連する識別照会コマンドに応答して、前記複数のパーティションのうちのパーティションに属さないライブラリリソースの識別を除去する、請求項１記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、包括的には大容量データストレージに関し、特に、複数のパーティションを利用する可動媒体ライブラリとの通信を仲介するシステムおよび方法に関する。
【０００２】
本発明は、同時係属中であり、同じ譲受人に譲渡された以下の米国特許出願に関連する。すなわち、２００１年１２月２８日付けで出願された「Method for Using Partitioning to Provide Capacity on Demand in Data Libraries」と題する米国特許出願第１０／０３３，００３号、２００１年１２月２８日付けで出願された「System and Method for Securing Fiber Channel Drive Access in a Partitioned Data Library」と題する米国特許出願第１０／０３３，０１０号、２００１年１２月２８日付けで出願された「System and Method for Securing Drive Access to Data Storage Media Based On Medium Identifiers」と題する米国特許出願第１０／０３４，８８８号、２００１年１２月２８日付けで出願された「System and Method for Securing Drive Access To Media Based On Medium Identification Numbers」と題する米国特許出願第１０／０３４，５１８号、２００１年１２月２８日付けで出願された「System and Method for Peripheral Device Virtual Functionality Overlay」と題する米国特許出願第１０／０３２，９２３号、２００１年１２月２８日付けで出願された「System and Method for Managing Access To Multiple Devices in a Partitioned Data Library」と題する米国特許出願第１０／０３２，６６２号、２００１年１２月２８日付で出願された「System and Method for Partitioning a Storage Area Network Associated Data Library Employing Element Addresses」と題する米国特許出願第１０／０３３，００９号、２００１年１２月２８日付けで出願された「System and Method for Partitioning a Storage Area Network Associated Data Library」と題する米国特許出願第１０／０３４，６９１号、および２００１年１２月２８日付けで出願された「System and Method for Managing a Moveable Media Library with Library Partitions」と題する米国特許出願第１０／０３４，０８３号である。
【０００３】
【従来の技術】
デジタル磁気テープは一般に、コンピュータシステムでの長期データ保存に使用される。磁気テープカートリッジの格納ビット当たりの低コスト性、長期保持能力および可搬性により、磁気テープは、保険会社、銀行組織、航空会社等の企業によって生成される大量データを格納する手段として選ばれている。
【０００４】
テープカートリッジは、自動化されたテープライブラリ周辺機器によって頻繁に利用される。テープライブラリは概して、多数のテープカートリッジを取り扱い、非常に大きな容量のデータを格納する。テープライブラリは、テープカートリッジを所定の位置すなわち媒体スロットに把持する。特定のテープカートリッジからのコンテンツが必要な場合、テープライブラリに通信可能に連結されるホストシステムが、テープライブラリのロボティクスサブシステムコントローラと通信する。ホストシステムは、多数の機構によってテープライブラリに通信可能に連結することができる。たとえば、ホストシステムは、ＳＣＳＩ（Small Computer System Interface）バスやファイバチャネル(ＦＣ)ファブリックを介してテープライブラリに通信可能に連結することができる。ホストシステムは、ロボティクスサブシステムコントローラにコマンドで通信して、各位置すなわち媒体スロットから特定のテープカートリッジを検索することができる。これに応答して、ロボティクスサブシステムコントローラは、ロボティクス機構によって様々な機械的動作を行い、所望のテープカートリッジを検索し、所望のテープカートリッジをテープドライブに配置することができる。ホストシステムは次に、テープドライブを介してテープカートリッジに読み書きすることができる。
【０００５】
さらに、ホストシステムとロボティクスサブシステムコントローラの間には他の通信が発生し得る。たとえば、ホストシステムは、テープライブラリに含まれるテープカートリッジ、テープドライブ、およびロボティクス機構の数を決定するために、ロボティクスサブシステムコントローラに問い合わせることができる。このようにしてロボティクスサブシステムコントローラに問い合わせることにより、ホストシステムはテープライブラリを管理することができる。
【０００６】
テープライブラリは、相当量の長期データ保存能力の提供に有用であるが、いくつかの欠点を有する。たとえば、データ記憶容量が、いくつかのエンティティによる使用に割り当てられることがある。したがって、テープライブラリに通信可能に連結される各ホストシステムまたはエンティティは、すべてのデータ記憶容量にアクセス可能であり得る。この問題に対処するために分割が利用されている。分割は、特定のテープライブラリリソース（たとえば、各種スロット、テープドライブ、ロボティクス機構）を離散した仮想デバイスに割り当てることに関する。そして、仮想デバイスへのアクセスが、特定の用途に望ましいように制限される。
【０００７】
テープライブラリの分割に別の手法を利用することも可能である。第１に、分割適用のために、ホストシステム制限を利用してテープライブラリの部分部分へのアクセスを制限する。このようなホスト制限は、パーティション制限を行うためにホストシステム上の調停ソフトウェアプロセスによって実施される。しかし、この手法には問題がある。具体的には、この手法は、テープライブラリがストレージサービスプロバイダ環境において利用される場合、望ましくない。ストレージサービスプロバイダ環境では、テープライブラリおよびホストシステムが異なるエンティティ（たとえば、ストレージサービスプロバイダおよび顧客）に属する。ソフトウェア調停プロセスをホストシステムに配置することは、ストレージサービスの利用について顧客に対する負担を増大させるため、魅力的ではない。また、企業環境では、新しいホストシステムソフトウェアについて比較的長い確認サイクルを課す。さらに、多くの顧客は、他の顧客がソフトウェアをホストシステム上に配置することを快く思わない。加えて、ソフトウェア調停プロセス手法は通常、既存のデータバックアップユーティリティと互換性がない、すなわちソフトウェア調停プロセス手法では、専用のデータバックアップアプリケーションを使用する必要がある。
【０００８】
Ｓｐｅｃｔｒａ  Ｌｏｇｉｃによって使用される第２の手法は、複数のブリッジデバイスを提供して、テープライブラリを複数の仮想デバイスに分割するというものである。各ブリッジデバイスは、分割を実施するためにＱＩＰ（Quad Interface Processor）を含む。ＱＩＰは、ホストシステムとライブラリの間の唯一のインタフェースとして機能するプロセッサベースのカードデバイスである。ソフトウェアインタフェースを介して各ＱＩＰを構成することにより、ＱＩＰは、１つのまたは複数のホストシステムからは複数の物理的なライブラリに見えるいくつかの仮想的なライブラリをエミュレートすることが可能である。ライブラリ中の各ＱＩＰは、１つのパーティションしかサポートすることができない。また、このアーキテクチャでは、パーティション中のすべてのドライブが１つのホストを有する１本のＳＣＳＩバスを共有する必要があるため、潜在的なボトルネックとなっている。
【０００９】
【発明が解決しようとする課題】
このアーキテクチャは、いくらかホストシステムにとってトランスペアレントに分割を実施する機構を提供するが、問題を有する。具体的には、複数のプロセッサベースのカードが必要であるという点において、コストがかかると共にハードウェア集約的である。第２に、複数のハードウェアブリッジを使用すると、多重障害点（multiple point of failure）がもたらされるため、データにアクセス不能になる確率が増大する。さらに、このハードウェア手法は、所与のパーティションへのさらなるリソースの追加を厳密に制御する。ブリッジハードウェアとパーティションへのさらなるリソースの追加との間には特定の構造的な関係がある。したがって、ハードウェア手法は、複数のより小さなパーティションの作成に適しておらず、より小さなテープライブラリへの分割に適用不可能である。
【００１０】
【課題を解決するための手段】
一実施形態において、本発明は、パーティションを利用する可動媒体ライブラリとの通信を仲介するシステムであって、可動媒体ライブラリは、制御インタフェースを介して受信するコマンドに応答して、ロボティクスサブシステムを制御するように部分的に動作可能な内部コントローラを備えるシステムを対象とする。かかるシステムは、ライブラリコマンドを外部コントローラに渡すように動作可能なブリッジユニットであって、複数の論理ユニット（ＬＵＮ）を外部コントローラに関連付けるように動作可能なブリッジユニットを備える。外部コントローラは、複数のパーティションそれぞれを複数のＬＵＮそれぞれに関連づけ、ブリッジユニットからのライブラリコマンドを処理するように動作可能であり、また複数のパーティションに従って内部コントローラに連絡するために、ブリッジユニットから受信したコマンドを変換するようにさらに動作可能である。
【００１１】
【発明の実施の形態】
本発明は、可動媒体ライブラリのリソースを分割するシステムおよび方法を対象とする。具体的には、ブリッジユニット、外部コントローラ、および分割管理コントローラが、これらを使用しない場合には分割をサポートしない既存のライブラリのパーティションへの仲介要素として利用される。本発明の実施形態は、ブリッジユニットを利用して、外部コントローラとホストシステムの間の通信およびライブラリの媒体ドライブとホストシステムの間の通信を制御する。ブリッジユニットは、定義された分割体系（partitioning scheme）に従って通信を阻止または可能にする。さらに、外部コントローラは、パーティションに関連付けられたコマンドを受信する。外部コントローラは、定義される分割体系に従ってコマンドを変換する。たとえば、外部コントローラは、要素の番号付け直しを行い、分割体系をトランスペアレントに見せることができる。次に外部コントローラは、変換したコマンドをライブラリの内部コントローラに渡す。分割管理コントローラを利用して、ユーザ入力を受信して分割体系を定義することができる。分割管理コントローラは、受信した入力を利用して、分割体系を実施するようにブリッジユニットおよび外部コントローラを構成する。
【００１２】
外部コントローラを利用してストレージライブラリのリソースを分割すると、いくつかの利点がもたらされる。第１に、外部コントローラの使用により、ストレージライブラリの大きな記憶容量をいくつかのエンティティまたは組織で共有できるようになる。そうすることによって、中程度の記憶容量を必要とする複数のエンティティまたは組織が、大容量ストレージライブラリがもたらすストレージコストの低減という恩恵を受けることができる。さらに、外部コントローラを利用すると、格納されているデータにアクセスするホストシステムに対しての分割体系がトランスペアレントになる。具体的には、ホストシステムは、特殊なソフトウェアを必要とせず、また、その他のパーティションについての認識を持つ必要がない。具体的には、分割システムは、個々のホストシステムがストレージライブライブラリリソースのそれぞれのサブセットにしかアクセスできないように実行することができる。
【００１３】
図１は、本発明の実施形態による外部コントローラ１０８を備える例示的なシステム１００のブロック図を示す。システム１００は、テープライブラリ１０１を備える。テープライブラリ１０１は、当分野において既知の普通のＳＣＳＩ（Small Computer System Interface）テープライブラリである。テープライブラリ１０１はそれ自体では分割をサポートしないことを理解されたい。具体的には、テープライブラリ１０１のＳＣＳＩバスに連結される任意の１または複数のホストシステムが、各バスに接続されたテープライブラリ１０１の任意の部分にアクセスし得る。
【００１４】
本発明の実施形態の読み手による理解を助けるため、テープライブラリ１０１の動作について簡単に考察する。まず、内部コントローラ１０２は、１または複数のホストシステムがテープライブラリ１０１にアクセスするために使用する典型的なコントローラユニットである。内部コントローラ１０２は、ホストシステムから受信するコマンドを処理して、管理バス１０５を介してテープライブラリ１０１の動作を制御する。たとえば、内部コントローラ１０２は、ホストシステムから「要素状態読み出し（Read Element Status）」コマンドを受信することができる。これに応答して、内部コントローラ１０２は、テープライブラリ１０１内のすべての要素を識別することで応答することができる。ホストシステムは、テープライブラリ１０１の要素を決定した後、コマンドを内部コントローラ１０２に発行して、テープライブラリ１０１の媒体スロットの１つから特定のテープカートリッジを検索することができる。媒体スロットは、媒体トレイ１０４ａ〜１０４ｄに配置することができる。これに応答して、内部コントローラ１０２は、ロボティクスサブシステム（図示せず）と通信して、テープカートリッジをテープドライブ１０３ａ〜１０３ｄの１つに配置することができる。ロボティクスサブシステムは、媒体トレイ１０４ａ〜１０４ｄのスロットから特定のテープカートリッジを検索する機械的動作、および特定のテープカートリッジをテープドライブ１０３ａ〜１０３ｄの１つに配置する動作を実行し得る。
【００１５】
テープライブラリ１０１は、外部システムと通信するために複数のＳＣＳＩバスをさらに備える。テープドライブ１０３ａ〜１０３ｂは、各ＳＣＳＩバスに通信可能に連結され、通信ボトルネックの発生を回避することが好ましい。テープカートリッジがテープドライブ１０３ａ〜１０３ｄの１つに配置された後、ホストシステムは、各テープドライブ１０３と直接通信することによってデータ転送を開始することができる。具体的には、テープコマンドおよびデータ転送は、テープドライブのＳＣＳＩバスを介してやりとりすることができ、内部コントローラ１０２が必ずしも関与するとは限らない。
【００１６】
本発明の実施形態により実施される外部コントローラ１０８、分割管理コントローラ１０９ならびにファイバチャネル（ＦＣ）−ＳＣＳＩブリッジ１０７ａおよび１０７ｂがない場合、テープライブラリ１０１は、各ＳＣＳＩバスに通信可能に連結された任意の１または複数のホストシステムに応答するように動作可能である。しかしながら、要素１０７ａ、１０７ｂ、１０８、および１０９を欠く構成には問題がある。具体的には、２つ以上の独立した組織がテープライブラリ１０１のデータ記憶容量を共有する場合、ある組織のミッションクリティカルなデータに別の組織がアクセスすることは破滅的であり得る。企業秘密が曝露されたり、日々の業務に必要なデータが損傷を受ける可能性がある。
【００１７】
したがって、外部コントローラ１０８、分割管理コントローラ１０９、ならびにＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂを利用してテープライブラリ１０１のリソースを分割することが好ましい。リソースを分割することで、１または複数のホストシステムは複数のライブラリを「見る」ことができる。さらに、分割体系は、格納データの保全性を保証するために、許可されたホストシステムのみが各パーティションにアクセスできるようにすることで実施することができる。具体的には、テープドライブ１０３ａ〜１０３ｄに接続されるＳＣＳＩバスは、ＦＣ−ＳＣＳＩブリッジ１０７ａ〜１０７ｂに連結される。さらに、外部コントローラ１０８がＦＣ−ＳＣＳＩブリッジ１０７ｂに連結される。したがって、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、許可されていないホストシステムがテープドライブ１０３ａ〜１０３ｂおよび外部コントローラ１０８と通信しないように動作可能であり、これについてはさらに詳細に後述する。
【００１８】
分割体系を構成するために、システム１００は、「SYSTEM AND METHOD FOR PARTITIONING A STORAGE AREA NETWORK ASSOCIATED DATA LIBRARY EMPLOYING ELEMENT ADDRESSES」と題する米国特許出願第１０／０３３，００９号に開示されるような分割管理コントローラ１０９を備えることができる。分割管理コントローラ１０９は、ローカルエリアネットワーク（ＬＡＮ）または他の通信ネットワークに通信可能に連結し得る。分割管理コントローラ１０９は、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス等任意の適した管理バスを介してＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂならびに外部コントローラ１０８に連結し得る。さらに、分割管理コントローラ１０９は組み込みウェブサーバ（embedded web server）を備え、システム管理者がセキュアなホストシステムからシステム１００を構成または分割可能にし得る。ウェブサーバは、システム管理者がパーティションの作成、パーティションの削除、パーティションへのリソースの割り当て、およびパーティションに当てはまる許可の定義を行えるようにするユーザインタフェースを提供することができる。分割体系の変更は、ウェブサーバインタフェースを介してユーザに図式で提供することが好ましい。さらに、ウェブサーバは、好ましくは、ユーザが特定のパーティション構成をユーザのシステムにダウンロードできるようにし得る。そうするとユーザは、後にパーティションの構成をリロードすることができる。ウェブサーバの提供に加えて、またはこの代替として、分割管理コントローラ１０９は、分割体系を構成するコマンドを受信することができる（適切なネットワーク管理プロトコルを介して）。
【００１９】
分割体系のセキュリティを強化するため、分割管理コントローラ１０９は、テープドライブ１０３ａ〜１０３ｄの一つに分割変更による影響を受けるテープが装填される場合、パーティションへの変更を行うことができないようにすることが好ましい。分割管理コントローラ１０９はまた、いずれかのデバイスのＳＣＳＩアドレスが変更するかどうかを検出することが好ましい。そのような場合、分割管理コントローラ１０９は、定義された分割体系に従って各種デバイスを再構成することができる。
【００２０】
さらに、構成のやりとりを「アウトオブバンド（out-of-band）」で行わせる、すなわち構成のやりとりが好ましくは、データの格納および検索に関連するやりとりとは別個の媒体を介して行わせると都合がよい。構成のやりとりをアウトオブバンドにすることで、システム１００に連結されたホストシステムがＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂを介して分割体系を覆すことは不可能である。加えてまたは代替として、システム１００は、分割情報を分割管理コントローラ１０９に提供するために、手動ユーザインタフェース（図示せず）を備えることができる。
【００２１】
ストレージプロバイダ環境では、システム１００のリソースはストレージプロバイダによって管理される。データ記憶容量は、サービスとしてストレージプロバイダの顧客に販売される。このような環境では、「SYSTEM AND METHOD FOR PARTITIONING A STORAGE AREA NETWORK ASSOCIATED DATA LIBRARY」と題する米国特許出願第１０／０３４，６９１号に開示されるように、分割管理コントローラ１０９が、さらなる機能性を実施して、インスタントキャパシティオンデマンドを提供することができる。このような環境では、ストレージの顧客は、所与の量の記憶容量の料金を支払い得る。顧客が各自のパーティションの拡張または変更を要求すると、分割管理コントローラ１０９は、顧客がこのような追加のライブラリリソースのラインセンスを取得しているかことを確認することができる。たとえば、顧客は、最大数のテープドライブ１０３および／またはテープカートリッジを許可するライセンスの料金を支払い得る。任意のパーティション拡張要求を検査して、拡張の実行により最大数を越えるかどうかを決定することができる。管理コントローラ１０９は、適宜にパーティション拡張を拒絶するかもしくは可能にすることができる。さらに、特定のリソースを特定の顧客による将来の拡張のために確保することが有利であり得る。これらリソースは、顧客が実際にリソースを要求しその使用料を支払うまでディスエーブルすることができる。
【００２２】
たとえば分割管理コントローラ１０９を使用することでリソースをパーティションに割り当てるために、システムリソーステーブル２０１は図２に示すように利用することができる。システムリソーステーブル２０１は、分割管理コントローラ１０９がアクセス可能な不揮発性メモリ（たとえば、ＥＥＰＲＯＭ）に格納することができる。システムリソーステーブル２０１はそれぞれ、テープドライブ１０３ａをパーティション１に、テープドライブ１０３ｂをパーティション２に、テープドライブ１０３ｃをパーティション３に、そしてテープドライブ１０３ｄをパーティション４に、ｔａｐｅ＿ｄｒｉｖｅ＿１レコード、ｔａｐｅ＿ｄｒｉｖｅ＿２レコード、ｔａｐｅ＿ｄｒｉｖｅ＿３レコード、およびｔａｐｅ＿ｄｒｉｖｅ＿４レコードを介して割り当てることができる。さらに、テープカートリッジ（媒体トレイ１０４ａ〜１０４ｄのスロットに収容される）を１０個１グループとしてパーティション１、２、３、および４に割り当てることができる。たとえば、テープ１〜１０をパーティション１に割り当て、テープ１１〜２０をパーティション２に割り当て、テープ２１〜３０をパーティション３に割り当て、そしてテープ３１〜４０をパーティション４に割り当てることができる。図２ではシステムリソーステーブル２０１が図表の形態で示されることを理解されたい。しかし、システムリソーステーブル２０１の表現はこのフォーマットに限定されない。任意の適したデータ構造（テーブル、アレイ、ファイル、クラスのインスタンス化されたオブジェクト、および／またはこれらと同様のもの）を利用して、システムリソーステーブル２０１を実施し得る。
【００２３】
テープライブラリのすべてのリソースを特定時に割り当てる必要はないことを理解されたい。特定のリソースを割り当てないまたはディスエーブルにしておくことが有利であり得る。組織が追加のデータ記憶容量が必要であると決定すると、割り当てられていないリソースのうちのいくつかを包含するようにそのパーティションを拡大することができる。
【００２４】
システムリソーステーブル２０１は単なる例示であることも理解されたい。他の割り当て構成を利用してもよい。一実施形態では、テープカートリッジを１０個１グループとしてパーティションに割り当てる、すなわち１つまたはいくつかの媒体トレイ１０４をパーティションに追加する、またはパーティションから削除する。グループが連続している必要はない。たとえば、媒体トレイ１０４ａおよび１０４ｄを同じパーティションに割り当ててもよい。好ましくは、所与の１つのパーティションに割り当てられた１０個のテープカートリッジにつきテープドライブ１０３ａ〜１０３ｄのうちのたった１つのテープドライブを割り当てる。この設計嗜好は動作効率を上げるために選択されることを理解されたい。しかし、本発明はこの設計嗜好またはリソースのパーティションへの他の任意特定の割り当てを必要としないことをさらに理解されたい。
【００２５】
別の実施形態では、より大きな制御を分割動作に適用して、ソフトウェアバックアップ動作との互換性を保証することができる。実施形態では、テープライブラリ１０１の各種コンポーネントがレベル（レベル）（たとえば、図１に示すレベル１０６ａおよび１０６ｂ）に編成される。各レベルは、２個の媒体トレイ１０４と、２個のテープドライブ１０３とを含む。次に、他の市販されているテープライブラリと互換性のあるようにレベルを割り当てることができる。たとえば、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社のＳＵＲＥＳＴＯＲＥ１／９テープライブラリは、９個のテープスロットを利用する。１または複数のホストシステムからレベル１０６ａが少なくとも２つのＨｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社ＳＵＲＥＳＴＯＲＥ１／９テープライブラリを含むように見えるようにシステム１００を構成することができる。ＳＵＲＥＳＴＯＲＥ１／９テープライブラリを利用するソフトウェアバックアップアプリケーションとの互換性を保証するために、一方のパーティションがレベル１０６ａの「左」側に関連するリソース（すなわち、媒体トレイ１０４ａおよびテープドライブ１０３ａ）を含むべきである。他方のパーティションは、レベル１０６ａの「右」側に関連するリソース（すなわち、媒体トレイ１０４ｂおよびテープドライブ１０３ｂ）を含むべきである。リソースをこのように割り当てることにより、パーティションは同じトレイまたはドライブを共有することがなくなる。したがって、コマンドの競合が低減する。各パーティションへのコマンドは、ロボティクスサブシステムが各種機械的動作を完了するまで、待ち行列に入れる必要があるだけである。コマンドは、テープカートリッジへ／からのデータ転送により遅延する必要はない。
【００２６】
同様のパーティション方式を利用して、パーティションに他のテープライブラリをエミュレートさせることもできる。たとえば、レベル全体（たとえば、レベル１０６ｂ）を１つのパーティションに割り当て、ＨＰ  ＳＵＲＥＳＴＯＲＥ２／２０（２個のテープドライブおよび２０個のテープカートリッジを備えるテープライブラリ）の動作をエミュレートすることができる。
【００２７】
本明細書に記載の構成方式は、図１に示すアーキテクチャと同様のテープライブラリアーキテクチャに依存する。他の構成を利用するテープライブラリを分割して、本発明の実施形態による複数の仮想テープライブラリをエミュレートすることができる。選択されたテープライブラリの特定のアーキテクチャは、分割体系に影響を及ぼし得る。
【００２８】
分割体系は、少なくとも２つの異なるテープライブラリデバイスをエミュレートするように構成し得ることを理解されたい。たとえば、論理ユニット（ＬＵＮ）０がＳＵＲＥＳＴＯＲＥ１／９をエミュレートし、一方でＬＵＮ１がＳＵＲＥＳＴＯＲＥ２／２０をエミュレートするように外部コントローラ１０８を構成することができる。レベル１０６ａの一部を、ＳＵＲＥＳＴＯＲＥ１／９デバイスのエミュレーションに関連するパーティションに割り当てることができる。レベル１０６ｂに関連するライブラリリソースは、ＳＵＲＥＳＴＯＲＥ２／２０のエミュレーションに関連するパーティションに割り当てることができる。さらに、外部コントローラ１０８は、好ましくは、各ＬＵＮにアドレス指定されたＳＣＳＩ照会コマンドに適宜応答する。ＬＵＮ０の場合、外部コントローラ１０８は、ＳＵＲＥＳＴＯＲＥ１／９デバイスによって定義されるベンダーＩＤ、製品ＩＤ、ファームウェアリビジョン、およびベンダーに固有の情報を返すことができる。同様に、ＬＵＮ１の場合、外部コントローラ１０８は、ＳＵＲＥＳＴＯＲＥ２／２０デバイスによって定義されるベンダーＩＤ、製品ＩＤ、ファームウェアリビジョン、およびベンダーに固有の情報を返すことができる。
【００２９】
分割管理コントローラ１０９に関連するユーザインタフェースを利用して、各種パーティションへのアクセスを制御することができる。たとえば、許可テーブル３０１はユーザインタフェースを介して作成することができる。許可テーブル３０１は、各パーティション１、２、３、および４ごとに許可されているホストシステムをリストする。許可されているホストシステムは、ファイバチャネルＷＷＮ（World Wide Name）によって識別される。他の通信プロトコルアドレスまたは識別子をファイバチャネルＷＷＮと組み合わせて、またはその代わりに利用し得る。許可テーブル３０１は、不揮発性メモリ（たとえば、ＥＥＰＲＯＭ）の分割管理コントローラ１０９にアクセス可能なロケーションへ格納することができる。
【００３０】
分割管理コントローラ１０９は、ユーザインタフェースから受信した情報を利用して、外部コントローラ１０８ならびにＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂを制御または構成することが好ましい。さらに、分割管理コントローラ１０９は、好ましくは、外部コントローラ１０８へのあらゆるファームウェア変更を検出する。ファームウェアへの変更が検出された場合、分割管理コントローラ１０９は、好ましくは、定義されている分割体系に従って外部コントローラ１０８を再構成する。要素を制御または構成することにより、分割体系をさらに詳細に後述するように実施することができる。
【００３１】
外部コントローラ１０８は、「SYSTEM AND METHOD FOR PARTITIONING A STORAGE AREA NETWORK ASSOCIATED DATA LIBRARY EMPLOYING ELEMENT ADDRESSES」と題する米国特許出願第１０／０３３，００９号に開示されているように、分割管理コントローラ１０９から受信した構成情報を利用して、内部コントローラ１０２の複数のインスタンスを仮想化またはエミュレートすることが好ましい。上述したように、図示の実施形態のシステムリソーステーブル２０１は４つのパーティションを定義する。したがって、外部コントローラ１０８は、４つのＬＵＮ（０、１、２、および３）を各パーティションに関連付けることができる（たとえば、ＬＵＮ０がパーティション１に対応し、ＬＵＮ１がパーティション２に対応し、ＬＵＮ２がパーティション３に対応し、ＬＵＮ３がパーティション４に対応する）。外部コントローラ１０８は、個々の各ＬＵＮ上でアクティブなコマンドを処理するように動作可能であり得る（外部コントローラ１０８は切断を適宜サポートし得る）。さらに、外部コントローラ１０８は、たとえば、Ｔｅｓｔ  Ｕｎｉｔ  ＲｅａｄｙおよびＲｅｑｕｅｓｔ  Ｓｅｎｓｅ、Ｍｏｄｅ  Ｐａｇｅｓ、Ｌｏｇ  Ｐａｇｅｓなどを含む各種コマンドに応答して、各ＬＵＮに関連する各「仮想」コントローラの状態を維持するように動作可能であり得る。
【００３２】
外部コントローラ１０８は、１または複数のホストシステムからコマンドを受信する。外部コントローラ１０８は、分割体系に従ってコマンドを変換する。外部コントローラ１０８は次に、コマンドが有効である場合、すなわちコマンドが各パーティションの適切な要素（たとえば、テープカートリッジ）を参照する場合、変換したコマンドを内部コントローラ１０２に渡す。外部コントローラ１０８は、応答メッセージ（もしあれば）を内部コントローラ１０２から受信する。外部コントローラ１０８は、応答メッセージを変換し、変換した応答メッセージを発信元ホストシステムに転送する。
【００３３】
たとえば、ホストシステムは、「要素状態読み出し」コマンドをＬＵＮ３に送信することができる。外部コントローラ１０８は、識別されたＬＵＮを参照することにより各パーティションを決定する（パーティション４はＬＵＮ３に関連付けられる）。外部コントローラ１０８は、「要素状態読み出し」コマンドを内部コントローラ１０２に送ることができる。内部コントローラ１０２は、テープライブラリ１０１のすべての要素を識別する応答を生成し、この応答を外部コントローラ１０８に通信する。外部コントローラ１０８は、内部コントローラ１０２から応答情報を受信した後、パーティション４に関連しないすべての情報を除去する。さらに、外部コントローラ１０８は、識別されたライブラリ要素の番号を付け直すことができる。たとえば、外部コントローラ１０８は、ＬＵＮ３の仮想ドライブに関連する仮想テープカートリッジ１〜１０として、物理ドライブ１０３ｄのテープカートリッジ３１〜４０の番号を付け直すことができる。外部コントローラ１０８は次に、応答を発信元ホストシステムに転送する。
【００３４】
別の例として、ホストシステムは、仮想テープカートリッジ３を仮想テープドライブ４内に配置させるコマンドをＬＵＮ３に送信することができる。これが許可されているものと仮定すると、外部コントローラ１０８は仮想要素を物理要素に変換する。外部コントローラ１０８は、テープカートリッジ３３をテープドライブ１０３ｄ内に配置するコマンドを内部コントローラ１０２に送信する。内部コントローラ１０２が動作の完了を示す応答メッセージを送信すると、外部コントローラ１０８が応答メッセージを発信元ホストシステムに送信する。
【００３５】
同じライブラリリソースを必要とするホストシステムから複数のコマンドを受信する場合、外部コントローラ１０２がコマンドを先入れ先実行方式で待ち行列に入れることができる。たとえば、ロボティクスサブシステムが他のテープカートリッジをテープドライブ１０３ａ〜１０３ｄのうちの１つ内への配置を完了する間、テープカートリッジを検索するコマンドを待ち行列に入れる必要があり得る。所望であれば、他のキューイング技法（優先体系（priority scheme）を定義するなど）を利用してもよい。
【００３６】
外部コントローラ１０８は、ＳＴＲＯＮＧＡＲＭプロセッサ、ＭＩＰＳプロセッサまたはこれらと同様のものなど任意の適したプロセッサを利用して実施し得る。外部コントローラ１０８は、不揮発性メモリ（ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、および／またはこれらと同様のもの）をさらに備え得る。不揮発性メモリは、外部コントローラ１０８の動作を実行するための実行可能コードを含むことができる。不揮発性メモリは、分割管理コントローラ１０９から受信する分割情報をさらに格納し得る。外部コントローラ１０８の複数のインスタンスにアドレス指定されるコマンドのキューイングをサポートするために、比較的大きなバッファを外部コントローラ１０８に設けることができる。さらに、図１に示すように、外部コントローラ１０８は、ＳＣＳＩインタフェースを介して内部コントローラ１０２と通信する。したがって、外部コントローラ１０８は、ＳＣＳＩイニシエータを備え得る。代替の実施形態では、外部コントローラ１０８は、シリアルインタフェースまたは他の適したインタフェースを介して内部コントローラ１０２に通信可能に連結することができる。
【００３７】
外部コントローラ１０８はＦＣ−ＳＣＳＩブリッジ１０７ｂの背後に配置されているものとして図示されていることを理解されたい。したがって、外部コントローラ１０８はＳＣＳＩバスに連結されている。よって、外部コントローラ１０８は、ＳＣＳＩプロトコルに準拠して、受信したＳＣＳＩコマンドの発信元を識別する情報を受信しない。外部コントローラ１０８は単に、ＦＣ−ＳＣＳＩブリッジ１０７ｂに連結された各ＳＣＳＩバスに関連する各ＬＵＮから発信されたものとしてＳＣＳＩメッセージを「見る」。
【００３８】
したがって、上述したように、分割管理コントローラ１０９は、ユーザインタフェースから受信する情報を利用してＦＣ−ＳＣＳＩブリッジ１０７ｂを制御または構成し、分割体系を実施することが好ましい。具体的には、分割管理コントローラ１０９は、システムリソーステーブル２０１および許可テーブル３０１に含まれる情報をＦＣ−ＳＣＳＩブリッジ１０７ｂに転送することができる。受信した情報を使用して、ＦＣ−ＳＣＳＩブリッジ１０７ｂは、許可されていないホストシステムが外部コントローラ１０８またはテープドライブ１０３ａ〜１０３ｄに関連するＬＵＮと通信しないようにすることができる。具体的には、ＦＣ−ＳＣＳＩブリッジ１０７ｂは、許可されていないホストシステムからのメッセージを各ＳＣＳＩバスに中継またはルーティングしないようにすることができる。そうすることで、許可されていないホストシステムは、システム１００の各種パーティションに関連するデータ転送を開始することができない。さらに、許可されていないシステムは、デバイス発見プロトコルを通してライブラリ要素の存在を発見することができない。
【００３９】
好ましい実施形態では、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂ、外部コントローラ１０８、ならびに分割管理コントローラ１０９は、分割がパワーサイクル間で永続するように実施されることが好ましい。各要素が不揮発性メモリを利用して、分割体系を定義する情報を検索することができる。これら要素は、不揮発性メモリに格納される情報を用いて適宜構成されるまで、テープ動作の実行を可能にしない。さらに、これら要素は構成情報に動的に応答し、パワーサイクルが分割体系を変更する必要がないことが好ましい。
【００４０】
次に、本発明の好ましい実施形態を示すために、図４を参照する。図４は、システム４００を示す。システム４００は、ストレージエリアネットワーク（ＳＡＮ）４０７上に格納されたデータへのアクセスを促進するホストシステム４０３−１〜４０３−４を備える。ＳＡＮ４０７は、ＳＡＮファブリック４０１、ストレージデバイス４０２−１および４０２−２、ならびにシステム１００を備える。ストレージデバイス４０２−１および４０２−２は、ディスクアレイ、ＪＢＯＤ（just a bunch of disks）、光媒体プレーヤ、および／またはこれらと同様のものを含む任意のタイプの適したストレージデバイスであることができる。例示的なシステム４００では、ホストシステム４０３−１〜４０３−４は、ストレージデバイス４０２−１および４０２−２からの情報を動的に格納・検索することができる。ホストシステム４０３−１〜４０３−４は、バックアップユーティリティアプリケーションを実行して、システム１０１上のストレージデバイス４０２−１および４０２−２に格納されているデータをバックアップすることができる。代替として、以下でより詳細に述べるように、バックアップ動作は、データムーバアプリケーションを介して発生する。
【００４１】
図４に示す構成のタイプは、いくつかの理由によりストレージエリアネットワークと呼ばれる。第１に、データストレージに関連するデータ転送または通信は、好ましくは、ホストシステム４０３−１〜４０３−４とクライアント４０６−１〜４０６−Ｍとの間の通信から切り離される。第２に、好ましくは、単一障害点（single point of failure）がＳＡＮ４０７内にない。ＳＡＮファブリック４０１は、好ましくは、ハブ、スイッチ、ルータ、および／またはこれらと同様のものを介して冗長接続を提供する。さらに、複数のホストシステム（たとえば、４０３−１〜４０３−４）が利用されることが好ましい。
【００４２】
ＳＡＮファブリック４０１は、通信ファブリックを提供して、システム１００、ストレージデバイス４０２−１および４０２−２、ならびにホストシステム４０３−１〜４０３−４の間の通信を促進する。ＳＡＮファブリック４０１は通常、ファイバチャネルアーキテクチャを利用して実施される。ファイバチャネルは通常、通信パスの単純さから利用される。すなわち、ファイバチャネルは、シリアル通信方式を利用する。さらに、ファイバチャネルは、銅線および／または光ファイバケーブルを介して比較的高いレート（たとえば、１０６４Ｍｂｐｓ）のデータ通信を提供する。ファイバチャネル媒体を介して行なわれるデータ通信速度は、さらなる技術開発によって増加し得る。銅線は概して、各種ストレージデバイス４０２がキャビネット内接続によりホストシステム４０３−１〜４０３−４から切り離される場合に利用される。光ケーブルは、デバイスからハブ（ＳＡＮファブリック４０１内のファイバチャネル相互接続ユニット）まで最大５００ｍまで、およびハブ間で最大１０ｋｍまでの分離距離をサポートすることができる。ファイバチャネルは、ポイントツーポイント、調停ループ、およびスター型トポロジなどの各種通信トポロジをさらに利用する。ファイバチャネルはまた、ＳＣＳＩおよびインターネットプロトコル（ＩＰ）プロトコルなどの各種通信プロトコルをカプセル化またはサポートする。ファイバチャネルをサポートしないデバイスは、ブリッジデバイスを介してファイバチャネルファブリックに連結することができる。具体的には、多くの市販されているブリッジデバイス（Hewlett-Packard社のＳＵＲＥＳＴＯＲＥ  ＳＣＳＩ  ＢＲＩＤＧＥ  ＦＣ４／１など）により、ファイバチャネルファブリックを採用するＳＡＮにＳＣＳＩデバイスを配置することができる。通常、ＳＡＮファブリック１０７にはファイバチャネルが利用されるが、他の通信機構を利用することも可能である。たとえば、遠隔ミラーリング動作を行って遠隔地にミッションクリティカルデータを冗長的に格納することが適切なことが多い。このような動作には、非同期転送モード（ＡＴＭ）ネットワーク要素または専用回線（Ｔ−１、ＯＣ−１２、および／またはこれらと同様のもの）を採用することができる。
【００４３】
通信ネットワーク４０５を介して、クライアント４０６−１〜４０６−Ｍがホストシステム４０３−１〜４０３−４と通信することができる。通信ネットワーク４０５は、ＡＴＭ、無線、および／または専用回線リンクなどあらゆる数の通信媒体を含み得る。クライアント４０６−１〜４０６−Ｍは、ホストシステム４０３−１〜４０３−４と通信することにより、ＳＡＮ４０７上に格納されているデータを得ることができる。たとえば、クライアント４０６−１〜４０６−Ｍは、ホストシステム４０３−１〜４０３−４を通してネットワークドライブにアクセスするように構成されるオペレーティングシステムを保有し得る。ホストシステム４０３−１〜４０３−４が実装するネットワークドライブは、ストレージデバイス４０２−１および４０２−２ならびにシステム１００上の各種ファイルを管理することができる。
【００４４】
ストレージエリアネットワークが利用する構成は、極めて有利である。第１に、ストレージがホストシステム４０３−１〜４０３−４の背後に配置される。たとえば、システム１００とホストシステム４０３−１〜４０３−４の間のデータ転送は、ホストシステム４０３−１〜４０３−４とクライアント４０６−１〜４０６−Ｍの間のデータ転送と同じ通信ネットワークを介して行われない。格納されているデータに関連するデータ転送をホストシステム４０３−１〜４０３−４の背後に配置することにより、全体的なシステムパフォーマンスを有意に強化することができる。さらに、ＳＡＮ４０７の構成は、単一障害点がないため、障害の可能性が著しく最小化されるという点において堅牢である。さらに、各デバイスをＳＡＮファブリック４０１に連結することにより認め得る支障なしで、多くの追加のデータストレージデバイス４０２またはシステム１００をシステム４００に追加しうる。したがって有利なことに、ＳＡＮ４０７はスケーラブルである。ＳＡＮ４０７は任意のロケーションに配置することができる、すなわち記憶容量を利用する組織の構内に配置する必要がないことを理解されたい。さらに、ＳＡＮ４０７は、有利なことに、記憶容量を利用する組織とは別個のエンティティによって管理することが可能である。
【００４５】
ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、好ましくは、分割体系に従ってシステム１００へのアクセスを制限する。ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、「SYSTEM AND METHOD FOR MANAGING ACCESS TO MULTIPLE DEVICES IN A PARTITIONED DATA LIBRARY」と題する米国特許出願第１０／０３２，６６２号に開示されるブリッジの実施形態に従って実施することができる。上述したように、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、許可されたホストシステムに関連するＷＷＮを受信することによって分割管理コントローラ１０９から許可されているホストの情報を受信する。ファイバチャネルメッセージはＷＷＮではなくソースＩＤを使用してアドレス指定されることを理解されたい。したがって、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、好ましくは、ソースＩＤ−ＷＷＮテーブルを維持する。ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂの一方がＳＣＳＩコマンドを受信すると、ブリッジがＦＣメッセージからソースＩＤを決定する。好ましくは、テーブルルックアップを実行して発信元ホストシステムのＷＷＮを決定する。各ブリッジは、分割管理コントローラ１０９から受信した情報を利用して、発信元ホストシステムがコマンドに関連するデバイスにアクセス許可されているかどうかを決定する。許可されている場合、コマンドは、外部コントローラ１０８あるいはテープドライブ１０３ａ〜１０３ｄのうちの１つに渡される。
【００４６】
たとえば、ホストシステム４０３−１〜４０３−４は、デバイス発見を行うことによってどのデバイスがＳＡＮ４０７に通信可能に連結されているかを決定する。ＳＣＳＩプロトコルおよびこれと同様のものに準拠して、ホストシステム４０３−１〜４０３−４は、デバイス識別クエリを所与のデバイス範囲内の各デバイスに送信する。デバイスプロトコルに従って、デバイスは、ベンダーＩＤ、製品ＩＤ、およびファームウェアリビジョン情報などの各種情報を送信することによって応答する。ホストシステム４０３−１〜４０３−４は、デバイス発見を実行するとき、分割体系によって許されるシステム１００に関連するデバイスを発見するだけである。具体的には、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、発信元ホストシステムがシステムリソーステーブル２０１および許可テーブル３０１を介して許可されていない場合、デバイス識別クエリを中継またはルーティングしない。したがって、ホストシステム４０３−１および４０３−４のうちの１つに属するライブラリリソースはその他のホストシステムに露出されない。
【００４７】
さらに、ホストシステム４０３−１〜４０３−４はそれぞれ、分割体系に従って外部コントローラ１０８の複数のインスタンスの中からインスタンスを発見する。ホストシステム４０３−１〜４０３−４は、分割体系に応じてＦＣ−ＳＣＳＩブリッジ１０７ｂの背後にＬＵＮ（０、１、２、および３）を見ることができる。適切なデバイス発見プロトコルに準拠して、各ＬＵＮは適切なベンダーＩＤ、製品ＩＤ、およびファームウェアリビジョン情報を返すことにより、別個のテープライブラリコントローラとして自己を識別する。さらに、ホストシステム４０３−１〜４０３−４は、「要素状態読み出し」コマンドまたは他の適したコマンドを各種ＬＵＮに送信することにより、各仮想テープライブラリまたはパーティションのコンテンツを決定することができる。外部コントローラ１０８は、各パーティションの要素を識別することのみにより分割体系に従って応答する。また、外部コントローラ１０８はＩＤの番号付け直しを物理要素から仮想要素に行うことができる。
【００４８】
「SYSTEM AND METHOD FOR MANAGING ACCESS TO MULTIPLE DEVICES IN A PARTITIONED DATA LIBRARY」と題する米国特許出願第１０／０３２，６６２号にさらに詳細に記載されているように、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂはＬＵＮの番号付け直しを行うことができる。ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂの背後のＬＵＮのビュー（view）は、ホストシステムベース毎で異なり得る。たとえば、ホストシステム４０３−１は、外部コントローラ１０８によってエミュレートされる最初のパーティションにのみアクセス許可される。したがって、ＦＣ−ＳＣＳＩブリッジ１０７ｂは、１つのＬＵＮのみがライブラリコントローラデバイスに関連するように、ホストシステム４０３−１から見えるようにＬＵＮの番号付け直しを行うことができる。したがって、他のパーティションに関連するリソースをホストシステム４０３−１から隠すことができる。さらに、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、好ましくは、各ホストシステム４０３−１〜４０３−４が各ＳＣＳＩバス上のそれぞれ０から始まる連続シリーズのＬＵＮを見るようにＬＵＮの番号付け直しを行うことができる。具体的には、このプロセスは各種オペレーティングシステムとの互換性を促進する。
【００４９】
ホストシステム４０３−１〜４０３−４は、デバイス識別情報を得た後、各パーティションにおけるテープカートリッジへ／からのデータ転送を開始するためにコマンドを発行することができる。たとえば、特定のコマンドを外部コントローラ１０８の各ＬＵＮに送信することができる。外部コントローラ１０８は、内部コントローラ１０２に適切な形態にコマンドを変換することができる（たとえば、デバイスまたは要素の番号付け直しを実行して）。コマンドを待ち行列に入れた後（必要であれば）、外部コントローラ１０８はコマンドを内部コントローラ１０２に送信し得る。コマンドに関連する動作が完了した後、外部コントローラ１０８は内部コントローラ１０２から応答を受信する。次に外部コントローラ１０８は、ホストシステム４０３−１〜４０３−４の発信元ホストシステムに応答を送信する。
【００５０】
本発明の実施形態では、データムーバ機能性がシステム４００で実施されることが好ましい。データムーバ機能性は、ホストシステムの処理性能をそれほど利用することなく、あるストレージデバイスから別のストレージデバイスへのデータ転送を実行する機能を指す。たとえば、ホストシステム４０３−１は、パーティションにおけるシステム１００の仮想テープドライブにデータムーバコマンドを送信することができる。コマンドは、たとえば別のストレージデバイス（たとえば、ストレージデバイス４０２−１）およびファイルを識別することができる。これに応答して、仮想テープはストレージデバイスと通信して、ファイルをそのテープカートリッジに転送する。しかし、物理テープドライブがこの機能性を実行できるようにすることには問題があることを理解されたい。たとえば、ＳＣＳＩデバイスはファイバチャネルディスクアレイと直接通信することができない。
【００５１】
したがって、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、好ましくはデータムーバ機能性を実施する。「SYSTEM AND METHOD FOR PERIPHERAL DEVICE VIRTUAL FUNCTIONALITY OVERLAY」と題する米国特許出願第１０／０３２，９２３号に詳細に記載されているように、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、周辺機器から周辺機器へのデータムーバコマンドに応答し得る。たとえば、データムーバは、別個のエンティティ（たとえば、ファイバチャネルＬＵＮ）としてアドレス指定するように実施することができる。データムーバが別個のファイバチャネルＬＵＮによりアドレス指定される場合、ホストシステム４０３−１〜４０３−４がデータムーバを使用できるようにするために、データムーバを各パーティションに追加すべきである。データムーバをパーティションに加えることにより、分割体系のセキュリティを維持することができる。
【００５２】
代替として、ＦＣ−ＳＣＳＩブリッジ１０７ａおよび１０７ｂは、テープドライブ１０３ａ〜１０３ｄにデータムーバ機能性を「オーバーレイ」することができる。これは、「データ移動（data move）」（「ＸＣＯＰＹ」で標準化される）ＳＣＳＩコマンドとして実施することができる。コマンドは、各ブリッジ１０７によりテープドライブ１０３にマッピングされるファイバチャネルＬＵＮにアドレス指定される。しかし、「データ移動」コマンドは、各ブリッジ１０７によりテープドライブ１０３に送信されない。代わりに、各ブリッジ１０７はコマンドをインターセプトし、コマンドに応答することによってテープドライブ１０３をエミュレートする。この実施形態では、データ移動機能性が、テープドライブが属するパーティションと同じセキュリティ設定を用いてセキュア化（secure：権限設定、保護）される。
【００５３】
次に、ストレージエリアネットワーク環境におけるシステム１００の動作を示すために、フローチャート５００を含む図５を参照する。プロセスフローチャート５００は、本発明の実施形態により図４のシステム４００におけるコンポーネントに関わるステップを示す。ステップ５０１において、ホストシステム４０３−１が「テープカートリッジ２をドライブ内に配置」というメッセージを、外部コントローラ１０８およびＦＣ−ＳＣＳＩブリッジ１０７ｂに連結されたＳＣＳＩバスのＬＵＮ１に送信する。ステップ５０２において、ＦＣ−ＳＣＳＩブリッジ１０７ｂがメッセージを受信する。ＦＣ−ＳＣＳＩブリッジ１０７ｂは、ファイバチャネルメッセージのソースＩＤを調べることにより、ホストシステム４０３−１のＷＷＮを決定する（ステップ５０３）。ＦＣ−ＳＣＳＩブリッジ１０７ｂは、決定されたＷＷＮを使用してＬＵＮの番号付け直しを実行する（ステップ５０４）。ＦＣ−ＳＣＳＩブリッジ１０７ｂは、ホストシステム４０３−１が各ＳＣＳＩバスの番号付け直しが行われたＬＵＮにアクセスすることを許可されているかどうかを決定する（ステップ５０５）。許可されている場合、ＦＣ−ＳＣＳＩブリッジ１０７ｂはメッセージを外部コントローラ１０８に渡す（ステップ５０６）。ステップ５０７において、外部コントローラ１０８は、分割体系に従ってメッセージを変換する（たとえば、仮想テープカートリッジ２を物理テープカートリッジ３２に変換）。外部コントローラ１０８は、変換されたコマンドを内部コントローラ１０２に渡す（ステップ５０８）。ステップ５０９において、内部コントローラ１０２は、ロボティクスサブシステムを制御してテープカートリッジ３２をテープドライブ内１０３ｃに配置する。内部コントローラ１０２は、「動作完了」メッセージを外部コントローラ１０８に連絡する（ステップ５１０）。ステップ５１１において、外部コントローラ１０８は、ＦＣ−ＳＣＳＩブリッジ１０７ｂを介して「動作完了」メッセージをホストシステム４０３−１に連絡する。
【００５４】
本発明の実施形態についてテープライブラリを利用して説明したが、本発明はそのように限定されないことを理解されたい。本発明の実施形態は、ＣＤ−ＲＯＭ、ＤＶＤ、および／またはこれらと同様のものなど任意のタイプの可動媒体を利用するライブラリに実施することができる。
【００５５】
本発明の実施形態について既知のＳＣＳＩテープライブラリの分割を説明したが、本発明はそのように限定されない。本発明は、ファイバチャネルファブリックに直接取り付けるように設計されるライブラリを分割することもできる。このようなライブラリの場合、本発明は、ライブラリのＦＣサブコンポーネントのネイティブファイバチャネルセキュリティ機能性を利用し得る。
【００５６】
本発明の実施形態は数多くの利点を提供する。具体的には、本発明の実施形態では、既存のテープライブラリを分割して、データ記憶容量を各種ホストシステムに割り当てることができる。そうすることにより、中程度の記憶容量を必要とする組織が、可動媒体ライブラリに関連する記憶容量のコスト低減という恩恵を受けることができる。さらに、本発明の実施形態では、ホストシステムに対してトランスペアレントに分割を行うことができる。したがって、好ましくは、特殊なソフトウェアは必要ない。さらに、本発明の実施形態は、複数のプロセッサ集約的なアダプタカードを必要としない、またはデータ転送要素のデータ転送能力を制限しない。本発明の実施形態はまた、ホストシステムが他の組織に属するライブラリリソースを発見しないようにする。同様に、本発明の実施形態は、各種パーティションのリソースをセキュアにして、許可されていないホストシステムが別の組織に属するライブラリリソースにアクセスしないようにする。この発明は、例として次のような実施形態を含む。
【００５７】
（１）  複数のパーティションを利用する可動媒体ライブラリとの通信を仲介する方法であって、
ブリッジユニットを設けてコマンドを外部コントローラに渡すステップであって、前記ブリッジユニットは、前記外部コントローラを使用して複数の論理ユニット（ＬＵＮ）を関連付けるように動作可能であること、
前記複数のパーティションそれぞれを前記複数のＬＵＮのうちの１つに関連付けるステップと、
ホストシステムから前記ブリッジユニットにおいてライブラリコマンドを受信するステップと（５０２）、
前記ライブラリコマンドを前記外部コントローラに渡すステップと（５０６）、
前記複数のパーティションに従って前記ライブラリコマンドを内部コントローラ用のコマンドに変換するステップであって、前記内部コントローラは、前記変換されたコマンドに関連するライブラリの動作を実行するように動作可能であること（５０７）と、
を含む方法。
【００５８】
（２）  前記ライブラリコマンドを前記外部コントローラに渡すステップは、前記複数のＬＵＮの中から前記ライブラリコマンドに関連するＬＵＮを決定するステップを含む（１）記載の方法。
【００５９】
（３）  前記ライブラリコマンドを前記外部コントローラに渡すステップは、前記ホストシステムが前記ＬＵＮにアクセス許可されているかどうかを決定するステップ（５０５）を含む（２）記載の方法。
【００６０】
（４）  前記ライブラリコマンドは、仮想デバイスを識別し、前記外部コントローラは、前記決定されたＬＵＮの各パーティションに従って前記仮想デバイスに対応する物理デバイスを決定する（２）記載の方法。
【００６１】
（５）  前記ライブラリコマンドは要素状態読み出しコマンド（read element status command）であり、前記方法は、
要素状態読み出しコマンドを前記内部コントローラに送信するステップと、
前記要素状態読み出しコマンドに応答して、前記内部コントローラからのメッセージによって識別される選択されたライブラリリソースを除去するステップと、
残りのライブラリリソースの番号を付け直すステップと、
前記番号が付け直された残りのライブラリリソースを含む応答メッセージを送信するステップと、
をさらに含む（１）記載の方法。
【００６２】
（６）  複数のパーティションを利用する可動媒体ライブラリとの通信を仲介するシステムであって、前記可動媒体ライブラリは、制御インタフェースを介して受信するコマンドに応答して、ロボティクスサブシステムを制御するように部分的に動作可能な内部コントローラ（１０２）を備え、前記システムは、
ライブラリコマンドを外部コントローラに渡すように動作可能なブリッジユニット（１０７ａ）であって、複数の論理ユニット（ＬＵＮ）を前記外部コントローラに関連付けるように動作可能なブリッジユニット（１０７ａ）を備え、
前記外部コントローラ（１０８）は、前記ブリッジユニット（１０７ａ）からのライブラリコマンドを処理するように動作可能であり、複数のパーティションそれぞれを前記複数のＬＵＮそれぞれに関連づけ、また、前記複数のパーティションに従って前記内部コントローラに連絡するために前記ブリッジユニットから受信したコマンドを変換するようにさらに動作可能であるシステム。
【００６３】
（７）  前記ブリッジユニット（１０７ａ）は、ホストシステムからライブラリコマンドを受信することに応答して、前記ホストシステム（４０３−１）のＷＷＮ（World Wide Name）を決定するように動作可能である（６）記載のシステム。
【００６４】
（８）  前記ブリッジユニット（１０７ａ）は、前記複数のＬＵＮの中から前記決定されたＷＷＮを部分的に利用する前記外部コントローラ（１０８）に前記ライブラリコマンドを通信するＬＵＮを決定するように動作可能である（７）記載のシステム。
【００６５】
（９）  前記外部コントローラ（１０８）は、コマンドを前記内部コントローラに渡す前に、仮想要素から物理要素への番号の付け直しを行うように動作可能である（６）記載のシステム。
【００６６】
（１０）  前記外部コントローラ（１０８）は、前記パーティションに関連する識別照会コマンドに応答して、前記複数のパーティションのうちのパーティションに属さないライブラリリソースの識別を除去するように動作可能である（６）記載のシステム。
【図面の簡単な説明】
【図１】  本発明の実施形態による、既存のテープライブラリの分割が可能な例示的なシステムを示す。
【図２】  本発明の実施形態による、分割体系を定義するための例示的なテーブルを示す。
【図３】  本発明の実施形態による、セキュアな分割を実施するための例示的な許可テーブルを示す。
【図４】  本発明の実施形態による、ストレージエリアネットワークにおける図１に示すシステムを示す。
【図５】  図４に示すストレージエリアネットワークによるプロセスフローチャートを示す。
【図１】
0004667707.tif 000002
【図２】
0004667707.tif 000003
【図３】
0004667707.tif 000004
【図４】
0004667707.tif 000005
【図５】
0004667707.tif 000006