(57)【特許請求の範囲】
【請求項１】
異なる種類のイベントストリームのイベントに係る情報を取得可能な装置に搭載されたコンピュータを機能させる、互いに関連するイベントを抽出するプログラムであって、
前記装置は、当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファを有し、
前記プログラムは、
第１のイベントストリームに係る第１の開始イベントを取得した際、該第１の開始イベントの有する第１のイベント識別子と、該第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、前記バッファに記憶させる第１のイベントペア登録手段と、
第２のイベントストリームに係る第２のイベントを取得した際、該第２のイベントの有する第２のイベント識別子と、該第２のイベントの時刻に係る情報とを、前記バッファに記憶された又は前記バッファから読み出した第１のイベントペアに書き込んだ上で、該第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するイベントペア送出手段と、
第１のイベントストリームに係る第１の終了イベントを取得した際、前記バッファに記憶された第１のイベントペアのうち、該第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するイベントペア更新手段と
してコンピュータを機能させることを特徴とする関連イベント抽出プログラム。
【請求項２】
前記装置は、当該第２のイベントペアを記憶可能な第２のバッファを更に有し、
前記プログラムは、出力された第２のイベントペアを前記第２のバッファに記憶させる第２のイベントペア登録手段としてコンピュータを更に機能させ、
前記イベントペア更新手段は、第１の終了イベントを取得した際、前記第２のバッファに記憶された第２のイベントペアのうち、該第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第２のイベントペアに対し、該第１の終了イベントの時刻に係る情報を書き込む
ことを特徴とする請求項１に記載の関連イベント抽出プログラム。
【請求項３】
前記イベントペア送出手段は、第２のイベントストリームに係る第２の開始イベントを取得した際、該第２の開始イベントの有する第２のイベント識別子と、該第２の開始イベントの時刻に係る情報とを、前記バッファに記憶された又は前記バッファから読み出した第１のイベントペアに書き込んだ上で、該第１のイベントペアを、第２のイベントペアとして前記第２のイベントペア登録手段へ出力し、
前記イベントペア更新手段は、第２のイベントストリームに係る第２の終了イベントを取得した際、前記第２のバッファに記憶された第２のイベントペアのうち、該第２の終了イベントの有する第２のイベント識別子に相当する識別子を含む第２のイベントペアに対し、該第２の終了イベントの時刻に係る情報を書き込む
ことを特徴とする請求項２に記載の関連イベント抽出プログラム。
【請求項４】
前記イベントペア更新手段は、第２のイベントストリームに係る第２の終了イベントを取得した際、記憶された第１のイベントペアのうち、該第２の終了イベントの有する第２のイベント識別子に相当する識別子を含む第１のイベントペアを削除することを特徴とする請求項２又は３に記載の関連イベント抽出プログラム。
【請求項５】
第２のバッファに記憶された第２のイベントペアのうち、第２のイベントに係る時刻が、第１の開始イベントに係る時刻と第１の終了イベントに係る時刻との間となっているような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることを特徴とする請求項２から４のいずれか１項に記載の関連イベント抽出プログラム。
【請求項６】
第２のバッファに記憶された第２のイベントペアのうち、第２の開始イベントに係る時刻及び第２の終了イベントに係る時刻が、第１の開始イベントに係る時刻と第１の終了イベントに係る時刻との間となっているような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることを特徴とする請求項３に記載の関連イベント抽出プログラム。
【請求項７】
第２のバッファに記憶された第２のイベントペアのうち、第１の開始イベントに係る時刻から第１の終了イベントに係る時刻までの時間間隔と、第２の開始イベントに係る時刻から第２の終了イベントに係る時刻までの時間間隔との重畳の度合いが、最大である又は所定閾値以上であるような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることを特徴とする請求項３又は６に記載の関連イベント抽出プログラム。
【請求項８】
第２のバッファに記憶された第２のイベントペアに含まれる第１のイベント識別子の各々について、又は当該第２のイベントペアに含まれる第２のイベント識別子の各々について、第１の開始イベントに係る時刻から第１の終了イベントに係る時刻までの時間間隔と、第２の開始イベントに係る時刻から第２の終了イベントに係る時刻までの時間間隔との重畳の度合いが、最大である又は所定閾値以上であるような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることを特徴とする請求項３又は６に記載の関連イベント抽出プログラム。
【請求項９】
前記装置は、第２のイベントペアを記憶可能な確定イベントペアリスト登録部を更に有し、
前記イベントペア検索手段は、
検索した第２のイベントペアを前記確定イベントペアリスト登録部に記憶させ、
新たな検索の際、検索した第２のイベントペアのうち、前記確定イベントペアリスト登録部に既に記憶された第２の登録済イベントペア、並びに該第２の登録済イベントペアに含まれる第１のイベント識別子及び第２のイベント識別子の少なくとも１つに相当する識別子を有する第２のイベントペアを、検索結果から除外する
ことを特徴とする請求項５から８のいずれか１項に記載の関連イベント抽出プログラム。
【請求項１０】
前記イベントペア送出手段は、取得された第２のイベントの有する第２のイベント識別子と、該第２のイベントの時刻に係る情報とを、第１のイベント識別子と第２のイベント識別子とが所定の取り決めの下で合致又は対応するような全ての第１のイベントペアに書き込んだ上で、該全ての第１のイベントペアを出力することを特徴とする請求項１から９のいずれか１項に記載の関連イベント抽出プログラム。
【請求項１１】
前記第１のイベントペア登録手段は、当該第１のイベントペアを前記バッファに記憶させる際、該第１のイベントペアに対して後に書き込まれる可能性のある情報のための記憶領域は確保させないことを特徴とする請求項１から１０のいずれか１項に記載の関連イベント抽出プログラム。
【請求項１２】
異なる種類のイベントストリームのイベントに係る情報を取得可能であり、互いに関連するイベントを抽出する装置であって、
当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファと、
第１のイベントストリームに係る第１の開始イベントを取得した際、該第１の開始イベントの有する第１のイベント識別子と、該第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、前記バッファに記憶させる第１のイベントペア登録手段と、
第２のイベントストリームに係る第２のイベントを取得した際、該第２のイベントの有する第２のイベント識別子と、該第２のイベントの時刻に係る情報とを、前記バッファに記憶された又は前記バッファから読み出した第１のイベントペアに書き込んだ上で、該第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するイベントペア送出手段と、
第１のイベントストリームに係る第１の終了イベントを取得した際、前記バッファに記憶された第１のイベントペアのうち、該第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するイベントペア更新手段と
を有することを特徴とする関連イベント抽出装置。
【請求項１３】
異なる種類のイベントストリームのイベントに係る情報を取得可能な装置における、互いに関連するイベントを抽出する方法であって、
前記装置は、当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファを有し、
前記方法は、
第１のイベントストリームに係る第１の開始イベントを取得した際、該第１の開始イベントの有する第１のイベント識別子と、該第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、前記バッファに記憶させるステップと、
第２のイベントストリームに係る第２のイベントを取得した際、該第２のイベントの有する第２のイベント識別子と、該第２のイベントの時刻に係る情報とを、前記バッファに記憶された又は前記バッファから読み出した第１のイベントペアに書き込んだ上で、該第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するステップと、
第１のイベントストリームに係る第１の終了イベントを取得した際、前記バッファに記憶された第１のイベントペアのうち、該第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するステップと
を有することを特徴とする関連イベント抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発生する種々のイベントにおける関連性を調査する技術に関する。
【背景技術】
【０００２】
近年、ＩＣＴ（Information and Communication Technologies）システムの普及に伴い、１つの原因から様々な種類のイベントが大量に発生する現象がしばしば発生する。例えば、通信システムにおいては、一箇所での通信障害の発生によって、サーバやルータ等の異なる複数の装置から、当該障害に係るイベントが大量に発生する。この場合、これらの多数のイベントを高速で関連付けることができれば、障害の原因箇所が比較的容易に推定される。しかしながら、実際には、発生したイベント間の関連性を明確にすることができず、結果として、イベントの発生したその原因を突き止めることは非常に困難となっている。
【０００３】
このような問題に対し、例えば特許文献１は、システム障害時に発生した複数のイベントから特徴を抽出して、その特徴に基づき障害をクラスタリングし、同じ障害クラスタに含まれるイベントに基づいて障害原因判定ルールを生成する技術を提案している。この技術では、同じ障害クラスタに含まれる同一原因の障害発生時のイベントに基づいて生成された障害原因判定ルールの条件句から検索キーワードを抽出し、その障害クラスタに対応する復旧手順書を検索している。次いで、検索した復旧手順を行為句とし、生成した条件句と組み合わせることで、障害原因判定ルールを生成している。
【０００４】
また、例えば特許文献２は、異なる種類の複数のコミュニケーションツールで行われたコミュニケーションイベントにおける、メッセージの送信者、受信者および送信時刻の情報を含むイベントデータを取得し、取得したイベントデータを、一定のデータフォーマットのデータに変換して、コミュニケーションイベントログを統合的に取り扱う技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２０９９０８号公報
【特許文献２】特開２０１２−１４１７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び２に記載されたような従来技術は、発生した複数のイベントのうち、所定の時間範囲内で発生したイベント同士を関連付けるのみであり、必ずしも発生時刻は近接していないが互いに関連しているイベント同士を抽出することは、非常に困難であった。
【０００７】
例えば、特許文献１に記載された技術は、所定時間範囲の時間窓を用いて発生時刻の差がこの時間窓以内のイベントを同一のイベントブロックに含めることによって、同期イベントの関連付けを行っている。従って、イベント間の関連性の判断は、この時間窓内での発生時刻に縛られてしまう。
【０００８】
一方、特許文献２に記載された技術も、イベントの発生時刻を基点とし、その前後の所定の時間範囲内で発生したイベントの属性をイベントデータに含めることにより、同期イベントの関連付けを行っているのみである。
【０００９】
このように、従来技術では、イベント前後の所定の時間範囲内に発生したイベントを関連付けるのみであり、例えば、イベントの開始時刻から終了時刻に至る時間範囲に含まれる他のイベントを関連付ける、といった時間の包含関係に基づく関連付けを行うことはできない。因みに、このようなイベントに係る時間に包含関係が生じるような多数のイベントは、例えば、端末からの要求を受信し、サーバやネットワーク機器といったフロントエンド及びバックエンドのシステムが連携して、端末に応答を返信する通信システムにおいて、多くのケースで生成される。
【００１０】
そこで、本発明は、イベントに係る時間の単純な近接度に拘泥せずに、互いに関連するイベントを抽出可能なプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によれば、異なる種類のイベントストリームのイベントに係る情報を取得可能な装置に搭載されたコンピュータを機能させる、互いに関連するイベントを抽出するプログラムであって、
上記の装置は、当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファを有し、
本プログラムは、
第１のイベントストリームに係る第１の開始イベントを取得した際、この第１の開始イベントの有する第１のイベント識別子と、この第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、バッファに記憶させる第１のイベントペア登録手段と、
第２のイベントストリームに係る第２のイベントを取得した際、この第２のイベントの有する第２のイベント識別子と、この第２のイベントの時刻に係る情報とを、バッファに記憶された又はバッファから読み出した第１のイベントペアに書き込んだ上で、この第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するイベントペア送出手段と、
第１のイベントストリームに係る第１の終了イベントを取得した際、バッファに記憶された第１のイベントペアのうち、この第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するイベントペア更新手段と
してコンピュータを機能させる関連イベント抽出プログラムが提供される。
【００１２】
この本発明による関連イベント抽出プログラムにおいて、上記の装置は、当該第２のイベントペアを記憶可能な第２のバッファを更に有し、
本プログラムは、出力された第２のイベントペアを第２のバッファに記憶させる第２のイベントペア登録手段としてコンピュータを更に機能させ、
イベントペア更新手段は、第１の終了イベントを取得した際、第２のバッファに記憶された第２のイベントペアのうち、この第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第２のイベントペアに対し、この第１の終了イベントの時刻に係る情報を書き込むことも好ましい。
【００１３】
また、本発明による関連イベント抽出プログラムにおける一実施形態として、イベントペア送出手段は、第２のイベントストリームに係る第２の開始イベントを取得した際、この第２の開始イベントの有する第２のイベント識別子と、この第２の開始イベントの時刻に係る情報とを、バッファに記憶された又はバッファから読み出した第１のイベントペアに書き込んだ上で、この第１のイベントペアを、第２のイベントペアとして第２のイベントペア登録手段へ出力し、
イベントペア更新手段は、第２のイベントストリームに係る第２の終了イベントを取得した際、第２のバッファに記憶された第２のイベントペアのうち、この第２の終了イベントの有する第２のイベント識別子に相当する識別子を含む第２のイベントペアに対し、この第２の終了イベントの時刻に係る情報を書き込むことも好ましい。
【００１４】
また、上記の第２のバッファを使用する実施形態において、イベントペア更新手段は、第２のイベントストリームに係る第２の終了イベントを取得した際、記憶された第１のイベントペアのうち、この第２の終了イベントの有する第２のイベント識別子に相当する識別子を含む第１のイベントペアを削除することも好ましい。
【００１５】
さらに、上記の第２のバッファを使用する実施形態において、本プログラムは、第２のバッファに記憶された第２のイベントペアのうち、第２のイベントに係る時刻が、第１の開始イベントに係る時刻と第１の終了イベントに係る時刻との間となっているような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることも好ましい。さらに、第２のバッファに記憶された第２のイベントペアのうち、第２の開始イベントに係る時刻及び第２の終了イベントに係る時刻が、第１の開始イベントに係る時刻と第１の終了イベントに係る時刻との間となっているような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることも好ましい。
【００１６】
また、上記の第２の開始イベントを取り扱う実施形態において、本プログラムは、第２のバッファに記憶された第２のイベントペアのうち、第１の開始イベントに係る時刻から第１の終了イベントに係る時刻までの時間間隔と、第２の開始イベントに係る時刻から第２の終了イベントに係る時刻までの時間間隔との重畳の度合いが、最大である又は所定閾値以上であるような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることも好ましい。
【００１７】
さらに、上記の第２の開始イベントを取り扱う実施形態において、本プログラムは、第２のバッファに記憶された第２のイベントペアに含まれる第１のイベント識別子の各々について、又は当該第２のイベントペアに含まれる第２のイベント識別子の各々について、第１の開始イベントに係る時刻から第１の終了イベントに係る時刻までの時間間隔と、第２の開始イベントに係る時刻から第２の終了イベントに係る時刻までの時間間隔との重畳の度合いが、最大である又は所定閾値以上であるような第２のイベントペアを検索するイベントペア検索手段として、コンピュータを更に機能させることも好ましい。
【００１８】
また、上記のイベントペア検索手段を機能させる実施形態において、上記の装置は、第２のイベントペアを記憶可能な確定イベントペアリスト登録部を更に有し、
イベントペア検索手段は、
検索した第２のイベントペアを確定イベントペアリスト登録部に記憶させ、
新たな検索の際、検索した第２のイベントペアのうち、確定イベントペアリスト登録部に既に記憶された第２の登録済イベントペア、並びにこの第２の登録済イベントペアに含まれる第１のイベント識別子及び第２のイベント識別子の少なくとも１つに相当する識別子を有する第２のイベントペアを、検索結果から除外することも好ましい。
【００１９】
また、本発明による関連イベント抽出プログラムにおける他の実施形態として、イベントペア送出手段は、取得された第２のイベントの有する第２のイベント識別子と、この第２のイベントの時刻に係る情報とを、第１のイベント識別子と第２のイベント識別子とが所定の取り決めの下で合致又は対応するような全ての第１のイベントペアに書き込んだ上で、この全ての第１のイベントペアを出力することも好ましい。
【００２０】
さらに、本発明による関連イベント抽出プログラムにおける他の実施形態として、第１のイベントペア登録手段は、当該第１のイベントペアをバッファに記憶させる際、この第１のイベントペアに対して後に書き込まれる可能性のある情報のための記憶領域は確保させないことも好ましい。
【００２１】
本発明によれば、また、異なる種類のイベントストリームのイベントに係る情報を取得可能であり、互いに関連するイベントを抽出する装置であって、
当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファと、
第１のイベントストリームに係る第１の開始イベントを取得した際、この第１の開始イベントの有する第１のイベント識別子と、この第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、バッファに記憶させる第１のイベントペア登録手段と、
第２のイベントストリームに係る第２のイベントを取得した際、この第２のイベントの有する第２のイベント識別子と、この第２のイベントの時刻に係る情報とを、バッファに記憶された又はバッファから読み出した第１のイベントペアに書き込んだ上で、この第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するイベントペア送出手段と、
第１のイベントストリームに係る第１の終了イベントを取得した際、バッファに記憶された第１のイベントペアのうち、この第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するイベントペア更新手段と
を有する関連イベント抽出装置が提供される。
【００２２】
本発明によれば、さらに、異なる種類のイベントストリームのイベントに係る情報を取得可能な装置における、互いに関連するイベントを抽出する方法であって、
上記の装置は、当該イベントの有するイベント識別子と、当該イベントの時刻に係る情報とを記憶可能なバッファを有し、
本方法は、
第１のイベントストリームに係る第１の開始イベントを取得した際、この第１の開始イベントの有する第１のイベント識別子と、この第１の開始イベントの時刻に係る情報とを含む第１のイベントペアを、バッファに記憶させるステップと、
第２のイベントストリームに係る第２のイベントを取得した際、この第２のイベントの有する第２のイベント識別子と、この第２のイベントの時刻に係る情報とを、バッファに記憶された又はバッファから読み出した第１のイベントペアに書き込んだ上で、この第１のイベントペアを、関連するイベント又はイベント候補を示す第２のイベントペアとして出力するステップと、
第１のイベントストリームに係る第１の終了イベントを取得した際、バッファに記憶された第１のイベントペアのうち、この第１の終了イベントの有する第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除するステップと
を有する関連イベント抽出方法が提供される。
【発明の効果】
【００２３】
本発明の関連イベント抽出プログラム、装置及び方法によれば、イベントに係る時間の単純な近接度に拘泥せずに、互いに関連するイベントを抽出することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明による関連イベント抽出装置の一実施形態における機能構成を示す機能ブロック図である。
【図２】本発明による関連イベント抽出方法の他の実施形態を示す模式的なシーケンス図である。
【図３】本発明による関連イベント抽出方法の他の実施形態を示す模式的なシーケンス図である。
【図４】本発明による関連イベント抽出方法の他の実施形態を示す模式的なシーケンス図である。
【図５】本発明による関連イベント抽出方法の他の実施形態を示す模式的なシーケンス図である。
【図６】イベントペア検索部で実施される検索処理の一実施形態を説明するための模式図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【００２６】
図１は、本発明による関連イベント抽出装置の一実施形態における機能構成を示す機能ブロック図である。
【００２７】
図１に示した本実施形態の関連イベント抽出装置１は、通信インタフェース１０１を介して、互いに異なる種類の第１のイベントストリーム及び第２のイベントストリームのそれぞれから、第１のイベントに係る情報及び第２のイベントに係る情報を受信し、互いに関連する第１のイベント及び第２のイベントを抽出する装置である。
【００２８】
ここで、本実施形態では、第１のイベントストリームとして、通信ネットワークにおけるフロントエンドシステムでの処理によって発生する種々のイベントの時系列を採用することができる。一方、第２のイベントストリームとして、同じ通信ネットワークにおけるバックエンドシステムでの処理によって発生する種々のイベントの時系列を採用することができる。
【００２９】
一般に、通信ネットワークにおいては、フロントエンド及びバックエンドシステムは互いに連携して、例えば以下に示すような処理を実行する。即ち、
（ａ）フロントエンドシステムは、端末からの要求を受信し、その要求から実行すべき処理を解釈し、バックエンドシステムに処理を依頼する。
（ｂ）バックエンドシステムは、依頼された処理を実行し、処理結果をフロントエンドシステムに返信する。
（ｃ）フロントエンドシステムは、バックエンドシステムから返信された処理結果に基づいて端末への応答内容を生成し、この応答を端末に返信する。
【００３０】
このようなケースでは、
（ア）フロントエンドシステムにおける、１つの処理ＡFの開始イベントに係る時刻である開始時刻（第１の開始時刻）ｔ1S、及び処理ＡFの終了イベントに係る時刻である終了時刻（第１の終了時刻）ｔ1Eと、
（イ）バックエンドシステムにおける、処理ＡFに関連する処理ＡBの開始イベントに係る時刻である開始時刻（第２の開始時刻）ｔ2S、及び処理ＡBの終了イベントに係る時刻である終了時刻（第２の終了時刻）ｔ2Eと
の間には、以下のような時間の包含関係が成立する。
（１）  ｔ1S ≦ｔ2S ≦ｔ2E ≦ｔ1E
【００３１】
または、上記（イ）のバックエンドシステムにおいて、処理ＡFに関連する処理ＡBのイベントに係る時刻である開始時刻（第２の開始時刻）ｔ2について、以下のような時間の包含関係が成立する。
（２）  ｔ1S ≦ｔ2 ≦ｔ1E
【００３２】
ここで、具体的に、イベントとしては、例えばアラートの発生、障害等のイベントログの生成、ユーザの各種アドレスの取得、ＵＲＬ（Uniform Resource Locator）の取得、ユーザの位置情報の取得等、種々のものが該当する。
【００３３】
このように、端末からの要求を受信し、サーバやネットワーク機器といったフロントエンド及びバックエンドのシステムが連携し、端末に応答を返信する通信ネットワークシステムにおいて生成されるイベントストリームに対し、本発明は有効に適用される。
【００３４】
尚、以上に示したような時間の包含関係を有することを特徴とする互いに異なるイベントストリームは、当然に、上述した通信ネットワークでのバックエンド及びフロントエンドシステムから出力されるイベント列に限定されるものではない。
【００３５】
例えば、ユーザ等から取得した情報に対して階層的なシステムで処理を行い、処理結果をユーザに返すようなシステムであれば、ユーザにより近い側（フロントエンド）の処理装置から出力されるイベントストリーム中のイベントと、ユーザにより遠い側（バックエンド）の処理装置から出力されるイベントストリーム中のイベントとは、時間的な包含関係を取り得る。このようなイベントストリームに対しても、本発明の関連イベント抽出装置を適用することが可能である。この場合、勿論、互いに異なるイベントストリームの発生源であるシステム（装置）が互いに独立した異なる管理をなされていたとしても、関連する（同期する）イベント同士を効率的に関連付けて抽出することができるのである。このように、本発明の関連イベント抽出装置は、抽出対象であるイベントストリームについて、幅広い適用範囲を有している。
【００３６】
同じく図１において、関連イベント抽出装置１は、
（ａ）イベントの有するイベント識別子と、
（ｂ）当該イベントの時刻に係る情報と
を記憶可能な第１のイベントペアバッファ１０４を有している。その上で、関連イベント抽出装置１は、関連イベント抽出処理として具体的に、
（Ａ）第１のイベントストリームに係る「第１の開始イベント」を取得した際、この第１の開始イベントの有する（ａ）第１のイベント識別子と、この（ｂ）第１の開始イベントの時刻に係る情報とを含む「第１のイベントペア」を、第１のイベントペアバッファ１０４に記憶させ、
（Ｂ）第２のイベントストリームに係る「第２のイベント」を取得した際、この第２のイベントの有する（ａ）第２のイベント識別子と、この（ｂ）第２のイベントの時刻に係る情報とを、第１のイベントペアバッファ１０４に記憶された又は第１のイベントペアバッファ１０４から読み出した「第１のイベントペア」に書き込んだ上で、この第１のイベントペアを、関連するイベント又はイベント候補を示す「第２のイベントペア」として出力する。
【００３７】
次いで、関連イベント抽出装置１は、さらに、
（Ｃ）第１のイベントストリームに係る「第１の終了イベント」を取得した際、第１のイベントペアバッファ１０４に記憶された「第１のイベントペア」のうち、この第１の終了イベントの有する（ａ）第１のイベント識別子に相当する識別子を含む第１のイベントペアを削除する。
【００３８】
このように、関連イベント抽出装置１は、互いに異なる種類の第１のイベントストリーム及び第２のイベントストリームのそれぞれから、「第１のイベント」及び「第２のイベント」を取得し、バッファ１０４を利用して、互いに関連するイベント又は関連するイベント候補である「第１のイベント」及び「第２のイベント」を含む「第２のイベントペア」を生成する。ここで、「第１の終了イベント」を取得した際にはバッファ１０４に記憶されたこの第１のイベントに関係するイベントペアを削除するので、関連する可能性のある「第１のイベント」及び「第２のイベント」のみを確実に抽出することができるのである。
【００３９】
また、関連イベント抽出装置１では、関連するイベント又はイベント候補を示す「第２のイベントペア」を生成する際には、単純に「第１のイベント」に係る時刻に近接した（所定時間範囲内にある）時刻を有する「第２のイベント」を抽出しているのではなく、時間の包含関係を担保し得る形でイベントペアを生成している。即ち、イベントに係る時間の単純な近接度に拘泥せずに、互いに関連するイベントを抽出可能となっているのである。
【００４０】
さらに、関連イベント抽出装置１によれば、互いに異なる種類のイベント情報を有するイベントストリームから、関連する（同期する）イベントを、イベントの開始時刻から終了時刻に至る時間の包含関係に基づき、バッファ１０４という比較的少ない記憶領域を利用して、比較的短い処理時間で抽出することが可能となる。関連する（同期する）イベントの検索に関する処理時間についても、検索の範囲を時間の包含関係に基づき絞り込んでいるため、比較的少ない記憶領域を利用して、比較的短い処理時間で抽出することが可能となる。
【００４１】
［装置の機能構成］
同じく、図１に示した機能ブロック図によれば、関連イベント抽出装置１は、通信インタフェース１０１と、第１のストリームバッファ１０２と、第２のストリームバッファ１０３と、第１のイベントペアバッファ１０４と、第２のイベントペアバッファ１０５と、確定イベントペアリスト登録部１０６と、ディスプレイ（ＤＰ）１０７と、プロセッサ・メモリとを有する。ここで、プロセッサ・メモリは、関連イベント抽出装置１のコンピュータを機能させるプログラムを実行することによって、関連イベント抽出機能を実現させる。
【００４２】
さらに、このプロセッサ・メモリは、機能構成部として、イベント取得部１１１と、第１のイベントペア登録部１１２と、イベントペア送出部１１３と、第２のイベントペア登録部１１４と、イベントペア更新部１１５と、イベントペア検索部１１６と、アプリケーション１１７とを有する。ここで、図１における装置１の機能構成部間を矢印で接続して示した処理の流れは、本発明による関連イベント抽出方法の一実施形態としても理解される。
【００４３】
同じく図１において、通信インタフェース１０１は、アクセスネットワーク（事業者通信網）やインターネットを介して、第１のイベントストリーム及び第２のイベントストリームを受信する。ここで、第１のイベントストリームは、例えば携帯電話網を構成する基地局（フロントエンド）において生成される各種ログ（イベント）の時系列とすることができる。また、第２のイベントストリームは、当該携帯電話網と接続された通信ネットワークにおけるサーバ（バックエンド）において生成される各種ログ（イベント）の時系列とすることができる。
【００４４】
第１のストリームバッファ１０２及び第２のストリームバッファ１０３はそれぞれ、受信された第１のイベントストリーム及び第２のイベントストリームを蓄積し、受信した順番に応じて又はその他の指示内容に応じて順次、第１のイベント及び第２のイベントをイベント取得部１１１に出力する。
【００４５】
イベント取得部１１１は、入力した第１のイベント及び第２のイベントを、その内容に応じて第１のイベントペア登録部１１２、イベントペア送出部１１３及びイベントペア更新部１１５のいずれかに出力する。
【００４６】
ここで、以後、処理対象となるイベントは、構成要素として「イベント識別子」及び「イベント発生時刻（イベントに係る時刻）」を有する。また、第１のイベントには、第１のイベントの開始に相当するイベントである「第１の開始イベント」と、第１のイベントの終了に相当するイベントである「第１の終了イベント」とが存在する。第１の開始イベントの「発生時刻」は、第１のイベントの開始時刻であり、第１の終了イベントの発生時刻は、第１のイベントの終了時刻である。
【００４７】
また、第２のイベントとしては、少なくとも１つのイベントが存在する。「第２の開始イベント」又は「第２の終了イベント」がこれに当たる。ここで、第２の開始イベントの「発生時刻」は、第２のイベントの開始時刻である。また、第２の終了イベントの「発生時刻」は、第２のイベントの終了時刻である。さらに、第２のイベントの開始時刻から第２のイベントの終了時刻までの時間区間内の任意の時刻に発生するイベントであってもよい。以後、このようなイベントを「第２の中間イベント」と呼ぶ。ここで、この「第２の中間イベント」を「第２の開始イベント」とみなしたとしても本発明は成立する。また、「第２の開始イベント」は発生するが「第２の終了イベント」が発生しない場合において、「第２の中間イベント」を「第２の終了イベント」とみなしても本発明は成立する。さらに、「第２の開始イベント」は発生しないが「第２の終了イベント」が発生する場合において、「第２の中間イベント」を「第２の開始イベント」とみなしても本発明は成立する。
【００４８】
尚、以後に説明する実施形態では、「第２の中間イベント」は用いず、「第２の開始イベント」及び／又は「第２の終了イベント」を用いる。また、以後の説明において、第１のイベントの開始時刻、第１のイベントの終了時刻、第２のイベントの開始時刻、第２のイベントの終了時刻は、単に、第１の開始時刻、第１の終了時刻、第２の開始時刻、第２の終了時刻と呼ぶ。
【００４９】
さらに、「イベント識別子」は、イベント（ログ）の発生源である通信装置・機器が固有に有する番号、例えば、製造番号やＭＡＣ（Media Access Control）アドレスであってもよい。または、ネットワークアドレス、例えば、ＩＰ（Internet Protocol）アドレスやドメイン名でもよい。さらに、「イベント識別子」は、これらの情報に対して非識別化処理を施した結果として得られる匿名の番号であってもよい。
【００５０】
また、「発生時刻」のデータ型は、2014/01/01 11:22:33などの日付型又は文字列型であってもよく、所定の日時を基準にした経過時間を表す整数型であってもよい。尚、経過時間の単位は、任意の時間幅をとり得る。
【００５１】
因みに、第１のストリームバッファ１０２には、第１の開始イベントや第１の終了イベントが、発生する都度入力され、第２のストリームバッファ１０３には、第２の開始イベントや第２の終了イベントが、発生する都度入力される。
【００５２】
尚、本発明における処理対象は、２種類のイベントストリームに限定されるものではない。３種類以上のイベントストリームであっても同様に処理を行うことができる。例えば、フロントエンドにおける２つ以上のそれぞれ独立した機器から２つ以上の異なる種類のイベントストリームを受信し、対応するバックエンドにおける１つ以上の機器から１つ以上のイベントストリームを受信して処理を行うことも可能である。
【００５３】
以下、各機能構成部の機能及び処理を説明するため、具体的に、イベント取得部１１１が、第１のストリームバッファ１０２及び第２のストリームバッファ１０３から下記のイベントＩA、ＩB及びＩCを入力した場合を説明する。尚、イベントは、以下、イベント名＜イベント識別子，発生時刻＞との形式で記述される。
第１の開始イベントＩA＜101，10:00:00＞
第２の開始イベントＩB＜201，10:00:30＞
第１の終了イベントＩC＜101，10:02:30＞
【００５４】
図１に示すように、イベント取得部１１１は、
（ａ）第１の開始イベントＩAを、第１のイベントペア登録部１１２に、
（ｂ）第２の開始イベントＩBを、イベントペア送出部１１３に、さらに、
（ｃ）第１の終了イベントＩCを、イベントペア更新部１１５に
出力する。
【００５５】
第１のイベントペア登録部１１２は、第１の開始イベントＩAを入力した際、第１の開始イベントＩAの有する第１のイベント識別子"101"と、第１の開始イベントＩAの開始時刻（時刻に係る情報）"10:00:00"とを含む第１のイベントペア
（３）  IP1＜101，10:00:00，，，＞
を、第１のイベントペアバッファ１０４に記憶させ、登録を行う。ここで、イベントペアは完成した場合、イベントペア名＜第１のイベント識別子，第１の開始時刻，第１の終了時刻，第２のイベント識別子，第２の開始時刻＞の形式で記述される。因みに、第２の終了イベントが発生する場合では、完成したイベントペアは、イベントペア名＜第１のイベント識別子，第１の開始時刻，第１の終了時刻，第２のイベント識別子，第２の開始時刻，第２の終了時刻＞の形式で記述される。
【００５６】
上式（３）の第１のイベントペアIP1には、上述したような後に書き込まれる可能性のある情報のための記憶領域（所定バイトサイズ）を確保していることを示す"，，，"が挿入されている。このような記憶領域の予めの確保によって、処理時間又は計算量を短縮することができる場合も多い。一方、この変更態様として、第１のイベントペアバッファ１０４の記憶容量資源を有効に使用するべく、このような記憶領域の確保を予めは行わず、新たな情報を書き込む際に、その分の記憶領域を拡張することも好ましい。
【００５７】
イベントペア送出部１１３は、第２の開始イベントＩBを取得した際、第２のイベントＩBの有する第２のイベント識別子"201"と、第２のイベントＩBの開始時刻（時刻に係る情報）"10:00:30"とを、第１のイベントペアバッファ１０４に記憶された又はこのバッファ１０４から読み出した上式（３）の第１のイベントペアIP1に書き込んだ（代入した）上で、この書き込まれた第１のイベントペア、即ち、関連するイベント又はイベント候補を示す第２のイベントペア
（４）  IP2＜101，10:00:00，，201，10:00:30＞
を、第２のイベントペア登録部１１４に出力する。
【００５８】
ここで、第１のイベント識別子と第２のイベント識別子とが同じ識別子の番号体系の下で生成され、第１のイベント識別子と第２のイベント識別子とが合致しているか否か（同一の発生源を示すか否か）を判定する方法が分かっている場合を考える。この際、イベントペア送出部１１３は、第１のイベント識別子と第２のイベント識別子とが合致する全てのイベントペアにおいて、第２のイベント識別子及び第２の開始時刻を代入し、これらのイベントペアを第２のイベントペア登録部１１４に出力してもよい。
【００５９】
例えば、第１のイベント識別子の下２桁と第２のイベント識別子の下２桁とが同じならば同一の発生源を示すといった番号体系の下で、イベント識別子の生成されることが分かっている場合を考える。例えば、上式（３）及び（４）に示す実施例の場合、第２のイベント識別子"201"の下２桁は"01"であって、第１のイベントペアIP1の第１のイベント識別子"101"の下２桁"01"と合致するので、上式（４）と同一の第２のイベントペアを第２のイベントペア登録部１１４に出力する。尚、第１のイベント識別子と第２のイベント識別子とが合致するか否かの判定方法は、当然に上述の方法に限定されるものではない。例えば、すべての桁が合致する場合に合致すると判定する方法や、別途第１のイベント識別子と第２のイベント識別子との対応表が用意され、それに基づいて合致するか否かを判定する方法が採用されてもよい。
【００６０】
第２のイベントペア登録部１１４は、入力した上式（４）の第２のイベントペアIP2を、第２のイベントペアバッファ１０５に記憶させて登録する。
【００６１】
イベントペア更新部１１５は、第１の終了イベントＩCを取得した際、第１のイベントペアバッファ１０４に記憶された第１のイベントペアのうち、第１の終了イベントＩCの有する第１のイベント識別子"101"（又はこの識別子に相当する識別子）を含む第１のイベントペア、ここでは上式（３）の第１のイベントペアIP1、を削除する。
【００６２】
さらに、イベントペア更新部１１５は、第１の終了イベントＩCを取得した際、第１の終了イベントＩCの有する第１のイベント識別子"101"（又はこの識別子に相当する識別子）を含む第２のイベントペア、ここでは上式（４）の第２のイベントペアIP2、に対し、第１の終了イベントＩCの終了時刻（時刻に係る情報）を書き込む（代入する）。その結果、第２のイベントペアIP2は、次式
（５）  IP2＜101，10:00:00，10:02:30，201，10:00:30＞
のようになる。
【００６３】
因みに、後述するような、装置１が第２の終了イベントをも受信する実施形態においては、イベントペア更新部１１５は、第２のイベントストリームに係る第２の終了イベントを取得した際、第２のイベントペアバッファ１０５に記憶された第２のイベントペアのうち、この第２の終了イベントの有する第２のイベント識別子（又はこの識別子に相当する識別子）を含む第２のイベントペアに対し、この第２の終了イベントの終了時刻（時刻に係る情報）を書き込む（代入する）。
【００６４】
次いで、イベントペア検索部１１６は、第２のイベントペアバッファ１０５に記憶（登録）された第２のイベントペアのうち、第２の開始イベントＩBに係る時刻（開始時刻）ｔ2が、第１の開始イベントに係る時刻（開始時刻）ｔ1Sと第１の終了イベントに係る時刻（終了）ｔ1Eとの間となっているような、即ち、上式（２）ｔ1S ≦ｔ2 ≦ｔ1Eの関係を満たすような第２のイベントペア、ここではｔ2（＝10:00:30）がｔ1S（＝10:00:00）とｔ1E（＝10:02:30）との間にある上式（５）の第２のイベントペアIP2、を検索（抽出）する。
【００６５】
因みに、後述するような、装置１が第２の終了イベントをも受信する実施形態においては、イベントペア検索部１１６は、第２のバッファに記憶された第２のイベントペアのうち、第２の開始イベントに係る時刻（開始時刻）ｔ2S及び第２の終了イベントに係る時刻（終了時刻）ｔ2Eが、第１の開始イベントに係る時刻（開始時刻）ｔ1Sと第１の終了イベントに係る時刻（終了）ｔ1Eとの間となっているような、即ち、上式（１）ｔ1S ≦ｔ2S ≦ｔ2E ≦ｔ1Eの関係を満たすような第２のイベントペアを検索（抽出）する。
【００６６】
同じく図１において、確定イベントペアリスト登録部１０６は、イベントペア検索部１１６で検索（抽出）された第２のイベントペアを記憶し、登録する。イベントペア検索部１１６で検索された、又は確定イベントペアリスト登録部１０６に登録された第２のイベントペアに係る情報、即ち互いに関連するイベントに係る情報（同期イベント情報）は、例えばアプリケーション１１７を介して所定の形式でディスプレイ１０７に表示され、当該情報の利用者に提供されることも好ましい。さらには、この関連（同期）イベント情報は、図示されていないが、通信インタフェース１０１を介して、外部の情報処理装置に送信され、当該装置で利用者に提供されてもよい。
【００６７】
以上に説明した第１の開始イベントＩA、第２の開始イベントＩB、及び第１の終了イベントＩCに対する処理手順が、本実施形態の関連イベント抽出プログラム及び方法の典型的な形となっている。この処理では、特定のイベント識別子に関する第１のイベントペアの有効期間は、第１の開始イベントの開始時刻から第１の終了イベントの終了時刻までの間となっており、この期間に到着した第２の開始イベントとの間でのみ第２のイベントペアが生成され、第２のイベントペアバッファ１０５に登録される。このような処理によって、第２のイベントペアにおいては、以下の条件
第１の開始時刻 ≦ 第２の開始時刻 ≦ 第２の終了時刻
が原則的に満たされることになる。
【００６８】
ただし、例外として、第１のストリームバッファ１０２及び第２のストリームバッファ１０３への入力の時差によって、第２の開始時刻が第１の開始時刻よりも時間的に前になってしまったり、第２の開始時刻が第１の終了時刻よりも時間的に後ろになってしまったり等、時間順が入れ違ってしまう場合が生じ得る。この場合、後に説明するように、イベントペア検索部１１６によって、上記の正しい時刻の順序を有する第２のイベントペアが選別され、この入れ違いの問題が解消される。
【００６９】
次に、関連イベント抽出装置１が第２の終了イベントをも受信する実施形態について説明する。
【００７０】
図２〜図５は、本発明による関連イベント抽出方法の他の実施形態を示す模式的なシーケンス図である。
【００７１】
以下では、下記のイベントE1〜E20が順次、第１のストリームバッファ１０２及び第２のストリームバッファ１０３に入力される場合の処理を説明する。ここで、イベントE1〜E8は、第２の終了イベントをも考慮した典型的な処理手順を示す入力例のイベント列である。また、イベントE9〜E14は、複数の第２のイベントペアに対して絞り込みを行って関連（同期）イベントを検索（抽出）する処理手順を示す入力例のイベント列である。さらに、イベントE15〜E20は、既に確定したイベントペアを重複する形でイベントペアの新たな検索結果に含めない処理手順を示す入力例のイベント列である。
第１の開始イベントE1＜101，10:00:00＞
第２の開始イベントE2＜201，10:00:30＞
第２の終了イベントE3＜201，10:02:00＞
第１の終了イベントE4＜101，10:02:30＞
第１の開始イベントE5＜101，10:03:00＞
第２の開始イベントE6＜202，10:03:15＞
第１の終了イベントE7＜101，10:03:30＞
第２の終了イベントE8＜202，10:03:45＞
第１の開始イベントE9＜102，10:05:00＞
第１の開始イベントE10＜103，10:06:00＞
第２の開始イベントE11＜202，10:06:30＞
第１の終了イベントE12＜102，10:08:00＞
第２の終了イベントE13＜202，10:08:00＞
第１の終了イベントE14＜103，10:08:30＞
第１の開始イベントE15＜103，10:10:00＞
第２の開始イベントE16＜202，10:10:00＞
第２の開始イベントE17＜203，10:10:45＞
第２の終了イベントE18＜202，10:11:30＞
第２の終了イベントE19＜203，10:11:45＞
第１の終了イベントE20＜103，10:12:00＞
【００７２】
［イベントE1〜E8の処理］
最初に、図２に示すように、第１の開始イベントE1が到着した際、第１のイベントペア登録部１１２は、第１のイベントペアバッファ１０４に、新たな第１のイベントペア1-1を登録する。
（６）  1-1＜101，10:00:00，，，，＞
【００７３】
次いで、第２の開始イベントE2が到着した際、イベントペア送出部１１３は、第１のイベントペア1-1に対し、イベントE2の第２のイベント識別子及び第２の開始時刻を代入し、この第１のイベントペア1-1を、第２のイベントペアとして第２のイベントペア登録部１１４に送出する。第２のイベントペア登録部１１４は、この新たなイベントペアを、第２のイベントペアバッファ１０５に出力して登録する。
（７）  2-1-1＜101，10:00:00，，201，10:00:30，＞
【００７４】
次いで、第２の終了イベントE3が到着した際、イベントペア更新部１１５は、第２のイベントペア2-1-1に対し、イベントE3の第２の終了時刻を代入する。
（８）  2-1-2＜101，10:00:00，，201，10:00:30，10:02:00＞
【００７５】
次いで、第１の終了イベントE4が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE4の第１のイベント識別子"101"を有するイベントペア1-1（上式（６））を削除する。さらに、第２のイベントペア2-1-2に対し、イベントE4の第１の終了時刻を代入する。
（９）  2-1-3＜101，10:00:00，10:02:30，201，10:00:30，10:02:00＞
【００７６】
次に、図３に示すように、第１の開始イベントE5が到着した際、第１のイベントペア登録部１１２は、第１のイベントペアバッファ１０４に、新たな第１のイベントペア1-2を登録する。
（１０）  1-2＜101，10:03:00，，，，＞
【００７７】
次いで、第２の開始イベントE6が到着した際、イベントペア送出部１１３は、第１のイベントペア1-2に対し、イベントE6の第２のイベント識別子及び第２の開始時刻を代入し、この第１のイベントペア1-2を、第２のイベントペアとして第２のイベントペア登録部１１４に送出する。第２のイベントペア登録部１１４は、この新たなイベントペアを、第２のイベントペアバッファ１０５に出力して登録する。
（１１）  2-2-1＜101，10:03:00，，202，10:03:15，＞
【００７８】
次いで、第１の終了イベントE7が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE7の第１のイベント識別子"101"を有するイベントペア1-2（上式（１０））を削除する。さらに、第２のイベントペア2-2-1に対し、イベントE7の第１の終了時刻を代入する。
（１２）  2-2-2＜101，10:03:00，10:03:30，202，10:03:15，＞
【００７９】
次いで、第２の終了イベントE8が到着した際、イベントペア更新部１１５は、第２のイベントペア2-2-2に対し、イベントE8の第２の終了時刻を代入する。
（１３）  2-2-3＜101，10:03:00，10:03:30，202，10:03:15，10:03:45＞
【００８０】
［イベントE9〜E14の処理］
最初に、図４に示すように、第１の開始イベントE9が到着した際、第１のイベントペア登録部１１２は、第１のイベントペアバッファ１０４に、新たな第１のイベントペア1-3を登録する。
（１４）  1-3＜102，10:05:00，，，，＞
【００８１】
次いで、新たな別の第１の開始イベントE10が到着した際、第１のイベントペア登録部１１２は、第１のイベントペアバッファ１０４に、新たな第１のイベントペア1-4を登録する。
（１５）  1-4＜103，10:06:00，，，，＞
【００８２】
次いで、第２の開始イベントE11が到着した際、イベントペア送出部１１３は、第１のイベントペア1-3及び第１のイベントペア1-4の各々に対し、イベントE11の第２のイベント識別子及び第２の開始時刻を代入し、これらの第１のイベントペアを、第２のイベントペアとして第２のイベントペア登録部１１４に送出する。第２のイベントペア登録部１１４は、これらの新たなイベントペアを、第２のイベントペアバッファ１０５に出力して登録する。
（１６）  2-3-1＜102，10:05:00，，202，10:06:30，＞
（１７）  2-4-1＜103，10:06:00，，202，10:06:30，＞
【００８３】
次いで、第１の終了イベントE12が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE12の第１のイベント識別子"102"を有するイベントペア1-3（上式（１４））を削除する。さらに、第１のイベント識別子"102"を有する第２のイベントペア2-3-1に対し、イベントE12の第１の終了時刻を代入する。
（１８）  2-3-2＜102，10:05:00，10:08:00，202，10:06:30，＞
【００８４】
尚、例えば、到着した第１の終了イベントの第１のイベント識別子を有する第１のイベントペアが２つ以上バッファ１０４に記憶されている場合には、１つの例として、これらの第１のイベントペアのうち、第１の開始時刻の最も早いものを削除することも好ましい。
【００８５】
次いで、第２の終了イベントE13が到着した際、イベントペア更新部１１５は、第２のイベントペア2-3-2及び第２のイベントペア2-4-1に対し、イベントE13の第２の終了時刻を代入する。
（１９）  2-3-3＜102，10:05:00，10:08:00，202，10:06:30，10:08:00＞
（２０）  2-4-2＜103，10:06:00，，202，10:06:30，10:08:00＞
【００８６】
ここで、イベントペア更新部１１５は、第２の終了イベントE13が到着した際、記憶された第１のイベントペアのうち、この第２の終了イベントの有する第２のイベント識別子に相当する識別子を含む第１のイベントペアを削除してもよい。この処理を実行することによって、第１のイベントペアに対し、第１のイベント識別子及び第２のイベント識別子に対応する終了時刻のいずれか早い方を反映させて、第１のイベントペアバッファから削除することができる。
【００８７】
ここで、この削除処理を実行するためには、前提として、第２の開始イベントが到着した際、例えば次式（１５’）に示すように、第２のイベント識別子及び第２の開始時刻が、第１のイベントペアバッファ１０４に記憶された又は第１のイベントペアバッファ１０４から読み出した「第１のイベントペア」に書き込まれていることが必須となる。
（１５’）  1-4＜103，10:06:00，，202，10:06:30，＞
この前提の下、第１の終了イベントE14が到着する前に、第２の終了イベントE13が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE13における第２のイベント識別子"202"を有するイベントペア1-4（上式（１５’））を、速やかに削除することができる。
【００８８】
尚、例えば、到着した第２の終了イベントの第２のイベント識別子を有する第１のイベントペアが２つ以上バッファ１０４に記憶されている場合には、１つの例として、これらの第１のイベントペアのうち、第２の開始時刻の最も早いものを削除することも好ましい。
【００８９】
次いで、第１の終了イベントE14が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE14の第１のイベント識別子"103"を有するイベントペア1-4（上式（１５））を削除する。さらに、第２のイベントペア2-4-2に対し、イベントE14の第１の終了時刻を代入する。
（２１）  2-4-3＜103，10:06:00，10:08:30，202，10:06:30，10:08:00＞
【００９０】
［イベントE15〜E20の処理］
最初に、図５に示すように、第１の開始イベントE15が到着した際、第１のイベントペア登録部１１２は、第１のイベントペアバッファ１０４に、新たな第１のイベントペア1-5を登録する。
（２２）  1-5＜103，10:10:00，，，，＞
【００９１】
次いで、第２の開始イベントE16が到着した際、イベントペア送出部１１３は、第１のイベントペア1-5に対し、イベントE16の第２のイベント識別子及び第２の開始時刻を代入し、この第１のイベントペア1-5を、第２のイベントペアとして第２のイベントペア登録部１１４に送出する。第２のイベントペア登録部１１４は、この新たなイベントペアを、第２のイベントペアバッファ１０５に出力して登録する。
（２３）  2-5-1＜103，10:10:00，，202，10:10:00，＞
【００９２】
次いで、新たな別の第２の開始イベントE17が到着した際、イベントペア送出部１１３は、第１のイベントペア1-5に対し、イベントE17の第２のイベント識別子及び第２の開始時刻を代入し、この第１のイベントペア1-5を、第２のイベントペアとして第２のイベントペア登録部１１４に送出する。第２のイベントペア登録部１１４は、この新たなイベントペアを、第２のイベントペアバッファ１０５に出力して登録する。
（２４）  2-6-1＜103，10:10:00，，203，10:10:45，＞
【００９３】
次いで、第２の終了イベントE18が到着した際、イベントペア更新部１１５は、第２のイベントペア2-5-1に対し、イベントE18の第２の終了時刻を代入する。
（２５）  2-5-2＜103，10:10:00，，202，10:10:00，10:11:30＞
【００９４】
次いで、第２の終了イベントE19が到着した際、イベントペア更新部１１５は、第２のイベントペア2-6-1に対し、イベントE19の第２の終了時刻を代入する。
（２６）  2-6-2＜103，10:10:00，，203，10:10:45，10:11:45＞
【００９５】
次いで、第１の終了イベントE20が到着した際、イベントペア更新部１１５は、第１のイベントペアバッファ１０４に記憶されているイベントペアのうち、イベントE20の第１のイベント識別子"103"を有するイベントペア1-5（上式（２２））を削除する。さらに、第２のイベントペア2-5-2及び第２のイベントペア2-6-2に対し、イベントE20の第１の終了時刻を代入する。
（２７）  2-5-3＜103，10:10:00，10:12:00，202，10:10:00，10:11:30＞
（２８）  2-6-3＜103，10:10:00，10:12:00，203，10:10:45，10:11:45＞
【００９６】
以下、以上に説明したイベント処理によって第２のイベントペアバッファ１０５に登録された完成したイベントペアから、関連（同期）イベントに係るものを検索（抽出）する処理の一実施形態を説明する。
【００９７】
［イベントペア検索］
最初に、第２の終了イベントE8の処理が完了した段階でのイベントペアの検索を説明する。この段階では、第２のイベントペアバッファ１０５には、
2-1-3＜101，10:00:00，10:02:30，201，10:00:30，10:02:00＞
2-2-3＜101，10:03:00，10:03:30，202，10:03:15，10:03:45＞
が登録されている。イベントペア検索部１１６（図１）は、このうちから、検索条件１として、
ｔ1S ≦ｔ2S ≦ｔ2E ≦ｔ1E（式（１））
の関係を満たすような第２のイベントペアを検索（抽出）する。ここで、ｔ1S、ｔ2S、ｔ2E及びｔ1Eは、それぞれ第１の開始時刻、第２の開始時刻、第２の終了時刻及び第１の終了時刻である。
【００９８】
イベントペア検索部１１６は、上式（１）を満たすのがイベントペア2-1-3であるので、イベントペア2-1-3を検索（抽出）する。
【００９９】
次いで、第２の終了イベントE14の処理が完了した段階でのイベントペアの検索処理を説明する。この段階では、第２のイベントペアバッファ１０５には、
2-1-3＜101，10:00:00，10:02:30，201，10:00:30，10:02:00＞
2-2-3＜101，10:03:00，10:03:30，202，10:03:15，10:03:45＞
2-3-3＜102，10:05:00，10:08:00，202，10:06:30，10:08:00＞
2-4-3＜103，10:06:00，10:08:30，202，10:06:30，10:08:00＞
が登録されている。このうち、上式（１）ｔ1S ≦ｔ2S ≦ｔ2E ≦ｔ1Eを満たすのは、イベントペア2-1-3、2-3-3及び2-4-3の３つである。
【０１００】
ここで、さらに、上式（１）の検索条件１に加えて、更に以下に説明する検索条件２を設定する。
【０１０１】
図６は、イベントペア検索部１１６で実施される検索処理の一実施形態を説明するための模式図である。
【０１０２】
図６によれば、ｔ1S、ｔ2S、ｔ2E及びｔ1Eを、それぞれ第１の開始時刻、第２の開始時刻、第２の終了時刻及び第１の終了時刻とし、
（ａ）T1＝ｔ1E−ｔ1S、（ｂ）T2＝ｔ1E−ｔ2S、
（ｃ）T3＝ｔ2E−ｔ2S、（ｄ）T4＝ｔ2E−ｔ1S
とした場合に、検索条件２として、
（２９）  T2／T1が最大又は所定閾値以上である、
（３０）  T3／T1が最大又は所定閾値以上である、又は
（３１）  T4／T1が最大又は所定閾値以上である、又は
（３２）  T3／T2が最大又は所定閾値以上である、又は
（３３）  T3／T4が最大又は所定閾値以上である
が挙げられている。これは、イベントペア検索部１１６（図１）が、第２のイベントペアバッファ１０５に記憶された第２のイベントペアのうち、第１の開始イベントに係る時刻（開始時刻ｔ1S）から第１の終了イベントに係る時刻（終了時刻ｔ1E）までの時間間隔と、第２の開始イベントに係る時刻（開始時刻ｔ2S）から第２の終了イベントに係る時刻（終了時刻ｔ2E）までの時間間隔との重畳の度合いが、最大である又は所定閾値以上であるような第２のイベントペアを検索することを意味する。
【０１０３】
本実施形態では、検索条件２として、上式（２９）の「T2／T1が最大である」を採用する。ここで、検索条件１を満たすとして抽出された３つのイベントペア2-1-3、2-3-3及び2-4-3について、T2／T1を算出すると、それぞれ、
2-1-3：120（秒）／150（秒）＝０.８
2-3-3：90（秒）／180（秒）＝０.５
2-4-3：120（秒）／150（秒）＝０.８
となる。T2／T1が最大となるのはイベントペア2-1-3及び2-4-3であるので、イベントペア2-1-3及びイベントペア2-4-3が検索される。
【０１０４】
この検索条件１及び２を満たすとして検索されたイベントペア2-1-3及び2-4-3は、確定イベントペアリスト登録部１０６（図１）に登録される。
2-1-3＜101，10:00:00，10:02:30，201，10:00:30，10:02:00＞
2-4-3＜103，10:06:00，10:08:30，202，10:06:30，10:08:00＞
【０１０５】
次いで、第２の終了イベントE20の処理が完了した段階でのイベントペアの検索を説明する。この段階では、第２のイベントペアバッファ１０５には、さらに、イベントペア2-3-3、2-4-3、2-5-3及び2-6-3が登録されるから、結局、第２のイベントペアバッファ１０５には、
2-1-3＜101，10:00:00，10:02:30，201，10:00:30，10:02:00＞
2-2-3＜101，10:03:00，10:03:30，202，10:03:15，10:03:45＞
2-3-3＜102，10:05:00，10:08:00，202，10:06:30，10:08:00＞
2-4-3＜103，10:06:00，10:08:30，202，10:06:30，10:08:00＞
2-5-3＜103，10:10:00，10:12:00，202，10:10:00，10:11:30＞
2-6-3＜103，10:10:00，10:12:00，203，10:10:45，10:11:45＞
が登録されている。
【０１０６】
これらのうち、検索条件１としてｔ1S ≦ｔ2S ≦ｔ2E ≦ｔ1E（式（１））を満たすのは、イベントペア2-1-3、2-3-3、2-4-3、2-5-3及び2-6-3である。
【０１０７】
さらに、これらの検索条件１を満たすもののうち、イベントペア2-1-3及び2-4-3は、上述したように既に確定イベントペアリスト登録部１０６に確定イベントペアとして登録されている。
【０１０８】
（イベントペア検索部１１６において確定イベントペアを考慮しない場合）
ここで、イベントペア検索部１１６での検索処理において、確定イベントペアを考慮せずに検索を行う場合を説明する。この場合、イベントペア2-1-3、2-3-3、2-4-3、2-5-3及び2-6-3についてT2／T1を算出すると、それぞれ
2-1-3：120（秒）／150（秒）＝０.８
2-3-3：90（秒）／180（秒）＝０.５
2-4-3：120（秒）／150（秒）＝０.８
2-5-3：120（秒）／120（秒）＝１.０
2-6-3：75（秒）／120（秒）＝０.６２５
となる。T2／T1が最大となるのはイベントペア2-5-3であるので、イベントペア2-5-3が検索される。
【０１０９】
（イベントペア検索部１１６において第１のイベント識別子又は第２のイベント識別子を検索キーとする場合）
さらに、イベントペア検索部１１６での検索処理において、第１のイベント識別子又は第２のイベント識別子を検索キーとする場合を説明する。この場合、検索条件２を、第２のイベントペアバッファ１０５全体に適用するのではなく、第２のイベントペアバッファ１０５における第１のイベント識別子の各々に適用してもよい。即ち、検索条件２として上式（２９）を採用した場合、第２のイベントペアバッファ１０５における第１のイベント識別子の各々について「T2/T1が最大である」第２のイベントペアを検索してもよい。この場合、先に説明した実施形態では、第２のイベントペアバッファ１０５における第１のイベント識別子は101、102及び103であるので、各々について「T2/T1が最大である」第２のイベントペアとして、2-1-3、2-3-3及び2-5-3が検索されることになる。また、変更態様として、第２のイベントペアバッファ１０５における第２のイベント識別子の各々に対して検索条件２を適用してもよく、この場合にも以上に説明したのと同様の処理が行われる。例えば、先に説明した実施形態では、第２のイベントペアバッファ１０５における第２のイベント識別子は201、202及び203であるので、各々について「T2/T1が最大である」第２のイベントペアとして、2-1-3、2-4-3及び2-5-3が検索される。
【０１１０】
次いで、先に説明した実施形態において、イベントペア検索部１１６（図１）は、検索した第２のイベントペアを確定イベントペアリスト登録部１０６に記憶させた上で、新たな検索の際、検索した第２のイベントペアのうち、
（ａ）確定イベントペアリスト登録部１０６に既に記憶された第２の登録済イベントペア、並びに
（ｂ）第２の登録済イベントペアに含まれる第１のイベント識別子及び第２のイベント識別子の少なくとも１つに相当する識別子を有する第２のイベントペア
を、検索結果から除外する。
【０１１１】
具体的には、イベントペア2-1-3及び2-4-3が既に登録されているので、
（ａ）イベントペア2-1-3及び2-4-3と、
（ｂ）イベントペア2-1-3及び2-4-3を構成する第１のイベント識別子"101"及び"102"、並びに第２のイベント識別子"201"及び"202"のいずれかを含むイベントペア2-2-3、2-3-3及び2-5-3と
は、検索結果から除外される。その結果、イベントペア2-6-3
2-6-3＜103，10:10:00，10:12:00，203，10:10:45，10:11:45＞
が検索される。
【０１１２】
これにより、
（ア）第１の開始イベントE15及び第１の終了イベントE20で示される第１のイベント（識別子"103"）と、第２の開始イベントE17及び第２の終了イベントE19で示される第２のイベント（識別子"203"）とは、互いに関連するイベントであることが決定される。
【０１１３】
（確定イベントペアリストのうち、第１のイベント識別子及び第２のイベント識別子のいずれか一方のみを参照する除外条件）
尚、イベントペア検索部１１６（図１）は、除外条件として、上記（ｂ）に代えて、
（ｂ’）第２の登録済イベントペアに含まれる第１のイベント識別子に相当する識別子を有する第２のイベントペア、又は
（ｂ’’）第２の登録済イベントペアに含まれる第２のイベント識別子に相当する識別子を有する第２のイベントペア
を採用してもよい。
【０１１４】
ここで、イベントペア2-1-3及び2-4-3も既に確定イベントペアリスト登録部１０６に登録されているので、これにより、
（イ）第１の開始イベントE1及び第１の終了イベントE4で示される第１のイベント（識別子"101"）と、第２の開始イベントE2及び第２の終了イベントE3で示される第２のイベント（識別子"201"）とは、互いに関連するイベントであることが決定され、さらに、
（ウ）第１の開始イベントE10及び第１の終了イベントE14で示される第１のイベント（識別子"103"）と、第２の開始イベントE11及び第２の終了イベントE13で示される第２のイベント（識別子"202"）とは、互いに関連するイベントであることが決定される。
【０１１５】
以上、詳細に説明したように、本発明の関連イベント抽出プログラム、装置及び方法によれば、互いに異なる種類の第１のイベントストリーム及び第２のイベントストリームのそれぞれから、第１のイベント及び第２のイベントを取得し、バッファを利用して、互いに関連するイベント又は関連するイベント候補であるイベントペアを生成することができる。また、このようなイベントペアを生成する際に、単純に第１のイベントに係る時刻に近接した時刻を有する第２のイベントを抽出しているのではなく、時間の包含関係を担保し得る形でイベントペアを生成している。これにより、イベントに係る時間の単純な近接度に拘泥せずに、互いに関連するイベントを抽出することが可能となるのである。
【０１１６】
さらに、関連する（同期する）イベントを、バッファという比較的少ない記憶領域を利用して、比較的短い処理時間で抽出することができる。即ち、イベントの時間の包含関係を満たさないイベントペアはバッファに登録しないように制御されるため、必要な記憶領域が小さくて済む。さらに、イベントペアを検索する場合も、バッファに登録されたイベントペアのみを検索対象とするので、検索処理時間も短縮することができる。
【０１１７】
因みに、第１のイベントストリーム及び第２のイベントストリームをもたらす互いに異なる情報源としては、出力される位置情報における精度や粒度の異なる複数の測位手段や、店頭システム及び基幹システム、さらには、認証サーバ及びアプリケーションサーバや、複数の異なる事業者の管理するデータベース等、種々の形態のものが挙げられる。このうち、認証サーバ及びアプリケーションサーバといった、サーバが別々の管理下で構築されている場合においても、本発明によれば、例えばマーケティングや障害対応等を目的として、統合的にこれらのサーバを分析することができる。さらに、本発明によって、複数の事業者のデータベースの間の連携（関連）を調べることによって、例えば、好適なレコメンデーションサービスを提供したり、発生場所の特定し難い障害の原因を分析したりすることも可能となる。
【０１１８】
また、本発明によれば、１つの実施形態として、異なる種類の機器・システムにおけるイベントログ同士のＩＤ（識別子）を紐付けて、迅速に同期するＩＤを検索することも可能となる。これにより、例えば、通信サービス間のＩＤを連携させたり、ネットワーク機器間の連携を行ったりすることもできる。さらに、今後大きく進展することが予想されるＩｏＴ（Internet of Things）の分野でも、多数の機器・デバイスから出力される情報の関連性の調査を、比較的少ない記憶領域を利用して比較的短い時間で処理することが可能となるのである。
【０１１９】
以上に述べた本発明の種々の実施形態について、本発明の技術思想及び見地の範囲内での種々の変更、修正及び省略は、当業者によれば容易に行うことができる。以上に述べた説明はあくまで例示であって、何ら制約を意図するものではない。本発明は、特許請求の範囲及びその均等物によってのみ制約される。
【符号の説明】
【０１２０】
１  関連イベント抽出装置
１０１  通信インタフェース
１０２  第１のストリームバッファ
１０３  第２のストリームバッファ
１０４  第１のイベントペアバッファ
１０５  第２のイベントペアバッファ
１０６  確定イベントペアリスト登録部
１０７  ディスプレイ（ＤＰ）
１１１  イベント取得部
１１２  第１のイベントペア登録部
１１３  イベントペア送出部
１１４  第２のイベントペア登録部
１１５  イベントペア更新部
１１６  イベントペア検索部
１１７  アプリケーション
【図１】
0006429755.tif 000002
【図２】
0006429755.tif 000003
【図３】
0006429755.tif 000004
【図４】
0006429755.tif 000005
【図５】
0006429755.tif 000006
【図６】
0006429755.tif 000007