JP2014099059A - パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法 - Google Patents

パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法 Download PDF

Info

Publication number
JP2014099059A
JP2014099059A JP2012250622A JP2012250622A JP2014099059A JP 2014099059 A JP2014099059 A JP 2014099059A JP 2012250622 A JP2012250622 A JP 2012250622A JP 2012250622 A JP2012250622 A JP 2012250622A JP 2014099059 A JP2014099059 A JP 2014099059A
Authority
JP
Japan
Prior art keywords
parameter
design
procedure
rule
generation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2012250622A
Other languages
English (en)
Inventor
Tetsuya Utsumi
哲哉 内海
Yasuhide Matsumoto
安英 松本
Shinji Kikuchi
慎司 菊池
Shinya Kitajima
信哉 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012250622A priority Critical patent/JP2014099059A/ja
Priority to US13/971,948 priority patent/US20140136825A1/en
Publication of JP2014099059A publication Critical patent/JP2014099059A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

【課題】システムの設計を自動で行う。
【解決手段】パラメータ設定支援装置1は、過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部11に記憶し、記憶部11に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを設計ルール生成部12によって複数生成し、マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を設計手順生成部13によって生成する。
【選択図】図1

Description

本発明は、パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法に関する。
近年、サーバやネットワークの仮想化技術を利用して、ネットワーク上にある複数のコンピューティング資源を利用者のコンピューティング資源として使用することができるクラウドシステムが利用されている。かかるクラウドシステムは、大規模化しているとともに複雑化し、システムの変更が日々行われる。例えば、機器の増設、システムの設計に関わるパラメータの新たな追加および設計方針の変更が行われている。
システムの変更要求に伴って、システムの設計が行われる。システムの設計では、設計者が、設計ルールや設計手順を作成する。ここで、設計ルールとは、設計に関わるパラメータを設定するルールであり、設計手順とは、設計ルールを実行順に並べたものである。そして、パラメータを自動で生成する装置が、作成された設計ルールおよび設計手順に基づいて、変更のあるシステムに関するパラメータを生成する。
また、システムの変更要求に伴って、システムを自動的に構築する技術がある。一例として、サーバ構築支援装置は、システム要件を受信すると、各アプリケーションプログラムを構築する際に用いられるシステム構築パラメータの雛形情報の定義する変数に適用して、各サーバについてのシステム構築パラメータを生成する。そして、サーバ構築支援装置は、生成したシステム構築パラメータを対象となるサーバに配布し適用することで、システムの構築を実現する。このサーバ構築支援装置で用いられるシステム構築パラメータの雛形情報は、あらかじめ人手で作成される。
別の一例として、構築システムのパターンに対応して定義された項目を含む項目定義情報と、項目に値を入力する工程および工程の順序がパターンに対応して定義された構築フロー定義情報とに基づいて、システムの構築を実現する技術が知られている。かかる技術では、システム構築装置は、指定されたシステムのパターンに対応する項目定義情報および構築フローに基づいて、工程に対応する項目の値の入力を受け付け、項目設定後、システムの構築対象サーバの環境を設定するための構築スクリプトおよびシステム定義情報を生成する。そして、システム構築装置は、システム構築対象サーバに構築スクリプトを実行するエージェントプログラムを配布し、構築スクリプトを実行させる。このシステム構築装置で用いられる項目定義情報および構築フロー定義情報は、あらかじめ人手で作成される。
特開2006−72772号公報 特開2010−55499号公報
しかしながら、クラウドシステムのような大規模なシステムでは、人手でシステムの設計を行うことが困難であるという問題がある。すなわち、かかるシステムでは、システムが日々変更されたり、パラメータ間の関係性が複雑であったり、設計方針が設計されるシステムに依存したりする。このため、設計者がシステムに変更がある都度、設計ルールや設計手順を作成して、システムの設計を行うことは困難である。
システムを自動的に構築する技術であっても、大規模なシステムでは、設計者がシステム構築パラメータの雛形情報を作成するのは難しい。また、同様に、設計者が項目定義情報および構築フロー定義情報を作成するのは難しい。したがって、大規模なシステムでは、人手でシステムの設計を行うことは困難である。
1つの側面では、システムの設計を自動で行うことを目的とする。
本願の開示するパラメータ設定支援プログラムは、過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する処理をコンピュータに実行させる。
本願の開示するパラメータ設定支援プログラムの1つの態様によれば、システムの設計を自動で行うことが可能となる。
図1は、実施例に係るパラメータ設定支援装置の構成を示す機能ブロック図である。 図2は、教師データのデータ構造の一例を示す図である。 図3は、クラスタリング部による共通部分を特定する方法を説明する図である。 図4Aは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図(1)である。 図4Bは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図(2)である。 図5Aは、設計手順生成部による処理を説明する図(1)である。 図5Bは、設計手順生成部による処理を説明する図(2)である。 図6は、再帰的クラスタリングアルゴリズムの処理を説明する図である。 図7は、教師データの具体例を示す図である。 図8Aは、クラスタリング部による処理の具体例を示す図(1)である。 図8Bは、クラスタリング部による処理の具体例を示す図(2)である。 図9Aは、パラメータ判別部による処理の具体例を示す図(1)である。 図9Bは、パラメータ判別部による処理の具体例を示す図(2)である。 図10Aは、設計手順生成部による処理の具体例を示す図(1)である。 図10Bは、設計手順生成部による処理の具体例を示す図(2)である。 図10Cは、設計手順生成部による処理の具体例を示す図(3)である。 図10Dは、設計手順生成部による処理の具体例を示す図(4)である。 図11は、新たなデータセンタが増える場合のパラメータ生成部による処理の具体例を示す図である。 図12Aは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図(1)である。 図12Bは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図(2)である。 図13Aは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図(1)である。 図13Bは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図(2)である。 図14は、新しいパラメータが増える場合のパラメータ生成部による処理の具体例を示す図である。 図15は、設計ルール生成部の処理手順を示すフローチャートである。 図16は、設計手順生成部の処理手順を示すフローチャートである。 図17は、再帰的クラスタリングアルゴリズムの処理手順を示すフローチャートである。 図18は、パラメータ生成部の処理手順を示すフローチャートである。 図19は、終了検査の処理手順を示すフローチャートである。 図20は、パラメータ設定支援プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示するパラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[パラメータ設定支援装置の構成]
図1は、実施例に係るパラメータ設定支援装置の構成を示す機能ブロック図である。かかるパラメータ設定支援装置1は、システムの設計の際に用いられるパラメータの設定を支援する。パラメータ設定支援装置1は、例えばクラウドシステム内にシステムを新たに追加する場合に、当該システム(「対象システム」という)にパラメータを設定する。パラメータ設定支援装置1は、例えばクラウドシステム内で稼動中の類似している類似システムのパラメータの設定情報(教師データ21)を用いて、パラメータの設定で用いられる設計ルールや設計手順を生成する。ここでは、設計ルールは、システムの設計に関わるパラメータの設定上のルールであり、条件と定義からなる。設計手順とは、設計ルールを実行順に並べたものである。そして、パラメータ設定支援装置1は、生成した設計ルールおよび設計手順に基づいて、対象システム2に対するパラメータを生成して設定する。
図1に示すように、パラメータ設定支援装置1は、記憶部11と、設計ルール生成部12と、設計手順生成部13と、パラメータ生成部14とを有する。
記憶部11は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部11は、教師データ21と、設定順序リスト22と、マニュアル入力パラメータ23とを有する。教師データ21は、対象システム2と構成が類似する類似システムのパラメータの設定情報であり、後述するクラスタリング部121によって記憶部11に格納される。なお、教師データ21のデータ構造の一例については後述する。設定順序リスト22は、パラメータを設定する順序であって設計ルールを実行する順序を示すリストであり、設計手順に対応する。設定順序リスト22は、後述する設計手順生成部13によって記憶部11に格納される。マニュアル入力パラメータ23は、マニュアル入力で値が設定されるパラメータであり、後述するパラメータ判別部122および後述する設計手順生成部13によって記憶部11に格納される。
ここで、ある類似システムにおける教師データ21のデータ構造の一例を、図2を参照して説明する。図2は、教師データのデータ構造の一例を示す図である。図2に示すように、教師データ21は、パラメータ、サーバA1、サーバA2、サーバA3およびサーバA4を対応付けて記憶する。
サーバA1、サーバA2、サーバA3およびサーバA4は、ある類似システムに搭載されているサーバの名称である。ここでは、サーバが4個搭載されているが、これに限定されず、サーバが5個搭載されていても良いし、サーバが3個搭載されていても良いし、類似システムに搭載されているサーバであれば良い。
パラメータは、システムの設計に用いられるパラメータである。ここでは、パラメータには、「Role」、「nameserver」、「LANG」、「UTC」および「IP」が含まれる。「Role」は、サーバの役割を示す。「nameserver」は、DNS(Domain Name Service)のIPアドレスを示す。「LANG」は、サーバの使用言語を示す。「UTC」は、協定世界時を使用するか否かを示し、例えば、「true」の場合協定世界時を使用することを意味し、「false」の場合協定世界時を使用しないことを意味する。「IP」は、IPアドレスの割当てを動的にするか静的にするかを示し、例えば、「dhcp」の場合動的であることを意味し、「static」の場合静的であることを意味する。
各サーバには、これらのパラメータの値がそれぞれ設定されている。一例として、サーバA1の場合、パラメータ「Role」に「admin」が設定され、パラメータ「nameserver」に「192.168.1.1」が設定されている。さらに、パラメータ「LANG」に「jp」が設定され、パラメータ「UTC」に「false」が設定され、パラメータ「IP」に「dhcp」が設定されている。
図1に戻って、設計ルール生成部12は、パラメータの設定で用いられる設計ルールを生成する。設計ルール生成部12は、クラスタリング部121およびパラメータ判別部122を有する。
クラスタリング部121は、教師データ21を用いて設計ルールを複数生成する。なお、生成される設計ルールは、以降で使用する「クラスタ」と同義である。例えば、クラスタリング部121は、クラスタリング手法を用いて、教師データ21から設計単位の共通部分を特定する。そして、クラスタリング部121は、クラスタリング結果から設計ルールを生成する。ここでいう設計単位とは、例えば、データセンタ単位であったり、ロケーション単位であったり、サーバ単位であったりする。なお、クラスタリング手法は、クラスタリングのいかなる手法を用いても構わない。
ここで、設計単位をデータセンタ単位とした場合のクラスタリング部121による共通部分を特定する方法を、図3を参照して説明する。図3は、クラスタリング部による共通部分を特定する方法を説明する図である。
データセンタA,B,C,Dのそれぞれの教師データ21には、図3上段に示すように、各サーバについて、パラメータ「Role」,「Lang」の値が同じ値に設定されている。クラスタリング部121は、クラスタリング手法を用いて、教師データ21から共通部分を特定する。ここでは、図3下段に示すように、データセンタA,B,C,Dでは、パラメータ「Lang」について、値が「Japanese」のサーバ部分、値が「English」のサーバ部分が共通部分となる。
そして、クラスタリング部121は、クラスタリング結果から設計ルールを生成する。ここでは、パラメータ「Role」が「admin」であれば、パラメータ「Lang」が「Japanese」になるという設計ルールが生成される。また、パラメータ「Role」が「admin」以外であれば、パラメータ「Lang」が「English」になるという設計ルールが生成される。すなわち、クラスタリング部121によって生成される設計ルール(クラスタ)は、<1>、<2>のように表される。
IF Role=“admin” THEN LANG=Japanese・・・<1>
IF Role!=“admin” THEN LANG=Japanese・・<2>
なお、設計ルールは、条件と定義からなっている。例えば、<1>について、設計ルールの条件は、「IF Role=“admin”」であり、設計ルールの定義は、「THEN LANG=Japanese」である。
図1に戻って、パラメータ判別部122は、教師データ21に含まれるパラメータの中で、マニュアル入力となるパラメータを判別する。例えば、パラメータ判別部122は、それぞれの設計単位内で全てのサーバが固有の値を持つパラメータを、マニュアル入力パラメータとして判別する。全てのサーバが固有の値を持つパラメータの場合、パラメータ判別部122は、条件と定義でパラメータに値を設定できないからである。また、パラメータ判別部122は、それぞれの設計単位間で固有の値を持つパラメータ、すなわちそれぞれの設計単位ごとに固有の値を持っているパラメータを、マニュアル入力パラメータとして判別する。設計単位間で固有の値を持つパラメータの場合、パラメータ判別部122は、条件と定義でパラメータに値を設定できないからである。そして、パラメータ判別部122は、判別されたマニュアル入力パラメータを記憶部11のマニュアル入力パラメータ23に格納する。
ここで、設計単位をデータセンタ単位とした場合のパラメータ判別部122によるマニュアル入力パラメータを判別する方法を、図4Aおよび図4Bを参照して説明する。図4Aおよび図4Bは、パラメータ判別部によるマニュアル入力パラメータを判別する方法を説明する図である。
図4A上段、下段に示すように、データセンタA,B,C,Dのそれぞれの教師データ21には、各サーバに対応するパラメータ「nameserver」の値がデータセンタA,B,C,D内で固有の値となっている。パラメータ判別部122は、それぞれのデータセンタ内で全てのサーバが固有の値を持つパラメータを、マニュアル入力パラメータとして判別する。ここでは、パラメータ判別部122は、それぞれのデータセンタA,B,C,D内で固有の値を持つパラメータ「nameserver」を、マニュアル入力パラメータとして判別する。
図4B上段、下段に示すように、データセンタA,B,C,Dのそれぞれの教師データ21には、各サーバに対応するパラメータ「nameserver」の値がデータセンタA,B,C,D間で固有の値となっている。パラメータ判別部122は、それぞれのデータセンタ間で固有の値を持つパラメータ、すなわちそれぞれのデータセンタごとに固有の値を持っているパラメータを、マニュアル入力パラメータとして判別する。ここでは、パラメータ判別部122は、それぞれのデータセンタ間で固有の値を持つパラメータ「nameserver」を、マニュアル入力パラメータとして判別する。
図1に戻って、設計手順生成部13は、クラスタリング部121によってパラメータごとに生成された設計ルールおよびパラメータ判別部122によって判別されたマニュアル入力パラメータに基づいて、設計手順を生成する。例えば、設計手順生成部13は、マニュアル入力されたパラメータの値を用いて設計ルールの条件が満たされる設計ルールを特定する。そして、設計手順生成部13は、特定した設計ルールを設計手順として設定順序リスト22に追加する。また、設計手順生成部13は、マニュアル入力および特定した設計ルールの定義を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設計手順として設定順序リスト22に追加する。このように、設計手順生成部13は、マニュアル入力および特定できた設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定し、特定した設計ルールを設定順序リスト22に追加していくことで、設計手順を生成する。
ここで、設計手順生成部13による設計手順を生成する処理を、図5Aおよび図5Bを参照して説明する。図5Aおよび図5Bは、設計手順生成部による処理を説明する図である。
図5Aに示すように、設計手順生成部13は、マニュアル入力から設計ルールの条件が満たされる設計ルール「Rule(0)」を特定する。この設計ルール「Rule(0)」が1番目の設計手順として設定順序リスト22に追加される。そして、設計手順生成部13は、設計ルール「Rule(0)」の定義「ParaSet(1)」を用いて、次に条件が満たされる設計ルール「Rule(1)」を特定する。この設計ルール「Rule(1)」が2番目の設計手順として設定順序リスト22に追加される。このようにして、設計手順生成部13は、マニュアル入力から順番に再帰的に設計ルールを特定し、設計手順を決定していく。
図5Bに示すように、マニュアル入力パラメータである「NETMASK」に対してマニュアル入力で値「255.255.255.0」が設定されたとする。設計手順生成部13は、マニュアル入力で設定された「NETMASK」の情報から(1)と(2)の設計ルールの条件が満たされるので、(1)と(2)の設計ルールを特定する。(1)と(2)の設計ルールが設定順序リスト22に追加される。そして、設計手順生成部13は、(2)の設計ルールの定義である「<uuid>=abcdefg1000」の情報から(3)の設計ルールの条件が満たされるので、(3)の設計ルールを特定する。(3)の設計ルールが設定順序リスト22に追加される。したがって、図5Bで示す設計ルールの設計手順は、(1)→(2)→(3)の順となる。なお、図5Bで示す設計ルールの設計手順は、(2)→(1)→(3)の順であっても良い。
図1に戻って、設計手順生成部13は、マニュアル入力および特定された設計ルールの定義によって条件が満たされない設計ルールがある場合、以下のような処理を行う。設計手順生成部13は、条件があと1つで満たされる設計ルールの集合を抽出する。そして、設計手順生成部13は、設計ルールの集合の中でいずれか2つの設計ルールであって各定義が互いの条件に含まれる2つの設計ルールを検出する。なお、2つの設計ルールの各定義が互いの条件に含まれる、すなわち、各定義が互いの条件を参照できることを「循環参照」というものとする。そして、設計手順生成部13は、循環参照している2つの設計ルールが定義するそれぞれのパラメータのどちらか一方を教師データ21から除外する。そして、設計手順生成部13は、他方のパラメータに対するクラスタリング処理を、除外したパラメータ以外のパラメータを用いて再びクラスタリング部121に実行させる。これにより、設計手順生成部13は、再びクラスタリング処理が実行された後、循環参照をおこしているパラメータが関わらない設計ルールを生成させることができる。
また、設計手順生成部13は、再びクラスタリング処理を実行させた後、マニュアル入力されたパラメータの値および既に特定された設計ルールの定義によって条件が満たされる設計ルールを特定する。そして、設計手順生成部13は設計ルールを特定できれば当該設計ルールを設計手順として設定順序リスト22に追加することになる。一方、設計手順生成部13は、設計ルールを特定できなければ、特定できない設計ルールの定義に含まれるパラメータをマニュアル入力パラメータとし、記憶部11のマニュアル入力パラメータ23に格納する。このように、再帰的にクラスタリング処理を実行させながら設計手順を生成する処理のことを、「再帰的クラスタリングアルゴリズム」というものとする。
ここで、再帰的クラスタリングアルゴリズムの処理を、図6を参照して説明する。図6は、再帰的クラスタリングアルゴリズムの処理を説明する図である。
図6上段に示すように、設計ルールAと設計ルールBは、循環参照の設計ルールである。すなわち、設計ルールAの定義「NETMASK=“D”」が設計ルールBの条件に含まれ、設計ルールBの定義「ZONE=“C”」が設計ルールAの条件に含まれている。設計手順生成部13は、循環参照の設計ルールA,Bを検出する。そして、設計手順生成部13は、循環参照しているパラメータを一時的に1つ教師データ21から除外する。ここでは、設計手順生成部13は、循環参照をおこしている一方のパラメータ「ZONE」を除外する。そして、設計手順生成部13は、他方のパラメータ「NETMASK」に対して、クラスタリング部121に再びクラスタリング処理を実行させる。これにより、循環参照をおこしているパラメータ「ZONE」が関わらない設計ルールが生成される。
図6下段に示すように、クラスタリング部121によってパラメータ「NETMASK」に対して、新たな設計ルールが生成される。そして、設計手順生成部13は、マニュアル入力および既に特定された設計ルールの定義によって条件が満たされる設計ルールを特定する。ここでは、設計手順生成部13は、新設計ルールの条件が満たされるので、新設計ルールを特定する。そして、設計手順生成部13は、新設計ルールを設計手順として設定順序リスト22に追加することになる。
図1に戻って、パラメータ生成部14は、設計手順生成部13によって生成された設計手順にしたがって、新たな設計対象である対象システム2の設計に用いられるパラメータの情報を生成する。そして、パラメータ生成部14は、生成したパラメータの情報を対象システム2に設定する。例えば、パラメータ生成部14は、マニュアル入力パラメータ23に記憶されたパラメータに対してマニュアル入力を受け付けると、受け付けた入力データを用いてマニュアル入力パラメータの情報を生成する。そして、パラメータ生成部14は、設定順序リスト22に記憶された設定手順にしたがって、順々にパラメータの情報を生成する。ここで、パラメータ生成部14は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。生成できていない箇所が存在する場合の一例として、対象システム2に新しいサーバが増設される場合がある。また、別の一例として、対象システム2に設定すべき新しいパラメータが増える場合がある。また、さらに別の一例として、対象システム2の設計方針が変る場合がある。そして、パラメータ生成部14は、生成したパラメータを対象システム2に設定する。
次に、設計単位をデータセンタ単位とした場合のパラメータ設定支援処理の具体例を、図7〜図14を参照して説明する。図7は、教師データの具体例を示す図である。図7に示すように、教師データ21には、データセンタA,B,Cに搭載されたサーバごとに各種パラメータに対応する値が設定されている。
図8Aおよび図8Bは、クラスタリング部による処理の具体例を示す図である。図8Aに示すように、クラスタリング部121は、クラスタリング手法を用いて、教師データ21から設計単位であるデータセンタの共通部分を特定する。ここでは、クラスタリング部121は、パラメータ「Role」について、データセンタA,B,C内で「admin」、「DNS」、「security」、「Web server」のようにそれぞれ固有の値が設定されているので、共通部分を特定できない。また、パラメータ「nameserver」について、データセンタAでは全てのサーバで「192.168.1.1」、データセンタBでは全てのサーバで「192.168.3.1」、データセンタCでは全てのサーバで「192.168.5.1」が設定されている。したがって、クラスタリング部121は、それぞれのデータセンタごとに固有の値が設定されているので、共通部分を特定できない。また、クラスタリング部121は、パラメータ「LANG」について、値が「jp」であるサーバ部分と値が「en」であるサーバ部分とを、共通部分として特定する。また、クラスタリング部121は、パラメータ「UTC」について、値が「false」であるサーバ部分と値が「true」であるサーバ部分とを、共通部分として特定する。また、クラスタリング部121は、パラメータ「IP」について、値が「dhcp」であるサーバ部分と値が「static」であるサーバ部分とを、共通部分として特定する。
図8Bに示すように、クラスタリング部121は、クラスタリング結果から設計ルールを生成する。ここでは、クラスタリング部121は、パラメータ「Role」について、「データセンタ内固有」という設計ルールを生成する。また、クラスタリング部121は、パラメータ「nameserver」について、「データセンタ間固有」という設計ルールを生成する。また、クラスタリング部121は、パラメータ「LANG」について、「IF Role=admin THEN LANG=jp」、「IF Role=DNS,security,Webserver THEN LANG=en」という設計ルールを生成する。また、クラスタリング部121は、パラメータ「UTC」について、「IF LANG=jp THEN UTC=false」、「IF LANG=en THEN UTC=true」という設計ルールを生成する。また、クラスタリング部121は、パラメータ「IP」について、「IF UTC=false THEN IP=dhcp」、「IF UTC=true THEN IP=static」という設計ルールを生成する。
図9Aは、パラメータ判別部による処理の具体例を示す図である。図9Aに示すように、パラメータ判別部122は、パラメータの中で、マニュアル入力となるパラメータを判別する。ここでは、パラメータ判別部122は、「データセンタ内固有」を設計ルールとしたパラメータ「Role」を、マニュアル入力パラメータとして判別する。設計ルールが「データセンタ内固有」である場合、パラメータ判別部122は、条件と定義で値を設定できないからである。また、パラメータ判別部122は、「データセンタ間固有」を設計ルールとしたパラメータ「nameserver」を、マニュアル入力パラメータとして判別する。設計ルールが「データセンタ間固有」である場合、パラメータ判別部122は、条件と定義で値を設定できないからである。
なお、設計単位が、データセンタ単位に代えてサーバ単位とすると、マニュアル入力パラメータと判別されるパラメータが異なる。図9Bは、設計単位をサーバ単位とした場合のパラメータ判別部による処理の具体例を示す図である。設計単位をサーバ単位とした場合、1つのデータセンタ内でクラスタリング部121によるクラスタリング処理が行われる。すると、図9Bに示すように、パラメータ「nameserver」について、全てのサーバで「192.168.1.1」が設定されているので、クラスタリング部121によって、全てのサーバ部分が共通部分として特定される。一方、パラメータ「Role」について、サーバ1,2,3,4で「admin」、「DNS」、「security」、「Web server」のようにそれぞれ固有の値が設定されているので、クラスタリング部121によって、共通部分が特定されない。すなわち、「Role」について、「サーバ間固有」という設計ルールがクラスタリング部121によって生成される。そこで、パラメータ判別部122は、「サーバ間固有」を設計ルールとしたパラメータ「Role」を、マニュアル入力パラメータとして判別する。つまり、設計単位が、データセンタ単位、サーバ単位というように異なると、マニュアル入力パラメータと判別されるパラメータが異なる。
図10A〜図10Dは、設計手順生成部による処理の具体例を示す図である。図10Aに示すように、設計ルールがパラメータに対応させて定められている。設計ルールは、クラスタリング部121およびパラメータ判別部122によって定められる。なお、マニュアル入力パラメータは、「Role」および「nameserver」である。
そして、設計手順生成部13は、マニュアル入力を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設定順序リスト22に追加する。ここでは、マニュアル入力パラメータ「Role」およびマニュアル入力された値を用いてパラメータ「LANG」の設計ルール(1),(2)の条件がそれぞれ満たされるので、設計ルール(1),(2)が特定される。そして、パラメータ「LANG」の設計ルール(1),(2)が設定順序リスト22に追加される。
そして、設計手順生成部13は、マニュアル入力と既に特定した設計ルールの定義を用いて条件が満たされる設計ルールを特定し、特定した設計ルールを設定順序リスト22に追加する。ここでは、既に特定した設計ルール(1)の定義「LANG=jp」を用いてパラメータ「UTC」の設計ルール(3)の条件が満たされるので、設計ルール(3)が特定される。同様に、既に特定した設計ルール(2)の定義「LANG=jp」を用いてパラメータ「UTC」の設計ルール(4)の条件が満たされるので、設計ルール(4)が特定される。そして、パラメータ「UTC」の設計ルール(3)、(4)が設定順序リスト22に追加される。
さらに、既に特定した設計ルール(3)の定義「UTC=false」を用いてパラメータ「IP」の設計ルール(5)の条件が満たされるので、設計ルール(5)が特定される。同様に、既に特定した設計ルール(4)の定義「UTC=true」を用いてパラメータ「IP」の設計ルール(6)の条件が満たされるので、設計ルール(6)が特定される。そして、パラメータ「IP」の設計ルール(5)、(6)が設定順序リスト22に追加される。このようにして、設計手順生成部13は、検査対象の設計ルールがなくなるまで、設計ルールを実行する手順を生成する処理を繰り返し行う。この結果、設計手順生成部13は、設定順序リスト22に、(1)→(2)→(3)→(4)→(5)→(6)の順序で設計ルールを追加することができ、設計手順を生成できる。
ところが、例えばパラメータ入力を用いても条件が満たされる設計ルールを特定できない場合がある。かかる場合について、図10B〜図10Dを参照して説明する。図10Bに示すように、設計ルールがパラメータに対応させて定められている。設計ルールは、クラスタリング部121およびパラメータ判別部122によって定められる。なお、マニュアル入力パラメータは、「Role」および「nameserver」である。
そして、設計手順生成部13は、マニュアル入力を用いて条件が満たされない設計ルールがある場合、循環参照している2つの設計ルールを検出する。ここでは、設計ルール(1)の定義「LANG=jp」が設計ルール(3)の条件を参照し、設計ルール(3)の定義「UTC=false」が設計ルール(1)の条件を参照しているので、循環参照している設計ルールとして(1)と(3)が検出される。
次に、設計手順生成部13は、循環参照している2つの設計ルールが定義するパラメータのどちらか一方を教師データ21から除外したうえで、他方のパラメータに対して、クラスタリング部121に再びクラスタリング処理を実行させる。ここでは、設計手順生成部13は、循環参照している2つの設計ルール(1),(3)のうち、設計ルール(3)が定義するパラメータ「UTC」を除外する。そして、設計手順生成部13は、他方のパラメータ「LANG」に対して、クラスタリング部121に再びクラスタリング処理を実行させる。
この結果、パラメータ「LANG」について、クラスタリング部121によって新たな設計ルールが生成される。図10Cに示すように、パラメータ「LANG」について、循環参照に関係したパラメータ「UTC」が関わらない設計ルール(1),(2)が生成される。そして、設計手順生成部13は、除外していたパラメータを戻したうえで、マニュアル入力と既に特定した設計ルールの定義とを用いて、条件が満たされる設計ルールを特定する。そして、設計手順生成部13は、特定した設計ルールを設定順序リスト22に追加する。この結果、設計手順生成部13は、設定順序リスト22に、(1)→(2)→(3)→(4)→(5)→(6)の順序で設計ルールを追加することができ、設計手順を生成できる。図10Dには、設定順序リスト22に記憶されている設計手順の内容が示されている。
次に、新たなデータセンタDが増える場合のパラメータ生成部による処理を、図11を参照して説明する。図11は、新たなデータセンタが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部14による処理は、図10Dに示す設計手順を用いるとする。また、マニュアル入力パラメータ23は、「Role」と「nameserver」であるとする。
図11上段に示すように、データセンタDに搭載されるサーバD1〜D4に対して、まだパラメータが生成されていない。
図11中段に示すように、パラメータ生成部14は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバD1に対してマニュアル入力パラメータ「Role」に入力された値「admin」が割り当てられる。サーバD2に対してマニュアル入力パラメータ「Role」に入力された値「DNS」が割り当てられる。サーバD3に対してマニュアル入力パラメータ「Role」に入力された値「security」が割り当てられる。サーバD4に対してマニュアル入力パラメータ「Role」に入力された値「Web server」が割り当てられる。そして、サーバD1〜D4に対してマニュアル入力パラメータ「nameserver」に入力された値「192.168.7.1」が割り当てられる。
図11下段に示すように、パラメータ生成部14は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、図10Dに示す設計手順の設計ルール(1)にしたがって、サーバD1のパラメータ「LANG」に「jp」が割り当てられる。また、設計手順の設計ルール(2)にしたがって、サーバD2〜D4のパラメータ「LANG」に「en」が割り当てられる。また、設計手順の設計ルール(3)にしたがって、サーバD1のパラメータ「UTC」に「false」が割り当てられる。また、設計手順の設計ルール(4)にしたがって、サーバD2〜D4のパラメータ「UTC」に「true」が割り当てられる。また、設計手順の設計ルール(5)にしたがって、サーバD1のパラメータ「IP」に「dhcp」が割り当てられる。また、設計手順の設計ルール(6)にしたがって、サーバD2〜D4のパラメータ「IP」に「static」が割り当てられる。
これにより、パラメータ生成部14は、新たなデータセンタDが増える場合、設計手順にしたがって、パラメータを生成することができ、対象システム2に設定することができる。
次に、データセンタDに新たなサーバD5が増える場合のパラメータ生成部による処理を、図12Aおよび図12Bを参照して説明する。図12Aおよび図12Bは、サーバが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部による処理は、図10Dに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Role」と「nameserver」であるとする。
図12A上段に示すように、データセンタDに搭載されるサーバD1〜D5に対して、まだパラメータが生成されていない。
図12A中段に示すように、パラメータ生成部14は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバD1〜D4に対する処理は、図11中段の説明と同様であるので、その説明を省略する。そして、新たなサーバD5に対して、マニュアル入力パラメータ「Role」に入力された値「WebDAV」が割り当てられる。そして、サーバD5に対して、マニュアル入力パラメータ「nameserver」に入力された値「192.168.7.1」が割り当てられる。
図12A下段に示すように、パラメータ生成部14は、図10Dに示す設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、サーバD1〜D4に対する処理は、図11下段の説明と同様であるので、その説明を省略する。そして、パラメータ生成部14は、サーバD5に対して、設計手順に該当する設計ルールがないのでパラメータの情報を生成できない。
図12B上段に示すように、パラメータ生成部14は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。ここでは、生成できていない箇所の内、順序が最も早いパラメータは「LANG」であるので、パラメータ生成部14による依頼の結果、パラメータ「LANG」に入力された値「en」が割り当てられる。
図12B下段に示すように、パラメータ生成部14は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、図10Dに示す設計手順の設計ルール(4)にしたがって、サーバD5のパラメータ「UTC」に「true」が割り当てられる。また、設計手順の設計ルール(6)にしたがって、サーバD5のパラメータ「IP」に「static」が割り当てられる。
これにより、パラメータ生成部14は、データセンタDに新たなサーバD5が増える場合、設計手順にしたがって、パラメータを生成することができ、新たなサーバD5に設定することができる。
次に、データセンタDの設計方針が変わる場合のパラメータ生成部による処理を、図13Aおよび図13Bを参照して説明する。図13Aおよび図13Bは、設計方針が変わる場合のパラメータ生成部による処理の具体例を示す図である。なお、全てのサーバについてパラメータ「LANG」の値を「en」とするように、設計方針が変わる場合とする。また、パラメータ生成部による処理は、図10Dに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Role」と「nameserver」であるとする。
図13Aに示すように、設計方針が変わったパラメータ「LANG」をマニュアル入力パラメータとすべく、設計手順の中でパラメータ「LANG」に値を定義する設計ルール(1),(2)がスキップされる。設計ルールのスキップは、例えば管理者によって行われる。すなわち、設計手順の中で設計ルール(1),(2)をはずした設計手順が用いられる。
図13B上段に示すように、パラメータ生成部14は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバD1〜D4に対する、マニュアル入力パラメータ「Role」、「nameserver」に関する処理は、図11中段の説明と同様であるので、その説明を省略する。そして、パラメータ生成部14は、生成できていない箇所が存在する場合、生成できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を、管理者に依頼する。ここでは、設計手順の中でパラメータ「LANG」に値を定義する設計ルール(1),(2)がスキップされるので、生成できていない箇所の内、順序が最も早いパラメータは「LANG」である。パラメータ生成部14による依頼の結果、設計方針が変わったパラメータ「LANG」に入力された値「en」が割り当てられる。
図13B下段に示すように、パラメータ生成部14は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、各サーバに対するパラメータ「LANG」の値が全て「en」であるので、図13Aに示す設計手順の設計ルール(4)にしたがって、パラメータ「UTC」に「true」が割り当てられる。続いて、設計手順の設計ルール(6)にしたがって、パラメータ「IP」に「static」が割り当てられる。
これにより、パラメータ生成部14は、設計方針が変わった場合でも、設計手順にしたがって、パラメータを生成することができ、設計方針が変わった対象システム2に設定することができる。
次に、新しいパラメータが増える場合のパラメータ生成部による処理を、図14を参照して説明する。図14は、新しいパラメータが増える場合のパラメータ生成部による処理の具体例を示す図である。なお、パラメータ生成部による処理は、図10Dに示す設計手順を用いるとする。また、マニュアル入力パラメータは、「Role」、「nameserver」および新しいパラメータである「OS version」であるとする。
図14上段に示すように、データセンタDに搭載されるサーバD1〜D4に対して、まだパラメータが生成されていない。
図14中段に示すように、パラメータ生成部14は、マニュアル入力パラメータに対してマニュアル入力を受け付けると、マニュアル入力パラメータの情報を生成する。ここでは、サーバD1〜D4に対するマニュアル入力パラメータ「Role」,「nameserver」の処理は、図11中段の説明と同様であるので、その説明を省略する。そして、サーバD1〜D4に対して新しいマニュアル入力パラメータ「OS version」に入力された値「CentOS 2.1」が割り当てられる。
図14下段に示すように、パラメータ生成部14は、設計手順にしたがって、順々にパラメータの情報を生成する。ここでは、サーバD1〜D4に対するパラメータ「LANG」,「UTC」,「IP」の値が、それぞれ設計手順にしたがって生成される。サーバD1〜D4に対する処理は、図11下段の説明と同様であるので、その説明を省略する。
これにより、パラメータ生成部14は、新しいパラメータが増える場合でも、設計手順にしたがって、パラメータを生成することができ、新しいパラメータを含めて対象システム2に設定することができる。
[設計ルール生成部の処理手順]
次に、設計ルール生成部の処理手順を、図15を参照して説明する。図15は、設計ルール生成部の処理手順を示すフローチャートである。なお、対象システム2にパラメータを設定する旨の要求が設計ルール生成部12によって受け付けられたとする。ここでは、対象システム2は、データセンタであるとする。
設計ルール生成部12のクラスタリング部121は、教師データ21に対してクラスタリングを行い、クラスタ(設計ルール)を生成する(ステップS11)。すなわち、クラスタリング121は、クラスタリング手法を用いて、教師データ21から設計単位、ここではデータセンタ単位の共通部分を特定し、クラスタリング結果から設計ルールを生成する。
そして、設計ルール生成部12のパラメータ判別部122は、教師データ21に含まれる全てのパラメータの中で、設計単位内、ここではデータセンタ単位内において固有の値を持つパラメータを抽出し、マニュアル入力として判別する(ステップS12)。パラメータ判別部122は、教師データ21に含まれる全てのパラメータの中で、設計単位間、ここではデータセンタ単位間において固有の値を持つパラメータを抽出し、マニュアル入力として判別する(ステップS13)。
そして、設計ルール生成部12のパラメータ判別部122は、マニュアル入力パラメータとクラスタ(設計ルール)を設計手順生成部13に出力する(ステップS14)。
[設計手順生成部の処理手順]
次に、設計手順生成部の処理手順を、図16を参照して説明する。図16は、設計手順生成部の処理手順を示すフローチャートである。なお、パラメータ判別部122からマニュアル入力パラメータとクラスタ(設計ルール)が受け付けられたとする。
設計手順生成部13は、パラメータ判別部122から受け付けられた全てのクラスタ(設計ルール)の中で、マニュアル入力のみで条件を満たすクラスタを特定する(ステップS21)。そして、設計手順生成部13は、条件を満たすクラスタを1つ以上特定できたか否かを判定する(ステップS22)。条件を満たすクラスタを1つ以上特定できたと判定した場合(ステップS22;Yes)、設計手順生成部13は、特定されたクラスタの条件および定義を設定順序リスト22に記録する(ステップS23)。なお、設計手順生成部13は、以降の検査では、特定されたクラスタの定義を既知の情報として扱うこととする。
続いて、設計手順生成部13は、特定されたクラスタを以降の検査対象から除外する(ステップS24)。特定されたクラスタは、設定順序リスト22に記録されたことで、既に順序に組み込まれたからである。そして、設計手順生成部13は、検査対象となるクラスタが存在するか否かを判定する(ステップS25)。検査対象となるクラスタが存在すると判定した場合(ステップS25;Yes)、設計手順生成部13は、既知の定義とマニュアル入力のみで条件を満たすクラスタを特定し(ステップS26)、ステップS22へ移行する。
ステップS22では、条件を満たすクラスタを1つも特定できなかったと判定した場合(ステップS22;No)、設計手順生成部13は、再帰的クラスタリングアルゴリズムを実行する(ステップS27)。そして、設計手順生成部13は、再帰的クラスタリングアルゴリズムによって処理された結果、検査対象のクラスタがマニュアル入力の必要なクラスタであるか否かを判定する(ステップS28)。マニュアル入力の必要なクラスタであると判定した場合(ステップS28;Yes)、設計手順生成部13は、当該クラスタに対するマニュアル入力を依頼すべく、ステップS26へ移行する。一方、マニュアル入力の必要なクラスタでないと判定した場合(ステップS28;No)、設計手順生成部13は、当該クラスタを記録すべく、ステップS23へ移行する。なお、再帰的クラスタリングアルゴリズムの処理手順は、図17で後述する。
ステップS25では、設計手順生成部13は、検査対象となるクラスタが存在しないと判定した場合(ステップS25;No)、設定順序リスト22に記録された順にクラスタの条件および定義を並べ、設計手順として出力する(ステップS29)。引き続き、処理は、パラメータ生成部13へ移行する。
[再帰的クラスタリングアルゴリズムの処理手順]
次に、図16のS27で示した再帰的クラスタリングアルゴリズムの処理手順を、図17を参照して説明する。図17は、再帰的クラスタリングアルゴリズムの処理手順を示すフローチャートである。
設計手順生成部13は、検査対象のクラスタ(設計ルール)で循環参照のクラスタがあるか否かを判定する(ステップS31)。例えば、設計手順生成部13は、条件があと1つで満たされるクラスタの集合を抽出する。そして、設計手順生成部13は、クラスタの集合の中でいずれか2つのクラスタであって各定義が互いの条件に含まれる2つのクラスタの検出を試みる。
検査対象のクラスタで循環参照のクラスタがあると判定した場合(ステップS31;Yes)、設計手順生成部13は、循環参照しているパラメータを1つマスクし、残りのデータで再クラスタリングを実行する(ステップS32)。例えば、設計手順生成部13は、循環参照している2つのクラスタが定義するそれぞれのパラメータのどちらか一方のパラメータを教師データ21から除外する。そして、設計手順生成部13は、他方のパラメータに対するクラスタリング処理を、除外したパラメータ以外のパラメータを用いて再びクラスタリング部121に実行させる。そして、設計手順生成部13は、ステップS31に移行する。
一方、検査対象のクラスタで循環参照のクラスタがないと判定した場合(ステップS31;No)、設計手順生成部13は、検査対象のクラスタが既知の情報で条件を満たすか否かを判定する(ステップS33)。ここでいう既知の情報とは、既に特定されたクラスタの定義と、マニュアル入力パラメータおよび入力された値とを意味する。そして、検査対象のクラスタが既知の情報で条件を満たすと判定した場合(ステップS33;Yes)、検査対象のクラスタがマニュアル入力の必要でないクラスタであると判断し、元の処理へ戻る。一方、検査対象のクラスタが既知の情報で条件を満たさないと判定した場合(ステップS33;No)、設計手順生成部13は、検査対象のクラスタの定義が示すパラメータをマニュアル入力とする(ステップS34)。すなわち、設計手順生成部13は、検査対象のクラスタがマニュアル入力の必要であるクラスタであると判断し、元の処理へ戻る。
[パラメータ生成部の処理手順]
次に、パラメータ生成部の処理手順を、図18を参照して説明する。図18は、パラメータ生成部の処理手順を示すフローチャートである。なお、マニュアル入力パラメータ23および設定手順リスト22が生成されているとする。
パラメータ生成部14は、マニュアル入力パラメータ23に記憶されたパラメータに対して、マニュアル入力データを用いて値を設定する(ステップS41)。そして、パラメータ生成部14は、設定手順リスト22に記憶された設定手順を順々に実行し、条件に当てはまる設定箇所を特定する(ステップS42)。
そして、パラメータ生成部14は、特定した設定箇所に既に値が入力されているか否かを判定する(ステップS43)。特定した設定箇所に既に値が入力されていると判定した場合(ステップS43;Yes)、パラメータ生成部14は、特定した設定箇所をスキップして次の手順に進む(ステップS44)。そして、パラメータ生成部14は、ステップS46に移行する。
一方、特定した設定箇所に未だ値が入力されていないと判定した場合(ステップS43;No)、パラメータ生成部14は、クラスタの定義を設定箇所に設定し、次の手順に進む(ステップS45)。そして、パラメータ生成部14は、ステップS46に移行する。
ステップS46では、パラメータ生成部14は、次の手順が存在するか否かを判定する(ステップS46)。次の手順が存在すると判定した場合(ステップS46;Yes)、パラメータ生成部14は、次の手順の処理をすべく、ステップS42に移行する。一方、次の手順が存在しないと判定した場合(ステップS46;No)、パラメータ生成部14は、終了検査へ進む。
[終了検査の処理手順]
次に、パラメータ生成部14による終了検査の処理手順を、図19を参照して説明する。図19は、終了検査の処理手順を示すフローチャートである。
パラメータ生成部14は、未だ設定できていない箇所が存在するか否かを判定する(ステップS51)。未だ設定できていない箇所が存在すると判定した場合(ステップS51;Yes)、パラメータ生成部14は、設定できていない箇所の内、順序が最も早いパラメータに対応する箇所のマニュアル入力を管理者に依頼する(ステップS52)。そして、パラメータ生成部14は、ステップS41に移行する。
一方、未だ設定できていない箇所が存在しないと判定した場合(ステップS51;No)、パラメータ生成部14は、処理を終了する。
[実施例の効果]
上記実施例によれば、パラメータ設定支援装置1は、過去に設計された設計対象である対象システム2を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を対象システム2毎に記憶部11に記憶する。そして、パラメータ設定支援装置1は、記憶部11に記憶された対応情報を用いて、対象システム2間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示す設計ルールを複数生成する。そして、パラメータ設定支援装置1は、マニュアル入力されたパラメータの値と、複数生成した設計ルールとに基づいて、設計ルールを実行する設計手順を生成する。かかる構成によれば、パラメータ設定支援装置1は、設計ルールおよび設計手順を自動的に生成するので、生成した設計手順を用いて新たな対象システム2におけるパラメータに適正な値を設定できる。すなわち、パラメータ設定支援装置1は、新たな対象システム2における設計を自動で行うことが可能となる。
また、上記実施例によれば、パラメータ設定支援装置1は、マニュアル入力のパラメータおよび当該パラメータに入力された値を用いて条件が満たされる設計ルールを特定する。そして、パラメータ設定支援装置1は、特定した設計ルールを設計手順として生成する。そして、パラメータ設定支援装置1は、特定した設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定し、特定した設計ルールを設計手順として生成する。かかる構成によれば、パラメータ設定支援装置1は、設計ルールの定義を用いて条件が満たされる設計ルールを繰り返し特定することで、設計ルールを実行する設計手順を容易に生成することができる。
また、上記実施例によれば、パラメータ設定支援装置1は、マニュアル入力のパラメータおよび当該パラメータに入力された値、または/および特定した設計ルールの定義を用いて条件が満たされない設計ルールを複数抽出する。そして、パラメータ設定支援装置1は、複数抽出した設計ルールの中でいずれか2つの設計ルールであって各定義が互いの条件に含まれる2つの設計ルールを検出する。そして、パラメータ設定支援装置1は、検出した2つの設計ルールのどちらか一方の定義に含まれるパラメータを除外したうえで、他方の定義に含まれるパラメータに対して設計ルールを生成する処理を再び実行する。そして、パラメータ設定支援装置1は、実行して得られた設計ルールを用いて、設計手順を生成する。かかる構成によれば、パラメータ設定支援装置1は、条件が満たされない設計ルールがあっても、各定義が互いの条件に含まれる設計ルールのどちらか一方の定義に含まれるパラメータを除外し、他方の定義に含まれるパラメータに対して設計ルールを再生成する。この結果、パラメータ設定支援装置1は、再生成された設計ルールから設計手順を生成することが可能になる。
また、上記実施例によれば、パラメータ設定支援装置1は、生成された設計手順を用いて、新たな設計対象である対象システム2の設計に用いられるパラメータを設定する。かかる構成によれば、パラメータ設定支援装置1は、新たな設計対象である対象システム2の設計に用いられるパラメータを自動的に設定することができる。この結果、パラメータ設定支援装置1は、システム構築者の対象システム2における設計負担を減らすことができる。
[その他]
なお、パラメータ設定支援装置1は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した設計ルール生成部12と、設計手順生成部13などの各機能を搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、クラスタリング部121とパラメータ判別部122とを1個の部として統合しても良い。一方、設計手順生成部13を、設計ルールの定義によって条件が満たされる場合の処理部と設計ルールの定義によって条件が満たされない場合の処理部とに分散しても良い。また、記憶部11をパラメータ設定支援装置1の外部装置に記憶するようにしても良いし、記憶部11を記憶した外部装置をパラメータ設定支援装置1とネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したパラメータ設定支援装置1と同様の機能を実現するパラメータ設定支援プログラムを実行するコンピュータの一例を説明する。図20は、パラメータ設定支援プログラムを実行するコンピュータの一例を示す図である。
図20に示すように、コンピュータ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は、教師データ21、設定順序リスト22およびマニュアル入力パラメータ23に対応する。そして、例えばリムーバブルディスク211が、教師データ21などの各情報を記憶する。
なお、パラメータ設定支援プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからパラメータ設定支援プログラム205aを読み出して実行するようにしても良い。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
処理をコンピュータに実行させることを特徴とするパラメータ設定支援プログラム。
(付記2)前記手順を生成する処理は、マニュアル入力されたパラメータの値を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成し、特定したルールの定義を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成する処理を繰り返すことで前記手順を生成する
処理をコンピュータに実行させることを特徴とする付記1に記載のパラメータ設定支援プログラム。
(付記3)前記手順を生成する処理は、マニュアル入力されたパラメータの値および特定したルールの定義を用いて条件が満たされないルールを複数抽出し、複数抽出したルールの中でいずれか2つのルールであって各定義が互いの条件に含まれる2つのルールを検出し、検出した2つのルールのどちらか一方の定義に関するパラメータを除外したうえで、他方の定義に関するパラメータに対して前記ルールを生成する処理を再び実行し、実行して得られたルールを用いて、前記手順を生成する
処理をコンピュータに実行させることを特徴とする付記2に記載のパラメータ設定支援プログラム。
(付記4)前記手順を生成する処理によって生成された手順を用いて、新たな設計対象の設計に用いられるパラメータを設定する
処理をコンピュータに実行させることを特徴とする付記3に記載のパラメータ設定支援プログラム。
(付記5)過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶する記憶部と、
前記記憶部によって記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成するルール生成部と、
マニュアル入力されたパラメータの値と、前記ルール生成部によって複数生成されたルールとに基づいて、前記ルールを実行する手順を生成する手順生成部と
を有することを特徴とするパラメータ設定支援装置。
(付記6)コンピュータが、
過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
各処理を実行することを特徴とするパラメータ設定支援方法。
1 パラメータ設定支援装置
2 対象システム
11 記憶部
12 設計ルール生成部
121 クラスタリング部
122 パラメータ判別部
13 設計手順生成部
14 パラメータ生成部
21 教師データ
22 設定順序リスト
23 マニュアル入力パラメータ

