(57)【特許請求の範囲】
【請求項１】
少なくとも１つのホスト・コンピュータ、少なくとも１つの記憶システム、および少なくとも１つの接続性リソースを含むコンピュータ・システムにおいて、１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された仕様を満たすようにコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法であって、
（Ａ）  前記プロビジョニング要求を読み取るコンピュータ実行動作と、
（Ｂ）  前記プロビジョニング要求において提供された前記仕様を満たすように、少なくとも１つのホスト・コンピュータから少なくとも１つのリソースと、少なくとも１つの記憶システムから少なくとも１つのリソースと、前記少なくとも１つのホスト・コンピュータを前記少なくとも１つの記憶システムに接続する少なくとも１つの接続性リソースから少なくとも１つのリソースと、を前記論理的連携に関する要求を満たすように自動的にプロビジョニングするコンピュータ実行動作であって、
（Ｂ１）  前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択し、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正し、選択されたリソースが前記プロビジョニング要求を満たすかどうかを判定する動作と、
（Ｂ２）  前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するための一連のアクションを備えたトランザクションを作成する動作と、
（Ｂ３）  前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するために前記トランザクションを実行する動作と
を含む、コンピュータ実行動作と
を備える方法。
【請求項２】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記少なくとも１つの構成要素は、ファイル・システムと、論理ボリューム・マネージャと、データベース・マネージャとのうちの少なくとも１つを含み、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータにおける前記少なくとも１つの構成要素に割り当てるトランザクションを作成する動作を備える、方法。
【請求項３】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータの少なくとも１つのポートに割り当て、該ポートを通じて、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの構成要素にアクセス可能とするトランザクションを作成する動作を備える、方法。
【請求項４】
請求項１に記載の方法において、前記動作（Ｂ１）は、前記プロビジョニング要求を満たす情報を格納するために前記少なくとも１つのホスト・コンピュータにより使用され、かつ前記少なくとも１つの記憶システムによって提供される少なくとも１つの論理記憶ボリュームを選択する動作を備える、方法。
【請求項５】
請求項４に記載の方法において、前記動作（Ｂ２）は、前記選択された少なくとも１つの論理ボリュームを、前記プロビジョニング要求を満たすように構成するトランザクションを作成する動作を備える、方法。
【請求項６】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングし、該ポートを通じて前記論理ボリュームのうちの少なくとも１つにアクセス可能とするトランザクションを作成する動作を備える、方法。
【請求項７】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも２つの間のミラー関係を形成するトランザクションを作成する動作を備える、方法。
【請求項８】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記少なくとも１つの接続性リソースを通じた通信経路を構成して、前記論理ボリュームのうちの少なくとも１つが、前記少なくとも１つのホスト・コンピュータにアクセス可能となって情報を格納するようにするトランザクションを作成する動作を備える、方法。
【請求項９】
請求項８に記載の方法において、前記動作（Ｂ２）は、前記少なくとも１つの接続性リソースを通じた少なくとも２つの並列な通信経路を構成して、前記論理ボリュームのうちの少なくとも１つを前記少なくとも１つのホスト・コンピュータにアクセス可能とするトランザクションを作成する動作を備える、方法。
【請求項１０】
請求項１に記載の方法において、前記少なくとも１つのホスト・コンピュータは、複数のホスト・コンピュータを備え、前記少なくとも１つの記憶システムは、情報を格納するために前記複数のコンピュータによって使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記コンピュータ・システムをゾーン化し、前記複数のホスト・コンピュータの部分集合にのみ、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにするトランザクションを作成する動作を備える、方法。
【請求項１１】
請求項１に記載の方法において、前記動作（Ｂ１）は、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースに問い合わせを行うことによって、前記プロビジョニング要求を満たす選択のために、どのリソースが使用可能かの判定を行う動作と、
前記判定動作に応答して、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択する動作と、
を備える、方法。
【請求項１２】
請求項１に記載の方法において、前記コンピュータ・システムは、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースのうちの少なくとも１つからの使用可能なリソースに関する情報を備える少なくとも１つのデータ集合を備えており、前記動作（Ｂ１）は、
前記データ集合に問い合わせを行うことによって、前記プロビジョニング要求を満たすためにどのリソースが使用可能かを判定する動作と、
前記判定動作に応答して、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択する動作と、
を備える、方法。
【請求項１３】
請求項１に記載の方法は、更に、動作（Ａ）および（Ｂ）の前に、
（Ｃ）  前記プロビジョニング要求を作成する動作、
を備える、方法。
【請求項１４】
請求項１３に記載の方法において、前記動作（Ｃ）は、
（Ｃ１）  既存のコンピュータ・システムの構成の仕様を作成するために、前記既存のコンピュータ・システムのリバース・エンジニアリングを行う動作と、
（Ｃ２）  前記プロビジョニング要求において提供された仕様を作成するために、前記既存のコンピュータ・システムの仕様を修正する動作と、
を備える、方法。
【請求項１５】
請求項１４に記載の方法において、前記動作（Ｃ１）は、コンピュータ実行動作である、方法。
【請求項１６】
請求項１に記載の方法において、前記少なくとも１つの接続性リソースは、前記少なくとも１つのホスト・コンピュータと前記少なくとも１つの記憶システムとを相互接続するネットワークの少なくとも一部を形成する少なくとも１つのネットワーク・リソースを備えており、前記動作（Ｂ）は、前記少なくとも１つのネットワーク・リソースのプロビジョニングを自動的に行う動作を備える、方法。
【請求項１７】
請求項４に記載の方法において、前記動作（Ｂ１）は、前記選択された少なくとも１つの論理ボリュームが、前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの性能特性を考慮する動作を備える、方法。
【請求項１８】
請求項４に記載の方法において、前記動作（Ｂ１）は、前記選択された少なくとも１つの論理ボリュームが、前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの記憶容量を考慮する動作を備える、方法。
【請求項１９】
請求項５に記載の方法において、前記動作（Ｂ２）は、前記選択された少なくとも１つの論理ボリュームを、動的な割り当てに利用可能なスペア・ボリュームとして使用できるように構成するトランザクションを作成する動作を備える、方法。
【請求項２０】
請求項６に記載の方法において、前記少なくとも１つの記憶システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの記憶システムの第１ポートにマッピングされており、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記第１ポートとは異なる前記少なくとも１つの記憶システムの第２ポートにマッピングし直すトランザクションを作成する動作を備える、方法。
【請求項２１】
請求項１０に記載の方法において、前記コンピュータ・システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記コンピュータ・システムはゾーン化され、前記複数のホスト・コンピュータの第１部分集合に、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにしており、前記動作（Ｂ２）は、前記コンピュータ・システムをゾーン化し直して、前記第１部分集合とは異なる前記複数のホスト・コンピュータの第２部分集合のみに、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにするトランザクションを作成する動作を備える、方法。
【請求項２２】
請求項１に記載の方法において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な複数の論理記憶ボリュームを提供し、前記コンピュータ・システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記少なくとも１つの記憶システムによって提供される前記複数の論理ボリュームのうちの少なくとも一部を、前記少なくとも１つのホスト・コンピュータにおける１つの構成要素に割り当てており、前記方法は、更に、前記複数の論理ボリュームのうちの１つを割り当てるトランザクションを実行する前に、前記複数の論理ボリュームのうちの前記１つが、前記少なくとも１つのホスト・コンピュータにおける別の構成要素に既に割り当てられていないことを判定する動作を備える、方法。
【請求項２３】
請求項１に記載の方法において、前記動作（Ｂ）は前記動作（Ｂ３）において実行する一連のアクションの少なくとも一部を取り消す動作（Ｂ４）を備えている、方法。
【請求項２４】
請求項２３に記載の方法において、前記動作（Ｂ４）は、
（Ｂ４ａ）  前記動作（Ｂ２）において作成した一連のアクションを取り消す一連の取り消しアクションを備える取り消しトランザクションを作成する動作と、
（Ｂ４ｂ）  前記一連の取り消しアクションの少なくとも一部を実行する動作と、
を備える、方法。
【請求項２５】
少なくとも１つのホスト・コンピュータ、少なくとも１つの記憶システム、および少なくとも１つの接続性リソースを含むコンピュータ・システムにおいて実行された場合、１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された前記論理的連携に関する仕様を満たすようにコンピュータ・システムのうちの少なくとも一部のプロビジョニングを行う方法を実行するためのエンコードされたコンピュータ・プログラムが記憶されたコンピュータ可読媒体であって、該方法が、
（Ａ）  前記プロビジョニング要求を読み取る動作と、
（Ｂ）  前記プロビジョニング要求において提供された前記仕様を満たすように、少なくとも１つのホスト・コンピュータから少なくとも１つのリソースと、少なくとも１つの記憶システムから少なくとも１つのリソースと、前記少なくとも１つのホスト・コンピュータを前記少なくとも１つの記憶システムに接続する少なくとも１つの接続性リソースから少なくとも１つのリソースと、を自動的にプロビジョニングする動作であって、
（Ｂ１）  前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択する動作であって、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正し、選択されたリソースが前記設定要求を満たすかどうかを判定する、選択動作と、
（Ｂ２）  前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するための一連のアクションを備えるトランザクションを作成する動作と、
（Ｂ３）  前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するために前記トランザクションを実行する動作と、
を実行する方法を備える、コンピュータ可読媒体。
【請求項２６】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記少なくとも１つの構成要素は、ファイル・システムと、論理ボリューム・マネージャと、データベース・マネージャとのうちの少なくとも１つを含み、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータにおける前記少なくとも１つの構成要素に割り当てるトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項２７】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータの少なくとも１つのポートに割り当て、該ポートを通じて、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの構成要素にアクセス可能とするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項２８】
請求項２５に記載のコンピュータ可読媒体において、前記動作（Ｂ１）は、前記プロビジョニング要求を満たす情報を格納するために、前記少なくとも１つのホスト・コンピュータにより使用され、かつ前記少なくとも１つの記憶システムによって提供される少なくとも１つの論理記憶ボリュームを選択する動作を備える、コンピュータ可読媒体。
【請求項２９】
請求項２８に記載のコンピュータ可読媒体において、前記動作（Ｂ２）は、前記選択された少なくとも１つの論理ボリュームを、前記プロビジョニング要求を満たすように構成するトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３０】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングし、該ポートを通じて前記論理ボリュームのうちの少なくとも１つにアクセス可能とするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３１】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも２つの間のミラー関係を形成するトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３２】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記少なくとも１つの接続性リソースを通じた通信経路を構成して、前記論理ボリュームのうちの少なくとも１つが、前記少なくとも１つのホスト・コンピュータにアクセス可能となって情報を格納するようにするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３３】
請求項３２に記載のコンピュータ可読媒体において、前記動作（Ｂ２）は、前記少なくとも１つの接続性リソースを通じた少なくとも２つの並列な通信経路を構成して、前記論理ボリュームのうちの少なくとも１つを前記少なくとも１つのホスト・コンピュータにアクセス可能とするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３４】
請求項２５に記載のコンピュータ可読媒体において、前記少なくとも１つのホスト・コンピュータは、複数のホスト・コンピュータを備え、前記少なくとも１つの記憶システムは、情報を格納するために前記複数のコンピュータによって使用可能な論理記憶ボリュームを提供し、前記動作（Ｂ２）は、前記コンピュータ・システムをゾーン化し、前記複数のホスト・コンピュータの部分集合にのみ、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項３５】
請求項２５に記載のコンピュータ可読媒体において、前記動作（Ｂ１）は、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースに問い合わせを行うことによって、前記プロビジョニング要求を満たす選択のために、どのリソースが使用可能か判定を行う動作と、
前記判定動作に応答して、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択する動作と、
を備える、コンピュータ可読媒体。
【請求項３６】
請求項２５に記載のコンピュータ可読媒体において、前記コンピュータ・システムは、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースのうちの少なくとも１つからの使用可能なリソースに関する情報を備える少なくとも１つのデータ集合を備えており、前記動作（Ｂ１）は、
前記データ集合に問い合わせを行うことによって、前記プロビジョニング要求を満たすためにどのリソースが使用可能かを判定する動作と、
前記判定動作に応答して、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択する動作と、
を備える、コンピュータ可読媒体。
【請求項３７】
請求項２４に記載のコンピュータ可読媒体において、前記方法は、更に、動作（Ａ）および（Ｂ）の前に、
（Ｃ）  前記プロビジョニング要求を作成する際に補助する動作を備える、コンピュータ可読媒体。
【請求項３８】
請求項３７に記載のコンピュータ可読媒体において、前記動作（Ｃ）は、
（Ｃ１）  既存のコンピュータ・システムの構成の仕様を作成するために、前記既存のコンピュータ・システムのリバース・エンジニアリングを行う動作、
を備える、コンピュータ可読媒体。
【請求項３９】
請求項３８に記載のコンピュータ可読媒体において、前記動作（Ｃ１）は、コンピュータ実行動作である、コンピュータ可読媒体。
【請求項４０】
請求項２４に記載のコンピュータ可読媒体において、前記少なくとも１つの接続性リソースは、前記少なくとも１つのホスト・コンピュータと前記少なくとも１つの記憶システムとを相互接続するネットワークの少なくとも一部を形成する少なくとも１つのネットワーク・リソースを備えており、前記動作（Ｂ）は、前記少なくとも１つのネットワーク・リソースのプロビジョニングを自動的に行う動作を備える、コンピュータ可読媒体。
【請求項４１】
請求項２８に記載のコンピュータ可読媒体において、前記動作（Ｂ１）は、前記選択された少なくとも１つの論理ボリュームは、前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの性能特性を考慮する動作を備える、コンピュータ可読媒体。
【請求項４２】
請求項２８に記載のコンピュータ可読媒体において、前記動作（Ｂ１）は、前記選択された少なくとも１つの論理ボリュームが前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの記憶容量を考慮する動作を備える、コンピュータ可読媒体。
【請求項４３】
請求項２９に記載のコンピュータ可読媒体において、前記動作（Ｂ２）は、前記選択された少なくとも１つの論理ボリュームを、動的な割り当てに利用可能なスペア・ボリュームとして使用できるように構成するトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項４４】
請求項３０に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの記憶システムの第１ポートにマッピングされており、前記動作（Ｂ２）は、前記論理ボリュームのうちの少なくとも１つを、前記第１ポートとは異なる前記少なくとも１つの記憶システムの第２ポートにマッピングし直すトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項４５】
請求項３４に記載のコンピュータ可読媒体において、前記コンピュータ・システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記コンピュータ・システムはゾーン化され、前記複数のホスト・コンピュータの第１部分集合に、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにしており、前記動作（Ｂ２）は、前記コンピュータ・システムをゾーン化し直して、前記第１部分集合とは異なる前記複数のホスト・コンピュータの第２部分集合のみに、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにするトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項４６】
請求項２４に記載のコンピュータ可読媒体において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な複数の論理記憶ボリュームを提供し、前記コンピュータ・システムは、前記動作（Ｂ）の実行前に、既存の構成を有し、該構成において、前記少なくとも１つの記憶システムによって提供される前記複数の論理ボリュームのうちの少なくとも一部を、前記少なくとも１つのホスト・コンピュータにおける１つの構成要素に割り当てており、前記方法は、更に、前記複数の論理ボリュームのうちの１つを割り当てるトランザクションを実行する前に、前記複数の論理ボリュームのうちの前記１つが、前記少なくとも１つのホスト・コンピュータにおける別の構成要素に既に割り当てられていないことを判定する動作を備える、コンピュータ可読媒体。
【請求項４７】
請求項２５に記載のコンピュータ可読媒体において、前記動作（Ｂ）は、前記動作（Ｂ３）において実行する一連のアクションの少なくとも一部を取り消す動作（Ｂ４）を備える、コンピュータ可読媒体。
【請求項４８】
請求項４７に記載のコンピュータ可読媒体において、前記動作（Ｂ４）は、
（Ｂ４ａ）  前記動作（Ｂ２）において作成した一連のアクションを取り消す一連の取り消しアクションを備える取り消しトランザクションを作成する動作と、
（Ｂ４ｂ）  前記一連の取り消しアクションの少なくとも一部を実行する動作と、
を備える、コンピュータ可読媒体。
【請求項４９】
１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された仕様を満たすように、少なくとも１つのホスト・コンピュータ、少なくとも１つの記憶システム、および少なくとも１つの接続性リソースの各々は、複数のリソースを備えるコンピュータ・システムにおいて、少なくとも１つのホスト・コンピュータから少なくとも１つのリソースと、少なくとも１つの記憶システムから少なくとも１つのリソースと、前記少なくとも１つのホスト・コンピュータを前記少なくとも１つの記憶システムに接続する少なくとも１つの接続性リソースから少なくとも１つのリソースと、を前記論理的連携に関する要求を満たすように自動的にプロビジョニングするようにプログラムされている少なくとも１つのプロセッサを備えた装置であって、前記少なくとも１つのプロセッサは、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、前記複数のリソースの中から前記少なくとも１つのリソースを選択し、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正し、選択されたリソースが前記プロビジョニング要求を満たすかどうかを判定し、
前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するための一連のアクションを備えたトランザクションを作成し、
前記プロビジョニング要求を満たすように、前記選択されたリソースを構成するために、前記トランザクションを実行するようにプログラムされている、
装置。
【請求項５０】
請求項４９に記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記少なくとも１つの構成要素は、ファイル・システムと、論理ボリューム・マネージャと、データベース・マネージャとのうちの少なくとも１つを含み、前記少なくとも１つのプロセッサは、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータにおける前記少なくとも１つの構成要素に割り当てるトランザクションを作成するようにプログラムされている、装置。
【請求項５１】
請求項４９に記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な論理記憶ボリュームを提供し、前記少なくとも１つのプロセッサは、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つのホスト・コンピュータの少なくとも１つのポートに割り当て、該ポートを通じて、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの構成要素にアクセス可能とするトランザクションを作成するようにプログラムされている、装置。
【請求項５２】
請求項４９に記載の装置において、前記少なくとも１つのプロセッサは、前記プロビジョニング要求を満たす情報を格納するために前記少なくとも１つのホスト・コンピュータにより使用され、かつ前記少なくとも１つの記憶システムによって提供される少なくとも１つの論理記憶ボリュームを選択するようにプログラムされている、装置。
【請求項５３】
請求項５２に記載の装置において、前記少なくとも１つのプロセッサは、前記選択された少なくとも１つの論理ボリュームを、前記プロビジョニング要求を満たすように構成するトランザクションを作成するようにプログラムされている、装置。
【請求項５４】
請求項に４９記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記少なくとも１つのプロセッサは、前記論理ボリュームのうちの少なくとも１つを、前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングし、該ポートを通じて前記論理ボリュームのうちの少なくとも１つにアクセス可能とするトランザクションを作成するようにプログラムされている、装置。
【請求項５５】
請求項４９に記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記少なくとも１つのプロセッサは、前記論理ボリュームのうちの少なくとも２つの間のミラー関係を形成するトランザクションを作成するようにプログラムされている、装置。
【請求項５６】
請求項４９に記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために使用可能な論理記憶ボリュームを提供し、前記少なくとも１つのプロセッサは、前記少なくとも１つの接続性リソースを通じた通信経路を構成して、前記論理ボリュームのうちの少なくとも１つが、前記少なくとも１つのホスト・コンピュータにアクセス可能となって情報を格納するようにするトランザクションを作成するようにプログラムされている、装置。
【請求項５７】
請求項５６に記載の装置において、前記少なくとも１つのプロセッサは、前記少なくとも１つの接続性リソースを通じた少なくとも２つの並列な通信経路を構成して、前記論理ボリュームのうちの少なくとも１つを前記少なくとも１つのホスト・コンピュータにアクセス可能とするトランザクションを作成するようにプログラムされている、装置。
【請求項５８】
請求項４９に記載の装置において、前記少なくとも１つのホスト・コンピュータは、複数のホスト・コンピュータを備え、前記少なくとも１つの記憶システムは、情報を格納するために前記複数のホスト・コンピュータによって使用可能な論理記憶ボリュームを提供し、前記少なくとも１つのプロセッサは、前記コンピュータ・システムをゾーン化し、前記複数のホスト・コンピュータの部分集合にのみ、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにするトランザクションを作成するようにプログラムされている、装置。
【請求項５９】
請求項４９に記載の装置において、前記少なくとも１つのプロセッサは、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースに問い合わせを行うことによって、前記プロビジョニング要求を満たす選択のために、どのリソースが使用可能かの判定を行い、かつ、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、使用可能と判定された前記複数のリソースの中から前記少なくとも１つのリソースを選択するようにプログラムされている、装置。
【請求項６０】
請求項４９に記載の装置において、前記コンピュータ・システムは、前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースのうちの少なくとも１つからの使用可能なリソースに関する情報を備える少なくとも１つのデータ集合を備えており、前記少なくとも１つのプロセッサは、
前記データ集合に問い合わせを行うことによって、前記プロビジョニング要求を満たすためにどのリソースが使用可能かを判定し、かつ、
前記少なくとも１つのホスト・コンピュータ、前記少なくとも１つの記憶システム、および前記少なくとも１つの接続性リソースの各々に対して、使用可能と判定された前記複数のリソースの中から前記少なくとも１つのリソースを選択するようにプログラムされている、装置。
【請求項６１】
請求項４９に記載の装置において、前記プロセッサは、前記プロビジョニング要求を作成する際に補助するようにプログラムされている、装置。
【請求項６２】
請求項６１に記載の装置において、前記少なくとも１つのプロセッサは、既存のコンピュータ・システムのリバース・エンジニアリングを行い該既存のコンピュータ・システムの構成の仕様を作成することによって、前記プロビジョニング要求を作成する際に補助するようにプログラムされており、そのプログラムによって、前記既存のコンピュータ・システムの仕様を修正して、前記プロビジョニング要求において提供された仕様を作成することが可能である、装置。
【請求項６３】
請求項４９に記載の装置において、前記少なくとも１つの接続性リソースは、前記少なくとも１つのホスト・コンピュータと前記少なくとも１つの記憶システムとを相互接続するネットワークの少なくとも一部を形成する少なくとも１つのネットワーク・リソースを備えており、前記少なくとも１つのプロセッサは、前記少なくとも１つのネットワーク・リソースのプロビジョニングを自動的に行うようにプログラムされている、装置。
【請求項６４】
請求項５２に記載の装置において、前記少なくとも１つのプロセッサは、前記選択された少なくとも１つの論理ボリュームが前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの性能特性を考慮するようにプログラムされている、装置。
【請求項６５】
請求項５２に記載の装置において、前記少なくとも１つのプロセッサは、前記選択された少なくとも１つの論理ボリュームが前記プロビジョニング要求を満たすために使用可能であることを判定する際に、前記少なくとも１つの論理ボリュームの記憶容量を考慮するようにプログラムされている、装置。
【請求項６６】
請求項５３に記載の装置において、前記少なくとも１つのプロセッサは、前記選択された少なくとも１つの論理ボリュームを、動的な割り当てに利用可能なスペア・ボリュームとして使用できるように構成するトランザクションを作成するようにプログラムされている、装置。
【請求項６７】
請求項５４に記載の装置において、前記少なくとも１つの記憶システムは、前記トランザクションの実行前に、既存の構成を有し、該構成において、前記論理ボリュームのうちの少なくとも１つが前記少なくとも１つの記憶システムの第１ポートにマッピングされており、前記少なくとも１つのプロセッサは、前記論理ボリュームのうちの少なくとも１つを、前記第１ポートとは異なる前記少なくとも１つの記憶システムの第２ポートにマッピングし直すトランザクションを作成し、かつ実行するようにプログラムされている、装置。
【請求項６８】
請求項５８に記載の装置において、前記コンピュータ・システムは、前記トランザクションの実行前に、既存の構成を有し、該構成において前記コンピュータ・システムはゾーン化され、前記複数のホスト・コンピュータの第１部分集合に、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるようにしており、前記少なくとも１つのプロセッサは、前記コンピュータ・システムをゾーン化し直して、前記第１部分集合とは異なる前記複数のホスト・コンピュータの第２部分集合のみに、前記論理ボリュームのうちの少なくとも１つに対してアクセスさせるトランザクションを作成し、かつ実行するようにプログラムされている、装置。
【請求項６９】
請求項４９に記載の装置において、前記少なくとも１つの記憶システムは、情報を格納するために前記少なくとも１つのホスト・コンピュータにおける少なくとも１つの構成要素によって使用可能な複数の論理記憶ボリュームを提供し、前記コンピュータ・システムは、前記トランザクションの実行前に、既存の構成を有し、該構成において、前記少なくとも１つの記憶システムによって提供される前記複数の論理ボリュームのうちの少なくとも一部を、前記少なくとも１つのホスト・コンピュータにおける１つの構成要素に割り当てており、前記少なくとも１つのプロセッサは、前記複数の論理ボリュームのうちの１つを割り当てるトランザクションを実行する前に、前記複数の論理ボリュームのうちの前記１つが、前記少なくとも１つのホスト・コンピュータにおける別の構成要素に既に割り当てられていないことを判定するようにプログラムされている、装置。
【請求項７０】
請求項４９に記載の装置において、前記少なくとも１つのプロセッサは、前記トランザクションを実行するときに実行する一連のアクションの少なくとも一部を取り消すようにプログラムされている、装置。
【請求項７１】
請求項７０に記載の装置において、前記少なくとも１つのプロセッサは、前記トランザクションにおける前記一連のアクションを取り消す一連の取り消しアクションを備える取り消しトランザクションを作成するようにプログラムされている、装置。
【請求項７２】
１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された前記論理的連携に関する仕様を満たすようにコンピュータ・システムの少なくとも一部のプロビジョニングを、記憶システムを含むコンピュータ・システムにおいて自動的に行う方法であって、
（Ａ）  前記プロビジョニング要求を読み取るコンピュータ実行動作であって、該プロビジョニング要求は、複数のホスト・コンピュータのうちの少なくとも１つに対して提供される記憶ユニットを備えるように、前記コンピュータ・システムの少なくとも一部を定義する、コンピュータ実行動作と、
（Ｂ）  前記プロビジョニング要求に応答して、前記コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うコンピュータ実行動作であって、
（Ｂ１）  前記プロビジョニング要求によって定義された前記記憶ユニットとして使用可能な少なくとも１つの論理記憶ボリュームを、少なくとも１つの記憶システムから選択し、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正する動作と、
（Ｂ２）  通信経路を設けることが可能な少なくとも１つの接続性リソースを選択して、該通信経路を通じて前記選択された少なくとも１つの論理ボリュームを、前記複数のホスト・コンピュータのうちの少なくとも１つにアクセス可能にする動作と、
（Ｂ３）  前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するための一連のアクションを備えたトランザクションを作成する動作であって、前記プロビジョニング要求を満たすように選択された少なくとも１つの論理ボリュームを構成し、前記選択された少なくとも１つの論理ボリュームを前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングして、該ポートを通じて前記選択された少なくとも１つの論理ボリュームにアクセス可能とし、前記通信経路を構成し、前記コンピュータ・システムの少なくとも一部を構成して、前記複数のホスト・コンピュータのうちの前記少なくとも１つのみに、前記選択された少なくとも１つの論理ボリュームに対してアクセスさせることを含む、動作と、
（Ｂ４）  前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するために、前記トランザクションを実行する動作とを含む、コンピュータ実行動作と、
を備える、方法。
【請求項７３】
記憶システムを含むコンピュータ・システムにおいて実行された場合、１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された前記論理的連携に関する仕様を満たすようにコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を実行するためのエンコードされたコンピュータ・プログラムが記憶されたコンピュータ可読媒体であって、該方法が、
（Ａ）  前記プロビジョニング要求を読み取る動作であって、前記プロビジョニング要求は、複数のホスト・コンピュータのうちの少なくとも１つに対して提供される記憶ユニットを備えるように、前記コンピュータ・システムの少なくとも一部を定義する、動作と、
（Ｂ）  前記プロビジョニング要求に応答して、前記コンピュータ・システムのうちの少なくとも一部のプロビジョニングを自動的に行う動作であって、
（Ｂ１）  前記プロビジョニング要求によって定義された前記記憶ユニットとして使用可能な少なくとも１つの論理記憶ボリュームを、少なくとも１つの記憶システムから選択し、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正する動作と、
（Ｂ２）  通信経路を設けることが可能な少なくとも１つの接続性リソースを選択する動作であって、該通信経路を通じて前記選択された少なくとも１つの論理ボリュームを、前記複数のホスト・コンピュータのうちの少なくとも１つにアクセス可能にする動作と、
（Ｂ３）  前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するための一連のアクションを備えるトランザクションを作成する動作であって、前記プロビジョニング要求を満たすように選択された少なくとも１つの論理ボリュームを構成し、前記選択された少なくとも１つの論理ボリュームを前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングして、該ポートを通じて前記選択された少なくとも１つの論理ボリュームにアクセス可能とし、前記通信経路を構成し、前記コンピュータ・システムの少なくとも一部を構成して、前記複数のホスト・コンピュータのうちの少なくとも１つのみに、前記選択された少なくとも１つの論理ボリュームに対してアクセスさせることを含む、動作と、
（Ｂ４）  前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するために、前記トランザクションを実行する動作と、を含む動作と、
を備える、コンピュータ可読媒体。
【請求項７４】
複数のホスト・コンピュータのうちの少なくとも１つに対して提供される記憶ユニットを備えるように、コンピュータ・システムの少なくとも一部を定義する１つ又は複数の記憶エレメントに関する物理的な要求と前記１つ又は複数の記憶エレメントの論理的連携に関する要求とを含むプロビジョニング要求において提供された前記論理的連携に関する仕様を満たすように、前記コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うようにプログラムされている少なくとも１つのプロセッサを備えた装置であって、該少なくとも１つのプロセッサは、
前記プロビジョニング要求によって定義された前記記憶ユニットとして使用可能な少なくとも１つの論理記憶ボリュームを、少なくとも１つの記憶システムから選択し、前記物理的な要求が前記論理的な要求を満たさない場合は、前記物理的な要求を修正し、
通信経路を設けることが可能な少なくとも１つの接続性リソースを選択し、該通信経路を通じて前記選択された少なくとも１つの論理ボリュームを、前記複数のホスト・コンピュータのうちの少なくとも１つにアクセス可能とし、
前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するための一連のアクションを備えたトランザクションを作成し、該トランザクション作成は、前記プロビジョニング要求を満たすように前記選択された少なくとも１つの論理ボリュームを構成すること、前記選択された少なくとも１つの論理ボリュームを前記少なくとも１つの記憶システムの少なくとも１つのポートにマッピングして、該ポートを通じて前記選択された少なくとも１つの論理ボリュームにアクセス可能とすること、前記通信経路を構成すること、前記コンピュータ・システムの少なくとも一部を構成して、前記複数のホスト・コンピュータのうちの少なくとも１つのみに、前記選択された少なくとも１つの論理ボリュームに対してアクセスさせることを含み、
前記プロビジョニング要求を満たすように、前記選択された少なくとも１つの論理ボリュームと前記選択された少なくとも１つの接続性リソースとを構成するために、前記トランザクションを実行するようにプログラムされている、装置。
【請求項７５】
請求項１〜２３のいずれか１項に記載の方法において、
（Ｂ４）  前記一連のプロビジョニング・アクションの少なくとも一部分を取り消す、一連の取り消しアクションを備えるコンピュータ可読取り消しトランザクションを作成する動作と、
を備える方法。
【請求項７６】
請求項７５に記載の方法において、前記動作（Ｂ４）は、前記プロビジョニング・トランザクションにおけるプロビジョニング・アクションの各々に対応する取り消しアクションを含むように、前記取り消しトランザクションを作成する動作を備える、方法。
【請求項７７】
請求項７６に記載の方法において、前記プロビジョニング・アクションは、前記プロビジョニング・トランザクションにおいて最初から最後まで順番に整列されており、前記動作（Ｂ４）は、最後のプロビジョニング・トランザクションに対応する取り消しトランザクションから開始し、最初のプロビジョニング・トランザクションに対応する取り消しトランザクションで終了するように、逆の順番を有する前記取り消しトランザクションを作成する動作であって、前記取り消しトランザクションの実行により、前記コンピュータ・システムの少なくとも一部の構成を、前記プロビジョニング・トランザクションにおける任意の前記プロビジョニング・アクションの実行後における前記コンピュータ・システムの少なくとも一部の状態に対応する状態に戻してやり直すことが可能である、動作を更に備える、方法。
【請求項７８】
請求項７７に記載の方法は、更に、
前記コンピュータ・システムの少なくとも一部のプロビジョニングを、前記所望の構成で行うために、前記プロビジョニング・トランザクションを実行する動作と、
前記コンピュータ・システムの少なくとも一部の構成を元に戻す前記取り消しトランザクションの少なくとも一部を実行する動作と、
を備える、方法。
【請求項７９】
実行された場合、所望の構成に成るように、コンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を実行するための請求項２６〜４８のいずれか１項に記載のコンピュータ可読媒体であって、前記動作（Ｂ）は、
（Ｄ）  前記一連のプロビジョニング・アクションの少なくとも部分集合を取り消す、一連の取り消しアクションを備える、コンピュータ可読取り消しトランザクションを作成する動作、
を備える、コンピュータ可読媒体。
【請求項８０】
請求項７９に記載のコンピュータ可読媒体において、前記動作（Ｂ４）は、前記プロビジョニング・トランザクションにおける前記プロビジョニング・アクションの各々に対応する取り消しアクションを含むように、前記取り消しトランザクションを作成する動作を備える、コンピュータ可読媒体。
【請求項８１】
請求項８０に記載のコンピュータ可読媒体において、前記プロビジョニング・アクションは、前記プロビジョニング・トランザクションにおいて最初から最後まで順番に整列されており、前記動作（Ｂ４）は、最後のプロビジョニング・トランザクションに対応する取り消しトランザクションから開始し、最初のプロビジョニング・トランザクションに対応する取り消しトランザクションで終了するように、逆の順番を有する前記取り消しトランザクションを作成する動作を備え、前記取り消しトランザクションの実行により、前記コンピュータ・システムの少なくとも一部の構成を、前記プロビジョニング・トランザクションにおける任意の前記プロビジョニング・アクションの実行後における前記コンピュータ・システムの少なくとも一部の状態に対応する状態に戻してやり直すことが可能である、コンピュータ可読媒体。
【請求項８２】
請求項１〜１３，１７〜２５及び７８〜８１のいずれか１項に記載の、所望のコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法であって、前記動作（Ａ）及び（Ｂ）の前に、
（Ｃ）  既存のコンピュータ・システムの少なくとも一部のリバース・エンジニアリングを自動的に行って、該既存のコンピュータ・システムの少なくとも一部の構成の仕様を作成する動作と、
（Ｄ）  前記所望のコンピュータ・システムの少なくとも一部の構成の仕様を作成するために、前記作成された前記既存のコンピュータ・システムの少なくとも一部の構成の仕様を修正する動作と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムに関し、より詳細には、コンピュータ・システムにおけるリソースのプロビジョニング（ｐｒｏｖｉｓｉｏｎｉｎｇ）に関する。
【背景技術】
【０００２】
多くのコンピュータ・システムは、１つ以上のホスト・コンピュータと、ホスト・コンピュータが用いるデータを格納する１つ以上の記憶システムと、ホスト・コンピュータと記憶システムとの間の通信を可能にする１つ以上のネットワーク・コンポーネントとを含む。かかるシステムの一例を図１に示す。
【０００３】
図１のシステム１０は、１対のホスト・コンピュータ１，２と、１対の記憶システム６，７と、ホストを記憶システムに接続する複数のスイッチ３〜５とを含む。図１に示すように、ホスト・コンピュータ１，２は、各々、１つ以上のファイル・システム１６，２６を含む。これらは、論理的に関連のあるデータ集合であり、ホストのオペレーティング・システムによって作成され、かつ保持され、（図１では点線で表されるように）記憶システム６，７によって提供される論理記憶ボリューム間で格納されている。論理ボリュームは、各々、記憶システムのうちの１つの中に存在する物理記憶デバイス（例えば、ディスク・ドライブ）に対応するか、あるいは、記憶システム６，７がインテリジェント記憶システムである場合は、ホスト・コンピュータに対して提供される論理ボリュームと物理記憶デバイスとの間には、記憶システムによるマッピング・レイヤを設け得る。このため、ホスト・コンピュータに対して提供される論理ボリュームと物理記憶デバイスとの間での、１対１の対応付けは不要になる。何故なら、１つの論理ボリュームを多数の物理記憶デバイスにわたって分散させること、あるいは多数の物理記憶デバイスを組み合わせて、１つの論理ボリュームのデータを格納することが可能であるからである。
【０００４】
コンピュータ・システムの中には、ホスト・コンピュータに対して記憶システムを直接に接続し得るものも存在し、記憶システム上の各ポートを、特定のホスト・コンピュータ上のポートの専用にし得る。しかしながら、図１に例示したコンピュータ・システムでは、記憶エリア・ネットワーク（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＳＡＮ）を採用しているため、記憶システム６，７へのアクセスを、多数のホスト・コンピュータ間で共有する場合もある。このため、ホスト・コンピュータ１，２と記憶システム６，７との間にネットワーク構築コンポーネントが接続されている。図１に示すように、ネットワーク構築コンポーネントは、１つ以上のスイッチ３〜５を含み得るものであり、これらをホスト・コンピュータ１，２と記憶システム６，７との間で相互接続することにより、所望の構成を設け得る。これに関して、ホスト・コンピュータ１，２、記憶システム６，７、およびスイッチ３〜５の各々は、通信媒体を介して、別のデバイスのポートに接続可能な１つ以上のポートを有し、当該ポートを通じて通信が可能であることは当然認められよう。例えば、図１に例示したコンピュータ・システムでは、ホスト・コンピュータ１は、複数のポート１５を含み、その各々が通信ライン１７を通じてスイッチ３上の複数のポート３３のうちの１つに相互接続されている。同様に、ホスト・コンピュータ２は、複数のポート２５を含み、その各々が通信ライン２７を通じてスイッチ４上の複数のポート４３のうちの１つに相互接続されている。スイッチ３は、更に、ポート３５を含み、通信ライン３７を通じて、スイッチ５上の複数のポート５３のうちの１つに接続されている。同様に、スイッチ４は、ポート４５を含み、通信ライン４７を通じてスイッチ５上の複数のポート５３のうちの別の１つに接続されている。最後に、スイッチ５は、複数のポート５５を含み、複数の通信ライン５７を通じて、記憶システム６，７に相互接続されている。具体的には、記憶システム６は、複数のポート６５を含み、これらは通信ライン５７の一部を通じてスイッチ５のポート５５の部分集合に接続されており、記憶システム７は、複数のポート７５を含み、これらは通信ライン５７の残りを通じてスイッチ５上のポート５５の異なる部分集合に接続されている。
【０００５】
尚、前述の構成では、スイッチ３〜５を介して、ホスト・コンピュータ１，２上のポートのいずれかから記憶システム６，７上のポートのいずれかに至る物理的な通信経路が設けられていることは当然認められよう。記憶システム６，７の各々を、その１つ以上の論理ボリューム（記憶システム６では６６、記憶システム７では７７）が記憶システムのポート６５，７５のうちの１つ以上を通じて記憶システムの外部からでも利用可能となるように、構成することが可能である。図１に例示した構成では、記憶システム６における論理ボリューム６６のうちの２つがポート６５の各々を介してエクスポートされ、記憶システム７における論理ボリューム７７のうちの２つがポート７５の各々を介してエクスポートされている。
【０００６】
図１のシステムに例示した物理的接続により、ホスト・コンピュータ１，２の各々は、ホスト・コンピュータのポート１５，２５のいずれかを介して、論理ボリューム６６，７７の各々にアクセスすることが物理的に可能であるが、殆どの典型的なコンピュータ・システムの構成において、ホスト・コンピュータに提供されるアクセスは更に制限されていることは当然認められよう。例えば、多くのコンピュータ・システムにおいて、論理ボリューム６６，７７の任意の特定の１つは、ホスト・コンピュータ１，２によって共有されるのではなく、ホスト・コンピュータの一方のみの専用となる。具体的には、コンピュータ・システムの構成の中には、論理ボリューム６６，７７のうちの１つ以上に対するアクセス制限を規定するセキュリティ対策（例えば、ゾーン化および／またはマスキング）が行われているものも存在する。
【０００７】
コンピュータ・システムの別の例を図４に示す。そのコンピュータ・システムは、ホスト・コンピュータ４０１と、記憶システム４０３とを含む。記憶システム４０３は、データを格納する複数の記憶デバイスを含む。ホスト・コンピュータ４０１および記憶システム４０３は、図１のシステム１０におけるホスト・コンピュータ１，２および記憶システム６，７の代表的な構成であるが、多くの他の構成も可能である。
【０００８】
図４に示すシステムの例では、記憶システム４０３は、複数のディスク・ドライブ４０５ａ，４０５ｂと、複数のディスク・コントローラ４０７ａ，４０７ｂとを含み、ディスク・コントローラ４０７ａ，４０７ｂがディスク・ドライブ４０５ａ，４０５ｂに対するアクセスをそれぞれ制御する。記憶システム４０３は、更に、複数の記憶バス・ディレクタ４０９を含み、通信バス４１７を通じてホスト・コンピュータ４０１との通信を制御する。また、記憶システム４０３は、当該記憶システムの性能を向上させるキャッシュ４１１も含んでいる。具体的には、ホスト・コンピュータ４０１が記憶システム４０３からの読み出しを実行するとき、記憶システム４０３は、（データがキャッシュに格納されている場合は）ディスク・ドライブ４０５ａ，４０５ｂのうちの１つからではなく、キャッシュ４１１から読み出しを行い、一層効率的な読み出しを実行し得る。同様に、ホスト・コンピュータ４０１が記憶システム４０３に対して書き込みを実行するとき、対応する記憶バス・ディレクタ４０９はキャッシュ４１１に書き込みを行うことが可能である。その後、ディスク・ドライブ４０５ａ，４０５ｂのうちの該当する１つに対する書き込みを、非同期に、かつホスト・コンピュータ４０１にとって透過的であるように、行うことが可能である。最後に、記憶システム４０３は、内部バス４１３を含み、これを通じて、記憶バス・ディレクタ４０９、ディスク・コントローラ４０７ａ，４０７ｂ、およびキャッシュ４１１が通信する。
【０００９】
ホスト・コンピュータ４０１は、プロセッサ４１６と、１つ以上のホスト・バス・アダプタ４１５とを含む。ホスト・バス・アダプタ４１５は、各々、通信バス４１７のうちの対応するものを通じて、プロセッサ４１６と記憶システム４０３との間の通信を制御する。尚、単一のプロセッサ４１６の代わりに、多数のプロセッサをホスト・コンピュータ４０１に含めることが可能であることは当然認められよう。各バス４１７としては、多数の異なる種類の通信リンクのうちの任意の通信リンクが可能であり、ホスト・バス・アダプタ４１５および記憶バス・ディレクタ４０９は、これらの間に接続されている通信バス４１７に適合したプロトコルを用いて通信するように構成されている。例えば、通信バス４１７の各々をＳＣＳＩバスとして具体化することが可能であり、その場合、ディレクタ４０９およびアダプタ４１５の各々はＳＣＳＩドライバである。あるいは、ホスト・コンピュータ４０１と記憶システム４０３との間の通信を、ファイバ・チャネル・ファブリック（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｆａｂｒｉｃ）を通じて行うことも可能である。
【００１０】
図４のシステムの例に示すように、コンピュータ・システムの中には、ホスト・コンピュータ４０１と記憶システム４０３との間に多数の通信用経路を用いるものも存在する（例えば、各経路は、図４におけるホスト・バス・アダプタ４１５、バス４１７、および記憶バス・ディレクタ４０９を含む）。多くのかかるシステムにおいて、ホスト・バス・アダプタ４１５の各々は、該当する記憶バス・ディレクタ４０９およびディスク・コントローラ４０７ａ，４０７ｂを介して、ディスク・ドライブ４０５ａ，４０５ｂの各々にアクセスすることが可能である。尚、かかる多重経路機能を設けることにより、システム性能が向上し、ホスト・コンピュータ４０１と記憶システム４０３との間で多数の同時通信処理が実行可能となることは当然認められよう。
【００１１】
図５は、図４に示したような、多重経路コンピュータ・システムにおいて存在し得る多数のマッピング・レイヤの模式図である。このシステムは、ホスト・コンピュータ４０１のプロセッサ４１６上で実行されるアプリケーション・プログラムを含むアプリケーション・レイヤ５２１を含む。アプリケーション・レイヤ５２１は、一般に、それが用いる記憶場所を、ファイル名のようなラベルまたは識別子を用いて参照し、そのファイルが物理的に記憶システム４０３上のどこに格納されているかに関する知識は有していない。アプリケーション・レイヤ５２１の下には、ファイル・システムおよび／または論理ボリューム・マネージャ（ｌｏｇｉｃａｌ  ｖｏｌｕｍｅ  ｍａｎａｇｅｒ：ＬＶＭ）５２３があり、アプリケーション・レイヤ５２１が指定したラベルまたは識別子を、記憶システム４０３内の物理デバイスのアドレス（例えば、ディスク・ドライブ４０５ａ，４０５ｂのうちの１つのアドレス）に直接に対応するとホスト・コンピュータが認識する論理ボリュームにマッピングする。ファイル・システム／ＬＶＭレイヤ５２３の下には、多重経路マッピング・レイヤ５２５があり、ファイル・システム／ＬＶＭレイヤ５２３が指定した論理ボリュームのアドレスを、多数のシステム経路のうちの特定の１つを通じて、記憶システム４０３に対して提供されるべき論理ボリューム・アドレスにマッピングする。つまり、多重経路マッピング・レイヤ５２５は、特定の論理ボリュームのアドレスを指定するだけでなく、指定された論理ボリュームにアクセスするために多数のシステム経路のうちの特定の１つをも指定する。多重経路マッピング・レイヤを実現するために用いられるソフトウェアの例には、ＥＭＣ社から入手可能なＰｏｗｅｒＰａｔｈドライバ、Ｖｅｒｉｔａｓ  ＤＭＰ、およびＣｏｍｐａｑ  ＳｅｃｕｒｅＰａｔｈが含まれる。
【００１２】
記憶システム４０３がインテリジェント記憶システムではない場合は、多重経路レイヤ５２５が指定する論理ボリュームのアドレスは、記憶システム４０３内の特定の物理デバイス（例えば、ディスク・ドライブ４０５ａ，４０５ｂのうちの１つ）を識別する。しかしながら、図４に示すようなインテリジェント記憶システムでは、記憶システム自体が、更にマッピング・レイヤ５２７を含み、ホスト・コンピュータ４０１から引き渡された論理ボリュームのアドレスが記憶システム４０３上に存在する実際の物理デバイス（例えば、ディスク・ドライブ４０５ａ，４０５ｂ）に直接に対応しない場合もあり。むしろ、ホスト・コンピュータ４０１が指定する論理ボリュームを、多数の物理記憶デバイス（例えば、ディスク・ドライブ４０５ａ，４０５ｂ）にわたって分散すること、あるいはホスト・コンピュータ４０１がアクセスする多数の論理ボリュームを、単一の物理記憶デバイス上に格納することが可能である。
【００１３】
尚、図１、図４、および図５に示した個々のシステム構成は、単に例示の目的で与えたに過ぎず、一般的な構成は様々に変化する可能性があり、ホスト・コンピュータ、記憶システムおよび／またはこれらを相互接続するネットワーク構築コンポーネントの個数に関して更に大幅に複雑化する可能性が多々あることは当然認められよう。更に、図１におけるホスト・コンピュータ、スイッチおよび記憶システムの多数の実例の各々は、本質的に同一の構成（例えば、同数のポート、同数の論理ボリューム等）を有するように示されているが、一般的な構成では、種々のシステム・コンポーネントが異なる構成を有する場合もあることは当然認められよう。
【００１４】
尚、図１におけるようなコンピュータ・システムを形成するためのリソースの選択および構成は、無数の実行すべき処理があるため、複雑でしかも手間のかかるプロセスとなる可能性があることも当然認められよう。例えば、図５に示すマッピング・レイヤを採用した図１の構成を作成するためには、ホスト・コンピュータ１，２における特定のリソース（例えば、ファイル・システム１６，２６）が使用可能な論理ボリューム６６，７７の個数およびサイズに関する決定、ならびに、記憶システム、スイッチおよびホスト・コンピュータのポートのうちのどのポートを通じて論理ボリュームを使用可能にするのかに関する決定が行われる。加えて、論理ボリュームに対するホストのアクセスを規定するセキュリティ対策が実施され、かつホスト・コンピュータにとって使用可能となった論理ボリュームをホスト・コンピュータが認識できるようにするための、ポート１５，２５毎のホスト・コンピュータ１，２による走査ステップが実行される。このような構成のプロセスは、更に、システム・コンポーネントが異質な物理的特性を有する可能性があるという事実によって、更に複雑化する可能性もある。例えば、通信リンク１７，２７，３７，４７，５７は、各々、ＳＣＳＩバス、ファイバ・チャネル接続、または他の種類の接続として具体化されていても、スイッチ３〜５は、異質のスイッチ形式の集合から選択されていても、ホスト・コンピュータおよび／または記憶システムは、異なる販売業者によって供給されていても構わない。これらのコンポーネントの各々は、特定の構成要求を有する場合がある。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
コンピュータ・システムに対する構成のプロセスは、複雑で、手間がかかり、かつ時間を浪費するという特色を鑑み、本発明の一つの実施形態は、かかるコンピュータ・システムのプロビジョニングを自動化および／または円滑にする技術を対象とする。
【課題を解決するための手段】
【００１６】
本発明の一つの実施形態は、プロビジョニング要求において提供された仕様を満たすようにコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を対象とする。この方法は、（Ａ）プロビジョニング要求を読み取るコンピュータ実行動作と、（Ｂ）プロビジョニング要求において提供された仕様を満たすように、コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うコンピュータ実行動作とを備え、そのプロビジョニングを自動的に行うコンピュータ実行動作は、少なくとも１つのホスト・コンピュータ上の少なくとも１つのリソースのプロビジョニングと、少なくとも１つの記憶システムからの少なくとも１つのリソースのプロビジョニングと、少なくとも１つのホスト・コンピュータを少なくとも１つの記憶システムに接続する少なくとも１つの接続性リソースの少なくとも１つのコンポーネントのプロビジョニングと、を自動的に行うことを含む。別の実施形態は、実行された場合、前述の方法を実行するコンピュータ・プログラムがエンコードされたコンピュータ可読媒体を対象とする。
【００１７】
別の実施形態は、プロビジョニング要求において提供された仕様を満たすように、コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うようにプログラムされている少なくとも１つのプロセッサを備えた装置を対象としており、そのプロビジョニングを自動的に行うことは、少なくとも１つのホスト・コンピュータ上の少なくとも１つのリソースのプロビジョニングと、少なくとも１つの記憶システムからの少なくとも１つのリソースのプロビジョニングと、少なくとも１つのホスト・コンピュータを少なくとも１つの記憶システムに接続する少なくとも１つの接続性リソースからの少なくとも１つのコンポーネントのプロビジョニングと、を自動的に行うことを含む。
【００１８】
更なる実施形態は、プロビジョニング要求において提供された仕様を満たすようにコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を対象とする。この方法は、（Ａ）プロビジョニング要求を読み取るコンピュータ実行動作であって、そのプロビジョニング要求は、複数のホスト・コンピュータのうちの少なくとも１つに対して提供される記憶ユニットを備えるように、コンピュータ・システムの少なくとも一部を定義する、コンピュータ実行動作と、（Ｂ）プロビジョニング要求に応答して、コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うコンピュータ実行動作とを備える。動作（Ｂ）は、（Ｂ１）プロビジョニング要求によって定義された記憶ユニットとして使用可能な少なくとも１つの論理記憶ボリュームを、少なくとも１つの記憶システムから選択する動作と、（Ｂ２）通信経路を設けることが可能な少なくとも１つの接続性リソースを選択する動作であって、これを通じて選択された少なくとも１つの論理ボリュームを、複数のホスト・コンピュータのうちの少なくとも１つに対してアクセス可能にする、選択動作と、（Ｂ３）プロビジョニング要求を満たすように、選択された少なくとも１つの論理ボリュームと選択された少なくとも１つの接続性リソースとを構成する一連のアクションを備えるトランザクションを作成する動作であって、プロビジョニング要求を満たすように選択された少なくとも１つの論理ボリュームを構成すること、選択された少なくとも１つの論理ボリュームを少なくとも１つの記憶システムの少なくとも１つのポートにマッピングして、そのポートを通じて選択された少なくとも１つの論理ボリュームにアクセス可能とすること、通信経路を構成すること、コンピュータ・システムの少なくとも一部におけるセキュリティ対策を構築して、複数のホスト・コンピュータのうちの少なくとも１つのみに、選択された少なくとも１つの論理ボリュームに対してアクセスさせることを含む、作成動作と、（Ｂ４）プロビジョニング要求を満たすように、選択された少なくとも１つの論理ボリュームと選択された少なくとも１つの接続性リソースとを構成するために、トランザクションを実行する動作とを含む。別の実施形態は、実行された場合、前述の方法を実行するコンピュータ・プログラムがエンコードされたコンピュータ可読媒体を対象とする。
【００１９】
別の実施形態は、複数のホスト・コンピュータのうちの少なくとも１つに対して提供される記憶ユニットを備えるようにコンピュータ・システムの少なくとも一部を定義するプロビジョニング要求において提供された仕様を満たすように、コンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行うようにプログラムされている少なくとも１つのプロセッサを備える装置を対象とする。その少なくとも１つのプロセッサは、プロビジョニング要求によって定義された記憶ユニットとして使用可能な少なくとも１つの論理記憶ボリュームを少なくとも１つの記憶システムから選択するように、通信経路を設けることが可能な少なくとも１つの接続性リソースを選択して、この通信経路を通じて選択された少なくとも１つの論理ボリュームを、複数のホスト・コンピュータのうちの少なくとも１つにアクセス可能とするように、プロビジョニング要求を満たすように、選択された少なくとも１つの論理ボリュームと選択された少なくとも１つの接続性リソースとを構成する一連のアクションを備えるトランザクションを作成することであって、その作成は、プロビジョニング要求を満たすように選択された少なくとも１つの論理ボリュームを構成すること、選択された少なくとも１つの論理ボリュームを少なくとも１つの記憶システムの少なくとも１つのポートにマッピングして、そのポートを通じて選択された少なくとも１つの論理ボリュームにアクセス可能とすること、通信経路を構成すること、コンピュータ・システムの少なくとも一部におけるセキュリティ対策を構築して、複数のホスト・コンピュータのうちの少なくとも１つのみに、選択された少なくとも１つの論理ボリュームに対してアクセスさせることを含むように、プロビジョニング要求を満たすように、選択された少なくとも１つの論理ボリュームと選択された少なくとも１つの接続性リソースとを構成するトランザクションを実行するように、プログラムされている。
【００２０】
更なる実施形態は、所望の構成に成るように、コンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を対象とする。この方法は、（Ａ）所望の構成を満たすように複数のコンピュータ・システムのリソースのプロビジョニングを行う一連のプロビジョニング・アクションを備えるコンピュータ可読プロビジョニング・トランザクションを作成する動作と、（Ｂ）一連のプロビジョニング・アクションの少なくとも部分集合を取り消す、一連の取り消しアクションを備えるコンピュータ可読取り消しトランザクションを作成する動作とを備える。別の実施形態は、実行された場合、前述の方法を実行するコンピュータ・プログラムがエンコードされたコンピュータ可読媒体を対象とする
別の実施形態は、所望のコンピュータ・システムの少なくとも一部のプロビジョニングを行う方法を対象とする。この方法は、（Ａ）既存のコンピュータ・システムの少なくとも一部の構成の仕様を作成するために、既存のコンピュータ・システムの少なくとも一部のリバース・エンジニアリングを自動的に行う動作と、（Ｂ）所望のコンピュータ・システムの少なくとも一部の仕様を作成するために、既存のコンピュータ・システムの少なくとも一部の仕様を修正する動作と、（Ｃ）所望のコンピュータ・システムの仕様を満たすように、所望のコンピュータ・システムの少なくとも一部のプロビジョニングを自動的に行う動作とを備える。
【発明を実施するための最良の形態】
【００２１】
本発明の一つの実施形態は、コンピュータ・システムにおけるリソースのプロビジョニングを自動的に行うための方法および装置を対象とする。一つの実施形態では、ユーザは所望のシステム構成を定義し、プロセスは自動的にその所望のシステム構成のプロビジョニングを行う。ここで、プロビジョニングを行うとは、該当するリソースを選択すること、かつ／もしくは指定通りのリソースを構成するアクションを実行することを意味する。本明細書において、自動的に実行されるアクションと言及された場合、それは、一旦開始されれば、人の手の介さずに完了するアクションを意味するものとする。
【００２２】
先に説明したように、コンピュータ・システムのプロビジョニングを行うことは、多数の問題を伴う複雑なプロセスとなる可能性がある。これらの問題を、大きく分けて、ホストに基づく問題、記憶システムに基づく問題、および、接続性またはネットワークに基づく問題に分類することが可能である。
【００２３】
ホストに基づく問題の例には、ホストにとって必要な（１つ以上の論理ボリューム間で分割される）記憶空間の量を決定すること、ならびに、１つ以上のファイル・システム、論理ボリューム・マネージャ（ＬＶＭ）およびデータベース・マネージャのようなホストにおける種々のリソースの間でのこれらの論理ボリュームの割り当てを決定すること、が含まれる。
【００２４】
記憶システムに基づく問題の例には、どの程度の記憶システムを用いるか、どの程度の論理記憶ボリュームが使用可能となるか、これらが有する記憶容量、論理ボリュームは現在記憶ポートにマッピングされているか、あるいはアクセスするのにマッピングする必要があるのか、ボリュームのうちのいずれかがミラーリングされているか、あるいはそれ以外の方法で複製されているか、特定の記憶ボリュームに対する性能要求（コンピュータ・システムが、性能特性の異なる多数の異なる種類の記憶システムを含み得ることは当然認められよう）、１つ以上の論理ボリュームを格納する物理記憶デバイスの種類、ならびに、特定の論理ボリュームが特に高レベルの入力／出力（Ｉ／Ｏ）アクティビティを処理する必要があるか等、が含まれる。
【００２５】
最後に、接続性またはネットワークに基づく問題には、どのホスト・コンピュータに対し、どの論理記憶ボリュームへのアクセスを付与するのかを決定すること、論理ボリュームを特定のホストにとって使用可能にするコンピュータ・システム上のポートを決定すること、および特定のホストによる特定の論理ボリュームに対するアクセスを制限するゾーン化処理のようなセキュリティ対策を構築すること、が含まれる。
【００２６】
本発明の一つの実施形態によれば、プロビジョニング要求に応答して、コンピュータ・システムのプロビジョニングを自動的に行う自動プロセスを採用する。そのプロビジョニング要求は、コンピュータ・システムについて所望の構成を定義する仕様を含む。場合によっては、そのプロビジョニング要求は、極めて詳細なレベルで、構成するシステムの正確な特色を具体的に指定することが可能であり、極端な場合には、相互接続するべきは特定のデバイスのどのポートであるのかを指定することも含む。しかしながら、本発明の一つの実施形態によれば、コンピュータ・システムのプロビジョニングに関する低レベルの詳細は自動プロセスに一任し極めて高いレベルのプロビジョニング要求を与えることによって、プロビジョニング要求を構築するために必要な時間や手間を削減するようにしている。このように、以下に述べる態様では、プロビジョニング要求は、定義する構成の特色に関して比較的高レベルなシステムの側面を定義することが可能であり、自動プロビジョニング・プロセスは、その高レベルの定義を取り込み、その定義に適合したコンピュータ・システムのプロビジョニングを自動的に行う。しかしながら、ユーザがより低レベルの要求を与える定義を提供することを選択した場合、自動プロビジョニング・プロセスはこれらの要求にも応ずることが可能である。しかしながら、自動プロビジョニング・プロセスはより高レベルの定義を取り込み、それを満たすコンピュータ・システムのプロビジョニングを自動的に行うことも可能である。
１．プロビジョニング要求の定義
本発明はいずれの特定の実施形態にも限定されないため、プロビジョニング要求として、多数の形式のうちの任意の形式のものを与えることが可能である。先に説明したように、プロビジョニングが行われるコンピュータ・システムの定義は、大きく３つの領域に分類される情報、即ち、ホストに基づく情報、記憶システムに基づく情報、および接続性またはネットワークに関連する情報を含むことが可能である。本発明の一つの実施形態では、プロビジョニング要求は、これら３つの異なる領域に関連する３つのコンポーネントを含む。これら３つのコンポーネントを含むプロビジョニング要求の作成を図３に概念的に示す。勿論、本発明は、この形式を取るプロビジョニング要求に限定されるのではなく、他の実施形態も可能である。
【００２７】
本発明の一つの実施形態によれば、ホスト・コンピュータの観点から論理的に関連する記憶ユニット（例えば、ファイル・システム、論理ボリューム・マネージャ、またはデータベースを共に格納する論理ボリュームの集合）を統合する記憶エレメントとして知られている概念を利用することによって、プロビジョニング要求を簡略化する。このため、論理的に関連付けられている集合内の記憶ボリュームが多数のハードウェア・ミラーを有する場合、これらのハードウェア・ミラーは同一の記憶エレメントの一部として規定され得る。何故なら、ハードウェア・ミラーリング処理は、ホストにとって透過的であるように記憶システムによって実行されるからである。逆に、記憶ボリュームが、ホスト自体が保持するソフトウェア・ミラーを有している場合、そのソフトウェア・ミラーは異なる記憶エレメントに設けられ得る。尚、本発明は、このような記憶エレメントの概念を与える実施形態に限定されず、多数の他の実施形態も可能であることは当然認められよう。更に、関連する記憶ユニットを論理的に統合する記憶エレメントを利用することは便利であるが、本発明は、この概念を採用するプロビジョニング要求を用いることに限定されるのではなく、代わりに各記憶ユニットを別個に取り扱っても構わないことは当然認められよう。
【００２８】
先に説明したように、一つの実施形態では、プロビジョニング要求は、記憶システムに基づく問題、ホストに基づく問題、および接続性またはネットワークに基づく問題に対処するコンポーネントを含む。これを概念的に図３に示す。ここで、ブロック２１０は記憶システムに基づく構成の問題に対処する記憶デバイスの仕様の作成を表し、ブロック２１４は、ホストに基づく構成の問題に対処するホストの仕様の作成を表し、ブロック２１２は、接続性またはネットワークに基づく問題を取り扱うホスト論理ユニット（ＨＬＵ）の仕様の作成を表す。
Ａ．記憶デバイスの仕様
ブロック２１０において作成される記憶デバイスの仕様は、記憶システムの構成を定義する。先に説明したように、要求者が望む任意の詳細なレベルのプロビジョニング要求が可能であり、記憶デバイスの仕様のコンポーネントは、要求者が個々に構成したい記憶システムの任意の側面を定義することが可能である。記憶デバイスの仕様に含めることが可能な情報の形式の例としては、使用可能な記憶ボリュームの個数、各々の記憶容量、ミラーリングまたは複製特性（例えば、局所的な、あるいは地理的に遠隔的なハードウェア・ミラー）、ストライピングの要求、冗長性またはフォールト・トレランスの要求（例えば、ＲＡＩＤレベルのうちの１つ）、Ｉ／Ｏ処理に応答する特定のボリュームに対するあらゆる所望の性能要求、１つ以上のボリュームを格納する物理記憶デバイスの形式に対する任意の具体的な要求、具体的な販売業者および／または１つ以上のボリュームを格納するモデル、ならびに、（例えば、短期間の性能向上が得られるホット・スペア、あるいは、ＥＭＣ社から入手可能なビジネス継続性ボリューム（ｂｕｓｉｎｅｓｓ  ｃｏｎｔｉｎｕａｎｃｅ  ｖｏｌｕｍｅ：ＢＣＶ）のようなスナップショット・ミラーとして利用するために）設けられるべきスペア・ボリューム、があり得る。尚、以上のリストは、単に例示の目的で提示したに過ぎず、これで全てを網羅しているのではなく、任意の記憶システムの特性を、その特性が、要求者にとってプロビジョニングが行われるべきシステムの構成に含ませたいものであるならば、記憶デバイスの仕様に含めることが可能であることは当然認められよう。
【００２９】
本発明の一つの実施形態では、自動プロビジョニング・プロセスは、種々の記憶リソースを記憶プールに編成するシステム上で展開される管理ツールと共に実行可能である。記憶プールは、管理上の理由によるリソースのグループ化、物理記憶デバイスの性能特性または形式というような特定の特性を共有するリソースのグループ化、あるいはその他の理由によるリソースのグループ化に利用され得る。プロビジョニング要求が与えられ、記憶リソース（例えば、論理ボリューム）を記憶プールにグループ化する管理ツールを用いるコンピュータ・システムのプロビジョニングを行う場合、プロビジョニング要求は（必要に応じて）種々の記憶リソースを特定の記憶プールから提供するように要求することが可能である。
【００３０】
先に説明したように、記憶デバイスの仕様は、プロビジョニングが行われるべきシステムの特定の好ましいもしくは必要な特性を含むことが可能である。本発明の例示の一つの実施形態では、自動プロビジョニング・プロセスに対して使用可能な物理リソースが、プロビジョニング要求によって要求される特定の記憶システムの特性を満たすことが不可能な場合、自動プロセスは要求に応答してエラーを返し、その要求を満たすことは不可能であると説明する。更に、要求者が特定の特性を満たすように要求することが可能であることに加えて、本発明の一つの実施形態では、ユーザにとって必須の要求ではない好みを指定することも許容する。一つの実施形態では、好みを含むプロビジョニング要求に応答して、自動プロビジョニング・プロセスは、好みを満たそうと試みるが、それが不可能である場合は、その好みは満たさないが、そのプロビジョニング要求に明記されている全ての要求は満たすプロビジョニング要求を、可能であれば他の方法で実施する。
【００３１】
尚、プロビジョニング要求は、コンピュータ・システムを再構成するために使用可能であることは当然認められよう。特定のコンピュータ・システムでは、読み出し／書き込み処理に利用可能な「標準的」論理ボリューム、一時的な使用のための専用スペア、ＥＭＣ社から入手可能なビジネス継続性ボリューム（ＢＣＶ）のようなスナップショット・ミラーとして専用に用いられるボリューム、遠隔的ミラーリングのために利用可能なボリューム等、論理ボリュームは既に特定の使用を割り当てられている。本発明の一つの実施形態では、記憶デバイスの仕様を提供する際、要求者は、これらのボリュームの形式のいずれの再構成についても許容度を示すことが可能である。例えば、特定の再構成処理に対して低い（または無の）許容度を指定することによって、ユーザは、既存の論理ボリュームがいかなるものであっても、自動プロビジョニング・プロセスによるその構成の変化を防止し得るであり、論理ボリュームの現在の構成を用いて、記憶デバイスの仕様を満たすことが不可能な場合は、エラー・メッセージを返す。あるいは、再構成に対する許容度を比較的高くすると、必要に応じて、自動プロビジョニング・プロセスが、１つ以上の論理ボリュームの構成を、記憶デバイスの仕様を満たすように変更することが許可され得る。
Ｂ．ホスト論理ユニットの仕様
プロビジョニング要求の第２の側面は、ブロック２１２（図３）において作成するホスト論理ユニット（ＨＬＵ）の仕様である。ＨＬＵの仕様は、記憶デバイスの仕様において定義された記憶ボリュームが、接続性リソース（例えば、ネットワーク）を通じて、システム上のホスト・コンピュータに対してどのように現れるのかを定義する。先に説明した記憶デバイスの仕様と同様、ＨＬＵの仕様は、要求者が望む任意の詳細レベルで提供可能であり、システム構成の態様がいかに様々に実施されるのかということが要求者にとって重要でない場合は、これらの態様をＨＬＵの仕様で定義する必要はなく、自動プロビジョニング・プロセスが、これらの態様を、それが選択するいずれかの方法で実施する。ＨＬＵの仕様において定義することが可能な情報の形式の例には、記憶デバイスの仕様において定義された論理ボリュームの、当該ボリュームを利用する記憶システムの特定のポートへのマッピングが含まれる。例えば、図１を参照すると、論理ボリューム６６，７７の各々は、（点線のうちの１本で示されているように）記憶システム６，７のポート６５，７５のうちの１つにマッピングされている。
【００３２】
ＨＬＵの仕様に含めることが可能な情報の別の例は、ホスト・コンピュータ１，２のポート１５，２５のいずれが、これらにとって使用可能となる特定の論理ボリュームを有するかという識別、並びに、特定の記憶ボリュームへのアクセスが特定のホスト・コンピュータに制限されることがある場合に設けられる任意のセキュリティ対策である。
【００３３】
ＨＬＵの仕様に含めることが可能な情報の他の例は、論理ボリュームとそれにアクセスするホスト・コンピュータとの間に存在することが好ましいと思われる経路の本数の定義である。これに関して、多くのホスト・コンピュータは多重経路レイヤを含み、特定の論理ボリュームにアクセスするために多数の異なる経路を使用することを可能にする機能を備えていることは当然認められよう。このため、多重経路構成が望まれる場合は、これをＨＬＵの仕様において指定することが可能である。
【００３４】
尚、先に列挙した考慮点は、例示の目的のために提供したに過ぎず、ＨＬＵの仕様に、コンピュータ・システムの接続性についての任意の種類の特性を含めることが可能であり、これらで全てを網羅したとは考えていないことは当然認められよう。
【００３５】
尚、プロビジョニング要求を、既存の構成を有するコンピュータ・システムの再構成に利用し得ることは当然認められよう。例えば、ホスト・コンピュータ、ネットワーク構築コンポーネント、および記憶システム間の物理的接続が既に存在している場合がある。記憶デバイスの仕様に関連して前述したように、本発明の一つの実施形態では、ＨＬＵの仕様によって指定される特定の要件を、必須の要求ではない好みとして提供することが可能である。この実施形態では、ユーザは、ＨＬＵの仕様に明記されている所望の構成を満たすために実行する必要がある種々の再構成処理に対する許容度を指定することによって、既存のコンピュータ・システムの構成の態様を用いることの優先性を表明し得る。例えば、既存の構成において、１つ以上の論理ボリュームが特定の記憶システムのポートにマッピングされ、かつ特定のホスト・コンピュータによるアクセスのためにゾーン化されている場合がある。尚、論理ボリュームをポートにマッピングするプロセスは、特定のホスト・コンピュータによるアクセスのために特定の論理ボリュームをゾーン化するプロセスがそうであるように、時間を浪費する可能性があることは当然認められよう。このため、本発明の一つの実施形態では、ＨＬＵの仕様は、所望のＨＬＵの仕様を満たす既存のコンピュータ・システムの構成の再マッピングおよび／または再ゾーン化に対する許容度を示すことが可能である。
【００３６】
許容度を示す際、自動プロビジョニング・プロセスにオプションの範囲を設けることが可能である。例えば、ＨＬＵの仕様が再マッピングおよび／または再ゾーン化に対して低い（またはゼロの）許容度を示す場合、自動プロビジョニング・プロセスは、ＨＬＵの仕様を満たすように予めマッピングおよび／または予めゾーン化されているボリュームのみのプロビジョニングを行う。予めマッピングおよび／または予めゾーン化された論理ボリュームを用いてＨＬＵの仕様を満たすことが不可能な場合、プロビジョニング要求は失敗に終わる。逆に、ＨＬＵの仕様が再マッピングおよび／または再ゾーン化に対して高い許容度を示す場合、自動プロビジョニング・プロセスは、予めマッピングおよび／または予めゾーン化されている論理ボリュームを用いることによって、ＨＬＵの仕様を満たそうとするが、それが不可能な場合は、（以下で説明する方法で実施可能な）手段を講じて、ＨＬＵの仕様を満たすことが必要もしくはは望ましい場合に、論理ボリュームを再マッピングおよび／または再ゾーン化し得る。先に説明したように、再マッピングおよび／または再ゾーン化を実行するには構成時間を浪費するため、要求者は、ＨＬＵの仕様に表されているように、これらの処理に対する許容度を決定する際に、これを考慮することが可能である。
Ｃ．ホストの仕様
ブロック２１４（図３）において作成されるプロビジョニング要求のホストの仕様は、ホスト・コンピュータ１，２（図１）にとって使用可能となる論理ボリュームを、これらのホスト・コンピュータが用いる方法を定義する。図１の例では、ホスト・コンピュータ１に提供される論理ボリュームの各々は、ファイル・システム１６の記憶空間を設けるために用いられ、ホスト・コンピュータ２に提供される論理ボリュームの各々も同様に、ファイル・システム２６の記憶空間を設けるために用いられる。尚、ホスト・コンピュータは、論理ボリューム・マネージャ（ＬＶＭ）、データベース管理システムのための記憶をするために、あるいは、未加工の論理ボリュームに直接にアクセスするために論理ボリュームを用いる等を含む多数の方法で論理ボリュームを使用することが可能であることは当然認められよう。本発明は、ホスト・コンピュータが、それに提供される論理ボリュームを利用する方法には全く限定されず、ホストの仕様により、コンピュータ・システムにおけるホスト・コンピュータの論理ボリュームに対するあらゆる所望の使用を定義することが可能である。
２．プロビジョニング要求の作成
プロビジョニング要求は、多数の方法のうちの任意の方法により作成可能であり、本発明はいずれの特定の作成技術にも限定されることはない。プロビジョニング要求の作成は、（例えば、システム管理者が先に説明した方法でコンピュータ・システムの所望の構成を定義しようとすることによって）完全に手動で行うことが可能であり、あるいは、代わりとして、複製が望まれる現行のコンピュータ・システムの構成をリバース・エンジニアリングすることによって、本質的に完全に自動的に作成することも可能である。多数の理由のうちのいずれかの理由のために、既存のコンピュータ・システムの構成を複製することが望ましい場合がある。複製が望ましいと考えられる特定の用途の１つは、データ移動が記憶システム間で行われるときである。例えば、論理的に関連するデータ集合全体（例えば、ファイル・システム、ＬＶＭまたはデータベース）を、既存の記憶システムの容量および／または性能に限界がある場合というような、多数の理由のうちのいずれかの理由により、一方の記憶システムから他方に移動させることが望ましい場合がある。
【００３７】
尚、プロビジョニング要求を手動で作成する場合、それは、任意の望ましい態様で作成可能であることは当然認められよう。例えば、システム管理者が、自動プロビジョニング・プロセスにより可読な形態で（あるいは、可読な形態に変換可能な形態で）、データを任意のコンピュータに単に入力すればよい、それによって、プロビジョニング要求が自動プロビジョニング・プロセスに入力することが可能である。
【００３８】
新たなプロビジョニング要求のテンプレートを提供するために、既存のコンピュータ・システムの構成のリバース・エンジニアリング（本明細書においては、ソース・ディスカバリとも呼ぶ）を、多数の方法のうちのいずれかの方法で行うことが可能であり、本発明は、いずれの特定の実施技術にも限定されることはない。先に説明したように、コンピュータ・システムの構成の中には、管理リソースを有し、この管理リソースにコンピュータ・システムの構成に関する情報を収集するように、問い合わせ（クエリ）を行うことが可能であるものも存在する。かかる管理ツールの一例は、ＥＭＣ社から入手可能なパッケージ・ソフトウェア製品である、ＣｏｎｔｒｏｌＣｅｎｔｅｒ／Ｏｐｅｎ  Ｅｄｉｔｉｏｎ（以後ＥＣＣ管理ツールと呼ぶ）である。そのＥＣＣ管理ツールにより、ユーザがコンピュータ・システムのインフラストラクチャの構成の具体的詳細を視認することが可能になる。ＥＣＣ管理ツールは、多数のエージェントを用いており、これらをコンピュータ・システム全体（例えば、ホスト、記憶システム、およびネットワーク・コンポーネント上）に分散し、アプリケーション・プログラミング・インターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ：ＡＰＩ）を用いて中央管理エージェントと通信し、中央管理エージェントは情報を収集し、これをコンパイルしてデータ集合（例えば、データベース）とし、コンピュータ・システムのインフラストラクチャの記述を提供する。本発明の一つの実施形態では、システム構成のソース・ディスカバリは、ＥＣＣ管理ツールに、当該ＥＣＣ管理ツールが管理する既存のコンピュータ・システムの構成に関する所望の情報を提供するように問い合わせることによって、実行可能である。本発明の一つの実施形態では、自動プロビジョニング・プロセスは、ＥＣＣ管理ツールの一部として具体化され、ユーザが既存のシステムに基づいて新たなコンピュータ・システムのプロビジョニングを要求したことに応答して、自動的に、ソース・ディスカバリ・ステップ実行可能である。一つの実施形態では、本明細書に記載の本発明は、ＥＣＣ管理ツールによって保持されているデータベースに、プロビジョニング要求を構築するために望まれる必要な情報を抽出するように問い合わせ、本明細書において説明する方法により自動プロビジョニング・プロセスに引き渡すことが可能である。
【００３９】
尚、既存のコンピュータ・システムのリバース・エンジニアリング、即ちソース・ディスカバリに関する本発明の実施形態は、ＥＣＣ管理ツールを伴う使用に限定されるのではなく、多数の他の技術も採用可能であることは当然認められよう。例えば、コンピュータ・システムが別の形式の管理システムと連動し、コンピュータ・システムのインフラストラクチャに関する所望の情報を収容したデータ集合を含む場合、この情報をその管理ツールから収集することが可能である。あるいは、コンピュータ・システムのインフラストラクチャに関する関連情報を収集している中央管理ツールが存在しない場合、コンピュータ・システムにおける種々のコンポーネントから別個に構成情報を収集めるために、多数の異なるツールを用いることも可能である。例えば、一部のネットワーク・コンポーネントおよび記憶システムはＡＰＩを備えており、このＡＰＩにより、当該コンポーネントに問い合わせをし、当該コンポーネントが、本明細書に記載の自動プロビジョニング要求を構築するために望まれる形式の構成情報を提供することが可能になる。更に、ＥＭＣ社から入手可能な、ＷｉｄｅＳｋｙ記憶管理機能（ＥＭＣ  Ｓｙｍｍ  ＡＰＩ−Ｍａｐｐｅｒアプリケーション・プログラミング・インターフェースを含む）のようなツールが利用可能であり、ホスト上の種々のコンポーネント（例えば、ファイル・システム、ＬＶＭまたはデータベース）のために記憶リソースとしてどの論理ボリュームを割り当てるかというような、ホスト内部の構成情報の発見が可能となる。簡潔に述べれば、多数のツールのうちのいずれのツールを用いても、コンピュータ・システムのコンポーネントから所望の情報を収集し、新たなプロビジョニング要求のためのテンプレートを提供し得るものであり、本発明はいずれの特定の実施技術にも限定されることはない。
【００４０】
先に説明したように、共通特性を有する記憶リソースを共にプールするための管理技術を用いるコンピュータ・システム上で用いられる本発明の一つの実施形態では、ソース・ディスカバリ・プロセスは、リバース・エンジニアリングされる既存のコンピュータ・システムにおける種々の記憶リソースが、特定の記憶プールに属するか否かを特定しようとすることが可能であり、属する場合は、ソース・ディスカバリ・プロセスによって自動的に生成されたプロビジョニング要求において、その情報を提供することが可能である。便利ではあるが、本発明はこれに関しては限定されず、ソース・ディスカバリの自動実行に関する本発明の態様は、いかなる記憶プールの使用の特定にも限定されないことは当然認められよう。
【００４１】
ソース・ディスカバリの後、状況によっては、システム管理者にとって、コンピュータ・システムの構成の定義をプロビジョニング要求として自動プロビジョニング・プロセスに提供する前に、それを修正することが望ましい場合がある。これらの修正はいかなる形式でも可能である。何故なら、既存のコンピュータ・システムの構成に基づくが、様々な種類の修正も伴って、新たなコンピュータ・システムの構成をモデル化することが望ましい状況は多々あり得るからである。したがって、本発明は、コンピュータ・システムの構成の定義を修正してプロビジョニング要求を作成することが可能な方法には全く限定されないものとする。前述の例では、データ集合を記憶システム間で移動させることが好ましい場合もあり、自動ソース・ディスカバリ・プロセスから出力されるコンピュータ・システムの定義に対する修正としては、データ集合を格納していた論理ボリュームを格納する複数の記憶システム（または単独の記憶システム）の一意的な識別子を修正することを伴うに過ぎない場合もある。何故なら、コンピュータ・システムの残りの部分はその通りに複製してもよいからである。
【００４２】
コンピュータ・システムの構成の定義をプロビジョニング要求として提出する前に変更することが望ましい他の例は、ファイル・システムの拡張に関する。かかる状況では、システム管理者は、同種の記憶リソース（例えば、同一のＲＡＩＤ保護レベルを有する、同一記憶システム上に設けられている記憶リソース等）を一貫して用いて、ファイル・システムを拡張することが望ましいと認識し得る。このため、本発明の一つの実施形態によれば、ファイル・システムを拡張しようとしているシステム管理者は、既存のシステム上でソース・ディスカバリを実行して、これに用いられている記憶リソースの関連する特性を特定し、自動ソース・ディスカバリ・プロセスからの出力を修正して、一貫した拡張ファイル・システムを定義し得る。
３．自動プロビジョニング・プロセス
（自動により、手動により、もしくはその組み合わせにより）プロビジョニング要求を作成した後、一つの実施形態では、プロビジョニング要求は、自動プロビジョニング・プロセスに対する入力として用いられ、自動プロビジョニング・プロセスにより、その要求に提供されている定義を満たすように、コンピュータ・システムのプロビジョニングが行われる。図２に示す本発明の実施形態によれば、自動プロビジョニング・プロセスは、３種類の主要な動作を含み、これらはリソース選択、トランザクション作成、およびトランザクション実行である。リソース選択は、プロビジョニング要求を実現するために、リソース（記憶システム、接続コンポーネント、およびホスト・コンピュータのリソース等）を識別し、かつ選択することから成る。トランザクション作成は、命令のプログラムまたはログを作成することから成り、これを実行すると、構成動作を実行し、プロビジョニング要求において定義されているようにコンピュータ・システムを構成する。トランザクション実行は、実際にその動作を実行して、コンピュータ・システムを構成することから成る。自動プロビジョニング・プロセスのこれらの部分については、各々、以下で更に詳細に説明する。
Ａ．リソース選択
図２を参照すると、動作１１０において、リソース選択を実行する。リソースとしては、例えば、１つ以上のホスト・コンピュータ、記憶システム、ネットワーク構築コンポーネント、および論理ボリュームがあり得る。リソースは、プロビジョニング要求において明記されている仕様を実現するように選択される。
【００４３】
プロビジョニング要求を満たすために使用可能なリソースの特定は、多数の方法のうちの任意の方法で行うことが可能であり、本発明はいずれの特定の実施技術にも限定されない。先に説明したＥＣＣ管理ツールのような管理システムを含むシステムにおいて用いるための本発明の一つの実施形態によれば、管理ツール（例えば、そのデータベース）に問い合わせて、プロビジョニング要求を満たすための選択に使用可能なリソースを発見することが可能である。自動プロビジョニング・プロセスがＥＣＣ管理ツール内で具体化されている本発明の実施形態によれば、リソース選択のプロセスは、例えば、データベースにクエリを発行して所望の情報を取得することによって、実行すること可能である。
【００４４】
使用可能なリソースに関する情報を格納するデータベースが設けられている本発明の実施形態では、データベースの機能（例えば、ＳＱＬクエリの実行、およびデータベース・ビューの使用）を用いると、リソース選択のプロセスを最適化して、促進することが可能である。例えば、データベースは、コンピュータ・システムにおける全ての物理エレメント（例えば、ディスク、接続機器）および論理エレメント（例えば、ＬＵＮ）に関する情報を格納し得る。１つ以上のデータベース「ビュー」を実装すると、クエリを実行することが可能なデータベースの部分（ビューによって定義する）を予め選択し、クエリの実行の簡略化および効率化を図ることが可能である。例えば、データベース・ビューを用いると、以前に物理的通信接続を確立したエレメントを予め選択しておき、クエリがその部分集合のみから選択するようにすることが可能である。あるいは、または、加えて、データベース・ビューを用いると、他の特性を処理する記憶エレメント（例えば、ゾーン化記憶エレメント、または記憶プールに属するエレメント）を予め選択することも可能である。
【００４５】
尚、本発明のリソース選択の態様は、データベース・ビュー、あるいは、動的に生成され、かつリレーショナル・データベースに対して実行されるＳＱＬクエリの使用に限定されず、所望の情報を集めるのに適したあらゆる技術が使用可能であることは当然認められよう。例えば、自動リソース選択は、多数のプログラムミング技術のうちの任意のプログラミング技術を用いることによって（例えば、選択の基準を一連のパラメータに変換して、それを、一つ以上のデータの集合に対して実行する一つ以上のプログラムに対する入力として供給することにより、あるいは、他の無数の自動技術のうちの任意の自動技術により）、達成され得る。手動技術、ならびに、自動技術と手動技術の組み合わせもまた利用され得る。
【００４６】
コンピュータ・システムに含まれるリソースの既存のデータベースを備えた中央管理ツールが、問い合わせに使用不可能であるコンピュータ・システムにおいては、プロビジョニング要求を満たす使用可能なリソースを発見するのに、他の技術を用いることが可能である。例えば、コンピュータ・システムにおけるリソース（例えば、ホスト・コンピュータ、ネットワーク・コンポーネント、および記憶システム）を発見するために問い合わせが可能な中央ＡＰＩを備えた管理ツールが存在する場合、かかる中央ＡＰＩを用いてリソースの発見および選択プロセスを実行することが可能である。かかる中央管理ツールが使用不可能な場合であっても、殆どのコンピュータ・システムのコンポーネントは、使用可能な固有のＡＰＩを有しており、コンポーネントの種類、使用可能なポートの個数等のような、コンポーネントに関する情報を集めるために、問い合わせることが可能である。
【００４７】
図６に示す実施形態によれば、リソース選択のプロセスは、３つの基本的動作６１０，６２０，６３０において実行される。これらを、階層的レイヤと見なすことが可能であり、動作６１０が最低レイヤであり、動作６３０が最高レイヤである。
【００４８】
動作６１０において、記憶エレメント（例えば、論理ボリューム）の個数、記憶エレメントのサイズ、記憶エレメントの物理記憶デバイスに対するあらゆる特定的な要求等のような、記憶エレメント記述子に指定されている低レベル基準を満たすように、記憶エレメントを選択する。以下で説明するが、多数の記憶エレメントの論理的相互作用に関する要求の中で、レベルが高いものは、階層の中間レイヤである動作６２０において実行する。
【００４９】
前述のように、動作６１０は、それに提供された基準を満たすリソースを選択しようとする。本発明の一つの実施形態によれば、図６のリソース選択のプロセスの最初の通過の間に、動作６１０に提供される基準は、記憶エレメント記述子に指定されている最も厳しい制約を包含する。例えば、プロビジョニング要求がデバイスの再ゾーン化に対して特定の許容度を示す場合、本発明の一つの実施形態では、図６のリソース選択のプロセスの最初の通過の間は、動作６１０はゾーン化デバイスのみを用いることを含む、この基準の全てを満たすように、リソースを選択しようとする。本発明の一つの実施形態によれば、動作６１０は、記憶エレメント記述子を満たすリソース全てを発見しようとし、記憶リソースでパーティションを作成する。各パーティションは、記憶エレメント記述子に指定されている関連特性と本質的に同一の記憶エレメントを含む。したがって、個々のパーティション内の記憶リソースの各々は、記憶エレメント記述子を満たすという意味では、相互交換可能であると見なすことが可能である。何故なら、これらは関連する共通特性を有するからである。記憶エレメント記述子を満足するために潜在的に使用可能なリソースを全て選択することによって、上位レベルの基準を満たす互換リソース（ｃｏｍｐａｔｉｂｌｅ  ｒｅｓｏｕｒｃｅ）を求める、動作６２０における階層の中央レイヤの尤度（ｌｉｋｅｌｉｈｏｏｄ）は最大化される。便利ではあるが、本発明はこの点に関して限定されず、動作６１０における記憶エレメント記述子を満たすために、使用可能な記憶リソースの全てを特定する代わりに、部分集合を特定することが可能であり（例えば、最少数のみを特定することが可能）、次いで、以下に説明するものと同様に、追加の繰り返しを行うことが可能であることは当然認められよう。
【００５０】
動作６１０の完了後、プロセスは動作６１５に進み、記憶エレメント記述子に指定されている低レベル要求の全てを満たすリソースが選択されたか否かの判定を行う。要求の全てを満たした場合、プロセスは動作６２０に進み、多数の記憶エレメントの論理的連携に関する上位要求について、以下に説明するように検討する。逆に、動作６１５において、記憶エレメント記述子に対する低レベル要求を満たす十分なリソースは選択されなかったと判定した場合、プロセスは動作６２７に進み、記憶エレメント記述子に対する基準を修正または緩和することが可能か否かの判定を行う。不可能な場合、プロセスは動作６２９に進み、エラー・メッセージを返し、プロビジョニング要求を指定通りに満たせないことを示す。その時点で、システム管理者は、（例えば、許容度を緩和する、要求記憶量を減らす、性能特性を緩和する等によって）プロビジョニング要求を修正するか否かの評価することが可能である。
【００５１】
指定した許容度の柔軟性にいくらかの余裕がある場合に起こり得ることであるが、動作６２７において、要求の修正が可能であると判定した場合、プロセスは動作６３０に進み、記憶エレメント記述子の基準を修正し、次いで、修正した基準を動作６１０に再度提出し、修正した基準を満たす十分なリソースが提供可能か否かの判定を行う。記憶エレメント記述子の基準を修正することが可能な方法の一例は許容度に関する。先に説明したように、本発明の一つの実施形態によれば、リソース選択のプロセスの最初の通過の間に、最も厳しい制約を適用するので、可能であるならば、システムは、プロビジョニング要求に指定されている好みを満たすように構成可能である。しかしながら、プロビジョニング要求が特定の特性に対して好みを示すが、それを有するための許容度は満たされていない場合、先に説明したように階層の最上位レイヤを実施する動作６３０が、プロビジョニング要求に指定されている許容度の境界内の制約を１つ以上緩和し、その要求を階層上の低い方のレイヤに再度提出し、緩和した制約を満たすシステムを構成することが可能であるか否かの判定を行うことが可能である。これに関して、基準を動作６１０に再度提出する前に特定の制約を緩和することによって、新たに緩和した基準を満たす記憶リソースを、より多く見つける可能性があることは当然認められよう。
【００５２】
尚、本発明は、（動作６３０によって実施される）階層における最上位レイヤが制約を緩和する方法によっては決して限定されず、多数の実施形態が可能であることは当然認められよう。例えば、動作６３０は、記憶プロビジョニング要求がかかる緩和に対して最高の許容度を示す制約を最初に緩和することから開始することが可能である。
【００５３】
前述のように、動作６１０において記憶エレメントに対する低レベルの要求を満たす十分なリソースが特定されたと、動作６１５において判定した場合、プロセスは動作６２０に進む。動作６２０は、階層における第２レイヤを実施し、動作６１０において選択したリソースを用いて、２つ以上の記憶エレメント間の論理関係に関する特定の基準を満たすことが可能であるか否かの判定を行う。記憶エレメント記述子に指定され、動作６２０において検討される制約には多くの種類がある。その例は、局所的ミラーまたは遠隔的ミラーというようなミラーリング関係を含む。例えば、スナップショット・ミラーでは、同一の物理記憶システム上に格納されている同一のサイズおよび種類の２つの記憶リソースを有することが望ましく、遠隔的ミラーでは、異なる記憶システム上に位置する同一のサイズの２つの記憶ボリュームを有することが望ましい。これは、動作６２０によって検討することが可能な２つ以上の記憶エレメント間の相互関係の単なる一例に過ぎず、他にも多くの可能性がある。
【００５４】
尚、本発明の一つの実施形態によれば、コンピュータ・システムにおけるハードウェアによって適切な処理能力が得られる場合、それ以外では上位レベルと見なされ得る特定の機能を、より低レベルの動作６１０において実施可能であることは当然認められよう。例えば、コンピュータ・システムがインテリジェント記憶システムを含み、ハードウェア・ミラー・デバイスを備える能力を有する場合、記憶エレメント記述子におけるミラー構成の要求は、本発明の一つの実施形態では、最低レベルの動作６１０において満たすことが可能である。つまり、これによって作成されたパーティションは、ミラーリングされたデバイスの集合を含むことが可能であるため、より高レベルの動作６２０においてこの論理関係に対処する必要がなくなる。勿論、本発明はこの点において限定されることはなく、ミラーリング関係は、代わりに、より高レベルの動作６２０において対処可能であることは当然認められよう。
【００５５】
更に、ミラーリング機能は、コンピュータ・システムにおけるハードウェアによって提供され、低レベルの動作６１０において実施可能な処理能力の単なる一例に過ぎないことは当然認められよう。
【００５６】
尚、一つの実施形態では、動作６２０は、動作６１０が与えたパーティションの中から具体的な記憶リソースを特定することによって、記憶エレメント記述子を満たそうとする。動作６２０において上位の基準を評価した後、プロセスは動作６２５に進み、記憶エレメント記述子に指定されているより高レベルの基準を満たしているか否かの判定を行う。満たしている場合、所望のコンピュータ・システムを実現するために用いることが可能な具体的な記憶リソースが動作６２０において特定されたことになり、プロセスは終了する。
【００５７】
逆に、動作６１０において選択したリソースでは、より高レベルの基準を満たすには不十分であると、動作６２５において判定した場合、プロセスは動作６２７に進み、先に説明したように、選択基準は緩和可能か否かについての判定を行う。
【００５８】
尚、以上のことから、図６に示したプロセスを繰り返しプロセスとすることは可能であり、最初に可能な限り最も厳しい制約で記憶エレメント記述子を満たそうとし、（動作６３０において実施される）階層における最上位レベルの制御の下で、１回以上そのプロセスを追加的に繰り返すことによって、記憶エレメント記述子を満たすまで、あるいは記憶エレメント記述子を満たす十分なリソースは得られないと判断するまで、これらの制約を緩和させていくことも可能であることは当然認められよう。
【００５９】
本発明は、前述の動作を記載した順序で実行することにも、任意の順序で実行することにも全く限定されない。実施形態の中には、前述とは異なる数の動作から成り、直列に、並列に、もしくはこの２種類の組み合わせにより実行され得る動作から成るプロセスを用いて、リソース選択を遂行し得るものもある。
【００６０】
簡潔に述べれば、コンピュータ・システム内におけるリソースの特定を可能とし、どのリソースがプロビジョニング要求に合うか判定するための望ましい情報を提供するのに適した技術であれば、そのいずれを用いてリソースの選択を行ってもよく、本発明はいずれの特定の実施技術にも限定されることはない。
【００６１】
図２に示したプロビジョニング・プロセスのステップの全ては、本発明の一つの実施形態では自動化されているが、本発明はこの点に関して限定されず、これらの動作の一部（リソース選択の動作を含む）が、手動の処理を含むこと、あるいは完全に手動で実行可能であることは当然認められよう。
Ｂ．トランザクション作成
動作１２０において、プロビジョニング要求に提供されている定義を満たすようにコンピュータ・システムを構成するために実行する一連のアクションを明記したトランザクションを作成する。このトランザクションにおけるアクションの形式は、先に説明した形式、例えば、論理ボリュームを、これらを視認することが可能な種々のポートにマッピングすること、プロビジョニング要求に指定されているようにセキュリティ対策を設けてアクセスを制限すること、ホスト・コンピュータのポートを走査し、これらのポートを通じてホスト・コンピュータにとって使用可能となった論理ボリュームを認識するようにホスト・コンピュータに命令すること、１つ以上の論理ボリュームをファイル・システム、ＬＶＭ、データベース、またはその他のホスト・コンピュータ・リソースに割り当てること、論理ボリューム形式（例えば、標準記憶ボリューム、ミラー、ホット・スペア）等を構成すること、所望の任意のミラーリング構成を作成すること等のいずれであっても、含み得る。トランザクションは、プロビジョン要求を満たすようにコンピュータ・システムを物理的に構成する際に実行する低レベルのアクションを含む多数のアクションを含む。
【００６２】
尚、トランザクションにおいて組み込むアクションの正確な特色は、コンピュータ・システムにおけるコンポーネントの個々の特色によって異なることは当然認められよう。例えば、ホスト・コンピュータは、異なる種類のオペレーティング・システムを有し、これらが異なる構成アクションに対応することもあり、更に異なる種類の記憶システムおよびネットワーク構築コンポーネントが同様に異なる形式の構成アクションに対応することもある。
【００６３】
本発明の一つの実施形態では、プロビジョニング要求を満たすようなコンピュータ・システムを構成するという最終的な結果を達成するためだけに、トランザクションを強引に作成するのではなく、トランザクションを実行したときの構成プロセスの効率を含む他の検討項目も考慮する。例えば、ホスト・コンピュータがそのＩ／Ｏポートを走査して、これらのポート上で使用可能となった新たな論理ボリュームを特定することは、時間を浪費する。したがって、コンピュータ・システムを構成する際に、ホスト・コンピュータがかかる走査を行う回数を極力減らすことが望ましく、論理ボリュームをホストにとって使用可能とし、それらを一度に１つずつ走査する代わりに、例えば、ホスト・コンピュータに割り当てられている複数の論理ボリュームを使用可能とし、次いでこれらの論理ボリューム全てを特定する１回の走査処理を行うアクションを実行することが望ましいこともある。尚、これは単なる一例として提供したに過ぎず、トランザクションにおける一連の処理を効果的に計画することによりトランザクション実行の効率向上をもたらすことが可能な他の状況も存在し得ることは当然認められよう。
【００６４】
望ましいが、本発明は、トランザクションの実行を効率的にするようにトランザクションを編成することに限定されるのではなく、トランザクションは、プロビジョニング要求を満たすようにコンピュータ・システムを構成する際に効率的となるような任意の方法により作成および実行可能であることは当然認められよう。
【００６５】
一つの実施形態では、トランザクションの作成の間に、インテリジェンスを設けて、特定の構成ステップが必要か否かを識別する。例えば、論理ボリュームが既に特定のポートにマッピングされている場合、かかるマッピングを実行する処理をトランザクションに含める必要はない。
【００６６】
更に、本発明の一つの実施形態によれば、トランザクションを作成する際に、安全性チェックを行うことにより、リソースの割り当てが一貫性を欠いたものではないことの確証を得る。例えば、チェックを行うことにより、データ損失に至る可能性があるような、論理ボリュームの多数のリソースに対する一貫性を欠いた割り当てがないことの確証を得ることが可能である。
【００６７】
本発明の一つの実施形態によれば、プロビジョニング要求を満たすようにコンピュータ・システムを物理的に構成する際に、トランザクションが実行した１つ以上の処理を取り消す機能を設けられる。これに関して、コンピュータ・システムのプロビジョニングは、管理者が最初に特定の構成処理を実行することを決定するが、その後に意図しない結果を検出し、その処理を取り消したい場合もあるような繰り返しプロセスであることは当然認められよう。このため、本発明の一つの実施形態によれば、プロビジョニング・トランザクション全体を取り消すことが可能である。本発明の別の実施形態によれば、トランザクションの間に実行された処理の（一つの実施形態では、各処理のレベルまでを含む）部分集合を取り消すことが可能である。このように、トランザクションを実行した後、あるいはその実行の間に、トランザクションを、当該トランザクションにおけるいずれの所望の場所にもロールバックしてやり直すことが可能である。
【００６８】
尚、トランザクションを取り消すことが可能な本発明の実施形態は任意の選択肢であり、本発明の全ての実施形態がこの機能を設けることに限定されるのではないことは当然認められよう。更に、トランザクションを取り消したり、もしくはロールバックしてやり直す機能は、多数の方法のうちの任意の方法によって実施可能であり、本発明は任意の特定の実施技術に限定されないことも当然認められよう。
【００６９】
本発明の一つの実施形態によれば、取り消しおよび／またはロールバック機能は、トランザクションを作成するのと同時にロールバック・ルーチンを作成することによって実施可能である。このため、トランザクション作成の間に、作成した処理毎に、それを取り消す並列処理を作成する。このように、並列な取り消しトランザクション全体を実行することによって、トランザクション全体を取り消すことが可能であり、あるいは並列な取り消しトランザクションにおける対応する取り消し処理のみを実行することによって、いずれの特定の処理にでもロールバックしてやり直すことが可能である。
【００７０】
尚、トランザクション作成のプロセスの間に作成される処理の特色は、コンピュータ・システムにおける物理コンポーネントによって様々であることは当然認められよう。リソース選択のプロセスに関して先に説明したように、中央管理ツールおよび／またはシステム・コンポーネント毎の別個のインターフェースを用いれば、このようなリソースを発見することが可能である。同様に、コンピュータ・システムの中には、中央管理ツールのみを操作することによって、管理者がシステム全体を構成することを可能にするような中央管理ツールを備えている場合もある。プロビジョニングが行われるべきシステムがかかる中央管理ツールを含む場合、トランザクション作成のプロセスの間に作成される処理は、当該中央管理ツールを対象とし、それが用いる通信プロトコルに準拠することが可能である。あるいは、システム・コンポーネントの各々によって設けられる別個のＡＰＩを、トランザクション作成のプロセスの間に作成される所望の処理の実行（ｐｅｒｆｏｒｍａｎｃｅ）のために用いることが可能である。
【００７１】
尚、トランザクション作成のプロセスは、いずれの特定の種類の処理を実行することにも限定されず、実行させると、所望の構成アクションを行うのに適した処理であれば、いずれであっても使用可能であることは当然認められよう。
【００７２】
同様に、トランザクションおよびこれに含まれる処理は、多数の形態のうちの任意の形態をとることが可能であり、任意のコンピュータ可読言語またはフォーマットで書くことが可能である。
【００７３】
先に説明した実施形態では、単一のトランザクションを作成して、コンピュータ・システムの全体に対して所望のプロビジョニングの全てを行う。本発明はこの点に限定されず、代わりに多数の別個のトランザクションを作成し、かつ実行して、所望のコンピュータ・システムの部分のプロビジョニングを行うことも可能であることは当然認められよう。
Ｃ．トランザクションの実行
動作１２０においてトランザクションを作成した後、自動プロビジョニング・プロセスは動作１３０に進み、ここでトランザクションを実行する。先に説明したように、本発明の一つの実施形態では、トランザクションは、コンピュータが可読な形態の一連の処理を含み、その実行によって、所望の処理を行うソフトウェア・コードを実行するコンピュータを構成することが可能である。本発明の一つの実施形態では、トランザクションにおいて明記されている処理の全てを、コンピュータ・システムにおけるサーバまたはホスト・コンピュータによって実行することが可能であり、これによって、コンピュータ・システムの管理制御機能（例えば、先に説明したＥＣＣ管理ツールを実行するサーバ）が具体化される。しかしながら、本発明はこの点に限定されるのではなく、代わりに、プロセッサを含むコンピュータ・システムの任意のコンポーネントがトランザクションを実行可能であるように、ホスト・コンピュータ、記憶システム、ネットワーク・コンポーネント等を含むコンピュータ・システム内の任意の適切なコンポーネント上で、トランザクションは実行可能あることは当然認められよう。更に、本発明は、トランザクションにおける処理の全てを単一のシステム・コンポーネントによって実行することには限定されず、トランザクションの処理の一部を各々実行可能な、コンピュータ・システム内の多数の異なるコンポーネント間で、トランザクションを分割することが可能であることも当然認められよう。
【００７４】
先に説明したように、コンピュータ・システムに望まれるプロビジョニング処理の全てを実行するトランザクションを作成し（動作１２０）、実行する（動作１３０）ことは便利であるが、本発明はこの点には限定されず、代わりに、特定のコンピュータ・システムに対するプロビジョニング処理の部分集合のみを自動的に実行可能なトランザクションを作成し実行することも可能である。
【００７５】
本発明の一つの実施形態によれば、トランザクションを実行する動作１３０は、トランザクションを作成する動作１２０の完了に応答して自動的に行われる。一方、動作１２０は、リソース選択の動作１１０の完了に応答して自動的に行われる。これは、プロビジョニング・プロセス全体が自動化される点において便利である。しかしながら、本発明の全ての実施形態はこの点には限定されず、リソース選択の動作１１０とトランザクション作成の動作１２０との間、および／またはトランザクション作成の動作１２０とトランザクション実行の動作１３０との間に手動の処理の挿入が可能なことは当然認められよう。例えば、システム管理者は、動作１３０における実行に先だって、動作１２０で作成したトランザクションを検査し、必要であれば修正することを望む場合もある。更に、本発明の一つの実施形態では、動作１３０において自動で実行されるはずのトランザクションにおいて１回以上の手動の処理があっても構わない。この実施形態では、１回以上の手動の処理に達する以前には、トランザクションの一部は自動的に実行され、ユーザの手動の処理が実行されると、自動的な実行は休止または保留され得る。手動の処理が完了したことが確認されると、トランザクション・ステップの自動的な実行は再開され得る。１回以上の手動のステップを挿入することが望ましいと思われる状況の一例は、トランザクションが完了する以前の管理者によるアクションが望まれる場合である。例えば、ファイル・システムの拡張のプロビジョニングを自動的に行う場合、新たに拡張したファイル・システムを認識するために、アプリケーションを停止または再開することが望ましい場合がある。
【００７６】
本発明の前述の実施形態は、多数の方法のうちの任意の方法により実施することが可能である。例えば、先に説明した機能性は、ハードウェア、ソフトウェア、またはその組み合わせを用いて実施することが可能である。ソフトウェアで実施する場合は、適切なプロセッサのいずれか、あるいはプロセッサの集合において、単一のコンピュータに設けられているか、もしくは多数のコンピュータ間に分散されているかには拘わらず、ソフトウェア・コードを実行することが可能である。更に、前述の機能を遂行する任意のコンポーネントまたはコンポーネントの集合も、先に説明した機能を制御する１つ以上のコントローラとして一般には見なせることも当然認められよう。１つ以上のコントローラは、多数の方法、例えば、専用のハードウェアを用いるか、あるいは、マイクロコードまたはソフトウェアを用いて、先に明記した機能を遂行するようにプログラムされた１つ以上のプロセッサを採用することによって、実施することが可能である。
【００７７】
これに関して、本発明の実施形態の一つの具体化は、コンピュータ・プログラム（即ち、複数の命令）をエンコードした少なくとも１つのコンピュータ可読媒体（例えば、コンピュータ・メモリ、フロッピ・ディスク、コンパクト・ディスク、テープ等）から成り、プロセッサ上で実行すると、先に説明した本発明の実施形態の機能を遂行することは当然認められよう。そのコンピュータ可読媒体は持ち運び可能であり、それに格納したプログラムを、任意のコンピュータ・システム・リソースにロードして、本明細書に記載の本発明の態様を実施することが可能である。加えて、実行された場合に先に説明した機能を遂行するコンピュータ・プログラムに対する参照は、ホスト・コンピュータ上で実行されるアプリケーション・プログラムに限定されるのではないことも当然認められよう。逆に、本明細書においてコンピュータ・プログラムという用語は、汎用的な意味で用いられ、本発明の先に説明した態様を実施するようにプロセッサをプログラムするために用いることが可能な任意の種類のコンピュータ・コード（例えば、ソフトウェアまたはマイクロコード）を参照するものとする。
【００７８】
以上、具体的な実施形態を参照しながら本発明を具体的に示し、そして説明したが、潜在的に可能なあらゆる実施態様を列挙することは現実的ではないため、これらの実施形態は一例として提示したに過ぎない。特許請求の範囲に規定した本発明の技術思想および範囲から逸脱することなく、形態および詳細における種々の変更が可能であることは、当業者には当然理解されよう。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態を用いてプロビジョニングを行うことが可能な形式のコンピュータ・システムの一例を示すブロック図。
【図２】本発明の一つの実施形態によってコンピュータ・システムのリソースのプロビジョニングを行うプロセスを示すフローチャート。
【図３】本発明の一つの実施形態によるプロビジョニング要求の作成を概念的に示す図。
【図４】本発明の種々の実施形態によってプロビジョニングが行われるコンピュータ・システムにおいて採用可能な形式のホスト・コンピュータおよび記憶システムを含むコンピュータ・システムの一例を示すブロック図。
【図５】図４に示したようなコンピュータ・システムにおいて利用可能な多数のソフトウェア・レイヤを示す図。
【図６】本発明の一つの実施形態によるプロビジョニング要求を満たすリソースを選択するプロセスを示す図。
【図１】
0004648003.tif 000002
【図２】
0004648003.tif 000003
【図３】
0004648003.tif 000004
【図４】
0004648003.tif 000005
【図５】
0004648003.tif 000006
【図６】
0004648003.tif 000007