(57)【要約】【課題】自動データ・ストレージ・ライブラリにおける、取り外し可能媒体に格納された、または格納されることになるデータの、選択的暗号化を提供する。【解決手段】１つまたは複数の暗号化ポリシーが確立され、各ポリシーは、暗号化のレベル、１つまたは複数の暗号キー、および１つまたは複数のデータ・カートリッジの識別を含む。暗号化ポリシーはポリシー・テーブルに格納され、暗号キーはセキュア・キー・サーバに格納される。ホストは、指定のデータ・カートリッジへのアクセスを要求し、カートリッジは、ライブラリ内のストレージ・シェルフからストレージ・ドライブへ移送される。指定のカートリッジの識別に基づいて、対応する暗号化ポリシーがテーブルから選択され、適切な暗号キーがキー・サーバから取得される。ストレージ・ドライブは、キーに従ってデータを暗号化し、このデータを指定のデータ・カートリッジ内の媒体上に格納する。【選択図】  図３
2010503090.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のカートリッジ暗号化ポリシーを確立するステップと、
ライブラリ内のストレージ・セルに格納された指定のデータ・カートリッジにアクセスするための要求をホストから受け取るステップと、
前記指定のデータ・カートリッジを前記ストレージ・セルからストレージ・ドライブに移送するステップと、
前記１つまたは複数のカートリッジ暗号化ポリシーから、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップと、
前記選択された暗号化ポリシーに応答して、前記指定のデータ・カートリッジに関する暗号キーを取得するステップと、
前記取得された暗号キーに従って、前記指定のデータ・カートリッジ上のデータを暗号化するステップと、
を有する、データ・ストレージ・ライブラリ内の取り外し可能媒体データ・カートリッジ上のデータを暗号化するための方法。
【請求項２】
前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップに先立って、前記指定のデータ・カートリッジの識別を確認するために、前記指定のデータ・カートリッジからカートリッジ識別子を読み取るステップをさらに有する、請求項１に記載の方法。
【請求項３】
前記指定のカートリッジの前記識別を確認するステップに応答して、前記１つまたは複数のカートリッジ暗号化ポリシーから、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップをさらに有する、請求項２に記載の方法。
【請求項４】
前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップが、前記データ・カートリッジから前記ポリシーを読み取るステップを有する、請求項１に記載の方法。
【請求項５】
前記１つまたは複数の暗号化ポリシーを前記ストレージ・ドライブに格納するステップをさらに有し、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップが前記ストレージ・ドライブによって実行される、請求項１に記載の方法。
【請求項６】
前記選択された暗号キーを取得するステップが、前記選択された暗号キーに関する要求を前記ストレージ・ドライブからキー・サーバへ伝送するステップを有する、請求項５に記載の方法。
【請求項７】
前記１つまたは複数の暗号化ポリシーをライブラリ・コントローラに格納するステップをさらに有し、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するステップが前記ライブラリ・コントローラによって実行される、請求項１に記載の方法。
【請求項８】
暗号化ポリシー・テーブルを作成するステップと、
１つまたは複数の暗号化ポリシーを前記テーブルに入力するステップと、
各データ・カートリッジがカートリッジ識別子を有する１つまたは複数のデータ・カートリッジを、入力された各暗号化ポリシーに関連付けるステップと、
をさらに有する、請求項１に記載の方法。
【請求項９】
１つまたは複数のデータ・カートリッジを、入力された各暗号化ポリシーに関連付けるステップが、複数のデータ・カートリッジを、それらの対応するカートリッジ識別子および対応するカートリッジ識別子の１つまたは複数の範囲のうちの少なくとも１つを指定することによって、関連付けるステップを有する、請求項８に記載の方法。
【請求項１０】
前記テーブルを前記カートリッジと共に格納するステップをさらに有する、請求項８に記載の方法。
【請求項１１】
前記ライブラリ内の１つまたは複数のストレージ・ドライブに関するデフォルト・ポリシーを確立するステップをさらに有する、請求項８に記載の方法。
【請求項１２】
１つまたは複数のカートリッジ暗号化ポリシーを確立するための手段と、
ライブラリ内のストレージ・セルに格納された指定のデータ・カートリッジにアクセスするための要求をホストから受け取るための手段と、
前記指定のデータ・カートリッジを前記ストレージ・セルからストレージ・ドライブに移送するための手段と、
前記１つまたは複数のカートリッジ暗号化ポリシーから、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するための手段と、
前記選択された暗号化ポリシーに応答して、前記指定のデータ・カートリッジに関する暗号キーを取得するための手段と、
前記取得された暗号キーに従って、前記指定のデータ・カートリッジ上のデータを暗号化するための手段と、
を備える、データ・ストレージ・ライブラリ内の取り外し可能媒体データ・カートリッジ上のデータを暗号化するための装置。
【請求項１３】
前記指定のデータ・カートリッジに関する暗号化ポリシーの選択に先立って、前記指定のデータ・カートリッジの識別を確認するために、前記指定のデータ・カートリッジからカートリッジ識別子を読み取るための手段をさらに備える、請求項１２に記載の装置。
【請求項１４】
前記指定のカートリッジの前記識別の確認に応答して、前記１つまたは複数のカートリッジ暗号化ポリシーから、前記指定のデータ・カートリッジに関する暗号化ポリシーを選択するための手段をさらに備える、請求項１３に記載の装置。
【請求項１５】
前記データ・カートリッジから前記ポリシーを読み取るための手段をさらに備える、請求項１２に記載の装置。
【請求項１６】
前記１つまたは複数の暗号化ポリシーを前記ストレージ・ドライブに格納するための手段をさらに備える、請求項１２に記載の装置。
【請求項１７】
前記選択された暗号キーに関する要求を前記ストレージ・ドライブからキー・サーバへ伝送するための手段をさらに備える、請求項１６に記載の装置。
【請求項１８】
前記１つまたは複数の暗号化ポリシーをライブラリ・コントローラに格納するための手段をさらに備える、請求項１２に記載の装置。
【請求項１９】
暗号化ポリシー・テーブルを作成するための手段と、
１つまたは複数の暗号化ポリシーを前記テーブルに入力するための手段と、
各データ・カートリッジがカートリッジ識別子を有する１つまたは複数のデータ・カートリッジを、入力された各暗号化ポリシーに関連付けるための手段と、
をさらに備える、請求項１２に記載の装置。
【請求項２０】
複数のデータ・カートリッジを、それらの対応するカートリッジ識別子および対応するカートリッジ識別子の１つまたは複数の範囲のうちの少なくとも１つを指定することによって、関連付けるための手段をさらに備える、請求項１９に記載の装置。
【請求項２１】
前記テーブルを前記カートリッジと共に格納するための手段をさらに備える、請求項１９に記載の装置。
【請求項２２】
前記ライブラリ内の１つまたは複数のストレージ・ドライブに関するデフォルト・ポリシーを確立するための手段をさらに備える、請求項１９に記載の装置。
【請求項２３】
コンピュータ上で実行された場合に、請求項１から１１のいずれか一項に記載のすべてのステップを実行するように適合されたプログラム・コード手段を備える、コンピュータ・プログラム。
【請求項２４】
ライブラリ・ハウジング・ユニット内のデータ・カートリッジと、データ・ストレージ媒体を含むデータ・ストレージ・カートリッジとを格納するための、複数のストレージ・シェルフと、
前記データ・ストレージ媒体へのデータの書き込み、あるいはここからのデータの読み取り、またはその両方を実行するように動作可能な、データ・ストレージ・ドライブと、
ホスト・コンピュータからのデータ・アクセス要求を受け取るために結合可能なライブラリ・コントローラと、
前記ライブラリ・コントローラの指示の下で、前記ストレージ・シェルフと前記データ・ストレージ・ドライブとの間でデータ・ストレージ・カートリッジを移送するためのロボット・アクセス機構と、
より多くの暗号キーを格納するために、前記ライブラリ・コントローラに結合可能なキー・サーバと、
１つまたは複数の暗号化ポリシー、および、各暗号化ポリシーに関する前記暗号化ポリシーに関連付けられた１つまたは複数のデータ・カートリッジの識別を、格納するための暗号化ポリシー・テーブルと、
データ・ストレージ・ドライブによって、暗号キーに関する要求を前記ライブラリ・コントローラに伝送するためのライブラリ・ドライブ・インターフェースであって、前記ライブラリ・コントローラが、前記キー・サーバからの前記要求された暗号キーの取得に応答して、前記要求された暗号キーを前記データ・ストレージ・ドライブに伝送するために、前記ライブラリ・ドライブ・インターフェースを使用するように動作可能である、ライブラリ・ドライブ・インターフェースと、
を備える、データ・ストレージ・システム。
【請求項２５】
１つまたは複数の暗号化ポリシーと、各暗号化ポリシーに関連付けられることになる１つまたは複数のカートリッジ識別子との、ユーザ入力を受け取るための、ユーザ・インターフェースであって、各カートリッジ識別子がデータ・カートリッジまたはデータ・カートリッジの範囲を表す、ユーザ・インターフェースと、
前記暗号化ポリシーおよび関連付けられたカートリッジ識別子を、前記ライブラリ内のストレージ・ドライブに伝送するための、ライブラリ・ドライブ・インターフェースと、
前記ライブラリ内のストレージ・セルに格納された指定のデータ・カートリッジにアクセスするためにホストから要求を受け取るための、ホスト・インターフェースと、
前記指定のデータ・カートリッジをストレージ・ドライブに移送するために、ロボット・アクセス機構を制御するための、アクセス機構インターフェースと、
前記ストレージ・ドライブが、前記指定のデータ・カートリッジと対応する暗号化ポリシーとを突き合わせるのに応答して、暗号キーに関する要求を前記ストレージ・ドライブから受け取るようにさらに動作可能な、前記ライブラリ・ドライブ・インターフェースと、
前記要求された暗号キーを取得するための手段と、
前記暗号キーを前記ストレージ・ドライブに伝送するようにさらに動作可能な、前記ライブラリ・ドライブ・インターフェースであって、前記ストレージ・ドライブが、前記指定のデータ・カートリッジに書き込まれることになるデータを暗号化可能である、前記ライブラリ・ドライブ・インターフェースと、
を備える、データ・ストレージ・ライブラリに関連付けられたコントローラ。
【請求項２６】
１つまたは複数の暗号化ポリシーと、各暗号化ポリシーに関連付けられることになる１つまたは複数のカートリッジ識別子との、ユーザ入力を受け取るための、ユーザ・インターフェースであって、各カートリッジ識別子が前記ライブラリに格納されたデータ・カートリッジを表す、ユーザ・インターフェースと、
前記ストレージ・ドライブにロードされたデータ・カートリッジのカートリッジ識別子を取得するための手段と、
前記識別子と関連付けられた暗号化ポリシーとを突き合わせるための手段と、
ライブラリ・ドライブ・インターフェースであって、
前記カートリッジ識別子と対応する暗号化ポリシーとの突き合わせに応答して、暗号キーに関する要求をキー・サーバに伝送するように、および
前記要求された暗号キーを受け取るように、
動作可能な、ライブラリ・ドライブ・インターフェースと、
前記ロードされたデータ・カートリッジに書き込まれるデータを暗号化するための暗号化モジュールと、
を備える、データ・ストレージ・ライブラリ内のデータ・ストレージ・ドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
好ましい実施形態は、自動データ・ストレージ・ライブラリに関し、とりわけ、取り外し可能媒体に格納されたかまたは格納されることになるデータの暗号化に関する。
【背景技術】
【０００２】
自動データ・ストレージ・ライブラリは、大量のデータを費用効率良く格納することおよび取り出すことで知られている。自動データ・ストレージ・ライブラリ内のデータはデータ・ストレージ媒体に格納され、物理的取り出しのために媒体およびその常駐データへのアクセスが可能になるように、この媒体がライブラリ内のストレージ・シェルフなどに格納される。こうした媒体は一般に「取り外し可能媒体」と呼ばれる。データ・ストレージ媒体は、磁気媒体（磁気テープまたはディスクなど）、光媒体（光学式テープまたはディスクなど）、ホログラフィック媒体（ホログラフィック・テープまたはディスクなど）、電子媒体（ＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＰＲＯＭ、ＭＲＡＭ、Ｃｏｍｐａｃｔｆｌａｓｈ  ＴＭ、Ｓｍａｒｔｍｅｄｈｉａ  ＴＭ、Ｍｅｍｏｒｙ  Ｓｔｉｃｋ  ＴＭなど）、または他の好適な媒体を含むが、これらに限定されることのない、データを格納することが可能であり、取り外し可能媒体として働くことが可能な、任意のタイプの媒体を含むことができる。通常、自動データ・ストレージ・ライブラリに格納されたデータは、カートリッジ内に収容され、データ・ストレージ媒体カートリッジと呼ばれる、データ・ストレージ媒体上に常駐する。大容量データ・ストレージ用に自動データ・ストレージ・ライブラリ内で広範に採用されているデータ・ストレージ媒体カートリッジの一例は、磁気テープ・カートリッジである。
【０００３】
データ・ストレージ媒体に加えて、自動データ・ストレージ・ライブラリは、通常、データ・ストレージ媒体へデータを格納する、あるいはデータ・ストレージ媒体からデータを取り出す、またはその両方の、１つまたは複数のデータ・ストレージ・ドライブを含む。データ・ストレージ・シェルフとデータ・ストレージ・ドライブとの間でのデータ・ストレージ媒体の移送は、通常、１つまたは複数のロボット・アクセス機構（以下、「アクセス機構」と呼ぶ）によって実施される。こうしたアクセス機構は、選択されたデータ・ストレージ媒体を自動データ・ストレージ・ライブラリ内のストレージ・シェルフから物理的に取り出すためのグリッパを有し、こうした媒体を、ＸあるいはＹまたはその両方の方向に移動させることによって、データ・ストレージ・ドライブへと移送する。
【０００４】
多くの応用例では、取り外し可能媒体に格納されたデータがセキュアであることを保証することが重要である。機密情報が不正流用された場合、盗難、アクシデントに対して失われたデータを複製、再構築、または再取得しなければならないことの不便さおよび費用に加えて、法的責任を含む莫大な副次的影響がある。しかしながら、すべてのデータを保護するか、またはすべてのデータを同レベルまで保護する必要のない場合がある。
【特許文献１】米国特許第６３５６８０３号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、信頼性があり、異なるデータ・カートリッジ上のデータを異なるレベルで保護できるようにする（または非セキュアな状態を維持する）ために十分フレキシブルである、および、ライブラリまたは任意のそのコンポーネントの性能に悪影響を与えない、自動ストレージ・ライブラリ内の取り外し可能媒体に格納されたようなデータを、選択的に保護するためのシステムおよび方法が求められている。
【課題を解決するための手段】
【０００６】
本発明は、自動データ・ストレージ・ライブラリ内の取り外し可能媒体に格納されたかまたは格納されることになるデータの選択的暗号化を提供する。１つまたは複数の暗号化ポリシーが確立されており、各ポリシーは、暗号化のレベル、１つまたは複数の暗号キー、および１つまたは複数のデータ・カートリッジの識別を含む。暗号化ポリシーはポリシー・テーブルに格納され、暗号キーはセキュア・キー・サーバに格納される。ホストは指定されたデータ・カートリッジへのアクセスを要求し、カートリッジはライブラリ内のストレージ・シェルフからストレージ・ドライブへと移送される。指定されたカートリッジの識別に基づいて、対応する暗号化ポリシーがテーブルから選択され、適切な暗号キーがキー・サーバから取得される。ストレージ・ドライブはキーに従ってデータを暗号化し、このデータを指定されたデータ・カートリッジ内の媒体に格納する。
【０００７】
本発明は、カートリッジ、ストレージ・シェルフ、データ・ストレージ・ドライブ、ライブラリ・コントローラ、ロボット・アクセス機構、およびキー・サーバを含む、データ・ストレージ・システムも提供する。システムは、１つまたは複数の暗号化ポリシーと、各暗号化ポリシーに関する暗号化ポリシーに関連付けられた１つまたは複数のデータ・カートリッジの識別と、が内部に格納された、暗号化ポリシー・テーブルをさらに含む。システムはアウト・オブ・バンド・インターフェースも含み、それを介して、データ・ストレージ・ドライブが暗号キーに関する要求をライブラリ・コントローラに伝送可能であり、ライブラリ・コントローラが、要求された暗号キーをキー・サーバから取得した後、それを介して、要求された暗号キーをデータ・ストレージ・ドライブに伝送可能である。
【０００８】
好ましくは、暗号キーに関する要求は、キー・サーバに対するプロキシとして動作可能なライブラリ・コントローラを備える。より好ましくは、さらにストレージ・ドライブは、要求された暗号キーに従って選択されたデータ・カートリッジに格納するためにデータを暗号化するように動作可能である。さらにより好ましくは、キー・サーバはライブラリ・コントローラを備える。さらにより好ましくは、キー・サーバは専用サーバを備える。
【０００９】
好ましくは、データ・ストレージ・システムは、暗号化ポリシー・テーブルが格納されたライブラリ・コントローラ内に、メモリ・デバイスをさらに備える。より好ましくは、ポリシー・テーブルはデータ・ストレージ・カートリッジと共に格納される。さらにより好ましくは、データ・ストレージ・システムは、暗号化ポリシー・テーブルが格納されたストレージ・ドライブ内に、メモリ・デバイスをさらに備える。
【００１０】
さらに本発明は、データ・ストレージ・ライブラリに関連付けられたコントローラを提供する。コントローラは、暗号化ポリシーを受け取る際に介するユーザ・インターフェースと、暗号化ポリシーおよび関連付けられたカートリッジ識別子をライブラリ内のストレージ・ドライブに伝送する際に介するライブラリ・ドライブ・インターフェースと、ライブラリ内のストレージ・セルに格納された指定のデータ・カートリッジにアクセスするためにホストからの要求を受け取る際に介するホスト・インターフェースと、ロボット・アクセス機構が指定のデータ・カートリッジをストレージ・ドライブに移送するのを制御する際に介するアクセス機構インターフェースと、を含む。さらにライブラリ・ドライブ・インターフェースは、ストレージ・ドライブが指定のデータ・カートリッジと対応する暗号化ポリシーとを突き合わせるのに応答して、暗号化キーに関する要求をストレージ・ドライブから受け取るように動作可能である。さらにコントローラは、要求された暗号キーを取得するための手段を含み、さらにライブラリ・ドライブ・インターフェースは、暗号キーをストレージ・ドライブに伝送するように動作可能であり、ここでストレージ・ドライブは、指定のデータ・カートリッジに書き込まれているデータを暗号化することができる。
【００１１】
好ましくは、ライブラリ・コントローラは、暗号キーの取得元であるキー・サーバに結合されたインターフェースをさらに備える。より好ましくは、ライブラリ・コントローラは、キー・サーバに対するプロキシとして働く。さらにより好ましくは、ライブラリ・コントローラは、暗号キーの取得元である統合キー・サーバをさらに備える。
【００１２】
本発明は、データ・ストレージ・ライブラリ内のデータ・ストレージ・ドライブも提供する。このドライブは、１つまたは複数の暗号化ポリシー、および各暗号化ポリシーに関連付けられることになる１つまたは複数のカートリッジ識別子の、ユーザ入力を受け取る際に介する、ユーザ・インターフェースと、１つまたは複数の暗号化ポリシーおよび関連付けられたカートリッジ識別子を、ライブラリに関連付けられたライブラリ・コントローラから受け取る際に介する、ライブラリ・ドライブ・インターフェースと、ストレージ・ドライブにロードされたデータ・カートリッジのカートリッジ識別子を取得するための手段と、識別子と関連付けられた暗号化ポリシーとを突き合わせるための手段と、を含む。さらにライブラリ・ドライブ・インターフェースは、カートリッジ識別子と対応する暗号化ポリシーとの突き合わせに応答して、暗号キーに関する要求をキー・サーバに伝送し、要求された暗号キーを受け取るように、動作可能である。ドライブは、ロードされたデータ・カートリッジに書き込まれるデータを暗号化するための暗号化モジュールをさらに含む。
【００１３】
好ましくは、カートリッジ識別子を取得するための手段は、ロードされたデータ・カートリッジに添付されたバー・コード・ラベルと、ロードされたデータ・カートリッジに添付された非バー・コード・マシン読み取り可能ラベルと、ロードされたデータ・カートリッジ内の媒体に格納された値と、ロードされたデータ・カートリッジのカートリッジ・メモリ内に格納された値と、ロードされたデータ・カートリッジに添付されたＲＦＩＤタグと、を備えるグループから選択された、１つまたは複数の識別子を読み取るための手段を備える。より好ましくは、ストレージ・ドライブは、１つまたは複数の暗号化ポリシーを格納するためのメモリをさらに備え、ここで指定のデータ・カートリッジに対する暗号化ポリシーの選択は、ストレージ・ドライブによって実行される。
【００１４】
さらに本発明は、データ・ストレージ・ライブラリ内の取り外し可能媒体データ・カートリッジ上のデータを暗号化するための方法と、それを実行するために内部で具体化されたコンピュータ読み取り可能コードを有するコンピュータ・プログラムとを提供する。この方法および命令は、暗号化ポリシー・テーブルを作成することと、１つまたは複数の暗号化ポリシーをテーブルに入力することと、入力された各暗号化ポリシーに１つまたは複数のデータ・カートリッジを関連付けることであって、各データ・カートリッジがカートリッジ識別子を有し、ライブラリ内に格納されている、関連付けることと、指定のデータ・カートリッジにアクセスするためにホストから要求を受け取ることと、指定のデータ・カートリッジをストレージ・セルからストレージ・ドライブに移送することと、を含む。暗号化ポリシーは、指定のデータ・カートリッジが関連付けられた暗号テーブルから選択され、選択された暗号化ポリシーに応答して、指定のデータ・カートリッジに対する暗号キーが取得され、取得された暗号キーに従って指定のデータ・カートリッジ上でデータが暗号化される。
【００１５】
好ましくは、カートリッジ識別子を読み取ることは、指定のデータ・カートリッジに添付されたバー・コード・ラベルと、指定のデータ・カートリッジに添付された非バー・コード・マシン読み取り可能ラベルと、指定のデータ・カートリッジ内の媒体に格納された値と、指定のカートリッジ・メモリ内に格納された値と、を備えるグループから選択された、１つまたは複数の識別を読み取ることを有する。より好ましくは、ポリシーを読み取ることは、カートリッジ・ラベル、カートリッジ・メモリ、カートリッジＲＦＩＤタグ、およびカートリッジ媒体を備えるグループのうちの選択されたものから、ポリシーを読み取ることを有する。さらにより好ましくは、方法は、キー・サーバに対するプロキシとしてのライブラリ・コントローラを介して要求を伝送することをさらに有する。
【００１６】
好ましくは、方法は、キー・サーバに対するプロキシとしてのホスト・コンピュータを介して要求を伝送することをさらに有する。より好ましくは、方法は、選択された暗号キーをストレージ・ドライブに伝送することをさらに有する。さらにより好ましくは、選択された暗号キーを取得することは、選択された暗号キーに関する要求をライブラリ・コントローラからキー・サーバへ伝送することを有する。
【００１７】
好ましくは、方法は、指定のデータ・カートリッジがストレージ・ドライブに移送された後に、指定のデータ・カートリッジに関する暗号化ポリシーを選択することをさらに有する。より好ましくは、カートリッジと共にテーブルを格納することは、カートリッジ・ラベル、カートリッジ・メモリ、カートリッジＲＦＩＤタグ、およびカートリッジ媒体を備えるグループのうちの選択されたものに、テーブルを格納することを有する。さらにより好ましくは、方法は、ライブラリ内のすべてのストレージ・ドライブに対するデフォルト・ポリシーを確立することをさらに有する。
【発明を実施するための最良の形態】
【００１８】
以下の記述における好ましい諸実施形態では、同じ番号が同じかまたは同様の要素を表す図面を参照しながら、好ましい実施形態について説明する。好ましい実施形態は、好ましい実施形態の目的を達成するための最良の態様に関して説明されるが、当業者であれば、添付の特許請求の範囲によって定義された本発明の趣旨および範囲に含め得るような、代替、修正、および等価の態様をカバーするように意図されていることを理解されよう。
【００１９】
本発明について、データ処理環境で使用するための自動磁気テープ・ライブラリ・ストレージ・システム内で具体化されるものとして説明する。示された本発明では磁気テープ・カートリッジを使用するが、当業者であれば、本発明が、光ディスク・カートリッジまたは（本明細書で説明されるような）他の取り外し可能ストレージ媒体、および、異なるタイプのカートリッジまたは異なる特徴を有する同じタイプのカートリッジの、いずれの使用にも、等しく適用されることを理解されよう。さらに、本明細書の発明は、一般的な任意の媒体ストレージおよびカートリッジ処理システムに適用可能であるため、自動磁気テープ・ストレージ・システムの説明は、本発明を磁気テープのデータ処理適用範囲に限定することを意味するものではない。
【００２０】
次に図面を見ると、図１および図２は、ストレージ・シェルフ１６にデータ・ストレージ媒体（図示せず）を含むデータ・ストレージ・カートリッジを格納し、取り出す、自動データ・ストレージ・ライブラリ１０を示す。本明細書における「データ・ストレージ媒体」への言及は、データ・ストレージ・カートリッジを言い表すものであり、本明細書ではこの２つの用語が同義的に使用されることに留意されたい。本発明を実装可能であり、図１および図２に示されたような構成を有する、自動データ・ストレージ・ライブラリの例が、ＩＢＭ  ３５８４  ＵｌｔｒａＳｃａｌａｂｌｅ  Ｔａｐｅ  Ｌｉｂｒａｒｙである。図１のライブラリは、左側サービス・ベイ１３、１つまたは複数のストレージ・フレーム１１、および右側サービス・ベイ１４を備える。以下で論じるように、フレームはライブラリの拡張コンポーネントを備えることができる。フレームは、ライブラリのサイズあるいは機能またはその両方を拡張または削減するために、追加または除去することができる。フレームは、追加のストレージ・シェルフ、ドライブ、インポート／エクスポート・ステーション、アクセス機構、オペレータ・パネルなどを備えることができる。
【００２１】
図２は、ライブラリ１０の基本フレームであり、ライブラリの最小構成とするように企図された、ストレージ・フレーム１１の例を示す。この最小構成では、単一のアクセス機構のみが存在し（すなわち、冗長アクセス機構はない）、サービス・ベイはない。ライブラリ１０は、少なくとも１つの外部ホスト・システム（図示せず）からのコマンドに応答して、データ・ストレージ媒体にアクセスするように配置構成され、複数のストレージ・シェルフ１６と、データ・ストレージ媒体を含むデータ・ストレージ・カートリッジを格納するための１つの前壁１７および後壁１９と、データ・ストレージ媒体に関してデータを読み取るあるいは書き込む、またはその両方のための、少なくとも１つのデータ・ストレージ・ドライブ１５と、複数のストレージ・シェルフ１６とデータ・ストレージ・ドライブ１５との間でデータ・ストレージ媒体を移送するための第１のアクセス機構１８と、を備える。データ・ストレージ・ドライブ１５は、光ディスク・ドライブまたは磁気テープ・ドライブとするか、あるいは、データ・ストレージ媒体に関してデータを読み取るあるいは書き込む、またはその両方に使用されるような他のタイプのデータ・ドライブとすることができる。ストレージ・フレーム１１は、オプションで、オペレータ・パネル２３、または、ユーザがライブラリと対話できるようにする、ウェブ・ベース・インターフェースなどの他のユーザ・インターフェースを備えることができる。ストレージ・フレーム１１は、オプションで、ライブラリ操作を混乱させることなく、データ・ストレージ媒体をライブラリに挿入すること、あるいはライブラリから除去すること、またはその両方を可能にする、上部Ｉ／Ｏステーション２４あるいは下部Ｉ／Ｏステーション２５またはその両方を備えることができる。「ストレージ・セル」とは、本明細書で使用される場合、ストレージ・シェルフ１６、Ｉ／Ｏステーション２４〜２５のストレージ・シェルフ、またはドライブ１５の媒体スロットなどであるが、これらに限定されることのない、データ・ストレージ・カートリッジを保持できるライブラリ内の任意の場所を言い表す。ライブラリ１０は、それぞれが第１のアクセス機構１８によってアクセス可能なストレージ・シェルフ１６を有する、１つまたは複数のストレージ・フレーム１１を備えることが可能である。
【００２２】
前述のように、ストレージ・フレーム１１は、意図された機能に応じて異なるコンポーネントで構成することができる。ストレージ・フレーム１１の１つの構成は、ストレージ・シェルフ１６と、データ・ストレージ・ドライブ１５と、データ・ストレージ・カートリッジにデータを格納し、データを取り出すための、他のオプション・コンポーネントとを、備えることができる。第１のアクセス機構１８は、１つまたは複数のデータ・ストレージ媒体をグリップするためのグリッパ・アセンブリ２０を備え、バー・コード・スキャナ２２、あるいは、データ・ストレージ媒体に関する情報を識別する「読み取り」を行うためにグリッパ２０に載置された、カートリッジ・メモリ・リーダまたは同様のシステムなどの、他の読み取りシステムを含むことができる。
【００２３】
図３は、複数のプロセッサ・ノードを備えたモジュールの分散型システムを採用する、図１および図２の自動データ・ストレージ・ライブラリ１０の実施形態を示す。図３のブロック図に示された分散型システムを実装可能であり、本発明を実装する、自動データ・ストレージ・ライブラリの例は、ＩＢＭ  ３５８４  ＵｌｔｒａＳｃａｌａｂｌｅ  Ｔａｐｅ  Ｌｉｂｒａｒｙである。自動データ・ストレージ・ライブラリに組み込まれた分散型制御システムをより完全に理解するために、「Ａｕｔｏｍａｔｅｄ  Ｄａｔａ  Ｓｔｏｒａｇｅ  Ｌｉｂｒａｒｙ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ」という名称の米国特許第６３５６８０３号を参照されたい。
【００２４】
自動データ・ストレージ・ライブラリ１０について、分散型制御システムを採用するものとして説明してきたが、本発明は、制御構成にかかわらず、米国特許第６３５６８０３号に定義されたような、分散型でない１つまたは複数のライブラリ・コントローラを有する自動データ・ストレージ・ライブラリなどであるが、これらに限定されることのない、自動データ・ストレージ・ライブラリ内で実装可能である。図３のライブラリは、１つまたは複数のストレージ・フレーム１１、左側サービス・ベイ１３、および右側サービス・ベイ１４を備える。左側サービス・ベイ１３は、第１のアクセス機構１８と共に示される。前述のように、第１のアクセス機構１８はグリッパ・アセンブリ２０を備え、データ・ストレージ媒体に関する情報を識別する「読み取り」を実行するための読み取りシステム２２を含むことができる。右側サービス・ベイ１４は、第２のアクセス機構２８と共に示される。第２のアクセス機構２８はグリッパ・アセンブリ３０を備え、データ・ストレージ媒体に関する情報を識別する「読み取り」を実行するための読み取りシステム３２を含むことができる。第１のアクセス機構１８またはそのグリッパ２０などの障害または他の使用不可が生じた場合、第２のアクセス機構２８が第１のアクセス機構１８の機能の一部またはすべてを実行することができる。２つのアクセス機構１８、２８は、１つまたは複数の機械的パスを共用することができるか、または、完全に独立した機械的パスを備えることができる。一例では、アクセス機構１８、２８は、独立した垂直レールを備えた共通の水平レールを有することができる。第１のアクセス機構１８および第２のアクセス機構２８は、説明のためにのみ、第１および第２として記述されており、この記述は、いずれのアクセス機構も、左側サービス・ベイ１３または右側サービス・ベイ１４のいずれかとの関連に限定することを意図していない。
【００２５】
例示的ライブラリでは、第１のアクセス機構１８および第２のアクセス機構２８は、取り出しおよびグリップするため、あるいは、ストレージ・シェルフ１６でデータ・ストレージ媒体を送達および解放し、データ・ストレージ・ドライブ１５でデータ・ストレージ媒体をロードおよびアンロードするために、それらのグリッパを、水平「Ｘ」方向および垂直「Ｙ」方向と呼ばれる少なくとも２つの方向に移動させる。
【００２６】
例示的ライブラリ１０は、１つまたは複数のホスト・システム４０、４１、または４２からコマンドを受け取る。ホスト・サーバなどのホスト・システムは、たとえばパス８０上で直接、１つまたは複数の制御ポート（図示せず）を介して、あるいはパス８１、８２上の１つまたは複数のデータ・ストレージ・ドライブ１５を介して、ライブラリと通信し、特定のデータ・ストレージ媒体にアクセスし、たとえばストレージ・シェルフ１６とデータ・ストレージ・ドライブ１５との間で媒体を移動させるためのコマンドを提供する。コマンドは通常、媒体にアクセスするために媒体位置あるいは論理位置またはその両方を識別する、論理コマンドである。「コマンド」および「作業要求」という用語は、結果としてライブラリ１０内の特定のデータ・ストレージ媒体へのアクセスを生じされることが意図された場合、ホスト・システム４０、４１、または４２からライブラリ１０へのこうした通信を言い表すために、本明細書では交換可能に使用される。
【００２７】
例示的ライブラリは、ホストから論理コマンドを受け取り、要求されたアクションを決定し、このアクションを第１のアクセス機構１８あるいは第２のアクセス機構２８またはその両方の物理的動きに変換する、分散型制御システムによって制御される。
【００２８】
例示的ライブラリでは、分散型制御システムは、それぞれが１つまたは複数のプロセッサを有する、複数のプロセッサ・ノードを備える。分散型制御システムの一例では、通信プロセッサ・ノード５０をストレージ・フレーム１１内に配置することができる。通信プロセッサ・ノードは、たとえばライン８０に結合された少なくとも１つの外部インターフェースを介して、直接またはドライブ１５を介して、ホスト・コマンドを受け取るための通信リンクを提供する。
【００２９】
加えて、通信プロセッサ・ノード５０は、データ・ストレージ・ドライブ１５と通信するための通信リンク７０も提供することができる。通信プロセッサ・ノード５０は、フレーム１１内のデータ・ストレージ・ドライブ１５の近隣に配置することができる。加えて、分散型プロセッサ・システムの例では、１つまたは複数の追加の作業プロセッサ・ノードが提供され、たとえばこれは、第１のアクセス機構１８に配置可能であり、ネットワーク６０、１５７を介して通信プロセッサ・ノード５０に結合された、作業プロセッサ・ノード５２を備えることができる。各作業プロセッサ・ノードは、任意の通信プロセッサ・ノードから作業プロセッサ・ノードにブロードキャストされたコマンドの受け取りに応答可能であり、作業プロセッサ・ノードは、移動コマンドを提供するアクセス機構の動作を指示することも可能である。ＸＹプロセッサ・ノード５５が提供され、第１のアクセス機構１８のＸＹシステムに配置可能である。ＸＹプロセッサ・ノード５５はネットワーク６０、１５７に結合され、移動コマンドに応答して、グリッパ２０を位置決めするためにＸＹシステムを動作させる。
【００３０】
また、オペレータ・パネルと通信プロセッサ・ノード５０、作業プロセッサ・ノード５２、２５２、ならびにＸＹプロセッサ・ノード５５、２５５の間で通信するための、インターフェースを提供するために、オプションのオペレータ・パネル２３にオペレータ・パネル・プロセッサ・ノード５９を提供することもできる。
【００３１】
たとえば共通バス６０を備える、様々なプロセッサ・ノードを結合するネットワークが提供される。このネットワークは、市販のＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）社のバス・システムなどの、マルチドロップ・ネットワークであり、たとえば、ドイツのＡｍ  Ｗｅｉｃｈ  Ｓｅｌｇａｒｔｅｎ  ２６，Ｄ−９１０５８  ＥｒｌａｎｇｅｎにあるＣＡＮ  ｉｎ  Ａｕｔｏｍａｔｉｏｎ  Ａｓｓｏｃｉａｔｉｏｎ、すなわちＣｉＡによって定義されたような、標準アクセス・プロトコルおよび配線標準を有する、堅固な有線ネットワークを備えることができる。当業者に知られているように、イーサネットなどの他のネットワーク、あるいは、ＲＦまたは赤外線などの無線ネットワーク・システムを、ライブラリ内で採用することができる。加えて、複数の独立ネットワークを使用して、様々なプロセッサ・ノードを結合することもできる。
【００３２】
通信プロセッサ・ノード５０は、ライン７０を介して、ストレージ・フレーム１１のそれぞれのデータ・ストレージ・ドライブ１５に結合され、ドライブならびにホスト・システム４０、４１、および４２と通信する。別の方法では、ホスト・システムは、たとえば入力８０で通信プロセッサ・ノード５０に直接結合すること、あるいは、ライブラリを、ドライブ／ライブラリ・インターフェースと同様のライブラリ・インターフェースを備えたホスト・システムに接続する、制御ポート・デバイス（図示せず）に結合することができる。当業者には知られているように、ホストおよびデータ・ストレージ・ドライブとの通信用に、様々な通信配置構成を採用することができる。図３の例では、ホスト接続８０および８１はＳＣＳＩバスである。バス８２は、高速シリアル・データ・インターフェースであり、ＳＣＳＩバス・システムよりもはるかに長距離の伝送を可能にする、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌバスの例を有する。
【００３３】
データ・ストレージ・ドライブ１５は、通信プロセッサ・ノード５０に極めて接近可能であり、ＳＣＳＩなどの短距離通信スキーム、またはＲＳ−４２２などのシリアル接続を採用することができる。したがってデータ・ストレージ・ドライブ１５は、ライン７０を使用して通信プロセッサ・ノード５０に個々に結合される。別の方法では、データ・ストレージ・ドライブ１５は、共通バス・ネットワークなどの１つまたは複数のネットワークを介して、通信プロセッサ・ノード５０に結合可能である。インターフェース７０、８０、８１、あるいは８２、またはそれらすべては、ＲＳ−２３２、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、シリアルまたはパラレルＡＴＡ（ＡＴＡ  Ａｔｔａｃｈｍｅｎｔ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒｓ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、ＩＥＥＥ  １３９４（ＦｉｒｅＷｉｒｅまたはｉＬｉｎｋ）、ＩＥＥＥ  １２８４（パラレル・ポート）などの、シリアル、パラレル、または光学式のインターフェースを含むことができるが、これらに限定されるものではない。加えて、インターフェース７０、８０、８１、あるいは８２、またはそれらすべては、イーサネット、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、８０２．１１（Ｗｉ−Ｆｉ）、Ｘ．２５（ＷＡＮ）、Ｂｌｕｅｔｏｏｔｈなどの、ネットワークまたは無線インターフェースを含むこともできるが、これらに限定されるものではない。
【００３４】
追加のストレージ・フレーム１１が提供可能であり、それぞれが隣接するストレージ・フレームに結合される。任意のストレージ・フレーム１１が、通信プロセッサ・ノード５０、ストレージ・シェルフ１６、データ・ストレージ・ドライブ１５、およびネットワーク６０を備えることができる。
【００３５】
さらに、前述のように、自動データ・ストレージ・ライブラリ１０は、複数のアクセス機構を備えることができる。たとえば、図３の右側サービス・ベイ１４内には第２のアクセス機構２８が示されている。第２のアクセス機構２８は、データ・ストレージ媒体にアクセスするためのグリップ３０と、第２のアクセス機構２８を移動させるためのＸＹシステム２５５を備えることができる。第２のアクセス機構２８は、第１のアクセス機構１８と同じ水平の機械的パス上を、または隣接パス上を走らせることができる。例示的制御システムは、ストレージ・フレーム１１のネットワーク６０と、左側サービス・ベイ１３のネットワーク１５７とに結合された、ネットワークを形成する、拡張ネットワーク２００をさらに備える。
【００３６】
図３および付随する説明では、第１および第２のアクセス機構は、それぞれ左側サービス・ベイ１３および右側サービス・ベイ１４に関連付けられる。これは例示のためであり、実際の関連性はない場合がある。加えて、ネットワーク１５７は左側サービス・ベイ１３に関連付けられず、ネットワーク２００は右側サービス・ベイ１４に関連付けられない場合もある。ライブラリの設計に応じて、左側サービス・ベイ１３あるいは右側サービス・ベイ１４、またはその両方を有する必要がない場合がある。
【００３７】
自動データ・ストレージ・ライブラリ１０は、通常、自動データ・ストレージ・ライブラリの動作を指示するための１つまたは複数のコントローラを備える。ホスト・コンピュータおよびデータ・ストレージ・ドライブは、通常、同様のコントローラを備える。コントローラは多くの異なる形を取ることが可能であり、たとえば組み込み型システム、分散型制御システム、パーソナル・コンピュータ、またはワークステーションを備えることができるが、これらに限定されるものではない。本質的には、本明細書で使用される「コントローラ」という用語は、その最も広い意味において、こうした用語が本明細書で定義される場合、少なくとも１つのプロセッサを含むデバイスとして意図される。図４は、プロセッサ４０２、ＲＡＭ（ランダム・アクセス・メモリ）４０３、不揮発性メモリ４０４、特定デバイス向け回路４０１、およびＩ／Ｏインターフェース４０５を備えた、典型的なコントローラ４００を示す。別の方法では、ＲＡＭ  ４０３あるいは不揮発性メモリおよびその両方をプロセッサ４０２に含めることが可能であり、特定デバイス向け回路４０１およびＩ／Ｏインターフェース４０５も同様に可能である。プロセッサ４０２は、たとえばオフ・ザ・シェルフ・マイクロプロセッサ、カスタム・プロセッサ、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＡＳＩＣ（特定用途向け集積回路）、個別論理などを備えることができる。ＲＡＭ（ランダム・アクセス・メモリ）４０３は、通常、可変データ、スタック・データ、実行可能命令などを保持するために使用される。不揮発性メモリ４０４は、ＰＲＯＭ（プログラム可能読み取り専用メモリ）、ＥＥＰＲＯＭ（電気的消去可能プログラム可能読み取り専用メモリ）、フラッシュＰＲＯＭ（プログラム可能読み取り専用メモリ）、ＮＶＲＡＭ（不揮発性ランダム・アクセス・メモリ）、ＭＲＡＭ（磁気抵抗ランダム・アクセス・メモリ）、バッテリ・バックアップＲＡＭ、ＣＤ（コンパクト・ディスク）、ＤＶＤ（デジタル汎用ディスク）、ハード・ディスク・ドライブなどの、任意のタイプの不揮発性メモリを備えることができるが、これらに限定されるものではない。不揮発性メモリ４０４は、通常は、実行可能ファームウェアおよび任意の不揮発性データを保持するために使用される。Ｉ／Ｏインターフェース４０５は、プロセッサ４０２がコントローラ外部のデバイスと通信できるようにする、通信インターフェースを備える。その例には、ＲＳ−２３２、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、シリアルまたはパラレルＡＴＡ（ＡＴＡ  Ａｔｔａｃｈｍｅｎｔ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒｓ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、ＩＥＥＥ  １３９４（ＦｉｒｅＷｉｒｅまたはｉＬｉｎｋ）、ＩＥＥＥ  １２８４（パラレル・ポート）などの、シリアル、パラレル、または光学式のインターフェースが含まれるが、これらに限定されるものではない。加えて、Ｉ／Ｏインターフェース４０５は、イーサネット、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、８０２．１１（Ｗｉ−Ｆｉ）、Ｘ．２５（ＷＡ��）、Ｂｌｕｅｔｏｏｔｈなどの、ネットワークまたは無線インターフェースなどの、ネットワークまたは無線インターフェースを含むこともできるが、これらに限定されるものではない。特定デバイス向け回路４０１は、コントローラ４００が、カートリッジ・グリッパのモータ制御などであるがこれに限定されることのない、固有の機能を実行できるようにするための、追加のハードウェアを提供する。特定デバイス向け回路４０１は、たとえばパルス幅変調（ＰＷＭ）コントロール、アナログ対デジタル変換（ＡＤＣ）、デジタル対アナログ変換（ＤＡＣ）などを提供するが、これらに限定されることのない、エレクトロニクスを備えることができる。加えて、特定デバイス向け回路４０１のすべてまたは一部は、コントローラ４００の外部に常駐可能である。
【００３８】
自動データ・ストレージ・ライブラリ１０は、分散型制御システムを採用するものとして説明されるが、本発明は、制御構成にかかわらず、分散型でない１つまたは複数のライブラリ・コントローラを有する自動データ・ストレージ・ライブラリなどであるが、これらに限定されることのない、様々な自動データ・ストレージ・ライブラリ内で実装可能である。ライブラリ・コントローラは、従来技術ライブラリの１つまたは複数の専用コントローラを備えることができる。たとえば、主コントローラおよびバックアップ・コントローラが存在する場合がある。加えて、ライブラリ・コントローラは、分散型制御システムの１つまたは複数のプロセッサ・ノードを備えることができる。たとえば、通信プロセッサ・ノード５０（図３）は、ライブラリ・コントローラを備えることができるが、他のプロセッサ・ノード（存在する場合）は、ライブラリ・コントローラを支援すること、あるいはバックアップまたは冗長機能を提供すること、またはその両方が可能である。他の例では、通信プロセッサ・ノード５０および作業プロセッサ・ノード５２は、ライブラリ・コントローラを備えるように協働して作業することが可能であるが、他のプロセッサ・ノード（存在する場合）は、ライブラリ・コントローラを支援すること、あるいはバックアップまたは冗長機能を提供すること、またはその両方が可能である。さらに、すべてのプロセッサ・ノードはライブラリ・コントローラを備えることができる。本明細書では、ライブラリ・コントローラは、単一のプロセッサまたはコントローラを備えることができるか、あるいは複数のプロセッサまたはコントローラを備えることができる。
【００３９】
図５は、データ・ストレージ・ドライブ１５の前部５０１および後部５０２の実施形態を示す。図５の例では、データ・ストレージ・ドライブ１５はホット・スワップ・ドライブ・キャニスタを備える。これは単なる例であり、本発明をホット・スワップ・ドライブ・キャニスタに限定することは意味していない。実際には、ホット・スワップ・キャニスタを備えているか否かに関わらず、データ・ストレージ・ドライブの任意の構成が使用可能である。
【００４０】
図６は、図面の切り取り部分にカートリッジ・メモリ６１０が示された、データ・ストレージ・カートリッジ６００の実施形態を示す。カートリッジ・メモリ６１０は、ライブラリあるいはデータ・ストレージ・ドライブまたはその両方が、カートリッジ・メモリのコンテンツにアクセスできるようにするための、電気的接触を備えることができる。別の方法では、カートリッジ・メモリは、電磁誘導（induction）、無線周波、または光学式などの、非接触型インターフェースを備えることができる。一実施形態では、カートリッジ・メモリはＲＦＩＤタグを備える。カートリッジ・メモリ６１０は、情報の中でもとりわけ、カートリッジの識別を代表する値を格納することができる。別の方法では、カートリッジ識別は、カートリッジ６００に添付された外部マシン読み取り可能ラベル６１２（図７）、カートリッジ６００に添付された外部人間読み取り可能ラベル６１４（図８）、カートリッジ６００に添付された無線周波識別（ＲＦＩＤ）タグ６１６（図９）、媒体自体６１８（図１０）、またはそれらの組み合わせに、格納可能である。図６〜図９の識別子は、カートリッジに添付する、カートリッジ上またはカートリッジ内に接着または固定する、カートリッジ上にペイントするかまたはカートリッジ内にエッチングする、カートリッジ内に配置する、カートリッジ上またはカートリッジ内に製造する、カートリッジ内に組み込む、などが可能である。本明細書では、添付とは、識別子とカートリッジとを結合する任意の方法を言い表すことができる。
【００４１】
図１１は、以下で説明するように、１つまたは複数のホスト９００および１つまたは複数のキー・サーバ７０８に接続された自動データ・ストレージ・ライブラリ７００の他のブロック図である。ライブラリ７００は、ライブラリ・コントローラ８００、取り外し可能媒体カートリッジを内部に格納可能なシェルフ７０２、１つまたは複数のデータ・ストレージ・ドライブ７１０、および、ライブラリ・コントローラ８００の指示または制御の下でストレージ・シェルフ７０２とドライブ７１０との間でカートリッジを移送するロボット・カートリッジ・アクセス機構７０４を含む。ライブラリ７００は、オペレータ・パネル、タッチ・スクリーン、キーボードあるいはディスプレイまたはその両方、リモート・コンピュータ、ウェブ・ユーザ・インターフェースなどの、ユーザ・インターフェース７０６を、さらに含むことができる。
【００４２】
ライブラリ・コントローラ８００は、メモリ８０４内に格納された命令を実行するように動作可能なプロセッサ８０２を含む。コントローラ８００は、ホスト・インターフェース８０６、ドライブ・インターフェース８０８、アクセス機構インターフェース８１０、キー・サーバ・インターフェース８１２、およびコンソール・インターフェース８１４を、さらに含む。ドライブ７１０は、ホスト・インターフェース（図示せず）を備えることができる。ドライブ・インターフェース８０８は、（前述のように）ライブラリへのホスト・インターフェースも備えることが可能であり、ホスト・インターフェース８０６が存在しない場合もある。コントローラ８００とドライブ７１０との間のドライブ・インターフェース８０８を介した接続は、独自所有のライブラリ・ドライブ・インターフェース（ＬＤＩ）プロトコルを採用すること、業界標準ＳＣＳＩ  Ｔ１０  ＡＤＩ（自動ドライブ・インターフェース）ライブラリ・ドライブ・インターフェースを備えること、または、業界で知られる任意のライブラリ・ドライブ・インターフェースを備えることが、可能である。本明細書で使用される場合、「ライブラリ・ドライブ・インターフェース」とは、ライブラリとドライブとの間の任意のインターフェースを言い表すことができる。
【００４３】
暗号キーは、キー・サーバ７０８内、またはキー・サーバに結合されたキー・ストア内に、セキュアに格納される。本明細書で使用される場合、「キー・サーバ」とは、キー・サーバに関連付けられた任意のキー・ストアをさらに言い表すこともできる。キー・ストアは、アレイ、構造、データベース、ファイルなどの、ソフトウェア要素を備えることができる。加えて、キー・ストアは、メモリ、媒体、ハード・ドライブ、ストレージ・デバイスなどの、ハードウェア要素を備えることもできる。キー・サーバ７０８は、（図１１に示されるような）専用ＰＣまたはサーバとすること、ならびに、ＲＳ−２３２、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、シリアルまたはパラレルＡＴＡ（ＡＴＡ  Ａｔｔａｃｈｍｅｎｔ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒｓ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、ＩＥＥＥ  １３９４（ＦｉｒｅＷｉｒｅまたはｉＬｉｎｋ）、ＩＥＥＥ  １２８４（パラレル・ポート）などの、シリアル、パラレル、または光学式のインターフェースなどであるが、これらに限定されることのない、任意の知られた手段によってコントローラ８００に結合することが、可能である。加えて、Ｉ／Ｏインターフェース４０５は、イーサネット、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、８０２．１１（Ｗｉ−Ｆｉ）、Ｘ．２５（ＷＡＮ）、Ｂｌｕｅｔｏｏｔｈなどの、ネットワークまたは無線インターフェースを含むこともできるが、これらに限定されるものではない。一例では、キー・サーバは、ＴＣＰ／ＩＰを採用するイーサネット・ネットワークによってコントローラ８００に結合される。キー・サーバ７０８は、ライブラリ・コントローラ（図１２）またはホスト（図１３）に組み込むこともできる。この場合、キー・サーバとライブラリ・コントローラ８００との間、またはキー・サーバとホスト９００との間の結合は、物理インターフェースを使用しない論理結合を有することができる。
【００４４】
ライブラリ・ユーザまたは管理者は、１つまたは複数の暗号化ポリシーを確立する。各ポリシーについて、管理者は、暗号を含まない、１つの暗号キーを使用する、２つの暗号キーを使用するなどの、いくつかの暗号化レベルのうちの１つを選択することになる。各暗号化ポリシーについて、管理者は、（選択されたセキュリティ・レベルに応じて）１つまたは複数の暗号キーも選択することになる。最終的に、各暗号化ポリシーについて、管理者は、ポリシーに関連付けるための１つまたは複数のデータ・カートリッジを選択することになる。カートリッジは、好ましくは、図６〜図１０に示されるように、それらのそれぞれのカートリッジ識別子によって識別される。追加の保証レベルとして、ポリシーは、カートリッジが、カートリッジ・メモリ内（図６）、および外部バー・コード・ラベル上（図７）に格納された値などの、複数の識別子によって識別されるように要求することができる。他の識別子の組み合わせも使用可能である。ラベルが読み取られ、カートリッジ識別を確認するためにポリシーが複数の識別子を必要とする場合、２つのラベルがポリシーの識別と合致する場合にのみ、カートリッジの識別が確認される。管理者は、個々の値として、または識別子値の範囲として、あるいはその両方の組み合わせとして、暗号化ポリシーに関連付けられることになる識別子を入力することができる。別の方法では、暗号化ポリシーはカートリッジと共に格納することができる。この場合、識別子は暗号化ポリシーと共に物理的に格納される必要はないが、その代わりに、ポリシーの一部とすることが示唆される。たとえば、共に格納されたポリシーを有するカートリッジは、ホスト・アプリケーションが他のカートリッジから特定のカートリッジを識別するために使用するカートリッジ識別子も有することができる。したがって、カートリッジがすでに識別を含むため、カートリッジのポリシーと共に識別を格納する必要がない。したがって、本発明に従って、どのカートリッジが、およびどのレベルまで、それらのデータを暗号化することになるか、ならびに、どのカートリッジが暗号化されていないデータを有することになるか、を選択することができる。
【００４５】
加えて、異なるユーザに対して異なる暗号化ポリシーを確立することが可能であり、それによって、指定されたデータへのアクセスを、こうしたアクセスを必要とする人に対してのみに制限する。たとえば、銀行のある一定の社員達は、格納された照合用のイメージにアクセスする必要はあるが、顧客の個人情報にはアクセスする必要がない場合がある。したがって、こうした社員向けポリシーには暗号キーが含まれている可能性があり、この暗号キーは、顧客の個人情報に実際にアクセスする必要がある高水準の社員向けポリシーに割り当てられている暗号キーとは異なる。
【００４６】
他の変形形態では、ある一定の暗号化ポリシーが特定のストレージ・ドライブまたはドライブを含む論理ライブラリに割り当てられている場合がある。ライブラリは、一般に、論理区分または論理ライブラリを提供する。論理ライブラリを互いに隔離させ、接続されたホスト・システムに対して、それらが完全に別の物理ライブラリであるとみなされるようにすることが望ましい。これによって、異なるホスト・システムあるいはホスト・アプリケーションまたはその両方が、同じ物理ライブラリを共有できることになる。１つの論理ライブラリからのデータが他の論理ライブラリに対して意図せずに提示されると、データのセキュリティ違反が生じる可能性があるため、これを避けることが重要である。加えて、ホスト・アプリケーションが認識していないカートリッジ上のデータを消去してしまう可能性があるため、データの損失が発生する可能性もある。異なる論理ライブラリまたは論理ライブラリ内のドライブに異なる暗号化ポリシーを割り当てることによって、１つの論理ライブラリに関連付けられたホスト・コンピュータが、他の論理ライブラリの暗号化キーにアクセスしなくてもよくなる可能性があるため、誤ったデータ・カートリッジへの意図しないアクセスのリスクはさらに低減される。さらに他の変形形態では、各ドライブにデフォルトのポリシーまたはキーが割り当てられる可能性がある、あるいは、すべてのドライブにグローバルなデフォルトのポリシーまたはキーが割り当てられる可能性がある。特定ドライブに対するデフォルト・キーにより、暗号化ポリシーが特定のキーを指定しない場合、ドライブ内の媒体をデフォルト・ドライブ・キーで暗号化することができる。これは、ポリシーが作成されるごとに共通のキーを指定する必要をなくすために有用となり得る。加えて、ドライブ特有のデフォルト・キーがなく、暗号化ポリシーが特定のキーを指定しない場合、グローバル・デフォルト・キーによって、任意のドライブ内の媒体をグローバル・デフォルト・キーで暗号化できるようになる。デフォルト・キーあるいはデフォルト・グローバル・キーまたはその両方は、ライブラリまたはキー・サーバによって指定するか、あるいはそれらの内部に構成することができる。
【００４７】
暗号化ポリシーが入力された後、ライブラリ・コントローラ８００のメモリ８０４に格納されたテーブル１０００（図１１）などの、暗号化ポリシー・テーブルに、それらを格納することができる。別の方法では、テーブル１０００は、コントローラ８００によってストレージ・ドライブ７００内のメモリ・デバイス１０１０（図１４）に伝送し、ここに格納することができる。さらに暗号化ポリシー・テーブルは、カートリッジに関する１つまたは複数のポリシーを備えることが可能であり、これは、ポリシーが適用されるカートリッジと共に格納することができる。結果として、各カートリッジはそれ独自の暗号化ポリシー・テーブルを有することができる。たとえば、特定のカートリッジに関するポリシーを、図６のカートリッジ６００のカートリッジ・メモリ６１０に格納すること、または、図９のカートリッジ６００のＲＦＩＤタグ６１６に格納することができる。他の例では、特定カートリッジに関するポリシーを、図１０のカートリッジ６００の媒体６１８に格納することができる。さらに、特定カートリッジに関するポリシーは、図７のカートリッジ６１２または図８のカートリッジ６１４の外部のマシン読み取り可能ラベルによって指定することができる。
【００４８】
ホスト９００は、動作時に、指定のカートリッジにアクセスするための要求をライブラリ・コントローラ８００に伝送する。ライブラリ・コントローラ８００は、ストレージ・シェルフ７０２からドライブ７１０へとカートリッジを移送するために、アクセス機構７０４を直接制御するか、またはアクセス機構７０４にコマンドを伝送する。アクセス機構７０４は、カートリッジの識別を検証するために、ストレージ・シェルフ７０２から移動される前、移動中、移動された後に、カートリッジから１つまたは複数のカートリッジ識別子を読み取るかまたはその他の方法で取得する際に使用する、（バー・コード・リーダ、カメラ、ＲＦＩＤリーダなどの）リーダを有することができる。カートリッジ識別子は、カートリッジの移動に先立って読み取ることができる。たとえばライブラリは、通常、カートリッジの在庫、それらの識別子、およびライブラリ内でのそれらの位置を維持する。在庫を使用して、カートリッジが移動される前にその識別を検証することができる。他の例では、より確実にカートリッジの識別を確認するために、カートリッジがストレージ・シェルフ７０２から移動する直前に、カートリッジ識別子を読み取ることができる。別の方法では、カートリッジの移動中にカートリッジ識別子を読み取ることができる。たとえばライブラリ・コントローラ８００は、カートリッジ識別子がライブラリ・アクセス機構のグリッパ内にある間に、これを読み取る機能を有する場合がある。さらに、カートリッジ識別子がドライブ７１０から移動された後に、これを読み取ることもできる。たとえばライブラリは、カートリッジ識別がドライブへ移動された後に、これを確認することができる。他の例では、ライブラリ・コントローラ８００は、ドライブを使用してカートリッジ識別子を読み取ることができる。識別子が指定カートリッジ内の媒体上に格納されている場合、識別子が読み取られる前にカートリッジをドライブ７１０にロードしなければならない可能性があることを理解されよう。アクセス機構７０４に関連付け得る任意のリーダの代わりに、またはこれらに加えて、１つまたは複数のリーダをドライブ７１０に関連付け得ることも理解されよう。たとえば、ドライブ７１０はカートリッジ・メモリ・リーダを備え、ライブラリ８００は備えない可能性がある。
【００４９】
暗号化ポリシー・テーブル１０００がライブラリ・コントローラ（図１１）に格納された、本発明の一実施形態では、カートリッジ識別子情報はライブラリ・コントローラ８００によって読み取られるか、またはこれに伝送される。コントローラ８００は、テーブル１０００内の識別子を互いに比較し、合致が見つかった場合、ドライブ７１０またはキー・サーバ７０８のいずれかとの通信を開始して、適切な暗号化ポリシーが必要とする暗号キーをドライブ７１０に提供する。開始された通信がドライブに対するものである場合は、必要なキーに関するキー識別子の形を取るか、または暗号化が必要なドライブへの信号とすることができる。その後ドライブはこの識別子または信号を使用して、キーを要求することができる。別の方法では、ドライブへの通信は、カートリッジ識別子などのポリシー情報の形を取ることができる。ドライブは、ライブラリによって供給されたカートリッジ識別子とドライブによって取得されたカートリッジ識別子とを比較して、どのキー（あれば）を要求するかを決めることができる。開始された通信がキー・サーバに対するものである場合は、キー要求の形を取ることができる。この実施形態では、ドライブ７１０とキー・サーバ７０８との間の通信は、キー・サーバ７０８として働くか、またはキー・サーバ７０８に対するプロキシとして働く、ライブラリ・コントローラ８００を通ることができる。キー・サーバに対するライブラリ・プロキシとは、ライブラリが、ドライブとキー・サーバとの間の通信を確立するためのパスまたは伝達手段（vehicle）を提供するという事実を表す。たとえば、ライブラリ／ドライブ・インターフェースは、ＲＳ−４２２を介するＳＣＳＩ  Ｔ１０  Ａｕｔｏｍａｔｉｏｎ  Ｄｒｉｖｅ  Ｉｎｔｅｒｆａｃｅ（ＡＤＩ）を備えることができる。キー・サーバ・インターフェースは、イーサネットを介するＴＣＰ／ＩＰインターフェースを備えることができる。プロキシとして、ライブラリは、ドライブＡＤＩプロトコルとキー・サーバＴＣＰ／ＩＰプロトコルとの間のプロトコル変換を提供することができる。加えてライブラリは、単なるプロトコル変換以上の機能を提供することができる。たとえばライブラリへのドライブ・キー要求は、ライブラリからキー・サーバへのキー要求とは異なる要求を有することができる。言い換えれば、コマンドおよびデータ情報は、ドライブとキー・サーバとの間ではまったく異なる可能性があるため、結果として単純なプロトコル変換では通信をつなぐのに十分でない。別の方法では、ドライブ７１０とキー・サーバ７０８との間の通信は、ホスト・コンピュータ・デバイス・ドライバ、オペレーティング・システム、ファイル・システム、またはホスト・コンピュータ上の何らかの他のソフトウェアを通過することができる。たとえば、ホスト・コンピュータ上のデバイス・ドライバは、ドライブとキー・サーバとの間のプロキシとすることができる。ドライブ７１０は、キーを受け取った後、指定のカートリッジ内の媒体に書き込まれているデータをキーに従って暗号化することができる。
【００５０】
暗号化ポリシー・テーブル１０００がドライブに格納されている（図１４）代替実施形態では、ドライブ７１０は、ライブラリ・コントローラから識別子を読み取るか、あるいは識別子を受け取る、またはその両方を行い、この識別子とテーブル１０００内の識別子とを比較して、合致が見つかった場合、適切な暗号化ポリシーが必要とする暗号キーをドライブ７１０に提供するようにキー・サーバ７０８に要求する。キー・サーバ７０８は、要求されたキーをドライブ７１０に返送する。この実施形態では、ドライブ７１０とキー・サーバ７０８との間の通信は、キー・サーバ７０８として、またはキー・サーバ７０８に対するプロキシとして働く、ライブラリ・コントローラ８００を通ることができる。別の方法では、ドライブ７１０とキー・サーバ７０８との間の通信は、デバイス・ドライバ、オペレーティング・システム、ファイル・システム、またはホスト・コンピュータ上の何らかの他のソフトウェアを通ることができる。ドライブ７１０は、キーを受け取った後、指定のカートリッジ内の媒体に書き込まれているデータをキーに従って暗号化することができる。
【００５１】
暗号化ポリシーがカートリッジと共に格納される他の実施形態では、ライブラリあるいはドライブまたはその両方がカートリッジから直接ポリシー情報を読み取り、適切な暗号化ポリシーが必要とする暗号キーをドライブ７１０に提供するようにキー・サーバ７０８に要求する。ポリシーがカートリッジと共に格納されているため、カートリッジ識別子は暗示され、実際にポリシーと共に格納されないか、またはポリシーに関連付けられない可能性がある。一実施形態では、ポリシーを格納するために、ラベルが印刷、製造、またはその他の方法で作成される。当業者に知られているように、ラベルは、紙、プラスチック、金属、ガラス、または任意の他のラベル材料を含むことができる。ラベルは、カートリッジの組み込み部分を含むこともできる。たとえばカートリッジは、ポリシーを指定するために使用される一定の特徴を使用して成形または製造することができる。他の例では、カートリッジは、ポリシーを指定するために使用可能な異なる情報で更新可能な、組み込み型マシン読み取り可能電子ディスプレイを有することができる。他の実施形態では、ポリシーは、ライブラリのユーザ・インターフェース、ドライブ、ホスト・コンピュータ、キー・サーバ、またはライブラリに結合された他のコンピュータを介して作成することができる。１つまたは複数のカートリッジに関してポリシーが定義されると、そのポリシーはカートリッジに書き込まれる。ポリシーの書き込みとは、ポリシー情報のカートリッジとの組み合わせを表す。ライブラリ、ドライブ、または他の装置は、実際にポリシー情報をカートリッジに書き込むことができる。たとえば、カートリッジ・メモリを使用してポリシーが書き込まれる場合、ライブラリはポリシーをカートリッジに書き込むか、またはドライブを使用してポリシーをカートリッジに書き込むことができる。ラベルを使用してカートリッジ・ポリシーを識別しているケースでは、当業者に知られているように、ラベルがカートリッジに添付、カートリッジ上に印刷、またはカートリッジと共に製造された場合、ポリシーを書き込むことができる。
【００５２】
以上、キー・サーバ７０８との通信を開始するドライブ７１０を備える好ましい実施形態について説明してきた。ライブラリがキー・サーバとの通信を開始できることに留意されたい。たとえば、ライブラリが特定ドライブに関するポリシーを認識している場合、キー・サーバに適切なキーを要求し、このキーをドライブに提示することができる。好ましい実施形態では、伝送する、伝送した、または伝送している、という言い方は、インターフェースを介した、あるいはコンポーネント、デバイス、またはオブジェクト間の、情報の転送を言い表す。好ましい実施形態では、暗号化ポリシーの入力という言い方は、ポリシーの選択、入力、または作成を言い表すことができる。たとえばオペレータは、ライブラリのユーザ・インターフェースでポリシーを入力することができる。他の例では、ラベルが印刷、製造、または他の方法で作成された場合に、ポリシーを入力することができる。
【００５３】
以上、本発明について、完全に機能しているデータ処理システムとの関連において説明してきたが、当業者であれば、本発明のプロセスが、命令のコンピュータ読み取り可能媒体の形および様々な形で配布可能であること、ならびに、配布を実施するために実際に使用される特定タイプの信号伝送媒体にかかわらず、本発明が適用されることを、理解されよう。コンピュータ読み取り可能媒体の例は、フロッピィ・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、およびＣＤ−ＲＯＭなどの書き込み可能タイプの媒体、ならびに、デジタルおよびアナログの通信リンクなどの伝送タイプの媒体を含む。
【００５４】
以上、例示および説明の目的で本発明の記述を提示してきたが、本発明が、開示された形を網羅する、またはこれに限定されることは意図していない。当業者であれば、多くの修正および変形が明らかとなろう。実施形態は、本発明の原理、実際の適用を、最も良く説明するため、および、他の当業者が、企図された特定用途に適した様々な修正を備えた様々な実施形態について、本発明を理解できるようにするために、選択および説明された。さらに、方法およびシステムに関して前述したが、当分野の必要性は、取り外し可能媒体カートリッジ上でのデータの暗号化のための命令を含む、コンピュータ・プログラムとも合致可能である。
【図面の簡単な説明】
【００５５】
【図１】左側サービス・ベイ、複数のストレージ・フレーム、および右側サービス・ベイを有する、ライブラリを具体的に示した図を備える、本発明の実施形態を実装するように適合可能な、自動データ・ストレージ・ライブラリを示す等角図である。
【図２】ライブラリの内部コンポーネントの例示的基本構成を具体的に示す図を備える、本発明の実施形態を実装するように適合可能な、自動データ・ストレージ・ライブラリを示す等角図である。
【図３】複数のプロセッサ・ノードを備えたモジュールの分散型システムを採用するライブラリを具体的に示す図を備える、本発明の実施形態を実装するように適合可能な、自動データ・ストレージ・ライブラリを示すブロック図である。
【図４】例示的コントローラ構成を示すブロック図である。
【図５】本発明の実施形態を実装するように適合可能な、データ・ストレージ・ドライブの前部および後部を示す等角図である。
【図６】本発明で使用可能なカートリッジ識別子を示す、データ・ストレージ・カートリッジを示す等角図である。
【図７】本発明で使用可能なカートリッジ識別子を示す、データ・ストレージ・カートリッジを示す等角図である。
【図８】本発明で使用可能なカートリッジ識別子を示す、データ・ストレージ・カートリッジを示す等角図である。
【図９】本発明で使用可能なカートリッジ識別子を示す、データ・ストレージ・カートリッジを示す等角図である。
【図１０】本発明で使用可能なカートリッジ識別子を示す、データ・ストレージ・カートリッジを示す等角図である。
【図１１】内部に暗号化システムが実装可能な、ライブラリ・コントローラおよび専用キー・サーバの一実施形態を含む、自動データ・ストレージ・ライブラリを示すブロック図である。
【図１２】内部にキー・サーバが組み込まれたライブラリ・コントローラの実施形態を示すブロック図である。
【図１３】内部にキー・サーバが組み込まれたホスト・デバイスを示すブロック図である。
【図１４】内部に暗号化ポリシーが格納されたストレージ・ドライブを示すブロック図である。
【図１】
2010503090.tif 000003
【図２】
2010503090.tif 000004
【図３】
2010503090.tif 000005
【図４】
2010503090.tif 000006
【図５】
2010503090.tif 000007
【図６】
2010503090.tif 000008
【図７】
2010503090.tif 000009
【図８】
2010503090.tif 000010
【図９】
2010503090.tif 000011
【図１０】
2010503090.tif 000012
【図１１】
2010503090.tif 000013
【図１２】
2010503090.tif 000014
【図１３】
2010503090.tif 000015
【図１４】
2010503090.tif 000016
【国際調査報告】
2010503090.tif 000017
2010503090.tif 000018