(57)【要約】【課題】ネットワークの構成を迅速に調査する。【解決手段】複数の機器が接続されているネットワークの構成を調査するネットワーク構成調査装置１０は、機器調査部２２が、ネットワーク上の各機器の種別を調査し、ネットワーク調査部３２が、種別がコンピュータである機器で稼働しているエージェント向けのルーティング情報の取得コマンドを送信し、ルーティング情報の取得に成功した場合、ルーティング情報の内容をルーティング情報テーブル３２０に登録し、ルーティング情報テーブル３２０に基づいて、複数の機器のネットワーク上の関係を示すネットワーク構成情報を生成する。【選択図】図５
2018195186.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器が接続されているネットワークの構成を調査するネットワーク構成調査装置であって、
前記ネットワーク上の各機器の種別を調査する機器調査部と、
前記種別がコンピュータである機器で稼働しているエージェント向けのルーティング情報の取得コマンドを送信し、ルーティング情報の取得に成功した場合、前記ルーティング情報の内容をルーティング情報テーブルに登録し、前記ルーティング情報テーブルに基づいて、前記複数の機器のネットワーク上の関係を示すネットワーク構成情報を生成するネットワーク調査部と、
を備えるネットワーク構成調査装置。
【請求項２】
前記ネットワーク調査部は、
前記種別がルータである機器に対して、当該ルータ機器のネットワークインタフェースに係るアドレスを取得するための第１のＳＮＭＰメッセージを送信し、当該第１のＳＮＭＰメッセージによって取得したネットワークインタフェースに係るアドレスに基づいて、当該ルータ機器の上位アドレス及び下位アドレスを特定し、その特定した上位アドレス及び下位アドレスをルータ情報テーブルに登録し、前記ルータ情報テーブルに基づいて、前記ネットワーク構成情報を生成する、
請求項１に記載のネットワーク構成調査装置。
【請求項３】
所定範囲内のアドレスに対してエコー要求を送信し、エコー応答を返してきたアドレスをＰＩＮＧ調査テーブルに登録するＰＩＮＧ調査部、をさらに備え、
前記機器調査部は、
前記ＰＩＮＧ調査テーブルの登録アドレスに対して、機器情報を取得するための第２のＳＮＭＰメッセージを送信し、
前記機器情報の取得に成功した場合、当該機器情報に基づいて前記登録アドレスの機器の種別を特定し、
前記機器情報の取得に失敗した場合、前記登録アドレスに対してエージェント向けの機器情報の取得コマンドを送信し、当該取得コマンドによって取得した機器情報に基づいて、前記登録アドレスの機器の種別を特定する、
請求項１又は２に記載のネットワーク構成調査装置。
【請求項４】
前記ネットワークは、複数の異なるセグメントを含んでおり、
前記エージェントは、自装置が属するセグメントとは異なるセグメントに属する機器で稼働しており、
前記ネットワーク調査部は、前記複数の異なるセグメントを含む前記ネットワークの構成情報を生成する、
請求項１乃至３の何れか１項に記載のネットワーク構成調査装置。
【請求項５】
前記種別がＨＵＢである機器に対して、当該ＨＵＢ機器の各ポートの状況及び各ポートに接続されている機器の情報を取得するための第３のＳＮＭＰメッセージを送信し、当該第３のＳＮＭＰメッセージによって取得した情報を用いて、前記複数の機器のネットワーク上の関係を特定するＨＵＢ調査部、をさらに備える、
請求項１乃至４の何れか１項に記載のネットワーク構成調査装置。
【請求項６】
複数の機器が接続されているネットワークの構成を調査するネットワーク構成調査プログラムであって、
前記ネットワーク上の各機器の種別を調査する機器調査処理と、
前記種別がコンピュータである機器で稼働しているエージェント向けのルーティング情報の取得コマンドを送信し、ルーティング情報の取得に成功した場合、前記ルーティング情報の内容をルーティング情報テーブルに登録し、前記ルーティング情報テーブルに基づいて、前記複数の機器のネットワーク上の関係を示すネットワーク構成情報を生成するネットワーク調査処理と、
をコンピュータに実行させるネットワーク構成調査プログラム。
【請求項７】
複数の機器が接続されているネットワークの構成を調査する方法であって、
前記ネットワーク上の各機器の種別を調査する機器調査ステップと、
前記種別がコンピュータである機器で稼働しているエージェント向けのルーティング情報の取得コマンドを送信し、ルーティング情報の取得に成功した場合、前記ルーティング情報の内容をルーティング情報テーブルに登録し、前記ルーティング情報テーブルに基づいて、前記複数の機器のネットワーク上の関係を示すネットワーク構成情報を生成するネットワーク調査ステップと、
を有するネットワーク構成調査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク構成の調査に関する。
【背景技術】
【０００２】
従来、ネットワークに接続されている機器の状態や機器に発生した障害を認識するために、ネットワークを介して機器を監視するシステムが知られている。例えば、特許文献１には、ネットワークに接続されたＳＮＭＰ（Simple Network Management Protocol）エージェント機能を有する複数の監視対象機器と、それらを管理するＳＮＭＰマネージャ機能を有する下位監視装置で構成されるサブシステムと、それら複数のサブシステムを管理する上位監視装置とでシステムを構成し、各下位監視装置がサブシステム内の監視対象機器の状態を監視し、障害発生及び状態変化のみを上位監視装置へ転送することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、監視対象機器の状態を表示する際、当該監視対象機器が接続されているネットワークの構成も合わせて表示すると、ユーザにとってよりわかりやすい表示となる。そのためには、ネットワークの構成及び当該ネットワークに接続されている機器を調査する必要がある。
【０００５】
本発明の目的は、ネットワークの構成及び当該ネットワークに接続されている機器を比較的短時間で調査することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るネットワーク構成調査装置は、前記ネットワーク上の各機器の種別を調査する機器調査部と、前記種別がコンピュータである機器で稼働しているエージェント向けのルーティング情報の取得コマンドを送信し、ルーティング情報の取得に成功した場合、前記ルーティング情報の内容をルーティング情報テーブルに登録し、前記ルーティング情報テーブルに基づいて、前記複数の機器のネットワーク上の関係を示すネットワーク構成情報を生成するネットワーク調査部と、を備える。
【発明の効果】
【０００７】
本発明によれば、ネットワークの構成及び当該ネットワークに接続されている機器を比較的短時間で調査することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１及び２に係るネットワーク構成の一例を示す模式図。
【図２】実施の形態１に係るネットワーク構成調査装置の構成例を示すブロック図。
【図３】機器情報テーブルの例を示すテーブル図。
【図４】実施の形態１に係る機器情報ファイルの出力処理を示すフローチャート。
【図５】実施の形態２に係るネットワーク構成調査装置の構成例を示すブロック図。
【図６】ＰＩＮＧ調査テーブルの例を示すテーブル図。
【図７】ルーティング情報テーブルの例を示すテーブル図。
【図８】ＧＷ（Gateway）情報テーブルの例を示すテーブル図。
【図９】ルータ情報テーブルの例を示すテーブル図。
【図１０】ＨＵＢ情報テーブルの例を示すテーブル図。
【図１１】監視対象機器テーブルの例を示すテーブル図。
【図１２】非監視対象機器テーブルの例を示すテーブル図。
【図１３】ネットワーク構成情報ファイルの例を示すテーブル図。
【図１４】実施の形態２に係るネットワーク構成情報ファイルの出力処理を示すフローチャート。
【図１５】図１４の続きのフローチャート。
【図１６】図１５の続きのフローチャート。
【図１７】図１６の続きのフローチャート。
【図１８】図１７の続きのフローチャート。
【図１９】図１８の続きのフローチャート。
【図２０】図１９の続きのフローチャート。
【図２１】図２０の続きのフローチャート。
【図２２】アドレスの判定に用いられる情報を示す図。
【図２３】本発明に係るネットワーク構成調査装置のハードウェア構成の例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、実施の形態を説明する。
【００１０】
（実施の形態１）
＜概要＞
まず、図１に示すネットワーク構成例を用いて、実施の形態１の概要を説明する。
【００１１】
ネットワーク構成調査装置１０は、ネットワークの構成及び当該ネットワークに接続されている機器を調査し、その調査結果を、機器情報ファイル１０３（図２参照）として出力する。図１に示すネットワーク構成の場合、ネットワーク構成調査装置１０は、Ｒｏｕｔｅｒ１、Ｇａｔｅｗａｙ１、Ｃｌｉｅｎｔ１（自装置１０）、Ｓｅｒｖｅｒ１、Ｐｒｉｎｔｅｒ１、Ｐｒｉｎｔｅｒ２、Ｇａｔｅｗａｙ２、Ｒｏｕｔｅｒ２、及び、Ｃｌｉｅｎｔ３（ＰＣ）の各機器名、及び、機器に設定されているＩＰアドレス（以下単に「アドレス」と呼ぶ）を含む機器情報ファイル１０３（図２参照）を出力する。以下、詳細に説明する。なお、図１にはインテリジェントＨＵＢ（以下「ＨＵＢ」と呼ぶ）が記載されていないが、ネットワーク上にはＨＵＢが配置されていてもよい。
【００１２】
＜構成＞
次に、図２を用いて、ネットワーク構成調査装置の構成を説明する。ネットワーク構成調査装置１０は、ファイル読み込み部２０と、ＰＩＮＧ調査部２１と、機器調査部２２と、機器情報ファイル生成部２３と、アドレス調査範囲設定ファイル１０１と、ＰＩＮＧ調査テーブル３００と、追加機器テーブル１０２と、機器情報テーブル２００とを備え、機器情報ファイル１０３を出力する。
【００１３】
機器情報テーブル２００は、図３に示すように、機器の名称である機器名２０１と、機器名２０１の機器の種別である機器種別２０２と、機器名２０１の機器に設定されているアドレス２０３と、機器名２０１の機器がＳＮＭＰのポーリングに対応しているか否かを示すポーリング２０４と、機器名２０１の機器がＳＮＭＰのトラップに対応しているか否かを示すトラップ２０５と、を含むレコードを管理する。なお、追加機器テーブル１０２も、機器情報テーブル２００と同じ構成である。
【００１４】
ファイル読み込み部２０は、下記の機器情報ファイル１０３を、機器情報テーブル２００に読み込む。
【００１５】
ＰＩＮＧ調査部２１は、アドレス調査範囲設定ファイル１０１に予め設定されている各セグメント（図１参照）の範囲内のアドレスに対してＰＩＮＧを送信し、ＰＩＮＧ応答（ＩＣＭＰ）を返してきたアドレスを、ＰＩＮＧ調査テーブル３００に登録する。なお、ＰＩＮＧ調査部２１の処理の詳細は、後に図４のフローチャートを用いて説明する。また、ＰＩＮＧ調査テーブル３００の詳細は、後に実施の形態２で図６を用いて説明する（図６参照）。
【００１６】
機器調査部２２は、ＰＩＮＧ調査テーブル３００に登録されたアドレス３０１の機器の種別を特定する。また、機器調査部２２は、前回の機器情報ファイルには記録されていない機器を新たに検出した場合、その新たに検出した機器を、追加機器テーブル１０２に登録する。なお、機器調査部２２の処理の詳細は、後に図４のフローチャートを用いて説明する。
【００１７】
機器情報ファイル生成部２３は、機器情報テーブル２００及び追加機器テーブル１０２に登録されている機器情報を合わせて機器情報ファイル１０３として出力する。
【００１８】
＜フローチャート＞
次に、図４のフローチャートを用いて、機器情報ファイル１０３を出力するまでの処理の流れを説明する。
【００１９】
まず、ファイル読み込み部２０は、前回の機器情報ファイル１０３を機器情報テーブル２００に読み込む（ＳＴ１００）。
【００２０】
次に、ＰＩＮＧ調査部２１は、アドレス調査範囲設定ファイル１０１に予め設定されている各セグメント範囲内のアドレスに対して、ＩＣＭＰに係るエコー要求（ＰＩＮＧ要求）を送信する（ＳＴ１０１）。このとき、ＰＩＮＧ調査部２１は、ＳＴ１０１に要する処理時間を短縮するために、マルチスレッド処理で各アドレスに対してエコー要求を送信する。
【００２１】
次に、ＰＩＮＧ調査部２１は、ＳＴ１０１でＰＩＮＧを送信した各アドレスについて、下記のＳＴ１０２からＳＴ１１０の処理（以下「ＬＯＯＰ１」と呼ぶ）を実行する。なお、ＬＯＯＰ１の説明において、処理対象のアドレスを「対象アドレス」と呼ぶ。
【００２２】
ＰＩＮＧ調査部２１は、対象アドレスからＩＣＭＰに係るエコー応答があったか否かを判定する（ＳＴ１０２）。ＳＴ１０２の判定結果が「ＮＯ」の場合、ＰＩＮＧ調査部２１は、処理を次回のＬＯＯＰ１に進める。
【００２３】
ＳＴ１０２の判定結果が「ＹＥＳ」の場合、機器調査部（ＳＮＭＰマネージャ）２２は、対象アドレスに対して、ＭＩＢ（Management Information Base）ツリーにおける機器情報に対応するＯＩＤ（ObjectID）を指定して、ＳＮＭＰに従うＧｅｔＲｅｑｕｅｓｔメッセージを送信する（ＳＴ１０３）。
【００２４】
次に、機器調査部２２は、ＳＴ１０３のＧｅｔＲｅｑｕｅｓｔメッセージに対して対象アドレスの機器から返された機器情報を用いて、対象アドレスの機器（「対象機器」と呼ぶ）の種別を判定する（ＳＴ１０４）。なお、機器情報には、機器情報テーブル２００の項目２０１乃至２０５に対応する情報が含まれている。
【００２５】
（Ａ１）以下、機器調査部２２が、機器情報の受信に成功し、当該機器情報によるＳＴ１０４の判定結果が「ルータ、プリンタ又はＨＵＢ」の場合について説明する。
【００２６】
機器調査部２２は、対象機器が、機器情報テーブル２００に未登録であるか（つまり、新たに検出された機器であるか）否かを判定する（ＳＴ１０５）。ＳＴ１０５の判定結果が「ＮＯ」の場合、機器調査部２２は、処理を次回のＬＯＯＰ１に進める。ＳＴ１０５の判定結果が「ＹＥＳ」の場合、機器調査部２２は、対象機器の機器情報を追加機器テーブル１０２に追加し（ＳＴ１０６）、処理を次回のＬＯＯＰ１に進める。
【００２７】
（Ａ２）以下、機器調査部２２が、機器情報の受信に失敗、又は、受信した機器情報によるＳＴ１０４の判定結果が「不明」である場合について説明する。
【００２８】
機器調査部２２は、対象アドレスに対して、エージェント向けの機器情報の取得コマンドを送信する（ＳＴ１０７）。ここで、エージェントは、ＰＣで稼働する所定のプログラムであって、当該機器情報の取得コマンドを受信した場合、自己のＰＣが保持する各種情報を返す。次に、機器調査部２２は、ＳＴ１０７で送信したエージェント向け取得コマンドに対する応答情報を用いて、対象機器の種別を判定する（ＳＴ１０８）。
【００２９】
（Ｂ１）以下、機器調査部２２が、エージェント向け取得コマンドに対する応答情報の受信に成功し、当該応答情報によるＳＴ１０８の判定結果が「サーバ又はクライアント」である場合について説明する。
【００３０】
機器調査部２２は、対象機器が、機器情報テーブル２００に未登録であるか（つまり、新たに検出された機器であるか）否かを判定する（ＳＴ１０９）。ＳＴ１０９の判定結果が「ＮＯ」の場合、機器調査部２２は、処理を次回のＬＯＯＰ１に進める。ＳＴ１０９の判定結果が「ＹＥＳ」の場合、機器調査部２２は、対象機器の機器情報を、追加機器テーブル１０２に追加し（ＳＴ１１０）、処理を次回のＬＯＯＰ１に進める。
【００３１】
（Ｂ２）以下、機器調査部２２が、エージェント向け取得コマンドに対する応答情報の受信に失敗、又は、受信した応答情報によるＳＴ１０８の判定結果が「不明」である場合について説明する。この場合、機器調査部２２は、処理を次回のＬＯＯＰ１に進める。
【００３２】
ＬＯＯＰ１の処理が全て完了した後、機器情報ファイル生成部２３は、追加機器テーブル１０２にレコードが登録されているか否かを判定する（ＳＴ１１１）。ＳＴ１１１の判定結果が「ＮＯ」の場合、機器情報ファイル生成部２３は、機器情報テーブル２００の内容を、機器情報ファイル１０３として出力し（ＳＴ１１３）、本処理を終了する。ＳＴ１１１の判定結果が「ＹＥＳ」の場合、機器情報ファイル生成部２３は、追加機器テーブル１０２のレコードを、機器情報テーブル２００に追加してから（ＳＴ１１２）、機器情報テーブル２００の内容を、機器情報ファイル１０３として出力し（ＳＴ１１３）、本処理を終了する。
【００３３】
＜効果＞
上記の処理により、ネットワーク構成調査装置１０は、ネットワークに接続されている機器を自動的に検出し、その検出した機器の各種情報（機器名２０１、機器種別２０２、アドレス２０３等）を、機器情報ファイル１０３に出力することができる。
【００３４】
（実施の形態２）
＜概要＞
実施の形態２では、実施の形態１で説明した処理により出力された機器情報ファイル１０３を用いて、ネットワークの構成を調査し、ネットワーク構成情報ファイルを出力する。具体的には、図１に示すネットワーク構成の場合、ネットワーク構成調査装置１０は、Ｒｏｕｔｅｒ１の上位がインターネットに接続しており、Ｒｏｕｔｅｒ１の下位にＧａｔｅｗａｙ１が接続されており、Ｇａｔｅｗａｙ１の下位にＣｌｉｅｎｔ１、Ｓｅｒｖｅｒ１、Ｐｒｉｎｔｅｒ１、Ｐｒｉｎｔｅｒ２、Ｇａｔｅｗａｙ２、Ｒｏｕｔｅｒ２が接続されており、Ｇａｔｅｗａｙ２の下位にＣｌｉｅｎｔ２が接続されており、Ｒｏｕｔｅｒ２の下位にＣｌｉｎｅｎｔ３が接続されている、ことを示すネットワーク構成情報ファイルを出力する。以下、詳細に説明する。なお、図１にはＨＵＢが記載されていないが、ネットワーク上にはＨＵＢが配置されていてもよい。
【００３５】
ネットワーク構成調査装置１０は、図５に示すように、図２に示す機能２０、２１、２２、２３及びデータ１０１、１０２、１０３、２００、３００に加えて、ネットワーク調査部３２と、ＨＵＢ調査部３３と、ネットワーク構成情報生成部３４と、ＧＷ情報テーブル３４０と、ルータ情報テーブル３６０と、ＨＵＢ情報テーブル３８０と、監視対象機器テーブル４００と、非監視対象機器テーブル４２０とを備え、ネットワーク構成情報ファイル５００を出力する。まず、各データ３００、３２０、３４０、３８０、４００、４２０、５００について説明し、次に、各機能３２、３３、３４ついて説明する。
【００３６】
＜データ＞
次に、図６を用いて、ＰＩＮＧ調査テーブル３００について説明する。ＰＩＮＧ調査テーブル３００は、エコー応答を返してきたアドレス３０１と、アドレス３０１の機器が監視対象か否かを示す監視対象フラグ３０２と、アドレス３０１の機器のＭＡＣアドレス３０３と、を含むレコードを管理する。監視対象フラグ３０２は、例えば、「０」が監視対象、「１」が非監視対象、「２」が監視対象のＧＷであることを示す。
【００３７】
次に、図７を用いて、ルーティング情報テーブル３２０について説明する。ルーティング情報テーブル３２０は、宛先３２１と、宛先３２１に対するサブネットマスク３２２と、宛先３２１におけるＧＷアドレス３２３と、ＧＷアドレス３２３に係る処理が確定したか否かを示すＧＷ確定フラグ３２４と、を含むレコードを管理する。ＧＷ確定フラグ３２４は、例えば、「０」が未確定、「１」が確定済みであることを示す。
【００３８】
次に、図８を用いて、ＧＷ情報テーブル３４０を説明する。ＧＷ情報テーブル３４０は、ＧＷの機器名３４１と、機器名３４１のＧＷに設定されている１又は２以上のアドレス３４２ａ、３４２ｂと、を含むレコードを管理する。ＧＷ情報テーブル３４０は、後述のルータ情報テーブル３６０を作成する際に用いられる。
【００３９】
次に、図９を用いて、ルータ情報テーブル３６０を説明する。ルータ情報テーブル３６０は、ルータの機器名３６１と、機器名３６１のルータアドレス３６２と、機器名３６１に設定されている上位アドレス３６３及び下位アドレス３６４と、機器名３６１に対する処理を完了したか否かを示す完了フラグ３６５と、を含むレコードを管理する。
【００４０】
次に、図１０を用いて、ＨＵＢ情報テーブル３８０を説明する。ＨＵＢ情報テーブル３８０は、ＨＵＢポート番号３８１と、ＨＵＢポート番号３８１に接続されている機器のＭＡＣアドレス３８２と、ＭＡＣアドレス３８２を有する機器の機器名３８３と、を含むレコードを管理する。なお、ＨＵＢ情報テーブル３８０は、ＨＵＢ毎に生成される。
【００４１】
次に、図１１を用いて、監視対象機器テーブル４００を説明する。監視対象機器テーブル４００は、監視対象である機器の機器名４０１と、機器名４０１の機器の機器種別４０２と、機器名４０１の機器のアドレス４０３と、機器名４０１の機器のネットワーク構成上における起点４０４と、機器名４０１の機器の電源状態４０５と、を含むレコードを管理する。起点４０４には、機器名又はインターネット等が登録される。
【００４２】
次に、図１２を用いて、非監視対象機器テーブル４２０を説明する。非監視対象機器テーブル４２０は、非監視対象である機器の機器名４２１と、機器名４２１の機器の機器種別４２２と、機器名４２１の機器のアドレス４２３と、機器名４２１の機器のネットワーク構成上における起点４２４と、機器名４２１の機器の電源状態４２５と、を含むレコードを管理する。起点４２４には、機器名又はインターネットが登録される。
【００４３】
次に、図１３を用いて、ネットワーク構成情報ファイル５００を説明する。ネットワーク構成情報ファイル５００は、監視対象機器テーブル４００及び非監視対象機器テーブル４２０のレコードを結合してファイルに出力したものである。したがって、ネットワーク構成情報ファイル５００の各項目５０１乃至５０５は、監視対象機器テーブル４００（又は非監視対象機器テーブル４２０）の各項目４０１乃至４０５（又は４２１乃至４２５）と同じである。
【００４４】
＜機能＞
機器調査部２２は、ＰＩＮＧ調査テーブル３００のアドレス３０１の機器が監視対象であるか否か、及び、当該機器のＭＡＣアドレスを調査し、ＰＩＮＧ調査テーブル３００に登録する。なお、機器調査部２２の処理の詳細は、後に図１４乃至２１（主に図１４）のフローチャートを用いて説明する。
【００４５】
ネットワーク調査部３２は、ルーティング情報テーブル３２０、ＧＷ情報テーブル３４０、及びルータ情報テーブル３６０を用いてネットワーク構成に関する調査を行い、その調査結果を、監視対象機器テーブル４００及び非監視対象機器テーブル４２０に登録する。なお、ネットワーク調査部３２の処理の詳細は、後に図１４乃至２１のフローチャートを用いて説明する。
【００４６】
ＨＵＢ調査部３３は、ネットワークに接続されているインテリジェントＨＵＢにＳＮＭＰメッセージ等で問い合わせて、当該ＨＵＢに接続されている各機器の調査を行い、その調査結果（ＨＵＢポート番号、ＭＡＣアドレス等）を、ＨＵＢ情報テーブル３８０に登録する。そして、ＨＵＢ調査部３３は、ＨＵＢ情報テーブル３８０の内容を用いて、監視／非監視対象機器テーブル４００、４２０の起点４０４、３２３をＨＵＢにする機器を特定する。なお、ＨＵＢ調査部３３の処理の詳細は、後に図１４乃至２１（主に図２０）のフローチャートを用いて説明する。
【００４７】
ネットワーク構成情報生成部３４は、監視対象機器テーブル４００及び非監視対象機器テーブル４２０の両方のレコードを結合し、ネットワーク構成情報ファイル５００に出力する。なお、ネットワーク構成情報生成部３４の処理の詳細は、後に図１４乃至２１（主に図２１）のフローチャートを用いて説明する。
【００４８】
＜フローチャート＞
以下、図１４乃至２１のフローチャートを用いて、ネットワーク構成情報ファイルを出力するまでの処理の流れを説明する。
【００４９】
まず、図１４に示す処理について説明する。
【００５０】
ファイル読み込み部２０は、機器情報ファイル１０３（図２参照）に記録されている機器のうち、監視対象機器の情報を、監視対象機器テーブル４００に読み込み、非監視対象機器（例えば、機器種別がＧＷ又は不明の機器）の情報を、非監視対象機器テーブル４２０に読み込む（ＳＴ３０１）。
【００５１】
次に、ファイル読み込み部２０は、機器情報ファイル１０３に記録されている機器のうち、機器種別「ルータ」の機器名及びアドレスを、ルータ情報テーブル３６０に読み込む（ＳＴ３０２）。
【００５２】
次に、ＰＩＮＧ調査部２１は、アドレス調査範囲設定ファイル１０１（図２参照）に予め設定されている各セグメント範囲内のアドレスに対して、エコー要求（ＰＩＮＧ要求）を送信する（ＳＴ３０３）。このとき、ＰＩＮＧ調査部２１は、ＳＴ３０３に要する処理時間を短縮するために、マルチスレッド処理で各アドレスに対してエコー要求を送信する。
【００５３】
次に、ＰＩＮＧ調査部２１は、エコー応答を返してきたアドレスを、ＰＩＮＧ調査テーブル３００に登録する（ＳＴ３０４）。このとき、機器調査部２２は、ＰＩＮＧ調査テーブル３００において、アドレス３０１の機器が監視対象である場合、監視対象フラグ３０２に「０」を、アドレス３０１の機器が非監視対象である場合、監視対象フラグ３０２に「１」を登録する。
【００５４】
次に、ネットワーク構成調査装置１０は、ＰＩＮＧ調査テーブル３００に登録された各アドレス３０１に対して、以下のＳＴ３０５からＳＴ３１０の処理（「ＬＯＯＰ２」と呼ぶ）を実行する。なお、ＬＯＯＰ２の説明において、ＰＩＮＧ調査テーブル３００の処理対象のアドレス３０１を「対象アドレス」と呼ぶ。
【００５５】
次に、機器調査部２２は、対象アドレスの機器のＭＡＣアドレスを調査し、ＰＩＮＧ調査テーブル３００に登録する（ＳＴ３０５）。
【００５６】
次に、ネットワーク調査部３２は、対象アドレスの機器（「対象機器」と呼ぶ）が監視対象であり、かつ、対象機器の機器種別が「ＰＣ」であるか否かを判定する（ＳＴ３０６）。ＳＴ３０６の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ２に進める。
【００５７】
ＳＴ３０６の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、エージェント向けのルーティング情報の取得コマンドを、対象機器（つまりＰＣ）に送信する（ＳＴ３０７）。
【００５８】
ネットワーク調査部３２は、ＳＴ３０７の取得コマンドに対する応答の受信に成功したか否かを判定する（ＳＴ３０８）。
【００５９】
ＳＴ３０８の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、その応答によって取得したルーティング情報の内容を、ルーティング情報テーブル３２０の宛先３２１、サブネットマスク３２２、ＧＷアドレス３２３に登録する。また、ネットワーク調査部３２は、ＧＷ確定フラグ３２４に「０」を登録する（ＳＴ３０９）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ２に進める。
【００６０】
ＳＴ３０８の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、対象機器の情報を、監視対象機器テーブル４００の機器名４０１、機器種別４０２、アドレス４０３に登録する。また、ネットワーク調査部３２は、電源状態４０５に「ＯＦＦ」を登録する（ＳＴ３１０）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ２に進める。
【００６１】
ＬＯＯＰ２の処理が全て完了した後、ネットワーク調査部３２は、非監視対象機器テーブル４２０から、ＰＩＮＧ調査テーブル３００に未登録であるアドレス４２３のレコードを削除する（ＳＴ３１１）。そして、ネットワーク構成調査装置１０は、処理を図１５に示す「Ａ」に進める。
【００６２】
次に、図１５を用いて、図１４の処理の続きを説明する。
【００６３】
ネットワーク調査部３２は、ルーティング情報テーブル３２０に登録されている各レコードに対して、以下のＳＴ３２１からＳＴ３３４１の処理（「ＬＯＯＰ３」と呼ぶ）を実行する。なお、ＬＯＯＰ３の説明において、ルーティング情報テーブル３２０の処理対象のレコードを「対象レコード」と呼ぶ。
【００６４】
ネットワーク調査部３２は、対象レコードの宛先３２１が「０．０．０．０」であるか否かを判定する（ＳＴ３２１）。
【００６５】
（Ｃ１）以下、ＳＴ３２１の判定結果が「ＹＥＳ」の場合の処理を説明する。
【００６６】
ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３が、自己のネットワーク構成調査装置１０と同じセグメントに属しているか否かを判定する（ＳＴ３２２）。ＳＴ３２２の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、ルーティング情報テーブル３２０から対象レコードを削除し（ＳＴ３２３）、処理をＳＴ３４０へ進める。
【００６７】
ＳＴ３２２の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、ルータ情報テーブル３６０の機器名３６１及び下位アドレス３６４に対して、それぞれ、対象レコードのＧＷアドレス３２３に対応する機器名、及び、ＧＷアドレス３２３を登録する。また、ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３と同一であるＰＩＮＧ調査テーブル３００のアドレス３０１を特定し、その特定したアドレス３０１に対応付けられている監視対象フラグ３０２を「２」に変更する。また、ネットワーク調査部３２は、対象レコードのＧＷ確定フラグ３２４を「１」に変更する（ＳＴ３２４）。そして、ネットワーク調査部３２は、処理をＳＴ３４０へ進める。
【００６８】
（Ｃ２）以下、ＳＴ３２１の判定結果が「ＮＯ」の場合の処理を説明する。
【００６９】
ネットワーク調査部３２は、ルーティング情報テーブル３２０において、宛先３２１が対象レコードの宛先３２１と同じセグメントであり、かつ、ＧＷ確定フラグ３２４が「０」である他のレコードが存在する場合、当該他のレコード及び対象レコード（「同一セグメントのレコード」と呼ぶ）のＧＷ確定フラグ３２４を「１」に変更する（ＳＴ３３１）。
【００７０】
次に、ネットワーク調査部３２は、同一セグメントのレコードが、ルータ情報テーブル３６０に登録されているか否かを判定する（ＳＴ３３２）。ＳＴ３３２の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ３に進める。
【００７１】
ＳＴ３３２の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、ルータ情報テーブル３６０の機器名３６１に、対象レコードのＧＷアドレス３２３の機器名を登録する。また、ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３に一致するＰＩＮＧ調査テーブル３００のアドレス３０１を特定し、その特定したアドレス３０１に対応付けられている監視対象フラグを「２」に変更する。また、ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３の機器名及びＧＷアドレス３２３を、ＧＷ情報テーブル３４０の機器名３４１及びアドレス３４２に登録する（ＳＴ３３３）。そして、ネットワーク調査部３２は、処理をＳＴ３４０へ進める。
【００７２】
（Ｃ３）以下、ＳＴ３４０以降の処理を説明する。
【００７３】
ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３が、ＰＩＮＧ調査テーブル３００のアドレス３０１に存在するか否かを判定する（ＳＴ３４０）。ＳＴ３４０の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ３に進める。
【００７４】
ＳＴ３４０の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、対象レコードのＧＷアドレス３２３に対応する機器名、当該機器名の機器の機器種別、及びＧＷアドレス３２３を、非監視対象機器テーブル４２０の機器名４２１、機器種別４２２、及びアドレス４２３に登録する（ＳＴ３４１）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ３に進める。
【００７５】
ＬＯＯＰ３の処理が全て完了した後、ネットワーク調査部３２は、処理を図１６に示す「Ｂ」に進める。
【００７６】
次に、図１６を用いて、図１５の処理の続きを説明する。
【００７７】
ネットワーク調査部３２は、ルーティング情報テーブル３２０におけるＧＷ確定フラグ３２４が「０」のＧＷアドレス３２３の中に、ＰＩＮＧ調査テーブル３００のアドレス３０１と一致するものが存在するか否かを判定する（ＳＴ３６１）。ＳＴ３６１の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理をＳＴ３７１へ進める。
【００７８】
ＳＴ３６１の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、ＳＴ３６１で一致したＧＷアドレス３２３の機器名を、ルータ情報テーブル３６０の機器名３６１に登録する。また、ネットワーク調査部３２は、ＰＩＮＧ調査テーブル３００において、ＳＴ３６１で一致したアドレス３０１に対応付けられている監視対象フラグを「２」に変更する。また、ネットワーク調査部３２は、ＳＴ３６１で一致したＧＷアドレス３２３を、ＧＷ情報テーブル３４０のＳＴ３６１で一致したＧＷアドレス３２３の機器名３４１に対応付けられているアドレス３４２に登録する。また、ネットワーク調査部３２は、ルーティング情報テーブル３２０において、ＳＴ３６１で一致したＧＷアドレス３２３に対応付けられているＧＷ確定フラグ３２４を「１」に変更する（ＳＴ３６２）。そして、ネットワーク調査部３２は、処理をＳＴ３７１へ進める。
【００７９】
以下、ＳＴ３７１以降の処理を説明する。
【００８０】
ネットワーク調査部３２は、ルーティング情報テーブル３２０におけるＧＷ確定フラグ３２４が「０」の宛先３２１の中に、ＰＩＮＧ調査テーブル３００のアドレス３０１とセグメントが一致するものが存在するか否かを判定する（ＳＴ３７１）。ＳＴ３７１の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理を図１７に示す「Ｃ」へ進める。
【００８１】
ＳＴ３７１の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、ＳＴ３７１で一致した宛先３２１に対応付けられているＧＷアドレス３２３の機器名を、ルータ情報テーブル３６０の機器名３６１に登録する。また、ネットワーク調査部３２は、ＳＴ３７１で一致した宛先３２１に対応付けられているＧＷアドレス３２３の機器名、及び、ＧＷアドレス３２３を、ＧＷ情報テーブル３４０の機器名３４１及びアドレス３４２に登録する。また、ネットワーク調査部３２は、ルーティング情報テーブル３２０において、ＳＴ３７１で一致した宛先３２１に対応付けられているＧＷ確定フラグ３２４を「１」に変更する（ＳＴ３７２）。そして、ネットワーク調査部３２は、処理を図１７に示す「Ｃ」へ進める。
【００８２】
次に、図１７を用いて、図１６の処理の続きを説明する。
【００８３】
ネットワーク調査部３２は、ルータ情報テーブル３６０において、ルータアドレス３６２が、自己のネットワーク構成調査装置１０と同じセグメントに属している各レコードについて、以下のＳＴ４０１からＳＴ４１２の処理（「ＬＯＯＰ４」と呼ぶ）を実行する。なお、ＬＯＯＰ４の説明において、ルータ情報テーブル３６０の処理対象のレコードを「対象レコード」と呼ぶ。
【００８４】
ネットワーク調査部３２は、対象レコードの完了フラグ３６５が「０」であるか否かを判定する（ＳＴ４０１）。ＳＴ４０１の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ４に進める。ＳＴ４０１の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、対象レコードの機器名３６１が「ルータ」であるか否かを判定する（ＳＴ４０２）。
【００８５】
（Ｄ１）以下、ＳＴ４０２の判定結果が「ＹＥＳ」の場合を説明する。
【００８６】
ネットワーク調査部３２は、ＳＮＭＰコマンドを用いて、対象レコードのルータ（「対象ルータ」と呼ぶ）の情報を取得する（ＳＴ４０３）。ルータ情報には、少なくとも、対象ルータの各ネットワークインタフェースに設定されているアドレスが含まれている。
【００８７】
次に、ネットワーク調査部３２は、ＳＴ４０３で取得したルータ情報に基づいて、対象ルータにインターネット側のアドレスが設定されているか否かを判定する（ＳＴ４０４）。例えば、ネットワーク調査部３２は、図２２に示すアドレス以外が設定されている場合、インターネット側のアドレスが設定されていると判定する。
【００８８】
ＳＴ４０４の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、対象レコードにおいて、上位アドレス３６３に「Ｉｎｔｅｒｎｅｔ」を、下位アドレス３６４にルータアドレス３６２を、完了フラグ３６５に「１」を登録する（ＳＴ４０５）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ４に進める。
【００８９】
ＳＴ４０４の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、対象レコードにおいて、上位アドレス３６３にルータアドレス３６２を、下位アドレス３６４に、ルータ情報に含まれる他セグメント側のルータアドレスを、完了フラグ３６５に「１」を登録する（ＳＴ４０６）。
【００９０】
次に、ネットワーク調査部３２は、ＰＩＮＧ調査テーブル３００及び非監視対象機器テーブル４２０から、アドレス４２３が、他セグメント側のルータアドレスと一致するレコードを削除する（ＳＴ４０７）。
【００９１】
次に、ネットワーク調査部３２は、ルータ情報テーブル３６０に、他セグメント側のルータアドレスと同じセグメントに属するルータのレコードが存在するか否かを判定する（ＳＴ４１３）。ＳＴ４１３の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、ＳＴ４０８で同じセグメントに属していると判定したレコードについて、ＳＴ４０１からの処理を実行する。ＳＴ４１３の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ４へ進める。
【００９２】
（Ｄ２）以下、ＳＴ４０２の判定結果が「ＮＯ」の場合を説明する。
【００９３】
ネットワーク調査部３２は、ＧＷ情報テーブル３４０にレコードが存在するか否かを判定する（ＳＴ４１１）。ＳＴ４１１の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、処理を次回のＬＯＯＰ４へ進める。
【００９４】
ＳＴ４１１の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、ＧＷ情報テーブル３４０から、ネットワーク構成調査装置１０のデフォルトＧＷアドレスと同じセグメントに属するアドレス３４２を特定し、その特定したアドレス３４２を対象レコードの上位アドレス３６３に登録する。また、ネットワーク構成調査装置１０は、ＧＷ情報テーブル３４０において、上記で特定したアドレスに対応付けられている他方のアドレスを、対象レコードの下位アドレス３６４に登録する。また、ネットワーク調査部３２は、対象レコードの完了フラグ３６５を「１」に変更する。また、ネットワーク調査部３２は、上記の上位アドレス３６３を、非監視対象機器テーブル４２０の対応する機器名４２１のアドレス４２３に登録する。そして、ネットワーク調査部３２は、処理を上記のＳＴ４１３へ進める（ＳＴ４１２）。
【００９５】
ＬＯＯＰ４の処理が全て完了した後、ネットワーク調査部３２は、処理を図１８に示す「Ｄ」に進める。
【００９６】
次に、図１８を用いて、図１７の処理の続きを説明する。
【００９７】
ネットワーク調査部３２は、ルータ情報テーブル３６０において、完了フラグ３６５が「０」かつ機器名３６１が「ＧＷ」の各レコードについて、下記のＳＴ４２１からＳＴ４３１の処理（「ＬＯＯＰ５」と呼ぶ）を実行する。なお、ＬＯＯＰ５の説明において、ルータ情報テーブル３６０における処理対象のレコードを「対象レコード」と呼ぶ。また、ルータ情報テーブル３６０における対象レコードの機器名３６１を、対象機器名３６１と呼ぶ。
【００９８】
ネットワーク調査部３２は、ルータ情報テーブル３６０に、完了フラグ３６５「０」かつ機器名３６５「ルータ」のレコードが存在するか否かを判定する（ＳＴ４２１）。
【００９９】
（Ｅ１）以下、ＳＴ４２１の判定結果が「ＹＥＳ」の場合を説明する。
【０１００】
ネットワーク調査部３２は、ＳＴ４２１でルータの機器名３６１を、対象レコードの上位アドレス３６１に登録する。また、ネットワーク調査部３２は、ＧＷ情報テーブル３４０の対象機器名３６１と同じ機器名３４１のアドレス３４２を、対象レコードの下位アドレス３６４に登録する。また、ネットワーク調査部３２は、対象レコードの完了フラグ３６５を「１」に変更する。また、ネットワーク調査部３２は、非監視対象機器テーブル４２０において、対象機器名３６１と同じ機器名４２１に対応付けられているアドレス４２３に、下位アドレス３６４を登録する（ＳＴ４２２）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ５に進める。
【０１０１】
（Ｅ２）以下、ＳＴ４２１の判定結果が「ＮＯ」の場合を説明する。
【０１０２】
ネットワーク調査部３２は、対象機器名３６１と同じＧＷ情報テーブル３４０の機器名３４１を特定し、その特定した機器名３４１に対応付けられているアドレス３４２を、下位アドレス３６４に登録する。また、ネットワーク調査部３２は、対象レコードの完了フラグ３６５を「１」に変更する。また、ネットワーク調査部３２は、対象機器名３６１と同じ非監視対象機器テーブル４２０の機器名４２１を特定し、その特定した機器名４２１に対応付けられているアドレス４２３に、下位アドレス３６４を登録する（ＳＴ４２３）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ５に進める。
【０１０３】
ＬＯＯＰ５の処理が全て完了した後、ネットワーク調査部３２は、ルータ情報テーブル３６０の完了フラグ３６５が「０」かつ機器名３６１が「ルータ」である各レコードについて、下記のＳＴ４３１の処理（「ＬＯＯＰ６」と呼ぶ）を実行する。なお、ＬＯＯＰ６の説明において、ルータ情報テーブル３６０における処理対象のレコードを「対象レコード」と呼ぶ。
【０１０４】
ネットワーク調査部３２は、対象レコードの上位アドレス３６３に「Ｉｎｔｅｒｎｅｔ」を登録する。また、ネットワーク調査部３２は、対象レコードの下位アドレス３６４に、対象レコードのルータアドレス３６２を登録する。また、ネットワーク調査部３２は、対象レコードの完了フラグ３６５を「１」に変更する（ＳＴ４３１）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ６に進める。
【０１０５】
ＬＯＯＰ６の処理が全て完了した後、ネットワーク調査部３２は、処理を図１９に示す「Ｅ」へ進める。
【０１０６】
次に、図１９を用いて、図１８の処理の続きを説明する。
【０１０７】
ネットワーク調査部３２は、監視対象機器テーブル４００及び非監視対象機器テーブル４２０の各レコードについて、以下のＳＴ５０１からＳＴ５３１の処理（「ＬＯＯＰ７」と呼ぶ）を実行する。なお、ＬＯＯＰ７の説明において、監視対象機器テーブル４００及び非監視対象機器テーブル４２０における処理対象のレコードを「対象レコード」と呼ぶ。また、対象レコードの機器名４０１、４２１を「対象機器名」と呼ぶ。
【０１０８】
ネットワーク調査部３２は、対象レコードの機器種別４０２、４２２から、対象レコードの機器の種別を判定する（ＳＴ５０１）。
【０１０９】
（Ｆ１）以下、ＳＴ５０１の判定結果が「ルータ」の場合について説明する。
【０１１０】
ネットワーク調査部３２は、ルータ情報テーブル３６０において対象機器名４０１、４２１と同じ機器名３６１に対応付けられている上位アドレス３６３が、「Ｉｎｔｅｒｎｅｔ」であるか否かを判定する（ＳＴ５０２）。
【０１１１】
ＳＴ５０２の判定結果が「ＹＥＳ」の場合、ネットワーク調査部３２は、対象レコードの起点４０４に「Ｉｎｔｅｒｎｅｔ」を登録する（ＳＴ５０３）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ７に進める。
【０１１２】
ＳＴ５０２の判定結果が「ＮＯ」の場合、ネットワーク調査部３２は、ルータ情報テーブル３６０から、対象機器名４０１、４２１と機器名３６１が一致し、かつ、対象機器名４０１、４２１のアドレス４０３、４２３とセグメントが同じ下位アドレス３６４を特定する。そして、ネットワーク調査部３２は、その特定した下位アドレス３６４を、対象レコードの起点４０４に登録する（ＳＴ５０４）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ７に進める。
【０１１３】
（Ｆ２）以下、ＳＴ５０１の判定結果が「ＰＣ、プリンタ又はＨＵＢ」の場合について説明する。
【０１１４】
ネットワーク調査部３２は、ルータ情報テーブル３６０から、対象機器名４０１、４２１のアドレス４０３、４２３とセグメントが同じ下位アドレス３６４を特定する。そして、ネットワーク調査部３２は、その特定した下位アドレス３６４を、対象レコードの起点４０４に登録する（ＳＴ５１１）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ７に進める。
【０１１５】
（Ｆ３）以下、ＳＴ５０１の判定結果が「ＧＷ」の場合について説明する。
【０１１６】
ネットワーク調査部３２は、ルータ情報テーブル３６０の対象機器名４０１、４０２と同じ機器名３６１のレコードにおいて、上位アドレス３６３が未登録の場合、対象レコードの起点４０４に「Ｉｎｔｅｒｎｅｔ」を登録し、上位アドレス３６３がルータの機器名である場合、対象レコードの起点４０４に当該ルータの機器名を登録する。それ以外の場合、ネットワーク調査部３２は、ルータ情報テーブル３６０から、上位アドレス３６３とセグメントが同じである下位アドレス３６４を特定し、その特定した下位アドレス３６４を、対象レコードの起点４０４に登録する（ＳＴ５２１）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ７に進める。
【０１１７】
以下、ＳＴ５０１の判定結果が「その他（不明）」の場合について説明する。
【０１１８】
ネットワーク調査部３２は、ルータ情報テーブル３６０から、対象機器名４０１、４２１のアドレス４０３、４２３とセグメントが同じ下位アドレス３６４を特定できた場合、その特定した下位アドレス３６４を、対象レコードの起点４０４に登録する。
【０１１９】
一方、上記の特定ができなかった場合、ネットワーク調査部３２は、ルーティング情報テーブル３２０から、対象機器名４０１、４２１のアドレス４０３、４２３とセグメントが同じ宛先３２１を特定し、非監視対象機器テーブル４２０から、その特定した宛先３２１と一致するアドレス４２３に対応付けられている機器名４２１を特定する。そして、ネットワーク調査部３２は、その特定した機器名４２１を、対象レコードの起点４０４に登録する（ＳＴ５３１）。そして、ネットワーク調査部３２は、処理を次回のＬＯＯＰ７に進める。
【０１２０】
ＬＯＯＰ７の処理が全て完了した後、ネットワーク構成調査装置１０は、処理を図２０に示す「Ｆ」に進める。
【０１２１】
次に、図２０を用いて、図１９の処理の続きを説明する。
【０１２２】
ＨＵＢ調査部３３は、ネットワーク上の各インテリジェントＨＵＢについて、下記のＳＴ６０１からＳＴ６０３の処理（「ＬＯＯＰ８」と呼ぶ）を実行する。なお、ＬＯＯＰ８の説明において、処理対象のインテリジェントＨＵＢを「対象ＨＵＢ」と呼ぶ。
【０１２３】
ＨＵＢ調査部３３は、対象ＨＵＢから、各ＨＵＢポート番号、及び、そのＨＵＢポート番号に接続されている機器のＭＡＣアドレスを取得し、ＨＵＢ情報テーブル３８０のＨＵＢポート番号３８１及びＭＡＣアドレス３８２に登録する（ＳＴ６０１）。
【０１２４】
次に、ＨＵＢ調査部３３は、ＭＡＣアドレス３８２と一致するＰＩＮＧ調査テーブル３００のＭＡＣアドレス３０３を特定し、その特定したＭＡＣアドレス３０３に対応付けられているアドレス３０１を特定する。そして、ＨＵＢ調査部３３は、その特定したアドレス３０１と一致する監視／非監視対象機器テーブル４００、４２０のアドレス４０３、４２３を特定し、その特定したアドレス４０３、４２３に対応付けられている機器名４０１、４２１を特定する。そして、ＨＵＢ調査部３３は、その特定した機器名４０１、４２１を、ＨＵＢ情報テーブル３８０の機器名３８３に登録する（ＳＴ６０２）。
【０１２５】
次に、ＨＵＢ調査部３３は、ＨＵＢ情報テーブル３８０から、対象ＨＵＢに対する起点４０４の機器と同じ機器名３８３のレコードを削除する。また、ＨＵＢ調査部３３は、その削除したレコードのＨＵＢポート番号３８１と同じＨＵＢポート番号３８１の他のレコードを、ＨＵＢ情報テーブル３８０から削除する（ＳＴ６０３）。そして、ＨＵＢ調査部３３は、処理を次回のＬＯＯＰ８へ進める。
【０１２６】
ＬＯＯＰ８の処理が全て完了した後、ＨＵＢ調査部３３は、ＨＵＢが複数存在しているか否かを判定する（ＳＴ６１０）。
【０１２７】
ＳＴ６１０の判定結果が「ＮＯ」の場合、ＨＵＢ調査部３３は、監視／非監視対象機器テーブル４００の機器名４０１、４２１が、ＨＵＢ情報テーブル３８０の機器名３８３と一致するレコードの起点４０４、４２４を、「ＨＵＢ」とする。そして、ＨＵＢ調査部３３は、処理を図２１の「Ｇ」に進める（ＳＴ６１１）。
【０１２８】
ＳＴ６１０の判定結果が「ＹＥＳ」の場合、ＨＵＢ調査部３３は、各ＨＵＢ情報テーブル３８０について、登録されているレコードの多い順に、下記のＳＴ６１２の処理（「ＬＯＯＰ９」と呼ぶ）を実行する。なお、ＬＯＯＰ９の説明において、処理対象のＨＵＢ情報テーブル３８０を「対象ＨＵＢ情報テーブル」と呼ぶ。
【０１２９】
ＨＵＢ調査部３３は、監視／非監視対象機器テーブル４００、４２０の機器名４０１、４２１が、対象ＨＵＢ情報テーブル３８０の機器名３８３と一致するレコードの起点を、当該対象ＨＵＢ情報テーブルに対応する「ＨＵＢ」とする。そして、ＨＵＢ調査部３３は、処理を次回のＬＯＯＰ９に進める（ＳＴ６１２）。
【０１３０】
ＬＯＯＰ９の処理が全て完了した後、ネットワーク構成調査装置１０は、処理を図２１の「Ｇ」に進める。
【０１３１】
次に、図２１を用いて、図２０の処理の続きを説明する。
【０１３２】
ネットワーク構成情報生成部３４は、監視／非監視対象機器テーブル４００、４２０のすべてのレコードにおいて、起点４０４、４２４が登録されているか否かを判定する（ＳＴ６２１）。
【０１３３】
ＳＴ６２１の判定結果が「ＮＯ」の場合、ネットワーク構成情報生成部３４は、エラー応答を出力して（ＳＴ６４０）、本処理を終了する。
【０１３４】
ＳＴ６２１の判定結果が「ＹＥＳ」の場合、ネットワーク構成情報生成部３４は、機器情報ファイル１０３と、監視対象機器テーブル４００との間で、存在する機器が異なっているか否かを判定する（ＳＴ６２２）。
【０１３５】
ＳＴ６２２の判定結果が「ＹＥＳ」の場合、ネットワーク構成情報生成部３４は、更新フラグを「０」とし（ＳＴ６２３）、処理をＳＴ６３０へ進める。
【０１３６】
ＳＴ６２２の判定結果が「ＮＯ」の場合、ネットワーク構成情報生成部３４は、前回のネットワーク構成情報ファイル５００と比較して、監視対象機器テーブル４００の何れかの機器の電源状態４０５に変化があったか、又は、非監視対象機器テーブル４２０において不明な機器の追加又は削除があったか否かを判定する（ＳＴ６２４）。
【０１３７】
ＳＴ６２４の判定結果が「ＹＥＳ」の場合、ネットワーク構成情報生成部３４は、更新フラグを「１」とし（ＳＴ６２５）、処理をＳＴ６３０へ進める。
【０１３８】
ＳＴ６２４の判定結果が「ＮＯ」の場合、ネットワーク構成調査装置１０は、処理をＳＴ６３１へ進める。
【０１３９】
以下、ＳＴ６３０以降の処理について説明する。
【０１４０】
ネットワーク構成情報生成部３４は、ＳＴ６２３又はＳＴ６２５の更新フラグと、監視対象機器テーブル４００及び非監視対象機器テーブル４２０を、ネットワーク構成情報ファイル５００として出力する（ＳＴ６３０）。
【０１４１】
次に、ネットワーク構成情報生成部３４は、正常応答を出力して（ＳＴ６３１）、本処理を終了する。
【０１４２】
＜効果＞
上記の処理により、ネットワーク構成調査装置１０は、ネットワークに接続されている機器に関するネットワーク構成を自動的に検出し、その検出したネットワーク構成に係る情報（機器名４０１、４２１、機器種別４０２、４２２、アドレス４０３、４２４、起点４０４、４２４）を、ネットワーク構成情報５００に出力することができる。
【０１４３】
また、ネットワーク構成調査装置１０は、上記のように、エージェント及び／又はインテリジェントＨＵＢ等と連携してネットワーク構成に関する情報を収集することにより、セグメントを跨ぐネットワーク構成情報を、比較的短時間で生成することができる。
【０１４４】
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述した装置１０の機能は、コンピュータプログラムにより実現され得る。
【０１４５】
図２３は、装置１０の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ１１００は、キーボードやマウス、タッチパッドなどの入力装置１１０１、ディスプレイやスピーカーなどの出力装置１１０２、ＣＰＵ（Central Processing Unit）１１０３、ＲＯＭ（Read Only Memory）１１０４、ＲＡＭ（Random Access Memory）１１０５、ハードディスク装置やＳＳＤ（Solid State Drive）などの記憶装置１１０６、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）やＵＳＢ（Universal Serial Bus）メモリなどの記録媒体から情報を読み取る読取装置１１０７、ネットワークを介して通信を行う送受信装置１１０８を備え、各部はバス１１０９により接続される。
【０１４６】
そして、読取装置１１０７は、上記装置１０の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置１１０６に記憶させる。あるいは、送受信装置１１０８が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置１１０６に記憶させる。
【０１４７】
そして、ＣＰＵ１１０３が、記憶装置１１０６に記憶されたプログラムをＲＡＭ１１０５にコピーし、そのプログラムに含まれる命令をＲＡＭ１１０５から順次読み出して実行することにより、上記装置１０の機能が実現される。
【産業上の利用可能性】
【０１４８】
本発明は、ネットワーク構成及びネットワークに接続されている各機器の状態を視覚的に提示するシステム診断装置、方法、及びプログラムに有用である。
【符号の説明】
【０１４９】
１０  ネットワーク構成調査装置
２０  ファイル読み込み部
２１  ＰＩＮＧ調査部
２２  機器調査部
２３  機器情報ファイル生成部
３２  ネットワーク調査部
３３  ＨＵＢ調査部
３４  ネットワーク構成情報生成部
１０１  アドレス調査範囲設定ファイル
１０２  追加機器テーブル
１０３  機器情報ファイル
２００  機器情報テーブル
３００  ＰＩＮＧ調査テーブル
３２０  ルーティング情報テーブル
３４０  ＧＷ（Gateway）情報テーブル
３６０  ルータ情報テーブル
３８０  ＨＵＢ情報テーブル
４００  監視対象機器テーブル
４２０  非監視対象機器テーブル
５００  ネットワーク構成情報ファイル
【図１】
2018195186.tif 000003
【図２】
2018195186.tif 000004
【図３】
2018195186.tif 000005
【図４】
2018195186.tif 000006
【図５】
2018195186.tif 000007
【図６】
2018195186.tif 000008
【図７】
2018195186.tif 000009
【図８】
2018195186.tif 000010
【図９】
2018195186.tif 000011
【図１０】
2018195186.tif 000012
【図１１】
2018195186.tif 000013
【図１２】
2018195186.tif 000014
【図１３】
2018195186.tif 000015
【図１４】
2018195186.tif 000016
【図１５】
2018195186.tif 000017
【図１６】
2018195186.tif 000018
【図１７】
2018195186.tif 000019
【図１８】
2018195186.tif 000020
【図１９】
2018195186.tif 000021
【図２０】
2018195186.tif 000022
【図２１】
2018195186.tif 000023
【図２２】
2018195186.tif 000024
【図２３】
2018195186.tif 000025