(57)【要約】      （修正有）【課題】必要に応じて新しいサーバ・インスタンス及び保守データベースを作成することによってデータ・ストレージ・サーバを自律的に仮想化する。【解決手段】クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスするように構成された中央制御ハブ・モジュールと、ストレージ状態が満たされているかどうかを判定するように構成された検出モジュールと、満たされているストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成する作成モジュールとを含む。中央制御ハブ・モジュールはまた、クライアントとサーバとの間のストレージ・マッピングを維持し、クライアントにストレージ・マッピングを提供するように構成されたマッピング・モジュールを含むことができる。新しいサーバ・インスタンスが作成されたときには、新しい保守データベース・インスタンスを含むことができる。【選択図】図２
2007115251.tif 000002
【特許請求の範囲】
【請求項１】
データ・ストレージ・サーバを自律的に仮想化するための装置であって、
クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスするように構成された中央制御ハブ・モジュールと、
一組のストレージ状態が満たされているかどうかを判定するように構成された検出モジュールと、
満たされている前記一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するように構成された作成モジュールと、
を含む装置。
【請求項２】
前記中央制御ハブ・モジュールがさらに、クライアントと１つ又はそれ以上のサーバとの間のストレージ・マッピングを維持し、前記クライアントにストレージ・マッピングを提供するように構成されたマッピング・モジュールを含む、請求項１に記載の装置。
【請求項３】
前記中央制御ハブ・モジュールがさらに、前記クライアントから受け取られたストレージ動作コマンドに応答するように構成された応答モジュールを含み、前記応答モジュールが、
前記ストレージ動作コマンドを解釈するように構成された解釈モジュールと、
前記ストレージ動作コマンドに応答して１つ又はそれ以上のサーバと対話するように構成された対話モジュールと、
を含む、請求項１に記載の装置。
【請求項４】
前記中央制御ハブ・モジュールがさらに、
前記１つ又はそれ以上のストレージ・サーバからの戻りデータをコンパイルするように構成されたコンパイル・モジュールと、
ストレージ動作コマンドに基づいて前記戻りデータを取り扱い、結果データを前記クライアントに戻すように構成された結果モジュールと、
を含む、請求項１に記載の装置。
【請求項５】
前記中央制御ハブ・モジュールがさらに、前記中央制御ハブ・モジュールによってサービスされたストレージ・サーバ動作が前記クライアントと前記１つ又はそれ以上のサーバの少なくとも一方に対して透明性となるように、標準ストレージ動作コマンドを用いて動作するように構成された、請求項１に記載の装置。
【請求項６】
前記ストレージ・サーバの付加的なインスタンスが、既存のサーバから複製され、実質的に同じポリシー、ユーザ及び管理情報を使用する、請求項１に記載の装置。
【請求項７】
前記ストレージ・サーバの付加的なインスタンスが、前記ストレージ・サーバに関連するストレージ保守データベースの新しいインスタンスを含み、前記組のストレージ状態がストレージ保守データベースの閾値を超えることからなる、請求項１に記載の装置。
【請求項８】
前記作成モジュールがさらに、前記ストレージ・サーバの付加的なインスタンスに対応するストレージ・エージェントの付加的なインスタンスを作成するように構成された、請求項１に記載の装置。
【請求項９】
データ・ストレージ・サーバを自律的に仮想化するためのシステムであって、
１つ又はそれ以上のデータ・ストレージ・サーバと、
１つ又はそれ以上のサーバと電子的通信状態にあるクライアントと、
前記クライアントと前記１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスするように構成された中央制御ハブ・モジュールと、
一組のストレージ状態が満たされているかどうかを判定するように構成された検出モジュールと、
前記満たされている一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するように構成された作成モジュールと、
を含むシステム。
【請求項１０】
前記作成モジュールがさらに、前記ストレージ・サーバの付加的なインスタンスに対応するストレージ・エージェントの付加的なインスタンスを作成するように構成された、請求項９に記載のシステム。
【請求項１１】
前記中央制御ハブ・モジュールがさらに、前記クライアントと前記１つ又はそれ以上のサーバとの間のストレージ・マッピングを維持し、前記クライアントに前記ストレージ・マッピングを提供するように構成されたマッピング・モジュールを含む、請求項９に記載のシステム。
【請求項１２】
前記中央制御ハブ・モジュールがさらに、前記クライアントから受け取られたストレージ動作コマンドに応答するように構成された応答モジュールを含み、前記応答モジュールが、
前記ストレージ動作コマンドを解釈するように構成された解釈モジュールと、
前記ストレージ動作コマンドに応答して１つ又はそれ以上のサーバと対話するように構成された対話モジュールと、
前記１つ又はそれ以上のストレージ・サーバからの戻りデータをコンパイルするように構成されたコンパイル・モジュールと、
前記ストレージ動作コマンドに基づいて前記戻りデータを取り扱い、結果を前記クライアントに提供するように構成された結果モジュールと、
を含む、請求項９に記載のシステム。
【請求項１３】
データ・ストレージ・サーバを自律的に仮想化する動作を実行するためにデジタル処理装置によって実行可能な機械可読命令のプログラムを具現化する信号伝達媒体であって、前記動作が、
クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスするステップと、
一組のストレージ状態が満たされているかどうかを判定するステップと、
満たされている前記一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するステップと、
を含む信号伝達媒体。
【請求項１４】
前記命令がさらに、前記クライアントと前記１つ又はそれ以上のサーバとの間のストレージ・マッピングを維持し、前記クライアントにストレージ・マッピングを提供する動作を含む、請求項１３に記載の信号伝達媒体。
【請求項１５】
前記命令がさらに、前記クライアントから受け取られたストレージ動作コマンドに応答する動作を含み、前記動作が、
前記ストレージ動作コマンドを解釈するステップと、
前記ストレージ動作コマンドに応答して１つ又はそれ以上のサーバと対話するステップと、
前記１つ又はそれ以上のストレージ・サーバからの戻りデータをコンパイルするステップと、
前記ストレージ動作コマンドに基づいて前記戻りデータを取り扱い、結果データを前記クライアントに提供するステップと、
を含む、請求項１３に記載の信号伝達媒体。
【請求項１６】
前記ストレージ・サーバ動作は、該ストレージ・サーバ動作が前記クライアントと前記１つ又はそれ以上のサーバの少なくとも一方に対して透明性となるようにする標準ストレージ動作コマンドを含む、請求項１３に記載の信号伝達媒体。
【請求項１７】
前記ストレージ・サーバの付加的なインスタンスが、既存のサーバから複製され、実質的に同じポリシー、ユーザ及び管理情報を使用する、請求項１３に記載の信号伝達媒体。
【請求項１８】
前記ストレージ・サーバの付加的なインスタンスが、前記ストレージ・サーバの付加的なインスタンスに関連するストレージ保守データベースの新しいインスタンスを含み、前記一組のストレージ状態が、ストレージ保守データベースのサイズ閾値を超えることからなる、請求項１３に記載の信号伝達媒体。
【請求項１９】
データ・ストレージ・サーバを自律的に仮想化するように構成された計算インフラストラクチャをデプロイするための方法であって、
クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスし、
一組のストレージ状態が満たされているかどうかを判定し、
満たされている前記一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成する、
ように構成されている複数のモジュールを有するソフトウェアをデプロイするステップと、
顧客の要求に従って前記一組のストレージ状態を構成するステップと、
を含む方法。
【請求項２０】
クライアントと、ストレージ・ネットワークによって接続された１つ又はそれ以上のサーバとを含む、サーバ・ストレージ・システムを分析するステップと、前記システムが仮想データ・ストレージ・サーバからの恩恵を受けることができるかどうかを判断するステップと、適正な機能性を保証するために前記デプロイされたソフトウェアをテストするステップと、をさらに含む請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・ストレージ・システムに関し、より具体的には、データ・ストレージ・サーバの自律的拡張及び仮想化に関する。
【背景技術】
【０００２】
現代の技術は、電子データ・ストレージ・システムに対するビジネスの大きな依存をもたらしている。これらのストレージ・システムは、速く確実に保存され、検索されなければならない重要情報をバックアップし、アーカイブするのに用いられる。典型的には、ストレージ・システムは、共通ネットワークにおけるあらゆる数のクライアントによってアクセス可能なリモート・サーバ又はサーバ群を含む。ストレージ・サーバは、クライアントの膨大な量の運用データ、バックアップ・データ及びアーカイブ・データを保存するために、磁気ディスク、光ディスク、及び磁気テープ・サブシステムのようなストレージ・デバイスを用いることがある。管理ソフトウェアは、典型的には、バックエンド・ストレージ・デバイス上に保存されたファイルを記述しているメタデータを記録する、保守データベースを構成するのに用いられる。典型的には、これらの保守データベースは、ファイルの場所、ファイルがどのクライアントに属しているか、ファイルが保存され、作成され又は修正された日付、を識別する。これらの保守データベースは、使用する管理ソフトウェアによって定義される、制限されたサイズを有することがある。典型的には、既存の保守データベースの１つがその容量に達したときに、新しい保守データベースが作成されなければならない。これは、普通は、新しいサーバの手動構成、並びに、各々の影響したクライアントの再構成を要求し、それにより、高い金銭的コスト及び生産性の喪失がもたらされることがある。
【０００３】
一実施形態においては、特定のサーバ上に保存されたファイルの保守データベースを維持することによってバックアップ又はアーカイブ・システムを管理するために、ニューヨーク州アーモンク所在のＩＢＭ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）社によって提供されるＴＳＭ（Ｔｉｖｏｌｉ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒ）（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）ソフトウェアが用いられる。ＴＳＭサーバ保守データベースは、５３０ギガバイトのサイズ上限を有することがあり、最高の性能及び保守性のためには、約１００ギガバイトに制限されることがある。保守データベースのサイズは、所与の構成を埋めることになるファイル数を判定し、その値に各エントリのサイズを乗算することによって計算される。ストレージ・プール・バックアップが要求されることはなく、ファイルが集約されることはないと仮定すると、典型的な保守データベース・エントリのサイズは約６００バイトであるが、この数は、ファイル・サイズ又はファイル名によって変化する。したがって、１２テラバイトのストレージをもち、平均ファイル・サイズが１０キロバイトであるサーバは、５３０ギガバイト制限を超える８４０ギガバイトの保守データベースを要求することになる。
【０００４】
別の実施形態においては、保守データベースのサイズは、利用可能な全ストレージ・スペースのパーセンテージとして数字で表される。ＴＳＭソフトウェアを用いると、保守データベースのサイズ制限は、典型的には、全ストレージ容量の１乃至５パーセントである。以下に与えられた表は、種々のストレージ容量についての保守データベースのサイズ要件を列挙したものである。
【０００５】
【表１】
2007115251.tif 000003
【表２】
2007115251.tif 000004
＊ＴＳＭの実用的な保守データベースのサイズ制限１００ＧＢを超える
＊＊ＴＳＭの最大保守データベースのサイズ制限５３０ＧＢを超える
【０００６】
上記の表に示されるように、単一の保守データベースは、多くの場合において、大きなストレージ域を管理するには不十分である。典型的なアーカイブ環境においては、これらの保守データベースは、それらの最大容量に達するか又はそれらの理想的な動作容量を超えることがある。特に、データ保持環境においては、データは、長期間にわたって保持されることがあり、それにより保守データベースのスペースが空かず、サイズ及び効率の問題につながる。現在、これらの問題の改善策は、新しい保守データベースを有する新しいサーバを手動で構成し、次いで、これらの新しいサーバをオンラインにすることであり、それは、お金及び製造の観点で極めて犠牲が大きい。
【０００７】
図１は、従来のデータ・ストレージ・システム１０を示す概略的なブロック図である。クライアント１２は、サーバ・インスタンス１４に接続する。サーバ・インスタンス１４は、バックエンド・ストレージ１６にアクセスし、保守データベース１８を含む。クライアント１２は、種々の実施形態においては、パーソナル・コンピュータ、ワークステーション、ラップトップ又は当業者には認識されるであろう他のデバイスを含むことができる。バックエンド・ストレージ１６は、ディスク・ストレージ・デバイス、テープ・ストレージ・デバイス、ストレージ・サブシステム、或いは当業者には認識されるであろう他のストレージ・デバイス又はストレージ・デバイスの組み合わせを含んでも良い。保守データベース１８は、バックエンド・ストレージ１６に保存されたデータに対応するメタデータを保存するのに用いられる。メタデータは、一実施形態においては、ファイル名、ファイル場所、及びファイル・サイズ、並びに、ファイルが保存され又はアクセスされた日付のような情報を含むことができる。
【０００８】
サーバ・インスタンス１４は、多数のクライアントにサービスしてもよく、それらの各々についてのストレージ動作をサービスしてもよい。クライアント１２は、ローカル・エリア・ネットワーク（ＬＡＮ）を通じてサーバ・インスタンス１４に接続しても良く、サーバ・インスタンス１４は、ストレージ・エリア・ネットワーク（ＳＡＮ）を通じてバックエンド・ストレージ１６に接続しても良い。前述のように、現在の構成に伴う１つの問題は、保守データベース１８が、容量閾値に達するか又はそれを超え、新しいサーバ及び保守データベースの手動実装を必要とすることがあることである。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の説明から、必要に応じて新しいサーバ・インスタンス及び保守データベースを作成することによりデータ・ストレージ・サーバを自律的に仮想化する装置、システム及び方法に対する必要性があることが分かる。こうした装置、システム及び方法は、システムの性能及び信頼性を高め、保守データベースのサイズ制限問題をなくし、ストレージ・システムを拡張するのに要求される手動構成ステップの数を顕著に減らすので有益である。
【課題を解決するための手段】
【００１０】
本発明は、当該技術分野の現状に対応して、特に、現在利用可能なデータ・ストレージ・ソリューションによってまだ十分に解決されていない、当該技術分野における問題及び必要性に対応して開発された。したがって、本発明は、当該技術分野における上述の欠点の多く又は全てを克服するデータ・ストレージ・サーバの仮想化のための装置、システム及び方法を提供するために開発された。
【００１１】
データ・ストレージ・サーバを自律的に仮想化するための装置には、自律的サーバ作成の必要なステップを機能的に実行するように構成された複数のモジュールを含む論理ユニットが設けられる。これらのモジュールは、説明された実施形態においては、クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスするように構成された中央制御ハブ・モジュールと、一組のストレージ状態が満たされるかどうかを判定するように構成された検出モジュールと、満たされている一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するように構成された作成モジュールと、を含む。
【００１２】
装置は、一実施形態においては、クライアントと１つ又はそれ以上のサーバとの間のストレージ・マッピングを維持し、ストレージ・マッピングをクライアントに提供するように構成される。別の実施形態においては、装置は、ストレージ動作コマンドを解釈すること、動作コマンドに応答して１つ又はそれ以上のサーバと対話すること、１つ又はそれ以上のストレージ・サーバから戻りデータをコンパイルすること、ストレージ動作コマンドに基づいて戻りデータを取り扱うこと、及び結果データをクライアントに戻すことを含む、クライアントから受け取られたストレージ動作コマンドに応答するように構成される。
【００１３】
装置はさらに、一実施形態においては、中央制御ハブ・モジュールによってサービスされたストレージ・サーバ動作がクライアントと１つ又はそれ以上のサーバの少なくとも一方に対して透明性となるように、標準ストレージ動作コマンドを用いて動作するように構成される。別の実施形態においては、ストレージ・サーバの付加的なインスタンスは、ストレージ・サーバに関連するストレージ保守データベースの新しいインスタンスを含み、状態の組は、ストレージ保守データベース閾値を超えることからなる。
【００１４】
さらに別の実施形態においては、装置は、ストレージ・サーバの付加的なインスタンスに対応するストレージ・エージェントの付加的なインスタンスを作成するように構成することができる。
【００１５】
本発明のシステムはまた、データ・ストレージ・サーバの自律的仮想化のために提示される。特に、システムは、一実施形態においては、１つ又はそれ以上のデータ・ストレージ・サーバと、１つ又はそれ以上のサーバと電子的通信状態にあるクライアントと、クライアントと１つ又はそれ以上のサーバとの間のストレージ・サーバ動作をサービスするように構成された中央制御ハブ・モジュールと、一組のストレージ状態が満たされているかどうかを判定するように構成された検出モジュールと、満たされている一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するように構成された作成モジュールとを含む。
【００１６】
システムはさらに、ストレージ・サーバの付加的なインスタンスに対応するストレージ・エージェントの付加的なインスタンスを含んでもよい。システムはまた、クライアントと１つ又はそれ以上のサーバとの間のストレージ・マッピングを維持し、クライアントにストレージ・マッピングを提供するように構成されたマッピング・モジュールと、クライアントから受け取られたストレージ動作コマンドに応答するように構成された応答モジュールとを含んでもよい。応答モジュールは、ストレージ動作コマンドを解釈するように構成された解釈モジュールと、ストレージ動作コマンドに応答して１つ又はそれ以上のサーバと対話するように構成された対話モジュールと、１つ又はそれ以上のストレージ・サーバからの戻りデータをコンパイルするように構成されたコンパイル・モジュールと、戻りデータを取り扱い、結果をクライアントに与えるように構成された結果モジュールとを含んでも良い。
【００１７】
本発明の方法はまた、データ・ストレージ・サーバの自律的仮想化のために提示される。開示された実施形態における方法は、実質的に、説明された装置及びシステムの動作に関して上記に提示された機能を実行するのに必要なステップを含む。
【００１８】
本発明の方法はまた、データ・ストレージ・サーバを自律的に仮想化するように構成された計算インフラストラクチャを配置するために提示される。開示された実施形態における方法は、クライアントと１つ又はそれ以上のストレージ・サーバとの間のストレージ・サーバ動作をサービスし、一組のストレージ状態が満たされているかどうかを判定し、満たされている一組のストレージ状態に対応してストレージ・サーバの付加的なインスタンスを作成するように構成された複数のモジュールを有するソフトウェアをデプロイするステップを含む。この方法はまた、顧客の要求に従って一組のストレージ状態を構成するステップを含む。
【００１９】
さらに別の実施形態においては、方法は、クライアントと、ストレージ・ネットワークによって接続された１つ又はそれ以上のサーバとを含むサーバ・ストレージ・システムを分析するステップと、システムが仮想データ・ストレージ・サーバからの恩恵を受けることができるかどうかを判断するステップと、適正な機能性を保証するためにデプロイされたソフトウェアをテストするステップとを含む。
【００２０】
この明細書全体にわたる、特徴、利点又は同様の言葉についての言及は、本発明と共に実現可能な全ての特徴及び利点が、本発明のいずれかの単一の実施形態にあるということを示すものではない。むしろ、特徴及び利点を言及する言葉は、実施形態と組み合わせて説明された特定の特徴、利点又は特徴が、本発明の少なくとも１つの実施形態に含められることを意味すると理解される。したがって、この明細書全体にわたる特徴及び利点の説明、並びに同様の言語は、必ずしもそうである必要はないが、同じ実施形態について言及するものであってもよい。
【００２１】
さらに、本発明の説明された特徴、利点及び特性は、１つ又はそれ以上の実施形態においては、いずれかの適切な形で組み合わせることができる。本発明は、特定の実施形態の特定の特徴又は利点の１つ又はそれ以上を伴わずに実施されても良いことを当業者であれば認識するであろう。他の場合には、本発明の全ての実施形態に存在するわけではない付加的な特徴及び利点が、特定の実施形態において認識される。
【００２２】
本発明のこれらの特徴及び利点は、以下の説明及び特許請求の範囲の請求項から、より十分に明らかとなるか、又は以下に記載される本発明の実施によって習得される。
【００２３】
本発明の利点をすぐに理解するために、上記に簡潔に示された本発明のより詳細な説明が、添付の図面に示された特定の実施形態を言及することによって与えられる。これらの図面は、本発明の典型的な実施形態のみを示し、それゆえ本発明の範囲を制限すると考えられるべきものではないとの理解のもとに、本発明は、添付の図面の使用を通じて付加的な特定性及び詳細と共に示され、説明される。
【発明を実施するための最良の形態】
【００２４】
この明細書において説明される機能ユニットの多くは、それらの実施の独立性をより具体的に強調するために、モジュールとしてラベル付けされている。例えば、モジュールは、カスタムＶＬＳＩ回路又はゲート・アレイ、論理チップのような市販の半導体、トランジスタ、又は他の個別のコンポーネントを含む、ハードウェア回路として実装されても良い。モジュールはまた、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイスなどのようなプログラマブル・ハードウェア・デバイスにおいて実装されても良い。
【００２５】
モジュールはまた、種々のタイプのプロセッサによって実行されるソフトウェアにおいて実装されても良い。実行可能コードの識別されたモジュールは、例えば、オブジェクト、プロシージャ又は機能として編成される、例えば、コンピュータ命令の１つ又はそれ以上の物理的又は論理的ブロックを含んでも良い。識別されたモジュールの実行可能モジュールは、必ずしも物理的に一緒に位置指定される必要はないが、にもかかわらず、異なる場所に格納された異種の命令を含んでも良く、それは論理的に一緒に組み合わされたときに、モジュールを構成し、前述のモジュールの役目を果たす。
【００２６】
実際には、実行可能コードのモジュールは、単一の命令又は多くの命令とすることができ、幾つかの異なるコード・セグメント上で、異なるプログラムのあいだで、及び幾つかのメモリ・デバイスにわたって、分散されても良い。同様に、動作データは、ここではモジュール内で識別され、示されても良く、いずれかの適切な形態で具現化され、いずれかの適切なタイプのデータ構造内で編成されても良い。動作データは、単一のデータ・セットとして収集されても良く、又は異なるストレージ・デバイス上を含む異なる場所に分散されても良く、少なくとも部分的に、システム又はネットワーク上の単なる電子信号として存在しても良い。
【００２７】
この明細書の全体を通した、「一実施形態」「実施形態」又はそれと同様の言葉についての言及は、実施形態と組み合わせて説明された特定の特徴、構造体、又は特性が、本発明の少なくとも１つの実施形態に含められることを意味する。したがって、この明細書の全体を通した、「一実施形態においては」、「実施形態においては」という句及びそれと同様の言葉の出現は、必ずしもそうである必要はないが、全て同じ実施形態のことをいうのであってもよい。ここで用いられる「自律的」という語は、ユーザの僅かな介入を伴って又は伴わずに、ことによると刺激に応答して、起こることを意味する。「ストレージ・サーバ」という語は、電子データを保存し保守するために典型的に用いられるサーバを構成するソフトウェア及びハードウェアのことをいう。「ストレージ・サーバのインスタンス」という語は、ストレージ・サーバの特定のオカレンスのことをいい、別のストレージ・サーバの複製であっても良い。
【００２８】
信号伝達媒体への言及は、信号を生成する、信号を生成させる、又はデジタル処理装置上の機械可読命令のプログラムを実行させることができる、いずれの形態をとっても良い。信号伝達媒体は、伝送ライン、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチカード、フラッシュメモリ、集積回路又は他のデジタル処理装置メモリ・デバイスによって具現化されても良い。
【００２９】
さらに、本発明の説明された特徴、構造体又は特性は、１つ又はそれ以上の実施形態においてはいずれかの適切な形で組み合わされても良い。以下の説明においては、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、保守データベース・クエリ、保守データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどのような多くの特定の詳細が、本発明の実施形態の十分な理解を与えるために提供される。しかしながら、本発明は、１つ又はそれ以上の特定の詳細なしで、又は他の方法、コンポーネント、材料などを伴って実施されても良いことが、当業者であれば分かるであろう。他の場合には、周知の構造体、材料又は動作は、本発明の態様を不明瞭にするのを避けるために、詳しく示され又は説明されることはない。
【００３０】
図２は、データ・ストレージ・サーバを自律的に仮想化するためのシステム２００の一実施形態を示す。クライアント１２は、一実施形態においては、中央制御ハブ・モジュール２０２に接続され、該モジュールは、１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎに接続され、各サーバ・インスタンス１４ａ−Ｎは、保守データベース１８ａ−Ｎを含む。１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎは、バックエンド・ストレージ１６に接続される。
【００３１】
システム２００は、中央制御ハブ・モジュール２０２を含む。中央制御ハブ・モジュール２０２は、１つ又はそれ以上のクライアント１２と１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎとの間のストレージ・サーバ動作をサービスするために、複数の論理モジュールを含んでも良い。一実施形態においては、中央制御ハブ・モジュール２０２は、あたかも、通信がクライアント１２又はサーバ・インスタンス１４ａ−Ｎの少なくとも１つに対して透明であるようにクライアント１２が単一のサーバと通信したかのように、クライアント１２が複数のサーバ・インスタンス１４ａ−Ｎと通信することを可能にする。透明性は、例えば、クライアント１２が１つより多いサーバ・インスタンス１４ａ−Ｎと通信していることにクライアント１２が気付かないことを意味する。別の実施形態においては、中央制御ハブ・モジュール２０２は、クライアント１２とサーバ・インスタンス１４ａ−Ｎとの間の個々の通信を単純に容易にする。この実施形態においては、中央制御ハブ２０２は、クライアント１２から適切なサーバ・インスタンス１４ａに通信を誘導する。さらに、一実施形態においては、中央制御ハブ・モジュール２０２は、別のハードウェア部品上で実装されても良く、又は別の実施形態においては、サーバ・インスタンス１４ａ−Ｎ又は他のソフトウェア・モジュールとハードウェアを共有しても良い。
【００３２】
中央制御ハブ・モジュール２０２は、一実施形態においては、付加的なサーバ・インスタンス１４ａを自律的に作成するのに必要なロジックを含む。例えば、中央制御ハブ・モジュール２０２は、組のストレージ状態２０４に従って、付加的なサーバ・インスタンス１４ｂが必要とされるかどうかを判断することができる。必要とされる場合には、中央制御ハブ・モジュール２０２は、第２のサーバ・インスタンス１４ｂを作成する。一実施形態においては、中央制御ハブ・モジュール２０２は、サーバ・インスタンス１４ａを複製してサーバ・インスタンス１４ｂを作成する。好ましくは、複製されたサーバ・インスタンス１４ｂは、オリジナルのサーバ・インスタンス１４ａと実質的に同じポリシー、ユーザ及び管理情報を使用する。別の実施形態においては、中央制御ハブ・モジュール２０２は、サーバ・インスタンス１４ａとは実質的に異なるサーバ・インスタンス１４ｂを生成することができる。プロセスは、サーバ・インスタンス１４ａ−Ｎ及びその関連する保守データベース１８ａ−Ｎの作成によって示されるように、不特定回数繰り返されても良い。
【００３３】
組のストレージ状態２０４は、付加的なサーバ・インスタンス１４ｂへの必要性を示す。種々の実施形態においては、組のストレージ状態２０４は、この限りではないが、保守データベース１８ａ内で用いられたストレージ・スペースの量、保守データベース１８ａ内に残っているストレージ・スペースの量、システムにおいて検出されたエラー、ストレージの処理負荷又はユーザによって定義される他の状態を含むファクタを含んでも良い。
【００３４】
一実施形態においては、付加的なサーバ・インスタンス１４ｂの作成は、保守データベース１８ａによるサイズ閾値に達するか又はそれを超えるようなストレージ状態によってトリガされる。例えば、保守データベース１８ａは、その最大容量に近づくか、又はその最適な動作サイズを超えることがある。新たに作成された付加的なサーバ・インスタンス１４ｂは、中央制御ハブ・モジュール２０２がデータベース１８ａ上の負荷を減らすのに用いることができる、付加的な保守データベース１８ｂを含む。例えば、一実施形態においては、中央制御ハブ・モジュール２０２は、サーバ・インスタンス１４ａ上に保存された或るパーセンテージのデータを新しいサーバ・インスタンス１４ｂに移動させるか、又は別の実施形態においては、全ての将来のデータが新しいサーバ・インスタンス１４ｂに誘導されて、クライアント１２が両方のサーバ・インスタンス１４ａ−ｂ上に保存されたデータを有することを可能にする。別の実施形態においては、全ての新しいクライアント１２からの通信が、サーバ・インスタンス１４ａではなく新しいサーバ・インスタンス１４ｂに誘導される。
【００３５】
一実施形態においては、中央制御ハブ・モジュール２０２は、ローカル・エリア・ネットワーク（ＬＡＮ）環境内で動作し、クライアント１２は、そのＬＡＮでサーバ・インスタンス１４ａ−Ｎと通信する。クライアント１２は、中央制御ハブ・モジュール２０２との通信を確立し、それにより、サインオン及び認証の間に、クライアントのメタデータを含むいずれかの二次サーバ１４ｂ−Ｎと共にクライアント１２の一次サーバ１４ａに関する情報を取得するために、ハンドシェークを組み入れることができる。これは、クライアント１２が、中央通信ハブ２０２を通して１つ又はそれ以上のサーバ１４ａ−Ｎと透明な形で通信するか、或いはサーバ・インスタンス１４ａ−Ｎと直接通信することを可能にする。
【００３６】
図３のＡは、検出モジュール３０２、作成モジュール３０４、応答モジュール３０５、マッピング・モジュール３０６及び組のストレージ状態２０４を含む中央通信ハブ・モジュール２０２の一実施形態を示す。好ましくは、中央制御ハブ・モジュール２０２は、１つ又はそれ以上のクライアント１２と１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎとの間のストレージ・サーバ動作をサービスする。さらに、中央制御ハブ・モジュール２０２は、付加的なサーバ・インスタンス１４ｂ−Ｎを作成し、１つ又はそれ以上のクライアント１２と新しいサーバ・インスタンス１４ｂ−Ｎとの間の通信を容易にするように構成される。
【００３７】
一実施形態においては、検出モジュール３０２は、組のストレージ状態２０４内のストレージ状態が満たされているかどうかを判定する。組のストレージ状態２０４における状態の１つを満たすことは、典型的には、付加的なサーバ・インスタンス１４ｂに対する必要性を示す。例えば、１つのストレージ状態２０４は、保守データベース１４ａのサイズ閾値を示すことができる。別のストレージ状態２０４は、サーバ負荷閾値を定義することができる。或いは、付加的なサーバ・インスタンス１４ｂの作成をトリガするために、関連するストレージ状態２０４の組み合わせが要求されることがある。特定の実施形態においては、組のストレージ状態２０４は、ユーザ又はコンピュータ入力によって変化され又は再構成されても良い。
【００３８】
いつストレージ状態２０４が満たされたかを検出するために、検出モジュール３０２は、サーバ・インスタンス１４ａ−Ｎを監視する。マッピング・モジュール３０６は、保守データベース・サイズのような更新されたストレージ状態情報を中央制御ハブ２０２上に周期的に保存することが好ましい。検出モジュール３０２は、ストレージ状態情報にアクセスして、ストレージ状態２０４の１つが満たされているかどうかを判定する。別の実施形態においては、検出モジュール３０２が、ストレージ状態２０４のオカレンスについて周期的にテストする。例えば、中央制御ハブ・モジュール２０２は、サーバ・インスタンス１４ａ−Ｎに周期的に照会して、ストレージ状態２０４が満たされたかどうかを示す各サーバ・インスタンス１４ａ−Ｎからの応答を促す。さらに別の実施形態においては、各サーバ・インスタンス１４ａ−Ｎは、ストレージ状態２０４の１つが満たされたときに、検出モジュール３０２に通知するように構成される。このようにして、ストレージ状態２０４は、いつ新しいサーバ・インスタンス１４ａ−Ｎが要求されたかを判定するために自動的にチェックされる。
【００３９】
作成モジュール３０４は、１つ又はそれ以上のストレージ状態２０４が満たされたことを示す検出モジュール３０２からの信号に応答して、付加的なサーバ・インスタンス１４ｂ−Ｎを作成する。一実施形態においては、作成モジュール３０４は、管理コンソール（図示せず）からのユーザ入力に応答して、付加的なサーバ・インスタンス１４ｂ−Ｎを作成する。別の実施形態においては、新しいサーバ・インスタンス１４ｂは、実質的に同じポリシー、ユーザ、及び管理情報を用いる別の既存のサーバ・インスタンス１４ａから複製される。新しいサーバ・インスタンス１４ｂは、中央制御ハブ・モジュール２０２に対して利用可能な又はその内部に格納されたソフトウェアを用いて生成されることが好ましい。新しいサーバ・インスタンス１４ｂが生成されると、作成モジュール３０４は、別のサーバ・インスタンス１４ａからの設定をコピーすることによって、又は別の実施形態においては、ファイル又はスクリプトから構成設定を読み出すことによって、それを構成する。さらに、作成モジュール３０４は、新しいサーバ・インスタンス１４ｂ、クライアント１２及び中央制御ハブ２０２間の通信を開始する。一実施形態においては、新しいサーバ・インスタンス１４ｂが、それ独自のポリシー、ユーザ及びユーザによって定義された管理情報と共に作成される。
【００４０】
応答モジュール３０５と、ストレージ・マッピング３１０を含むマッピング・モジュール３０６が、以下に詳しく説明される。
【００４１】
図３のＢは、本発明に係る応答モジュール３０５の一実施形態を示す概略的なブロック図である。応答モジュール３０５は、解釈モジュール３１４、対話モジュール３１６、コンパイル・モジュール３１８及び結果モジュール３２０を含む。応答モジュール３０５は、クライアント１２から受け取られたストレージ動作コマンド３０８に応答することによって、クライアント１２とサーバ・インスタンス１４ａ−Ｎとの間の通信を容易にするように構成されることが好ましい。ストレージ動作コマンド３０８は、照会、復元又は当業者には認識される他のストレージ動作コマンドのような、クライアント１２とストレージ・サーバ・インスタンス１４ａとの間の典型的な通信を含む。
【００４２】
解釈モジュール３１４は、ストレージ動作コマンド３０８を解釈するように構成される。例えば、クライアント１２は、照会要求又は復元コマンドを中央制御ハブ・モジュール２０２に送信することができる。解釈モジュール３１４は、コマンドを受信し、対応する信号を対話モジュール３１６に送信する。対話モジュール３１６は、ストレージ動作コマンド３０８に応答して１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎと対話する。例えば、照会要求又は他の標準ストレージ動作コマンド３０８が、中央制御ハブ・モジュール２０２によって受信された場合には、対話モジュール３１６が、対応するコマンドを適切なサーバ・インスタンス１４ａ−Ｎの各々に送信して、複数のサーバ・インスタンス１４ａ−Ｎと透明な形で通信する。
【００４３】
コンパイル・モジュール３１８は、サーバ・インスタンス１４ａ−Ｎからの戻りデータをコンパイルし、一実施形態においては、あたかもクライアント１２が単一のサーバ・インスタンス１４ａと直接通信したかのように、データをクライアント１２に提示することができる。結果モジュール３２０は、ストレージ動作コマンド３０８に基づいて戻りデータを取り扱い、取り扱われた結果データをクライアント１２に戻す。例えば、結果モジュール３１２は、重複アクティブ・オブジェクトを除外して、結果データをソートすることができ、又は最新の結果データのみをクライアント１２に戻すことができる。結果データはまた、サーバ・インスタンス１４ａ−Ｎが要求されたデータを維持するようなメタデータを含むことができる。メタデータは、クライアント１２が、復元又は検索のような他の動作コマンドをサーバ・インスタンス１４ａに直接に発行することを可能にする。
【００４４】
別の実施形態においては、中央制御ハブ・モジュール２０２は、クライアント１２からの照会コマンドを受信し、結果データをコンパイルしてクライアント１２に戻す代わりに、中央制御ハブ２０２は、照会及びクライアント情報を各サーバ・インスタンス１４ａ−Ｎに誘導することによって、プロキシとして働く。その結果、関係する個々のサーバ・インスタンス１４ａ−Ｎは、データ結果をクライアント１２に直接送信することができる。クライアント１２は、戻りデータをコンパイルし、処理することができる。
【００４５】
図４は、本発明に係るマッピング・モジュール３０６の一実施形態を示す概略的なブロック図である。マッピング・モジュール３０６は、クライアント１２と１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎとの間のストレージ・マッピング３１０を維持し、クライアント１２にストレージ・マッピングを提供するように構成される。マッピング・モジュール３０６は、どのクライアント４０４が所有データをどのサーバ・インスタンス４０６上にもつか、どのファイルスペース４０８がどのサーバ・インスタンス４０６上に保存されるか、並びに、いつマッピング・データが保存されたか及びいつマッピング・データが最後に修正されたかを識別する時の情報４１０といった情報を有する、クライアント対サーバ・マッピング４０２を含むことができる。
【００４６】
同じくストレージ・マッピング３１０に含まれるのは、ハードウェア４１２の可用性及び付加的なサーバ・インスタンス１４ａ−Ｎの作成において用いられるストレージ・スペースの可用性４１４を示す情報である。しかしながら、ストレージ・マッピング３１０は、これらのカテゴリに限定されず、クライアントとサーバとの関係性に関する、より多くの又はより少ない情報を含むことができる。図示されるように、ストレージ・マッピング３１０は、２つのクライアント及び２つのサーバについての情報を示す。クライアントＡは、サーバ１上に２つのファイルスペースを有し、サーバ２上に１つのファイルスペースを有する。クライアントＢは、サーバ２上に位置指定された２つのファイルスペースを有し、そのうち一方は、長期間の保存用であり、もう一方は、ファイルスペース名によって示されるシステム状態のバックアップ用である。この情報は、クライアント１２とサーバ・インスタンス１４ａ−Ｎとの間の標準ストレージ動作コマンド３０８をサービスするために、中央制御ハブ２０２によって用いられる。
【００４７】
一実施形態においては、クライアント１２は、クライアント１２が、そこからの照会を望む、時の情報４０２を含むファイルスペース４０８について中央制御ハブ・モジュール２０２に照会することができる。マッピング・モジュール３０６は、一実施形態においては、クライアント対サーバ・マッピング４０２を検索し、ファイルスペース対サーバ応答のリストをクライアント１２に戻す。クライアント１２は、ファイルスペース対サーバ応答のリストに含められたサーバ・インスタンス１４ａ−Ｎの各々に個々の照会を発行し、ユーザに透明なビューを提示するために結果をコンパイルすることができる。
【００４８】
一実施形態においては、クライアント１２は、スタートアップ時にマッピング・モジュール３０６に照会して、クライアント１２の所有するデータがどこに格納されるかを識別する。マッピング・モジュール３０６によって戻されたメタデータは、複数のサーバについてのサーバ名、通信方法、通信情報等のようなサーバ情報を示すことができる。クライアント１２は、このメタデータをメモリに保存することができる。クライアント１２は、このメタデータを参照して、必要であればサーバ・インスタンス１４ａと直接通信することができる。新しいサーバ・インスタンス１４ｂ−Ｎが作成モジュール３０４によって作成されたときに、メモリに新しい情報が追加されても良い。
【００４９】
種々の実施形態におけるサーバ認証については、パスワードを、中央制御ハブ・モジュール２０２に保存し、サーバ・インスタンス１４ａ−Ｎにわたって同期化し、又はサーバ・インスタンス１４ａ−Ｎの外部の幾つかのエンティティに移動させることができる。複数のサーバ・インスタンス１４ａ−Ｎにアクセスするためのパスワードが中央制御ハブ・モジュール２０２上に保存される場合には、クライアント１２は、Ｔｉｖｏｌｉ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｒのような従来のサーバ管理ソフトウェアを用いて認証が処理されるのと同時に中央制御ハブ２０２を認証しても良い。一実施形態においては、クライアント１２は、あたかも中央制御ハブ２０２がサーバ・インスタンス１４ａであったかのように、中央制御ハブ・モジュール２０２を認証する。中央制御ハブ２０２は、セッション・キーを全ての適切なサーバ・インスタンス１４ａ−Ｎに送信し、認証の成功／失敗がクライアント１２に戻される。セッション・キーは、クライアント１２とサーバ・インスタンス１４ａ−Ｎとの間で直接通信されたデータを暗号化するのに用いられる。
【００５０】
図５は、ＬＡＮフリー環境におけるデータ・ストレージ・システム５００の一実施形態を示す概略的なブロック図である。ストレージ・エージェント５０４ａ−ｂは、当業者には認識されるように、ＬＡＮフリー・パス上での通信を容易にする。ＬＡＮフリー・パス５０８は、ＬＡＮ５０６をバイパスし、クライアント１２とサーバ・インスタンス１４ａとの間でデータが直接伝送されることを可能にする通信パスである。ＬＡＮフリー・パスは、ＬＡＮ５０６上の負荷を減少させる利点を有する。ＬＡＮパス５１０は、ＬＡＮ５０６のコンポーネント及びメンバーを含む通信パスである。一実施形態においては、中央制御ハブ・モジュール２０２は、ストレージ・エージェントと同様に適応されるが、クライアント１２とサーバ・インスタンス１４ａ及び１４ｂとの間のＬＡＮパスウェイ通信をサービスする。
【００５１】
典型的には、ＬＡＮフリー環境においては、クライアント１２は、適切なサーバ・インスタンス情報を得るために、ハンドシェーク・プロトコルを実行することによって、ストレージ・エージェント５０４ａに接続する。サーバ・インスタンス情報が得られると、ストレージ・エージェント５０４ａからの補助なしに、クライアント１２がサーバ・インスタンス１４ａに接続する。本発明の一実施形態においては、クライアントのデータは、複数のサーバ・インスタンス１４ａ−Ｎ上に保存されても良く、各々は、対応するストレージ・エージェント・インスタンス５０４ａ−Ｎを伴う。マッピング・モジュール３０６（図３参照）は、一実施形態においては、クライアント１２が中央制御ハブ・モジュール２０２との通信を開始し、適切なストレージ・エージェント情報について照会することを可能にする、クライアント対ストレージ・エージェントのマッピング情報を含むことができる。例えば、ストレージ・マッピング３１０は、各クライアント４０２が１つ又はそれ以上のストレージ・エージェント５０４ａ−ｂ及び１つ又はそれ以上のサーバ・インスタンス４０６にマップされるように、各サーバ・インスタンス４０６に対応するストレージ・エージェント・インスタンス５０４ａを含むことができる。照会結果がクライアント１２に戻されると、クライアント１２は、適切なストレージ・エージェント・インスタンス５０４ａとの通信を開始することができ、ストレージ動作コマンド３０８は、通常通りに続行することができる。ＬＡＮフリー環境においては、付加的なサーバ・インスタンス１４ｂ−Ｎが作成されたときに、中央制御ハブ２０２はまた、付加的なサーバ・インスタンス１４ｂ−Ｎに対応する関連するストレージ・エージェント５０４ｂを作成することができる。
【００５２】
追随する概略的なフローチャート図は、通常は、論理フローチャート図として記載される。したがって、示された順序及びラベル付きステップは、本発明の方法の一実施形態の表れである。図示された方法の機能、論理、或いは１つ又はそれ以上のステップへの影響、もしくはその一部が等価な、他のステップ及び方法を考えることもできる。さらに、使用されたフォーマット及びシンボルは、方法の論理ステップを説明するために提供され、本発明の範囲を制限するためのものではないと理解される。フローチャート図においては、種々の矢印タイプ及び線タイプが用いられたが、それらは、対応する方法の範囲を制限するためのものではないと理解される。代わりに、方法の論理フローのみを示すために、幾つかの矢印又は他のコネクタを用いても良い。例えば、矢印は、図示された方法の列挙されたステップ間の指示されていない待ち時間又は監視時間を示しても良い。さらに、特定の方法が行われる順序は、示された対応するステップの順序を厳密に順守しても良いし、しなくても良い。
【００５３】
図６は、本発明に係る、データ・ストレージ・サーバ１４の仮想化のための方法６００の一実施形態を示す概略的なフローチャートである。方法６００が開始し６０２、中央制御ハブ・モジュール２０２が初期化する６０４。種々の実施形態における中央制御ハブ・モジュール２０２の初期化は、この限りではないが、中央制御ハブ２０２に電力を与えるステップ、中央制御ハブ・モジュール２０２とのハンドシェーク・プロトコルを実行するステップ、又はクライアント１２と中央制御ハブ・モジュール２０２との間の通信を確立するステップを含んでも良い。一実施形態においては、中央制御ハブ・モジュール２０２は、クライアント１２と１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎとの間のストレージ・サーバ動作を、動作が、クライアント１２及び１つ又はそれ以上のサーバ１４ａ−Ｎの少なくとも１つに対して透明となるようにサービスする。こうした透明性は、複数の付加的なストレージ・サーバ１４ａ−Ｎを、動的に、クライアント１２又はサーバ・インスタンス１４ａ−Ｎに対するソフトウェア変更なしに提供する利点を有する。その結果、保守データベース１８ａ−Ｎのサイズ制約によって課された制限が克服される。
【００５４】
一実施形態においては、中央制御ハブ・モジュール２０２は、各クライアント１２と中央制御ハブ・モジュール２０２に接続された各サーバ・インスタンス１４ａ−Ｎとの間の関係に関する情報をロギングすることによって、クライアントとサーバとのマッピング４０２を維持する６０６。クライアントとサーバとのマッピング４０２は、どのクライアント４０４がどのサーバ４０６上に保存されたファイルを有するか、どこにクライアントのファイルスペースが位置指定されているか、及びいつクライアントのファイルが保存され４１０又は最後にアクセスされたか４１０といった情報を含んでも良い。マッピング４０２はまた、ストレージ・エージェント５０４ａ、利用可能なハードウェア４１２及び利用可能なストレージ・スペース４１４に関する情報を含んでも良い。
【００５５】
次に、中央制御ハブ・モジュール２０２は、ストレージ動作コマンド３０８が受信されたことを判定する６０８。受信された場合には、中央制御ハブ・モジュール２０２が、サーバ・インスタンス１４ａの代わりにストレージ動作コマンド３０８をサービスし６１０、又は処理のためにストレージ動作コマンド３０８を適切なサーバ・インスタンス１４ａ−Ｎに誘導する。ストレージ動作コマンド３０８をサービスすることは、照会、復元／検索コマンド、バックアップ／アーカイブ・コマンド、サーバ認証要求又は当業者には認識される他のストレージ動作コマンド３０８に応答することを含んでもよい。したがって、中央制御ハブ・モジュール２０２は、ストレージ動作コマンドを解釈し、１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎと対話し、１つ又はそれ以上のサーバ・インスタンス１４ａ−Ｎから戻りデータをコンパイルし、及び適切な結果をクライアント１２に提供するために戻りデータを取り扱ってもよい。別の実施形態においては、中央制御ハブ・モジュール２０２は、クライアント１２にマッピング情報を直接に提供して、クライアント１２が適切なサーバ・インスタンス１４ａ−Ｎと直接に通信することを可能にする。
【００５６】
次に、中央制御ハブ・モジュール２０２は、新しいサーバ・インスタンス１４ｂ−Ｎが必要とされるかどうかを判定する６１２。中央制御ハブ・モジュール２０２は、組のストレージ状態２０４を評価する。ストレージ状態２０４が満たされている場合には、中央制御ハブ・モジュール２０２が新しいサーバ・インスタンス１４ｂを作成する６１４。新しいサーバ・インスタンス１４ｂは、一実施形態においては、中央制御ハブ・モジュール２０２に利用可能な新しいサーバ・インスタンス１４ｂを定義するソフトウェアを実行することによって作成することができる。別の実施形態においては、新しいサーバ・インスタンス１４ｂは、既存のサーバ１４ａから複製されても良く、実質的に同じポリシー、ユーザ及び管理情報を用いても良い。新しいサーバ・インスタンス１４ｂはまた、新しいサーバ・インスタンス１４ｂに関連するストレージ保守データベース１８ｂの新しいインスタンスを含んでも良い。次に、方法６００は、クライアントとサーバとのマッピング４０２を維持するステップ６０６に戻る。新しいサーバ・インスタンスが必要とされない場合には６１２、中央制御ハブ・モジュール２０２がクライアントとサーバとのマッピング６０６を維持し続ける。
【００５７】
本発明はまた、データ・ストレージ・サーバを自律的に仮想化するように構成されたコンピューティング・インフラストラクチャをデプロイするための方法を含む。一実施形態においては、複数のモジュールであって、クライアント１２と１つ又はそれ以上のストレージ・サーバ１４ａ−Ｎとの間のストレージ・サーバ動作３０８をサービスし、一組のストレージ状態２０４が満たされているかどうかを判定し、満たされている一組のストレージ状態に対応してストレージ・サーバ１４ｂ−Ｎの付加的なインスタンスを作成するための複数のモジュールを含む、ソフトウェアがデプロイされる。方法はまた、顧客要求に従う組のストレージ状態２０４を構成するステップを含んでも良い。組のストレージ状態２０４は、種々の実施形態においては、現在のストレージ保守データベース１８ａがサイズ閾値を上回ること、又はサーバ作業負荷がサーバ負荷閾値を超えることを含んでも良い。
【００５８】
一実施形態においては、この方法はまた、クライアント１２と、ストレージ・ネットワークによって接続された１つ又はそれ以上のサーバ１４ａ−Ｎとを含むサーバ・ストレージ・システム２００を分析するステップと、システム２００が仮想データ・ストレージ・サーバからの恩恵を受けることができるかどうかを判定するステップと、適正な機能性を保証するためにデプロイされたソフトウェアをテストするステップとを含む。
【００５９】
本発明は、その精神又は本質的な特性から逸脱することなく、他の特定の形態で具現化されても良い。説明された実施形態は、全ての点で、単なる例であって制限するものではないと考えられるべきである。したがって、本発明の範囲は、上記の説明によってではなく添付の請求項によって示される。請求項の均等性の意味及び範囲内にある全ての変更は、それらの範囲内に含まれるべきである。
【図面の簡単な説明】
【００６０】
【図１】従来のデータ・ストレージ・システムを示す概略的なブロック図である。
【図２】本発明に係るデータ・ストレージ・システムの一実施形態を示す概略的なブロック図である。
【図３】Ａは、本発明に係る中央制御ハブ・モジュールの一実施形態を示す概略的なブロック図であり、Ｂは、本発明に係る応答モジュールの一実施形態を示す概略的なブロック図である。
【図４】本発明に係るマッピング・モジュールの一実施形態を示す概略的なブロック図である。
【図５】本発明に係るＬＡＮフリー環境におけるデータ・ストレージ・システムの一実施形態を示す概略的なブロック図である。
【図６】本発明に係るデータ・ストレージ・サーバの仮想化方法の一実施形態を示す概略的なブロック図である。
【符号の説明】
【００６１】
２００：データ・ストレージ・サーバを自律的に仮想化するためのシステム
【図１】
2007115251.tif 000005
【図２】
2007115251.tif 000006
【図３】
2007115251.tif 000007
【図４】
2007115251.tif 000008
【図５】
2007115251.tif 000009
【図６】
2007115251.tif 000010