(57)【要約】【課題】スクリプトの検証で用いられる制約条件を精度良く生成する。【解決手段】制約条件抽出装置１は、第１の実行環境において、第１の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し（Ｓ１２）、該操作対象に関する手順を第１の手順情報から抽出し（Ｓ１３）、抽出した手順について、関連のある操作対象同士の実行順序に関する第１の関係情報を生成し（Ｓ１３〜Ｓ１５）、第２の実行環境において、第２の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し（Ｓ１２）、該操作対象に関する手順を第２の手順情報から抽出し（Ｓ１３）、抽出した手順について、関連のある操作対象同士の実行順序に関する第２の関係情報を生成し（Ｓ１３〜Ｓ１５）、第１の関係情報と前記第２の関係情報とを比較し、共通する、関連のある操作対象同士の実行順序に関する関係を抽出する（Ｓ１８）。【選択図】図１５
2014106912.tif 000002
【特許請求の範囲】
【請求項１】
第１の実行環境において、複数の手順からなる第１の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、
該特定した操作対象に関する手順を、前記第１の手順情報から抽出し、
該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第１の関係情報を生成し、
前記第１の実行環境と異なる第２の実行環境において、複数の手順からなる第２の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、
該特定した操作対象に関する手順を、前記第２の手順情報から抽出し、
該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第２の関係情報を生成し、
前記第１の関係情報と前記第２の関係情報とを比較し、前記第１の関係情報と前記第２の関係情報とに共通する、関連のある操作対象同士の実行順序に関する関係を抽出する
処理をコンピュータに実行させることを特徴とする制約条件抽出プログラム。
【請求項２】
前記関係を抽出する処理は、複数の関係情報を比較し、複数の関係情報に所定の割合を超えて共通する、関連のある操作対象同士の実行順序に関する関係を抽出する
処理をコンピュータに実行させることを特徴とする請求項１に記載の制約条件抽出プログラム。
【請求項３】
第１の実行環境において、複数の手順からなる第１の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定する第１の特定部と、
前記第１の特定部によって特定された操作対象に関する手順を、前記第１の手順情報から抽出する第１の抽出部と、
前記第１の抽出部によって抽出された手順について、関連のある操作対象同士の実行順序に関する関係を示す第１の関係情報を生成する第１の生成部と、
前記第１の実行環境と異なる第２の実行環境において、複数の手順からなる第２の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定する第２の特定部と、
前記第２の特定部によって特定された操作対象に関する手順を、前記第２の手順情報から抽出する第２の抽出部と、
前記第２の抽出部によって抽出された手順について、関連のある操作対象同士の実行順序に関する関係を示す第２の関係情報を生成する第２の生成部と、
前記第１の生成部によって生成された前記第１の関係情報と前記第２の生成部によって生成された前記第２の関係情報とを比較し、前記第１の関係情報と前記第２の関係情報とに共通する、関連のある操作対象同士の実行順序に関する関係を抽出する関係抽出部と
を有することを特徴とする制約条件抽出装置。
【請求項４】
コンピュータが、
第１の実行環境において、複数の手順からなる第１の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、
該特定した操作対象に関する手順を、前記第１の手順情報から抽出し、
該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第１の関係情報を生成し、
前記第１の実行環境と異なる第２の実行環境において、複数の手順からなる第２の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、
該特定した操作対象に関する手順を、前記第２の手順情報から抽出し、
該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第２の関係情報を生成し、
前記第１の関係情報と前記第２の関係情報とを比較し、前記第１の関係情報と前記第２の関係情報とに共通する、関連のある操作対象同士の実行順序に関する関係を抽出する
各処理を実行することを特徴とする制約条件抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制約条件抽出プログラム、制約条件抽出装置および制約条件抽出方法に関する。
【背景技術】
【０００２】
サーバやネットワークの仮想化技術を利用して、ネットワーク上にある複数のコンピューティング資源を利用者のコンピューティング資源として使用することができるクラウドシステムが利用されている。かかるクラウドシステムは、年々、大規模化しているとともに、複雑化している。
【０００３】
これに伴って、運用管理作業として行われるマニュアル操作や人による目視確認は限界となってきており、一部の運用管理作業は自動化されつつある。例えば、クラウドシステムを管理する管理サーバは、スクリプトを用いて、クラウドシステム配下のサーバに対してパッチ操作を自動的に適用する。したがって、パッチ操作などの運用管理作業の自動化に用いられるスクリプトの信頼性および妥当性が重要となる。
【０００４】
そこで、検証システムは、実行されるスクリプトが定められた条件（制約条件）を満たしているか否かを、スクリプトを実行する前に検証する。この制約条件は、運用管理を行う管理者によってトップダウンで定められる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２８５１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、管理者は、スクリプトの検証で用いられる制約条件を精度良く作成することが困難になっているという問題がある。すなわち、管理者は、満たすべき制約条件を必ずしも全て把握しているわけではない。例えば、管理者は、大規模化しているクラウドシステムの構成を把握しきれなかったり、大規模化しているクラウドシステムを構成する機器間の変化を把握しきれなかったりする。この結果、管理者は、満たすべき制約条件を全て把握しきれない。したがって、管理者は、精度の良い制約条件を作成することが困難になっている。
【０００７】
１つの側面では、スクリプトの検証で用いられる制約条件を精度良く生成し、スクリプトの信頼性を向上させることのできる制約条件抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する制約条件抽出プログラムは、第１の実行環境において、複数の手順からなる第１の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、該特定した操作対象に関する手順を、前記第１の手順情報から抽出し、該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第１の関係情報を生成し、前記第１の実行環境と異なる第２の実行環境において、複数の手順からなる第２の手順情報によって操作される対象および当該対象に関連する対象を含んだ操作対象を特定し、該特定した操作対象に関する手順を、前記第２の手順情報から抽出し、該抽出した手順について、関連のある操作対象同士の実行順序に関する関係を示す第２の関係情報を生成し、前記第１の関係情報と前記第２の関係情報とを比較し、前記第１の関係情報と前記第２の関係情報とに共通する、関連のある操作対象同士の実行順序に関する関係を抽出する処理をコンピュータに実行させる。
【発明の効果】
【０００９】
本願の開示する制約条件抽出プログラムの１つの態様によれば、スクリプトの検証で用いられる制約条件を精度良く生成し、スクリプトの信頼性を向上させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係る制約条件抽出装置の構成を示す機能ブロック図である。
【図２】図２は、操作制御情報の一例を示す図である。
【図３】図３は、操作対象リストの一例を示す図である。
【図４Ａ】図４Ａは、システム構成情報の一例を示す図（１）である。
【図４Ｂ】図４Ｂは、システム構成情報の一例を示す図（２）である。
【図５】図５は、分析対象特定部による処理の一例を説明する図である。
【図６Ａ】図６Ａは、制約候補抽出部による処理の一例を説明する図（１）である。
【図６Ｂ】図６Ｂは、制約候補抽出部による処理の一例を説明する図（２）である。
【図７】図７は、操作状態遷移モデル構築部による処理の一例を説明する図である。
【図８Ａ】図８Ａは、制約候補充足性検査部による処理の一例を説明する図（１）である。
【図８Ｂ】図８Ｂは、制約候補充足性検査部による処理の一例を説明する図（２）である。
【図９】図９は、分析対象特定部による処理の別の一例を説明する図である。
【図１０】図１０は、制約候補抽出部による処理の別の一例を説明する図である。
【図１１】図１１は、操作状態遷移モデル構築部による処理の別の一例を説明する図である。
【図１２】図１２は、制約候補充足性検査部による処理の別の一例を説明する図である。
【図１３Ａ】図１３Ａは、制約条件比較部による処理の一例を説明する図（１）である。
【図１３Ｂ】図１３Ｂは、制約条件比較部による処理の一例を説明する図（２）である。
【図１４】図１４は、制約条件の出力例を示す図である。
【図１５】図１５は、実施例に係る制約条件抽出処理のフローチャートを示す図である。
【図１６】図１６は、制約条件比較部による処理の変形例を説明する図である。
【図１７】図１７は、制約条件抽出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する制約条件抽出プログラム、制約条件抽出装置および制約条件抽出方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１２】
［制約条件抽出装置の構成］
図１は、実施例に係る制約条件抽出装置の構成を示す機能ブロック図である。かかる制約条件抽出装置１は、例えばクラウドシステムの運用管理で用いられる運用管理プロセスの正しさを評価する際に用いられる、正しい運用管理プロセスが満たすべき制約条件を抽出する。運用管理プロセスとは、例えばクラウドシステム上の運用管理で用いられる様々な手順書やスクリプトを意味する。実施例では、制約条件抽出装置１は、過去の複数の運用管理プロセスを入力し、入力した運用管理プロセスの実行時のシステム構成が示す構成要素間の関係に着目する。そして、制約条件抽出装置１は、複数の運用管理プロセスに共通する、ある特定の関係が成立している構成要素同士の操作の実行順序に関する関係を抽出し、抽出した関係を制約条件として出力する。
【００１３】
図１に示すように、制約条件抽出装置１は、過去の操作定義２を入力して、制約条件３を出力する。操作定義２は、操作制御情報２１、操作対象リスト２２およびシステム構成情報２３を組として備える。操作制御情報２１は、運用管理プロセスであり、操作対象に対して行う操作の処理を定義する。例えば、操作制御情報２１には、プログラムやスクリプトの形式で操作の処理が記述される。
【００１４】
操作対象リスト２２は、操作対象の集合を表したリストである。システム構成情報２３は、運用時におけるシステムの構成情報であり、システムの構成要素間に成立している関係を定義する。システム構成情報２３は、グラフや表形式で定義可能である。なお、操作対象や構成要素は、例えば、サーバなどの物理マシンであるが、仮想マシンであっても良い。実施例では、操作対象や構成要素は、サーバであるとして説明する。なお、操作定義２は、制約条件抽出装置１の外部記憶装置に記憶されていても良いし、ネットワークに接続された装置の記憶装置に記憶されていても良い。
【００１５】
ここで、一組の操作定義２の一例について、図２〜図４を参照して説明する。図２は、操作制御情報の一例を示す図である。図３は、操作対象リストの一例を示す図である。図４Ａは、グラフ形式である場合のシステム構成情報の一例を示す図である。図４Ｂは、表形式である場合のシステム構成情報の一例を示す図である。
【００１６】
図２に示すように、操作制御情報２１は、アプリケーションのインストール適用に関する操作制御のスクリプトである。図２で示す「ＭＳ」とは、操作対象であるサーバを監視する監視サーバであることを意味する。スクリプトの１行目には、「ＭＳ」で表される監視サーバの停止操作（ｓｔｏｐ＿ｍｏｎｉｔｏｒ）が記述されている。スクリプトの３行目には、２行目で記述されている「Ｌｉｓｔ２．ｔｘｔ」で表される操作対象リスト２２の操作対象のインストール操作（ｉｎｓｔａｌｌ）が記述されている。スクリプトの５行目には、操作対象のインストールが成功した場合に、操作対象の再起動操作（ｒｅｂｏｏｔ）が記述されている。スクリプトの６行目には、操作対象のインストールが失敗した場合に、操作対象の状態を戻す操作（ｒｅｓｔｏｒｅ）が記述されている。
【００１７】
図３に示すように、操作対象リスト２２には、「Ｌｉｓｔ２．ｔｘｔ」内に操作対象の機器として「Ｓｅｒｖｅｒ  Ｓ４」、「Ｓｅｒｖｅｒ  Ｓ５」および「Ｓｅｒｖｅｒ  Ｓ６」が記述されている。「Ｓｅｒｖｅｒ」は、操作対象の機器であるサーバを意味する。例えば、「Ｌｉｓｔ２．ｔｘｔ」は、図２で示したスクリプトの２行目で読み込まれる。そして、図２で示したスクリプトの３行目で、「Ｌｉｓｔ２．ｔｘｔ」が読み込まれた結果得られる操作対象の機器がインストールされる。
【００１８】
図４Ａに示すように、監視サーバＭＳがサーバＳ４，Ｓ５，Ｓ６を監視する関係（ｍｏｎｉｔｏｒ）であることおよびサーバＳ６とサーバＣ１とが接続関係（ｃｏｍｍｕｎｉｃａｔｅ）であることを示すシステムの構成情報がグラフ形式で定義されている。図４Ｂでは、図４Ａに示すシステムの構成情報が表形式で定義されている。
【００１９】
図１に戻って、制約条件抽出装置１は、分析対象特定部１１、制約候補抽出部１２、操作状態遷移モデル構築部１３、制約候補充足性検査部１４、制約条件比較部１５および制約条件記憶部１６を有する。
【００２０】
分析対象特定部１１は、操作制御情報２１を適用するシステムにおける運用時の分析対象を特定する。例えば、分析対象特定部１１は、操作制御情報２１と同じ組の操作対象リスト２２およびシステム構成情報２３を、操作定義２から入力する。そして、分析対象特定部１１は、入力した操作対象リスト２２に含まれる操作対象機器を分析対象機器として特定する。さらに、分析対象特定部１１は、入力したシステム構成情報２３から、特定した操作対象機器と関連がある機器を分析対象機器として特定する。
【００２１】
制約候補抽出部１２は、操作制御情報２１について、所定の制約種類で表される種類ごとに、制約となり得る制約の候補（以降、制約候補という。）を抽出する。実施例では、制約種類を、以下の前処理と後処理とする。前処理とは、操作Ｘの前には必ず操作Ｙを行うという処理である。以降では、かかる前処理を、適宜「Ｄｏ  Ｙ  ｂｅｆｏｒｅ  Ｘ」と記載する。後処理とは、操作Ｘの後には必ず操作Ｙを行うという処理である。以降では、かかる後処理を、適宜「Ｄｏ  Ｙ  ａｆｔｅｒ  Ｘ」と記載する。前処理、後処理のＸ，Ｙは、機器に対して実行される操作を表すパラメータを意味する。すなわち、制約種類の前処理および後処理は、機器同士の操作の実行順序を示す処理である。なお、複数の操作制御情報２１ごとに制約候補が抽出される。
【００２２】
例えば、制約候補抽出部１２は、制約種類である前処理および後処理のＸ，Ｙに該当する可能性のある操作を、操作制御情報２１から抽出する。具体的には、制約候補抽出部１２は、操作制御情報２１の中から、分析対象特定部１１によって特定された分析対象機器が関与している操作を抽出する。そして、制約候補抽出部１２は、操作部分をパラメータ化した前処理と分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した前処理における制約候補を抽出する。同様に、制約候補抽出部１２は、操作部分をパラメータ化した後処理と分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した後処理における制約候補を抽出する。なお、制約候補抽出部１２では、操作制御情報２１に記述されている実際の操作の実行順序を考慮しないで、前処理および後処理における制約候補を抽出する。
【００２３】
操作状態遷移モデル構築部１３は、操作制御情報２１の操作の列をモデル検査ツール用の記述に変換して、操作に関する状態遷移モデルを構築する。状態遷移モデル内のそれぞれの状態は、分析対象特定部１１によって特定された分析対象機器が関与している操作の実行状態である。
【００２４】
制約候補充足性検査部１４は、操作制御情報２１から構築された状態遷移モデルを用いて、操作制御情報２１における各制約候補の充足性を検査する。例えば、制約候補充足性検査部１４は、抽出された制約候補ごとに、充足性を満たすことを示す検査結果または充足性を満たさないことを示す検査結果を検出する。そして、制約候補充足性検査部１４は、制約候補ごとに、検査結果を含んだ制約候補情報を生成する。具体的には、制約候補充足性検査部１４は、１つの操作定義２に対して、前処理の制約候補情報と後処理の制約候補情報を生成する。
【００２５】
制約条件比較部１５は、複数の操作定義２から生成された複数の制約候補情報を比較し、複数の操作定義２に成立する制約候補を制約条件として抽出する。すなわち、制約条件比較部１５は、複数の制約候補情報を比較し、複数の制約候補情報に共通する、関連のある機器同士または単一の機器の制約候補を制約条件として抽出する。例えば、制約条件比較部１５は、前処理について、２つの操作定義２に対する制約候補情報を比較する。そして、制約条件比較部１５は、２つの操作定義２に成立した制約候補を、制約条件として抽出する。同様に、制約条件比較部１５は、後処理について、２つの操作定義２に対する制約候補情報を比較する。そして、制約条件比較部１５は、２つの操作定義２に成立した制約候補を、制約条件として抽出する。また、制約条件比較部１５は、抽出した制約条件を後述する制約条件記憶部１６に格納する。
【００２６】
一例として、一方の操作定義２における前処理の充足性を満たす制約候補が、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  start＿monitor(MS)」であるとする。他方の操作定義２における前処理の充足性を満たす制約候補が、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  start＿monitor(MS)」であるとする。すると、制約条件比較部１５は、それぞれの制約候補が一致しているので、一致している制約候補を、制約条件として抽出する。
【００２７】
制約条件記憶部１６は、制約条件比較部１５によって格納された制約条件を記憶する。
【００２８】
次に、１つの操作定義２から、前処理の制約候補情報と後処理の制約候補情報を生成するまでの処理の一例を、図５〜図８を参照して説明する。
【００２９】
［分析対象特定部による処理の一例］
まず、分析対象特定部１１による処理の一例を、図５を参照して説明する。図５は、分析対象特定部による処理の一例を説明する図である。図５に示すように、操作定義２の操作対象リスト２２（Ｌｉｓｔ１．ｔｘｔ）には、操作対象の機器として、サーバＳ１を示す「Ｓｅｒｖｅｒ  Ｓ１」、サーバＳ２を示す「Ｓｅｒｖｅｒ  Ｓ２」、サーバＳ３を示す「Ｓｅｒｖｅｒ  Ｓ３」が記述されている。操作定義２のシステム構成情報２３には、システムの構成情報として、監視サーバＭＳがサーバＳ１，Ｓ２，Ｓ３を監視する関係（ｍｏｎｉｔｏｒ）であることが定義されている。
【００３０】
分析対象特定部１１は、操作対象リスト２２から、分析対象機器としてサーバＳ１，Ｓ２，Ｓ３を特定する。さらに、分析対象特定部１１は、システム構成情報２３から、特定した操作対象機器であるサーバＳ１，Ｓ２，Ｓ３と関連がある機器である監視サーバＭＳを分析対象機器として特定する。すなわち、分析対象特定部１１は、分析対象機器として、サーバＳ１，Ｓ２，Ｓ３および監視サーバＭＳを特定する。
【００３１】
［制約候補抽出部による処理の一例］
次に、制約候補抽出部１２による処理の一例を、図６Ａおよび図６Ｂを参照して説明する。図６Ａおよび図６Ｂは、制約候補抽出部による処理の一例を説明する図である。
【００３２】
図６Ａに示すように、操作制御情報２１は、サーバパッチ適用操作に関する操作制御のスクリプトである。分析対象機器は、分析対象特定部１１によって特定されたサーバＳ１，Ｓ２，Ｓ３および監視サーバＭＳである。なお、制約種類の１つである前処理は、操作Ｘの前には必ず操作Ｙを行うことを示す「Ｄｏ  Ｙ  ｂｅｆｏｒｅ  Ｘ」であるとする。また、制約種類の１つである後処理は、操作Ｘの後には必ず操作Ｙを行うことを示す「Ｄｏ  Ｙ  ａｆｔｅｒ  Ｘ」であるとする。前処理、後処理のＸ，Ｙは、機器に対して実行される操作を表すパラメータである。
【００３３】
制約候補抽出部１２は、操作制御情報２１の中から、分析対象機器が関与している操作を抽出する。すなわち、制約候補抽出部１２は、前処理および後処理のＸ，Ｙに含まれる可能性のある操作を分析対象機器に応じて抽出する。ここでは、制約候補抽出部１２は、監視サーバＭＳについて、監視機能を停止する操作を示す「ｓｔｏｐ＿ｍｏｎｉｔｏｒ」および監視機能を再開する操作を示す「ｓｔａｒｔ＿ｍｏｎｉｔｏｒ」を抽出する。制約候補抽出部１２は、サーバＳ１，Ｓ２，Ｓ３について、パッチを適用する操作を示す「ａｐｐｌｙ＿ｐａｔｃｈ」および再起動する操作を示す「ｒｅｂｏｏｔ」を抽出する。
【００３４】
図６Ｂに示すように、制約候補抽出部１２は、操作部分をパラメータ化した前処理「Ｄｏ  Ｙ  ｂｅｆｏｒｅ  Ｘ」と、分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した前処理における制約候補を抽出する。ここでは、監視サーバＭＳのみの関係では、例えば、１つの制約候補ｋ１として、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  start＿monitor(MS)」が抽出されている。サーバＳ１のみの関係では、例えば、１つの制約候補ｋ２として、「Ｄｏ  apply＿patch(S1,Patch)  ｂｅｆｏｒｅ  reboot(S1)」が抽出されている。監視サーバＭＳとサーバＳ１の関係では、例えば、１つの制約候補ｋ３として、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  apply＿patch(S1,Patch)」が抽出されている。なお、制約候補抽出部１２は、操作の実行順序を考慮しないので、Ｘ，Ｙの操作を逆とした制約候補を抽出する。さらに、制約候補抽出部１２は、サーバＳ２のみの関係、サーバＳ３のみの関係、監視サーバＭＳとサーバＳ２の関係、監視サーバＭＳとサーバＳ３の関係で、前処理における制約候補を抽出する。
【００３５】
そして、制約候補抽出部１２は、操作部分をパラメータ化した後処理「Ｄｏ  Ｙ  ａｆｔｅｒ  Ｘ」と、分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した後処理における制約候補を抽出する。ここでは、監視サーバＭＳのみの関係では、例えば、１つの制約候補ｋ４として、「Ｄｏ  stop＿monitor(MS)  ａｆｔｅｒ  start＿monitor(MS)」が抽出されている。サーバＳ１のみの関係では、例えば、１つの制約候補ｋ５として、「Ｄｏ  apply＿patch(S1,Patch)  ａｆｔｅｒ  reboot(S1)」が抽出されている。監視サーバＭＳとサーバＳ１の関係では、例えば、１つの制約候補ｋ６として、「Ｄｏ  stop＿monitor(MS)  ａｆｔｅｒ  apply＿patch(S1,Patch)」が抽出されている。なお、制約候補抽出部１２は、操作の実行順序を考慮しないので、Ｘ，Ｙの操作を逆とした制約候補を抽出する。また、制約候補抽出部１２は、サーバＳ２のみの関係、サーバＳ３のみの関係、監視サーバＭＳとサーバＳ２の関係、監視サーバＭＳとサーバＳ３の関係で、後処理における制約候補を抽出する。
【００３６】
［操作状態遷移モデル構築部による処理の一例］
次に、操作状態遷移モデル構築部１３による処理の一例を、図７を参照して説明する。図７は、操作状態遷移モデル構築部による処理の一例を説明する図である。図７に示すように、操作制御情報２１から操作状態遷移が構築される。すなわち、操作状態モデル構築部１３は、操作制御情報２１の操作の列から、操作に関する状態遷移モデルを構築する。操作状態遷移モデルにおけるそれぞれの状態は、分析対象機器が関与する操作の実行状態に対応する。ここでは、操作制御情報２１から構築された操作状態遷移には、一例として、監視サーバＭＳに対して「stop＿monitor」が実行されるように記述されている。そして、操作状態遷移には、「stop＿monitor」が実行された後に、サーバｓ１に対して「apply＿patch」が実行され、成功すれば「reboot」が実行され、失敗すれば監視サーバＭＳに対して「start＿monitor」が実行されるように記述されている。なお、操作状態遷移モデル構築部１３によって構築された操作状態遷移は、制約候補充足性検査部１４によって制約候補充足性検査に用いられる。
【００３７】
［制約候補充足性検査部による処理の一例］
次に、制約候補充足性検査部１４による処理の一例を、図８Ａおよび図８Ｂを参照して説明する。図８Ａおよび図８Ｂは、制約候補充足性検査部による処理の一例を説明する図である。
【００３８】
図８Ａに示すように、制約候補充足性検査部１４は、操作状態遷移モデル構築部１３によって構築された操作状態遷移を用いて、制約候補抽出部１２によって抽出された各制約候補の制約候補充足性検査を行い、制約候補ごとに検査結果を検出する。ここでは、検査結果は、充足性を満たすことを示す結果を「○」とし、充足性を満たさないことを示す結果を「×」としている。そして、制約候補充足性検査部１４は、制約候補ごとに、検査結果を含んだ制約候補情報を生成する。
【００３９】
図８Ｂの上段は、前処理の制約候補の検査結果を含んだ制約候補情報である。ここでは、一例では、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  start＿monitor(MS)」、すなわち、操作「start＿monitor(MS)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。また、別の一例では、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  apply＿patch(s,Patch)」、すなわち、操作「apply＿patch(s,Patch)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。一方、「Ｄｏ  start＿monitor(MS)  Ｂｅｆｏｒｅ  stop＿monitor(MS)」、すなわち、操作「stop＿monitor(MS)」の前には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「×」となっている。
【００４０】
図８Ｂの下段は、後処理の制約候補の検査結果を含んだ制約候補情報である。ここでは、一例では、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  stop＿monitor(MS)」、すなわち、操作「stop＿monitor(MS)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。また、別の一例では、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  apply＿patch(s,Patch)」、すなわち、操作「apply＿patch(s,Patch)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。一方、「Ｄｏ  stop＿monitor(MS)  Ａｆｔｅｒ  start＿monitor(MS)」、すなわち、操作「start＿monitor(MS)」の後には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「×」となっている。
【００４１】
このように、一例として、サーバパッチ適用操作（操作Ａとする）に関する操作制御のスクリプト（操作制御情報２１）を含む操作定義２から、前処理の制約候補情報と後処理の制約候補情報が生成される。次に、別の操作定義２から、前処理の制約候補情報と後処理の制約候補情報が生成されるまでの処理の一例を、図９〜図１２を参照して説明する。
【００４２】
［分析対象特定部による処理の別の一例］
まず、分析対象特定部１１による処理の別の一例を、図９を参照して説明する。図９は、分析対象特定部による処理の別の一例を説明する図である。図９に示すように、操作定義２の操作対象リスト２２（Ｌｉｓｔ２．ｔｘｔ）には、操作対象の機器として、サーバＳ４を示す「Ｓｅｒｖｅｒ  Ｓ４」、サーバＳ５を示す「Ｓｅｒｖｅｒ  Ｓ５」、サーバＳ６を示す「Ｓｅｒｖｅｒ  Ｓ６」が記述されている。操作定義２のシステム構成情報２３には、システムの構成情報として、監視サーバＭＳがサーバＳ４，Ｓ５，Ｓ６を監視する関係（ｍｏｎｉｔｏｒ）であることが定義されている。
【００４３】
分析対象特定部１１は、操作対象リスト２２から、分析対象機器としてサーバＳ４，Ｓ５，Ｓ６を特定する。さらに、分析対象特定部１１は、システム構成情報２３から、特定した操作対象機器であるサーバＳ４，Ｓ５，Ｓ６と関連がある機器である監視サーバＭＳを分析対象機器として特定する。すなわち、分析対象特定部１１は、分析対象機器として、サーバＳ４，Ｓ５，Ｓ６および監視サーバＭＳを特定する。
【００４４】
［制約候補抽出部による処理の別の一例］
次に、制約候補抽出部１２による処理の別の一例を、図１０を参照して説明する。図１０は、制約候補抽出部による処理の別の一例を説明する図である。
【００４５】
図１０に示すように、操作制御情報２１は、アプリケーションのインストール操作に関する操作制御のスクリプトである。分析対象機器は、分析対象特定部１１によって特定されたサーバＳ４，Ｓ５，Ｓ６および監視サーバＭＳである。なお、前処理および後処理は、前述した処理と同様である。すなわち、前処理は、操作Ｘの前には必ず操作Ｙを行うことを示す「Ｄｏ  Ｙ  ｂｅｆｏｒｅ  Ｘ」であり、後処理は、操作Ｘの後には必ず操作Ｙを行うことを示す「Ｄｏ  Ｙ  ａｆｔｅｒ  Ｘ」である。前処理、後処理のＸ，Ｙは、機器に対して実行される操作を表すパラメータである。
【００４６】
制約候補抽出部１２は、操作制御情報２１の中から、分析対象機器が関与している操作を抽出する。すなわち、制約候補抽出部１２は、前処理および後処理のＸ，Ｙに含まれる可能性のある操作を分析対象機器に応じて抽出する。ここでは、制約候補抽出部１２は、監視サーバＭＳについて、監視機能を停止する操作を示す「ｓｔｏｐ＿ｍｏｎｉｔｏｒ」および監視機能を再開する操作を示す「ｓｔａｒｔ＿ｍｏｎｉｔｏｒ」を抽出する。制約候補抽出部１２は、サーバＳ４，Ｓ５，Ｓ６について、インストール操作を示す「ｉｎｓｔａｌｌ」、再起動する操作を示す「ｒｅｂｏｏｔ」および状態を戻す操作を示す「ｒｅｓｔｏｒｅ」を抽出する。
【００４７】
そして、制約候補抽出部１２は、操作部分をパラメータ化した前処理「Ｄｏ  Ｙ  ｂｅｆｏｒｅ  Ｘ」と、分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した前処理における制約候補を抽出する。また、制約候補抽出部１２は、操作部分をパラメータ化した後処理「Ｄｏ  Ｙ  ａｆｔｅｒ  Ｘ」と、分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した後処理における制約候補を抽出する。なお、抽出した結果は、図示しないが、図６Ｂで表した表の形式で表される。
【００４８】
［操作状態遷移モデル構築部による処理の別の一例］
次に、操作状態遷移モデル構築部１３による処理の別の一例を、図１１を参照して説明する。図１１は、操作状態遷移モデル構築部による処理の別の一例を説明する図である。図１１に示すように、操作制御情報２１から操作状態遷移が構築される。すなわち、操作状態遷移モデル構築部１３は、操作制御情報２１の操作の列から、操作に関する状態遷移モデルを構築する。ここでは、操作制御情報２１から構築された操作状態遷移には、一例として、監視サーバＭＳに対して「stop＿monitor」が実行されるように記述されている。そして、操作状態遷移には、「stop＿monitor」が実行された後に、サーバｓ４に対して「install」が実行され、成功すれば「reboot」が実行され、失敗すれば「restore」が実行されるように記述されている。なお、操作状態遷移モデル構築部１３によって構築された操作状態遷移は、制約候補充足性検査部１４によって制約候補充足性検査に用いられる。
【００４９】
［制約候補充足性検査部による処理の別の一例］
次に、制約候補充足性検査部１４による処理の別の一例を、図１２を参照して説明する。図１２は、制約候補充足性検査部による処理の別の一例を説明する図である。
【００５０】
図１２に示すように、制約候補充足性検査部１４は、操作状態遷移モデル構築部１３によって構築された操作状態遷移を用いて、制約候補抽出部１２によって抽出された各制約候補の制約候補充足性検査を行い、制約候補ごとに検査結果を検出する。ここでは、検査結果は、充足性を満たすことを示す結果を「○」とし、充足性を満たさないことを示す結果を「×」としている。そして、制約候補充足性検査部１４は、制約候補ごとに、検査結果を含んだ制約候補情報を生成する。
【００５１】
図１２の上段は、前処理の制約候補の検査結果を含んだ制約候補情報である。ここでは、一例では、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  start＿monitor(MS)」、すなわち、操作「start＿monitor(MS)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。また、別の一例では、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  install(s)」、すなわち、操作「install(s)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。一方、「Ｄｏ  start＿monitor(MS)  Ｂｅｆｏｒｅ  stop＿monitor(MS)」、すなわち、操作「stop＿monitor(MS)」の前には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「×」となっている。
【００５２】
図１２の下段は、後処理の制約候補の検査結果を含んだ制約候補情報である。ここでは、一例では、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  stop＿monitor(MS)」、すなわち、操作「stop＿monitor(MS)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。また、別の一例では、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  install(s)」、すなわち、操作「install(s)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補について、検査結果が「○」となっている。一方、「Ｄｏ  stop＿monitor(MS)  Ａｆｔｅｒ  start＿monitor(MS)」、すなわち、操作「start＿monitor(MS)」の後には、必ず操作「stop＿monitor(MS)」を行う制約候補について、検査結果が「×」となっている。
【００５３】
このようにして、別の一例として、アプリケーションのインストール操作（操作Ｂとする）に関する操作制御のスクリプト（操作制御情報２１）を含む操作定義２から、前処理の制約候補情報と後処理の制約候補情報が生成される。そこで、操作Ａから生成された制約候補情報と操作Ｂから生成された制約候補情報とから制約条件を抽出する処理の一例を、図１３Ａおよび図１３Ｂを参照して説明する。
【００５４】
［制約条件比較部による処理の一例］
図１３Ａおよび図１３Ｂは、制約条件比較部による処理の一例を説明する図である。図１３Ａの上段は、操作Ａに対する前処理の制約候補の検査結果を含んだ制約候補情報である。図１３Ａの下段は、操作Ｂに対する前処理の制約候補の検査結果を含んだ制約候補情報である。
【００５５】
制約条件比較部１５は、複数の操作Ａ，Ｂに対する制約候補情報を比較し、複数の操作Ａ、Ｂに対して成立（共通）した制約候補を、制約条件として抽出する。ここでは、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  start＿monitor(MS)」、すなわち、操作「start＿monitor(MS)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補が複数の操作Ａ，Ｂで一致している。また、「Ｄｏ  stop＿monitor(MS)  Ｂｅｆｏｒｅ  reboot(s)」、すなわち、操作「reboot(s)」の前には、必ず操作「stop＿monitor(MS)」を行う制約候補が複数の操作Ａ、Ｂで一致している。
【００５６】
そこで、制約条件比較部１５は、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  start＿monitor(MS)」を前処理の制約条件として抽出する。すなわち、制約条件比較部１５は、単一の機器、ここでは監視サーバＭＳ単体における実行順序に関する制約条件を抽出する。また、制約条件比較部１５は、「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  reboot(s)  （if  MS  monitors  s）」を、前処理の制約条件として抽出する。すなわち、制約条件比較部１５は、関連のある機器同士、ここでは監視サーバＭＳおよびサーバｓ同士の実行順序に関する制約条件を抽出する。
【００５７】
図１３Ｂの上段は、操作Ａに対する後処理の制約候補の検査結果を含んだ制約候補情報である。図１３Ｂの下段は、操作Ｂに対する後処理の制約候補の検査結果を含んだ制約候補情報である。
【００５８】
制約条件比較部１５は、複数の操作Ａ、Ｂに対する制約候補情報を比較し、複数の操作Ａ、Ｂに対して成立（共通）した制約候補を、制約条件として抽出する。ここでは、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  stop＿monitor(MS)」、すなわち、操作「stop＿monitor(MS)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補が複数の操作Ａ、Ｂで一致している。また、「Ｄｏ  start＿monitor(MS)  Ａｆｔｅｒ  reboot(s)」、すなわち、操作「reboot(s)」の後には、必ず操作「start＿monitor(MS)」を行う制約候補が複数の操作Ａ、Ｂで一致している。
【００５９】
そこで、制約条件比較部１５は、「Ｄｏ  start＿monitor(MS)  ａｆｔｅｒ  stop＿monitor(MS)」を、後処理の制約条件として抽出する。すなわち、制約条件比較部１５は、単一の機器、ここでは監視サーバＭＳ単体における実行順序に関する制約条件を抽出する。また、制約条件比較部１５は、「Ｄｏ  start＿monitor(MS)  aｆｔｅｒ  reboot(s)  （if  MS  monitors  s）」を、後処理の制約条件として抽出する。すなわち、制約条件比較部１５は、関連のある機器同士、ここでは監視サーバＭＳおよびサーバｓ同士の実行順序に関する制約条件を抽出する。そして、制約条件比較部１５は、抽出した後処理の制約条件を制約条件記憶部１６に格納する。
【００６０】
なお、制約条件抽出装置１は、制約条件記憶部１６に記憶された制約条件を出力するようにしても良い。図１４は、図１３Ａおよび図１３Ｂで抽出される制約条件の出力例を示す図である。なお、図１４のｎ，ｍは、システムの構成要素である操作対象機器であり、ｎとｍは異なる機器を意味するとする。図１４の出力例では、ｎとｍの関係ｏ１、操作ｏ２、操作間の関係ｏ３および操作ｏ４を対応付けて出力する。ｎとｍの関係ｏ１は、操作ｏ２が実行される機器と操作ｏ４が実行される機器との構成要素間の関係を示す。例えば、操作ｏ２が実行される機器と操作ｏ４が実行される機器が同じであれば、構成要素間に関係がない、すなわち単一の構成要素であることを示す「−」を出力する。操作ｏ２が実行される機器および操作ｏ４が実行される機器のどちらか一方が他方を監視する関係であれば、監視関係であることを示す「ｍｏｎｉｔｏｒ」を出力する。操作ｏ２および操作ｏ４は、制約条件を構成する操作を示す。操作間の関係ｏ３は、操作ｏ２および操作ｏ４の操作間の関係を示す。例えば、操作ｏ２が操作ｏ４の前処理であることを示す「ｂｅｆｏｒｅ」を出力する。操作ｏ２が操作ｏ４の後処理であることを示す「ａｆｔｅｒ」を出力する。
【００６１】
一例として、ｎとｍの関係ｏ１が「−」である場合、操作ｏ２として「ｓｔｏｐ＿ｍｏｎｉｔｏｒ（ｎ）」、操作間の関係ｏ３として「ｂｅｆｏｒｅ」、操作ｏ４として「ｓｔａｒｔ＿ｍｏｎｉｔｏｒ（ｎ）」と出力される。すなわち、この出力が表す制約条件は、単一の構成要素（ｎ）に関する前処理の制約条件「Ｄｏ  stop＿monitor(MS)  ｂｅｆｏｒｅ  start＿monitor(MS)」を意味する。ｎとｍの関係ｏ１が「−」である場合、操作ｏ２として「ｓｔａｒｔ＿ｍｏｎｉｔｏｒ（ｎ）」、操作間の関係ｏ３として「ａｆｔｅｒ」、操作ｏ４として「ｓｔｏｐ＿ｍｏｎｉｔｏｒ（ｎ）」と出力される。すなわち、この出力が表す制約条件は、単一の構成要素（ｎ）に関する後処理の制約条件「Ｄｏ  start＿monitor(MS)  ａｆｔｅｒ  stop＿monitor(MS)」を意味する。ｎとｍの関係ｏ１が「ｍｏｎｉｔｏｒ」である場合、操作ｏ２として「ｓｔｏｐ＿ｍｏｎｉｔｏｒ（ｎ）」、操作間の関係ｏ３として「ｂｅｆｏｒｅ」、操作ｏ４として「ｒｅｂｏｏｔ（ｍ）」と出力される。すなわち、この出力が表す制約条件は、監視関係の構成要素ｎ、ｍに関する前処理の制約条件「Ｄｏ  stop＿monitor(n)  ｂｅｆｏｒｅ  reboot(m)」を意味する。ｎとｍの関係ｏ１が「ｍｏｎｉｔｏｒ」である場合、操作ｏ２として「ｓｔａｒｔ＿ｍｏｎｉｔｏｒ（ｎ）」、操作間の関係ｏ３として「ａｆｔｅｒ」、操作ｏ４として「ｒｅｂｏｏｔ（ｍ）」と出力される。すなわち、この出力が表す制約条件は、監視関係の構成要素ｎ，ｍに関する後処理の制約条件「Ｄｏ  start＿monitor(n)  Ａｆｔｅｒ  reboot(m)」を意味する。
【００６２】
［制約条件抽出処理の手順］
次に、制約条件抽出処理の手順について、図１５を参照して説明する。図１５は、実施例に係る制約条件抽出処理のフローチャートを示す図である。なお、制約条件抽出装置１は、例えば、図示しない入力装置から制約条件抽出処理の開始が指示されたとする。
【００６３】
制約条件抽出処理の開始が指示された制約条件抽出装置１は、分析対象とする操作定義２を選択する（ステップＳ１１）。そして、分析対象特定部１１は、選択した操作定義２から分析対象機器を特定する（ステップＳ１２）。例えば、分析対象特定部１１は、選択した操作定義２に含まれる操作対象リスト２２およびシステム構成情報２３を用いて分析対象機器を特定する（ステップＳ１２）。
【００６４】
続いて、制約候補抽出部１２は、特定された分析対象機器および選択された操作定義２に含まれる操作制御情報２１を用いて制約候補を抽出する（ステップＳ１３）。例えば、制約候補抽出部１２は、操作制御情報２１から、分析対象特定部１１によって特定された分析対象機器が関与している操作を抽出する。そして、制約候補抽出部１２は、操作部分をパラメータ化した前処理と分析対象機器が関与している操作とを用いて、分析対象機器
のシステム構成を考慮した前処理における制約候補を抽出する。また、制約候補抽出部１２は、操作部分をパラメータ化した後処理と分析対象機器が関与している操作とを用いて、分析対象機器のシステム構成を考慮した後処理における制約候補を抽出する。なお、前処理とは、操作Ｘの前には必ず操作Ｙを行うという操作の実行順序に関する処理であり、後処理とは、操作Ｘの後には必ず操作Ｙを行うという操作の実行順序に関する処理である。Ｘ，Ｙが、機器に対して実行される操作を表すパラメータである。
【００６５】
続いて、操作状態遷移モデル構築部１３は、操作制御情報２１から操作状態遷移モデルを構築する（ステップＳ１４）。
【００６６】
続いて、制約候補充足性検査部１４は、構築された操作状態遷移モデルを用いて、制約候補抽出部１２によって抽出された各制約候補の充足性を検査する（ステップＳ１５）。そして、制約候補充足性検査部１４は、抽出された制約候補ごとに、検査結果を一時的に保存する（ステップＳ１６）。例えば、制約候補充足性検査部１４は、制約候補ごとに、検査結果を含んだ、前処理の制約候補情報を生成する。また、制約候補充足性検査部１４は、制約候補ごとに、検査結果を含んだ、後処理の制約候補情報を生成する。そして、制約候補充足性検査部１４は、生成した前処理の制約候補情報および、生成した後処理の制約候補情報を保存する。
【００６７】
そして、制約条件抽出装置１は、分析対象とする操作定義２を全て選択したか否かを判定する（ステップＳ１７）。分析対象とする操作定義２を全て選択していないと判定した場合（ステップＳ１７；Ｎｏ）、制約条件抽出装置１は、まだ選択していない操作定義２を選択すべく、ステップＳ１１に移行する。
【００６８】
一方、分析対象とする操作定義２を全て選択したと判定した場合（ステップＳ１７；Ｙｅｓ）、制約条件比較部１５は、複数の操作定義２から生成された制約候補情報を比較し、共通している制約候補を制約条件として抽出する（ステップＳ１８）。例えば、制約条件比較部１５は、複数の操作定義２に対する前処理の制約候補情報を比較し、共通した制約候補を制約条件として抽出する。また、制約条件比較部１５は、複数の操作定義２に対する後処理の制約候補情報を比較し、共通した制約候補を制約条件として抽出する。そして、制約条件抽出処理が終了する。その後、制約条件比較部１５は、抽出した前処理の制約条件および抽出した後処理の制約条件を制約条件記憶部１６に格納する。
【００６９】
このようにして、制約条件抽出装置１は、過去の様々な操作定義２から、複数の操作定義２が満たすべき共通の制約条件を精度良く抽出することができる。すなわち、制約条件抽出装置１は、システムが構成する構成要素間の関係に着目し、ある特定の関係が成立している構成要素に対して複数の操作定義２に共通する前処理（後処理）の制約条件を抽出する。これにより、制約条件抽出装置１は、異なる構成要素に対して異なる操作を行う操作定義２同士で共通に満たしている制約条件を精度良く抽出することができる。
【００７０】
ところで、上記実施例では、制約条件比較部１５が、複数の制約候補情報を比較し、複数の制約候補情報に共通する、関連のある機器同士または単一の機器の制約候補を制約条件として抽出するとして説明した。そして、上記実施例では、共通していることは、例えば一致していることと説明した。しかしながら、共通していることは一致していることに限定されず、一致率が閾値を超えていることとしても良い。そこで、制約条件比較部１５による処理の変形例として、制約条件比較部１５が複数の制約候補情報に共通する制約候補であって、関連のある機器同士または単一の機器に関して一致率が閾値を越えている制約候補を制約条件として抽出する場合について説明する。
【００７１】
図１６は、制約条件比較部による処理の変形例を説明する図である。図１６の左図には、複数のスクリプトａ〜ｄ（操作制御情報２１）に対する制約候補の検査結果を含んだ制約候補情報が記載されている。スクリプトは、操作制御情報２の一例である。かかる制約候補情報は、後処理の情報であるとする。なお、説明の便宜上、スクリプトａ〜ｄの制約候補情報のＸ，Ｙに該当する操作は、制約候補抽出部１２によって全て同一のものが抽出されたとする。また、各操作は、各操作が実行される機器の記載を省略している。
【００７２】
制約条件比較部１５は、複数のスクリプトａ〜ｄに対する制約候補情報を比較し、制約候補ごとに一致率を算出する。ここでは、「Ｄｏ  start＿mon  Ａｆｔｅｒ  install」、すなわち、操作「install」の後には、必ず操作「start＿mon」を行う制約候補の一致率が４／４である。また、「Ｄｏ  install  Ａｆｔｅｒ  stop＿mon」、すなわち、操作「stop＿mon」の後には、必ず操作「install」を行う制約候補の一致率が３／４である。また、「Ｄｏ  reboot  Ａｆｔｅｒ  install」、すなわち、操作「install」の後には、必ず操作「reboot」を行う制約候補の一致率が２／４である。
【００７３】
そして、制約条件比較部１５は、一致率が閾値を超えている制約候補を制約条件として抽出する。ここでは、例えば閾値を５０％とする。すると、制約条件比較部１５は、一致率が１００％である「Ｄｏ  start＿mon  Ａｆｔｅｒ  install」、一致率が７５％である「Ｄｏ  install  Ａｆｔｅｒ  stop＿mon」、一致率が５０％である「Ｄｏ  reboot  Ａｆｔｅｒ  install」を制約条件として抽出する。
【００７４】
このようにして、制約条件比較部１５は、制約条件の抽出に制約候補が一致する割合を用いることで、制約条件の信頼度に応じた様々な制約条件を抽出することができる。
【００７５】
［実施例の効果］
上記実施例によれば、制約条件抽出装置１は、システムの実行環境において、操作制御情報２１によって操作される操作対象機器および当該操作対象機器に関連する機器を含んだ分析対象機器を特定する。そして、制約条件抽出装置１は、特定した分析対象機器が関与している操作を、操作制御情報２１から抽出する。そして、制約条件抽出装置１は、抽出した操作について、関連のある機器同士の実行順序に関する関係を示す関係情報（制約候補情報）を生成する。そして、制約条件抽出装置１は、複数の制約候補情報を比較し、複数の制約候補情報に共通する、関連のある機器同士の実行順序に関する関係（制約候補）を制約条件として抽出する。かかる構成によれば、制約条件抽出装置１は、システムが構成する構成要素である機器間の関係に着目し、関連のある機器同士に対して複数の操作制御情報２１に共通する制約候補を制約条件として抽出する。これにより、制約条件抽出装置１は、異なる実行環境のシステムの構成要素に対して異なる操作を行う操作制御情報２１同士で、共通に満たしている制約条件を精度良く抽出することができる。
【００７６】
また、上記実施例によれば、制約条件抽出装置１は、複数の関係情報（制約候補情報）を比較し、複数の制約候補情報に所定の割合を超えて共通する、関連のある機器同士の実行順序に関する関係（制約候補）を抽出する。かかる構成によれば、制約条件抽出装置１は、制約条件の抽出に制約候補が一致する割合を用いることで、制約条件の信頼度に応じた様々な制約条件を抽出することができる。
【００７７】
［その他］
なお、制約条件抽出装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した分析対象特定部１１と、制約候補抽出部１２などの各機能を搭載することによって実現することができる。
【００７８】
また、上記実施例では、比較対象となる複数の操作定義２の操作制御情報として、サーバパッチ適用操作の制御情報（スクリプト）とアプリケーションのインストール操作の制御情報（スクリプト）を採用した。しかしながら、比較対象となる複数の操作定義２の操作制御情報は、これに限定されず、運用管理に関する所定の操作の制御情報であれば良い。
【００７９】
また、上記実施例では、比較対象となる複数の操作定義２のシステム構成情報２３として、同一の構成のものを採用した。しかしながら、比較対象となる複数の操作定義２のシステム構成情報２３は、同一の構成に限らず、異なる構成であっても良い。
【００８０】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、分析対象特定部１１と制約候補抽出部１２とを１個の部として統合しても良い。一方、制約条件比較部１５を、複数の制約候補情報を比較する比較部と、比較した結果から制約条件を抽出する抽出部と、抽出した制約条件を制約条件記憶部１６に格納する格納部とに分散しても良い。また、制約条件記憶部１６を制約条件抽出装置１の外部装置に記憶するようにしても良いし、制約条件記憶部１６を記憶した外部装置を制約条件抽出装置１とネットワーク経由で接続するようにしても良い。
【００８１】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した制約条件抽出装置１と同様の機能を実現する制約条件抽出プログラムを実行するコンピュータの一例を説明する。図１７は、制約条件抽出プログラムを実行するコンピュータの一例を示す図である。
【００８２】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７を有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００８３】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、制約条件抽出プログラム２０５ａおよび制約条件抽出関連情報２０５ｂを記憶する。
【００８４】
ＣＰＵ２０３は、制約条件抽出プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、制約条件抽出装置１の各機能部に対応する。制約条件抽出関連情報２０５ｂは、制約条件記憶部１６に対応する。そして、例えばリムーバブルディスク２１１が、操作定義２の各情報を記憶する。
【００８５】
なお、制約条件抽出プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから制約条件抽出プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００８６】
１  制約条件抽出装置
２  操作定義
３  制約条件
１１  分析対象特定部
１２  制約候補抽出部
１３  操作状態遷移モデル構築部
１４  制約候補充足性検査部
１５  制約条件比較部
１６  制約条件記憶部
２１  操作制御情報
２２  操作対象リスト
２３  システム構成情報
【図１】
2014106912.tif 000003
【図２】
2014106912.tif 000004
【図３】
2014106912.tif 000005
【図４Ａ】
2014106912.tif 000006
【図４Ｂ】
2014106912.tif 000007
【図５】
2014106912.tif 000008
【図６Ａ】
2014106912.tif 000009
【図６Ｂ】
2014106912.tif 000010
【図７】
2014106912.tif 000011
【図８Ａ】
2014106912.tif 000012
【図８Ｂ】
2014106912.tif 000013
【図９】
2014106912.tif 000014
【図１０】
2014106912.tif 000015
【図１１】
2014106912.tif 000016
【図１２】
2014106912.tif 000017
【図１３Ａ】
2014106912.tif 000018
【図１３Ｂ】
2014106912.tif 000019
【図１４】
2014106912.tif 000020
【図１５】
2014106912.tif 000021
【図１６】
2014106912.tif 000022
【図１７】
2014106912.tif 000023