[制御装置の構成]
図1は、実施例に係る制御装置の構成を示す機能ブロック図である。かかる制御装置1は、データセンタやデータセンタに搭載されるサーバ等の設計単位に応じた設計の際に用いられる設計ルールを変更する制御を行う。ここでいう設計単位とは、例えば、データセンタ単位であったり、サーバ単位であったりする。制御装置1は、設計単位がデータセンタ単位である場合、例えばクラウドシステム内のデータセンタについて、使用環境の変化があったり、仕様変更があったりした際に、既に生成された設計ルールを自動で変更する。制御装置1は、設計単位がサーバ単位である場合、例えばデータセンタ内の物理サーバについて、使用環境の変化があったり、仕様変更に伴う交換があったり、増設があったりした際に、既に生成された設計ルールを自動で変更する。設計ルールとは、設計に関わるパラメータの値を設定するルールである。すなわち、設計ルールは、例えば環境設定ファイル(configuration file)に設定されるパラメータの値を設定するルールである。
制御装置1は、設計単位がデータセンタ単位である場合、データセンタについて、過去に仕様が変更された際に変更された仕様の変更情報およびパラメータに設定された値の変更情報を用いて、相関関係にある仕様とパラメータを抽出する。そして、制御装置1は、抽出した仕様とパラメータの変更傾向を変更パターンとして生成する。また、制御装置1は、設計単位がサーバ単位である場合、データセンタに搭載されるサーバについて、過去に仕様が変更された際に変更された仕様の変更情報およびパラメータに設定された値の変更情報を用いて、相関関係にある仕様とパラメータを抽出する。そして、制御装置1は、抽出した仕様とパラメータの変更傾向を変更パターンとして生成する。以降では、一例として、設計単位がデータセンタ2である場合の制御装置1について詳細に説明する。
図1に示すように、制御装置1は、記憶部11と、制御部12とを有する。
記憶部11は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部11は、仕様情報111、パラメータ情報112、変更前の設計ルール113および変更後の設計ルール114を有する。
仕様情報111とは、例えばデータセンタの性能に関する情報であり、一例として、NIC(Network Interface Card)の情報、物理サーバに搭載されるメモリの情報、物理サーバに配備される仮想マシン(VM:Virtual Machine)の数が挙げられる。また、データセンタに配備される物理サーバの数、データセンタに配備されるVMの総数、CPUの情報およびHDDの情報が挙げられる。なお、仕様情報111には、CPUのアーキテクチャの情報や機種の情報等の文字列で表される情報も含まれるが、ここでは、文字列で表される情報を扱わないものとする。すなわち、仕様情報111は、数値で表される情報を扱うものとする。
ここで、仕様情報111のデータ構造を、図2を参照して説明する。図2は、仕様情報のデータ構造の一例を示す図である。図2に示すように、仕様情報111は、仕様項目111aと値111bとを対応付けて記憶する。仕様項目111aは、仕様項目の項目名を表す。値111bは、仕様項目111aの値を表す。一例として、仕様項目111aが「NIC」である場合、値111bとして「1GbE」を記憶している。なお、仕様項目111aには、値111bが数値となる仕様項目が設定される。
図1に戻って、パラメータ情報112とは、設計に関わるパラメータの情報であり、パラメータおよびその値を含む。パラメータ情報112は、データセンタ内の各物理サーバに設定される。
ここで、パラメータ情報112のデータ構造を、図3を参照して説明する。図3は、パラメータ情報のデータ構造の一例を示す図である。図3に示すように、パラメータ情報112は、パラメータ112aと値112bとを対応付けて記憶する。パラメータ112aは、パラメータの名称を表す。値112bは、パラメータ112aの値を表す。一例として、パラメータ112aが「vif-rate-default」である場合、値112bとして「‘950Mb/s’」を記憶している。
図1に戻って、仕様情報111およびパラメータ情報112は、トリガが起きる度に履歴としてそれぞれ記憶部11に記録される。トリガには、例えば、データセンタが新たに構築されるタイミング、既に構築されているデータセンタ内のサーバ等が性能アップされるタイミング、既に構築されているデータセンタ内にサーバ等が増設されるタイミングが挙げられる。一例として、データセンタが新たに構築されるタイミングをトリガとする場合、新たに構築されるデータセンタの仕様情報111およびパラメータ情報112が記憶部11に記録される。既に構築されているデータセンタ内のサーバ等が性能アップされるタイミングをトリガとする場合、性能アップされるサーバを含むデータセンタの仕様情報111およびパラメータ情報112が記憶部11に記録される。
設計ルール113,114は、設計に関わるパラメータの値をデータセンタに設定するルールである。設計ルール113は、トリガのタイミングで記録された設計ルールであり、変更前の設計ルールというものとする。設計ルール114は、後述する設計ルール変更部124によって変更前の設計ルールが変更された後の設計ルールであり、変更後の設計ルールというものとする。
ここで、設計ルール113,114の一例について、図4を参照して説明する。図4は、設計ルールの一例を示す図である。図4に示すように、設計ルール113,114には、条件a1と定義a2が含まれる。条件a1には、設計ルールの条件が表される。定義a2には、条件a1が満たされた場合に設定されるパラメータとその値とが表される。一例として、条件a1が「全てのサーバ」である場合、定義a2として「vir-rate-default=‘950Mb/s’」を記憶している。後述する設計ルール変更部124は、環境変化や仕様変更に応じて、定義a2で表されるパラメータの値を変更する。
制御部12は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部12は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路の電子回路に対応する。または、制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。さらに、制御部12は、関係性抽出部121、変更パターン生成部122、変更ルール生成部123、設計ルール変更部124および設計ルール適用部125を有する。
関係性抽出部121は、過去に変更されたデータセンタの仕様項目に関する変更情報とデータセンタに設定されるパラメータに関する変更情報とから、仕様項目とパラメータとの相関関係にある変更情報の組み合わせを抽出する。ここでいう仕様項目に関する変更情報のことを「仕様項目変更情報」といい、「仕様項目変更情報」は、仕様項目毎に存在する。「仕様項目変更情報」には、仕様項目における値の変更倍率が含まれる。パラメータに関する変更情報のことを「パラメータ変更情報」といい、「パラメータ変更情報」は、パラメータ毎に存在する。「パラメータ変更情報」には、パラメータにおける値の変更倍率が含まれる。
例えば、関係性抽出部121は、各変更について、変更前後の2つの仕様情報111間の同じ仕様項目同士の変更倍率を仕様項目毎に算出する。そして、関係性抽出部121は、2つの仕様情報111間で仕様項目毎に仕様項目変更情報を生成する。また、関係性抽出部121は、各変更について、変更前後の2つのパラメータ情報112間の同じパラメータ同士の変更倍率をパラメータ毎に算出する。そして、関係性抽出部121は、2つのパラメータ情報112間でパラメータ毎にパラメータ変更情報を生成する。
そして、関係性抽出部121は、複数の変更の変更情報における仕様項目変更情報とパラメータ変更情報とから、仕様項目変更情報と相関関係にあるパラメータ変更情報の組み合わせを抽出する。一例として、関係性抽出部121は、各変更の変更情報について、仕様項目変更情報とパラメータ変更情報との総当たりの組み合わせを抽出する。そして、関係性抽出部121は、抽出した組み合わせのうち、変更倍率がどちらも1でない組み合わせを「関係性あり」として抽出する。また、関係性抽出部121は、抽出した組み合わせのうち、変更倍率のどちらか一方が1である組み合わせを「関係性なし」として抽出する。そして、関係性抽出部121は、抽出した組み合わせの中で、いずれかの変更の変更情報に「関係性なし」が存在しない組み合わせを「関係性あり」の組み合わせとして抽出する。また、関係性抽出部121は、抽出した組み合わせのなかで、いずれかの変更の変更情報に「関係性なし」が存在する組み合わせを「関係性なし」の組み合わせとして除外する。なお、関係性抽出部121は、変更倍率がどちらも1である組み合わせを、関係性があるか否かを判断できない「不明」の組み合わせとして無視する。
変更パターン生成部122は、関係性抽出部121によって抽出された組み合わせ毎に、仕様項目変更情報とパラメータ変更情報の関係式を算出する。言い換えれば、変更パターン生成部122は、関係性抽出部121によって抽出された組み合わせ毎に、各変更に共通する傾向を変更パターンとして生成する。ここで、仕様項目の変更に伴うパラメータの変更の傾向について、図5を参照して説明する。図5は、仕様項目の変更に伴うパラメータの変更の傾向を示す図である。図5では、X軸が仕様項目の値の変更倍率であり、Y軸がパラメータの値の変更倍率である。図5に示すように、仕様項目の値が変更されると、変更された仕様項目に対応するパラメータの値も変更される。ここでは、仕様項目とパラメータとは、線形的に変化するものとする。図5では、例えば仕様項目としてのCPU性能が3倍に変更されたら、対応するパラメータの値も3倍になることが示されている。つまり、Y=aX(aは、ここでは「1」)の一次関数で示すことができる。なお、一次関数は、Y=aXのみならず、Y=aX+bであっても良い。
図1に戻って、例えば、変更パターン生成部122は、関係性抽出部121によって抽出された組み合わせ毎に、各変更の変更情報に含まれる仕様項目とパラメータの変更倍率の変更比率を算出する。そして、変更パターン生成部122は、1つずつ組み合わせを選択し、選択した組み合わせについて、各変更の変更比率が同じであるか否かを判定する。そして、変更パターン生成部122は、選択した組み合わせについて、各変更の変更比率が同じであると判定した場合に、変更比率を元に、仕様項目変更情報とパラメータ変更情報の一次関数を算出する。そして、変更パターン生成部122は、算出した一次関数により仕様変更情報に対するパラメータ変更情報の変更パターンを生成する。一例として、組み合わせとして仕様項目が「NIC」、パラメータが「vir-rate-default」であり、一次関数がY=Xである場合、変更パターンは、「IF NIC=n倍 THEN vir-rate-default=n倍」と生成される。
そして、変更パターン生成部122は、選択した組み合わせについて、各変更の変更比率が同じでないと判定した場合に、後述する変更ルールを生成させる。
変更ルール生成部123は、選択された組み合わせについて、変更ルールを生成する。すなわち、変更パターン生成部122は、選択された組み合わせについて、仕様項目の値が変更されたら、パラメータの値も変更する必要があるというルール(変更ルール)を生成する。つまり、「関係性あり」の組み合わせであるが、変化する傾向が一定でない組み合わせでは、変更パターンが生成されない。そこで、変更ルール生成部123は、変更パターンが生成されない、「関係性あり」の組み合わせについて、変更ルールを生成する。
例えば、仕様項目間にも同時に変更される傾向があると仮定する。この仮定の下、変更ルール生成部123は、各変更の仕様項目変更情報を用いて、変更倍率がどちらも1でない2つの仕様項目を抽出する。すなわち、変更ルール生成部123は、仕様項目間で同時に変更される傾向を持つ2つの仕様項目を抽出する。そして、変更ルール生成部123は、抽出した2つの仕様項目のうち一方の仕様項目とパラメータとの組み合わせが変更パターンを有する組み合わせであれば、当該パラメータと他方の仕様項目とを用いて変更ルールを生成する。なお、変更ルールは、当該パラメータと他方の仕様項目との関係で、設計ルールが変更されているか否かのチェックに用いられる。
設計ルール変更部124は、変更パターン生成部122によって生成された変更パターンと今回変更される仕様項目の仕様項目変更情報を用いて、変更パターンに対応するパラメータの値を設定する設計ルールを変更する。例えば、設計ルール変更部124は、変更パターン生成部122によって生成された変更パターンに対応するパラメータの値を設定する設計ルール113を記憶部11から読み出す。そして、設計ルール変更部124は、変更パターン生成部122によって生成された変更パターンと今回変更される仕様項目の仕様項目変更情報を用いて、読み出した設計ルール113を変更し、変更後の設計ルール114を記憶部11に記録する。
また、設計ルール変更部124は、変更ルール生成部123によって生成された変更ルールを用いて、変更ルールに該当する仕様項目とパラメータとの関係で、変更後の設計ルール114が変更されたか否かをチェックする。
設計ルール適用部125は、変更後の設計ルール114を適用し、設計ルール114に基づいて、パラメータを自動設計する。
次に、実施例に係る関係性抽出部121について、図6A〜図6Cを参照して説明する。図6A〜図6Cは、実施例に係る関係性抽出部を説明する図である。図6Aに示すように、トリガ毎に、仕様情報111およびパラメータ情報112が記憶部11に記録されているとする。そして、各変更について、関係性抽出部121は、変更前後の仕様情報111間の同じ仕様項目同士の変更倍率、変更前後のパラメータ情報112間の同じパラメータ同士の変更倍率を算出する。
図6B左に示すように、仕様項目毎の変更倍率が示されている。すなわち、例えば変更1(図6A参照)について、仕様項目毎の仕様項目変更情報が示されている。図6B右に示すように、パラメータ毎の変更倍率が示されている。すなわち、例えば変更1(図6A参照)について、パラメータ毎のパラメータ変更情報が示されている。このような状況の下で、関係性抽出部121は、例えば変更1の変更情報について、性能項目変更情報とパラメータ変更情報との総当たりの組み合わせを抽出する。ここでは、一例として、仕様項目が「NIC」である場合、パラメータ「vif-rate-default」、「vcpu-set」、「mem-set」、・・、「TASK_WORKER_COUNT」それぞれと組み合わせる。仕様項目が「Memory(GB)/S」である場合、パラメータ「vif-rate-default」、「vcpu-set」、「mem-set」、・・、「TASK_WORKER_COUNT」それぞれと組み合わせる。
そして、関係性抽出部121は、抽出した組み合わせのうち、変更倍率がどちらも1でない組み合わせを「関係性あり」として抽出する。ここでは、一例として、「NIC」と「vif-rate-default」の組み合わせ、「NIC」と「vcpu-set」の組み合わせ、「NIC」と「internet_conn_share_num」の組み合わせが「関係性あり」として抽出される。
そして、関係性抽出部121は、抽出した組み合わせのうち、変更倍率のどちらか一方が1である組み合わせを「関係性なし」として抽出する。ここでは、一例として、「NIC」と「mem−set」の組み合わせ、「NIC」と「net:max-retries」の組み合わせ、「NIC」と「TASK_WORKER_COUNT」の組み合わせが「関係性なし」として抽出される。
図6Cに示すように、関係性抽出部121によって抽出された組み合わせにおける変更毎の変更倍率が示されている。上段の組み合わせは、仕様項目が「NIC」、パラメータが「vif-rate-default」の組み合わせである。上段の組み合わせでは、変更1で変更倍率がそれぞれ10倍であり、「関係性あり」の組み合わせである。変更3で変更倍率がそれぞれ2倍であり、「関係性あり」の組み合わせである。その他の変更2,4,5で変更倍率がそれぞれ1倍であり、「不明」の組み合わせである。この組み合わせでは、関係性抽出部121は、いずれの変更の変更情報にも「関係性なし」が存在しないので、「関係性あり」の組み合わせとして抽出する。
下段の組み合わせは、仕様項目が「CPU」、パラメータが「net:max-retries」の組み合わせである。下段の組み合わせでは、変更2で変更倍率がそれぞれ1.5倍であり、「関係性あり」の組み合わせである。変更4で仕様項目の変更倍率が2倍、パラメータの変更倍率が1倍であり、「関係性なし」の組み合わせである。その他の変更1,3,5で変更倍率がそれぞれ1倍であり、「不明」の組み合わせである。この組み合わせでは、関係性抽出部121は、変更4の変更情報に「関係性なし」が存在するので、この組み合わせを「関係性なし」の組み合わせとして除外する。
次に、実施例に係る変更パターン生成部122について、図7A〜図7Cを参照して説明する。図7A〜図7Cは、実施例に係る変更パターン生成部を説明する図である。図7A〜図7Cに示すように、関係性抽出部121によって抽出された「関係性あり」の組み合わせにおける変更毎の変更倍率が示されている。
図7Aで示される組み合わせは、仕様項目が「NIC」、パラメータが「vif-rate-default」の組み合わせである。この組み合わせでは、変更1で変更倍率がそれぞれ10倍であり、変更3で変更倍率がそれぞれ2倍であり、その他の変更2,4,5で変更倍率がそれぞれ1倍である。この組み合わせでは、変更パターン生成部122は、各変更の変更比率が同じであるので、変更比率を元にして、仕様項目の値をX軸、パラメータの値をY軸とした場合の一次関数を算出する。ここでは、Y=Xの一次関数が算出される。すなわち、各変更で同じ変化傾向があると推測される。したがって、変更パターン生成部122は、算出した一次関数により仕様変更情報に対するパラメータ変更情報の変更パターンを生成する。ここでは、一次関数がY=Xであるので、変更パターンは、「IF NIC=n倍 THEN vir-rate-default=n倍」と生成される。
図7Bで示される組み合わせは、仕様項目が「VM数」、パラメータが「mem-set」の組み合わせである。この組み合わせでは、変更2で変更倍率がそれぞれ1.5倍であるが、変更4で仕様項目の変更倍率が3倍、パラメータの変更倍率が2倍である。この組み合わせでは、変更パターン生成部122は、各変更の変更比率が同じでないので、仕様項目の値をX軸、パラメータの値をY軸とした場合の一次関数を算出できない。すなわち、各変更で異なる変化傾向があると推測される。したがって、変更パターン生成部122は、変更パターンを生成しないが、変更ルールを変更ルール生成部123に生成させる。
図7Cで示される組み合わせは、仕様項目が「CPU」、パラメータが「vcpu-set」の組み合わせである。この組み合わせでは、変更1で仕様項目の変更倍率が3倍、パラメータの変更倍率が1.5倍であり、変更3で仕様項目の変更倍率が6倍、パラメータの変更倍率が3倍であり、その他の変更2,4,5で変更倍率がそれぞれ1倍である。この組み合わせでは、変更パターン生成部122は、各変更の変更比率が同じであるので、変更比率を元にして、仕様項目の値をX軸、パラメータの値をY軸とした場合の一次関数を算出する。ここでは、Y=X/2の一次関数が算出される。すなわち、各変更で同じ変化傾向があると推測される。したがって、変更パターン生成部122は、算出した一次関数により仕様変更情報に対するパラメータ変更情報の変更パターンを生成する。ここでは、一次関数がY=X/2であるので、変更パターンは、「IF CPU=n倍 THEN vcpu-set=n/k倍(この例の場合k=2)」と生成される。
次に、実施例に係る変更ルール生成部123について、図8を参照して説明する。図8は、実施例に係る変更ルール生成部を説明する図である。図8左に示すように、仕様項目毎の変更倍率が示されている。すなわち、例えば変更1(図6A参照)について、仕様項目毎の仕様項目変更情報が示されている。図8右に示すように、パラメータ毎の変更倍率が示されている。すなわち、例えば変更1(図6A参照)について、パラメータ毎のパラメータ変更情報が示されている。ここでは、仕様項目としての「配備VM数」とパラメータとしての「mem-set」の組み合わせが「関係性あり」の組み合わせであるが、変化する傾向が一定でない組み合わせであるとする。
このような状況の下で、変更ルール生成部123は、各変更の仕様項目変更情報を用いて、変更倍率がどちらも1でない2つの仕様項目を抽出する。すなわち、変更ルール生成部123は、仕様項目間で同時に変更される傾向を持つ2つの仕様項目を抽出する。ここでは、「Memory(GB)/S」および「配備VN数」の2つの仕様項目が抽出されるとする。
そして、変更ルール生成部123は、抽出した2つの仕様項目のうち一方の仕様項目とパラメータとの組み合わせが変更パターンを有する組み合わせであれば、当該パラメータと他方の仕様項目とを用いて変更ルールを生成する。ここでは、仕様項目としての「Memory(GB)/S」とパラメータとしての「mem-set」との組み合わせが変更パターンを有する組み合わせであるとする。
すると、変更ルール生成部123は、当該パラメータ「mem-set」と他方の仕様項目「配備VM数」とを用いて変更ルールを生成する。ここでは、仕様項目「配備VM数」が変更されれば、パラメータ「mem-set」が変更されるという変更ルールが生成される。さらに、仕様項目「配備VM数」が1.5倍、すなわちプラスの方向に変更されれば、パラメータ「mem-set」が2倍、すなわちプラスの方向に変更されることから、変更ルールは、「IF 配備VM数=変更(+) THEN mem-set=変更(+)」と生成される。
次に、実施例に係る設計ルール変更部124について、図9A〜図9Gを参照して説明する。図9A〜図9Gは、実施例に係る設計ルール変更部を説明する図である。図9A、図9Bは、変更パターンを用いて設計ルールを変更する場合を説明する。図9C〜図9Gは、変更ルールを用いて該当する設計ルールが変更されているか否かをチェックする場合を説明する。
図9Aおよび図9Bには、仕様項目とパラメータとの組み合わせについて、変更パターン生成部122によって生成された変更パターンが示されている。図9Aに示すように、変更パターンは、「IF NIC=n倍 THEN vir-rate-default=n倍」である。ここで、例えば、データセンタが新たに構築された際に、仕様項目「NIC」が1GbEから10GbEに変更されたとする。変更パターンのnには、「10」が代入される。すると、設計ルール変更部124は、変更パターンを用いて、変更パターンに対応するパラメータの値を設定する設計ルールを変更する。ここでは、変更前の設計ルール113のパラメータ「vir-rate-default」の値が「950MB/s」(b1)である。変更パターンのパラメータ「vir-rate-default」の値の倍率は10倍になる。したがって、設計ルール変更部124は、変更パターンを用いて、パラメータ「vir-rate-default」の値を10倍の「9500MB/s」(c1)とする変更後の設計ルール114を作成する。
図9Bに示すように、変更パターンは、「IF NIC=n倍 THEN vir-rate-default=n/2倍」である。ここで、例えば、データセンタが新たに構築された際に、仕様項目「NIC」が1GbEから10GbEに変更されたとする。変更パターンのnには、「10」が代入される。すると、設計ルール変更部124は、変更パターンを用いて、変更パターンに対応するパラメータの値を設定する設計ルールを変更する。ここでは、変更前の設計ルール113のパラメータ「vir-rate-default」の値が「950MB/s」(b2)である。変更パターンのパラメータ「vir-rate-default」の値の倍率は5倍になる。したがって、設計ルール変更部124は、変更パターンを用いて、パラメータ「vir-rate-default」の値を5倍の「4750MB/s」(c2)とする変更後の設計ルール114を作成する。
図9Cに示すように、変更ルールは、「IF VM数=変更(+) THEN mem-set=変更(+)」である。設計ルール変更部124は、変更ルールを用いて、変更ルールに該当する仕様項目「VM数」とパラメータ「mem-set」との関係で、変更後の設計ルール114が変更されているか否かをチェックする。ここでは、例えば、データセンタが新たに構築された際に、仕様項目「VM数」が36個から54個に変更され、18個増加したとする。そして、変更ルールに該当する設計ルールについて、変更前の設計ルール113が「IF 全てのサーバ THEN mem-set=‘4096M’」であり、変更後の設計ルール114が「IF 全てのサーバ THEN mem-set=‘4096M’」である。すると、設計ルール変更部124は、仕様項目「VM数」がプラス方向に変更されているが、パラメータ「mem-set」の値が「4096M」でありプラス方向に変更されていないので、変更後の設計ルール114が変更されていないと判定する。一例として、設計ルール変更部124は、この設計ルールについて、“正方向へ変更する必要があります”という変更依頼を管理者に出力する。
図9Dに示すように、変更ルールは、「IF CPU=変更(+) THEN wait_time=変更(−)」である。設計ルール変更部124は、変更ルールを用いて、変更ルールに該当する仕様項目「CPU」とパラメータ「wait_time」との関係で、変更後の設計ルール114が変更されているか否かをチェックする。ここでは、例えば、データセンタが新たに構築された際に、仕様項目「CPU」の性能が1GHzから10GHzに上がったとする。そして、変更ルールに該当する設計ルールについて、変更前の設計ルール113が「IF 全てのサーバ THEN wait_time=‘1000m’」であり、変更後の設計ルール114が「IF 全てのサーバ THEN wait_time=‘1000m’」である。すると、設計ルール変更部124は、仕様項目「CPU」がプラス方向に変更されているが、パラメータ「wait_time」の値が「1000m」でありマイナス方向に変更されていないので、変更後の設計ルール114が変更されていないと判定する。一例として、設計ルール変更部124は、この設計ルールについて、“負方向へ変更する必要があります”という変更依頼を管理者に出力する。
図9Eに示すように、変更ルールは、「IF 配備SVR数=変更(−) THEN vcpu-set=変更(−)」である。設計ルール変更部124は、変更ルールを用いて、変更ルールに該当する仕様項目「配備SVR数」とパラメータ「vcpu-set」との関係で、変更後の設計ルール114が変更されているか否かをチェックする。ここでは、例えば、データセンタが新たに構築された際に、仕様項目「配備SVR数」が126から62に減少したとする。そして、変更ルールに該当する設計ルールについて、変更前の設計ルール113が「IF 全てのサーバ THEN vcpu-set=‘3’」であり、変更後の設計ルール114が「IF 全てのサーバ THEN vcpu-set=‘3’」である。すると、設計ルール変更部124は、仕様項目「配備SVR数」がマイナス方向に変更されているが、パラメータ「vcpu-set」の値が「3」でありマイナス方向に変更されていないので、変更後の設計ルール114が変更されていないと判定する。一例として、設計ルール変更部124は、この設計ルールについて、“負方向へ変更する必要があります”という変更依頼を管理者に出力する。
図9Fに示すように、変更ルールは、「IF 性能A=変更(−) THEN パラメータ1=変更(+)」である。設計ルール変更部124は、変更ルールを用いて、変更ルールに該当する仕様項目「性能A」とパラメータ「パラメータ1」との関係で、変更後の設計ルール114が変更されているか否かをチェックする。ここでは、例えば、データセンタが新たに構築された際に、仕様項目「性能A」が下がったとする。そして、変更ルールに該当する設計ルールについて、変更前の設計ルール113が「IF 全てのサーバ THEN パラメータ1=‘100’」であり、変更後の設計ルール114が「IF 全てのサーバ THEN パラメータ1=‘100’」である。すると、設計ルール変更部124は、仕様項目「性能A」がマイナス方向に変更されているが、パラメータ「パラメータ1」の値が「100」でありプラス方向に変更されていないので、変更後の設計ルール114が変更されていないと判定する。一例として、設計ルール変更部124は、この設計ルールについて、“正方向へ変更する必要があります”という変更依頼を管理者に出力する。
図9Gに示すように、変更ルールは、「IF VM数=変更(+) THEN mem-set=変更(+)」である。設計ルール変更部124は、変更ルールを用いて、変更ルールに該当する仕様項目「VM数」とパラメータ「mem-set」との関係で、変更後の設計ルール114が変更されているか否かをチェックする。ここでは、例えば、データセンタが新たに構築された際に、仕様項目「VM数」が36個から54個に変更され、18個増加したとする。そして、変更ルールに該当する設計ルールについて、変更前の設計ルール113が「IF 全てのサーバ THEN mem-set=‘4096M’」であり、変更後の設計ルール114が「IF 全てのサーバ THEN mem-set=‘6144M’」である。すると、設計ルール変更部124は、仕様項目「VM数」がプラス方向に変更され、パラメータ「mem-set」の値が「4096M」から「6144M」にプラス方向に変更されているので、変更後の設計ルール114が変更されていると判定する。そして、設計ルール変更部124は、この設計ルールについて、変更ルールどおりに変更されているので、変更依頼をしない。
[設計ルール変更処理の手順]
次に、設計ルール変更処理の手順を、図10Aおよび図10Bを参照して説明する。図10Aおよび図10Bは、実施例に係る設計ルール変更処理のフローチャートを示す図である。なお、例えば、新たにデータセンタ2が構築される場合に、過去に構築されたデータセンタと比較して仕様の変更があるものとする。
まず、関係性抽出部121は、設計ルールの変更要求があったか否かを判定する(ステップS11)。設計ルールの変更要求がなかったと判定した場合(ステップS11;No)、関係性抽出部121は、設計ルールの変更要求があると判定するまで、判定処理を繰り返す。
一方、設計ルールの変更要求があったと判定した場合(ステップS11;Yes)、関係性抽出部121は、各変更間で全ての仕様項目とパラメータの変更倍率を算出する(ステップS12)。例えば、関係性抽出部121は、各変更について、変更前後の2つの仕様情報111間の同じ仕様項目同士の変更倍率を仕様項目毎に算出する。変更毎且つ仕様項目毎に仕様項目変更情報が生成される。そして、関係性抽出部121は、各変更について、変更前後の2つのパラメータ情報112間の同じパラメータ同士の変更倍率をパラメータ毎に算出する。変更毎且つパラメータ毎にパラメータ変更情報が生成される。
そして、関係性抽出部121は、仕様項目とパラメータで変更倍率が1倍以外の組み合わせを、「関係性あり」として抽出する(ステップS13)。例えば、関係性抽出部121は、各変更の変更情報について、仕様項目変更情報とパラメータ変更情報との総当りの組み合わせを抽出する。そして、関係性抽出部121は、総当りの組み合わせのうち、変更倍率がどちらも1でない組み合わせを「関係性あり」として抽出する。
そして、関係性抽出部121は、仕様項目とパラメータで変更倍率が1倍を含む組み合わせを、「関係性なし」として抽出する(ステップS14)。例えば、関係性抽出部121は、関係性抽出部121は、総当りの組み合わせのうち、仕様項目変更情報とパラメータ変更情報の変更倍率のどちらか一方が1である組み合わせを「関係性なし」として抽出する。
続いて、関係性抽出部121は、抽出した組み合わせの中から1つの組み合わせを選択する(ステップS15)。
そして、関係性抽出部121は、選択した組み合わせのいずれかの変更情報の中に、「関係性なし」が存在するか否かを判定する(ステップS16)。選択した組み合わせのいずれかの変更情報の中に、「関係性なし」が存在すると判定した場合(ステップS16;Yes)、関係性抽出部121は、選択した組み合わせを「関係性なし」として除外する(ステップS17)。
一方、選択した組み合わせのいずれかの変更情報の中に、「関係性なし」が存在しないと判定した場合(ステップS16;No)、変更パターン生成部122は、選択した組み合わせの、各変更情報の変更比率が同じであるか否かを判定する(ステップS18)。選択した組み合わせの、各変更情報の変更比率が同じでないと判定した場合(ステップS18;No)、変更ルール生成部123は、仕様項目が変更されたらパラメータも変更すべきという変更ルールを生成する(ステップS19)。そして、変更ルール生成部123は、次の組み合わせを選択すべく、ステップS23に移行する。
一方、選択した組み合わせの、各変更情報の変更比率が同じであると判定した場合(ステップS18;Yes)、変更パターン生成部124は、変更比率を元に、仕様項目変更情報とパラメータ変更情報の一次関数を算出する(ステップS20)。そして、変更パターン生成部124は、一次関数により仕様項目変更情報に対するパラメータ変更情報の変更パターンを生成する(ステップS21)。
続いて、設計ルール変更部124は、生成された変更パターンと今回変更される仕様項目の仕様項目変更情報を元に、変更前の設計ルール113を変更する(ステップS22)。そして、設計ルール変更部124は、変更した設計ルールを変更後の設計ルール114として記憶部11に記録する。
そして、関係性抽出部121は、抽出した組み合わせを全て選択したか否かを判定する(ステップS23)。抽出した組み合わせを全て選択していないと判定した場合(ステップS23;No)、関係性抽出部121は、次の組み合わせを選択すべく、ステップS15に移行する。
一方、抽出した組み合わせを全て選択したと判定した場合(ステップS23;Yes)、設計ルール変更部124は、変更するべきパラメータをもつ設計ルールが変更されているか否かを判定する(ステップS24)。例えば、設計ルール変更部124は、変更ルール生成部123によって生成された変更ルールを用いて、変更ルールに該当する仕様項目とパラメータとの関係で、変更後の設計ルール114が変更されているか否かをチェックする。
変更するべきパラメータをもつ設計ルールが変更されていると判定した場合(ステップS24;Yes)、設計ルール変更部124は、設計ルール変更処理を終了する。
一方、変更するべきパラメータをもつ設計ルールが変更されていないと判定した場合(ステップS24;No)、設計ルール変更部124は、管理者に変更依頼を出力する(ステップS25)。そして、設計ルール変更部124は、設計ルール変更処理を終了する。
[実施例の効果]
上記実施例によれば、制御装置1は、過去に変更されたハードウェアの仕様項目に関する変更情報とハードウェアに設定されるパラメータに関する変更情報とから、仕様項目変更情報と相関関係にあるパラメータ変更情報との組み合わせを抽出する。そして、制御装置1は、抽出された組み合わせ毎に、仕様項目変更情報とパラメータ変更情報の関係式を算出する。そして、制御装置1は、算出された関係式により仕様項目変更情報に対するパラメータ変更情報の変更パターンを生成する。かかる構成によれば、制御装置1は、ハードウェアの仕様項目に関する変更があっても、生成した変更パターンを用いることで、仕様項目に関係するパラメータの値を自動で変更できる。
また、上記実施例によれば、制御装置1は、複数の変更時点の仕様項目変更情報とパラメータ変更情報とから、仕様項目変更情報と相関関係にあるパラメータ変更情報の組み合わせを抽出する。そして、制御装置1は、抽出された組み合わせ毎に、変更時点毎の仕様項目変更情報とパラメータ変更情報を用いて仕様項目変更情報とパラメータ変更情報の関係式を算出する。かかる構成によれば、複数の変更時点の仕様項目変更情報とパラメータ変更情報を用いて仕様項目変更情報とパラメータ変更情報の関係式を算出することで、精度良い変更パターンを生成できる。
また、上記実施例によれば、制御装置1は、複数の変更時点の、仕様項目に関する変更倍率を示す仕様項目変更情報とパラメータに関する変更倍率を示すパラメータ変更情報とから、変更倍率のどちらか一方が1である組み合わせを相関関係がないとして除外する。かかる構成によれば、制御装置1は、変更倍率のどちらか一方が1である組み合わせを相関関係がないとして除外していくことで、早期に変更パターンを生成できる。
また、上記実施例によれば、制御装置1は、抽出された組み合わせについて、仕様項目変更情報の変更倍率とパラメータ変更情報の変更倍率とから得られる変更比率が、複数の変更時点で同じである場合に、関係式を算出する。かかる構成によれば、制御装置1は、仕様項目変更情報とパラメータ変更情報の関係式を、確実に算出できる。
また、上記実施例によれば、制御装置1は、抽出された組み合わせについて、仕様項目変更情報の変更倍率とパラメータ変更情報の変更倍率とから得られる変更比率が、複数の変更時点で同じでない場合に、以下の処理を実行する。すなわち、制御装置1は、仕様項目変更情報に関する仕様項目の値が変更されればパラメータ変更情報に関するパラメータの値を変更する旨を依頼する。かかる構成によれば、制御装置1は、パラメータの値が変更されなかった場合のチェック機能としての役割を果たすことができる。
また、上記実施例によれば、制御装置1は、生成された変更パターンおよび今回変更される仕様項目の仕様項目変更情報を用いて、パラメータの設定に用いられる条件および定義を示す設計ルールを変更する。かかる構成によれば、制御装置1は、今回変更される仕様項目に関係するパラメータの値を設定する設計ルールを自動で変更できる。
[その他]
なお、実施例では、関係性抽出部121は、例えば、新たに構築されるデータセンタ2の仕様変更があったタイミングで、仕様項目とパラメータとの相関関係にある変更情報の組み合わせを抽出する。そして、変更パターン生成部122は、関係性抽出部121によって抽出された組み合わせ毎に、変更パターンを生成すると説明した。しかしながら、関係性抽出部121は、これに限定されず、仕様変更がされる前に、あらかじめ、仕様項目とパラメータとの相関関係にある変更情報の組み合わせを抽出し、変更パターン生成部122が、関係性抽出部121によって抽出された組み合わせ毎に、変更パターンを生成するようにしても良い。
また、実施例では、変更パターン生成部122は、関係性抽出部121によって抽出された組み合わせ毎に、各変更の変更情報に含まれる仕様項目とパラメータの変更倍率の変更比率を算出する。そして、変更パターン生成部122は、1つずつ組み合わせを選択し、選択した組み合わせについて、各変更の変更比率が同じである場合に、変更比率を元に、仕様項目変更情報とパラメータ変更情報の一次関数を算出すると説明した。しかしながら、変更パターン生成部122は、これに限定されず、複数の変更における変更情報を用いず、1つの変更における変更情報を用いて、当該変更の変更情報に含まれる仕様項目とパラメータの変更倍率の変更比率を算出するようにしても良い。そして、変更パターン生成部122は、1つずつ組み合わせを選択し、選択した組み合わせについて、当該変更の変更比率が同じである場合に、変更比率を元に、仕様項目変更情報とパラメータ変更情報の一次関数を算出するようにすれば良い。
また、制御装置1は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した関係性抽出部121、変更パターン生成部122、変更ルール生成部123などの各機能を搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、変更パターン生成部122と変更ルール生成部123とを1個の部として統合しても良い。一方、設計ルール変更部124を、変更パターンを用いて設計ルールを変更する変更部と、変更ルールを用いて設計ルール変更されているか否かをチェックするチェック部とに分散しても良い。また、記憶部11を制御装置1の外部装置に記憶するようにしても良いし、記憶部11を記憶した外部装置を制御装置1とネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した制御装置1と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。図11は、制御プログラムを実行するコンピュータの一例を示す図である。
図11に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、制御プログラム205aおよび制御関連情報205bを記憶する。
CPU203は、制御プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、制御装置1の各機能部に対応する。制御関連情報205bは、仕様情報111、パラメータ情報112、設計ルール113,114に対応する。そして、例えばリムーバブルディスク211が、仕様情報111などの各情報を記憶する。
なお、制御プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから制御プログラム205aを読み出して実行するようにしても良い。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)過去に変更されたハードウェアの仕様項目に関する変更情報を示す仕様項目変更情報と前記ハードウェアに設定されるパラメータに関する変更情報を示すパラメータ変更情報とから、前記仕様項目変更情報と相関関係にある前記パラメータ変更情報との組み合わせを抽出し、
前記抽出する処理によって抽出された前記組み合わせ毎に、前記仕様項目変更情報と前記パラメータ変更情報の関係式を算出し、
前記算出する処理によって算出された前記関係式により前記仕様項目変更情報に対するパラメータ変更情報の変更パターンを生成する
処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記2)前記抽出する処理は、複数の変更時点の前記仕様項目変更情報と前記パラメータ変更情報とから、前記仕様項目変更情報と相関関係にある前記パラメータ変更情報の組み合わせを抽出し、
前記算出する処理は、前記抽出する処理によって抽出された前記組み合わせ毎に、変更時点毎の前記仕様項目変更情報と前記パラメータ変更情報を用いて前記仕様項目変更情報と前記パラメータ変更情報の関係式を算出する
処理をコンピュータに実行させることを特徴とする付記1に記載の制御プログラム。
(付記3)前記抽出する処理は、複数の変更時点の、仕様項目に関する変更倍率を示す仕様項目変更情報とパラメータに関する変更倍率を示すパラメータ変更情報とから、変更倍率のどちらか一方が1である組み合わせを相関関係がないとして除外する
処理をコンピュータに実行させることを特徴とする付記1または付記2に記載の制御プログラム。
(付記4)前記算出する処理は、前記抽出する処理によって抽出された組み合わせについて、前記仕様項目変更情報の変更倍率と前記パラメータ変更情報の変更倍率とから得られる変更比率が、複数の変更時点で同じである場合に、前記仕様項目変更情報と前記パラメータ変更情報の関係式を算出する
処理をコンピュータに実行させることを特徴とする付記3に記載の制御プログラム。
(付記5)前記算出する処理は、前記抽出する処理によって抽出された組み合わせについて、前記仕様項目変更情報の変更倍率と前記パラメータ変更情報の変更倍率とから得られる変更比率が、複数の変更時点で同じでない場合に、前記仕様項目変更情報に関する仕様項目の値が変更されれば前記パラメータ変更情報に関するパラメータの値を変更する旨を依頼する
処理をコンピュータに実行させることを特徴とする付記4に記載の制御プログラム。
(付記6)前記生成する処理によって生成された変更パターンおよび今回変更される仕様項目の前記仕様項目変更情報を用いて、パラメータの設定に用いられる条件および定義を示すルールを変更する
処理をコンピュータに実行させることを特徴とする付記1に記載の制御プログラム。
(付記7)過去に変更されたハードウェアの仕様項目に関する変更情報を示す仕様項目変更情報と前記ハードウェアに設定されるパラメータに関する変更情報を示すパラメータ変更情報とから、前記仕様項目変更情報と相関関係にある前記パラメータ変更情報との組み合わせを抽出する抽出部と、
前記抽出部によって抽出された前記組み合わせ毎に、前記仕様項目変更情報と前記パラメータ変更情報の関係式を算出する算出部と、
前記算出部によって算出された前記関係式により前記仕様項目変更情報に対するパラメータ変更情報の変更パターンを生成する生成部と、
を有することを特徴とする制御装置。
(付記8)コンピュータが、
過去に変更されたハードウェアの仕様項目に関する変更情報を示す仕様項目変更情報と前記ハードウェアに設定されるパラメータに関する変更情報を示すパラメータ変更情報とから、前記仕様項目変更情報と相関関係にある前記パラメータ変更情報との組み合わせを抽出し、
前記抽出する処理によって抽出された前記組み合わせ毎に、前記仕様項目変更情報と前記パラメータ変更情報の関係式を算出し、
前記算出する処理によって算出された前記関係式により前記仕様項目変更情報に対するパラメータ変更情報の変更パターンを生成する
各処理を実行することを特徴とする制御方法。