(57)【要約】【課題】  複数の計算機間で生じるイベントトレースデータの相対的な時刻ずれを簡易かつ正確に補正する。【解決手段】  複数の計算機１１０〜１１３で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力部１０３と、出力された全イベントデータから各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送受信イベントの発生時刻の差分に基づき、各計算機間の通信時間を示す通信時間表を作成するマシン間通信時間表作成部１０４と、通信時間表に基づいて各計算機に対する時刻オフセット値を示す時刻オフセット表を作成する時刻オフセット導出部１０５と、時刻オフセット表に基づき全イベントデータのイベントの発生時刻を補正する時刻補正部１０７と、発生時刻が補正された全イベントデータを入力し補正時刻順に出力するデータ統合部１０８とを備える。【選択図】  図１
2005235054.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正装置であって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段と、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段と、
生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成する時刻オフセット導出手段と、
生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段と、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段と、
を備えたことを特徴とするイベントトレースデータの時刻補正装置。
【請求項２】
マシン間通信時間生成手段が、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出して各イベントデータが示す発生時刻順に登録するとともに、
送信イベントについて対応する既登録の受信イベントが存在する場合には、既登録の受信イベントの登録時刻から送信イベントのイベントデータが示す発生時刻を減算した値をその送受信イベントに係る計算機間の通信時間として登録し、
受信イベントについて対応する既登録の送信イベントが存在する場合には、受信イベントのイベントデータが示す発生時刻から既登録の送信イベントの登録時刻を減算した値をその送受信イベントに係る計算機間の通信時間として登録し、
送受信イベントに係る各計算機間の通信時間を示す通信時間表を作成する請求項１記載のイベントトレースデータの時刻補正装置。
【請求項３】
時刻オフセット導出手段が、
マシン間通信時間生成手段で生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、
当該最小マイナス値に係る送受信イベントの送信側計算機について全通信時間中から、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算するオフセット導出処理を行い、
全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成する請求項１又は２記載のイベントトレースデータの時刻補正装置。
【請求項４】
複数の計算機が、ｎ−ティア・システムを構成する複数のコンピュータからなる請求項１，２又は３記載のイベントトレースデータの時刻補正装置。
【請求項５】
複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正方法であって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するステップと、
イベントデータが示す発生時刻順に出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するステップと、
生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成するステップと、
生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正するステップと、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するステップと、
を有することを特徴とするイベントトレースデータの時刻補正方法。
【請求項６】
コンピュータを、複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正手段として機能させるためのプログラムであって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段、
生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成する時刻オフセット導出手段、
生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段、として
コンピュータを機能させるためのイベントトレースデータの時刻補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機から収集した発生時刻付きイベントトレースデータの時刻ずれを補正する時刻補正装置に関し、特に、複数の計算機間で送受信される通信に関するイベントデータに基づき、各計算機の内部時計の差を時刻オフセットとして算出し、収集したイベントトレースデータにそのオフセット値を加算することにより、複数の計算機間で生じるイベントトレースデータの相対的な時刻ずれを補正することができるイベントトレースデータの時刻補正装置に関する。
【背景技術】
【０００２】
一般に、コンピュータ等の計算機の動作測定，トランザクション・プロファイルの生成等を行う場合、イベントトレースデータの収集，分析が行われる。
具体的には、計算機上で各種のイベント（例えば、プログラムの開始や割り込みの発生等）が処理，実行される毎に、そのイベントの種類や計算機内部の状態，イベントの発生時刻等を示すイベントトレースデータを生成し、そのイベントトレースデータを収集，分析することにより、計算機の動作測定やトランザクション・プロファイルの生成，プログラムのデバッグ等が行われている（例えば、特許文献１−３参照。）。
【０００３】
ところで、計算機システムにおいては、ひとつの処理(トランザクション)が、複数の計算機上の処理プログラムを連続して処理，実行することで実現される場合がある。例えば、ｎ−ティア・システムにおいては、ウェブ・サーバとアプリケーション・サーバ，データベース・サーバの３種類のサーバ（計算機）が連携して、ユーザから要求のあったトランザクションを処理，実行する。
このようにひとつの処理(トランザクション)が複数の計算機上で処理，実行される場合に、そのトランザクションの性能を分析するためには、各計算機上でのプログラムの実行状況を示す多数のイベントトレースデータを、ひとつのトランザクションを構成するように関連付けする必要がある。
【０００４】
例えば、イベントトレースデータに基づくトランザクション・プロファイルの生成等において、独立して動作する複数の計算機上で実行されるひとつのトランザクションを正確に再構成するためには、各イベントの発生時刻順にトレースデータを関連付けする必要がある。
このようなイベントトレースデータの時間的な関連付けは、各イベントデータに含まれるイベントの発生時刻データに基づいて行うことができるが、正確な関連づけを行うためには、各計算機の絶対時刻を完全に一致させる必要がある。
しかし、現実のシステムにおいては、各計算機の内部時計に相対的な時刻差が存在するため、正確な関連付けが行えないという問題が発生する。
【０００５】
ここで、独立して存在する複数の計算機の内部時計の相対的時間差を合わせる手段としては、ＮＴＰ（Network  Time  Protocol）と呼ばれるプロトコルに基づく方法が知られている。ＮＴＰでは、基準となる時計を定め、各計算機がネットワークを介してその基準となる時計に接続して各計算機の内部時計の時刻を合わせる方法が採られている。
しかし、このＮＴＰ方式を用いても、ある程度までの時刻合わせが限界で、例えば１０ｍｓ程度の時刻合わせは困難であり、また、余りに大きな時刻ずれがある場合にも、そのずれを補正することはできなかった。
【０００６】
近年の計算機システムにおいては、計算機の処理性能から、１０ｍｓ程度の時間内に容易に複数のイベントが発生可能である。
このような計算機では、１０ｍｓ程度の時間の中に複数のプログラムが実行される可能性が高く、１０ｍｓ以上の範囲で誤差が生じるＮＴＰ又はそれに準ずるような時刻合わせ方式で対応するのは困難であった。
また、現実問題として、性能測定や分析のために、運用中のサーバ等に対して計算機内の時計を修正するということは、通常、保守等の観点から難しく、実用的ではなかった。
【０００７】
そこで、これまで、複数の計算機で生成されるイベントトレースデータについて、一定の精度で自動的に時刻合わせを行えるようにした提案がなされている。
例えば、特許文献４には、ホスト・コンピュータでトレース開始時における時刻を初期時刻情報として記憶するともに、各端末機ではイベント発生と同時にタイマによるカウントを行い、端末側のカウント値をホスト・コンピュータの初期時刻情報に加算することにより時刻情報を同期化するイベントトレースデータの作成方法が提案されている。
また、特許文献５には、複数の計算機（プロセッサ）で生成される各トレース情報について使用される単一の時刻情報としてマイクロセカンドのオーダーで時刻を計時するカウンタ・レジスタを備えることで、トレース時刻情報を共通化する方法が提案されている。
【０００８】
【特許文献１】特開２０００−０１０８１５号公報
【特許文献２】特開２００３−１５７１８５号公報
【特許文献３】特開２００４−００５１９８号公報
【特許文献４】特開昭６２−２３２０５５号公報
【特許文献５】特開２０００−３４８００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献４に開示された方法では、各端末からホスト・コンピュータに対してタイマで計測されたカウント値を送信する必要があり、しかも、ホスト側では、そのようにして送信された各端末のカウント値を時刻情報に変換処理する機能を備える必要があった。
同様に、特許文献５に開示された方法では、共通の時刻情報をマイクロセカンドのオーダーで計時する計時手段を別途備える必要があった。
このように、従来の技術では、時刻情報の同期を取るための時刻情報の送信機能や交換機能を実現するための手段が別途必要となり、既存の計算機システムに直ちに適用することは不可能で、また、計算機の構成が複雑化するおそれがあり、実際には実現は困難であった。
このため、特殊な装置構成等を別途必要とすることなく、簡易かつ正確に複数の計算機間における時刻情報の同期を取ることができる技術が望まれるようになったが、現在までのところ有効な提案はなされていない。
【００１０】
本発明は、以上のような従来の技術が有する問題を解決するために提案されたものであり、複数の計算機間で送受信される通信に関するイベントデータに基づいて、各計算機の内部時計の差を時刻オフセットとして算出し、収集したイベントトレースデータにそのオフセット値を加算することにより、複数の計算機間で生じるイベントトレースデータの相対的な時刻ずれを補正することができるイベントトレースデータの時刻補正装置と時刻補正方法の提供を目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明のイベントトレースデータの時刻補正装置は、請求項１に記載するように、複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正装置であって、各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段と、データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段と、生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成する時刻オフセット導出手段と、生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段と、発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段と、を備えた構成としてある。
【００１２】
より具体的には、本発明のイベントトレースデータの時刻補正装置は、請求項２に記載するように、マシン間通信時間生成手段が、データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出して各イベントデータが示す発生時刻順に登録するとともに、送信イベントについて対応する既登録の受信イベントが存在する場合には、既登録の受信イベントの登録時刻から送信イベントのイベントデータが示す発生時刻を減算した値をその送受信イベントに係る計算機間の通信時間として登録し、受信イベントについて対応する既登録の送信イベントが存在する場合には、受信イベントのイベントデータが示す発生時刻から既登録の送信イベントの登録時刻を減算した値をその送受信イベントに係る計算機間の通信時間として登録し、送受信イベントに係る各計算機間の通信時間を示す通信時間表を作成する構成としてある。
【００１３】
さらに、請求項３に記載するように、本発明のイベントトレースデータの時刻補正装置は、時刻オフセット導出手段が、マシン間通信時間生成手段で生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、当該最小マイナス値に係る送受信イベントの送信側計算機について全通信時間中から、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算するオフセット導出処理を行い、全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成する構成としてある。
【００１４】
このような構成からなる本発明のイベントトレースデータの時刻補正装置によれば、複数の計算機で発生する各イベントの順序性に着目し、送受信イベントの発生時刻の差分に基づいて、時刻補正のオフセット値を算出し、これによって、各イベントデータの時刻ずれを相対的に補正することができる。
複数のプログラム間の通信では、送信イベントは常に対応する受信イベントの前に発生することになる。例えば、プログラムＡとプログラムＢが通信を介して二つの計算機間で処理を行うような場合に、プログラムＡ、プログラムＢの順序で処理が実行される場合、プログラムＡからプログラムＢへの送信イベントは、必ずプログラムＢでの受信イベントより先に発生する。すなわち、送信イベントは必ず受信イベントの前に発生するものであり、この順序は普遍なものとなる。
【００１５】
本発明では、このイベントの順序性に基づき、各計算機で採取されたイベントを、事前に規定されるプログラムの実行順序に並べることで、送信イベントと受信イベントの発生時刻の差分を算出し、各イベント間で生ずる発生時刻の相対的な時刻差を時刻オフセットとして算出する。
そして、イベントトレースデータの分析時に、算出されたオフセット値を各イベントデータの発生時刻に加算することで、複数の計算機の内部時計の相対的時刻差による影響を排除することができる。
このようにして、イベントトレースデータに含まれる発生時刻を送受信イベントの順序性に基づいて相対的に補正することができ、時刻情報の同期を取るための特殊な装置や複雑な構成等を必要とすることなく、簡易かつ正確にイベントトレースデータの時刻補正を実現することができる。
【００１６】
そして、本発明のイベントトレースデータの時刻補正装置は、請求項４に記載するように、複数の計算機が、ｎ−ティア・システムを構成する複数のコンピュータからなる構成とすることができる。
【００１７】
このように、本発明は、ｎ−ティア・システムを構成する複数のコンピュータにおけるイベントトレースデータの時刻補正装置として実現することができる。
これにより、例えば、独立して稼動する複数のサーバによって実行されるひとつのトランザクションについて、サーバ間の時刻ずれを正確に補正して効率の良い計測を行うことができ、一回の計測で性能ボトルネックとなる部分を検出するといった用途に適用することができる。
【００１８】
また、本発明は、請求項５に記載するように、複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正方法であって、各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するステップと、イベントデータが示す発生時刻順に出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するステップと、生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成するステップと、生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正するステップと、発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するステップと、を有するイベントトレースデータの時刻補正方法として実現することができる。
【００１９】
さらに、本発明は、請求項６に記載するように、コンピュータを、複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻手段として機能させるためのプログラムであって、各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段、データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段、生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成する時刻オフセット導出手段、生成された各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段、発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段、としてコンピュータを機能させるためのイベントトレースデータの時刻補正プログラムとして構成することができる。
【００２０】
このように本発明は、イベントトレースデータの時刻補正方法として実現することができ、また、本発明に係る時刻補正機能をコンピュータに実現させるためのプログラムとしても提供することができる。
これにより、本発明は、物理的な装置構成のみならず、コンピュータ装置等を使用して実施する方法又はプログラムの形式でも実現が可能であり、あらゆる計算機等に適用可能な、汎用性，拡張性に優れた時刻補正手段を提供することができる。
【発明の効果】
【００２１】
以上のような本発明のイベントトレースデータの時刻補正装置と時刻補正方法によれば、二つのプログラム間の通信において送信イベントは必ず受信イベントに先行して発生するという性質を利用し、それぞれの計算機で採取されたイベントトレースデータ間の相対的時刻差を時刻オフセットとして算出し、その時刻オフセットに基づきイベントトレースデータに記録されているイベント発生時刻を補正することができる。
【００２２】
本発明では、測定時に各コンピュータは各々のタイマ情報等を交換，参照する必要はなく、従って、測定時にタイマの同期を取るための機能等は一切不要であり、トレースデータ収集後の解析操作により所定のオフセット値を求めるだけで、高精度な時刻補正を簡易かつ確実に実施することができる。
すなわち、本発明においては、測定対象となる計算機（通常、高価なサーバ等）に時刻同期を目的とした機能や構成を設ける必要はなく、データ解析を行なう計算機（例えば、ＰＣ）上の解析ソフトウェアにより本発明に係るアルゴリズムを実行するだけで実現が可能である。
【００２３】
これにより、本発明によれば、特別な装置や複雑な構成等を一切必要とすることなく、簡易かつ正確なイベントトレースデータ間の時刻補正が可能となり、例えば、独立して動作する複数の計算機によって処理されるひとつのトランザクションを、それぞれの計算機上で独立して採取したイベントトレースから計算機間の絶対時間の差異による影響を排除して再構成することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明に係るイベントトレースデータの時刻補正装置と時刻補正方法の好ましい実施形態について、図面を参照しつつ説明する。
まず、図１〜図６を参照して、本発明に係るイベントトレースデータの時刻補正装置の構成について説明する。
図１は、本発明の一実施形態に係るイベントトレースデータの時刻補正装置の概略構成を示すブロック図である。
図１に示すように、本発明の一実施形態は、時刻補正装置１００と、複数台の計測対象１〜ｎである計算機１１０〜１１３を備えている。
【００２５】
計算機１１０〜１１３としては、例えば、ｎ−ティア・システムを構成する複数のサーバからなる計算機システムがある。ｎ−ティアの計算機システムにおいては、例えば、ウェブ・サーバとアプリケーション・サーバ，データベース・サーバの３種類のサーバ（計算機）が連携して、ユーザから要求のあったトランザクションの処理，実行が行われる。このため、各サーバの内部時計の時刻差に起因したイベントトレースデータ間の時刻ずれを補正する必要が生じる。
そこで、このような計算機システムが、本実施形態に係る時刻補正装置１００の計測対象（適用対象）として好適なものとなる。
【００２６】
計測対象となる各計算機１１０（１１３）は、図１に示すように、計測用プローブ１１２（１１５）と、計測結果として計測用プローブ１１２（１１５）から出力されるイベントトレースデータ１１１（１１４）を備えている。
計測用プローブ１１２（１１５）は、ＯＳ（オペレーティング・システム）内に埋め込まれる測定用の命令列（ソフトウェア）であり、各計算機１１０（１１３）で発生するイベントを収集し、イベントトレースデータ１１１（１１４）を生成する。
【００２７】
イベントトレースデータ１１１（１１４）は、各計算機で発生する各イベント毎に生成される所定の情報を示すデータである。このイベントトレースデータ１１１（１１４）は、例えば、図２に示すように、各イベント毎に生成されるデータで、送受信イベントの一方の計算機となる自マシン番号２０１，イベント発生の時刻２０２，イベントの種類２０３及び付加情報２０４等から構成される。付加情報２０４としては、当該計算機の自ＩＰアドレス２０４１，自ポート番号２４０２，送受信の相手側となる計算機の相手ＩＰアドレス２０４３と相手ポート番号２０４４等から構成されるデータである。
このようなイベントトレースデータが、各計算機で発生するイベント毎に複数生成され、収集，分析されることになる。
【００２８】
なお、相手側計算機のマシン番号については、通常、イベントトレースデータには含まれないので、図３に示すように、対応するマシン番号とＩＰアドレスを示すマシンＩＰアドレス表が別途参照される。
このＩＰアドレス表は、手作業で、あるいは計測対象マシンでコマンドを実行させた出力結果を解析用マシンに送信することにより、予め生成することができる。
【００２９】
時刻補正装置１００は、例えば、計測対象となる計算機１１１（１１３）以外のＰＣ（パーソナルコンピュータ）等の解析用マシン上に備えられる手段であり、図１に示すように、時刻オフセット算出部１０１と、時刻補正処理部１０２，時刻オフセット表１０６，解析用データ１０９から構成される。
ここで、この時刻補正装置１００を構成する各要素は、プログラム（ソフトウェア）の命令によりコンピュータで実行される処理，手段，機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理や機能、具体的には、データ入力処理，マシン間通信時間表作成処理，時刻オフセット導出処理，時刻補正処理，データ統合処理等を行わせる。
【００３０】
このように、本実施形態に係る時刻補正装置１００の各処理・手段は、プログラムとコンピュータとが協働した具体的手段によって実現されるものである。
なお、プログラムの全部又は一部は、例えば、磁気ディスク，光ディスク，半導体メモリ，その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。
また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
【００３１】
具体的には、時刻オフセット算出部１０１は、データ入力部１０３と、マシン間通信時間表作成部１０４と、時刻オフセット導出部１０５から構成される。
データ入力部１０３は、各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力する手段であり、本発明のデータ入力手段を構成する。
【００３２】
マシン間通信時間表作成部１０４は、データ入力部１０３から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出し、対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成し、通信時間表を作成する手段であり、本発明のマシン間通信時間生成手段を構成する。
マシン間通信時間表作成部１０４は、データ入力部１０３から入力される全イベントトレースデータ中から送受信イベントを抽出し、図４に示すような通信イベントを示す通信状態表（エントリ）を登録，生成しつつ、図５に示すような所定の通信時間表を作成する。
このマシン間通信時間表作成部１０４で作成される通信時間表は、図５に示すように、各計算機が送信側となる場合、受信側となる場合に、各計算機間で送受信されるイベントの発生時刻の差分が通信時間として登録されるようになっている。
【００３３】
時刻オフセット導出部１０５は、マシン間通信時間表作成部１０４で生成された通信時間に基づいて、各計算機に対する所定の時刻オフセット値を生成し、時刻オフセット表１０６を作成する手段であり、本発明の時刻オフセット導出手段を構成する。
この時刻オフセット導出部１０５で作成される時刻オフセット表１０６は、例えば図６に示すような表からなり、各計算機毎に導出されたオフセット値が各計算機を特定するマシン番号とともに示されるようになっている。
【００３４】
時刻補正処理部１０２は、時刻補正部１０７と、データ統合部１０８から構成される。
時刻補正部１０７は、時刻オフセット導出部１０５で生成された時刻オフセット表の各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する手段であり、本発明の時刻補正手段を構成する。
データ統合部１０８は、時刻補正部１０７において発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力する手段であり、本発明のデータ統合手段を構成する。このデータ統合部１０８から出力されるデータが、時刻補正がなされた解析用データ１０９となる。
【００３５】
解析用データ１０９は、図２に示すイベントトレースデータの時刻２０２に、時刻オフセット表１０６で示された時刻オフセット６０２について補正を行ったデータであり、それ以外は図２に示したイベントトレースデータと全く同様の情報からなるデータで構成される。
そして、この解析用データ１０９が、所定の解析プログラム１１６によって解析され、例えば、イベントトレースデータに基づく計算機の動作測定や、トランザクション・プロファイルの生成，プログラムのデバッグ等が行われることになる。
【００３６】
次に、以上のような構成からなる本実施形態のイベントトレースデータの時刻補正装置の動作（時刻補正方法）について、図７〜図１７を参照しつつ説明する。
図７に示すように、図1に示した時刻補正装置１００では、まず、ステップ７０１において、時刻オフセット算出部１０１のデータ入力部１０３により、イベントトレースデータ１〜ｎの全てのイベントトレースデータが入力され、後述する図８に示すアルゴリズムに従い、一イベントずつ選択され各イベントデータが示す発生時刻順に出力される所定のデータ入力処理が行われる（ステップ７０１）。
【００３７】
次に、発生時刻順に出力されるイベントトレースデータは、ステップ７０２において、一イベントずつマシン間通信時間表作成部１０４に入力され、後述する図９〜図１１に示すアルゴリズムに従い、所定のマシン間通信時間表作成処理が行われる（ステップ７０２）。
このデータ入力処理及びマシン間通信時間表作成処理（ステップ７０１，７０２）は、全トレースデータが読み込まれるまで、すなわち、データ入力部１０３が計測対象となる全トレースデータの入力処理の終了を確認するまで繰り返される（ステップ７０３）。
全トレースデータの入力が終了すると、ステップ７０４において、時刻オフセット導出部１０５において、マシン間通信時間表に基づいて、後述する図１２に示すアルゴリズムに従い、所定のオフセット導出処理が行われ（ステップ７０４）、その結果が時刻オフセット表１０６として出力される。
【００３８】
図８を参照して、データ入力処理（図7のステップ７０１）の詳細について説明する。
データ入力処理では、各計算機で実行されるイベント毎に生成される全イベントトレースデータの中から、イベントデータに含まれる発生時刻データの値が最も小さい計算機のマシン番号を選択する処理が行われる。
まず、ステップ８０１において、変数として、マシン番号を表すｉ（初期値は１）と、それまで処理したイベントデータの中で時刻が最も小さい値であったマシン番号を示す変数ｍ（初期値は不定）及びその時刻値であるｔｍ（初期値は変数の取り得る最大値、ここでは∞と表記）を用意する。
【００３９】
次に、ステップ８０２に示すループにおいてマシン番号ｉを1〜ｎまで変化させて、マシン番号ｉのトレースデータで示されるイベント発生時刻（現イベントレコードの時刻：ｔｉと表記）を（ステップ８０３）、最小の時刻値ｔｍと比較する（ステップ８０４）。
時刻ｔｉが時刻ｔｍよりも小さいか又は等しい場合には、ｔｍにｔｉを、またｍにｉを代入し（ステップ８０５）、ステップ８０６へ進む。時刻ｔｉが時刻ｔｍよりも大きい場合には、そのままステップ８０６へ進む。
【００４０】
以上の処理により、ｍには、全イベントトレースデータ中、最も小さい時刻値を持つトレースデータの番号が格納されることになるので、ループ（ステップ８０２）の終了後、トレースデータｍに示された現イベントレコードをデータ入力処理の結果として出力し（ステップ８０７）、次のイベントレコードを読み込み（ステップ８０８）、ステップ８０１〜８０７の処理を繰り返す。
これにより、データ入力部１０３に入力された全イベントトレースデータは、各イベントデータが示す発生時刻順に出力されることになる。
【００４１】
次に、図９〜図１１を参照してマシン間通信時間表作成処理(図７のステップ７０２)の詳細について説明する。
まず、図９を参照して、マシン間通信時間表作成処理における送信イベントと受信イベントの抽出処理の詳細を示す。
図９のステップ９０１において、読み込まれた処理対象イベントが送信イベントか否かが判別され、送信イベント処理であればステップ９０２へ進み、送信イベント処理が行われる（後述する図１０参照）。
読み込まれたイベントが送信イベント処理でなければ、ステップ９０３へ進み、その処理対象イベントが受信イベントか否かが判別され、受信イベントであればステップ９０４へ進んで受信イベント処理が行われる（後述する図１１参照）。
【００４２】
読み込まれたイベントが受信イベントでもなければ、時刻補正装置１００における対象外のイベントであり、本処理は終了する（ステップ９０２）。
以上の処理が繰り返されることにより、データ入力部１０３から出力された全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントが抽出されることになる。
【００４３】
次に、図１０を参照して、マシン間通信時間表作成処理における送信イベント処理（図９のステップ９０２）の詳細について説明する。
まず、ステップ１００１において、図４に示した通信状態表（エントリ）を参照しつつ、イベントレコードの自ＩＰアドレス，自ポート番号，相手ＩＰアドレス，相手ポート番号に一致するエントリ、すなわち、対応する既登録の受信イベントをサーチする(ステップ１００１)。
サーチの結果、対応するエントリ（既登録の受信イベント）が存在しない場合には（ステップ１００２のＮＯ）、当該送信イベントについてのエントリを作成して（ステップ１００３）、ステップ１００４に進む。
サーチの結果、エントリ（対応する受信イベント）が存在する場合には（ステップ１００２のＹＥＳ）、そのままステップ１００４へ進む。
【００４４】
ステップ１００４では、マシンＩＰアドレス表（図３）を参照して、イベントの受信側となる相手ＩＰアドレスより相手マシン番号を求める。
次いで、通信状態表（図４）を参照して、対応するエントリのデータサイズ（図４の４０６）が０（ゼロ）か否かを判別し、データサイズが０でなければステップ１００６へ進み、データサイズが０であればステップ１００９へ進む（ステップ１００５）。
対応するエントリのデータサイズが０でない場合には、対応する受信イベントについてのエントリが存在することになるので、ステップ１００６において、通信時間として、エントリが示す時刻（受信時刻）から送信イベントのイベントレコードが示す時刻（送信時刻）を減算した値を代入するとともに、エントリのデータサイズ（受信データサイズ）にイベントレコードのデータサイズ（送信データサイズ）を加算した値を代入する（ステップ１００６）。
このように送信イベントのデータサイズをエントリに加算するとともに、後述する受信イベントのデータサイズをエントリから減算する（図１１参照）ことにより、送信イベントで送信されたデータが全て受信イベントで受信されたか否かのメンテナンスをすることができ、データサイズを考慮して送受信イベントの対応関係を正確に解析することができるようになる。
【００４５】
次に、ステップ１００６で求められた通信時間と、通信時間表（図５）に登録されている対応するマシン間の通信時間（トレースデータに含まれる自マシン番号とステップ１００４で求めた相手マシン番号で示される通信時間表に登録された通信時間：通信時間表[自マシン番号][相手マシン番号]と表記）の値を比較する（ステップ１００７）。比較の結果、ステップ１００６で求められた通信時間の方が小さい場合にはステップ１００８へ進み、算出された通信時間の方が大きいか等しい場合には本処理は終了となる（ステップ１００７）。
【００４６】
ステップ１００８では、対応する通信時間表（通信時間表[自マシン番号][相手マシン番号]）に、ステップ１００６で求められた通信時間の値を代入し、本処理は終了となる（ステップ１００８）。
また、ステップ１００５において、データサイズが０の場合には、対応する受信イベントのエントリが登録されていない場合であり、エントリのデータサイズ（図４の４０６）にイベントレコードのデータサイズを登録し、また、エントリの時刻（図４の４０７）にイベントレコードの時刻を代入し、本処理は終了となる（ステップ１００９）。
以上の処理が繰り返されることにより、抽出された全送信イベントについてのエントリ（通信状態表）への登録と、対応する受信イベントとのイベント発生時刻の差分に基づく通信時間表の作成が行われることになる。
【００４７】
次に、図１１を参照して、マシン間通信時間表作成処理における受信イベント処理（図９のステップ９０４）の詳細について説明する。
まず、ステップ１１０１において、図４に示した通信状態表（エントリ）を参照しつつ、イベントレコードの自ＩＰアドレス，自ポート番号，相手ＩＰアドレス，相手ポート番号に一致するエントリ、すなわち、対応する既登録の送信イベントをサーチする(ステップ１１０１)。
サーチの結果、対応するエントリ（既登録の送信イベント）が存在しない場合には（ステップ１１０２のＮＯ）、当該受信イベントについてのエントリを作成して（ステップ１１０３）、ステップ１１０４に進む。
サーチの結果、エントリ（対応する送信イベント）が存在する場合には（ステップ１１０２のＹＥＳ）、そのままステップ１１０４へ進む。
【００４８】
ステップ１１０４では、マシンＩＰアドレス表（図３）を参照して、イベントの送信側となる相手ＩＰアドレスより相手マシン番号を求める。
次いで、通信状態表（図４）を参照して、対応するエントリのデータサイズ（図４の４０６）が０（ゼロ）か否かを判別し、データサイズが０でなければステップ１１０６へ進み、データサイズが０であればステップ１１０９へ進む（ステップ１１０５）。
対応するエントリのデータサイズが０でない場合には、対応する送信イベントについてのエントリが存在することになるので、ステップ１１０６において、通信時間として、受信イベントのイベントレコードが示す時刻（受信時刻）からエントリが示す時刻（送信時刻）を減算した値を代入するとともに、エントリのデータサイズ（送信データサイズ）からイベントレコードのデータサイズ（受信データサイズ）を減算した値を代入する（ステップ１１０６）。
【００４９】
次に、ステップ１１０６で求められた通信時間と、通信時間表（図５）に登録されている対応するマシン間の通信時間（通信時間：通信時間表[相手マシン番号][自マシン番号]と表記）の値を比較する（ステップ１１０７）。比較の結果、ステップ１１０６で求められた通信時間の方が小さい場合にはステップ１１０８へ進み、算出された通信時間の方が大きいか等しい場合には本処理は終了となる（ステップ１１０７）。
ステップ１１０８では、対応する通信時間表（通信時間表[相手マシン番号][自マシン番号]）に、ステップ１１０６で求められた通信時間の値を代入し、本処理は終了となる（ステップ１１０８）。
【００５０】
また、ステップ１１０５において、データサイズが０の場合には、対応する送信イベントのエントリが登録されていない場合であり、エントリのデータサイズ（図４の４０６）にイベントレコードのデータサイズを登録し、また、エントリの時刻（図４の４０７）にイベントレコードの時刻を代入し、本処理は終了となる（ステップ１１０９）。
以上の処理が繰り返されることにより、抽出された全受信イベントについてのエントリ（通信状態表）への登録と、対応する送信イベントとのイベント発生時刻の差分に基づく通信時間表の作成が行われることになる。
【００５１】
次に、図１２を参照して、時刻オフセット導出処理（図７のステップ７０４）の詳細について説明する。
まず、ステップ１２０１において、時刻オフセット表（図６）の全要素を０とし、ステップ１２０２に進む。
次に、上述したマシン間通信時間表作成処理において作成された通信時間表（図５）の全通信時間中から、通信時間の値が最小(絶対値で最大)のマイナス値の要素を抽出し、その最小マイナス値に係る送受信イベントを特定する送信マシン番号（図５の５０1）をｓ、受信マシン番号（図５の５０２）をｒとし、ステップ１２０３へ進む（ステップ１２０２）。
ステップ１２０２において、ｓ，ｒで示される通信時間（通信時間表[ｓ][ｒ]）の値が０より小さい場合は、ステップ１２０４へ進み、通信時間表[ｓ][ｒ]の値が０か又は０より大きい場合には、本処理を終了する（ステップ１２０３）。
【００５２】
ステップ１２０４では、時刻オフセット表[ｓ]に通信時間表[ｓ][ｒ]の値（最小マイナス値）を代入し、ステップ１２０５へ進む。
ステップ１２０５では、通信時間表[ｓ][＊]（＊は１〜ｎ）の値に時刻オフセット表[ｓ]の値を減算した値を代入し、ステップ１２０６へ進む。
ステップ１２０６では、通信時間表[＊][ｓ]（＊は１〜ｎ）の値に通信オフセット表[ｓ]の値を加算した値を代入し、ステップ１２０２へ戻る。
以上のオフセット導出処理（ステップ１２０２〜１２０６）を繰り返し、通信時間表の全通信時間中にマイナス値がなくなるまで処理を繰り返すことにより、全ての計算機についての時刻オフセット値が導出され、時刻オフセット表１０６が完成し（図６参照）、出力されることになる。
【００５３】
図１３〜図１５の通信時間表の一例を参照しつつ、以上の時刻オフセット導出処理の具体的な内容を説明する。
まず、マシン間通信時間表作成処理により図１３に示すような通信時間表が作成された場合に、通信時間中から最小マイナス値が抽出される。この場合は、図１４に示すように、最小マイナス値は−０．２０であり、その最小マイナス値の送信側計算機はマシン番号２となる（図1４の1４０１）。従って、時刻オフセット表には、マシン番号２のオフセット値として−０．２０が登録される。
次に、このオフセット値に基づいて、通信時間表中のマシン番号２の計算機が送信側となる全ての通信時間に対して、オフセット値−０．２０を減算するとともに、当該計算機が受信側となる全ての通信時間に対して、オフセット値−０．２０を加算する。
【００５４】
このようにすると、図１５に示すように、マシン番号２の計算機が送信側となる通信時間は、［−０．１０，−０．２０］が［０．１０，０．００］にオフセット処理され（図1５の1５０１）、マシン番号２の計算機が受信側となる通信時間は、［０．１５，０．３０］が［−０．１５，０．１０］にオフセット処理される（図1５の1５０２）。
これで最小マイナス値−０．２０のオフセット処理が終了し、通信時間表は図１５に示す内容に更新されるので、次の最小マイナス値−０．０５（マシン番号１の計算機が送信側）が抽出され、同様のオフセット処理が繰り返され、通信時間表の全通信時間中にマイナス値がなくなるまで処理が繰り返し行われる。
【００５５】
以上のようにしてオフセット処理される通信時間とオフセット値の関係を概念的に示すと図１６のようになる。
同図において、破線の矢印はマシン２が送信側となるイベント、実線の矢印はマシン２が受信側となるイベントを示している。
まず、マシン２が送信側となるイベントの場合、図１６（ａ）に示すオフセット処理前の状態では、マシン１に対しては−０．１０、マシンｉに対しては−０．２０の通信時間となっている（図１３参照）。同様に、マシン２が受信側となるイベントの場合、図１６（ａ）に示すオフセット処理前の状態では、マシン１に対しては０．１５、マシンｉに対しては０．３０の通信時間となっている（図１３参照）。
【００５６】
このような通信時間に対して、最小マイナス値であるマシン２の−０．２０のオフセット値に基づいてオフセット処理を行うと、図１６（ｂ）に示すように、マシン２が送信側となるイベントについては、マシン１に対しては０．１０、マシンｉに対しては０．００になり、マシン２が受信側となるイベントについては、マシン１に対しては−０．０５、マシンｉに対しては０．１０に補正される（図１５参照）。
これで最小マイナス値−０．２０のオフセット処理が終了し、続いて最小マイナス値であるマシン１の−０．０５のオフセット値に基づくオフセット処理が行われる。この場合には、図１６（ｃ）に示すように、マシン２が送信側となるイベントについては、マシン１に対しては０．０５、マシンｉに対しては０．００になり、マシン２が受信側となるイベントについては、マシン１に対しては０．００、マシンｉに対しては０．１０に補正される。このようにして、オフセット処理を繰り返すことにより、全マシン間の時刻補正処理がなされる。
【００５７】
次に、図１７を参照して、時刻補正されたイベントトレースデータのデータ統合処理の詳細について説明する。
データ統合処理では、時刻オフセット処理を経て時刻補正がなされた全イベントトレースデータの中から、補正された発生時刻データの値が最も小さい計算機のマシン番号を選択する処理が行われる。
まず、ステップ１７０１において、変数として、マシン番号を表すｉ（初期値は１）と、それまで処理したイベントデータの中で補正後の時刻が最も小さい値であったマシン番号を示す変数ｍ（初期値は不定）及びその時刻値であるｔｍ（初期値は変数の取り得る最大値、ここでは∞と表記）を用意する。
【００５８】
次に、ステップ１７０２に示すループにおいてマシン番号ｉを1〜ｎまで変化させて、マシン番号ｉのトレースデータで示される現イベントレコードの時刻に時刻オフセット表［ｉ］（図６）の値を加算したイベント発生時刻（ｔｉと表記）を（ステップ１７０３）、最小の時刻値ｔｍと比較する（ステップ１７０４）。
時刻ｔｉが時刻ｔｍよりも小さいか又は等しい場合には、ｔｍにｔｉを、またｍにｉを代入し（ステップ１７０５）、ステップ１７０６へ進む。時刻ｔｉが時刻ｔｍよりも大きい場合には、そのままステップ１７０６へ進む。
【００５９】
以上の処理により、ｍには、全イベントトレースデータ中、オフセット値が加算された補正後の最も小さい時刻値を持つトレースデータの番号が格納されることになるので、ループ（ステップ１７０２）の終了後、トレースデータｍに示された現イベントレコードをデータ入力処理の結果として出力し（ステップ１７０７）、次のイベントレコードを読み込み（ステップ１７０８）、ステップ１７０１〜１７０７の処理を繰り返す。
これにより、時刻オフセット処理がなされた全イベントトレースデータは、各イベントデータが示す補正後の時刻順に統合され、解析用データ１０９として出力されることになる。
そして、この解析用データ１０９は、解析プログラム１１６に入力され、所定の解析処理、例えば、イベントトレースデータに基づく計算機の動作測定や、トランザクション・プロファイルの生成，プログラムのデバッグ等が行われることになる。
【００６０】
以上説明したように、本実施形態に係るイベントトレースデータの時刻補正装置と時刻補正方法によれば、複数の計算機で発生する各イベントの順序性に着目し、送受信イベントの発生時刻の差分に基づいて、時刻補正のオフセット値を算出し、これによって、各イベントデータの時刻ずれを相対的に補正することができる。複数のプログラム間の通信では、送信イベントは常に対応する受信イベントの前に発生することになり、この順序は、プログラムの内容に拘わらず普遍なものとなる。
本実施形態では、このイベントの順序性に基づき、各計算機で採取されたイベントを、事前に規定されるプログラムの実行順序に並べることで、送信イベントと受信イベントの発生時刻の差分を算出し、各イベント間で生ずる発生時刻の相対的な時刻差を時刻オフセットとして算出する。
【００６１】
そして、イベントトレースデータの分析時に、算出されたオフセット値を各イベントデータの発生時刻に加算することで、複数の計算機の内部時計の相対的時刻差による影響を排除することができる。
このようにして、イベントトレースデータに含まれる発生時刻を送受信イベントの順序性に基づいて相対的に補正することができ、時刻情報の同期を取るための特殊な装置や複雑な構成等を必要とすることなく、簡易かつ正確にイベントトレースデータの時刻補正を実現することができる。
【００６２】
以上、本発明のイベントトレースデータの時刻補正装置と時刻補正方法について、好ましい実施形態を示して説明したが、本発明は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、本発明が適用される複数の計算機として、ネットワークを介して接続される複数のコンピュータ・システムの場合を示したが、これに限られるものではない。例えば、単一のコンピュータ装置に複数のプロセッサが備えられるマルチ・プロセッサ・システムについて、本発明を適用することも可能である。本発明の適用対象となる複数の計算機は、順序性のあるイベントを出力する計算機である限り、複数のコンピュータ装置だけでなく、複数のプロセッサであっても良い。
【産業上の利用可能性】
【００６３】
本発明は、複数の計算機から収集した発生時刻付きイベントトレースデータの時刻ずれを補正する時刻補正装置として、クライアント・サーバ・システムやマルチ・プロセッサ・システム等のコンピュータ・システムの分野において利用することができる。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態に係るイベントトレースデータの時刻補正装置の概略構成を示すブロック図である。
【図２】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で使用されるイベントトレースデータの一例を示す図である。
【図３】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で使用されるマシンＩＰアドレス表を示す図である。
【図４】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で使用される通信状態表を示す図である。
【図５】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で生成されるマシン間通信時間表の一例を示す図である。
【図６】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で生成される時刻オフセット表の一例を示す図である。
【図７】本発明の一実施形態に係るイベントトレースデータの時刻補正装置で実行される時刻補正方法の全体を示すフローチャートである。
【図８】本発明の一実施形態に係るイベントトレースデータの時刻補正方法におけるデータ入力処理の詳細を示すフローチャートである。
【図９】本発明の一実施形態に係るイベントトレースデータの時刻補正方法のマシン間通信時間表作成処理における送信イベントと受信イベントの抽出処理を示すフローチャートである。
【図１０】本発明の一実施形態に係るイベントトレースデータの時刻補正方法のマシン間通信時間表作成処理における送信イベント処理の詳細を示すフローチャートである。
【図１１】本発明の一実施形態に係るイベントトレースデータの時刻補正方法のマシン間通信時間表作成処理における受信イベント処理の詳細を示すフローチャートである。
【図１２】本発明の一実施形態に係るイベントトレースデータの時刻補正方法における時刻オフセット導出処理の詳細を示すフローチャートである。
【図１３】本発明の一実施形態に係るイベントトレースデータの時刻補正方法により作成されるマシン間通信時間表の一例を示す図であり、時刻オフセット処理前の状態を示している。
【図１４】本発明の一実施形態に係るイベントトレースデータの時刻補正方法により作成されるマシン間通信時間表の一例を示す図であり、オフセット値を抽出した状態を示している。
【図１５】本発明の一実施形態に係るイベントトレースデータの時刻補正方法により作成されるマシン間通信時間表の一例を示す図であり、時刻オフセット処理後の状態を示している。
【図１６】本発明の一実施形態に係るイベントトレースデータの時刻補正方法によるオフセット処理される通信時間とオフセット値の関係を概念的に示す説明図である。
【図１７】本発明の一実施形態に係るイベントトレースデータの時刻補正方法における時刻補正処理及びデータ統合処理の詳細を示すフローチャートである。
【符号の説明】
【００６５】
１００  時刻補正装置
１０１  時刻オフセット算出部
１０２  時刻補正部
１０３  データ入力部
１０４  マシン間通信時間生成部
１０５  時刻オフセット導出部
１０６  時刻オフセット表
１０７  時刻補正部
１０８  データ統合部
１０９  解析用データ  
１１０  計測対象１（計算機）
１１１  イベントトレースデータ
１１２  計測用プローブ
１１３  計測対象ｎ（計算機）
１１４  イベントトレースデータ
１１５  計測用プローブ
１１６  解析プログラム
【図１】
2005235054.tif 000003
【図２】
2005235054.tif 000004
【図３】
2005235054.tif 000005
【図４】
2005235054.tif 000006
【図５】
2005235054.tif 000007
【図６】
2005235054.tif 000008
【図７】
2005235054.tif 000009
【図８】
2005235054.tif 000010
【図９】
2005235054.tif 000011
【図１０】
2005235054.tif 000012
【図１１】
2005235054.tif 000013
【図１２】
2005235054.tif 000014
【図１３】
2005235054.tif 000015
【図１４】
2005235054.tif 000016
【図１５】
2005235054.tif 000017
【図１６】
2005235054.tif 000018
【図１７】
2005235054.tif 000019