(57)【特許請求の範囲】
【請求項１】
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、
前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップと、
を、コンピュータに実行させるための情報処理プログラム。
【請求項２】
前記所定の期間より短い生存期間の割合が前記所定の閾値未満であると判断された場合、前記第１の属性が前記紐付けキーの候補ではないことを表すデータを前記第３データ格納部に格納するステップ
を、さらに実行させるための請求項１記載の情報処理プログラム。
【請求項３】
前記所定の期間は、前記メッセージ格納部に格納されている前記出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差であるメッセージ取得期間に所定の割合を乗じた値である
ことを特徴とする請求項１又は２記載の情報処理プログラム。
【請求項４】
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部と、
前記メッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納する抽出部と、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納する算出部と、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断し、前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納する判断部と、
を有する情報処理装置。
【請求項５】
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、
前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップと、
を含み、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メッセージを関連付ける技術に関する。
【背景技術】
【０００２】
例えばウェブ（Ｗｅｂ）３階層システムなど、複数階層のサーバにより構成されるシステムでは、サーバ間でメッセージを交換しながら処理を進行させてゆく。このようなシステムは大規模で複雑になることが多く、問題が発生した場合には対処に多大な労力と時間がかかることもある。そこで、サーバ間で交換されるメッセージを収集し、トランザクション毎にメッセージを関連付ける処理（以下、紐付け処理と呼ぶ）を行うことにより、システムにおける処理の進行状況を容易に把握できるようにすることが行われている。
【０００３】
上で述べた紐付け処理の方法の１つとして、メッセージに含まれるタグ情報に基づいてメッセージを関連付ける方法がある。ここで、タグ情報とは、属性及び属性の値を含む情報のことであるとする。例えばＦＩＸ（Financial Information eXchange）プロトコル（http://www.fixprotocol.org）による通信メッセージに「8=FIX.4.1 9=112 35=0 49=BRKR 56=INVMGR 34=235 52=19980604-07:58:28 11=19980604-07:58:28 10=157 」というデータが含まれる場合、「8=FIX.4.1」や「9=112」など「○○=××」の形式で表された部分がタグ情報である。ここでは、「=」の左側の数字が属性を表し、「=」の右側のデータが属性値を表している。
【０００４】
タグ情報に基づく紐付け処理においては、同一の属性について同一の属性値を有する複数のメッセージは同一のトランザクションに属するメッセージであるとして関連付けを行う。そのため、いずれのトランザクションに属するメッセージも同じ属性値を有するような属性は、メッセージを関連付けるための属性（以下、紐付けキーと呼ぶ）には相応しくない。従って、タグ情報に基づく紐付け処理においては、紐付けキーを適切に特定できるかが問題となる。
【０００５】
従来、関連付けが行われているメッセージから、メッセージを関連付けるための紐付けキーを特定する技術が存在する。具体的には、関連付けが行われているメッセージのそれぞれから、メッセージタイプ、メッセージに含まれる文字列及び文字列を転送する際のデータ流量を取得する。そして、取得された情報に基づいて、紐付けキーとして不要な文字列を除外すると共に、紐付け処理に用いる順序を決定する。
【０００６】
但し、関連付けるべきメッセージを予め特定するためには、システムにおいて起動されているアプリケーションプログラムに関する知識を有する者がメッセージを読み解く作業を行うことになる。しかし、実際にこのような作業を行って関連付けるべきメッセージを特定するのは困難であることが多い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１１６８３号公報
【特許文献２】特開２００９−２３８０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本技術の目的は、一側面によれば、関連付けの行われていないメッセージから当該メッセージを関連付けるための紐付けキーの候補を特定するための技術を提供することである。
【課題を解決するための手段】
【０００９】
本情報処理方法は、（Ａ）１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、（Ｂ）第１データ格納部に格納されているデータを用いて、第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、（Ｃ）第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、（Ｄ）所定の期間より短い生存期間の割合が所定の閾値以上であると判断された場合、第１の属性がメッセージ格納部に格納されているメッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップとを含む。
【発明の効果】
【００１０】
関連付けの行われていないメッセージから当該メッセージを関連付けるための紐付けキーの候補を特定することができるようになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施の形態に係るシステム概要図である。
【図２】図２は、メッセージ格納部に格納されているデータの一例を示す図である。
【図３】図３は、第１の実施の形態に係る処理の処理フローを示す図である。
【図４】図４は、第２データ格納部に格納されているデータの一例を示す図である。
【図５】図５は、第３データ格納部に格納されているデータの一例を示す図である。
【図６】図６は、第２の実施の形態に係るシステム概要図である。
【図７】図７は、第２の実施の形態に係る処理の処理フローを示す図である。
【図８】図８は、プロトコル解析部が行う処理について説明するための図である。
【図９】図９は、第２の実施の形態の処理の対象となるデータを示す図である。
【図１０】図１０は、分析対象システムにおけるメッセージ送受信の状況を模式的に示す図である。
【図１１】図１１は、算出結果格納部に格納されているデータの一例を示す図である。
【図１２】図１２は、算出結果格納部に格納されているデータの一例を示す図である。
【図１３】（ａ）は、ユニークキーの属性値である場合における累積出現度数と時間との関係を示す図である。（ｂ）は、ユニークキーの属性値ではない場合における累積出現度数と時間との関係を示す図である。
【図１４】図１４は、属性「seq」の属性値の出現状況を示す図である。
【図１５】図１５は、属性「memo」の属性値の出現状況を示す図である。
【図１６】図１６は、属性「VER」の属性値の出現状況を示す図である。
【図１７】図１７は、属性「req」の属性値の出現状況を示す図である。
【図１８】図１８は、出力データ格納部に格納されているデータの一例を示す図である。
【図１９】図１９は、出力画面の一例を示す図である。
【図２０】図２０は、メッセージの関連付けを行った結果を示す図である。
【図２１】図２１は、アプリケーションプログラムを実行する基盤により出力されるログの一例を示す図である。
【図２２】図２２は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１２】
［実施の形態１］
図１に、第１の実施の形態に係るシステム概要図を示す。例えば電子商取引システムである分析対象システム１１には、ＬＡＮ（Local Area Network）等のネットワークを介してキャプチャ装置１３が接続されている。また、キャプチャ装置１３には、ＬＡＮ等のネットワークを介して情報処理装置１５が接続されている。なお、図示していないが、分析対象システム１１には複数のサーバが含まれており、サーバ間でメッセージを交換しながら処理を行っている。
【００１３】
キャプチャ装置１３は、分析対象システム１１に含まれるサーバ間で交換されているメッセージを例えばポートミラーリングにより採取する。そして、キャプチャ装置１３は、採取したメッセージにメッセージを採取した時刻（以下、出現時刻と呼ぶ）のデータを付与し、情報処理装置１５に送信する。
【００１４】
情報処理装置１５は、メッセージ格納部１５１と、抽出部１５２と、第１データ格納部１５３と、算出部１５４と、第２データ格納部１５５と、判断部１５６と、第３データ格納部１５７とを含む。
【００１５】
抽出部１５２は、メッセージ格納部１５１に格納されているデータを用いて処理を行い、処理結果を第１データ格納部１５３に格納する。算出部１５４は、第１データ格納部１５３に格納されているデータを用いて処理を行い、処理結果を第２データ格納部１５５に格納する。判断部１５６は、第２データ格納部１５５に格納されているデータを用いて処理を行い、処理結果を第３データ格納部１５７に格納する。
【００１６】
図２に、メッセージ格納部１５１には、メッセージ格納部１５１に格納されているデータの一例を示す。図２の例では、キャプチャ装置１３から受信したメッセージと、当該メッセージの出現時刻とが格納されるようになっている。各メッセージには、１又は複数の属性についての属性値が含まれている。
【００１７】
次に、図３を用いて、図１に示した情報処理装置１５の処理内容について説明する。まず、情報処理装置１５の抽出部１５２は、処理対象の属性（以下、第１の属性と呼ぶ）についての属性値を含むメッセージと当該メッセージの出現時刻とをメッセージ格納部１５１から抽出し、第１データ格納部１５３に格納する（図３：ステップＳ１）。第１データ格納部１５３に格納されているデータのフォーマットは、メッセージ格納部１５１に格納されているデータのフォーマットと同様である。
【００１８】
そして、算出部１５４は、第１データ格納部１５３に格納されているデータを用いて、第１の属性についての属性値毎に生存期間Ｔを算出し、第２データ格納部１５５に格納する（ステップＳ３）。生存期間Ｔは、第１の属性値についての属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差を求めることにより算出する。
【００１９】
図４に、第２データ格納部１５５に格納されているデータの一例を示す。図４の例では、属性値と、生存期間とが格納されるようになっている。
【００２０】
図３の説明に戻り、判断部１５６は、第２データ格納部１５５に格納されている生存期間Ｔのうち、Ｔ＜αを満たす生存期間Ｔの割合が所定の閾値以上であるか判断する（ステップＳ５）。ここで、αはＴが十分に小さい値であるか判定するための閾値である。これは、生存期間の短い属性値の割合が高い属性は、トランザクション毎に一意な属性値をとる属性である可能性が高いという考え方に基づいている。
【００２１】
そして、Ｔ＜αを満たす生存期間Ｔの割合が所定の閾値以上であると判断された場合（ステップＳ５：Ｙｅｓルート）、判断部１５６は、紐付けキーの候補であることを表すデータ「Ｙｅｓ」を第１の属性に対応付けて第３データ格納部１５７に格納する（ステップＳ７）。
【００２２】
図５に、第３データ格納部１５７に格納されているデータの一例を示す。図５の例では、属性と、紐付けキーの候補であるか否かを表すデータとが格納されるようになっている。紐付けキーの候補であるか否かを表すデータが「Ｙｅｓ」である場合には紐付けキーの候補であることを表し、「Ｎｏ」である場合には紐付けキーの候補ではないことを表す。
【００２３】
一方、Ｔ＜αを満たす生存期間Ｔの割合が所定の閾値未満であると判断された場合（ステップＳ５：Ｎｏルート）、判断部１５６は、紐付けキーの候補ではないことを表すデータ「Ｎｏ」を第１の属性に対応付けて第３データ格納部１５７に格納する（ステップＳ９）。そして、第３データ格納部１５７に格納されているデータは、図示しない処理部等は当該データを表示装置に表示又は情報処理装置１５の管理者等が操作する端末に送信する。そして、管理者等は第１の属性を紐付けキーとして用いるか判断する。そして処理を終了する。
【００２４】
以上のような処理を実施することにより、関連付けの行われていないメッセージから、当該メッセージを関連付けるための紐付けキーの候補を特定することができるようになる。
【００２５】
［実施の形態２］
図６に、第２の実施の形態に係るシステム概要図を示す。例えば電子商取引システムである分析対象システム２１には、ＬＡＮ等のネットワークを介してキャプチャ装置２３が接続されている。また、キャプチャ装置２３には、ＬＡＮ等のネットワークを介して分析装置２５が接続されている。なお、図示していないが、分析対象システム２１には複数のサーバが含まれており、サーバ間でメッセージを交換しながら処理を行っている。
【００２６】
キャプチャ装置２３は、分析対象システム２１に含まれるサーバ間で交換されているメッセージを例えばポートミラーリングにより採取する。そして、キャプチャ装置２３は、採取したメッセージにメッセージを採取した時刻（以下、出現時刻と呼ぶ）のデータを付与し、分析装置２５に送信する。
【００２７】
分析装置２５は、キャプチャデータ格納部２５１と、プロトコル解析部２５２と、ユニークキー抽出部２５０とを含む。ユニークキー抽出部２５０は、解析結果格納部２５３と、算出部２５４と、算出結果格納部２５５と、判断部２５６と、出力データ格納部２５７と、出力部２５８とを含む。
【００２８】
キャプチャデータ格納部２５１には、キャプチャ装置２３から受信したメッセージと当該メッセージの出現時刻とが対応付けて格納されている。プロトコル解析部２５２は、キャプチャデータ格納部２５１に格納されているデータを用いて処理を行い、処理結果を解析結果格納部２５３に格納する。算出部２５４は、解析結果格納部２５３に格納されているデータを用いて処理を行い、処理結果を算出結果格納部２５５に格納する。判断部２５６は、算出結果格納部２５５に格納されているデータを用いて処理を行い、処理結果を出力データ格納部２５７に格納する。出力部２５８は、出力データ格納部２５７に格納されているデータを表示装置等に表示する処理を行う。
【００２９】
次に、図７乃至図２０を用いて、図８に示した分析装置２５の処理内容について説明する。まず、分析装置２５のプロトコル解析部２５２は、キャプチャデータ格納部２５１から、メッセージ毎に当該メッセージの出現時刻と当該メッセージに含まれるタグ情報（すなわち、属性及び属性値）とを特定し、解析結果格納部２５３に格納する（図７：ステップＳ１１）。
【００３０】
図８を用いて、ステップＳ１１において行われる処理について説明する。まず、プロトコル解析部２５２は、キャプチャデータ格納部２５１に格納されているバイナリ形式のデータをテキスト形式に変換する処理を行い、メインメモリ等の記憶装置に格納する。このような変換処理は、プロトコルデコードプログラム（例えばWiresharkやtcpdumpなど）を用いて行えばよい。変換後のデータは、例えば図８の中段に示すようなデータである。また、プロトコル解析部２５２は、分析対象システム２１の通信プロトコルの仕様に従い、変換後のデータからメッセージ毎に当該メッセージの出現時刻とタグ情報とを特定し、解析結果格納部２５３に格納する。解析結果格納部２５３に格納されているデータは、例えば図８の下段に示すようなデータである。
【００３１】
なお、説明をわかりやすくするため、本実施の形態では図９に示したデータが解析結果格納部２５３に格納されているものとして説明を行う。図９の例では、「=」の左側のデータが属性を表し、「=」の右側のデータが属性値を表している。
【００３２】
また、図１０は、図９に示したメッセージ１乃至３０が、分析対象システム２１において実際にどのように送受信されているかを模式的に示した図である。ここでは、分析対象システム２１にはサーバ１乃至３が含まれており、図１０における白の長方形がメッセージを表している。
【００３３】
図７の説明に戻り、算出部２５４は、属性及び属性値の組合せ毎に、当該属性及び属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻とを特定し、算出結果格納部２５５に格納する（ステップＳ１３）。
【００３４】
ここで、ステップＳ１３において行われる処理の一例を図９を用いて説明する。例えば「req=10」について処理する場合を考える。まず、算出部２５４は、図９に示したデータを「req=10」で探索する。ここでは、時刻の早い方から順に探索していくので、まず時刻１が特定される。従って、時刻１が「最も早い出現時刻」となる。さらに算出部２５４が探索を続けると、時刻２が特定される。従って、時刻２が「最も遅い出現時刻」となる。さらに算出部２５４が探索を続けると、時刻８が特定される。従って、「最も遅い出現時刻」は更新され、時刻８となる。そして、時刻９以降時刻３０まで探索を行っても、「req=10」は特定されないので、結局時刻１が「最も早い出現時刻」となり、時刻「８」が「最も遅い出現時刻」となる。
【００３５】
図１１に、ステップＳ１３が行われた段階において算出結果格納部２５５に格納されているデータの一例を示す。図１１の例では、属性と、属性値と、最も早い出現時刻と、最も遅い出現時刻とが格納されるようになっている。
【００３６】
図７の説明に戻り、算出部２５４は、属性及び属性値の組合せ毎に、最も早い出現時刻と最も遅い出現時刻との差である生存期間Ｔを算出し、算出結果格納部２５５に格納する（ステップＳ１５）。
【００３７】
図１２に、ステップＳ１５が行われた段階において算出結果格納部２５５に格納されているデータの一例を示す。図１２の例では、属性と、属性値と、最も早い出現時刻と、最も遅い出現時刻と、生存期間とが格納されるようになっている。
【００３８】
図７の説明に戻り、判断部２５６は、算出結果格納部２５５に格納されている属性のうち、未処理の属性（以下、処理対象の属性と呼ぶ）を１つ特定する（ステップＳ１７）。また、判断部２５６は、処理対象の属性について、Ｔ≦αＴallを満たす属性値の割合が閾値β以上であるか判断する（ステップＳ１９）。ここで、Ｔallは分析対象システム２１からメッセージを採取した期間であり、図９の例ではＴall＝３０−１＝２９である。また、α及びβは所定の閾値であり、例えばα＝０．２、β＝０．９程度であれば適切な処理結果を得ることができる。
【００３９】
ここで、図１３乃至図１７を用いて、ステップＳ１９において行われる処理の考え方について説明する。紐付けキーとして適切な属性は、トランザクション毎に一意な属性値をとる属性（以下、ユニークキーと呼ぶ）である。ユニークキーの属性値である場合、この属性値は特定のトランザクション処理が行われている間のみ出現する。従って、この属性値の累積出現度数と時間との関係は、図１３の上段に示したようになる。これに対し、ユニークキーの属性値ではない場合、複数のトランザクションが当該属性値を含むことになる。従って、この属性値の累積出現度数と時間との関係は、図１３の下段に示したようになる。
【００４０】
図１４乃至図１７は、図９に示したデータに含まれる属性「seq」、「memo」、「VER」及び「req」の属性値について累積出現度数と時間との関係を示したものである。属性「seq」については、属性値の生存期間が５、３、４、５、４及び３である。ここで、αＴall＝０．３＊２９≒９とすると、Ｔ≦αＴallを満たす属性値の割合は６／６＝１となる。属性「memo」については、属性値の生存期間が１であり、Ｔ≦αＴallを満たす属性値の割合は１／１＝１となる。属性「VER」については、属性値の生存期間が２９であり、Ｔ≦αＴallを満たす属性値の割合は０／１＝０となる。属性「req」については、属性値の生存期間が７、５、８、７、８及び５であり、Ｔ≦αＴallを満たす属性値の割合は６／６＝１となる。そして、各属性について算出された割合をβと比較し、β以上であればユニークキーである可能性があると判定する。
【００４１】
図７の説明に戻り、Ｔ≦αＴallを満たす属性値の割合が閾値β以上であると判断された場合（ステップＳ１９：Ｙｅｓルート）、判断部２５６は、出力データ格納部２５７において、処理対象の属性に対応する判断フラグを「Ｙｅｓ」に設定する（ステップＳ２１）。一方、Ｔ≦αＴallを満たす属性値の割合が閾値β未満であると判断された場合（ステップＳ１９：Ｎｏルート）、判断部２５６は、出力データ格納部２５７において、処理対象の属性に対応する判断フラグを「Ｎｏ」に設定する（ステップＳ２３）。
【００４２】
図１８に、出力データ格納部２５７に格納されているデータの一例を示す。図１８の例では、属性の列と、判断フラグの列とが含まれる。判断フラグ「Ｙｅｓ」が設定されている場合は紐付けキーの候補であることを表し、判断フラグ「Ｎｏ」が設定されている場合は紐付けキーの候補ではないことを表している。
【００４３】
図７の説明に戻り、ステップＳ２１又はＳ２３の後、判断部２５６は、未処理の属性が有るか判断する（ステップＳ２５）。未処理の属性が有ると判断された場合（ステップＳ２５：Ｙｅｓルート）、判断部２５６は、次の属性について処理するためステップＳ１７に戻る。一方、未処理の属性が無いと判断された場合（ステップＳ２５：Ｎｏルート）、出力部２５８は、出力データ格納部２５７に格納されているデータを表示装置に出力する（ステップＳ２７）。そして処理を終了する。
【００４４】
図１９に、出力部２５８による出力される表示画面の一例を示す。図１９の例では、属性「seq」、「memo」、「VER」及び「req」について、紐付けキーであるか否かを表すデータが表示されるようになっている。これにより、分析装置２５の管理者等は、これらの属性を紐付けキーとして採用するか判断できるようになる。
【００４５】
図２０に、属性「seq」及び「req」を紐付けキーとして用いて、図１０に示したメッセージを関連付けた結果を示す。図２０では、同一のトランザクションに属するメッセージには同一の装飾を付している。この例のように、紐付けキーは必ずしも１つであるとは限らず、複数の紐付けキーを組み合わせなければメッセージの関連付けを行うことができない場合がある。なお、実際に紐付けキーを組み合わせて関連付けを行う処理については、本実施の形態の処理ではないので、ここでは詳しくは述べない。
【００４６】
以上のような処理を実施することにより、関連付けの行われていないメッセージから、メッセージを関連付けるための紐付けキーを特定することができるようになる。
【００４７】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した情報処理装置１５及び分析装置２５の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００４８】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００４９】
なお、上ではキャプチャ装置を利用する例を示したが、キャプチャ装置を用いないような構成であってもよい。例えば、分析対象システムにおいて起動されているアプリケーションプログラムを実行する基盤（例えばミドルウェア）が、時刻と属性及び属性値とを含むログ（例えば図２１に示すようなデータ）を出力する。そして、出力されたログを収集し、上で述べたような処理を行うようにしてもよい。
【００５０】
また、ステップＳ１９においては、各属性値について算出された生存期間の平均値又は中央値を算出し、算出された値を所定の閾値と比較することにより紐付けキーの候補であるかを判断するようにしてもよい。
【００５１】
なお、上で述べた情報処理装置１５及び分析装置２５は、コンピュータ装置であって、図２２に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００５２】
なお、図６に示したプロトコル解析部２５２、算出部２５４、判断部２５６及び出力部２５８は、ＣＰＵ２５０３及びプログラムの組み合わせ、すなわち、ＣＰＵ２５０３がプログラムを実行することにより実現してもよい。より具体的には、ＣＰＵ２５０３は、ＨＤＤ２５０５又はメモリ２５０１に記憶されたプログラムに従った動作を行うことで、上で述べたような処理部として機能してもよい。また、図６に示したキャプチャデータ格納部２５１、解析結果格納部２５３、算出結果格納部２５５及び出力データ格納部２５７は、図２２におけるメモリ２５０１やＨＤＤ２５０５等として実現してもよい。
【００５３】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【００５４】
本情報処理方法は、（Ａ）１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、（Ｂ）第１データ格納部に格納されているデータを用いて、第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、（Ｃ）第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、（Ｄ）所定の期間より短い生存期間の割合が所定の閾値以上であると判断された場合、第１の属性がメッセージ格納部に格納されているメッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップとを含む。
【００５５】
このようにすれば、関連付けるべきメッセージ（例えば同一のトランザクションに属するメッセージ）毎に一意な属性値をとると推定される属性が紐付けキーの候補として特定される。従って、関連付けるべきメッセージが特定されていない場合において、当該メッセージから適切な紐付けキーの候補を得ることができるようになる。
【００５６】
また、上で述べた本方法は、（Ｅ）所定の期間より短い生存期間の割合が所定の閾値未満であると判断された場合、第１の属性が紐付けキーの候補ではないことを表すデータを第３データ格納部に格納するステップをさらに含むようにしてもよい。これにより、第１の属性が紐付けキーとして適切ではないことを管理者等に認識させることができるようになる。
【００５７】
また、上で述べた所定の期間は、メッセージ格納部に格納されている出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差であるメッセージ取得期間に所定の割合を乗じた値であってもよい。紐付けキーとして適切ではない属性の場合、異なるトランザクションに属するメッセージであっても同一の属性値になることがあるため、メッセージ取得期間が長くなるのに応じて生存期間が長くなると考えられる。そこで、上で述べたようにすれば、このような属性が紐付けキーの候補になることを防止できるようになる。
【００５８】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００５９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６０】
（付記１）
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、
前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップと、
を、コンピュータに実行させるための情報処理プログラム。
【００６１】
（付記２）
前記所定の期間より短い生存期間の割合が前記所定の閾値未満であると判断された場合、前記第１の属性が前記紐付けキーの候補ではないことを表すデータを前記第３データ格納部に格納するステップ
を、さらに実行させるための付記１記載の情報処理プログラム。
【００６２】
（付記３）
前記所定の期間は、前記メッセージ格納部に格納されている前記出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差であるメッセージ取得期間に所定の割合を乗じた値である
ことを特徴とする付記１又は２記載の情報処理プログラム。
【００６３】
（付記４）
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部と、
前記メッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納する抽出部と、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納する算出部と、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断し、前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納する判断部と、
を有する情報処理装置。
【００６４】
（付記５）
１又は複数の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを対応付けて格納するメッセージ格納部から、第１の属性についての属性値を含むメッセージと当該メッセージの出現時刻とを抽出し、第１データ格納部に格納するステップと、
前記第１データ格納部に格納されているデータを用いて、前記第１の属性についての属性値毎に、当該属性値を含むメッセージの出現時刻のうち最も早い出現時刻と最も遅い出現時刻との差である生存期間を算出し、第２データ格納部に格納するステップと、
前記第２データ格納部に格納されている生存期間のうち所定の期間より短い生存期間の割合が所定の閾値以上であるか判断するステップと、
前記所定の期間より短い生存期間の割合が前記所定の閾値以上であると判断された場合、前記第１の属性が前記メッセージ格納部に格納されている前記メッセージを関連付けるための紐付けキーの候補であることを表すデータを第３データ格納部に格納するステップと、
を含み、コンピュータにより実行される情報処理方法。
【符号の説明】
【００６５】
１１  分析対象システム    １３  キャプチャ装置
１５  情報処理装置    １５１  メッセージ格納部
１５２  抽出部    １５３  第１データ格納部
１５４  算出部    １５５  第２データ格納部
１５６  判断部    １５７  第３データ格納部
２１  分析対象システム    ２３  キャプチャ装置
２５  分析装置    ２５０  ユニークキー抽出部
２５１  キャプチャデータ格納部    ２５２  プロトコル解析部
２５３  解析結果格納部    ２５４  算出部
２５５  算出結果格納部    ２５６  判断部
２５７  出力データ格納部    ２５８  出力部
【図１】
0005533536.tif 000002
【図２】
0005533536.tif 000003
【図３】
0005533536.tif 000004
【図４】
0005533536.tif 000005
【図５】
0005533536.tif 000006
【図６】
0005533536.tif 000007
【図７】
0005533536.tif 000008
【図８】
0005533536.tif 000009
【図９】
0005533536.tif 000010
【図１０】
0005533536.tif 000011
【図１１】
0005533536.tif 000012
【図１２】
0005533536.tif 000013
【図１３】
0005533536.tif 000014
【図１４】
0005533536.tif 000015
【図１５】
0005533536.tif 000016
【図１６】
0005533536.tif 000017
【図１７】
0005533536.tif 000018
【図１８】
0005533536.tif 000019
【図１９】
0005533536.tif 000020
【図２０】
0005533536.tif 000021
【図２１】
0005533536.tif 000022
【図２２】
0005533536.tif 000023