Claims (5)

  1. 過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
    前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
    マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
    処理をコンピュータに実行させることを特徴とするパラメータ設定支援プログラム。
  2. 前記手順を生成する処理は、マニュアル入力されたパラメータの値を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成し、特定したルールの定義を用いて条件が満たされる前記ルールを特定し、特定したルールを前記手順として生成する処理を繰り返すことで前記手順を生成する
    処理をコンピュータに実行させることを特徴とする請求項1に記載のパラメータ設定支援プログラム。
  3. 前記手順を生成する処理は、マニュアル入力されたパラメータの値および特定したルールの定義を用いて条件が満たされないルールを複数抽出し、複数抽出したルールの中でいずれか2つのルールであって各定義が互いの条件に含まれる2つのルールを検出し、検出した2つのルールのどちらか一方の定義に関するパラメータを除外したうえで、他方の定義に関するパラメータに対して前記ルールを生成する処理を再び実行し、実行して得られたルールを用いて、前記手順を生成する
    処理をコンピュータに実行させることを特徴とする請求項2に記載のパラメータ設定支援プログラム。
  4. 過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶する記憶部と、
    前記記憶部によって記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成するルール生成部と、
    マニュアル入力されたパラメータの値と、前記ルール生成部によって複数生成されたルールとに基づいて、前記ルールを実行する手順を生成する手順生成部と
    を有することを特徴とするパラメータ設定支援装置。
  5. コンピュータが、
    過去に設計された設計対象を構成する複数の機器と、設計に用いられたパラメータの設定に関する情報との対応情報を設計対象毎に記憶部に記憶し、
    前記記憶部に記憶された対応情報を用いて、設計対象間で共通するパラメータに関し当該パラメータの設定に用いられる条件および定義を示すルールを複数生成し、
    マニュアル入力されたパラメータの値と、該複数生成したルールとに基づいて、前記ルールを実行する手順を生成する
    各処理を実行することを特徴とするパラメータ設定支援方法。
