(57)【要約】【課題】コストを削減し、データ・ストレージ・ライブラリを構成する際の柔軟性を高めるための方法を提供すること。【解決手段】（媒体ドライブに着脱可能にロードされた媒体からデータを読み取り、または媒体へデータを書き込むのに使用可能な）媒体ドライブ、（媒体移送信号をホストから共用ロボティック媒体移送装置に伝送するのに使用可能な）コマンド・リレー・ポート、または様々な他のモジュールを受け入れるように構成された、多目的スロットを特徴とするデータ・ストレージ・ライブラリ。ロボティック装置は、各スロットが空いているか、あるいは各スロットを媒体ドライブまたはコマンド・リレー・ポートなどのコンポーネントが占有しているかを認識し、それに従って、占有モジュールと適切に通信するようにプログラムされる。【選択図】図１
2004531847.tif 000002
【特許請求の範囲】
【請求項１】
ロボティック媒体移送装置と複数の多目的スロットとを含むデータ・ストレージ／検索ライブラリを操作する方法であって、
各スロットについて、スロットが媒体ドライブに占有されている状態、１つまたは複数のホストからロボティック媒体移送装置への媒体移送コマンドの中継を含む諸処理を実行するように構成されたリレー・モジュールに占有されている状態、占有されていない状態のうちの１つを含む、各スロットの状態を判断する処理と、
リレー・モジュールが占有する各スロットについて、前記移送装置が前記リレー・モジュールからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、ストレージ保管庫と前記スロットに設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含む方法。
【請求項２】
前記判断処理が、スイッチ、ハブ、ゲートウェイ、ルータ、ネットワーク・ストレージ、イーサネット（Ｒ）・モジュール、ストレージ装置、ホスト、ストレージ・エミュレータ、媒体ドライブとコマンド・リレー・ポートとの組合せのうちの１つまたは複数を含むリストから選択されたコンポーネントによってスロットが占有されているかどうか認識する処理を含む、請求項１に記載の方法。
【請求項３】
前記受信コマンドに応答して行われる前記諸処理が、
事前定義された論理パーティションに従って前記ライブラリのコンポーネントへのホスト・アクセスを制限する処理であって、各パーティションは、前記スロットを占有する１つまたは複数のリレー・モジュールの異なるセットに排他的に関連付けられ、１つまたは複数の媒体アイテム、１つまたは複数の媒体ドライブ、１つまたは複数の媒体ストレージ・ロケーションのうちの１つまたは複数から成る異なるグループを定義する処理をさらに含む、請求項１に記載の方法。
【請求項４】
ホスト・アクセスを制限する前記処理が、
前記移送装置が、前記事前定義された論理パーティションに従ってホスト・アクセスを制限するよう１つまたは複数のスロット占有モジュールに指示する処理と、
前記指示を受けたスロット占有モジュールが、前記事前定義された論理パーティションに従ってホスト・アクセスを制限する処理とを含む、請求項３に記載の方法。
【請求項５】
前記移送装置が、構成記録にアクセスして１つまたは複数のパーティションを識別し、各パーティションは、前記スロットを占有する１つまたは複数のリレー・モジュールの異なるセットに排他的に関連付けられ、１つまたは複数の媒体アイテム、１つまたは複数の媒体ドライブ、１つまたは複数の媒体ストレージ・ロケーションのうちの１つまたは複数から成る異なるグループを含み、
前記受信コマンドに応答して行われる前記諸処理が、特定のリレー・モジュールから着信するすべての媒体移送コマンドについて、ホスト・アクセスをそのリレー・モジュールに関連付けられたパーティションのコンポーネントに制限する処理をさらに含む、請求項１に記載の方法。
【請求項６】
１つまたは複数の媒体ドライブをそれぞれ、前記スロットの１つに設置する処理をさらに含む、請求項１に記載の方法。
【請求項７】
１つまたは複数のリレー・モジュールをそれぞれ、前記スロットの１つに設置する処理をさらに含む、請求項１に記載の方法。
【請求項８】
前記判断処理が、
前記移送装置が、１つまたは複数のスロットの占有モジュールとメッセージを交換する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールの電気的構成を検出する処理と、
前記移送装置が、１つまたは複数のスロットの状態を指定する操作者入力を受信する処理と、
前記移送装置が、光学読取り装置を利用して、１つまたは複数のスロットの占有モジュールが表示する１つまたは複数の光学的特徴を検出する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールへの媒体アイテムのロードを試み、その試行の結果によってスロットの状態を確認する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールの電磁的表徴（indicia）を無線スキャニングする処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールへの接触を試み、試みた接触の結果によってスロットの状態を確認する処理のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項９】
前記諸処理がさらに、前記移送装置が、前記ライブラリのコンポーネントと各々が１つまたは複数のリレー・モジュールに排他的に関連付けられた１つまたは複数のパーティションとの間のマッピングを受信する処理を含み、
前記移送処理がさらに、１つのリレー・モジュールを経由して着信し、別のリレー・モジュールに関連付けられたパーティションのライブラリ・コンポーネントへのアクセスを求めるホスト・コマンドを破棄する処理を含む、請求項１に記載の方法。
【請求項１０】
ロボティック媒体移送装置と複数の多目的スロットとを含むデータ・ストレージ／検索ライブラリを操作する方法であって、
各スロットについて、スロットが媒体ドライブに占有されている状態、コマンド・リレー・ポートに占有されている状態、媒体ドライブとコマンド・リレー・ポートとの組合せに占有されている状態、占有されていない状態のうちの１つを含む、各スロットの状態を判断する処理と、
コマンド・リレー・ポートが占有する各スロットについて、および媒体ドライブとコマンド・リレー・ポートとの組合せが占有する各スロットについて、前記移送装置が前記コマンド・リレー・ポートからまたは前記媒体ドライブとコマンド・リレー・ポートとの組合せからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、ストレージ保管庫とその他のスロットに設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含む方法。
【請求項１１】
ロボティック媒体移送装置と複数の多目的スロットとを含むデータ・ストレージ／検索ライブラリを管理する諸処理を実行するための、デジタル処理装置によって実行可能なマシン可読命令から成るプログラムを有形に実施する信号支持媒体であって、前記諸処理が、
各スロットについて、スロットが媒体ドライブに占有されている状態、１つまたは複数のホストからロボティック媒体移送装置への媒体移送コマンドの中継を含む諸処理を実行するように構成されたリレー・モジュールに占有されている状態、占有されていない状態のうちの１つを含む、各スロットの状態を判断する処理と、
リレー・モジュールが占有する各スロットについて、前記移送装置が前記リレー・モジュールからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、ストレージ保管庫と前記スロットに設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含む信号支持媒体。
【請求項１２】
ロボティック装置と複数の多目的スロットとを含むデータ・ストレージ／検索ライブラリを管理するための諸処理を実行するように構成された、相互接続された複数の導電素子から成る論理回路であって、前記諸処理が、
各スロットについて、スロットが媒体ドライブに占有されている状態、１つまたは複数のホストからロボティック媒体移送装置への媒体移送コマンドの中継を含む諸処理を実行するように構成されたリレー・モジュールに占有されている状態、占有されていない状態のうちの１つを含む、各スロットの状態を判断する処理と、
リレー・モジュールが占有する各スロットについて、前記移送装置が前記リレー・モジュールからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、ストレージ保管庫と前記スロットに設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含む論理回路。
【請求項１３】
データ・ストレージ／検索ライブラリ装置であって、
複数の多目的スロットと、
ライブラリ管理の諸処理を実行するようにプログラムされたロボティック媒体移送装置とを含み、前記ライブラリ管理の諸処理が、
各スロットについて、スロットが媒体ドライブに占有されている状態、１つまたは複数のホストからロボティック媒体移送装置への媒体移送コマンドの中継を含む諸処理を実行するように構成されたリレー・モジュールに占有されている状態、占有されていない状態のうちの１つを含む、各スロットの状態を判断する処理と、
リレー・モジュールが占有する各スロットについて、前記移送装置が前記リレー・モジュールからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、媒体ストレージ保管庫とその他のスロットに設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含むデータ・ストレージ／検索ライブラリ装置。
【請求項１４】
前記判断処理が、スイッチ、ハブ、ゲートウェイ、ルータ、ネットワーク・ストレージ、イーサネット（Ｒ）・モジュール、ストレージ装置、ホスト、ストレージ・エミュレータ、媒体ドライブとコマンド・リレー・ポートとの組合せのうちの１つまたは複数を含むリストから選択されたコンポーネントによってスロットが占有されているかどうか認識する処理を含むように、前記移送装置がプログラムされる、請求項１３に記載の装置。
【請求項１５】
前記受信コマンドに応答して行われる前記諸処理が、
事前定義された論理パーティションに従って前記ライブラリ装置のコンポーネントへのホスト・アクセスを制限する処理であって、各パーティションは、前記スロットを占有する１つまたは複数のリレー・モジュールの異なるセットに排他的に関連付けられ、１つまたは複数の媒体アイテム、１つまたは複数の媒体ドライブ、１つまたは複数の媒体ストレージ・ロケーションのうちの１つまたは複数から成る異なるグループを定義する処理をさらに含むように、前記移送装置がさらにプログラムされる、請求項１３に記載の装置。
【請求項１６】
ホスト・アクセスを制限する前記処理が、
前記移送装置が、１つまたは複数のスロット占有モジュールに対して事前定義された論理パーティションを識別し、ホスト・アクセスを、前記事前定義された論理パーティションに従って、ライブラリのコンポーネントに制限するようスロット占有モジュールに指示する処理を含む、請求項１５に記載の装置。
【請求項１７】
各々が前記スロットの１つに存在する１つまたは複数のモジュールであって、ホスト・アクセスを、前記移送装置によって識別される論理パーティションに従って、ライブラリのコンポーネントに制限する装置移送命令を実施するようにプログラムされたモジュールを含む、請求項１６に記載の装置。
【請求項１８】
前記移送装置が、構成記録にアクセスして１つまたは複数のパーティションを識別し、各パーティションは、前記スロットを占有する１つまたは複数のリレー・モジュールの異なるセットに排他的に関連付けられ、１つまたは複数の媒体アイテム、１つまたは複数の媒体ドライブ、１つまたは複数の媒体ストレージ・ロケーションのうちの１つまたは複数から成る異なるグループを含み、
前記受信コマンドに応答して行われる前記諸処理が、特定のリレー・モジュールから着信するすべての媒体移送コマンドについて、ホスト・アクセスをそのリレー・モジュールに関連付けられたパーティションのコンポーネントに制限する処理をさらに含むように、前記移送装置がプログラムされる、請求項１３に記載の装置。
【請求項１９】
１つまたは複数の媒体ドライブがそれぞれ、前記スロットの１つを占有する、請求項１３に記載の装置。
【請求項２０】
１つまたは複数のリレー・モジュールがそれぞれ、前記スロットの１つを占有する、請求項１３に記載の装置。
【請求項２１】
前記リレー・モジュールが、コマンド・リレー・ポートと媒体ドライブ／コマンド・リレー・ポート組合せユニットの少なくとも一方を含む、請求項２０に記載の装置。
【請求項２２】
１つまたは複数の対応するスロットに設置された、スイッチ、ハブ、ゲートウェイ、ルータ、ネットワーク・ストレージ、イーサネット（Ｒ）・モジュール、ストレージ装置、ホスト、ストレージ・エミュレータ、媒体ドライブとコマンド・リレー・ポートとの組合せのうちの１つまたは複数をさらに含む、請求項１３に記載の装置。
【請求項２３】
各々が、ホストの媒体移送コマンドで利用される第１の形式とロボティック媒体移送装置で利用される第２の形式との間の変換を行うインタフェースを含む、１つまたは複数のリレー・モジュールをさらに含む、請求項１３に記載の装置。
【請求項２４】
前記判断処理が、
前記移送装置が、１つまたは複数のスロットの占有モジュールとメッセージを交換する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールの電気的構成を検出する処理と、
前記移送装置が、１つまたは複数のスロットの状態を指定する操作者入力を受信する処理と、
前記移送装置が、光学読取り装置を利用して、１つまたは複数のスロットの占有モジュールが表示する１つまたは複数の光学的特徴を検出する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールへの媒体アイテムのロードを試み、その試行の結果によってスロットの状態を確認する処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールの電磁的表徴を無線スキャニングする処理と、
前記移送装置が、１つまたは複数のスロットの占有モジュールへの接触を試み、試みた接触の結果によってスロットの状態を確認する処理のうちの少なくとも１つを含む、請求項１３に記載の装置。
【請求項２５】
前記移送装置が、事前定義された媒体ドライブに適合する１つまたは複数のソフトウェア機能と事前定義されたリレー・モジュールに適合する１つまたは複数のソフトウェア機能とを含むコマンド・セット・ストレージをさらに含む、請求項１３に記載の装置。
【請求項２６】
前記諸処理がさらに、
前記移送装置が、前記ライブラリのコンポーネントと各々が１つまたは複数のリレー・モジュールに排他的に関連付けられた１つまたは複数のパーティションとの間のマッピングを受信する処理と、
１つのリレー・モジュールを経由して着信し、別のリレー・モジュールに関連付けられたライブラリ・コンポーネントへのアクセスを求めるホスト・コマンドを破棄する処理とを含むように、前記移送装置がプログラムされる、請求項１３に記載の装置。
【請求項２７】
各スロットが、
事前決定された構成の媒体ドライブと事前決定された構成のリレー・モジュールの一方を摺動可能に受け入れるサイズに作られたベイと、
前記ベイの占有モジュールを前記移送装置に接続するように構成された１つまたは複数のコネクタとを含む、請求項１３に記載の装置。
【請求項２８】
各々が事前決定された構成の占有モジュールを脱着可能に受け入れる複数のスロット手段と、
ライブラリ管理処理を実行するロボティック媒体移送手段とを含むデータ・ストレージ／検索ライブラリ装置であって、前記ライブラリ管理処理が、
各スロット手段について、スロット手段が媒体ドライブに占有されている状態、１つまたは複数のホストから前記ロボティック媒体移送装置への媒体移送コマンドの中継を含む諸処理を実行するように構成されたリレー・モジュールに占有されている状態、占有されていない状態のうちの１つを含む、各スロット手段の状態を判断する処理と、
リレー・モジュールが占有する各スロット手段について、前記リレー・モジュールからホスト媒体移送コマンドを受信し、前記受信コマンドに応答して、媒体ストレージ保管庫と前記スロット手段に設置された媒体ドライブとを含む媒体ロケーション間での媒体アイテムの移送を含む諸処理を実行する処理とを含む、データ・ストレージ／検索ライブラリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可搬データ・ストレージ媒体の媒体ドライブへのロード、媒体ドライブからのアンロード、および媒体ドライブ間での移動を管理し、さらにそうしたドライブにロードされた媒体とライブラリ・ホストの間でのデータ交換を管理する自動データ・ストレージ・ライブラリに関する。より具体的には、本発明は、ロボティック媒体移送装置を備え、（１）媒体ドライブに着脱可能にロードされた媒体からデータを読み取り、または媒体へデータを書き込み、あるいはその両方を行うのに使用可能な媒体ドライブ、（２）コマンド信号をホストからロボティック装置に伝送するのに使用可能なコマンド・リレー・ポート、（３）その他の様々なタイプのモジュールを受け入れるように構成された多目的スロットを特徴とする、データ・ストレージ・ライブラリに関する。ロボティック装置は、各スロットをどのタイプのモジュールが占有しているか、あるいはスロットが空いているかどうかを認識し、占有モジュールと適切に通信するようにプログラムされる。
【背景技術】
【０００２】
今日最も普及している大容量ストレージ・システムの１つは、データ・ストレージ・「ライブラリ」である。一般にデータ・ストレージ・ライブラリとは、一括して保管された大量の可搬（「着脱可能」）データ・ストレージ媒体を意味し、それらはロボティック媒体移送装置によって、様々なストレージ保管庫、インポート／エクスポート領域、および媒体ドライブの間を移動される。こうしたライブラリが普及したのには多くの理由がある。第１に、磁気テープや光媒体などが一般的である可搬データ・ストレージ媒体は一般に、磁気ディスク・ドライブなどの他のストレージ形式と比べて、きわめて安価なことが挙げられる。さらにライブラリは、より多くの媒体アイテムを追加するだけで容易に拡張されて、より大量のデータを収容できるようになる。その上、ほとんどのライブラリは、新しい装置を用いて容易に更新することができる。例えば、新しい媒体ドライブをライブラリに導入して、既存の媒体ドライブを補強し、あるいは取り換えることができる。
【０００３】
いくつかの異なる企業が今日このようなライブラリを製造しており、各モデルは様々な異なる特徴および動作原理を示している。データ・ストレージ・ライブラリの１つの有力な製造業者はインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）である。いくつかの異なるＩＢＭ製ライブラリが広く使用されており、商業的に成功を収めているが、ＩＢＭの技術者らはＩＢＭ製ライブラリの様々な面を改良しようと模索を続けている。
【０００４】
特に注力している１つの領域はコストの引下げであり、より具体的には、簡単に再構成可能であり、可能ならばコンポーネントを共用するライブラリを設計することによる、ハードウェア・コストの削減である。しかし、複数の機能を実行し、あるいは複数のマスタ・ユニットに応答するコンポーネントを設計することはしばしば困難である。このレベルの柔軟性を実現するには、ソフトウェア・コードを調整または監視する扱いにくいレイヤを追加する必要がしばしばあるが、このようなレイヤは最終的に、ライブラリの他の無関係な面でのパフォーマンス低下を招くことがある。例えば、複数の互換性のないホストが媒体アイテムの共用目録を管理できるようにするソフトウェアを開発することは、多くの場合、ひどく困難であり、あるいは費用がかかる。
【０００５】
他のケースでは、共用コンポーネントは、異なるホスト毎に別個のポートを備える必要があるかもしれず、したがって、共用コンポーネントのハードウェア・コストは増加する。さらに、複数のコンポーネントがバスまたはその他の機能を共用する場合、いくつかの構成では非互換性の問題が生じ、データの可用性が低下したり失われたりする。したがって、技術者らは、データ・ストレージ・ライブラリにおいてコンポーネントを統合し、それとは別にハードウェア費用を削減しようとする探求の過程で多くの困難な課題に直面している。上記の問題に対処する１つの手法が、バシャム（Basham）らの名前で１９９７年９月１６日に出願され、現在は米国特許第６，４３４，０９０号として公表されている、「共用ロボティック装置への媒体ドライブを介する制御パスを備えた自動データ・ストレージ・ライブラリ（AUTOMATEDDATA STORAGE LIBRARY WITH CONTROL PATH TO SHARED ROBOTIC DEVICE VIA MEDIA DRIVE）」と題する米国出願第０８／９３１，８５６号に記載されている。ここに上記特許の全体を参照により本明細書に組み込む。
【０００６】
バシャムらは、ホスト・コンピュータと媒体ドライブとの間にある２重目的のデータ／制御パスを特徴とするデータ・ストレージ・ライブラリを開示している。このパスは、ホストとドライブとの間で制御信号とデータを伝送し、さらにホストからドライブに結合されたロボティック媒体移送装置にロボティック制御信号を伝送する。この手法は様々な利益を提供するが、ＩＢＭの技術者らは、ライブラリ・コストを削減し、ライブラリを再構成する際の顧客の選択肢を広げる新しい方法を模索している。この点に関して、考えられ得る１つの領域は、十分に再構成可能なシステムでありながら、通常のドライブとしての機能に加えて、ロボティック制御信号も伝送できる、特別な２重目的の媒体ドライブを、顧客が費用をかけて購入する必要がないようにするシステムを開発することである。マーケティングの観点から見て、関連する問題は、従来の媒体ドライブ・モデルを利用してライブラリを構築することをすでに決定した顧客が、バシャムらのライブラリが独特な媒体ドライブ・タイプ、すなわち、通常のドライブ機能に加えて、ライブラリのロボティック媒体移送装置にホスト・コマンドを伝送できる、特定製造元の（proprietary）２重目的媒体ドライブを少なくとも１つ必要とするために、バシャムらのライブラリを考慮から退けてしまうことである。
【特許文献１】
米国出願第０８／９３１，８５６号、米国特許第６，４３４，０９０号
【特許文献２】
米国特許第６，１８５，１６５号
【特許文献３】
米国特許第６，０４４，４４２号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、コストを削減し、データ・ストレージ・ライブラリを構成する際の柔軟性を高めるためのさらなる改良が、依然として求められている。
【課題を解決するための手段】
【０００８】
概して、本発明は、ロボティック媒体移送装置を備え、また多目的スロットを特徴とするデータ・ストレージ・ライブラリに関する。多目的スロットの各々は、（媒体ドライブに着脱可能にロードされた媒体からデータを読み取り、または媒体へデータを書き込み、あるいはその両方を行う）媒体ドライブや（コマンド信号をホストからロボティック媒体移送装置に伝送する）コマンド・リレー・ポートなどの占有モジュールを受け入れるように構成される。本発明はさらに、２重機能の媒体ドライブ／リレー・ポート、スイッチ、ハブ、ゲートウェイ、ルータ、ネットワーク・ストレージ、イーサネット（Ｒ）・ユニット、ＤＡＳＤ、ホスト、ストレージ・エミュレータなど、その他のモジュールをスロットに挿入し使用することを企図している。ロボティック媒体移送装置は、どのタイプのモジュールが各スロットを占有しているかを認識し（占有している場合）、任意の占有モジュールと適切に通信するようにプログラムされる。
【０００９】
スロットを占有する媒体ドライブまたはコマンド・リレー・ポート（またはその他のモジュール）をロボティック媒体移送装置に自動的にまたは手動で電気的に結合し、該当する場合には任意選択でホストと結合するために、ケーブル、コネクタ、またはその他の結合機器（coupling）が提供される。ロボティック装置は、各スロットについて、各スロットを占有しているモジュールのタイプやスロットが空いているかどうかといった、各スロットの状態を判断する。ロボティック装置は、コマンド・リレー・ポートが占有している各スロットにおいて、ホストからコマンド・リレー・ポートを介して媒体移送コマンドを受信し、それらのコマンドを実行して、媒体ストレージ保管庫や媒体ドライブなどを始めとする、指定された媒体ロケーション間で媒体アイテムを移動させる。ロボティック装置は、媒体ドライブが占有している各スロットにおいて、様々な構成情報やシステム管理メッセージを交換してよく、あるいは何も交換しなくてもよい。
【００１０】
上述したことから分るように、本発明の一態様は、データ・ストレージ・ライブラリなどの装置に関する。本発明はまた、他のいくつかの形態で実施してもよい。例えば、本発明は、データ・ストレージ・ライブラリで使用可能な方法を提供するために実施することができる。また別の実施形態において、本発明は、本明細書で論じるデータ・ストレージ・ライブラリにおいて動作するデジタル・データ処理装置によって実行可能なマシン可読命令から成るプログラムを有形に実施する信号支持媒体（signal-bearing medium）を提供するように実施することができる。別の実施形態は、電気的に相互接続された複数の導電素子を、本明細書で論じるデータ・ストレージ・ライブラリにおいて動作するように構成した論理回路に関する。
【００１１】
本発明は、その利用者にいくつかの明瞭な利点をもたらす。注目すべきことは、本発明は、ロボティック装置との内部通信はそれまで通りの方式で行いながら、新しい異なるホストとの間の相互接続またはプロトコルあるいはその両方を用いる外部通信にはコマンド・リレー・ポートのアップグレードによって対応できるので、顧客がデータ・ストレージ・ライブラリに対して行った投資を継続して活かしていけることである。したがって、必要に応じてコマンド・リレー・ポートをアップグレードすることによって、顧客は技術水準または技術それ自体の変化からロボティック装置を切り離すことができる。したがって、ライブラリとホストとのインタフェースが変化しても、ロボティック装置が時代遅れになるとは限らない。本発明はまた、データ・ストレージ・ライブラリが、多種多様な異なるスロット占有モジュールに対応し、そのような占有モジュールの数およびタイプ、ロボティック装置へのホスト接続の数およびタイプ、その他に応じて再構成可能であるという点で利点を提供する。この点、本発明には拡張性がある。顧客は随時、ホストの追加（または除去）に応じて、コマンド・リレー・ポートの数を増やす（または減らす）ことができるからであり、さらに、ライブラリ中の領域をポート専用に用いずとも、この利益を得ることができるからである。これと関連して、本発明には柔軟性がある。任意の所与のスロットは、コマンド・リレー・ポートまたは媒体ドライブ（またはその他のモジュール）を収容することができ、ホスト接続、データ・アクセス装置、または１つのライブラリ・システム中の論理ライブラリを増加させる利点を提供するからである。
【００１２】
また、ロボティック媒体移送装置は、別個のコマンド・リレー・ポートを介して別個のホストと通信し、ホスト・アクセスのオーバラップを避けるために媒体アイテム本体をパーティション化するよう構成できるので、本発明は、別の方法では共用コンポーネントを操作するのに必要となる複雑なホスト・ソフトウェアをもたずにすむ。複数のコマンド・リレー・ポートを設置した場合、本発明はまた、ロボティック装置への適切なパスが障害を起した場合あるいはその他の理由で利用できない場合に役立てることができる、ロボティック装置への冗長パスを提供できる利点をもつ。また、スロットは種類が異なり非互換ですらあるコマンド・リレー・ポートを収容できることから、本発明のライブラリは、別の方法では非互換ホスト、アプリケーション・ソフトウェア、または通信プロトコル、あるいはそのいずれかの組合せの異種混合となる場合であっても、単一のロボティック媒体移送装置と媒体アイテムの共通目録との共用が可能となるので利益をもたらす。
【００１３】
別の利点として、別個のホストと対応する複数の別個のコマンド・リレー・ポートを設けることで、ライブラリ中の媒体アイテムのパーティション化が単純化される。すなわち、ロボティック媒体移送装置は、各コマンド・リレー・ポートを媒体アイテムの異なるパーティションに関連付け、所定のコマンド・リレー・ポートを介して到着したすべての媒体移送コマンドを、対応するパーティションにのみ制限することができる。こうすると、各ホストは認識可能な「ライブラリ」に排他的にアクセスできるようになるため、ホスト処理が単純化されるが、この「ライブラリ」は実際には媒体アイテム全体のより小さな１パーティションにすぎない。さらに、パーティション化を行うと、異なるホストがそれぞれ共用媒体アイテムを一貫性なく使用することから生じる混乱を防止することができるので、ライブラリの安全性および保全性を確保するのにも役立つ。各ホスト毎に完全に独立したライブラリでもライブラリの安全性および保全性は確保されるが、こうしたライブラリを使用した場合と比べ、パーティション化を行うと、ライブラリ保管庫、保管棚、ロボティック機構、およびその他の共通ライブラリ・インフラストラクチャを共用することによる、ある種の規模の経済の利益が得られる。
【００１４】
本発明は他にもいくつかの利点および利益を提供するが、それらは以下の本発明の詳細な説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【００１５】
本発明の本質、目的、および利点は、添付の図面と併せて以下の詳細な説明を考察した後に、当業者にはより明らかとなるであろう。
【００１６】
ハードウェア・コンポーネントおよび相互接続
序論
本発明の一態様は、図１のライブラリ１０２によって例示される、データ・ストレージ／検索ライブラリに関する。ライブラリ１０２は、例示した例では２つのホスト１０６、１０８を含む、１つまたは複数のホスト１０４に結合される。ライブラリ１０２は、複数のスロット１１０、１１２、１１４、１１６、ロボティック媒体移送装置１１８（「ロボティック装置」）、および媒体アイテム用の様々なストレージ保管庫１２０を含む。各スロット１１０〜１１６は最低限、（１）媒体ドライブに着脱可能にロードされた媒体からデータを読み取り、または媒体へデータを書き込み、あるいはその両方を行うのに使用可能な、１５２などの媒体ドライブ、（２）媒体移送コマンドをホストからロボティック装置に伝送するのに使用可能な、１５０などのコマンド・リレー・ポート、（３）その他の様々なタイプのモジュール（図示せず）のいずれかを受け入れるように構成される。ロボティック装置１１８は、各スロット１１０〜１１６をどのタイプのモジュールが占有しているか（あるいはいずれかのスロットが空いているかどうか）を認識し、占有モジュールと適切に通信するようにプログラムされる。
【００１７】
ストレージ保管庫
ライブラリ１０２は、「着脱可能」または「可搬」データ・ストレージ媒体の配置およびアクセスを管理する。これらの媒体としては、磁気テープ、光テープ、光ディスク、着脱可能磁気ディスク・ドライブ・ストレージ、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル・ビデオ・ディスク）、コンパクト・フラッシュまたはスマート・メディア、プラグイン回路モジュール、またはその他の適切な形式が挙げられる。これらのタイプのストレージ媒体のいくつかは、携帯用ケースまたは「カートリッジ」に収容することができる。これらのタイプのストレージ媒体の任意のものを一般的に参照するために、この開示では媒体の「アイテム」と呼ぶ。
【００１８】
ストレージ保管庫１２０は、媒体アイテムを収容する。保管庫１２０は、ライブラリ１０２において実施されるタイプの媒体アイテムを収容するための棚、スロット、ラック、フレーム、または装置を含む。保管庫１２０はまた、ロボティック装置１１８がライブラリ１０２から媒体アイテムを取り出し、また外部からライブラリ１０２に持ち込まれた媒体アイテムを受け取る際の支援を行う、１つまたは複数の棚、入口、ドア、小室、またはその他のインポート／エクスポート構造物を含むこともできる。
【００１９】
ストレージ保管庫１２０、媒体アイテム、またはそれらの組合せは、以下で詳細に論じるように、論理的に様々なパーティション１２０ａ〜１２０ｃに分割することができる。
【００２０】
ホスト
ホスト１０６、１０８としては、スロット１１０〜１１６に収容された、スロット１１０〜１１６の適切に構成された占有モジュール（例えば、コマンド・リレー・ポート）に媒体移送コマンドを提供でき、その他のスロット１１０〜１１６に収容された媒体ドライブとの間でマシン可読データを交換できる、メインフレーム・コンピュータ、コンピュータ・ワークステーション、パーソナル・コンピュータ、コンピュータ・ネットワーク、サーバ、データ入力端末、ネットワーク機器、ネットワーク装置、またはその他の手段が挙げられる。具体的な例として、ホスト１０６、１０８は、ＩＢＭ製ＲＳ／６０００サーバなどのコンピューティング・マシンを含むことができる。
【００２１】
スロットおよびコネクタ
スロット１１０〜１１６としては、媒体ドライブおよびコマンド・リレー・ポートを受け入れるための、開口、レセプタクル、ハウジング、シェルフ、ドロア、フレーム、またはその他の構造が挙げられる。具体的な例として、スロット１１０〜１１６は、ＩＢＭモデル３５７０テープ・ドライブなど、フォーム・ファクタが５．２５インチ（１３．３４センチ）のテープ・ドライブを受け入れることができるサイズの固定ベイを含むことができる。
【００２２】
一実施形態において、各スロットは、１１０ａ、１１２ａ、１１４ａ、１１６ａとして示すホスト・コネクタを含む。各スロットのホスト・コネクタは、スロットに挿入されている媒体ドライブまたはコマンド・リレー・ポートに自動的、脱着可能、かつ電気的に結合できるように構成される。ホスト・コネクタ１１０ａ〜１１６ａは、外部ライブラリ・コネクタ１２２〜１２８に電気的に結合され、外部ライブラリ・コネクタは、ホスト・ケーブル１０７、１０９を介してホスト１０６、１０８に手動で結合するのに利用される。より具体的には、動作可能なようにライブラリ１０２を構成する際、各占有スロット（図に示す１１０、１１２など）は、ホスト・ケーブル（１０７、１０９など）をスロットの対応する外部ライブラリ・コネクタ（１２２、１２４など）に接続することによって、ホストの１つに結合される。
【００２３】
あるいは、スロット・コネクタ１１０ａ〜１１６ａは、自動ではなく手動で、占有モジュールに結合してもよい。また別の実施形態において、１つまたは複数のスロット用のコネクタ１１０ａ〜１１６ａは、省略してもよく、その場合、それらのスロットの占有モジュールは、例えば、スロット占有モジュールの接続部（fixture）と外部コネクタ１２２〜１２８またはホスト自体との間をケーブルで結合することによって、手動で各々のホストに結合される。
【００２４】
ホスト・ケーブル１０７、１０９は、１つまたは複数の導電部材を有するバス（ワイア、同軸ケーブル、ツイスト・ペア、導電トレースなど）、無線通信（無線周波またはその他の電磁信号、赤外線通信など）、光ファイバ通信、または別の適切なパスなど、信号を伝送するための任意の適切な手段を含むことができる。ケーブル１０７、１０９はさらに、要求に応じてデジタルまたはアナログ信号を使用する、シリアル、パラレル、または別の通信形式を利用してよい。
【００２５】
ケーブル１０９の場合、その目的は、ホスト１０６と媒体ドライブ１５２との間で、ドライブ１５２にマウントされた媒体アイテムへ書き込むデータ、または媒体アイテムから読み取るデータ、あるいはその両方であるデータを伝送することである。これと関連して、ケーブル１０９は、ホスト１０６から指示されるREAD、WRITE、REWIND、ADVANCE、UNLOADなどのコマンドを、媒体ドライブ１５２に伝送することもできる。ケーブル１０７の目的は、ホスト１０６とロボティック装置１１８との間でコマンド・リレー・ポート１５０を介して、ハイレベル命令（「媒体移送コマンド」）を伝送することである。媒体移送コマンドは、ロボティック装置にホストが要求する様々な媒体アイテムを取り出させ、移送させ、配置させる命令を構成する。必要であれば、ケーブル１０７は、ロボティック装置１１８が返す応答信号をホスト１０６に伝送することもできる。
【００２６】
任意選択で、ドライブ１５２は、上記の米国出願第０８／９３１，８５６号が教示する２重目的媒体ドライブを含むことができる。本実施形態において、ドライブ１５２のバックエンド（すなわち、ポート１１２ｂ）は、ポート１１８ｆを介してロボティック装置１１８に結合され、ケーブル１０９はさらに、ホスト１０６とロボティック装置１１８との間で２重目的のドライブ１５２を介して媒体移送コマンドを伝送するように機能する。
【００２７】
例えば、スロット中に存在する複数の媒体ドライブまたはコマンド・リレー・ポート、あるいはその両方との複数の接続を実現するために、単一のホストを複数のスロットに結合してもよい。各スロットがホスト・コネクタ１１０ａ〜１１６ａを含む、上記の実施形態において、コネクタ１１０ａ〜１１６ａの形状、配置、電気的ピンアウト、およびその他の構成は、媒体ドライブおよびコマンド・リレー・ポートの対応するコネクタ（図示せず）、またはそれらに接続するケーブルを受け入れ、それらと電気的に合致するように選択することができる。本開示から利益を得る当業者には、これらの目的に適した、多種多様な異なるコネクタまたはケーブルあるいはその両方が理解できるであろう。
【００２８】
一実施形態によれば、各スロット１１０〜１１６は、ホスト・コネクタ１１０ａ〜１１６ａに加えて、ロボティック装置コネクタ１１０ｂ〜１１６ｂを含むことができる。ロボティック装置コネクタ１１０ｂ〜１１６ｂは、スロットにそれぞれ挿入されたコマンド・リレー・ポートに脱着可能かつ電気的に結合されるように構成され、そうした結合がコマンド・リレー・ポートの挿入時に自動的に達成されることすら可能である。接続１１０〜１１６ｂはまた、スロットにそれぞれ挿入され、ロボティック装置との通信を必要とする他のコンポーネントに結合することもできる。そのようなコンポーネントの１つの例として、２重目的媒体ドライブが挙げられる。ロボティック装置１１８と１５２などの媒体ドライブとの間での構成関連情報（非顧客データ）の交換を企図する、本発明の一実施形態において、ロボティック装置コネクタ１１０ｂ〜１１６ｂはまた、スロット中の媒体ドライブに脱着可能かつ電気的に結合されるように構成される。各コネクタ１１０ｂ〜１１６ｂは、コマンド・リレー・ポートと媒体ドライブの両方に適合する単一の共通コネクタによって実施することができ、あるいはコマンド・リレー・ポートと媒体ドライブそれぞれのレイアウト上の相違を調整する別個のコネクタによって実施することもできる。さらに、図１に示すような直接接続ではなく、スロット１１０〜１１６とロボティック装置１１８との間の接続を、１つまたは複数のループ、リング、ネットワーク、スイッチ、デイジ・チェーン、マルチドロップ構成など、他の形態で実施することもできる。また別の代替形態として、スロット占有モジュールとロボティック装置１１８との間の接続をケーブル、ワイア、無線結合、またはその他のリンクによって手動で行って、コネクタ１１０ｂ〜１１６ｂを省略することもできる。本開示から利益を得る当業者には、前記の目的に適した多種多様な異なるコネクタが理解できるであろう。
【００２９】
媒体ドライブ
媒体ドライブは、本明細書で言及するような可搬データ・ストレージ媒体とデータを交換するためのマシンを含む。各ドライブは、その適用例における必要に応じて、読取り専用、書込み専用、または読取り／書込みドライブであることができる。例示した例では、媒体ドライブは、５．２５インチ（１３．３４センチ）のサイズの磁気テープ・ドライブを含む。１つの例示的なテープ・ドライブは、ＩＢＭモデル３５７０テープ・ドライブである。本明細書では磁気テープについて論じるが、媒体ドライブは、光ディスケット、着脱可能磁気ディスク・ストレージ、プラグイン・メモリ・モジュールなどのその他の着脱可能媒体から読み取り、または着脱可能媒体へ書き込み、あるいはその両方を行うためのマシンを含むことができる。
【００３０】
媒体ドライブの設置および使用についての一例として、スロット１１２に設置された媒体ドライブ１５２が示されている。媒体ドライブ１５２は、ホストの読取り要求または書込み要求あるいはその両方をコネクタ１１２ａを介して受信し、ロードされた媒体アイテムにアクセスし、要求されたデータをホスト・コネクタ１１２ａを介して送信または受信することによって応答する。媒体ドライブおよびロボティック装置がそのように構成されている場合、任意選択で、媒体ドライブは、構成情報（非顧客データ）をロボティック装置コネクタ１１２ｂを介してロボティック装置１１８と交換することができる。そのような構成情報としては、例えば、ステータス信号、エラー・メッセージ、構成データ、およびドライブまたはその動作あるいはその両方の属性に関するその他の情報が挙げられる。
【００３１】
媒体ドライブのピンアウト、コネクタ、物理的奥行き、およびその他の特徴における標準化が進んでいないことを考慮して、互換性のある媒体ドライブは、スロットに一律に適合し接続できるよう再パッケージ化された市販の媒体ドライブを含むことができる。しかし、標準化が進展してきたとき、ピンアウト、コネクタ、サイズ、およびその他の媒体ドライブの特徴における互換性が得られるように、スロットを設計することができる。
【００３２】
コマンド・リレー・ポート
例示した例では、各コマンド・リレー・ポート（１５０など）は、ホストの１つ（１０６など）とロボティック装置１１８との間で信号を中継するように構成された、フォーム・ファクタが５．２５インチ（１３．３４センチ）の電子インタフェースを含む。より具体的には、コマンド・リレー・ポート１５０は、ホストが使用するインタフェース形式の信号（ホスト・コネクタ１１０ａ〜１１６ａでのＳＣＳＩ信号など）とロボティック装置１１８が使用するインタフェース形式の信号（ＲＳ−４２２など）との間で変換を行う。ホストがロボティック装置１１８と同じ形式の信号を利用する場合、コマンド・リレー・ポート１５０は、コンジット（conduit）として機能することができ、あるいは実際に信号通過回路（signal carry-through circuitry）を含むことができる。
【００３３】
例示的なコマンド・リレー・ポートの構造をより詳細に考察するため、図２を参照する。コマンド・リレー・ポート１５０は、プリント回路基板、金属製ボックス、またはその他の筐体などのハウジングを含む。ハウジング内に（あるいは結合されて）、コマンド・リレー・ポート１５０は、コントローラ１５２、ストレージ１５４、およびコネクタ１５６、１５８を含む。ホスト・コネクタ１５８は、ホスト・コネクタ１１０ａ〜１１６ａに接続できるよう形成され、コネクタ１２２〜１２８に直接、またはコネクタ１２２に結合するように設計されたケーブルに、あるいはホスト１０６に直接、またはポート１５０をホスト１０６に結合するように設計されたその他の任意の結合機構または装置に接続される。ホスト・コネクタ１５８は、ポート１５０をスロット１１０に設置した際に、ホスト・コネクタ１１０ａを構成することすら可能である。ロボティック装置コネクタ１５６は、ロボティック装置コネクタ１１０ｂに、またはコネクタ１１０ｂに結合するように設計されたケーブルに、またはロボティック装置ポート１１８ｆの１つに直接、またはポート１５０をロボティック装置１１８に結合するように設計されたその他の任意の結合機構または装置に接続できるように形成される。ロボティック装置コネクタ１５６は、ポート１５０をスロット１１０に設置した際に、コネクタ１１０ｂを構成することすら可能である。コントローラ１５２は、ホスト・コネクタ１５８における１つの信号形式とロボティック装置コネクタ１５６における別の信号形式との間で変換を行う、ディスクリート回路、論理回路、ＡＳＩＣ、信号処理回路、マイクロプロセッサ、またはその他のデジタルまたはアナログ処理回路を含む。一例として、コントローラ１５２は、（ホストからの）ＳＣＳＩまたはファイバ・チャネル信号と（ロボティック装置１１８での）ＲＳ−４２２信号との間で変換を行うように機能することができる。いくつかのコマンド・リレー・ポートを、ロボティック装置１１８と同じ信号形式を使用するホスト向けに設計してもよく、その場合、コマンド・リレー・ポート１５０は、コンジットを含み、コントローラ１５２およびストレージ１５４を分路または通過回路で置き換えて、これらを省略することすら可能である。ストレージ１５４は、コントローラ１５２が変換作業を実行する際に使用する、回路メモリ、不揮発性ストレージ、バッファ、メモリ・レジスタ、またはその他のデジタル・データ・ストレージ機構を含む。必要であれば、ストレージ１５４は、コントローラ１５２と統合してもよい。
【００３４】
有利には、コネクタを統合し、スロット構造を単純化するために、ライブラリ１０２で使用するコマンド・リレー・ポートは、スロット１１０〜１１６が受け入れる媒体ドライブと同じサイズおよび接続性標準をもつように構築できる。コマンド・リレー・ポートの設置および使用の一例として、スロット１１０に設置されたコマンド・リレー・ポート１５０が示されている。ポート１５０は、ホスト１０６の媒体移送コマンドをロボティック装置１１８に伝送し、またロボティック装置１１８からホスト１０６への戻り信号も伝送する。
【００３５】
参照を容易にするため、１つまたは複数のホストとロボティック装置との間で媒体移送コマンドを中継するように構成されたハードウェア・コンポーネントを指して、「リレー・モジュール」という用語を使用する。したがって、「リレー・モジュール」は、コマンド・リレー・ポート、２重目的の（組合せ）媒体ドライブ／コマンド・リレー・ポート・ユニットその他を含む。
【００３６】
スロットで使用するその他の装置
上で開示したコマンド・リレー・ポートおよび媒体ドライブに加えて、本発明はまた、スロット１１０〜１１６のその他の占有モジュールも企図している。例えば、各スロットは、ファイバ・チャネル・ゲートウェイ、ルータ、スイッチ・ハブ、ネットワーク・ストレージ、イーサネット（Ｒ）、ＤＡＳＤ、またはホストを収容することができる。別の例示的なスロット占有モジュールとして、ストレージ・エミュレータ、すなわち、ホストにはライブラリ中の媒体アイテムがハードディスク・ドライブまたはその他のＳＣＳＩストレージ装置に見えるようにする装置がある。スロット１１０〜１１６はさらに、上記の米国出願第０８／９３１，８５６号が教示する２重目的の媒体ドライブ／リレー・ポートを収容することもできる。
【００３７】
ロボティック装置
ロボティック装置１１８は、コントローラ１１８ｄ、媒体処理機構１１８ｃ、コマンド・セット・ストレージ１１８ａ、パーティション・マップ１１８ｅ、構成記録１１８ｂ、およびポート１１８ｆを含む。ポート１１８ｆは、当技術分野で周知のマルチコンダクタ・レジスタ・ポート、またはシリアル・ポート、光ファイバ・リンク、無線リンクなど別の適切な構成を含む。媒体処理機構１１８ｃは、スロット１１０〜１１６中の媒体ドライブ、ストレージ保管庫１２０、インポート／エクスポート領域などの間での媒体アイテムの移送を（少なくとも）含む機能を実行するための、サーボ、モータ、アーム、グリッパ、センサ、およびその他の機械的および電気的なロボティック機器を含む。機構１１８ｃは、例えば、ロボット・アームまたはその他のカートリッジ処理装置を含むことができる。より具体的な例として、機構１１８ｃは、市販のＩＢＭモデル３４９４データ・ストレージ・ライブラリで教示されるアクセス機構／グリッパを含む。
【００３８】
以下で論じるように、コントローラ１１８ｄは、多種多様な異なるハードウェア・コンポーネントを使用して実施することができる、１つまたは複数のデータ処理マシンを含む。１つの任意選択の機能として、コントローラ１１８ｄは、以下で詳細に説明する様々な準備作業上の理由から、コマンド・リレー・ポート１５０および媒体ドライブ１５２と通信を行うことができる。より重要なのは、コントローラ１１８ｄによって、ロボティック装置１１８が、ホスト１０６、１０８から発行され、（１５０などの）コマンド・リレー・ポートを介してロボティック装置に送信される、ハイレベルの媒体移送コマンドに応答できるようになることである。例えば、これらのコマンドのいくつかは、特定の媒体アイテムおよび要求された媒体移送先を識別する、媒体移動コマンドを含むことができる。可能な媒体移送先としては、例えば、スロット１１０〜１１６中の媒体ドライブ、ストレージ保管庫１２０、インポート／エクスポート領域などが挙げられる。１つの例示的な信号パスを示すと、コントローラ１１８ｄは、媒体移送コマンドをホスト１０６から、ケーブル１０７、外部コネクタ１２２、ホスト・コネクタ１１０ａ、コマンド・リレー・ポート１５０、ロボティック装置コネクタ１１０ｂ、およびポート１１８ｆを介して受信できる。コントローラ１１８ｄは、これらの信号を使用して、機構１１８ｃの機器に適合したより具体的な制御信号を生成する。これらの具体的な信号としては、組み合わされて要求された媒体移動を実現する効果を発揮する、移動、回転、把持、およびその他の動作を指示する命令が挙げられる。したがって、ホスト１０６、１０８からのハイレベル媒体移送コマンドは、ロボティック装置１１８に、例えば、媒体アイテムを所定のストレージ保管庫から媒体ドライブの１つへロードするよう単に指示するだけでよい。対照的に、コントローラ１１８ｄが応答して生成する制御信号は、ホストのハイレベル媒体移送コマンドを適切に実施するための、垂直および水平移動、把持および解放動作、回転または旋回、およびその他の動作を行わせるよう具体的な指示を機構１１８ｃに与える。
【００３９】
上述したように、また以下でより詳細に述べるように、コントローラ１１８ｄは、様々な方法で実施することができる。別の任意選択として、コントローラ１１８ｄは、スロット１１０〜１１６の１つに差し込まれ、ポート１１０ｂ〜１１６ｂの１つおよびポート１１８ｆの１つを介してロボティック装置１１８の残りのコンポーネントと通信を行う、モジュラ・ユニットを含むことができる。また別の実施形態において、コントローラ１１８ｄは、１５２などの媒体ドライブ中に配置される共用機能プロセッサを含むことができる。
【００４０】
コマンド・セット・ストレージ１１８ａ、パーティション・マップ１１８ｅ、および構成記録１１８ｂは、揮発性または不揮発性メモリ、ストレージ、ハードウェア、またはその他の手段の中に保存された、参照表、リンク・リスト、ファイル、レコード、データベース、またはその他のデータ構造によって実施することができる。コマンド・セット１１８ａは、（１）コマンド・リレー・ポートを起動し、またはそれに応答するために呼び出される、一定のコマンド、ファームウェア・ルーチン、サブルーチン、ソフトウェア、またはその他の機能、および（２）媒体ドライブを起動し、またはそれに応答するために呼び出される、その他のファームウェア・ルーチン、コマンド、サブルーチン、ソフトウェア、またはその他の機能を含む。コマンド・セット１１８ａはまた、ファイバ・チャネル・ゲートウェイ、ルータ、スイッチ、ネットワーク・ストレージ、ホスト、ストレージ・エミュレータ、２重目的媒体ドライブなど、その他のタイプのスロット占有モジュールにも対応できる。
【００４１】
本例においては、コマンド・リレー・ポート用のコマンド・セットは、異なるＳＣＳＩ媒体交換コマンドに応答して呼び出される、いくつかの異なる機能を含む。これらの機能は、媒体処理機構１１８ｃに具体的な命令を発行することによって、ＳＣＳＩコマンドを実施するように機能する。コマンド・セット１１８ａは必要に応じて、異なる製造元、機構（make）またはモデル、あるいはそれらの組合せの媒体ドライブに適応できるように、多数の補助的なコマンド・セットを含むこともできる。
【００４２】
構成記録１１８ｂは、各スロット１１０〜１１６の内容の記録、すなわち、スロットが空いているかどうか、あるいはスロットに含まれるのは媒体ドライブか、コマンド・リレー・ポートか、それとも別のタイプの占有モジュールかについての記録を含む。構成記録１１８ｂはまた、媒体ドライブの製造元、機構、モデル、スピード、および容量など、スロットの内容についての詳細も含む。パーティション・マップ１１８ｅは、１つまたは複数のパーティションを指定する情報を含み、各パーティションとしては、スロット１１０〜１１６、媒体アイテムとストレージ保管庫１２０のいずれか一方または両方、インポート／エクスポート領域などのうちの１つまたは複数が挙げられる。構成記録はまた、媒体移送コマンドの各エントリ・ノード（コマンド・リレー・ポートや２重目的媒体ドライブなど）と特定のパーティションとを関連づける。
【００４３】
例示的なデジタル・データ処理装置
上述したように、コントローラ１１８ｄやコントローラ１５２などのコンピューティング機能は、様々な形式で実施することができる。一例として、コントローラ１１８ｄとプロセッサ１５２の一方または両方は、図３のデジタル・データ処理装置２００のハードウェア・コンポーネントおよび相互接続によって例示されるような、別個のデジタル・データ処理装置を含むことができる。
【００４４】
装置２００は、マイクロプロセッサ、ワークステーション、パーソナル・コンピュータ、またはその他の処理マシンなど、ストレージ２０４に結合されたプロセッサ２０２を含む。本例においては、ストレージ２０４は、高速アクセス・ストレージ２０６および不揮発性ストレージ２０８を含む。高速アクセス・ストレージ２０６は、ランダム・アクセス・メモリ（「ＲＡＭ」）を含むことができ、プロセッサ２０２によって実行されるプログラム命令を格納するのに使用することができる。不揮発性ストレージ２０８は、例えば、バッテリ・バックアップＲＡＭ、ＥＥＰＲＯＭ、「ハード・ドライブ」などの１つまたは複数の磁気データ・ストレージ・ディスク、テープ・ドライブ、またはその他の適切なストレージ装置を含むことができる。装置２００はまた、プロセッサ２０２が装置２００の外部にある他のハードウェアとデータを交換するための、ライン、バス、ケーブル、電磁リンク、またはその他の手段などの入力／出力２１０を含む。
【００４５】
上で具体的に説明はしたが、上で論じた装置が、本発明の範囲から逸脱することなく、異なる構造のマシンでも実施できることは、（本開示から利益を得る）当業者には理解されよう。具体的な例として、コンポーネント２０６、２０８の１つは取り除くことができ、さらに、ストレージ２０４をプロセッサ２０２と一体で（on-board the processor）提供でき、または装置２００の外部コンポーネントとしても提供できる。
【００４６】
論理回路
上で論じたデジタル・データ処理装置とは対照的に、本発明の異なる実施形態では、コントローラ１１８ｄまたはコントローラ１５２あるいはその両方を実施するコンピュータ実行命令の代りに、論理回路を使用する。スピード、費用、ツール・コストその他の面における適用例の具体的要件に応じて、この論理回路は、数千個の微小集積トランジスタを有する「ＡＳＩＣ」（特定用途向け集積回路）を構成することによって実施することができる。こうしたＡＳＩＣは、ＣＭＯＳ、ＴＴＬ、ＶＬＳＩ、または別の適切な構成により実施することができる。別の代替方法としては、「ＤＳＰ」（デジタル信号処理チップ）、ディスクリート回路（抵抗、コンデンサ、ダイオード、インダクタ、トランジスタなど）、「ＦＰＧＡ」（フィールド・プログラマブル・ゲート・アレイ）、「ＰＬＡ」（プログラマブル・ロジック・アレイ）その他が挙げられる。
【００４７】
動作
これまで本発明の構造的特徴について説明してきたが、次に本発明の動作的側面について説明する。上述したように、本発明の処理的側面には一般に、各スロット１１０〜１１６の占有状況を認識し、それに従って一定の適切な方法で占有モジュールと通信を行う、ロボティック装置が関与する。本発明は、すべてのタイプの媒体ストレージ・ドライブおよび着脱可能データ・ストレージ媒体に広く適用可能であるが、説明してきた構造の特性は、磁気テープ媒体によく適しているので、以下の説明では、何ら限定を意図せずに、本発明のそのような適用例に重点を置くこともある。
【００４８】
信号支持媒体
コントローラ１１８ｄおよびコントローラ１５２がマシン実行プログラム手順を実行する実施形態において、これらの手順は、様々な形式の信号支持媒体の中で実施することができる。図３の文脈において、このような信号支持媒体は、例えば、ストレージ２０４を含むことができ、またはプロセッサ２０２によって直接または間接にアクセスされる、磁気データ・ストレージ・ディスケット３００（図４）などの別の信号支持媒体を含むことができる。命令は、ストレージ２０４、ディスケット３００、またはその他の場所であろうと、多種多様なマシン可読データ・ストレージ媒体に格納することができる。いくつかの例として、直接アクセス・ストレージ（例えば、従来の「ハード・ドライブ」、「ＲＡＩＤ」（低価格ディスク冗長アレイ）、または別の「ＤＡＳＤ」（直接アクセス・ストレージ装置））、磁気または光テープなどの順次アクセス・ストレージ、電子的不揮発性メモリ（例えば、ＲＯＭ、ＥＰＲＯＭ、またはＥＥＰＲＯＭ）、バッテリ・バックアップＲＡＭ、光ストレージ（例えば、ＣＤ−ＲＯＭ、ＷＯＲＭ、ＤＶＤ、デジタル光テープ）、ペーパ・「パンチ」・カード、あるいは、アナログまたはデジタル伝送媒体、アナログ通信リンク、および無線通信を含むその他の適切な信号支持媒体が挙げられる。本発明の例示的実施形態において、マシン可読命令は、「Ｃ」やアセンブリ言語などの言語からコンパイルされた、ソフトウェア・オブジェクト・コードを含むことができる。
【００４９】
論理回路
上で論じた信号支持媒体とは対照的に、本発明の方法の態様（method aspect）は、命令を実行するプロセッサを使用せず、代りに論理回路を使用して実施することができる。この実施形態において、論理回路は、コントローラ１１８ｄまたはコントローラ１５２あるいはその両方の中で実施され、本発明の方法を実施する処理を実行するように構成される。論理回路は、上で論じたように、多くの異なるタイプの回路を使用して実施することができる。
【００５０】
全般的な動作手順
図５には、本発明の方法の態様の一例をさらに説明する、手順４００が示されている。概して、この手順においては、１つまたは複数の媒体ドライブまたはコマンド・リレー・ポートあるいはその両方が、ライブラリ１０２に追加され、その後、ライブラリ１０２は、この構成に従って動作して、ホストのデータ・ストレージ／検索要求を満足させる。説明を簡単にするために、ただし何ら限定を意図せず、上述した図１のシステムの文脈の中で、図５の例を説明する。
【００５１】
ステップ４０２で、技術者、設置技師、システム管理者、またはその他の操作者が、スロット１１０〜１１６の１つまたは複数に、コマンド・リレー・ポートまたは媒体ドライブを設置する。上述したように、本発明は、スロット中で使用する多種多様な他の装置を企図しているが、ここでは（説明を簡単にするために）、コマンド・リレー・ポートおよび媒体ドライブを中心に論じる。図１に示す例においては、操作者は、スロット１１０にコマンド・リレー・ポート１５０を設置し、スロット１１２に媒体ドライブ１５２を設置する。ステップ４０４で、操作者は、ライブラリ１０２の構成を開始する。これには、ロボティック装置１１８への適切なコマンドの発行が関与し、ホスト１０６、１０８の一方、トリガ、自動構成手順、ホストからは独立してロボティック装置に結合されたシステム管理者コンソール（図示せず）などのうちの１つが、コマンドを発行することができる。ライブラリに最初に電源が入れられたとき、それがトリガとなって、ステップ４０４において、ライブラリ１０２の最初の構成が開始される。ライブラリがすでに構成済みであり動作を行っていたが、ステップ４０２で、スロット１１０〜１１６の内容に変更があった場合は、それがトリガとなって、ステップ４０４で、ライブラリ１０２の再構成が開始される。ステップ４０４で発行されるコマンドは、構成または再構成を行うための命令を提供することに加えて、ライブラリ１０２中の異なるパーティションの識別など、その他の情報を含むことができる。各パーティションとしては、１つまたは複数の媒体ドライブ、インポート／エクスポート領域、（媒体アイテムのシリアル番号、保管庫１２０内の行位置／列位置、保管庫１２０の事前定義された副パーティション１２０ａ〜１２０ｃ、または他の基準によって識別される）ストレージ保管庫１２０内の媒体アイテム、またはその他のライブラリ・コンポーネントのうちの１つまたは複数を挙げることができる。パーティションの内容に加えて、ステップ４０４では、各パーティションと、１つまたは複数の特定スロット、コマンド・リレー・ポート、または２重目的媒体ドライブとの間のマッピングも行われ、（スロットに対応付けられたパーティションに関する）媒体移送コマンドをホストからロボティック装置１１８に転送する際に使用される。あるいは、このようにパーティションとスロットとの間のマッピングを別途行う代りに、スロットをパーティション定義の中に含めることもできる。
【００５２】
ステップ４０４に応答して、ロボティック装置１１８は、スロット１１０〜１１６の状態を判断する（ステップ４０６）。すなわち、ロボティック装置１１８は、各スロットについて、スロットが占有されているか空いているか、また占有されている場合、どのタイプの占有モジュールがスロット中にあるかを判断する。例示の実施形態においては、ロボティック装置１１８は、各スロット占有モジュールが媒体ドライブであるかコマンド・リレー・ポートであるかを判断する。適用例によっては、ロボティック装置１１８は、ファイバ・チャネル・ゲートウェイ、ルータ、スイッチ、ハブ、ネットワーク・ストレージ、イーサネット（Ｒ）、ＤＡＳＤ、ホスト、ストレージ・エミュレータ、２重目的媒体ドライブなど、その他の占有モジュール・タイプも同様に認識することができる。ステップ４０６は、各スロット占有モジュールの何らかの属性を実際に検出することによって、またはスロットのステータスに関する通知を受けることによって、実行することができる。検出手法の一例において、ロボティック装置１１８は、適切なロボティック装置ポート１１０ｂ〜１１６ｂを介して各スロットの占有モジュールとメッセージを交換する。この実施形態において、ロボティック装置１１８は、それぞれ異なるコマンド・セットを代表するサンプルを使用して、スロット占有モジュールと通信を試みることができる。スロット占有モジュールとうまく通信ができた後、ロボティック装置１１８は、確認済みの（now-confirmed）コマンド・セットを使用して、より詳細な通信を行い、例えば、媒体ドライブの製造元、機構、モデル、スピード、ストレージ容量、およびその他の情報を判断することができる。「検出」手法の別の例において、ロボティック装置１１８は、メッセージを交換する代りに、例えば、スロットにコマンド・リレー・ポートまたは媒体ドライブを設置したときに生じる電気的上昇（pull-up）または下降（pull-down）を感知することにより、スロット占有モジュールの電気的構成を検出する。この上昇または下降は、スロットの任意選択の機械的および電気的構造によって実現することができるが、そうした構造の様々なものが、本開示から利益を得る当業者には明らかであろう。また別の実施形態において、ロボティック装置１１８は、バー・コード・リーダや光センサなどの光学読取り装置（図示せず）を操作して、スロット占有モジュールに付された識別用バー・コード、反射センサ、非反射センサ、またはその他の可視標識を検出する。さらに異なる実施形態において、ロボティック装置１１８は、ロボットの指や接触子で試験的にスロット占有モジュールに触れたり、または媒体アイテムを各スロット占有モジュールに試験的にロードして占有モジュールのタイプを識別するなど、接触を使用する。別の実施形態では、磁気的「スマート・カード」、またはＲＦ、誘導、または他の電界または磁界に基づくスキャニングを使用することによってスロット占有モジュールを識別するその他の無線読取り装置が利用される。上記作業の１つ（またはそれらの組合せ）によってスロット状態を判断した後、ロボティック装置１１８は、その結果を構成記録１１８ｂに保存する。
【００５３】
上記方法とは対照的に、ロボティック装置１１８にライブラリの構成を具体的に通知することによって、ステップ４０６を実現することができる。この実施形態において、操作者は、手動で各スロット１１０〜１１６を検査し、システム・コンソールを利用して、この情報をロボティック装置１１８に送信することができ、または結果を構成記録１１８ｂに直接保存することすらできる。この実施形態において、ロボティック装置は、この入力を受信することによって、またはこの入力を含む構成記録１１８ｂを調べることによって、スロットの状態を判断する（ステップ４０６）。
【００５４】
いずれの場合も、ここで説明する例におけるステップ４０６の結果は、スロット１１０にコマンド・リレー・ポート１５０が設置され、スロット１１２に媒体ドライブ１５２が設置され、スロット１１４、１１６は空いているという、ロボティック装置１１８による認識を含んでいる。ステップ４０７で、ロボティック装置１１８は、任意の適用可能なパーティション化方式を実施する。各パーティションは、いずれの方式が実施されたとしても、コマンド・リレー・ポートまたは２重目的媒体ドライブを介してそのパーティションに接続されたホストのみによって排他的に使用される、ライブラリ中の１組の機構（a set of facilities）を定義する。各パーティションは、１組の機構を含み、その１組の機構は、１つまたは複数のストレージ保管庫１２０、１つまたは複数の媒体アイテム、１つまたは複数のスロット１１０〜１１６、またはそれらの組合せのうちのどれを含むこともできる。ここで説明する例においては、ホスト１０６とポート１５０、媒体ドライブ１５２、およびある種の媒体アイテムとを関連付けるパーティションが定義される。
【００５５】
ロボティック装置１１８は、様々な方法で、望ましいパーティション化について学習することができる。例えば、ロボティック装置１１８は、構成記録１１８ｂを参照して、パーティション命令がステップ４０４で出されたかどうか判断する。また別の実施形態では、ロボティック装置１１８は以下の参照文献に示されているように、望ましいパーティションを自動的に識別する。
１．米国特許第６，１８５，１６５号、「論理ライブラリを構成するための位置決め可能な可視標識（Positionable Vision Indicators for Configuring Logical Libraries）」、２００１年２月２日付与。
２．米国特許第６，０４４，４４２号、「複数ホストからのアクセスに対応した自動データ・ストレージ・ライブラリの複数仮想ライブラリへの外部パーティション化（External Partitioning of an Automated Data Storage Library intoMultiple Virtual Libraries for Access by a Plurality of Hosts）」、２０００年３月２８日付与。上記特許の全内容をここに参照により本明細書に組み込む。
適用可能なパーティション化方式について学習した後、ロボティック装置１１８は、以下で説明するロボティック装置コマンド、または読取り／書込み要求を実施する際に、この方式を実行する。
【００５６】
ステップ４０７の後、ライブラリ１０２（とりわけロボティック装置１１８）は、いつでも動作できる状態となる（ステップ４０８）。ステップ４１０で、ホスト１０６は、媒体移送コマンドをコマンド・リレー・ポート１５０経由で発行して、要求通り媒体アイテムを取得し媒体ドライブ１５２にロードするようロボティック装置に指示する。ステップ４１２で、ホストは、読取り／書込み要求を媒体ドライブ１５２向けに発行して、READ、WRITE、ADVANCE、REWIND動作、またはロードされている媒体アイテムに関連するその他の動作を実行するよう媒体ドライブに指示する。
【００５７】
ステップ４１４で、ロボティック装置１１８は、スロット１１０、１１２の占有モジュールと必要に応じて通信を行う。例えば、ロボティック装置１１８は、コマンド・リレー・ポート１５０から媒体移送コマンドを受信することができる。この場合、ロボティック装置１１８は、適切なコマンド・セット１１８ａと比較対照して、受信コマンドを評価し（ステップ４１６）、コマンドが適切なものである場合、ロボティック装置１１８は、許可された動作であれば何でも実行する（ステップ４１８）。例えば、ステップ４１４で、LOADコマンドが受信された場合、ロボティック装置１１８はステップ４１６で、LOADコマンドおよびその構文をコマンド・リレー・ポートのコマンド・セットと比較対照することによって検証する。LOADコマンドが適切なものである場合、ロボティック装置１１８はステップ４１８で、（例えば）望ましい媒体アイテムを媒体ドライブ１５２にロードするなど、適切な機能を実行する。
【００５８】
有利には、ロボティック装置１１８がステップ４１４で、AUDIT、INVENTORY、またはその他のホスト・コマンドを受信して、ストレージ保管庫１２０の内容を学習した場合（ステップ４１０）、ロボティック装置１１８は、AUDIT、INVENTORY、またはその他のコマンドを受信したコマンド・リレー・ポート１５０に割り当てられたパーティションの内容のみを返す（ステップ４１８）。したがって、ホスト１０６は、他のホストのパーティションの内容を「見る」ことができず、異なるホスト間で媒体アイテムを混同する可能性が低くなる。同様に、ロボティック装置は（ステップ４１８で）、他のパーティションの媒体アイテムのLOADまたはその他の操作を行うホスト・コマンドを拒絶し、またはその他の方法で破棄（dishonor）する。ロボティック装置１１８は、例えば、コマンド発行ホストに関連付けられたコマンド・リレー・ポートを介してエラー・メッセージを返すことによって、ホスト・コマンドを拒絶する。
【００５９】
さらにステップ４１６で、ロボティック装置１１８は、任意の適用可能なパーティション化方式にしたがって、ステップ４１４の入力を評価する。例えば、ロボティック装置１１８は、媒体移送コマンドがコマンド発行主体のパーティション外の媒体アイテムに関するものである場合、そのコマンドの実行（honor）を拒否することができる。別の実施形態において、スロット占有モジュールが、いくつかまたはすべてのパーティション実施作業（partitionenforcement duties）を実行することができる。この実施形態においては、ロボティック装置１１８は、パーティションを生成した後（ステップ４０７）、スロット占有モジュールを利用（recruit）してパーティションを実施する。すなわち、ロボティック装置１１８は、必要に応じてパーティション命令をスロット占有モジュールに転送し、スロット占有モジュールが、設定されたパーティションに適するように媒体移送コマンドを認可または拒否する。より具体的には、各スロットは１つのパーティションと関連付けられているので、ロボティック装置１１８は、そのスロットに関連付けられたパーティションの下にある媒体アイテムまたはストレージ保管庫に関するコマンドのみを実行するよう、各スロット占有モジュールに指示する。この方式で利用可能なスロット占有モジュールのいくつかの例として、（１５０などの）コマンド・リレー・ポート、２重目的媒体ドライブ、またはホストから要求を受けて媒体移送コマンドをロボティック装置１１８に伝送するその他のモジュールが挙げられる。必要であれば、そのような装置をさらに利用して、不適切な構文のコマンドや認識できないコマンドを拒絶するなど、媒体移送コマンドに対する他の制限を実施することもできる。
【００６０】
ホスト・ストレージ要求、媒体移送コマンド、およびロボティック装置通信が発生し得る順序にはほぼ無限の順序が存在するため、何ら限定を意図せず、ステップ４１０、４１２、４１４は並列に示されている。さらに、ステップ４１０、４１２、４１４の各々は、実行されるデータ・ストレージ動作次第で、必要に応じて繰り返すことができる。
【００６１】
その他の実施形態
上述の開示には、本発明のいくつかの例示的な実施形態が示されているが、添付の特許請求の範囲で定める本発明の範囲から逸脱することなく、本開示に様々な変更および修正を施し得ることは、当業者には明らかであろう。さらに、本発明の要素は、単数で説明しまたはクレームに記載することがあるが、明示的に単数への限定が述べられていない限り、複数も企図されている。さらに、説明およびクレーム記載のため、動作手順をある具体的な順序で述べなければならないが、本発明が、そうした具体的な順序に拘束されない様々な変更を企図していることは、当業者には理解されよう。
【図面の簡単な説明】
【００６２】
【図１】本発明によるデータ・ストレージ・ライブラリにおけるハードウェア・コンポーネントおよび相互接続を示すブロック図である。
【図２】本発明による例示的なコマンド・リレー・ポートにおけるハードウェア・コンポーネントおよび相互接続を示すブロック図である。
【図３】本発明によるデジタル・データ処理装置のブロック図である。
【図４】本発明による例示的な信号支持媒体を示す図である。
【図５】本発明のデータ・ストレージ・ライブラリの動作手順を示すフローチャートである。
【図１】
2004531847.tif 000003
【図２】
2004531847.tif 000004
【図３】
2004531847.tif 000005
【図４】
2004531847.tif 000006
【図５】
2004531847.tif 000007
【国際公開パンフレット】
2004531847.tif 000008
2004531847.tif 000009
2004531847.tif 000010
2004531847.tif 000011
2004531847.tif 000012
2004531847.tif 000013
2004531847.tif 000014
2004531847.tif 000015
2004531847.tif 000016
2004531847.tif 000017
2004531847.tif 000018
2004531847.tif 000019
2004531847.tif 000020
2004531847.tif 000021
2004531847.tif 000022
2004531847.tif 000023
2004531847.tif 000024
2004531847.tif 000025
2004531847.tif 000026
2004531847.tif 000027
2004531847.tif 000028
2004531847.tif 000029
2004531847.tif 000030
2004531847.tif 000031
2004531847.tif 000032
2004531847.tif 000033
2004531847.tif 000034
2004531847.tif 000035
2004531847.tif 000036
2004531847.tif 000037
2004531847.tif 000038
2004531847.tif 000039
2004531847.tif 000040
2004531847.tif 000041
2004531847.tif 000042
2004531847.tif 000043
2004531847.tif 000044
2004531847.tif 000045
2004531847.tif 000046
2004531847.tif 000047
2004531847.tif 000048
2004531847.tif 000049
2004531847.tif 000050
【国際調査報告】
2004531847.tif 000051
2004531847.tif 000052