JP4347082B2 - イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム - Google Patents
イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム Download PDFInfo
- Publication number
- JP4347082B2 JP4347082B2 JP2004045966A JP2004045966A JP4347082B2 JP 4347082 B2 JP4347082 B2 JP 4347082B2 JP 2004045966 A JP2004045966 A JP 2004045966A JP 2004045966 A JP2004045966 A JP 2004045966A JP 4347082 B2 JP4347082 B2 JP 4347082B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- event
- computer
- transmission
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
具体的には、計算機上で各種のイベント(例えば、プログラムの開始や割り込みの発生等)が処理,実行される毎に、そのイベントの種類や計算機内部の状態,イベントの発生時刻等を示すイベントトレースデータを生成し、そのイベントトレースデータを収集,分析することにより、計算機の動作測定やトランザクション・プロファイルの生成,プログラムのデバッグ等が行われている(例えば、特許文献1−3参照。)。
このようにひとつの処理(トランザクション)が複数の計算機上で処理,実行される場合に、そのトランザクションの性能を分析するためには、各計算機上でのプログラムの実行状況を示す多数のイベントトレースデータを、ひとつのトランザクションを構成するように関連付けする必要がある。
このようなイベントトレースデータの時間的な関連付けは、各イベントデータに含まれるイベントの発生時刻データに基づいて行うことができるが、正確な関連づけを行うためには、各計算機の絶対時刻を完全に一致させる必要がある。
しかし、現実のシステムにおいては、各計算機の内部時計に相対的な時刻差が存在するため、正確な関連付けが行えないという問題が発生する。
しかし、このNTP方式を用いても、ある程度までの時刻合わせが限界で、例えば10ms程度の時刻合わせは困難であり、また、余りに大きな時刻ずれがある場合にも、そのずれを補正することはできなかった。
このような計算機では、10ms程度の時間の中に複数のプログラムが実行される可能性が高く、10ms以上の範囲で誤差が生じるNTP又はそれに準ずるような時刻合わせ方式で対応するのは困難であった。
また、現実問題として、性能測定や分析のために、運用中のサーバ等に対して計算機内の時計を修正するということは、通常、保守等の観点から難しく、実用的ではなかった。
例えば、特許文献4には、ホスト・コンピュータでトレース開始時における時刻を初期時刻情報として記憶するともに、各端末機ではイベント発生と同時にタイマによるカウントを行い、端末側のカウント値をホスト・コンピュータの初期時刻情報に加算することにより時刻情報を同期化するイベントトレースデータの作成方法が提案されている。
また、特許文献5には、複数の計算機(プロセッサ)で生成される各トレース情報について使用される単一の時刻情報としてマイクロセカンドのオーダーで時刻を計時するカウンタ・レジスタを備えることで、トレース時刻情報を共通化する方法が提案されている。
同様に、特許文献5に開示された方法では、共通の時刻情報をマイクロセカンドのオーダーで計時する計時手段を別途備える必要があった。
このように、従来の技術では、時刻情報の同期を取るための時刻情報の送信機能や交換機能を実現するための手段が別途必要となり、既存の計算機システムに直ちに適用することは不可能で、また、計算機の構成が複雑化するおそれがあり、実際には実現は困難であった。
このため、特殊な装置構成等を別途必要とすることなく、簡易かつ正確に複数の計算機間における時刻情報の同期を取ることができる技術が望まれるようになったが、現在までのところ有効な提案はなされていない。
複数のプログラム間の通信では、送信イベントは常に対応する受信イベントの前に発生することになる。例えば、プログラムAとプログラムBが通信を介して二つの計算機間で処理を行うような場合に、プログラムA、プログラムBの順序で処理が実行される場合、プログラムAからプログラムBへの送信イベントは、必ずプログラムBでの受信イベントより先に発生する。すなわち、送信イベントは必ず受信イベントの前に発生するものであり、この順序は普遍なものとなる。
そして、イベントトレースデータの分析時に、算出されたオフセット値を各イベントデータの発生時刻に加算することで、複数の計算機の内部時計の相対的時刻差による影響を排除することができる。
このようにして、イベントトレースデータに含まれる発生時刻を送受信イベントの順序性に基づいて相対的に補正することができ、時刻情報の同期を取るための特殊な装置や複雑な構成等を必要とすることなく、簡易かつ正確にイベントトレースデータの時刻補正を実現することができる。
これにより、例えば、独立して稼動する複数のサーバによって実行されるひとつのトランザクションについて、サーバ間の時刻ずれを正確に補正して効率の良い計測を行うことができ、一回の計測で性能ボトルネックとなる部分を検出するといった用途に適用することができる。
これにより、本発明は、物理的な装置構成のみならず、コンピュータ装置等を使用して実施する方法又はプログラムの形式でも実現が可能であり、あらゆる計算機等に適用可能な、汎用性,拡張性に優れた時刻補正手段を提供することができる。
すなわち、本発明においては、測定対象となる計算機(通常、高価なサーバ等)に時刻同期を目的とした機能や構成を設ける必要はなく、データ解析を行なう計算機(例えば、PC)上の解析ソフトウェアにより本発明に係るアルゴリズムを実行するだけで実現が可能である。
まず、図1〜図6を参照して、本発明に係るイベントトレースデータの時刻補正装置の構成について説明する。
図1は、本発明の一実施形態に係るイベントトレースデータの時刻補正装置の概略構成を示すブロック図である。
図1に示すように、本発明の一実施形態は、時刻補正装置100と、複数台の計測対象1〜nである計算機110〜113を備えている。
そこで、このような計算機システムが、本実施形態に係る時刻補正装置100の計測対象(適用対象)として好適なものとなる。
計測用プローブ112(115)は、OS(オペレーティング・システム)内に埋め込まれる測定用の命令列(ソフトウェア)であり、各計算機110(113)で発生するイベントを収集し、イベントトレースデータ111(114)を生成する。
このようなイベントトレースデータが、各計算機で発生するイベント毎に複数生成され、収集,分析されることになる。
このIPアドレス表は、手作業で、あるいは計測対象マシンでコマンドを実行させた出力結果を解析用マシンに送信することにより、予め生成することができる。
ここで、この時刻補正装置100を構成する各要素は、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理や機能、具体的には、データ入力処理,マシン間通信時間表作成処理,時刻オフセット導出処理,時刻補正処理,データ統合処理等を行わせる。
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。
また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
データ入力部103は、各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力する手段であり、本発明のデータ入力手段を構成する。
マシン間通信時間表作成部104は、データ入力部103から入力される全イベントトレースデータ中から送受信イベントを抽出し、図4に示すような通信イベントを示す通信状態表(エントリ)を登録,生成しつつ、図5に示すような所定の通信時間表を作成する。
このマシン間通信時間表作成部104で作成される通信時間表は、図5に示すように、各計算機が送信側となる場合、受信側となる場合に、各計算機間で送受信されるイベントの発生時刻の差分が通信時間として登録されるようになっている。
この時刻オフセット導出部105で作成される時刻オフセット表106は、例えば図6に示すような表からなり、各計算機毎に導出されたオフセット値が各計算機を特定するマシン番号とともに示されるようになっている。
時刻補正部107は、時刻オフセット導出部105で生成された時刻オフセット表の各オフセット値に基づき、各計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する手段であり、本発明の時刻補正手段を構成する。
データ統合部108は、時刻補正部107において発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力する手段であり、本発明のデータ統合手段を構成する。このデータ統合部108から出力されるデータが、時刻補正がなされた解析用データ109となる。
そして、この解析用データ109が、所定の解析プログラム116によって解析され、例えば、イベントトレースデータに基づく計算機の動作測定や、トランザクション・プロファイルの生成,プログラムのデバッグ等が行われることになる。
図7に示すように、図1に示した時刻補正装置100では、まず、ステップ701において、時刻オフセット算出部101のデータ入力部103により、イベントトレースデータ1〜nの全てのイベントトレースデータが入力され、後述する図8に示すアルゴリズムに従い、一イベントずつ選択され各イベントデータが示す発生時刻順に出力される所定のデータ入力処理が行われる(ステップ701)。
このデータ入力処理及びマシン間通信時間表作成処理(ステップ701,702)は、全トレースデータが読み込まれるまで、すなわち、データ入力部103が計測対象となる全トレースデータの入力処理の終了を確認するまで繰り返される(ステップ703)。
全トレースデータの入力が終了すると、ステップ704において、時刻オフセット導出部105において、マシン間通信時間表に基づいて、後述する図12に示すアルゴリズムに従い、所定のオフセット導出処理が行われ(ステップ704)、その結果が時刻オフセット表106として出力される。
データ入力処理では、各計算機で実行されるイベント毎に生成される全イベントトレースデータの中から、イベントデータに含まれる発生時刻データの値が最も小さい計算機のマシン番号を選択する処理が行われる。
まず、ステップ801において、変数として、マシン番号を表すi(初期値は1)と、それまで処理したイベントデータの中で時刻が最も小さい値であったマシン番号を示す変数m(初期値は不定)及びその時刻値であるtm(初期値は変数の取り得る最大値、ここでは∞と表記)を用意する。
時刻tiが時刻tmよりも小さいか又は等しい場合には、tmにtiを、またmにiを代入し(ステップ805)、ステップ806へ進む。時刻tiが時刻tmよりも大きい場合には、そのままステップ806へ進む。
これにより、データ入力部103に入力された全イベントトレースデータは、各イベントデータが示す発生時刻順に出力されることになる。
まず、図9を参照して、マシン間通信時間表作成処理における送信イベントと受信イベントの抽出処理の詳細を示す。
図9のステップ901において、読み込まれた処理対象イベントが送信イベントか否かが判別され、送信イベント処理であればステップ902へ進み、送信イベント処理が行われる(後述する図10参照)。
読み込まれたイベントが送信イベント処理でなければ、ステップ903へ進み、その処理対象イベントが受信イベントか否かが判別され、受信イベントであればステップ904へ進んで受信イベント処理が行われる(後述する図11参照)。
以上の処理が繰り返されることにより、データ入力部103から出力された全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントが抽出されることになる。
まず、ステップ1001において、図4に示した通信状態表(エントリ)を参照しつつ、イベントレコードの自IPアドレス,自ポート番号,相手IPアドレス,相手ポート番号に一致するエントリ、すなわち、対応する既登録の受信イベントをサーチする(ステップ1001)。
サーチの結果、対応するエントリ(既登録の受信イベント)が存在しない場合には(ステップ1002のNO)、当該送信イベントについてのエントリを作成して(ステップ1003)、ステップ1004に進む。
サーチの結果、エントリ(対応する受信イベント)が存在する場合には(ステップ1002のYES)、そのままステップ1004へ進む。
次いで、通信状態表(図4)を参照して、対応するエントリのデータサイズ(図4の406)が0(ゼロ)か否かを判別し、データサイズが0でなければステップ1006へ進み、データサイズが0であればステップ1009へ進む(ステップ1005)。
対応するエントリのデータサイズが0でない場合には、対応する受信イベントについてのエントリが存在することになるので、ステップ1006において、通信時間として、エントリが示す時刻(受信時刻)から送信イベントのイベントレコードが示す時刻(送信時刻)を減算した値を代入するとともに、エントリのデータサイズ(受信データサイズ)にイベントレコードのデータサイズ(送信データサイズ)を加算した値を代入する(ステップ1006)。
このように送信イベントのデータサイズをエントリに加算するとともに、後述する受信イベントのデータサイズをエントリから減算する(図11参照)ことにより、送信イベントで送信されたデータが全て受信イベントで受信されたか否かのメンテナンスをすることができ、データサイズを考慮して送受信イベントの対応関係を正確に解析することができるようになる。
また、ステップ1005において、データサイズが0の場合には、対応する受信イベントのエントリが登録されていない場合であり、エントリのデータサイズ(図4の406)にイベントレコードのデータサイズを登録し、また、エントリの時刻(図4の407)にイベントレコードの時刻を代入し、本処理は終了となる(ステップ1009)。
以上の処理が繰り返されることにより、抽出された全送信イベントについてのエントリ(通信状態表)への登録と、対応する受信イベントとのイベント発生時刻の差分に基づく通信時間表の作成が行われることになる。
まず、ステップ1101において、図4に示した通信状態表(エントリ)を参照しつつ、イベントレコードの自IPアドレス,自ポート番号,相手IPアドレス,相手ポート番号に一致するエントリ、すなわち、対応する既登録の送信イベントをサーチする(ステップ1101)。
サーチの結果、対応するエントリ(既登録の送信イベント)が存在しない場合には(ステップ1102のNO)、当該受信イベントについてのエントリを作成して(ステップ1103)、ステップ1104に進む。
サーチの結果、エントリ(対応する送信イベント)が存在する場合には(ステップ1102のYES)、そのままステップ1104へ進む。
次いで、通信状態表(図4)を参照して、対応するエントリのデータサイズ(図4の406)が0(ゼロ)か否かを判別し、データサイズが0でなければステップ1106へ進み、データサイズが0であればステップ1109へ進む(ステップ1105)。
対応するエントリのデータサイズが0でない場合には、対応する送信イベントについてのエントリが存在することになるので、ステップ1106において、通信時間として、受信イベントのイベントレコードが示す時刻(受信時刻)からエントリが示す時刻(送信時刻)を減算した値を代入するとともに、エントリのデータサイズ(送信データサイズ)からイベントレコードのデータサイズ(受信データサイズ)を減算した値を代入する(ステップ1106)。
ステップ1108では、対応する通信時間表(通信時間表[相手マシン番号][自マシン番号])に、ステップ1106で求められた通信時間の値を代入し、本処理は終了となる(ステップ1108)。
以上の処理が繰り返されることにより、抽出された全受信イベントについてのエントリ(通信状態表)への登録と、対応する送信イベントとのイベント発生時刻の差分に基づく通信時間表の作成が行われることになる。
まず、ステップ1201において、時刻オフセット表(図6)の全要素を0とし、ステップ1202に進む。
次に、上述したマシン間通信時間表作成処理において作成された通信時間表(図5)の全通信時間中から、通信時間の値が最小(絶対値で最大)のマイナス値の要素を抽出し、その最小マイナス値に係る送受信イベントを特定する送信マシン番号(図5の501)をs、受信マシン番号(図5の502)をrとし、ステップ1203へ進む(ステップ1202)。
ステップ1202において、s,rで示される通信時間(通信時間表[s][r])の値が0より小さい場合は、ステップ1204へ進み、通信時間表[s][r]の値が0か又は0より大きい場合には、本処理を終了する(ステップ1203)。
ステップ1205では、通信時間表[s][*](*は1〜n)の値に時刻オフセット表[s]の値を減算した値を代入し、ステップ1206へ進む。
ステップ1206では、通信時間表[*][s](*は1〜n)の値に通信オフセット表[s]の値を加算した値を代入し、ステップ1202へ戻る。
以上のオフセット導出処理(ステップ1202〜1206)を繰り返し、通信時間表の全通信時間中にマイナス値がなくなるまで処理を繰り返すことにより、全ての計算機についての時刻オフセット値が導出され、時刻オフセット表106が完成し(図6参照)、出力されることになる。
まず、マシン間通信時間表作成処理により図13に示すような通信時間表が作成された場合に、通信時間中から最小マイナス値が抽出される。この場合は、図14に示すように、最小マイナス値は−0.20であり、その最小マイナス値の送信側計算機はマシン番号2となる(図14の1401)。従って、時刻オフセット表には、マシン番号2のオフセット値として−0.20が登録される。
次に、このオフセット値に基づいて、通信時間表中のマシン番号2の計算機が送信側となる全ての通信時間に対して、オフセット値−0.20を減算するとともに、当該計算機が受信側となる全ての通信時間に対して、オフセット値−0.20を加算する。
これで最小マイナス値−0.20のオフセット処理が終了し、通信時間表は図15に示す内容に更新されるので、次の最小マイナス値−0.05(マシン番号1の計算機が送信側)が抽出され、同様のオフセット処理が繰り返され、通信時間表の全通信時間中にマイナス値がなくなるまで処理が繰り返し行われる。
同図において、破線の矢印はマシン2が送信側となるイベント、実線の矢印はマシン2が受信側となるイベントを示している。
まず、マシン2が送信側となるイベントの場合、図16(a)に示すオフセット処理前の状態では、マシン1に対しては−0.10、マシンiに対しては−0.20の通信時間となっている(図13参照)。同様に、マシン2が受信側となるイベントの場合、図16(a)に示すオフセット処理前の状態では、マシン1に対しては0.15、マシンiに対しては0.30の通信時間となっている(図13参照)。
これで最小マイナス値−0.20のオフセット処理が終了し、続いて最小マイナス値であるマシン1の−0.05のオフセット値に基づくオフセット処理が行われる。この場合には、図16(c)に示すように、マシン2が送信側となるイベントについては、マシン1に対しては0.05、マシンiに対しては0.00になり、マシン2が受信側となるイベントについては、マシン1に対しては0.00、マシンiに対しては0.10に補正される。このようにして、オフセット処理を繰り返すことにより、全マシン間の時刻補正処理がなされる。
データ統合処理では、時刻オフセット処理を経て時刻補正がなされた全イベントトレースデータの中から、補正された発生時刻データの値が最も小さい計算機のマシン番号を選択する処理が行われる。
まず、ステップ1701において、変数として、マシン番号を表すi(初期値は1)と、それまで処理したイベントデータの中で補正後の時刻が最も小さい値であったマシン番号を示す変数m(初期値は不定)及びその時刻値であるtm(初期値は変数の取り得る最大値、ここでは∞と表記)を用意する。
時刻tiが時刻tmよりも小さいか又は等しい場合には、tmにtiを、またmにiを代入し(ステップ1705)、ステップ1706へ進む。時刻tiが時刻tmよりも大きい場合には、そのままステップ1706へ進む。
これにより、時刻オフセット処理がなされた全イベントトレースデータは、各イベントデータが示す補正後の時刻順に統合され、解析用データ109として出力されることになる。
そして、この解析用データ109は、解析プログラム116に入力され、所定の解析処理、例えば、イベントトレースデータに基づく計算機の動作測定や、トランザクション・プロファイルの生成,プログラムのデバッグ等が行われることになる。
本実施形態では、このイベントの順序性に基づき、各計算機で採取されたイベントを、事前に規定されるプログラムの実行順序に並べることで、送信イベントと受信イベントの発生時刻の差分を算出し、各イベント間で生ずる発生時刻の相対的な時刻差を時刻オフセットとして算出する。
このようにして、イベントトレースデータに含まれる発生時刻を送受信イベントの順序性に基づいて相対的に補正することができ、時刻情報の同期を取るための特殊な装置や複雑な構成等を必要とすることなく、簡易かつ正確にイベントトレースデータの時刻補正を実現することができる。
例えば、上述した実施形態では、本発明が適用される複数の計算機として、ネットワークを介して接続される複数のコンピュータ・システムの場合を示したが、これに限られるものではない。例えば、単一のコンピュータ装置に複数のプロセッサが備えられるマルチ・プロセッサ・システムについて、本発明を適用することも可能である。本発明の適用対象となる複数の計算機は、順序性のあるイベントを出力する計算機である限り、複数のコンピュータ装置だけでなく、複数のプロセッサであっても良い。
101 時刻オフセット算出部
102 時刻補正部
103 データ入力部
104 マシン間通信時間生成部
105 時刻オフセット導出部
106 時刻オフセット表
107 時刻補正部
108 データ統合部
109 解析用データ
110 計測対象1(計算機)
111 イベントトレースデータ
112 計測用プローブ
113 計測対象n(計算機)
114 イベントトレースデータ
115 計測用プローブ
116 解析プログラム
Claims (8)
- 複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正装置であって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段と、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される通信に関するイベントデータである送信イベントと受信イベントを抽出し、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段と、
生成された通信時間に基づいて、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成する時刻オフセット導出手段と、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段と、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段と、
を備え、
時刻オフセット導出手段が、
マシン間通信時間生成手段で生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、
当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、
全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成することを特徴とするイベントトレースデータの時刻補正装置。 - マシン間通信時間生成手段が、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される送信イベントと受信イベントを抽出して各イベントデータが示す発生時刻とともに登録し、
抽出された送信イベントについて対応する受信イベントが既に登録されている場合には、既登録の受信イベントの登録時刻から送信イベントのイベントデータが示す発生時刻を減算した値をその送受信イベントに係る計算機間の通信時間として算出し、
抽出された受信イベントについて対応する送信イベントが既に登録されている場合には、受信イベントのイベントデータが示す発生時刻から既登録の送信イベントの登録時刻を減算した値をその送受信イベントに係る計算機間の通信時間として算出し、
送受信イベントに係る各計算機間の通信時間を示す通信時間表を作成する請求項1記載のイベントトレースデータの時刻補正装置。 - 複数の計算機が、n−ティア・システムを構成する複数のコンピュータからなる請求項1又は2記載のイベントトレースデータの時刻補正装置。
- 複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正方法であって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するステップと、
イベントデータが示す発生時刻順に出力される全イベントトレースデータ中から、各計算機間で送受信される通信に関するイベントデータである送信イベントと受信イベントを抽出し、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成ステップと、
生成された通信時間に基づいて、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成する時刻オフセット導出ステップと、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正するステップと、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するステップと、
を有し、
時刻オフセット導出ステップが、
マシン間通信時間生成ステップで生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、
当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、
全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成することを特徴とするイベントトレースデータの時刻補正方法。 - コンピュータを、複数の計算機で実行されるイベント毎に生成されるイベントトレースデータに含まれるイベントの発生時刻を補正するイベントトレースデータの時刻補正手段として機能させるためのプログラムであって、
各計算機で実行されるイベント毎に生成される全イベントトレースデータを入力し、各イベントデータが示す発生時刻順に出力するデータ入力手段、
データ入力手段から出力される全イベントトレースデータ中から、各計算機間で送受信される通信に関するイベントデータである送信イベントと受信イベントを抽出し、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成するマシン間通信時間生成手段、
マシン間通信時間生成手段で生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成して、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成する時刻オフセット導出手段、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する時刻補正手段、
発生時刻が補正された全イベントトレースデータを入力し、補正された発生時刻順に出力するデータ統合手段、として
コンピュータを機能させるためのイベントトレースデータの時刻補正プログラム。 - 各計算機の内部時計に時刻差が存在する複数の計算機における時刻補正方法であって、
各計算機間で送受信される通信に関するイベントデータである送受信イベントにおいて、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻を比較し、
送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成し、
生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成して、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成し、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正することを特徴とする時刻補正方法。 - 各計算機の内部時計に時刻差が存在する複数の計算機における時刻補正装置であって、
各計算機間で送受信される通信に関するイベントデータである送受信イベントにおいて、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻を比較する手段と、
送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成する手段と、
生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成して、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成する手段と、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する手段と、
を備えることを特徴とする時刻補正装置。 - コンピュータを、各計算機の内部時計に時刻差が存在する複数の計算機における時刻補正手段として機能させるためのプログラムであって、
各計算機間で送受信される通信に関するイベントデータである送受信イベントにおいて、送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻を比較する手段、
送信側の計算機と受信側の計算機で対応する送信イベントと受信イベントの発生時刻の差分に基づき、送受信イベントに係る各計算機間の通信時間を生成する手段、
生成された通信時間中から最小マイナス値の通信時間を抽出してオフセット値として登録し、当該最小マイナス値に係る送受信イベントの送信側計算機の全通信時間に対して、当該計算機が送信側となる通信時間からオフセット値を減算するとともに、当該計算機が受信側となる通信時間にオフセット値を加算して、通信時間を更新するオフセット導出処理を行い、全通信時間中にマイナス値がなくなるまでオフセット導出処理を繰り返して、各計算機に対する時刻オフセット値を示す時刻オフセット表を作成して、各計算機のイベントデータに含まれる時刻データの時刻ずれを補正するための時刻オフセット値を、各計算機毎に生成する手段、
生成された各計算機毎のオフセット値に基づき、当該オフセット値に対応する計算機に係る全イベントトレースデータに含まれるイベントの発生時刻を補正する手段、として
コンピュータを機能させるための時刻補正プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004045966A JP4347082B2 (ja) | 2004-02-23 | 2004-02-23 | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム |
US11/062,930 US7594146B2 (en) | 2004-02-23 | 2005-02-23 | Apparatus, method, and program for correcting time of event trace data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004045966A JP4347082B2 (ja) | 2004-02-23 | 2004-02-23 | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005235054A JP2005235054A (ja) | 2005-09-02 |
JP4347082B2 true JP4347082B2 (ja) | 2009-10-21 |
Family
ID=34879423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004045966A Expired - Fee Related JP4347082B2 (ja) | 2004-02-23 | 2004-02-23 | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7594146B2 (ja) |
JP (1) | JP4347082B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11296927B2 (en) | 2020-03-19 | 2022-04-05 | Hitachi, Ltd. | Apparatus for integrating log, system for integrating log, and method for integrating log |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4479660B2 (ja) | 2006-01-11 | 2010-06-09 | 日本電気株式会社 | クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム |
US8307120B2 (en) | 2006-03-07 | 2012-11-06 | Nec Corporation | Resource information managing device, system, method, and program |
US8533530B2 (en) | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US8341604B2 (en) | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8370806B2 (en) * | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US8380966B2 (en) | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
JP4804408B2 (ja) * | 2007-04-17 | 2011-11-02 | 株式会社日立製作所 | ログ解析方法及び装置 |
JP5440935B2 (ja) * | 2008-02-22 | 2014-03-12 | 日本電気株式会社 | Itシステムの挙動測定・解析システム、およびその方法 |
WO2010038459A1 (ja) * | 2008-10-03 | 2010-04-08 | 日本電気株式会社 | マルチプロセッサのカウント値補正装置及びこれを備えるマルチプロセッサ |
JP5751336B2 (ja) * | 2011-10-18 | 2015-07-22 | 富士通株式会社 | 情報処理装置、時刻補正値決定方法、およびプログラム |
WO2013094032A1 (ja) * | 2011-12-21 | 2013-06-27 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9430501B1 (en) * | 2012-12-31 | 2016-08-30 | Emc Corporation | Time sanitization of network logs from a geographically distributed computer system |
US9645870B2 (en) * | 2013-06-27 | 2017-05-09 | Atmel Corporation | System for debugging DMA system data transfer |
US9256399B2 (en) | 2013-06-27 | 2016-02-09 | Atmel Corporation | Breaking program execution on events |
US9830245B2 (en) | 2013-06-27 | 2017-11-28 | Atmel Corporation | Tracing events in an autonomous event system |
JP2015035158A (ja) * | 2013-08-09 | 2015-02-19 | ルネサスエレクトロニクス株式会社 | データ処理システム |
CN105683923A (zh) * | 2013-08-29 | 2016-06-15 | 莫达测有限公司 | 检测*** |
US10171635B2 (en) | 2013-12-04 | 2019-01-01 | Cloudera, Inc. | Ensuring properly ordered events in a distributed computing environment |
WO2016137481A1 (en) * | 2015-02-27 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Application event tracing |
US10216612B1 (en) * | 2016-07-01 | 2019-02-26 | Fundi Software Pty Ltd | System and method for accessing server information |
JP2018138898A (ja) * | 2017-02-24 | 2018-09-06 | 富士通株式会社 | 情報管理システム、時刻情報補正方法及び時刻情報補正プログラム |
JP6951172B2 (ja) * | 2017-09-20 | 2021-10-20 | 株式会社東芝 | 無線通信システム、通信装置及びデータ統合方法 |
FR3071688B1 (fr) * | 2017-09-22 | 2019-09-27 | Thales | Procede de syncronisation d'un ensemble de dispositifs, programme d'ordinateur et systeme de syncronisation associes |
CN110908864B (zh) * | 2019-11-11 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种设备卡顿的处理方法、装置、设备和介质 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62232055A (ja) | 1986-04-02 | 1987-10-12 | Hitachi Ltd | イベントトレ−スデ−タ作成方法 |
GB2271251B (en) * | 1992-10-01 | 1996-08-14 | Digital Equipment Int | Timer synchronisation system |
US5471631A (en) * | 1992-10-19 | 1995-11-28 | International Business Machines Corporation | Using time stamps to correlate data processing event times in connected data processing units |
US5729742A (en) * | 1995-02-27 | 1998-03-17 | International Business Machines Corporation | System and method for enabling multiple computer systems to share a single sequential log |
US5896524A (en) * | 1997-02-06 | 1999-04-20 | Digital Equipment Corporation | Off-line clock synchronization for multiprocessor event traces |
US6125368A (en) * | 1997-02-28 | 2000-09-26 | Oracle Corporation | Fault-tolerant timestamp generation for multi-node parallel databases |
JP3778652B2 (ja) * | 1997-04-18 | 2006-05-24 | 株式会社日立製作所 | ログデータ収集管理方法及びその装置 |
US5964846A (en) * | 1997-07-07 | 1999-10-12 | International Business Machines Corporation | System and method for mapping processor clock values in a multiprocessor system |
US6199169B1 (en) * | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
JP3139459B2 (ja) | 1998-06-22 | 2001-02-26 | 日本電気株式会社 | 並列分散システムのデバッグ装置及びデバッグ方法 |
JP2000348007A (ja) | 1999-06-03 | 2000-12-15 | Nec Corp | マルチプロセッサシステムのための動作トレース時刻同期方式およびその方法 |
US7035246B2 (en) * | 2001-03-13 | 2006-04-25 | Pulse-Link, Inc. | Maintaining a global time reference among a group of networked devices |
US20020174109A1 (en) * | 2001-05-16 | 2002-11-21 | Chandy Kanianthra Mani | Event detection with concurrent data updates |
US6993695B2 (en) * | 2001-06-06 | 2006-01-31 | Agilent Technologies, Inc. | Method and apparatus for testing digital devices using transition timestamps |
JP2003157185A (ja) | 2001-11-19 | 2003-05-30 | Nec Corp | 計算機の動作の解析・表示装置とその解析・表示方法及びコンピュータプログラム |
US7114091B2 (en) * | 2002-03-18 | 2006-09-26 | National Instruments Corporation | Synchronization of distributed systems |
JP2004005198A (ja) | 2002-05-31 | 2004-01-08 | Nec Corp | 計算機動作の分析表示方法および測定分析表示装置 |
GB2392588A (en) * | 2002-08-24 | 2004-03-03 | Zarlink Semiconductor Ltd | Adaptive TDM clock recovery using timestamps |
US7072912B1 (en) * | 2002-11-12 | 2006-07-04 | Microsoft Corporation | Identifying a common point in time across multiple logs |
JP4172032B2 (ja) * | 2002-12-13 | 2008-10-29 | リサーチ イン モーション リミテッド | モバイル通信装置にsmsメッセージタイムスタンプフォーマッティングにおける一貫性を提供する方法および装置 |
US7058837B2 (en) * | 2003-05-12 | 2006-06-06 | International Business Machines Corporation | Method and system for providing a message-time-ordering facility |
US7069176B2 (en) * | 2003-08-07 | 2006-06-27 | Arm Limited | Trace source correlation in a data processing apparatus |
US7340630B2 (en) * | 2003-08-08 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Multiprocessor system with interactive synchronization of local clocks |
US7251748B2 (en) * | 2003-09-12 | 2007-07-31 | Sun Microsystems, Inc. | System and method for determining a global ordering of events using timestamps |
US20050132246A1 (en) * | 2003-12-01 | 2005-06-16 | Halliburton Energy Services, Inc. | Method and system for adjusting time settings |
US7500152B2 (en) * | 2003-12-05 | 2009-03-03 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
US7702909B2 (en) * | 2003-12-22 | 2010-04-20 | Klimenty Vainstein | Method and system for validating timestamps |
US7154862B2 (en) * | 2003-12-31 | 2006-12-26 | Openpeak Inc. | Device control system, method, and apparatus for server-based or peer-to-peer network environments |
-
2004
- 2004-02-23 JP JP2004045966A patent/JP4347082B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-23 US US11/062,930 patent/US7594146B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11296927B2 (en) | 2020-03-19 | 2022-04-05 | Hitachi, Ltd. | Apparatus for integrating log, system for integrating log, and method for integrating log |
Also Published As
Publication number | Publication date |
---|---|
JP2005235054A (ja) | 2005-09-02 |
US7594146B2 (en) | 2009-09-22 |
US20050193277A1 (en) | 2005-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4347082B2 (ja) | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム | |
US9419804B2 (en) | Data authenticity assurance method, management computer, and storage medium | |
US7688865B2 (en) | Method and system for clock skew and offset estimation | |
US7865760B2 (en) | Use of T4 timestamps to calculate clock offset and skew | |
US7822072B2 (en) | Clock filter dispersion | |
JP7098007B2 (ja) | データベースのための遠隔データ同期方法及び装置 | |
KR20150096312A (ko) | 클라우드 동기화 시스템용 텔레메트리 시스템 | |
CN110347746A (zh) | 一种异构数据库同步数据一致性校验方法及装置 | |
CN111596721B (zh) | 一种数据时间标签的同步方法及设备 | |
CN104238819A (zh) | 移动终端中显示屏状态的检测方法及*** | |
CN114491656A (zh) | 区块链网络中的方法和设备 | |
CN111555860A (zh) | 一种区块链节点共识方法、装置、电子设备及存储介质 | |
JP3791921B2 (ja) | ネットワーク・トレースを解析する方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法 | |
JP5093099B2 (ja) | 資源情報管理装置、システム、方法、及びプログラム | |
KR102648498B1 (ko) | 블록체인 기반 센서 데이터 제공 장치 및 방법 | |
CN111464254A (zh) | 一种时钟同步方法、装置及电子设备 | |
CN113055113A (zh) | 时钟时间同步方法、装置、设备和存储介质 | |
JP2007072585A (ja) | 情報処理装置、時刻情報処理装置、情報処理方法、及び時刻情報処理方法 | |
US7546384B1 (en) | Maintaining relative time stamps when transferring files across network | |
WO2021166528A1 (ja) | 不正検証装置、および、不正検知システム | |
CN109286461B (zh) | 用于匹配在检测传感器数据时的时间戳的方法 | |
CN109981521B (zh) | 报文关联方法、报文关联装置及报文关联*** | |
JP6572136B2 (ja) | 通信システム、通信装置、第二装置、通信方法及びコンピュータプログラム | |
CN117319517B (zh) | 一种基于多协议的供水设备数据整合和转发方法 | |
JP7393047B2 (ja) | 不正検証装置、および、不正検知システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090522 |
|
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: 20090630 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090715 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4347082 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130724 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |