(57)【要約】【課題】装置の管理単位に応じた要件を適切に把握すること。【解決手段】記憶部１ａは、複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けて記憶された複数の属性の設定値とを記憶する。演算部１ｂは、記憶部１ａを参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定する。演算部１ｂは、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出する。演算部１ｂは、第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報を作成する。【選択図】図１
2015001826.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けて記憶された複数の属性の設定値とを参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定し、
前記第１の特徴をもつ属性の設定値に対して、特定された前記管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、
前記第１および前記第２の特徴に基づいて、特定された前記管理単位における前記属性の設定値に対する要件を示す情報を作成する、
処理をコンピュータに実行させる構成要件作成プログラム。
【請求項２】
前記特定では、何れかの属性の設定値が装置の集合毎に前記第１の特徴をもつ最大の管理単位を特定する、請求項１記載の構成要件作成プログラム。
【請求項３】
前記特定では、何れかの属性の設定値が全て同一、または、全て別個であるという前記第１の特徴を集合毎にもつ管理単位を特定する、請求項１または２記載の構成要件作成プログラム。
【請求項４】
前記検出では、前記複数の装置の集合間で前記第１の特徴をもつ属性の設定値に重複があること、または、重複がないことを前記第２の特徴として検出する、請求項１乃至３の何れか１項に記載の構成要件作成プログラム。
【請求項５】
前記特定では、特定された前記管理単位で区分される装置の集合毎に、前記第１の特徴をもつ属性の設定値と他の属性の設定値との間で成立する関係を第３の特徴として更に特定し、
前記作成では、更に前記第３の特徴に基づいて前記要件を示す情報を作成する、
請求項１乃至４の何れか１項に記載の構成要件作成プログラム。
【請求項６】
前記特定では、前記第１の特徴をもつ属性の設定値が前記他の属性の設定値の範囲に包含されていることを前記第３の特徴として特定する、請求項５記載の構成要件作成プログラム。
【請求項７】
作成された前記要件を示す情報に基づいて、他の複数の装置における前記複数の属性の設定値が前記要件を満たすか否かを判定し、判定結果を示す情報を出力する、請求項１乃至６の何れか１項に記載の構成要件作成プログラム。
【請求項８】
前記包含関係は、前記複数の管理単位の空間的な包含関係である、請求項１乃至７の何れか１項に記載の構成要件作成プログラム。
【請求項９】
複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けられた複数の属性の設定値とを記憶する記憶部と、
前記記憶部を参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定し、
前記第１の特徴をもつ属性の設定値に対して、特定された前記管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、
前記第１および前記第２の特徴に基づいて、特定された前記管理単位における前記属性の設定値に対する要件を示す情報を作成する、演算部と、
を有する構成要件作成装置。
【請求項１０】
コンピュータが、
複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けて記憶された複数の属性の設定値とを参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定し、
前記第１の特徴をもつ属性の設定値に対して、特定された前記管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、
前記第１および前記第２の特徴に基づいて、特定された前記管理単位における前記属性の設定値に対する要件を示す情報を作成する、
構成要件作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は構成要件作成プログラム、構成要件作成装置および構成要件作成方法に関する。
【背景技術】
【０００２】
現在、情報処理システムの大規模化が進んでいる。例えば、データセンタに設置された複数のコンピュータのリソースをユーザに提供することがある。データセンタでは、リソースの利用量の変化やハードウェアの性能改善などに応じてコンピュータやネットワーク機器などの各種の装置が増設されたり交換されたりする。このとき、新たに設けた装置の設定や既存の装置に対する設定の変更が行われる。例えば、ネットワークに関する設定や装置上のハードウェア／ソフトウェアの動作環境の設定などを行うことが考えられる。
【０００３】
例えば、マルチテナント型情報処理システムにおいて、機器の設定項目毎のテナント依存の有無を示す情報を予め保持しておき、テナントの初期構築時に、テナントを構成する機器からテナントに依存する設計項目を当該情報に基づいて特定する提案がある。この提案では、特定した設計項目の設計値を、他のテナントの設定値と重なりなく算出する。
【０００４】
また、テナント内のセグメントで仮想サーバの構成変更を行う際に、構成変更後における対象セグメントの情報と、対象セグメントにおける仮想サーバの有無とに応じて、設定変更を要するネットワーク機器と設定変更項目とを特定する提案もある。
【０００５】
また、ソフトウェアまたはハードウェアの動作を規定するパラメータ設定の集合であるコンフィグレーションデータからサーバ間の依存関係（例えば、第１のサーバの処理に第２のサーバを用いること）を示す関係グラフを生成する提案もある。更に、複数のコンピュータからコンフィグレーションデータを収集して解析する提案もある。この提案では、例えば、あるソフトウェアを実行する全てのコンピュータが少なくとも２つのＨＢＡ（Host Bus Adapter）を有していれば、当該ソフトウェアを実行するコンピュータは２以上のＨＢＡを有するというルールを生成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２５３５５０号公報
【特許文献２】特開２０１２−６５０１５号公報
【特許文献３】特開２０１０−２５６９７８号公報
【特許文献４】特開２００９−４８６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、各装置は種々の粒度の単位（例えば、地域、地域内のデータセンタ、データセンタ内のラックなど）で管理され得る。また、当該単位（以下、管理単位という）に応じて装置の設定値に規則を設けることで、管理単位毎に装置の設定の統制を図ることがある。この場合、管理単位毎の規則に則って装置の設定が行われなければ、当該装置の設定が他の装置の動作に対して悪影響を及ぼし得る。例えば、ある管理単位において設定値の重複が許されない属性（例えば、装置の識別情報）について当該管理単位内の複数の装置で設定値が重複すると装置の動作（例えば、装置間の通信）に支障を来たすおそれがある。ところが、管理単位毎にどのような規則に則った設定が行われているかを把握することは容易でない。例えば、各属性に対する管理単位毎の要件を記録した情報の所在が不明なこともある。また、当該情報が存在しないこともある。
【０００８】
１つの側面では、本発明は、装置の管理単位に応じた要件を適切に把握できる構成要件作成プログラム、構成要件作成装置および構成要件作成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、コンピュータによって実行される構成要件作成プログラムが提供される。この構成要件作成プログラムは、複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けて記憶された複数の属性の設定値とを参照して、何れかの属性の設定値が管理単位で区分される集合毎に第１の特徴をもつ管理単位を特定し、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報を作成する、処理をコンピュータに実行させる。
【００１０】
また、１つの態様では、構成要件作成装置が提供される。この構成要件作成装置は、記憶部と演算部とを有する。記憶部は、複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けられた複数の属性の設定値とを記憶する。演算部は、記憶部を参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定し、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報を作成する。
【００１１】
また、１つの態様では、構成要件作成方法が提供される。この構成要件作成方法では、コンピュータが、複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報と、各装置に関連付けて記憶された複数の属性の設定値とを参照して、何れかの属性の設定値が管理単位で区分される集合毎に第１の特徴をもつ管理単位を特定し、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の装置の集合間で成立する第２の特徴を検出し、第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報を作成する。
【発明の効果】
【００１２】
１つの側面では、装置の管理単位に応じた要件を適切に把握できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の構成要件作成装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】構成要件作成装置のハードウェア例を示す図である。
【図４】構成要件作成装置のソフトウェア例を示す図である。
【図５】構成情報の例を示す図である。
【図６】グループの例を示す図である。
【図７】サーバパラメータテーブルの例を示す図である。
【図８】スイッチパラメータテーブルの例を示す図である。
【図９】パラメータ特徴テーブルの例を示す図である。
【図１０】要件作成の処理例を示すフローチャートである。
【図１１】パラメータを特徴づけるスコープの特定例を示すフローチャートである。
【図１２】同一パラメータ値となるスコープの特定例を示すフローチャートである。
【図１３】個別パラメータ値となるスコープの特定例を示すフローチャートである。
【図１４】パラメータのグループ間の関係の評価例を示すフローチャートである。
【図１５】パラメータ間の関係の評価例を示すフローチャートである。
【図１６】特徴抽出の具体例を示す図である。
【図１７】ＯＣＬ論理式のテンプレートの例を示す図である。
【図１８】ＯＣＬ論理式のテンプレートの例（つづき）を示す図である。
【図１９】制約テーブルの例を示す図である。
【図２０】制約テーブルの例（つづき）を示す図である。
【図２１】新規構成情報の例を示す図である。
【図２２】サーバパラメータテーブルの例を示す図である。
【図２３】要件の検証例を示すフローチャートである。
【図２４】検証結果の例を示す図である。
【図２５】検証の流れの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の構成要件作成装置を示す図である。構成要件作成装置１は、情報処理システムに含まれる各種の装置に対する設定内容から、設定内容に対する要件を抽出する。各装置において設定対象となる属性には種々のものが含まれる。例えば、属性としては装置の識別情報（ホスト名やネットワーク上のアドレスなど）および機能に応じて通信する他の装置の識別情報などが考えられる。また、属性としては装置内のハードウェアやソフトウェアの設定項目などが考えられる。
【００１５】
構成要件作成装置１は、記憶部１ａおよび演算部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。演算部１ｂは、プログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１６】
記憶部１ａは、複数の装置を管理する包含関係を有する複数の管理単位および各管理単位で区分される装置の集合を示す情報を記憶する。例えば、処理の対象とするシステムでは、複数の装置は包含関係をもつ管理単位Ａ，Ｂ，Ｃで管理される。当該包含関係は階層的な構造で表せる。上位の階層の管理単位は、下位の階層の管理単位を包含する。
【００１７】
管理単位Ａは第１階層の管理単位である。管理単位Ｂは管理単位Ａの直下の第２階層の管理単位である。管理単位Ｃは管理単位Ｂの直下の第３階層の管理単位である。例えば、管理単位Ａを地域、管理単位Ｂをデータセンタ、管理単位Ｃをラックに対応付けることができる。この場合、上記包含関係は管理単位Ａ，Ｂ，Ｃの空間的な包含関係を示しているということもできる。なお、管理単位の階層の数は２つでもよいし４つ以上でもよい。例えば、データセンタという管理単位の配下にフロアという管理単位を設け、フロアの配下にサーバルームという管理単位を設け、サーバルームの配下にラックという管理単位を設けることも考えられる（この場合は５階層となる）。
【００１８】
例えば、分析の対象となる情報処理システムは、装置５，５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇを含む。例えば、装置５，５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇはコンピュータ、ネットワーク機器およびストレージ装置などである。例えば、集合２は第１階層に対応する管理単位Ａで区分される集合である。集合２は装置５，５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇを含む。集合３，３ａは第２階層に対応する管理単位Ｂで区分される集合である。集合３は装置５，５ａ，５ｂ，５ｃを含む。集合３ａは装置５ｄ，５ｅ，５ｆ，５ｇを含む。
【００１９】
集合４，４ａ，４ｂ，４ｃは第３階層に対応する管理単位Ｃで区分される集合である。集合４は装置５，５ａを含む。集合４ａは装置５ｂ，５ｃを含む。集合４ｂは装置５ｄ，５ｅを含む。集合４ｃは装置５ｆ，５ｇを含む。
【００２０】
記憶部１ａは、各装置に関連付けられた複数の属性の設定値を示す情報を記憶する。例えば、各装置は属性Ｘ，Ｙをもち、属性Ｘ，Ｙそれぞれについて設定値をもつ。具体的には次の通りである。装置５の属性Ｘは設定値ａである。この関係をＸ＝ａと表記する（以下、同様）。装置５の属性ＹについてＹ＝ｃである。装置５ａではＸ＝ｂ，Ｙ＝ｃである。装置５ｂではＸ＝ａ，Ｙ＝ｃである。装置５ｃではＸ＝ｂ，Ｙ＝ｃである。装置５ｄではＸ＝ａ，Ｙ＝ｄである。装置５ｅではＸ＝ｂ，Ｙ＝ｄである。装置５ｆではＸ＝ａ，Ｙ＝ｄである。装置５ｇではＸ＝ｂ，Ｙ＝ｄである。
【００２１】
演算部１ｂは、記憶部１ａを参照して、何れかの属性の設定値が管理単位で区分される装置の集合毎に第１の特徴をもつ管理単位を特定する。例えば、属性Ｘに着目すれば、集合４，４ａ，４ｂ，４ｃについて、各集合に属する複数の装置（例えば、集合４でいえば装置５，５ａ）がそれぞれ別個の設定値（例えば、集合４でいえば設定値ａ，ｂ）であるという特徴をもつ。集合４，４ａ，４ｂ，４ｃは管理単位Ｃで区分される集合である。よって、演算部１ｂは「属性Ｘの設定値が別個である」という特徴をもつ管理単位として管理単位Ｃを特定する。
【００２２】
あるいは、例えば、属性Ｙに着目すれば、集合３，３ａについて、各集合に属する複数の装置（例えば、集合３でいえば装置５，５ａ，５ｂ，５ｃ）が同一の設定値（例えば、集合３は設定値ｃで同一、集合３ａは設定値ｄで同一）であるという特徴をもつ。集合３，３ａは管理単位Ｂで区分される集合である。よって、演算部１ｂは「属性Ｙの設定値が同一である」という特徴をもつ管理単位として管理単位Ｂを特定する。
【００２３】
演算部１ｂは、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の集合間で成立する第２の特徴を検出する。例えば、属性Ｘに着目すれば、演算部１ｂは前述のように「属性Ｘの設定値が別個である」という第１の特徴をもつ管理単位として管理単位Ｃを特定している。また、各装置の属性Ｘの設定値によれば、管理単位Ｃで区分される集合４，４ａ，４ｂ，４ｃ間で、属性Ｘの設定値ａ，ｂの重複がある。よって、演算部１ｂは「属性Ｘの設定値に対して管理単位Ｃで区分される集合間で設定値の重複がある」という特徴を第２の特徴として検出する。
【００２４】
あるいは、例えば、属性Ｙに着目すれば、演算部１ｂは前述のように「属性Ｙの設定値が同一である」という第１の特徴をもつ管理単位として管理単位Ｂを特定している。また、各装置の属性Ｙの設定値によれば、管理単位Ｂで区分される集合３，３ａ間で、属性Ｙの設定値が重複していない。よって、演算部１ｂは「属性Ｘの設定値に対して管理単位Ｂで区分される集合間で設定値の重複がない」という特徴を第２の特徴として検出する。
【００２５】
演算部１ｂは、第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報を作成する。例えば、演算部１ｂは、属性Ｘについて「管理単位Ｃで区分される集合内では設定値を別個にする」、「管理単位Ｃで区分される集合間では設定値の重複を許容する」という要件を示す情報を作成する。また、例えば、演算部１ｂは、属性Ｙについて「管理単位Ｂで区分される集合内では設定値を共通にする」、「管理単位Ｂで区分される集合間では設定値を別個にする」という要件を示す情報を作成する。
【００２６】
構成要件作成装置１によれば、演算部１ｂにより、記憶部１ａが参照されて、何れかの属性の設定値が装置の集合毎に第１の特徴をもつ管理単位が特定される。演算部１ｂにより、第１の特徴をもつ属性の設定値に対して、特定された管理単位で区分される複数の装置の集合間で成立する第２の特徴が検出される。第１および第２の特徴に基づいて、特定された管理単位における属性の設定値に対する要件を示す情報が作成される。
【００２７】
これにより、管理単位に応じた要件を適切に把握できる。例えば、管理単位毎に装置の設定値に規則を設け、各装置に対する設定の統制を図ることがある。この場合、管理単位毎の規則に則って装置の設定が行われなければ、当該装置の設定が他の装置の動作に対して悪影響を及ぼし得る。ところが、管理単位毎にどのような規則に則った設定が行われているかを把握することは容易でない。
【００２８】
そこで、構成要件作成装置１は、各装置における属性の設定値を示す情報に基づいて、各属性に対して管理単位に応じた要件を抽出する。このとき、ある管理単位で区分される装置の集合毎に成立する第１の特徴と、当該管理単位で区分される装置の集合間で成立する第２の特徴との両方を抽出するので、何れか一方の特徴のみを抽出するよりも、管理単位毎の適切な要件を作成できる。特に、ある管理単位で区分される装置の集合内である属性が特徴をもつ場合、当該属性は当該管理単位で区分される他の集合における当該属性の設定値との間で関係をもつ可能性が高い。構成要件作成装置１によれば、このような関係を的確に把握することができる。ユーザは、作成された要件を参照して、管理単位に応じた要件を適切に把握した上で、新たな設定や既存の設定の変更を行い得る。そうすれば、管理単位毎の規則を逸脱した設定が行われるリスクを低減できる。
【００２９】
構成要件作成装置１は、設定変更後の各装置の各属性の設定内容を、抽出した要件と照合して、設定変更後の各属性の設定値が適正であるかを事前に検証してもよい。そうすれば、ユーザが検証作業を行うよりも、迅速かつ正確に誤設定の有無を確認し得る。また、ユーザの作業を省力化できる。すなわち、設定の検証を効率化できる。その結果、各装置の設定変更の作業期間を短縮化し得る。
【００３０】
なお、演算部１ｂは、各属性について、種々の特徴を検出し得る。例えば、ある集合内における第１の種類の装置の第１の属性の設定値と、当該集合内の第２の種類の装置の第２の属性の設定値との間に成り立つ関係を第３の特徴として更に検出してもよい。そうすれば、属性の設定値に対する要件をより詳細化できる。
【００３１】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、複数のサーバおよびスイッチなどの装置を含む。各装置は、スコープ（Scope）と呼ばれる単位で管理される。スコープは、情報処理システムに含まれる装置のまとまりの単位（管理単位）である。スコープは種々の粒度をもつ。スコープは、次に示すように空間的な包含関係で区別できるから管理範囲と呼ぶこともできる。
【００３２】
第２の実施の形態では一例として、スコープを、クラウド、地域、データセンタ、ラックとする。クラウドは、最上位の階層のスコープである。地域はクラウドの直下の階層のスコープである。データセンタは地域の直下の階層のスコープである。ラックはデータセンタの直下の階層のスコープである。すなわち、スコープは空間的なひろがりによって区別される階層をもつ。例えば、クラウドは地域を包含する。クラウドは、地域を合わせたものだから、地域よりも大きな空間的ひろがりをもつといえる。同様に、地域はデータセンタを包含する。また、データセンタはラックを包含する。
【００３３】
クラウドというスコープの実体としてクラウド１０がある。地域というスコープの実体として、地域１１，１２がある。データセンタというスコープの実体として、データセンタ１１ａ，１１ｂ，１２ａ，１２ｂがある。ラックというスコープの実体としてラック２０がある。
【００３４】
地域１１，１２は、クラウド１０に属している。データセンタ１１ａ，１１ｂは、地域１１に属している。データセンタ１２ａ，１２ｂは、地域１２に属している。データセンタ１１ａ，１１ｂ，１２ａ，１２ｂ内には、それぞれ複数のラックが設置されている。それぞれのラックには、複数のサーバやスイッチが設けられている。
【００３５】
例えば、データセンタ１１ａ内にはラック２０が設置されている。ラック２０はサーバ２１，２２およびスイッチ２３を含む。サーバ２１，２２は、ユーザに提供するハードウェア資源やソフトウェア資源を備えたサーバコンピュータである。ユーザ側でコンピュータを保有せずに、データセンタ側に設けられたコンピュータのリソースを、ネットワークを介して利用する利用形態をクラウドコンピューティングと呼ぶことがある。
【００３６】
スイッチ２３は、サーバ２１，２２、他のラック内のサーバおよび他のデータセンタ内のサーバの間の通信を中継する中継装置である。ここでは、スイッチ２３としてＯＳＩ（Open Systems Interconnection）参照モデルの第３層でＩＰ（Internet Protocol）によりデータを転送するＬ３（Layer 3）スイッチを想定する。スイッチ２３は、ルータと呼ばれるものでもよい。なお、以下ではＩＰｖ４（Internet Protocol Version 4）を例に説明するが、ＩＰｖ６（Internet Protocol Version 6）でも同様である。
【００３７】
この場合、ラック２０は、サーバ２１，２２およびスイッチ２３という複数の装置の集合である。データセンタ１１ａは、データセンタ１１ａ内の複数のラック（ラック２０を含む）に含まれる複数の装置の集合である。データセンタ１１ｂは、データセンタ１１ｂ内の複数のラックに含まれる複数の装置の集合である。データセンタ１２ａは、データセンタ１２ａ内の複数のラックに含まれる複数の装置の集合である。データセンタ１２ｂは、データセンタ１２ｂ内の複数のラックに含まれる複数の装置の集合である。
【００３８】
地域１１は、データセンタ１１ａ，１１ｂに含まれる複数の装置の集合である。地域１２は、データセンタ１２ａ，１２ｂに含まれる複数の装置の集合である。クラウド１０は、地域１１，１２に含まれる複数の装置の集合である。
【００３９】
このようにスコープの実体を装置の集合と捉えれば、地域１１，１２は、クラウド１０の部分集合（サブセット）であると考えることができる。データセンタ１１ａ，１１ｂは、地域１１の部分集合であると考えることもできる。ラック２０は、データセンタ１１ａの部分集合と考えることもできる。
【００４０】
第２の実施の形態では当該情報処理システムに対して、各装置の属性のスコープ毎の要件を抽出する機能を提供する。当該機能は構成要件作成装置により実現される。
図３は、構成要件作成装置のハードウェア例を示す図である。構成要件作成装置１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、通信部１０４、画像信号処理部１０５、入力信号処理部１０６、ディスクドライブ１０７および機器接続部１０８を有する。各ユニットが構成要件作成装置１００のバスに接続されている。
【００４１】
プロセッサ１０１は、構成要件作成装置１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４２】
ＲＡＭ１０２は、構成要件作成装置１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４３】
ＨＤＤ１０３は、構成要件作成装置１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。構成要件作成装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４４】
通信部１０４は、ネットワーク３０を介して他のコンピュータと通信を行えるインタフェースである。通信部１０４は、有線インタフェースでもよいし、無線インタフェースでもよい。
【００４５】
画像信号処理部１０５は、プロセッサ１０１からの命令に従って、構成要件作成装置１００に接続されたディスプレイ３１に画像を出力する。ディスプレイ３１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４６】
入力信号処理部１０６は、構成要件作成装置１００に接続された入力デバイス３２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス３２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４７】
ディスクドライブ１０７は、レーザ光などを利用して、光ディスク３３に記録されたプログラムやデータを読み取る駆動装置である。光ディスク３３として、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などを使用できる。ディスクドライブ１０７は、例えば、プロセッサ１０１からの命令に従って、光ディスク３３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４８】
機器接続部１０８は、構成要件作成装置１００に周辺機器を接続するための通信インタフェースである。例えば、機器接続部１０８にはメモリ装置３４やリーダライタ装置３５を接続できる。メモリ装置３４は、機器接続部１０８との通信機能を搭載した記録媒体である。リーダライタ装置３５は、メモリカード３６へのデータの書き込み、またはメモリカード３６からのデータの読み出しを行う装置である。メモリカード３６は、カード型の記録媒体である。機器接続部１０８は、例えば、プロセッサ１０１からの命令に従って、メモリ装置３４またはメモリカード３６から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４９】
図４は、構成要件作成装置のソフトウェア例を示す図である。構成要件作成装置１００は、記憶部１１０、分析部１２０および検証部１３０を有する。記憶部１１０は、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実現できる。分析部１２０および検証部１３０は、プロセッサ１０１が実行するソフトウェアのモジュールとして実現できる。
【００５０】
記憶部１１０は、図２で例示した情報処理システムにおけるスコープおよび各スコープで区分される装置の集合を示す構成情報を記憶する。なお、以下では、装置の個々の集合をグループと称する。また、何れかのスコープで区分されるグループを指して、“スコープの名称（例えば、ラック）”で区分されるグループということがある。スコープの名称からスコープの階層を把握できる。また、記憶部１１０は、各装置に設定可能な属性（以下、パラメータと称する）および当該属性に対する設定値を示すパラメータ情報を記憶する。
【００５１】
分析部１２０は、記憶部１１０に記憶された構成情報およびパラメータ情報に基づいて、スコープに応じたパラメータの設定値の特徴を抽出する。具体的には、分析部１２０はラック毎、データセンタ毎、地域毎に成立する各パラメータの設定値のパターンなどの特徴を抽出する。また、分析部１２０は、何れかのスコープで特徴が見出されたパラメータについて、当該スコープで区分される複数のグループ間で成立する特徴を抽出する。更に、分析部１２０は、当該スコープで区分される同一のグループ内でパラメータ間に成立する特徴を抽出する。分析部１２０は、抽出した特徴に基づいて、スコープに応じた各パラメータの要件を示すパラメータ要件情報を作成し、記憶部１１０に格納する。
【００５２】
検証部１３０は、情報処理システムに含まれる装置の追加や交換などに伴う変更後の構成情報およびパラメータ情報を取得する。検証部１３０は、取得した情報と分析部１２０により作成されたパラメータ要件情報とに基づいて、変更後のパラメータ情報が適正であるか否かを検証する。検証部１３０は、検証結果をユーザに提供する。例えば、検証部１３０は、ディスプレイ３１に検証結果を表示させる。
【００５３】
図５は、構成情報の例を示す図である。構成情報１１１は、記憶部１１０に予め記憶される。構成情報１１１は、スコープ、スコープの包含関係およびスコープで区分されるグループを示す情報である。具体的には、構成情報１１１は、クラウド（Ｃｌｏｕｄ）というスコープに対してクラウド１０（Ｃｌｏｕｄ１）が存在することを示す。また、クラウド（Ｃｌｏｕｄ）というスコープの直下には領域（Ｒｅｇｉｏｎ）というスコープが存在することを示す。また、クラウド１０（Ｃｌｏｕｄ１）の直下に、地域１１（Ｒｅｇ１）、地域１２（Ｒｅｇ２）が存在することを示す。
【００５４】
また、領域（Ｒｅｇｉｏｎ）というスコープの直下にはデータセンタ（ＡＺ：Availability Zone）というスコープが存在することを示す。また、地域１１（Ｒｅｇ１）の直下に、データセンタ１１ａ（Ｒｅｇ１−１）、データセンタ１１ｂ（Ｒｅｇ１−２）が存在することを示す。地域１２とデータセンタ１２ａ，１２ｂとの関係も同様に表されている。
【００５５】
また、データセンタ（ＡＺ）というスコープの直下に、ラック（Ｒａｃｋ）というスコープが存在することを示す。また、データセンタ１１ａの直下に、ラック２０（Ｒ１）および他のラック（Ｒ２）が存在することを示す。データセンタ１１ｂ，１２ａ，１２ｂと各データセンタ配下のラックとの関係も同様に表されている。
【００５６】
更に、ラック２０（Ｒ１）内には、サーバ２１，２２（Ｓｖｒ１，Ｓｖｒ２）およびスイッチ２３（Ｓｗ１）が存在することを示す。他のラック内に存在する装置に関しても同様に表されている。構成情報１１１によれば、データセンタ１１ａ，１１ｂ，１２ａ，１２ｂには、それぞれ２つのラックが含まれている。各ラックには、２台のサーバと１台のスイッチとが存在している。
【００５７】
構成情報１１１は、各スコープのクラスに対するインスタンスおよびインスタンス間のリンクを定義した情報であるということもできる。構成情報１１１は、各装置のクラスに対するインスタンスとスコープのインスタンスとのリンクも含んでいる。構成情報１１１は、例えば統一モデリング言語（ＵＭＬ：Unified Modeling Language）オブジェクト図で表せる。
【００５８】
図６は、グループの例を示す図である。図６に示す関係は、構成情報１１１から導かれるものである。例えば、グループ名“Ｒ１”のグループが、２台のサーバ（Ｓｖｒ１，Ｓｖｒ２）および１台のスイッチ（Ｓｗ１）を要素にもつことを示している。グループ名“Ｒ２”〜“Ｒ８”のグループについても、同様にして各要素が示されている。グループと要素の関係を、グループ名＝｛要素｝として表記すれば、これらの関係は次のようになる。Ｒ１＝｛Ｓｖｒ１，Ｓｖｒ２，Ｓｗ１｝。Ｒ２＝｛Ｓｖｒ３，Ｓｖｒ４，Ｓｗ２｝。Ｒ３＝｛Ｓｖｒ５，Ｓｖｒ６，Ｓｗ３｝。Ｒ４＝｛Ｓｖｒ７，Ｓｖｒ８，Ｓｗ４｝。Ｒ５＝｛Ｓｖｒ９，Ｓｖｒ１０，Ｓｗ５｝。Ｒ６＝｛Ｓｖｒ１１，Ｓｖｒ１２，Ｓｗ６｝。Ｒ７＝｛Ｓｖｒ１３，Ｓｖｒ１４，Ｓｗ７｝。Ｒ８＝｛Ｓｖｒ１５，Ｓｖｒ１６，Ｓｗ８｝。
【００５９】
また、グループ名“Ｒｅｇ１−１”のグループが、４台のサーバ（Ｓｖｒ１〜Ｓｖｒ４）および２台のスイッチ（Ｓｗ１，Ｓｗ２）を要素にもつことを示している。グループ名“Ｒｅｇ１−２”のグループが４台のサーバ（Ｓｖｒ５〜Ｓｖｒ８）および２台のスイッチ（Ｓｗ３，Ｓｗ４）を要素にもつことを示している。グループ“Ｒｅｇ２−１”のグループが４台のサーバ（Ｓｖｒ９〜Ｓｖｒ１２）および２台のスイッチ（Ｓｗ５，Ｓｗ６）を要素にもつことを示している。グループ名“Ｒｅｇ２−２”のグループが４台のサーバ（Ｓｖｒ１３〜Ｓｖｒ１６）および２台のスイッチ（Ｓｗ７，Ｓｗ８）を要素にもつことを示している。
【００６０】
また、グループ名“Ｒｅｇ１”のグループが８台のサーバ（Ｓｖｒ１〜Ｓｖｒ８）および４台のスイッチ（Ｓｗ１〜Ｓｗ４）を要素にもつことを示している。グループ名“Ｒｅｇ２”のグループが８台のサーバ（Ｓｖｒ９〜Ｓｖｒ１６）および４台のスイッチ（Ｓｗ５〜Ｓｗ８）を要素にもつことを示している。
【００６１】
更に、グループ名“Ｃｌｏｕｄ１”のグループが１６台のサーバ（Ｓｖｒ１〜Ｓｖｒ１６）および８台のスイッチ（Ｓｗ１〜Ｓｗ８）を要素にもつことを示している。
図７は、サーバパラメータテーブルの例を示す図である。サーバパラメータテーブル１１２は、記憶部１１０に予め格納される。サーバパラメータテーブル１１２は、サーバのパラメータの設定値を示す情報である。サーバパラメータテーブル１１２は、ＩＤ（IDentifier）、Ｎａｍｅ、Ｒｏｌｅ、ＩＰおよびＧａｔｅｗａｙの項目を含む。各項目名がパラメータの種類を示し、各項目の登録内容が当該パラメータの設定値を示す。
【００６２】
ＩＤの項目には、サーバのＩＤが登録される。Ｎａｍｅの項目には、サーバの名称が登録される。Ｒｏｌｅの項目には、サーバの役割を示す情報が登録される。ＩＰの項目には、サーバのＩＰアドレスが登録される。Ｇａｔｅｗａｙの項目には、デフォルトゲートウェイのＩＰアドレスが登録される。
【００６３】
例えば、サーバパラメータテーブル１１２には、ＩＤが“Ｓｖｒ１”、Ｎａｍｅが“Ｒ１−Ｍａｎａｇｅ”、Ｒｏｌｅが“Ｍａｎａｇｅｍｅｎｔ”、ＩＰが“１９２．１６８．１０．１１”、Ｇａｔｅｗａｙが“１９２．１６８．１０．１”という情報が登録されている。ここで、Ｒｏｌｅ“Ｍａｎａｇｅｍｅｎｔ”は、運用管理機能を担うサーバであることを示す。Ｒｏｌｅ“Ｓｅｃｕｒｉｔｙ”は、セキュリティ機能を担うサーバであることを示す。Ｒｏｌｅ“Ｄｏｍ０”は仮想マシンを動作させるサーバであることを示す。
【００６４】
サーバパラメータテーブル１１２には、他のサーバ（ＩＤ“Ｓｖｒ２”〜“Ｓｖｒ１６”）についても同様にしてパラメータ毎の設定値が登録されている。
図８は、スイッチパラメータテーブルの例を示す図である。スイッチパラメータテーブル１１３は、記憶部１１０に予め格納される。スイッチパラメータテーブル１１３は、スイッチのパラメータの設定値を示す情報である。スイッチパラメータテーブル１１３は、ＩＤ、ＮａｍｅおよびＩＰ−Ａｄｄｒの項目を含む。各項目名がパラメータの種類を示し、各項目の登録内容が当該パラメータの設定値を示す。
【００６５】
ＩＤの項目には、スイッチのＩＤが登録される。Ｎａｍｅの項目には、スイッチの名称が登録される。ＩＰ−Ａｄｄｒの項目には、スイッチの各ネットワークインタフェースに設定されたＩＰアドレスが登録される。
【００６６】
例えば、スイッチパラメータテーブル１１３には、ＩＤが“Ｓｗ１”、Ｎａｍｅが“Ｓｗｉｔｃｈ１”、ＩＰ−Ａｄｄｒが“１９２．１６８．１０．１”、“１９２．１６８．１０．２”、“１９２．１６８．１０．３”という情報が登録されている。スイッチパラメータテーブル１１３には、他のスイッチ（ＩＤ“Ｓｗ２”〜“Ｓｗ８”）についても同様にしてパラメータ毎の設定値が登録されている。
【００６７】
図９は、パラメータ特徴テーブルの例を示す図である。パラメータ特徴テーブル１１４は、構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３に基づいて、分析部１２０により作成され、記憶部１１０に格納される。パラメータ特徴テーブル１１４は、タイプ、パラメータ、スコープ、スコープ内での特徴、スコープ外との関係および他のパラメータとの関係の項目を含む。
【００６８】
タイプの項目には、装置（構成要素）の種類を示す情報が登録される。パラメータの項目には、パラメータの種類を示す情報が登録される。スコープの項目には、スコープを示す情報が登録される。スコープ内での特徴の項目には、スコープ内で抽出されたパラメータの特徴を示す情報が登録される。スコープ外との関係の項目には、同一スコープで区分される他のグループとの比較におけるパラメータの特徴を示す情報が登録される。他のパラメータとの関係の項目には、スコープ内における他のパラメータに対する特徴を示す情報が登録される。
【００６９】
例えば、パラメータ特徴テーブル１１４には、タイプが“Ｓｅｒｖｅｒ”、パラメータが“Ｎａｍｅ”、スコープが“ＡＺ”、スコープ内での特徴が“スコープ内で個別”、スコープ外との関係が“スコープ内外で同一値が存在する”、他のパラメータとの関係が設定なし“−（ハイフン）”という情報が登録されている。
【００７０】
これは、サーバのパラメータ“Ｎａｍｅ”は、スコープ“ＡＺ”で区分されるグループ内で個別の値になっていることを示す。また、サーバのパラメータ“Ｎａｍｅ”は、スコープ“ＡＺ”で区分されるグループ間で同じ設定値が存在していることを示す。また、サーバのパラメータ“Ｎａｍｅ”は、スコープ“ＡＺ”で区分されるグループ内で他のパラメータに対する特徴をもたないことを示す。
【００７１】
また、パラメータ特徴テーブル１１４には、タイプが“Ｓｅｒｖｅｒ”、パラメータが“Ｒｏｌｅ”、スコープが“−”、スコープ内での特徴が“−”、スコープ外との関係が“−”、他のパラメータとの関係が“−”という情報が登録されている。これは、サーバのパラメータ“Ｒｏｌｅ”がスコープに対して何らの特徴ももたないことを示す。
【００７２】
また、パラメータ特徴テーブル１１４には、タイプが“Ｓｅｒｖｅｒ”、パラメータが“ＩＰ”、スコープが“Ｃｌｏｕｄ”、スコープ内での特徴が“スコープ内で個別”、スコープ外との関係が“−”、他のパラメータとの関係が“−”という情報が登録されている。
【００７３】
これは、サーバのパラメータ“ＩＰ”（ＩＰアドレス）は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で個別の値になっていることを示す。また、サーバのパラメータ“ＩＰ”は、スコープ“Ｃｌｏｕｄ”で区分される他のグループとの関係をもたないことを示す（スコープ“Ｃｌｏｕｄ”は最上位の階層であるため）。また、サーバのパラメータ“ＩＰ”は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で他のパラメータに対する特徴をもたないことを示す。
【００７４】
また、パラメータ特徴テーブル１１４には、タイプが“Ｓｅｒｖｅｒ”、パラメータが“Ｇａｔｅｗａｙ”、スコープが“ＡＺ”、スコープ内での特徴が“スコープ内で同一”、スコープ外との関係が“スコープ内外で同一値は存在しない”、他のパラメータとの関係が“同一スコープ内のＳｗｉｔｃｈのパラメータＩＰ−Ａｄｄｒの値の集合に含まれる”という情報が登録されている。
【００７５】
これは、サーバのパラメータ“Ｇａｔｅｗａｙ”（デフォルトゲートウェイ）は、スコープ“ＡＺ”で区分されるグループ内で同一の値になっていることを示す。また、サーバのパラメータ“Ｇａｔｅｗａｙ”は、スコープ“ＡＺ”で区分されるグループ間で同じ設定値が存在しないことを示す。また、サーバのパラメータ“Ｇａｔｅｗａｙ”の設定値は、スコープ“ＡＺ”で区分される同一グループ内に存在するスイッチのパラメータ“ＩＰ−Ａｄｄｒ”の設定値の集合に包含されていることを示す。
【００７６】
また、パラメータ特徴テーブル１１４には、タイプが“Ｓｗｉｔｃｈ”、パラメータが“ＩＰ−Ａｄｄｒ”、スコープが“Ｃｌｏｕｄ”、スコープ内での特徴が“スコープ内で個別”、スコープ外との関係が“−”、他のパラメータとの関係が“−”という情報が登録されている。
【００７７】
これは、スイッチのパラメータ“ＩＰ−Ａｄｄｒ”（ＩＰアドレス）は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で個別の値になっていることを示す。また、スイッチのパラメータ“ＩＰ−Ａｄｄｒ”は、スコープ“Ｃｌｏｕｄ”で区分される他のグループとの関係をもたないことを示す（スコープ“Ｃｌｏｕｄ”は最上位の階層であるため）。また、スイッチのパラメータ“ＩＰ−Ａｄｄｒ”は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で他のパラメータに対する特徴をもたないことを示す。
【００７８】
なお、パラメータ特徴テーブル１１４では、スイッチのパラメータ“Ｎａｍｅ”に関する情報を省略している。ただし、スイッチのパラメータ“Ｎａｍｅ”も“ＩＰ−Ａｄｄｒ”と同様にスコープ“Ｃｌｏｕｄ”で区分されるグループ内で個別の値となる。
【００７９】
また、パラメータ特徴テーブル１１４は、既存の各パラメータが従う規則を示していると考えられるので、各パラメータの要件を示す情報であるということができる。次に、構成要件作成装置１００による処理手順を説明する。まず、構成要件作成装置１００によって実行される全体の処理の手順を説明する。以下の処理は、例えば、要件作成のユーザによる指示が構成要件作成装置１００に入力された際に開始される。例えば、ユーザは、入力デバイス３２を用いて、当該指示を構成要件作成装置１００に入力し得る。このとき、ユーザは、構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３を構成要件作成装置１００に対して指定し得る。
【００８０】
図１０は、要件作成の処理例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
（Ｓ１）分析部１２０は、記憶部１１０に記憶された構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３に基づいて、何れかのパラメータを特徴づけるスコープを特定する。各スコープは、階層的な包含関係をもつから、スコープの特定は、スコープに対応する階層を特定することともいえる。
【００８１】
（Ｓ２）分析部１２０は、ステップＳ１で特定されたスコープで特徴をもつパラメータについて、当該スコープで区分されるグループ間の関係を評価する。
（Ｓ３）分析部１２０は、ステップＳ１で特定されたスコープで特徴をもつパラメータについて、他のパラメータとの関係を評価する。
【００８２】
（Ｓ４）分析部１２０は、ステップＳ１〜Ｓ３の結果に基づいて、パラメータ特徴テーブル１１４を作成し、記憶部１１０に格納する。分析部１２０は、パラメータ特徴テーブル１１４の内容をユーザに提示してもよい。例えば、分析部１２０は、ディスプレイ３１にパラメータ特徴テーブル１１４の内容を表示させることで、当該内容をユーザに提示してもよい。
【００８３】
なお、ステップＳ２，Ｓ３を行う順序は任意である。例えば、分析部１２０はステップＳ１，Ｓ３，Ｓ２，Ｓ４の順に実行してもよい。
図１１は、パラメータを特徴づけるスコープの特定例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１０のステップＳ１の手順に相当する。
【００８４】
（Ｓ１１）分析部１２０は、記憶部１１０を参照して、既存インフラ（infrastructureの略）の情報を取得する。何れの情報を用いるかは、前述のようにユーザにより指定され得る。ここでは、分析部１２０は、構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３を取得する。
【００８５】
（Ｓ１２）分析部１２０は、構成要素の種類を選択する。第２の実施の形態の例では、構成要素の種類として、サーバおよびスイッチがある。分析部１２０は、構成要素の種類としてサーバおよびスイッチの何れかを選択する。分析部１２０は、選択した種類の構成要素に着目して以降のステップを実行する。
【００８６】
（Ｓ１３）分析部１２０は、着目する種類の構成要素に対してパラメータの種類を選択する。例えば、サーバが選択されている場合、サーバパラメータテーブル１１２によればパラメータの種類として、Ｎａｍｅ、Ｒｏｌｅ、ＩＰおよびＧａｔｅｗａｙがある。分析部１２０は、この中から任意の選択方法で何れかを選択する。同様に、スイッチが選択されている場合、スイッチパラメータテーブル１１３からＮａｍｅおよびＩＰ−Ａｄｄｒの何れかの種類のパラメータを選択する。なお、サーバやスイッチのパラメータの種類としてＩＤも存在するが、ＩＤは各要素でスコープに依らず個別であることが予め分かっている。このため、分析部１２０は、ＩＤを分析の対象外とする。分析部１２０は、選択したパラメータの種類に着目して以降のステップを実行する。
【００８７】
（Ｓ１４）分析部１２０は、着目する種類の構成要素について、当該構成要素が属する最小のスコープでグルーピングする。例えば、構成要素の種類としてサーバが選択されている場合、サーバが属する最小のスコープはラックである。よって、分析部１２０は、サーバをラックでグルーピングする。なお、本例では構成要素の種類としてスイッチが選択されている場合も、スイッチが属する最小のスコープはラックなので、まずはスイッチをラックでグルーピングすることになる。
【００８８】
（Ｓ１５）分析部１２０は、着目する種類の構成要素について、ステップＳ１３でグルーピングしたグループ内で、着目するパラメータの値が全て同一であるか否かを判定する。全て同一である場合、処理をステップＳ１６に進める。全て同一でない場合、処理をステップＳ１７に進める。
【００８９】
（Ｓ１６）分析部１２０は、着目するパラメータの値が全て同一である最上位（最大）のスコープを特定する。処理の詳細は後述する。そして、処理をステップＳ１９に進める。
【００９０】
（Ｓ１７）分析部１２０は、着目する種類の構成要素について、ステップＳ１３でグルーピングしたグループ内で、着目するパラメータの値が全て別個であるか否かを判定する。全て別個である場合、処理をステップＳ１８に進める。全て別個でない場合、処理をステップＳ１９に進める。
【００９１】
（Ｓ１８）分析部１２０は、着目するパラメータの値が全て別個である最上位（最大）のスコープを特定する。処理の詳細は後述する。そして、処理をステップＳ１９に進める。
【００９２】
（Ｓ１９）分析部１２０は、着目する種類の構成要素について、全てのパラメータの調査を終了したか否かを判定する。着目する種類の構成要素について、全てのパラメータの調査を終了した場合、処理をステップＳ２０に進める。着目する種類の構成要素について、全てのパラメータの調査を終了していない場合、処理をステップＳ１３に進める。
【００９３】
（Ｓ２０）分析部１２０は、全ての種類の構成要素の調査を終了したか否かを判定する。全ての種類の構成要素の調査を終了した場合、処理を終了する。全ての種類の構成要素の調査を終了していない場合、処理をステップＳ１２に進める。
【００９４】
図１２は、同一パラメータ値となるスコープの特定例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１１のステップＳ１６の手順に相当する。
【００９５】
（Ｓ２１）分析部１２０は、スコープを１段階広げて、着目する種類の構成要素をグルーピングする。スコープを１段階広げるとは、着目するスコープを現在のスコープから１階層上位のスコープに変更することを示す。例えば、現在のスコープがラックであれば、１階層上位のスコープはデータセンタである。例えば、グループ名“Ｒ１”、“Ｒ２”のグループに対して、グループ名“Ｒｅｇ１−１”のグループが１段階広いスコープのグループである。
【００９６】
（Ｓ２２）分析部１２０は、着目する種類の構成要素について、ステップＳ２１でグルーピングしたグループ内で、着目するパラメータの値が全て同一であるか否かを判定する。全て同一である場合、処理をステップＳ２３に進める。全て同一でない場合、処理をステップＳ２５に進める。
【００９７】
（Ｓ２３）分析部１２０は、着目するスコープよりも上位のスコープはないか否かを判定する。上位のスコープがない場合、処理をステップＳ２４に進める。上位のスコープがある場合、処理をステップＳ２１に進める。すなわち、分析部１２０は、着目するスコープをこれ以上広げられなければステップＳ２４に進め、スコープを広げる余地があればステップＳ２１に進める。
【００９８】
（Ｓ２４）分析部１２０は、現在のスコープにおいて、着目する種類の構成要素の着目するパラメータの値が全て同一であることを記憶部１１０に記録する。そして、処理を終了する。
【００９９】
（Ｓ２５）分析部１２０は、現在のスコープよりも１段階下位のスコープにおいて、着目するパラメータの値が全て同一であることを記憶部１１０に記録する。そして、処理を終了する。ステップＳ２４，Ｓ２５で記録されたパラメータは、スコープ内で特徴をもつパラメータということになる。
【０１００】
図１３は、個別パラメータ値となるスコープの特定例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１１のステップＳ１８の手順に相当する。
【０１０１】
（Ｓ３１）分析部１２０は、スコープを１段階広げて、着目する種類の構成要素をグルーピングする。
（Ｓ３２）分析部１２０は、着目する種類の構成要素について、ステップＳ３１でグルーピングしたグループ内で、着目するパラメータの値が全て別個であるか否かを判定する。全て別個である場合、処理をステップＳ３３に進める。全て別個でない場合、処理をステップＳ３５に進める。
【０１０２】
（Ｓ３３）分析部１２０は、着目するスコープが最上位のスコープであるか否かを判定する。最上位のスコープである場合、処理をステップＳ３４に進める。最上位のスコープでない場合、処理をステップＳ３１に進める。すなわち、分析部１２０は、着目するスコープをこれ以上広げられなければステップＳ３４に進め、スコープを広げる余地があればステップＳ３１に進める。
【０１０３】
（Ｓ３４）分析部１２０は、現在のスコープにおいて、着目する種類の構成要素の着目するパラメータの値が全て別個であることを記憶部１１０に記録する。そして、処理を終了する。
【０１０４】
（Ｓ３５）分析部１２０は、現在のスコープよりも１段階下位のスコープにおいて、着目するパラメータの値が全て別個であることを記憶部１１０に記録する。そして、処理を終了する。ステップＳ３４，Ｓ３５で記録されたパラメータは、スコープ内で特徴をもつパラメータということになる。
【０１０５】
図１４は、パラメータのグループ間の関係の評価例を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１０のステップＳ２の手順に相当する。
【０１０６】
（Ｓ４１）分析部１２０は、何れかのスコープで特徴をもつパラメータと当該スコープとを選択する。分析部１２０は、図１２，１３で示した処理の結果、何れかのスコープで、同一の設定値または別個の設定値であるという特徴をもつパラメータと当該スコープとを特定済である。分析部１２０は、この結果に基づいてパラメータおよびスコープを選択する。分析部１２０は、選択したパラメータおよびスコープに着目して以降のステップを実行する。
【０１０７】
（Ｓ４２）分析部１２０は、着目するパラメータの値に対し、着目するスコープで区分されるグループ間で同じ値をもつか否かを調査する。
（Ｓ４３）分析部１２０は、調査の結果から当該パラメータの値に対し、グループ間で同じ値が存在するか否かを判定する。同じ値が存在する場合、処理をステップＳ４４に進める。同じ値が存在しない場合、処理をステップＳ４５に進める。
【０１０８】
（Ｓ４４）分析部１２０は、着目するパラメータについて、着目するスコープで区分されるグループ間で同じ値を取り得ることを記憶部１１０に記録する。そして、処理をステップＳ４６に進める。
【０１０９】
（Ｓ４５）分析部１２０は、着目するパラメータについて、着目するスコープで区分されるグループ間で同じ値を取らないことを記憶部１１０に記録する。
（Ｓ４６）分析部１２０は、スコープ内で特徴をもつ全てのパラメータについて調査を終了したか否かを判定する。スコープ内で特徴をもつ全てのパラメータについて調査を終了した場合、処理を終了する。スコープ内で特徴をもつ全てのパラメータについて調査を終了していない場合、処理をステップＳ４１に進める。ステップＳ４１では、分析部１２０は未調査のパラメータおよびスコープの組を選択する。
【０１１０】
図１５は、パラメータ間の関係の評価例を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１０のステップＳ３の手順に相当する。
【０１１１】
（Ｓ５１）分析部１２０は、何れかのスコープで特徴をもつパラメータと当該スコープとを選択する。分析部１２０は、図１２，１３で示した処理の結果、何れかのスコープで、同一の設定値または別個の設定値であるという特徴をもつパラメータと当該スコープとを特定済である。分析部１２０は、この結果に基づいてパラメータおよびスコープを選択する。分析部１２０は、選択したパラメータおよびスコープに着目して以降のステップを実行する。
【０１１２】
（Ｓ５２）分析部１２０は、着目するスコープ内で、着目するパラメータが取り得る値の集合を包含する値の集合を値域とする別のパラメータを検索する。
（Ｓ５３）分析部１２０は、検索結果により当該別のパラメータが存在するか否かを判定する。当該別のパラメータが存在する場合、処理をステップＳ５４に進める。当該別のパラメータが存在しない場合、処理をステップＳ５５に進める。
【０１１３】
（Ｓ５４）分析部１２０は、着目するパラメータと検索された別のパラメータとの関係を記憶部１１０に記録する。
（Ｓ５５）分析部１２０は、スコープ内で特徴をもつ全てのパラメータについて調査を終了したか否かを判定する。スコープ内で特徴をもつ全てのパラメータについて調査を終了した場合、処理を終了する。スコープ内で特徴をもつ全てのパラメータについて調査を終了していない場合、処理をステップＳ５１に進める。ステップＳ５１では、分析部１２０は未調査のパラメータおよびスコープの組を選択する。
【０１１４】
図１６は、特徴抽出の具体例を示す図である。パラメータ値域表１１５は、構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３に基づいて分析部１２０により作成され記憶部１１０に格納される。パラメータ値域表１１５によれば、分析部１２０は、図１０のステップＳ１の処理により、各パラメータに対して次の特徴を抽出する。
【０１１５】
（ａ１）タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｎａｍｅ”は、スコープ“ＡＺ”で区分されるグループ内で個別の設定値である。スコープ“ＡＺ”で区分されるグループ単位では当該“Ｎａｍｅ”の値は個別であるが、１つ上位のスコープ“Ｒｅｇｉｏｎ”で区分されるグループ単位では“Ｎａｍｅ”の値（例えば、“Ｓｅｃ”、“Ｄｏｍ０−１”、“Ｄｏｍ０−２”）が重複しているからである。
【０１１６】
（ａ２）タイプ“Ｓｅｒｖｅｒ”のパラメータ“ＩＰ”は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で個別の設定値である。
（ａ３）タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”は、スコープ“ＡＺ”で区分されるグループ内で同一の設定値である。スコープ“ＡＺ”で区分されるグループ単位では当該“Ｇａｔｅｗａｙ”の値は同一であるが、１つ上位のスコープ“Ｒｅｇｉｏｎ”で区分されるグループ単位では“Ｇａｔｅｗａｙ”の値が異なっているからである。
【０１１７】
より具体的には、グループ名“Ｒｅｇ１−１”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．１０．１”で同一である。グループ名“Ｒｅｇ１−２”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．２０．１”で同一である。グループ名“Ｒｅｇ２−１”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．３０．１”で同一である。グループ名“Ｒｅｇ２−２”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．４０．１”で同一である。一方、グループ名“Ｒｅｇ１”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．１０．１”および“１９２．１６８．２０．１”と異なる値となっている。また、グループ名“Ｒｅｇ２”のグループで“Ｇａｔｅｗａｙ”は“１９２．１６８．３０．１”および“１９２．１６８．４０．１”と異なる値となっている。
【０１１８】
（ａ４）タイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”は、スコープ“Ｃｌｏｕｄ”で区分されるグループ内で個別の設定値である。
また、分析部１２０は、図１０のステップＳ２の処理により、前述の（ａ１）〜（ａ４）のパラメータに対して次の特徴を抽出する。
【０１１９】
（ｂ１）タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｎａｍｅ”は、スコープ“ＡＺ”で区分されるグループ間で同一値が存在する。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ１−１”、“Ｒｅｇ１−２”、“Ｒｅｇ２−１”、“Ｒｅｇ２−２”のグループでは、“Ｎａｍｅ”の値“Ｓｅｃ”、“Ｄｏｍ０−１”、“Ｄｏｍ０−２”、“Ｄｏｍ０−３”が重複しているからである。
【０１２０】
（ｂ２）タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”は、スコープ“ＡＺ”で区分されるグループ間で同一値は存在しない。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ１−１”、“Ｒｅｇ１−２”、“Ｒｅｇ２−１”、“Ｒｅｇ２−２”のグループでは、“Ｇａｔｅｗａｙ”の値がそれぞれ“１９２．１６８．１０．１”、“１９２．１６８．２０．１”、“１９２．１６８．３０．１”、“１９２．１６８．４０．１”と別個の値となっているからである。
【０１２１】
また、分析部１２０は、図１０のステップＳ３の処理により、前述の（ａ１）〜（ａ４）のパラメータに対して次の特徴を抽出する。
（ｃ１）タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”の値は、スコープ“ＡＺ”で区分される同一グループ内のタイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”の値の集合に含まれる。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ１−１”、“Ｒｅｇ１−２”、“Ｒｅｇ２−１”、“Ｒｅｇ２−２”の各グループにおいて２つのパラメータ間に次の関係があるからである。
【０１２２】
グループ名“Ｒｅｇ１−１”のグループ内で、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”の値“１９２．１６８．１０．１”が、当該グループ内のタイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”の６つの値の集合“１９２．１６８．１０．１”〜“１９２．１６８．１０．６”に含まれる。
【０１２３】
グループ名“Ｒｅｇ１−２”のグループ内で、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”の値“１９２．１６８．２０．１”が、当該グループ内のタイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”の６つの値の集合“１９２．１６８．２０．１”〜“１９２．１６８．２０．６”に含まれる。
【０１２４】
グループ名“Ｒｅｇ２−１”のグループ内で、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”の値“１９２．１６８．３０．１”が、当該グループ内のタイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”の６つの値の集合“１９２．１６８．３０．１”〜“１９２．１６８．３０．６”に含まれる。
【０１２５】
グループ名“Ｒｅｇ２−２”のグループ内で、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”の値“１９２．１６８．４０．１”が、当該グループ内のタイプ“Ｓｗｉｔｃｈ”のパラメータ“ＩＰ−Ａｄｄｒ”の６つの値の集合“１９２．１６８．４０．１”〜“１９２．１６８．４０．６”に含まれる。
【０１２６】
分析部１２０は、以上のようにして抽出した特徴に基づいて、パラメータ特徴テーブル１１４を作成し、記憶部１１０に格納する。パラメータ特徴テーブル１１４は、上記の特徴（ａ１）〜（ａ４），（ｂ１），（ｂ２），（ｃ１）を示す情報を含んでいる。
【０１２７】
また、分析部１２０は、パラメータ特徴テーブル１１４に基づいて要件の検証に用いる情報を生成する。当該情報は検証部１３０による新規インフラの検証に用いられる。一例として、検証部１３０は、ＵＳＥ（UML-based Specification Environment）と呼ばれるＵＭＬ検証ツールを用いて各パラメータに対するスコープに応じた要件の検証を行うものとする。ただし、他の検証ツールを利用することを妨げるものではない。
【０１２８】
ＵＳＥでは、チェックしたいＵＭＬオブジェクト図を示す情報およびオブジェクトに対する制約を記述したＯＣＬ（Object Constraint Language）論理式を入力として、当該ＵＭＬオブジェクト図が制約を満たすか否かを検証できる。ＵＳＥの利用に関しては、次の文献を参考にすることができる。
【０１２９】
（文献１）Martin Gogolla, Fabian Buttner, and Mark Richters, “USE: A UML-Based Specification Environment for Validating UML and OCL”, Science of Computer Programming, 69:27-34, 2007”
（文献２）USE: The UML-based Specification Environment, ＷｅｂページＵＲＬ：“ｈｔｔｐ：／／ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／ａｐｐｓ／ｍｅｄｉａｗｉｋｉ／ｕｓｅｏｃｌ／”
（文献３）International workshop UML and Formal Methods, ＷｅｂページＵＲＬ：“ｈｔｔｐ：／／ｗｗｗ−ｐｕｂｌｉｃ．ｉｎｔ−ｅｖｒｙ．ｆｒ／~ｇｉｂｓｏｎ／Ｗｏｒｋｓｈｏｐｓ／ＵＭＬ−ＦＭ−２０１２．ｈｔｍｌ”
そこで、分析部１２０により抽出された要件をＯＣＬ論理式に変換して、検証部１３０に入力する。また、新規インフラのＵＭＬオブジェクト図を示す情報を検証部１３０に入力する。検証部１３０は、ＵＳＥの機能を用いて、新規インフラのパラメータの値が要件を満たすか否かを検証する。
【０１３０】
図１７は、ＯＣＬ論理式のテンプレートの例を示す図である。テンプレートＴ１は、記憶部１１０に予め記憶される。テンプレートＴ１は、「コンポーネント（Component）のパラメータ（param）の値は、スコープ（scope）の中で全て同一である」という要件を表す。ここで、コンポーネントは構成要素の種類（タイプ）を示す。
【０１３１】
例えば、パラメータ特徴テーブル１１４によれば、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”がスコープ“ＡＺ”内で同一であるという特徴（前述の特徴（ａ３））を含む。これをテンプレートＴ１にあてはめる。具体的には、テンプレートＴ１に含まれる文字列“Component”を文字列“Server”に置換する。文字列“param”を文字列“Gateway”に置換する。文字列“scope”を文字列“AZ”に置換する。その結果、分析部１２０は、上記特徴（ａ３）に対応する要件を記述したＯＣＬ論理式Ｔ１ａを得る。
【０１３２】
図１８は、ＯＣＬ論理式のテンプレートの例（つづき）を示す図である。テンプレートＴ２，Ｔ３，Ｔ４，Ｔ５は、記憶部１１０に予め記憶される。テンプレートＴ２，Ｔ３，Ｔ４，Ｔ５は、テンプレートＴ１と同様に、各パラメータに対する要件をＯＣＬ論理式で表すために用いられる。
【０１３３】
テンプレートＴ２は、「コンポーネント（Component）のパラメータ（param）の値は、スコープ（scope）の中で全て別個である」という要件を表す。分析部１２０は、上記特徴（ａ１），（ａ２），（ａ４）に対応する要件を記述するためにテンプレートＴ２を利用する。特徴（ａ１）を例に挙げれば、文字列“Component”を文字列“Server”に置換する。文字列“param”を文字列“Name”に置換する。文字列“scope”を文字列“AZ”に置換する。
【０１３４】
テンプレートＴ３は、「コンポーネント（Component）のパラメータ（param）の値は、スコープ（scope）の中と外とで同一値をもたない」という要件を表す。分析部１２０は、上記特徴（ｂ２）に対応する要件を記述するためにテンプレートＴ３を利用する。具体的には、文字列“Component”を文字列“Server”に置換する。文字列“param”を文字列“Gateway”に置換する。文字列“scope”を文字列“AZ”に置換する。
【０１３５】
テンプレートＴ４は、「コンポーネント（Component）のパラメータ（param）の値は、スコープ（scope）の中と外とで同一値をもち得る」という要件を表す。分析部１２０は、上記特徴（ｂ１）に対応する要件を記述するためにテンプレートＴ４を利用する。具体的には、文字列“Component”を文字列“Server”に置換する。文字列“param”を文字列“Name”に置換する。文字列“scope”を文字列“AZ”に置換する。
【０１３６】
テンプレートＴ５は、「スコープ（scope）内のコンポーネント（component1）のパラメータ（param1）の値は、同一スコープ内の他のコンポーネント（component2）のパラメータ（param2）の値の集合に含まれる」という要件を表す。分析部１２０は、上記特徴（ｃ１）に対応する要件を記述するためにテンプレートＴ５を利用する。具体的には、文字列“component1”を文字列“Server”に置換する。文字列“component2”を文字列“Switch”に置換する。文字列“param1”を文字列“Gateway”に置換する。文字列“param2”を文字列“IP-Addr”に置換する。文字列“scope”を文字列“AZ”に置換する。
【０１３７】
図１９は、制約テーブルの例を示す図である。制約テーブル１１６は、分析部１２０によって作成され、記憶部１１０に格納される。制約テーブル１１６は、パラメータ特徴テーブル１１４に基づいて作成されたＯＣＬ論理式を格納するテーブルである。制約テーブル１１６は、制約ＩＤ、Ｃｏｍｐｏｎｅｎｔ、Ｐａｒａｍｅｔｅｒ、Ｓｃｏｐｅ、テンプレートおよびＯＣＬ論理式の項目を含む。
【０１３８】
制約ＩＤの項目には、レコードを識別するための情報が登録される。Ｃｏｍｐｏｎｅｎｔの項目には、テンプレートの文字列“Component”の部分に挿入されたタイプを示す文字列が登録される。Ｐａｒａｍｅｔｅｒの項目には、テンプレートの文字列“param”の部分に挿入されたパラメータを示す文字列が登録される。Ｓｃｏｐｅの項目には、テンプレートの文字列“scope”の部分に挿入されたスコープを示す文字列が登録される。テンプレートの項目には、利用されたテンプレートを示す情報が登録される。ＯＣＬ論理式の項目には、当該テンプレートに基づいて作成されたＯＣＬ論理式が登録される。
【０１３９】
例えば、制約テーブル１１６には、制約ＩＤが“制約１”、Ｃｏｍｐｏｎｅｎｔが“Ｓｅｒｖｅｒ”、Ｐａｒａｍｅｔｅｒが“Ｎａｍｅ”、Ｓｃｏｐｅが“ＡＺ”、テンプレートが“Ｔ２”、ＯＣＬ論理式が“Ｓｅｒｖｅｒ．ａｌｌＩｎｓｔａｎｃｅｓ  −＞・・・”という情報が登録されている。これは、テンプレートＴ２から前述のようにして、特徴（ａ１）に対応する要件を示すＯＣＬ論理式が作成されたことを示す。
【０１４０】
ここで、制約ＩＤ“制約１”〜“制約６”と、上記の特徴（ａ１）〜（ａ４），（ｂ１），（ｂ２）との対応は次の通りである。“制約１”は特徴（ａ１）に対応する。“制約２”は特徴（ｂ１）に対応する。“制約３”は特徴（ａ２）に対応する。“制約４”は特徴（ａ３）に対応する。“制約５”は特徴（ｂ２）に対応する。“制約６”は特徴（ａ４）に対応する。
【０１４１】
図２０は、制約テーブルの例（つづき）を示す図である。制約テーブル１１７は、分析部１２０によって生成され、記憶部１１０に格納される。制約テーブル１１７は、特徴（ｃ１）に対応するＯＣＬ論理式を格納するためのテーブルである。制約テーブル１１７は、制約ＩＤ、Ｃｏｍｐｏｎｅｎｔ１、Ｃｏｍｐｏｎｅｎｔ２、Ｐａｒａｍｅｔｅｒ１、Ｐａｒａｍｅｔｅｒ２、Ｓｃｏｐｅ、テンプレートおよびＯＣＬ論式の項目を含む。
【０１４２】
制約ＩＤの項目には、レコードを識別するための情報が登録される。Ｃｏｍｐｏｎｅｎｔ１の項目には、テンプレートの文字列“component1”の部分に挿入されたタイプを示す文字列が登録される。Ｃｏｍｐｏｎｅｎｔ２の項目には、テンプレートの文字列“component2”の部分に挿入されたタイプを示す文字列が登録される。Ｐａｒａｍｅｔｅｒ１の項目には、テンプレートの文字列“param1”の部分に挿入されたパラメータを示す文字列が登録される。Ｐａｒａｍｅｔｅｒ２の項目には、テンプレートの文字列“param2”の部分に挿入されたパラメータを示す文字列が登録される。Ｓｃｏｐｅの項目には、テンプレートの文字列“scope”の部分に挿入されたスコープを示す文字列が登録される。テンプレートの項目には、利用されたテンプレートを示す情報が登録される。
【０１４３】
例えば、制約テーブル１１７には、制約ＩＤが“制約７”、Ｃｏｍｐｏｎｅｎｔ１が“Ｓｅｒｖｅｒ”、Ｃｏｍｐｏｎｅｎｔ２が“Ｓｗｉｔｃｈ”、Ｐａｒａｍｅｔｅｒ１が“Ｇａｔｅｗａｙ”、Ｐａｒａｍｅｔｅｒ２が“ＩＰ−Ａｄｄｒ”、Ｓｃｏｐｅが“ＡＺ”、テンプレートが“Ｔ５”、ＯＣＬ論理式が“Ａｌｌｃｏｍｐｏｎｅｎｔ・・・”という情報が登録されている。これは、テンプレートＴ５から前述のようにして特徴（ｃ１）に対応する要件を示すＯＣＬ論理式が作成されたことを示す。
【０１４４】
図２１は、新規構成情報の例を示す図である。新規構成情報１１１ａは、新規インフラの設定内容を検証する際に構成要件作成装置１００に入力され、記憶部１１０に格納される。新規構成情報１１１ａは、構成情報１１１に対して追加された装置を示す情報を含む。具体的には、ラックというスコープのグループ名“Ｒ８”のグループにおいて、サーバ名“Ｓｖｒ１７”のサーバが追加されている。
【０１４５】
新規構成情報１１１ａは、構成情報１１１と同様に、各スコープのクラスに対するインスタンスおよびインスタンス間のリンクを定義した情報であるということもできる。また、新規構成情報１１１ａは、各装置のクラスに対するインスタンスとスコープのインスタンスとのリンクも含んでいる。新規構成情報１１１ａもＵＭＬオブジェクト図を示す情報として記述できる。
【０１４６】
図２２は、サーバパラメータテーブルの例を示す図である。サーバパラメータテーブル１１２ａは、新規インフラの設定内容を検証する際に構成要件作成装置１００に入力され、記憶部１１０に格納される。サーバパラメータテーブル１１２ａは、ＩＤ、Ｎａｍｅ、Ｒｏｌｅ、ＩＰおよびＧａｔｅｗａｙの項目を含む。各項目の設定内容は、サーバパラメータテーブル１１２と同様である。
【０１４７】
例えば、サーバパラメータテーブル１１２ａには、ＩＤが“Ｓｖｒ１７”、Ｎａｍｅが“Ｄｏｍ０−３”、Ｒｏｌｅが“Ｄｏｍ０”、ＩＰが“１９２．１６８．４０．１４”、Ｇａｔｅｗａｙが“１９２．１６８．８０．１”という情報が登録されている。これは、新規構成情報１１１ａで追加されているサーバの各パラメータの値を示している。
【０１４８】
サーバパラメータテーブル１１２ａのその他のレコードの内容は、サーバパラメータテーブル１１２のレコードの内容と同じである。
図２３は、要件の検証例を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
【０１４９】
（Ｓ６１）分析部１２０は、新規インフラの検証開始の入力を受け付ける。例えば、ユーザは、入力デバイス３２を用いて構成要件作成装置１００に対する検証開始の入力を行える。当該入力では、新規インフラの情報として記憶部１１０に記憶された新規構成情報１１１ａ、サーバパラメータテーブル１１２ａおよびスイッチパラメータテーブル１１３が指定される。新規インフラの情報は、検証開始の入力とともに分析部１２０に入力されてもよい。
【０１５０】
（Ｓ６２）分析部１２０は、記憶部１１０に記憶されたパラメータ特徴テーブル１１４およびテンプレートＴ１〜Ｔ５に基づいて、各要件に応じたＯＣＬ論理式を生成する。分析部１２０は、生成したＯＣＬ論理式を制約テーブル１１６に登録する。
【０１５１】
（Ｓ６３）分析部１２０は、新規構成情報１１１ａ、サーバパラメータテーブル１１２ａおよびスイッチパラメータテーブル１１３を用いて、ＵＭＬオブジェクト図を示すオブジェクトモデル情報を生成する。新規構成情報１１１ａが当該オブジェクトモデル情報の形式として与えられていれば、本ステップＳ６３をスキップしてもよい。
【０１５２】
（Ｓ６４）分析部１２０は、ステップＳ６２で生成したＯＣＬ論理式およびＳ６３で生成した情報を検証部１３０に入力する。検証部１３０は、ＵＳＥの機能を利用して、オブジェクトモデル情報で示される各パラメータの設定値が、既存インフラで満たされている要件を満たすか否かを判定する。
【０１５３】
（Ｓ６５）検証部１３０は、判定結果を示す情報を生成し、記憶部１１０に格納する。検証部１３０は、判定結果の内容をユーザに提示することができる。例えば、検証部１３０は判定結果の内容をディスプレイ３１に表示させることで、ユーザに提示してもよい。検証部１３０は、要件を満たさないと判定されたパラメータについて、その旨を強調して表示させることで、ユーザによる注意を促してもよい。
【０１５４】
このようにして、検証部１３０は、新規構成情報１１１ａ、サーバパラメータテーブル１１２ａおよびスイッチパラメータテーブル１１３に対して、パラメータ特徴テーブル１１４で示される要件が満たされているかを検証する。なお、ステップＳ６１〜Ｓ６３の処理を分析部１２０により実行するものとしたが、検証部１３０が各処理を担ってもよい。
【０１５５】
図２４は、検証結果の例を示す図である。図２４では新規構成情報１１１ａ、サーバパラメータテーブル１１２ａおよびスイッチパラメータテーブル１１３に対して、パラメータ特徴テーブル１１４の要件が示されているかを検証した結果を示している。ここで、各パラメータは、制約テーブル１１６の“制約２”、“制約５”、“制約６”に対応する要件については満たすと判断されている。一方、次の制約については満たしていないと判断されている。
【０１５６】
例えば、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｎａｍｅ”は“制約１”を満たしていない。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ２−２”のグループ内でＩＤ“Ｓｖｒ１６”、“Ｓｖｒ１７”の各サーバの“Ｎａｍｅ”の値“Ｄｏｍ０−３”が重複しているからである。
【０１５７】
また、タイプ“Ｓｅｒｖｅｒ”のパラメータ“ＩＰ”は“制約３”を満たしていない。スコープ“Ｃｌｏｕｄ”で区分されるグループ名“Ｃｌｏｕｄ１”のグループ内でＩＤ“Ｓｖｒ１６”、“Ｓｖｒ１７”の各サーバの“ＩＰ”の値“１９２．１６８．４０．１４”が重複しているからである。
【０１５８】
また、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”は“制約４”を満たしていない。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ２−２”のグループ内でＩＤ“Ｓｖｒ１３”〜“Ｓｖｒ１６”の“Ｇａｔｅｗａｙ”の値“１９２．１６８．４０．１”と“Ｓｖｒ１７”の“Ｇａｔｅｗａｙ”の値“１９２．１６８．８０．１”とが異なっているからである。
【０１５９】
また、タイプ“Ｓｅｒｖｅｒ”のパラメータ“Ｇａｔｅｗａｙ”は“制約７”を満たしていない。スコープ“ＡＺ”で区分されるグループ名“Ｒｅｇ２−２”のグループ内でＩＤ“Ｓｖｒ１７”の“Ｇａｔｅｗａｙ”の値“１９２．１６８．８０．１”が、ＩＤ“Ｓｗ７”、“Ｓｗ８”の“ＩＰ−Ａｄｄｒ”の６つの値“１９２．１６８．４０．１”〜“１９２．１６８．４０．６”に含まれていないからである。
【０１６０】
図２５は、検証の流れの例を示す図である。分析部１２０は、構成情報１１１、サーバパラメータテーブル１１２およびスイッチパラメータテーブル１１３に基づいてパラメータ特徴テーブル１１４を作成する。分析部１２０は、パラメータ特徴テーブル１１４に基づいてＯＣＬ論理式を作成し、制約テーブル１１７に登録する。分析部１２０は、作成したＯＣＬ論理式を検証部１３０に入力する。
【０１６１】
また、分析部１２０は、新規構成情報１１１ａ、サーバパラメータテーブル１１２ａおよびスイッチパラメータテーブル１１３を用いて、ＵＭＬオブジェクト図のオブジェクトモデル情報を生成して検証部１３０に入力する。
【０１６２】
検証部１３０は、入力された情報により、構成変更後のパラメータの設定値が、分析部１２０によって抽出された既存のインフラの要件を満たしているかを検証する。検証部１３０は、検証結果として検証結果テーブル１１８を生成する。検証結果テーブル１１８には、図２４で説明したように、制約ＩＤ毎に、当該ＯＣＬ論理式で示される要件が満たされているか否かを示す情報が登録される。上記の入力情報に対する各要件の検証結果（要件を満たすか否かの判定結果）は、図２４で説明した通りである。
【０１６３】
以上のように、構成要件作成装置１００によれば、スコープに応じた各パラメータの要件を示す情報を適切に把握できる。例えば、スコープ毎にパラメータの設定値に規則を設け、各装置に対する設定の統制を図ることがある。この場合、スコープ毎の規則に則って各装置の設定変更が行われなければ、当該設定変更が他の装置の動作に対して悪影響を及ぼし得る。例えば、スコープで区分されるグループ内で設定値の重複が許されないパラメータ（例えば、“Ｎａｍｅ”や“ＩＰ”など）について、当該グループ内の複数の装置で設定値が重複すると装置間の通信に支障を来たすおそれがある。ところが、スコープ毎にどのような規則に則った設定が行われているかを把握することは容易でない。例えば、各パラメータに対するスコープ毎の要件を記録した情報の所在が不明なこともある。また、各パラメータに対するスコープ毎の要件を記録した情報が存在していないこともある。
【０１６４】
そこで、構成要件作成装置１００は、各パラメータに対してスコープに応じた要件を抽出する。このとき、あるスコープで区分されるグループ毎に成立する第１の特徴と、当該スコープで区分されるグループ間で成立する第２の特徴との両方を抽出するので、何れか一方の特徴のみを抽出するよりも、スコープ毎の適切な要件を作成できる。特に、あるスコープで区分されるグループ内で、あるパラメータが特徴をもつ場合、当該パラメータは当該スコープで区分される他のグループにおける当該パラメータの値との間で関係をもつ可能性が高い。構成要件作成装置１００によれば、このような関係を的確に把握することができる。ユーザは、作成された要件を参照して、スコープに応じた要件を適切に把握した上で、追加する装置や既存の装置の設定を行い得る。そうすれば、スコープ毎の規則を逸脱した設定が行われるリスクを低減できる。
【０１６５】
更に、構成要件作成装置１００は、あるパラメータについてある特徴が見出される場合、当該パラメータと別のパラメータとの関係の有無を確認する。例えば、ある種類の装置の設定値（例えば、サーバのデフォルトゲートウェイの設定値）が別の種類の装置の設定値（例えば、Ｌ３スイッチがもつＩＰアドレスの設定値）に関係することがあり得るからである。このような関係を抽出することで、スコープに応じた要件をより適切に把握できる。
【０１６６】
なお、第２の実施の形態では、抽出するパラメータの特徴の具体例を挙げて説明したが、例示した以外の特徴を抽出してもよい。例えば、スコープ内のパラメータの特徴として、全て同一値であるか、全て別個の値であるか以外にも、「設定値が、所定量（例えば、１）ずつ増加（あるいは減少）する連続量である」という特徴を抽出することも考えられる。抽出したい特徴は、構成要件作成装置１００に対して任意に与えることができる。システムに応じた特徴を構成要件作成装置１００に抽出させることで、スコープに応じた要件をより適切に把握できる。
【０１６７】
また、構成要件作成装置１００は、設定変更後の各装置の各パラメータの設定内容を、抽出した要件と照合して、設定変更後の各パラメータの設定値が適正であるかを検証する。ユーザは、設定変更の作業を行う前に構成要件作成装置１００を用いて当該検証を行える。このため、ユーザが、抽出された要件とパラメータの設計内容とを対比して誤設定の有無を確認するよりも、迅速かつ正確に誤設定の有無を確認できる。また、ユーザの作業を省力化できる。すなわち、検証作業を効率化できる。その結果、各装置の設定変更の作業期間を短縮化し得る。
【０１６８】
ここで、第１の実施の形態の情報処理は、演算部１ｂにプログラムを実行させることで実現できる。また、第２の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体（例えば、光ディスク３３、メモリ装置３４およびメモリカード３６など）に記録できる。
【０１６９】
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１７０】
１  構成要件作成装置
１ａ  記憶部
１ｂ  演算部
２，３，３ａ，４，４ａ，４ｂ，４ｃ  集合
５，５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇ  装置
【図１】
2015001826.tif 000003
【図２】
2015001826.tif 000004
【図３】
2015001826.tif 000005
【図４】
2015001826.tif 000006
【図５】
2015001826.tif 000007
【図６】
2015001826.tif 000008
【図７】
2015001826.tif 000009
【図８】
2015001826.tif 000010
【図９】
2015001826.tif 000011
【図１０】
2015001826.tif 000012
【図１１】
2015001826.tif 000013
【図１２】
2015001826.tif 000014
【図１３】
2015001826.tif 000015
【図１４】
2015001826.tif 000016
【図１５】
2015001826.tif 000017
【図１６】
2015001826.tif 000018
【図１７】
2015001826.tif 000019
【図１８】
2015001826.tif 000020
【図１９】
2015001826.tif 000021
【図２０】
2015001826.tif 000022
【図２１】
2015001826.tif 000023
【図２２】
2015001826.tif 000024
【図２３】
2015001826.tif 000025
【図２４】
2015001826.tif 000026
【図２５】
2015001826.tif 000027