(57)【要約】【課題】構成要素の調査の優先順位を提示できるようにする。【解決手段】コンピュータ１０は、監視対象のシステム１から、システム１内の複数の構成要素それぞれにより複数のメッセージを取得する。次に、コンピュータ１０は、複数の構成要素内の２つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとする。次に、コンピュータ１０は、対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する。そしてコンピュータ１０は、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する。【選択図】図１
2017111601.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
監視対象のシステムから、前記システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得し、
前記複数のメッセージを参照し、複数の構成要素内の２つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定し、
調査開始位置の構成要素を指定した調査順位決定指示が入力されると、前記複数の構成要素ペアの関連の強さに基づいて、前記調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する、
処理を実行させる調査対象特定プログラム。
【請求項２】
関連の強さの決定では、
出力した構成要素とメッセージの種別とが共通のメッセージで構成される複数のメッセージ群から、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である２つのメッセージ群の組を、共起メッセージペアとして抽出し、
対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する、
請求項１記載の調査対象特定プログラム。
【請求項３】
関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、該共起メッセージペアそれぞれの共起確率の最も高い値に基づいて、該対象構成要素ペア間の関連の強さを決定する、
請求項２記載の調査対象特定プログラム。
【請求項４】
関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、該共起メッセージペアそれぞれの共起確率の合計値に基づいて、該対象構成要素ペア間の関連の強さを決定する、
請求項２記載の調査対象特定プログラム。
【請求項５】
関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率と、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数とに基づいて、該対象構成要素ペア間の関連の強さを決定する、
請求項２記載の調査対象特定プログラム。
【請求項６】
関連の強さの決定では、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの抽出数と、該共起メッセージペアそれぞれの共起確率と、該共起メッセージペアそれぞれにおける一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数とに基づいて、該対象構成要素ペア間の関連の強さを決定する、
請求項２記載の調査対象特定プログラム。
【請求項７】
調査の優先順位の決定では、前記調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿ることで到達可能な構成要素を調査対象構成要素に決定し、調査対象構成要素の調査の優先順位を決定する、
請求項１乃至７のいずれかに記載の調査対象特定プログラム。
【請求項８】
調査対象の決定では、前記調査対象構成要素それぞれについて、前記調査開始位置の構成要素から前記調査対象構成要素までに辿った関連についての関連の強さに基づいて、調査の優先度を計算し、前記調査対象構成要素それぞれに対して、調査の優先度に応じた調査順位を決定する、
請求項７記載の調査対象特定プログラム。
【請求項９】
共起メッセージペアの抽出では、
一方のメッセージ群に属するメッセージの出力後一定時間以内に他方のメッセージ群に属するメッセージが出力される共起確率が閾値以上である２つのメッセージ群の組を、順序依存の共起メッセージペアとして抽出し、
出力した構成要素と種別とが共通のメッセージで構成される複数のメッセージ群から、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である２つのメッセージ群の組を、順序非依存の共起メッセージペアとして抽出し、
関連の強さの決定では、複数の構成要素ペアそれぞれについて、前記順序依存の共起メッセージペアに基づく有方向の関連の強さと、前記順序非依存の共起メッセージペアに基づく無方向の関連の強さとを計算し、
調査の優先度の計算では、無方向の関連の強さよりも有方向の関連の強さに対して高い重み付けをして、調査の優先度を計算する、
請求項８記載の調査対象特定プログラム。
【請求項１０】
コンピュータに、
監視対象のシステムから、前記システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得し、
前記複数のメッセージを参照し、複数の構成要素内の２つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定し、
調査開始位置の構成要素を指定した調査順位決定指示が入力されると、前記複数の構成要素ペアの関連の強さに基づいて、前記調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する、
処理を実行させる調査対象特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、調査対象特定プログラム、および調査対象特定方法に関する。
【背景技術】
【０００２】
近年、ＩＣＴ（Information and Communication Technology）システム（以下、単にシステムと呼ぶ）では、システム内に多数のサーバが構築され、各サーバが互いに連携して様々な処理が実行される。システムの障害発生時には、原因の切り分けと１次対処（切り離しなど）が、運用者により実施される。例えばシステムにおいて異常が生じると、運用者は、まず異常の発生箇所となるサーバを特定する。そして、運用者は、まず特定したサーバの動作状況を解析し、異常の原因を調査する。
【０００３】
なお、複数のサーバが連携した処理の場合、異常が検出されたサーバと、その異常の原因を有するサーバとが異なることがある。そこで異常が検出されたサーバには原因がないと判断できる場合、運用者は、異常が検出されたサーバと関連性のあるサーバを調査し、異常の原因を特定することとなる。大規模システムでは、１台のサーバは多数のサーバと関連性を有しているため、異常が検出されたサーバと関連性のあるサーバの数も膨大となり、異常の原因調査に時間がかかる。
【０００４】
しかも、システム運用管理のアウトソーシングの普及により、機器やアプリなど、システムの構成要素の厳密な挙動を知らずに運用をするケースが増加している。その結果、ブラックボックス化が運用管理にもたらす弊害が顕在化しつつある。すなわち、システム内の機器が実行している処理の情報が乏しく、障害発生時の原因切り分けが長期化している。
【０００５】
そこで、障害対策の迅速化や障害発生防止に関する様々な技術が考えられている。例えば、ネットワークの異常の原因となる範囲を絞り込み、システムのトラブル調査を支援する障害箇所推定システムが考えられている。また、１つのシステム障害に起因して複数の障害メッセージが出力される場合に、関連性のあるこれらの障害メッセージをまとめて取り扱うことを可能とするインシデント管理システムも考えられている。さらに、障害メッセージのフィルタリングの精度を高めることができる情報処理装置も考えられている。なお、異常が発生する前に、障害の発生を防止するうえで有益な情報を検出する検出装置も考えられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１３８４０５号公報
【特許文献２】特開２０１２−９４０４９号公報
【特許文献３】特開２０１４−１０６８５１号公報
【特許文献４】特開２０１４−１９９５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネットワークの異常の原因となる範囲を絞り込んだ場合、範囲を絞り込みすぎると、異常の原因となるシステムの構成要素（ＣＩ：Configuration Item）が、調査の範囲から漏れてしまう可能性がある。そのため、異常が発生した構成要素との間に少しでも関連がある構成要素は、調査の範囲に含められる。その結果、関連性によって調査対象を絞り込んだとしても、調査対象となる構成要素が大量に存在する場合がある。このような場合、それらの構成要素のすべてを調査したのでは、故障の原因が判明するまでに時間がかかる。
【０００８】
そこで、故障の原因を有している可能性の高い構成要素から順に調査することができれば、故障の原因を効率的に特定することができる。しかし、従来技術は、異常の原因となる範囲内の複数の構成要素それぞれについて、故障の原因を有している可能性の高さを適切に評価することができず、迅速な原因特定が困難となっている。
【０００９】
１つの側面では、本発明は、構成要素の調査の優先順位を提示できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、コンピュータに、以下の処理を実行させる調査対象特定プログラムが提供される。
コンピュータは、監視対象のシステムから、システム内の複数の構成要素それぞれにより、出力時刻を示す時刻情報付きで出力された複数のメッセージを取得する。次にコンピュータは、複数のメッセージを参照し、複数の構成要素内の２つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、該対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて、該対象構成要素ペア間の関連の強さを決定する。そしてコンピュータは、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位を決定する。
【発明の効果】
【００１１】
１態様によれば、構成要素の調査の優先順位を提示できるようになる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る装置の機能構成例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】管理サーバのハードウェアの一構成例を示す図である。
【図４】管理サーバの使用例を示す図である。
【図５】管理対象マシンと管理サーバとの機能を示すブロック図である。
【図６】メッセージＤＢの一例を示す図である。
【図７】メッセージ共起確率算出部の機能を示すブロック図である。
【図８】順序依存共起確率記憶部の一例を示す図である。
【図９】順序非依存共起確率記憶部の一例を示す図である。
【図１０】メッセージ共起パターンＤＢの一例を示す図である。
【図１１】ＣＩ間関連算出部の機能を示すブロック図である。
【図１２】ＣＩ間共起スコア記憶部の一例を示す図である。
【図１３】ＣＩ間関連グラフ記憶部の一例を示す図である。
【図１４】ＣＩ間影響判定部の機能を示すブロック図である。
【図１５】ＣＩ間関連分析処理の手順の一例を示すアクティビティ図である。
【図１６】共起関係のイメージを示す図である。
【図１７】メッセージ共起確率算出処理の一例を示すアクティビティ図である。
【図１８】発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（１／３）である。
【図１９】事前メッセージ起点型共起確率表の一例を示す図である。
【図２０】発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（２／３）である。
【図２１】事後メッセージ起点型共起確率表の一例を示す図である。
【図２２】発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（３／３）である。
【図２３】発生順序非依存型メッセージ共起確率算出処理の一例を示すアクティビティ図である。
【図２４】メッセージ共起回数表の一例を示す図である。
【図２５】発生順序非依存型メッセージの共起確率の計算例を示す図である。
【図２６】メッセージ共起パターンの生成例を示す図である。
【図２７】メッセージ共起パターン生成処理の手順の一例を示すアクティビティ図である。
【図２８】グループ共起確率表の一例を示す図である。
【図２９】グループ間の共起確率算出処理の手順の一例を示すアクティビティ図である。
【図３０】グループ間の共起関係の一例を示す図である。
【図３１】共起ＣＩパターンの生成例を示す図である。
【図３２】ＣＩ間の関連の強さの算出例を示す図である。
【図３３】ＣＩ間関連算出処理の手順の一例を示すアクティビティ図である。
【図３４】ＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。
【図３５】ＣＩペア発生表の一例を示す図である。
【図３６】ＣＩ間関連グラフ生成処理の手順の一例を示すアクティビティ図の前半である。
【図３７】ＣＩ間関連グラフ生成処理の手順の一例を示すアクティビティ図の後半である。
【図３８】ＣＩ間影響算出の一例を示す図である。
【図３９】ＣＩ間影響算出処理の手順の一例を示すアクティビティ図である。
【図４０】ＣＩ間影響算出処理による調査対象リストの出力例を示す図である。
【図４１】ＣＩ間影響範囲探索処理の手順の一例を示すアクティビティ図である。
【図４２】調査対象候補リストの一例を示す図である。
【図４３】影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。
【図４４】影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。
【図４５】被影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。
【図４６】被影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。
【図４７】双方向影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。
【図４８】双方向影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。
【図４９】調査順位決定処理の手順の一例を示すアクティビティ図である。
【図５０】第３の実施の形態におけるＣＩペア発生表の一例を示す図である。
【図５１】第３の実施の形態における累積スコアの正規化方法の一例を示す図である。
【図５２】第３の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。
【図５３】第４の実施の形態におけるＣＩペア発生表の一例を示す図である。
【図５４】第４の実施の形態における累積スコアの正規化方法の一例を示す図である。
【図５５】第３の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。
【図５６】第５の実施の形態における関連の強さの算出例を示す図である。
【図５７】第５の実施の形態におけるＣＩペア発生表の一例を示す図である。
【図５８】第５の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。
【図５９】統計情報の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず第１の実施の形態について説明する。
【００１４】
図１は、第１の実施の形態に係る装置の機能構成例を示す図である。コンピュータ１０は、システム１を監視する。監視対象のシステム１は、複数の構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・を有している。各構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・は、所定の事象が発生するとメッセージを出力し、出力するメッセージに出力時刻を示す時刻情報を付与する。そして各構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・は、時刻情報を付与したメッセージを、メッセージログ１−２ａ，１−２ｂ，１−２ｃ，・・・として蓄積する。構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・は、システム１内の機器や、システム１を構成するコンピュータ上で動作するソフトウェア資源である。構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・は、エラーが発生した場合、ユーザを認証した場合など、所定の事象が発生した場合にメッセージを出力する。
【００１５】
コンピュータ１０は、記憶部１１と演算部１２とを有する。記憶部１１は、複数の構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・が出力したメッセージを記憶する。
演算部１２は、定期的に、システム１内の複数の構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・それぞれにより出力されたメッセージを、メッセージログ１−２ａ，１−２ｂ，１−２ｃ，・・・から取得する（ステップＳ１）。演算部１２は、取得したメッセージを、記憶部１１に格納する。
【００１６】
その後、演算部１２は、定期的に、記憶部１１内のメッセージを参照し、複数の構成要素内の２つの構成要素を組み合わせた複数の構成要素ペアそれぞれを対象構成要素ペアとし、対象構成要素ペア間の関連の強さを決定する。関連の強さの決定は、例えば、対象構成要素ペアの一方の構成要素から出力されたメッセージの出力時刻の前後一定時間以内に他方の構成要素からメッセージが出力される確率を示す共起確率に基づいて計算される。
【００１７】
関連の強さの決定は、例えば以下の手順で行われる。
まず演算部１２は、出力した構成要素と種別とが共通のメッセージで構成される複数のメッセージ群を生成する。次に、演算部１２は、複数のメッセージ群から、出力元が異なるメッセージ群のペアを複数生成する。演算部１２は、生成したメッセージ群のペアそれぞれについて、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率を計算する。そして、演算部１２は、共起確率が閾値以上であるメッセージ群のペアを、共起メッセージペアとして抽出する（ステップＳ２）。
【００１８】
次に演算部１２は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率に基づいて、対象構成要素ペア間の関連の強さを決定する（ステップＳ３）。例えば、演算部１２は、共起メッセージペアの共起確率が高いほど、その共起メッセージペアの出力元である対象構成要素ペアの関連の強さを強く評価する。
【００１９】
その後、演算部１２は、調査開始位置の構成要素を指定した調査順位決定指示が入力されると、複数の構成要素ペアの関連の強さに基づいて、調査開始位置の構成要素以外の構成要素の調査の優先順位（調査順位）を決定する（ステップＳ４）。
【００２０】
例えば演算部１２は、調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿ることで到達可能な構成要素を調査対象構成要素に決定する。次に、演算部１２は、調査対象構成要素それぞれについて、調査開始位置の構成要素から調査対象構成要素までに辿った関連についての関連の強さに基づいて、調査の優先度を計算する。例えば演算部１２は、関連の強さが０〜１の範囲内の値のとき、調査開始位置の構成要素から調査対象構成要素までに辿った各関連についての関連の強さを乗算し、その調査対象構成要素の優先度とする。これにより、関連の強さが強いほど、調査の優先度が高くなり、調査開始位置の構成要素との関係が近いほど、調査の優先度が高くなる。そして演算部１２は、調査対象構成要素それぞれに対して、調査の優先度に応じた調査順位を決定する。
【００２１】
このようなコンピュータ１０によれば、例えば障害が発生した構成要素を調査開始位置に指定した調査順位決定指示が入力されると、障害の原因や影響範囲を調査する際の構成要素の調査順位が決定される。その結果、運用者は、多数の構成要素の中から、障害の原因である可能性が高い構成要素を優先的に調査することができ、効率的な調査ができる。すなわち、障害の影響が及ぶ可能性が高い構成要素を優先的に調査することで、障害の影響範囲を迅速に特定し、迅速に対処可能となる。
【００２２】
なお、上記の説明では、共起メッセージペアの抽出において、メッセージの出力順序を考慮していない。これにより、構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・それぞれがメッセージに付与する時刻情報が不正確で、メッセージに付与された時刻情報に基づくメッセージの出力順が実際のメッセージ出力順と異なる場合も考慮した共起関係の抽出が可能となる。
【００２３】
なお、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数存在する場合がある。この場合、演算部１２は、例えば共起メッセージペアそれぞれの共起確率の最も高い値に基づいて、対象構成要素ペア間の関連の強さを決定する。これにより、調査開始位置の構成要素から、関連の強さが所定値以上の構成要素ペアの関連を辿る際に、高い共起確率の共起メッセージペアの出力元となる対象構成要素ペア間の関連を漏らさずに辿ることができる。その結果、調査対象としての重要度が高い構成要素が調査対象から漏れてしまうことを抑止できる。
【００２４】
また演算部１２は、関連の強さの決定において、構成要素ペアを出力元とする共起関係の種類（共起メッセージペアの数）が多い程、関連の強さを強くしてもよい。例えば演算部１２は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアが複数あるとき、共起メッセージペアそれぞれの共起確率の合計値に基づいて、対象構成要素ペア間の関連の強さを決定する。複数存在する共起メッセージペアの共起確率を合算していくことで、共起関係の種類が多い程、関連の強さが強くなる。これにより、関連の強さの正確性が向上する。
【００２５】
また演算部１２は、メッセージ間の共起が発生した回数（共起発生回数）を用いて関連の強さの決定することもできる。構成要素ペアの共起発生回数は、その対象構成要素ペアを構成する構成要素それぞれを出力元とする共起メッセージペアの、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力された回数である。例えば演算部１２は、対象構成要素ペアを構成する構成要素それぞれを出力元とするメッセージ群の組である共起メッセージペアの共起確率と、共起発生回数とに基づいて、対象構成要素ペア間の関連の強さを決定する。この際に演算部１２は、共起発生回数が多いほど、関連の強さを強くする。これにより、関連の強さの正確性が向上する。
【００２６】
さらに、演算部１２は、共起確率、共起関係の種類数、および共起発生回数を組み合わせて、関連の強さを決定してもよい。これにより、関連の強さの判定の指標が多くなることで、関連の強さの正確性が向上する。
【００２７】
なお、演算部１２は、共起メッセージペアの抽出において、順序依存の共起メッセージペアと順序非依存の共起メッセージペアとを抽出することもできる。順序依存の共起メッセージペアは、一方のメッセージ群に属するメッセージの出力後一定時間以内に他方のメッセージ群に属するメッセージが出力される共起確率が閾値以上である２つのメッセージ群の組である。順序非依存の共起メッセージペアは、一方のメッセージ群に属するメッセージの出力時刻の前後一定時間以内に他方のメッセージ群に属するメッセージが出力される確率を示す共起確率が閾値以上である２つのメッセージ群の組である。このとき、演算部１２は、例えば複数の構成要素ペアそれぞれについて、順序依存の共起メッセージペアに基づく有方向の関連の強さと、順序非依存の共起メッセージペアに基づく無方向の関連の強さとを計算する。そして演算部１２は、例えば、無方向の関連の強さよりも有方向の関連の強さに対して高い重み付けをして、調査の優先度を計算する。例えば有方向の関連の強さの重みが「１．０」、無方向の関連の強さの重みが「０．８」となる。この重み付けにより、順序依存の共起関係がある方が、優先度が高くなる。その結果、調査順位を適切に決定することができる。
【００２８】
以上説明したように、第１の実施の形態では、構成要素の動作の結果出力されるメッセージの共起関係を分析することで、構成要素間の通信の有無に関わりなく、任意の２つの構成要素間の関連の強さが算出される。関連の強さは、例えば共起確率が高いほど強く、共起関係の種類が多いほど強く、共起発生回数が多いほど強くなる。
【００２９】
例えばシステム１内のある名称「Ａ」の構成要素１−１ａで種別「ａ」のメッセージが発生した後、名称「Ｂ」の構成要素１−１ｂで種別「ｂ」のメッセージが高い確率で発生する場合、構成要素１−１ａと構成要素１−１ｂの間には関連がある。図１の例では、構成要素１−１ａと構成要素１−１ｂの間には、さらに、構成要素１−１ａで種別「ｆ」のメッセージが発生した後、構成要素１−１ｂで種別「ｇ」のメッセージが高い確率で発生している。このように構成要素１−１ａと構成要素１−１ｂの間に多くの種類の共起関係がある。そのため、構成要素１−１ａと構成要素１−１ｂの間の関連の強さは、より強く判断される。
【００３０】
このような関連の強さに基づいて調査対象構成要素の優先度を計算し、調査順位を決定することで、適切な調査順位の決定が可能となる。適切な調査順位が決定されることにより、運用者がその調査順位に従った順番で障害などの調査を進めることで、効率的な調査が可能となる。例えば障害の原因を迅速に特定できる。
【００３１】
なお、コンピュータ１０が障害の原因の自動調査機能を有している場合、調査順位に従って自動調査を行うことができる。例えばコンピュータ１０は、調査順位に沿った順番で、システム１に対して調査対象の構成要素の診断プログラムを実行させることができる。これにより、早期に障害原因を特定できると共に、障害の原因である可能性の低い構成要素の診断プログラムは実行せずにすみ、システム１への負荷も軽減される。
【００３２】
また、第１の実施の形態によれば、構成要素間の通信パケットの解析では分からない関連性を検出できる。例えば共通のリソースにアクセスする２つの構成要素は、互いに通信は行わなくても、高い関連性を有している可能性がある。構成要素間の通信パケットから関連の強さを計算した場合、共通のリソースにアクセスする２つの構成要素の関連性は検出できない。それに対して、第１の実施の形態では、構成要素１−１ａ，１−１ｂ，１−１ｃ，・・・が出力するメッセージの共起関係から関連の強さを決定できるため、互いに通信しない構成要素間でも、間接的に関連していれば、関連の強さを正しく計算できる。
【００３３】
なお、図１に示した演算部１２は、例えばコンピュータ１０が有するプロセッサにより実現することができる。また、記憶部１１は、例えばコンピュータ１０が有するメモリまたはストレージ装置により実現することができる。
【００３４】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、第１の実施の形態に示したコンピュータ１０の機能をより具体化したものである。
【００３５】
図２は、第２の実施の形態のシステム構成例を示す図である。第２の実施の形態では、複数の管理対象マシン２１０，２２０，・・・が、ネットワーク２０を介して、管理サーバ１００に接続されている。管理対象マシン２１０，２２０，・・・には、ｗｅｂサーバ、アプリケーションサーバ、データベース（ＤＢ）サーバなどの機能を実現する各種サーバソフトウェアが実装されている。そして、管理対象マシン２１０，２２０，・・・は、ｗｅｂサーバ、アプリケーションサーバ、ＤＢサーバなどの各種サーバとして機能する。
【００３６】
例えば管理対象マシン２１０，２２０，・・・では、ハイパーバイザにより、１または複数の仮想マシン（ＶＭ：Virtual Machine）が起動される。そして管理対象マシン２１０，２２０，・・・内の仮想マシンそれぞれが、各種サーバとして機能する。従って、１台の管理対象マシンが、複数のサーバ機能を有することもできる。以下、管理対象マシン２１０，２２０，・・・において、サーバ機能を実行するＶＭを、単にサーバと呼ぶこととする。
【００３７】
管理サーバ１００は、管理対象マシン２１０，２２０，・・・内のサーバの動作を監視し、異常の発生を検知する。また管理サーバ１００は、管理対象マシン２１０，２２０，・・・内のサーバから、そのサーバで発生したメッセージの履歴を収集する。そして管理サーバ１００は、収集したメッセージの履歴に基づいて、サーバ間の関連性を把握する。管理サーバ１００は、関連性の強さについても把握し、いずれかのサーバで異常が検出された際には、調査対象とする他のサーバのリストを、調査の優先順位を付けて出力する。
【００３８】
図３は、管理サーバのハードウェアの一構成例を示す図である。管理サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３９】
メモリ１０２は、管理サーバ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００４０】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００４１】
ストレージ装置１０３は、内蔵した記憶媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００４２】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４３】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４４】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４５】
機器接続インタフェース１０７は、管理サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４６】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、管理対象マシン２１０，２２０，・・・も、管理サーバ１００と同様のハードウェアで実現することができる。また、第１の実施の形態に示した装置も、図３に示した管理サーバ１００と同様のハードウェアにより実現することができる。
【００４８】
管理サーバ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。管理サーバ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理サーバ１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また管理サーバ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
以上のような構成のシステムおよびハードウェアにより、第２の実施の形態を実現できる。例えば管理サーバ１００により、管理対象マシン２１０，２２０，・・・内のサーバに障害が発生したとき、運用者が調査すべき範囲と、その範囲内の要素の優先順とが運用者に提示される。
【００５０】
図４は、管理サーバの使用例を示す図である。例えば管理サーバ１００は、システム全体の構成を、例えば構成管理データベース（ＣＭＤＢ：Configuration Management Database）で管理する。ＣＭＤＢでは、システムの構成が、ＣＩ単位で管理される。管理サーバ１００は、各管理対象マシン２１０，２２０，・・・から、各ＣＩで発生したメッセージを収集する。そして、管理サーバ１００は、ＣＩ間のメッセージの共起関係に基づいて、ＣＩ間の関連の強さを分析する。この分析は、例えば平常動作時のメッセージに基づいて定期的に行われる。また、障害発生時に分析を行ってもよい。
【００５１】
いずれかのＣＩで障害が発生すると、例えば、運用者３１が、管理サーバ１００に対して、障害が発生したＣＩのＣＩ名を入力する。すると管理サーバ１００は、入力されたＣＩ名から関連するＣＩを辿り、調査対象とするＣＩをリストアップした調査対象リストを出力する。調査対象リストに含まれるＣＩは、例えば、障害が発生したＣＩとの関連性の強さに応じた順位が付けられている。
【００５２】
これにより、障害の発生時、障害の影響範囲や原因を調査する場面において、調査対象の候補を迅速に絞り込み、かつ調査の優先順位が提示される。その結果、調査を迅速化し、障害からの復旧までの時間を短縮できる。
【００５３】
図５は、管理対象マシンと管理サーバとの機能を示すブロック図である。管理対象マシン２１０は、例えば複数のサーバ２１１，２１２が含まれる。サーバ２１１，２１２は、例えばＶＭによって実現される。サーバ２１１，２１２は、処理過程で発生したメッセージを、履歴としてメッセージ記憶部２１３，２１４に格納する。他の管理対象マシン２２０，・・・も、管理対象マシン２１０と同様の機能を有する。
【００５４】
管理サーバ１００は、メッセージ収集部１１０、メッセージＤＢ１２０、メッセージ共起確率算出部１３０、メッセージ共起パターンＤＢ１４０、ＣＩ間関連算出部１５０、ＣＩ間関連グラフ記憶部１６０、およびＣＩ間影響判定部１７０を有する。
【００５５】
メッセージ収集部１１０は、管理対象マシン２１０，２２０，・・・からメッセージを収集する。メッセージ収集部１１０は、収集したメッセージをメッセージＤＢ１２０に格納する。
【００５６】
メッセージＤＢ１２０は、サーバ２１１，２１２などのＣＩのメッセージを記憶する。例えばメッセージＤＢ１２０には、異なるＣＩのメッセージが、そのメッセージの発生時刻に基づいて時系列に並べて格納されている。メッセージＤＢ１２０としては、例えばストレージ装置１０３の記憶領域の一部が使用される。
【００５７】
メッセージ共起確率算出部１３０は、メッセージＤＢ１２０内のメッセージに基づいて、所定の属性を有するメッセージの間の共起確率を算出する。メッセージの属性は、そのメッセージの出力元ＣＩとメッセージ種別とで特定される。すなわち、同じ出力元ＣＩから出力された同じ種別の複数のメッセージは、同じ属性のメッセージとなる。そしてメッセージ共起確率算出部１３０は、ある属性のメッセージと他の属性のメッセージとの共起確率を計算し、共起確率が閾値以上の２つの属性それぞれに該当するメッセージを、共起メッセージと判断する。例えばメッセージ共起確率算出部１３０は、メッセージの発生順序を考慮した順序依存の共起メッセージと、メッセージの発生順序を考慮しない、順序非依存の共起メッセージとを区別する。そしてメッセージ共起確率算出部１３０は、連鎖して共起するメッセージの連鎖パターンを共起パターンとして、メッセージ共起パターンＤＢ１４０に格納する。
【００５８】
メッセージ共起パターンＤＢ１４０は、メッセージの共起パターンを記憶する。メッセージ共起パターンＤＢ１４０としては、例えばメモリ１０２またはストレージ装置１０３の記憶領域の一部が使用される。
【００５９】
ＣＩ間関連算出部１５０は、メッセージ共起パターンに基づいて、ＣＩ間の関連度を算出する。ＣＩ間関連算出部１５０は、例えばメッセージ共起パターンを構成する各属性のメッセージの出力元ＣＩ同士は、関連性があると判断する。ＣＩ間関連算出部１５０は、関連性があるＣＩ間の関係について、共起関係の確率、共起関係の種類の数、共起関係の発生回数などにより関連度を算出する。ＣＩ間関連算出部１５０は、算出した関連度に基づいて、ＣＩ間関連グラフを示すＣＩ間関連グラフ情報を生成する。ＣＩ間関連グラフは、ＣＩを示すオブジェクトと、関連するオブジェクト間を接続する線とで、ＣＩ間の関連性を表したものである。そしてＣＩ間関連算出部１５０は、ＣＩ間関連グラフを示す情報を、ＣＩ間関連グラフ記憶部１６０に格納する。
【００６０】
ＣＩ間関連グラフ記憶部１６０は、ＣＩ間関連グラフを示す情報を記憶する。ＣＩ間関連グラフ記憶部１６０として、例えばストレージ装置１０３の記憶領域の一部が使用される。
【００６１】
ＣＩ間影響判定部１７０は、障害が発生したＣＩのＣＩ名が入力されると、発生した障害への対処のために調査対象とすべきＣＩのリストを示す調査対象ＣＩリストを生成する。この際、ＣＩ間影響判定部１７０は、調査対象の各ＣＩの調査の優先度を計算する。そしてＣＩ間影響判定部１７０は、優先度が高い順に調査対象のＣＩを並べた調査対象ＣＩリストを生成する。ＣＩ間影響判定部１７０は、生成した調査対象ＣＩリストを、例えばモニタ２１に表示する。
【００６２】
なお、図５に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図５に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００６３】
以下、図５に示す各要素について詳細に説明する。
図６は、メッセージＤＢの一例を示す図である。メッセージＤＢ１２０には、メッセージ管理表１２１が設けられている。メッセージ管理表１２１は、時刻、出力元ＣＩ、メッセージ種別、およびメッセージ内容の欄が設けられている。時刻の欄には、各メッセージの発生時刻が設定される。出力元ＣＩの欄には、メッセージを出力したＣＩの名称が設定される。メッセージ種別の欄には、出力されたメッセージの種別が設定される。メッセージ内容の欄には、出力されたメッセージの内容が設定される。メッセージ管理表１２１に示す出力元ＣＩとメッセージ種別との組み合わせが、対応するメッセージの属性を示す。各属性の出力元ＣＩとメッセージ種別との値の組を、その属性に属するメッセージを示すメッセージＩＤとする。
【００６４】
このようなメッセージＤＢ１２０に格納されたメッセージの情報に基づいて、メッセージ共起確率算出部１３０により、メッセージ共起確率が求められる。そして、メッセージ共起確率に基づいて、メッセージ共起パターンが生成される。
【００６５】
図７は、メッセージ共起確率算出部の機能を示すブロック図である。メッセージ共起確率算出部１３０は、第１の共起確率算出部１３１、順序依存共起確率記憶部１３２、第２の共起確率算出部１３３、順序非依存共起確率記憶部１３４、およびメッセージ共起パターン生成部１３５を有する。
【００６６】
第１の共起確率算出部１３１は、発生順序依存型のメッセージ共起確率（順序依存共起確率）を算出する。例えば第１の共起確率算出部１３１は、特定のメッセージＩＤのメッセージを事前メッセージとし、他のメッセージＩＤのメッセージを事後メッセージとする。そして第１の共起確率算出部１３１は、事前メッセージが出力された後、所定時間以内に事後メッセージが出力される確率を、順序依存共起確率として算出する。第１の共起確率算出部１３１は、すべてのメッセージＩＤのメッセージを事前メッセージとした場合の順序依存共起確率を算出する。そして第１の共起確率算出部１３１は、算出した順序依存共起確率を、順序依存共起確率記憶部１３２に格納する。
【００６７】
順序依存共起確率記憶部１３２は、発生順序依存型のメッセージ間の順序依存共起確率を記憶する。順序依存共起確率記憶部１３２としては、例えばメモリ１０２の記憶領域の一部が使用される。
【００６８】
第２の共起確率算出部１３３は、発生順序非依存型のメッセージ共起確率（順序非依存共起確率）を算出する。例えば第２の共起確率算出部１３３は、２つのメッセージＩＤのペアについて、いずれか一方のメッセージＩＤのメッセージが出力された後、所定時間以内に他方のメッセージＩＤのメッセージが出力される確率を、順序非依存共起確率として算出する。第２の共起確率算出部１３３は、すべてのメッセージＩＤのペアについて、順序非依存共起確率を算出する。そして第２の共起確率算出部１３３は、算出した順序非依存共起確率を、順序非依存共起確率記憶部１３４に格納する。
【００６９】
順序非依存共起確率記憶部１３４は、発生順序非依存型のメッセージ間の共起確率を記憶する。順序非依存共起確率記憶部１３４としては、例えばメモリ１０２の記憶領域の一部が使用される。
【００７０】
メッセージ共起パターン生成部１３５は、メッセージＩＤのペアごとの順序依存共起確率および順序非依存共起確率に基づいて、連鎖的に発生する可能性の高い２以上のメッセージの組み合わせを示すメッセージ共起パターンを生成する。メッセージ共起パターン生成部１３５は、生成したメッセージ共起パターンを、メッセージ共起パターンＤＢ１４０に格納する。
【００７１】
次に、図８と図９とを参照し、順序依存共起確率記憶部１３２と順序非依存共起確率記憶部１３４との具体例について説明する。
図８は、順序依存共起確率記憶部の一例を示す図である。順序依存共起確率記憶部１３２は、例えば順序依存共起確率表１３２ａを有している。順序依存共起確率表１３２ａには、共起ＩＤ、事前メッセージＩＤ、事後メッセージＩＤ、および共起確率の欄が設けられている。
【００７２】
共起ＩＤの欄には、共起する２つのメッセージのペアを示す識別子（共起ＩＤ）が設定される。事前メッセージＩＤの欄には、先に出力されるメッセージのメッセージＩＤ（事前メッセージＩＤ）が設定される。事後メッセージＩＤの欄には、後に出力されるメッセージのメッセージＩＤ（事後メッセージＩＤ）が設定される。共起確率の欄には、事前メッセージＩＤに該当するメッセージが出力された後、所定時間以内に、事後メッセージＩＤに該当するメッセージが出力される確率（共起確率）が設定される。
【００７３】
図９は、順序非依存共起確率記憶部の一例を示す図である。順序非依存共起確率記憶部１３４は、例えば順序非依存共起確率表１３４ａを有している。順序非依存共起確率表１３４ａには、共起ＩＤ、メッセージＩＤ、および共起確率の欄が設けられている。
【００７４】
共起ＩＤの欄には、共起する２つのメッセージのペアを示す識別子（共起ＩＤ）が設定される。メッセージＩＤの欄には、共起確率の算出対象とされた２つのメッセージＩＤが設定される。共起確率の欄には、２つのメッセージＩＤのうちの一方のメッセージＩＤに該当するメッセージが出力された後、所定時間以内に、他方のメッセージＩＤに該当するメッセージが出力される確率（共起確率）が設定される。
【００７５】
次に、メッセージ共起パターンＤＢ１４０について具体的に説明する。
図１０は、メッセージ共起パターンＤＢの一例を示す図である。メッセージ共起パターンＤＢ１４０は、例えば共起パターン表１４１を有している。共起パターン表１４１には、パターンＩＤの欄と複数の共起ＩＤの欄とが設けられている。
【００７６】
パターンＩＤの欄には、共起パターンの識別子（パターンＩＤ）が設定される。複数の共起ＩＤの欄それぞれには、共起パターンに含まれるメッセージ間の関係に対応する共起ＩＤが設定される。
【００７７】
次に、ＣＩ間関連算出部１５０について具体的に説明する。
図１１は、ＣＩ間関連算出部の機能を示すブロック図である。ＣＩ間関連算出部１５０は、ＣＩ間共起スコア算出部１５１、ＣＩ間共起スコア記憶部１５２、およびＣＩ間関連グラフ生成部１５３を有する。
【００７８】
ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンＤＢ１４０を参照し、２つのＣＩ間における、それらのＣＩが出力するメッセージ間の共起関係の度合いを示す共起スコアを算出する。ＣＩ間共起スコア算出部１５１は、算出した共起スコアを、対応するＣＩの組に対応付けて、ＣＩ間共起スコア記憶部１５２に格納する。
【００７９】
ＣＩ間共起スコア記憶部１５２は、２つのＣＩの組ごとに算出された共起スコアを記憶する。例えばメモリ１０２内の記憶領域の一部が、ＣＩ間共起スコア記憶部１５２として使用される。
【００８０】
ＣＩ間関連グラフ生成部１５３は、ＣＩ間の共起スコアに基づいて、関連するＣＩを示すグラフ（ＣＩ間関連グラフ）を生成する。例えばＣＩ間関連グラフ生成部１５３は、共起スコアが所定の閾値以上のＣＩ間を、関連するＣＩとする。そして、ＣＩ間関連グラフ生成部１５３は、ＣＩ間関連グラフを表す情報を、ＣＩ間関連グラフ記憶部１６０に格納する。
【００８１】
次に、ＣＩ間共起スコア記憶部１５２について具体的に説明する。
図１２は、ＣＩ間共起スコア記憶部の一例を示す図である。ＣＩ間共起スコア記憶部１５２は、例えばＣＩ間共起スコア表１５２ａを有している。ＣＩ間共起スコア表１５２ａは、縦方向に起点となるＣＩのＣＩ名をラベルとして並べ、横方向に終点となるＣＩのＣＩ名をラベルとして並べた、マトリックス形式の表である。起点のＣＩ名の行と終点のＣＩ名の列との交わる場所に、起点のＣＩ名に対応するＣＩと終点のＣＩ名に対応するＣＩとのそれぞれから出力されるメッセージの共起スコアが設定される。
【００８２】
共起スコアには、方向性を考慮にいれた共起スコア（有方向）と、方向性を考慮しない共起スコア（無方向）とがある。有方向の共起スコアは、起点のＣＩ名に対応するＣＩからメッセージが出力された後の所定時間内に、そのメッセージと強い共起を有するメッセージが終点のＣＩ名に対応するＣＩから出力される度合いを示す。無方向の共起スコアは、起点のＣＩ名に対応するＣＩと終点のＣＩ名に対応するＣＩとのいずれかからメッセージが出力された後の所定時間内に、そのメッセージと強い共起を有するメッセージが他方のＣＩ名に対応するＣＩから出力される度合いを示す。
【００８３】
このようなＣＩ間の共起スコアに基づいて、ＣＩ間の関連性の有無が判断される。例えば閾値を「０．６」とした場合、有方向の共起スコアが「０．６」以上のＣＩ間について、有方向の関連があると判断される。図１２の例では、有方向の関連があるＣＩ間の有方向の共起スコアについて、１本の下線を引いている。また、無方向の共起スコアが「０．６」以上であり、有方向の関連がないＣＩ間について、無方向の関連があると判断される。図１２の例では、無方向の関連があるＣＩ間の無方向の共起スコアについて、２本の下線を引いている。
【００８４】
図１２において、無方向の共起スコアが「０．６」以上であり、有方向の関連もあるＣＩ間の無方向の共起スコアには、数値の右に「*」を付している。例えば、「Ｗｅｂ００１」と「Ａｐｐ００２」との間には、「Ａｐｐ００２」を起点とし、「Ｗｅｂ００１」を終点とする有方向の関連がある。そのため、「Ｗｅｂ００１」と「Ａｐｐ００２」の間の無方向の共起スコアについては、無方向の関連性の判断対象とされない。
【００８５】
次に、ＣＩ間関連グラフ記憶部１６０について具体的に説明する。
図１３は、ＣＩ間関連グラフ記憶部の一例を示す図である。ＣＩ間関連グラフ記憶部１６０は、例えばＣＩ間関連表１６１を有している。ＣＩ間関連表１６１には、起点ＣＩ、終点ＣＩ、影響種類、および共起スコアの欄が設けられている。
【００８６】
起点ＣＩの欄には、起点となるＣＩのＣＩ名が設定される。終点ＣＩの欄には、終点となるＣＩのＣＩ名が設定される。影響種類の欄には、影響関係の種類（影響種類）が設定される。起点ＣＩと終点ＣＩとの間に有方向の関連がある場合、影響種類は「有方向」となる。また起点ＣＩと終点ＣＩとの間に無方向の関連がある場合、影響種類は「無方向」となる。共起スコアの欄には、起点ＣＩと終点ＣＩとの間の共起スコアが設定される。例えば影響種類が「有方向」の場合、有方向の共起スコアが、共起スコアの欄に設定される。また影響種類が「無方向」の場合、無方向の共起スコアが、共起スコアの欄に設定される。
【００８７】
このようなＣＩ間関連表１６１を予め作成しておくことで、いずれかのＣＩに障害が発生した場合、ＣＩ間影響判定部１７０により、調査対象とするＣＩのリストが作成される。
【００８８】
図１４は、ＣＩ間影響判定部の機能を示すブロック図である。ＣＩ間影響判定部１７０は、ＣＩ間影響範囲探索部１７１と調査順位決定部１７２とを有する。
ＣＩ間影響範囲探索部１７１は、障害が発生したＣＩのＣＩ名を含む障害発生ＣＩ情報３２が入力されると、ＣＩ間関連グラフ記憶部１６０を参照し、障害に関係している可能性があるＣＩの範囲（影響範囲）を探索する。
【００８９】
調査順位決定部１７２は、影響範囲内のＣＩについて、調査の優先順位（調査順位）を決定する。例えば調査順位決定部１７２は、ＣＩの範囲の探索過程で各ＣＩについて求められたスコアに基づいて、調査順位を決定する。そして調査順位決定部１７２は、影響範囲内のＣＩを調査対象とし、調査対象のＣＩに調査順位を付与し、調査対象リスト３３として出力する。
【００９０】
以上のような構成のシステムにおいて、事前処理としてＣＩ間関連分析処理が行われ、障害発生時にＣＩ間影響算出処理が、管理サーバ１００で行われる。以下、管理サーバ１００が実行する処理について詳細に説明する。
【００９１】
＜ＣＩ間関連分析＞
ＣＩ間関連分析は、例えば所定の期間ごとに定期的に実行される。
図１５は、ＣＩ間関連分析処理の手順の一例を示すアクティビティ図である。以下、図１５に示す処理を、ステップ番号に沿って説明する。
【００９２】
［ステップＳ１０１］メッセージ共起確率算出部１３０は、ＣＩ間関連分析の実行タイミングになると、メッセージ共起確率算出処理を行う。例えばメッセージ共起確率算出部１３０は、まずメッセージＤＢ１２０を参照し、メッセージ共起確率を算出する。次に、メッセージ共起確率算出部１３０は、生成したメッセージ共起確率に基づいて、メッセージ共起パターンを生成する。そして、メッセージ共起確率算出部１３０は、生成したメッセージ共起確率パターンをメッセージ共起パターンＤＢ１４０に格納する。メッセージ共起確率算出処理の詳細は後述する（図１７参照）。
【００９３】
［ステップＳ１０２］メッセージ共起パターンが生成されると、ＣＩ間関連算出部１５０が、ＣＩ間関連算出処理を行う。例えばＣＩ間関連算出部１５０は、メッセージ共起パターンＤＢ１４０を参照し、共起するメッセージの組み合わせに基づいて、ＣＩ間の関連性を判断し、ＣＩ間の関連性を示すＣＩ間関連グラフを生成する。そしてＣＩ間関連算出部１５０は、ＣＩ間関連グラフを示す情報を、ＣＩ間関連グラフ記憶部１６０に格納する。ＣＩ間関連算出処理の詳細は後述する（図３３参照）。
【００９４】
以下、図１５に示す各ステップの処理を詳細に説明する。
＜＜メッセージ共起確率算出＞＞
事前・事後イベント間の共起関係を求める手法として、ベイズ推定やマルコフ連鎖がある。これらの手法を、異なるＣＩがログとして出力したメッセージ間の共起関係の判断に用いるのは、不適切である。すなわち、多数のＣＩが出力するメッセージは、パケット送信時刻がマイクロ秒単位で正確にわかるパケットキャプチャと異なり、メッセージが記録される時刻が正確ではない。そのため、異なるＣＩのメッセージの発生時刻を比較した場合、一定の割合で発生時刻の入れ替わりが発生する。このような環境で、ベイズ推定やマルコフ連鎖によりメッセージ間の共起関係を求めると、発生時刻の入れ替わりの影響を受け、システム内で実際に発生しているイベントの共起関係を正しく求めることができない。
【００９５】
そこで、第２の実施の形態では、発生順序の入れ替わりがあってもイベントの共起関係を求めるため、発生順序を考慮した共起関係と併せて、時間的近傍に発生したイベントから求めた発生順序を考慮しない共起関係を抽出する。
【００９６】
図１６は、共起関係のイメージを示す図である。例えばメッセージＤＢ１２０内に登録されているメッセージに付与された時刻（タイムスタンプ）によれば、事前メッセージ４１が出力した後、事後メッセージ４２が出力されているものとする。このとき発生順序を考慮した共起確率を計算すると「０．８５」であったものとする。この共起確率が所定の閾値以上であれば、事前メッセージ４１と事後メッセージ４２とには、有方向の共起関係が認められる。図１６では、有方向の共起関係を、メッセージ間を接続する矢印で示している。
【００９７】
事前メッセージ４１と事後メッセージ４２とのタイムスタンプが正確であれば、有方向の共起関係のみによって、事前メッセージ４１と事後メッセージ４２とが表される。しかし、個別のＣＩがメッセージをログとして出力する際に付与するタイムスタンプは、不正確であり、実際には、事前メッセージ４１よりも事後メッセージ４２の方が、出力時刻が早い可能性がある。そこで、無方向の共起確率「０．９５」が計算される。図１６では、無方向の共起関係を、メッセージ間を接続する網掛けの領域で示している。
【００９８】
無方向の共起確率は、有方向の共起確率よりも大きい値となる。そのため、有方向の共起確率が閾値未満であっても、無方向の共起確率は閾値以上となる可能性がある。無方向の共起確率が閾値以上となった場合に、事前メッセージ４１と事後メッセージ４２との間に無方向の共起関係があると判断することで、２つのメッセージ間に関連性があるにも拘わらず、関連性がないものと判断されることを抑止できる。
【００９９】
図１７は、メッセージ共起確率算出処理の一例を示すアクティビティ図である。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］第１の共起確率算出部１３１は、メッセージＤＢ１２０を参照し、発生順序依存型のメッセージ共起確率算出処理を実行する。第１の共起確率算出部１３１は、算出した発生順序依存型のメッセージ共起確率を、順序依存共起確率記憶部１３２に格納する。発生順序依存型メッセージ共起確率算出処理の詳細は後述する（図１８参照）。
【０１００】
［ステップＳ１１２］第２の共起確率算出部１３３は、ステップＳ１１１と並列処理で、メッセージＤＢ１２０を参照し、発生順序非依存型のメッセージ共起確率算出処理を実行する。第２の共起確率算出部１３３は、算出した発生順序非依存型のメッセージ共起確率を、順序非依存共起確率記憶部１３４に格納する。発生順序非依存型メッセージ共起確率算出処理の詳細は後述する（図２３参照）。
【０１０１】
［ステップＳ１１３］メッセージ共起パターン生成部１３５は、順序依存共起確率記憶部１３２と順序非依存共起確率記憶部１３４とを参照し、メッセージ共起パターン生成処理を実行する。メッセージ共起パターン生成部１３５は、生成したメッセージ共起パターンを、メッセージ共起パターンＤＢ１４０に格納する。メッセージ共起パターン生成処理の詳細は後述する（図２７参照）。
【０１０２】
次に、発生順序依存型メッセージ共起確率算出処理について詳細に説明する。
図１８は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（１／３）である。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１０３】
［ステップＳ１２１］第１の共起確率算出部１３１は、メッセージＤＢ１２０に記憶されているメッセージを参照する。そして、第１の共起確率算出部１３１は、メッセージＤＢ１２０内の未取得の１件のメッセージを事前メッセージとして取得する。
【０１０４】
［ステップＳ１２２］第１の共起確率算出部１３１は、メッセージＤＢ１２０に記憶されているメッセージが発生した時刻を参照し、事前メッセージとして取得したメッセージの発生後の所定の共起期間内に発生したすべてのメッセージを、事後メッセージ群４３として取得する。共起期間は、例えば５分である。
【０１０５】
［ステップＳ１２３］第１の共起確率算出部１３１は、事前メッセージと、事後メッセージ群４３に含まれる事後メッセージそれぞれとの組み合わせを作成する。
［ステップＳ１２４］第１の共起確率算出部１３１は、事前メッセージ起点型共起確率表４４内の、ステップＳ１２３において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリを参照する。
【０１０６】
図１９は、事前メッセージ起点型共起確率表の一例を示す図である。事前メッセージ起点型共起確率表４４には、事前メッセージと事後メッセージとの組に対応付けて、事前メッセージ出現回数、共起期間内の事後メッセージ出現回数、および事前メッセージ起点型共起確率が設定されている。事前メッセージ出現回数は、メッセージＤＢ１２０内での事前メッセージの出現回数である。共起期間内の事後メッセージ出現回数は、事前メッセージが出現してから共起期間内に事後メッセージが出現した回数である。事前メッセージ起点型共起確率は、共起期間内の事後メッセージ出現回数を事前メッセージ出現回数で除算した値である。なお、事前メッセージ起点型共起確率表４４は、例えば一時的に順序依存共起確率記憶部１３２内に格納される。
【０１０７】
以下、図１８の説明に戻る。
［ステップＳ１２５］第１の共起確率算出部１３１は、ステップＳ１２３において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリが、事前メッセージ起点型共起確率表４４に登録されていない場合、処理をステップＳ１２６に進める。該当するエントリがすでにあれば、処理をステップＳ１２７に進める。
【０１０８】
［ステップＳ１２６］第１の共起確率算出部１３１は、該当するエントリがない場合、ステップＳ１２４において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、事前メッセージ起点型共起確率表４４に登録する。
【０１０９】
［ステップＳ１２７］第１の共起確率算出部１３１は、ステップＳ１２３において作成された事前メッセージと事後メッセージの各組み合わせについて、事前メッセージ出現回数、共起期間内の事後メッセージの出現回数、事前メッセージ起点型共起確率を算出する。そして、第１の共起確率算出部１３１は、算出した結果によって、事前メッセージ起点型共起確率表４４内のエントリを更新する。
【０１１０】
［ステップＳ１２８］第１の共起確率算出部１３１は、メッセージＤＢ１２０内にステップＳ１２１において未取得のメッセージがあるか否かを判断する。未取得のメッセージがあれば、処理がステップＳ１２１に進められ、未取得のメッセージに対する処理が実行される。未取得のメッセージがなければ、処理がステップＳ１３１（図２０参照）に進められる。
【０１１１】
図２０は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（２／３）である。以下、図２０に示す処理をステップ番号に沿って説明する。
［ステップＳ１３１］第１の共起確率算出部１３１は、メッセージＤＢ１２０に記憶されているメッセージを参照する。そして、第１の共起確率算出部１３１は、メッセージＤＢ１２０内の未取得の１件のメッセージを事後メッセージとして取得する。
【０１１２】
［ステップＳ１３２］第１の共起確率算出部１３１は、メッセージＤＢ１２０に記憶されているメッセージが発生した時刻を参照し、事後メッセージとして取得したメッセージの発生前の所定の共起期間内に発生したメッセージのすべてを、事前メッセージ群４５として取得する。
【０１１３】
［ステップＳ１３３］第１の共起確率算出部１３１は、事後メッセージと、事前メッセージ群４５に含まれる事前メッセージそれぞれとの組み合わせを作成する。
［ステップＳ１３４］第１の共起確率算出部１３１は、事後メッセージ起点型共起確率表４６内の、ステップＳ１３３において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリを参照する。
【０１１４】
図２１は、事後メッセージ起点型共起確率表の一例を示す図である。事後メッセージ起点型共起確率表４６には、事前メッセージと事後メッセージとの組に対応付けて、共起期間内の事前メッセージ出現回数、事後メッセージ出現回数、および事後メッセージ起点型共起確率が設定されている。共起期間内の事前メッセージ出現回数は、事後メッセージが出現するまえの共起期間内に事前メッセージが出現した回数である。事後メッセージ出現回数は、メッセージＤＢ１２０内での事後メッセージの出現回数である。事後メッセージ起点型共起確率は、共起期間内の事前メッセージ出現回数を事後メッセージ出現回数で除算した値である。なお、事後メッセージ起点型共起確率表４６は、例えば一時的に順序依存共起確率記憶部１３２内に格納される。
【０１１５】
以下、図２０の説明に戻る。
［ステップＳ１３５］第１の共起確率算出部１３１は、ステップＳ１３３において作成された事前メッセージと事後メッセージの組み合わせに対応するエントリが、事後メッセージ起点型共起確率表４６に登録されていない場合、処理をステップＳ１３６に進める。該当するエントリがすでにあれば、処理をステップＳ１３７に進める。
【０１１６】
［ステップＳ１３６］第１の共起確率算出部１３１は、該当するエントリがない場合、ステップＳ１３４において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、事後メッセージ起点型共起確率表４６に登録する。
【０１１７】
［ステップＳ１３７］第１の共起確率算出部１３１は、ステップＳ１３３において作成された事前メッセージと事後メッセージの各組み合わせについて、共起期間内の事前メッセージの出現回数、事後メッセージ出現回数、事後メッセージ起点型共起確率を算出する。そして、第１の共起確率算出部１３１は、算出した結果によって、事後メッセージ起点型共起確率表４６内のエントリを更新する。
【０１１８】
［ステップＳ１３８］第１の共起確率算出部１３１は、メッセージＤＢ１２０内にステップＳ１３１において未取得のメッセージがあるか否かを判断する。未取得のメッセージがあれば、処理がステップＳ１３１に進められ、未取得のメッセージに対する処理が実行される。未取得のメッセージがなければ、処理がステップＳ１４１（図２２参照）に進められる。
【０１１９】
図２２は、発生順序依存型メッセージ共起確率算出処理の一例を示すアクティビティ図（３／３）である。以下、図２２に示す処理をステップ番号に沿って説明する。
［ステップＳ１４１］第１の共起確率算出部１３１は、事前メッセージ起点型共起確率表４４から、未抽出の１件のエントリを抽出する。
【０１２０】
［ステップＳ１４２］第１の共起確率算出部１３１は、事後メッセージ起点型共起確率表４６から、ステップＳ１４１において取得した事前メッセージと事後メッセージの組と一致する組のエントリを抽出する。
【０１２１】
［ステップＳ１４３］第１の共起確率算出部１３１は、ステップＳ１４１において取得した事前メッセージと事後メッセージの組からなるエントリが事後メッセージ起点型共起確率表４６に存在しない場合は、処理をステップＳ１４８に進める。該当するエントリが存在すれば、処理がステップＳ１４４に進められる。
【０１２２】
［ステップＳ１４４］第１の共起確率算出部１３１は、順序依存共起確率記憶部１３２内の、ステップＳ１４１，Ｓ１４２において抽出したエントリと同じ事後メッセージと事前メッセージとの組のエントリを参照する。
【０１２３】
［ステップＳ１４５］第１の共起確率算出部１３１は、ステップＳ１４４における参照対象のエントリが、順序依存共起確率記憶部１３２に存在しない場合、処理をステップＳ１４６に進める。該当エントリが存在すれば、処理がステップＳ１４７に進められる。
【０１２４】
［ステップＳ１４６］第１の共起確率算出部１３１は、ステップＳ１４４において参照できなかったエントリの事前メッセージと事後メッセージの組み合わせを新しいエントリとして、順序依存共起確率記憶部１３２に追加する。
【０１２５】
［ステップＳ１４７］第１の共起確率算出部１３１は、ステップＳ１４１，Ｓ１４２において抽出したエントリに基づいて、ステップＳ１４４における参照対象の順序依存共起確率記憶部１３２内のエントリを更新する。例えば第１の共起確率算出部１３１は、ステップＳ１４１で抽出したエントリから事前メッセージ起点型共起確率を取得する。また第１の共起確率算出部１３１は、ステップＳ１４２で抽出したエントリから事後メッセージ起点型共起確率を取得する。そして第１の共起確率算出部１３１は、取得した事前メッセージ起点型共起確率と事後メッセージ起点型共起確率との調和平均を計算し、ステップＳ１４４における参照対象のエントリの共起確率とする。具体的には、共起確率は、以下の式で計算できる。
共起確率＝（２×（事前メッセージ起点型共起確率）×（事後メッセージ起点型共起確率））／（（事前メッセージ起点型共起確率）＋（事後メッセージ起点型共起確率））
第１の共起確率算出部１３１は、算出した共起確率を、順序依存共起確率記憶部１３２に、ステップＳ１４４における参照対象のエントリの共起確率として設定する。
【０１２６】
［ステップＳ１４８］第１の共起確率算出部１３１は、事前メッセージ起点型共起確率表４４に、未抽出のエントリがあるか否かを判断する。未抽出のエントリがあれば処理がステップＳ１４１に進められ、未抽出のエントリに対して上記処理が行われる。未抽出のエントリがなければ、発生順序依存型メッセージ共起確率算出処理が終了する。
【０１２７】
以上の処理によって、事前メッセージと事後メッセージの各組み合わせに対する発生順序依存型のメッセージ間の共起確率が算出される。
発生順序依存型メッセージ共起確率算出と並行して発生順序非依存型メッセージ共起確率算出も行われる。以下、発生順序非依存型メッセージ共起確率算出について詳細に説明する。
【０１２８】
図２３は、発生順序非依存型メッセージ共起確率算出処理の一例を示すアクティビティ図である。以下、図２３に示す処理をステップ番号に沿って説明する。
［ステップＳ１５１］第２の共起確率算出部１３３は、メッセージＤＢ１２０から未処理のメッセージを１件取得し、起点メッセージとする。
【０１２９】
［ステップＳ１５２］第２の共起確率算出部１３３は、メッセージＤＢ１２０から、起点メッセージの発生時刻の前後の共起期間内に発生したメッセージのメッセージＩＤを取得し、共起メッセージＩＤとする。そして第２の共起確率算出部１３３は、取得した共起メッセージＩＤ一覧４７を生成し、メモリ１０２に格納する。
【０１３０】
［ステップＳ１５３］第２の共起確率算出部１３３は、起点メッセージと共起メッセージとの組み合わせを作成する。例えば第２の共起確率算出部１３３は、生成した組み合わせの起点メッセージのメッセージＩＤを「メッセージＩＤ１」、共起メッセージのメッセージＩＤを「メッセージＩＤ２」とする。共起メッセージＩＤが複数存在する場合、複数の組み合わせが生成される。
【０１３１】
［ステップＳ１５４］第２の共起確率算出部１３３は、メッセージ共起回数表４８にアクセスし、生成した各組み合わせに対応するエントリを更新する。メッセージ共起回数表４８は、各組み合わせの共起回数を管理するデータテーブルである。
【０１３２】
図２４は、メッセージ共起回数表の一例を示す図である。メッセージ共起回数表４８には、メッセージＩＤ１のメッセージＩＤとメッセージＩＤ２のメッセージＩＤとの組に関連付けて、メッセージＩＤ１発生回数と共起回数とが設定されている。メッセージＩＤ１発生回数は、メッセージＩＤ１に対応するメッセージのメッセージＤＢ１２０内での出現回数である共起回数は、メッセージＩＤ１に対応するメッセージとメッセージＩＤ２に対応するメッセージとの共起回数である。例えば、メッセージＩＤ１に対応するメッセージの発生時刻の前後の共起期間内においてメッセージＩＤ２に対応するメッセージが発生した回数が、共起回数となる。
【０１３３】
メッセージ共起回数表４８は、例えば、順序非依存共起確率記憶部１３４内に一時的に格納される。第２の共起確率算出部１３３は、ステップＳ１５３で作成した各組み合わせについて、メッセージＩＤ１発生回数と共起回数とを計数し、順序非依存共起確率記憶部１３４内の、組み合わせに対応するエントリに設定する。
【０１３４】
以下、図２３の説明に戻る。
［ステップＳ１５５］第２の共起確率算出部１３３は、ステップＳ１５３で生成した組み合わせに対応するエントリがメッセージ共起回数表４８に存在しない場合、処理をステップＳ１５６に進める。該当エントリがメッセージ共起回数表４８に存在していれば、処理がステップＳ１５７に進められる。
【０１３５】
［ステップＳ１５６］第２の共起確率算出部１３３は、ステップＳ１５３で生成した組み合わせに対応するエントリをメッセージ共起回数表４８に追加する。また第２の共起確率算出部１３３は、追加したエントリに対応する組み合わせのメッセージＩＤ１発生回数と共起回数とを計数し、そのエントリに設定する。
【０１３６】
［ステップＳ１５７］第２の共起確率算出部１３３は、順序非依存共起確率記憶部１３４における、ステップＳ１５３で生成した組み合わせに対応するエントリの、発生順序非依存型のメッセージの共起確率を更新する。
【０１３７】
図２５は、発生順序非依存型メッセージの共起確率の計算例を示す図である。メッセージＩＤ１のメッセージＩＤを有するメッセージＡの集合（メッセージＡ集合５１）と、メッセージＩＤ２のメッセージＩＤを有するメッセージＢの集合（メッセージＢ集合５２）とを考える。またメッセージＡとメッセージＢとの共起メッセージの集合を、共起メッセージ集合５３とする。このとき、メッセージＡ集合５１のうち共起メッセージ集合５３に属するメッセージ数と、メッセージＢ集合５２のうち共起メッセージ集合５３に属するメッセージ数とは、同じである。
【０１３８】
発生順序非依存型メッセージの共起確率は、例えば以下の式で算出される。
共起確率＝（２×（共起メッセージの個数））／（（メッセージＡの個数）＋（メッセージＢの個数））
以下、図２３の説明に戻る。
【０１３９】
［ステップＳ１５８］共起確率更新後、第２の共起確率算出部１３３は、メッセージＤＢ１２０内に、まだ起点メッセージとしていないメッセージがあるか否かを判断する。起点メッセージとしていないメッセージがあれば、処理がステップＳ１５１に進められ、そのメッセージを起点メッセージとする処理が実行される。すべてのメッセージについて処理が完了していれば、発生順序非依存型メッセージ共起確率算出処理が終了する。
【０１４０】
このようにして、発生順序非依存型のメッセージ共起確率が算出される。
＜＜メッセージ共起パターン生成＞＞
メッセージ共起確率の算出が終了すると、メッセージ共起パターン生成部１３５により、メッセージ共起パターンが生成される。
【０１４１】
メッセージ共起パターン生成手法の１つとして、共起確率が閾値より高いメッセージＩＤのペア（ａ，ｂ）、（ｂ，ｃ）があった場合、２つのペアに共通するメッセージＩＤ「ｂ」を介してグループ化できる。このグループ化により、メッセージパターン（ａ，ｂ，ｃ）が作成される。これを再帰的に繰り返すことでメッセージ共起パターンを作成することができる。
【０１４２】
ただし、第２の実施の形態では、共起確率として、発生順序依存型の共起確率と発生順序非依存型の共起確率との２種類が存在する。この場合、２つのメッセージに着目すると、２者間の発生順序非依存型の共起確率は、常に発生順序依存型の共起確率以上になる。そのため、これら２種の共起確率を同列に扱ってパターンを作成すると、発生順序非依存型の共起確率のペアが優先的にパターンとしてグルーピングされてしまう。
【０１４３】
影響範囲や障害原因の切り分けを考えると、関連の方向が分かることの価値が高い。そのため、２種の共起確率を同列に扱うことで、方向を考慮しない関連が多く算出されると、切り分けの参考情報としての価値が低下してしまう。
【０１４４】
そこで、メッセージ共起パターン生成部１３５は、先に発生順序依存型の共起確率に基づくメッセージ共起パターン算出を行う。その後、メッセージ共起パターン生成部１３５は、発生順序非依存型の共起確率のうち、発生順序依存型のパターンに現れなかったメッセージを含むもののみを用いてメッセージ共起パターンを成長させる。
【０１４５】
図２６は、メッセージ共起パターンの生成例を示す図である。図２６の例では、メッセージを楕円の図形で表している。そして、発生順序依存型の共起確率を、メッセージ間を接続する矢印の横に示している。また、発生順序非依存型の共起確率を、メッセージ間を接続する太線の線分の横に示している。
【０１４６】
図２６の例では、共起確率が「０．６」以上の場合に、共起関係があると判断するものとする。メッセージＩＤ「ａ」のメッセージとメッセージＩＤ「ｂ」のメッセージとは、発生順序依存型および発生順序非依存型の両方の共起確率が、閾値以上である。メッセージＩＤ「ｂ」のメッセージとメッセージＩＤ「ｃ」のメッセージとは、発生順序依存型および発生順序非依存型の両方の共起確率が、閾値以上である。メッセージＩＤ「ｂ」のメッセージとメッセージＩＤ「ｄ」のメッセージとは、発生順序非依存型の共起確率のみが、閾値以上である。
【０１４７】
このとき、まず順序依存型のメッセージ共起パターンが生成される。すると順序依存型の共起確率に基づいて、メッセージＩＤ「ａ」のメッセージの次にメッセージＩＤ「ｂ」のメッセージが発生し、その次にメッセージＩＤ「ｃ」のメッセージが発生するというメッセージ共起パターン６１が生成される。このときメッセージＩＤ「ｄ」のメッセージは、他のいずれのメッセージとも、順序依存型の共起確率が閾値を超えていない。そのため、メッセージ共起パターン６１には、メッセージＩＤ「ｄ」のメッセージは含まれない。
【０１４８】
次に、順序非依存型の共起確率に基づいて、メッセージ共起パターン６１が拡張される。その結果、メッセージ共起パターン６１にメッセージＩＤ「ｄ」のメッセージを追加したメッセージ共起パターン６２が生成される。
【０１４９】
以下、メッセージ共起パターン生成処理について詳細に説明する。
図２７は、メッセージ共起パターン生成処理の手順の一例を示すアクティビティ図である。以下、図２７に示す処理をステップ番号に沿って説明する。
【０１５０】
［ステップＳ１６１］メッセージ共起パターン生成部１３５は、順序依存共起確率記憶部１３２と順序非依存共起確率記憶部１３４とから、共起確率が閾値未満の共起関係を削除する。例えばメッセージ共起パターン生成部１３５は、順序依存共起確率記憶部１３２内の順序依存共起確率表１３２ａにおける共起確率の欄を参照し、共起確率が閾値未満のエントリを検索する。そしてメッセージ共起パターン生成部１３５は、該当するエントリを順序依存共起確率表１３２ａから削除する。同様に、メッセージ共起パターン生成部１３５は、順序非依存共起確率記憶部１３４内の順序非依存共起確率表１３４ａにおける共起確率の欄を参照し、共起確率が閾値未満のエントリを検索する。そしてメッセージ共起パターン生成部１３５は、該当するエントリを順序非依存共起確率表１３４ａから削除する。
【０１５１】
［ステップＳ１６２］メッセージ共起パターン生成部１３５は、順序依存共起確率記憶部１３２から発生順序依存の共起関係にあるメッセージのペア（共起メッセージペア）をすべて取得し、グループ１候補としてグループ１候補リスト６３に格納する。グループ１候補リスト６３は、例えばメモリ１０２内に保持される。
【０１５２】
［ステップＳ１６３］メッセージ共起パターン生成部１３５は、順序依存共起確率記憶部１３２から発生順序依存の共起関係にある共起メッセージペアをすべて取得し、グループ２候補としてグループ２候補リスト６４に格納する。グループ２候補リスト６４は、例えばメモリ１０２内に保持される。
【０１５３】
［ステップＳ１６４］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３とグループ２候補リスト６４との共起メッセージペアを、それぞれグループ１、グループ２としたときのグループ間の共起確率算出処理を行う。これにより、発生順序依存の共起関係にある２つのグループ間の共起確率が算出される。メッセージ共起パターン生成部１３５は、算出した共起確率を、グループ共起回数表６５に格納する。グループ間の共起確率算出処理の詳細は後述する（図２９参照）。
【０１５４】
図２８は、グループ共起確率表の一例を示す図である。グループ共起回数表６５には、グループペアＩＤ、グループ１、グループ２、グループ１発生回数、共起回数、および共起確率の欄が設けられている。
【０１５５】
グループペアＩＤの欄には、２つのグループの組み合わせの識別子（グループペアＩＤ）が設定される。グループ１の欄には、グループ１として設定された共起メッセージペアまたはグループペアＩＤが設定される。グループ２の欄には、グループ２として設定された共起メッセージペアまたはグループペアＩＤが設定される。グループ１発生回数の欄には、グループ１に示す共起関係が発生した回数が設定される。共起回数の欄には、グループ１とグループ２との共起関係が発生した回数が設定される。共起確率の欄には、グループ１とグループ２との共起関係の発生確率（共起確率）が設定される。
【０１５６】
以下、図２７の説明に戻る。
［ステップＳ１６５］メッセージ共起パターン生成部１３５は、グループ２候補リスト６４のエントリをすべて削除（初期化）する。そして、メッセージ共起パターン生成部１３５は、順序非依存共起確率記憶部１３４から発生順序非依存の共起関係にあるメッセージのペア（共起メッセージペア）をすべて取得し、グループ２候補としてグループ２候補リスト６４に格納する。
【０１５７】
［ステップＳ１６６］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３とグループ２候補リスト６４とのそれぞれに登録されたグループ間の共起確率算出処理を行う。これにより、発生順序依存の共起関係にある共起メッセージペアと、発生順序非依存の共起関係にある共起メッセージペアとの間の共起確率が算出される。メッセージ共起パターン生成部１３５は、算出した共起確率を、グループ共起回数表６５に格納する。
【０１５８】
［ステップＳ１６７］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３のエントリをすべて削除（初期化）する。そして、メッセージ共起パターン生成部１３５は、順序非依存共起確率記憶部１３４から発生順序非依存の共起関係にあるメッセージのペア（共起メッセージペア）をすべて取得し、グループ１候補としてグループ１候補リスト６３に格納する。
【０１５９】
［ステップＳ１６８］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３とグループ２候補リスト６４とのそれぞれに登録されたグループ間の共起確率算出処理を行う。これにより、発生順序非依存の共起関係にある２つのグループ間の共起確率が算出される。メッセージ共起パターン生成部１３５は、算出した共起確率を、グループ共起回数表６５に格納する。
【０１６０】
［ステップＳ１６９］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３のエントリとグループ２候補リスト６４のエントリとをすべて削除（初期化）する。次に、メッセージ共起パターン生成部１３５は、グループ共起回数表６５内の共起確率が閾値以上のグループの組み合わせ（グループペア）を抽出する。そしてメッセージ共起パターン生成部１３５は、抽出した組み合わせに含まれるすべてのグループを、グループ１候補およびグループ２候補として、グループ１候補リスト６３とグループ２候補リスト６４との両方に格納する。
【０１６１】
［ステップＳ１７０］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３とグループ２候補リスト６４とのそれぞれのグループ間の共起確率算出処理を行う。これにより、２つのグループ間の共起確率が算出される。メッセージ共起パターン生成部１３５は、算出した共起確率を、グループ共起回数表６５に格納する。
【０１６２】
［ステップＳ１７１］メッセージ共起パターン生成部１３５は、グループ共起回数表６５の各エントリをメッセージ間の共起関係に展開して、メッセージ共起パターンとして、メッセージ共起パターンＤＢ１４０に出力する。このときメッセージ共起パターン生成部１３５は、グループ共起回数表６５内の共起確率が閾値以上のエントリについてのみ、メッセージ共起パターンを出力してもよい。
【０１６３】
図２８に示すグループ共起回数表６５では、ＩＤ「Ｐ２００１」のエントリは、グループ１とグループ２として、グループ共起回数表６５内の他のエントリのＩＤ「Ｐ０００１」、「Ｐ１００１」が設定されている。そこでＩＤ「Ｐ２００１」のエントリについて、グループ１が「Ｉ０００２」と「Ｄ０００３」とに展開され、グループ２が「Ｄ０００３」と「Ｄ０１４１」とに展開される。ここで「Ｄ０００３」は重複するためＩＤ「Ｐ２００１」のエントリは、「Ｉ０００２」、「Ｄ０００３」、「Ｄ０１４１」に展開される。すなわち「Ｉ０００２」、「Ｄ０００３」、「Ｄ０１４１」の組からなるメッセージ共起パターンが出力される。出力されたメッセージ共起パターンは、パターンＩＤが付与され、メッセージ共起パターンＤＢ１４０に格納される。
【０１６４】
次に、グループ間の共起確率算出処理について詳細に説明する。
図２９は、グループ間の共起確率算出処理の手順の一例を示すアクティビティ図である。以下、図２９に示す処理をステップ番号に沿って説明する。
【０１６５】
［ステップＳ１８１］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３内の未処理のグループ１候補を１件、グループ１として取得する。
［ステップＳ１８２］メッセージ共起パターン生成部１３５は、グループ１と共通のメッセージＩＤを要素に持つグループ２候補を１件、グループ２としてグループ２候補リスト６４から取得する。
【０１６６】
［ステップＳ１８３］メッセージ共起パターン生成部１３５は、メッセージＤＢ１２０から、グループ１に属するメッセージを特定する。例えばメッセージ共起パターン生成部１３５は、グループ１に含まれるメッセージＩＤそれぞれと同じメッセージＩＤを有するメッセージを特定する。
【０１６７】
［ステップＳ１８４］メッセージ共起パターン生成部１３５は、メッセージＤＢ１２０内のステップＳ１８３で特定したメッセージのうち、グループ２と共有されるメッセージを抽出する。ここで抽出されたメッセージの数が、グループ１とグループ２との共起回数となる。
【０１６８】
図３０は、グループ間の共起関係の一例を示す図である。図３０の例では、メッセージＤＢ１２０内のメッセージ７１，７２，７４，７５が、グループ１に属している。メッセージ７１が発生してから共起期間内にメッセージ７２が発生しており、２つのメッセージは共起関係にある。同様に、メッセージ７４が発生してから共起期間内にメッセージ７５が発生しており、２つのメッセージは共起関係にある。
【０１６９】
またメッセージＤＢ１２０内のメッセージ７２，７３，７６，７７が、グループ２に属している。メッセージ７２が発生してから共起期間内にメッセージ７３が発生しており、２つのメッセージは共起関係にある。同様に、メッセージ７６が発生してから共起期間内にメッセージ７７が発生しており、２つのメッセージは共起関係にある。
【０１７０】
このとき、メッセージ７２は、グループ１とグループ２との両方に属している。従って、メッセージ７１〜７３により、共起関係が１件カウントされる。他方、グループ１のメッセージ７４，７５とグループ２のメッセージ７６，７７とは、共通のメッセージを有しておらず、共起関係にはない。
【０１７１】
このようなグループ間の共起関係の抽出が、ステップＳ１８３，Ｓ１８４で行われる。以下、図２９の説明に戻る。
［ステップＳ１８５］メッセージ共起パターン生成部１３５は、グループ共起回数表６５における、現在のグループ１とグループ２とのペアに対応するエントリに対して、グループ１の発生回数、共起回数、および共起確率の値を更新する。共起確率は、例えば共起回数を、グループ１の発生回数で除算した値である。なお、図２５に示した例と同様に、共起回数の２倍を、グループ１の発生回数とグループ２の発生回数との合計で除算した値を共起確率としてもよい。
【０１７２】
［ステップＳ１８６］メッセージ共起パターン生成部１３５は、グループ２候補リスト６４内に、未処理のグループ２候補があるか否かを判断する。未処理のグループ２候補があれば、処理がステップＳ１８２に進められる。未処理のグループ２候補がなければ、処理がステップＳ１８７に進められる。
【０１７３】
［ステップＳ１８７］メッセージ共起パターン生成部１３５は、グループ１候補リスト６３内に、未処理のグループ１候補があるか否かを判断する。未処理のグループ１候補があれば、処理がステップＳ１８１に進められる。未処理のグループ１候補がなければ、グループ間共起確率算出処理が終了する。
【０１７４】
以上のようにして、メッセージ共起パターンが生成され、メッセージ共起パターンＤＢ１４０に格納される。
＜＜ＣＩ間関連算出＞＞
メッセージ共起パターンの生成が完了すると、ＣＩ間関連算出部１５０により、ＣＩ間関連算出処理が行われる。
【０１７５】
ＣＩ間の関連を算出する手法としては、例えば、共起メッセージパターン（ａ，ｂ，ｃ）のそれぞれのメッセージの出力元には関連があると仮定し、メッセージパターンと同形の共起ＣＩパターンを作ることが考えられる。
【０１７６】
図３１は、共起ＣＩパターンの生成例を示す図である。メッセージ共起パターンは、共起関係のあるメッセージのメッセージＩＤ（ａ，ｂ，ｃ）で表されている。図６に示したように、メッセージＩＤには出力元ＣＩの名称とメッセージ種別とが含まれている。そこで、メッセージ共起パターンに含まれる各メッセージＩＤから出力元を抽出することで、共起ＣＩパターンを生成することができる。
【０１７７】
ただし、このようにして共起ＣＩパターンを作成しただけでは、個別の共起ＣＩパターンに着目したとき、ＣＩ間の関連の有無はわかるが、関連の強さが分からない。そのため、調査範囲はわかっても、障害時に優先して調査すべき機器が分からず、迅速な障害切り分けの妨げとなる。そこで、ＣＩ間関連算出部１５０は、任意のＣＩに着目し、そのＣＩを含む共起ＣＩパターンをまとめ、まとめられた共起関係からＣＩ間の関連の強さを算出する。
【０１７８】
図３２は、ＣＩ間の関連の強さの算出例を示す図である。例えば、メッセージ共起パターンＤＢ１４０に登録されているメッセージ共起パターンそれぞれから、図３１に示すように共起ＣＩパターン８１〜８５を生成することで、共起ＣＩパターンリスト８０が作成される。ここで例えばＣＩ「Ａｐｐ００２」に着目して、ＣＩ「Ａｐｐ００２」を中心とした関連を示すＣＩ間関連グラフ８６を作成するものとする。
【０１７９】
図３２の例では、ＣＩ「Ｗｅｂ００２」は、２つの共起ＣＩパターン８１，８２において、ＣＩ「Ａｐｐ００２」の上流側に関連する。そこで、ＣＩ間関連グラフ８６では、ＣＩ「Ａｐｐ００２」とＣＩ「Ｗｅｂ００２」が強い有方向の関連で接続される。図３２の例では、太い矢印により強い関連が表されている。
【０１８０】
同様にＣＩ「Ａｐｐ００１」は、２つの共起ＣＩパターン８１，８４において、ＣＩ「Ａｐｐ００２」に対して無方向の関連性を有している。そこで、ＣＩ間関連グラフ８６では、ＣＩ「Ａｐｐ００２」とＣＩ「Ａｐｐ００１」が強い無方向の関連で接続される。図３２の例では、太い実線により強い関連が表されている。
【０１８１】
ＣＩ「Ｗｅｂ００１」は、１つの共起ＣＩパターン８５において、ＣＩ「Ａｐｐ００２」の下流側に関連する。そこで、ＣＩ間関連グラフ８６では、ＣＩ「Ａｐｐ００２」とＣＩ「Ｗｅｂ００１」が弱い有方向の関連で接続される。図３２の例では、細い矢印により弱い関連が表されている。
【０１８２】
このようにＣＩ間関連グラフ８６によりＣＩ間の関連の強さを表すことで、障害の原因や影響範囲を切り分ける際の調査の優先順位が明確となる。すなわち、ＣＩ「Ａｐｐ００２」に障害が発生した場合、ＣＩ「Ｗｅｂ００２」について、原因究明における調査の優先順位が高くなる。またＣＩ「Ａｐｐ００１」について、影響範囲探索における調査の優先順位が高くなる。
【０１８３】
なお、図３２に示したのは、ＣＩ間の関連強さ算出の一例であり、他の様々な算出方法が考えられる。例えば２つのＣＩ間の関連の強さの算出基準としては、共起確率、共起関係の種類数、共起関係の発生回数を用いることができる。これらの算出基準のいずれか１つ、または２つ以上を組み合わせてＣＩ間の関連強さを算出できる。第２の実施の形態では、共起確率のみを用いて、ＣＩ間の関連強さを算出するものとする。複数の算出基準を組み合わせてＣＩ間の関連強さを算出する例は、後述する第３〜第５の実施の形態において説明するものとする。
【０１８４】
共起確率のみを用いてＣＩ間の関連強さを算出する場合、例えば、２つのＣＩ間で発生した共起関係を表すメッセージペアそれぞれの共起確率のうち、最も高い共起確率が、当該２つのＣＩ間の関連の強さとなる。以下、ＣＩ間関連算出処理について詳細に説明する。
【０１８５】
図３３は、ＣＩ間関連算出処理の手順の一例を示すアクティビティ図である。以下、図３３に示す処理をステップ番号に沿って説明する。
［ステップＳ２０１］ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンＤＢ１４０を参照し、ＣＩ間共起スコアを算出する。ＣＩ間共起スコア算出部１５１は、算出したＣＩ間共起スコアを、ＣＩ間共起スコア記憶部１５２に設定する。ＣＩ間共起スコア算出処理の詳細は後述する（図３４参照）。
【０１８６】
［ステップＳ２０２］ＣＩ間関連グラフ生成部１５３は、ＣＩ間共起スコア記憶部１５２を参照し、ＣＩ間関連グラフを生成する。ＣＩ間関連グラフ生成部１５３は、生成したＣＩ間関連グラフを示す情報を、ＣＩ間関連グラフ記憶部１６０に格納する。ＣＩ間関連グラフ生成処理の詳細は後述する（図３６参照）。
【０１８７】
次に、ＣＩ間共起スコア算出処理について詳細に説明する。
図３４は、ＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図３４に示す処理をステップ番号に沿って説明する。
【０１８８】
［ステップＳ２１１］ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンＤＢ１４０から、メッセージ共起パターンを一件抽出する。
［ステップＳ２１２］ＣＩ間共起スコア算出部１５１は、抽出したメッセージ共起パターンの共起関係を、ＣＩのペアに展開する。例えばメッセージ共起パターンは、図１０に示すように、共起するメッセージの組み合わせに付与されたＩＤが設定されている。ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンに含まれるＩＤに対応するエントリを、順序依存共起確率記憶部１３２または順序非依存共起確率記憶部１３４から検索する。そしてＣＩ間共起スコア算出部１５１は、メッセージ共起パターンに含まれる共起ＩＤを、対応するエントリに含まれるメッセージＩＤの組に展開する。ＣＩ間共起スコア算出部１５１は、組となったメッセージＩＤそれぞれからＣＩの名称を抽出し、ＣＩペアとする。ＣＩ間共起スコア算出部１５１は、展開して得られたＣＩペアに対して、共起するメッセージの組の共起ＩＤを付与しておく。
【０１８９】
［ステップＳ２１３］ＣＩ間共起スコア算出部１５１は、ＣＩペア発生表を更新する。ＣＩペア発生表は、２つのＣＩのペアごとに、そのペアが共に属するメッセージ共起パターンの発生確率を設定するデータテーブルである。ＣＩペア発生表には、発生順序依存型ＣＩペア発生表９１と発生順序非依存型ＣＩペア発生表９２との２種類がある。
【０１９０】
図３５は、ＣＩペア発生表の一例を示す図である。発生順序依存型ＣＩペア発生表９１には、ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、共起確率、および共起スコアの欄が設けられている。ＣＩ１とＣＩ２との欄には、メッセージ共起パターンをメッセージペアに展開したときに、メッセージペアの出力元のＣＩペアを構成するＣＩの名称が設定される。パターンＩＤの欄には、ＣＩペアの生成元となったメッセージ共起パターンのパターンＩＤが設定される。共起ＩＤの欄には、対応するメッセージ共起パターン内の共起ＩＤで示されるメッセージペアのうち、対応するＣＩペアを出力元とするメッセージペアの共起ＩＤが設定される。共起確率の欄には、対応する共起ＩＤで示されるメッセージペアの共起確率が設定される。共起スコアの欄には、ＣＩペアが共通のメッセージペアのうちの共起確率の最大値が、そのＣＩペアに対する共起スコアとして設定される。
【０１９１】
例えば、ＣＩ「Ａｐｐ００１」とＣＩ「Ａｐｐ００２」とを出力元とするメッセージペア（共起ＩＤ「Ｄ００５」、「Ｄ００８」）が、２つのメッセージ共起パターンそれぞれに含まれている場合がある。共起ＩＤ「Ｄ００５」のメッセージペアの共起確率は「０．９９」であり、共起ＩＤ「Ｄ００８」のメッセージペアの共起確率は「０．８５」である。すると最大値は「０．９９」であり、ＣＩ「Ａｐｐ００１」とＣＩ「Ａｐｐ００２」のペアに対する共起スコアは「０．９９」となる。
【０１９２】
発生順序非依存型ＣＩペア発生表９２にも、発生順序依存型ＣＩペア発生表９１と同様の情報が格納される。
ＣＩペア発生表を更新する際、ＣＩ間共起スコア算出部１５１は、ＣＩペアが順序依存の共起関係から抽出されていれば、発生順序依存型ＣＩペア発生表９１を更新する。またＣＩ間共起スコア算出部１５１は、ＣＩペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型ＣＩペア発生表９２を更新する。ＣＩペアがどのような共起関係から抽出されたのかは、そのＣＩペアに付与された共起ＩＤに基づいて判断できる。例えば図８、図９の例では、順序依存の共起メッセージの組に付与される共起ＩＤは「Ｄ」で始まり、順序非依存の共起メッセージの組に付与される共起ＩＤは「Ｉ」で始まる。
【０１９３】
ＣＩペア発生表の更新においては、ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１または発生順序非依存型ＣＩペア発生表９２にＣＩペアの情報を追加し、そのＣＩペアに対応する共起スコアを更新する。
【０１９４】
以下、図３４の説明に戻る。
［ステップＳ２１４］ＣＩ間共起スコア算出部１５１は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップＳ２１１に進められる。未評価のメッセージ共起パターンがない場合、処理がステップＳ２１５に進められる。
【０１９５】
［ステップＳ２１５］ＣＩ間共起スコア算出部１５１は、ＣＩ間共起スコア記憶部１５２に、ＣＩ間共起スコアを出力する。例えばＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１と発生順序非依存型ＣＩペア発生表９２とのそれぞれから、ＣＩペアごとの共起スコアを抽出する。そしてＣＩ間共起スコア算出部１５１は、ＣＩ間共起スコア記憶部１５２内のＣＩ間共起スコア表における、ＣＩペアに対応する位置に、抽出した共起スコアを設定する。
【０１９６】
このようにして、ＣＩ間共起スコアが算出される。算出されたＣＩ間共起スコアに基づいて、ＣＩ間関連グラフ生成部１５３によりＣＩ間関連グラフが生成される。
図３６は、ＣＩ間関連グラフ生成処理の手順の一例を示すアクティビティ図の前半である。以下、図３６に示す処理をステップ番号に沿って説明する。
【０１９７】
［ステップＳ２２１］ＣＩ間関連グラフ生成部１５３は、ＣＩ間共起スコア記憶部１５２を参照し、発生順序依存型のＣＩ間共起スコアを１エントリ抽出する。抽出されるエントリには、起点ＣＩ、終点ＣＩ、および共起スコアが含まれる。
【０１９８】
［ステップＳ２２２］ＣＩ間関連グラフ生成部１５３は、発生順序依存型の共起スコアが閾値以上か否かを判断する。共起スコアが閾値以上であれば、処理がステップＳ２２３に進められる。共起スコアが閾値未満であれば、処理がステップＳ２２４に進められる。
【０１９９】
［ステップＳ２２３］ＣＩ間関連グラフ生成部１５３は、ステップＳ２２１で抽出したエントリの内容に、種類「有方向」を追加して、ＣＩ間関連グラフ記憶部１６０に登録する。
【０２００】
［ステップＳ２２４］ＣＩ間関連グラフ生成部１５３は、未評価の発生順序依存型のＣＩ間の共起スコアがあるか否かを判断する。未評価の共起スコアがあれば、処理がステップＳ２２１に進められる。未評価の共起スコアがなければ、処理がステップＳ２３１（図３７参照）に進められる。
【０２０１】
図３７は、ＣＩ間関連グラフ生成処理の手順の一例を示すアクティビティ図の後半である。以下、図３７に示す処理をステップ番号に沿って説明する。
［ステップＳ２３１］ＣＩ間関連グラフ生成部１５３は、ＣＩ間共起スコア記憶部１５２から、発生順序非依存型のＣＩ間共起スコアを、１エントリ抽出する。
【０２０２】
［ステップＳ２３２］ＣＩ間関連グラフ生成部１５３は、ＣＩ間関連グラフ記憶部１６０から、ステップＳ２３１で抽出したエントリと、起点および終点が一致するエントリを探索する。
【０２０３】
［ステップＳ２３３］ＣＩ間関連グラフ生成部１５３は、ステップＳ２３２の探索により、該当エントリがすでにＣＩ間関連グラフ記憶部１６０に登録済みであることが判明した場合、処理をステップＳ２３６に進める。該当エントリが登録済みでなければ、処理がステップＳ２３４に進められる。
【０２０４】
［ステップＳ２３４］ＣＩ間関連グラフ生成部１５３は、ステップＳ２３１で抽出したエントリの共起スコアが閾値以上か否かを判断する。閾値以上であれば、処理がステップＳ２３５に進められる。閾値未満であれば、処理がステップＳ２３６に進められる。
【０２０５】
［ステップＳ２３５］ＣＩ間関連グラフ生成部１５３は、ステップＳ２３１で抽出したエントリの内容に、種類「無方向」を追加して、ＣＩ間関連グラフ記憶部１６０に登録する。
【０２０６】
［ステップＳ２３６］ＣＩ間関連グラフ生成部１５３は、未評価の発生順序非依存型のＣＩ間の共起スコアがあるか否かを判断する。未評価の共起スコアがあれば、処理がステップＳ２３１に進められる。未評価の共起スコアがなければ、ＣＩ間関連グラフ生成処理が終了する。
【０２０７】
このようにして、ＣＩ間関連グラフ記憶部１６０内には、図１３に示すようなＣＩ間関連グラフを定義する情報が格納される。例えば図１３に示すＣＩ間関連表１６１における各エントリの、起点ＣＩと終点ＣＩとをノードとし、そのノード間を影響種類に応じた線で接続することで、図３２に示したようなＣＩ間関連グラフ８６が生成できる。ノード間を接続する線の太さは、その線で表される関係の共起スコアに応じた太さである。
【０２０８】
＜ＣＩ間影響算出＞
次に、ＣＩ間影響算出処理について詳細に説明する。障害が発生したＣＩと関係があるＣＩは、ＣＩ間関連グラフ記憶部１６０に示されているＣＩ間の関連を辿ることで得られる。
【０２０９】
図３８は、ＣＩ間影響算出の一例を示す図である。例えば管理対象マシン２１０で動作しているＣＩ「Ａｐｐ００１」に障害が発生したものとする。すると、管理サーバ１００のＣＩ間影響判定部１７０が、ＣＩ間関連グラフ記憶部１６０を参照し、ＣＩ「Ａｐｐ００１」を起点として関連を辿り、直接または間接的にＣＩ「Ａｐｐ００１」に関連するＣＩを抽出する。として、ＣＩ間影響判定部１７０は、関連の強さ（共起スコア）が閾値以上の関連で結びついたＣＩの範囲を、調査範囲９３に決定する。
【０２１０】
また、ＣＩ間関連グラフ記憶部１６０には、ＣＩ間の関連の強さが共起スコアで表されている。また関連の種類として、発生順序を考慮した共起関係から算出した関連（影響種類「有方向」）と、発生順序を考慮しない共起関係から算出した関連（影響種類「無方向」）とがある。
【０２１１】
なお、複数のＣＩで発生したメッセージは、一定の割合で発生時刻の入れ替わりが発生する。そのため、メッセージの順序を考慮した共起関係だけを使ってＣＩ間の関連を辿っても、発生時刻の入れ替わりの影響を受け、システム内の実際の影響範囲を見逃すおそれがある。そこで、ＣＩ間影響判定部１７０は、ＣＩ間の関連を辿る際に発生順序を考慮した共起関係から算出した関連と、発生順序を考慮しない共起関係を併用する。
【０２１２】
例えばＣＩ間影響判定部１７０は、あるＣＩから次のＣＩを辿る際、最初は、障害の影響範囲を特定するため、発生順序を考慮した共起関係（自→他）を探す。次にＣＩ間影響判定部１７０は、障害の原因を特定するため、発生順序を考慮した共起関係（他→自）を探す。そして最後にＣＩ間影響判定部１７０は、双方向に影響を及ぼす機器を特定するため、発生順序を考慮しない共起関係を探す。
【０２１３】
ＣＩ間影響判定部１７０が、以上の手順を再帰的に行いながら関連を辿ることで、発生時刻の入れ替わりが含まれていても影響範囲を漏れなく抽出することが可能になる。例えば、図３２に示したＣＩ間関連グラフ８６において、発生順序を考慮した共起関係だけで影響範囲を判断したのでは、ＣＩ「Ａｐｐ００２」に対してＣＩ「Ａｐｐ００１」が関連することを認識できない。発生順序を考慮しない共起関係を含めて影響範囲を判断することで、ＣＩ「Ａｐｐ００２」に対してＣＩ「Ａｐｐ００１」が関連することを認識可能となる。
【０２１４】
図３９は、ＣＩ間影響算出処理の手順の一例を示すアクティビティ図である。以下、図３９に示す処理をステップ番号に沿って説明する。
［ステップＳ３０１］ＣＩ間影響範囲探索部１７１は、障害発生ＣＩ情報３２を取得する。障害発生ＣＩ情報３２には、例えば障害が発生したＣＩの名称が含まれている。障害発生ＣＩ情報３２は、例えばシステムの運用者により管理サーバ１００に入力される。また、管理サーバ１００が、管理対象マシン２１０，２２０，・・・から収集したメッセージのうちのエラーメッセージなどから障害が発生したＣＩを特定し、そのＣＩの名称を含む障害発生ＣＩ情報３２をＣＩ間影響範囲探索部１７１に自動で入力してもよい。
【０２１５】
［ステップＳ３０２］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０を参照し、ＣＩ間影響範囲探索処理を行う。ＣＩ間影響範囲探索処理は、障害の影響を受ける可能性があるＣＩや、障害発生に影響を及ぼしている可能性があるＣＩを探索する処理である。ＣＩ間影響範囲探索処理の詳細は後述する（図４１参照）。
【０２１６】
［ステップＳ３０３］調査順位決定部１７２は、探索の結果影響があると判断された各ＣＩについての、調査順位決定処理を行う。調査順位決定部１７２は、決定した調査順位を付与した調査対象リスト３３を出力する。調査順位決定処理の詳細は後述する（図４９参照）。
【０２１７】
図４０は、ＣＩ間影響算出処理による調査対象リストの出力例を示す図である。図４０の例では、障害発生ＣＩ情報３２にＣＩ「Ａｐｐ００２」と示されている。この場合、ＣＩ間関連グラフ記憶部１６０内のＣＩ間関連表１６１に基づいて、ＣＩ「Ａｐｐ００２」に影響する範囲が特定され、調査対象リスト３３が生成される。
【０２１８】
調査対象リスト３３には、調査順位、調査対象、種類、およびスコアの欄が設けられている。調査順位の欄には、調査対象のＣＩの調査の優先順位が設定される。調査対象の欄には、調査対象のＣＩの名称が設定される。種類の欄には、障害との関係の種類が設定される。種類には、例えば「原因」、「影響」、「双方向」がある。種類「原因」は、対応するＣＩが障害の原因となっている可能性があることを示す。種類「影響」は、対応するＣＩが、障害の影響を受ける可能性があることを示す。種類「双方向」は、対応するＣＩが、障害の原因である可能性があると共に、障害の影響を受ける可能性があることを示す。スコアの欄には、調査の優先度を示すスコアが設定される。
【０２１９】
スコアの計算では、例えば、該当ＣＩの共起スコアを基準とし、種類が「双方向」の場合、双方向ペナルティとして１未満の所定値（例えば「０．８」を乗算する。また障害発生ＣＩと間接的に接続されているＣＩについては、障害発生ＣＩとの経路上のすべてのＣＩのスコアが、自身の共起スコアに乗算される。これらの計算結果が、調査対象ＣＩのスコアとなる。
【０２２０】
このような調査対象リスト３３が出力されることで、運用者は、どのＣＩから調査するべきかを容易に判断することができ、適切な順番で調査を進めることができる。その結果、障害の原因や影響の調査を迅速に行うことができる。
【０２２１】
次に、ＣＩ間影響範囲探索処理について詳細に説明する。
図４１は、ＣＩ間影響範囲探索処理の手順の一例を示すアクティビティ図である。以下、図４１に示す処理をステップ番号に沿って説明する。
【０２２２】
［ステップＳ３１１］ＣＩ間影響範囲探索部１７１は、判定スコア９４に初期値「１」を設定する。またＣＩ間影響範囲探索部１７１は、調査ＣＩ９５として、障害が発生したＣＩの名称を設定する。
【０２２３】
［ステップＳ３１２］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０を参照し、影響隣接ＣＩ抽出処理を実行する。これは、調査ＣＩ９５に示されているＣＩに隣接するＣＩのうち、調査ＣＩ９５に示されているＣＩが影響を与えている他のＣＩを抽出する処理である。影響隣接ＣＩ抽出処理により、影響範囲のＣＩに関する情報が、調査対象候補リスト９６に出力される。影響隣接ＣＩ抽出処理の詳細は後述する（図４３参照）。
【０２２４】
図４２は、調査対象候補リストの一例を示す図である。調査対象候補リスト９６には、調査対象、種類、およびスコアの欄が設けられている。調査対象の欄には、調査対象のＣＩの名称が設定される。種類の欄には、障害との関係の種類が設定される。スコアの欄には、調査の優先度を示すスコアが設定される。
【０２２５】
以下、図４１の説明に戻る。
［ステップＳ３１３］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０を参照し、被影響隣接ＣＩ抽出処理を実行する。これは、調査ＣＩ９５に示されているＣＩに隣接するＣＩのうち、調査ＣＩ９５に示されているＣＩが影響を受けている他のＣＩを抽出する処理である。被影響隣接ＣＩ抽出処理により、影響範囲のＣＩに関する情報が、調査対象候補リスト９６に出力される。被影響隣接ＣＩ抽出処理の詳細は後述する（図４５参照）。
【０２２６】
［ステップＳ３１４］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０を参照し、双方向影響隣接ＣＩ抽出処理を実行する。これは、調査ＣＩ９５に示されているＣＩに隣接するＣＩのうち、調査ＣＩ９５に示されているＣＩが影響を与えている可能性と、そのＣＩが影響を受けている可能性とがある他のＣＩを抽出する処理である。双方向影響隣接ＣＩ抽出処理により、影響範囲のＣＩに関する情報が、調査対象候補リスト９６に出力される。双方向影響隣接ＣＩ抽出処理の詳細は後述する（図４７参照）。
【０２２７】
［ステップＳ３１５］ＣＩ間影響範囲探索部１７１は、調査対象候補リスト９６に登録されている調査対象候補のＣＩうち、ステップＳ３１２〜Ｓ３１４の処理が未処理のＣＩがある場合、処理をステップＳ３１６に進める。未処理のＣＩがなければ、ＣＩ間影響範囲探索処理が終了する。
【０２２８】
［ステップＳ３１６］ＣＩ間影響範囲探索部１７１は、調査対象候補リスト９６に登録されている調査対象候補のＣＩから、ステップＳ３１２〜Ｓ３１４の処理が未処理のＣＩを１つ抽出し、調査ＣＩ９５に設定する。またＣＩ間影響範囲探索部１７１は、抽出したＣＩのスコアを、判定スコア９４に設定する。その後、処理がステップＳ３１２に進められる。
【０２２９】
このようにして、ＣＩ間影響範囲探索処理が終了し、影響があるＣＩが、調査対象候補リスト９６にリストアップされる。
次に、影響隣接ＣＩ算出処理について詳細に説明する。
【０２３０】
図４３は、影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。以下、図４３に示す処理をステップ番号に沿って説明する。
［ステップＳ３２１］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０から、種類が「有方向」で、起点ＣＩが調査ＣＩと一致するエントリをすべて抽出する。そしてＣＩ間影響範囲探索部１７１は、抽出したエントリにより、エントリリスト９７ａを作成する。
【０２３１】
図４４は、影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。影響隣接ＣＩ算出処理で用いられるエントリリスト９７ａは、調査ＣＩの名称が付与されている。エントリリスト９７ａには、起点ＣＩ、終点ＣＩ、影響種類、およびスコアの欄が設けられている。起点ＣＩの欄には、ＣＩ間関連グラフ記憶部１６０から抽出したエントリの起点ＣＩが設定される。影響隣接ＣＩ算出処理で用いられるエントリリスト９７ａに登録されるエントリの起点ＣＩは、調査ＣＩと同じである。終点ＣＩの欄には、ＣＩ間関連グラフ記憶部１６０から抽出したエントリの終点ＣＩが設定される。影響種類の欄には、ＣＩ間関連グラフ記憶部１６０から抽出したエントリの影響種類が設定される。影響隣接ＣＩ算出処理で用いられるエントリリスト９７ａの影響種類は「有方向」である。スコアの欄には、対応するＣＩの組の関係を辿って調査をする優先度を示すスコアが設定される。エントリリスト９７ａへのエントリの登録時には、スコアとして、ＣＩ間関連グラフ記憶部１６０から抽出したエントリの共起スコアが設定される。
【０２３２】
以下、図４３の説明に戻る。
［ステップＳ３２２］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ａから、エントリを１件抽出する。
【０２３３】
［ステップＳ３２３］ＣＩ間影響範囲探索部１７１は、抽出したエントリが、既に調査対象候補リスト９６に登録されているか否かを判断する。既に登録されていれば、処理がステップＳ３２２に進められる。登録されていなければ、処理がステップＳ３２４に進められる。
【０２３４】
［ステップＳ３２４］ＣＩ間影響範囲探索部１７１は、抽出したエントリのスコアに判定スコア９４の値を乗算し、一時スコア９８とする。
［ステップＳ３２５］ＣＩ間影響範囲探索部１７１は、一時スコア９８の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップＳ３２６に進められる。閾値未満であれば、処理がステップＳ３２７に進められる。
【０２３５】
［ステップＳ３２６］ＣＩ間影響範囲探索部１７１は、抽出したエントリの終点ＣＩを、調査対象候補リスト９６に、新たなエントリとして登録する。ＣＩ間影響範囲探索部１７１は、新たに登録したエントリの種類には「影響」を設定し、スコアには現在の一時スコア９８の値を設定する。
【０２３６】
［ステップＳ３２７］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ａ内に、一時スコア９８の計算、および一時スコア９８の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップＳ３２２に進められる。未評価のエントリがなければ、影響隣接ＣＩ算出処理が終了する。
【０２３７】
以上のようにして、障害の影響がおよぶ可能性を有するＣＩが求められ、調査対象候補リスト９６に登録される。
次に、被影響隣接ＣＩ算出処理について詳細に説明する。
【０２３８】
図４５は、被影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。以下、図４５に示す処理をステップ番号に沿って説明する。
［ステップＳ３３１］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０から、種類が「有方向」で、終点ＣＩが調査ＣＩと一致するエントリをすべて抽出する。そしてＣＩ間影響範囲探索部１７１は、抽出したエントリにより、エントリリスト９７ｂを作成する。
【０２３９】
図４６は、被影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。被影響隣接ＣＩ算出処理で用いられるエントリリスト９７ｂには、影響隣接ＣＩ算出処理で用いられるエントリリスト９７ａと同様の情報が設定される。なお、被影響隣接ＣＩ算出処理で用いられるエントリリスト９７ｂに登録されるエントリの終点ＣＩは、調査ＣＩと同じである。またこのエントリリスト９７ｂの影響種類は「有方向」である。
【０２４０】
以下、図４５の説明に戻る。
［ステップＳ３３２］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ｂから、エントリを１件抽出する。
【０２４１】
［ステップＳ３３３］ＣＩ間影響範囲探索部１７１は、抽出したエントリが、既に調査対象候補リスト９６に登録されているか否かを判断する。既に登録されていれば、処理がステップＳ３３２に進められる。登録されていなければ、処理がステップＳ３３４に進められる。
【０２４２】
［ステップＳ３３４］ＣＩ間影響範囲探索部１７１は、抽出したエントリのスコアに判定スコア９４の値を乗算し、一時スコア９８とする。
［ステップＳ３３５］ＣＩ間影響範囲探索部１７１は、一時スコア９８の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップＳ３３６に進められる。閾値未満であれば、処理がステップＳ３３７に進められる。
【０２４３】
［ステップＳ３３６］ＣＩ間影響範囲探索部１７１は、抽出したエントリの終点ＣＩを、調査対象候補リスト９６に、新たなエントリとして登録する。ＣＩ間影響範囲探索部１７１は、新たに登録したエントリの種類には「原因」を設定し、スコアには現在の一時スコア９８の値を設定する。
【０２４４】
［ステップＳ３３７］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ｂ内に、一時スコア９８の計算、および一時スコア９８の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップＳ３３２に進められる。未評価のエントリがなければ、被影響隣接ＣＩ算出処理が終了する。
【０２４５】
以上のようにして、障害の原因である可能性を有するＣＩが求められ、調査対象候補リスト９６に登録される。
次に、双方向影響隣接ＣＩ算出処理について詳細に説明する。
【０２４６】
図４７は、双方向影響隣接ＣＩ算出処理の手順の一例を示すアクティビティ図である。以下、図４７に示す処理をステップ番号に沿って説明する。
［ステップＳ３４１］ＣＩ間影響範囲探索部１７１は、ＣＩ間関連グラフ記憶部１６０から、種類が「無方向」で、起点ＣＩまたは終点ＣＩが調査ＣＩと一致するエントリをすべて抽出する。そしてＣＩ間影響範囲探索部１７１は、抽出したエントリにより、エントリリスト９７ｃを作成する。
【０２４７】
図４８は、双方向影響隣接ＣＩ算出処理で用いられるエントリリストの一例を示す図である。双方向影響隣接ＣＩ算出処理で用いられるエントリリスト９７ｃには、影響隣接ＣＩ算出処理で用いられるエントリリスト９７ａと同様の情報が設定される。なお、双方向影響隣接ＣＩ算出処理で用いられるエントリリスト９７ｃに登録されるエントリでは、起点ＣＩまたは終点ＣＩが、調査ＣＩと同じである。またこのエントリリスト９７ｃの影響種類は「無方向」である。
【０２４８】
以下、図４７の説明に戻る。
［ステップＳ３４２］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ｃから、エントリを１件抽出する。
【０２４９】
［ステップＳ３４３］ＣＩ間影響範囲探索部１７１は、抽出したエントリが、既に調査対象候補リスト９６に登録されているか否かを判断する。既に登録されていれば、処理がステップＳ３４２に進められる。登録されていなければ、処理がステップＳ３４４に進められる。
【０２５０】
［ステップＳ３４４］ＣＩ間影響範囲探索部１７１は、抽出したエントリのスコアに判定スコア９４の値を乗算すると共に、双方向ペナルティとしての所定の１未満の値を乗算し、一時スコア９８とする。
【０２５１】
［ステップＳ３４５］ＣＩ間影響範囲探索部１７１は、一時スコア９８の値が閾値以上か否かを判断する。閾値以上であれば、処理がステップＳ３４６に進められる。閾値未満であれば、処理がステップＳ３４７に進められる。
【０２５２】
［ステップＳ３４６］ＣＩ間影響範囲探索部１７１は、抽出したエントリの終点ＣＩを、調査対象候補リスト９６に、新たなエントリとして登録する。ＣＩ間影響範囲探索部１７１は、新たに登録したエントリの種類には「双方向」を設定し、スコアには現在の一時スコア９８の値を設定する。
【０２５３】
［ステップＳ３４７］ＣＩ間影響範囲探索部１７１は、エントリリスト９７ｃ内に、一時スコア９８の計算、および一時スコア９８の値が閾値以上か否かの評価について、未評価のエントリがあるか否かを判断する。未評価のエントリがある場合、処理がステップＳ３４２に進められる。未評価のエントリがなければ、双方向影響隣接ＣＩ算出処理が終了する。
【０２５４】
以上のようにして、障害の影響がおよぶ可能性があるか、あるいは障害の原因である可能性を有するＣＩが求められ、調査対象候補リスト９６に登録される。
図４３、図４５、図４７の処理の結果、図４２に示すような調査対象候補リスト９６が得られる。調査対象候補リスト９６では、調査対象候補としてリストアップされている各ＣＩについて、調査の優先順位が付与されていない。そこで、調査対象候補リスト９６に対して調査対象候補のＣＩに調査順位を付与することで、調査対象リスト３３が生成される。
【０２５５】
次に、調査順位決定処理について詳細に説明する。
図４９は、調査順位決定処理の手順の一例を示すアクティビティ図である。以下、図４９に示す処理をステップ番号に沿って説明する。
【０２５６】
［ステップＳ３５１］調査順位決定部１７２は、調査対象候補リスト９６内のエントリを、スコアの高い順に読み出す。
［ステップＳ３５２］調査順位決定部１７２は、読み出した順に「１」から昇順の調査順位を付与し、調査対象リスト３３として出力する。
【０２５７】
これにより、図４０に示すような、調査順位付きの調査対象リスト３３が出力される。調査対象リスト３３は、例えばモニタ２１に表示される。運用者は、表示された調査対象リスト３３を参照し、調査順位が上位のＣＩから順に調査を行うことで、効率的に調査を進めることができる。また管理サーバ１００が、自動調査機能を備えている場合、管理サーバ１００は、例えば調査順位が上位のＣＩから順に調査用のプログラムの実行指示を、そのＣＩを有する管理対象マシンに送信する。これにより、自動調査を効率的に実施できる。
【０２５８】
〔第３の実施の形態〕
次に第３の実施の形態について説明する。第３の実施の形態は、共起確率と共起の種類数とに基づいて、関連の強さを計算するものである。
【０２５９】
例えば、ＣＩ間共起スコア算出部１５１は、２つのＣＩ間で発生した共起関係を有するメッセージペアについて、共起関係の種類ごとに共起確率を積算する。ＣＩ間共起スコア算出部１５１は、積算結果を累積スコアとし、すべてのＣＩペアについて得られた各累積スコアを正規化した値を、ＣＩペアを構成する２つのＣＩ間の関連の強さを示す共起スコアとする。
【０２６０】
図５０は、第３の実施の形態におけるＣＩペア発生表の一例を示す図である。第３の実施の形態においても、第２の実施の形態と同様に、発生順序依存型ＣＩペア発生表９１ａと発生順序非依存型ＣＩペア発生表９２ａとが用いられる。
【０２６１】
発生順序依存型ＣＩペア発生表９１ａには、ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、共起確率、種類数、累積スコア、および共起スコアの欄が設けられている。ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、共起確率の欄には、第２の実施の形態に示した発生順序依存型ＣＩペア発生表９１（図３５参照）と同種の情報が設定される。種類数の欄には、共通のＣＩペアから発生した共起メッセージペアを有するメッセージ共起パターンの数が設定される。累積スコアの欄には、同じＣＩペアに対応付けられた共起確率の合計値が設定される。例えばＣＩ「Ａｐｐ００１」とＣＩ「Ａｐｐ００２」とのＣＩペアに対する累積スコアは、「０．９９＋０．８５＝１．８４」となる。共起スコアの欄には、各ＣＩペアの累積スコアを正規化して得られた相対スコアが、そのＣＩペアの共起スコアとして設定される。
【０２６２】
発生順序非依存型ＣＩペア発生表９２ａにも、発生順序依存型ＣＩペア発生表９１ａと同様の情報が格納される。
図５１は、第３の実施の形態における累積スコアの正規化方法の一例を示す図である。例えば、ＣＩ間共起スコア算出部１５１は、ＣＩペアごとの累積スコアに基づいて、各累積スコアの偏差値を求める。このときＣＩ間共起スコア算出部１５１は、計算上の偏差値が「７５」を超えたＣＩペアについては、偏差値「７５」とする。またＣＩ間共起スコア算出部１５１は、計算上の偏差値が「２５」を未満のＣＩペアについては、偏差値「２５」とする。そしてＣＩ間共起スコア算出部１５１は、各ＣＩペアの偏差値に基づいて、以下の式で相対スコアを求める。
相対スコア＝（偏差値−２５）／５０
これにより、０〜１の範囲の値に累積スコアが正規化される。例えば、あるＣＩペアについて、共起確率「０．９９」のの共起関係が２種類あり、共起確率「０．８０」の共起関係が３種類ある場合、累積スコア＝（０．９９×２）＋（０．８０×３）＝４．３８となる。そして、すべてのＣＩペアの累積スコアの平均値と標準偏差とから、累積スコアそれぞれの偏差値が求まる。この偏差値を、０〜１の範囲に収まるように正規化した相対スコアが、共起スコアとして用いられる。
【０２６３】
図５２は、第３の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図５２に示す処理をステップ番号に沿って説明する。
［ステップＳ４１１］ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンＤＢ１４０から、メッセージ共起パターンを一件抽出する。
【０２６４】
［ステップＳ４１２］ＣＩ間共起スコア算出部１５１は、抽出したメッセージ共起パターンの共起関係を、ＣＩのペアに展開する。
［ステップＳ４１３］ＣＩ間共起スコア算出部１５１は、ＣＩペア発生表を更新する。例えばＣＩ間共起スコア算出部１５１は、ＣＩペアが順序依存の共起関係から抽出されていれば、発生順序依存型ＣＩペア発生表９１ａを更新する。またＣＩ間共起スコア算出部１５１は、ＣＩペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型ＣＩペア発生表９２ａを更新する。ＣＩペア発生表の更新においては、ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ａまたは発生順序非依存型ＣＩペア発生表９２ａにＣＩペアの情報を追加し、そのＣＩペアに対応する累積スコアを更新する。
【０２６５】
［ステップＳ４１４］ＣＩ間共起スコア算出部１５１は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップＳ４１１に進められる。未評価のメッセージ共起パターンがない場合、処理がステップＳ４１５に進められる。
【０２６６】
［ステップＳ４１５］ＣＩ間共起スコア算出部１５１は、各ＣＩペアの累積スコアに基づいて、正規化した相対スコアを算出する。例えばＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ａを参照し、各ＣＩペアの累積スコアから、各ＣＩペアの相対スコアを算出し、発生順序依存型ＣＩペア発生表９１ａに共起スコアとして設定する。同様に、ＣＩ間共起スコア算出部１５１は、発生順序非依存型ＣＩペア発生表９２ａを参照し、各ＣＩペアの累積スコアから、各ＣＩペアの相対スコアを算出し、発生順序非依存型ＣＩペア発生表９２ａに共起スコアとして設定する。そして、ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ａと発生順序非依存型ＣＩペア発生表９２ａとに設定した共起スコアを抽出し、ＣＩ間共起スコア記憶部１５２に格納する。
【０２６７】
以上のようにして、共起確率と種類数に依存する共起スコアを算出することができる。これにより、ＣＩ間の関係性の強さを、より正確に求めることが可能となる。
〔第４の実施の形態〕
次に第４の実施の形態について説明する。第４の実施の形態は、共起確率と共起の発生回数とに基づいて、関連の強さを計算するものである。
【０２６８】
例えば、ＣＩ間共起スコア算出部１５１は、ＣＩペア間で発生した共起関係について、その発生回数を共起確率に乗算し、ＣＩペアが共通の共起関係それぞれの乗算結果の合計し、累積スコアとする。そしてＣＩ間共起スコア算出部１５１は、すべてのＣＩペアについて得られた各累積スコアを正規化した値を、ＣＩペアを構成する２つのＣＩ間の関連の強さを示す共起スコアとする。
【０２６９】
図５３は、第４の実施の形態におけるＣＩペア発生表の一例を示す図である。第４の実施の形態においても、第２の実施の形態と同様に、発生順序依存型ＣＩペア発生表９１ｂと発生順序非依存型ＣＩペア発生表９２ｂとが用いられる。
【０２７０】
発生順序依存型ＣＩペア発生表９１ｂには、ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、発生回数、共起確率、累積スコア、および共起スコアの欄が設けられている。ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、共起確率の欄には、第２の実施の形態に示した発生順序依存型ＣＩペア発生表９１（図３５参照）と同種の情報が設定される。発生回数の欄には、対応する共起ＩＤで示される共起関係の発生回数が設定される。累積スコアの欄には、同じＣＩペアに対応付けられた共起関係それぞれの発生回数と共起確率との乗算結果の合計値が設定される。ＣＩペアごとの累積スコアを式で表すと以下の通りである。
累積スコア＝Σ（発生回数×共起確率）
例えば、共起確率「０．９９」の共起関係が１０回発生し、共起確率「０．８０」の共起関係が５回発生した場合、累積スコアは＝（（０．９９×１０）＋（０．８０×５））／（１０＋５）＝０．９２７となる。
【０２７１】
共起スコアの欄には、各ＣＩペアの累積スコアを正規化して得られた相対スコアが、そのＣＩペアの共起スコアとして設定される。
発生順序非依存型ＣＩペア発生表９２ｂにも、発生順序依存型ＣＩペア発生表９１ｂと同様の情報が格納される。
【０２７２】
累積スコアの正規化は、例えば第３の実施の形態と同様の方法で行うことができる。
図５４は、第４の実施の形態における累積スコアの正規化方法の一例を示す図である。第４の実施の形態においても、累積スコアを２５−７５の範囲内の偏差値に置き換え、偏差値を０−１の範囲の値に規格化するとことで、累積スコアを正規化できる。なお第４の実施の形態では、累積スコアの計算時に発生回数の乗算が行われる。そのため、累積スコアの値が第３の実施の形態より大きくなり、図５４の例では、累積スコアが「２００」近くになるＣＩペアも発生している。
【０２７３】
図５５は、第３の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図５５に示す処理をステップ番号に沿って説明する。
［ステップＳ５１１］ＣＩ間共起スコア算出部１５１は、メッセージ共起パターンＤＢ１４０から、メッセージ共起パターンを一件抽出する。
【０２７４】
［ステップＳ５１２］ＣＩ間共起スコア算出部１５１は、抽出したメッセージ共起パターンの共起関係を、ＣＩのペアに展開する。
［ステップＳ５１３］ＣＩ間共起スコア算出部１５１は、ＣＩペア発生表を更新する。例えばＣＩ間共起スコア算出部１５１は、ＣＩペアが順序依存の共起関係から抽出されていれば、発生順序依存型ＣＩペア発生表９１ｂを更新する。またＣＩ間共起スコア算出部１５１は、ＣＩペアが順序非依存の共起関係から抽出されていれば、発生順序非依存型ＣＩペア発生表９２ｂを更新する。ＣＩペア発生表の更新においては、ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ｂまたは発生順序非依存型ＣＩペア発生表９２ｂにＣＩペアの情報を追加し、そのＣＩペアに対応する累積スコアを更新する。累積スコアの計算では、各共起確率に発生回数を乗算した結果の合計値が用いられる。
【０２７５】
［ステップＳ５１４］ＣＩ間共起スコア算出部１５１は、未評価のメッセージ共起パターンがあるか否かを判断する。未評価のメッセージ共起パターンがある場合、処理がステップＳ５１１に進められる。未評価のメッセージ共起パターンがない場合、処理がステップＳ５１５に進められる。
【０２７６】
［ステップＳ５１５］ＣＩ間共起スコア算出部１５１は、各ＣＩペアの累積スコアに基づいて、正規化した相対スコアを算出する。例えばＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ｂを参照し、各ＣＩペアの累積スコアから、各ＣＩペアの相対スコアを算出し、発生順序依存型ＣＩペア発生表９１ｂに共起スコアとして設定する。同様に、ＣＩ間共起スコア算出部１５１は、発生順序非依存型ＣＩペア発生表９２ｂを参照し、各ＣＩペアの累積スコアから、各ＣＩペアの相対スコアを算出し、発生順序非依存型ＣＩペア発生表９２ｂに共起スコアとして設定する。そして、ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ｂと発生順序非依存型ＣＩペア発生表９２ｂとに設定した共起スコアを抽出し、ＣＩ間共起スコア記憶部１５２に格納する。
【０２７７】
以上のようにして、共起確率と発生回数に依存する共起スコアを算出することができる。これにより、ＣＩ間の関係性の強さを、より正確に求めることが可能となる。
〔第５の実施の形態〕
次に第５の実施の形態について説明する。第５の実施の形態は、共起確率、共起の種類数、および共起の発生回数に基づいて、関連の強さを計算するものである。
【０２７８】
図５６は、第５の実施の形態における関連の強さの算出例を示す図である。例えばＣＩ間共起スコア算出部１５１は、現れたＣＩ間の共起関係について、次の３変数で分布を作成する。
・ＣＩ間に見られる共起関係の種類数
・ＣＩ間に見られる共起関係の発生回数
・ＣＩ間の共起確率
各値の分布状況から平均と標準偏差が求まる。そこでＣＩペアそれぞれについて、変数ごとに偏差値を求める。ここで、ＣＩペアの変数の値をｘ、その変数の分布より求まる平均値（バーｘ）、標準偏差σxとする。この場合、偏差値ｓは、ｓ＝（１０（ｘ−（バーｘ））／σx＋５０となる。１つのＣＩペアについて、共起関係の種類数、共起関係の発生回数、共起確率それぞれの偏差値が求まる。この偏差値の合計値を正規化した値が、そのＣＩペアの関連の強さとなる。
【０２７９】
ＣＩ間共起スコア算出部１５１は、関連の強さの計算に用いる値を、ＣＩペア発生表を用いて管理する。
図５７は、第５の実施の形態におけるＣＩペア発生表の一例を示す図である。第５の実施の形態においても、第２の実施の形態と同様に、発生順序依存型ＣＩペア発生表９１ｃと発生順序非依存型ＣＩペア発生表９２ｃとが用いられる。
【０２８０】
発生順序依存型ＣＩペア発生表９１ｃには、ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、発生回数、共起確率、種類数、発生総数、種類数偏差値、発生数偏差値、確率偏差値、偏差値総計、および共起スコアの欄が設けられている。ＣＩ１、ＣＩ２、パターンＩＤ、共起ＩＤ、発生回数、共起確率、および種類数の欄には、第２〜第４の実施の形態に示した発生順序依存型ＣＩペア発生表９１，９１ａ，９１ｂにおける同名の欄と同種の情報が設定される。発生総数の欄には、対応するＣＩペアの発生回数の合計が設定される。種類数偏差値の欄には、種類数の偏差値が設定される。発生数偏差値の欄には、発生総数の偏差値が設定される。確率偏差値の欄には、共起確率の偏差値が設定される。偏差値総計の欄には、種類数偏差値、発生数偏差値、確率偏差値の合計値が設定される。共起スコアの欄には、偏差値総計を正規化して得られる相対スコアが、対応するＣＩペアの共起スコアとして設定される。正規化方法は、第３および第４の実施の形態と同様である。
【０２８１】
発生順序非依存型ＣＩペア発生表９２ｃにも、発生順序依存型ＣＩペア発生表９１ｃと同様の情報が格納される。
図５８は、第５の実施の形態におけるＣＩ間共起スコア算出処理の手順の一例を示すアクティビティ図である。以下、図５８に示す処理をステップ番号に沿って説明する。
【０２８２】
［ステップＳ６１１］ＣＩ間共起スコア算出部１５１は、共起確率と共起の種類数に基づくＣＩ間共起スコア算出処理を行う。この処理の詳細は、図５２に示した通りである。
［ステップＳ６１２］ＣＩ間共起スコア算出部１５１は、共起確率と発生回数に基づくＣＩ間共起スコア算出処理を行う。この処理の詳細は、図５５に示した通りである。
【０２８３】
［ステップＳ６１３］ＣＩ間共起スコア算出部１５１は、ステップＳ６１１，Ｓ６１２における共起スコア算出過程で得られた情報を用いて、発生順序依存型ＣＩペア発生表９１ｃと発生順序非依存型ＣＩペア発生表９２ｃとを更新する。例えば発生順序依存型ＣＩペア発生表９１ｃと発生順序非依存型ＣＩペア発生表９２ｃとに、ＣＩペアに対応付けて、共起ＩＤ、発生回数、共起確率、種類数が設定される。
【０２８４】
［ステップＳ６１４］ＣＩ間共起スコア算出部１５１は、発生順序に依存する場合と依存しない場合とのそれぞれについて、種類数、発生回数、共起確率について、平均と標準偏差とを算出する。ＣＩ間共起スコア算出部１５１は、算出した値を、発生順序依存型統計情報９８ａと発生順序非依存型統計情報９８ｂとに格納する。
【０２８５】
図５９は、統計情報の一例を示す図である。発生順序依存型統計情報９８ａには、発生順序に依存した共起関係に関する共起確率、種類数、発生総数にそれぞれに対し、平均と標準偏差とが設定されている。同様に、発生順序非依存型統計情報９８ｂにも、発生順序に依存しない共起関係に関する共起確率、種類数、発生総数にそれぞれに対し、平均と標準偏差とが設定されている。
【０２８６】
以下、図５８の説明に戻る。
［ステップＳ６１５］ＣＩ間共起スコア算出部１５１は、各ＣＩペアについて、種類数の偏差値、発生回数の偏差値、共起確率の偏差値を算出する。ＣＩ間共起スコア算出部１５１は、算出した各偏差値を、発生順序依存型ＣＩペア発生表９１ｃと発生順序非依存型ＣＩペア発生表９２ｃとに設定する。
【０２８７】
［ステップＳ６１６］ＣＩ間共起スコア算出部１５１は、発生順序依存型ＣＩペア発生表９１ｃを参照し、ＣＩペアごとに３種の偏差値の和（偏差値総計）を計算し、各ＣＩペアの偏差値総計を正規化して、発生順序依存型の共起スコアを求める。またＣＩ間共起スコア算出部１５１は、発生順序非依存型ＣＩペア発生表９２ｃを参照し、ＣＩペアごとに３種の偏差値の和（偏差値総計）を計算し、各ＣＩペアの偏差値総計を正規化して、発生順序非依存型の共起スコアを求める。ＣＩ間共起スコア算出部１５１は、ＣＩペアごとに算出した、順序依存型の共起スコア（有方向）と順序非依存型の共起スコア（無方向）とを、ＣＩ間共起スコア記憶部１５２に設定する。
【０２８８】
このようにして、共起確率、共起の種類数、および発生回数に依存する共起スコアを算出することができる。これにより、ＣＩ間の関係性の強さを、より正確に求めることが可能となる。
【０２８９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０２９０】
１  システム
１−１ａ，１−１ｂ，１−１ｃ，・・・  構成要素
１−２ａ，１−２ｂ，１−２ｃ，・・・  メッセージログ
１０  コンピュータ
１１  記憶部
１２  演算部
【図１】
2017111601.tif 000003
【図２】
2017111601.tif 000004
【図３】
2017111601.tif 000005
【図４】
2017111601.tif 000006
【図５】
2017111601.tif 000007
【図６】
2017111601.tif 000008
【図７】
2017111601.tif 000009
【図８】
2017111601.tif 000010
【図９】
2017111601.tif 000011
【図１０】
2017111601.tif 000012
【図１１】
2017111601.tif 000013
【図１２】
2017111601.tif 000014
【図１３】
2017111601.tif 000015
【図１４】
2017111601.tif 000016
【図１５】
2017111601.tif 000017
【図１６】
2017111601.tif 000018
【図１７】
2017111601.tif 000019
【図１８】
2017111601.tif 000020
【図１９】
2017111601.tif 000021
【図２０】
2017111601.tif 000022
【図２１】
2017111601.tif 000023
【図２２】
2017111601.tif 000024
【図２３】
2017111601.tif 000025
【図２４】
2017111601.tif 000026
【図２５】
2017111601.tif 000027
【図２６】
2017111601.tif 000028
【図２７】
2017111601.tif 000029
【図２８】
2017111601.tif 000030
【図２９】
2017111601.tif 000031
【図３０】
2017111601.tif 000032
【図３１】
2017111601.tif 000033
【図３２】
2017111601.tif 000034
【図３３】
2017111601.tif 000035
【図３４】
2017111601.tif 000036
【図３５】
2017111601.tif 000037
【図３６】
2017111601.tif 000038
【図３７】
2017111601.tif 000039
【図３８】
2017111601.tif 000040
【図３９】
2017111601.tif 000041
【図４０】
2017111601.tif 000042
【図４１】
2017111601.tif 000043
【図４２】
2017111601.tif 000044
【図４３】
2017111601.tif 000045
【図４４】
2017111601.tif 000046
【図４５】
2017111601.tif 000047
【図４６】
2017111601.tif 000048
【図４７】
2017111601.tif 000049
【図４８】
2017111601.tif 000050
【図４９】
2017111601.tif 000051
【図５０】
2017111601.tif 000052
【図５１】
2017111601.tif 000053
【図５２】
2017111601.tif 000054
【図５３】
2017111601.tif 000055
【図５４】
2017111601.tif 000056
【図５５】
2017111601.tif 000057
【図５６】
2017111601.tif 000058
【図５７】
2017111601.tif 000059
【図５８】
2017111601.tif 000060
【図５９】
2017111601.tif 000061