JP2012250622A 2012-11-14 2012-11-14 パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法 Ceased JP2014099059A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012250622A JP2014099059A (ja) 2012-11-14 2012-11-14 パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法
US13/971,948 US20140136825A1 (en) 2012-11-14 2013-08-21 Parameter setting support device, and parameter setting support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012250622A JP2014099059A (ja) 2012-11-14 2012-11-14 パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法

Publications (1)

Publication Number Publication Date
JP2014099059A true JP2014099059A (ja) 2014-05-29

Family

ID=50682890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012250622A Ceased JP2014099059A (ja) 2012-11-14 2012-11-14 パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法

Country Status (2)

Country Link
US (1) US20140136825A1 (ja)
JP (1) JP2014099059A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062687A (ja) * 2015-09-25 2017-03-30 富士ゼロックス株式会社 サービス提供装置及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265596A (ja) * 2000-03-15 2001-09-28 Mitsubishi Electric Corp データマイニング装置およびデータマイニング方法
JP2009048611A (ja) * 2007-05-31 2009-03-05 Symantec Corp アソシエーションルールマイニングを使用してコンピュータ環境内の計算エンティティ向けコンフィギュレーションルールを生成するための方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265596A (ja) * 2000-03-15 2001-09-28 Mitsubishi Electric Corp データマイニング装置およびデータマイニング方法
JP2009048611A (ja) * 2007-05-31 2009-03-05 Symantec Corp アソシエーションルールマイニングを使用してコンピュータ環境内の計算エンティティ向けコンフィギュレーションルールを生成するための方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062687A (ja) * 2015-09-25 2017-03-30 富士ゼロックス株式会社 サービス提供装置及びプログラム

