(57)【要約】２つ以上のライブラリ１１２、１１６、装置１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４、またはホスト１１４、１１８タイプを備える環境においてメディアを管理することが、開示される。任意のライブラリ１１２、１１６、装置１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４、またはホストタイプ１１４、１１８に特定的ではないメディア管理要求が、ホスト１３８に実装されたエージェントに送信される。エージェントが、要求を受信し、かつ要求に関係する特定のライブラリ１１２、１１６、装置１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４、および／またはホスト１１４、１１８によって必要とされる方法でそれに作用するように構成される。
2006511869.tif 000002
【特許請求の範囲】
【請求項１】
２つ以上のライブラリ、装置、またはホストタイプを備える環境においてメディアを管理する方法であって、
任意のライブラリ、装置、またはホストタイプに特定的ではないメディア管理要求をホストに実装されたエージェントに送信することを含み、
エージェントが、メディア管理要求を受信し、かつメディア管理要求に関係する特定のライブラリ、装置、および／またはホストによって必要とされる方法でメディア管理要求に作用するように構成される方法。
【請求項２】
前記メディア管理要求が、前記ホストによる作用を要求する、請求項１に記載の方法。
【請求項３】
前記メディア管理要求が、前記ホストに関する情報を要求する、請求項１に記載の方法。
【請求項４】
前記メディア管理要求が、前記ホストに関連付けられる装置に関する情報を要求する、請求項１に記載の方法。
【請求項５】
前記ホストが第１のホストを備え、前記メディア管理要求は、前記第１のホストに実装されるどのエージェントが、通信サラゲートとして作用するかに関する第２のホストによる作用を要求する、請求項１に記載の方法。
【請求項６】
前記メディア管理要求が、前記ホストに関連付けられる装置による作用を要求する、請求項１に記載の方法。
【請求項７】
前記メディア管理要求が、前記ホストに関連付けられるライブラリによる作用を要求する、請求項１に記載の方法。
【請求項８】
動作が前記メディアの選択された量に関して実行されることを要求する、メディア管理要求を受信することをさらに含む、請求項１に記載の方法。
【請求項９】
前記メディア管理要求は、前記動作が、要求で特定された装置によって実行される要求を含む、請求項８に記載の方法。
【請求項１０】
前記メディア管理要求は、前記動作が、前記選択された量に関連付けられるライブラリによって実行される要求を含む、請求項８に記載の方法。
【請求項１１】
前記エージェントを前記ホストに実装することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記エージェントを前記ホストに実装することが、状況コンパイレーションを含む、請求項１１に記載の方法。
【請求項１３】
前記ホストに実装されるべき前記エージェントを提供することをさらに含む、請求項１に記載の方法。
【請求項１４】
前記メディア管理要求が、異なるタイプのライブラリ、装置、および／またはホストと通信するための共通インターフェースによって規定される要求である、請求項１に記載の方法。
【請求項１５】
前記共通インターフェースを規定することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記共通インターフェースが、２つ以上のライブラリ、装置、および／またはホストに特定的なプロトコルに共通の要求のタイプに対応する、任意のライブラリ、装置、またはホストタイプに特定的ではない共通フォーマットでの要求を含む、請求項１４に記載の方法。
【請求項１７】
前記ホストの識別を受信することをさらに含む、請求項１に記載の方法。
【請求項１８】
前記ホストとの通信を確立することをさらに含む、請求項１に記載の方法。
【請求項１９】
情報要求を受信することをさらに含み、前記メディア管理要求が、前記情報要求によって求められる情報に関する要求を含む、請求項１に記載の方法。
【請求項２０】
前記情報要求が、バックアップアプリケーションプログラムから受信される、請求項１９に記載の方法。
【請求項２１】
前記情報要求が、メディア管理アプリケーションから受信される、請求項１９に記載の方法。
【請求項２２】
前記情報要求が、ユーザインターフェースを介して受信される、請求項１９に記載の方法。
【請求項２３】
２つ以上のライブラリ、装置、またはホストタイプを備える環境においてメディアを管理するシステムであって、
任意のライブラリ、装置、またはホストタイプに特定的ではないメディア管理要求をホストに実装されたエージェントに送信するように構成されたプロセッサと、
前記メディア管理要求を、前記ホストがノードであるネットワークを介して前記ホストへ送信するように構成されたネットワーク接続とを備え、
エージェントが、メディア管理要求を受信し、かつメディア管理要求に関係する特定のライブラリ、装置、またはホストによって要求される方法でメディア管理要求に作用するように構成されるシステム。
【請求項２４】
２つ以上のライブラリ、装置、またはホストタイプを備える環境においてメディアを管理するコンピュータプログラム製品であって、該コンピュータプログラム製品は、コンピュータ読み取り可能な媒体で実現され、
任意のライブラリ、装置、またはホストタイプに特定的ではないメディア管理要求をホストに実装されたエージェントに送信するコンピュータ指示を含み、
エージェントが、メディア管理要求を受信し、かつメディア管理要求に関係する特定のライブラリ、装置、またはホストによって必要とされる方法でメディア管理要求に作用するように構成されるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、全ての目的のために参照によって本明細書に組み込まれる、２００２年１２月１８日に出願された名称「Ａｕｔｏｍａｔｅｄ  Ｍｅｄｉａ  Ｍａｎａｇｅｍｅｎｔ」の米国特許仮出願第６０／４３４，４７１号の優先権を主張する。
【０００２】
本出願と同時に出願された名称「Ａｕｔｏｍａｔｅｄ  Ｍｅｄｉａ  Ｌｉｂｒａｒｙ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」の同時係属米国特許出願第    号（Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．ＬＥＧＡＰ０１３）が、全ての目的のために参照によって本明細書に組み込まれ、かつ本出願と同時に出願された名称「Ｒｅｓｏｕｒｃｅ  Ａｌｌｏｃａｔｉｏｎ  Ａｗａｒｅ  Ｑｕｅｕｉｎｇ  ｏｆ  Ｒｅｑｕｅｓｔｓ  Ｍｅｄｉａ  Ｒｅｓｏｕｒｃｅｓ」の同時係属米国特許出願第    号（Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．ＬＥＧＡＰ０１４）が、全ての目的のために参照によって本明細書に組み込まれる。
【０００３】
本発明は、一般に、取り外し可能なストレージメディアに関する。より詳細には、自動化されたメディア管理が開示される。
【背景技術】
【０００４】
時には「ライブラリ」または「ロボット」と本明細書で呼ばれる完全にまたは部分的に自動化されたメディアライブラリは、バックアップまたはアーカイブの目的で、コンピュータデータを格納するために使用されるテープなどの取り外し可能なストレージメディアを格納しかつ操作するために利用可能である。典型的なライブラリは、メディア（例えば特定のテープ）の選択された量またはユニットを、ユニットに関連付けられた読み／書き装置、例えば、メディアにデータを書きかつ／またはメディアからデータを読むように構成されたテープ駆動装置に挿入することによってなど、その中に格納されたメディアを操作するためのロボットまたは他の機構体を備えることができる。コンピュータネットワーク環境において、例えばバックアップアプリケーションは、ライブラリに関連付けられたストレージメディア上のネットワークに接続された１つ以上のコンピュータまたは他の装置（時には、本明細書においてネットワーク「ノード」または「ホスト」と呼ばれる）からのデータを格納するために使用されることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
大きなネットワークに関して、またはネットワークのノードが、様々な異なるアプリケーションおよび／またはハードウェアプラットフォームを使用する場合において、またはデータの性質が異なる場合、または単に時間にわたって行われる別個の購入決定の結果として、および／またはネットワークによって供されるユーザのグループの別個のサブセットによって、所定の場所に２つ以上の異なるバックアップアプリケーションを有することが可能である。同様の理由に関して、特定のネットワークは、異なるタイプの可能性があるそれに関連付けられる１つ以上のライブラリ、および各ライブラリに関連付けられる複数のストレージ装置を有することができる。さらに、様々なストレージ装置に関連付けられるホストは、異なる方法でそれらの装置に接続されることができ、ホスト自体は、異なるプラットフォームタイプ（例えば、異なるオペレーティングシステム）であり得る。
【０００６】
この可能性のある多様性を考慮すれば、バックアップアプリケーション（およびメディアアクセスを必要とすることがある他のアプリケーション）、ライブラリタイプ、装置タイプ、およびホストタイプにわたる、取り外し可能なストレージメディアリソース（例えば、ライブラリおよびそれらに関連付けられるテープおよびストレージ装置）を監視する簡単で効率的な方法が必要である。
【課題を解決するための手段】
【０００７】
自動化されたメディア管理が開示される。特に、２つ以上のライブラリ、装置、および／またはホストタイプを含む環境におけるメディアを管理することが開示される。任意のライブラリ、装置、またはホストタイプに特定的ではない共通インターフェースを使用するメディア管理要求は、管理されるメディアの少なくともサブセットに関連付けられるホストで実装されるエージェントに送信される。エージェントは、要求を受信し、かつ要求によって関係する特定のライブラリ、装置、またはホストによって要求される方法でそれに作用する。
【０００８】
本発明の様々な実施形態は、以下の詳細な記載および添付の図面に開示される。
【発明を実施するための最良の形態】
【０００９】
本発明は、プロセス、装置、システム、マター（ｍａｔｔｅｒ）の構成要素、コンピュータ読み取り可能なストレージメディアなどのコンピュータ読み取り可能なメディア、またはプログラム命令が光学または電気通信リンクを介して送られるコンピュータネットワークを含む多数の方法で実施されることができる。本明細書において、これらの実施、または本発明が用いることができる任意の他の形態は、技術と呼ばれることができる。一般に、開示されたプロセスのステップの順番は、本発明の範囲内で変更されることができる。
【００１０】
本発明の１つ以上の実施形態の詳細な記載は、本発明の原理を図示する添付の図面とともに以下に与えられる。本発明は、そのような実施形態に関して記載されるが、本発明は、任意の実施形態に限定されない。本発明の範囲は、請求項だけで限定され、本発明は、多くの代替、修正、および等価物を包含する。多数の特定の詳細は、本発明の完全な理解を与えるために以下の記載に示される。これらの詳細は、例示の目的で提供され、本発明は、いくつかのまたは全てのこれらの特定の詳細なしに請求項にしたがって実施されることができる。明瞭にする目的で、本発明に関連する技術分野で知られている技術的素材は、本発明を不必要にあいまいにしないように詳細には記載されない。
【００１１】
図１は、ネットワーク環境および自動化されたメディア管理システムの１つの例示的な実施形態を示すブロック図である。システム１００は、ネットワーク１０２を備え、ネットワーク１０２は、ローカルエリアネットワーク（ＬＡＮ）、または任意のタイプの私的または公的なネットワークであり得る。システム１００は、さらに、ネットワーク１０２に接続される、図１においてそれぞれ参照符号１０４で識別されるサーバＡ、参照符号１０６で識別されるサーバＢ、参照符号１０８で識別されるサーバＣ、および参照符号１１０で識別されるサーバＤを備える。図１に示される例において、ＥＭＣ  ＣｏｒｐｏｒａｔｉｏｎのＬｅｇａｔｏ  Ｓｏｆｔｗａｒｅ  Ｄｉｖｉｓｉｏｎから市販で入手可能なＮｅｔＷｏｒｋｅｒバックアップアプリケーションなどの第１のバックアップアプリケーションが、サーバＡ（１０４）に実装され、第２のバックアップアプリケーションが、サーバＢ（１０６）に実装される。第１および第２のバックアップアプリケーションは、同一または異なる製品であることができる。サーバＣ（１０８）上のデータは、図１において文字「Ｃ」の下の括弧内の文字「Ａ」および「Ｂ」によって示されるように、サーバＡ（１０４）に実装される第１のバックアップアプリケーション、およびサーバＢ（１０６）に実装される第２のバックアップアプリケーションの両方によってバックアップされる。そのような構成は、例えば、特に重要なデータに関して２つの独立したバックアップを提供するために使用されることができる。サーバＤ（１１０）は、サーバＡ（１０４）に実装される第１のバックアップアプリケーションによってバックアップされる。サーバＡは、同様に、サーバＡに実装される第１のバックアップアプリケーションの動作によってバックアップされるデータの本体を含むことができ、サーバＢは、サーバＢに実装される第２のバックアップアプリケーションの動作によってバックアップされるデータの本体を含むことができる。それぞれサーバＡおよびＢに実装される第１および第２のバックアップアプリケーションによって使用されるストレージメディアは、異なるタイプの２つのストレージメディアライブラリに存在する。ＳＣＳＩライブラリ１１２は、スモールコンピュータシステムインターフェース（ＳＣＳＩ）接続を介してライブラリホスト１１４によって直接制御されるように構成されたライブラリである。ライブラリホスト１１４は、ＳＣＳＩライブラリ１１２およびネットワーク１０２に接続される。ＡＣＳＬＳライブラリ１１６は、Ｌｏｕｉｓｖｉｌｌｅ、ＣｏｌｏｒａｄｏのＳｔｏｒａｇｅ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｒｐｏｒａｔｉｏｎ（ＳｔｏｒａｇｅＴｅｋ）から市販で入手可能なタイプの自動化されたカートリッジシステムライブラリソフトウェア制御されたライブラリである。ライブラリ１１６などのＡＣＳＬＳタイプのライブラリは、ライブラリホストによって直接制御されるとは対照的に、その目的のために提供されるソフトウェアコントローラを使用して制御される。ライブラリホスト１１８は、ＡＣＳＬＳライブラリ１１６に接続され、かつＡＣＳＬＳライブラリ１１６を制御するように構成される。ライブラリホスト１１８は、またネ��トワーク１０２に接続される。ＳＣＳＩおよびＡＣＳＬＳタイプのライブラリの例が、図１に示されているが、ＩＢＭ３４９４、ＡＤＩＣ  ＡＭＬ、および／または任意の他のタイプのライブラリを限定することなく含む、ライブラリのタイプの任意の多数の組み合わせが使用されることができる。ＳＣＳＩライブラリ１１２は、テープ駆動装置１２０、１２２、および１２４に関連付けられかつ接続される。テープ駆動装置１２０は、ネットワークに取り付けられたストレージ（ＮＡＳ）装置１２６に接続される。ＮＡＳ１２６上のデータは、サーバＢに実装された第２のバックアップアプリケーションの動作によってバックアップされる。ＮＡＳ１２６は、またネットワーク１０２への接続を有する。ＡＣＳＬＳライブラリ１１６は、テープ駆動装置１２８、１３０、１３２、および１３４に関連付けられかつ接続される。テープ駆動装置１２８は、サーバＡに接続される。テープ駆動装置１３０、１３２、および１３４は、ストレージエリアネットワーク（ＳＡＮ）１３６を介してサーバＣ（１０８）およびサーバＤ（１１０）に接続される。ＳＡＮ１３６は、各サーバＣおよびＤが、ＳＡＮに接続されたテープ駆動装置１３０、１３２、および１３４の任意の１つから読みかつ書くことを可能にする。
【００１２】
メディア管理アプリケーションは、メディアマネージャ１３８に実装され、ライブラリ１１２および１１６に関連付けられるリソースに関する潜在的に競合する要求間、ならびに実行されたそのような要求を受信しかつ仲裁することによってなど、サーバＡで動作する第１のバックアップアプリケーションとサーバＢで動作する第２のバックアップアプリケーションとの間の動作を調和させる。例えば、メディアマネージャは、１つのライブラリに存在する特定のテープが、そのライブラリに関連付けられるテープ駆動装置に挿入されるバックアップアプリケーションからの要求を受信することができる。メディア管理アプリケーションは、ライブラリおよび他の場所に格納されるテープのトラックを維持するなど他の機能性を提供することができる。メディアマネージャ１３８は、以下により完全に記載されるようにネットワーク１０２に接続される他のノードと通信するために使用するネットワーク１０２への接続を有する。メディアマネージャ１３８は、ネットワーク１０２へ接続されるサーバを備えることができる。
【００１３】
各サーバＡ、Ｂ、Ｃ、およびＤは、異なるハードウェアを備えることができ、かつ／または異なるオペレーティングシステム（またはそのバージョン）を動作することができる。さらに、ＳＣＳＩライブラリ１１２およびＡＣＳＬＳライブラリ１１６に格納されたメディアのタイプは異なることができる。また特定の要素は、他とは異なる、関連付けられるテープ装置に接続されることができる。例えば、サーバＣおよびＤは、ＳＡＮを介してテープ駆動装置１３０、１３２、および１３４に接続され、一方サーバＡおよびＢは、それらが接続されるテープ駆動装置への直接ＳＣＳＩ接続を有することができる。一実施形態において、ＮＡＳ１２６は、ネットワークデータ管理プロトコル（ＮＤＭＰ）を介してテープ駆動装置１２０に接続される。ＮＤＭＰプロトコル下で、ＮＡＳ１２６に実装されるＮＤＭＰサーバは、テープ駆動装置１２０とＮＡＳ１２６の相互作用を制御するように構成される。サーバＢに実装される第２のバックアップアプリケーションなどのテープ駆動装置１２０に対するＮＡＳ１２６との相互作用を必要とするアプリケーションは、適切なフォーマットの要求を、ＮＡＳ１２６で動作するＮＤＭＰサーバに送信するように構成されたＮＤＭＰクライアントを備えなければならない。
【００１４】
その機能を実行するために、メディアマネージャ１３８は、様々なストレージ装置（この例ではテープ駆動装置）に関する情報を得て、かつ様々なストレージ装置にわたる制御を実行するために、いくつの場合には異なるオペレーションシステムで動作する様々なホストと通信できなければならず、様々なストレージ装置は、様々な異なる方法でそれらに関連付けられるホストに接続され、かつ様々な異なるタイプのライブラリに関連付けられる。
【００１５】
この問題に対する１つのアプローチは、メディアマネージャ１３８が、管理が課されるメディアリソースに関連付けされる各ホスト、装置、およびライブラリのタイプおよび構成を知る方法を提供することである。例えば、メディアマネージャは、バックアップまたは回復オペレーションの準備において、特定の駆動装置上のストレージメディア（例えば特定のテープ）の特定の量をマウントするために、サーバＡで動作する第１のバックアップアプリケーションからの要求を受信することができる。特定の例を提供するために、サーバＡで動作する第１のバックアップアプリケーションは、メディアマネージャが、テープＡＢＣ１２３へサーバＣ上のデータのバックアップを可能にするために、テープ駆動装置１３０にマウントされるべきＡＣＳＬＳライブラリ１１６におけるテープＡＢＣ１２３を入れることを要求することができる。サーバＣのプラットフォームタイプ（ハードウェア、オペレーティングシステムなど）、サーバＣとテープ駆動装置１３０との間の接続の性質（この場合、ＳＡＮを介して）、およびライブラリ１１６がＡＣＳＬＳタイプライブラリである事実を知る（または情報ベースから決定する）ために、メディアマネージャ１３８に関する方法を提供することによってこのオペレーションを実行するようにメディアマネージャ１３８を構成することができる。メディアマネージャ１３８は、ライブラリ１１６をテープ駆動装置１３０にテープＡＢＣ１２３をマウントさせることが要求されるとき、ＡＣＳＬＳソフトウェアを使用して、ライブラリホスト１１８にライブラリ１１６を制御させるのに適切なフォーマットでライブラリホスト１１８に要求を送信することができる。メディアマネージャ１３８は、同様に、ＳＣＳＩライブラリ１１２（ライブラリホスト１１４を介して）にＳＣＳＩコマンドを送信するように構成されることができる。メディアマネージャ１３８は、ＮＡＳ１２６および任意の他のＮＤＭＰ構成されたホストに直接通信することができるＮＤＭＰクライアントも備えることができる。そのようなアプローチは、多数の欠点を有する。適切であれば、各装置またはライブラリに関して各ホストとどのように通信するかを知るために、メディアマネージャ１３８によって使用される情報ベースを作りかつ維持しなければならない。また、新たなタイプのライブラリ、ホスト、装置、または構成が、システム１００に追加されるなら、情報ベースを更新することに加えて、メディアマネージャ１３８は、それが、新たな機器と通信しかつ新たな機器を制御することを可能にするために更新されなければならない。そのような更新は、存在するリソースと相互作用するために、メディアマネージャ１３８の能力を妨げることなく完了されなければならない。さらに、メディアマネージャ１３８は、そのような再構成の間にその機能を実行するために利用可能ではない。
【００１６】
本明細書に記載される技術は、メディアマネージャ１３８が、様々なタイプのリソースと通信しかつ様々なタイプのリソースを制御することを可能にするより有利な方法を提供する。メディアマネージャ１３８が、複数の言語を話すことができる要求の代わりに、これらの言語の共通の要素は識別され、共通インターフェースは、これらの共通要素に基づき定義される。例えばタイプに関わらず、全てのライブラリシステムは、ライブラリに関連付けられる装置のリストを提供すること、各そのような装置にライブラリの装置識別子を提供すること、ライブラリにおけるテープの在庫を提供すること、指定された駆動装置上の特定のテープをマウンティング（実装）すること、駆動装置からテープを取り外すこと（時には本明細書においてテープを「アンマウンティング」と呼ばれる）、テープをライブラリに持ち込むこと、テープをライブラリから運び出すこと、テープを１つのスロットからライブラリ内の他のスロットへ動かすこと、およびライブラリデータベースを更新することなくライブラリ内でテープの監査を提供することなど、所定の基本的なオペレーションを実行することを可能にしなければならない。同様に、装置タイプ、接続タイプ、およびホストオペレーティングシステムに関わらず、１つ以上のストレージ装置に対する接続を有する各ホストは、接続される装置のリストを提供すること、各装置に対するホストの経路（例えば装置ファイル）を提供すること、特定の装置がオンラインかどうかを決定しかつ報告すること、およびテープを装置から取り外させることなど、接続を有する装置に関するそのような機能を実行することができなければならない。
【００１７】
図２は、異なるタイプのライブラリを制御する共通インターフェースを示す。共通インターフェース２０２は、ブロック２１０によって集合的に示されるなどのＳＣＳＩライブラリインターフェース２０４、ＡＣＳＬＳライブラリインターフェース２０６、ＩＢＭ３４９４ライブラリインターフェース２０８、および／またはライブラリの任意の他のタイプなど各異なるタイプのライブラリを制御するように規定されたそれぞれのタイプの特定的なインターフェースから共通の要素を抽出することによって規定される。共通インターフェースは、同様に、異なるタイプのホストを介して異なるタイプの装置を制御する共通インターフェースを含むように規定されることができる。
【００１８】
図３は、メディアマネージャが共通インターフェースを使用して異なるタイプのライブラリおよび装置を制御することを可能にするホストを構成する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。プロセスはステップ３０２で始まり、ステップ３０２において、メディアマネージャによって管理されるべきライブラリを制御するように構成された各ホストシステムに実装されるべきソフトウェアエージェントが提供される。いくつかの実施形態において、エージェントは、共通インターフェースの下でメディアマネージャから要求を受信し、かつその要求を、制御される特定のライブラリ（例えば、ＳＣＳＩ、ＡＣＳＬＳ、ＩＢＭ３４９４、ＡＤＩＣ  ＡＭＬなど）に必要な形態およびコンテンツに変換するように構成される。いくつかの実施形態において、エージェントは、ライブラリ制御プログラム（ＬＣＰ）を備えることができる。いくつかの実施形態において、ＬＣＰは、状況コンパイルを介して、共通インターフェースとホストが制御されるように構成されるライブラリに関するタイプに特定的なインターフェースとの間で変換するように構成されることができる。いくつかの実施形態において、ＬＣＰは、例えば予想されるとは異なる場所に応答して現れる必要なデータとともに、予想されないフォーマットで受信される情報を結果として生じる方法で、適用可能な標準（例えばＳＣＳＩ）には完全には応じないものなど標準的ではない構成に適合するように構成されることができる。いくつかの実施形態において、ＬＣＰは、制御される特定のライブラリで知られている通信問題のマトリクスを調べることによって、および／または１つ以上の共通の通信問題を考慮することによって適合するように構成される。
【００１９】
ステップ３０４において、メディアマネージャによって管理されるべきライブラリに関連付けられるストレージ装置（例えばテープ駆動装置）に対する接続を有する各ホストシステムに実装されるべきソフトウェアエージェントが提供される。いくつかの実施形態において、エージェントは、上述の共通インターフェースの下でメディアマネージャから要求を受信し、制御される特定の装置および／またはホストのタイプに必要な形態および内容にその要求を変換するように構成される。いくつかの実施形態において、エージェントは、駆動装置制御プログラム（ＤＣＰ）を備えることができる。いくつかの実施形態において、ＤＣＰは、状況コンパイルを介して、共通インターフェースと、装置を制御する（またはホストから装置に関する必要な情報を得る）ために必要な装置および／またはホストタイプに特定のインターフェースとの間で変換するように構成されることができる。
【００２０】
ステップ３０６において、ライブラリを制御するように構成された、かつ／またはメディアマネージャによって管理されるべきストレージ装置に対する接続を有する１つ以上のホストが、ステップ３０２および３０４で提供される適用可能なソフトウェアエージェントで動作できないなら、少なくとも１つの通信サラゲート（ｓｕｒｒｏｇａｔｅ）は、ネットワークを介してメディアマネージャにアクセス可能であるシステムで実装される。例えば、上述のＮＤＭＰサーバは、上述のようなソフトウェアエージェントが動作できない、閉鎖されたシステムである。ＮＤＭＰ接続されたライブラリおよび／または装置に関して、次に、通信サラゲートは、通信インターフェースの下で通信サラゲートに要求を送信することによって、共通インターフェースを使用してメディアマネージャがライブラリまたは装置を制御することを可能にすることが提供されなければならず、通信サラゲートは、要求を対応するＮＤＭＰ要求に変換し、かつターゲットホストでのＮＤＭＰサーバに送信する。通信サラゲートは、同様に、ＮＤＭＰサーバからの情報を受信し、かつ共通インターフェースの下で要求されるまたは予想されるフォーマットでメディアマネージャに基礎を成すデータを提供するように構成されなければならない。この機能を実行するために、サラゲートは、ＮＤＭＰクライアントとして機能し、かつＮＤＭＰサーバがネットワークにわたって存在するホストと通信する能力を有さなければならない。いくつかの実施形態において、ＮＤＭＰではないホストに実装されたＬＣＰまたはＤＣＰは、通信サラゲートとして働くように構成されることができる。いくつかの実施形態において、例えば全てのホストがＮＤＭＰ構成される場合には、ＮＤＭＰ通信サラゲートとして働くように構成されるＬＣＰまたはＤＣＰは、メディアマネージャ自体が動作するサーバ上など、ライブラリまたは装置に接続されたホストではないシステムに実装されることができる。ＮＤＭＰに構成された装置が存在しない環境において、ステップ３０６は省略されることができる。
【００２１】
図３に示されるプロセスのステップ３０８において、ホストの識別が受信される。いくつかの実施形態において、ユーザは、ユーザインターフェースを介して、ホストの識別を提供することができる。いくつかの実施形態において、ホストは、全く同時に識別されることができ、またはそれらホストは、例えばＬＣＰまたはＤＣＰが互いに実装されるように構成される。いくつかの実施形態において、ホストは、ＤＣＰまたはＬＣＰがそれらに実装される（適切であれば）以前を含む、任意のときに識別されることができる。ステップ３１０において、メディアマネージャは、互いとの通信を確立する。
【００２２】
図４は、メディアマネージャによってホストとの通信を確立するいくつかの実施形態において使用されるプロセスを示す。いくつかの実施形態において、図３に示されるプロセスのステップ３１０は、各ホストに関して図４に示されるプロセスを完了することを含む。プロセスは、ステップ４０２で始まり、ステップ４０２において、問合せは、エージェントが実装されるかどうかを決定するためにホストに送信される。いくつかの実施形態において、ステップ４０２は、実装されるならＬＣＰまたはＤＣＰが応答する「ハロー」要求を送信することを含む。ステップ４０４において、応答が、ホストに実装されたエージェントから受信されたかどうかが決定される。応答が受信されたなら、プロセスはステップ４０６に進み、ステップ４０６において、メディアマネージャは、エージェントを介してホストと通信するように構成される。いくつかの実施形態において、ステップ４０６は、エージェント（例えばＬＣＰまたはＤＣＰ）がホストに実装されることを示す値に対して可変にホストタイプを設定することを含む。エージェントが実装されない、例えば、ＬＣＰ／ＤＣＰ「ハロー」要求を受信された応答がないことがステップ４０４で決定されるなら、プロセスはステップ４０８に進み、ステップ４０８において、ホストとの通信のためのサラゲートが識別される。いくつかの実施形態において、エージェントが実装されないなら、ＮＤＭＰクライアントとして作用するように構成されたサラゲートを介する通信が要求されるように、ホストは、ＮＤＭＰ構成されたホストでなければならないと仮定される。いくつかの実施形態において、ユーザは、特定のＮＤＭＰ構成されたホストに関して通信サラゲートとして作用するために、１つ以上の候補を、ユーザインターフェースを介して指定する機会が提供されることができる。ステップ４０８は、１つ以上の候補のそのような識別を受信し、かつそれら候補のどれがサラゲートとして使用されるべきかを決定することを含み得る。ステップ４１０において、問合せがステップ４０８で識別されるサラゲートを介して送信される。ステップ４１０は、ＮＤＭＰサーバがホストで動作するかどうかを決定するために、サラゲートを介してＮＤＭＰ「ハロー」要求を送信することを含むことができる。ステップ４１２において、サラゲートを介してホストと通信するためのステップ４１０の試みが成功したかどうかが決定される。試みが成功した場合（例えば、ＮＤＭＰ「ハロー」要求に対する応答が、サラゲートを介して受信される）、プロセスはステップ４１４へ進み、ステップ４１４において、メディアマネージャが、サラゲートを介してホストと通信するように構成される。ステップ４１０において試みが成功しないことが、ステップ４１２で決定されるなら、プロセスはステップ４１６に進み、ステップ４１６において、ホストに到達できない指示が提供される。いくつかの実施形態において、図４に示されるプロセスは、示されていない追加のステップを含むことができ、追加のステップによって、メディアマネージャが、ステップ４０８の前の繰り返しで識別されるサラゲートを介してホストと通信できないなら、メディアマネージャは、ホストと通信するための１つ以上の追加の通信サラゲート候補を使用することを試みる。
【００２３】
図５は、共通インターフェースを使用して異なるタイプのライブラリおよび装置を制御する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。図５に示されるプロセスは、例えば図１のメディアマネージャ１３８などのメディアマネージャに実装される。プロセスはステップ５０２で始まり、ステップ５０２において、装置、ライブラリ、または関連付けられるホストへのアクセス、あるいは装置、ライブラリ、または関連付けられるホストに関する情報を必要とする要求が受信される。ステップ５０２で受信される要求は、バックアップアプリケーションが実行するサーバなどの（例えば、図１に関連して上述された例におけるサーバＡまたはサーバＢ）遠隔ホストから受信されることができる。要求は、ライブラリ内のテープの検査に関する要求など、構成プロセスまたはユーザから受信される（例えばユーザインターフェースを介して）コマンドまたは要求に関連付けられるプロセスなど、メディアマネージャ自体に関連付けられるプロセスによって生成されることもできる。ステップ５０４において、メディアマネージャは、要求に関連するライブラリ、装置、またはホストに対して特定的ではない共通インターフェースを使用するコマンドを、要求に関連するホスト（または、それに関連するライブラリまたは装置に関連付けられるホスト）に送信する。ステップ５０４で送信されるコマンドは、ステップ５０２で受信された要求によって決定されることができる。例えば、図１に示されかつ上述される環境を参照して、サーバＡで動作するバックアップアプリケーションは、例えばサーバＣでデータをバックアップする目的で、テープＷＸＹ４５６が駆動装置１３０に実装されるメディアマネージャに要求を送信するなら、メディアマネージャ１３８は、ライブラリホスト１１８に共通インターフェースの下で（例えば、「駆動装置にＷＸＹ４５６をマウントする（それがライブラリに知られる駆動装置の名称）」）コマンドを送信することができる。ホスト１１８に実装されるＬＣＰは、このコマンドに応答して、指定されたテープが指定された駆動装置に実装させることを必要にするように、ホスト１１８で動作するＡＣＳＬＳソフトウェアにライブラリ１１６を制御させるために、ホスト１１８に適切なフォーマットで制御メッセージを受信しかつ生成する。ホスト１１８に実装されるＬＣＰは、必要な作用が完了したときを決定し、かつ共通インターフェースの下で提供されるようにメディアマネージャに報告するようにさらに構成されることができる。図５に示されるプロセスのステップ５０６において、メディアマネージャは、そのような応答を受信する。同様なイベントのシーケンスは、装置に関連付けられるＤＣＰ実装されたホストによる作用を必要とする要求の場合に行われる。ＮＤＭＰ構成されたホストの場合には、共通インターフェースを使用してステップ５０４で送信された要求は、通信サラゲートに送信され、通信サラゲートは、要求をＮＤＭＰフォーマットに変換し、次に制御されるライブラリまたは装置に関連付けられるホストで動作するＮＤＭＰサーバにＮＤＭＰ要求を送信する。いくつかのタイプの要求の場合には、ステップ５０２および／または５０６は省略されることができる。ステップ５０６で受信される応答は、コマンドが実行されたことの指示、コマンドによって要求される情報、またはコマンドに責任があるまたはそうでなければ関連する任意の他のデータを含むことができる。
【００２４】
図６は、メディアマネージャから受信された共通インターフェース要求へ応答する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。プロセスはステップ６０２で始まり、ステップ６０２において、共通インターフェースの下でコマンドが受信される。ステップ６０４において、コマンドは、コマンドに関係するホスト（例えば、要求を受信したエージェントが実装されたホスト、またはサラゲートとして作用する要求を受信した通信サラゲートに関する遠隔ホスト）へ情報が必要かどうか決定する。ステップ６０４において、ホストに関する情報が必要であることが決定されるなら、プロセスはステップ６０６へ進み、ステップ６０６において、要求される情報は、ホストに特定的な要求（例えば、ホストのオペレーティングシステムに適したもの、またはＮＤＭＰ構成されたホストの場合のＮＭＤＰプロトコルの下のもの）を使用してホストから得られる。要求される情報が、ステップ６０６においてホストから得られると、またはコマンドは、ホストからの情報を必要としないまたはホストに関する情報を必要としないことがステップ６０４において決定されるなら、プロセスはステップ６０８に進み、ステップ６０８において、装置（または適用可能であればライブラリ）による任意の動作は必要かどうかが決定される。装置（またはライブラリ）による動作が要求されないことがステップ６０８で決定されるなら、プロセスはステップ６１４に進み、ステップ６１４において、応答がメディアマネージャに送信される。そのような場合の一例は、ホストが接続を有し、ホストからの情報を必要とするが装置による動作を必要としないストレージ装置のリストを必要とするコマンドである。装置（またはライブラリ）による動作が、（例えば、装置の場合にはテープ排出、ライブラリの場合にはテープマウントまたはアンマウント）要求されることがステップ６０８において決定されるなら、プロセスはステップ６１０に進み、ステップ６１０において、装置（またはライブラリ）に必要な動作を実行させるために、装置（またはライブラリ）に特定の制御信号を装置（またはライブラリ）に送信させる。ステップ６１２において、要求される動作が完了した指示が受信され、その後、プロセスはステップ６１４に進み、ステップ６１４において、適切な応答が、共通インターフェースを使用してメディアマネージャに送信される。
【００２５】
本明細書に記載の技法を使用して、新たなタイプのホスト、装置、および／またはライブラリが、図１に示されるなどの存在する構成に追加されるなら、メディアマネージャに対する任意の変更が必ずしも行われる必要はない。要求されることは、共通インターフェースを使用してメディアマネージャと通信するように構成されるエージェントをホストに実装し、かつメディアマネージャから受信されたコマンドに応答して、局所的に実行されるのに必要なホスト、ライブラリ、および／または装置に特定的なコマンドに、共通フォーマットで受信されたコマンドを変換することである。このアプローチを使用して、メディアマネージャおよび前に実装された構成要素は、新たなタイプのホスト、装置、またはライブラリの追加によって影響を受けない。
【００２６】
前述の実施形態は、バックアップアプリケーションおよびコンピュータネットワークに関連してメディアマネージャに焦点が合わされるが、当業者は、同様の技術が、他に関連して使用され、かつ明細書で詳細に記載されたもの以外の装置、ライブラリ、およびメディアに関して使用されることができ得るのは理解される。
【００２７】
前述の実施形態は、理解を明らかにする目的である詳細に関して記載されたが、本発明は、提供される詳細に限定されない。本発明を実施する多くの代わりの方法が存在する。開示された実施形態は、例示的であり制限されない。
【図面の簡単な説明】
【００２８】
【図１】ネットワーク環境および自動化されたメディア管理システムの１つの例示的な実施形態を示すブロック図である。
【図２】異なるタイプのライブラリを制御する共通インターフェースを示す図である。
【図３】メディアマネージャが共通インターフェースを使用して異なるタイプのライブラリおよび装置を制御することを可能にするホストを構成する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。
【図４】メディアマネージャによってホストとの通信を確立するいくつかの実施形態において使用されるプロセスを示す図である。
【図５】共通インターフェースを使用して異なるタイプのライブラリおよび装置を制御する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。
【図６】メディアマネージャから受信された共通インターフェース要求へ応答する、いくつかの実施形態において使用されるプロセスを示すフローチャートである。
【図１】
2006511869.tif 000003
【図２】
2006511869.tif 000004
【図３】
2006511869.tif 000005
【図４】
2006511869.tif 000006
【図５】
2006511869.tif 000007
【図６】
2006511869.tif 000008
【国際調査報告】
2006511869.tif 000009