(57)【要約】【課題】トレースデータとパケットデータとを容易に関連付け、且つ、パケットデータの取得可能な時間範囲がトレースデータの取得可能な時間範囲を超える場合であっても、トレースデータを取得できる技術を実現すること。【解決手段】ターゲット機器３０の実行状態を示すトレースデータと、ターゲット機器３０からネットワークＮを介して送信されているパケットデータとを受信し記憶するネットワークシステム１において、計時部１６、計時部２７により計時された時刻を同期する時刻同期部１１Ａと、パケットデータを受信した際、時刻同期部１１Ａにより同期された時刻を示すタイムスタンプをパケットデータに付与してキャプチャイベントを生成し記憶する制御部１０と、トレースデータを受信した際、時刻同期部１１Ａにより同期された時刻を示すタイムスタンプをトレースデータに付与し記憶する制御部２０と、を具備する。【選択図】図１
2010154475.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット機器の実行状態を示すトレースデータと、前記ターゲット機器からネットワークを介して送信されているパケットデータとを受信し記憶するネットワークシステムにおいて、
第１、第２の計時部により計時された時刻を同期する時刻同期部と、
前記パケットデータを受信した際、前記時刻同期部により同期された時刻を示すタイムスタンプを前記パケットデータに付与してキャプチャイベントを生成し記憶する第１の制御部と、
前記トレースデータを受信した際、前記時刻同期部により同期された時刻を示すタイムスタンプを前記トレースデータに付与し記憶する第２の制御部と、を具備することを特徴とするネットワークシステム。
【請求項２】
前記ネットワークシステムは、
前記パケットデータと前記トレースデータとを関連付けて記憶することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記第２の制御部は、
前記トレースデータを選択するために予め設定されたフィルタ条件及び前記キャプチャイベントに含まれるタイムスタンプに基づいて、前記トレースデータを選択して記憶することを特徴とする請求項１又は２に記載のネットワークシステム。
【請求項４】
前記トレースデータを一時記憶するバッファを備え、
前記第２の制御部は、
前記フィルタ条件に含まれる前記キャプチャイベントを選択するための条件に基づいて前記キャプチャイベントを選択し、当該選択されたキャプチャイベントに含まれるタイムスタンプを基準時刻とし、当該基準時刻の所定時間前を示す事前時間から当該基準時刻の所定時間後を示す事後時間までの時間幅に含まれるタイムスタンプを有するトレースデータを前記バッファから選択して記憶することを特徴とする請求項３に記載のネットワークシステム。
【請求項５】
前記事前時間から事後時間までの時間幅は、
前記ターゲット機器が１つのパケットを処理する時間幅に基づいて定められることを特徴とする請求項４に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関する。
【背景技術】
【０００２】
近年、ネットワークを構成する機器（ネットワーク機器）のデバッグ等の動作解析、性能測定、及び評価作業を支援する装置が実施されている。具体的には、ネットワーク機器を支援する装置として、トレース装置やパケットキャプチャ装置が実施されている。
【０００３】
トレース装置は、ネットワーク機器（以下、ターゲット機器）のソフトウェア（プログラム）のデバックなどの動作解析や性能評価（以下、動作解析等）を行う装置である。以下、トレース装置において実行される一連の動作について説明する。
【０００４】
先ず、トレース装置は、ターゲット機器からトレース情報（ターゲット機器上で動作するプログラムの実行状態を把握するための情報）を収集する。具体的には、先ず、ターゲット機器のオンチップトレース機構（ターゲット機器上のＣＰＵ（Central Processing Unit）の実行状態を監視してトレース情報とする機構）や、外部バストレース機構（ターゲット機器上のＣＰＵによるプログラムの実行の際にメモリへのアクセスシーケンスを監視してトレース情報とする機構）等によりトレース情報が取得される。そして、トレース装置は、取得されたトレース情報をターゲット機器から受信する。これにより、トレース装置は、トレース情報を収集することができる。
【０００５】
そして、トレース装置は、収集したトレース情報にタイムスタンプを付与し、トレースデータを生成する。そして、生成されたトレースデータの中から、特定の条件（例えば、トレースデータのアドレス範囲、イベントの発生回数等の条件）に合致するトレースデータを選択する。そして、選択されたトレースデータを取得する（記憶部に蓄える）。そして、蓄えられたトレースデータを解析する。以上の一連の動作がトレース装置において実行される。
【０００６】
次に、パケットキャプチャ装置の動作について説明する。パケットキャプチャ装置は、ネットワーク（パケットキャプチャ装置やターゲット機器と通信接続されるネットワーク）上を流れるパケット（ターゲット機器上で動作するプログラムにより処理されるパケット）を収集する装置である。以下、パケットキャプチャ装置において実行される一連の動作について説明する。
【０００７】
先ず、パケットキャプチャ装置は、ターゲット機器から出力（送信）され、ネットワーク上を流れるパケットを受信（収集）する。そして、収集したパケットにタイムスタンプを付与してパケットデータを生成する。そして、生成されたパケットデータの中から、特定の条件（例えば、プロトコルの種類、宛先アドレス（ＩＰアドレス、ポート番号等の値や範囲）の条件）に合致するパケットデータを選択する。
【０００８】
そして、選択されたパケットデータを取得する（記憶部に蓄える）。そして、蓄えられたパケットデータを解析する。以上の一連の動作がパケットキャプチャ装置において実行される。
【０００９】
また、最小限の情報量でタイムスタンプを管理し、トレースメモリを有効に活用するトレースデータ記録装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００７−２４１４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述のトレース装置においては、トレースデータを解析できるが、パケットデータを解析できない。すなわち、トレースデータの解析によりターゲット機器上で動作するプログラムの実行状態を把握し、プログラムの動作解析等を行うことは可能であるが、当該プログラムにより処理されるパケットの解析（例えば、正当性の検証等）を行うことができない。また、パケットキャプチャ装置においては、パケットデータを解析できるが、トレースデータを解析することができない。すなわち、ターゲット機器上で動作するプログラムにより処理されるパケットの解析を行うことはできるが、当該プログラムの動作解析等を行うことはできない。この場合、トレースデータとパケットデータとを関連付けることができれば、ターゲット機器上で動作するプログラムの動作解析等及び当該プログラムにより処理されるパケットの解析を行うことができる。このため、トレースデータとパケットデータとを関連付ける技術を実現する要請があった。
【００１１】
トレースデータとパケットデータとを関連付けるには、人手で対応付ける手法も考えられる。しかし、トレースデータとパケットデータとが共にデータ量が多くなると、関連付けの作業は容易でない。近年、トレースデータはギガバイトオーダーの膨大なデータ量であることが一般的となってきている。このため、人手で関連付け作業を行うと、膨大な作業工数を必要としていた。
【００１２】
また、上述の特許文献１には、トレースデータとパケットデータとを関連付ける技術は開示されていない。
【００１３】
また、上述の通り、トレースデータはギガバイトオーダー（１０９）のデータ量である。この場合、トレース装置において、数百メガヘルツ（１００×１０６＝１０８）で動作するＣＰＵでトレースデータを取得する場合、トレースデータを１０ｎｓ（１／１０８＝１０−８＝１０ｎｓ）オーダーで取得することとなる。そうすると、トレース装置においては、数十秒（１０９×１０−８＝１０）足らずしかトレースデータを連続的に取得できない。
【００１４】
一方、パケットキャプチャ装置がパケットデータを取得する時間のオーダー（パケットの送受信のタイミングや、パケットの送受信の組み合わせで観測されるプロトコルのシーケンスに要する時間のオーダー）は、マイクロ秒から秒、分、時間、あるいはそれ以上の時間までの範囲である。例えば、人間の操作や、間歇的に発生するネットワーク上の機器のイベントにより、プロトコルのシーケンスが進んだりするため、パケットデータを取得する時間のオーダーは大きくなる。
また、上述の通り、トレース装置は、トレースデータを数十秒しか連続的に取得することができない。そうすると、パケットデータとトレースデータとを関連付けることができても、パケットデータを取得する時間のオーダーが大きい（例えば、分以上のオーダー）場合、パケットデータに関連付けられたトレースデータを取得することはできない。
したがって、トレースデータとパケットデータとを容易に関連付け、且つ、パケットデータの取得可能な時間範囲（分、時間オーダー）がトレースデータの取得可能な時間範囲（秒オーダー）を超える場合であっても、トレースデータを取得できる技術を実現する要請があった。
【００１５】
本発明の課題は、トレースデータとパケットデータとを容易に関連付け、且つ、パケットデータの取得可能な時間範囲がトレースデータの取得可能な時間範囲を超える場合であっても、トレースデータを取得できる技術を実現することである。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、請求項１に記載の発明のネットワークシステムは、
ターゲット機器の実行状態を示すトレースデータと、前記ターゲット機器からネットワークを介して送信されているパケットデータとを受信し記憶するネットワークシステムにおいて、
第１、第２の計時部により計時された時刻を同期する時刻同期部と、
前記パケットデータを受信した際、前記時刻同期部により同期された時刻を示すタイムスタンプを前記パケットデータに付与してキャプチャイベントを生成し記憶する第１の制御部と、
前記トレースデータを受信した際、前記時刻同期部により同期された時刻を示すタイムスタンプを前記トレースデータに付与し記憶する第２の制御部と、を具備することを特徴とする。
【００１７】
請求項２に記載の発明は、請求項１に記載のネットワークシステムにおいて、
前記ネットワークシステムは、
前記パケットデータと前記トレースデータとを関連付けて記憶することを特徴とする。
【００１８】
請求項３に記載の発明は、請求項１又は２に記載のネットワークシステムにおいて、
前記第２の制御部は、
前記トレースデータを選択するために予め設定されたフィルタ条件及び前記キャプチャイベントに含まれるタイムスタンプに基づいて、前記トレースデータを選択して記憶することを特徴とする。
【００１９】
請求項４に記載の発明は、請求項３に記載のネットワークシステムにおいて、
前記トレースデータを一時記憶するバッファを備え、
前記第２の制御部は、
前記フィルタ条件に含まれる前記キャプチャイベントを選択するための条件に基づいて前記キャプチャイベントを選択し、当該選択されたキャプチャイベントに含まれるタイムスタンプを基準時刻とし、当該基準時刻の所定時間前を示す事前時間から当該基準時刻の所定時間後を示す事後時間までの時間幅に含まれるタイムスタンプを有するトレースデータを前記バッファから選択して記憶することを特徴とする。
【００２０】
請求項５に記載の発明は、請求項４に記載のネットワークシステムにおいて、
前記事前時間から事後時間までの時間幅は、
前記ターゲット機器が１つのパケットを処理する時間幅に基づいて定められることを特徴とする。    
【発明の効果】
【００２１】
請求項１〜５に記載の発明によれば、パケットデータとトレースデータとの関連付けを容易に行うことができ、且つ、パケットデータの取得可能な時間範囲がトレースデータの取得可能な時間範囲を超える場合であっても、トレースデータを取得することができる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
【００２３】
図１〜図６を参照して本発明に係る実施の形態を説明する。先ず、図１を参照して、本実施の形態のネットワークシステム１の概略構成を説明する。図１に示すように、ネットワークシステム１は、パケットキャプチャ装置１０と、トレース装置２０と、を備えて構成される。
【００２４】
パケットキャプチャ装置１０は、ネットワークＮ上を流れるパケット（タイムスタンプが付与される前のパケットデータ）を収集する装置である。例えば、ターゲット機器３０で動作するプログラムにより、ターゲット機器３０とネットワークＮ上の外部機器（図示省略）との間でパケットが送受信される（ネットワークＮ上を流れる）場合、パケットキャプチャ装置１０は、当該プログラムにより処理（送受信処理）されるパケットを収集する。そして、パケットキャプチャ装置１０は、収集したパケットの正当性の検証を行う。
トレース装置２０は、ターゲット機器３０のソフトウェア（プログラム）のデバックなどの動作解析や性能評価を行う装置である。トレース装置２０によるターゲット機器３０のプログラムの動作解析等は、トレース情報（タイムスタンプが付与される前のトレースデータ）を解析することにより行われる。ここで、トレース情報は、ターゲット機器３０上で動作するプログラムの実行状態を把握するための情報（ターゲット機器上のＣＰＵによる命令実行状態を表す情報；例えば、アドレス、読み書きデータ等）を示す。
【００２５】
次に、図２を参照して、パケットキャプチャ装置１０の内部構成を説明する。図２に示すように、パケットキャプチャ装置１０は、第１の制御部としての制御部１１と、表示部１２と、記憶部１３と、ネットワークＩ／Ｆ（インターフェース）部１４と、通信部１５と、第１の計時部としての計時部１６と、を備えて構成される。
【００２６】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random  Access  Memory）（いずれも不図示）、時刻同期部１１Ａと、タイムスタンプ付与部１１Ｂ、キャプチャイベント発生部１１Ｃ、パケットフィルタリング部１１Ｄ、により構成され、パケットキャプチャ装置１０の各部を中央制御する。制御部１１は、ＲＯＭに記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭに展開し、ＲＡＭに展開されたプログラムとＣＰＵとの協働で各種処理を実行する。
【００２７】
時刻同期部１１Ａは、トレース装置２０の計時部２７（後述）で計時される現在時刻と計時部１６で計時される現在時刻とを同期する。具体的には、時刻同期部１１Ａは、トレース装置２０の計時部２７（後述）で計時（カウント）されたカウント値（現在時刻）を通信部１５を介して定期的に受信（取得）し、取得した現在時刻に計時部１６で計時された現在時刻を同期させる。これにより、計時部１６で計時される時間精度をトレース装置の計時部２７で計時される時間精度（ナノ秒オーダーの精度）と同じにすることができる。
【００２８】
タイムスタンプ付与部１１Ｂは、ターゲット機器３０からパケット（タイムスタンプが付与される前のパケットデータ）を受信した際に、計時部１６により計時された現在時刻（すなわち、時刻同期部１１Ａにより同期された現在時刻）を示すタイムスタンプを当該パケットに付与し、パケットデータ（タイムスタンプが付与されたパケットデータ）を生成する。
【００２９】
キャプチャイベント発生部１１Ｃは、パケットデータをキャプチャイベントとして生成する。そして、キャプチャイベント発生部１１Ｃは、キャプチャイベントを通信部１５を介してトレース装置２０に送信する。ここで、キャプチャイベントは、タイムスタンプと、受信パケット情報と、を有する。タイムスタンプは、タイムスタンプ付与部１１Ｂにより付与されたタイムスタンプである。受信パケット情報は、受信したパケットに関する情報（例えば、パケットの送信先や送信元を示すＩＰアドレス等の情報）である。
【００３０】
パケットフィルタリング部１１Ｄは、記憶部１３に記憶されているキャプチャフィルタの条件に基づいて、パケットデータをフィルタリングする。キャプチャフィルタの条件は、パケットデータをキャプチャするための条件を示す。キャプチャフィルタの条件としては、例えば、プロトコルの種類、宛先アドレス（ＩＰアドレス、ポート番号等の値や範囲）等が定義される。
【００３１】
表示部１２は、ＬＣＤ（Liquid Crystal Display）等で構成され、制御部１１からの指示に従って画面表示を行う。  
【００３２】
記憶部１３は、各種データを記憶する。記憶部１３は、キャプチャフィルタの条件及びパケットデータを記憶する。
【００３３】
ネットワークＩ／Ｆ部１４は、ターゲット機器３０とのインターフェースであり、ターゲット機器３０から送信され、ネットワークＮ上を流れるパケットを受信する。そして、受信したパケットを通信部１５に出力する。
【００３４】
通信部１５は、ネットワークＩ／Ｆ部１４から出力されたパケットを受信し、受信したパケットを制御部１１に出力する。また、通信部１５は、トレース装置２０と情報（キャプチャイベントや現在時刻）の送受信を行う。
【００３５】
計時部１６は、現在時刻を計時する。具体的には、計時部１６は、ＯＳ（Operating System）が提供するタイマーにより構成され、現在時刻を計時する。そして、計時した現在時刻を制御部１１に出力する。
【００３６】
次に、図３を参照して、トレース装置２０の内部構成を説明する。図３に示すように、トレース装置２０は、第２の制御部としての制御部２１と、表示部２２と、記憶部２３と、バッファとしてのトレースデータ一時バッファ２４と、トレースＩ／Ｆ部２５と、通信部２６と、第２の計時部としての計時部２７と、を備えて構成される。
【００３７】
制御部２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ（いずれも不図示）、タイムスタンプ付与部２１Ａ、イベントフィルタ適用部２１Ｂ、トレースデータ絞り込み部２１Ｃにより構成され、トレース装置２０の各部を中央制御する。制御部２１は、ＲＯＭに記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをＲＡＭに展開し、ＲＡＭに展開されたプログラムとＣＰＵとの協働で各種処理を実行する。
【００３８】
タイムスタンプ付与部２１Ａは、ターゲット機器３０からトレース情報（タイムスタンプが付与される前のトレースデータ）を受信した際に、計時部２７により計時された現在時刻を示すタイムスタンプを当該トレース情報に付与して、トレースデータ（タイムスタンプが付与されたトレースデータ）を生成する。
【００３９】
イベントフィルタ適用部２１Ｂは、記憶部２３に記憶されているイベントフィルタの条件に基づいて、トレース情報をフィルタリングする。イベントフィルタの条件としては、例えば、トレースデータのアドレス範囲、イベントの発生回数等が定義される。また、イベントフィルタの条件を満たすトレースデータは、トレースデータ一時バッファ２４に記憶される。
【００４０】
トレースデータ絞り込み部２１Ｃは、トレースデータ絞り込みフィルタの条件及びキャプチャイベントに含まれるタイムスタンプに基づいて、トレースデータ一時バッファ２４からトレースデータを選択する。
【００４１】
具体的には、トレースデータ絞り込みフィルタの条件は、フィルタと、事前時間と、事後時間とを有する。フィルタは、キャプチャイベントを選択するための条件を示す。例えば、フィルタには、特定の宛先ポート番号等の情報が定義される。この場合、トレースデータ絞り込み部２１Ｃにより、キャプチャイベントに含まれる受信パケット情報が参照され、フィルタに定義された宛先ポート番号と一致するキャプチャイベントが選択される。
【００４２】
事前時間は、フィルタの条件を満たすキャプチャイベントに含まれるタイムスタンプを基準時刻として、当該タイムスタンプの所定時間前の時間（例えば、タイムスタンプから１０ｍｓ前の時間）を示す。事後時間は、キャプチャイベントに含まれるタイムスタンプを基準時刻として、当該タイムスタンプから所定時間後の時間（例えば、タイムスタンプから５００ｍｓ後の時間）を示す。
【００４３】
また、事前時間から事後時間までの時間幅は、ターゲット機器３０がパケット１つを処理（送受信）する時間幅に基づいて定められる。ここで、例えば、ターゲット機器３０がパケット１つを処理する時間幅が５００ｍｓであったとする。この場合、事後時間として「５００ｍｓ」が定められる。また、キャプチャイベントの発生時刻（パケットをキャプチャした時刻）はキャプチャイベントに含まれるタイムスタンプに記されている。このタイムスタンプからの所定時間前の時間を事前時間として定めることにより、イベント（キャプチャイベント）発生前の少し前のプログラムの実行状態をトレース可能となる。したがって、例えば、事前時間として「１０ｍｓ」が定められる。すなわち、事前時間「１０ｍｓ」（基準時刻から１０ｍｓ前）から事後時間「５００ｍｓ」（基準時刻から５００ｍｓ後）までが時間幅として定められる。
【００４４】
また、事前時間及び事後時間は、トレースデータ一時バッファ２４のサイズ（記憶容量）も勘案してユーザにより予め設定又は変更される。
【００４５】
そして、トレースデータ絞り込み部２１は、トレースデータ一時バッファ２４に記憶されたトレースデータの中から、キャプチャイベントに含まれるタイムスタンプを基準時刻とした事前時間から事後時間の時間幅に含まれるトレースデータを選択する。例えば、上記の事前時間及び事後時間が設定されており、キャプチャイベントに含まれるタイムスタンプが「１０時」の場合、トレースデータ一時バッファ２４の中から、事前時間「９時５９分５９．９９秒」（１０時−１０ｍｓ）から事後時間「１０時０分０．５秒」（１０時＋５００ｍｓ）までのタイムスタンプを有するトレースデータが選択される。
【００４６】
表示部２２は、ＬＣＤ等で構成され、制御部２１からの指示に従って画面表示を行う。  
【００４７】
記憶部２３は、各種データを記憶する。具体的には、記憶部２３は、トレースデータを選択するためにユーザにより予め設定されたフィルタ条件（上述のイベントフィルタの条件及びトレースデータ絞り込みの条件に該当）及びトレースデータを記憶する。
【００４８】
トレースデータ一時バッファ２４は、例えば、有限サイズのリングバッファにより構成され、トレースデータを一時的に記憶する。トレースデータ一時バッファ２４の記憶領域全てにトレースデータが記憶された場合は、リングバッファの先頭からトレースデータが記憶される。また、トレースデータ一時バッファ２４のサイズは指定可能とする。
【００４９】
トレースＩ／Ｆ部２５は、ターゲット機器３０とのインターフェースであり、ターゲット機器３０から送信されるトレース情報を受信する。そして、トレースＩ／Ｆ部２５は、受信したトレース情報を通信部２６に出力する。
【００５０】
通信部２６は、トレースＩ／Ｆ部２５により出力されたトレース情報を受信し、受信したトレース情報を制御部２１に出力する。また、通信部２６は、パケットキャプチャ装置１０と情報（キャプチャイベントや現在時刻）の送受信を行う。
【００５１】
計時部２７は、ハードウエアのカウンタ（不図示）から入力される信号を計数して、現在時刻を得る。そして現在時刻を制御部２１に出力する。
【００５２】
次に、図４〜図６を参照して、ネットワークシステム１の動作を説明する。先ず、図４を参照して、パケットキャプチャ装置１０で実行されるパケットキャプチャ処理について説明する。パケットキャプチャ処理は、パケットにタイムスタンプを付与してパケットデータを生成し、当該生成されたパケットデータをキャプチャイベントとしてトレース装置２０に送信する処理である。
【００５３】
予め、キャプチャフィルタの条件として、ターゲット機器３０のＩＰアドレスを示す「Ａアドレス」がユーザにより設定され、当該設定された「Ａアドレス」が記憶部１３に記憶されているものとする。
【００５４】
例えば、パケットキャプチャ装置１０において、ネットワークＩ／Ｆ部１４及び通信部１５を介して、ターゲット機器３０から送信されたパケットを受信開始したことをトリガとして、ＲＯＭから読み出されて適宜ＲＡＭに展開されたパケットキャプチャプログラムと、ＣＰＵとの協働によりパケットキャプチャ処理が実行される。
【００５５】
先ず、ネットワークＩ／Ｆ部１４及び通信部１５を介してのパケットの受信及び時刻同期が行われる（ステップＳ１）。本ステップにおけるパケットの受信動作と時刻同期の動作とは並列して実行される。
【００５６】
ステップＳ２の実行後、パケットにタイムスタンプが付与され、パケットデータが生成される（ステップＳ２）。具体的には、パケットを受信した際に、計時部１６により計時された現在時刻（すなわち、時刻同期部１１Ａにより同期された現在時刻）がタイプスタンプとしてパケットに付与され、パケットデータが生成される。そして、キャプチャフィルタが存在するか否かが判別される（ステップＳ３）。具体的には、記憶部１３が参照され、キャプチャフィルタの条件が記憶部１３に記憶されているか否かが判別される。
【００５７】
ステップＳ３において、キャプチャフィルタが存在しないと判別された場合（ステップＳ３；ＮＯ）、後述するステップＳ５に移行される。ステップＳ３において、キャプチャフィルタが存在すると判別された場合（ステップＳ３；ＹＥＳ）、該当パケットデータについてキャプチャフィルタの条件が成立するか否かが判別される（ステップＳ４）。具体的には、生成されたパケットデータ（該当パケットデータ）と、記憶部１３に記憶されたキャプチャフィルタの条件（Ａアドレス）とが参照され、該当パケットデータとキャプチャフィルタの条件とが一致するか否かが判別される。
【００５８】
ステップＳ５において、該当パケットについてキャプチャフィルタの条件が成立しないと判別された場合（ステップＳ４；ＮＯ）、パケットキャプチャ処理は終了される。ステップＳ４において、該当パケットについてキャプチャフィルタの条件が成立すると判別された場合（ステップＳ４；ＹＥＳ）、通信部１５を介して、パケットデータがキャプチャイベントとしてトレース装置２０に送信される（ステップＳ５）。
【００５９】
ステップＳ５の実行後、パケットデータが記憶部１３に記憶される（ステップＳ６）。ステップＳ６の実行後、パケットキャプチャ処理は終了される。
【００６０】
次に、図５及び図６を参照して、トレース装置２０で実行されるトレース処理について説明する。トレース処理は、キャプチャイベントに含まれるタイムスタンプ及びトレースデータ絞り込みフィルタの条件に基づいて、トレースデータを選択的に取得する処理である。
【００６１】
予め、イベントフィルタの条件及びトレースデータ絞込みフィルタの条件がユーザにより設定され、当該設定されたイベントフィルタの条件及びトレースデータ絞込みフィルタの条件が記憶部２３に記憶されているものとする。ここで、トレースデータ絞り込みフィルタの条件として、フィルタに「Ａアドレスの宛先ポート番号が８０番」、事前時間「１０ｍｓ」、事後時間「５００ｍｓ」がそれぞれ設定されているものとする。また、キャプチャイベントに含まれるタイムスタンプが「１０時」であるものとする。
【００６２】
例えば、トレース装置２０において、トレースＩ／Ｆ部２５及び通信部２６を介してトレース情報を受信開始したことをトリガとして、ＲＯＭから読み出されて適宜ＲＡＭに展開されたトレースプログラムと、ＣＰＵとの協働によりトレース処理が実行される。
【００６３】
先ず、トレースＩ／Ｆ部２５及び通信部２６を介してターゲット機器３０からトレース情報が受信される（ステップＳ１１）。そして、トレース情報にタイムスタンプが付与され、トレースデータが生成される（ステップＳ１２）。具体的には、トレース情報を受信した際に、計時部２７により計時された現在時刻がタイプスタンプとしてトレース情報に付与され、トレースデータが生成される。
【００６４】
ステップＳ１２の実行後、トレースデータがトレースデータ一時バッファ２４に記憶される（ステップＳ１３）。そして、トレースデータ一時バッファ２４から１つのトレースデータが参照される（ステップＳ１４）。そして、イベントフィルタが存在するか否かが判別される（ステップＳ１５）。具体的には、記憶部２３が参照され、イベントフィルタの条件が記憶部２３に記憶されているか否かが判別される。
【００６５】
ステップＳ１５において、イベントフィルタが存在しないと判別された場合（ステップＳ１５；ＮＯ）、後述するステップＳ１７に移行される。ステップＳ１５において、イベントフィルタが存在すると判別された場合（ステップＳ１５；ＹＥＳ）、該当トレースデータについてイベントフィルタの条件が成立するか否かが判別される（ステップＳ１６）。具体的には、参照されたトレースデータ（該当トレースデータ）と、記憶部２３に記憶されているイベントフィルタの条件とが参照され、参照されたトレースデータと、イベントフィルタの条件とが一致するか否かが判別される。
【００６６】
ステップＳ１６において、該当トレースデータについてイベントフィルタの条件が成立しないと判別された場合（ステップＳ１６；ＮＯ）、トレース処理は終了される。ステップＳ１６において、該当トレースデータについてイベントフィルタの条件が成立すると判別された場合（ステップＳ１６；ＹＥＳ）、トレースデータ絞り込みフィルタが存在するか否かが判別される（ステップＳ１７）。具体的には、記憶部２３にトレースデータ絞り込みフィルタの条件が存在するか否かが判別される。  
【００６７】
ステップＳ１７において、トレースデータ絞り込みフィルタが存在しないと判別された場合（ステップＳ１７；ＮＯ）、後述するステップＳ２１に移行される。ステップＳ１７において、トレースデータ絞り込みフィルタが存在すると判別された場合（ステップＳ１７；ＹＥＳ）、キャプチャイベントをパケットキャプチャ装置１０から受信したか否かが判別される（ステップＳ１８）。
【００６８】
ステップＳ１８において、キャプチャイベントをパケットキャプチャ装置１０から受信していないと判別された場合（ステップＳ１８；ＮＯ）、ステップＳ１８に移行される。ステップＳ１８において、キャプチャイベントをパケットキャプチャ装置１０から受信したと判別された場合（ステップＳ１８；ＹＥＳ）、キャプチャイベントについてトレースデータの絞り込みフィルタの条件が成立するか否かが判別される（ステップＳ１９）。具体的には、パケットキャプチャ装置１０から受信したキャプチャイベントに含まれる受信パケット情報がトレースデータ絞り込みフィルタのフィルタに設定されている「Ａアドレスの宛先ポート番号が８０番」と一致するか否かが判別される。
【００６９】
ステップＳ１９において、キャプチャイベントについてトレースデータの絞り込みフィルタの条件が成立しないと判別された場合（ステップＳ１９；ＮＯ）、トレース処理は終了される。ステップＳ１９において、キャプチャイベントについてトレースデータの絞り込みフィルタの条件が成立すると判別された場合（ステップＳ１９；ＹＥＳ）、キャプチャイベントに含まれるタイムスタンプを基準として、事前時間から事後時間の範囲内のトレースデータが選択される（ステップＳ２０）。具体的には、キャプチャイベントに含まれるタイムスタンプ「１０時」を基準時刻として、事前時間「１０ｍｓ」、事後時間「５００ｍｓ」の範囲内のタイムスタンプを有するトレースデータがトレースデータ一時バッファ２４の中から選択される。
【００７０】
ステップＳ２０の実行後、選択されたトレースデータが記憶部２３に記憶される（ステップＳ２１）。すなわち、キャプチャイベントに含まれるタイムスタンプに基づいて、パケットデータと関連付けられたトレースデータが記憶部２３に記憶される。なお、ステップＳ１７；ＮＯの場合は、上述の該当トレースデータ（イベントフィルタの条件を満たすトレースデータ）が記憶部２３に記憶される。ステップＳ２１の実行後、トレース処理は終了される。
【００７１】
以上、本実施の形態によれば、キャプチャイベントに含まれるタイムスタンプを基準時刻とした事前時間から事後時間の時間幅（時間範囲）内のタイムスタンプを有するトレースデータがトレースデータ一時バッファ２４の中から選択され、当該選択されたトレースデータが記憶部２３に記憶（取得）される。このため、パケットデータとトレースデータとの関連付けを容易に行うことができ、関連付けの作業の手間を削減することができる。また、事前時間から事後時間までの時間幅は、ターゲット機器３０が１つのパケットを処理（送受信）する時間（例えば、「ｍｓ」のオーダー）に基づいて定められる。このため、事前時間から事後時間の時間幅（時間範囲）でトレースデータの取得を繰り返し行えば、パケットデータの取得可能な時間範囲（分、時間オーダー）がトレースデータの取得可能な時間範囲（秒オーダー）を超える場合であっても、パケットデータに関連付けられたトレースデータを取得することができる。
【００７２】
なお、上記実施の形態における記述は、本発明に係るネットワークシステム１の一例であり、これに限定されるものではない。  
【００７３】
例えば、上記実施の形態においては、パケットキャプチャ装置１０とトレース装置２０とを別々の構成として説明したがこれに限定されるものではない。例えば、パケットキャプチャ装置１０とトレース装置２０とを含んだ構成を有する１つの装置としてもよい。この場合、時刻同期部１１Ａにより同期された現在時刻を示すタイムスタンプを、パケット及びトレース情報に付与して、パケットデータ及びトレースデータをそれぞれ生成することとしてもよい。
【００７４】
また、パケットキャプチャ処理の実行後、パケットキャプチャ装置１０の表示部１２に、パケットデータを表示することとしてもよい。このとき、パケットデータに関連するトレースデータ（事前時間から事後時間の時間範囲に含まれるトレースデータ）を当該パケットデータと併せて表示することとしてもよい。また、トレース処理の実行後、トレース装置２０の表示部２２に、絞り込んだトレースデータを表示することとしてもよい。このとき、トレースデータに関連するパケットデータ（キャプチャイベントのタイムスタンプを有するパケットデータ）を併せて表示することとしてもよい。  
【００７５】
その他、本実施の形態における、ネットワークシステム１の細部構造及び詳細動作に関しても、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明に係る実施の形態のネットワークシステムの概略構成を示す図である。
【図２】パケットキャプチャ装置の内部構成を示す図である。
【図３】トレース装置の内部構成を示す図である。
【図４】パケットキャプチャ処理の流れを示すフローチャートである。
【図５】トレース処理の流れを示すフローチャートである。
【図６】トレース処理の流れを示すフローチャートである。
【符号の説明】
【００７７】
１     ネットワークシステム
１０   パケットキャプチャ装置
１１，２１    制御部
１１Ａ 時刻同期部
１１Ｂ タイムスタンプ付与部
１１Ｃ キャプチャイベント発生部
１１Ｄ パケットフィルタリング部
１２，２２    表示部
１３，２３    記憶部
１４   ネットワークＩ／Ｆ部
１５   ，２６  通信部
１６，２７    計時部
２０   トレース装置
２１Ａ タイムスタンプ付与部
２１Ｂ イベントフィルタ適用部
２１Ｃ トレースデータ絞り込み部
２４   トレースデータ一時バッファ
２５   トレースＩ／Ｆ部
３０   ターゲット機器
Ｎ     ネットワーク
【図１】
2010154475.tif 000003
【図２】
2010154475.tif 000004
【図３】
2010154475.tif 000005
【図４】
2010154475.tif 000006
【図５】
2010154475.tif 000007
【図６】
2010154475.tif 000008