(57)【要約】ストレージ管理ソフトウェアをブリッジするための方法と装置が提供される。第１のストレージ管理アプリケーションは、ホストと通信し、ホストに関連付けられたストレージ環境の解析を実行する。第１のストレージ管理アプリケーションは、解析を使用して、ストレージ・リソース・インターフェースが第２のストレージ管理アプリケーションによって制御されているかどうかを判定し、もし制御されていれば、第１のストレージ管理アプリケーションは、プラグイン・アプリケーションにアクセスし、第２のストレージ管理アプリケーションが、ホストのためにストレージ管理オペレーションを実行することを可能にする。１つの実施形態において、解析は、第１のストレージ管理アプリケーションが第２のストレージ管理アプリケーションからの結果を受け取ると、第１のストレージ管理アプリケーションによって更新され、結果は、第２のストレージ管理アプリケーションによるストレージ管理オペレーションの処理を反映している。
2005535019.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ管理アプリケーションをブリッジする方法であって、
ストレージ管理オペレーションを実行するための要求を受け取るステップであって、前記ストレージ管理オペレーションは、ホストから第１のストレージ管理アプリケーションによって受け取られるステップと、
前記ストレージ管理オペレーションと関連付けられたストレージ環境上で、１つ又は複数の解析オペレーションを実行するステップであって、前記１つ又は複数の解析オペレーションは、前記第１のストレージ管理アプリケーションによって実行されるステップと、
前記ストレージ管理オペレーションを、第２のストレージ管理アプリケーションに関係付けられたインターフェースを使用して、前記第１のストレージ管理アプリケーションから前記第２のストレージ管理アプリケーションへ渡すステップであって、前記第２のストレージ管理アプリケーションは、前記第１のストレージ管理アプリケーションの代わりに、前記ストレージ環境に含まれた１つ又は複数のストレージ・リソース上で前記ストレージ管理オペレーションを実行するステップとを備えた方法。
【請求項２】
前記１つ又は複数のストレージ・リソース上での前記ストレージ管理オペレーション実行に関連付けられた結果を受け取るステップをさらに含み、その結果が、前記第２のストレージ管理アプリケーションから前記第１のストレージ管理アプリケーションによって受け取られる請求項１に記載の方法。
【請求項３】
前記結果を受け取るステップにおいて、前記結果が、前記第１のストレージ・アプリケーションによって読み取られた、また、前記第２のストレージ・アプリケーションによって書き込まれたデータ・ストアから受け取られる請求項２に記載の方法。
【請求項４】
前記ストレージ管理オペレーションを渡すステップにおいて、前記第２のストレージ管理アプリケーションは、前記ストレージ管理オペレーションを前記第２のストレージ管理アプリケーションに関連付けられた前記インターフェースから前記１つ又は複数のストレージ・リソースに関連付けられた１つ又は複数の第２のインターフェースへ変換する請求項１に記載の方法。
【請求項５】
前記ストレージ管理オペレーションを渡すステップにおいて、前記１つ又は複数のストレージ・リソースは、前記ストレージ環境においてアクセス可能なストレージ・アレイである請求項４に記載の方法。
【請求項６】
前記１つ又は複数の解析オペレーションを実行するステップにおいて、前記１つ又は複数の解析オペレーションは、前記ストレージ環境のマッピングを提供する請求項１に記載の方法。
【請求項７】
前記ホストのための前記ストレージ管理オペレーションの処理を満足するために、前記マッピングと、前記ストレージ管理オペレーションに関連付けられた前記第２のストレージ管理アプリケーションから返された前記結果とを使用するステップをさらに含む請求項６に記載の方法。
【請求項８】
ストレージ管理アプリケーションをブリッジする方法であって、
ホスト・インターフェースから、ストレージ・リソース上でストレージ管理オペレーションを実行するための要求を受け取るステップであって、前記ホスト・インターフェースは、第１のストレージ管理アプリケーションと通信するために前記ホストによって使用されるステップと、
前記ストレージ・リソースを内蔵するストレージ環境のマッピングを生成するステップであって、前記マッピングは、前記第１のストレージ管理アプリケーションによって生成されるステップと、
前記ストレージ管理オペレーションを実行するためのインターフェースは、第２のストレージ管理アプリケーションによって制御されると決定するステップと、
第２のストレージ管理アプリケーション・インターフェースを使用して、前記ストレージ管理オペレーションを前記第２のストレージ管理アプリケーションへ送るステップと、
前記第２のストレージ管理アプリケーションが、前記ストレージ・リソース上で前記ストレージ管理オペレーションを処理するとき、前記第２のストレージ管理アプリケーションから結果を受け取るステップであって、前記結果は、前記第１のストレージ管理アプリケーションによって受け取られ、前記第１のストレージ管理アプリケーションは、前記結果を使用して、前記結果によって更新される前記ストレージ環境の前記マッピングを生成又は調整するステップとを備えた方法。
【請求項９】
前記生成又は調整されたマッピングを、前記ホスト・インターフェースを介して前記ホストへ送るステップをさらに含む請求項８に記載の方法。
【請求項１０】
前記要求を受け取るステップにおいて、前記ストレージ管理オペレーションは、フローズン・イメージ・オペレーションである請求項８に記載の方法。
【請求項１１】
前記要求を受け取るステップにおいて、前記ストレージ・リソースは、仮想ストレージ・リソースである請求項８に記載の方法。
【請求項１２】
前記要求を受け取るステップにおいて、前記ストレージ環境は、ストレージ・エリア・ネットワーク（ＳＡＮ）環境を含む請求項８に記載の方法。
【請求項１３】
決定するステップにおいて、前記第２のストレージ管理アプリケーションは、ボリューム・マネージャ（ＶＭ）・アプリケーションである請求項８に記載の方法。
【請求項１４】
前記結果を受け取るステップにおいて、前記結果は、前記第１の要求アプリケーションにアクセス可能な１つ又は複数のデータ構造で受け取られる請求項８に記載の方法。
【請求項１５】
ホストと、
前記ホストと通信する第１のストレージ管理アプリケーションと、
ストレージ・リソースに関連付けられたストレージ・リソース・インターフェースと通信する第２のストレージ管理アプリケーションと、
前記ホストの代わって前記第２のストレージ管理アプリケーションにアクセスするために前記第１のストレージ管理アプリケーションによって使用されるプラグイン・アプリケーションであって、前記プラグイン・アプリケーションによって、前記ホストから要求されたストレージ管理オペレーションを実行するために、前記第１のストレージ管理アプリケーションが、前記第２のストレージ管理アプリケーションに前記ストレージ・リソース・インターフェースへアクセスさせるプラグイン・アプリケーションとを備えたストレージ管理ブリッジング・システム。
【請求項１６】
データベースをさらに含み、前記データベースは、前記ストレージ管理オペレーションの実行に関連付けられた前記第２のストレージ管理アプリケーションによって得られた結果を内蔵し、かつ、前記データベースは、前記結果を取得するために、前記第１のストレージ管理アプリケーションにアクセス可能である請求項１５に記載の装置。
【請求項１７】
前記結果は、前記ホストのストレージ環境に関連付けられたマッピングを生成又は更新するために、前記第１のストレージ管理アプリケーションによって使用される請求項１６に記載の装置。
【請求項１８】
前記第１のストレージ管理アプリケーションは、前記プラグイン・アプリケーションにアクセスする前に前記ホストによって要求された前記ストレージ管理オペレーションを受け取ると、前記ホストに関連付けられたストレージ環境の解析を実行する請求項１５に記載の装置。
【請求項１９】
前記プラグイン・アプリケーションは、ストレージ・リソース特性検索アプリケーション、取得フローズン・イメージ技術アプリケーション、確立オペレーション、分割オペレーションの中の少なくとも１つに関連付けられる請求項１５に記載の装置。
【請求項２０】
前記第１のストレージ管理アプリケーションは、前記ストレージ・リソースが、ストレージ・アレイに関連付けられるとき、前記プラグイン・アプリケーションアクセスする請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（著作権通告／許諾）
本特許文書の開示の一部は、著作権保護の対象となる文献を含む。著作権保有者は、米国特許商標局の特許ファイル又は記録に現れるので、特許文書又は特許開示の何人による複製にも異議を唱えないが、それ以外の方法に対しては、一切の全著作権を保有する。次の通告は、以下及び本明細書に添付された図面に記載されたソフトウェアの記述／実施例及びデータに対して適用される。著作権（ｃ）２００２、ＶＥＲＩＴＡＳ  Ｓｏｆｔｗａｒｅ  Ｃｏｍｐａｎｙ、全権利保有。
【０００２】
（関連出願の相互引用）
本出願は、それぞれ、参照によりそのまま本明細書に組み込まれた、以下の同時係属中で、同一出願人の特許出願と関連している。代理人整理番号ＶＲＴＳ  ００３７  ＆  １５５７．００１ＵＳ１、出願番号０９／９９７，６０２、出願日２００１年１１月２９日「Ｍｅｔｈｏｄｓ，Ｆｕｎｃｔｉｏｎａｌ  Ｄａｔａ，ａｎｄ  Ｓｙｓｔｅｍｓ  ｔｏ  Ｒｅｐｒｅｓｅｎｔ  ａ  Ｓｔｏｒａｇｅ  Ｅｎｖｉｒｏｎｍｅｎｔ」、代理人整理番号ＶＲＴＳ  ００３８  ＆  １５５７．００２ＵＳ１、出願番号１０／０８６，５９７、出願日２００２年２月２８日「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｔｏ  Ｂａｃｋｕｐ  Ｄａｔａ」、代理人整理番号ＶＲＴＳ  ００３９  ＆  １５５７．０００３ＵＳ１、出願番号０９／９９７，６１２、出願日２００１年１１月２９日「Ｍｅｔｈｏｄｓ，Ｓｙｓｔｅｍｓ，ａｎｄ  Ａｐｐａｒａｔｕｓ  ｔｏ  Ｉｎｔｅｒｆａｃｅ  ｗｉｔｈ  Ｓｔｏｒａｇｅ  Ｏｂｊｅｃｔｓ」、代理人整理番号ＶＲＴＳ  ００４０  ＆  １５５７．００４ＵＳ１、出願番号１０／０８７，２３０、出願日２００２年２月２８日「Ｓｙｓｔｅｍｓ，Ｍｅｔｈｏｄｓ，ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｃｒｅａｔｉｎｇ  Ｓｔａｂｌｅ  Ｄｉｓｋ  Ｉｍａｇｅｓ」、代理人整理番号ＶＲＴＳ  ００４１  ＆  １５５７．００５ＵＳ１、出願番号０９／９９７，３５０、出願日２００１年１１月２９日「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｔｏ  Ｉｎｔｅｒｆａｃｅ  Ｓｔｏｒａｇｅ  Ｏｂｊｅｃｔｓ」、代理人整理番号ＶＲＴＳ  ００６８  ＆  １５５７．００９ＵＳ１、出願番号１０／１７５，０２９、出願日２００２年６月１８日「Ｓｔｏｒａｇｅ  Ｒｅｓｏｕｒｃｅ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｌａｙｅｒ  Ｉｎｔｅｒｆａｃｅｓ」、代理人整理番号ＶＲＴＳ  ００６９  ＆  １５５７．０１０  ＵＳ１、出願番号１０／１９４，５２４、出願日２００２年７月１１日「Ｓｔｏｒａｇｅ  Ｓｅｒｖｉｃｅｓ  ａｎｄ  Ｓｙｓｔｅｍｓ」。
【０００３】
本発明は、ソフトウェア・ブリッジに関し、さらに詳細には、共有ストレージ環境におけるストレージ管理サービスをブリッジする方法と装置に関するものである。
【背景技術】
【０００４】
ストレージ・ネットワーキングは、従来のポイント・ツー・ポイントの小型コンピュータ装置インターフェース（ＳＣＳＩ）チャネルの代わりにネットワーク（例えば、ファイバ・チャネル）を使用して、ストレージ・デバイスをコンピューティング・デバイス（例えば、クライアント、サーバなど）に接続することの実践である。サーバをストレージ・デバイスに接続するために使用されるネットワークは、ストレージ・エリア・ネットワーク（ＳＡＮ）と称される。ＳＡＮ環境内で、コンピューティング・デバイスは、使用可能なストレージ・デバイスにアクセスできる。このことは、多種多様な利益を提供する。故障したストレージ・デバイスや故障したサーバが、運転可能なストレージ・デバイスの再接続を必要とすることなく、別の運転可能なサーバ・プラットフォームや運転可能なストレージ・デバイスによって自動的に回復される、サーバ・プラットフォームのフェイル・オーバもそれに含まれる。
【０００５】
ＳＡＮ技術の開発の前に、ＬＡＮやＷＡＮは、常にストレージ・デバイスを伴うわけではなかった、コンピューティング・デバイス同士間のアクセスを可能にしていた。接続は、転送制御プロトコル（ＴＣＰ）、アンリライアブル・データグラム・プロトコル（ＵＤＰ）、その他のネットワーク・プロトコルを用いて確立される。これらのプロトコルは、確実にメッセージ要求が保存され、かつ、メッセージが失われない。ネットワーク・ファイル・システム（ＮＦＳ）などの分散ファイル・システム（ＤＦＳ）や共有インターネット・ファイル・システム（ＣＩＦＳ）は、ネットワーク・プロトコルの一番上の階層である。分散ファイル・システムは、異種のコンピューティング・デバイスからなるネットワークを跨って、ファイル及びそれらのファイルに関連したストレージ・デバイスへの画一化された指名アクセスを可能にする。コンピューティング・デバイスは、通常、クライアント・サーバ・アーキテクチャにおいて、クライアントとサーバとして編成される。ＤＦＳを使用すると、ファイル又はデータ・ストレージ・デバイス（例えば、ストレージ・リソース）に対するアクセスは、コンピューティング・デバイスに対して透過的である。したがって、アクセスは、物理的な位置、あるいはいかなる特定のファイル又はデータに関連したその他の詳細を必要することなく、ＤＦＳにわたって一貫している。
【０００６】
ストレージ環境とストレージ・リソースの仮想化が共有ストレージ環境内でクライアントとサーバにとって使用可能となるように、ストレージ・リソースへのクライアント及び／又はサーバの透過的アクセスは、ストレージ・リソースとクライアント、及び／又は、ストレージ・リソースとサーバとの間にストレージ管理ソフトウェア・アプリケーションの割り込みを必要とする。例えば、ボリューム・マネージャ（ＶＭ）・アプリケーションは、共有ストレージ環境内のストレージ・リソースに対する、クライアント又はサーバ・アプリケーションのアクセス要求やオペレーション実行要求をインターセプトすることができ、共有ストレージ環境内で、ＶＭは、要求を、ストレージ・リソースに対する要求を満足するために必要な、より低レベルの抽象に変換する。また、要求が満たされると、要求の処理に関連した結果は、より高いレベルの抽象に変換され、クライアント又はサーバへ返信される。ストレージ要求を高レベル抽象から低レベル抽象に変換するプロセスは、仮想化と称される。
【０００７】
仮想化は、共有ストレージ環境において、ストレージ・リソースをより効果的に管理及び制御でき、多数のクライアント及び／又はサーバは、共有ストレージ環境のストレージ・リソースに同時にアクセスできる。この様にして、下層にあるストレージ環境の詳細は、ストレージ・リソースにアクセスするクライアント及び／又はサーバ・アプリケーションから隠されたり、あるいは、クライアント及び／又はサーバ・アプリケーションに対して透過的にされたりする。したがって、ストレージ・リソースは、クライアント及び／又はサーバ・アプリケーションとストレージ・リソースとの間に配置されたストレージ管理アプリケーションによって、性能とスループットの改善のためにより有益に制御され、管理される。
【０００８】
しかし、クライアント（群）及びサーバ（群）に対して、単一のストレージ管理アプリケーションを設けると、ストレージ管理アプリケーションは、共有ストレージ環境を構成する異種のストレージ・リソース（群）に関連した様々なベンダーから供給されたインターフェースと相互作用できなくてはならないので、ストレージ管理アプリケーションの実行はぎこちないものとなる。そのため、クライアント又はサーバに基づく共有ストレージ環境を管理するのに、類似のストレージ管理オペレーションを実行する単一で、統一的なストレージ管理アプリケーションよりもむしろ、各種のストレージ管理アプリケーションが必要となる恐れがある。従来、多数のストレージ管理アプリケーションが存在する共有ストレージ環境において、個々のストレージ管理アプリケーションは、別のストレージ管理アプリケーションと効果的に通信しないので、過度の管理間接費及びストレージ環境における不十分なアプリケーション範囲を招いている。
【０００９】
クライアント及び／又はサーバのための共有ストレージ環境において多数のストレージ管理アプリケーションを効果的に使用するために、個々のストレージ管理アプリケーション間の相互作用は、共有ストレージ環境におけるストレージ・リソースにアクセスするクライアント及び／又はサーバに対して透過的でなければならない。さらに、個々のストレージ管理アプリケーションは、それぞれ、共有ストレージ環境の全体の管理及び制御が損われる、又は、質が低下することがないように、お互いの間でデータを効果的にやり取りする必要がある。
【００１０】
通常、ストレージ管理アプリケーションは、共有ストレージ環境内の各ストレージ・リソース用のインターフェースを開発することによって、共有ストレージ環境に組み込まれている。したがって、各ストレージ管理アプリケーションは、ストレージ・リソースと直接インターフェースすることができる。しかし、開発されたインターフェースのそれぞれは、各ストレージ管理アプリケーションに対してカスタマイズされている。したがって、多くの冗長なインターフェースが生成される。したがって、既存の、いくつかのストレージ・リソースに対して開発されたインターフェースを有する単一のストレージ管理アプリケーションに依存することがより望ましいであろう。この方法は、新しいストレージ管理アプリケーション用の新しいストレージ・リソース・インターフェースが必要とされることもなく、新しいストレージ管理アプリケーションの開発及び組み込みを容易にする。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、必要なことは、ストレージ管理アプリケーション（群）によって提供されたインターフェースと、他の、新しい又は既存のストレージ管理アプリケーション（群）のインターフェースとをブリッジするための方法と装置である。当業者が、本開示を一読して理解するように、本発明は、共有ストレージ環境内のストレージ・リソース管理を改善し、共有ストレージ環境内で処理する個々のストレージ管理アプリケーションの全体的なソフトウエア符号化の複雑さを減少させる。さらに、新しいストレージ管理アプリケーションは、共有ストレージ環境内で、より容易に組み込可能、かつ稼動可能となる。
【課題を解決するための手段】
【００１２】
本発明の１つの態様によれば、ストレージ管理アプリケーションをブリッジするための方法が提供される。ストレージ管理オペレーションを実行するための要求が、ホストから第１のストレージ管理アプリケーションによって受け取られる。第１のストレージ管理アプリケーションは、ストレージ管理オペレーションと関連付けられたストレージ環境上の１つ又は複数の解析オペレーションを実行する。ストレージ管理オペレーションは、次に、第２のストレージ管理アプリケーションに関連付けられたインターフェースを使用して、第１のストレージ管理アプリケーションから第２のストレージ管理アプリケーションへ渡される。第２のストレージ管理アプリケーションは、第１のストレージ管理アプリケーションのために、ストレージ環境内に含まれた１つ又は複数のストレージ・リソース上でストレージ管理オペレーションを実行する。
【００１３】
本発明の別の態様によれば、ストレージ管理アプリケーションをブリッジするための方法が提供される。ストレージ・リソース上でのストレージ管理オペレーションを実行するためにホスト・インターフェースから要求を受け取る。ホストは、ホスト・インターフェースを使用して、第１のストレージ管理アプリケーションと通信する。ストレージ・リソースを内蔵するストレージ環境のマッピングが生成される。マッピングは第１のストレージ管理アプリケーションによって生成される。次に、第１のストレージ管理アプリケーションは、ストレージ管理オペレーションを実行するためのインターフェースが、第２のストレージ管理アプリケーションによって制御されると決定し、そして第２のストレージ管理アプリケーション・インターフェースを使用して、ストレージ管理オペレーションを第２のストレージ管理アプリケーションに送る。さらに、第２のストレージ管理アプリケーションがストレージ・リソース上でストレージ管理オペレーションを処理すると、その結果を、第２のストレージ管理アプリケーションから受け取る。結果は、第１のストレージ管理アプリケーションによって受け取られ、第１のストレージ管理アプリケーションは、結果を使用してストレージ環境のマッピングを生成する。
【００１４】
本発明のさらに別の態様によれば、ストレージ管理ブリッジング・システムが説明されている。ストレージ管理ブリッジング・システムは、ホスト、そのホストと通信する第１のストレージ管理アプリケーション、ストレージ・リソースに関連付けられたストレージ・リソース・インターフェースと通信する第２のストレージ管理アプリケーション、プラグイン・アプリケーションを含む。プラグイン・アプリケーションは、ホストのために第２のストレージ管理アプリケーションにアクセスするために、第１のストレージ管理アプリケーションによって使用される。プラグイン・アプリケーションによって、第１のストレージ管理アプリケーションが、ホストによって要求されたストレージ管理オペレーションを実行するための、第２のストレージ管理アプリケーションのストレージ・リソース・インターフェースへのアクセスを可能とする。
【発明を実施するための最良の形態】
【００１５】
以下の、本発明の様々な実施形態の詳細な記述において、本明細書の一部を形成する添付図面が引用されており、図面中には、例示として、本発明を実施することができる具体的な実施形態が示されている。本発明の範疇より乖離することなく、他の実施形態を使用することができ、また、構造的な変更をすることができることを理解されたい。
【００１６】
本明細書で使用されているように、「ストレージ・リソース」は、全ストレージ・アレイ、数個のストレージ・アレイ、ストレージ・ディスク、通信ポートに割り当てられた論理ユニット番号（ＬＵＮ）、アクセス制御リスト（ＡＣＬ）、ホスト・バス・アダプタ（ＨＢＡ）、ジャスト・ア・バンチ・オブ・ディスク（ＪＢＯＤ）、その他の、１つ又は複数の物理的ストレージ・デバイスを意味する。さらに、ストレージ・リソースとして、ストレージ・アレイ、バインディング、その他によって割り当てられた仮想ストレージ・ディスクなどのロジカル・ストレージ・リソースを挙げることができる。ストレージ・アレイは、一般的に、ホストにアクセスしてストレージ・リソースにアクセスすることが可能なフロント・エンド・アダプタ・インターフェース、及びストレージ・リソースを直接制御するために、ストレージ・アレイが使用するバックエンド・アダプタ・インターフェースを含む。バックエンド・アダプタ・インターフェースには、ストレージ・アレイに関連したベンダーによって、ストレージ・アレイが設けられる。従来、バックエンド・アダプタ・インターフェースは、ベンダー仕様である。
【００１７】
ストレージ・リソースの中には、低い実行レベルで、ストレージ・アレイによって、制御されるものがある。ストレージ・リソースは、ストレージ・アレイ、ストレージ・リソースにアクセスするためのソフトウェア（例えば、バックエンド・アダプタ・インターフェースが設けられたネイティブ・ストレージ・アレイ）、制御器、メモリ、電源などを含む。場合によっては、ストレージ・アレイは、ファイバ・チャネル、ｉＳＣＳＩ、インフィニバンド又は直接取り付けられたＳＣＳＩネットワーク上に存在するストレージ装置であってもよい。さらに、ストレージ・アレイは、高密度又はブレード・サーバでもよい。また、ストレージ・アレイ上又はホスト上で実行されるオペレーションに依存して、ストレージ・アレイを、場合によっては、ホストとして指定してもよく、また、ホストを、ストレージ・アレイとして指定してもよい。同様に、ある条件の下では、ホストを、ストレージ装置に指定することができる。ホストはまた、クライアント又はサーバであってもよく、ホストが他のリソース及びアプリケーションと通信することを可能にするいくつかのアプリケーションを含むことができる。
【００１８】
ストレージ管理アプリケーションは、ホスト又は別のストレージ管理アプリケーションによって作られたストレージ管理要求をインターセプトする、１組又は複数組の実行可能な命令であり、ストレージ管理要求を満たすために、ホスト共有又は非共有のストレージ環境上で変換及び解析を実行する。ストレージ管理アプリケーションの１つのタイプは、ボリューム・マネージャ（ＶＭ）アプリケーションである。他のタイプのストレージ管理アプリケーションは、ホスト共有又は非共有のストレージ環境のロジカル・マッピングを可能にする。さらに、他のストレージ管理アプリケーションは、異種のストレージ・アレイ（例えば、ストレージ・リソース）に関連した異種のバックエンド・アダプタ・インターフェースにアクセスするために、他のストレージ管理アプリケーションにアクセス可能な標準の又は正規化されたフロント・エンド・アダプタ・インターフェースを提供する。
【００１９】
ホストによって作成されたストレージ要求管理は、１つ又は複数のストレージ管理オペレーションに関連付けることができる。ストレージ管理オペレーションは、ストレージ・リソースの特性又は構成設定を求めるオペレーション、確立オペレーション、分割オペレーション、回復オペレーションなどのフローズン・イメージ・サービスを実行するオペレーション、その他のオペレーションを含むことができる。さらに、ストレージ管理オペレーションは、バックアップ・ストレージ管理オペレーション又は判断支援オペレーションを実行する際に必要な、ストレージ・リソースに関連付けられたストレージ・データのフローズン・イメージを提供するために使用できる。
【００２０】
図１は、本発明の開示によるストレージ管理ブリッジング・システム１００の図である。ストレージ管理ブリッジング・システム１００は、複数のホスト（例えば、１０１、１０２）、ホスト・インターフェース１１２を含む第１のストレージ管理アプリケーション１１０、プラグイン・インターフェース１１４を含む。いくつかの実施形態において、ホスト・インターフェース１１２は、１つ又は複数のストレージ管理オペレーションを示すストレージ管理要求を作成するために、ホスト１０１、１０２によって使用されるアプリケーション・プログラミング・インターフェース（ＡＰＩ）・ライブラリである。さらに、ストレージ管理ブリッジング・システム１００は、フロント・エンド・インターフェース１２２とバックエンド・インターフェース１２４を含む第２のストレージ管理アプリケーション１２０を有する。
【００２１】
ストレージ管理オペレーションは、１つ又は複数のストレージ・リソース（例えば、１２６、１２７）にアクセスすることに向けられる。さらに、ホスト１０１、１０２、第１のストレージ管理アプリケーション１１０、第２のストレージ管理アプリケーション１２０、ストレージ・リソース１２６、１２７は、共にネットワーク化され、共有ストレージ環境の一角を占めている。いくつかの実施形態において、共有ストレージ環境は、ＳＡＮ環境であり、他の実施形態では、ｉＳＣＳＩを伴ったＴＣＰ／ＩＰが共有ストレージ環境として使用される。もちろん、当業者が容易に理解するように、任意の共有ストレージ環境構成、及び／又は、ネットワークは、本開示の教示と共に使用することができる。
【００２２】
第１のストレージ管理アプリケーション１１０は、ホスト１０１、１０２の共有ストレージ環境に関する解析を実行する。１つの実施形態において、解析は、ストレージ・リソース１２６、１２７に関するプライベート情報や詳細を提供する一連のオペレーションを用いて達成される。また、付加的なストレージ・リソースが、図１に示すストレージ・リソース１２６、１２７よりも高いレベルの抽象に存在する。第１のストレージ管理アプリケーション１１０は、任意の抽象レベルにある全てのストレージ・リソースについて解析することができる。解析により、ストレージ・リソース又はホスト（例えば、１０１、１０２）のストレージ・データのマッピングが可能になる。マッピングは、ストレージ環境中の下層のストレージが、ストレージ環境内の論理的又は物理的ストレージにあるので、その真の描写をホスト（例えば、１０１又は１０２）に提供する。当業者が容易に理解するように、マッピングは、ホスト１０１、１０２のいくつかのストレージ管理オペレーションを達成するために使用することができる。例えば、マッピングは、ストレージ・リソース管理アプリケーションによって使用される情報のベースとしてのストレージのフローズン・イメージを生成するために、又は、バックアップ・オペレーションを実行するために使用することができる。
【００２３】
また、マッピングは、ホスト１０１、１０２に、より知能的にストレージ管理オペレーションを実行させる。例えば、マッピングは、ストレージ・デバイス（例えば、１２６又は１２７）が、ホスト１０１、１０２へのアクセスを共有するとき、ホスト（例えば、１０１又は１０２）上のストレージ・リソース管理アプリケーションが、その旨を検出する。その結果、ホスト１０１の故障時、ホスト１０１の主要ストレージをホスト１０２が採用するというフェイル・オーバのシナリオが可能となる。
【００２４】
第１のストレージ管理アプリケーション１１０は、ストレージ環境の解析を実行するので、第１のストレージ管理アプリケーション１１０は、第２のストレージ管理アプリケーション１２０によって識別され、制御される１つ又は複数のストレージ・リソース（例えば、１２６、及び／又は、１２７）を検出する。これらの条件下で、第１のストレージ管理アプリケーション１１０は、第２のストレージ管理アプリケーション１２０に関連付けられたプラグイン・インターフェース１１４からプラグイン・アプリケーションにアクセスする。このプラグイン・アプリケーションは、フロント・エンド・インターフェース１２２を介した、第２のストレージ管理アプリケーション１２０へのアクセスを可能にする。フロント・エンド・インターフェース１２２は、第２のストレージ管理アプリケーション１２０が設けられたＡＰＩライブラリであってもよい。フロント・エンド・インターフェース１２２は、第２のストレージ管理アプリケーション１２０によって使用される、標準の又は正規化されたインターフェースであり、第２のストレージ管理アプリケーション１２０によって制御されたストレージ・リソース１２６、１２７にアクセスするための一貫した、かつ、安定なインターフェースを提供する。
【００２５】
第２のストレージ管理アプリケーション１２０は、フロント・エンド・インターフェース１２２からの呼出しをバックエンド・インターフェース１２４用に翻訳すなわち変換する。バックエンド・インターフェースは、一連の異種インターフェースを含み、各異種インターフェースは、ストレージ・リソース（例えば、１２６又は１２７）のネイティブ・インターフェースに関連付けられる。例えば、いくつかの実施形態において、ストレージ・リソース１２６、１２７は、ストレージ・アレイであり、各ストレージ・アレイは、ストレージ・アレイにアクセスするために使用される専用インターフェースを含む。いろいろな、ストレージ・アレイのベンダーが、専用インターフェースを提供している。こうして、第２のストレージ管理アプリケーション１２０は、専用インターフェースを有するストレージ・アレイに対する、フロント・エンド・インターフェース１２２を介した単一のインターフェース呼出し手順とフォーマットを提供する。
【００２６】
特定の実施形態では、ホスト（例えば、１０１又は１０２）は、第１のストレージ管理アプリケーション１１０のホスト・インターフェース１１２を介して要求を出し、ストレージ・リソース（例えば、１２６又は１２７）の１つに関連付けられた、ストレージのフローズン・イメージを生成する。第１のストレージ管理アプリケーション１１０は、まず、ストレージ環境の解析を実行して、ストレージ環境のマッピングを生成する。マッピング生成中のある時点で、第１のストレージ管理アプリケーション１１０は、ストレージ・リソース及び第２のストレージ管理アプリケーション１２０との関連を検出する。その結果、第１のストレージ管理アプリケーション１１０は、フローズン・イメージを第２のストレージ管理アプリケーション１２０のフロント・エンド・インターフェース１２２によって認識されたフォーマットへ変換する適切なプラグイン・アプリケーションを得るために、プラグイン・インターフェース１１４にアクセスする。第２のストレージ管理アプリケーションは、次に、フロント・エンド・インターフェース１２２への要求を、適切なストレージ・リソース（例えば、１２６又は１２７）のネイティブ・インターフェースを使用してフローズン・イメージ・オペレーションを実行するのに必要なバックエンド・インターフェース１２４への要求に変換する。
【００２７】
フローズン・イメージ・オペレーションは、ストレージ・リソース（例えば、１２６又は１２７）上で処理され、その結果は、第２のストレージ管理アプリケーション１２０へ返送される。いくつかの実施形態において、結果は、プラグイン・インターフェース１１４によってアクセスすることができるデータ・ストア１３０又は別のデータ構造（図１には示されていない）に保存される。結果は、ストレージ・リソース１２６、１２７に関連付けられた特性情報でもよいし、新しく生成又は変更されたストレージ・リソースに対するマッピング情報、及び／又は、リンクであってもよい。第１のストレージ管理アプリケーション１１０は、第１のストレージ管理アプリケーション１１０によるストレージ環境の最初の解析中に実行されたマッピングを、必要ならば、結果を使用して更新する。また、いかなる更新（場合によっては、特性）も、第１のストレージ管理アプリケーション１１０のホスト・インターフェース１１２を介して、ホスト（例えば、１０１又は１０２）に送られる。もちろん、当業者が容易に理解するように、結果は、フロント・エンド・インターフェース１２２を介して、ストレージ管理アプリケーション１２０から、プラグイン・インターフェース１１４を経て、第１のストレージ管理アプリケーション１１０へ送ることもできる。
【００２８】
いくつかの実施形態において、プラグイン・インターフェース１１４は、ストレージ・リソースに関連付けられた特性とストレージ・リソースの状態の取得、ストレージ管理オペレーション（例えば、分割及び確立）の検証、ストレージ・リソースによって使用されるフローズン・イメージ技術の取得をサポートする一連のプラグイン・アプリケーションを含む。もちろん、第１のストレージ管理アプリケーション１１０の形態から第２のストレージ管理アプリケーション１２０に関連付けられた形態へのブリッジを可能にするために、様々な、付加的なプラグイン・アプリケーションを開発することができる。全ての斯かるブリッジは、本開示の範疇に入るように意図されている。
【００２９】
図２は、本発明によるストレージ管理アプリケーションをブリッジするための１つの方法２００のフローチャートを示す。最初に、２１０で、ストレージ管理オペレーションを実行するために要求を受け取る。ホストが要求を出し、第１のストレージ管理アプリケーションと通信状態にある。要求は、第１のストレージ管理アプリケーションによって受け取られるか、又はインターセプトされる。ストレージ管理オペレーションを受け取ると、第１のストレージ管理アプリケーションは、２２０で、ストレージ管理オペレーションと関連付けられたストレージ環境に関して１つ又は複数の解析オペレーションを実行する。２３０で、解析オペレーションは、ストレージ環境のマッピングを設定する。このマッピングは、ストレージ環境内に含まれる様々なストレージ・リソース及びストレージ環境内でのストレージ・リソース同士の対応関係を認識する。
【００３０】
次に、１つの実施形態において、ストレージ管理オペレーションは、第２のストレージ管理アプリケーションと関連づけられているので、第１のストレージ管理アプリケーションによって識別される。こうして、ストレージ管理オペレーションは、２２２で、第２のインターフェース用に変換され、第２のストレージ管理アプリケーションへ送られる。いくつかの実施形態において、第２のインターフェースは、第２のストレージ管理アプリケーションによって理解される構文及びフォーマットで通信するために、第１のストレージ管理アプリケーションによって使用されるプラグイン・アプリケーションである。２４０で、ストレージ管理アプリケーションは、第１のストレージ管理アプリケーションから第２のストレージ管理アプリケーションへと渡される。第２のストレージ管理アプリケーションは、次に、ストレージ管理オペレーションを第２のストレージ管理アプリケーションによって管理される１つ又は複数のストレージ・リソースにとってネイティブな１つ又は複数のオペレーションに変換する。その結果、第２のストレージ管理アプリケーションは、１つ又は複数のストレージ・リソース上でストレージ管理オペレーションを実行する。こうして、ホストによって出された、第１のストレージ管理アプリケーションを介してストレージ管理オペレーションを実行するという元々の要求は、第１のストレージ管理アプリケーションと第２のストレージ管理アプリケーションとの間に確立されたプラグイン・アプリケーション・ブリッジを介して、第２のストレージ管理アプリケーションによって実際に実施される。
【００３１】
いくつかの実施形態において、第１のストレージ管理アプリケーションと第２のストレージ管理アプリケーションとの間の通信は、データ・ストア（例えば、データベース、データ・ウエアハウスその他）を使用して、又は既知で、第１及び第２のストレージ管理アプリケーションにアクセス可能な任意のデータ構造を介して達成することができる。これに対応して、２４２で、第１のストレージ管理アプリケーションと第２のストレージ管理アプリケーションとの間の通信が、データ・ストアを介してなされるか、又は、場合によっては、データ構造を介してなされるかを判定するためチェックされる。もし斯かるデータ・ストア又はデータ構造が使用されていなければ、ストレージ管理オペレーションの実行に関連付けられた結果は、２５０で、第１のストレージ管理アプリケーションから、第２のストレージ管理アプリケーションによって直接受け取られる。再び、結果は、プラグイン・アプリケーションを介して、第２のストレージ管理アプリケーションが受け取る。あるいは、もしデータ・ストア又はデータ構造が、ストレージ管理オペレーションの処理結果を送るために使用されていれば、２６０で、その結果は、データ・ストア又はデータ構造を介して第１のストレージ管理アプリケーションによって受け取られる。
【００３２】
２７０で、もしストレージ管理オペレーションが、ストレージ環境のマッピングに影響したならば、結果は、元々生成されていた、ストレージ環境のマッピングを更新するために、第１のストレージ管理アプリケーションによって使用される。場合によっては、ストレージ管理オペレーションが、ストレージ・リソースからの状態情報の取得、又はストレージ・リソースからの特性／構成情報の取得に関連付けられているときなどは、マッピングは影響されないであろう。
【００３３】
一旦マッピングが更新されると、必要ならば、元のホスト要求及び関連したストレージ管理オペレーションは、２８０で満足される。そして、結果すなわち新しいマッピングは、第１のストレージ管理アプリケーションによって、ホストへ送られる。
【００３４】
方法２００の処理の１つの実施形態において、第２のストレージ管理アプリケーションは、ストレージ・アレイであるストレージ・リソースに関連付けられたインターフェースを管理する。第２のストレージ管理アプリケーションは、第２のストレージ管理アプリケーションの制御下にある任意のストレージ・アレイにアクセスするための、第１のストレージ管理アプリケーションに対して正規化されたインターフェースを提供する。ストレージ管理オペレーションが、第１のストレージ管理アプリケーションによって受け取られると、第２のストレージ管理アプリケーションは、オペレーションを、ネイティブ・ストレージ・アレイによって要求される、必要なインターフェース呼出し構文に変換する。第２のストレージ管理アプリケーションは、次に、ストレージ管理オペレーションが、元々要求を出したホストのために実施される。こうすることにより、第２のストレージ管理アプリケーションが、ストレージ・アレイのネイティブ・インターフェースを直接変換し、かつ、更新するための特徴を含むので、第１のストレージ管理アプリケーションは、第２のストレージ管理アプリケーションの特徴を利用する。
【００３５】
図３は、本発明によるストレージ管理アプリケーションをブリッジするための別の方法３００のフローチャートを示す。３１０で、ホストから出された要求は、第１のストレージ管理アプリケーションによって受け取られる。要求は、共有ストレージ環境内で実施されるストレージ管理オペレーションと関連付けられる。共有ストレージ環境内では、ホスト、第１のストレージ管理アプリケーション、１つ又は複数のストレージ・リソースがネットワーク化されている。
【００３６】
要求を受け取ると、第１のストレージ管理アプリケーションは、３２０で、ストレージ管理オペレーションと関連付けられたストレージ・リソースを内蔵したストレージ環境のマッピングを生成する。マッピングを生成する間、あるいは、マッピング生成後、第１のストレージ管理アプリケーションは、ストレージ管理オペレーションの処理に必要な１つ又は複数のストレージ・リソースが、第２のストレージ管理アプリケーションによって制御されると決定する。第１のストレージ管理アプリケーションは、次に、３３０で、第２のストレージ管理アプリケーションとの通信に必要なインターフェースを確定し、３４０で、第２のストレージ要求インターフェースを使用して第２のストレージ管理アプリケーションにストレージ管理オペレーションを送る。
【００３７】
３５０で、第２のストレージ管理アプリケーションは、第２のストレージ・インターフェースを介して第１のストレージ管理アプリケーションから渡されたストレージ管理オペレーションの処理を完了する。処理終了に関連付けられた結果は、第２のストレージ管理アプリケーションから第１のストレージ管理アプリケーションへ返送される。いくつかの実施形態において、結果は、相互にアクセス可能なデータ・ストア又はデータ構造を介して送られ、データ・ストア又はデータ構造は、第１及び第２の両ストレージ管理アプリケーションにアクセス可能である。他の実施形態において、第２のストレージ管理アプリケーション・インターフェースは、第１のストレージ管理アプリケーションへ結果を送るために、第２のストレージ管理アプリケーションによって使用される。こうすることにより、第１のストレージ管理アプリケーションの処理と第２のストレージ管理アプリケーションの処理との間でブリッジが生成され、各ストレージ管理アプリケーションの処理が使用される。
【００３８】
もしストレージ管理オペレーション処理の結果が、第１のストレージ管理アプリケーションによって生成されたマッピングの更新を必要とするときは、３６０で、マッピングが、第１のストレージ管理アプリケーションの要求通りに調整される。３７０で、結果及び任意の更新されたマッピングは、第１のストレージ管理アプリケーションからホストへ送られる。いくつかの実施形態において、第２のストレージ管理アプリケーションは、ＶＭである。他の実施形態において、ストレージ・リソースは、仮想ディスクなどの仮想ストレージ・リソースである。また、１つの実施形態において、ストレージ管理オペレーションは、１つ又は複数のフローズン・イメージ・オペレーション、バックアップ・オペレーション、ストレージ・リソースの状態を取得するオペレーション、ストレージ・リソースの特性／構成データを取得するオペレーションその他である。
【００３９】
図４は、本発明による別のストレージ管理ブリッジング・システム４００の図を示す。ストレージ管理ブリッジング・システム４００は、ホスト・インターフェース４１２を有するホスト４１０、第１のストレージ管理アプリケーション４２０、第２のストレージ管理アプリケーション４３０、プラグイン・アプリケーション４４０を含む。また、第２のストレージ管理アプリケーション４３０は、ストレージ・リソース４５０に関するストレージ管理オペレーションの実行と関連付けられたネイティブ・ストレージ・リソース・インターフェース４３２への直接アクセスを有する。第１のストレージ管理アプリケーション４２０は、第１のストレージ管理アプリケーション４２０によって提供されたホスト・インターフェース４１２を介してホスト４１０と通信する。同様に、第２のストレージ管理アプリケーション４３０は、ストレージ・リソース４３２を介してストレージ・リソース４５０と通信する。
【００４０】
プラグイン・アプリケーション４４０は、第１のストレージ管理アプリケーション４２０の処理と第２のストレージ管理アプリケーション４３０の処理との間のソフトウェア・ブリッジとして作用する。第１のストレージ管理アプリケーション４２０はプラグイン・アプリケーション４４０を使用して、ホスト４１０に代わって、ストレージ管理オペレーションを第２のストレージ管理アプリケーション４３０に渡す。第２のストレージ管理アプリケーション４３０は、いくつかの実施形態において、ホスト４１０に対して完全に透過的なままである。第２のストレージ管理アプリケーション４３０は、次に、ストレージ管理要求又はオペレーションを、ストレージ・リソース・インターフェース４３２によって認められたフォーマットに変換する。それによって、ストレージ管理要求又はオペレーションが、ストレージ・リソース４５０上で直接実行される。ストレージ・リソース４５０上でのストレージ管理オペレーション処理が終了すると、処理に関連付けられた結果は、第１のストレージ管理アプリケーション４２０へ返される。いくつかの実施形態において、結果は、プラグイン・アプリケーション４４０を介して第１のストレージ管理アプリケーション４２０へ送られ、他の実施形態においては、結果は、アクセス可能なデータ・ストア又はデータ構造（図４に示さず）を経て、第１のストレージ管理アプリケーション４２０に送られる。そして、１つの実施形態において、結果が、ストレージ環境のマッピングを更新するならば、第１のストレージ管理アプリケーション４２０は、結果を使用し、それに従ってマッピングを更新する。
【００４１】
いくつかの実施形態において、プラグイン・アプリケーション４４０は、ストレージ・リソース４５０の特性を取得するためのアプリケーション、ストレージ・リソース４５０によって使用されるフローズン・イメージ技術を取得するためのアプリケーション、ストレージ・リソース４５０上で確立オペレーションを実行するためのアプリケーション、ストレージ・リソース４５０上で分割オペレーションを実行するためのアプリケーション及びその他のアプリケーションであることが可能である。また、１つの実施形態において、ストレージ・リソース４５０は、ネイティブ・インターフェース（例えば、ストレージ・リソース・インターフェース４３２）が、第２のストレージ管理アプリケーション４３０によって制御されるストレージ・アレイである。
【００４２】
本開示を読んで、今や、当業者にとって明らかなように、ソフトウェア・ブリッジは、本開示の教示に従って、共有ストレージ環境内の２つのストレージ管理アプリケーション動作を使用、かつ、結合するために使用することができる。これは、ストレージ管理アプリケーションの複雑さを低減し、共有ストレージ環境におけるストレージ管理オペレーションの処理スループットを改善するのに特に有用である。
結論
【００４３】
上記に説明した方法と装置は、ストレージ管理アプリケーションのより効率的なブリッジを可能にする。従来の手法では、効率的に異種のストレージ管理アプリケーション群をお互いに統合して、各異種のストレージ管理アプリケーションの特徴を共有又は非共有ストレージ環境内で使用できるように、あるいは、異種のストレージ管理アプリケーション同士の間で特徴が過度に重複しないようにすることはできない。
【００４４】
これに対して、本発明は、１つのストレージ管理アプリケーションプラグイン・アプリケーションと他のストレージ管理アプリケーションとをブリッジするプラグイン・アプリケーションを提供する。このようにして、各ストレージ管理装置の複雑性は低減され、各ストレージ管理装置の長所が全面的に利用される。また、プラグイン・アプリケーションは、ストレージ管理要求を出して、共有又は非共有ストレージ環境内のストレージ・リソースにアクセスするホストに対して透過的なままである。
【００４５】
本明細書において、具体的な実施形態を例示し、かつ、説明したが、示した具体的な実施形態を、同一の目的を達成できると評価される任意の構成で代用してもよいことは、当業者によって理解されよう。本出願は、本発明のいかなる適応又は変更をも対象にすることを意図している。したがって、本発明は、請求項及びその均等物によってのみ限定されるものとする。
【図面の簡単な説明】
【００４６】
【図１】本発明の教示によるストレージ管理ブリッジング・システムの図である。
【図２】本発明によるストレージ管理アプリケーションをブリッジするための方法のフローチャートである。
【図３】本発明によるストレージ管理アプリケーションをブリッジするための別の方法のフローチャートである。
【図４】本発明による別のストレージ管理ブリッジング・システムの図である。
【図１】
2005535019.tif 000003
【図２】
2005535019.tif 000004
【図３】
2005535019.tif 000005
【図４】
2005535019.tif 000006
【国際調査報告】
2005535019.tif 000007
2005535019.tif 000008
2005535019.tif 000009