(57)【特許請求の範囲】
【請求項１】
階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに流れる情報を観測し、イベントの実行が開始された時刻と当該イベントの実行が終了した時刻と当該イベントの種別とをイベント情報として取得する取得部と、
前記取得部によって取得されたイベント情報に基づいて、イベントが他のイベントを引き起こす関係を示したモデルの候補の組合せを推定する推定部と、
前記推定部によって推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する検索部と、
前記検索部によって検索されたモデルの候補を前記モデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外することで、モデルの候補の組合せを更新する更新部と、
前記更新部によって更新されたモデルの候補の組合せに基づいて、新たなモデルを作成する作成部と、
を有することを特徴とするモデル作成装置。
【請求項２】
前記更新部は、前記検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補がモデルとして成立する可能性を算出し、算出された可能性が所定の閾値よりも高い場合には、当該検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補と前記検索部によって検索されたモデルの候補とを前記推定部によって推定されたモデルの候補の組合せから除外しないことを特徴とする請求項１に記載のモデル作成装置。
【請求項３】
前記更新部は、前記モデルの候補の組合せの更新が行われなかった場合には、新たな閾値を算出し、前記検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補がモデルとして成立する可能性を算出し、当該算出された可能性が該新たな閾値よりも高い場合には、該モデルの候補と前記検索部によって検索されたモデルの候補とを前記推定部によって推定されたモデルの候補の組合せから除外しないことを特徴とする請求項２に記載のモデル作成装置。
【請求項４】
前記更新部は、前記検索部によって検索されたモデルの候補を前記モデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外する結果、モデルの候補から外れるイベントが発生する場合には、当該イベントを含むモデルの候補を除外しないことを特徴とする請求項１又は２に記載のモデル作成装置。
【請求項５】
階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに流れる情報を観測し、イベントが他のイベントを実行した関係を示すモデルを作成するコンピュータに、
イベントの実行が開始された時刻と当該イベントの実行が終了した時刻と当該イベントの種別とをイベント情報として取得する取得手順と、
前記取得手順によって取得されたイベント情報に基づいて、イベントが他のイベントを引き起こす関係を示したモデルの候補の組合せを推定する推定手順と、
前記推定手順によって推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する検索手順と、
前記検索手順によって検索されたモデルの候補を前記モデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外することで、モデルの候補の組合せを更新する更新手順と、
前記更新手順によって更新されたモデルの候補の組合せに基づいて、新たなモデルを作成する作成手順と、
を実行させることを特徴とするモデル作成プログラム。
【請求項６】
階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに流れる情報を観測し、イベントが他のイベントを実行した関係を示すモデルを作成するモデル作成装置に、
イベントの実行が開始された時刻と当該イベントの実行が終了した時刻と当該イベントの種別とをイベント情報として取得する取得ステップと、
前記取得ステップによって取得されたイベント情報に基づいて、イベントが他のイベントを引き起こす関係を示したモデルの候補の組合せを推定する推定ステップと、
前記推定ステップによって推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する検索ステップと、
前記検索ステップによって検索されたモデルの候補を前記モデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外することで、モデルの候補の組合せを更新する更新ステップと、
前記更新ステップによって更新されたモデルの候補の組合せに基づいて、新たなモデルを作成する作成ステップと、
を実行させることを特徴とするモデル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル作成装置、モデル作成プログラムおよびモデル作成方法に関する。
【背景技術】
【０００２】
従来、複数の情報処理装置が連携し、一つの処理を複数のイベントとして実行する技術が知られている。このような技術が適用されたシステムでは、ある情報処理装置によって実行されたイベントが他の情報処理装置によって実行されるイベントを引き起こす場合がある。このため、システム全体の性能や障害原因を各情報処理装置のプログラムから分析することが困難である。
【０００３】
ここで、イベントが他のイベントを引き起こす関係をモデル化することで、システム全体の性能や障害原因の分析を容易にするモデル作成装置の技術が知られている。例えば、図１８に示す例では、モデル作成装置は、システムが有する情報処理装置同士の通信を観測し、各情報処理装置がイベントを実行した時間帯を示す情報を取得する。
【０００４】
そして、モデル作成装置は、取得した情報に基づいて、イベントが他のイベントを引き起こす関係の候補を推定し、推定された候補が有する規則性を利用して、イベントが他のイベントを引き起こす関係を示したモデルを特定する。その後、モデル作成装置は、情報処理装置同士の通信と作成したモデルとをマッチングすることによって、システム全体の性能や障害原因の分析を容易にする。なお、図１８は、モデル作成装置を説明するための図である。
【０００５】
次に、図１９、２０を用いて、モデル作成装置が作成するモデルについて説明する。図１９に示す例では、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のイベントであるＨＴＴＰ１の実行中に、ＩＩＯＰ（Ｉｎｔｅｒｎｅｔ  Ｉｎｔｅｒ  ＯＲＢ  Ｐｒｏｔｏｃｏｌ）のイベントであるＩＩＯＰ１が実行されている。このような例では、モデル作成装置は、ＨＴＴＰ１によってＩＩＯＰ１が引き起こされたと推定し、ＨＴＴＰ１を親、ＩＩＯＰ１を子として関連付けた木構造のモデルを作成する。なお、図１９は、モデルを説明するための図（１）である。
【０００６】
また、図２０に示す例では、ＨＴＴＰ１の実行中にＩＩＯＰ１とＩＩＯＰ２が実行されている。このような例では、モデル作成装置は、ＨＴＴＰ１によってＩＩＯＰ１およびＩＩＯＰ２の２つの処理が引き起こされたと推定し、ＨＴＴＰ１を親、ＩＩＯＰ１およびＩＩＯＰ２を子として関連づけた木構造のモデルを作成する。なお、図２０は、モデルを説明するための図（２）である。
【０００７】
次に、図２１を用いて、モデル作成装置がモデルをマッチングする処理について説明する。図２１は、マッチング処理を説明するための図である。図２１に示す例では、モデル作成装置は、ＨＴＴＰ１（Ｈ１）によってＩＩＯＰ１（Ｉ１）が引き起こされたことを示すモデルとＨＴＴＰ２（Ｈ２）によってＩＩＯＰ２（Ｉ２）が引き起こされたことを示すモデルとを作成済みである。このような場合には、モデル作成装置は、推定したモデルの候補から作成済みのモデルと同一の関係を検出するマッチング処理を実行することで、システム全体の性能や障害原因の分析を容易にする。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−０１１６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したモデル作成装置の技術では、同時に実行されたイベントの数が多い場合には、推定される候補が複雑になるため、モデルを作成する計算量が膨大になる結果、モデルを作成することができないという問題があった。
【００１０】
例えば、モデル作成装置は、図２２の左側に示すように、ネットワークを流れる情報から推定されたモデルの候補が単純な場合には、有意な時間内でモデルを作成することができる。しかし、モデル作成装置は、同時に実行されたイベントの数が多い場合には、図２２の右側に示すように、ネットワークを流れる情報から推定されたモデルの候補が複雑になるので、有意な時間内でモデルを作成することができない。なお、図２２は、データ内に含まれる関係の量を説明するための図である。
【００１１】
一側面では、本願に開示の技術は、同時に実行されたイベントの数が多い場合にもモデルを作成する。
【課題を解決するための手段】
【００１２】
一つの側面では、モデル作成装置は、階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに流れる情報を観測する。そして、モデル作成装置は、イベントの実行が開始された時刻とイベントの実行が終了した時刻とイベントの種別とをイベント情報として取得する。また、モデル作成装置は、取得されたイベント情報に基づいて、イベントが他のイベントを引き起こす関係を示したモデルの候補の組合せを推定する。また、モデル作成装置は、推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する。そして、モデル作成装置は、検索したモデルの候補をモデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補をモデルの候補の組合せから除外することで、モデルの候補の組合せを更新する。その後、モデル作成装置は、更新されたモデルの候補の組合せに基づいて、新たなモデルを特定する。
【発明の効果】
【００１３】
一側面では、同時に実行されたイベントの数が多い場合にもモデルを作成することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係るモデル作成装置を説明するための図である。
【図２】図２は、実施例２に係るモデル作成装置を説明するための図である。
【図３】図３は、観測されたデータの一例を説明するための図である。
【図４】図４は、パケットから関係を取得する処理を説明するための図である。
【図５】図５は、モデル作成装置が実行する処理の方針を説明するための図である。
【図６】図６は、マッチング結果に基づいた候補の削除を説明するための図である。
【図７】図７は、極端に長いイベントを含むモデルの候補を説明するための図である。
【図８】図８は、既知のモデルに基づいて候補を削除した後のデータを説明するための図である。
【図９】図９は、誤ったマッチング処理を説明するための図である。
【図１０】図１０は、マッチング結果に基づき候補を削除する例を説明するための図である。
【図１１】図１１は、マッチング結果に基づき候補を削除した結果を説明するための図である。
【図１２】図１２は、マッチング結果に基づいて削除できない例を説明するための図である。
【図１３】図１３は、出現割合を考慮して候補を削除する例を説明するための図である。
【図１４】図１４は、削除後の候補を用いてモデルを特定する処理を説明するための図である。
【図１５】図１５は、出現割合を考慮せずに候補を削除する例を説明するための図である。
【図１６】図１６は、モデル作成処理の流れを説明するためのフローチャートである。
【図１７】図１７は、モデル作成プログラムを実行するコンピュータを説明するための図である。
【図１８】図１８は、モデル作成装置を説明するための図である。
【図１９】図１９は、モデルを説明するための図（１）である。
【図２０】図２０は、モデルを説明するための図（２）である。
【図２１】図２１は、マッチング処理を説明するための図である。
【図２２】図２２は、データ内に含まれる関係の量を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して本願に係るモデル作成装置、モデル作成プログラムおよびモデル作成方法について説明する。
【実施例１】
【００１６】
以下の実施例１では、図１を用いて、モデル作成装置の一例を説明する。図１は、実施例１に係るモデル作成装置を説明するための図である。
【００１７】
図１に示すように、モデル作成装置１は、階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに接続される。また、モデル作成装置１は、取得部２、推定部３、検索部４、更新部５、作成部６を有する。
【００１８】
取得部２は、ネットワークに流れる情報を観測し、イベントの実行が開始された時刻とイベントの実行が終了した時刻とイベントの種別とをイベント情報として取得する。推定部３は、取得部２によって取得されたイベント情報に基づいて、イベントが他のイベントを引き起こす関係を示したモデルの候補の組合せを推定する。検索部４は、推定部３によって推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する。更新部５は、検索部４によって検索されたモデルの候補を推定されたモデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外することで、モデルの候補の組合せを更新する。作成部６は、更新部によって更新されたモデルの候補の組合せに基づいて、新たなモデルを作成する。
【００１９】
上述したように、モデル作成装置１は、モデルの候補の組合せを推定し、推定されたモデルの候補のうち、既知のモデルと合致するモデルの候補を検索する。そして、モデル作成装置１は、既知のモデルと合致するモデルの候補をモデルの候補の組合せから除外するとともに、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外することで、モデルの候補の組合せを更新する。その後モデル作成装置１は、更新したモデルの候補の組合せを用いて、新たなモデルを作成する。つまり、モデル作成装置１は、モデルの候補のうち既知のモデルと合致するモデルの候補を、新たなモデルの候補から削除する。このため、モデル作成装置１は、同時に実行されたイベントの数が多く、推定されるモデルの候補の組合せが複雑な場合にも、候補を単純化することができる結果、モデルを作成することができる。
【実施例２】
【００２０】
以下の実施例２では、モデル作成装置を説明する。
【００２１】
まず、図２を用いて、実施例２に係るモデル作成装置を説明する。図２は、実施例２に係るモデル作成装置を説明するための図である。図２に示す例では、モデル作成装置１０は、観測データ記憶部１１、モデルデータ記憶部１２、モデル分類済データ記憶部１３、入力部１４、モデル作成部１５、マッチング部１６、出力部１７を有する。
【００２２】
また、モデル作成装置１０は、階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに接続される。また、モデル作成装置１０は、クライアント端末１８と接続される。
【００２３】
観測データ記憶部１１は、情報処理装置によって、イベントの実行が開始された時刻とイベントの実行が終了した時刻とイベントの種別とをイベント情報データとして記憶する。具体的には、観測データ記憶部１１は、実行されたイベントを示す情報として、イベント名、ラベル、イベントを実行した情報処理装置のＩＰアドレス（以下、要求元ＩＰ）を対応付けたデータを記憶する。また、観測データ記憶部１１は、実行したイベントによって引き起こされた他のイベントを実行する情報処理装置のＩＰアドレス（以下、要求先ＩＰ）、イベント開始時間、イベント終了時間を対応付けたデータを記憶する。ここで、ラベルとは、イベントの種別を示す情報である。
【００２４】
例えば、図３に示す例では、観測データ記憶部１１は、イベント名「１」のデータとして、ラベル「Ｈ０００００１、ＨＲ０００００１」を記憶する。また、観測データ記憶部１１は、データＩＤ「１」のデータとして、イベントを実行した情報処理装置のＩＰアドレス「１０．２５．２１０．１０」を記憶する。
【００２５】
また、観測データ記憶部１１は、イベント名「１」のデータとして、実行したイベントによって引き起こされた他のイベントを実行する情報処理装置のＩＰアドレス「１０．２５．２１４．１０５」を記憶する。また、観測データ記憶部１１は、イベント名「１」のデータとして、イベント開始時間「００．００．００：１００」とイベント終了時間「００．００．００：２９０」とを記憶する。
【００２６】
図２に戻って、モデルデータ記憶部１２は、後述するモデル作成部１５によって作成されたモデルを記憶する。例えば、モデルデータ記憶部１２は、ラベル「Ｈ１」のイベントがラベル「Ｉ１」のイベントを引き起こすことを示すモデルを記憶する。なお、以下の説明では、他のイベントを引き起こすイベントを親イベント、他のイベントによって引き起こされるイベントを子イベントとする。
【００２７】
モデル分類済データ記憶部１３は、既存のモデルと合致したモデルの候補に含まれるイベントを示すデータを記憶する。後述するように、マッチング部１６は、既存のモデルとマッチした候補のうち、削除する候補に含まれるイベントを示すデータをモデル分類済データ記憶部１３に格納する。つまり、モデル分類済データ記憶部１３は、後述するマッチング部１６によって削除されたイベントを示すデータを記憶する。
【００２８】
入力部１４は、階層関係を有する複数のイベントを実行する複数の情報処理装置が接続されたネットワークに流れる情報を観測し、イベントの実行が開始された時刻とイベントの実行が終了した時刻とイベントの種別とをイベント情報として取得する。
【００２９】
具体的には、入力部１４は、ネットワークに流れるパケットを観測し、観測されたパケットから各情報処理装置によって実行されたイベントの情報を取得する。そして、入力部１４は、取得したイベントの情報を観測データ記憶部１１に格納する。
【００３０】
ここで、図４を用いて、入力部１４が実行する処理について説明する。図４は、パケットから関係を取得する処理を説明するための図である。図４に示す例では、入力部１４は、複数のパケットから処理の実行要求「ｈｔｔｐ：／／ｈｏｇｅｈｏｇｅ．ｃｏ．ｊｐ／ｐｏｉ．ｃｇｉ？ａ＝１＆ｂ＝１」を復元する。そして、入力部１４は、復元した実行要求からイベント名、ラベル、イベント要求元ＩＰ、イベント要求先ＩＰ、イベント開始時刻、イベント終了時刻を格納したデータを作成する。その後、入力部１４は、作成したデータを観測データ記憶部１１に格納する。
【００３１】
このように、入力部１４は、実働しているネットワークに流れるパケットを観測し、観測されたパケットから、各情報処理装置が実行するイベントの情報を取得する。このため、モデル作成装置１０は、ネットワークが提供するサービスを止めることなく、ネットワークの状態が正常な時に実行されたイベントの情報を取得することができる。
【００３２】
図２に戻って、モデル作成部１５は、後述するマッチング部１６によって更新されたモデルの候補の組合せに基づいて、新たなモデルを作成する。具体的には、モデル作成部１５は、観測データ記憶部１１に記憶されたデータを読み込んでモデルを作成する。また、モデル作成部１５は、作成したモデルをモデルデータ記憶部１２に格納する。また、モデル作成部１５は、観測データ記憶部１１から読み込んだデータのうち、モデル作成に使用したデータをモデル分類済データ記憶部１３に格納する。また、モデル作成部１５は、観測データ記憶部１１から読み込んだデータのうち、モデル作成に使用されなかったデータを観測データ記憶部１１に再度格納する。
【００３３】
マッチング部１６は、観測データ記憶部１１に記憶されたデータとモデルデータ記憶部１２に記憶されたモデルとを読み込む。そして、マッチング部１６は、読み込んだモデルと読み込んだデータとをマッチングする。その後、マッチング部１６は、読み込んだモデルとマッチしたデータをモデル分類済データ記憶部１３に格納し、読み込んだモデルとマッチしなかったデータを観測データ記憶部１１に再度格納する。
【００３４】
以下、マッチング部１６が実行する処理について具体的に説明する。まず、マッチング部１６は、観測データ記憶部１１に記憶されたデータとモデルデータ記憶部１２に記憶されたモデルとを読み込む。そして、マッチング部１６は、入力部１４によって取得されたデータからモデルの候補の組合せを推定する。また、マッチング部１６は、推定されたモデルの候補のうち、既知のモデルと合致する候補を検索する。
【００３５】
ここで、マッチング部１６は、マッチした候補に含まれるイベントのうち、子イベントが他の候補である第二の候補に含まれているか否かを判別する。また、マッチング部１６は、子イベントが第二の候補に含まれていると判別した場合には、第二の候補に含まれている親イベントを含む第三の候補を検索し、検索された第三の候補が既知のモデルとマッチするか否かを判別する。そして、マッチング部１６は、検索された第三の候補が既知のモデルとマッチすると判別した場合には、第一の候補に含まれるイベントを削除可能と判断する。
【００３６】
つまり、マッチング部１６は、検索されたモデルの候補をモデルの候補の組合せから除外し、かつ、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外する結果、モデルの候補から外れるイベントが発生するか否かを判別する。
【００３７】
一方、マッチング部１６は、検索された第三の候補が既知のモデルとマッチしないと判別した場合には、第二の候補に含まれるイベントの種別の組合せと同じ組合せのイベントを含む候補を検出する。そして、マッチング部１６は、検出された候補に親イベントとして含まれるイベントの数を計数する。また、マッチング部１６は、計数されたイベントの数をマッチした候補に含まれる親イベントと同一種別のイベントが実行された回数で除算した値を計算する。その後、マッチング部１６は、計算した値が所定の閾値よりも低いか否かを判別し、低いと判別した場合には、マッチした候補に含まれるイベントを削除可能と判断する。
【００３８】
つまり、マッチング部１６は、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補がモデルとして成立する可能性を算出する。そして、マッチング部１６は、算出された可能性が所定の閾値よりも低い場合には、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補を除外できると判断する。
【００３９】
その後、マッチング部１６は、削除可能と判断したイベントを示すデータをモデル分類済データ記憶部１３に格納し、他のデータを観測データ記憶部１１に格納する。つまり、マッチング部１６は、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補と検索されたモデルの候補とを削除する。
【００４０】
なお、各情報処理装置は、エラー等が発生していない限り、既知のモデルに含まれるイベントと同様のイベントを実行すると考えられる。このため、マッチング部１６は、既知のモデルとマッチした候補に含まれるイベントを削除する場合にも、新たなモデルとして特定されるであろうイベントの関係を削除することはない。結果として、モデル作成部１５は、適切な候補を用いて新たなモデルを作成することができる。
【００４１】
また、マッチング部１６は、推定された候補と既知のモデルとをマッチングする場合には、貪欲法などの公知のアルゴリズムを利用して、推定された候補全体から見て正しいと推測される可能性を最大にする方法でマッチングを実行するようにしてもよい。
【００４２】
出力部１７は、モデルデータ記憶部１２に記憶されたモデルをクライアント端末１８に対して出力する。例えば、出力部１７は、ラベル「Ｈ１」のイベントによってラベル「Ｉ１」のイベントが引き起こされたことを示すモデルを出力する。
【００４３】
[モデル作成装置が実行する処理]
以下、図を用いて、モデル作成装置１０が実行する処理の具体例を説明する。まず、図５を用いて、モデル作成装置１０が実行する処理の方針について説明する。なお、図５は、モデル作成装置が実行する処理の方針を説明するための図である。図５に示す例では、モデル作成装置１０は、既知のモデルとして、ラベル「Ｈ１」のイベントがラベル「Ｉ１」のイベントを引き起こすことを示すモデルを記憶する。また、モデル作成装置１０は、既知のモデルとして、ラベル「Ｈ２」のイベントがラベル「Ｉ２」のイベントを引き起こすことを示すモデルを記憶する。
【００４４】
また、モデル作成装置１０は、図５に示ように、複雑なモデルの候補を推定する。このような例では、モデル作成装置１０は、推定された候補のうち、既知のモデルと同様に、ラベル「Ｈ１」のイベントとラベル「Ｉ１」のイベントとを含む候補を検索する。また、モデル作成装置１０は、ラベル「Ｈ２」のイベントとラベル「Ｉ２」のイベントとを含む候補を検索する。そして、モデル作成装置１０は、検索された候補に含まれるイベントを示すデータを削除する。つまり、モデル作成装置１０は、既知のモデルとモデルの候補とをマッチングし、既知のモデルとマッチした候補を削除する。
【００４５】
このような場合には、図５の既知モデル削除後のデータに示すように、単純化されたモデルの候補が残る。その後、モデル作成装置１０は、残ったモデルの候補から新たなモデルを特定する。
【００４６】
次に、図６を用いて、マッチング結果に基づく候補の削除について説明する。図６は、マッチング結果に基づいた候補の削除を説明するための図である。図６に示す例では、推定された候補と既知のモデルとをマッチングすることによって、ラベル「Ｈ１」のイベントとラベル「Ｉ３」のイベントとを含む候補およびラベル「Ｈ１」のイベントとラベル「Ｉ４」とを含む候補が削除される。このため、図６に示すように、削除後の候補は削除前の候補と比較して、単純化される。
【００４７】
次に、図７および図８を用いて、既知のモデルとマッチした候補を削除する処理によって、候補を単純化する処理の有効な効果について説明する。図７は、極端に長いイベントを含むモデルの候補を説明するための図である。また、図８は、既知のモデルに基づいて候補を削除した後のデータを説明するための図である。
【００４８】
なお、以下の説明では、モデル作成装置１０は、ラベル「Ｈ１」のイベントとラベル「Ｉ１」のイベントとを含むモデル、ラベル「Ｈ２」のイベントとラベル「Ｉ２」のイベントとを含むモデルを既知のモデルとして記憶する。また、モデル作成装置１０は、ラベル「Ｈ３」のイベントとラベル「Ｉ３」のイベントとを含むモデルを既知のモデルとして記憶する。
【００４９】
図７に示す例では、極端に長いラベル「Ｈ１０」のイベントが発生しているため、ラベル「Ｈ１０」が引き起こすイベントがどのイベントなのか特定するのが困難である。しかし、モデル作成装置１０は、図７中の点線で示すモデルの候補と記憶された既知のモデルとをマッチングすることによって、図８の点線で囲まれた候補を削除することができる。このため、モデル作成装置１０は、ラベル「Ｈ１０」のイベントによってラベル「Ｉ１０」のイベントとラベル「Ｉ１１」のイベントとが引き起こされたことを示すモデルを作成することができる。
【００５０】
次に、図９を用いて、誤ったマッチングについて説明する。図９は、誤ったマッチング処理を説明するための図である。図９に示す例では、本来、ラベル「Ｈ３」のイベントがラベル「Ｉ３」のイベントとラベル「Ｉ１」のイベントとを引き起こしているものとする。ここで、図９に示すように、モデル作成装置１０は、既知のモデルとマッチした候補を単純に削除した場合には、ラベル「Ｈ１」のイベントがラベル「Ｉ１」のイベントを発生させたとして、候補に含まれるイベントを削除する。このため、モデル作成装置１０は、既知のモデルとマッチした候補を単純に削除した場合には、ラベル「Ｈ３」のイベントがラベル「Ｉ３」のイベントを引き起こした可能性を削除してしまう。
【００５１】
このような誤りを回避するため、モデル作成装置１０は、既存のモデルと推定された候補とがマッチした場合には、マッチした候補が所定の要件を満たすか否かを判別し、所定の要件を満たすと判別した場合には、候補に含まれるイベントを削除する。
【００５２】
具体的には、モデル作成装置１０は、マッチした候補に含まれるイベントのうち、子イベントが他の候補である第二の候補に含まれているか否かを判別する。また、モデル作成装置１０は、子イベントが第二の候補に含まれていると判別した場合には、第二の候補に含まれている親イベントを含む第三の候補を検索し、検索された第三の候補が既知のモデルとマッチするか否かを判別する。そして、モデル作成装置１０は、検索された第三の候補が既知のモデルとマッチすると判別した場合には、第一の候補に含まれるイベントを削除する。
【００５３】
また、モデル作成装置１０は、マッチした候補に含まれる子イベントが他の候補に含まれる親イベントによって引き起こされた可能性を計算する。そして、モデル作成装置１０は、計算された可能性が所定の閾値よりも低い場合にのみ、マッチした候補に含まれるイベントを削除する。また、モデル作成装置１０は、マッチした候補に含まれる子イベントが他の候補に含まれる親イベントによって引き起こされた可能性が所定の閾値よりも高い場合には、第一の候補に含まれるイベントを削除せず、マッチング処理を終了する。
【００５４】
例えば、図１０に示す例では、モデル作成装置１０は、モデルの候補と、ラベル「Ｈ１」のイベントによってラベル「Ｉ１」のイベントが引き起こされたことを示すモデルとをマッチングする。すると、モデル作成装置１０は、図１０中のαに示す第一の候補がマッチすると判定する。このため、モデル作成装置１０は、丸印が付されたラベル「Ｉ１」のイベントを含む第二の候補を検索し、検索された第二の候補に含まれる親イベントを含む第三の候補が既知のモデルとマッチするか否かを判別する。なお、図１０は、マッチング結果に基づき候補を削除する例を説明するための図である。
【００５５】
ここで、図１０に示す例では、図１０中βに示すラベル「Ｈ１」のイベントとラベル「Ｉ１」のイベントとを含む第三の候補が存在する。このため、モデル作成装置１０は、図１０中αに示す第一の候補に含まれるイベントを削除する。また、モデル作成装置１０は、図１０中βに示す候補についても同様の処理を実行する。
【００５６】
この結果、モデル作成装置１０は、図１０中αおよびβに示す候補に含まれたイベントを削除するため、図１１に示す候補を取得することができる。また、モデル作成装置１０は、第三の候補が既知のモデルとマッチしない場合には、第一の候補に含まれるイベントを削除しないので、イベントが他のイベントと関係をもたずにあぶれてしまうことを防ぐことができる。なお、図１１は、マッチング結果に基づき候補を削除した結果を説明するための図である。
【００５７】
次に、図１２を用いて、マッチング結果に基づいて候補を削除できない例について説明する。図１２は、マッチング結果に基づいて削除できない例を説明するための図である。図１２に示す例では、モデル作成装置１０は、マッチングの結果、図１２中γとδに示す候補がマッチしたと判別する。
【００５８】
ここで、図１２中γに示す候補に含まれるラベル「Ｈ１」のイベントは、図１２中の丸印で示すラベル「Ｉ１」のイベントを引き起こした可能性がある。しかし、図１２中の丸印で示すラベル「Ｉ１」のイベントを含む候補は、いずれも既知のモデルとマッチしない。この結果、モデル作成装置１０は、図１２中γに示す候補に含まれるイベントを削除せず、図１２中δに示す候補に含まれるイベントのみを削除する。
【００５９】
次に、図１３を用いて、モデル作成装置１０が実行する処理のうち、マッチした候補に含まれる子イベントが他の候補に含まれる割合が低い場合にのみ、マッチした候補に含まれるイベントを削除する処理について説明する。図１３は、出現割合を考慮して候補を削除する例を説明するための図である。
【００６０】
図１３に示す例では、モデル作成装置１０は、取得済みのモデルとしてラベル「Ｈ１」のイベントがラベル「Ｉ１」のイベントを引き起こすことを示すモデルを既知のモデルとして記憶する。また、モデル作成装置１０は、「Ｈ３」のイベントがラベル「Ｉ３」のイベントを３回引き起こすことを示すモデルを既知のモデルとして記憶する。
【００６１】
このような例では、モデル作成装置１０は、図１３中εに示す候補がモデルとマッチしたと判別する。ここで、図１３中εに含まれる子ラベル「Ｉ１」のイベントは、ラベル「Ｈ２」のイベントを親イベントとする候補にも含まれる。また、図１３に示す例では、ラベル「Ｉ２」のイベントを引き起こすと推定されるラベル「Ｈ２」のイベントの数をラベル「Ｈ２」のイベントの総数で除算した値が「０．９」であり、所定の閾値「０．５」よりも大きい。つまり、図１３に示す例では、ラベル「Ｈ２」のイベントによってラベル「Ｉ１」のイベントが引き起こされる可能性が高い。このため、モデル作成装置１０は、図１３中εに含まれる候補を削除しない。
【００６２】
モデル作成装置１０は、同様の処理を実行する結果、図１３の除去可能と推定される候補の図に実線で示す候補に含まれるイベントのみを削除する。この結果、モデル作成装置１０は、図１４に示す削除後の候補を取得する。その後、モデル作成装置１０は、取得した候補からモデルを作成することによって、ラベル「Ｈ２」のイベントからラベル「Ｉ１」のイベントとラベル「Ｉ２」のイベントとが引き起こされることを示すモデルを特定する。なお、図１４は、削除後の候補を用いてモデルを特定する処理を説明するための図である。
【００６３】
ここで、図１５を用いて、出現割合を考慮せずに候補の削除を行った場合の例について説明する。図１５は、出現割合を考慮せずに候補を削除する例を説明するための図である。図１５に示す例では、モデル作成装置１０は、既知のモデルと候補とをマッチングし、マッチした候補に含まれるイベントを削除する。
【００６４】
このため、モデル作成装置１０は、図１５に示す例では、新たに得られるモデルとして、ラベル「Ｈ２」のイベントによりラベル「Ｉ１」のイベントおよびラベル「Ｉ２」のイベントが引き起こされたことを示すモデルを特定する。また、モデル作成装置１０は、ラベル「Ｈ２」のイベントによりラベル「Ｉ２」のイベントおよびラベル「Ｉ１」のイベントが引き起こされたことを示すモデルを特定する。
【００６５】
しかし、通常の処理において、ラベル「Ｈ２」のイベントを実行する度に、ラベル「Ｈ２」のイベントが引き起こすイベントの順番が異なるとは考え難い。つまり、図１５に示す例では、出現割合を考慮せずに候補を削除した場合には、誤ったモデルを特定してしまう。このため、モデル作成装置１０は、マッチした候補に含まれる子イベントを含んだ候補の出現割合を考慮して候補を削減する。
【００６６】
[モデル作成装置の処理]
次に、図１６を用いて、モデル作成装置１０が実行する処理の流れについて説明する。図１６は、モデル作成処理の流れを説明するためのフローチャートである。図１６に示す例では、モデル作成装置１０は、電源が入力されたことをトリガとして処理を開始する。
【００６７】
まず、モデル作成装置１０は、取得されたデータのうち、同時に発生したイベントの数が少ない範囲のデータを用いて、モデルを作成する（ステップＳ１０１）。次に、モデル作成装置１０は、モデル作成に使われなかったデータとステップＳ１０１において作成されたモデルとのマッチングを行う（ステップＳ１０２）。
【００６８】
また、モデル作成装置１０は、モデルとマッチした候補に含まれる子イベントが、出現割合が閾値よりも低い候補に含まれる場合には、マッチした候補に含まれるイベントを示すデータを削除し、候補を更新する（ステップＳ１０３）。次に、モデル作成装置１０は、候補を更新したか否かを判別する（ステップＳ１０４）。つまり、モデル作成装置１０は、マッチした候補に含まれるイベントを示すデータを削除したか否かを判別する。そして、モデル作成装置１０は、候補を更新したと判別した場合には（ステップＳ１０４肯定）、更新した候補関係から新たなモデルを特定する（ステップＳ１０１）。
【００６９】
一方、モデル作成装置１０は、候補が更新されなかった場合には（ステップＳ１０４否定）、出現割合の最小値が閾値よりも大きいか否かを判別する（ステップＳ１０５）。そして、モデル作成装置１０は、出現割合の最小値が閾値よりも大きいと判別した場合には（ステップＳ１０５肯定）、閾値に所定の値を加算し、（ステップＳ１０６）、再度モデルの特定を実行する（ステップＳ１０１）。一方、モデル作成装置１０は、出現割合の最小値が閾値よりも小さいと判別した場合には（ステップＳ１０５否定）、特定されたモデルをクライアント端末１８に表示させ（ステップＳ１０７）、その後処理を終了する。
【００７０】
[実施例２の効果]
上述したように、実施例２に係るモデル作成装置１０は、各情報処理装置によってイベントが実行された時間帯を示す情報に基づいて、イベントが他のイベントを引き起こした関係を示すモデルの候補を推定する。そして、モデル作成装置１０は、推定した候補と既知のモデルとをマッチングし、既知のモデルとマッチした候補に含まれるイベントを含む候補を削除する。その後、モデル作成装置１０は、推定された候補のうち削除されなかった候補から新たなモデルを特定する。
【００７１】
このため、モデル作成装置１０は、既知のモデルを用いて、推定された候補を単純化するので、同時に発生したイベントの数が多く、推定された候補が複雑な場合にも、モデルを作成することができる。
【００７２】
また、モデル作成装置１０は、既知のモデルとマッチした候補に含まれる子イベントが他の候補にも含まれているか否かを判別する。そして、モデル作成装置１０は、子イベントが他の候補にも含まれていると判別した場合には、子イベントが他の候補に含まれる親イベントによって引き起こされた可能性が所定の閾値よりも低いか否かを判別する。その後、モデル作成装置１０は、子イベントが他の候補に含まれる親イベントによって引き起こされた可能性が所定の閾値よりも低いと判別した場合には、マッチした候補に含まれるイベントを削除する。このため、モデル作成装置１０は、推定された候補を適切に単純化することができる。また、モデル作成装置１０は、より正確なモデルを作成することができる。
【００７３】
また、モデル作成装置１０は、既知のモデルとマッチした候補を削除できなかった場合には、所定の閾値に所定の値を加算した新たな閾値を算出する。そして、モデル作成装置１０は、子イベントが他の候補に含まれる親イベントによって引き起こされた可能性が新たな閾値よりも低い場合には、マッチした候補に含まれるイベントを削除する。このため、モデル作成装置１０は、特定されるモデルの信頼度を段階的に変更することができる。
【００７４】
また、モデル作成装置１０は、マッチした候補に含まれるイベントのうち、子イベントが他の候補である第二の候補に含まれているか否かを判別する。また、モデル作成装置１０は、子イベントが第二の候補に含まれていると判別した場合には、第二の候補に含まれている親イベントを含む第三の候補を検索し、検索された第三の候補が既知のモデルとマッチするか否かを判別する。そして、モデル作成装置１０は、検索された第三の候補が既知のモデルとマッチすると判別した場合には、第一の候補に含まれるイベントを削除する。
【００７５】
このため、モデル作成装置１０は、より適切なイベントの削除処理を行う事ができる。つまり、モデル作成装置１０は、マッチした候補に含まれるイベントを単純に削除したことを原因として、他のイベントと関係が無いイベントが残ってしまうことを防ぐことができる。
【実施例３】
【００７６】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【００７７】
（１）モデル作成装置が有する各部について
上述した実施例２に係るモデル作成装置１０は、モデル作成部１５とマッチング部１６とを有し、観測データ記憶部１１に記憶されたデータを他の記憶部１２〜１３に移し変えることによって、モデルの特定とマッチした候補に含まれるイベントの削除を実行した。しかし、実施例はこれに限定されるものではない。
【００７８】
例えば、実施例３に係るモデル作成装置１０ａは、観測データ記憶部１１に記憶されたデータからモデルの候補を示す情報を作成し、作成されたモデルの候補と既知のモデルとをマッチングさせる。また、モデル作成装置１０ａは、既知のモデルとマッチした候補に含まれるイベントを示すデータを削除する。そして、モデル作成装置１０ａは、既知のモデルとマッチングした候補に含まれるイベントを示すデータを削除した後に、再度候補を作成し、再度作成した候補からモデルを特定してもよい。
【００７９】
（２）閾値について
上述した実施例２では、所定の閾値が「０．５」の場合について説明した。しかし、実施例はこれに限定されるものではない。例えば、モデル作成装置１０ａは、閾値の初期値を「０．１」とし、徐々に閾値を上昇させてもよい。このような場合には、モデル作成装置１０ａは、特定しうるモデルの中から最も信頼度が高いモデルを取得することができる。
【００８０】
つまり、モデル作成装置１０ａは、モデルの候補の組合せの更新が行われなかった場合には、新たな閾値を算出し、検索結果であるモデルの候補の除外によってモデルの候補の組合せから外れる候補がモデルとして成立する可能性を算出する。そして、モデル作成装置１０ａは、算出された可能性が新たな閾値よりも高い場合には、モデルの候補と検索されたモデルの候補とを推定されたモデルの候補の組合せから除外しない。
【００８１】
また、例えば、モデル作成装置１０ａは、マッチした候補に含まれる子イベントが他の候補に含まれる親イベントによって引き起こされた可能性を計算する。そして、モデル作成装置１０ａは、計算された可能性の最小値をｐとし、新たな閾値をｐ＋（１−ｐ）／ｎとしてもよい。ここで、ｎは任意の計数である。
【００８２】
（３）モデルについて
上述した実施例２では、モデル作成装置１０は、親イベントと子イベントとからなる２階層のイベントについてモデルを作成した。しかし、実施例はこれに限定されるものではなく、例えば、Ｗｅｂ３階層システムにおけるイベントのモデル化を行うこともできる。例えば、モデル作成装置１０ａは、Ｗｅｂ３階層システムのうち上位２階層のイベントを一つのイベントとみなすことで、Ｗｅｂ３階層システムにおいて実行されるイベントのモデル化を行う事ができる。
【００８３】
（４）プログラム
ところで、実施例１〜２に係るモデル作成装置は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをモデル作成装置、又は、モデル作成装置として動作するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１７を用いて、実施例１に示したモデル作成装置と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１７は、モデル作成プログラムを実行するコンピュータを説明するための図である。
【００８４】
図１７に例示されたコンピュータ１００は、ＲＡＭ（Random Access Memory）１２０、ＲＯＭ（Read Only Memory）１３０、ＨＤＤ（Hard Disk Drive）１５０がバス１７０で接続される。また、図１７に例示されたコンピュータ１００は、ＣＰＵ（Central Processing Unit）１４０がバス１７０で接続される。さらにバス１７０には、ネットワークに流れる情報を取得するためのＩ／Ｏ（Input Output）１６０が接続される。
【００８５】
ＲＯＭ１３０には、取得プログラム１３１、推定プログラム１３２、検索プログラム１３３、更新プログラム１３４、作成プログラム１３５があらかじめ保持される。ＣＰＵ１４０が各プログラム１３１〜１３５をＲＯＭ１３０から読み出して実行することによって、図１７に示す例では、各プログラム１３１〜１３２は、取得プロセス１４１、推定プロセス１４２として機能するようになる。また、各プログラム１３３〜１３５は、検索プロセス１４３、更新プロセス１４４、作成プロセス１４５として機能するようになる。なお、各プロセス１４１〜１４５は、図１に示した各部２〜６と同様の機能を発揮する。また、各プロセス１４１〜１４５は、実施例２に係る各部と同等の機能を発揮するようにすることも可能である。
【００８６】
なお、本実施例で説明したモデル作成プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto Optical Disc）、ＤＶＤ（Digital Versatile Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００８７】
１  モデル作成装置
２  取得部
３  推定部
４  検索部
５  削除部
６  特定部
１０  モデル作成装置
１１  観測データ記憶部
１２  モデルデータ記憶部
１３  モデル分類済データ記憶部
１４  入力部
１５  モデル作成部
１６  マッチング部
１７  出力部
１８  クライアント端末
【図１】
0005516192.tif 000002
【図２】
0005516192.tif 000003
【図３】
0005516192.tif 000004
【図４】
0005516192.tif 000005
【図５】
0005516192.tif 000006
【図６】
0005516192.tif 000007
【図７】
0005516192.tif 000008
【図８】
0005516192.tif 000009
【図９】
0005516192.tif 000010
【図１０】
0005516192.tif 000011
【図１１】
0005516192.tif 000012
【図１２】
0005516192.tif 000013
【図１３】
0005516192.tif 000014
【図１４】
0005516192.tif 000015
【図１５】
0005516192.tif 000016
【図１６】
0005516192.tif 000017
【図１７】
0005516192.tif 000018
【図１８】
0005516192.tif 000019
【図１９】
0005516192.tif 000020
【図２０】
0005516192.tif 000021
【図２１】
0005516192.tif 000022
【図２２】
0005516192.tif 000023