Also Published As

Publication number Publication date
US20140136825A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
US11580325B2 (en) Systems and methods for hyper parameter optimization for improved machine learning ensembles
US20180101371A1 (en) Deployment manager
US20190007290A1 (en) Automatic recovery engine with continuous recovery state machine and remote workflows
EP3488343A1 (en) Access services in hybrid cloud computing systems
CN108369504A (zh) 被分发到变化拓扑的由模型驱动的更新
CN108427632A (zh) 自动测试方法及装置
JP5903822B2 (ja) 設定制御装置、設定制御方法および設定制御プログラム
US20170024396A1 (en) Determining application deployment recommendations
EP3488584A1 (en) Usage tracking in hybrid cloud computing systems
JP2015001826A (ja) 構成要件作成プログラム、構成要件作成装置および構成要件作成方法
JP2023022831A (ja) コンピュータシステム、コンピュータ実装方法、プログラム、及びコンピュータ実装システム(学習因果関係)
US11783049B2 (en) Automated code analysis tool
JP2023500813A (ja) 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術
JP2014099059A (ja) パラメータ設定支援プログラム、パラメータ設定支援装置およびパラメータ設定支援方法
JPWO2018163280A1 (ja) 予兆検知装置及び予兆検知方法
CN113312148B (zh) 一种大数据服务部署方法、装置、设备及介质
US10956256B2 (en) Targeted crash fixing on a client device
JP6136831B2 (ja) 制御プログラム、制御装置および制御方法
JP2016099806A (ja) ライセンス管理サーバー、ライセンス管理方法、およびライセンス管理プログラム
JP2021157339A (ja) 情報処理方法、及び情報処理プログラム
US11551122B2 (en) Inferencing endpoint discovery in computing systems
JPWO2014054233A1 (ja) 情報システムの性能評価装置、方法およびプログラム
JPWO2018225747A1 (ja) 分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体
US11882124B1 (en) Account integration with an event-driven application programing interface call manager
CN115086321B (zh) 多集群流量转发方法及装置、电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20170228