(57)【要約】【課題】コンフィグレーションデータの検証を簡易に行うことができるようにすること。【解決手段】コンフィグレーションデータ検証装置は、システムのコンフィグレーションデータからシステムを構成するコンポーネント間の依存関係を抽出し、当該依存関係を表す関係グラフを生成する関係グラフ生成部と、予め与えられた基準関係グラフと生成された関係グラフとに基づいて、コンフィグレーションデータの妥当性を検証する関係グラフ検証部とを有している。【選択図】図１
2010256978.tif 000002
【特許請求の範囲】
【請求項１】
システムのコンフィグレーションデータから該システムを構成するコンポーネント間の依存関係を抽出し、該依存関係を表す関係グラフを生成する関係グラフ生成部と、
予め与えられた基準関係グラフと生成された関係グラフとに基づいて、前記コンフィグレーションデータの妥当性を検証する関係グラフ検証部とを備えているコンフィグレーションデータ検証装置。
【請求項２】
前記関係グラフ検証部は、前記基準関係グラフと生成された関係グラフとが同型である場合には、前記コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、前記コンフィグレーションデータは失当であるものと判定する、請求項１に記載のコンフィグレーションデータ検証装置。
【請求項３】
前記基準関係グラフは、前記システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフである、請求項１又は２に記載のコンフィグレーションデータ検証装置。
【請求項４】
前記関係グラフ生成部は、関係グラフ生成ルールを参照して、前記コンフィグレーションデータを構成するパラメータ設定を解釈することによって前記関係グラフを生成する、請求項１乃至３のいずれか１項に記載のコンフィグレーションデータ検証装置。
【請求項５】
前記関係グラフ生成部は、前記コンフィグレーションデータを構成するパラメータ設定に含まれるパラメータによって特定されるコンポーネントを始点とするとともに、当該パラメータによって特定される関係グラフ生成ルールを参照して当該パラメータ設定の値を解釈することによって特定されるコンポーネントを終点とし、該始点及び該終点を有する弧を前記関係グラフの要素とする、請求項４に記載のコンフィグレーションデータ検証装置。
【請求項６】
前記関係グラフ生成部は、前記コンフィグレーションデータに含まれるパラメータによって特定される関係グラフ生成ルールにおいて指定されたラベルを前記弧に付する、請求項５に記載のコンフィグレーションデータ検証装置。
【請求項７】
システムのコンフィグレーションデータから該システムを構成するコンポーネント間の依存関係を抽出し、該依存関係を表す関係グラフを生成する工程と、
予め与えられた基準関係グラフと生成された関係グラフとに基づいて、前記コンフィグレーションデータの妥当性を検証する工程とを含むコンフィグレーションデータ検証方法。
【請求項８】
前記検証工程において、前記基準関係グラフと生成された関係グラフとが同型である場合には、前記コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、前記コンフィグレーションデータは失当であるものと判定する、請求項７に記載のコンフィグレーションデータ検証方法。
【請求項９】
前記基準関係グラフは、前記システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフである、請求項７又は８に記載のコンフィグレーションデータ検証方法。
【請求項１０】
システムのコンフィグレーションデータから該システムを構成するコンポーネント間の依存関係を抽出し、該依存関係を表す関係グラフを生成する処理と、
予め与えられた基準関係グラフを記憶部から読み出す処理と、
前記基準関係グラフと生成した関係グラフとに基づいて、前記コンフィグレーションデータの妥当性を検証する処理とをコンピュータに実行させるプログラム。
【請求項１１】
前記検証処理において、前記基準関係グラフと生成された関係グラフとが同型である場合には、前記コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、前記コンフィグレーションデータは失当であるものと判定する、請求項１０に記載のプログラム。
【請求項１２】
前記基準関係グラフは、前記システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフである、請求項１０又は１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンフィグレーションデータ検証装置、検証方法及びプログラムに関し、特に、ソフトウェア又はハードウェアの動作を規定するコンフィグレーションデータを検証するコンフィグレーションデータ検証装置、検証方法及びプログラムに関する。
【背景技術】
【０００２】
コンフィグレーションデータは、コンピュータに基づくシステムの構成要素（コンポーネント）であるソフトウェア又はハードウェアの動作を規定するパラメータ設定の集合である。コンフィグレーションデータは、コンポーネントごとに、あるいはコンポーネントの機能単位でまとめられ、システムにおいてコンフィグレーションファイルと呼ばれるデータファイルに格納されている。
【０００３】
システムの管理者は、コンフィグレーションデータを変更することによって、システムの動作を変更することができる。管理者は、一例として、システムの入力に合わせた動作モードの選択を行うことにより、性能のチューニングを行うことができる。一方、管理者によってコンフィグレーションデータに対して誤った変更がなされると、システムに障害が起きる。
【０００４】
コンフィグレーションデータの誤った変更によるシステム障害を防ぐためには、変更後のコンフィグレーションデータをシステムに適用する前に、コンフィグレーションデータの検証を行うことが望ましい。
【０００５】
コンフィグレーションデータの検証は人手で行うことも可能であるが、特に、コンフィグレーションデータが頻繁に変更されるシステムにおいては、自動で検証を行うことが望ましい。
【０００６】
特に、インターネットを介してアプリケーションサービス（クラウド型サービスともいう。）を提供するサービス提供システムにおいては、サービスを利用するユーザ企業（テナント）の規模に応じて、システムのコンフィグレーションデータの変更が頻繁に発生する。
【０００７】
テナントの規模が拡大した場合には、トランザクション数の増加に対応することができるようにコンフィグレーションデータを変更し、テナントが用いる各コンポーネントを、機能を同等に保ちつつ、より大きい容量のものへ変更する。逆に、テナントの規模が縮小した場合には、クラウド型サービスを提供するシステムのリソース全体の利用効率を向上させるためにコンフィグレーションデータを変更し、テナントの用いる各コンポーネントを機能を同等に保ちつつ、より小さい容量のものへと変更する。
【０００８】
特許文献１において、コンフィグレーションデータに含まれる識別子に基づいて選択した検証規則の組を解釈してコンフィグレーションデータを検証する技術が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２１６８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以下の分析は、本発明者によってなされたものである。特許文献１に記載された技術においては、検証のフレームワークのみが示され、具体的な検証の手続きが規定されていない。したがって、かかる技術によると、検証規則を別途与える必要があり、検証規則の作成に手間がかかるという問題がある。
【００１１】
そこで、コンフィグレーションデータの検証を簡易に行うことができるようにすることが課題となる。本発明の目的は、かかる課題を解決するコンフィグレーションデータ検証装置、検証方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点に係るコンフィグレーションデータ検証装置は、
システムのコンフィグレーションデータからシステムを構成するコンポーネント間の依存関係を抽出し、当該依存関係を表す関係グラフを生成する関係グラフ生成部と、
予め与えられた基準関係グラフと生成された関係グラフとに基づいて、コンフィグレーションデータの妥当性を検証する関係グラフ検証部とを有している。
【００１３】
本発明の第２の視点に係るコンフィグレーションデータ検証方法は、
システムのコンフィグレーションデータからシステムを構成するコンポーネント間の依存関係を抽出し、当該依存関係を表す関係グラフを生成する工程と、
予め与えられた基準関係グラフと生成された関係グラフとに基づいて、コンフィグレーションデータの妥当性を検証する工程とを含む。
【００１４】
本発明の第３の視点に係るプログラムは、
システムのコンフィグレーションデータからシステムを構成するコンポーネント間の依存関係を抽出し、当該依存関係を表す関係グラフを生成する処理と、
予め与えられた基準関係グラフを記憶部から読み出す処理と、
基準関係グラフと生成した関係グラフとに基づいて、コンフィグレーションデータの妥当性を検証する処理とをコンピュータに実行させる。
【発明の効果】
【００１５】
本発明に係るコンフィグレーションデータ検証装置、検証方法及びプログラムによると、コンフィグレーションデータの検証を簡易に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係るコンフィグレーションデータ検証装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るコンフィグレーションデータ検証装置の関係グラフ生成部の動作を示すフローチャートである。
【図３】本発明の第１の実施形態に係るコンフィグレーションデータ検証装置の関係グラフ検証部の動作を示すフローチャートである。
【図４】本発明の第１の実施形態におけるコンフィグレーションデータの一例を示す図である。
【図５】本発明の第１の実施形態における関係グラフ生成ルールの一例を示す図である。
【図６】本発明の第１の実施形態における関係グラフの一例を示す図である。
【図７】本発明の第１の実施形態における検証対象システムの構成の一例を示す図である。
【図８】第２の実施例における検証対象システムの構成の一例を示す図である。
【図９】第２の実施例におけるコンフィグレーションデータの一例を示す図である。
【図１０】第２の実施例における関係グラフの一例を示す図である。
【図１１】第３の実施例におけるコンフィグレーションデータの一例を示す図である。
【図１２】第３の実施例における関係グラフの一例を示す図である。
【図１３】コンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
第１の展開形態のコンフィグレーションデータ検証装置は、上記第１の視点に係るコンフィグレーションデータ検証装置であることが好ましい。
【００１８】
第２の展開形態のコンフィグレーションデータ検証装置は、関係グラフ検証部が、基準関係グラフと生成された関係グラフとが同型である場合には、コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、コンフィグレーションデータは失当であるものと判定することが好ましい。
【００１９】
第３の展開形態のコンフィグレーションデータ検証装置は、基準関係グラフが、システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフであることが好ましい。
【００２０】
第４の展開形態のコンフィグレーションデータ検証装置は、関係グラフ生成部が、関係グラフ生成ルールを参照して、コンフィグレーションデータを構成するパラメータ設定を解釈することによって関係グラフを生成してもよい。
【００２１】
第５の展開形態のコンフィグレーションデータ検証装置は、関係グラフ生成部が、コンフィグレーションデータを構成するパラメータ設定に含まれるパラメータによって特定されるコンポーネントを始点とするとともに、当該パラメータによって特定される関係グラフ生成ルールを参照して当該パラメータ設定の値を解釈することによって特定されるコンポーネントを終点とし、該始点及び該終点を有する弧を関係グラフの要素としてもよい。
【００２２】
第６の展開形態のコンフィグレーションデータ検証装置は、関係グラフ生成部が、コンフィグレーションデータに含まれるパラメータによって特定される関係グラフ生成ルールにおいて指定されたラベルを前記弧に付してもよい。
【００２３】
第７の展開形態のコンフィグレーションデータ検証方法は、上記第２の視点に係るコンフィグレーションデータ検証方法であることが好ましい。
【００２４】
第８の展開形態のコンフィグレーションデータ検証方法は、上記検証工程において、基準関係グラフと生成された関係グラフとが同型である場合には、コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、コンフィグレーションデータは失当であるものと判定することが好ましい。
【００２５】
第９の展開形態のコンフィグレーションデータ検証方法は、基準関係グラフが、システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフであることが好ましい。
【００２６】
第１０の展開形態のプログラムは、上記第３の視点に係るプログラムであることが好ましい。
【００２７】
第１１の展開形態のプログラムは、上記検証処理において、基準関係グラフと生成された関係グラフとが同型である場合には、コンフィグレーションデータが妥当であるものと判定し、それ以外の場合には、コンフィグレーションデータは失当であるものと判定することが好ましい。
【００２８】
第１２の展開形態のプログラムは、基準関係グラフが、システムが正常に稼動している場合におけるコンポーネント間の依存関係を表す関係グラフであることが好ましい。
【００２９】
（実施形態１）
次に、本発明の第１の実施形態に係るコンフィグレーションデータ検証装置について図面を参照して説明する。
【００３０】
図１は本発明に係わるコンフィグレーションデータ検証装置の構成を示すブロック図である。図１を参照すると、コンフィグレーションデータ検証装置１１は、関係グラフ生成部１２、関係グラフ生成ルール記憶部１３、関係グラフ検証部１４及び基準関係グラフ記憶部１５を有する。
【００３１】
関係グラフ生成部１２は、コンフィグレーションデータからコンポーネント間の依存関係を抽出して関係グラフを作成する。関係グラフ検証部１４は、生成された関係グラフが予め与えられた基準関係グラフと同型であるか否かを判定することにより、コンフィグレーションデータの妥当性を検証する。
【００３２】
関係グラフ生成ルール記憶部１３は、関係グラフ生成ルール４１を記憶する。関係グラフ生成部１２は、入力されたコンフィグレーションデータ及びコンポーネント構成データ１６並びに関係グラフ生成ルール４１に基づいて関係グラフを生成する。基準関係グラフ記憶部１５は、基準関係グラフを記憶する。関係グラフ検証部１４は、関係グラフと基準関係グラフとが同型であるか否かを判定する。
【００３３】
図４は、本実施形態におけるコンフィグレーションデータの一例を示す図である。図４を参照すると、コンフィグレーションデータ４２は、パラメータを特定するパラメータ名の文字列が含まれるパラメータ欄と、パラメータとして設定すべき値が含まれる値欄とから成る行によって構成される表形式のデータである。コンフィグレーションデータ４２の各行、すなわちパラメータ欄と値欄と対を、パラメータ設定と呼ぶ。パラメータ設定は、パラメータ欄の文字列によって特定されるコンポーネントのパラメータに、値欄の値を設定すべきことを意味する。なお、パラメータ欄の文字列は、コンポーネントの特定と、そのコンポーネントのパラメータの特定との双方を行う。
【００３４】
図７は、本実施形態における検証対象システムの構成の一例を示す図である。図４のコンフィグレーションデータ４２は、図７のシステムのコンフィグレーションデータを示す。図４及び図７を参照すると、ホストｈｏｓｔ１上のＨＴＴＰクライアントコンポーネントＣ１に対して、パラメータ設定として、パラメータ名「Ｃ１：ＨＴＴＰｓｅｒｖｅｒ」に値「ｈｏｓｔ２」が設定されている。また、ｈｏｓｔ２上のＨＴＴＰサーバコンポーネントＣ２に対して、パラメータ設定として、パラメータ名「Ｃ２：ＳＱＬｓｅｒｖｅｒ」に値「ｈｏｓｔ３」が設定されている。さらに、ｈｏｓｔ３上のＳＱＬサーバコンポーネントＣ３に対して、パラメータ設定として、パラメータ名「Ｃ３：ＡｌｌｏｗｅｄＳＱＬｃｌｉｅｎｔ」に値「ｈｏｓｔ２」が設定されている。
【００３５】
コンフィグレーションデータの意味はシステムに依存する。ここでは、一例として、コンフィグレーションデータは、「Ｃ１はＨＴＴＰサーバとしてｈｏｓｔ２上のＨＴＴＰサーバを用いる」、「Ｃ２はｈｏｓｔ３上のＳＱＬサーバを用いる」、及び、「ＳＱＬサーバはｈｏｓｔ２上のＳＱＬクライアントからのアクセスのみを許可する」を意味するものとする。
【００３６】
図５は、本施形態における関係グラフ生成ルール４１の一例を示す図である。図５を参照すると、関係グラフ生成ルール４１は、パラメータが含まれるパラメータ欄と、解釈ルールが含まれる解釈ルール欄と、ラベルが含まれるラベル欄とからなる行によって構成される表形式のデータである。なお、図５に示した例においては、解釈ルールは自然言語で記述されているものの、他の言語、例えば、プログラム言語のように機械的に処理可能な言語で記述されていてもよい。
【００３７】
図６は、本実施形態における関係グラフの一例を示す図である。図６を参照すると、関係グラフ５１は、コンポーネント（正確には、コンポーネントに対応するシンボル）を頂点とし、弧にラベルが付されたラベル付き有向グラフである。一般のグラフと同様に、関係グラフＧが頂点集合Ｖと弧集合Ａとによって規定される場合には、Ｇ＝（Ｖ、Ａ）と表すことができる。関係グラフの頂点の集合は、システムに含まれるすべてのコンポーネントを要素とする。関係グラフの弧集合の要素は、（Ｃａ、Ｃｂ、Ｌ）のように表し、コンポーネントＣａを始点とし、コンポーネントＣｂを終点とし、ラベルＬが付された弧が存在することを意味する。図６の関係グラフＧは、Ｇ＝（｛Ｃ１、Ｃ２、Ｃ３｝、｛（Ｃ１、Ｃ２、ＨＴＴＰｓ）、（Ｃ２、Ｃ３、ＤＢｓ）、（Ｃ３、Ｃ２、ＤＢｃ）｝）によって表すことができる。
【００３８】
基準関係グラフは、検証対象のシステムが正常に動作しているときのコンポーネント間の依存関係を表す関係グラフである。基準関係グラフ記憶部１５は、基準関係グラフを記憶する。基準関係グラフは、例えば、検証対象システムが正常動作しているときに、関係グラフ生成部１２によって生成した関係グラフを用いることができる。
【００３９】
図２は、本実施形態に係るコンフィグレーションデータ検証装置１１の関係グラフ生成部１２の動作を示すフローチャートである。図２は、コンフィグレーションデータ検証装置１１に、コンフィグレーションデータと、システムを構成するすべてのコンポーネントを列挙したコンポーネント構成データとが入力されたときの関係グラフ生成部１２の動作を示す。
【００４０】
関係グラフ生成部１２は、関係グラフＧ＝（Ｖ、Ａ）を初期化し、頂点集合Ｖが入力されたコンポーネント構成データのコンポーネント集合となるようにするとともに、弧集合Ａが空集合となるようする（ステップＳ２１）。
【００４１】
関係グラフ生成部１２は、ループ処理（ステップＳ２２〜Ｓ２８）において、入力されたコンフィグレーションデータを構成するパラメータ設定を走査し、パラメータ設定ごとに、そのパラメータ設定を「パラメータ設定Ｄ」として、ステップＳ２３以下の処理を行う。関係グラフ生成部１２は、すべてのパラメータ設定について走査を終了した場合には、ループ処理（ステップＳ２２〜Ｓ２８）から抜けて、ステップＳ２９に進む。
【００４２】
関係グラフ生成部１２は、関係グラフ生成ルール記憶部１３に記憶された関係グラフ生成ルール４１を参照して、パラメータ欄がパラメータ設定Ｄのパラメータ欄の値Ｐと同一である行を検索する（ステップＳ２３）。
【００４３】
そのような行が存在する場合には（ステップＳ２４のＹｅｓ）、当該行を行ＲとしてステップＳ２５に進み、それ以外の場合には（ステップＳ２４のＮｏ）、ステップＳ２８に進む。
【００４４】
関係グラフ生成部１２は、パラメータ設定Ｄの値欄の値Ｘについて、関係グラフ生成ルール４１の行Ｒの解釈ルール欄のルールに従って解釈して、関係先コンポーネントＣｄを求める（ステップＳ２５）。
【００４５】
上記Ｘを上記のルールに従って解釈すると関係先のコンポーネントが存在するはずであるもののシステムにはそのようなコンポーネントが存在しない場合のように、関係先のコンポーネントを特定することができない場合には（ステップＳ２６のＹｅｓ）、ステップＳ３０に進む。それ以外の場合には（ステップＳ２６のＮｏ）、ステップＳ２７に進む。
【００４６】
関係グラフ生成部１２は、パラメータ設定Ｄを適用すべきコンポーネント、すなわち、値Ｐで特定されるコンポーネントをＣｓとし、関係グラフ生成ルール４１の行Ｒのラベル欄のラベルをＬとして、弧集合Ａに要素（Ｃｓ、Ｃｄ、Ｌ）、すなわち、始点Ｃｓ、終点Ｃｄ、ラベルＬから成る弧を追加する（ステップＳ２７）。
【００４７】
次に、ループの始端であるステップＳ２２に進み、ループ処理を継続する（ステップＳ２８）。
【００４８】
関係グラフ生成部１２は、ループ処理（ステップＳ２２〜Ｓ２８）を終了した場合には、生成した関係グラフＧを関係グラフ検証部１４に入力する（ステップＳ２９）。
【００４９】
関係グラフ生成部１２は、関係先のコンポーネントを特定することができなかった場合には（ステップＳ２６のＹｅｓ）、入力されたコンフィグレーションデータが失当である旨を出力する（ステップＳ３０）。
【００５０】
図３は、コンフィグレーションデータ検証装置１１の関係グラフ検証部１４の動作を示すフローチャートである。図３は、関係グラフ生成部１２によって生成された関係グラフが関係グラフ検証部１４に入力されたときの関係グラフ検証部１４の動作を示す。関係グラフ検証部１４は、関係グラフＧが入力されると、基準関係グラフ記憶部１５に記憶された基準関係グラフＧｒを読み出す（ステップＳ３１）。
【００５１】
次に、関係グラフ検証部１４は、入力された関係グラフＧと基準関係グラフＧｒとが同型（Ｉｓｏｍｏｒｐｈｉｃ）であるか否かを判定する（ステップＳ３２）。
【００５２】
同型である場合には（ステップＳ３２のＹｅｓ）、ステップＳ３３に進み、それ以外の場合には（ステップＳ３２のＮｏ）、ステップＳ３４に進む。
【００５３】
関係グラフ検証部１４は、入力された関係グラフＧと基準関係グラフＧｒとが同型である場合には（ステップＳ３２のＹｅｓ）、入力されたコンフィグレーションデータは妥当である旨を出力する（ステップＳ３３）。関係グラフ検証部１４は、それ以外の場合には（ステップＳ３２のＮｏ）、入力されたコンフィグレーションデータは失当である旨を出力する（ステップＳ３４）。
【００５４】
コンフィグレーションデータ検証装置１１によると、コンフィグレーションデータの検証を簡易に行うことができる。関係グラフ生成部１２は、コンフィグレーションデータからコンポーネント間の依存関係を抽出して関係グラフを作成し、関係グラフ検証部１４は、その関係グラフがあらかじめ与えられた基準関係グラフと同型か否かを判定することによりコンフィグレーションデータの妥当性を検証するからである。
【００５５】
なお、コンフィグレーションデータ検証装置１１に対して、関係グラフ生成ルール４１及び基準関係グラフを予め与える必要がある。関係グラフ生成ルール４１を作成する際にはシステム全体の知識は不要であり、システムを構成する個々のコンポーネントの知識で記述することができる。コンポーネントを再利用したシステムにおいては関係グラフ生成ルール４１を再利用することができ、関係グラフ生成ルール４１を作成する手間を省くことができる。一方、基準関係グラフは、検証対象システムが正常動作しているときに関係グラフ生成部１２を用いて生成した関係グラフを利用することができる。このとき、基準関係グラフを作成するために、余計な手間を要しない。
【００５６】
図１３は、コンフィグレーションデータ検証装置１１を、コンピュータによって実現する場合におけるコンピュータのハードウェア構成を示すブロック図である。図１３を参照すると、コンピュータ７０は、ＣＰＵ７１、メモリ７２、ハードディスク７３、入力装置７４、及び出力装置７５を備えている。
【００５７】
これらの各部は、バスラインに接続されていてもよい。入力装置７４は、マウス及びキーボードを含んでいてもよい。出力装置７５は、ディスプレイを有していてもよい。ハードディスク７３は、プログラム、関係グラフ生成ルール４１及び基準関係グラフを記憶するようにしてもよい。ＣＰＵ７１は、コンフィグレーションデータ検証装置１１の各部における処理を実行する。
【実施例１】
【００５８】
具体例なデータに基づいて、上記のコンフィグレーションデータ検証装置１１の動作について説明する。ここでは、コンフィグレーションデータとして、図７のシステム構成のシステムのコンフィグレーションデータである図４のコンフィグレーションデータ４２、関係グラフ生成ルールとして、図５の関係グラフ生成ルール４１、基準関係グラフとして、図６の関係グラフ５１が与えられた場合のコンフィグレーションデータ検証装置１１の動作について説明する。
【００５９】
まず、関係グラフ生成部１２は、関係グラフＧを初期化する（ステップＳ２１）。次に、コンフィグレーションデータに含まれるパラメータ設定の一つが選択され、Ｄとして参照される（ステップＳ２２）。ここでは、最初にＤとして参照されるパラメータ設定は、コンフィグレーションデータ４２の最初の行であるＲ２１とする（図４）。
【００６０】
次に、関係グラフ生成部１２は、Ｄのパラメータ欄、すなわち、「Ｃ１：ＨＴＴＰｓｅｒｖｅｒ」に関する関係グラフ生成ルール４１を検索する（ステップＳ２３）。当該パラメータに関するルールは、関係グラフ生成ルール４１の行Ｒ１２である。このとき、該当する行Ｒ１２が存在することから（ステップＳ２４のＹｅｓ）、ステップＳ２５に進む。
【００６１】
関係グラフ生成部１２は、Ｄの値Ｘ（「ｈｏｓｔ２」）を、行Ｒ１２のルール（「値をホスト名と解釈し、ホスト名のホスト上のＨＴＴＰサーバを関係先とせよ」）に従って解釈し、ｈｏｓｔ２上のＨＴＴＰサーバ（Ｃ２）を関係先のコンポーネントＣｄとする（ステップＳ２５）。Ｃｄを求める際に、例えば、ｈｏｓｔ２上にＨＴＴＰサーバが存在せず、関係先が不定となるような問題は生じていない（ステップＳ２６のＮｏ）ことから、ステップＳ２７に進む。
【００６２】
次に、関係グラフ生成部１２は、関係グラフＧの弧集合Ａに対して、要素として（Ｃ１、Ｃ２、ＨＴＴＰｓ）を加える（ステップＳ２７）。次に、ループの始端に戻る（ステップＳ２８）。
【００６３】
関係グラフ生成部１２は、同様にして、コンフィグレーションデータ４２の他の２つの行についても、それぞれ同様の処理を行い、ループ処理（ステップＳ２２〜Ｓ２８）を終了する。関係グラフ生成部１２は、関係グラフＧ＝（｛Ｃ１、Ｃ２、Ｃ３｝、｛（Ｃ１、Ｃ２、ＨＴＴＰｓ）、（Ｃ２、Ｃ３、ＤＢｓ）、（Ｃ３、Ｃ２、ＤＢｃ）｝）を、関係グラフ検証部１４に入力する（ステップＳ２９）。なお、この関係グラフＧは、図６に示した関係グラフ５１と同一である。
【００６４】
関係グラフ検証部１４は、関係グラフ５１を基準関係グラフＧｒとして読み出す（ステップＳ３１）。次に、関係グラフ検証部１４は、関係グラフ生成部１２によって入力された関係グラフＧと、基準関係グラフＧｒとが同型であるか否かを判定する（ステップＳ３２）。関係グラフＧ及びＧｒは、いずれも図６に示した関係グラフ５１と同一であることから、関係グラフ検証部１４は、これらは同型であると判定し（ステップＳ３２のＹｅｓ）、コンフィグレーションデータは妥当である旨を出力する（ステップＳ３３）。
【実施例２】
【００６５】
第２の具体的なデータに基づいて、コンフィグレーションデータ検証装置の動作について説明する。ここでは、コンフィグレーションデータとして、図８のシステム構成のシステムのコンフィグレーションデータである図９のコンフィグレーションデータ４３、関係グラフ生成ルールとして、図５の関係グラフ生成ルール４１、基準関係グラフとして、図６の関係グラフ５１が与えられた場合のコンフィグレーションデータ検証装置１１の動作について説明する。
【００６６】
なお、図８に示したシステム構成は、図７に示したシステム構成において、ＨＴＴＰサーバを、ｈｏｓｔ２上のＣ２からｈｏｓｔ４上のＣ４に置き換えたものである。これは、クラウド型サービス提供システムにおいて頻繁に発生する変更、すなわち、機能が同等で容量の異なるコンポーネントへの変更を模したものである。
【００６７】
このとき、関係グラフ生成部１２は、実施例１と同様の処理を経て、最終的に、関係グラフＧ＝（｛Ｃ１、Ｃ２、Ｃ３、Ｃ４｝、｛（Ｃ１、Ｃ４、ＨＴＴＰｓ）、（Ｃ４、Ｃ３、ＤＢｓ）、（Ｃ３、Ｃ４、ＤＢｃ）｝）を、関係グラフ検証部１４に入力する（ステップＳ２９）。なお、この関係グラフＧは、図１０の関係グラフ５２と同一である。
【００６８】
関係グラフ検証部１４は、関係グラフ生成部１２によって入力された関係グラフＧと、基準グラフＧｒとして入力された関係グラフ５１とが同型か否かを判定する（ステップＳ３２）。関係グラフＧ及びＧｒは同型であることから（ステップＳ３２のＹｅｓ）、関係グラフ検証部１４は、コンフィグレーションデータは妥当である旨を出力する（ステップＳ３３）。
【実施例３】
【００６９】
第２の具体的なデータに基づいて、コンフィグレーションデータ検証装置の動作について説明する。ここでは、コンフィグレーションデータとして、図８のシステム構成のシステムに対する「誤った」コンフィグレーションデータである図１１のコンフィグレーションデータ４４、関係グラフ生成ルールとして、図５の関係グラフ生成ルール４１、基準関係グラフとして、図６の関係グラフ５１が与えられた場合の、コンフィグレーションデータ検証装置１１の動作について説明する。
【００７０】
なお、図８のシステムに対する「正しい」コンフィグレーションデータは、図９のコンフィグレーションデータ４３である。ここでは、図７のシステムから図８のシステムに移行する際に、コンフィグレーションデータの一部（すなわち、図４のＲ２３の値欄）の変更を忘れた場合に、図１１のような「誤った」コンフィグレーションデータが発生する。
【００７１】
関係グラフ生成部１２は、実施例１と同様の処理を経て、最終的に、関係グラフＧ＝（｛Ｃ１、Ｃ２、Ｃ３、Ｃ４｝、｛（Ｃ１、Ｃ４、ＨＴＴＰｓ）、（Ｃ４、Ｃ３、ＤＢｓ）、（Ｃ３、Ｃ２、ＤＢｃ）｝）を、関係グラフ検証部１４に入力する（ステップＳ２９）。なお、この関係グラフＧは、図１２の関係グラフ５３と同一である。
【００７２】
関係グラフ検証部１４は、関係グラフ生成部１２によって入力された関係グラフＧと、基準グラフＧｒとして入力された関係グラフ５１とが同型であるか否かを判定する（ステップＳ３２）。関係グラフＧと基準関係グラフＧｒとは同型でないことから（ステップＳ３２のＮｏ）、関係グラフ検証部１４は、コンフィグレーションデータは失当である旨を出力する（ステップＳ３４）。
【００７３】
以上の記載は、実施例に基づいて行ったが、本発明は上記実施例に限定されるものではない。
【符号の説明】
【００７４】
１１  コンフィグレーションデータ検証装置
１２  関係グラフ生成部
１３  関係グラフ生成ルール記憶部
１４  関係グラフ検証部
１５  基準関係グラフ記憶部
１６  コンフィグレーションデータ及びコンポーネント構成データ
４１  関係グラフ生成ルール
４２、４３、４４  コンフィグレーションデータ
５１、５２、５３  関係グラフ
７０  コンピュータ
７１  ＣＰＵ
７２  メモリ
７３  ハードディスク
７４  入力装置
７５  出力装置
【図１】
2010256978.tif 000003
【図２】
2010256978.tif 000004
【図３】
2010256978.tif 000005
【図４】
2010256978.tif 000006
【図５】
2010256978.tif 000007
【図６】
2010256978.tif 000008
【図７】
2010256978.tif 000009
【図８】
2010256978.tif 000010
【図９】
2010256978.tif 000011
【図１０】
2010256978.tif 000012
【図１１】
2010256978.tif 000013
【図１２】
2010256978.tif 000014
【図１３】
2010256978.tif 000015