(57)【要約】【課題】システムの設計を自動で行う。【解決手段】パラメータ設定支援装置１は、過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部１１に記憶し、記憶部１１に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを設計ルール生成部１２によって複数生成し、マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を設計手順生成部１３によって生成する。【選択図】図１
2014099059.tif 000002
【特許請求の範囲】
【請求項１】
過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
処理をコンピュータに実行させることを特徴とするパラメータ設定支援プログラム。
【請求項２】
前記手順を生成する処理は、マニュアル入力されたパラメータの値を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成し、特定したルールの定義を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成する処理を繰り返すことで前記手順を生成する
処理をコンピュータに実行させることを特徴とする請求項１に記載のパラメータ設定支援プログラム。
【請求項３】
前記手順を生成する処理は、マニュアル入力されたパラメータの値および特定したルールの定義を用いて条件が満たされないルールを複数抽出し、複数抽出したルールの中でいずれか２つのルールであって各定義が互いの条件に含まれる２つのルールを検出し、検出した２つのルールのどちらか一方の定義に関するパラメータを除外したうえで、他方の定義に関するパラメータに対して前記ルールを生成する処理を再び実行し、実行して得られたルールを用いて、前記手順を生成する
処理をコンピュータに実行させることを特徴とする請求項２に記載のパラメータ設定支援プログラム。
【請求項４】
過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶する記憶部と、
前記記憶部によって記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成するルール生成部と、
マニュアル入力されたパラメータの値と、前記ルール生成部によって複数生成されたルールとに基づいて、前記ルールを実行する手順を生成する手順生成部と
を有することを特徴とするパラメータ設定支援装置。
【請求項５】
コンピュータが、
過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
各処理を実行することを特徴とするパラメータ設定支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法に関する。
【背景技術】
【０００２】
近年、サーバやネットワークの仮想化技術を利用して、ネットワーク上にある複数のコンピューティング資源を利用者のコンピューティング資源として使用することができるクラウドシステムが利用されている。かかるクラウドシステムは、大規模化しているとともに複雑化し、システムの変更が日々行われる。例えば、機器の増設、システムの設計に関わるパラメータの新たな追加および設計方針の変更が行われている。
【０００３】
システムの変更要求に伴って、システムの設計が行われる。システムの設計では、設計者が、設計ルールや設計手順を作成する。ここで、設計ルールとは、設計に関わるパラメータを設定するルールであり、設計手順とは、設計ルールを実行順に並べたものである。そして、パラメータを自動で生成する装置が、作成された設計ルールおよび設計手順に基づいて、変更のあるシステムに関するパラメータを生成する。
【０００４】
また、システムの変更要求に伴って、システムを自動的に構築する技術がある。一例として、サーバ構築支援装置は、システム要件を受信すると、各アプリケーションプログラムを構築する際に用いられるシステム構築パラメータの雛形情報の定義する変数に適用して、各サーバについてのシステム構築パラメータを生成する。そして、サーバ構築支援装置は、生成したシステム構築パラメータを対象となるサーバに配布し適用することで、システムの構築を実現する。このサーバ構築支援装置で用いられるシステム構築パラメータの雛形情報は、あらかじめ人手で作成される。
【０００５】
別の一例として、構築システムのパターンに対応して定義された項目を含む項目定義情報と、項目に値を入力する工程および工程の順序がパターンに対応して定義された構築フロー定義情報とに基づいて、システムの構築を実現する技術が知られている。かかる技術では、システム構築装置は、指定されたシステムのパターンに対応する項目定義情報および構築フローに基づいて、工程に対応する項目の値の入力を受け付け、項目設定後、システムの構築対象サーバの環境を設定するための構築スクリプトおよびシステム定義情報を生成する。そして、システム構築装置は、システム構築対象サーバに構築スクリプトを実行するエージェントプログラムを配布し、構築スクリプトを実行させる。このシステム構築装置で用いられる項目定義情報および構築フロー定義情報は、あらかじめ人手で作成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−７２７７２号公報
【特許文献２】特開２０１０−５５４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、クラウドシステムのような大規模なシステムでは、人手でシステムの設計を行うことが困難であるという問題がある。すなわち、かかるシステムでは、システムが日々変更されたり、パラメータ間の関係性が複雑であったり、設計方針が設計されるシステムに依存したりする。このため、設計者がシステムに変更がある都度、設計ルールや設計手順を作成して、システムの設計を行うことは困難である。
【０００８】
システムを自動的に構築する技術であっても、大規模なシステムでは、設計者がシステム構築パラメータの雛形情報を作成するのは難しい。また、同様に、設計者が項目定義情報および構築フロー定義情報を作成するのは難しい。したがって、大規模なシステムでは、人手でシステムの設計を行うことは困難である。
【０００９】
１つの側面では、システムの設計を自動で行うことを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示するパラメータ設定支援プログラムは、過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する処理をコンピュータに実行させる。
【発明の効果】
【００１１】
本願の開示するパラメータ設定支援プログラムの１つの態様によれば、システムの設計を自動で行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係るパラメータ設定支援装置の構成を示す機能ブロック図である。
【図２】図２は、教師データのデータ構造の一例を示す図である。
【図３】図３は、クラスタリング部による共通部分を特定する方法を説明する図である。
【図４Ａ】図４Ａは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図（１）である。
【図４Ｂ】図４Ｂは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図（２）である。
【図５Ａ】図５Ａは、設計手順生成部による処理を説明する図（１）である。
【図５Ｂ】図５Ｂは、設計手順生成部による処理を説明する図（２）である。
【図６】図６は、再帰的クラスタリングアルゴリズムの処理を説明する図である。
【図７】図７は、教師データの具体例を示す図である。
【図８Ａ】図８Ａは、クラスタリング部による処理の具体例を示す図（１）である。
【図８Ｂ】図８Ｂは、クラスタリング部による処理の具体例を示す図（２）である。
【図９Ａ】図９Ａは、パラメータ判別部による処理の具体例を示す図（１）である。
【図９Ｂ】図９Ｂは、パラメータ判別部による処理の具体例を示す図（２）である。
【図１０Ａ】図１０Ａは、設計手順生成部による処理の具体例を示す図（１）である。
【図１０Ｂ】図１０Ｂは、設計手順生成部による処理の具体例を示す図（２）である。
【図１０Ｃ】図１０Ｃは、設計手順生成部による処理の具体例を示す図（３）である。
【図１０Ｄ】図１０Ｄは、設計手順生成部による処理の具体例を示す図（４）である。
【図１１】図１１は、新たなデータセンタが増える場合のパラメータ生成部による処理の具体例を示す図である。
【図１２Ａ】図１２Ａは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図（１）である。
【図１２Ｂ】図１２Ｂは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図（２）である。
【図１３Ａ】図１３Ａは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図（１）である。
【図１３Ｂ】図１３Ｂは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図（２）である。
【図１４】図１４は、新しいパラメータが増える場合のパラメータ生成部による処理の具体例を示す図である。
【図１５】図１５は、設計ルール生成部の処理手順を示すフローチャートである。
【図１６】図１６は、設計手順生成部の処理手順を示すフローチャートである。
【図１７】図１７は、再帰的クラスタリングアルゴリズムの処理手順を示すフローチャートである。
【図１８】図１８は、パラメータ生成部の処理手順を示すフローチャートである。
【図１９】図１９は、終了検査の処理手順を示すフローチャートである。
【図２０】図２０は、パラメータ設定支援プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するパラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
［パラメータ設定支援装置の構成］
図１は、実施例に係るパラメータ設定支援装置の構成を示す機能ブロック図である。かかるパラメータ設定支援装置１は、システムの設計の際に用いられるパラメータの設定を支援する。パラメータ設定支援装置１は、例えばクラウドシステム内にシステムを新たに追加する場合に、当該システム（「対象システム」という）にパラメータを設定する。パラメータ設定支援装置１は、例えばクラウドシステム内で稼動中の類似している類似システムのパラメータの設定情報（教師データ２１）を用いて、パラメータの設定で用いられる設計ルールや設計手順を生成する。ここでは、設計ルールは、システムの設計に関わるパラメータの設定上のルールであり、条件と定義からなる。設計手順とは、設計ルールを実行順に並べたものである。そして、パラメータ設定支援装置１は、生成した設計ルールおよび設計手順に基づいて、対象システム２に対するパラメータを生成して設定する。
【００１５】
図１に示すように、パラメータ設定支援装置１は、記憶部１１と、設計ルール生成部１２と、設計手順生成部１３と、パラメータ生成部１４とを有する。
【００１６】
記憶部１１は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部１１は、教師データ２１と、設定順序リスト２２と、マニュアル入力パラメータ２３とを有する。教師データ２１は、対象システム２と構成が類似する類似システムのパラメータの設定情報であり、後述するクラスタリング部１２１によって記憶部１１に格納される。なお、教師データ２１のデータ構造の一例については後述する。設定順序リスト２２は、パラメータを設定する順序であって設計ルールを実行する順序を示すリストであり、設計手順に対応する。設定順序リスト２２は、後述する設計手順生成部１３によって記憶部１１に格納される。マニュアル入力パラメータ２３は、マニュアル入力で値が設定されるパラメータであり、後述するパラメータ判別部１２２および後述する設計手順生成部１３によって記憶部１１に格納される。
【００１７】
ここで、ある類似システムにおける教師データ２１のデータ構造の一例を、図２を参照して説明する。図２は、教師データのデータ構造の一例を示す図である。図２に示すように、教師データ２１は、パラメータ、サーバＡ１、サーバＡ２、サーバＡ３およびサーバＡ４を対応付けて記憶する。
【００１８】
サーバＡ１、サーバＡ２、サーバＡ３およびサーバＡ４は、ある類似システムに搭載されているサーバの名称である。ここでは、サーバが４個搭載されているが、これに限定されず、サーバが５個搭載されていても良いし、サーバが３個搭載されていても良いし、類似システムに搭載されているサーバであれば良い。
【００１９】
パラメータは、システムの設計に用いられるパラメータである。ここでは、パラメータには、「Ｒｏｌｅ」、「ｎａｍｅｓｅｒｖｅｒ」、「ＬＡＮＧ」、「ＵＴＣ」および「ＩＰ」が含まれる。「Ｒｏｌｅ」は、サーバの役割を示す。「ｎａｍｅｓｅｒｖｅｒ」は、ＤＮＳ（Domain  Name  Service）のＩＰアドレスを示す。「ＬＡＮＧ」は、サーバの使用言語を示す。「ＵＴＣ」は、協定世界時を使用するか否かを示し、例えば、「ｔｒｕｅ」の場合協定世界時を使用することを意味し、「ｆａｌｓｅ」の場合協定世界時を使用しないことを意味する。「ＩＰ」は、ＩＰアドレスの割当てを動的にするか静的にするかを示し、例えば、「ｄｈｃｐ」の場合動的であることを意味し、「ｓｔａｔｉｃ」の場合静的であることを意味する。
【００２０】
各サーバには、これらのパラメータの値がそれぞれ設定されている。一例として、サーバＡ１の場合、パラメータ「Ｒｏｌｅ」に「ａｄｍｉｎ」が設定され、パラメータ「ｎａｍｅｓｅｒｖｅｒ」に「１９２．１６８．１．１」が設定されている。さらに、パラメータ「ＬＡＮＧ」に「ｊｐ」が設定され、パラメータ「ＵＴＣ」に「ｆａｌｓｅ」が設定され、パラメータ「ＩＰ」に「ｄｈｃｐ」が設定されている。
【００２１】
図１に戻って、設計ルール生成部１２は、パラメータの設定で用いられる設計ルールを生成する。設計ルール生成部１２は、クラスタリング部１２１およびパラメータ判別部１２２を有する。
【００２２】
クラスタリング部１２１は、教師データ２１を用いて設計ルールを複数生成する。なお、生成される設計ルールは、以降で使用する「クラスタ」と同義である。例えば、クラスタリング部１２１は、クラスタリング手法を用いて、教師データ２１から設計単位の共通部分を特定する。そして、クラスタリング部１２１は、クラスタリング結果から設計ルールを生成する。ここでいう設計単位とは、例えば、データセンタ単位であったり、ロケーション単位であったり、サーバ単位であったりする。なお、クラスタリング手法は、クラスタリングのいかなる手法を用いても構わない。
【００２３】
ここで、設計単位をデータセンタ単位とした場合のクラスタリング部１２１による共通部分を特定する方法を、図３を参照して説明する。図３は、クラスタリング部による共通部分を特定する方法を説明する図である。
【００２４】
データセンタＡ，Ｂ，Ｃ，Ｄのそれぞれの教師データ２１には、図３上段に示すように、各サーバについて、パラメータ「Ｒｏｌｅ」，「Ｌａｎｇ」の値が同じ値に設定されている。クラスタリング部１２１は、クラスタリング手法を用いて、教師データ２１から共通部分を特定する。ここでは、図３下段に示すように、データセンタＡ，Ｂ，Ｃ，Ｄでは、パラメータ「Ｌａｎｇ」について、値が「Ｊａｐａｎｅｓｅ」のサーバ部分、値が「Ｅｎｇｌｉｓｈ」のサーバ部分が共通部分となる。
【００２５】
そして、クラスタリング部１２１は、クラスタリング結果から設計ルールを生成する。ここでは、パラメータ「Ｒｏｌｅ」が「ａｄｍｉｎ」であれば、パラメータ「Ｌａｎｇ」が「Ｊａｐａｎｅｓｅ」になるという設計ルールが生成される。また、パラメータ「Ｒｏｌｅ」が「ａｄｍｉｎ」以外であれば、パラメータ「Ｌａｎｇ」が「Ｅｎｇｌｉｓｈ」になるという設計ルールが生成される。すなわち、クラスタリング部１２１によって生成される設計ルール（クラスタ）は、＜１＞、＜２＞のように表される。
ＩＦ  Ｒｏｌｅ＝“ａｄｍｉｎ”  ＴＨＥＮ  ＬＡＮＧ＝Ｊａｐａｎｅｓｅ・・・＜１＞
ＩＦ  Ｒｏｌｅ！＝“ａｄｍｉｎ”  ＴＨＥＮ  ＬＡＮＧ＝Ｊａｐａｎｅｓｅ・・＜２＞
【００２６】
なお、設計ルールは、条件と定義からなっている。例えば、＜１＞について、設計ルールの条件は、「ＩＦ  Ｒｏｌｅ＝“ａｄｍｉｎ”」であり、設計ルールの定義は、「ＴＨＥＮ  ＬＡＮＧ＝Ｊａｐａｎｅｓｅ」である。
【００２７】
図１に戻って、パラメータ判別部１２２は、教師データ２１に含まれるパラメータの中で、マニュアル入力となるパラメータを判別する。例えば、パラメータ判別部１２２は、それぞれの設計単位内で全てのサーバが固有の値を持つパラメータを、マニュアル入力パラメータとして判別する。全てのサーバが固有の値を持つパラメータの場合、パラメータ判別部１２２は、条件と定義でパラメータに値を設定できないからである。また、パラメータ判別部１２２は、それぞれの設計単位間で固有の値を持つパラメータ、すなわちそれぞれの設計単位ごとに固有の値を持っているパラメータを、マニュアル入力パラメータとして判別する。設計単位間で固有の値を持つパラメータの場合、パラメータ判別部１２２は、条件と定義でパラメータに値を設定できないからである。そして、パラメータ判別部１２２は、判別されたマニュアル入力パラメータを記憶部１１のマニュアル入力パラメータ２３に格納する。
【００２８】
ここで、設計単位をデータセンタ単位とした場合のパラメータ判別部１２２によるマニュアル入力パラメータを判別する方法を、図４Ａおよび図４Ｂを参照して説明する。図４Ａおよび図４Ｂは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図である。
【００２９】
図４Ａ上段、下段に示すように、データセンタＡ，Ｂ，Ｃ，Ｄのそれぞれの教師データ２１には、各サーバに対応するパラメータ「ｎａｍｅｓｅｒｖｅｒ」の値がデータセンタＡ，Ｂ，Ｃ，Ｄ内で固有の値となっている。パラメータ判別部１２２は、それぞれのデータセンタ内で全てのサーバが固有の値を持つパラメータを、マニュアル入力パラメータとして判別する。ここでは、パラメータ判別部１２２は、それぞれのデータセンタＡ，Ｂ，Ｃ，Ｄ内で固有の値を持つパラメータ「ｎａｍｅｓｅｒｖｅｒ」を、マニュアル入力パラメータとして判別する。
【００３０】
図４Ｂ上段、下段に示すように、データセンタＡ，Ｂ，Ｃ，Ｄのそれぞれの教師データ２１には、各サーバに対応するパラメータ「ｎａｍｅｓｅｒｖｅｒ」の値がデータセンタＡ，Ｂ，Ｃ，Ｄ間で固有の値となっている。パラメータ判別部１２２は、それぞれのデータセンタ間で固有の値を持つパラメータ、すなわちそれぞれのデータセンタごとに固有の値を持っているパラメータを、マニュアル入力パラメータとして判別する。ここでは、パラメータ判別部１２２は、それぞれのデータセンタ間で固有の値を持つパラメータ「ｎａｍｅｓｅｒｖｅｒ」を、マニュアル入力パラメータとして判別する。
【００３１】
図１に戻って、設計手順生成部１３は、クラスタリング部１２１によってパラメータごとに生成された設計ルールおよびパラメータ判別部１２２によって判別されたマニュアル入力パラメータに基づいて、設計手順を生成する。例えば、設計手順生成部１３は、マニュアル入力されたパラメータの値を用いて設計ルールの条件が満たされる設計ルールを特定する。そして、設計手順生成部１３は、特定した設計ルールを設計手順として設定順序リスト２２に追加する。また、設計手順生成部１３は、マニュアル入力および特定した設計ルールの定義を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設計手順として設定順序リスト２２に追加する。このように、設計手順生成部１３は、マニュアル入力および特定できた設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定し、特定した設計ルールを設定順序リスト２２に追加していくことで、設計手順を生成する。
【００３２】
ここで、設計手順生成部１３による設計手順を生成する処理を、図５Ａおよび図５Ｂを参照して説明する。図５Ａおよび図５Ｂは、設計手順生成部による処理を説明する図である。
【００３３】
図５Ａに示すように、設計手順生成部１３は、マニュアル入力から設計ルールの条件が満たされる設計ルール「Ｒｕｌｅ（０）」を特定する。この設計ルール「Ｒｕｌｅ（０）」が１番目の設計手順として設定順序リスト２２に追加される。そして、設計手順生成部１３は、設計ルール「Ｒｕｌｅ（０）」の定義「ＰａｒａＳｅｔ（１）」を用いて、次に条件が満たされる設計ルール「Ｒｕｌｅ（１）」を特定する。この設計ルール「Ｒｕｌｅ（１）」が２番目の設計手順として設定順序リスト２２に追加される。このようにして、設計手順生成部１３は、マニュアル入力から順番に再帰的に設計ルールを特定し、設計手順を決定していく。
【００３４】
図５Ｂに示すように、マニュアル入力パラメータである「ＮＥＴＭＡＳＫ」に対してマニュアル入力で値「２５５．２５５．２５５．０」が設定されたとする。設計手順生成部１３は、マニュアル入力で設定された「ＮＥＴＭＡＳＫ」の情報から（１）と（２）の設計ルールの条件が満たされるので、（１）と（２）の設計ルールを特定する。（１）と（２）の設計ルールが設定順序リスト２２に追加される。そして、設計手順生成部１３は、（２）の設計ルールの定義である「＜ｕｕｉｄ＞＝ａｂｃｄｅｆｇ１０００」の情報から（３）の設計ルールの条件が満たされるので、（３）の設計ルールを特定する。（３）の設計ルールが設定順序リスト２２に追加される。したがって、図５Ｂで示す設計ルールの設計手順は、（１）→（２）→（３）の順となる。なお、図５Ｂで示す設計ルールの設計手順は、（２）→（１）→（３）の順であっても良い。
【００３５】
図１に戻って、設計手順生成部１３は、マニュアル入力および特定された設計ルールの定義によって条件が満たされない設計ルールがある場合、以下のような処理を行う。設計手順生成部１３は、条件があと１つで満たされる設計ルールの集合を抽出する。そして、設計手順生成部１３は、設計ルールの集合の中でいずれか２つの設計ルールであって各定義が互いの条件に含まれる２つの設計ルールを検出する。なお、２つの設計ルールの各定義が互いの条件に含まれる、すなわち、各定義が互いの条件を参照できることを「循環参照」というものとする。そして、設計手順生成部１３は、循環参照している２つの設計ルールが定義するそれぞれのパラメータのどちらか一方を教師データ２１から除外する。そして、設計手順生成部１３は、他方のパラメータに対するクラスタリング処理を、除外したパラメータ以外のパラメータを用いて再びクラスタリング部１２１に実行させる。これにより、設計手順生成部１３は、再びクラスタリング処理が実行された後、循環参照をおこしているパラメータが関わらない設計ルールを生成させることができる。
【００３６】
また、設計手順生成部１３は、再びクラスタリング処理を実行させた後、マニュアル入力されたパラメータの値および既に特定された設計ルールの定義によって条件が満たされる設計ルールを特定する。そして、設計手順生成部１３は設計ルールを特定できれば当該設計ルールを設計手順として設定順序リスト２２に追加することになる。一方、設計手順生成部１３は、設計ルールを特定できなければ、特定できない設計ルールの定義に含まれるパラメータをマニュアル入力パラメータとし、記憶部１１のマニュアル入力パラメータ２３に格納する。このように、再帰的にクラスタリング処理を実行させながら設計手順を生成する処理のことを、「再帰的クラスタリングアルゴリズム」というものとする。
【００３７】
ここで、再帰的クラスタリングアルゴリズムの処理を、図６を参照して説明する。図６は、再帰的クラスタリングアルゴリズムの処理を説明する図である。
【００３８】
図６上段に示すように、設計ルールＡと設計ルールＢは、循環参照の設計ルールである。すなわち、設計ルールＡの定義「ＮＥＴＭＡＳＫ＝“Ｄ”」が設計ルールＢの条件に含まれ、設計ルールＢの定義「ＺＯＮＥ＝“Ｃ”」が設計ルールＡの条件に含まれている。設計手順生成部１３は、循環参照の設計ルールＡ，Ｂを検出する。そして、設計手順生成部１３は、循環参照しているパラメータを一時的に１つ教師データ２１から除外する。ここでは、設計手順生成部１３は、循環参照をおこしている一方のパラメータ「ＺＯＮＥ」を除外する。そして、設計手順生成部１３は、他方のパラメータ「ＮＥＴＭＡＳＫ」に対して、クラスタリング部１２１に再びクラスタリング処理を実行させる。これにより、循環参照をおこしているパラメータ「ＺＯＮＥ」が関わらない設計ルールが生成される。
【００３９】
図６下段に示すように、クラスタリング部１２１によってパラメータ「ＮＥＴＭＡＳＫ」に対して、新たな設計ルールが生成される。そして、設計手順生成部１３は、マニュアル入力および既に特定された設計ルールの定義によって条件が満たされる設計ルールを特定する。ここでは、設計手順生成部１３は、新設計ルールの条件が満たされるので、新設計ルールを特定する。そして、設計手順生成部１３は、新設計ルールを設計手順として設定順序リスト２２に追加することになる。
【００４０】
図１に戻って、パラメータ生成部１４は、設計手順生成部１３によって生成された設計手順にしたがって、新たな設計対象である対象システム２の設計に用いられるパラメータの情報を生成する。そして、パラメータ生成部１４は、生成したパラメータの情報を対象システム２に設定する。例えば、パラメータ生成部１４は、マニュアル入力パラメータ２３に記憶されたパラメータに対してマニュアル入力を受け付けると、受け付けた入力データを用いてマニュアル入力パラメータの情報を生成する。そして、パラメータ生成部１４は、設定順序リスト２２に記憶された設定手順にしたがって、順々にパラメータの情報を生成する。ここで、パラメータ生成部１４は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。生成できていない箇所が存在する場合の一例として、対象システム２に新しいサーバが増設される場合がある。また、別の一例として、対象システム２に設定すべき新しいパラメータが増える場合がある。また、さらに別の一例として、対象システム２の設計方針が変る場合がある。そして、パラメータ生成部１４は、生成したパラメータを対象システム２に設定する。
【００４１】
次に、設計単位をデータセンタ単位とした場合のパラメータ設定支援処理の具体例を、図７〜図１４を参照して説明する。図７は、教師データの具体例を示す図である。図７に示すように、教師データ２１には、データセンタＡ，Ｂ，Ｃに搭載されたサーバごとに各種パラメータに対応する値が設定されている。
【００４２】
図８Ａおよび図８Ｂは、クラスタリング部による処理の具体例を示す図である。図８Ａに示すように、クラスタリング部１２１は、クラスタリング手法を用いて、教師データ２１から設計単位であるデータセンタの共通部分を特定する。ここでは、クラスタリング部１２１は、パラメータ「Ｒｏｌｅ」について、データセンタＡ，Ｂ，Ｃ内で「ａｄｍｉｎ」、「ＤＮＳ」、「ｓｅｃｕｒｉｔｙ」、「Ｗｅｂ  ｓｅｒｖｅｒ」のようにそれぞれ固有の値が設定されているので、共通部分を特定できない。また、パラメータ「ｎａｍｅｓｅｒｖｅｒ」について、データセンタＡでは全てのサーバで「１９２．１６８．１．１」、データセンタＢでは全てのサーバで「１９２．１６８．３．１」、データセンタＣでは全てのサーバで「１９２．１６８．５．１」が設定されている。したがって、クラスタリング部１２１は、それぞれのデータセンタごとに固有の値が設定されているので、共通部分を特定できない。また、クラスタリング部１２１は、パラメータ「ＬＡＮＧ」について、値が「ｊｐ」であるサーバ部分と値が「ｅｎ」であるサーバ部分とを、共通部分として特定する。また、クラスタリング部１２１は、パラメータ「ＵＴＣ」について、値が「ｆａｌｓｅ」であるサーバ部分と値が「ｔｒｕｅ」であるサーバ部分とを、共通部分として特定する。また、クラスタリング部１２１は、パラメータ「ＩＰ」について、値が「ｄｈｃｐ」であるサーバ部分と値が「ｓｔａｔｉｃ」であるサーバ部分とを、共通部分として特定する。
【００４３】
図８Ｂに示すように、クラスタリング部１２１は、クラスタリング結果から設計ルールを生成する。ここでは、クラスタリング部１２１は、パラメータ「Ｒｏｌｅ」について、「データセンタ内固有」という設計ルールを生成する。また、クラスタリング部１２１は、パラメータ「ｎａｍｅｓｅｒｖｅｒ」について、「データセンタ間固有」という設計ルールを生成する。また、クラスタリング部１２１は、パラメータ「ＬＡＮＧ」について、「ＩＦ  Ｒｏｌｅ＝ａｄｍｉｎ  ＴＨＥＮ  ＬＡＮＧ＝ｊｐ」、「ＩＦ  Ｒｏｌｅ＝ＤＮＳ，ｓｅｃｕｒｉｔｙ，Ｗｅｂｓｅｒｖｅｒ  ＴＨＥＮ  ＬＡＮＧ＝ｅｎ」という設計ルールを生成する。また、クラスタリング部１２１は、パラメータ「ＵＴＣ」について、「ＩＦ  ＬＡＮＧ＝ｊｐ  ＴＨＥＮ  ＵＴＣ＝ｆａｌｓｅ」、「ＩＦ  ＬＡＮＧ＝ｅｎ  ＴＨＥＮ  ＵＴＣ＝ｔｒｕｅ」という設計ルールを生成する。また、クラスタリング部１２１は、パラメータ「ＩＰ」について、「ＩＦ  ＵＴＣ＝ｆａｌｓｅ  ＴＨＥＮ  ＩＰ＝ｄｈｃｐ」、「ＩＦ  ＵＴＣ＝ｔｒｕｅ  ＴＨＥＮ  ＩＰ＝ｓｔａｔｉｃ」という設計ルールを生成する。
【００４４】
図９Ａは、パラメータ判別部による処理の具体例を示す図である。図９Ａに示すように、パラメータ判別部１２２は、パラメータの中で、マニュアル入力となるパラメータを判別する。ここでは、パラメータ判別部１２２は、「データセンタ内固有」を設計ルールとしたパラメータ「Ｒｏｌｅ」を、マニュアル入力パラメータとして判別する。設計ルールが「データセンタ内固有」である場合、パラメータ判別部１２２は、条件と定義で値を設定できないからである。また、パラメータ判別部１２２は、「データセンタ間固有」を設計ルールとしたパラメータ「ｎａｍｅｓｅｒｖｅｒ」を、マニュアル入力パラメータとして判別する。設計ルールが「データセンタ間固有」である場合、パラメータ判別部１２２は、条件と定義で値を設定できないからである。
【００４５】
なお、設計単位が、データセンタ単位に代えてサーバ単位とすると、マニュアル入力パラメータと判別されるパラメータが異なる。図９Ｂは、設計単位をサーバ単位とした場合のパラメータ判別部による処理の具体例を示す図である。設計単位をサーバ単位とした場合、１つのデータセンタ内でクラスタリング部１２１によるクラスタリング処理が行われる。すると、図９Ｂに示すように、パラメータ「ｎａｍｅｓｅｒｖｅｒ」について、全てのサーバで「１９２．１６８．１．１」が設定されているので、クラスタリング部１２１によって、全てのサーバ部分が共通部分として特定される。一方、パラメータ「Ｒｏｌｅ」について、サーバ１，２，３，４で「ａｄｍｉｎ」、「ＤＮＳ」、「ｓｅｃｕｒｉｔｙ」、「Ｗｅｂ  ｓｅｒｖｅｒ」のようにそれぞれ固有の値が設定されているので、クラスタリング部１２１によって、共通部分が特定されない。すなわち、「Ｒｏｌｅ」について、「サーバ間固有」という設計ルールがクラスタリング部１２１によって生成される。そこで、パラメータ判別部１２２は、「サーバ間固有」を設計ルールとしたパラメータ「Ｒｏｌｅ」を、マニュアル入力パラメータとして判別する。つまり、設計単位が、データセンタ単位、サーバ単位というように異なると、マニュアル入力パラメータと判別されるパラメータが異なる。
【００４６】
図１０Ａ〜図１０Ｄは、設計手順生成部による処理の具体例を示す図である。図１０Ａに示すように、設計ルールがパラメータに対応させて定められている。設計ルールは、クラスタリング部１２１およびパラメータ判別部１２２によって定められる。なお、マニュアル入力パラメータは、「Ｒｏｌｅ」および「ｎａｍｅｓｅｒｖｅｒ」である。
【００４７】
そして、設計手順生成部１３は、マニュアル入力を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設定順序リスト２２に追加する。ここでは、マニュアル入力パラメータ「Ｒｏｌｅ」およびマニュアル入力された値を用いてパラメータ「ＬＡＮＧ」の設計ルール（１），（２）の条件がそれぞれ満たされるので、設計ルール（１），（２）が特定される。そして、パラメータ「ＬＡＮＧ」の設計ルール（１），（２）が設定順序リスト２２に追加される。
【００４８】
そして、設計手順生成部１３は、マニュアル入力と既に特定した設計ルールの定義を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設定順序リスト２２に追加する。ここでは、既に特定した設計ルール（１）の定義「ＬＡＮＧ＝ｊｐ」を用いてパラメータ「ＵＴＣ」の設計ルール（３）の条件が満たされるので、設計ルール（３）が特定される。同様に、既に特定した設計ルール（２）の定義「ＬＡＮＧ＝ｊｐ」を用いてパラメータ「ＵＴＣ」の設計ルール（４）の条件が満たされるので、設計ルール（４）が特定される。そして、パラメータ「ＵＴＣ」の設計ルール（３）、（４）が設定順序リスト２２に追加される。
【００４９】
さらに、既に特定した設計ルール（３）の定義「ＵＴＣ＝ｆａｌｓｅ」を用いてパラメータ「ＩＰ」の設計ルール（５）の条件が満たされるので、設計ルール（５）が特定される。同様に、既に特定した設計ルール（４）の定義「ＵＴＣ＝ｔｒｕｅ」を用いてパラメータ「ＩＰ」の設計ルール（６）の条件が満たされるので、設計ルール（６）が特定される。そして、パラメータ「ＩＰ」の設計ルール（５）、（６）が設定順序リスト２２に追加される。このようにして、設計手順生成部１３は、検査対象の設計ルールがなくなるまで、設計ルールを実行する手順を生成する処理を繰り返し行う。この結果、設計手順生成部１３は、設定順序リスト２２に、（１）→（２）→（３）→（４）→（５）→（６）の順序で設計ルールを追加することができ、設計手順を生成できる。
【００５０】
ところが、例えばパラメータ入力を用いても条件が満たされる設計ルールを特定できない場合がある。かかる場合について、図１０Ｂ〜図１０Ｄを参照して説明する。図１０Ｂに示すように、設計ルールがパラメータに対応させて定められている。設計ルールは、クラスタリング部１２１およびパラメータ判別部１２２によって定められる。なお、マニュアル入力パラメータは、「Ｒｏｌｅ」および「ｎａｍｅｓｅｒｖｅｒ」である。
【００５１】
そして、設計手順生成部１３は、マニュアル入力を用いて条件が満たされない設計ルールがある場合、循環参照している２つの設計ルールを検出する。ここでは、設計ルール（１）の定義「ＬＡＮＧ＝ｊｐ」が設計ルール（３）の条件を参照し、設計ルール（３）の定義「ＵＴＣ＝ｆａｌｓｅ」が設計ルール（１）の条件を参照しているので、循環参照している設計ルールとして（１）と（３）が検出される。
【００５２】
次に、設計手順生成部１３は、循環参照している２つの設計ルールが定義するパラメータのどちらか一方を教師データ２１から除外したうえで、他方のパラメータに対して、クラスタリング部１２１に再びクラスタリング処理を実行させる。ここでは、設計手順生成部１３は、循環参照している２つの設計ルール（１），（３）のうち、設計ルール（３）が定義するパラメータ「ＵＴＣ」を除外する。そして、設計手順生成部１３は、他方のパラメータ「ＬＡＮＧ」に対して、クラスタリング部１２１に再びクラスタリング処理を実行させる。
【００５３】
この結果、パラメータ「ＬＡＮＧ」について、クラスタリング部１２１によって新たな設計ルールが生成される。図１０Ｃに示すように、パラメータ「ＬＡＮＧ」について、循環参照に関係したパラメータ「ＵＴＣ」が関わらない設計ルール（１），（２）が生成される。そして、設計手順生成部１３は、除外していたパラメータを戻したうえで、マニュアル入力と既に特定した設計ルールの定義とを用いて、条件が満たされる設計ルールを特定する。そして、設計手順生成部１３は、特定した設計ルールを設定順序リスト２２に追加する。この結果、設計手順生成部１３は、設定順序リスト２２に、（１）→（２）→（３）→（４）→（５）→（６）の順序で設計ルールを追加することができ、設計手順を生成できる。図１０Ｄには、設定順序リスト２２に記憶されている設計手順の内容が示されている。
【００５４】
次に、新たなデータセンタＤが増える場合のパラメータ生成部による処理を、図１１を参照して説明する。図１１は、新たなデータセンタが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部１４による処理は、図１０Ｄに示す設計手順を用いるとする。また、マニュアル入力パラメータ２３は、「Ｒｏｌｅ」と「ｎａｍｅｓｅｒｖｅｒ」であるとする。
【００５５】
図１１上段に示すように、データセンタＤに搭載されるサーバＤ１〜Ｄ４に対して、まだパラメータが生成されていない。
【００５６】
図１１中段に示すように、パラメータ生成部１４は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバＤ１に対してマニュアル入力パラメータ「Ｒｏｌｅ」に入力された値「ａｄｍｉｎ」が割り当てられる。サーバＤ２に対してマニュアル入力パラメータ「Ｒｏｌｅ」に入力された値「ＤＮＳ」が割り当てられる。サーバＤ３に対してマニュアル入力パラメータ「Ｒｏｌｅ」に入力された値「ｓｅｃｕｒｉｔｙ」が割り当てられる。サーバＤ４に対してマニュアル入力パラメータ「Ｒｏｌｅ」に入力された値「Ｗｅｂ  ｓｅｒｖｅｒ」が割り当てられる。そして、サーバＤ１〜Ｄ４に対してマニュアル入力パラメータ「ｎａｍｅｓｅｒｖｅｒ」に入力された値「１９２．１６８．７．１」が割り当てられる。
【００５７】
図１１下段に示すように、パラメータ生成部１４は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、図１０Ｄに示す設計手順の設計ルール（１）にしたがって、サーバＤ１のパラメータ「ＬＡＮＧ」に「ｊｐ」が割り当てられる。また、設計手順の設計ルール（２）にしたがって、サーバＤ２〜Ｄ４のパラメータ「ＬＡＮＧ」に「ｅｎ」が割り当てられる。また、設計手順の設計ルール（３）にしたがって、サーバＤ１のパラメータ「ＵＴＣ」に「ｆａｌｓｅ」が割り当てられる。また、設計手順の設計ルール（４）にしたがって、サーバＤ２〜Ｄ４のパラメータ「ＵＴＣ」に「ｔｒｕｅ」が割り当てられる。また、設計手順の設計ルール（５）にしたがって、サーバＤ１のパラメータ「ＩＰ」に「ｄｈｃｐ」が割り当てられる。また、設計手順の設計ルール（６）にしたがって、サーバＤ２〜Ｄ４のパラメータ「ＩＰ」に「ｓｔａｔｉｃ」が割り当てられる。
【００５８】
これにより、パラメータ生成部１４は、新たなデータセンタＤが増える場合、設計手順にしたがって、パラメータを生成することができ、対象システム２に設定することができる。
【００５９】
次に、データセンタＤに新たなサーバＤ５が増える場合のパラメータ生成部による処理を、図１２Ａおよび図１２Ｂを参照して説明する。図１２Ａおよび図１２Ｂは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部による処理は、図１０Ｄに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Ｒｏｌｅ」と「ｎａｍｅｓｅｒｖｅｒ」であるとする。
【００６０】
図１２Ａ上段に示すように、データセンタＤに搭載されるサーバＤ１〜Ｄ５に対して、まだパラメータが生成されていない。
【００６１】
図１２Ａ中段に示すように、パラメータ生成部１４は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバＤ１〜Ｄ４に対する処理は、図１１中段の説明と同様であるので、その説明を省略する。そして、新たなサーバＤ５に対して、マニュアル入力パラメータ「Ｒｏｌｅ」に入力された値「ＷｅｂＤＡＶ」が割り当てられる。そして、サーバＤ５に対して、マニュアル入力パラメータ「ｎａｍｅｓｅｒｖｅｒ」に入力された値「１９２．１６８．７．１」が割り当てられる。
【００６２】
図１２Ａ下段に示すように、パラメータ生成部１４は、図１０Ｄに示す設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、サーバＤ１〜Ｄ４に対する処理は、図１１下段の説明と同様であるので、その説明を省略する。そして、パラメータ生成部１４は、サーバＤ５に対して、設計手順に該当する設計ルールがないのでパラメータの情報を生成できない。
【００６３】
図１２Ｂ上段に示すように、パラメータ生成部１４は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。ここでは、生成できていない箇所の内、順序が最も早いパラメータは「ＬＡＮＧ」であるので、パラメータ生成部１４による依頼の結果、パラメータ「ＬＡＮＧ」に入力された値「ｅｎ」が割り当てられる。
【００６４】
図１２Ｂ下段に示すように、パラメータ生成部１４は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、図１０Ｄに示す設計手順の設計ルール（４）にしたがって、サーバＤ５のパラメータ「ＵＴＣ」に「ｔｒｕｅ」が割り当てられる。また、設計手順の設計ルール（６）にしたがって、サーバＤ５のパラメータ「ＩＰ」に「ｓｔａｔｉｃ」が割り当てられる。
【００６５】
これにより、パラメータ生成部１４は、データセンタＤに新たなサーバＤ５が増える場合、設計手順にしたがって、パラメータを生成することができ、新たなサーバＤ５に設定することができる。
【００６６】
次に、データセンタＤの設計方針が変わる場合のパラメータ生成部による処理を、図１３Ａおよび図１３Ｂを参照して説明する。図１３Ａおよび図１３Ｂは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図である。なお、全てのサーバについてパラメータ「ＬＡＮＧ」の値を「ｅｎ」とするように、設計方針が変わる場合とする。また、パラメータ生成部による処理は、図１０Ｄに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Ｒｏｌｅ」と「ｎａｍｅｓｅｒｖｅｒ」であるとする。
【００６７】
図１３Ａに示すように、設計方針が変わったパラメータ「ＬＡＮＧ」をマニュアル入力パラメータとすべく、設計手順の中でパラメータ「ＬＡＮＧ」に値を定義する設計ルール（１），（２）がスキップされる。設計ルールのスキップは、例えば管理者によって行われる。すなわち、設計手順の中で設計ルール（１），（２）をはずした設計手順が用いられる。
【００６８】
図１３Ｂ上段に示すように、パラメータ生成部１４は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバＤ１〜Ｄ４に対する、マニュアル入力パラメータ「Ｒｏｌｅ」、「ｎａｍｅｓｅｒｖｅｒ」に関する処理は、図１１中段の説明と同様であるので、その説明を省略する。そして、パラメータ生成部１４は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。ここでは、設計手順の中でパラメータ「ＬＡＮＧ」に値を定義する設計ルール（１），（２）がスキップされるので、生成できていない箇所の内、順序が最も早いパラメータは「ＬＡＮＧ」である。パラメータ生成部１４による依頼の結果、設計方針が変わったパラメータ「ＬＡＮＧ」に入力された値「ｅｎ」が割り当てられる。
【００６９】
図１３Ｂ下段に示すように、パラメータ生成部１４は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、各サーバに対するパラメータ「ＬＡＮＧ」の値が全て「ｅｎ」であるので、図１３Ａに示す設計手順の設計ルール（４）にしたがって、パラメータ「ＵＴＣ」に「ｔｒｕｅ」が割り当てられる。続いて、設計手順の設計ルール（６）にしたがって、パラメータ「ＩＰ」に「ｓｔａｔｉｃ」が割り当てられる。
【００７０】
これにより、パラメータ生成部１４は、設計方針が変わった場合でも、設計手順にしたがって、パラメータを生成することができ、設計方針が変わった対象システム２に設定することができる。
【００７１】
次に、新しいパラメータが増える場合のパラメータ生成部による処理を、図１４を参照して説明する。図１４は、新しいパラメータが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部による処理は、図１０Ｄに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Ｒｏｌｅ」、「ｎａｍｅｓｅｒｖｅｒ」および新しいパラメータである「ＯＳ  ｖｅｒｓｉｏｎ」であるとする。
【００７２】
図１４上段に示すように、データセンタＤに搭載されるサーバＤ１〜Ｄ４に対して、まだパラメータが生成されていない。
【００７３】
図１４中段に示すように、パラメータ生成部１４は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバＤ１〜Ｄ４に対するマニュアル入力パラメータ「Ｒｏｌｅ」，「ｎａｍｅｓｅｒｖｅｒ」の処理は、図１１中段の説明と同様であるので、その説明を省略する。そして、サーバＤ１〜Ｄ４に対して新しいマニュアル入力パラメータ「ＯＳ  ｖｅｒｓｉｏｎ」に入力された値「ＣｅｎｔＯＳ  ２．１」が割り当てられる。
【００７４】
図１４下段に示すように、パラメータ生成部１４は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、サーバＤ１〜Ｄ４に対するパラメータ「ＬＡＮＧ」，「ＵＴＣ」，「ＩＰ」の値が、それぞれ設計手順にしたがって生成される。サーバＤ１〜Ｄ４に対する処理は、図１１下段の説明と同様であるので、その説明を省略する。
【００７５】
これにより、パラメータ生成部１４は、新しいパラメータが増える場合でも、設計手順にしたがって、パラメータを生成することができ、新しいパラメータを含めて対象システム２に設定することができる。
【００７６】
［設計ルール生成部の処理手順］
次に、設計ルール生成部の処理手順を、図１５を参照して説明する。図１５は、設計ルール生成部の処理手順を示すフローチャートである。なお、対象システム２にパラメータを設定する旨の要求が設計ルール生成部１２によって受け付けられたとする。ここでは、対象システム２は、データセンタであるとする。
【００７７】
設計ルール生成部１２のクラスタリング部１２１は、教師データ２１に対してクラスタリングを行い、クラスタ（設計ルール）を生成する（ステップＳ１１）。すなわち、クラスタリング１２１は、クラスタリング手法を用いて、教師データ２１から設計単位、ここではデータセンタ単位の共通部分を特定し、クラスタリング結果から設計ルールを生成する。
【００７８】
そして、設計ルール生成部１２のパラメータ判別部１２２は、教師データ２１に含まれる全てのパラメータの中で、設計単位内、ここではデータセンタ単位内において固有の値を持つパラメータを抽出し、マニュアル入力として判別する（ステップＳ１２）。パラメータ判別部１２２は、教師データ２１に含まれる全てのパラメータの中で、設計単位間、ここではデータセンタ単位間において固有の値を持つパラメータを抽出し、マニュアル入力として判別する（ステップＳ１３）。
【００７９】
そして、設計ルール生成部１２のパラメータ判別部１２２は、マニュアル入力パラメータとクラスタ（設計ルール）を設計手順生成部１３に出力する（ステップＳ１４）。
【００８０】
［設計手順生成部の処理手順］
次に、設計手順生成部の処理手順を、図１６を参照して説明する。図１６は、設計手順生成部の処理手順を示すフローチャートである。なお、パラメータ判別部１２２からマニュアル入力パラメータとクラスタ（設計ルール）が受け付けられたとする。
【００８１】
設計手順生成部１３は、パラメータ判別部１２２から受け付けられた全てのクラスタ（設計ルール）の中で、マニュアル入力のみで条件を満たすクラスタを特定する（ステップＳ２１）。そして、設計手順生成部１３は、条件を満たすクラスタを１つ以上特定できたか否かを判定する（ステップＳ２２）。条件を満たすクラスタを１つ以上特定できたと判定した場合（ステップＳ２２；Ｙｅｓ）、設計手順生成部１３は、特定されたクラスタの条件および定義を設定順序リスト２２に記録する（ステップＳ２３）。なお、設計手順生成部１３は、以降の検査では、特定されたクラスタの定義を既知の情報として扱うこととする。
【００８２】
続いて、設計手順生成部１３は、特定されたクラスタを以降の検査対象から除外する（ステップＳ２４）。特定されたクラスタは、設定順序リスト２２に記録されたことで、既に順序に組み込まれたからである。そして、設計手順生成部１３は、検査対象となるクラスタが存在するか否かを判定する（ステップＳ２５）。検査対象となるクラスタが存在すると判定した場合（ステップＳ２５；Ｙｅｓ）、設計手順生成部１３は、既知の定義とマニュアル入力のみで条件を満たすクラスタを特定し（ステップＳ２６）、ステップＳ２２へ移行する。
【００８３】
ステップＳ２２では、条件を満たすクラスタを１つも特定できなかったと判定した場合（ステップＳ２２；Ｎｏ）、設計手順生成部１３は、再帰的クラスタリングアルゴリズムを実行する（ステップＳ２７）。そして、設計手順生成部１３は、再帰的クラスタリングアルゴリズムによって処理された結果、検査対象のクラスタがマニュアル入力の必要なクラスタであるか否かを判定する（ステップＳ２８）。マニュアル入力の必要なクラスタであると判定した場合（ステップＳ２８；Ｙｅｓ）、設計手順生成部１３は、当該クラスタに対するマニュアル入力を依頼すべく、ステップＳ２６へ移行する。一方、マニュアル入力の必要なクラスタでないと判定した場合（ステップＳ２８；Ｎｏ）、設計手順生成部１３は、当該クラスタを記録すべく、ステップＳ２３へ移行する。なお、再帰的クラスタリングアルゴリズムの処理手順は、図１７で後述する。
【００８４】
ステップＳ２５では、設計手順生成部１３は、検査対象となるクラスタが存在しないと判定した場合（ステップＳ２５；Ｎｏ）、設定順序リスト２２に記録された順にクラスタの条件および定義を並べ、設計手順として出力する（ステップＳ２９）。引き続き、処理は、パラメータ生成部１３へ移行する。
【００８５】
［再帰的クラスタリングアルゴリズムの処理手順］
次に、図１６のＳ２７で示した再帰的クラスタリングアルゴリズムの処理手順を、図１７を参照して説明する。図１７は、再帰的クラスタリングアルゴリズムの処理手順を示すフローチャートである。
【００８６】
設計手順生成部１３は、検査対象のクラスタ（設計ルール）で循環参照のクラスタがあるか否かを判定する（ステップＳ３１）。例えば、設計手順生成部１３は、条件があと１つで満たされるクラスタの集合を抽出する。そして、設計手順生成部１３は、クラスタの集合の中でいずれか２つのクラスタであって各定義が互いの条件に含まれる２つのクラスタの検出を試みる。
【００８７】
検査対象のクラスタで循環参照のクラスタがあると判定した場合（ステップＳ３１；Ｙｅｓ）、設計手順生成部１３は、循環参照しているパラメータを１つマスクし、残りのデータで再クラスタリングを実行する（ステップＳ３２）。例えば、設計手順生成部１３は、循環参照している２つのクラスタが定義するそれぞれのパラメータのどちらか一方のパラメータを教師データ２１から除外する。そして、設計手順生成部１３は、他方のパラメータに対するクラスタリング処理を、除外したパラメータ以外のパラメータを用いて再びクラスタリング部１２１に実行させる。そして、設計手順生成部１３は、ステップＳ３１に移行する。
【００８８】
一方、検査対象のクラスタで循環参照のクラスタがないと判定した場合（ステップＳ３１；Ｎｏ）、設計手順生成部１３は、検査対象のクラスタが既知の情報で条件を満たすか否かを判定する（ステップＳ３３）。ここでいう既知の情報とは、既に特定されたクラスタの定義と、マニュアル入力パラメータおよび入力された値とを意味する。そして、検査対象のクラスタが既知の情報で条件を満たすと判定した場合（ステップＳ３３；Ｙｅｓ）、検査対象のクラスタがマニュアル入力の必要でないクラスタであると判断し、元の処理へ戻る。一方、検査対象のクラスタが既知の情報で条件を満たさないと判定した場合（ステップＳ３３；Ｎｏ）、設計手順生成部１３は、検査対象のクラスタの定義が示すパラメータをマニュアル入力とする（ステップＳ３４）。すなわち、設計手順生成部１３は、検査対象のクラスタがマニュアル入力の必要であるクラスタであると判断し、元の処理へ戻る。
【００８９】
［パラメータ生成部の処理手順］
次に、パラメータ生成部の処理手順を、図１８を参照して説明する。図１８は、パラメータ生成部の処理手順を示すフローチャートである。なお、マニュアル入力パラメータ２３および設定手順リスト２２が生成されているとする。
【００９０】
パラメータ生成部１４は、マニュアル入力パラメータ２３に記憶されたパラメータに対して、マニュアル入力データを用いて値を設定する（ステップＳ４１）。そして、パラメータ生成部１４は、設定手順リスト２２に記憶された設定手順を順々に実行し、条件に当てはまる設定箇所を特定する（ステップＳ４２）。
【００９１】
そして、パラメータ生成部１４は、特定した設定箇所に既に値が入力されているか否かを判定する（ステップＳ４３）。特定した設定箇所に既に値が入力されていると判定した場合（ステップＳ４３；Ｙｅｓ）、パラメータ生成部１４は、特定した設定箇所をスキップして次の手順に進む（ステップＳ４４）。そして、パラメータ生成部１４は、ステップＳ４６に移行する。
【００９２】
一方、特定した設定箇所に未だ値が入力されていないと判定した場合（ステップＳ４３；Ｎｏ）、パラメータ生成部１４は、クラスタの定義を設定箇所に設定し、次の手順に進む（ステップＳ４５）。そして、パラメータ生成部１４は、ステップＳ４６に移行する。
【００９３】
ステップＳ４６では、パラメータ生成部１４は、次の手順が存在するか否かを判定する（ステップＳ４６）。次の手順が存在すると判定した場合（ステップＳ４６；Ｙｅｓ）、パラメータ生成部１４は、次の手順の処理をすべく、ステップＳ４２に移行する。一方、次の手順が存在しないと判定した場合（ステップＳ４６；Ｎｏ）、パラメータ生成部１４は、終了検査へ進む。
【００９４】
［終了検査の処理手順］
次に、パラメータ生成部１４による終了検査の処理手順を、図１９を参照して説明する。図１９は、終了検査の処理手順を示すフローチャートである。
【００９５】
パラメータ生成部１４は、未だ設定できていない箇所が存在するか否かを判定する（ステップＳ５１）。未だ設定できていない箇所が存在すると判定した場合（ステップＳ５１；Ｙｅｓ）、パラメータ生成部１４は、設定できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を管理者に依頼する（ステップＳ５２）。そして、パラメータ生成部１４は、ステップＳ４１に移行する。
【００９６】
一方、未だ設定できていない箇所が存在しないと判定した場合（ステップＳ５１；Ｎｏ）、パラメータ生成部１４は、処理を終了する。
【００９７】
［実施例の効果］
上記実施例によれば、パラメータ設定支援装置１は、過去に設計された設計対象である対象システム２を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を対象システム２毎に記憶部１１に記憶する。そして、パラメータ設定支援装置１は、記憶部１１に記憶された対応情報を用いて、対象システム２間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示す設計ルールを複数生成する。そして、パラメータ設定支援装置１は、マニュアル入力されたパラメータの値と、複数生成した設計ルールとに基づいて、設計ルールを実行する設計手順を生成する。かかる構成によれば、パラメータ設定支援装置１は、設計ルールおよび設計手順を自動的に生成するので、生成した設計手順を用いて新たな対象システム２におけるパラメータに適正な値を設定できる。すなわち、パラメータ設定支援装置１は、新たな対象システム２における設計を自動で行うことが可能となる。
【００９８】
また、上記実施例によれば、パラメータ設定支援装置１は、マニュアル入力のパラメータおよび当該パラメータに入力された値を用いて条件が満たされる設計ルールを特定する。そして、パラメータ設定支援装置１は、特定した設計ルールを設計手順として生成する。そして、パラメータ設定支援装置１は、特定した設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定し、特定した設計ルールを設計手順として生成する。かかる構成によれば、パラメータ設定支援装置１は、設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定することで、設計ルールを実行する設計手順を容易に生成することができる。
【００９９】
また、上記実施例によれば、パラメータ設定支援装置１は、マニュアル入力のパラメータおよび当該パラメータに入力された値、または／および特定した設計ルールの定義を用いて条件が満たされない設計ルールを複数抽出する。そして、パラメータ設定支援装置１は、複数抽出した設計ルールの中でいずれか２つの設計ルールであって各定義が互いの条件に含まれる２つの設計ルールを検出する。そして、パラメータ設定支援装置１は、検出した２つの設計ルールのどちらか一方の定義に含まれるパラメータを除外したうえで、他方の定義に含まれるパラメータに対して設計ルールを生成する処理を再び実行する。そして、パラメータ設定支援装置１は、実行して得られた設計ルールを用いて、設計手順を生成する。かかる構成によれば、パラメータ設定支援装置１は、条件が満たされない設計ルールがあっても、各定義が互いの条件に含まれる設計ルールのどちらか一方の定義に含まれるパラメータを除外し、他方の定義に含まれるパラメータに対して設計ルールを再生成する。この結果、パラメータ設定支援装置１は、再生成された設計ルールから設計手順を生成することが可能になる。
【０１００】
また、上記実施例によれば、パラメータ設定支援装置１は、生成された設計手順を用いて、新たな設計対象である対象システム２の設計に用いられるパラメータを設定する。かかる構成によれば、パラメータ設定支援装置１は、新たな設計対象である対象システム２の設計に用いられるパラメータを自動的に設定することができる。この結果、パラメータ設定支援装置１は、システム構築者の対象システム２における設計負担を減らすことができる。
【０１０１】
［その他］
なお、パラメータ設定支援装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した設計ルール生成部１２と、設計手順生成部１３などの各機能を搭載することによって実現することができる。
【０１０２】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クラスタリング部１２１とパラメータ判別部１２２とを１個の部として統合しても良い。一方、設計手順生成部１３を、設計ルールの定義によって条件が満たされる場合の処理部と設計ルールの定義によって条件が満たされない場合の処理部とに分散しても良い。また、記憶部１１をパラメータ設定支援装置１の外部装置に記憶するようにしても良いし、記憶部１１を記憶した外部装置をパラメータ設定支援装置１とネットワーク経由で接続するようにしても良い。
【０１０３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示したパラメータ設定支援装置１と同様の機能を実現するパラメータ設定支援プログラムを実行するコンピュータの一例を説明する。図２０は、パラメータ設定支援プログラムを実行するコンピュータの一例を示す図である。
【０１０４】
図２０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１０５】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、パラメータ設定支援プログラム２０５ａおよびパラメータ設定支援関連情報２０５ｂを記憶する。
【０１０６】
ＣＰＵ２０３は、パラメータ設定支援プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、パラメータ設定支援装置１の各機能部に対応する。パラメータ設定支援関連情報２０５ｂは、教師データ２１、設定順序リスト２２およびマニュアル入力パラメータ２３に対応する。そして、例えばリムーバブルディスク２１１が、教師データ２１などの各情報を記憶する。
【０１０７】
なお、パラメータ設定支援プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらからパラメータ設定支援プログラム２０５ａを読み出して実行するようにしても良い。
【０１０８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
処理をコンピュータに実行させることを特徴とするパラメータ設定支援プログラム。
【０１１０】
（付記２）前記手順を生成する処理は、マニュアル入力されたパラメータの値を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成し、特定したルールの定義を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成する処理を繰り返すことで前記手順を生成する
処理をコンピュータに実行させることを特徴とする付記１に記載のパラメータ設定支援プログラム。
【０１１１】
（付記３）前記手順を生成する処理は、マニュアル入力されたパラメータの値および特定したルールの定義を用いて条件が満たされないルールを複数抽出し、複数抽出したルールの中でいずれか２つのルールであって各定義が互いの条件に含まれる２つのルールを検出し、検出した２つのルールのどちらか一方の定義に関するパラメータを除外したうえで、他方の定義に関するパラメータに対して前記ルールを生成する処理を再び実行し、実行して得られたルールを用いて、前記手順を生成する
処理をコンピュータに実行させることを特徴とする付記２に記載のパラメータ設定支援プログラム。
【０１１２】
（付記４）前記手順を生成する処理によって生成された手順を用いて、新たな設計対象の設計に用いられるパラメータを設定する
処理をコンピュータに実行させることを特徴とする付記３に記載のパラメータ設定支援プログラム。
【０１１３】
（付記５）過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶する記憶部と、
前記記憶部によって記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成するルール生成部と、
マニュアル入力されたパラメータの値と、前記ルール生成部によって複数生成されたルールとに基づいて、前記ルールを実行する手順を生成する手順生成部と
を有することを特徴とするパラメータ設定支援装置。
【０１１４】
（付記６）コンピュータが、
過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
各処理を実行することを特徴とするパラメータ設定支援方法。
【符号の説明】
【０１１５】
１  パラメータ設定支援装置
２  対象システム
１１  記憶部
１２  設計ルール生成部
１２１  クラスタリング部
１２２  パラメータ判別部
１３  設計手順生成部
１４  パラメータ生成部
２１  教師データ
２２  設定順序リスト
２３  マニュアル入力パラメータ
【図１】
2014099059.tif 000003
【図２】
2014099059.tif 000004
【図３】
2014099059.tif 000005
【図４Ａ】
2014099059.tif 000006
【図４Ｂ】
2014099059.tif 000007
【図５Ａ】
2014099059.tif 000008
【図５Ｂ】
2014099059.tif 000009
【図６】
2014099059.tif 000010
【図７】
2014099059.tif 000011
【図８Ａ】
2014099059.tif 000012
【図８Ｂ】
2014099059.tif 000013
【図９Ａ】
2014099059.tif 000014
【図９Ｂ】
2014099059.tif 000015
【図１０Ａ】
2014099059.tif 000016
【図１０Ｂ】
2014099059.tif 000017
【図１０Ｃ】
2014099059.tif 000018
【図１０Ｄ】
2014099059.tif 000019
【図１１】
2014099059.tif 000020
【図１２Ａ】
2014099059.tif 000021
【図１２Ｂ】
2014099059.tif 000022
【図１３Ａ】
2014099059.tif 000023
【図１３Ｂ】
2014099059.tif 000024
【図１４】
2014099059.tif 000025
【図１５】
2014099059.tif 000026
【図１６】
2014099059.tif 000027
【図１７】
2014099059.tif 000028
【図１８】
2014099059.tif 000029
【図１９】
2014099059.tif 000030
【図２０】
2014099059.tif 000031