"第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからの実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求先イベント情報を記憶する第2の記憶手段を参照し、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とを比較し、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲を判断する判断手段と、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合を生成する生成手段と、を有する情報処理装置。さらに、生成された集合に属する要求先イベント情報それぞれの補正可能な値の範囲に共通の値で、前記第2の記憶手段内における、該集合に属する要求先イベント情報それぞれの時刻情報を補正する補正手段を有する請求の範囲第1項記載の情報処理装置。前記第1の記憶手段内の要求元イベント情報の少なくとも一部は、前記第1のサーバで実行された処理を包含するトランザクションの識別子を含み、前記第2の記憶手段内の要求先イベント情報の少なくとも一部は、前記第2のサーバで実行された処理を包含するトランザクションの識別子を含み、前記判断手段は、同一処理の開始と終了とのそれぞれを示す要求元イベント情報を関連づけた要求元イベント情報対に基づいて、前記第1のサーバで実行された該処理の実行期間を判断し、同一処理の開始と終了とのそれぞれを示す要求先イベント情報を関連づけた要求先イベント情報対に基づいて、前記第2のサーバで実行された該処理の実行期間を判断し、要求先イベント情報対と同じトランザクションの識別子を有する要求元イベント情報対に基づいて判断された実行期間内に、該要求先イベント情報対に対応する処理の補正後の実行期間を包含させることができる補正値の範囲を、該要求先イベント情報対の時刻情報を補正可能な値の範囲とする請求の範囲第1項または第2項のいずれかに記載の情報処理装置。前記判断手段は、複数の要求元イベント情報対それぞれに基づいて判断された複数の実行期間のいずれかに、要求先イベント情報対に対応する処理の補正後の実行期間を包含させることができる補正値の範囲を、該要求先イベント情報対の時刻情報を補正可能な値の範囲とする請求の範囲第1項乃至第3項のいずれかに記載の情報処理装置。前記第1の記憶手段内の要求元イベント情報の少なくとも一部は、トランザクションの一部として前記第1のサーバで実行された処理に関するイベントの情報であり、該トランザクションの識別子を含み、前記第2の記憶手段内の要求先イベント情報の少なくとも一部は、トランザクションの一部として前記第2のサーバで実行された処理に関するイベントの情報であり、該トランザクションの識別子を含み、前記判断手段は、処理の開始と終了とのそれぞれを示す要求元イベント情報を関連づけた要求元イベント情報対に基づいて、前記第1のサーバで実行された該処理の実行期間を判断し、処理の開始と終了とのそれぞれを示す要求先イベント情報を関連づけた要求先イベント情報対に基づいて、前記第2のサーバで実行された該処理の実行期間を判断し、トランザクションの識別子を含む要求先イベント情報対に関しては、該要求先イベント情報対と同じトランザクションの識別子を有する要求元イベント情報対に基づいて判断された実行期間内に、該要求先イベント情報対に対応する処理の補正後の実行期間を包含させることができる補正値の範囲を、該要求先イベント情報対の時刻情報を補正可能な値の範囲とし、トランザクションの識別子を含まない要求先イベント情報対に関しては、複数の要求元イベント情報対それぞれに基づいて判断された複数の実行期間のうち、トランザクションの識別子を含む要求先イベント情報対に基づいて判断された補正可能な値の範囲に包含される実行期間のいずれかに、該要求先イベント情報対の補正後の実行期間を包含させることができる補正値の範囲を、該要求先イベント情報対の時刻情報を補正可能な値の範囲とする請求の範囲第1項乃至第4項のいずれかに記載の情報処理装置。前記判断手段は、複数の要求先イベント情報対のうち、最初に、トランザクションの識別子を含む要求先イベント情報対の時刻情報を補正可能な値の範囲を判断することを特徴とする請求の範囲第5項記載の情報処理装置。コンピュータが、第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからの実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求先イベント情報を記憶する第2の記憶手段を参照し、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とを比較し、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲を判断し、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合を生成する、ことを特徴とする情報処理方法。コンピュータに、第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからの実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求先イベント情報を記憶する第2の記憶手段を参照し、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とを比較し、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲を判断し、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合を生成する、処理を実行させるプログラム。しかし、従来の時刻補正方法では、求めだした時刻の補正値を、どの程度の範囲の情報の時刻補正に適用可能なのかを明確に判断していないため、適切な補正値で補正できない場合がある。例えば、単位時間当たりの時刻のずれが一様でない場合、過大な期間の情報について、共通の補正値で補正しようとしても、該当期間内のすべての情報の間の整合性を保てる時刻の補正値が見つけ出せない可能性がある。このように、求めだした時刻の補正値の適用範囲が不正確であれば、適切な補正値を得ることができず、時刻補正を適切に行うことができない場合がある。1つの側面では、本発明は、適切な時刻補正を可能とする情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。1つの案では、判断手段、および生成手段を有する情報処理装置が提供される。判断手段は、第1のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求元イベント情報を記憶する第1の記憶手段、および前記第1のサーバからの実行要求に応じて第2のサーバで実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求先イベント情報を記憶する第2の記憶手段を参照し、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とを比較し、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲を判断する。生成手段は、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合を生成する。1態様によれば、適切な時刻補正が可能となる。本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。第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、および補正手段1fを有する。第1の記憶手段1aは、トランザクションの一部として第1のサーバ3で実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求元イベント情報を記憶する。例えば第1の記憶手段1a内の要求元イベント情報の少なくとも一部は、第1のサーバ3で実行された処理を包含するトランザクションの識別子を含む。第2の記憶手段1bは、第1のサーバ3からのトランザクションの一部の実行要求に応じて第2のサーバ4で実行された処理に関するイベントの発生時刻を示す時刻情報を含む要求先イベント情報を記憶する。例えば第2の記憶手段1b内の要求先イベント情報の少なくとも一部は、第2のサーバ4で実行された処理を包含するトランザクションの識別子を含む。取得手段1cは、キャプチャ装置5から第1のサーバ3で実行された処理に関する要求元イベント情報を取得し、第1の記憶手段1aに格納する。また取得手段1cは、第2のサーバ4から、第2のサーバ4で実行された処理に関する要求先イベント情報を取得し、第2の記憶手段1bに格納する。判断手段1dは、第1の記憶手段1aと第2の記憶手段1bとを参照し、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とを比較する。そして判断手段1dは、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲を判断する。例えば判断手段1dは、同一処理の開始と終了とのそれぞれを示す要求元イベント情報を関連づけた要求元イベント情報対に基づいて、第1のサーバ3で実行された該処理の実行期間を判断する。また判断手段1dは、同一処理の開始と終了とのそれぞれを示す要求先イベント情報を関連づけた要求先イベント情報対に基づいて、第2のサーバ4で実行された処理の実行期間を判断する。さらに判断手段1dは、要求先イベント情報対と同じトランザクションの識別子を有する要求元イベント情報対に基づいて判断された実行期間内に、要求先イベント情報対に対応する処理の補正後の実行期間を包含させることができる補正値の範囲を求める。そして判断手段1dは、求めた補正値の範囲を、要求先イベント情報対の時刻情報を補正可能な値の範囲とする。生成手段1eは、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合を生成する。補正手段1fは、生成された集合に属する要求先イベント情報それぞれの補正可能な値の範囲に共通の補正値で、第2の記憶手段1b内における、該集合に属する要求先イベント情報それぞれの時刻情報を補正する。このようなシステムによれば、端末装置2からの処理要求に応じて、第1のサーバ3と第2のサーバ4とでトランザクション処理が実行される。第1のサーバ3で実行された処理に関する要求元イベント情報は、キャプチャ装置5で記録される。第2のサーバ4で実行された処理に関する要求先イベント情報は、第2のサーバ4で記録される。このとき、キャプチャ装置5と第2のサーバ4との間に、内部時計にずれがあれば、それぞれで記録したイベント情報に付与される時刻情報にもずれが生じる。そこで、情報処理装置1によって、時刻ずれの補正値と、その補正値の適用範囲とが判断される。例えば情報処理装置1の取得手段1cにより、キャプチャ装置5から要求元イベント情報が取得され、第1の記憶手段1aに格納される。また取得手段1cにより、第2のサーバ4から要求先イベント情報が取得され第2の記憶手段1bに格納される。次に判断手段1dにより、第1の記憶手段1aと第2の記憶手段1bとが参照され、要求先イベント情報の時刻情報と要求元イベント情報の時刻情報とが比較される。そして判断手段1dにより、要求先イベント情報それぞれについて、時刻情報を補正可能な値の範囲が判断される。図1の例では、第1のサーバ3と第2のサーバ4とにより、識別子tid1、tid2、tid3のトランザクションが実行されている。第1の記憶手段1aには、各トランザクションにおいて、第1のサーバ3で実行された処理の開始と終了とのそれぞれのイベントを示す要求元イベント情報が格納されている。そして、同一のトランザクションの識別子を有する開始と終了との要求元イベント情報を関連付けた要求元イベント情報対に基づいて、第1のサーバ3における、そのトランザクションの処理の実行期間が判断される。例えば識別子tid1のトランザクションの処理の第1のサーバ3での開始時刻は310秒であり、終了時刻は320秒である。すると、識別子tid1のトランザクションの第1のサーバ3での処理の実行期間は310~320となる。同様に、識別子tid2のトランザクションの第1のサーバ3での処理の実行期間は330~340となる。識別子tid3のトランザクションの第1のサーバ3での処理の実行期間は350~359となる。また第2の記憶手段1bには、各トランザクションにおいて、第1のサーバ3で実行された処理の開始と終了とのそれぞれのイベントを示す要求先イベント情報が格納されている。そして、同一のトランザクションの識別子を有する開始と終了との要求先イベント情報を関連付けた要求先イベント情報対に基づいて、第2のサーバ4における、そのトランザクションの処理の実行期間が判断される。例えば識別子tid1のトランザクションの処理の第2のサーバ4での開始時刻は305秒であり、終了時刻は307秒である。すると、識別子tid1のトランザクションの第2のサーバ4での処理の実行期間は305~307となる。同様に、識別子tid2のトランザクションの第2のサーバ4での処理の実行期間は331~335となる。識別子tid3のトランザクションの第2のサーバ4での処理の実行期間は343~345となる。この場合、トランザクションの識別子tid1の要求先イベント情報の補正可能な値の範囲は、305~307の期間を補正して、310~320の範囲内に収めることができる値の範囲である。この場合、005~013の範囲であれば、305~307を補正後の期間が310~320の範囲内となる。従って、補正可能な値の範囲は、005~013となる。同様に、トランザクションの識別子tid2の要求先イベント情報の補正可能な値の範囲は、001~005である。トランザクションの識別子tid3の要求先イベント情報の補正可能な値の範囲は、007~014である。補正可能な値の範囲が求められると、生成手段1eにより、時刻情報によって時系列に並べられた要求先イベント情報のうち、時系列上で連続し、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合が生成される。例えば生成手段1eは、時系列上、古い要求先イベント情報対から順に選択する。そして生成手段1eは、要求先イベント情報対を選択するごとに、既に選択された要求先イベント情報対における補正可能な値の範囲の共通範囲と、新たに選択した要求先イベント情報対における補正可能な値の範囲との共通性の有無を判断する。共通する値があれば、新たに選択した要求先イベント情報対が、補正可能な値の範囲に共通の値を含む要求先イベント情報の集合に追加される。図1の例では、例えばトランザクションの識別子tid1の要求先イベント情報対と、トランザクションの識別子tid2の要求先イベント情報対とが選択される。選択された要求先イベント情報対の補正可能な値の範囲は、共通する値005を有する。そこでトランザクションの識別子tid1の要求先イベント情報対と、トランザクションの識別子tid2の要求先イベント情報対とのそれぞれを構成する要求先イベント情報が、同じ集合に纏められる。次に、トランザクションの識別子tid3の要求先イベント情報対が選択される。この要求先イベント情報対の補正可能な値の範囲は、007~014である。すると、先に選択された要求先イベント情報対の補正可能な値の範囲に共通する値005と、新たに選択した要求先イベント情報対の補正可能な値の範囲007~014とに、共通する値が存在しない。そこで、トランザクションの識別子tid3の要求先イベント情報対を構成する要求先イベント情報は、それ以前の要求先イベント情報とは別の集合となる。その結果、第2の記憶手段1b内の時刻情報305の要求先イベント情報から、時刻情報335の要求先イベント情報までの時系列上で連続する要求先イベント情報を、1つの集合とすることが確定する。要求先イベント情報の集合が決定されると、補正手段1fにより、集合内の要求先イベント情報の時刻情報が、同一の補正値で補正される。例えば時刻情報305の要求先イベント情報から、時刻情報335の要求先イベント情報までの時系列上で連続する要求先イベント情報が適用範囲とされる。そして要求先イベント情報の補正可能な値の範囲に共通する値005を補正値として、適用範囲の要求先イベント情報の時刻情報が補正される。例えば、要求先イベント情報の時刻情報の値に、補正値が加算される。このように、要求先イベント情報の補正可能な値の範囲を判断し、時系列上で連続し、補正可能な値に共通する値が存在する要求先イベント情報が、同一の補正値で時刻補正を行う情報の範囲を示す集合とされる。このようにして生成された集合に属する要求先イベント情報は、補正可能の値の範囲に共通な値が存在するため、共通な値を補正値として時刻情報を補正すれば、補正後において、要求元と要求先との処理の実行期間に関する整合性が合う。すなわち、時刻情報の適切な補正が行われる。このように要求先イベント情報の時刻情報を適切に補正すれば、例えば、要求元イベント情報と要求先イベント情報とに基づくトランザクション分析の信頼性が向上する。なお、取得手段1c、判断手段1d、生成手段1e、および補正手段1fは、情報処理装置1が有するCPUCentralProcessingUnitにより実現することができる。また、第1の記憶手段1aと第2の記憶手段1bとは、情報処理装置が有するRAMRandomAccessMemoryやハードディスクドライブHDDHardDiskDriveなどにより実現することができる。また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。第2の実施の形態次に第2の実施の形態について説明する。第2の実施の形態は、トランザクションの分析を行う分析装置において、トランザクションの分析に先立って時刻情報の補正値を決定するものである。なお、第2の実施の形態では、WWWWorldWideWebを用いたサービスを提供するWeb3階層システムの例を用いる。Web3階層システムでは、トランザクションの処理が、WWWによるサービスの入口となるWeb層、各種データ処理を行うアプリケーション層、およびデータを管理するDB層の3つの階層レイヤに分かれる。Web3階層システムでは、Web層が最上位である。Web層の下位にアプリケーション層が存在する。さらにアプリケーション層の下位に、DB層が存在する。また第2の実施の形態では、第1の実施の形態のイベント情報の一例として、各サーバに入出力されたメッセージに関する情報メッセージ情報を取得する。例えばサーバにリクエストメッセージが入力されれば、そのサーバでの処理の開始イベントが発生したものと認識できる。また、サーバからレスポンスメッセージが出力されれば、そのサーバでの処理の終了イベントが発生したものと認識できる。また、第2の実施の形態では、同一処理の開始と終了とを示すメッセージ情報を関連付け、メッセージ情報対とする。そしてメッセージ情報対ごとに、そのメッセージ情報対を構成するメッセージ情報の時刻情報の補正可能な値の範囲を判断する。以下、時刻情報を補正可能な値の範囲を、時刻補正範囲と呼ぶこととする。また第2の実施の形態では、補正値および補正値の適用範囲の決定に際し、トランザクションIDが付与されていないメッセージ情報も利用する。トランザクションIDが付与されたメッセージと、トランザクションIDが付与されていないメッセージとでは、時刻補正範囲が異なる。図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に送信するリクエストメッセージの少なくとも一部に、アプリケーションサーバ42からのリクエストメッセージに含まれていたトランザクションIDを付与する。DBサーバ43は、スイッチ23を介してアプリケーションサーバ42に接続されている。DBサーバ43は、データベースを有し、そのデータベースを管理するコンピュータである。DBサーバ43は、Webサーバ41からの要求に応じて処理を実行し、実行結果を応答する。スイッチ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は、メッセージの時刻を補正する場合、各メッセージについての時刻補正範囲を順に求める。なお、第2の実施の形態では、処理のリクエストメッセージと、その処理のレスポンスメッセージとを関連付けたメッセージ対ごとに、時刻補正範囲を求める。このとき、第2の実施の形態では、トランザクションIDを有するメッセージのみならず、トランザクションIDを持たないメッセージの時刻補正範囲も求める。そして分析装置100は、トランザクションIDを有するメッセージ対を1つずつ取得し、取得するごとに、それまでに取得したメッセージ対の時刻補正範囲の共通部分を求め、共通部分を、取得したメッセージ対の集合に対する時刻補正範囲とする。分析装置100は、時刻補正範囲が空集合になると、最後に取得したメッセージを除いたメッセージの集合を、同一補正値で時刻補正を行うメッセージの集合に決定する。そして分析装置100は、メッセージの集合に属する各メッセージの時刻補正範囲に共通する値で、その集合に属するメッセージの時刻を補正する。このような処理を実現する分析装置100は、例えば以下のようなハードウェアで構成される。図3は、第2の実施の形態に用いる分析装置のハードウェアの一構成例を示す図である。分析装置100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。RAM102は、分析装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOSOperatingSystemのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、分析装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRTCathodeRayTubeを用いた表示装置や液晶表示装置などがある。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVDDigitalVersatileDisc、DVD-RAM、CD-ROMCompactDiscReadOnlyMemory、CD-RRecordable/RWReWritableなどがある。通信インタフェース107は、ネットワーク24に接続されている。通信インタフェース107は、ネットワーク24を介して、アプリケーションサーバ42、またはキャプチャ装置44,45との間でデータの送受信を行う。以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置1も、図3に示した分析装置100と同様のハードウェアにより実現することができる。図4は、分析装置の機能の一例を示すブロック図である。分析装置100は、メッセージ収集部110、Webメッセージ記憶部120、アプリケーションメッセージ記憶部130、DBメッセージ記憶部140、時刻補正部150、およびトランザクション分析部160を有する。メッセージ収集部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は、時系列に並べられたメッセージに基づいて、同一トランザクションで送信されたメッセージを関連付ける。そして関連付けられたメッセージの情報に基づいて、トランザクションの各サーバでの処理時間などを分析する。なお、メッセージに基づくトランザクションの分析技術は、例えば、前述の特許文献1に示す特開2006-11683号公報に開示されている。なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。以上のような機能を有する分析装置100により、Web3階層システムで実行されたトランザクションが再現され、トランザクションの分析が行われる。なお、メッセージ収集部110は、図1に示した第1の実施の形態における取得手段1cの一例である。時刻補正部150は、図1に示した第1の実施の形態における判断手段1d、生成手段1e、および補正手段1fを合わせた機能の一例である。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は、階層ごとのメッセージに付与された時刻を同一の補正値で補正するメッセージの集合と、その集合のメッセージに適用する補正値とを算出する。例えば時刻補正部150は、Webメッセージの時刻を基準として、アプリケーションメッセージの時刻の補正値を算出する。また時刻補正部150は、アプリケーションメッセージの時刻を基準として、DBメッセージの補正値を算出する。そして、時刻補正部150は、メッセージの集合ごとに、その集合のメッセージに基づいて算出した補正値によって、いずれかのメッセージ記憶部内のメッセージの時刻を補正する。なお時刻補正処理の詳細は後述する図19参照。[ステップS103]トランザクション分析部160は、Webメッセージ記憶部120、アプリケーションメッセージ記憶部130、およびDBメッセージ記憶部140からメッセージを取り出す。そしてトランザクション分析部160は、トランザクションの分析を行う。次に、メッセージ収集部110で収集されたメッセージ情報について、図6~図8を参照して説明する。図6は、Webメッセージ記憶部のデータ構造の一例を示す図である。Webメッセージ記憶部120内には、Webメッセージ管理テーブル121が設けられている。Webメッセージ管理テーブル121には、タイムスタンプ、種別、URLUniformResourceLocator、セッション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の欄には、アプリケーションサーバ42で実行された処理に対応するトランザクションのトランザクションIDが設定される。タイムスタンプの欄には、アプリケーションサーバ42がメッセージを受信または送信した時刻が設定される。クラス名の欄には、トランザクションの処理の一環として、アプリケーションサーバ42で実行された処理のクラス名が設定される。メソッド名の欄には、トランザクションの処理の一環として、アプリケーションサーバ42で実行された処理のメソッド名が設定される。なお、アプリケーションサーバ42における特定の処理の開始のアプリケーションメッセージと終了のアプリケーションメッセージとには、同じトランザクションID、クラス名、メソッド名が設定される。従ってトランザクションID、クラス名、メソッド名が同じ、スタートSのアプリケーションメッセージとエンドEのアプリケーションメッセージとにより、メッセージ対が形成される。形成されたメッセージ対それぞれのタイムスタンプにより、そのトランザクションIDに対応する処理の実行期間が求められる。また図7の例では、同じトランザクションIDの複数のスタートのアプリケーションメッセージが存在する。これは、Webサーバ41が、1つのトランザクション中で複数回、アプリケーションサーバ42にリクエストメッセージを送信したためである。図8は、DBメッセージ記憶部のデータ構造の一例を示す図である。DBメッセージ記憶部140内には、DBメッセージ管理テーブル141が設けられている。DBメッセージ管理テーブル141には、識別子、タイムスタンプ、トランザクションID、種別プロトコル、SQLコマンド/データの欄が設けられている。DBメッセージ管理テーブル141の各行に、DBメッセージに関する情報が登録されている。識別子の欄には、アプリケーションサーバ42とDBサーバ43との間のセッション内でのメッセージに付与される識別子が設定される。アプリケーションサーバ42からDBサーバ43に送信されたリクエストメッセージと、そのリクエストメッセージに応答してDBサーバ43から送信されるレスポンスメッセージとには、同じ識別子が付与される。タイムスタンプの欄には、キャプチャ装置45によってDBメッセージに付与されたタイムスタンプが設定される。トランザクションIDの欄には、DBメッセージに付与されたトランザクションIDが設定される。種別プロトコルの欄には、DBメッセージがリクエストメッセージなのかレスポンスメッセージなのかの種別と、DBメッセージのプロトコルが設定される。SQLコマンド/データの欄には、DBメッセージに含まれていたSQLコマンドとデータとが設定される。DBメッセージ管理テーブル141における同じ識別子のリクエストメッセージとレスポンスメッセージとを対応付けることで、メッセージ対を形成することができる。以下、アプリケーションメッセージとDBメッセージとの間の時刻の補正値の算出例について説明する。図9は、アプリケーション層とDB層とのメッセージ対の一例を示す図である。図9には、アプリケーションメッセージとDBメッセージとを、簡略的に示している。図9において、アプリケーションメッセージについては、タイムスタンプに示された時刻をtime、トランザクションIDをtid、スタートエンドフラグをSE、その他の情報をinfoとしている。またDBメッセージについては、タイムスタンプに示された時刻をtime、トランザクションIDをtid、種別をReqRes、その他の情報をinfoとしている。種別のReqは、リクエストメッセージを表し、Resはレスポンスメッセージを表している。アプリケーション層のメッセージ対51~54は、それぞれにトランザクションIDが付与されている。図9の例では、アプリケーションメッセージによる4つのメッセージ対51~54が生成されている。また、DBメッセージによる7つのメッセージ対61~67が生成されている。DB層のメッセージ対61~67のうち、3つのメッセージ対62,64,67のリクエストメッセージにのみ、トランザクションIDが付与されている。このようなメッセージ対を構成する各メッセージをタイムスタンプに示された時刻によって時系列に並べると、メッセージに付与された時刻の前後関係が明確となる。図10は、時刻補正前のメッセージの送信タイミングの一例を示す図である。図10では、図9に示したメッセージ対51~54,61~67を構成するメッセージが、時系列に並べられている。各メッセージに付与されている補正する前の時刻に基づいて、アプリケーションサーバ42とDBサーバ43とにおける処理の実行期間を判断すると以下のようになる。アプリケーション層のメッセージ対51~54により、トランザクションIDに対応するトランザクションの処理が、アプリケーションサーバ42で実行された期間が示される。メッセージ対51を構成するリクエストメッセージ51aとレスポンスメッセージ51bとにより、トランザクションIDtid1の処理の実行期間は、時刻100から112となる。メッセージ対52を構成するリクエストメッセージ52aとレスポンスメッセージ52bとにより、トランザクションIDtid2の1回目の処理の実行期間は、時刻133から141となる。メッセージ対53を構成するリクエストメッセージ53aとレスポンスメッセージ53bとにより、トランザクションIDtid2の2回目の処理の実行期間は、時刻142から149となる。メッセージ対54を構成するリクエストメッセージ54aとレスポンスメッセージ54bとにより、トランザクションIDtid3の処理の実行期間は、時刻155から168となる。またDB層のメッセージ対61~67により、トランザクションIDに対応するトランザクションの処理の少なくとも一部について、DBサーバ43で実行された期間が示される。メッセージ対62を構成するリクエストメッセージ62aとレスポンスメッセージ62bとにより、トランザクションIDtid1の処理の実行期間は、時刻104から105となる。メッセージ対64を構成するリクエストメッセージ64aとレスポンスメッセージ64bとにより、トランザクションIDtid2の処理の実行期間は、時刻141から142となる。メッセージ対67を構成するリクエストメッセージ67aとレスポンスメッセージ67bとにより、トランザクションIDtid3の処理の実行期間は、時刻155から156となる。また、DB層の一部のメッセージ対61,63,65,66にはトランザクションIDが付与されておらず、どのトランザクションの処理を実行したのかが不明である。メッセージ対61を構成するリクエストメッセージ61aとレスポンスメッセージ61bとにより、時刻102から103の期間に、いずれかのトランザクションの処理が実行されている。メッセージ対63を構成するリクエストメッセージ63aとレスポンスメッセージ63bとにより、時刻133から134の期間に、いずれかのトランザクションの処理が実行されている。メッセージ対65を構成するリクエストメッセージ65aとレスポンスメッセージ65bとにより、時刻143から144の期間に、いずれかのトランザクションの処理が実行されている。メッセージ対66を構成するリクエストメッセージ66aとレスポンスメッセージ66bとにより、時刻153から154の期間に、いずれかのトランザクションの処理が実行されている。ここで現実のトランザクションの処理の実行においては、処理を実行しているアプリケーションサーバ42からDBサーバ43への処理の呼び出しリクエストメッセージの送信が行われる。そして、処理の実行が完了したDBサーバ43から、アプリケーションサーバ42へ応答レスポンスメッセージの送信が行われる。そのため、時刻の補正が正しく行われた場合、アプリケーションサーバ42のメッセージ対51~54とDBサーバ43のメッセージ対61~67との間では、以下の2つの条件が満たされる。第1の条件は、トランザクションIDが付与されたDBサーバ43の処理の実行期間は、同じトランザクションIDのアプリケーションサーバ42の処理の実行期間に包含されることである。すなわち、DBサーバ43の処理の開始時刻は、同一トランザクションIDのアプリケーションサーバ42の処理の開始時刻以降である。またDBサーバ43の処理の終了時刻は、同一トランザクションIDのアプリケーションサーバ42の処理の終了時刻以前である。第2の実施の形態では、このような同一トランザクションIDの処理間での包含関係の条件を満たすような下位層図10の例ではDB層のメッセージ対を、トランザクションIDが適合しているメッセージ対と呼ぶ。そして、トランザクションIDが付与された下位層のメッセージ対のうち、トランザクションIDが適合しているメッセージ対の割合を適合率と呼ぶ。第2の条件は、トランザクションIDが付与されていないDBサーバ43の処理の実行期間は、アプリケーションサーバ42のいずれかの処理の実行期間に包含されることである。すなわち、DBサーバ43の各処理に関して、その処理の開始時刻以前に実行が開始され、その処理の終了時刻以降に実行が終了するような、アプリケーションサーバ42の処理が存在する。第2の実施の形態では、このようなトランザクションIDに拘束されない包含関係の条件を満たすような下位層図10の例ではDB層のメッセージ対を、カバーされたメッセージ対と呼ぶ。そして、下位層のすべてのメッセージ対のうち、カバーされたメッセージ対の割合をカバー率と呼ぶ。図10の例では、トランザクションIDが付与されたDB層の3つのメッセージ対62,64,67のうち、1つのメッセージ対64はトランザクションIDが適合していない。従って、適合率は66.7となる。またDB層の7つのメッセージ対61~67のうち、呼び出し元となる処理にカバーされていない1つのメッセージ対66が存在する。従って、カバー率は71.4となる。このように時刻を補正しないままでは、適合率カバー率共に100とならない。実際のトランザクションでは、適合率カバー率が100となるような順序で、各メッセージが送信されているはずである。そこで時刻補正部150は、適合率カバー率が共に100となるような補正値を求める。ただし、同一の補正値を適用するメッセージ対が過大な場合、適合率とカバー率とが共に100となる補正値が存在しない場合がある。以下、図11~図13を参照し、メッセージ対の量と、補正値候補ごとの適合率カバー率との関係について説明する。図11は、3時間分のメッセージに対して同一の補正値を適用する場合の、補正値候補に応じた適合率とカバー率との推移の一例を示す図である。図11では、横軸に補正値候補を示し、縦軸に適合率およびカバー率を示している。図11に示すように、3時間分のメッセージの時刻を同一の補正値候補で補正しようとすると、適合率とカバー率との最高値は、13程度に留まってしまう。図12は、15分間分のメッセージに対して同一の補正値を適用する場合の、補正値候補に応じた適合率とカバー率との推移の一例を示す図である。図12では、横軸に補正値候補を示し、縦軸に適合率およびカバー率を示している。なお図12のグラフは、図11のグラフ作成時に用いた3時間分のメッセージのうちの、先頭の15分間分のメッセージを用いて、補正値候補に応じた適合率とカバー率とを計算したものである。図12に示すように、15分間分のメッセージの時刻を同一の補正値で補正しようとすると、適合率の最高値は23程度まで高くなり、カバー率の最高値は24程度まで高くなる。しかし、適合率カバー率共に、100には達していない。図13は、1分間分のメッセージに対して同一の補正値を適用する場合の、補正値候補に応じた適合率とカバー率との推移の一例を示す図である。図13では、横軸に補正値候補を示し、縦軸に適合率およびカバー率を示している。なお図13のグラフは、図11のグラフ作成時に用いた3時間分のメッセージのうちの、先頭の1分間分のメッセージを用いて、補正値候補に応じた適合率とカバー率とを計算したものである。図11~図13に示したように、同一補正値を適用するメッセージ数が大量になると、適合率とカバー率とを共に100にする補正値候補が存在しないことがある。そこで第2の実施の形態では、同一の補正値候補を適用するメッセージの範囲を制限する。このとき、同一の補正値を適用するメッセージの数が少なすぎると、適合率とカバー率とが共に100になる補正値候補に幅が生じる。図13の例では、補正値候補が00195秒~00198秒の範囲で、適合率とカバー率とが共に100になる。このように、適合率とカバー率とが共に100になる補正値候補に幅がある場合、その幅が広すぎると、どの補正値候補が補正値として適切なのかを判断するのが難しい。そこで第2の実施の形態では、適合率カバー率が共に100となるような補正値が得られるような、より多くのメッセージに対して、同一の補正値を適用する。次に、下位層図9、図10の例ではDB層の個々のメッセージに対する時刻補正範囲の決定方法について説明する。メッセージ対に対する時刻補正範囲は、トランザクションIDが付与されているか否かによって異なる。まずトランザクションIDが付与されているメッセージ対に対する、時刻補正範囲について説明する。トランザクションIDが付与されているメッセージ対に関しては、処理の実行期間が、同じトランザクションIDを持つ上位層のメッセージ対に対応する処理の実行期間に包含される範囲で、時刻補正が可能である。なお厳密にはアプリケーション層の処理と、その処理から呼び出されるDB層の処理との開始時刻同士、または終了時刻同士がまったく同時ということはなく、多少の時間差がある。しかし、例えば極めて短時間の時間差しかない場合、外部からの観測上は、上位層の処理と下位層の処理との開始時刻同士または終了時刻同士が同時になることもあり得る。そこで第2の実施の形態では、時刻補正範囲を閉区間で定義する。すなわち、上位層の処理の開始時刻リクエストメッセージの時刻と、その処理から呼び出される下位層の処理の開始時刻リクエストメッセージの時刻とが同時であることを許容する。また上位層の処理の終了時刻レスポンスメッセージの時刻と、その処理から呼び出される下位層の処理の終了時刻レスポンスメッセージの時刻とが同時であることを許容する。ただし、タイムスタンプの時刻の単位が非常に微細である場合など、外部からの観測上においても、上位層の処理と下位層の処理との開始時刻または終了時刻が同時になることを抑止できる場合には、時刻補正範囲を開区間で定義してもよい。図14は、トランザクションIDが付与されたメッセージ対に対する時刻補正範囲の第1の例を示す図である。図14には、DB層のメッセージ対に対応する処理72の実行期間が、同じトランザクションIDのアプリケーション層のメッセージ対に対応する処理71の実行期間に包含されている場合の例が示されている。この場合、処理71の開始時刻と処理72の開始時刻との差分t1以下の時間を、処理72に対応するメッセージの時刻から減算する補正を行うことができる。また処理71の終了時刻と処理72の終了時刻との差分t2以下の時間を、処理72に対応するメッセージの時刻に加算する補正を行うことができる。すなわち補正値が[-t1,t2]の範囲内であれば、処理72に対応するメッセージの時刻を補正しても、処理72の実行期間は処理71の実行期間に包含される。なお第2の実施の形態では、補正値が閉区間で定義されている。そのため、時刻補正範囲には、-t1およびt2も含まれる。もし時刻補正範囲を開区間で定義した場合、時間補正の範囲が-t1,t2と表され、時間補正の範囲に-t1およびt2は含まれない。図15は、トランザクションIDが付与されたメッセージ対に対する時刻補正範囲の第2の例を示す図である。図15には、DB層のメッセージ対に対応する処理74の実行期間が、同じトランザクションIDのアプリケーション層のメッセージ対に対応する処理73の実行期間に包含されていない場合の例が示されている。この場合、処理73の開始時刻と処理74の開始時刻との差分t3以上の時間を、処理74に対応するメッセージの時刻に加算する補正を行うことができる。ただし、加算する時間は、処理73の終了時刻と処理74の終了時刻との差分t4以下であることが要求される。すなわち補正値が[t3,t4]の範囲内とすることで、処理74に対応するメッセージの時刻補正後における処理74の実行期間は、処理73の実行期間に包含される。次に、トランザクションIDが付与されていないメッセージ対に対する、時刻補正範囲について説明する。トランザクションIDが付与されていないメッセージ対に関しては、処理の実行期間が、上位層のいずれかのメッセージ対に対応する処理の実行期間に包含される範囲で、時刻補正が可能である。図16は、トランザクションIDが付与されていないメッセージ対に対する時刻補正範囲の一例を示す図である。トランザクションIDが付与されていないDB層のメッセージ対に対応する処理85の実行期間が、アプリケーション層のメッセージ対に対応する処理81~85それぞれの実行期間と比較される。そして、DB層の処理85の実行期間が、比較対象のアプリケーション層のいずれかの処理81~85の実行期間に包含される範囲が、すべて時刻補正範囲となる。図16の例では、処理81の開始時刻と処理85の開始時刻との差分b3以下、処理82の終了時刻と処理85の終了時刻との差分b2以上の範囲での減算が、時刻補正範囲の1つとなる。この範囲は[-b3,-b2]と表される。また、処理83の開始時刻と処理85の開始時刻との差分b1以下の減算から、処理85の終了時刻と処理83の終了時刻との差分a1以上の加算の範囲が、時刻補正範囲の1つとなる。この範囲は[-b1,a1]と表される。また、処理85の開始時刻と処理84の開始時刻との差分a2以下、処理85の終了時刻と処理84の終了時刻との差分a3以上の加算の範囲が、時刻補正範囲の1つとなる。この範囲は[a2,a3]と表される。これらの各時刻補正範囲の論理和が、処理85のリクエストメッセージとレスポンスメッセージとによるメッセージ対の時刻補正範囲となる。以上のようにして、個々のメッセージ対ごとの時刻補正範囲を決定することができる。時刻補正部150は、複数のメッセージ対に基づいて時刻補正範囲を決定する場合、個々のメッセージ対の時刻補正範囲の重複部分を、複数のメッセージ対に対する時刻補正範囲とする。例えば時刻補正部150は、下位層例えばDB層のメッセージ対を時刻の古い順に選択し、選択するごとに時刻補正範囲を更新していく。図17は、時刻補正範囲の更新例を示す図である。図17には、旧時刻補正範囲、追加時刻補正範囲、および新時刻補正範囲が示されている。旧時刻補正範囲は、以前に選択したメッセージ対に基づいて判断された時刻補正範囲である。追加時刻補正範囲は、新たに選択したメッセージ対に基づく時刻補正範囲である。新時刻補正範囲は、以前に選択したメッセージ対と新たに選択したメッセージ対とに基づいた時刻補正範囲である。図17に示すように、新時刻補正範囲は、旧時刻補正範囲と追加時刻補正範囲との重複部分となっている。このようにして時刻補正範囲を更新していくことで、時刻補正範囲は徐々に狭くなっていく。なお第2の実施の形態では、メッセージ対の時刻補正範囲を求める際に、最初は、トランザクションIDが付与されたメッセージ対に基づいて時刻補正範囲を求める。そして、その時刻補正範囲を、順次選択したメッセージ対の時刻補正範囲によって更新していく。このように最初に求める時刻補正範囲を、トランザクションIDが付与されたメッセージ対に基づいて決定することで、最初にトランザクションIDが付与されていないメッセージ対に基づいて時刻補正範囲を求める場合よりも、処理の効率化が図れる。すなわち、トランザクションIDが付与されていないメッセージ対に基づいて時刻補正範囲を求める際には、新たに時刻補正範囲を生成する場合よりも、既存の時刻補正範囲の制約を受けていた場合の方が、処理量が少なくて済む。図18は、時刻補正範囲の制約の有無による処理量の違いを示す図である。図18には、選択したDB層のメッセージ対に対応する処理96の実行期間と、アプリケーション層のメッセージ対に対応する処理91~95の実行期間とを示している。またトランザクションIDが付与されたメッセージ対に基づく時刻補正範囲97が示されている。ここで時刻補正範囲97が先に決定されておらず、選択したメッセージ対の時刻補正範囲の決定に際して期間の制約がない場合、アプリケーション層のすべての処理91~95が、DB層の処理の呼び出し元である可能性が残されている。そのため、DB層の処理96の実行期間と、アプリケーション層の5つの処理91~95それぞれの実行期間との比較により、DB層の処理96に対応するメッセージ対の時刻補正範囲が決定される。他方、時刻補正範囲97が先に決定されている場合、選択したメッセージ対の時刻補正範囲が、時刻補正範囲97によって制約を受ける。この場合、時刻補正範囲97に包含される実行時間の処理93,94のみが、DB層の処理の呼び出し元である可能性がある。そのため、DB層の処理96の実行期間と、アプリケーション層の2つの処理93~94それぞれの実行期間との比較により、DB層の処理96に対応するメッセージ対の時刻補正範囲が決定される。このように、トランザクションIDが付与されたメッセージ対に基づく時刻補正範囲97を先に決定しておけば、トランザクションIDが付与されていないメッセージ対の時刻補正範囲の決定の際の比較対象が少なくなり、処理効率が向上する。すなわち、トランザクションIDが付与されたメッセージ対に基づく時刻補正範囲の制約がない場合、どれだけずらしても包含関係さえ満たせば親子関係の候補になり得るので、親候補が多数となり、効率よく補正値を求めるのが困難である。他方、トランザクションIDが付与されたメッセージ対に基づく時刻補正範囲の制約があれば、親候補が限定され、効率的な時刻補正範囲の探索が可能になる。そこで、第2の実施の形態では、トランザクションIDが付与されていないメッセージ対の時刻補正範囲の判断に先立って、トランザクションIDが付与されているメッセージ対の時刻補正範囲を判断する。これにより、常に効率的な処理が行われる。次に、時刻補正処理の手順について説明する。なお、以下の説明では、アプリケーション層とDB層との間の時刻のずれを補正する場合を例にとって、時刻補正処理を説明する。図19は、時刻補正処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。[ステップS11]時刻補正部150は、集合Sを初期化する。例えば時刻補正部150は、集合Sを空集合にする。[ステップS12]時刻補正部150は、下位層DB層のメッセージ対を1つ取得する。例えば時刻補正部150は、DBメッセージ記憶部140内のメッセージ対から、リクエストメッセージに付与された時刻が早い順に取得する。[ステップS13]時刻補正部150は、取得したメッセージ対にトランザクションIDが付与されているか否かを判断する。例えば時刻補正部150は、取得したメッセージ対のリクエストメッセージとレスポンスメッセージとのいずれか一方に、トランザクションIDが含まれていれば、そのトランザクションIDを、メッセージ対に付与されたトランザクションIDと判断する。トランザクションIDが付与されている場合、時刻補正部150は処理をステップS17に進める。また時刻補正部150は、トランザクションIDが付与されていない場合、処理をステップS14に進める。[ステップS14]時刻補正部150は、トランザクションIDが付与されたメッセージ対に基づいて求められた時刻補正範囲による、補正時間の制約があるか否かを判断する。例えば時刻補正部150は、同時補正集合の時刻補正範囲として、有限の範囲が設定されている場合、補正時間の制約があると判断する。時刻補正部150は、補正時間の制約がある場合、処理をステップS16に進める。また時刻補正部150は、補正時間の制約がない場合、処理をステップS15に進める。[ステップS15]時刻補正部150は、補正時間の制約がない場合、取得したメッセージ対を集合Sに追加する。その後、時刻補正部150は処理をステップS29に進める。[ステップS16]時刻補正部150は、補正時間の制約がある場合、取得したメッセージ対に基づいて、同時補正集合の時刻補正範囲を更新する。例えば時刻補正部150は、アプリケーションメッセージ記憶部130に格納されているアプリケーション層のメッセージ対のうち、対応する処理の実行期間が、同時補正集合の時刻補正範囲に包含されるメッセージ対を抽出する。時刻補正部150は、アプリケーションメッセージ記憶部130から抽出したメッセージ対に対応する処理の実行期間と、ステップS12で取得したメッセージ対に対応する処理の実行期間とを比較し、取得したメッセージ対の時刻補正範囲を判断する。そして時刻補正部150は、同時補正集合の時刻補正範囲と取得したメッセージ対の時刻補正範囲との重複範囲を、同時補正集合の新たな時刻補正範囲として設定する。その後、時刻補正部150は処理をステップS20に進める。[ステップS17]取得したメッセージ対にトランザクションIDが付与されていた場合、時刻補正部150は、呼び出し元のメッセージ対を求め、同時補正集合の時刻補正範囲を更新する。例えば時刻補正部150は、取得したメッセージ対と同じトランザクションIDが付与されているメッセージ対を、アプリケーションメッセージ記憶部130から抽出する。次に時刻補正部150は、抽出したメッセージ対に対応する処理の実行期間と、ステップS12で取得したメッセージ対に対応する処理の実行期間とを比較し、取得したメッセージ対の時刻補正範囲を判断する。そして時刻補正部150は、同時補正集合の時刻補正範囲と取得したメッセージ対の時刻補正範囲との重複範囲を、同時補正集合の新たな時刻補正範囲として設定する。なお、同時補正集合の時刻補正範囲と取得したメッセージ対の時刻補正範囲とに重複範囲が存在しない場合、同時補正集合の時刻補正範囲として空集合が設定される。同時補正集合の時刻補正範囲が空集合に更新された場合、時刻補正部150は、更新前の時刻補正範囲をRAM102などのメモリに保存する。[ステップS18]時刻補正部150は、集合Sが空集合か否かを判断する。時刻補正部150は、集合Sが空集合であれば、処理をステップS20に進める。また時刻補正部150は、集合Sが空集合でなければ、処理をステップS19に進める。[ステップS19]時刻補正部150は、集合Sに含まれるDB層の各メッセージ対を用いて同時補正集合の時刻補正範囲を更新する。例えば時刻補正部150は、集合Sに含まれるメッセージ対を1つずつ選択する。次に時刻補正部150は、アプリケーションメッセージ記憶部130に格納されているアプリケーション層のメッセージ対のうち、対応する処理の実行期間が、同時補正集合の時刻補正範囲に包含されるメッセージ対を抽出する。時刻補正部150は、アプリケーションメッセージ記憶部130から抽出したメッセージ対に対応する処理の実行期間と、選択したメッセージ対に対応する処理の実行期間とを比較し、選択したメッセージ対の時刻補正範囲を判断する。そして時刻補正部150は、同時補正集合の時刻補正範囲と選択したメッセージ対の時刻補正範囲との重複範囲を、同時補正集合の新たな時刻補正範囲として設定する。なお、同時補正集合の時刻補正範囲と選択したメッセージ対の時刻補正範囲とに重複範囲が存在しない場合、同時補正集合の時刻補正範囲として空集合が設定される。同時補正集合の時刻補正範囲が空集合に更新された場合、時刻補正部150は、更新前の時刻補正範囲をRAM102などのメモリに保存する。[ステップS20]時刻補正部150は、同時補正集合の時刻補正範囲が空集合か否かを判断する。同時補正集合の時刻補正範囲が空集合でなければ、時刻補正部150は、処理をステップS21に進める。また同時補正集合の時刻補正範囲が空集合であれば、時刻補正部150は、処理をステップS22に進める。[ステップS21]時刻補正部150は、同時補正集合の時刻補正範囲が空集合でなければ、取得したメッセージ対を同時補正集合に追加する。その後、時刻補正部150は、処理をステップS29に進める。[ステップS22]時刻補正部150は、ステップS16,S19における更新前の同時補正集合の時刻補正範囲内の1点を、現在の同時補正集合に含まれているメッセージ対の時刻の補正値に決定する。そして時刻補正部150は、決定した補正値により、同時補正集合に含まれるメッセージ対のタイムスタンプの時刻を補正する。例えば時刻補正部150は、更新前の同時補正集合の時刻補正範囲内の中点を補正値とする。また時刻補正部150は、更新前の同時補正集合の時刻補正範囲内の最も小さい値、または最も大きい値を補正値とすることもできる。次に時刻補正部150は、同時補正集合に含まれるメッセージ対のタイムスタンプの時刻に対して、補正値を加算する。なお、補正値が負の値であれば、メッセージの時刻から、補正値の絶対値が減算される。そして時刻補正部150は、時刻を補正したメッセージ対を構成するメッセージのレコードを、DBメッセージ記憶部140内の元のレコードに対して上書きで書き込む。[ステップS23]時刻補正部150は、取得したメッセージ対にトランザクションIDが付与されているか否かを判断する。時刻補正部150は、トランザクションIDが付与されていれば、処理をステップS26に進める。また時刻補正部150は、トランザクションIDが付与されていなければ、処理をステップS24に進める。[ステップS24]取得したメッセージ対にトランザクションIDが付与されていなければ、時刻補正部150は、取得したメッセージ対のみを集合Sの要素とする。例えば時刻補正部150は、集合Sの要素をすべて削除した後、取得したメッセージ対を集合Sに追加する。[ステップS25]時刻補正部150は、同時補正集合の時刻補正範囲を、時刻補正時間の制約とはならないように初期化する。例えば時刻補正部150は、同時補正集合の時刻補正範囲として、すべての範囲例えばマイナス無限大からプラス無限大までを設定する。その後、時刻補正部150は、処理をステップS28に進める。[ステップS26]時刻補正部150は、取得したメッセージ対にトランザクションIDが付与されている場合、集合Sを空集合に更新する。[ステップS27]時刻補正部150は、取得したメッセージ対に対応する処理に基づいて、同時補正集合の新たな時刻補正範囲を設定する。例えば時刻補正部150は、取得したメッセージ対と同じトランザクションIDが付与されているメッセージ対を、アプリケーションメッセージ記憶部130から抽出する。次に時刻補正部150は、抽出したメッセージ対に対応する処理の実行期間と、ステップS12で取得したメッセージ対に対応する処理の実行期間とを比較し、取得したメッセージ対の時刻補正範囲を判断する。そして時刻補正部150は、取得したメッセージ対の時刻補正範囲を、同時補正集合の時刻補正範囲として新たに設定する。[ステップS28]時刻補正部150は、同時補正集合を、取得したメッセージ対のみに更新する。[ステップS29]時刻補正部150は、次のメッセージ対があるか否かを判断する。時刻補正部150は、次のメッセージ対があれば、処理をステップS12に進める。また時刻補正部150は、DBメッセージ記憶部140内のすべてのメッセージ対に対する処理が完了し、次のメッセージ対がなければ、時刻補正処理を終了する。このようにして、同時補正集合ごとに補正値が決定される。なお、図19の例では、まずトランザクションIDが付与された下位層のメッセージ対について、時刻補正範囲が求められる。次に、そこから遡ってまだ親子関係候補の列挙が終わっていない、トランザクションIDが付与されていないメッセージ対集合Sのメッセージ対について、時刻補正範囲が求められる。そして、トランザクションIDが付与されていないメッセージ対について時刻補正範囲と、先に求められていた時刻補正範囲との共通部分が、新たな時刻補正範囲に設定される。このとき、共通部分を求めた結果、共通部分が存在せず、時刻補正範囲が空集合になる場合も考えられる。この場合、アプリケーションサーバ42において、トランザクションIDを付与するリクエストメッセージの数が不足しているものと考えられる。そこで管理者は、例えば、アプリケーションサーバ42に対して、DBサーバ43に対するリクエストメッセージのうち、トランザクションIDを付与するリクエストメッセージの数を増加するように設定する。これにより、次回からのトランザクション分析では、トランザクションIDが付与されたメッセージ対を、トランザクションIDが付与されたメッセージ対と同一の補正値を適用する集合に含めることができる可能性を向上させることができる。集合Sのメッセージ対に基づく時刻補正範囲の更新が行われた後は、トランザクションIDが付与された1つ目のメッセージ対以降のメッセージ対が時系列に順次抽出され、時刻補正範囲との共通部分によって時刻補正範囲が更新される。そして共通部分がない場合には、最後に抽出したメッセージ対を除き、それ以前に抽出されたメッセージ対に対して、同一補正値による時刻の補正が行われる。そして最後に抽出したメッセージ対を先頭とし、新たな補正値判定が続行される。このように、第2の実施の形態では、制約を満たして補正できる値の範囲と、同一の補正値で補正するメッセージ群を求めていき、制約を満たせなくなった時点で全体を補正する。そのため、制約を満たさない場合に補正し直して、また制約を満たすか調べて、という繰り返しが不要である。また補正する値は、トランザクションIDが付与されたメッセージ対の親子関係から定まり、時計の特定のずれ方を仮定しないで済む。その結果、第2の実施の形態では、トランザクションIDが付与されていないメッセージがある場合でも、時刻のずれが不規則に変化する場合にも、時刻のずれを適切に補正することが可能になる。また、第2の実施の形態では、1つの同時補正集合に含まれるメッセージ対それぞれの時刻補正範囲のすべてで共通する値の範囲内の1点が、それらのメッセージ対を構成するメッセージに適用する時刻の補正値となる。すなわち、決定された補正値で同時補正集合に含まれるメッセージ対を構成するメッセージそれぞれの時刻を補正した場合、補正後の適合率とカバー率は100となる。図20は、補正値の適切な適用範囲を決定した場合とそうでない場合とにおける適合率とカバー率との違いを示す図である。図20の上段には、補正値の適切な適用範囲を判断することなく、15分間のすべてのメッセージに同一の補正値を適用した場合のカバー率と適合率との上限の一例が示されている。この例では、補正値を00152秒としたときにカバー率が上限値となる。その上限値は、2302である。また、補正値を00151秒としたときに適合率が上限値となる。その上限値は、2209である。このように、補正値の適切な適用範囲を判断せずに補正値を適用すると、カバー率または適合率が100になる補正値が得られない場合がある。図20の下段には、補正値の適切な適用範囲を判断し、適用範囲ごとに別個の補正値を適用した場合のカバー率と適合率とが示されている。図20に示すように、15分間のログが6個の期間に分割され、各期間が適用範囲に決定されている。そして適用範囲ごとに適切な補正値が求められている。例えば適用範囲0~2分の補正値は0013秒であり、適用範囲2~5分の補正値は0010秒である。このように適用範囲ごとの補正値でメッセージの時刻を補正した場合、すべての適用範囲の期間において、カバー率と適合率とを共に100とすることができる。このように、第2の実施の形態では、補正値の適用範囲の適切な判断を行うことで、すべての適用範囲について、適合率カバー率といった呼び出し元処理親と呼び出し先処理子との制約条件を満たすことができる補正値で補正することができる。このような補正値で下位層のメッセージ情報の時刻を補正することで、トランザクション分析における信頼性が向上する。その他の実施の形態第2の実施の形態では、同一の補正値の適用範囲同時補正集合の決定に際し、カバー率と適合率との両方を用いているが、カバー率と適合率との少なくとも一方を用いて同一の補正値の適用範囲を決定するようにしてもよい。例えば適合率のみを利用する場合、トランザクションIDが付与されていないメッセージ対を取得した場合、無条件に同時補正集合に含めるようにしてもよい。またカバー率のみを利用する場合、例えば、トランザクションIDが付与されていないメッセージ対についても、そのメッセージ対に対応する処理の実行期間が、上位層のいずれかの処理の実行期間に包含される補正値の範囲を、時刻補正範囲とする。また、第2の実施の形態では、下位層のメッセージの時刻を補正しているが、時刻のずれ量は相対的なものである。そのため上位層のメッセージを補正してもよい。また上位層と下位層とのそれぞれのメッセージの時刻を補正してもよい。なお第2の実施の形態では、観測失敗に際して、上位層のメッセージの観測漏れがある可能性を考慮していない。上位層のメッセージの観測漏れがある場合、例えば、トランザクションIDが付与された下位層のメッセージ対に対応する、上位層のメッセージ対が見つからない可能性がある。このように同一トランザクションIDの上位層のメッセージ対が見つからない場合には、例えば、時刻補正部150は、最後に取得したメッセージ対までのメッセージについて、同一の補正値で時刻補正を行ってもよい。このとき、同一トランザクションIDの上位層のメッセージ対が見つからない事態が頻繁に発生すると、IDがつく複数個のデータについてまとめて補正することができず、同一の補正値で補正する集合が細かく分割される可能性がある。ただし細かく分割されても、問題とするほどの処理時間の増加や補正値の正確性の低下は生じない。ただし、不必要に集合を細分化するのを避けるために、例えばカバー率は100に達していなくても、所定の値以上例えば95以上の間は、取得したメッセージ対を、同時補正集合に含めるようにしてもよい。またパケットロスがある場合、トランザクションIDが付与された下位層のメッセージ対に関し、同一トランザクションIDの上位層のメッセージ対が見つからない場合もあり得る。この場合、時刻補正部150は、同一トランザクションIDの上位層のメッセージ対が見つからない下位層のメッセージ対に関し、トランザクションIDが付与されていないメッセージ対であると見なして、時刻補正範囲を判断してもよい。また第2の実施の形態では、適合率カバー率を求める際に、下位層のメッセージについては、メッセージ対を構成せずに、個々のメッセージについて時刻補正範囲を求めてもよい。例えば、トランザクションIDが付与されたDB層のメッセージについては、補正後の時刻が、同一トランザクションIDのアプリケーション層のメッセージ対に対応する処理の実行期間内に含まれる範囲を、時刻補正範囲とすることができる。トランザクションIDが付与されていないDB層のメッセージについては、補正後の時刻が、アプリケーション層のいずれかのメッセージ対に対応する処理の実行期間内に含まれる範囲を、時刻補正範囲とすることができる。また第2の実施の形態では、時刻補正部150が、メッセージの時刻補正を行っているが、例えばトランザクション分析部160が、分析を行う際に時刻補正を行ってもよい。その場合、時刻補正部150は、例えば、図20に示したような適用範囲と補正値とを示す値をメモリなどの記憶装置に書き込む。そしてトランザクション分析部160は、分析を行う際に、各メッセージ記憶部からメッセージを読み出すと、メッセージに付与された時刻がどの適用範囲に含まれるかを判断し、該当する適用範囲の補正値で時刻を補正する。なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1または分析装置100が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置HDD、フレキシブルディスクFD、磁気テープなどがある。光ディスクには、DVD、DVD-RAM、CD-ROM/RWなどがある。光磁気記録媒体には、MOMagnetoOpticaldiskなどがある。なおプログラムを記録する記録媒体には、一時的な伝搬信号自体は含まれない。プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSPDigitalSignalProcessor、ASICApplicationSpecificIntegratedCircuit、PLDProgrammableLogicDeviceなどの電子回路で実現することもできる。上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。"