(57)【要約】【課題】コマンドを抽象化して記述したスクリプトの適用可否を判定することを課題とする。【解決手段】検証装置は、第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、変数と項目との関係を示す第１の対応関係を生成する。検証装置は、第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、変数と項目との関係を示す第２の対応関係を生成する。検証装置は、第１の対応関係と、第２の対応関係との差分を抽出する。【選択図】図２
2014194665.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理を実行させることを特徴とする検証プログラム。
【請求項２】
前記第１の対応関係を生成する処理は、前記スクリプトにおいて実行対象のシステムにしたがって具体的なコマンドを生成する具体化規則内の条件文で指定される変数が取り得る値と、前記第１のシステム構成における構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す前記第１の対応関係を生成し、
前記第２の対応関係を生成する処理は、前記具体化規則内の条件文で指定される変数が取り得る値と、前記第２のシステム構成における構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す前記第２の対応関係を生成し、
前記差分を抽出する処理は、前記第１の対応関係と前記第２の対応関係との差分にしたがって、前記具体化規則の不備を抽出する
ことを特徴とする請求項１に記載の検証プログラム。
【請求項３】
前記差分を抽出する処理は、前記第２の対応関係に含まれる前記変数と前記項目との組み合わせから、前記第１の対応関係に含まれない組み合わせを抽出することを特徴とする請求項１または２に記載の検証プログラム。
【請求項４】
コンピュータが、
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理を含んだことを特徴とする検証方法。
【請求項５】
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成する第１生成部と、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成する第２生成部と、
前記第１生成部が生成した前記第１の対応関係と、前記第２生成部が生成した前記第２の対応関係との差分を抽出する抽出部と
有することを特徴とする検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証プログラム、検証方法および検証装置に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングの普及により、ＩＣＴ（Information  and  Communication  Technology）システムの大規模化や複雑化が進んでいる。ユーザ側は、スケールメリットによる利用単価の低減やサーバの運用管理作業のアウトソーシングによって、コストが削減できる。
【０００３】
データセンタを運営する企業側は、多数のユーザを大規模データセンタに収容できる一方で、システム運用管理が複雑化している。このため、パッチ適用やサーバシャットダウンなどの操作のように、同じ構成の機器に対する同一の操作をスクリプト化することで、システム運用管理の効率化が行われている。また、異なる構成の機器に対して同一の操作を実行する場合には、コマンド等が異なるので、準備するスクリプトの数も増加する。
【０００４】
このため、機器間の差異を隠蔽できるレベルでコマンドを抽象化して記述した、抽象化されたスクリプトを用意する。そして、抽象化されたスクリプトを実行する際に、操作対象の設定や構成に基づいて記述された変換規則にしたがって、抽象化されたコマンドを具体的な記載に変換する技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１０／０５０５２４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、スクリプト実行対象の機器に構成変更が発生した場合に、抽象化されたスクリプトの変換規則の妥当性を判定できないので、抽象化されたスクリプト適用可否を判定できないという問題がある。
【０００７】
なお、目視による妥当性の判定も考えられるが、複雑なシステムでは、抽象化されたスクリプトの変換規則も複雑になるので、確認漏れが発生し、信頼性は低い。
【０００８】
１つの側面では、コマンドを抽象化して記述したスクリプトの適用可否を判定できる検証プログラム、検証方法および検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、コンピュータに、第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成する処理を実行させる。コンピュータに、前記第１のシステム構成とは異なる第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成する処理を実行させる。コンピュータに、前記第１の対応関係と前記第２の対応関係との差分を抽出する処理を実行させる。
【発明の効果】
【００１０】
本発明の１実施態様によれば、コマンドを抽象化して記述したスクリプトの適用可否を判定できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るシステムの全体構成例を示す図である。
【図２】図２は、実施例１に係る検証サーバの機能構成を示す機能ブロック図である。
【図３】図３は、スクリプトＤＢに記憶されるスクリプトの例を示す図である。
【図４】図４は、操作対象リストＤＢに記憶されるリストの例を示す図である。
【図５】図５は、構成情報ＤＢに記憶される構成情報の例を示す図である。
【図６】図６は、構成要素ＤＢに記憶される構成要素の例を示す図である。
【図７】図７は、抽出結果ＤＢに記憶される情報の例を示す図である。
【図８】図８は、対応関係ＤＢに記憶される情報の例を示す図である。
【図９】図９は、システム構成変更前の依存関係を抽出する例を示す図である。
【図１０】図１０は、システム構成変更前の対応関係の生成例を示す図である。
【図１１】図１１は、システム構成変更後の構成情報の例を示す図である。
【図１２】図１２は、システム構成変更後の操作対象リストのＶＭのリストを示す図である。
【図１３】図１３は、システム構成変更後の依存関係を抽出する例を示す図である。
【図１４】図１４は、システム構成変更後の対応関係の生成例を示す図である。
【図１５】図１５は、対応関係の差分抽出例を示す図である。
【図１６】図１６は、実施例１に係る処理の流れを示すフローチャートである。
【図１７】図１７は、検証サーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する検証プログラム、検証方法および検証装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［全体構成］
図１は、実施例１に係るシステムの全体構成例を示す図である。図１に示すように、このシステムは、クラウドシステム１とＣＭＤＢ（Configuration  Management  Database）５と検証サーバ１０とを有する。
【００１４】
クラウドシステム１は、複数の物理サーバ１ａを有する複数のデータセンタを収容し、例えばユーザに仮想マシン（ＶＭ：Virtual  Machine）を提供するシステムの一例である。ＣＭＤＢ５は、クラウドシステム１を構成する構成要素（ＣＩ：Configuration  Item）の構成を記憶するデータベースの一例である。例えば、ＣＭＤＢ５は、クラウドシステム１で動作する物理サーバと物理サーバ上で動作する仮想マシンの関係等を記憶する。
【００１５】
検証サーバ１０は、クラウドシステム１の各物理サーバや仮想マシンに対して実行するスクリプトの有効性を検証するサーバ装置の一例である。この検証サーバ１０は、第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、変数と前記項目との関係を示す第１の対応関係を生成する。続いて、検証サーバ１０は、第１のシステム構成とは異なる第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、変数と項目との関係を示す第２の対応関係を生成する。そして、検証サーバ１０は、第１の対応関係と第２の対応関係との差分を抽出する。
【００１６】
このように、検証サーバ１０は、スクリプトの実行対象システムの構成変更前後で、スクリプトの条件文が取り得る値と構成情報中の項目が取り得る値とに基づき、変数と項目の対応関係を生成し、対応関係の差分から、スクリプトの適用可否を判定できる。この結果、検証サーバ１０は、コマンドを抽象化して記述したスクリプトの適用可否を判定できる。
【００１７】
［機能構成］
図２は、実施例１に係る検証サーバの機能構成を示す機能ブロック図である。図２に示すように、検証サーバ１０は、通信制御部１１、入力部１２、表示部１３、記憶部１４、制御部１５を有する。
【００１８】
通信制御部１１は、他の装置の通信を制御する処理部であり、例えばネットワークインタフェースなどである。入力部１２は、ユーザ等からの指示操作を受け付ける処理部であり、例えばマウスやキーボードなどである。表示部１３は、各種情報を表示する処理部であり、例えばディスプレイやタッチパネルなどである。
【００１９】
記憶部１４は、メモリや半導体素子などの記憶装置である。この記憶部１４は、スクリプトＤＢ１５、操作対象リストＤＢ１６、構成情報ＤＢ１７、構成要素ＤＢ１８、抽出結果ＤＢ１９、対応関係ＤＢ２０を有する。
【００２０】
スクリプトＤＢ１５は、クラウドシステム１に実行するスクリプトを記憶するデータベースである。例えば、スクリプトＤＢ１５は、抽象化されたスクリプトであって、実行対象のシステムにしたがって具体的なコマンドを生成する具体化規則を有するスクリプトを記憶する。
【００２１】
図３は、スクリプトＤＢに記憶されるスクリプトの例を示す図である。図３に示すように、ここで記憶されるスクリプトは、パッチ適用スクリプトであり、スクリプト名が「ｐａｔｃｈ１」である。このスクリプトは、まず、操作対象リスト（List１）を読み込んで操作対象のＶＭを取得し、各ＶＭの稼動しているＶＭＭ（Virtual  Machine  Manager）を取得する。次に、スクリプトは、ＶＭＭで各ＶＭのスナップショットを採取する。ここで、スクリプトは、ＯＳ（Ｘ）の場合には、「xe  vm−snapshotコマンド」を実行し、ＯＳ（Ｋ）の場合には、「createsnapshotコマンド」を実行する。
【００２２】
次に、スクリプトは、各ＶＭのアップデートを作成し、物理サーバを再起動する。具体的には、性能的な制約により、２０１０年モデルは３０秒停止、２０１１年モデルは１０秒停止してから再起動を実行する。ここで、スナップショットを作成する記述や再起動を定義する記述が、スクリプト内の具体化規則となる。
【００２３】
操作対象リストＤＢ１６は、スクリプトによる操作対象のＶＭのリストを記憶するデータベースである。具体的には、操作対象リストＤＢ１６は、管理者等によって更新される。また、ここで記憶されるＶＭがスクリプトの実行対象となる。図４は、操作対象リストＤＢに記憶されるリストの例を示す図である。図４に示すように、操作対象リストＤＢ１６は、「ＶＭ１、ＶＭ２、ＶＢ３、ＶＭ４、ＶＭ５、ＶＭ６」を記憶する。つまり、ＶＭ１からＶＭ６までが、現在、スクリプトの実行対象に指定されている。
【００２４】
構成情報ＤＢ１７は、クラウドシステム１の構成情報を記憶するデータベースである。ここで記憶される情報は、ＣＭＤＢ５と同じ情報であってもよく、ＣＭＤＢ５から該当情報を抽出して記憶させてもよい。図５は、構成情報ＤＢに記憶される構成情報の例を示す図である。
【００２５】
図５に示すように、構成情報ＤＢ１７は、クラウドシステム１で稼動する構成要素の依存関係として、物理サーバとＶＭＭと各ＶＭの依存関係を記憶する。例えば、構成情報ＤＢ１７は、２０１０年モデルのＳｅｒｖｅｒ１上で、ＯＳ（Ｘ）で動作するＶＭＭ１が稼動し、ＶＭＭ１上でＶＭ１とＶＭ２とＶＭ３とが稼動することを示す情報を記憶する。同様に、構成情報ＤＢ１７は、２０１１年モデルのＳｅｒｖｅｒ２上で、ＯＳ（Ｋ）で動作するＶＭＭ２が稼動し、ＶＭＭ２上でＶＭ４とＶＭ５とＶＭ６とが稼動することを示す情報を記憶する。
【００２６】
つまり、ＶＭ１とＶＭ２とＶＭ３は、ＶＭＭ１に対して、「InatantiatedOn」の関係にあり、ＶＭＭ１は、Ｓｅｒｖｅｒ１に対して「runningOn」の関係にある。同様に、ＶＭ４とＶＭ５とＶＭ６は、ＶＭＭ２に対して、「InatantiatedOn」の関係にあり、ＶＭＭ２は、Ｓｅｒｖｅｒ２に対して「runningOn」の関係にある。
【００２７】
構成要素ＤＢ１８は、クラウドシステム１で稼動する構成要素の情報を記憶するデータベースである。ここで記憶される情報は、ＣＭＤＢ５と同じ情報であってもよく、ＣＭＤＢ５から該当情報を抽出して記憶させてもよい。図６は、構成要素ＤＢに記憶される構成要素の例を示す図である。
【００２８】
図６に示すように、構成要素ＤＢ１８は、ＶＭ、ＶＭＭ、物理サーバの各構成要素について、各構成要素が取り得る値を記憶する。具体的には、構成要素ＤＢ１８は、ＶＭのパラメータ情報として「Ｎａｍｅ、Ｏｗｎｅｒ、ＯＳ」等を記憶する。ここで記憶される「Ｎａｍｅ」は、ＶＭの名称であり、「Ｏｗｎｅｒ」は、ＶＭを使用するユーザの名称であり、「ＯＳ」は、ＶＭで稼動するＯＳ（Operating  System）の名称である。図６の場合、Ｔａｎａｋａが使用するＶＭ１では、ＯＳ（Ｃｅｎ）が稼動していることを示す。
【００２９】
また、構成要素ＤＢ１８は、ＶＭＭのパラメータ情報として「Ｎａｍｅ、ＩＰ、ＯＳ」等を記憶する。ここで記憶される「Ｎａｍｅ」は、ＶＭＭの名称であり、「ＩＰ」は、ＶＭを使用するＩＰ（Internet  Protocol）アドレスであり、「ＯＳ」は、ＶＭＭが稼動しているＯＳの名称である。図６の場合、ＶＭＭ１には、１９２．１６８．１０．１が設定されており、このＶＭＭ１は、ＯＳ（Ｘ）上で稼動していることを示す。
【００３０】
また、構成要素ＤＢ１８は、物理サーバのパラメータ情報として「Ｎａｍｅ、Ｒｅｇｉｏｎ、Ｍｏｄｅｌ」等を記憶する。ここで記憶される「Ｎａｍｅ」は、物理サーバの名称であり、「Ｒｅｇｉｏｎ」は、物理サーバが設定される地域を示す情報であり、「Ｍｏｄｅｌ」は、物理サーバの年式を示す情報である。図６の場合、Ｓｅｒｖｅｒ１は、Ｔｏｋｙｏに設置されており、２０１０年式の物理サーバであることを示す。
【００３１】
図２に戻り、抽出結果ＤＢ１９は、クラウドシステム１内における各構成要素の依存関係の抽出結果を記憶するデータベースである。ここで記憶される情報は、後述する構成情報抽出部２７によって生成される。図７は、抽出結果ＤＢに記憶される情報の例を示す図である。
【００３２】
図７に示すように、抽出結果ＤＢ１９は、「操作対象、Ｏｗｎｅｒ、ＯＳ、依存１：ＩＰ、依存１：ＯＳ、依存２：Ｒｅｇｉｏｎ、依存２：Ｍｏｄｅｌ」を対応付けて記憶する。つまり、抽出結果ＤＢ１９は、各操作対象の依存関係を記憶する。
【００３３】
ここで記憶される「操作対象」は、操作対象リストＤＢ１６に記憶される操作対象リストに対応する。「Ｏｗｎｅｒ」と「ＯＳ」は、構成情報ＤＢ１７のＶＭのパラメータ情報に対応する。「依存１」は、操作対象のＶＭと第１の依存関係にある情報を示し、ここでは構成情報ＤＢ１７のＶＭＭのパラメータ情報に対応する。「依存２」は、操作対象のＶＭと第２の依存関係にある情報を示し、ここでは構成情報ＤＢ１７の物理サーバのパラメータ情報に対応する。
【００３４】
つまり、抽出結果ＤＢ１９は、操作対象のＶＭについて、１つ目の依存関係がＩＰアドレスとＯＳであり、２つ目の依存関係がＲｅｇｉｏｎとＭｏｄｅｌであることを示している。図７の場合、操作対象の「ＶＭ１」は、Ｔａｎａｋａが使用する仮想マシンであり、ＯＳ（Ｃｅｎ）が稼動していることを示す。そして、この「ＶＭ１」が「依存１：InatantiatedOn」で依存しているのは「ＩＰアドレス」パラメータと「ＯＳ」パラメータである。具体的には、「ＶＭ１」が「依存１：InatantiatedOn」で依存しているのは「ＩＰアドレス：１９２．１６８．１０．１」と「ＯＳ：ＯＳ（Ｘ）」であることを示している。また、「ＶＭ１」が「依存２：runningOn」で依存しているのは「Ｒｅｇｉｏｎ」パラメータと「Ｍｏｄｅｌ」パラメータである。具体的には、「ＶＭ１」が「依存２：runningOn」で依存しているのは「Ｒｅｇｉｏｎ：Ｔｏｋｙｏ」と「Ｍｏｄｅｌ：２０１０」であることを示している。
【００３５】
対応関係ＤＢ２０は、スクリプトから抽出した条件文で指定される変数が取り得る値と、構成情報中の項目が取り得る値とから生成された対応関係を記憶するデータベースである。また、対応関係ＤＢ２０は、世代ごとに対応関係を記憶する。例えば、対応関係ＤＢ２０は、システム構成変更前の第１世代の対応関係と、システム構成変更後の第２世代の対応関係を記憶する。
【００３６】
図８は、対応関係ＤＢに記憶される情報の例を示す図である。図８に示すように、対応関係ＤＢは、第１世代の対応関係と第２世代の対応関係を記憶する。対応関係は、「変数名、パラメータ名」を対応付けて記憶する。「変数名」は、スクリプトから抽出した条件文で指定される変数名を示す。「パラメータ名」は、構成情報中の項目とその依存関係を示す。なお、対応関係ＤＢ２０は、「スクリプト名」を対応付けることで各スクリプトごとに対応関係を記憶してもよい。
【００３７】
図８は、ｐａｔｃｈ１のスクリプトについて抽出された対応関係を示している。図８に示す第１世代は、変数「＄ｖｎａｍｅ」と、構成情報中の依存関係で特定される「InatantiatedOn  →  ＯＳ」とが対応していることを示す。つまり、システム構成変更前は、ｐａｔｃｈ１のスクリプト名の変数「＄ｖｎａｍｅ」で定義される値と、抽出された構成情報の依存関係のうち操作対象の「ＶＭ」において「依存１：InatantiatedOn」の「ＯＳ」で設定される値とが対応していることを示す。同様に、システム構成変更前は変数「＄ｓｖ」と、構成情報中の依存関係で特定される「InatantiatedOn  →  runningOn  →  Ｍｏｄｅｌ」とが対応していることを示す。
【００３８】
また、図８に示す第２世代は、変数「＄ｖｎａｍｅ」と、構成情報中の依存関係で特定される「InatantiatedOn  →  ＯＳ」とが対応していることを示す。つまり、システム構成変更後は、ｐａｔｃｈ１のスクリプト名の変数「＄ｖｎａｍｅ」で定義される値と、抽出された構成情報の依存関係のうち操作対象の「ＶＭ」において「依存１：InatantiatedOn」の「ＯＳ」で設定される値とが対応していることを示す。
【００３９】
図２戻り、制御部２５は、スクリプト抽出部２６、構成情報抽出部２７、対応関係生成部２８、差分抽出部２９を有する。例えば、制御部２５は、ＣＰＵ（Central  Processing  Unit）などの電子回路である。各処理部は、制御部２５が実行するプログラム等によって実現される。
【００４０】
スクリプト抽出部２６は、第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値を抽出する処理部である。具体的には、スクリプト抽出部２６は、管理者からの指示を受け付けた場合、スクリプトやシステムの構成情報が変更された場合、定期的なタイミングなど任意のタイミングに到達した場合に、スクリプトＤＢ１５からスクリプトを抽出する。そして、スクリプト抽出部２６は、スクリプト内の具体化規則内の条件文で指定される変数が取り得る値を抽出して、対応関係生成部２８に出力する。
【００４１】
例えば、図３を例にして説明すると、スクリプト抽出部２６は、スナップショット作成の条件文から変数名「＄ｖｎａｍｅ」が取り得る値として「ＯＳ（Ｘ）」と「ＯＳ（Ｋ）」とを抽出する。また、スクリプト抽出部２６は、リブートする際の条件文から変数名「＄ｓｖ」が取り得る値として「２０１０」と「２０１１」とを抽出する。
【００４２】
構成情報抽出部２７は、システム構成の構成情報中の項目が取り得る値を抽出する処理部である。具体的には、構成情報抽出部２７は、スクリプト抽出部２６と同様のタイミングで、操作対象リストＤＢ１６と構成情報ＤＢ１７と構成要素ＤＢ１８とを参照し、抽出結果ＤＢ１９に記憶させる情報を生成する。
【００４３】
図９は、システム構成変更前の依存関係を抽出する例を示す図である。図９に示すように、構成情報抽出部２７は、所定のタイミングに到達すると、操作対象リストＤＢ１６から「ＶＭ１、ＶＭ２、ＶＢ３、ＶＭ４、ＶＭ５、ＶＭ６」を抽出する。そして、構成情報抽出部２７は、操作対象リストの各ＶＭと、構成情報ＤＢ１７に記憶される構成要素の依存関係とから、操作対象リストの各ＶＭが依存する構成要素を抽出する。例えば、構成情報抽出部２７は、「操作対象、依存１：InatantiatedOn、依存２：InatantiatedOn  →  runningOn」として「ＶＭ１、ＶＭＭ１、Ｓｅｒｖｅｒ１」や「ＶＭ２、ＶＭＭ１、Ｓｅｒｖｅｒ１」などを抽出する。つまり、構成情報抽出部２７は、操作対象リストの各ＶＭがどの物理サーバのどのＶＭＭで稼動しているかを抽出する。
【００４４】
その後、構成情報抽出部２７は、操作対象の各ＶＭについて、構成情報ＤＢ１７に記憶されるＶＭのパラメータ情報、ＶＭＭのパラメータ情報、物理サーバのパラメータ情報を対応付ける。例えば、構成情報抽出部２７は、操作対象の「ＶＭ１」を例にして説明する。まず、構成情報抽出部２７は、「ＶＭ１」が「依存１：InatantiatedOn」で依存する構成要素が「ＶＭＭ１」であり、「依存２：InatantiatedOn  →  runningOn」で依存するのが「Ｓｅｒｖｅｒ１」であることを抽出する。
【００４５】
次に、構成情報抽出部２７は、ＶＭ１の「Ｎａｍｅ（ＶＭ１）、Ｏｗｎｅｒ（Ｔａｎａｋａ）、ＯＳ（ＯＳ（Ｃｅｎ））」に、ＶＭＭ１の「ＩＰ（１９２．１６８．１０．１）、ＯＳ（ＯＳ（Ｘ））」を対応付ける。さらに、構成情報抽出部２７は、ＶＭ１の「Ｎａｍｅ（ＶＭ１）、Ｏｗｎｅｒ（Ｔａｎａｋａ）、ＯＳ（ＯＳ（Ｃｅｎ））」に、Ｓｅｒｖｅｒ１の「Ｒｅｇｉｏｎ（Ｔｏｋｙｏ）、Ｍｏｄｅｌ（２０１０）」を対応付ける。このように、構成情報抽出部２７は、操作対象のＶＭが属するＶＭＭとＳｅｒｖｅｒを特定し、各ＶＭが動作するＶＭＭおよび物理サーバの動作環境を、各ＶＭに対応付けて抽出する。そして、構成情報抽出部２７は、抽出した情報を抽出結果ＤＢ１９に格納し、抽出処理が終了したことを対応関係生成部２８に通知する。
【００４６】
対応関係生成部２８は、スクリプトから抽出した条件文で指定される変数が取り得る値と、構成情報中の項目が取り得る値とから生成された対応関係を生成する処理部である。具体的には、対応関係生成部２８は、スクリプト抽出部２６から入力された情報と、抽出結果ＤＢ１９に記憶される情報とを参照して、対応関係を生成し、生成した対応関係を対応関係ＤＢ２０に格納する。
【００４７】
図１０は、システム構成変更前の対応関係の生成例を示す図である。対応関係生成部２８は、スクリプト抽出部２６から、「変数名、取り得る値」として「＄ｖｎａｍｅ、ＯＳ（Ｘ）・ＯＳ（Ｋ）」と「＄ｓｖ、２０１０・２０１１」を受け付ける（Ｓ１）。
【００４８】
また、対応関係生成部２８は、抽出結果ＤＢ１９に記憶される抽出結果を参照し、「パラメータ名、取り得る値」を抽出する（Ｓ２）。例えば、対応関係生成部２８は、「Ｏｗｎｅｒ」が取り得る値として「Ｔａｎａｋａ、Ｏｇａｗａ、Ａｂｅ、Ｎａｋａｍｕｒａ、Ｎａｇａｉ、Ｔａｋａｇｉ」を抽出する。また、対応関係生成部２８は、「ＯＳ」が取り得る値として「ＯＳ（Ｃｅｎ）、ＯＳ（Ｕｂ）、ＯＳ（Ｗ７）」を抽出する。
【００４９】
さらに、対応関係生成部２８は、「依存１：InatantiatedOnのＩＰ」が取り得る値として「１９２．１６８．１０．１、１９２．１６８．１０．２」を抽出し、「依存１：InatantiatedOnのＯＳ」が取り得る値として「ＯＳ（Ｘ）、ＯＳ（Ｋ）」を抽出する。また、対応関係生成部２８は、「依存１：InatantiatedOnの依存２：runningOnのRegion」が取り得る値として「Ｔｏｋｙｏ」を抽出し、「依存１：InatantiatedOnの依存２：runningOnのModel」が取り得る値として「２０１０、２０１１」を抽出する。
【００５０】
その後、対応関係生成部２８は、スクリプトから抽出された「変数名、取り得る値」と、構成情報から抽出された「パラメータ名、取り得る値」とを比較して、対応関係を生成する（Ｓ３）。具体的には、対応関係生成部２８は、スクリプトから抽出された「変数名、取り得る値」と一致する「パラメータ名、取り得る値」を抽出する。このとき、対応関係生成部２８は、完全一致する情報を抽出するとしてもよく、「変数名、取り得る値」を包含する「パラメータ名、取り得る値」を抽出してもよい。
【００５１】
例えば、対応関係生成部２８は、スクリプトの変数名「＄ｖｎａｍｅ」が取り得る値「ＯＳ（Ｘ）・ＯＳ（Ｋ）」を包含する構成情報のパラメータ名として「依存１：InatantiatedOnのＯＳ」を特定する。同様に、対応関係生成部２８は、スクリプトの変数名「＄ｓｖ」が取り得る値「２０１０・２０１１」を包含する構成情報のパラメータ名として「依存１：InatantiatedOnの依存２：runningOnのModel」を特定する。
【００５２】
そして、対応関係生成部２８は、スクリプトの変数名「＄ｖｎａｍｅ」と構成情報のパラメータ名「依存１：InatantiatedOnのＯＳ」とを対応付ける。さらに、対応関係生成部２８は、スクリプトの変数名「＄ｓｖ」と構成情報のパラメータ名「依存１：InatantiatedOnの依存２：runningOnのModel」とを対応付ける。その後、対応関係生成部２８は、対応関係「＄ｖｎａｍｅ、依存１：InatantiatedOnのＯＳ」と、対応関係「＄ｓｖ、依存１：InatantiatedOnの依存２：runningOnのModel」を対応関係ＤＢ２０に格納する（Ｓ４）。
【００５３】
差分抽出部２９は、対応関係ＤＢ２０に記憶される第１世代の対応関係と第２世代の対応関係との差分を抽出する処理部である。つまり、差分抽出部２９は、システム構成変更前に作成された対応関係と、システム構成変更後に生成された対応関係とを比較して、対応関係の変化を検出する。そして、差分抽出部２９は、差分の有無に応じて、アラーム等を表示部１３に表示させる。
【００５４】
［具体例］
次に、システム構成変更前の対応関係とシステム構成変更後の対応関係の生成および比較について、具体例を挙げて説明する。なお、スクリプトは、図３に示したものとし、システム構成変更前の対応関係の生成は、図３から図１０で説明したものと同一とする。したがって、システム構成変更前の第１世代の対応関係として、対応関係「＄ｖｎａｍｅ、依存１：InatantiatedOnのＩＰ」と、対応関係「＄ｓｖ、依存１：InatantiatedOnの依存２：runningOnのModel」とが生成されているものとする。
【００５５】
（構成変更後のシステム）
続いて、システム構成変更後の対応関係の生成について説明する。図１１は、システム構成変更後の構成情報の例を示す図である。図１１に示すように、構成情報ＤＢ１７は、クラウドシステム１のシステム構成変更後の構成要素の依存関係を記憶する。例えば、構成情報ＤＢ１７は、２０１０年モデルのＳｅｒｖｅｒ１上で、ＯＳ（Ｘ）で動作するＶＭＭ１が稼動し、ＶＭＭ１上でＶＭ１とＶＭ２とＶＭ３とが稼動することを記憶する。同様に、構成情報ＤＢ１７は、２０１１年モデルのＳｅｒｖｅｒ２上で、ＯＳ（Ｋ）で動作するＶＭＭ２が稼動し、ＶＭＭ２上でＶＭ４とＶＭ５とが稼動することを記憶する。同様に、構成情報ＤＢ１７は、２０１２年モデルのＳｅｒｖｅｒ３上で、ＯＳ（Ｋ）で動作するＶＭＭ３が稼動し、ＶＭＭ２上でＶＭ６が稼動することを記憶する。
【００５６】
つまり、ＶＭ１とＶＭ２とＶＭ３は、ＶＭＭ１に対して、「InatantiatedOn」の関係にあり、ＶＭＭ１は、Ｓｅｒｖｅｒ１に対して「runningOn」の関係にある。同様に、ＶＭ４とＶＭ５は、ＶＭＭ２に対して「InatantiatedOn」の関係にあり、ＶＭＭ２は、Ｓｅｒｖｅｒ２に対して「runningOn」の関係にある。同様に、ＶＭ６は、ＶＭＭ３に対して「InatantiatedOn」の関係にあり、ＶＭＭ３は、Ｓｅｒｖｅｒ３に対して「runningOn」の関係にある。
【００５７】
システム構成変更前の図５と、システム構成変更後の図１１とを比較すると、物理サーバ「Ｓｅｒｖｅｒ３」が新たに増設する構成変更が行われたことがわかる。また、増設されたＳｅｒｖｅｒ３上で「ＶＭＭ３」が稼動し、「ＶＭ６」は「ＶＭＭ２」上ではなく「ＶＭＭ３」上で稼動していることもわかる。
【００５８】
（構成変更後の操作対象）
次に、システム構成変更後の操作対象リストを説明する。図１２は、システム構成変更後の操作対象リストのＶＭのリストを示す図である。図１２に示すように、システム構成語は、管理者等によって、「ＶＭ４、ＶＭ５、ＶＭ６」がスクリプトの実行対象に指定されている。なお、システム構成変更後の操作対象リストＤＢ１６には、「ＶＭ４、ＶＭ５、ＶＭ６」が格納される。
【００５９】
（構成変更後の依存関係）
このような状態において、構成情報抽出部２７は、システム構成変更後の依存関係を抽出する。図１３は、システム構成変更後の依存関係を抽出する例を示す図である。図１３に示すように、構成情報抽出部２７は、操作対象リストＤＢ１６から「ＶＭ４、ＶＭ５、ＶＭ６」を抽出する。そして、構成情報抽出部２７は、操作対象リストの各ＶＭと、構成情報ＤＢ１７に記憶される構成要素の依存関係とから、操作対象リストの各ＶＭが依存する構成要素を抽出する。例えば、構成情報抽出部２７は、「操作対象、依存１：InatantiatedOn、依存２：InatantiatedOn  →  runningOn」として「ＶＭ４、ＶＭＭ２、Ｓｅｒｖｅｒ２」、「ＶＭ５、ＶＭＭ２、Ｓｅｒｖｅｒ２」、「ＶＭ６、ＶＭＭ２、Ｓｅｒｖｅｒ２」を抽出する。
【００６０】
その後、構成情報抽出部２７は、操作対象の各ＶＭについて、構成情報ＤＢ１７に記憶されるＶＭのパラメータ情報、ＶＭＭのパラメータ情報、物理サーバのパラメータ情報を対応付ける。例えば、構成情報抽出部２７は、操作対象の「ＶＭ４」を例にして説明する。まず、構成情報抽出部２７は、「ＶＭ４」が「依存１：InatantiatedOn」で依存する構成要素が「ＶＭＭ２」であり、「依存２：InatantiatedOn  →  runningOn」」で依存するのが「Ｓｅｒｖｅｒ２」であることを抽出する。
【００６１】
次に、構成情報抽出部２７は、ＶＭ４の「Ｎａｍｅ（ＶＭ４）、Ｏｗｎｅｒ（Ｎａｋａｍｕｒａ）、ＯＳ（ＯＳ（Ｃｅｎ））」に、ＶＭＭ２の「ＩＰ（１９２．１６８．１０．２）、ＯＳ（ＯＳ（Ｋ））」を対応付ける。さらに、構成情報抽出部２７は、ＶＭ４の「Ｎａｍｅ（ＶＭ４）、Ｏｗｎｅｒ（Ｎａｋａｍｕｒａ）、ＯＳ（ＯＳ（Ｃｅｎ））」に、Ｓｅｒｖｅｒ２の「Ｒｅｇｉｏｎ（Ｔｏｋｙｏ）、Ｍｏｄｅｌ（２０１１）」を対応付ける。このように、構成情報抽出部２７は、システム構成変更後の操作対象のＶＭが属するＶＭＭとＳｅｒｖｅｒを特定し、各ＶＭが動作するＶＭＭおよび物理サーバの動作環境を、各ＶＭに対応付けて抽出する。そして、構成情報抽出部２７は、抽出した情報を抽出結果ＤＢ１９に格納し、抽出処理が終了したことを対応関係生成部２８に通知する。
【００６２】
（構成変更後の対応関係抽出）
図１４は、システム構成変更後の対応関係の生成例を示す図である。対応関係生成部２８は、スクリプト抽出部２６から、「変数名、取り得る値」として「＄ｖｎａｍｅ、ＯＳ（Ｘ）・ＯＳ（Ｋ）」と「＄ｓｖ、２０１０・２０１１」を受け付ける（Ｓ１０）。
【００６３】
続いて、対応関係生成部２８は、システム構成変更後の抽出結果を参照し、「パラメータ名、取り得る値」を抽出する（Ｓ１１）。具体的には、対応関係生成部２８は、「Ｏｗｎｅｒ」が取り得る値として「Ｎａｋａｍｕｒａ、Ｎａｇａｉ、Ｔａｋａｇｉ」を抽出する。また、対応関係生成部２８は、「ＯＳ」が取り得る値として「ＯＳ（Ｃｅｎ）、ＯＳ（Ｕｂ）、ＯＳ（Ｗ７）」を抽出する。
【００６４】
さらに、対応関係生成部２８は、「依存１：InatantiatedOnのＩＰ」が取り得る値として「１９２．１６８．１０．２」を抽出し、「依存１：InatantiatedOnのＯＳ」が取り得る値として「ＯＳ（Ｋ）」を抽出する。また、対応関係生成部２８は、「依存１：InatantiatedOnの依存２：runningOnのRegion」が取り得る値として「Ｔｏｋｙｏ」を抽出し、「依存１：InatantiatedOnの依存２：runningOnのModel」が取り得る値として「２０１１、２０１２」を抽出する。
【００６５】
その後、対応関係生成部２８は、システム構成変更後の対応関係を生成する（Ｓ１２）。例えば、対応関係生成部２８は、スクリプトの変数名「＄ｖｎａｍｅ」が取り得る値「ＯＳ（Ｘ）・ＯＳ（Ｋ）」を包含する構成情報のパラメータ名として「依存１：InatantiatedOnのＯＳ」を特定する。同様に、対応関係生成部２８は、スクリプトの変数名「＄ｓｖ」が取り得る値「２０１０・２０１１」については、該当する構成情報のパラメータ名が存在しないと判定する。
【００６６】
なお、構成情報のパラメータ名「依存１：InatantiatedOnの依存２：runningOnのModel」が取り得る値は、「２０１１、２０１２」であることから、スクリプトの変数名「＄ｓｖ」が取り得る値「２０１０・２０１１」を包含していない。この結果、対応関係生成部２８は、対応関係「＄ｖｎａｍｅ、依存１：InatantiatedOnのＯＳ」を第２世代の対応関係として対応関係ＤＢ２０に格納する（Ｓ１３）。
【００６７】
（システム構成変更前後の対応関係の比較）
図１５は、対応関係の差分抽出例を示す図である。図１５に示すように、差分抽出部２９は、システム構成変更前の第１世代の対応関係（図１０のＳ４）と、システム構成変更後の第２世代の対応関係（Ｓ１５のＳ１３）とを比較する。
【００６８】
この結果、差分抽出部２９は、システム構成変更前の第１世代の対応関係「＄ｓｖ、依存１：InatantiatedOnの依存２：runningOnのModel」が、システム構成変更後の第２世代の対応関係には存在しないことを特定する。したがって、差分抽出部２９は、「スクリプトｐａｔｃｈ１の変数＄ｓｖに関する場合分けに不備がある可能性があります！」などのアラームを表示部１３に表示させる。このとき、差分抽出部２９は、具体的な情報を参考情報として表示させてもよい。
【００６９】
［処理の流れ］
図１６は、実施例１に係る処理の流れを示すフローチャートである。図１６に示すように、スクリプト抽出部２６は、スクリプトＤＢ１５から検証対象のスクリプトを読み出し、条件文中の変数が取り得る値を抽出する（Ｓ１０１）。
【００７０】
続いて、構成情報抽出部２７は、操作対象リストＤＢ１６に記憶される操作対象リストと、構成情報ＤＢ１７に記憶されるシステム構成と用いて、操作対象が依存する構成要素を抽出する（Ｓ１０２）。
【００７１】
そして、構成情報抽出部２７は、Ｓ１０２で抽出した構成要素と、構成要素ＤＢ１８に記憶される情報と用いて、各構成要素の依存関係を抽出する（Ｓ１０３）。続いて、構成情報抽出部２７は、Ｓ１０３で生成した各構成要素の依存関係から、各構成要素が取り得る値を抽出して、抽出結果ＤＢ１９に格納する（Ｓ１０４）。
【００７２】
その後、対応関係生成部２８は、Ｓ１０１で抽出されたスクリプト内の変数が取り得る値と、抽出結果ＤＢ１９に格納された各構成要素が取り得る値とを比較して、スクリプトと構成要素との対応関係を特定する（Ｓ１０５）。つまり、対応関係生成部２８は、システム構成変更前の第１世代の対応関係を生成して、対応関係ＤＢ２０に格納する。
【００７３】
このようにしてシステム構成変更前の対応関係が生成される。その後、構成情報抽出部２７は、システム構成変更などの所定の契機が発生すると（Ｓ１０６：Ｙｅｓ）、スクリプトＤＢ１５から検証対象のスクリプトを読み出し、条件文中の変数が取り得る値を抽出する（Ｓ１０７）。
【００７４】
続いて、構成情報抽出部２７は、操作対象リストＤＢ１６に記憶される操作対象リストと、構成情報ＤＢ１７に記憶される構成変更後のシステム構成と用いて、操作対象が依存する構成要素を抽出する（Ｓ１０８）。
【００７５】
そして、構成情報抽出部２７は、Ｓ１０８で抽出した構成要素と、構成要素ＤＢ１８に記憶される構成変更後の情報と用いて、システム構成変更後の各構成要素の依存関係を抽出する（Ｓ１０９）。続いて、構成情報抽出部２７は、Ｓ１０９で生成した各構成要素の依存関係から、システム構成変更後の各構成要素が取り得る値を抽出して、抽出結果ＤＢ１９に格納する（Ｓ１１０）。
【００７６】
その後、対応関係生成部２８は、Ｓ１０７で抽出されたスクリプト内の変数が取り得る値と、抽出結果ＤＢ１９に格納された各構成要素が取り得る値とを比較して、スクリプトとシステム構成変更後の構成要素との対応関係を特定する（Ｓ１１１）。つまり、対応関係生成部２８は、システム構成変更後の第２世代の対応関係を生成して、対応関係ＤＢ２０に格納する。
【００７７】
そして、差分抽出部２９は、システム構成変更前の第１世代の対応関係と、システム構成変更後の第２世代の対応関係とを比較する（Ｓ１１２）。差分抽出部２９は、比較した結果、差分がある場合には（Ｓ１１３：Ｙｅｓ）、警告を表示部１３等に通知する（Ｓ１１４）。一方、差分抽出部２９は、比較した結果、差分がない場合には（Ｓ１１３：Ｎｏ）、正常であることを表示部１３等に通知する（Ｓ１１５）。
【００７８】
このように、実施例１に係る検証サーバ１０は、構成情報データベースに保持されているシステム構成要素間の依存関係情報をもとに、スクリプトの操作対象となる構成要素と、それらが依存している構成要素のパラメータ種類とその値を抽出することができる。また、検証サーバ１０は、パラメータの値の集合と、スクリプト中のｉｆ文の中の文字列の集合を比較し、スクリプト中の変数と構成要素のパラメータ種類の対応関係を推定することができる。そして、検証サーバ１０は、同じスクリプトを同一構成もしくは別構成の要素に対して実行する際、再度スクリプトとパラメータ種類の対応関係を推定することができる。
【００７９】
また、検証サーバ１０は、スクリプト中のｉｆ文等の具体化規則中の変数が取り得る値を抽出するので、対応関係に差分がある場合には、具体化規則に不備があると検出することができる。したがって、検証サーバ１０は、不備がある箇所を容易に特定することができ、修正等の時間を短縮することができる。
【００８０】
検証サーバ１０は、変更前後の対応関係を比較し、以前に成立していた対応関係が成立しなくなった場合、場合分けの不備が発生したとみなし、スクリプトの実行前にシステム管理者に注意を喚起することができる。また、スクリプトの実行前に不備を検出できるので、スクリプト実行後の不具合の発生を抑制できる。また、検証サーバ１０は、複雑な構成要素から構成されるクラウドシステムに適応するスクリプトの不備を自動で検出することができるので、目視等によるチェック漏れを抑制することができる。
【実施例２】
【００８１】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００８２】
（スクリプト）
実施例１では、パッチを適用するスクリプトを例にして説明したが、これに限定されるものではなく、例えば、バックアップなど、定型的に実行されるスクリプトについても同様に処理することができる。
【００８３】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８５】
（ハードウェア）
図１７は、検証サーバのハードウェア構成例を示す図である。図１７に示すように、検証サーバ１０は、ＣＰＵ１０１、メモリ１０２、ＨＤＤ（Hard  Disk  Drive）１０３、通信インタフェース１０４、入力装置１０５、表示装置１０６を有する。また、図１７に示した各部は、バス等で相互に接続される。
【００８６】
ＨＤＤ１０３は、図２に示した機能を動作させるプログラムや各ＤＢを記憶する。記録媒体の例としてＨＤＤ１０３を例に挙げたが、ＲＯＭ（Read  Only  Memory）、ＲＡＭ、ＣＤ−ＲＯＭ等の他のコンピュータが読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【００８７】
通信インタフェース１０４は、ネットワークインタフェースカードなどである。入力装置１０５は、例えばキーボードなどであり、表示装置１０６は、例えばタッチパネルやディスプレイなど、各種情報を表示する表示装置である。
【００８８】
ＣＰＵ１０１は、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０３等から読み出してメモリ１０２に展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、検証サーバ１０が有する各処理と同様の機能を実行する。具体的には、ＣＰＵ１０１は、スクリプト抽出部２６、構成情報抽出部２７、対応関係生成部２８、差分抽出部２９と同様の機能を有するプログラムをＨＤＤ１０３等から読み出す。そして、ＣＰＵ１０１は、各処理部と同様の処理を実行するプロセスを実行する。
【００８９】
このように検証サーバ１０は、プログラムを読み出して実行することで検証方法を実行する情報処理装置として動作する。また、検証サーバ１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、検証サーバ１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００９０】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９１】
（付記１）コンピュータに、
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理を実行させることを特徴とする検証プログラム。
【００９２】
（付記２）前記第１の対応関係を生成する処理は、前記スクリプトにおいて実行対象のシステムにしたがって具体的なコマンドを生成する具体化規則内の条件文で指定される変数が取り得る値と、前記第１のシステム構成における構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す前記第１の対応関係を生成し、
前記第２の対応関係を生成する処理は、前記具体化規則内の条件文で指定される変数が取り得る値と、前記第２のシステム構成における構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す前記第２の対応関係を生成し、
前記差分を抽出する処理は、前記第１の対応関係と前記第２の対応関係との差分にしたがって、前記具体化規則の不備を抽出する
ことを特徴とする付記１に記載の検証プログラム。
【００９３】
（付記３）前記差分を抽出する処理は、前記第２の対応関係に含まれる前記変数と前記項目との組み合わせから、前記第１の対応関係に含まれない組み合わせを抽出することを特徴とする付記１または２に記載の検証プログラム。
【００９４】
（付記４）コンピュータが、
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理を含んだことを特徴とする検証方法。
【００９５】
（付記５）第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成する第１生成部と、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成する第２生成部と、
前記第１生成部が生成した前記第１の対応関係と、前記第２生成部が生成した前記第２の対応関係との差分を抽出する抽出部と
有することを特徴とする検証装置。
【００９６】
（付記６）メモリと
前記メモリに接続されるプロセッサと、を有し、
前記プロセッサは、
第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理を実行することを特徴とする検証装置。
【００９７】
（付記７）第１のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第１のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第１の対応関係を生成し、
前記第１のシステム構成とは異なる第２のシステム構成に用いられるスクリプトから抽出した条件文で指定される変数が取り得る値と、前記第２のシステム構成の構成情報中の項目が取り得る値とに基づいて、前記変数と前記項目との関係を示す第２の対応関係を生成し、
前記第１の対応関係と前記第２の対応関係との差分を抽出する
処理をコンピュータに実行させる検証プログラムを記憶する、コンピュータ読み取り可能な記憶媒体。
【符号の説明】
【００９８】
１  クラウドシステム
１ａ  物理サーバ
５  ＣＭＤＢ
１０  検証サーバ
１１  通信制御部
１２  入力部
１３  表示部
１４  記憶部
１５  スクリプトＤＢ
１６  操作対象リストＤＢ
１７  構成情報ＤＢ
１８  構成要素ＤＢ
１９  抽出結果ＤＢ
２０  対応関係ＤＢ
２５  制御部
２６  スクリプト抽出部
２７  構成情報抽出部
２８  対応関係生成部
２９  差分抽出部
【図１】
2014194665.tif 000003
【図２】
2014194665.tif 000004
【図３】
2014194665.tif 000005
【図４】
2014194665.tif 000006
【図５】
2014194665.tif 000007
【図６】
2014194665.tif 000008
【図７】
2014194665.tif 000009
【図８】
2014194665.tif 000010
【図９】
2014194665.tif 000011
【図１０】
2014194665.tif 000012
【図１１】
2014194665.tif 000013
【図１２】
2014194665.tif 000014
【図１３】
2014194665.tif 000015
【図１４】
2014194665.tif 000016
【図１５】
2014194665.tif 000017
【図１６】
2014194665.tif 000018
【図１７】
2014194665.tif 000019