(57)【要約】【課題】ドキュメントや担当者のノウハウに頼らず、現実に情報処理装置間でやりとりされている通信パケットを解析して、互いに通信を行っている情報処理装置を特定する。【解決手段】複数の情報処理装置がネットワークを介して接続されているネットワークシステムを監視するネットワーク監視装置１０は、ネットワーク上を流れているパケットを取得するパケット取得部１１と、取得したパケットに関するデータを蓄積する蓄積ＤＢ２１と、蓄積ＤＢ２１を参照して、複数の情報処理装置の中で互いに通信を行っている第１及び第２の情報処理装置を特定するとともに、第１及び第２の通信装置のうちサーバとして動作しているサーバ装置及びクライアントとして動作しているクライアント装置を特定する集約処理部１３と、集約処理結果に基づいて、サーバ装置及びクライアント装置の対応関係を出力する出力処理部１７とを備える。【選択図】図２
2011130156.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置がネットワークを介して接続されているネットワークシステムを監視するネットワーク監視装置であって、
前記ネットワーク上を流れているパケットを取得するパケット取得手段と、
前記パケット取得手段で取得したパケットに関するデータを蓄積する蓄積手段と、
前記蓄積手段を参照して前記パケットに関するデータを解析し、前記複数の情報処理装置の中で互いに通信を行っている第１及び第２の情報処理装置を特定するとともに、前記第１及び第２の通信装置のうちサーバとして動作しているサーバ装置及びクライアントとして動作しているクライアント装置を特定する解析手段と、
前記解析手段による解析結果を記憶する記憶手段と、
前記記憶手段を参照して、前記解析結果を出力する手段と、を備えるネットワーク監視装置。
【請求項２】
前記第１及び第２の情報処理装置間でＴＣＰ通信が行われているとき、
前記解析手段は、前記蓄積手段から、前記第１及び第２の情報処理装置間のＴＣＰ通信に係るパケットのうちのＳＹＮ／ＡＣＫパケットに関するデータを抽出し、前記抽出したＳＹＮ／ＡＣＫパケットに関するデータに基づいて、前記第１及び第２の情報処理装置のうちいずれか一方を前記サーバ装置、他方をクライアント装置と特定する、請求項１記載のネットワーク監視装置。
【請求項３】
前記第１及び第２の情報処理装置間でＴＣＰ通信またはＵＤＰ通信が行われているとき、
前記解析手段は、前記蓄積手段から、前記第１及び第２の情報処理装置間のＴＣＰ通信またはＵＤＰ通信に係る複数のパケットに関するデータから、各パケットにおける第１の情報処理装置の第１のポート番号と、第２の情報処理装置の第２のポート番号とをそれぞれ特定し、一組の第１の情報処理装置の第１のポート番号に対して、複数組の第２の情報処理装置の第２のポート番号が対応するとき、前記第１の情報処理装置を前記サーバ装置、前記第２の情報処理装置を前記クライアント装置と特定する、請求項１または２に記載のネットワーク監視装置。
【請求項４】
ネットワーク監視装置が、複数の情報処理装置がネットワークを介して接続されているネットワークシステムを監視して、サーバ装置及びクライアント装置を特定する方法であって、
前記ネットワーク上を流れているパケットを取得するステップと、
前記取得したパケットに関するデータを蓄積手段に蓄積するステップと、
前記蓄積手段を参照して前記パケットに関するデータを解析し、前記複数の情報処理装置の中で互いに通信を行っている第１及び第２の情報処理装置を特定するステップと、
前記第１及び第２の通信装置のうちサーバとして動作しているサーバ装置及びクライアントとして動作しているクライアント装置を特定するステップと、を行う方法。
【請求項５】
ネットワーク監視装置が、複数の情報処理装置がネットワークを介して接続されているネットワークシステムを監視して、サーバ装置及びクライアント装置を特定するためのコンピュータプログラムであって、
前記ネットワーク監視装置に、
前記ネットワーク上を流れているパケットを取得するステップと、
前記取得したパケットに関するデータを蓄積手段に蓄積するステップと、
前記蓄積手段を参照して前記パケットに関するデータを解析し、前記複数の情報処理装置の中で互いに通信を行っている第１及び第２の情報処理装置を特定するステップと、
前記第１及び第２の通信装置のうちサーバとして動作しているサーバ装置及びクライアントとして動作しているクライアント装置を特定するステップと、を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム内での情報処理装置同士の通信状況を把握するための技術に関し、特に通信を行っている二つの情報処理装置のいずれがサーバであり、クライアントであるかを特定する技術に関する。
【背景技術】
【０００２】
従来、多数の情報処理装置を用いて負荷分散することにより、高いパフォーマンスを得られるように構成したネットワークシステムが実用されている。大規模なシステムになれば、その情報処理装置の台数は数百台から千数百台となることもある。このようなシステムでは、安定したパフォーマンスを担保するために、定期的に情報処理装置のリプレースを行う必要がある。
【０００３】
リプレースを行うと、それに応じて予期しない不具合が生じる可能性がある。例えば、リプレースを行うと、情報処理装置の識別情報（ＩＰアドレス）は変わることが一般的である。したがって、リプレース対象の情報処理装置へリクエストをする情報処理装置では、相手の識別情報が変更に対応しないと、リプレース後の通信に失敗する。
【０００４】
そこで、システムの管理担当者としては、リプレース対象の情報処理装置が通信を行っている相手を予め把握しておくことは極めて重要である。そこで、従来は、情報処理装置間の通信状況を把握するためには、設計書などのドキュメントを参照したり、担当者のノウハウを頼りにしたりしていた。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、設計書などのドキュメントの精度が低く、情報処理装置間の通信状況を正確に把握できないことがある。また、対象となっているネットワークシステムがレガシーシステムであるが故にノウハウを持った担当者がいないこともある。このような場合には、リプレース対象の情報処理装置が、どの情報処理装置と通信を行っているかを正確に特定することができない。
【０００６】
特に、データセンター移設など多数の情報処理装置の一括リプレースや、ＤＮＳ／ＮＴＰサーバのように、多数の情報処理装置と通信をしている装置のリプレースの場合、その通信の情報処理装置を正確に特定できないと、移行時に大きなリスクを抱えることとなる。
【０００７】
そこで、本発明の目的は、ドキュメントや担当者のノウハウに頼らず、現実に情報処理装置間でやりとりされている通信パケットを解析して、互いに通信を行っている情報処理装置を特定することである。
【課題を解決するための手段】
【０００８】
本発明の一つの実施態様に従う、複数の情報処理装置がネットワークを介して接続されているネットワークシステムを監視するネットワーク監視装置であって、前記ネットワーク上を流れているパケットを取得するパケット取得手段と、前記パケット取得手段で取得したパケットに関するデータを蓄積する蓄積手段と、前記蓄積手段を参照して前記パケットに関するデータを解析し、前記複数の情報処理装置の中で互いに通信を行っている第１及び第２の情報処理装置を特定するとともに、前記第１及び第２の通信装置のうちサーバとして動作しているサーバ装置及びクライアントとして動作しているクライアント装置を特定する解析手段と、前記解析手段による解析結果を記憶する記憶手段と、前記記憶手段を参照して、前記解析結果を出力する手段と、を備える。
【０００９】
好適な実施形態では、前記第１及び第２の情報処理装置間でＴＣＰ通信が行われているとき、前記解析手段は、前記蓄積手段から、前記第１及び第２の情報処理装置間のＴＣＰ通信に係るパケットのうちのＳＹＮ／ＡＣＫパケットに関するデータを抽出し、前記抽出したＳＹＮ／ＡＣＫパケットに関するデータに基づいて、前記第１及び第２の情報処理装置のうちいずれか一方を前記サーバ装置、他方をクライアント装置と特定するようにしてもよい。
【００１０】
好適な実施形態では、前記第１及び第２の情報処理装置間でＴＣＰ通信またはＵＤＰ通信が行われているとき、前記解析手段は、前記蓄積手段から、前記第１及び第２の情報処理装置間のＴＣＰ通信またはＵＤＰ通信に係る複数のパケットに関するデータから、各パケットにおける第１の情報処理装置の第１のポート番号と、第２の情報処理装置の第２のポート番号とをそれぞれ特定し、一組の第１の情報処理装置の第１のポート番号に対して、複数組の第２の情報処理装置の第２のポート番号が対応するとき、前記第１の情報処理装置を前記サーバ装置、前記第２の情報処理装置を前記クライアント装置と特定するようにしてもよい。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るネットワーク解析装置が解析対象のネットワークシステムと接続されている様子を示す。
【図２】本発明の一実施形態に係るネットワーク監視装置１０の機能構成図を示す。
【図３】蓄積データベース２１のデータ構造の一例を示す。
【図４】集約データベース２３のデータ構造の一例を示す。
【図５】ＴＣＰ通信においてサーバとなっている情報処理装置３及びクライアントとなっている情報処理装置３を特定する方法に係るフローチャートである。
【図６】ＵＤＰ通信においてサーバとなっている情報処理装置３及びクライアントとなっている情報処理装置３を特定する方法に係るフローチャートである。
【図７】ＵＤＰ通信の蓄積データを集約する処理過程におけるレコードの説明図である。
【図８】ＵＤＰ通信におけるクライアント−サーバ間のＩＰアドレス及びポート番号の一例である。
【図９】結果データベース２５のデータ構造の一例を示す。
【図１０】結果データ生成部１５の詳細な処理手順を示すフローチャートである。
【図１１】一時データベース２９のデータ構造の一例を示す。
【図１２】出力処理部１７による結果出力の一例を示す。
【図１３】出力処理部１７による結果出力の一例を示す。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態に係るネットワーク解析装置について、図面を参照して説明する。
【００１３】
図１は、本実施形態に係るネットワーク解析装置が解析対象のネットワークシステムと接続されている様子を示す。
【００１４】
監視対象のネットワークシステムＮは、複数の情報処理装置３，３，・・・（図中、符号は一部のサーバのみ付している）と、情報処理装置３，３，・・・間を接続する一以上のネットワーク装置５，５，・・・とを有している。本実施形態に係るネットワーク監視装置１０は、いずれかのネットワーク装置５に接続されている。ネットワーク監視装置１０は、接続されているネットワーク装置５からネットワーク上を流れているパケットを取得する。そして、ネットワーク監視装置１０は、取得したパケットを解析して、どの二つの情報処理装置３，３間で通信が行われているか、及び、その際にいずれがサービスを提供するサーバであり、いずれがサービスの提供を受けるクライアントであるかを特定する。以下の実施形態で説明するネットワークシステムＮでは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信が行われている。
【００１５】
ネットワーク監視装置１０は、例えば汎用的なコンピュータシステムにより構成され、以下に説明するネットワーク監視装置１０内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に格納可能である。
【００１６】
図２は、ネットワーク監視装置１０の機能構成図を示す。ネットワーク監視装置１０は、同図に示すように、パケット取得部１１と、集約処理部１３と、結果データ生成部１５と、出力処理部１７と、蓄積データベース２１と、集約データベース２３と、結果データベース２５と、アドレス変換テーブル２７と、一時データベース２９とを備える。
【００１７】
パケット取得部１１は、ネットワーク装置５を介して、ネットワーク上を流れているパケットを取得（キャプチャ）する。パケット取得部１１は取得したパケットから所定のデータを抽出して、蓄積データベース２１に順次記憶する。パケット取得部１１は、一つのパケットに対して蓄積データベース２１の一レコードを生成する。
【００１８】
蓄積データベース２１は、パケット取得部１１が取得したパケットから抽出されたデータを保存する。蓄積データベース２１は、例えば、図３に示すようなデータ構造を有する。すなわち、蓄積データベース２１は、機械番号２１１と、シーケンス番号２１３と、時刻２１５と、プロトコル２１７と、発信者アドレス２１９と、発信者ポート番号２２１と、宛先アドレス２２３と、宛先ポート番号２２５と、コードビット２２７とを、データ項目として有する。
【００１９】
機械番号２１１は、ネットワーク監視装置１０の識別情報である。
【００２０】
シーケンス番号２１３は、蓄積データベース２１に蓄積されている各レコードを識別するための番号である。
【００２１】
時刻２１５は、パケット取得部１１がパケットを取得した時刻、または各レコードが蓄積データベース２１に保存された時刻である。
【００２２】
プロトコル２１７は、パケット取得部１１が取得したパケットのＩＰヘッダに格納されているプロトコルである。従って、トランスポート層のプロトコルにＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を利用しているパケットの場合は「６」、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を利用しているパケットの場合は「１７」が設定される。
【００２３】
発信者アドレス２１９は、パケット取得部１１が取得したパケットのＩＰヘッダに格納されている発信者のＩＰアドレスである。
【００２４】
発信者ポート番号２２１は、プロトコル２１７が「６」（ＴＣＰ）の場合、ＴＣＰヘッダの発信者ポート番号が設定され、プロトコル２１７が「１７」（ＵＤＰ）の場合、ＵＤＰヘッダの発信者ポート番号が設定される。
【００２５】
宛先アドレス２２３は、パケット取得部１１が取得したパケットのＩＰヘッダに格納されている宛先のＩＰアドレスである。
【００２６】
宛先ポート番号２２５は、プロトコル２１７が「６」（ＴＣＰ）の場合、ＴＣＰヘッダの宛先ポート番号が設定され、プロトコル２１７が「１７」（ＵＤＰ）の場合、ＵＤＰヘッダの宛先ポート番号が設定される。
【００２７】
コードビット２２７は、プロトコル２１７が「６」（ＴＣＰ）の場合、ＴＣＰヘッダのコードビットが設定される。プロトコル２１７が「１７」（ＵＤＰ）の場合、ブランクでもよい。
【００２８】
集約処理部１３は、所定の項目に着目して、蓄積データベース２１に保存されているデータを集約する。例えば、集約処理部１３は、蓄積データベース２１の全レコードを集約データベース２３のキー項目について重複しないように集約する。
【００２９】
アドレス変換テーブル２７は、一部のＩＰアドレスを仮想ＩＰドレスへ変換するためのテーブルである。例えば、クラスタシステムなどのように複数の情報処理装置で分散処理を行うときに、クライアントから見たときに単一の情報処理装置であるように見せるために仮想ＩＰアドレスが採用されることがある。本実施形態では、集約処理部１３がアドレス変換テーブル２７を参照して、クラスタシステムに係る情報処理装置３のＩＰアドレスを仮想ＩＰアドレスへ変換する。
【００３０】
集約データベース２３は、集約処理部１３によって集約されたデータが保存される。集約データベース２３は、例えば、図４に示すようなデータ構造を有する。すなわち、集約データベース２３は、プロトコル２３１と、サーバアドレス２３３と、サーバポート番号２３５と、クライアントアドレス２３７と、サーバ不明フラグ２３９とを、データ項目として有する。
【００３１】
プロトコル２３１は、蓄積データベース２１のプロトコル２１７に対応する。
【００３２】
サーバアドレス２３３は、サーバプログラムが稼働し、サーバとして動作する情報処理装置３のＩＰアドレスである。サーバは、クライアントに対して所定のサービスを提供する情報処理装置３である。
【００３３】
サーバポート番号２３５は、サーバアドレス２３３のＬＩＳＴＥＮポートの番号である。
【００３４】
クライアントアドレス２３７は、クライアントプログラムが稼働し、クライアントとして動作する情報処理装置３のＩＰアドレスである。クライアントは、サーバから所定のサービスの提供を受ける情報処理装置３である。
【００３５】
サーバ不明フラグ２３９は、２つの情報処理装置３，３間の通信でいずれがサーバであるかが不明なことを示すフラグである。サーバが不明なときは、「１」が設定され、それ以外のときは「０」が設定される。
【００３６】
ここで、集約処理部１３が行う集約処理について詳細に説明する。
【００３７】
まず、ＴＣＰを利用して通信を行っている情報処理装置３の特定方法について説明する。図５は、ＴＣＰ通信においてサーバとなっている情報処理装置３及びクライアントとなっている情報処理装置３を特定する方法に係るフローチャートである。以下、同図に沿って説明する。
【００３８】
集約処理部１３は、トランスポート層のプロトコルとしてＴＣＰを利用して通信を行っている情報処理装置３を特定し、且つ、そのＴＣＰを利用した通信におけるサーバ及びクライアントを特定する。そのために、集約処理部１３は、蓄積データベース２１から、プロトコル２１７が「６」であり、且つ、コードビット２２７が“ＳＹＮ／ＡＣＫ”を示すレコードを抽出する（Ｓ１１）。
【００３９】
ここで、プロトコル２１７が「６」とは、トランスポート層のプロトコルがＴＣＰであるパケットに対応する。
【００４０】
さらに、コードビット２２７が“ＳＹＮ／ＡＣＫ”のレコードは、情報処理装置３，３間でＴＣＰセッションを確立する際にサーバとなる情報処理装置３が送信したＳＹＮ／ＡＣＫパケットに対応するものである。つまり、コードビット２２７が“ＳＹＮ／ＡＣＫ”のレコードにおける発信者アドレス２１９の情報処理装置３がサーバであり、宛先アドレス２２３の情報処理装置３がクライアントであることが特定できる。
【００４１】
次に、集約処理部１３は、ステップＳ１１で抽出されたレコードを、プロトコル２１７、発信者アドレス２１９、発信者ポート番号２２１、及び宛先アドレス２２３により集約する（Ｓ１３）。つまり、集約処理部１３は、“ＴＣＰ”の“ＳＹＮ／ＡＣＫ”パケットに対応するレコードを、プロトコル２１７、発信者アドレス２１９、発信者ポート番号２２１、及び宛先アドレス２２３に関して、重複しないように１レコードに集約する。
【００４２】
集約処理部１３は、ステップＳ１３で得られた集約されたレコードに対して、アドレス変換テーブル２７を参照してアドレス変換を行い、その結果、重複することとなるレコードを削除する（Ｓ１５）。
【００４３】
集約処理部１３は、ステップＳ１５により得られたレコードの発信者側がサーバとなるように集約データベース２３へ保存する（Ｓ１７）。すなわち、集約処理部１３は、プロトコル２１７をプロトコル２３１、発信者アドレス２１９をサーバアドレス２３３、発信者ポート番号２２１をサーバポート番号２３５及び宛先アドレス２２３をクライアントアドレス２３７にそれぞれ格納する。なお、サーバ不明フラグ２３９には「０」を設定する。
【００４４】
これにより、ＴＣＰ通信を行っているサーバ及びクライアントを特定して、その対応関係を集約データベース２３に保存できる。
【００４５】
次に、ＵＤＰを利用して通信を行っている情報処理装置の特定方法について説明する。ＵＤＰの場合、ＴＣＰと異なり、単にパケットの内容を参照するだけでは、互いに通信を行っている情報処理装置のいずれがサーバ、またはクライアントであるかを特定することができない。そこで、ＵＤＰ通信の場合、以下のような通信の特性を利用して、サーバ及びクライアントを判定する。
【００４６】
クライアント−サーバ間で通信を行う場合、ＴＣＰまたはＵＤＰのいずれを用いたときでも、サーバとなる情報処理装置では、サーバプログラムごとにポート番号が予め固定されているという特徴がある。例えば、クライアント側は、セッションが異なればその度に任意のポート番号を使用して通信するので、クライアントのポート番号は様々な値をとり得る。これに対して、サーバ側では同じサーバプログラムであれば同じポート番号が使用されるという特性がある。本実施形態では、この特性を利用して、以下に説明するようにサーバ及びクライアントを判定する。なお、このＵＤＰ通信に適用可能な情報処理装置の特定方法は、ＴＣＰ通信に対しても適用可能である。
【００４７】
図６は、ＵＤＰ通信においてサーバ及びクライアントとなっている情報処理装置を特定する方法に係るフローチャートである。以下、同図に沿って説明する。
【００４８】
集約処理部１３は、まず、トランスポート層のプロトコルとしてＵＤＰを利用して通信を行っている情報処理装置３を特定する。すなわち、集約処理部１３は、蓄積データベース２１から、プロトコル２１７が「１７」であるレコードを抽出する（Ｓ３１）。プロトコル２１７が「１７」のレコードとは、トランスポート層のプロトコルがＵＤＰであるパケットに対応する。従って、このレコードの発信者アドレス２１９の情報処理装置３と宛先アドレス２２３の情報処理装置３とが通信を行ったことがわかる。
【００４９】
次に、集約処理部１３は、ステップＳ３１で抽出されたレコードを、プロトコル２１７、発信者アドレス２１９、発信者ポート番号２２１、宛先アドレス２２３及び宛先ポート番号２２５により集約する（Ｓ３３）。つまり、集約処理部１３は、プロトコル２１７、発信者アドレス２１９、発信者ポート番号２２１、宛先アドレス２２３及び宛先ポート番号２２５に関して、重複するレコードを１レコードに集約する。
【００５０】
この時点では、２つの情報処理装置３，３間でのあるセッションについて、一方の情報処理装置３から見た上りのパケットに対応するレコード、及び下りのパケットに対応するレコードの双方が存在する。例えば図７に示すように、アドレスＡの情報処理装置Ａのポート番号Ａと、アドレスＢの情報処理装置Ｂのポート番号Ｂとの間の通信に関して、情報処理装置Ａ（ポートＡ）→情報処理装置Ｂ（ポートＢ）のパケットに対応するレコード（ケース＃１）と、情報処理装置Ｂ（ポートＢ）→情報処理装置Ａ（ポートＡ）のパケットに対応するレコード（ケース＃２）とが存在する。そして、ここで集約したレコードからは、情報処理装置Ａ，Ｂのいずれがサーバ、あるいはクライアントであるかを特定することができない。
【００５１】
そこで、集約処理部１３は、ステップＳ３３により得られたレコードに対して、一つのアドレス（発信者アドレスまたは宛先アドレス）及び一つのポート番号（発信者ポート番号または宛先ポート番号）を組にして、そのアドレス及びポート番号の組と通信を行っている他のアドレス（発信者アドレスまたは宛先アドレス）及びポート番号（発信者ポート番号または宛先ポート番号）の組が複数あるものを抽出する（Ｓ３５）。
【００５２】
上述のように、サーバとなる情報処理装置では、特定のポート番号を用いてパケットの送受信を行う。例えば、図８に示すように、ある情報処理装置（アドレス：Ｘ．１．１．１）がサーバとして動作するときには、その特定のポート（ポート：８０）を繰り返し使用してパケットの送受信を行う。従って、必然的にサーバとなる情報処理装置３のアドレス（Ｘ．１．１．１）及びポート番号（８０）に対して、クライアントとなる情報処理装置の様々なアドレス及びポート番号との送受信記録が残る。
【００５３】
そこで、集約処理部１３は、一つのアドレス（Ｘ．１．１．１）及びポート番号（８０）の組、つまりサーバ候補のアドレス及びポート番号に対して、複数のアドレス及びポート番号の組が対応するレコードを、ステップＳ３３により得られたレコードから抽出する。サーバ候補のアドレス（Ｘ．１．１．１）及びポート番号（８０）は、発信者側及び宛先側のいずれでもよい。
【００５４】
集約処理部１３は、ステップＳ３５で抽出されたレコードのうち、一つのアドレス（発信者アドレスまたは宛先アドレス）とポート番号（発信者ポート番号または宛先ポート番号）との組を、サーバアドレス２３３及びサーバポート番号２３５として集約して、集約データベース２３へ保存する（Ｓ３７）。つまり、集約処理部１３は、図８の例で言えば、一つのアドレス（Ｘ．１．１．１）及びポート番号（８０）をサーバアドレス２３３及びサーバポート番号２３５とし、通信相手のアドレスをクライアントアドレス２３７として、レコードを集約する。
【００５５】
一方、ステップＳ３５で抽出されずに残ったレコードは、情報処理装置Ａから情報処理装置Ｂへのレコード（図７のケース＃１）が一つ、情報処理装置Ｂから情報処理装置Ａへのレコード（図７のケース＃２）も一つという組み合わせのものである。従って、ケース＃１もケース＃２もそれぞれ一レコードだけ存在する状態では、いずれがサーバと特定することができない。
【００５６】
そこで、集約処理部１３は、ステップＳ３５で抽出されなかったレコードについては、ケース＃１及びケース＃２のそれぞれについて、発信者アドレス２１９をサーバアドレス２３３、発信者ポート番号２２１をサーバポート番号２３５、宛先アドレス２２３をクライアントアドレス２３７にそれぞれ設定し、かつ、サーバ不明フラグ２３９に「１」を設定し、集約データベース２３へ保存する（Ｓ３９）。
【００５７】
集約処理部１３は、上述の処理で集約データベース２３に保存されたレコードに対して、アドレス変換テーブル２７を参照してアドレス変換を行い、その結果、重複することとなるレコードを削除する（Ｓ４１）。
【００５８】
これにより、ＵＤＰ通信を行っているサーバ及びクライアントを特定して、その対応関係を集約データベース２３に保存できる。
【００５９】
改めて図２を参照すると、結果データ生成部１５は、蓄積データベース２１及び集約データベース２３を参照して、結果データを生成する。例えば、結果データ生成部１５は、集約データベース２３に保存されている集約データの各レコードに、それぞれの通信が行われている時間帯を示すデータを付加して、結果データを生成する。結果データ生成部１５が生成した結果データは、結果データベース２５に格納される。
【００６０】
結果データベース２５は、結果データ生成部１５が生成した結果データを格納する。結果データベース２５は、例えば、図９に示すようなデータ構造を有する。すなわち、結果データベース２５は、プロトコル２５１と、サーバアドレス２５３と、サーバポート番号２５５と、クライアントアドレス２５７と、サーバ不明フラグ２５９と、時間帯２６１とを、データ項目として有する。
【００６１】
プロトコル２５１〜サーバ不明フラグ２５９までは、それぞれ、集約データベース２３のプロトコル２３１〜サーバ不明フラグ２３９に対応する。
【００６２】
時間帯２６１は、それぞれのレコードに係るサーバ−クライアント間で通信が行われた時間帯を示す。時間帯２６１は、結果データ生成部１５によって付加される。
【００６３】
図１０は、結果データ生成部１５の詳細な処理手順を示すフローチャートである。以下、同図に沿って説明する。
【００６４】
結果データ生成部１５は、蓄積データベース２１からレコードを抽出する（Ｓ５１）。このとき、特に、時刻２１５、プロトコル２１７、発信者アドレス２１９、発信者ポート番号２２１、宛先アドレス２２３及び宛先ポート番号２２５を抽出して一時データベース２９に格納する。
【００６５】
一時データベース２９は、例えば、図１１に示すように、時刻２９１、プロトコル２９２、発信者アドレス２９３、発信者ポート番号２９４、宛先アドレス２９５、宛先ポート番号２９６及び時間帯２９７を、データ項目として有する。
【００６６】
結果データ生成部１５は、抽出したレコードの時刻２９１を所定の時間幅を有する時間帯に変換して、時間帯２９７に格納する（Ｓ５３）。この時間帯は、例えば、１０分、３０分、１時間など任意の時間幅でよい。時間帯は、予め固定的に定められていてもよいし、ユーザが指定してもよい。例えば、時間帯の時間幅を１時間とすると、結果データ生成部１５は、時刻２１５がＮ時台（例えば７時台）とき、すべてＮ時（７時）に変換してもよい。
【００６７】
結果データ生成部１５は、ステップＳ５５で得られた集約されたレコードに対して、アドレス変換テーブル２７を参照してアドレス変換を行い、その結果、重複することとなるレコードを削除する（Ｓ５５）。
【００６８】
結果データ生成部１５は、一時データベース２９内のレコードのアドレス及びポート番号を入れ替えて、各レコードが示すデータの送信方向を統一する（Ｓ５７）。つまり、一時データベース２９には、一方の情報処理装置から見たときに、上りと下りの双方向のパケットに対応するレコードが含まれているので、これを一方向に統一する。例えば、結果データ生成部１５は、発信者アドレス２９３と宛先アドレス２９５とを比較して、発信者アドレス２９３が大きければ発信者アドレス２９３と宛先アドレス２９５とを入れ替え、かつ、発信者ポート番号２９４と宛先ポート番号２９６とを入れ替える。
【００６９】
ここで、結果データ生成部１５は、一時データベース２９のレコードを集約して、重複しているものを削除する（Ｓ５９）。つまり、プロトコル２９２、発信者アドレス２９３、発信者ポート番号２９４、宛先アドレス２９５、宛先ポート番号２９６及び時間帯２９７が重複するレコードを１レコードに集約する。
【００７０】
次に、結果データ生成部１５は、集約データベース２３の各データに時間帯を付加して、結果データベース２５に格納する（Ｓ６１）。つまり、集約データベース２３の各レコードは、複数の情報処理装置３，３，・・・の中で互いにサーバ−クライアントとして通信を行っている情報処理装置３，３を示しているが、それらの情報処理装置３，３間で通信を行っている時間帯に関する情報はない。そこで、集約データベース２３の各レコードの情報処理装置３，３間で通信を行っているすべての時間帯を、一時データベースの時間帯２９７から取得する。従って、例えば、集約データベース２３の各レコードの情報処理装置３，３間で通信を行っている時間帯が複数あれば、集約データベース２３の１レコードが、結果データベース２５ではそれぞれ異なる時間帯の複数レコードに増加する。
【００７１】
例えば、結果データ生成部１５は、集約データベース２３の各レコードについて、プロトコル２３１、サーバアドレス２３３、サーバポート番号２３５及びクライアントアドレス２３７が２９のプロトコル２９２〜宛先アドレス２９５とすべて一致するすべてのレコードを特定し、それらのレコードの２９７をプロトコル２３１〜クライアントアドレス２３７に付加して、結果データベース２５のプロトコル２５１〜時間帯２６１に格納する。同様に、結果データ生成部１５は、集約データベース２３の各レコードについて、プロトコル２３１、サーバアドレス２３３、サーバポート番号２３５及びクライアントアドレス２３７が２９のプロトコル２９２、宛先アドレス２９５、宛先ポート番号２９７及び発信者アドレス２９３とすべて一致するすべてのレコードを特定し、それらのレコードの２９７をプロトコル２３１〜クライアントアドレス２３７に付加して、結果データベース２５のプロトコル２５１〜時間帯２６１に格納する。
【００７２】
これにより、集約データベース２３の各レコードに、現実にパケットの送受信が行われている時間帯を付加することができる。
【００７３】
改めて図２を参照すると、出力処理部１７は、結果データベース２５を参照して結果データを出力する。例えば、出力処理部１７は、図１２に示すような、クライアント及びサーバの対応関係一覧表を生成する。これにより、ネットワークシステムＮ内で、それぞれサーバ及びクライアントとして通信を行っている情報処理装置を特定することができる。
【００７４】
あるいは、出力処理部１７は、図１３に示すような情報処理装置３，３，・・・間の相関図を生成する。この相関図において、クライアントからサーバへ向けて矢印が描かれている。この相関図を用いると、リプレイス対象となる情報処理装置３を対して処理を依頼している情報処理装置３が一目瞭然である。例えば、ｈｏｓｔＡ〜ｈｏｓｔＤをリプレイスする場合、ｈｏｓｔＡ〜ｈｏｓｔＤがサーバとなってサービスを受ける情報処理装置３は、ｈｏｓｔＭ〜Ｑであることがわかる。
【００７５】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００７６】
例えば、蓄積データベース２１に保存されているデータに基づく集約処理以降の処理は、ネットワーク監視装置１０とは異なる処理装置において行うようにしてもよい。その際、複数のネットワーク監視装置１０のデータをまとめて処理してもよい。
【符号の説明】
【００７７】
３，３，・・・      情報処理装置
５，５，・・・      ネットワーク装置
１０    ネットワーク監視装置
１１       パケット取得部
１３       集約処理部
１５    結果データ生成部
１７    出力処理部
２１    蓄積データベース
２３    集約データベース
２５    結果データベース
２７       アドレス変換テーブル
【図１】
2011130156.tif 000003
【図２】
2011130156.tif 000004
【図３】
2011130156.tif 000005
【図４】
2011130156.tif 000006
【図５】
2011130156.tif 000007
【図６】
2011130156.tif 000008
【図７】
2011130156.tif 000009
【図８】
2011130156.tif 000010
【図９】
2011130156.tif 000011
【図１０】
2011130156.tif 000012
【図１１】
2011130156.tif 000013
【図１２】
2011130156.tif 000014
【図１３】
2011130156.tif 000015