(57)【要約】【課題】  ネットワーク上を伝送されるデータ・パケットから自動的にパケットのトランザクションにおける序列関係を判断して、装置実行により好適な時間補正量を得る。【解決手段】  ネットワークを通して伝送されるデータ・パケットを使用してネットワーク・トレースを解析するための処理装置は、データ・パケットから生成されるトレース・データを格納するメモリ部３２と、トレース・データから同一のセッションに帰属されるパケット対を検索して、ノードの序列関係を生成するパケット解析部３４と、パケット対データと序列関係データとを使用して各ノードの固有時間軸の時間差を見積もるための配列データを生成し、格納させる配列データ生成部３６と、配列データを使用して時間差の見積もり値を算出し、メモリに格納する解法エンジン部３８とを含む。【選択図】  図１０
2005027252.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを接続するネットワークのネットワーク・トレースを解析するための方法であって、該方法は、
処理装置により、ネットワークを通して伝送されるデータ・パケットをノードごとに対応させたトレース・データとして格納した記憶媒体から読み取らせるステップと、
前記読み取らせたトレース・データを前記処理装置に格納させるステップと、
前記格納されたトレース・データから同一のセッションに帰属されるパケット対を検索し、トランザクション方向に沿った前記ノードの序列関係を決定するステップと、
前記ノードのトランザクション方向に沿った序列関係と、パケット対のデータとから前記ノードの固有時間軸の時間差を決定するステップと
を含む、方法。
【請求項２】
さらに、前記時間差を決定するステップは、各ノードの固有時間軸の時間差の制約条件を満足させる配列データを作成して、メモリに格納させるステップと、
前記配列データを使用して前記制約条件を満足する複数の時間差を決定し、記憶装置に格納させるステップと
を含む、請求項１に記載の方法。
【請求項３】
前記配列データは、前記時間差を変数とする連立１次不等式の係数行列である、請求項２に記載の方法。
【請求項４】
前記序列関係を決定するステップは、前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断して前記ノードの序列関係を判断するステップを含む、請求項１に記載の方法。
【請求項５】
ネットワークに接続されたノードのデータ・パケットのトランザクション方向に沿った序列関係を判断する方法であって、該方法は、
ネットワークから取得されたデータ・パケットをノードに対応させて格納したトレース・データを処理装置に読み出させるステップと、
前記処理装置において読み出されたトレース・データから同一のセッションに帰属されるパケット対を検索して、メモリに格納するステップと、
前記パケット対が所定のノードを通過した時のタイム・スタンプを読み出して、タイム・スタンプ差を計算させるステップと、
前記パケット対が異なるノードを通過したときの前記タイム・スタンプ差を比較するステップと
を含むノード間の序列判断方法。
【請求項６】
さらに、前記トレース・データから前記パケット対のタイム・スタンプ差の比較に基づき、ネットワーク上に存在するノードの序列関係を生成させるステップを含む、請求項５に記載の方法。
【請求項７】
さらに、前記タイム・スタンプ差の比較に応答して、時間差の大きなノードをトランザクション上流側とし、時間差の小さなノードをトランザクション下流側として割り当てるステップを含む、請求項６に記載の方法。
【請求項８】
ネットワークを通して伝送されるデータ・パケットを使用してネットワーク・トレースを解析するための処理装置であって、前記処理装置は、
前記データ・パケットから生成されるトレース・データを格納するメモリ部と、
前記トレース・データから同一のセッションに帰属されるパケット対を検索して、ノードの序列関係を生成するパケット解析部と、
パケット対データと序列関係データとを使用して各ノードの固有時間軸の時間差を見積もるための配列データを生成し、格納させる配列データ生成部と、
前記配列データを使用して前記時間差の見積もり値を算出し、メモリに格納する解法エンジン部と
を含む、処理装置。
【請求項９】
前記配列データは、前記時間差を変数とする連立１次不等式の係数行列である、請求項８に記載の処理装置。
【請求項１０】
前記パケット解析部は、前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断してノードのトランザクション方向に関連した序列関係を判断する手段を含む、請求項８に記載の処理装置。
【請求項１１】
複数のノードを接続するネットワークのネットワーク・トレースを解析するための処理装置としてコンピュータ装置を制御するためのコンピュータ実行可能なプログラムであって、該プログラムは、コンピュータ装置をして、
ネットワークを通して伝送されるデータ・パケットをノードごとに対応させたトレース・データとして格納した記憶媒体から読み取らせるステップと、
前記読み取らせたトレース・データを格納させるステップと、
前記格納されたトレース・データから同一のセッションに帰属されるパケット対を検索し、トランザクション方向に沿った前記ノードの序列関係を決定するステップと、
前記ノードのトランザクション方向に沿った序列関係データと、パケット対のデータとから前記ノードの固有時間軸の時間差を決定するステップと
を実行させる、コンピュータ実行可能なプログラム。
【請求項１２】
前記プログラムは、さらにコンピュータ装置に対して、各ノードの固有時間軸の時間差の制約条件を満足させる配列データを作成して、メモリに格納させるステップと、
前記配列データを使用して前記制約条件を満足する複数の時間差を決定し、記憶装置に格納させるステップと
を実行させる、請求項１１に記載のプログラム。
【請求項１３】
前記プログラムは、前記コンピュータ装置に対して前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断して前記ノードの序列関係を判断するステップを実行させる、請求項１１に記載のプログラム。
【請求項１４】
ネットワークに接続されたノードのデータ・パケットのトランザクション方向に沿った序列関係を判断して、ネットワーク・トレースの解析をコンピュータに実行させるためのコンピュータ実行可能なプログラムであって、該プログラムはコンピュータ装置に対して、
ネットワークから取得されたデータ・パケットをノードに対応させて格納したトレース・データを処理装置に読み出させるステップと、
前記読み出されたトレース・データから同一のセッションに帰属されるパケット対を検索して、メモリに格納するステップと、
前記パケット対が所定のノードを通過した時のタイム・スタンプを読み出して、タイム・スタンプ差を計算させるステップと、
前記パケット対が異なるノードを通過したときの前記タイム・スタンプ差を比較するステップと、
前記トレース・データから前記パケット対のタイム・スタンプ差の比較に基づき、ネットワーク上に存在するノードの序列関係を生成させるステップと
を実行させるプログラム。
【請求項１５】
前記タイム・スタンプ差の比較に応答して、時間差の大きなノードをトランザクション上流側とし、時間差の小さなノードをトランザクション下流側として割り当てるステップをコンピュータに対して実行させる、請求項１４に記載のプログラム。
【請求項１６】
ネットワークに接続されたノードの固有時間軸の差を補正する方法であって、
ネットワークを伝送されるデータ・パケットをノードごとに測定して、トレース・データを取得するステップと、
処理装置を使用して、前記トレース・データからトランザクションにおけるノードの序列関係を取得するステップと、
処理装置を使用して前記ノードの序列関係データとパケット対データとを使用して数値解析に基づいて前記固有時間軸の時間差の許容範囲を見積もるステップと、
前記許容範囲から時間補正値を選択するステップと
を含む、ネットワークにおけるノード間の時間差補正方法。
【請求項１７】
前記時間差補正方法は、前記処理装置に対して前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断させるステップを含む、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで相互接続された装置におけるネットワーク・トレースの解析技術に関し、より詳細には、複数のネットワークに接続された装置（以下、ノードとして参照する。）において取得されたネットワーク・トレースを使用して、ネットワークに接続されたノードの内蔵クロックの時間差を補正するための、ネットワーク・トレースを解析する方法、ノード間の序列の判断方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法に関する。
【背景技術】
【０００２】
近年のネットワーク・システムには、さまざまな機器が接続され、物理的にも論理的に複雑な構造となっている。そのようなシステムで発生したトラブルを解決するためには、ネットワーク上の複数の箇所でデータ・パケットを取得し、タイム・スタンプを付加して保存した後、それを解析する必要がある。しかしながら、ネットワーク・トレースを取得するための機器に内蔵されるクロックは、通常では同期していないため、複数箇所で取得されたデータを比較して解析する際にはデータ・パケットに付加されるタイム・スタンプを補正する必要がある。
【０００３】
従来、上述した補正は、サービス・エンジニアの経験に基づき、推定した時間補正量を決定し、ノードごとに補正時間量を入力することにより行われている。このためネットワークにおける時間補正の作業は、サービス・エンジニアの技量に大きく依存し、かつサービス・エンジニアへの負担も大きく効率的ではないこと、補正の効果が充分に保証できない場合もあること、ユーザおよびサービス・エンジニアの業務上の負担も増加する、などの不都合を生じさせていた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記不都合を解決するべく、本発明者らは、特開２００２−１１１７８２号において、ネットワーク上の複数のノードでネットワーク・トレースを取得し、ノードごとに識別してデータ・パケットを格納させるネットワーク・トレース取得装置（以下、本発明においてはエージェント装置として参照する。）を提案した。
【特許文献１】特開２００２−１１１７８２号公報
【０００５】
上述したエージェント装置は、複数のネットワーク上のノードにおいてデータ・パケットを取得して、測定ノードごとにデータ・パケットを格納させる。格納されたデータは、例えばサービス・エンジニアがサービス・サイトへと持ち帰った後に、コンピュータ装置に読み込まれ、サービス・エンジニアによる解析が行われる。上述した方法によっても、複数のノードのネットワーク・トレースを表示するグラフィカル・ユーザ・インタフェース（ＧＵＩ）を工夫することで、ネットワーク・トレースの解析を効率させることができる。しかしながら、サービス・エンジニアが都度高度な知識を使用して時間補正量を定めるのでは、サービス・エンジニアの経験や技量に大きく依存し、また精度的にも満足できるか否かについて保証できるものではない。このため、時間補正量を再度見積もって、フィールドに持ち帰り、トライ・アンド・エラー的に修正を繰り返すことになる場合も発生しうる。
【０００６】
これまで種々のネットワーク・トレース分析方法が知られている。しかしながら、ネットワーク経路上に接続されたノードの時間補正量を、実測されたデータを使用して解析的に自動的に見積もることにより、高い効率で時間補正量を提供することができると共に、サービス・エンジニアの技量への依存度およびユーザへの負担を低減させつつ客観的な尺度により時間補正量を与えることが必要とされていた。
【０００７】
また、これまで、ネットワーク上を伝送されるデータ・パケットから自動的にパケットのトランザクションにおける序列関係を判断して、好適な時間補正量の取得方法を生成することを可能とする装置実行可能とすることが必要とされていた。
【課題を解決するための手段】
【０００８】
本発明は上述した従来方法の不都合に鑑みてなされたものであり、本発明は、ネットワーク上の複数のノードで測定されたトレース・データを使用して、データ・パケットのトランザクション方向に沿ったノードの序列付けを行うことができれば、数値解析的な方法を使用して効率的、かつ客観性な時間補正量の見積もりを行うことができる、という着想に基づいてなされたものである。
【０００９】
本発明においては、ノードごとに取得されたデータ・パケットのうち、例えば要求／応答といった単一のセッションに帰属されるパケットの対を検索し、このパケット対が所定のノードを通過したときのタイム・スタンプ差が、トランザクション方向におけるノードの序列を与えることを使用する。所定のパケットついについて序列関係が与えられると、時間差を変数として連立１次不等式を与えることができる。この連立１次不等式を数値解析して、所定の制約条件の下で時間差の許容範囲を算出する。算出された許容範囲から時間補正量を決定し、この値を各ノードに対して設定することで、ネットワークの時間補正を行うことができる。
【００１０】
すなわち、本発明によれば、複数のノードを接続するネットワークのネットワーク・トレースを解析するための方法であって、該方法は、
処理装置により、ネットワークを通して伝送されるデータ・パケットをノードごとに対応させたトレース・データとして格納した記憶媒体から読み取らせるステップと、
前記読み取らせたトレース・データを前記処理装置に格納させるステップと、
前記格納されたトレース・データから同一のセッションに帰属されるパケット対を検索し、トランザクション方向に沿った前記ノードの序列関係を決定するステップと、
前記ノードのトランザクション方向に沿った序列関係と、パケット対のデータとから前記ノードの固有時間軸の時間差を決定するステップと
を含む方法が提供される。
【００１１】
本発明においては、前記時間差を決定するステップは、各ノードの固有時間軸の時間差の制約条件を満足させる配列データを作成して、メモリに格納させるステップと、
前記配列データを使用して前記制約条件を満足する複数の時間差を決定し、記憶装置に格納させるステップと
を含むことができる。前記配列データは、前記時間差を変数とする連立１次不等式の係数行列である。前記序列関係を決定するステップは、前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断して前記ノードの序列関係を判断するステップを含むことができる。
【００１２】
本発明によれば、ネットワークに接続されたノードのデータ・パケットのトランザクション方向に沿った序列関係を判断する方法であって、該方法は、
ネットワークから取得されたデータ・パケットをノードに対応させて格納したトレース・データを処理装置に読み出させるステップと、
前記処理装置において読み出されたトレース・データから同一のセッションに帰属されるパケット対を検索して、メモリに格納するステップと、
前記パケット対が所定のノードを通過した時のタイム・スタンプを読み出して、タイム・スタンプ差を計算させるステップと、
前記パケット対が異なるノードを通過したときの前記タイム・スタンプ差を比較するステップと
を含むノード間の序列判断方法が提供される。
【００１３】
本発明では、さらに、前記トレース・データから前記パケット対のタイム・スタンプ差の比較に基づき、ネットワーク上に存在するノードの序列関係を生成させるステップを含むことができる。本発明では、さらに、前記タイム・スタンプ差の比較に応答して、時間差の大きなノードをトランザクション上流側とし、時間差の小さなノードをトランザクション下流側として割り当てるステップを含むことができる。
【００１４】
本発明においては、ネットワークを通して伝送されるデータ・パケットを使用してネットワーク・トレースを解析するための処理装置であって、前記処理装置は、
前記データ・パケットから生成されるトレース・データを格納するメモリ部と、
前記トレース・データから同一のセッションに帰属されるパケット対を検索して、ノードの序列関係を生成するパケット解析部と、
パケット対データと序列関係データとを使用して各ノードの固有時間軸の時間差を見積もるための配列データを生成し、格納させる配列データ生成部と、
前記配列データを使用して前記時間差の見積もり値を算出し、メモリに格納する解法エンジン部と
を含む、処理装置が提供できる。
【００１５】
前記配列データは、前記時間差を変数とする連立１次不等式の係数行列とすることができる。前記パケット解析部は、前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断してノードのトランザクション方向に関連した序列関係を判断する手段を含むことができる。
【００１６】
本発明によれば、複数のノードを接続するネットワークのネットワーク・トレースを解析するための処理装置としてコンピュータ装置を制御するためのコンピュータ実行可能なプログラムであって、該プログラムは、コンピュータ装置をして、
ネットワークを通して伝送されるデータ・パケットをノードごとに対応させたトレース・データとして格納した記憶媒体から読み取らせるステップと、
前記読み取らせたトレース・データを格納させるステップと、
前記格納されたトレース・データから同一のセッションに帰属されるパケット対を検索し、トランザクション方向に沿った前記ノードの序列関係を決定するステップと、
前記ノードのトランザクション方向に沿った序列関係データと、パケット対のデータとから前記ノードの固有時間軸の時間差を決定するステップと
を実行させる、コンピュータ実行可能なプログラムが提供できる。
【００１７】
前記プログラムは、さらにコンピュータ装置に対して、各ノードの固有時間軸の時間差の制約条件を満足させる配列データを作成して、メモリに格納させるステップと、
前記配列データを使用して前記制約条件を満足する複数の時間差を決定し、記憶装置に格納させるステップと
を実行させることができる。前記プログラムは、前記コンピュータ装置に対して前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断して前記ノードの序列関係を判断するステップを実行させることができる。
【００１８】
本発明によれば、ネットワークに接続されたノードのデータ・パケットのトランザクション方向に沿った序列関係を判断して、ネットワーク・トレースの解析をコンピュータに実行させるためのコンピュータ実行可能なプログラムであって、該プログラムはコンピュータ装置に対して、
ネットワークから取得されたデータ・パケットをノードに対応させて格納したトレース・データを処理装置に読み出させるステップと、
前記読み出されたトレース・データから同一のセッションに帰属されるパケット対を検索して、メモリに格納するステップと、
前記パケット対が所定のノードを通過した時のタイム・スタンプを読み出して、タイム・スタンプ差を計算させるステップと、
前記パケット対が異なるノードを通過したときの前記タイム・スタンプ差を比較するステップと、
前記トレース・データから前記パケット対のタイム・スタンプ差の比較に基づき、ネットワーク上に存在するノードの序列関係を生成させるステップと
を実行させるプログラムが提供できる。本発明においては、前記タイム・スタンプ差の比較に応答して、時間差の大きなノードをトランザクション上流側とし、時間差の小さなノードをトランザクション下流側として割り当てるステップをコンピュータに対して実行させることができる。
【００１９】
本発明によれば、ネットワークに接続されたノードの固有時間軸の差を補正する方法であって、
ネットワークを伝送されるデータ・パケットをノードごとに測定して、トレース・データを取得するステップと、
処理装置を使用して、前記トレース・データからトランザクションにおけるノードの序列関係を取得するステップと、
処理装置を使用して前記ノードの序列関係データとパケット対データとを使用して数値解析に基づいて前記固有時間軸の時間差の許容範囲を見積もるステップと、
前記許容範囲から時間補正値を選択するステップと
を含む、ネットワークにおけるノード間の時間差補正方法が提供できる。
【００２０】
本発明では、前記時間差補正方法は、前記処理装置に対して前記パケット対が隣接する２つのノードを通過したときのタイム・スタンプ差の大小を判断させるステップを含むことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を図面に示した具体的な実施の形態をもって説明するが、本発明は、図面に示した実施の形態に限定されるものではない。
【００２２】
セクションI  ノード固有時間軸の数値解析に基づく予測方法
図１には、本発明が適用されるネットワーク・システム１０の概略的なブロック図を示す。ネットワーク・システム１０は、サーバ１２と、クライアント１４と、サーバ１２とクライアント１４との間をルーティングするための複数のルータ１６ａ〜１６ｎとを含んでいる。図１に示した実施の形態では、クライアント１４は、ルータ１６ａに接続されていて、サーバ１２との間またはルータ１６ａ〜１６ｎを介して接続された図示しない他のクライアントや、他のサーバとの間でデータの伝送を行っている。
【００２３】
本発明においては、クライアント１４は、例えばパーソナル・コンピュータまたはワーク・ステーションといったコンピュータ装置から構成することができる。また、サーバ１２についても、例えば、パーソナル・コンピュータまたはワーク・ステーションから構成することができ、機能としては、プリンタ・サーバ、ファイル・サーバなどを挙げることができる。さらに本発明においてサーバ１２は、専用の用途に用いられるアプライアンス・サーバとして構成することができる。さらに、本発明においては、ネットワーク・システム１０においてサーバ１２は、必要に応じて複数配置することができる。図１に示した実施の形態では、クライアント１４、サーバ１２、ルータ１６ａ〜１６ｎなどのネットワーク上のノードにおいて、エージェント装置１８が、データ・パケットを収集しているのが示されている。
【００２４】
また、データ・パケットの収集においては、一つのノードにエージェント装置１８を順次接続させて測定することもできるし、エージェント装置をノードや、ネットワーク自体に直接的に接続して測定することができる。また、複数のエージェント装置を使用して測定し、後述する処理装置において、ノードまたはネットワークごとのデータとして統合させることもできる。さらに、通常では、エージェント装置は、後述する処理装置とは別に構成されており、トレース・データを適切な記憶媒体に格納させることができる構成とされている。
【００２５】
図２には、図１に示したネットワークを通して伝送されるデータ・パケットの理想的なタイム・チャートを示す。本発明において「理想的」とは、ネットワークに接続された装置の内部クロックが完全に同期していることを意味する。図２に示したデータ・パケットのトランザクションのタイム・チャートは、例えばクライアント１４がアプリケーションを要求するための要求パケットをサーバ１２へと送出し、要求パケットがルータといったノードを通過して伝送され、サーバ１２が、その要求に対して応答パケットを送出する、といった実施の形態において、ネットワーク上のノードを通過する各パケットの時間を示している。
【００２６】
図２に示したタイム・チャートは、縦軸が時間経過を示し、ネットワーク１０上のノードごとに同期した内部クロックに対応する固有時間軸tnから構成されている。また、図２に示したタイム・チャートでは、固有時間軸tnは、完全に同期されているので、時間0の位置は、どの固有時間軸でも図２中上側に示された基準ラインＳＬに整列している。
【００２７】
図２において、要求パケットjは、固有時間tg-1jでノード(g-1)を通過し、固有時間tgjでノードgを通過し、固有時間tnjでノード(g+1)を通過しているのが示されている。データ・パケットは、各ノードを通過する際のタイム・スタンプを伴って本発明において使用されるエージェント装置１８に格納される。なお、図２では、ノードがルータであるものと仮定して説明しているものの、本発明においては特にルータに限定することを意図するものではなく、ネットワーク経路上に配置されるいかなる装置であってもノードとして選択することができる。
【００２８】
図２に示された理想的な場合には、各ノードを通過するときのタイム・スタンプは、固有時間軸の進み、遅れが生じていないので、通過した時間の新しさの順でtnj＞tgj＞tg-1jとなる。このことは、応答パケットj’についても同様であり、各ノードを通過する固有時間は、t’gj＞t’g-1j＞t’njとなる。この場合には、タイム・スタンプの不整合は生じることがないので、不都合は生じない。
【００２９】
これとは対照的に、図３には、ノードの固有時間軸tg-1、tg、tnが互いにずれている現実のネットワーク・システム１０でのタイム・チャートを示す。図３に示した実施の形態では、時間軸tg-1を基準として、固有時間軸tgでは、xgの遅れが生じており、固有時間軸tnでは、xnの遅れが生じている。このような場合には、それぞれの固有時間軸において付されるタイム・スタンプは、伝送経路順に並ぶものとは言えず、ネットワーク・トレースの解析を複雑なものとし、さらには、ネットワーク・システム１２上での障害を発生させる場合も生じる。
【００３０】
以下、これらの固有時間に対して、j番目のデータ・パケットのノードgでのタイム・スタンプをtgjとし、j番目のデータ・パケットと同一のセッションに帰属されるデータ・パケットj’に対してノードgのタイム・スタンプをt’gjとして表す。また、x1〜xnを、固有時間軸の間の時間差として参照する。また、本発明において、xの値が「正:positive」の場合には、時間軸の進みを表すものとし、「負:negative」の場合が遅れを表すものとして説明を行う。
【００３１】
ここで、図３をより詳細に説明する。データ・パケットj、j’は、ネットワーク内を所定の伝送速度で通過しているので、実際のデータ・パケットjは、ネットワーク経路の伝送長さなどに応じた時間遅延で他のノードへと達している。同様にデータ・パケットjと同一のセッションに帰属されるデータ・パケットj’も同様に、伝送長さなどに応じて時間遅延が発生している。
【００３２】
ところで、固有時間軸は、上述したように多くの場合には同期していることはを想定できず、それぞれ時間差x1〜xnを有している。このことは、データ・パケットj、j’が伝送長さなどに応じて時系列的な順序で遅延していても、各ノードを通過する際のタイム・スタンプが、各ノード間で比較することができないという不都合をもたらす。具体的には、時間差が大きな場合には、データ・パケットのあて先ノードで送信したノードが、付されたタイム・スタンプよりも前または将来の値が付されることになる。このため、ノードごとに時間補正を行い、タイム・スタンプの矛盾が生じないようにする必要がある。本発明において、「タイム・スタンプに矛盾が生じないようにする」とは、具体的には、各ノードにおいて、タイム・スタンプが先に通過する所定のノードのタイム・スタンプよりも遅れてデータ・パケットが通過するノードのタイム・スタンプよりも時間的に遅れないようにすることを意味する。
【００３３】
より具体的には、本発明では、上述した制約条件をネットワーク・トレースの数値解析に含ませることにより時間補正量の許容範囲を数値解析により取得させる。図４には、上述した制約条件を、データ・パケット1〜jに対して、ノード0とノード1との間を通過する場合について示した図である。なお、図４において、ノード0およびノード1は、ネットワーク・システム１０に接続されたいかなる装置であっても良いものとし、ノード0は、時間補正の基準として使用するノードを意味し、そのタイム・スタンプは、0であるものとして以下の説明を行う。
【００３４】
図４に示すように、ノード0から送出されたデータ・パケットjとj+1とは、所定の遅延時間でノード1へと到達し、時間差x1だけずれたタイム・スタンプが付される。データ・パケットj、j+1は、その後他のノードへと達し、例えばパケットj’およびj+1’として、他のノードからノード1を通過してノード0へと戻される。ノード0とノード1との間の時間差が急激にデータ・パケットの収集中に変化しないものとすると、上述した「タイム・スタンプに矛盾が生じないようにする」という制約条件下では、下記の連立不等式が与えられる。
【００３５】
【数１】
2005027252.tif 000003
上記不等式（１）を、固有時間差x1について整理して書き下すと、下記式（２）が得られる。
【００３６】
【数２】
2005027252.tif 000004
上記式（２）を辺々比較すると、データ・パケット全体に対して上記式（２）を満たすためには、固有時間差x1は、ノード0からノード1へ向かうパケットの時間差の最小値よりも小さく、かつノード1からノード0へ向かうパケットの時間差の最大値よりも大きくなければならない。そこで、最小値を与えたデータ・パケットの識別値をk、最大値を与えたデータ・パケットの識別値をmとすると、時間差x1は、下記式（３）の関係を満たすことが要求される。
【００３７】
【数３】
2005027252.tif 000005
ノード0およびノード1以外のノード間についても同様の関係が得られ、一般的には下記連立不等式（４）として表現することができる。
【００３８】
【数４】
2005027252.tif 000006
上記式中、g(g=1,2,...,n-1)は、g番目のノードを示し、hは、時間差の最大値を与えたデータ・パケットを示すパケット識別値であり、iは、時間差の最小値を与えるデータ・パケットを示すパケット識別値である。したがって、上述した連立不等式が成立する範囲（以下、許容範囲として参照する。）で各ノードgにおける固有時間の補正量を定めれば上述した制約条件を満足することができる。
【００３９】
図２〜図４のように、図的にデータ・パケットの伝送方向が定められる場合には、連立不等式を生成させることは容易である。しかしながら、エージェント装置により測定されるデータ・パケットでは、ノードに関する情報は固有時間のずれを含むタイム・スタンプなので、タイム・スタンプをそのまま使用しても、トランザクションに関連したノード間の序列関係を判断することができない。この目的で、他のデータ・パケットとは異なる識別コードなどを含むパケットを使用して、トレースを行う方法も考えられるが、本発明では、エージェント装置により収集されたトレース・データのみを使用して上述したノード間のトランザクション方向の判断処理を自動的に実行させることにより、より効率的に補正量を見積もることが可能であることを見出した。以下、本発明において、ノード間のトランザクション方法におけるノードの序列関係を得るための処理について説明する。
【００４０】
セクションII  同一のセッションに帰属されるパケット対の検索と、ノード間のトランザクション方向における序列関係の生成
図５に、本発明により取得されたデータ・パケットの群の中からパケット対を特定するための基本的な手法を示す。本発明者らは、上述したノードの序列化のために、同一のセッションに属するデータ・パケットがネットワーク内のノードａ、ｂを通過する際のタイム・スタンプを使用することができることに着目した。すなわち、本発明者らは、送信側ノードに近いノードのタイム・スタンプの差ΔtaとΔtbとを比較する。より具体的に図５を使用して説明すると、同一のセッションに帰属されるデータ・パケットからなるパケット対は、ノード間の伝送長さの分の伝送時間分だけ、必ず送信側ノードに近いノードでのタイム・スタンプ差Δtbのほうが大きくなる。この判断方法は、固有時間軸の間隔だけを判断に使用するので、固有時間における時間差には、依存しない。
【００４１】
一方、データ・パケットのセッションは、各プロトコルで定められたセッション管理用の識別子、たとえばTCPであればsyn/ack識別子を使用することにより判断することができる。このため、本発明においてはまず、収集されたトレース・データに含まれる識別子を使用して、同一のセッションのパケット対であることを識別する。その後、パケット対が所定のノードを通過したタイム・スタンプの差を算出することにより、第１のノードにおけるタイム・スタンプ差であるΔtgを得ることができる。
【００４２】
図６には、ネットワーク・システムの各ノードにおいてエージェント装置により取得されるトレース・データの実施の形態を示す。図６（ａ）は、本発明においてエージェント装置が取得するデータの構成を示し、図６（ｂ）には、図６（ａ）に示したトレース・データの構成のうちの一部をより詳細に示した図である。本発明においては、トレース・データは、図６（ａ）に示されるように、各ノードに対応した形式として適切な記憶媒体、例えば、ハードディスク、フロッピー（登録商標）・ディスク、フラッシュ・メモリ、ＥＥＰＲＯＭなどに格納されている。ノードの識別は、種々の方法で行うことができるが、例えば、取得されたデータ・パケットに対してノード識別値を付して格納させることができるし、エージェント装置において、データ・パケットをディレクトリ、フォルダなど格納領域を変えて登録させておき、後述する処理装置に読み込ませる時点で、エージェントに固有に付された識別値であるエージェント識別値を付して、後の処理における識別値として使用することもできる。また、これ以外にも、測定ノードとデータ・パケットとを対応させることができるかぎり、いかなる方法で対応させることができる。また、このノード識別値またはエージェント識別値は、いかなる値でも使用することができるが、上述した式（３）および式（４）におけるgの値を使用することもできる。
【００４３】
以下、具体的なトレース・データの実施の形態を使用して、本発明におけるパケット対の検索と、ノードの序列化方法について説明する。
【００４４】
（１）データ・パケットのセッション同一性
データ・パケットのセッションの同一性は、上述したように、データ・パケットに含まれる識別子を使用して特定することができる。たとえば、図6(b)は
トレース・データより抽出した、TCPのスリーウェイ・ハンドシェイクと呼ばれるセッションを使用した場合のデータ・パケットの構成を示している。クライアントから発行された要求パケットには、syn=A8F989DC、ack=0といった16進の任意の値が付される。これに対応するサーバの応答パケットには、ackの値として要求パケットに含まれるsynの値に1を加えたack=A8F989DDが付され、同時にsynには、syn=F39E5F3Eといった16進の任意値が付される。
【００４５】
一方で、これに対応するクライアントからの応答パケットには、ackの値として, サーバからの応答パケットのsynの値に1を加えた、ack=F39E5F3Fが付される。このように、各プロトコルに用意されているセッション管理用の識別子をプロトコルの仕様にしたがって検査することにより同一セッションのパケット対を検索することができる。
【００４６】
（２）ノード間のトランザクション方向における序列関係の判定
パケット対が識別されると、所定のノード識別値での該当するデータ・パケット間のタイム・スタンプ差を算出して、例えば、第１のノードでの時間差Δtaを計算させる。同様の処理を異なるノード識別値により指定されるトレース・データについて実行させることにより、第２の時間差Δtbを計算させる。
【００４７】
計算された時間差ΔtaとΔtbとを比較して、図５に示した判断基準に基づき、時間差の値が大きい側のノードがより送信元ノードに近く、小さい側のノードが、送信元ノードから遠いと判断される。すなわち、与えられたパケット対について、大きい側のノードをノードgとし、小さい側のノードを、（g+1）ノードとして上記式（３）、（４）により与えられる連立不等式を作成することができる。この処理は、各ノードごとに隣接するノードを使用して実行することもできるし、隣接していないノードについて実行させた後、隣接するノードの序列関係として格納させることもできる。この処理は、トレース・データのエージェント識別値が、必ずしも、所定のデータ・パケットについて、トランザクション方向の序列関係を示さない場合に必要とされる処理である。
【００４８】
上述した処理を、取得されたすべてのパケット対およびノードに対して実行させることにより、上述した連立不等式が生成できる。生成されたタイム・スタンプ値を要素として含み、時間差xgを変数とする連立不等式のデータは、その後、数値解析に適切な形式、例えば配列データの形式でメモリに格納される。図７には、本発明の固有時間差xgを得るための処理のために処理装置に実装することができるプログラムの概略的な擬似コードを示す。
【００４９】
（３）本発明の解析方法の実装可能なプログラムの擬似コード
図７に示した擬似コードでは、まず、ネットワーク・システム１０から生成されたトレース・データを読み込み、パケット対を格納し、ノード間の序列関係を判断した後、互いに隣接するノード間でのパケット対についての序列関係を確立させる。その後、トランザクション方向に対する時間差の最小値と最大値とを計算させ、メモリに格納させる。その後、式（４）で示される連立不等式を、xgを変数とする配列データとして生成させ、適切なメモリに格納させる。格納された配列データは、これまでに知られたいかなる解法エンジンを使用して解くことができ、例えば掃き出し法などを使用して実装することができる。得られた時間差xgの値から所定のノードにおける時間補正量の許容範囲を与え、例えばグラフィカル表示を使用して許容範囲の表示を与えることができる。
【００５０】
図８には、図７に示した処理により与えられる連立不等式を解くことにより得られた固有時間差のうち、x1とx2との間の許容範囲をグラフィカルに表示した図である。図８では、縦軸にx2を示し、横軸にx1をとって、許容可能なx1およびx2の範囲areaを、黒領域で示す。図８に示した実施の形態では、x1は、Ｔ１〜Ｔ２の範囲が許容され、x2は、x1と斜線の間の領域で、制約条件を満たすことが示されている。本発明では、絶対的な時間軸を定めるのではなく、ネットワーク・システム１０に対して相対的に各固有時間が、大きなシステム管理上の不都合を与えないように固有時間軸の補正量としてのxgの値を定めればよい。したがって、x2の値は、許容範囲areaで示された領域の値から、他に考慮しなければならない条件などを考慮して、サービス・エンジニアにより選択することもできるし、または後述する処理装置を使用して自動選択することができる。
【００５１】
例えば、時間補正量を取得させるための方法としては、許容範囲の中心に対応する値を自動的に算出して時間補正量として登録することができる。また、他の実施の形態としては、図８に示したグラフを、後述する処理装置に接続されたディスプレイ装置上に表示させ、許容範囲から、マウス、スタイラス・ペンといったポインタ手段により許容範囲内のポイントを指定し、当該ポイントの位置から対応する時間を取得して、時間補正量とすることもできる。
【００５２】
セクションIII  ネットワーク・トレース解析を実行するための処理装置
図９には、本発明のネットワーク・トレース解析を実行する、ネットワーク解析システムの実施の形態を示す。本発明のネットワーク解析システム２０は、エージェント装置１８と図７に示した解析処理を実行する処理装置２２と、処理装置２２により与えられた出力結果を格納する記憶装置２４とを含んで構成されている。エージェント装置１８は、ユーザ・サイトへと例えばサービス・エンジニアにより持ち込まれ、ネットワーク・システムの複数のノードに接続されて、データ・パケットをモニタする。モニタされたデータ・パケットは、ノードごとに識別させて、エージェント装置１８に備えられた図示しない記憶媒体に記憶される。
【００５３】
処理装置２２は、通常では、エージェント装置１８とは別に構成された、パーソナル・コンピュータまたはワーク・ステーションなどのコンピュータを含んでいる。処理装置２２は、概ね、メモリ２６と、中央処理装置（ＣＰＵ）２８と、入出力制御装置３０とを含んでいる。処理装置２２は、エージェント装置１８により取得されたデータを読み込んで、上述した時間差解析処理を実行する。また、時間差解析処理により得られた時間差の時間補正量は、入出力制御装置３０を介してノードごとに対応させて、記憶装置２４へと格納される。格納された時間補正量のデータは、例えば、記憶装置２４が含む適切な記憶媒体に記憶され、ネットワーク・システムのメンテナンス・データとして使用することができる。
【００５４】
図１０は、本発明の処理装置２４の概略的な機能ブロック図を示す。本発明の処理装置２２は、メモリ部３２と、パケット解析部３４と、配列データ生成部３６と、解法エンジン部３８とを含んで構成されている。メモリ部３２は、エージェント装置１８から読み出されたデータを、所定の処理から呼び出されるまで格納している。パケット解析部３４は、メモリ部３２からデータを読み出して、パケット対を検索させ、ノード間の序列関係を生成させ、メモリ部３２の適切な領域に格納させている。また、配設データ生成部３６は、生成されたパケット対のデータから連立方程式を得るための配列データを生成させ、メモリ部３２に格納させている。
【００５５】
さらに、解法エンジン部３８は、本発明の特定の実施の形態では、連立１次方程式のためのプログラムを含むソフトウエア・モジュールとすることができる。解法エンジン部３８は、格納された配列データを読み出して、例えば掃き出し法といった方法により連立方程式の解を与え、その解から時間補正量の許容範囲を特定する処理を実行させている。同時に、処理装置２２は、エージェント識別値ごとに、決定された時間補正量４２の値を、入出力制御部４０を介して、処理装置２２の内部または外部に配置された記憶装置２４に備えられた適切な記憶媒体に格納させている。上述した本発明により得られた時間補正量は、ネットワーク・システムのノードの時間差補正に使用することができる。
【００５６】
本発明者らは、上述した本発明の効果を現実のネットワーク・システムを構成させて評価を行った。図１１には、実験に使用したネットワーク・システム５０の実施例を示す。実験に使用したネットワーク・システム５０は、クライアント５２と、サーバ５４と、クライアント５２とサーバ５４との間に接続されたハブ５６とから構成されるシステムである。図１０に示した実験では、エージェント装置２２を、ハブ５６に接続させ、データ・パケットを取得させた。取得させたデータ・パケットを、ハードディスクに格納させ、処理装置２４に処理させ、時間差xgの許容範囲を計算させた。得られた時間差xgの許容範囲から適切な値を選定して、クライアント５２、サーバ５４、ハブ５６の時間補正を行った。
【００５７】
図１２には、本発明による時間補正方法により補正されたネットワーク・システム５０におけるタイム・チャートおよび比較のための無補正の場合のタイム・チャートを示す。図１２（ａ）が、本発明を適用した場合のタイム・チャートであり、図１２（ｂ）が補正を行う前のタイム・チャートである。また、図１２に示されたクライアント５２（ノード0）の固有時間軸には、実験により得られた時刻を付して示している。図１２では、固有時間軸は、基準時間０を、同一のライン上に整列させて示している。図１２（ａ）に示されるように、本発明の時間差補正方法を適用した後のタイム・チャートは、時間の反転といった大きな不都合を有していないことがわかる。
【００５８】
一方、図１２（ｂ）に示された補正前のタイム・チャートでは、クライアント５２（ノード0）から送られたデータ・パケットは、過去の時刻においてハブ５６（ノード１）を通過し、サーバ５４（ノード2）へと過去の時刻で受信されている。この時点で、サーバ５４が送信時間と受信時間とを使用して処理を行うアプリケーションを含んでいる場合には、処理停止または処理不能などの不都合を生じることになる。
【００５９】
図１２に示されるように、本発明のネットワーク・トレース解析方法および該方法を使用した時間補正方法によれば、ネットワーク・システムに接続された装置間の時間を効率的に、かつ客観的な尺度で補正することが可能となる。このため、本発明によれば、ネットワーク・システムのメンテナンス効率の効率化を可能とし、ユーザおよびサービス・エンジニアにおける業務上の労力を著しく低減させることが可能となる。
【００６０】
本発明のネットワーク・トレース解析方法およびトランザクション方向解析方法は、コンピュータ装置に対して、上述した方法を実行させるための装置実行可能なプログラムを読み込ませ、プログラムを実行させることにより、コンピュータ装置をして、上述した各機能ブロックを構成させることにより実現される。
【００６１】
本発明における上述したコンピュータ実行可能なプログラムとしてはこれまで知られたいかなるプログラミング言語を使用しても記述することができ、例えば、FORTRAN、C言語、C++言語、Java（登録商標）などを上述したプログラミング言語として使用することができる。
【００６２】
これまで本発明を図面に示した具体的な実施の形態を使用して説明してきたが、本発明は、上述した実施の形態に限定されるものではなく、当業者によれば、本発明において開示された実施の形態以外にも、種々の別の実施の形態、除外、付加などを適用することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明が適用されるネットワーク・システム１０の概略的なブロック図。
【図２】図１に示したネットワークを通して伝送されるデータ・パケットの理想的なタイム・チャート。
【図３】固有時間軸tg-1、tg、tnが互いにずれている現実のネットワーク・システムでのタイム・チャート。
【図４】制約条件を、データ・パケット1〜jに対して、ノード0とノード1との間を通過する場合について示した図。
【図５】本発明により取得されたデータ・パケットの群の中からパケット対を特定するための基本的な手法を示した図。
【図６】ネットワーク・システムの各ノードにおいてエージェント装置により取得されるトレース・データの実施の形態を示した図。
【図７】本発明の固有時間差xgを得るための処理のために処理装置に実装することができるプログラムの概略的な擬似コードを示した図。
【図８】図７に示した処理により与えられる連立不等式を解くことにより得られた固有時間差のうち、x1とx2との間の許容範囲を示した図。
【図９】本発明のネットワーク・トレース解析を実行する、ネットワーク解析システムの実施の形態を示した図。
【図１０】本発明の処理装置の概略的な機能ブロック図。
【図１１】実験に使用したネットワーク・システムの実施例を示した図。
【図１２】本発明による時間補正方法により補正されたネットワーク・システムにおけるタイム・チャートおよび比較のための無補正の場合のタイム・チャートを示した図。
【符号の説明】
【００６４】
１０…ネットワーク・システム、１２…クライアント、１４…サーバ、１６…ルータ、１８…エージェント装置、２０…ネットワーク・トレース解析システム、２２…処理装置、２４…記憶装置、２６…メモリ、２８…ＣＰＵ、３０…入出力制御装置、３２…メモリ部、３４…パケット解析部、３６…配設データ生成部、３８…解法エンジン部、４０…入出力制御部、５０…ネットワーク・システム、５２…クライアント、５４…サーバ、５６…ハブ
【図１】
2005027252.tif 000007
【図２】
2005027252.tif 000008
【図３】
2005027252.tif 000009
【図４】
2005027252.tif 000010
【図５】
2005027252.tif 000011
【図６】
2005027252.tif 000012
【図７】
2005027252.tif 000013
【図８】
2005027252.tif 000014
【図９】
2005027252.tif 000015
【図１０】
2005027252.tif 000016
【図１１】
2005027252.tif 000017
【図１２】
2005027252.tif 000018