(57)【要約】【課題】  システムにノードを追加する場合、ネットワーク上に存在するタイムサーバが提供する時刻を使い、ＯＳの時刻を合わせてからシステムに追加することが望ましい。しかし、昨今の通信コストの低下もあり、負荷が上昇したシステムとは遠く離れた場所に存在するノードを利用するケースも考えられる。その場合、追加するノード上では、前記のタイムサーバとは別のタイムサーバの時刻に従ってプロセスが動作している可能性があり、ＯＳの時刻を補正することは困難である。【解決手段】  ログ情報を各ノードの時刻で取得する処理とは別に、当該ノード時刻と任意のノード１台の時刻またはネットワークに接続されているタイムサーバの時刻を適当なインターバルで記録しておく。ログ情報を時系列にマージする際には、記録された時刻の差分を元に、ログが取得された時間を計算により求め、正しく時系列にマージする。【選択図】  図４
2006127176.tif 000002
【特許請求の範囲】
【請求項１】
イベント検知制御およびログ情報取得制御を有するノードがネットワークで接続されて
成るネットワークシステムにおけるイベント発生順序判定方法であって、任意のノード１
台の時刻またはネットワークに接続されているタイムサーバの時刻を基準時刻とし、各ノ
ードにおいて前記基準時刻と自ノード時刻を定期的に記録し、その情報を元に時差の計算
を行い、前記ネットワークシステムの各ノードで発生するイベントの発生順序を判定する
ことを特徴とするネットワークシステムにおけるイベント発生順序判定方法。
【請求項２】
請求項１に示した基準時刻と自ノード時刻を定期的に記録する処理は、ログ情報取得処
理とは別に行い、ログ情報を時系列にマージする処理において、記録した基準時刻と自ノ
ード時刻の情報を元に、記録したインターバルの時間差を比例計算することで、イベント
発生時刻を求めることを特徴とするイベント発生順序判定方法。
【請求項３】
各ノードにおいて基準時刻と自ノード時刻を定期的に記録するのではなく、各ノードに
おいて自ノード時刻と、基準時刻と自ノード時刻の時間差を定期的に記録することを特徴
とした請求項１に示すイベント発生順序判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に複数のノードが接続されてなるネットワークシステムにお
いて、各ノードで発生するイベントの発生順序を正確に把握するイベント発生順序判定方
法およびシステムに関する。
【背景技術】
【０００２】
分散アプリケーションでは、ネットワーク上の複数のノードに処理を分散させ、各ノー
ドが連携して動作する。したがって、そのデバッグでは、ネットワーク上の各ノードで発
生するイベントのトレースが重要である。イベントトレースでは、各ノードで生成される
ログ情報を時系列に解析するが、従来は、ログ情報として、各ノードのＯＳが提供する時
刻やネットワーク上に存在するタイムサーバが提供する時刻を使っていた。
【０００３】
特許文献１「ネットワーク時刻同期装置」では、ネットワーク上に時刻を管理するノー
ドを１台用意し、各ノードで現在時刻が必要となった時に、この時刻を管理するノードに
問い合わせを行う方法を提案している。
【０００４】
この方法では、各ノードで現在時刻が必要となった際、その都度時刻を問い合わせる処
理を行う必要がある。
【０００５】
特許文献２「ネットワークシステム及びその時刻同期方法」では、ネットワーク上の１
台のノードにネットワークにおける基準時刻を管理させ、他のノードでイベントが発生し
たとき、ネットワークにおける基準時刻を求めるとともに、その基準時刻を取得するのに
所要した時間を取得し、その時間を前記基準時刻から差し引いて求めた時刻を当該イベン
ト発生時刻として使用する方法が示されている。
【０００６】
この方法も、各ノードで現在時刻が必要となった際、その都度時刻を問い合わせる処理
を行う必要がある。
【０００７】
特許文献３「ネットワークシステムのイベント発生順序判定方法およびシステム」では
、ノードに内蔵されているカウンタの値を利用して、ログ情報に情報を追加することで、
複数ノードで発生するイベントの発生順序を判定している。
【０００８】
この方法では、ログ情報に情報を追加する必要があるため、ログ情報を取得する処理全
てに改造が必要となる。
【０００９】
【特許文献１】特開平３−１４００３７号公報
【特許文献２】特開２０００−２４２６１８号公報
【特許文献３】特開２００４−１８７０４０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
クライアントからのアクセスが急増し、システムの負荷が上昇した場合、新たなノード
をシステムに追加することがある。
【００１１】
システムにノードを追加する場合、一般的には、ネットワーク上に存在するタイムサー
バが提供する時刻を使って、ＯＳの時刻を合わせてからシステムに追加することが望まし
い。しかし、昨今の通信コストの低下もあり、負荷が上昇したシステムとは遠く離れた場
所に存在するノードを利用するケースも考えられるようになった。
【００１２】
そのような場合、システムにノードを追加するにあたり、タイムサーバを使ったＯＳ時
刻の補正を行うことは困難である。なぜならば、当該ノード上では、前記のタイムサーバ
とは別のタイムサーバの時刻に従ってプロセスが動作している場合があるからである。
【００１３】
追加するノードの時刻合わせをせずに取得されたログ情報は、正しく時系列にマージす
ることができない。
【００１４】
対策として、追加するノードにおいて、負荷が上昇したシステムで利用しているタイム
サーバより得た時刻をログ情報取得時間として埋め込むという方法もあるが、ログ情報を
取得するプログラムを改造する必要が生じてしまう。
【課題を解決するための手段】
【００１５】
ログ情報を各ノードで取得する処理とは別に、当該ノード時刻と任意のノード１台の時
刻またはネットワークに接続されているタイムサーバの時刻を適当なインターバルで記録
しておく。
【００１６】
ログ情報を時系列にマージする際には、記録された時刻の差分を元に、ログが取得され
た時間を計算により求めることで、正しく時系列にマージすることができるようになる。
【発明の効果】
【００１７】
タイムサーバ等を使ってＯＳの時刻合わせをすることができない場合において、複数の
ノードで発生したイベント情報を時系列にマージすることが可能となる。
【００１８】
本発明は、時差がある海外のノードを利用した場合の、イベント情報のマージにも適用
できる。
【００１９】
また、ログ情報を取得する処理には改造を行わずに、イベント情報のマージを行うこと
が可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００２１】
図１は、本発明における一実施例であるネットワークシステムの構成例である。
【００２２】
図１は、ノードＡ１００の負荷が上昇したため、ノードＢ１２０を追加した場合を示し
ている。
【００２３】
ノードＡ１００は、ＣＰＵ１０１、主記憶装置１０２、キーボード１０３、ディスプレ
イ１０４、二次記憶装置１０５、ネットワークインタフェース１０６等が、バス１０７で
接続されて構成されている。
【００２４】
主記憶装置１０２には、イベント検知制御１０８、ログ情報取得制御１０９が存在し、
当該ノードで発生したイベントをイベント検知制御１０８が検知し、ログ情報取得制御１
０９が当該イベントをログ情報として二次記憶装置１０５上のログ情報ファイル１１０に
取得している。
【００２５】
ノードＡ１００の負荷が上昇したために、ネットワーク１４０を介して新たにシステム
に追加されたノードＢ１２０も同様に、ＣＰＵ１２１、主記憶装置１２２、キーボード１
２３、ディスプレイ１２４、二次記憶装置１２５、ネットワークインタフェース１２６等
が、バス１２７で接続されて構成されている。
【００２６】
主記憶装置１２２には、イベント検知制御１２８、ログ情報取得制御１２９が存在し、
当該ノードで発生したイベントをイベント検知制御１２８が検知し、ログ情報取得制御１
２９が当該イベントをログ情報として二次記憶装置１２５上のログ情報ファイル１３０に
取得しているのに加えて、主記憶装置１２２上には時刻記録制御１３１が存在し、ノード
Ａ１００の時刻とノードＢ１２０の時刻を定期的に時刻情報ファイル１３２に記録してい
る。
【００２７】
本実施例では、ノードＡ１００の時刻を基準時刻とする構成になっているが、ネットワ
ーク１４０にタイムサーバを接続し、そのタイムサーバの時刻を基準時刻とする方法もあ
る。
【００２８】
図２は、本発明における一実施例である時刻情報ファイル１３２のテーブル構造を示し
た図である。
【００２９】
適当な間隔で、ノードＢ１２０の時刻と、その時の基準時刻（この場合ノードＡ１００
の時刻）を記録している。
【００３０】
図３は、本発明における一実施例である時刻記録記録制御１３１の処理フロー例を示し
たものである。
【００３１】
ノードＢ１２０をシステムに追加した時点から処理を開始する。
【００３２】
ステップ３０１にて、基準時刻（ノードＡの時刻またはネットワークに接続されたタイ
ムサーバの時刻）を求める。
【００３３】
ステップ３０２にて、ノードＢの時刻とステップ３０１で求めた基準時刻を、時刻情報
ファイル１３２に取得する。
【００３４】
ステップ３０３にて、時刻の記録を終了する（システム終了が発生等）のかを確認し、
継続する場合は、ステップ３０４にて一定時間待った後、ステップ３０１に戻る。
【００３５】
図４は、本発明における一実施例であるネットワークシステムにおいて、ログ情報を時
系列にマージする処理を行っている時の構成例である。
【００３６】
図１との相違点は、ノードＡ１００の主記憶装置１０２上にログ情報マージ制御４０１
と二次記憶装置１０５上にログ情報マージファイル４０２が存在する点である。
【００３７】
ログ情報マージ制御４０１は、ノードＡ１００のログ情報ファイル１１０とノードＢ  
１２０のログ情報ファイル１３０に記録されているログ情報を、時刻情報ファイル１３２
の情報を使って、時系列にマージし、ログ情報マージファイル４０２に出力する処理を行
う。
【００３８】
図５は、本発明における一実施例であるログ情報マージ制御４０１の処理フロー例を示
したものである。
【００３９】
ステップ５０１にて、ノードＡのログ情報ファイル１１０からログ情報を１件入力し、
ステップ５０２にて、ノードＢのログ情報ファイル１３０からログ情報を１件入力する。
【００４０】
ステップ５０３にて、時刻情報ファイル１３２から時刻情報を入力する。この時入力す
る情報は、ステップ５０２で入力したログ情報時刻の直前の時刻（ノードＢの時刻）を持
つ情報と、直後の時刻（ノードＢの時刻）を持つ情報である。
【００４１】
ステップ５０４では、次に示す計算式にて、ノードＢの正しいログ情報取得時刻を求め
る。
【００４２】
ノードＢの正しいログ情報の取得時刻
＝直前直後の時刻情報の基準時刻の差
÷直前直後の時刻情報のノードＢの時刻の差
×（ノードＢのログ情報時刻−直前の時刻情報のノードＢの時刻）
＋直前の時刻情報の基準時刻
本実施例において、ノードＢのログ情報の時刻が１０：００：１０．００であった場合
は、以下の計算となる。
【００４３】
ノードＢの正しいログ情報の取得時刻
＝（１０：００：２９．２０−９：５９：５９．１６）
÷（１０：００：３０．００−１０：００：００．００）
×（１０：００：１０．００−１０：００：００．００）
＋９：５９：５９．１６
＝１０：００：０９．１７
ステップ５０５にて、ノードＡのログ情報取得時刻とノードＢの正しいログ情報取得時
刻を比較し、ノードＢの正しいログ情報取得時刻が古い場合はステップ５０６にてノード
Ｂのログ情報をログ情報マージファイル４０２に出力する。そして、ステップ５０２に戻
って処理を続行する。
【００４４】
逆に、ノードＡのログ情報取得時刻が古い場合はステップ５０７にてノードＡのログ情
報をログ情報マージファイル４０２に出力する。そして、ステップ５０８にてノードＡの
次のログ情報を入力した後、ステップ５０５に戻って処理を続行する。
【００４５】
本フローでは、終了条件が省略されているが、ステップ５０１、ステップ５０２、ステ
ップ５０８のログ情報入力処理にて、当該ログ情報が存在しないことを確認した場合、処
理が終了されることになる。
【００４６】
以上本実施例では、時刻情報ファイル１３２に、基準時刻と自ノード（ノードＢ）の時
刻を記録して目的を実現したが、時刻情報ファイル１３２に、自ノード時刻および、基準
時刻と自ノード時刻の差を記録することでも目的の実現が可能である。
【００４７】
また、ノードの数が２であることを前提に説明しているが、３以上であってもかまわな
い。
【図面の簡単な説明】
【００４８】
【図１】本発明における一実施例であるネットワークシステムの構成例である。
【図２】本発明における一実施例である時刻情報ファイル１３２のテーブル構造を示した図である。
【図３】本発明における一実施例である時刻記録記録制御１３１の処理フロー例を示したものである。
【図４】本発明における一実施例であるネットワークシステムにおいて、ログ情報を時系列にマージする処理を行っている時の構成例である。
【図５】本発明における一実施例であるログ情報マージ制御４０１の処理フロー例を示したものである。
【符号の説明】
【００４９】
１００，１２０…ノード、１０１，１２１…ＣＰＵ、１０２，１２２…主記憶装置、１
０３，１２３…キーボード、１０４，１２４…ディスプレイ、１０５，１２５…二次記憶
装置、１０６，１２６…ネットワークインタフェース、１０７，１２７…バス、１０８，
１２８…イベント検知制御、１０９，１２９…ログ情報取得制御、１１０，１３０…ログ
情報ファイル、１３１…時刻記録制御、１３２…時刻情報ファイル、４０１…ログ情報マ
ージ制御、４０２…ログ情報マージファイル。
【図１】
2006127176.tif 000003
【図２】
2006127176.tif 000004
【図３】
2006127176.tif 000005
【図４】
2006127176.tif 000006
【図５】
2006127176.tif 000007