JP5751336B2 - 情報処理装置、時刻補正値決定方法、およびプログラム - Google Patents

情報処理装置、時刻補正値決定方法、およびプログラム Download PDF

Info

Publication number
JP5751336B2
JP5751336B2 JP2013539436A JP2013539436A JP5751336B2 JP 5751336 B2 JP5751336 B2 JP 5751336B2 JP 2013539436 A JP2013539436 A JP 2013539436A JP 2013539436 A JP2013539436 A JP 2013539436A JP 5751336 B2 JP5751336 B2 JP 5751336B2
Authority
JP
Japan
Prior art keywords
time
event information
transaction
correction value
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013539436A
Other languages
English (en)
Other versions
JPWO2013057790A1 (ja
Inventor
堀田 勇次
勇次 堀田
河場 基行
基行 河場
智弘 清水
智弘 清水
泰彦 金政
泰彦 金政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013057790A1 publication Critical patent/JPWO2013057790A1/ja
Application granted granted Critical
Publication of JP5751336B2 publication Critical patent/JP5751336B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、トランザクションの処理で発生したイベントに関する情報を処理する情報処理装置、時刻補正値決定方法、およびプログラムに関する。
Webアプリケーションソフトウェアなどを用い、インターネットなどのネットワークを介してユーザにサービスを提供する場合がある。このとき安定したサービスを提供するために、サービスを提供するシステムの運用管理が行われる。
システムの運用管理では、ユーザの処理要求の遅延などを監視するため、例えば性能の測定が行われる。性能測定としては、例えば、最初のリクエストからユーザへのレスポンスまでの処理時間、DB(データベース)アクセスに要した処理時間など、処理内容ごとの処理時間が測定される。処理がWebレイヤ、アプリケーションレイヤ、およびDBレイヤに分かれたWeb3階層システムのような多階層システムであれば、ネットワークから収集したメッセージの内容を解析して、トランザクションの処理状態を分析する技術がある。
なおトランザクション中で発生したメッセージに基づいてトランザクションの処理時間を測定するには、まず同一トランザクション中で発生したメッセージが特定される。例えば、多階層システムの上位レイヤの処理の開始から終了までの実行期間が、その処理のリクエストメッセージとレスポンスメッセージとの発生時刻によって特定される。そして、上位レイヤの処理の実行期間内に発生した下位レイヤの処理のリクエストメッセージが、同一トランザクションに関するメッセージとして、上位レイヤの処理のリクエストメッセージとレスポンスメッセージとの組に関連づけられる。
下位レイヤへのリクエストメッセージの送信が上位レイヤの処理の開始から終了までの実行期間内に行われているかどうかの判断を正確に行うには、メッセージの送信などのイベント発生の前後関係が正確であることが重要である。イベント発生の前後関係は、各イベントの発生時刻を示す時刻情報に基づいて判断される。
なお、メッセージ送信などのイベントに関する情報を、複数の機器から収集する場合がある。その場合、イベントの前後関係の判定精度向上のために、例えばメッセージを採取する機器間の時刻合わせが行われる。例えば、中央のタイムベースにローカルのタイムベースを同期させる技術などが考えられている。
特開2006−011683号公報 特表2002−510081号公報
しかし、異なるサーバそれぞれのイベント情報を別個の機器で取得する場合、取得する複数の機器間で時刻同期による時刻合わせを行っても、メッセージの送受信などのイベント間の前後関係の正確な把握に十分な同期精度が得られないことがある。しかも、複数の機器の時刻が完全に一致した場合であっても、各機器でイベント情報を採取するプロセスによるタイムスタンプの付与タイミングがプロセス間で異なり、時刻のずれが生じることがある。このようなプロセスのタイムスタンプ付与タイミングのずれから生じる時刻情報のずれは、異なるサーバそれぞれのイベント情報を、同一機器の複数のプロセスを使って採取するような場合にも同様に発生する。このように、各イベント情報の時刻情報にずれがあると、メッセージの送受信などのイベント間の前後関係の判定度が劣化する。その結果、例えばトランザクション分析による分析結果の信頼性が低下する。
しかも、異なるサーバで発生したイベントの時刻情報の補正値を判断する手法がない。そのため、異なるサーバそれぞれで実行した処理のイベント情報を、異なる装置または異なるプロセスで取得した場合、イベント情報の時刻のずれを補正することができない。
1つの側面では、本発明は、異なるサーバで実行した処理のイベント情報の時刻のずれを補正可能とする情報処理装置、時刻補正値決定方法、およびプログラムを提供することを目的とする。
1つの案では、トランザクションの一部として第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからのトランザクションの一部の実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求先イベント情報を記憶する第2の記憶手段を参照し、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とを関連付ける関連付け手段と、関連付けられた要求元イベント情報と要求先イベント情報との間で時刻情報を比較し、前記第1の記憶手段に格納された要求元イベント情報の時刻情報と、前記第2の記憶手段に格納された要求先イベント情報の時刻情報との間の時刻のずれを補正する補正値を決定する決定手段と、を有する情報処理装置が提供される。
1態様によれば、異なるサーバで実行した処理のイベント情報の時刻のずれが補正可能となる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係るシステムの構成例を示す図である。 第2の実施の形態のシステム構成の一例を示す図である。 第2の実施の形態に用いる分析装置のハードウェアの一構成例を示す図である。 分析装置の機能の一例を示すブロック図である。 トランザクション分析処理の手順を示すフローチャートである。 Webメッセージ記憶部のデータ構造の一例を示す図である。 アプリケーションメッセージ記憶部のデータ構造の一例を示す図である。 DBメッセージ記憶部のデータ構造の一例を示す図である。 補正値決定処理の手順を示すフローチャートである。 分析装置で検出されたメッセージの一例を示す図である。 適合時間幅情報の一例を示す図である。 適合率調査結果の一例を示す図である。 補正値記憶部のデータ構造の一例を示す図である。 時刻補正後のメッセージの一例を示す図である。 適合率グラフの表示例を示す図である。 包含関係図の表示例を示す図である。 第3の実施の形態の補正値決定処理の手順の一例を示すフローチャートである。 適合率/カバー率調査結果の一例を示す図である。 時刻補正後のメッセージの一例を示す図である。 適合率/カバー率グラフの表示例を示す図である。 包含関係図の表示例を示す図である。 第4の実施の形態に係る分析装置の機能の一例を示すブロック図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るシステムの構成例を示す図である。第1の実施の形態に係るシステムには、例えば、情報処理装置1、端末装置2、第1のサーバ3、第2のサーバ4、およびキャプチャ装置5が含まれる。
端末装置2は、例えばユーザからの入力に応じて、第1のサーバ3に対して処理要求を送信する。第1のサーバ3と第2のサーバ4とは、互いに連携し、端末装置2からの処理要求に応じて、トランザクション処理を実行する。例えば第1のサーバ3がWebサーバとアプリケーションサーバとの機能を備え、第2のサーバ4がDBサーバの機能を備える。この場合、第1のサーバ3は、端末装置2から処理要求に応じたWebサービスおよびアプリケーションの処理サービスを実行し、第2のサーバ4が管理するデータにアクセスする際に、第2のサーバ4に対してリクエストメッセージを送信する。なお第1のサーバ3が第2のサーバ4に送信するリクエストメッセージには、トランザクションの識別子を含めることができる。第2のサーバ4は、受信したリクエストメッセージに応じたデータへのアクセスを行い、アクセス結果をレスポンスメッセージとして第1のサーバ3に応答する。
第1の実施の形態に係るシステムは、第1のサーバ3と第2のサーバ4とのそれぞれに関し、トランザクションの処理に関連して発生したイベントに関するイベント情報を記録する機能を備えている。
例えば第1のサーバ3は、リクエストメッセージに応じてトランザクションの処理の一部を実行すると、実行した処理の開始イベントに関するイベント情報と、処理の終了イベントに関するイベント情報と生成する。なお第1のサーバ3は、生成したイベント情報に、イベントの発生時刻を示す時刻情報を含める。また第1のサーバ3は、実行したトランザクションを一意に示す識別子を生成し、イベント情報にトランザクションの識別子を含める。そして第1のサーバ3は、生成したイベント情報を内部の記憶装置に格納する。
また第1のサーバ3と第2のサーバ4との通信経路上にネットワークタップ6が設けられ、そのネットワークタップ6にキャプチャ装置5が接続されている。ネットワークタップ6は、第1のサーバ3と第2のサーバ4との間で送受信されたパケットのコピーを、キャプチャ装置5に送信する。キャプチャ装置5は、ネットワークタップ6から送信されたパケットを解析して、第1のサーバ3から第2のサーバ4へのリクエストメッセージ、および第2のサーバ4から第1のサーバ3へのレスポンスメッセージを再生する。そしてキャプチャ装置5は、それぞれのメッセージの発生イベントを示すイベント情報を、内部の記憶装置に記憶する。なおキャプチャ装置5は、イベント情報を記憶する際に、イベントの発生時刻を示す時刻情報をイベント情報に付与する。またキャプチャ装置5は、取得したメッセージにトランザクションの識別子が含まれていれば、その識別子をイベント情報に含める。
情報処理装置1は、第1の記憶手段1a、第2の記憶手段1b、取得手段1c、関連付け手段1d、および決定手段1eを有する。
第1の記憶手段1aは、トランザクションの一部として第1のサーバ3で実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求元イベント情報を記憶する。なお図1の例では、第1のサーバ3で発生したイベントのイベント情報には、イベント内容として、処理内容や、処理の開始イベントなのか終了イベントなのかを示す情報が含まれる。
第2の記憶手段1bは、第1のサーバ3からのトランザクションの一部の実行要求に応じて第2のサーバ4で実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求先イベント情報を記憶する。なお図1の例では、第のサーバで発生したイベントのイベント情報には、さらに処理内容を示す情報がイベント内容として含まれる。
なお、第1の記憶手段1aと第2の記憶手段1bとの一部のイベント情報には、トランザクション識別子が付与されていなくてもよい。例えば図1の例では、第1の記憶手段1aには、トランザクション識別子が付与されている要求元イベント情報のみが格納されている。他方第2の記憶手段1bには、トランザクション識別子が付与されている要求先イベント情報と、トランザクション識別子が付与されていないイベント情報(トランザクション不明イベント情報)とが格納されている。
取得手段1cは、キャプチャ装置5から第1のサーバ3で実行された処理に関する要求元イベント情報を取得し、第1の記憶手段1aに格納する。また取得手段1cは、第2のサーバ4から、第2のサーバ4で実行された処理に関する要求先イベント情報を取得し、第2の記憶手段1bに格納する。
関連付け手段1dは、第1の記憶手段1aと第2の記憶手段1bとを参照し、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とを関連付ける。
決定手段1eは、関連付けられた要求元イベント情報と要求先イベント情報との間で時刻情報を比較する。そして決定手段1eは、第1の記憶手段1aに格納された要求元イベント情報の時刻情報と、第2の記憶手段1bに格納された要求先イベント情報の時刻情報との間の時刻のずれを補正する補正値1fを決定する。
例えば決定手段1eは、第1のサーバで実行された処理の開始を示す要求元イベント情報と該処理の終了を示す要求元イベント情報とのイベント情報対を生成する。次に決定手段1eは、生成したイベント情報対を構成する各要求元イベント情報の時刻情報に基づき、処理の実行期間を判断する。さらに決定手段1eは、生成したイベント情報対を構成する要求元イベント情報と同一のトランザクションの識別子を含む要求先イベント情報の時刻情報を補正した場合に、補正後の時刻を該実行期間内とすることができる適合時間幅を決定する。そして決定手段1eは、適合時間幅内の時間を、補正値1fに決定する。例えば決定手段1eは、トランザクションの識別子を含む要求先イベント情報ごとに適合時間幅を計算する。そして決定手段1eは、要求先イベント情報それぞれの適合時間幅の重複範囲内の時間を、補正値1fに決定する。
このようなシステムによれば、端末装置2からの処理要求に応じて、第1のサーバ3と第2のサーバ4とでトランザクション処理が実行される。第1のサーバ3で実行された処理に関する要求元イベント情報は、キャプチャ装置5で記録される。第2のサーバ4で実行された処理に関する要求先イベント情報は、第2のサーバ4で記録される。このとき、キャプチャ装置5と第2のサーバ4との間に、内部時計にずれがあれば、それぞれで記録したイベント情報に付与される時刻情報にもずれが生じる。そこで、情報処理装置1によって、時刻ずれの補正値1fが判断される。
例えば情報処理装置1の取得手段1cにより、キャプチャ装置5から要求元イベント情報が取得され、第1の記憶手段1aに格納される。また取得手段1cにより、第2のサーバ4から要求先イベント情報が取得され第2の記憶手段1bに格納される。
次に関連付け手段1dにより、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とが関連づけられる。例えば図1の例であれば、第1の記憶手段1a内のトランザクションの識別子「tid1」を有する上位2つの要求元イベント情報と、第2の記憶手段1b内のトランザクションの識別子「tid1」を有する最上位の要求先イベント情報とが関連づけられる。同様に、トランザクションの識別子「tid2」を有する要求元イベント情報と要求先イベント情報とが関連づけられる。さらにトランザクションの識別子「tid3」を有する要求元イベント情報と要求先イベント情報とが関連づけられる。
次に決定手段1eによって、補正値1fが決定される。例えば決定手段1eにより、同一のトランザクションの識別子を含む複数の要求元イベント情報のうちの、処理の開始を示す要求元イベント情報と該処理の終了を示す要求元イベント情報それぞれの時刻情報に基づき、処理の実行期間が判断される。図1の例では、トランザクション識別子「tid1」に対応する第1のサーバ3の処理の実行期間は「3.10〜3.20(秒)」である。トランザクション識別子「tid2」に対応する第1のサーバ3の処理の実行期間は「3.30〜3.40(秒)」である。トランザクション識別子「tid3」に対応する第1のサーバ3の処理の実行期間は「3.50〜3.59(秒)」である。
さらに決定手段1eにより、複数の要求元イベント情報と同一のトランザクションの識別子を含む要求先イベント情報の時刻情報の補正後の時刻を、要求元イベント情報に対応する処理の実行期間内とすることができる適合時間幅が判断される。図1の例では、トランザクション識別子「tid1」の第2のサーバ4のイベント情報の時刻情報は「3.05(秒)」である。この時刻情報「3.05(秒)」に対して補正を行った後に、トランザクション識別子「tid1」に対応する処理の実行期間内とする適合時間幅は、「+0.05〜+0.15」である。同様に、トランザクション識別子「tid2」の第2のサーバ4のイベント情報の時刻情報「3.31(秒)」に対する適合時間幅は、「−0.01〜+0.09」である。またトランザクション識別子「tid3」の第2のサーバ4のイベント情報の時刻情報「3.43(秒)」に対する適合時間幅は、「+0.07〜+0.16」である。
そして決定手段1eにより、第2のサーバ4のイベント情報ごとに算出された適合時間幅に基づいて、補正値1fが決定される。例えば複数のトランザクションそれぞれの適合時間幅の重複範囲内の時間が、補正値1fに決定される。図1の例では、適合時間幅の重複範囲は「+0.07〜+0.09(秒)」である。そこで、例えば重複範囲の中間値「0.08」が補正値1fに決定される。
このように第1の実施の形態では、第1のサーバ3のイベント情報と第2のサーバ4のイベント情報とがトランザクション識別子で関連付けられ、関連付けられたイベント情報の時刻情報を比較することで、補正値1fが決定される。決定された補正値1fを用いて、第1の記憶手段1a内の要求元イベント情報の第2の記憶手段1b内の要求先イベント情報との時刻のずれを補正すれば、要求元イベント情報と要求先イベント情報とを、対応するイベントの発生順に正しく並べることができる。しかもトランザクションの識別子を持たないイベント情報がある場合でも、イベント情報の時刻のずれを補正することができる。そのため、一つのトランザクションに関連するすべての情報をより正確に収集することができるようになる。個々のトランザクションの情報を正確に収集できれば、トランザクション内の処理ごとの所要時間をアプリケーション本体から外部の通信に至るまでトランザクションごとに計測できるようになる。そのため、システムの不具合や性能の監視、ボトルネックの検出などを、正確に行うことが可能になる。その結果、例えばトランザクション分析の信頼性が向上する。
なお図1の例では、第2の記憶手段1b内の要求先イベント情報の時刻情報を補正するための補正値1fを決定しているが、時刻のずれは相対的なものである。そのため、第1の記憶手段1a内の要求イベント情報の時刻情報を補正するための補正値を決定してもよい。例えば図1に示す補正値1fの値「+0.08」の符号を逆にし、「−0.08」とすれば、第1の記憶手段1a内の要求イベント情報の時刻情報を補正するための補正値となる。
なお、取得手段1c、関連付け手段1d、および決定手段1eは、情報処理装置1が有するCPU(Central Processing Unit)により実現することができる。また、第1の記憶手段1aおよび第2の記憶手段1bは、情報処理装置1が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)などにより実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、トランザクションの分析を行う分析装置において、トランザクションの分析に先立って時刻情報の補正値を決定するものである。
なお、第2の実施の形態では、WWW(World Wide Web)を用いたサービスを提供するWeb3階層システムの例を用いる。Web3階層システムでは、トランザクションの処理が、WWWによるサービスの入口となるWebレイヤ、各種データ処理を行うアプリケーションレイヤ、およびデータを管理するDBレイヤの3つのレイヤ(階層)に分かれる。Web3階層システムでは、Webレイヤが最上位である。Webレイヤの下位にアプリケーションレイヤが存在する。さらにアプリケーションレイヤの下位に、DBレイヤが存在する。
また第2の実施の形態では、第1の実施の形態のイベント情報の一例として、各サーバに入出力されたメッセージに関する情報(メッセージ情報)を取得する。例えばサーバにリクエストメッセージが入力されれば、そのサーバでの処理の開始イベントが発生したものと認識できる。また、サーバからレスポンスメッセージが出力されれば、そのサーバでの処理の終了イベントが発生したものと認識できる。
図2は、第2の実施の形態のシステム構成の一例を示す図である。図2には、Web3階層システムを用いてサービスを提供するシステムの例が示されている。このシステムでは、端末装置31〜33がネットワーク21、スイッチ22を介してWebサーバ41に接続されている。端末装置31〜33は、サービスの提供を受けるユーザが使用するコンピュータ、携帯端末装置などの機器である。
スイッチ22は、例えばレイヤ2スイッチである。またスイッチ22は、中継するパケットの信号を分岐させて出力するキャプチャポートを備えている。スイッチ22のキャプチャポートには、キャプチャ装置44が接続されている。
Webサーバ41は、WWWによる情報通信機能を備えたコンピュータである。Webサーバ41は、端末装置31〜33からの要求に応じて、処理を実行し、処理結果を応答する。またWebサーバ41は、処理の実行過程でアプリケーションサーバ42の処理機能を利用する場合、アプリケーションサーバ42に処理要求を送信し、処理結果の応答を受け取る。
なおWebサーバ41は、例えば端末装置31〜33から処理を要求するリクエストメッセージを受信すると、そのリクエストメッセージに応じて実行するトランザクションを一意に識別するトランザクションIDを生成する。そしてWebサーバ41は、トランザクションの処理の一部をアプリケーションサーバ42に依頼する場合、そのトランザクションのトランザクションIDを付与したリクエストメッセージをアプリケーションサーバ42に送信する。さらにWebサーバ41は、トランザクションの処理結果を示すレスポンスメッセージに、そのトランザクションのトランザクションIDを付与する。
アプリケーションサーバ42は、各種アプリケーションソフトウェアを実行するコンピュータである。アプリケーションサーバ42は、Webサーバ41からの要求に応じて処理を実行し、実行結果を応答する。なおアプリケーションサーバ42は、処理の実行過程でDBサーバ43が管理するデータへのアクセス処理が発生した場合、DBサーバ43にデータアクセスの処理要求を送信し、処理結果の応答を受け取る。またアプリケーションサーバ42は、実行した処理に関連して送受信したメッセージ(アプリケーションメッセージ)の履歴を、タイムスタンプ(時刻情報)を付加して記憶する。
なおアプリケーションサーバ42は、DBサーバ43に送信するリクエストメッセージの少なくとも一部に、Webサーバ41からのリクエストメッセージに含まれていたトランザクションIDを付与する。
DBサーバ43は、スイッチ23を介してアプリケーションサーバ42に接続されている。DBサーバ43は、データベースを有し、そのデータベースを管理するコンピュータである。DBサーバ43は、アプリケーションサーバ42からの要求に応じて処理を実行し、実行結果を応答する。
スイッチ23は、例えばレイヤ2スイッチである。またスイッチ23は、中継するパケットの信号を分岐させて出力するキャプチャポートを備えている。スイッチ23のキャプチャポートには、キャプチャ装置45が接続されている。
キャプチャ装置44は、スイッチ22を介して端末装置31〜33それぞれと、Webサーバ41との間で送受信されたパケットを取得するコンピュータである。そしてキャプチャ装置44は、取得したパケットに含まれるメッセージ(Webメッセージ)を解析し、タイムスタンプを付加して記憶する。
キャプチャ装置45は、スイッチ23を介してアプリケーションサーバ42とDBサーバ43との間で送受信されたパケットを取得するコンピュータである。そしてキャプチャ装置45は、取得したパケットに含まれるメッセージ(DBメッセージ)を解析し、タイムスタンプを付加して記憶する。
分析装置100は、ネットワーク24を介してアプリケーションサーバ42、およびキャプチャ装置44,45に接続されている。分析装置100は、Webサーバ41、アプリケーションサーバ42、およびDBサーバ43によって処理が実行された一連のトランザクションを分析するコンピュータである。例えば分析装置100は、キャプチャ装置44から、端末装置31〜33それぞれと、Webサーバ41との間で送受信されたメッセージの情報を取得する。また分析装置100は、アプリケーションサーバ42から、Webサーバ41とアプリケーションサーバ42との間で送受信されたメッセージの情報を取得する。さらに分析装置100は、キャプチャ装置45から、アプリケーションサーバ42とDBサーバ43との間で送受信されたメッセージに関するメッセージ情報を取得する。そして分析装置100は、取得したメッセージ情報を解析し、例えばトランザクションの種別毎の各サーバでの平均処理時間などを解析する。
分析装置100は、メッセージを解析する際に、同一トランザクションの処理に関するメッセージ同士の関連付けを行う。そして分析装置100は、各トランザクションに関するメッセージを解析することで、例えばトランザクションのレイヤごとの処理時間の分析が可能となる。
なお、同一トランザクションの処理であれば、上位レイヤの処理の開始から終了までの実行期間内に、下位レイヤの処理の実行期間は包含される。従って、上位レイヤへのリクエストメッセージとレスポンスメッセージとの間に、同一トランザクションにおける下位レイヤのリクエストメッセージやレスポンスメッセージが発生する。このような条件を満たすメッセージ同士を関連付けることで、同一トランザクションにおいて発生したメッセージの集合を生成することができる。この条件を満たすか否かは、例えば各メッセージを時系列に並べることで判断できる。
ここで、各メッセージに付与されたタイムスタンプの時刻が正確であれば、メッセージを正しく時系列で並べることができる。しかし、第2の実施の形態では、Webメッセージのタイムスタンプは、キャプチャ装置44によって付加される。アプリケーションメッセージのタイムスタンプは、アプリケーションサーバ42によって付加される。DBメッセージのタイムスタンプは、キャプチャ装置45によって付加される。するとアプリケーションサーバ42と各キャプチャ装置44,45の内部時計の時刻にずれがある場合、タイムスタンプで示された時刻にもずれが生じる。またアプリケーションサーバ42と各キャプチャ装置44,45との内部時計の時刻が一致していたとしても、タイムスタンプを設定するプロセスの処理タイミングの違いにより、例えば0.01秒単位での微妙な時刻のずれが生じる。このような時刻のずれにより、メッセージを、そのメッセージが送信された順に正しく時系列に並べるのが困難となる。
そこで分析装置100では、異なる機器でタイムスタンプが付与されたメッセージ間の時刻を補正する補正値を算出し、時刻の補正を行ったうえでメッセージを時系列に並べる。これにより、上位の処理と、その処理に呼び出されて実行された下位の処理の時間的な包含関係が正しく再現され、同一トランザクションに含まれるメッセージ集合を正しく判定可能となる。
このような処理を実現する分析装置100は、例えば以下のようなハードウェアで構成される。
図3は、第2の実施の形態に用いる分析装置のハードウェアの一構成例を示す図である。分析装置100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、分析装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、分析装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース107は、ネットワーク24に接続されている。通信インタフェース107は、ネットワーク24を介して、アプリケーションサーバ42、またはキャプチャ装置44,45との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置1も、図3に示した分析装置と同様のハードウェアにより実現することができる。
図4は、分析装置の機能の一例を示すブロック図である。分析装置100は、メッセージ収集部110、Webメッセージ記憶部120、アプリケーションメッセージ記憶部130、DBメッセージ記憶部140、補正値決定部150、補正値記憶部160、トランザクション分析部170、および表示部180を有する。
メッセージ収集部110は、アプリケーションサーバ42、および各キャプチャ装置44,45からメッセージを収集する。例えばメッセージ収集部110は、キャプチャ装置44から、キャプチャ装置44が記憶しているWebメッセージを取得し、Webメッセージ記憶部120に格納する。またメッセージ収集部110は、アプリケーションサーバ42から、アプリケーションサーバ42が記憶しているアプリケーションメッセージを取得し、アプリケーションメッセージ記憶部130に格納する。さらにメッセージ収集部110は、キャプチャ装置45から、キャプチャ装置45が記憶しているDBメッセージを取得し、DBメッセージ記憶部140に格納する。
Webメッセージ記憶部120は、端末装置31〜33とWebサーバ41との間で送受信されたWebメッセージを記憶する。例えばRAM102またはHDD103の記憶領域の一部が、Webメッセージ記憶部120として使用される。
アプリケーションメッセージ記憶部130は、Webサーバ41とアプリケーションサーバ42との間で送受信されたアプリケーションメッセージを記憶する。例えばRAM102またはHDD103の記憶領域の一部が、アプリケーションメッセージ記憶部130として使用される。
DBメッセージ記憶部140は、アプリケーションサーバ42とDBサーバ43との間で送受信されたDBメッセージを記憶する。例えばRAM102またはHDD103の記憶領域の一部が、DBメッセージ記憶部140として使用される。
補正値決定部150は、Webメッセージ、アプリケーションメッセージ、DBメッセージ間の時刻情報の補正値を計算する。補正値決定部150は、算出した補正値を補正値記憶部160に格納する。
補正値記憶部160は、Webメッセージ、アプリケーションメッセージ、DBメッセージ間の時刻情報の補正値を記憶する。例えば補正値記憶部160は、Webメッセージとアプリケーションメッセージとの間の補正値、およびアプリケーションメッセージとDBメッセージとの間の補正値とを記憶する。
トランザクション分析部170は、補正値記憶部160に格納された補正値に従って各メッセージに付与されたタイムスタンプの時刻を補正し、補正後の時刻に従ってメッセージを時系列に並べる。そしてトランザクション分析部170は、時系列に並べられたメッセージに基づいて、同一トランザクションで送信されたメッセージを関連付ける。そして関連付けられたメッセージの情報に基づいて、トランザクションの各サーバでの処理時間などを分析する。なお、メッセージに基づくトランザクションの分析技術は、例えば、前述の「特許文献1」に示す特開2006−011683号公報に開示されている。
表示部180は、メッセージに付与された時刻の補正値などを表示する。また表示部180は、トランザクション分析部170による分析結果も表示する。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
以上のような機能を有する分析装置100により、Web3階層システムで実行されたトランザクションが再現され、トランザクションの分析が行われる。
なお、メッセージ収集部110は、図1に示した第1の実施の形態における取得手段1cの一例である。補正値決定部150は、図1に示した第1の実施の形態における関連付け手段1dと決定手段1eとを合わせた機能の一例である。Webメッセージ記憶部120は、図1に示した第1の実施の形態における第1の記憶手段1aの一例である。アプリケーションメッセージ記憶部130は、Webメッセージとアプリケーションメッセージとの間の時刻補正の補正値を決定する際には、図1に示した第1の実施の形態における第2の記憶手段1bの一例となる。またアプリケーションメッセージ記憶部130は、アプリケーションメッセージとDBメッセージとの間の時刻補正の補正値を決定する際には、図1に示した第1の実施の形態における第1の記憶手段1aの一例となる。DBメッセージ記憶部140は、図1に示した第1の実施の形態における第2の記憶手段1bの一例である。
次に、トランザクション分析処理の手順について説明する。
図5は、トランザクション分析処理の手順を示すフローチャートである。以下、図5に示す処理をステップ番号に沿って説明する。
[ステップS101]メッセージ収集部110は、アプリケーションサーバ42、および各キャプチャ装置44,45からメッセージ情報を収集する。例えばメッセージ収集部110は、管理者の操作などによるトランザクション分析の指示が入力されると、メッセージ情報を収集する。メッセージ収集部110は、キャプチャ装置44から収集したメッセージ情報をWebメッセージ記憶部120に格納する。またメッセージ収集部110は、アプリケーションサーバ42から収集したメッセージ情報をアプリケーションメッセージ記憶部130に格納する。さらにメッセージ収集部110は、キャプチャ装置45から収集したメッセージ情報をDBメッセージ記憶部140に格納する。
[ステップS102]補正値決定部150は、レイヤごとのメッセージに付与された時刻の補正値を算出する。例えば補正値決定部150は、Webメッセージの時刻を基準として、アプリケーションメッセージの時刻の補正値を算出する。また補正値決定部150は、アプリケーションメッセージの時刻を基準として、DBメッセージの補正値を算出する。補正値決定部150は、算出した補正値を補正値記憶部160に格納する。なお補正値決定処理の詳細は後述する(図9参照)。
[ステップS103]トランザクション分析部170は、補正値記憶部160を参照し、各メッセージの補正値を認識する。そしてトランザクション分析部170は、Webメッセージ記憶部120、アプリケーションメッセージ記憶部130、およびDBメッセージ記憶部140からメッセージを取り出す際に、タイムスタンプの時刻を補正し、トランザクションの分析を行う。
[ステップS104]表示部180は、トランザクション分析の結果を表示する。また表示部180は、補正値決定部150による時刻の補正値および算出根拠を示す情報を表示することもできる。
次に、メッセージ収集部110で収集されたメッセージ情報について、図6〜図8を参照して説明する。
図6は、Webメッセージ記憶部のデータ構造の一例を示す図である。Webメッセージ記憶部120内には、Webメッセージ管理テーブル121が設けられている。Webメッセージ管理テーブル121には、タイムスタンプ、種別、URL(Uniform Resource Locator)、セッションID、およびトランザクションIDの欄が設けられている。Webメッセージ管理テーブル121の各行に、Webメッセージに関する情報が登録されている。
タイムスタンプの欄には、Webメッセージをキャプチャ装置44が取得した時刻(タイムスタンプ)が設定される。このタイムスタンプは、キャプチャ装置44の内部時計に基づいて設定されている。
種別の欄には、Webメッセージの種別が設定される。種別は、例えばリクエストメッセージとレスポンスメッセージとがある。図6の例では、リクエストメッセージの場合、種別の欄に「req」と設定される。またレスポンスメッセージの場合、種別の欄に「res」と設定される。
URLの欄には、リクエストメッセージにおけるアクセス先のURLが設定される。
セッションIDの欄には、端末装置31〜33とWebサーバ41との間の通信のセッションを一意に示すID(セッションID)が設定される。セッションIDが同じリクエストメッセージとレスポンスメッセージとの対(メッセージ対)により、そのリクエストメッセージに応じて実行された処理の開始時刻と終了時刻とが示される。
トランザクションIDの欄には、端末装置からの要求に応じて実行されるトランザクションを一意に識別するID(トランザクションID)が設定される。メッセージ対のレスポンスメッセージに示されるトランザクションIDにより、そのメッセージ対に対応する処理のトランザクションが一意に示される。
図7は、アプリケーションメッセージ記憶部のデータ構造の一例を示す図である。アプリケーションメッセージ記憶部130内には、アプリケーションメッセージ管理テーブル131が設けられている。アプリケーションメッセージ管理テーブル131には、スタート/エンド、トランザクションID、タイムスタンプ、クラス名、およびメソッド名の欄が設けられている。アプリケーションメッセージ管理テーブル131の各行に、アプリケーションメッセージに関する情報が登録されている。
スタート/エンドの欄には、アプリケーションサーバ42において、処理開始の契機となるリクエストメッセージを受信したのか、処理の完了により、処理結果を示すレスポンスメッセージを送信したのかを示す情報が設定される。アプリケーションサーバ42がリクエストメッセージを受信したのであれば、処理の開始(スタート)を示すフラグ「S」が設定される。アプリケーションサーバ42がレスポンスメッセージを送信したのであれば、処理の終了(エンド)を示すフラグ「E」が設定される。
トランザクションIDの欄には、アプリケーションサーバで実行された処理に対応するトランザクションのトランザクションIDが設定される。
タイムスタンプの欄には、アプリケーションサーバ42がメッセージを受信または送信した時刻が設定される。
クラス名の欄には、トランザクションの処理の一環として、アプリケーションサーバ42で実行された処理のクラス名が設定される。
メソッド名の欄には、トランザクションの処理の一環として、アプリケーションサーバ42で実行された処理のメソッド名が設定される。
なお、アプリケーションサーバ42における特定の処理の開始のアプリケーションメッセージと終了のメッセージとには、同じトランザクションID、クラス名、メソッド名が設定される。従ってトランザクションID、クラス名、メソッド名が同じ、スタート(S)のアプリケーションメッセージとエンド(E)のアプリケーションメッセージとのタイムスタンプにより、そのトランザクションIDに対応する処理の実行期間が求められる。
また図7の例では、同じトランザクションIDの複数のスタートのアプリケーションメッセージが存在する。これは、Webサーバ41が、一つのトランザクション中で複数回、アプリケーションサーバ42にリクエストメッセージを送信したためである。
図8は、DBメッセージ記憶部のデータ構造の一例を示す図である。DBメッセージ記憶部140内には、DBメッセージ管理テーブル141が設けられている。DBメッセージ管理テーブル141には、タイムスタンプ、トランザクションID、種別+プロトコル、SQLコマンド/データの欄が設けられている。DBメッセージ管理テーブル141の各行に、DBメッセージに関する情報が登録されている。
タイムスタンプの欄には、キャプチャ装置45によってDBメッセージに付与されたタイムスタンプが設定される。
トランザクションIDの欄には、DBメッセージに付与されたトランザクションIDが設定される。
種別+プロトコルの欄には、DBメッセージがリクエストメッセージなのかレスポンスメッセージなのかの種別と、DBメッセージのプロトコルが設定される。
SQLコマンド/データの欄には、DBメッセージに含まれていたSQLコマンドとデータとが設定される。
図6〜図8に示したレイヤごとのメッセージ情報に基づいて、トランザクション分析が可能となる。第2の実施の形態では、トランザクション分析に先だって、メッセージの時刻の補正値が算出される。以下、補正値の算出処理の手順について詳細に説明する。
図9は、補正値決定処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS111]補正値決定部150は、上下に隣接する2つのレイヤのうち、時刻の補正値を算出していないレイヤの組を選択する。例えば補正値決定部150は、Webレイヤとアプリケーションレイヤの組、またはアプリケーションレイヤとDBレイヤの組を選択する。
[ステップS112]補正値決定部150は、時間ウィンドウの範囲を決定する。時間ウィンドウは、補正値決定のための解析対象とする時間幅である。例えば補正値決定部150は、選択したレイヤのメッセージに付与されたタイムスタンプに示される最古の時刻から最新の時刻までの時間帯内の、所定の時間幅(例えば1分)の時間帯を、時間ウィンドウとする。
[ステップS113]補正値決定部150は、選択した2つのレイヤのうちの上位レイヤについて、時間ウィンドウ内の時刻情報を有し、かつトランザクションIDを有するメッセージを選択する。そして補正値決定部150は、選択したメッセージに関連する処理の、開始を示すメッセージと終了を示すメッセージとを関連付ける。関連付けられた2つのメッセージを、メッセージ対とする。
例えば図6に示したWebレイヤのメッセージであれば、種別「リクエスト(req)」のメッセージが処理の開始を示し、種別「レスポンス(res)」のメッセージが処理の終了を示す。また同一のセッションIDが付与されたメッセージが、同じ処理に関するメッセージである。
また図7に示したアプリケーションレイヤのメッセージであれば、スタート(S)のフラグが設定されたメッセージが、処理の開始を示し、エンド(E)のフラグが設定されたメッセージが、処理の終了を示す。アプリケーションレイヤのメッセージの場合、トランザクションID、クラス名、およびメソッド名が同一の、開始と終了とのメッセージ同士が関連付けられる。
関連付けられた開始と終了との各メッセージにタイムスタンプより、それらのメッセージに対応する処理の開始時刻から終了時刻までの時間帯が判別できる。
[ステップS114]補正値決定部150は、選択した2つのレイヤのうちの下位レイヤについて、トランザクションIDが付与されたメッセージを、同じトランザクションに関する上位レイヤのメッセージ対に関連付ける。
[ステップS115]補正値決定部150は、対応付けられた上位レイヤのメッセージ対の開始から終了までの時間帯内に下位レイヤのメッセージの時刻が入る範囲での、下位のメッセージの時刻の適合時間幅を求める。この処理は、時間ウィンドウ内のトランザクションIDが付与された下位レイヤのメッセージごとに行われる。
なお、下位レイヤのメッセージの時刻が、そのメッセージと同じトランザクションIDを有する上位レイヤのメッセージ対の開始から終了の時間帯内に納まることを、トランザクションIDが適合すると呼ぶこととする。
[ステップS116]補正値決定部150は、適合率を調査する補正値候補の最小値と最大値とを求める。適合率は、時刻を補正した際に、下位レイヤのトランザクションIDが付与されたメッセージのうち、補正後の時刻が、上位レイヤの同一トランザクションIDの処理の実行期間内に含まれるメッセージの割合である。
調査する補正値候補の最小値は、下位レイヤのメッセージごとの適合時間幅のうちの最小値である。調査する補正値候補の最大値は、下位レイヤのメッセージごとの適合時間幅のうちの最大値である。例えば、下位レイヤの3つのメッセージそれぞれの適合時間幅が、「+0.05〜+0.15」、「−0.01〜+0.09」、「+0.07〜+0.16」であるものとする。この場合、最小値は、2つめの時間幅内の「−0.01」であり、最大値は3つめの時間幅内の「0.16」である。得られた最小値から最大値の範囲「−0.01〜+0.16」が、適合率を調査する範囲となる。適合率は、トランザクションIDが付与された下位レイヤのメッセージのうち、トランザクションIDが適合するメッセージの割合である。
[ステップS117]補正値決定部150は、ステップS116で得られた最小値から最大値までの時刻の補正幅の範囲で、適合率が最も高くなる補正値候補を、補正値に決定する。例えば補正値決定部150は、最小値から最大値までの時刻の補正幅の範囲で、所定値(例えば0.01秒)刻みの値を、補正値候補とする。そして補正値決定部150は、補正値候補ごとに、その補正値候補を適合時間幅内に含む下位レイヤのメッセージの割合を求め、適合率とする。そして補正値決定部150は、適合率が最も高い補正値候補を、補正値に決定する。補正値決定部150は、決定した補正値を、上位レイヤと下位レイヤとの組に対応付けて、補正値記憶部160に格納する。
[ステップS118]補正値決定部150は、上下に隣接する2つのレイヤの組うち、補正値の決定処理が未処理のレイヤの組があるか否かを判断する。補正値決定部150は、補正値を決定していないレイヤの組があれば、処理をステップS111に進める。また補正値決定部150は、上下に隣接する2つのレイヤの組のすべてについて補正値を決定した場合、補正値決定処理を終了し、図5のステップS103に処理を進める。
以上のような処理により、上下に隣接するレイヤ間の補正値が決定される。以下、アプリケーションサーバ42で行われた処理(アプリケーションレイヤ)を上位レイヤとし、DBサーバ43で行われた処理(DBレイヤ)を下位レイヤとする場合の補正値の決定例について説明する。
図10は、分析装置で検出されたメッセージの一例を示す図である。図10には、Webサーバ41とアプリケーションサーバ42との間で通信されたメッセージ51〜56と、アプリケーションサーバ42とDBサーバ43との間で通信されたメッセージ61〜66とが時系列で示されている。トランザクションIDを含むメッセージの上には、トランザクションIDが示されている。以下、Webサーバ41とアプリケーションサーバ42との間で通信されたメッセージ51〜56を時系列で並べた情報を、アプリケーションレイヤストリームとする。またアプリケーションサーバ42とDBサーバ43との間で通信されたメッセージ61〜66を時系列で並べた情報を、DBレイヤストリームとする。
アプリケーションレイヤストリームに含まれるメッセージ51〜56は、アプリケーションサーバ42から収集した情報に基づいて再現したものである。アプリケーションレイヤストリームに含まれるメッセージ51〜56の左には、そのメッセージに付与されたタイムスタンプの時刻(秒単位)が示されている。アプリケーションレイヤストリームに含まれるメッセージ51〜56に示された時刻は、メッセージ検出時のアプリケーションサーバ42の内部時計の時刻である。
DBレイヤストリームに含まれるメッセージ61〜66は、キャプチャ装置45から収集した情報に基づいて再現されたものである。DBレイヤストリームに含まれるメッセージ61〜66の右には、そのメッセージに付与されたタイムスタンプの時刻(秒単位)が示されている。DBレイヤストリームに含まれるメッセージ61〜66に示された時刻は、メッセージ検出時のキャプチャ装置45の内部時計の時刻である。
図10に示す各レイヤのストリームに基づいて、補正値決定部150により、上位レイヤであるアプリケーションレイヤにおける同一トランザクションIDを有する開始と終了との各メッセージが対応付けられる。例えば、時刻「3.10」のリクエストのメッセージ51と、時刻「3.20」のレスポンスのメッセージ52とが対応付けられる。
さらに補正値決定部150により、下位レイヤであるDBレイヤストリームにおけるトランザクションIDが付与されたメッセージが、アプリケーションレイヤストリームにおける同じトランザクションIDのメッセージに関連付けられる。例えば、DBレイヤストリームにおける時刻「3.05」のリクエストのメッセージ61が、アプリケーションレイヤストリームにおけるメッセージ51,52に関連付けられる。
そして関連付けられた異なるレイヤのメッセージに基づいて、下位レイヤのメッセージの時刻が、同じトランザクションIDの上位レイヤのメッセージの開始から終了までの時間に入るようにするための、適合時間幅が求められる。求められた適合時間幅は、例えば、補正値決定部150によってRAM102内に一時的に格納される。
図11は、適合時間幅情報の一例を示す図である。適合時間幅情報151では、アプリケーションレイヤのメッセージ対と同じ行に、そのメッセージ対に関連付けられたDBレイヤのメッセージが示されている。アプリケーションレイヤのメッセージ対は、開始のメッセージに付与された時刻、終了のメッセージに付与された時刻、およびそれらのメッセージのトランザクションIDで表されている。DBレイヤのメッセージは、そのメッセージに付与された時刻、およびそのメッセージのトランザクションIDで示されている。図11に示すように、アプリケーションレイヤにおける開始・終了のメッセージ対に対して、そのメッセージ対と同じトランザクションIDを有するDBレイヤのメッセージが関連付けられている。さらに適合時間幅情報151には、DBレイヤのメッセージに対応付けて、そのメッセージの適合時間幅が設定されている。
例えば図11に示すトランザクションID「tid1」によって関連付けられた各レイヤのメッセージに着目する。この例では、アプリケーションレイヤのメッセージ対の開始−終了時刻が「3.10〜3.20(秒)」である。またそのメッセージ対に関連付けられたDBレイヤのメッセージに付与された時刻が「3.05(秒)」である。この場合、適合時間幅は、「+0.05〜+0.15(秒)」となる。すなわち、この時間幅内であれば、下位レイヤのメッセージの時刻を変動させても、変動後の時刻が上位レイヤのメッセージ対の開始−終了の時間帯内に収まる。
次にトランザクションID「tid2」によって関連付けられた各レイヤのメッセージに着目する。この例では、アプリケーションレイヤのメッセージ対の開始−終了時刻が「3.30〜3.40(秒)」である。またそのメッセージ対に関連付けられたDBレイヤのメッセージに付与された時刻が「3.31(秒)」である。この場合、適合時間幅は、「−0.01〜+0.09(秒)」となる。
次にトランザクションID「tid3」によって関連付けられた各レイヤのメッセージに着目する。この例では、アプリケーションレイヤのメッセージ対の開始−終了時刻が「3.50〜3.59(秒)」である。またそのメッセージ対に関連付けられたDBレイヤのメッセージに付与された時刻が「3.43(秒)」である。この場合、適合時間幅は、「+0.07〜+0.16(秒)」となる。
このような場合、適合率調査の最小値は、トランザクションID「tid2」の適合時間幅の最小値「−0.01」となる。適合率調査の最大値は、トランザクションID「tid3」の適合時間幅の最値「+0.16」となる。
そこで、補正値決定部150は、適合率調査の最小値から最大値までの時間幅を、所定間隔で刻んだ補正値候補ごとに、トランザクションIDの適合率を計算する。補正値候補ごとの適合率調査結果は、例えばRAM102内に一時的に格納される。
図12は、適合率調査結果の一例を示す図である。適合率調査結果152には、補正値候補に対応付けて、適合率と、トランザクションIDの適合の有無を示すフラグとが設定されている。トランザクションIDの適合の有無を示すフラグは、トランザクションIDが割り当てられた列に、そのトランザクションIDが適合する補正値候補に対応付けて、「1」が設定される。図12の例では、0.01秒間隔の補正値候補ごとに適合率が求められている。
例えば適合率調査の最小値の補正値候補「−0.01」を補正値とした場合の適合率について説明する。この場合、DBレイヤのトランザクションIDが付与されたメッセージ61,63,65(図10参照)のうち、適合時間幅に「−0.01」を含むのは、トランザクションID「tid2」のメッセージ63のみである。すなわち3つのメッセージ61,63,65のうち1つのメッセージ63のみトランザクションIDが適合する。その結果、補正値候補「−0.01」の場合の適合率は、1/3(33.3%)となる。
また、例えばほぼ中間の補正値候補「0.08」を補正値とした場合、DBレイヤのトランザクションIDが付与されたメッセージ61,63,65のすべてが、適合時間幅に「0.08」を含む。その結果、補正値候補「0.08」の場合の適合率は、3/3(100%)となる。
同様に補正値候補「0.10」を補正値とした場合の適合率は「66.7%」であり、補正値候補「0.16」を補正値とした場合の適合率は「33.3%」である。
図12に示したように、最も高い適合率は100%である。また適合率100%となる補正値候補は「0.07〜0.09」の範囲である。この範囲内であれば、どの補正値候補をメッセージの時刻の補正に利用する補正値に決定してもよい。例えば適合率100%となる補正値候補の範囲の中間点の「0.08」を補正値としてもよい。また、例えば経験則(ヒューリスティック)により範囲の先頭付近が適切である場合が多いと分かっていれば、適合率が最大となる範囲の先頭の補正値候補「0.07」をメッセージの時刻の補正に利用する補正値に決定してもよい。
時刻補正に利用する補正値が決定されると、その補正値が補正値記憶部160に格納される。
図13は、補正値記憶部のデータ構造の一例を示す図である。図13の例では、補正値記憶部160に補正値管理テーブル161が格納されている。補正値管理テーブル161には、上位レイヤ、下位レイヤ、および補正値の欄が設けられている。
上位レイヤの欄には、補正値決定の対象となる上下に隣接するレイヤのうちの上位のレイヤの名称が設定される。
下位レイヤの欄には、補正値決定の対象となる上下に隣接するレイヤのうちの下位のレイヤの名称が設定される。
補正値の欄には、上位レイヤと下位レイヤとで示されるレイヤの一方のメッセージの時刻を補正するための補正値が設定される。例えば、下位レイヤのメッセージの時刻を補正する補正値が設定される。
図13の例では、Webレイヤとアプリケーションレイヤとの間の補正値は「0.03」である。またアプリケーションレイヤとDBレイヤとの間の補正値は「0.07」である。
トランザクション分析部170は、収集したメッセージに基づいてトランザクションの分析を行う際に、補正値決定部150で決定された補正値でメッセージの時刻を補正する。例えばWebメッセージ記憶部120の時刻情報を基準として補正を行う場合、トランザクション分析部170は、Webメッセージ記憶部120からメッセージ情報を取得した際には、時刻情報の補正を行わない。他方トランザクション分析部170は、アプリケーションメッセージ記憶部130からメッセージ情報を取得した際には、取得したメッセージ情報の時刻情報に「0.03(秒)」を加算する。さらにトランザクション分析部170は、DBメッセージ記憶部140からメッセージ情報を取得した際には、取得したメッセージ情報の時刻情報に「0.10(秒)」(0.03+0.07)を加算する。これにより、上位レイヤのメッセージ対の開始から終了までの時間帯内に、そのメッセージ対と同じトランザクションIDの下位レイヤのメッセージが含まれるようになる。
図14は、時刻補正後のメッセージの一例を示す図である。図14の例は、DBレイヤの各メッセージ61〜66の時刻を、補正値「+0.07」で補正したものである。すなわち、各メッセージ61〜66に付与されたタイムスタンプに示された時刻に対して「0.07(秒)」を加算した時刻を、各メッセージの時刻としている。これにより、トランザクションID「tid1」のメッセージ61の時刻は、上位レイヤのトランザクションID「tid1」のメッセージ対(メッセージ51,52)の開始から終了の間に含まれる。同様にトランザクションID「tid2」のメッセージ63の時刻は、上位レイヤのトランザクションID「tid2」のメッセージ対(メッセージ53,54)の開始から終了の間に含まれる。トランザクションID「tid3」のメッセージ65の時刻は、上位レイヤのトランザクションID「tid3」のメッセージ対(メッセージ55,56)の開始から終了の間に含まれる。
このように時刻を補正した後のメッセージ情報に基づいて、トランザクションの分析を行えば、同一トランザクションを構成するメッセージの集合を的確に判断することができる。
なお表示部180は、例えば補正値決定部150から適合率調査結果152(図12参照)を取得し、メッセージの時刻の補正に使用した補正値の決定根拠を表す適合率グラフをモニタ11などに表示することができる。
図15は、適合率グラフの表示例を示す図である。適合率グラフ81では、横軸に補正値候補、縦軸に適合率を採っている。適合率グラフ81は、補正値の変化に応じた適合率の変化を折れ線によって表している。
図15に示した適合率グラフ81を参照すれば、適合率が100%となる補正値候補が、「0.07〜0.09」であることを容易に認識できる。これによりトランザクションの分析を行うユーザは、メッセージの時刻の補正値の決定根拠を知ることができる。
また表示部180は、図14に示したようなメッセージ間の包含関係を示す包含関係図をモニタ11に表示することもできる。
図16は、包含関係図の表示例を示す図である。包含関係図82には、時刻補正前と補正後とのメッセージのストリームが示されている。ユーザは、包含関係図82を参照することで、時刻補正によって、トランザクションIDが付与されている下位レイヤのメッセージの時刻が、同じトランザクションIDの上位レイヤのメッセージ対の開始から終了までの時間帯に包含されたことを確認できる。すなわち、補正値の妥当性を確認することができる。
以上のように、適合率が最大となるように補正値を決定することで、レイヤごとに異なる装置でメッセージにタイムスタンプを付加しても、メッセージに付与された時刻情報のずれを適切に補正できる。また、レイヤごとに同一装置内の異なるプロセスでメッセージにタイムスタンプを付加した場合であっても、プロセス間のタイムスタンプ付加タイミングのずれに基づく時刻情報のずれを適切に補正できる。これにより、例えばトランザクション分析において、トランザクションを正しく再現できるようになる。その結果、トランザクション分析の信頼性が向上する。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、適合率に加え、カバー率を考慮して補正値を決定するものである。カバー率とは、下位レイヤのメッセージのうち、補正後の時刻が、上位レイヤのいずれかのメッセージ対の開始から終了の間の時刻となるメッセージの割合である。カバー率の計算では、トランザクションIDが付与されていないメッセージも判断の対象となる。
なお、第3の実施の形態は、図2〜図4に示した第2の実施の形態のシステムと同様の構成のシステムで実現できる。そこで図2〜図4に示した各要素の符号を用いて、第3の実施の形態における第2の実施の形態との相違点について説明する。
第3の実施の形態では、補正値決定処理が第2の実施の形態と異なる。
図17は、第3の実施の形態の補正値決定処理の手順の一例を示すフローチャートである。なおステップS201〜S206,S211の処理は、それぞれ図9に示した第2の実施の形態の処理のステップS111〜S116,S118と同様である。以下第2の実施の形態と異なる処理についてステップ番号に沿って説明する。
[ステップS207]補正値決定部150は、ステップS206で求めた最小値から最大値までの範囲で、トランザクションIDの適合率が100%となる補正値の範囲を求める。トランザクションIDの適合率が100%となる補正値とは、ステップS205で求めた下位レイヤのすべてのメッセージにおける適合時間幅が重なる範囲である。
[ステップS208]補正値決定部150は、適合率100%となる時間幅がある場合、処理をステップS209に進める。また補正値決定部150は、適合率100%となる時間幅がない場合、処理をステップS210に進める。
[ステップS209]補正値決定部150は、適合率100%となる時間幅があれば、例えばその時間幅内に所定間隔(例えば0.01秒)で設定された補正値ごとにカバー率を計算する。
カバー率は、以下のようにして算出できる。まず、時間ウィンドウ内で下位レイヤのすべてのリクエストメッセージのうち、上位レイヤのいずれかのトランザクション対の開始から終了の時間幅に収まる数をAとする。また時間ウィンドウ内の下位レイヤのリクエストメッセージ数をBとする。このとき、カバー率はA/Bとなる。A/Bの値を100倍すれば、カバー率をパーセンテージで表すことができる。
なおカバー率として、下位レイヤのリクエストメッセージに限定せず、下位レイヤのすべてのメッセージのカバー率を計算してもよい。その場合、時間ウィンドウ内で下位レイヤのすべてのメッセージのうち、上位レイヤのいずれかのトランザクション対の開始から終了の時間幅に収まる数をCとする。また時間ウィンドウ内の下位レイヤのメッセージ数をDとする。このとき、カバー率はC/Dとなる。
補正値決定部150は、適合率が100%の範囲内においてカバー率が最も良い補正値を、メッセージの時刻補正に適用する補正値に決定する。その後、補正値決定部150は、処理をステップS211に進める。
[ステップS210]補正値決定部150は、適合率100%となる時間幅がなければ、適合率調査の最小値から最大値の範囲で、最もトランザクションIDの適合率が高くなる補正値を選択する。その後、補正値決定部150は、処理をステップS211に進める。
このような処理により、適合率とカバー率とに基づいて、メッセージの時刻の補正に適用する補正値を決定することができる。
なお補正値決定部150は、ステップS209,S210で求めた適合率とカバー率との調査結果を、例えばRAM102に格納する。
図18は、適合率/カバー率調査結果の一例を示す図である。適合率/カバー率調査結果153には、補正値候補に対応付けて、適合率、トランザクションIDの適合の有無を示すフラグ、メッセージの被包含を示すフラグ、およびカバー率が設定されている。この適合率/カバー率調査結果153は、図12に示した適合率調査結果152に対し、補正値候補ごとの、メッセージの被包含を示すフラグとカバー率とを追加したものである。
メッセージの被包含を示すフラグは、メッセージの識別子(msg#1〜msg#6)に対応付けて設定されている。当該フラグは、対応する識別子で示されるメッセージの時刻が、上位レイヤのいずれかのメッセージ対の開始から終了までの範囲に含まれる場合に「1」が設定される。
図18に示すような適合率/カバー率調査結果153が得られた場合、補正値候補「0.07〜0.09」の範囲で適合率が100%になっている。そこで、その範囲でのカバー率が調べられる。すると、補正値候補「0.07〜0.08」の範囲におけるカバー率が「4/6=66.7%」、補正値候補「0.09」でのカバー率が100%となっている。そこで補正値決定部150は、下位レイヤのメッセージの時刻の補正値として「0.09」を選択する。
仮にカバー率が100%の範囲に幅がある場合(0.07〜0.09でカバー率100%になる場合など)は、この間のどの値を選んでもよい。中間点の「0.08」を使う事や、ヒューリスティックにより、例えば範囲の先頭付近を選ぶ事が考えられる。
トランザクション分析部170は、収集したメッセージに基づいてトランザクションの分析を行う際に、補正値決定部150で決定された補正値でメッセージの時刻を補正する。これにより、上位レイヤのメッセージ対の開始から終了までの時間帯内に、そのメッセージ対と同じトランザクションIDのメッセージが含まれるようになる。また、下位レイヤのメッセージの時刻は、上位レイヤのいずれかのメッセージ対の開始から終了までの時間帯に含まれるようになる。
図19は、時刻補正後のメッセージの一例を示す図である。図19の例は、DBレイヤの各メッセージ61〜66の時刻を、補正値「+0.09」で補正したものである。すなわち、各メッセージ61〜66に付与されたタイムスタンプに示された時刻に対して「0.09(秒)」を加算した時刻を、各メッセージの時刻としている。これにより、トランザクションIDが付与された下位レイヤのメッセージ61,63,65の時刻は、上位レイヤの同じトランザクションIDのメッセージ対の開始から終了の間に含まれる。
また下位レイヤのすべてのメッセージ61〜66の時刻が、上位レイヤのいずれかのメッセージ対の開始から終了の間に含まれる。
このように時刻を補正した後のメッセージ情報に基づいて、トランザクションの分析を行えば、同一トランザクションを構成するメッセージの集合を的確に判断することができる。
また表示部180は、例えば補正値決定部150から適合率/カバー率調査結果153(図18参照)を取得し、メッセージの時刻の補正に使用した補正値の決定根拠を表す適合率グラフをモニタ11などに表示することができる。
図20は、適合率/カバー率グラフの表示例を示す図である。適合率/カバー率グラフ83では、横軸に補正値候補、縦軸に適合率/カバー率を採っている。適合率/カバー率グラフ83は、補正値の変化に応じた適合率とカバー率との変化を、折れ線によって表している。
図20に示した適合率/カバー率グラフ83を参照すれば、適合率が100%となる補正値が、「0.07〜0.09」であること、およびカバー率が100%となる補正値が「0.09」であることを容易に認識できる。これによりトランザクションの分析を行うユーザは、メッセージの時刻の補正値の決定根拠を知ることができる。
また表示部180は、図19に示したようなメッセージ間の包含関係を示す包含関係図をモニタ11に表示することもできる。
図21は、包含関係図の表示例を示す図である。包含関係図84には、時刻補正前と補正後とのメッセージのストリームが示されている。ユーザは、包含関係図84を参照することで、時刻補正によって、トランザクションIDが付与されている下位レイヤのメッセージの時刻が、同じトランザクションIDの上位レイヤのメッセージ対の開始から終了までの時間帯に包含されたことを確認できる。またユーザは、時刻補正によって、下位レイヤのメッセージの時刻が、上位レイヤのいずれかのメッセージ対の開始から終了までの時間帯に包含されたことを確認できる。
以上のように、適合率が100%の範囲内でカバー率が最大となるように補正値を決定することで、レイヤごとに異なる装置でメッセージにタイムスタンプを付加しても、装置間の時刻のずれを適切に補正できる。また、レイヤごとに同一装置内の異なるプロセスでメッセージにタイムスタンプを付加した場合であっても、プロセス間のタイムスタンプ付加タイミングのずれを適切に補正できる。これにより、例えばトランザクション分析において、トランザクションを正しく再現できるようになる。その結果、トランザクション分析の信頼性が向上する。
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、メッセージを収集する際に、メッセージに付与された時刻情報を補正して、格納するものである。
図22は、第4の実施の形態に係る分析装置の機能の一例を示すブロック図である。なお第4の実施の形態の要素のうち、第2の実施の形態と同様の機能を有する要素については図4に示した第2の実施の形態の要素と同じ符号を付し、説明を省略する。
第4の実施の形態に係る分析装置100aは、メッセージ収集部110aとトランザクション分析部170aとの機能が第2の実施の形態と異なる。メッセージ収集部110aは、キャプチャ装置44,45、およびアプリケーションサーバ42からメッセージ情報を収集した際に、補正値記憶部160に格納されている補正値を参照する。そして、収集したメッセージ情報の時刻情報を、補正値に従って補正して、Webメッセージ記憶部120、アプリケーションメッセージ記憶部130、またはDBメッセージ記憶部140に格納する。
例えば、図13に示したような補正値が補正値記憶部160に格納されており、Webレイヤのメッセージの時刻情報を基準にして、他のレイヤのメッセージ情報の時刻情報を補正する場合を想定する。この場合、Webレイヤのメッセージ情報の時刻情報は補正されず、Webメッセージ記憶部120に格納される。アプリケーションレイヤのメッセージ情報の時刻情報は、「0.03(秒)」加算する補正が行われた後、アプリケーションメッセージ記憶部130に格納される。DBレイヤのメッセージ情報の時刻情報は、「0.10(秒)」(0.03+0.07)加算する補正が行われた後、DBメッセージ記憶部140に格納される。
第4の実施の形態のトランザクション分析部170aは、各メッセージ情報の時刻情報の補正を行わずに、トランザクション分析を実行する。
このように、メッセージ収集段階で時刻情報を補正することで、トランザクション分析の際の処理負荷が軽減される。また、メッセージ情報の時刻情報の補正機能を有していないトランザクション分析用のソフトウェアを用いて、信頼性の高いトランザクション分析を行うことも可能となる。
〔その他の実施の形態〕
第2・第3・第4の実施の形態では、下位レイヤのメッセージの時刻を補正しているが、時刻のずれ量は相対的なものである。そのため上位レイヤのメッセージを補正してもよい。また上位レイヤと下位レイヤとのそれぞれのメッセージの時刻を補正してもよい。
また第2・第3・第4の実施の形態では、適合率を求める際に、下位レイヤのメッセージについては、レスポンスメッセージを考慮していないが、レスポンスメッセージを考慮して適合率を求めることもできる。例えば補正値決定部150は、下位レイヤのトランザクションIDが付与されたリクエストメッセージと、そのリクエストメッセージに対応するレスポンスメッセージとを関連付け、メッセージ対を生成する。補正値決定部150は、このメッセージ対のリクエストメッセージの時刻を、リクエストメッセージに応じた処理の開始時刻とする。また補正値決定部150は、レスポンスメッセージの時刻を、リクエストメッセージに応じた処理の終了時刻とする。補正値決定部150は、下位レイヤのメッセージ対に対応する処理の開始から終了までの実行期間が、同じトランザクションIDの上位レイヤのメッセージ対に対応する処理の開始から終了までの実行期間に包含される補正の範囲を求める。そして補正値決定部150は、求めた補正の範囲を、下位レイヤのメッセージ対の適合時間幅とする。補正値決定部150は、このようにして算出した適合時間幅に基づいて、適合率を計算する。これにより、レスポンスメッセージを考慮に入れた、より正確な適合率を求めることが可能となる。
また第2の実施の形態では、トランザクション分析部170が、分析を行う際に、メッセージ情報の時刻情報を補正値で補正することとしているが、補正値決定部150が、各記憶部内のメッセージ情報の時刻情報を補正値によって予め補正してもよい。これにより、トランザクション分析部170におけるトランザクション分析の際の処理負荷が軽減される。
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1または分析装置100が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。なおプログラムを記録する記録媒体には、一時的な伝搬信号自体は含まれない。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 情報処理装置
1a 第1の記憶手段
1b 第2の記憶手段
1c 取得手段
1d 関連付け手段
1e 決定手段
1f 補正値
2 端末装置
3 第1のサーバ
4 第2のサーバ
5 キャプチャ装置
6 ネットワークタップ

Claims (9)

  1. トランザクションの一部として第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからのトランザクションの一部の実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求先イベント情報を記憶する第2の記憶手段を参照し、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とを関連付ける関連付け手段と、
    前記第1のサーバで実行された処理の開始を示す要求元イベント情報と該処理の終了を示す要求元イベント情報とのイベント情報対を生成し、該イベント情報対を構成する各要求元イベント情報の時刻情報に基づき、該処理の実行期間を判断し、該イベント情報対を構成する要求元イベント情報と同一のトランザクションの識別子を含む要求先イベント情報の時刻情報を補正した場合に、補正後の時刻を該実行期間内とすることができる適合時間幅を決定し、該適合時間幅内の時間を、前記第1の記憶手段に格納された要求元イベント情報の時刻情報と、前記第2の記憶手段に格納された要求先イベント情報の時刻情報との間の時刻のずれを補正する補正値決定する決定手段と、
    を有する情報処理装置。
  2. 前記決定手段は、
    トランザクションの識別子を含む要求先イベント情報ごとに適合時間幅を計算し、
    要求先イベント情報それぞれの適合時間幅の重複範囲内の時間を、前記補正値に決定する、
    ことを特徴とする請求項記載の情報処理装置。
  3. 前記決定手段は、
    トランザクションの識別子を含む要求先イベント情報ごとに適合時間幅を計算し、
    時刻の補正量を示す複数の補正値候補それぞれについて、該補正値候補に示される補正量を適合時間幅に含む要求先イベント情報の割合を計算し、該割合が最も大きくなる補正値候補を前記補正値に決定する、
    ことを特徴とする請求項記載の情報処理装置。
  4. 前記第2の記憶手段には、さらに、トランザクションの一部として前記第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含み、該トランザクションの識別子を含まない、トランザクション不明イベント情報が格納されており、
    前記決定手段は、
    補正値候補を適合時間幅に含む要求先イベントの割合が最も大きくなる補正値候補が複数ある場合、該割合が最も大きくなる複数の補正値候補それぞれについて、該補正値候補に示される補正量だけ時刻のずれを補正した場合に、補正後の時刻情報が、前記第1のサーバで実行された処理の実行期間のいずれかに含まれる、要求先イベント情報およびトランザクション不明イベント情報の割合を計算し、該割合が最も大きくなる補正値候補を前記補正値に決定する、
    ことを特徴とする請求項記載の情報処理装置。
  5. 前記第1のサーバまたは前記第2のサーバで実行された処理に関するイベントは、処理を要求するリクエストメッセージの発生、および該リクエストメッセージに対するレスポンスメッセージの発生である請求項1乃至のいずれかに記載の情報処理装置。
  6. さらに、
    前記第1の記憶手段または第2の記憶手段から、前記補正値で時刻情報を補正しながら、要求元イベント情報または要求先イベント情報を取得して分析を行う分析手段を有することを特徴とする請求項1乃至のいずれかに記載の情報処理装置。
  7. さらに、
    要求元イベント情報および要求先イベント情報を取得し、要求元イベント情報または要求先イベント情報の時刻情報を前記補正値で補正しながら前記第1の記憶手段または第2の記憶手段に格納する取得手段を有することを特徴とする請求項1乃至のいずれかに記載の情報処理装置。
  8. コンピュータが、
    トランザクションの一部として第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからのトランザクションの一部の実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求先イベント情報を記憶する第2の記憶手段を参照し、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とを関連付け、
    前記第1のサーバで実行された処理の開始を示す要求元イベント情報と該処理の終了を示す要求元イベント情報とのイベント情報対を生成し、該イベント情報対を構成する各要求元イベント情報の時刻情報に基づき、該処理の実行期間を判断し、
    該イベント情報対を構成する要求元イベント情報と同一のトランザクションの識別子を含む要求先イベント情報の時刻情報を補正した場合に、補正後の時刻を該実行期間内とすることができる適合時間幅を決定し、
    該適合時間幅内の時間を、前記第1の記憶手段に格納された要求元イベント情報の時刻情報と、前記第2の記憶手段に格納された要求先イベント情報の時刻情報との間の時刻のずれを補正する補正値決定する、
    ことを特徴とする時刻補正値決定方法。
  9. トランザクションの一部として第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからのトランザクションの一部の実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報と、該トランザクションの識別子とを含む要求先イベント情報を記憶する第2の記憶手段を参照し、同一のトランザクションの識別子を含む要求元イベント情報と要求先イベント情報とを関連付け、
    前記第1のサーバで実行された処理の開始を示す要求元イベント情報と該処理の終了を示す要求元イベント情報とのイベント情報対を生成し、該イベント情報対を構成する各要求元イベント情報の時刻情報に基づき、該処理の実行期間を判断し、
    該イベント情報対を構成する要求元イベント情報と同一のトランザクションの識別子を含む要求先イベント情報の時刻情報を補正した場合に、補正後の時刻を該実行期間内とすることができる適合時間幅を決定し、
    該適合時間幅内の時間を、前記第1の記憶手段に格納された要求元イベント情報の時刻情報と、前記第2の記憶手段に格納された要求先イベント情報の時刻情報との間の時刻のずれを補正する補正値決定する、
    処理をコンピュータに実行させるプログラム。
JP2013539436A 2011-10-18 2011-10-18 情報処理装置、時刻補正値決定方法、およびプログラム Expired - Fee Related JP5751336B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073923 WO2013057790A1 (ja) 2011-10-18 2011-10-18 情報処理装置、時刻補正値決定方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013057790A1 JPWO2013057790A1 (ja) 2015-04-02
JP5751336B2 true JP5751336B2 (ja) 2015-07-22

Family

ID=48140467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013539436A Expired - Fee Related JP5751336B2 (ja) 2011-10-18 2011-10-18 情報処理装置、時刻補正値決定方法、およびプログラム

Country Status (3)

Country Link
US (1) US9582550B2 (ja)
JP (1) JP5751336B2 (ja)
WO (1) WO2013057790A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676883B2 (en) 2011-05-27 2014-03-18 International Business Machines Corporation Event management in a distributed processing system
US9213621B2 (en) * 2011-05-27 2015-12-15 International Business Machines Corporation Administering event pools for relevant event analysis in a distributed processing system
US9419650B2 (en) 2011-06-22 2016-08-16 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US20130097272A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Prioritized Alert Delivery In A Distributed Processing System
US9361184B2 (en) 2013-05-09 2016-06-07 International Business Machines Corporation Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system
US9658902B2 (en) 2013-08-22 2017-05-23 Globalfoundries Inc. Adaptive clock throttling for event processing
US9256482B2 (en) 2013-08-23 2016-02-09 International Business Machines Corporation Determining whether to send an alert in a distributed processing system
US9602337B2 (en) 2013-09-11 2017-03-21 International Business Machines Corporation Event and alert analysis in a distributed processing system
US9418124B2 (en) 2013-12-16 2016-08-16 International Business Machines Corporation System and method of integrating time-aware data from multiple sources
US9389943B2 (en) 2014-01-07 2016-07-12 International Business Machines Corporation Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system
US20160063070A1 (en) * 2014-08-26 2016-03-03 Schlumberger Technology Corporation Project time comparison via search indexes
US10769104B2 (en) * 2014-12-12 2020-09-08 Aveva Software, Llc Block data storage system in an event historian
US10579601B2 (en) 2014-12-12 2020-03-03 Aveva Software, Llc Data dictionary system in an event historian
US11321646B2 (en) * 2016-07-13 2022-05-03 International Business Machines Corporation Transparent scalable access to active and completed process and task information
US10846192B2 (en) * 2018-10-31 2020-11-24 Cisco Technology, Inc. Transaction-based event tracking mechanism
US11803530B2 (en) * 2019-12-18 2023-10-31 Schlumberger Technology Corporation Converting uni-temporal data to cloud based multi-temporal data
US11334371B1 (en) * 2021-10-01 2022-05-17 Split Software, Inc. Systems and methods for multiple comparison correction during configurable application feature experiments

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2724883B2 (ja) 1989-08-21 1998-03-09 株式会社日立製作所 分散システムの時刻一致化方式及び列車運行管理システム
US5386542A (en) 1991-10-31 1995-01-31 International Business Machines Corporation System for generating a time reference value in the MAC layer of an ISO/OSI communications model among a plurality of nodes
US7106843B1 (en) * 1994-04-19 2006-09-12 T-Netix, Inc. Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
US6085200A (en) * 1997-12-23 2000-07-04 Unisys Corporation System and method for arranging database restoration data for efficient data recovery in transaction processing systems
US6865686B1 (en) 1998-03-27 2005-03-08 Siemens Aktiengesellschaft Method for synchronizing a local time base on a central time base and device for implementing said method with preferred applications
JP4098435B2 (ja) * 1999-03-12 2008-06-11 富士通株式会社 情報管理装置及びデータ生成方法並びに情報管理プログラムを格納したコンピュータ読取り可能な記録媒体
US7240336B1 (en) * 2000-07-25 2007-07-03 Sci Systems, Inc. Interpretive simulation of software download process
US7171331B2 (en) * 2001-12-17 2007-01-30 Phatrat Technology, Llc Shoes employing monitoring devices, and associated methods
AU2003247394A1 (en) * 2002-05-21 2003-12-12 Tekelec Methods and systems for performing a sales transaction using a mobile communications device
EP1577783A4 (en) * 2002-12-26 2008-04-16 Fujitsu Ltd OPERATIONAL MANAGEMENT PROCESS AND OPERATION MANAGEMENT SERVER
JP4347082B2 (ja) 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
GB0409364D0 (en) * 2004-04-27 2004-06-02 Nokia Corp Processing data in a comunication system
US9219729B2 (en) * 2004-05-19 2015-12-22 Philip Drope Multimedia network system with content importation, content exportation, and integrated content management
JP4610240B2 (ja) 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
JP4137904B2 (ja) * 2005-03-25 2008-08-20 富士通株式会社 通信制御装置
JP4074296B2 (ja) * 2005-03-25 2008-04-09 株式会社東芝 スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
WO2007022560A1 (en) * 2005-08-23 2007-03-01 Position Networks Pty Ltd A stream-oriented database machine and method
US7805416B1 (en) * 2005-09-30 2010-09-28 Emc Corporation File system query and method of use
JP4699516B2 (ja) * 2006-03-28 2011-06-15 富士通株式会社 名前空間複製プログラム、名前空間複製装置、名前空間複製方法
KR100807735B1 (ko) * 2006-04-10 2008-02-28 삼성전자주식회사 디지털 멀티미디어 방송 단말기에서 방송 데이터 처리 장치 및 방법
US8135633B1 (en) * 2006-06-05 2012-03-13 Intuit Inc. System and method for change management and transaction versioning
US20070294224A1 (en) * 2006-06-16 2007-12-20 Jean-Jacques Heler Tracking discrete elements of distributed transactions
US7882076B2 (en) * 2006-12-14 2011-02-01 Lam Research Corporation Primary server architectural networking arrangement and methods therefor
JP4804408B2 (ja) * 2007-04-17 2011-11-02 株式会社日立製作所 ログ解析方法及び装置
US20080270594A1 (en) * 2007-04-27 2008-10-30 Mcjilton Charles M Method and system of separate file storage locations as unified file storage
KR100913196B1 (ko) * 2007-12-11 2009-08-24 한국전자통신연구원 파일 갱신 시스템 및 방법
US8429453B2 (en) * 2009-07-16 2013-04-23 Hitachi, Ltd. Management system for outputting information denoting recovery method corresponding to root cause of failure
US9323758B1 (en) * 2009-12-22 2016-04-26 Emc Corporation Efficient migration of replicated files from a file server having a file de-duplication facility
JP5024394B2 (ja) 2010-01-26 2012-09-12 富士通株式会社 システム可視化プログラム、方法及び装置
JP5482243B2 (ja) * 2010-01-29 2014-05-07 富士通株式会社 系列生成プログラム、系列生成方法、および系列生成装置
WO2012082151A2 (en) * 2010-12-13 2012-06-21 Telecommunication Systems, Inc. Location services gateway server
US8612390B2 (en) * 2011-05-02 2013-12-17 Microsoft Corporation Lightweight caching of transaction log for sequential access
WO2013016013A1 (en) * 2011-07-27 2013-01-31 Cleversafe, Inc. Generating dispersed storage network event records

Also Published As

Publication number Publication date
JPWO2013057790A1 (ja) 2015-04-02
WO2013057790A1 (ja) 2013-04-25
US9582550B2 (en) 2017-02-28
US20140214896A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
JP5751336B2 (ja) 情報処理装置、時刻補正値決定方法、およびプログラム
JP5842930B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US9195563B2 (en) Use of metrics selected based on lag correlation to provide leading indicators of service performance degradation
EP2590081B1 (en) Method, computer program, and information processing apparatus for analyzing performance of computer system
US8719452B1 (en) Correction of client-assigned timestamps
JP5211987B2 (ja) 端末装置及びその時刻調整方法
US8122274B2 (en) Method, system and computer program product for certifying a timestamp of a data processing system
US10592327B2 (en) Apparatus, system, and method for analyzing logs
US10411969B2 (en) Backend resource costs for online service offerings
US20110154340A1 (en) Recording medium storing operation management program, operation management apparatus and method
US10057155B2 (en) Method and apparatus for determining automatic scanning action
US20190050317A1 (en) Systems and methods for determining event processing delays
US8732323B2 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
JP5093099B2 (ja) 資源情報管理装置、システム、方法、及びプログラム
JP5707263B2 (ja) 障害発生箇所診断システムおよび障害発生箇所診断方法
JP5365404B2 (ja) 情報処理装置、ソフトウェア更新管理サーバおよびソフトウェア更新管理プログラム
JP2011159015A (ja) 検索支援プログラム、検索支援装置および検索支援方法
JP5974905B2 (ja) 応答時間監視プログラム、方法および応答時間監視装置
KR101624898B1 (ko) 데이터 서비스 성능 통합 관리방법
US12019467B2 (en) Estimation of event generation times to synchronize recordation data
US20240028924A1 (en) Systems and methods for predicting performance metrics using cohorts
WO2023154059A1 (en) Estimation of event generation times to synchronize recordation data
JP2008204364A (ja) コンテンツ配信システム及び方法並びにプログラム
JP2012213044A (ja) パケット管理装置およびパケット管理方法
JP2009087174A (ja) リソース操作履歴管理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150504

R150 Certificate of patent or registration of utility model

Ref document number: 5751336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees