(57)【特許請求の範囲】
【請求項１】
ＳＮＭＰエージェントと管理情報ベースを実装しているインテリジェントなネットワーク機器がネットワークノード内に少なくとも１台以上存在するネットワークシステムにおける機器構成を自動認識する方法であって、
ＳＮＭＰマネージャを実装した管理者端末からネットワークノード内の各ネットワーク機器に対してＩＣＭＰエコーリクエストを送信し、その応答によって稼動状態のネットワーク機器を検出する第１のステップと、検出した各ネットワーク機器のＳＮＭＰエージェントに対し、ＩＰＭＩＢ、ブリッジＭＩＢ、リピータＭＩＢ、プリンタＭＩＢのサポートの有無を問い合わせるためのＳＮＭＰメッセージをそれぞれ作成して送信し、ＳＮＭＰメッセージの送受信の成否および返信された管理情報ベースの格納情報の組合せによってネットワークノード内に存在するネットワーク機器のネットワークノード内での機能を表す機器種別を検出する第２のステップとを備えることを特徴とするネットワーク構成の自動認識方法。
【請求項２】
機器種別がブリッジ機能を有するネットワーク機器の管理情報ベースから当該ネットワーク機器の各ポートに接続されたネットワーク機器の物理アドレスの集合を取得する第３のステップと、ルーティング機能を有するネットワーク機器の管理情報ベースから物理アドレスとＩＰアドレスの対応情報を取得する第４のステップと、取得した物理アドレスとＩＰアドレスの対応情報に基づき、ブリッジ機能を有するネットワーク機器の各ポートの接続先のネットワーク機器をＩＰレベルで認識する第５のステップとをさらに備えることを特徴とする請求項１に記載のネットワーク構成の自動認識方法。
【請求項３】
前記ＩＣＭＰエコーリクエストに対して応答が返信されたネットワーク機器は稼動中、応答が返信されないネットワーク機器は存在しないものと認識し、さらに前記第４のステップで取得した物理アドレスとＩＰアドレスの対応情報を参照し、稼動中と認識したネットワーク機器以外の対応情報が存在する場合には当該ネットワーク機器は非稼動中であるものと認識する第６のステップをさらに備えることを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項４】
ブリッジ機能またはリピータ機能を有するネットワーク機器の管理情報ベースに当該ネットワーク機器の各ポートの接続先に存在する非稼動中のネットワーク機器の情報が格納されているか否かを調べ、格納されている場合は当該格納情報に基づき非稼動中のネットワーク機器の接続関係を検出するステップをさらに備えることを特徴とする請求項３に記載のネットワーク構成の自動認識方法。
【請求項５】
前記第２のステップで取得したネットワーク機器の管理情報ベースの内容によってブリッジ機能を有するネットワーク機器が複数存在するか否かを検出し、複数の存在を検出した場合には、任意のブリッジ機能を有するネットワーク機器を親機器とし、該親機器の特定ポートの接続先に別のブリッジ機能を有するネットワーク機器が存在するか否かをさらに検出し、存在することを検出した場合には、該ネットワーク機器を子機器とし、その子機器の各ポートの接続先の機器構成を検索し、ブリッジ機能を有するネットワーク機器同士の接続関係をポート単位で認識するステップをさらに備えることを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項６】
前記子機器と接続している親機器のポートの接続先に存在するネットワーク機器の物理アドレスの集合と、子機器の全ポートから親機器へ接続しているポートを除くポートの接続先に存在するネットワーク機器の物理アドレスの集合の和集合の差分を求め、親機器と子機器の中間に存在しているネットワーク機器を認識するステップを有することを特徴とする請求項５に記載のネットワーク構成の自動認識方法。
【請求項７】
前記親機器と子機器の中間に複数の機器が存在することを認識した場合に、全機器がルーティング機能、ブリッジ機能、リピータ機能のいずれを保持しているか否かを検出し、いずれも保持していない場合にはノンインテリジェントなネットワーク中継装置が存在するものと予測するステップを備えることを特徴とする請求項６に記載のネットワーク構成の自動認識方法。
【請求項８】
接続関係を認識した前記親機器と子機器についてそれぞれの管理情報ベース内に保持されている物理アドレスを調べ、親機器の管理情報ベース内に子機器の物理アドレスが保持されていない場合および子機器の管理情報ベース内に親機器の物理アドレスが存在しない場合は、親機器と子機器の特定のポートの接続先に存在する機器の物理アドレスの集合に共通で含まれるような任意の機器を選択し、その選択した機器に対する親機器や子機器の接続ポートを基に親機器と子機器の接続関係を絞り込んで認識するステップを備えることを特徴とする請求項５に記載のネットワーク構成の自動認識方法。
【請求項９】
リピータ機能を有するネットワーク機器の任意のポートにおける最新受信フレームの送信元物理アドレスの更新頻度の値を取得し、この値によって当該任意のポートの接続先に稼動している機器の数を認識するステップと、前記更新頻度の値が「０」または「１」以外の場合には当該任意のポートにおける最新受信フレームの送信元物理アドレスの値を所定時間間隔で取得し、当該任意のポートの接続先に存在する全てのネットワーク機器の物理アドレスを認識することを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項１０】
リピータ機能を有するネットワーク機器の任意のポートにおける最新受信フレームの送信元物理アドレスの更新頻度の値を所定時間間隔で取得し、この値が変化しているか否かによってリピータ機能を有するネットワーク機器がＲＦＣ仕様に準拠しているものか否かを認識するステップをさらに備えることを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項１１】
ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の管理情報ベースの格納情報によって接続関係を認識できないネットワーク機器について、前記管理者端末によって前記ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の任意のポートを一時的に閉塞し、閉塞前にはＩＣＭＰエコーリクエストパケットに対する応答があり、閉塞後には応答がなくなる機器である場合、その機器は当該任意のポートの接続先に存在するものとして認識するステップを備えることを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項１２】
ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の管理情報ベースの格納情報によって接続関係を認識できないネットワーク機器について、前記ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器のポート単位の送受信フレームの統計量を所定時間間隔で収集し、前記ポート単位で任意に設定された統計量の値の範囲内にあるポートの組があれば、このポートの組を接続関係にあるポートとして認識するステップを備えることを特徴とする請求項２に記載のネットワーク構成の自動認識方法。
【請求項１３】
稼動中のネットワーク機器の管理情報ベースの格納情報を所定時間間隔で収集し、管理者端末の記憶領域に保持し、前回の収集内容と今回の収集内容との相違があるか否かを比較し、稼動中のネットワーク機器の起動、停止、接続先の変更、ＩＰアドレスの変更等を検出するステップを備えることを特徴とする請求項３〜１２のいずれか一項に記載のネットワーク構成の自動認識方法。
【請求項１４】
ネットワーク機器同士の接続関係の情報により機器同士の接続関係のモデルテーブルを作成し、前記モデルテーブルを参照して機器同士の接続関係のモデルごとに、または複数の機器同士の接続関係のモデルを組合せることによってネットワーク機器同士の接続関係を検出するステップを備えることを特徴とする請求項３〜１３のいずれか一項に記載のネットワーク構成の自動認識方法。
【請求項１５】
認識したネットワーク接続構成を論理的な図面データに展開し、さらに物理的なフロア図面等に物理的な機器構成を配置した図面データを作成し、少なくとも１つの図面データを表示装置画面に表示させるステップを備えることを特徴とする請求項２〜１３のいずれか一項に記載のネットワーク構成の自動認識方法。
【請求項１６】
ＳＮＭＰエージェントと管理情報ベースを実装しているインテリジェントなネットワーク機器がネットワークノード内に少なくとも１台以上存在するネットワークシステムにおける機器構成をＳＮＭＰマネージャを実装した管理者端末から自動認識するシステムであって、
前記ＳＮＭＰマネージャを実装した管理者端末が、ネットワークノード内の各ネットワーク機器に対してＩＣＭＰエコーリクエストを送信し、その応答によって稼動状態のネットワーク機器を検出する第１の手段と、検出した各ネットワーク機器のＳＮＭＰエージェントに対し、検出した各ネットワーク機器のＳＮＭＰエージェントに対し、ＩＰＭＩＢ、ブリッジＭＩＢ、リピータＭＩＢ、プリンタＭＩＢのサポートの有無を問い合わせるためのＳＮＭＰメッセージをそれぞれ作成して送信し、ＳＮＭＰメッセージの送受信の成否および返信された管理情報ベースの格納情報の組合せによってネットワークノード内に存在するネットワーク機器のネットワークノード内での機能を表す機器種別を検出する第２の手段とを備えることを特徴とするネットワーク構成の自動認識システム。
【請求項１７】
機器種別がブリッジ機能を有するネットワーク機器の管理情報ベースから当該ネットワーク機器の各ポートに接続されたネットワーク機器の物理アドレスの集合を取得する第３の手段と、ルーティング機能を有するネットワーク機器の管理情報ベースから物理アドレスとＩＰアドレスの対応情報を取得する第４の手段と、取得した物理アドレスとＩＰアドレスの対応情報に基づき、ブリッジ機能を有するネットワーク機器の各ポートの接続先の機器をＩＰレベルで認識する第５の手段とをさらに備えることを特徴とする請求項１６に記載のネットワーク構成の自動認識システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ルータ、スイッチ、ブリッジ、リピータ、ハブ、端末等が接続されたネットワークにＳＮＭＰ(Simple Network Management Protocol)を実装しているインテリジェントなネットワーク中継装置を含んでいる場合の各機器の物理的なネットワーク接続構成を自動的に認識する方法およびシステムに関するものである。
【０００２】
【従来の技術】
ルータ、スイッチ、ブリッジ、リピータ、ハブ、端末等が接続されたネットワークにおける各機器の物理的なネットワーク接続構成の認識技術は、ネットワーク監視・管理システムやネットワーク図面作成システム等では必要不可欠な技術である。
従来までのネットワークの接続構成の認識技術では、ＩＰ(Intenet Protocol)ネットワークセグメントで分割(ルータで区切られるセグメントを単位とした分割)されたネットワークの認識は可能であった。この技術の範囲では、ルータにより分割されたネットワークセグメントに存在する機器を並列的に羅列するといった表示方法を取ることが多く、実際のネットワークの物理的な構成との対応が取れないという問題があった。
上記の問題を解決するため、「ネットワーク接続装置タイプ検出方法」(特開平１１−９６０９４号)、「ネットワーク監視及びリピータは部の接続端末認識方式」(特開平１１−１４６００３号)、「中継装置及びネットワーク管理装置」(特開平１０−３３６２２８号)、「ＢＧＰルーティング情報を用いたネットワークマップの自動生成方法」(特開平９−１８１７２２号)、「ネットワークトポロジ認識方法およびネットワークトポロジ認識装置」(特開平９−１８６７１６号)、「ネットワーク構成の認識方法」(特開平８−１９１３２６号)の提案がなされている。
【０００３】
【発明が解決しようとする課題】
しかしながら、「ネットワーク接続装置タイプ検出方法」では、機器間のリンクに対して検査パケットを送信することにより、ブリッジとブリッジの接続先の機器との間に存在するループ接続を認識する技術を提供しているが、ループ接続に特化している問題がある。
また、「ネットワーク監視及びリピータハブの接続端末認識方式」では、リピータＭＩＢ(ＭＩＢ:Managementinformation Base;管理情報ベース)を利用することでリピータの各ポートの接続先の端末を認識する技術を提供しているが、リピータの各ポートの接続先に複数の端末が接続されている場合には検出できない問題がある。
また、「中継装置及びネットワーク管理装置」では、ネットワーク中継装置の接続関係を検出する技術を提供しているが、特別なハードウェアに依存した実現手段であり、既存のネットワーク構成における実現手段とはなり得ない問題がある。
また、「ＢＧＰルーティング情報を用いたネットワークマップの自動生成方法」では、ＢＧＰ(Border Gateway Protocol；境界ゲートウェイプロトコル)対応ルータに特化したＡＳ(Autonomouse System；自立システム)間の接続関係を検出する方法を提供しているが、ネットワークセグメント内の接続関係を識別することはできない問題がある。
また、「ネットワークトポロジ認識方法およびネットワークトポロジ認識装置」では、スパンニングツリープロトコルを用いてブリッジ機器の接続状況を把握する技術を提供しているが、ソースルーティングプロトコルに対応したブリッジ間の接続関係を検出できない問題がある。
また、「ネットワーク構成の認識方法」では、ハブの各ポートの接続先が１台の端末だけであるという条件下で、ハブ(インテリジェントハブ)の各ポートの接続先のＭＡＣアドレスの情報をリピータＭＩＢを利用して収集することにより、ポートの接続先にある機器の物理アドレスを把握する技術を提供している。しかし、ハブ同士がカスケード接続している場合にはハブの各ポートの接続先の構成を検出することはできず、各端末から定期的に発信する手段を必要とするため、エージェントソフトウェアを全端末に導入しなくてはならない。また、リピータＭＩＢの実装はベンダによって仕様が異なっており、汎用的なリピータにおける解決方法とは言えない。
【０００４】
本発明は、ＳＮＭＰを実装しているインテリジェントなネットワーク機器が稼動しているネットワーク環境において、ＳＮＭＰ以外の特別なソフトウェアの実装を必要とせず、またＳＮＭＰの実装の仕方に依存せずに、少なくとも１台の管理端末からネットワークノード内部の物理的な機器構成を自動的に検出することができるネットワーク構成自動認識方法およびシステムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明は、上記目的を達成するために、基本的には、ＳＮＭＰエージェントと管理情報ベースを実装しているインテリジェントなネットワーク機器がネットワークノード内に少なくとも１台以上存在するネットワーク環境において、ＳＮＭＰマネージャを実装した管理者端末からネットワークノード内の各ネットワーク機器に対してＩＣＭＰエコーリクエストを送信し、その応答によって稼動状態のネットワーク機器を検出する第１のステップと、検出した各ネットワーク機器のＳＮＭＰエージェントに対し、当該ネットワーク機器内の管理情報ベースの格納情報の転送要求を送信し、返信された管理情報ベースの格納情報によってネットワークノード内に存在するネットワーク機器の種別を検出する第２のステップとを備えることを特徴とする。
さらに、機器種別がブリッジ機能を有するネットワーク機器の管理情報ベースから当該ネットワーク機器の各ポートに接続されたネットワーク機器の物理アドレスの集合を取得する第３のステップと、ルーティング機能を有するネットワーク機器の管理情報ベースから物理アドレスとＩＰアドレスの対応情報を取得する第４のステップと、取得した物理アドレスとＩＰアドレスの対応情報に基づき、ブリッジ機能を有するネットワーク機器の各ポートの接続先の機器をＩＰレベルで認識する第５のステップとをさらに備えることを特徴とする。
【０００６】
また、前記ＩＣＭＰエコーリクエストに対して応答が返信されたネットワーク機器は稼動中、応答が返信されないネットワーク機器は存在しないものと認識し、さらに前記第４のステップで取得した物理アドレスとＩＰアドレスの対応情報を参照し、稼動中と認識したネットワーク機器以外の対応情報が存在する場合には当該ネットワーク機器は非稼動中であるものと認識する第６のステップをさらに備えることを特徴とする。
【０００７】
【発明の実施の形態】
以下、本発明の一実施の形態を図面を用いて詳細に説明する。
図１は、本発明を実施するネットワークシステムの一実施形態を示す図である。図示するネットワークは、バックボーンネットワーク１を中心にＬＡＮを構築しており、ルータ２ａ，２ｂ、スイッチングハブ３、ブリッジ４、インテリジェントハブ５、ノンインテリジェントハブ６等の中継装置を備えている。これらの中継装置は、"13X.XXX.2.1"のように固有のＩＰアドレスが割当てられている。
【０００８】
ルータ２ａ(ＩＰアドレス "13X.XXX.2.1")は、バックボーンネットワーク１と内部のセグメントを分割している。すなわち、ＩＰアドレス"13X.XXX.1.*"のネットワークと"13X.XXX.2.*"のネットワークに分割し、"13X.XXX.1.*"側のネットワークからはＩＰアドレスが"13X.XXX.1.7"として認識されるが、"13X.XXX.2.*"側のネットワークからはＩＰアドレスが"13X.XXX.2.1"として認識されるようになっている。
【０００９】
同様に、ルータ(ＩＰアドレス"13X.XXX.7.1")２ｂは、バックボーンネットワークと内部のセグメントを分割している。すなわち、ＩＰアドレス"13X.XXX.1.*"のネットワークと"13X.XXX.7.*"のネットワークに分割し、"13X.XXX.1.*"側のネットワークからはＩＰアドレスが"13X.XXX.1.9"として認識されるが、"13X.XXX.7.*"側のネットワークからはＩＰアドレスが"13X.XXX.7.1"として認識されるようになっている。
【００１０】
内部のセグメントは、スイッチングハブ(ＩＰアドレス "13X.XXX.2.246")３等のスイッチ機器、ブリッジ(ＩＰアドレス "13X.XXX.2.245")４、インテリジェントハブ(ＩＰアドレス "13X.XXX.2.243")５、ノンインテリジェントハブ(ＩＰアドレスを保持していない)６等のネットワーク中継装置を用いてさらに分割されている。
【００１１】
これらのネットワーク中継装置には、別のネットワーク中継装置や端末装置７１〜７８を接続することでＬＡＮが構築される。
【００１２】
図示するネットワークには、１台の管理者端末７１が接続されており、この管理者端末７１内でネットワーク構成を自動的に検出するプログラムが稼動している。端末装置７２〜７８は、稼動中端末装置７２〜７７と非稼動中端末装置７８に分類可能であり、本実施形態のネットワーク構成自動認識方法では両方を認識対象にしている。
【００１３】
図１では、ルータ２ａとスイッチングハブ３を接続し、スイッチングハブ３からブリッジ４、インテリジェントハブ５、ノンインテリジェントハブ６にそれぞれ接続しており、スイッチングハブ３に管理者端末７１を接続している例を示している。また、ブリッジ４からは１台の非稼動中端末装置７８に、インテリジェントハブ５やノンインテリジェントハブ６からは３台の稼動中端末装置７２〜７７に接続している例を示している。
【００１４】
本実施形態では、１台の管理者端末７１以外の端末装置７２〜７８にプログラムを追加することなく、管理者端末７１上にネットワーク構成の自動認識サービスプログラムと図面表示プログラムを追加するだけで機器同士の接続構成を自動的に検出するものである。
なお、前記自動認識サービスプログラムは、ＳＮＭＰのマネージャとしての機能を備えるものである。また、認識対象のネットワーク機器にはＳＮＭＰのエージェントを実装したものと実装していないものがある。
【００１５】
初めに、本実施形態のネットワーク構成自動認識方法の概要について説明する。
ネットワーク構成自動認識サービスプログラムは、稼動状況検出モジュール、ＭＩＢアクセスモジュール、オートディスカバリモジュールの３つのモジュールから構成されている。
稼動状況検出モジュールは、ＩＣＭＰ(Internet Control Message Protocol)エコーリクエストを用いてネットワーク上の各機器の稼動状況を検出するソフトウェアモジュールであり、ＩＣＭＰエコーリクエストの応答がないＩＰアドレスの機器は稼動していないと判断することにより、不要な通信の発生を回避しながらネットワーク上の各機器の稼動状況を検出する機能を備えている。
ＭＩＢアクセスモジュールは、ＳＮＭＰメッセージ(Get-Request PDU、Get-Next PDU、Set-Request PDU)を作成し、ＳＮＭＰメッセージを送信したり、ＳＮＭＰメッセージ(Get-Response PDU)を受信してＭＩＢオブジェクトの値を取得する機能を備えたソフトウェアモジュールである。このＭＩＢアクセスモジュールは、各ネットワーク機器がＳＮＭＰのＭＩＢオブジェクトを実現していることを前提とするものである。
オートディスカバリモジュールは、ネットワーク構成を検出する機能を備えたソフトウェアモジュールであり、次のようなプロセスによりネットワーク構成を検出する。
(1)機器の稼動状況の検出プロセス
(2)機器の情報(ＩＰアドレス、Ｍａｃアドレス、ホスト名、サポートＭＩＢ、機器種別)の検出プロセス
(3)ＭＩＢオブジェクトの情報の取得プロセス
(4)ネットワーク中継装置同士の接続関係(接続ポート)の検出プロセス
(5)ノンインテリジェントハブの予測プロセス
(1)のプロセスでは、稼動状況検出モジュールを利用して機器の稼動状況を検出する。
(2)のプロセスでは、ＭＩＢアクセスモジュールを利用して、実際にＭＩＢにアクセスし、応答が返るかエラーが返るかをチェックすることによって機器がサポートしているＭＩＢを検出する。機器種別は、ＩＰＭＩＢ(ipForwardingオブジェクトの値)、ブリッジＭＩＢサポートの有無、リピータＭＩＢサポートの有無の情報を組合せることでルータ、ブリッジ、スイッチングハブ、インテリジェントハブ、端末装置、プリンタのいずれに該当するかを分類して検出する(図１８参照)。
(3)のプロセスでは、機器同士の接続関係の検出に利用するＭＩＢオブジェクトの値を取得し、テーブル中に格納する(図１４〜図１７参照)。この場合、前記(1)のプロセスで稼動中でないと判断した機器(ＩＰアドレス)の情報がＭＩＢオブジェクト中にキャッシュされている場合は、稼動中でない機器の接続情報も取得可能である(図５９参照)。
(4)のプロセスでは、上記の機器の中で端末装置を除くネットワーク中継装置同士の接続関係を検出するため、ブリッジＭＩＢ、リピータＭＩＢ、インタフェースＭＩＢを利用する。
ブリッジＭＩＢは、ネットワーク中継装置の各ポートの接続先の機器のＭａｃアドレスを記憶するオブジェクトを保持しており、各ネットワーク中継装置のポート単位の接続関係を検出可能である。リピータＭＩＢは、ポートの接続先の任意の機器が送信したフレームの内で最後に受信したフレームの送信元のＭａｃアドレスを記憶するオブジェクトを保持しており、所定時間間隔で送信元のＭａｃアドレスを学習することで、各ネットワーク中継装置のポート単位の接続関係を検出可能である。但し、リピータＭＩＢの実装によっては、最後に受信したフレームの送信元のＭａｃアドレスを更新しないネットワーク中継装置が存在しており、上記のリピータＭＩＢを利用してもＭａｃアドレスを学習することができない場合がある。この場合は、インタフェースＭＩＢのポートの状態を変更し、一時的にポートを塞ぎ、ＩＣＭＰエコーリクエストの応答が返らなくなった機器は塞いだポートの接続先にあると判断する方法や複数のネットワーク中継装置におけるインタフェースＭＩＢのポート単位の送受信フレームの統計量を取得し、統計量に有意な差があるかどうかの検定を行い、有意な差がないポート同士に接続関係があると判断する方法を用いることで、各ネットワーク中継装置のポート単位の接続関係を検出可能である。また、各ＭＩＢから取得できるポート単位の接続情報はネットワーク上のすべての機器の接続情報が格納されているとは限らない。ポート単位の接続情報に不備があり、機器同士の接続関係が検出できない場合がある。このような場合は、ＭＩＢから取得可能な接続情報によりネットワーク中継装置を複数のネットワーク中継装置モデルに分類し(図２１参照)、機器同士の接続関係のモデルを定義し、機器同士の接続関係の検出条件や接続関係の検出可能性を一般化する(図４６参照)。この一般化により、ポート単位の接続情報に不備があり、機器同士の接続関係が検出できない場合でも、他の機器との接続関係の情報を組合せ、接続関係の検出条件を満たす場合には、機器同士の接続関係を検出できるようになる。
また、複数の機器同士の接続関係のモデルを組合せることで、個々の機器同士の接続関係のモデルだけでは検出できない接続関係が検出できる場合がある(図５５参照)。
【００１６】
(5)のプロセスでは、ノンインテリジェントハブの接続を予測するため、ネットワーク中継装置の１つのポートの接続先に複数の機器が接続しているかどうかを検出し、複数の機器が接続されている場合には、ネットワーク中継装置の該当するポートの接続先にはノンインテリジェントハブが少なくとも1台は稼動していると判断する方法により、ノンインテリジェントハブの接続を予測する。
【００１７】
図面表示プログラムは、ネットワーク構成自動認識サービスプログラムで検出したネットワーク構成を画面上にＧＵＩ表示(図６２参照)するプログラムであり、ネットワーク構成を木構造で表示したり、フロア図面上に配置して表示するといった表示形態を採用することができる。
なお、機器の稼動状況の変化やネットワーク構成が変化した場合には、フロア図面もそれに応じて速やかに変更する必要がある。また、機器の稼動状況としては、起動や停止等の変化が挙げられる。また、ネットワーク構成の変化としては、機器の接続先の変更やＩＰアドレスの変更等が挙げられる。
図面表示プログラムは、オートディスカバリモジュールを用いてＭＩＢオブジェクトの値を定期的にあるいは予め定めたスケジュールに従って不定期に収集し、ＭＩＢオブジェクトの値の変化を監視することで機器の稼動状況の変化やネットワーク構成の変化を検出し、自動的にネットワーク構成の変更をネットワーク構成図面に反映し、ユーザに変更を通知する(図６０参照)。
【００１８】
図２は、本実施形態において、機器同士の接続関係を検出するために用いるＭＩＢオブジェクトにアクセスするための標準プロトコルである、ＳＮＭＰのメッセージフォーマットを示す図である。
ＳＮＭＰメッセージは、ＳＮＭＰのバージョン番号を格納するVersion２０１、コミュニティ名を格納するCommunity２０２、ＳＮＭＰのメッセージの本体を格納するＰＤＵ(Protocol Data Unit)２０３のフィールドから構成されている。ＳＮＭＰメッセージは、Get-Request、Get-Next、Get-Response、Set-Request、Trapの５種類のメッセージに分類される。
Get-Request、Get-Nextとは、ＭＩＢを有する機器に対してＭＩＢの値を返信するように指示するメッセージであり、これに対してGet-Responseが返信される。
Set-Requestとは、ＭＩＢの値を変更するために発行されるメッセージである。また、Trapとは、ＭＩＢを有する管理対象の機器で発生した(監視対象とするイベント：重要なイベント)を管理者端末７１に自律的に通知するためのメッセージである。
【００１９】
本発明のネットワーク構成自動認識方法では、Trap以外のメッセージを利用する。
Get-Request、Get-Next、Get-Response、Set-RequestメッセージのＰＤＵの構成は共通のフォーマットになっており、図２に示すように、メッセージの種類(上記の４種類)を格納するPDU Type２０４、メッセージの一意な識別子を格納するRequestID２０５、エラーメッセージのIDを格納するError Status２０６、メッセージ中のエラー発生箇所を格納するError Index２０７、アクセスするＭＩＢオブジェクトを識別するための情報を格納したリスト２０８〜２０９から構成されている。ＭＩＢオブジェクトを識別するための情報を格納したリストの個々の要素は、ＭＩＢオブジェクトを一意に識別するための識別子であるＯＩＤ(ObjectIdentifier)とＭＩＢオブジェクトの値から構成されている。
【００２０】
図３は、本実施形態で対象としているインターネットＯＩＤツリーを示す図である。ＭＩＢオブジェクト３０１はネットワーク中継装置の中で木構造として格納されている。この中で、ネットワーク管理で標準となっているＭＩＢ２の情報はiso(1)-org(3)-dod(6)-internet(1)-mgmt(2)-MIB-2(2)のノード３０２に納されており、ＯＩＤは"1.3.6.1.2.2"となっている。
本実施形態では、ＭＩＢ２を利用する方法を示している。この他にも各ベンダごとに提供されているベンダＭＩＢ(iso(1)-org(3)-dod(6)-internet(1)-private(4)-enterprise(1))を利用する方法もあるが、システムの汎用性を高める意味からネットワーク管理の標準プロトコルであるＭＩＢ２を利用するのが望ましい。
【００２１】
図４は、本実施形態で対象としているＭＩＢ２オブジェクトの構成を示す図である。ＭＩＢ２では、現在５０個のオブジェクトが標準化されおり、個々のオブジェクトはＭＩＢ-2(2)(iso(1)-org(3)-dod(6)-internet(1)-mgmt(2)-MIB-2(2))の子オブジェクトと４０１として管理されるようになっている。ＭＩＢ２にはsystem(1)、interfaces(2)、at(3)、ip(4)、ICMP(5)、…、のグループオブジェクトがあるが、本実施形態では太字表示したsystem(1)、interfaces(2)、ip(4)、dot1dBridge(17)、SNMPDot3RptrMgt(22)、printMIB(43)のグループオブジェクトを利用することで、ネットワーク構成を自動認識する例を示している。
【００２２】
図５は、本実施形態で対象としているsystemグループオブジェクトの構成を示す図である。systemグループオブジェクトには、子オブジェクト５０１として、sysDescr(1)、sysObjecＴＩD(2)、…、がつながっている。本実施形態では太字表示したsysDescr(1)を利用することで、ネットワーク構成を自動認識する例を示す。sysDescr(1)は、エンティティ(システム)の情報を示すオブジェクトであり、systemグループオブジェクトはＭＩＢ２を実装しているすべての機器で実装することが必須となっているため、ＭＩＢ２のサポート状況を把握するために利用可能である。
【００２３】
図６は、本実施形態で対象としているinterfacesグループオブジェクトの構成を示す図である。interfacesグループオブジェクトには、子オブジェクト６０１として、ifNumber(1)、ifTable(2)、…、がつながっている。ifTable(2)はテーブル形式のデータを示しており、ifTable(1)の下に段落分けしてつながっているifEntry(1)は、ifTable(2)の個々の行を示している。また、ifEntry(1)の下に段落分けしてつながっているifIndex(1)、ifDescr(2)、…、ifSpecific(22)はifEntry(1)の個々の列を示している。
ネットワーク中継装置では、ifTable(2)の中に、ネットワーク中継装置のインタフェース(ポート)ごとの情報が格納される。今後、すべてのＭＩＢオブジェクトにおけるテーブル形式のデータは上記の規則に従って格納されるものとする。本実施形態では太字表示したifAdminStatus(7)、ifInOctets(10)、ifInUcastPkts(11)、ifInNUcastPkts(12)、ifInDiscards(13)、ifInErrors(14)、ifOutOctets(16)、ifOutUcastPkts(17)、ifOutNUcastPkts(18)、ifOutDiscards(19)、ifOutErrors(20)を利用することで、ネットワーク構成を自動認識する例を示す。
ifAdminStatus(7)は、インタフェース(ポート)の設定を示すオブジェクトであり、ポートの状態を外部から制御するために利用可能である。
ifInOctets(10)は、インタフェース(ポート)が受信したオクテット数、ifInUcastPkts(11)は上位プロトコルに渡したユニキャストパケット数、ifInNUcastPkts(12)は上位プロトコルに渡した非ユニキャストパケット数、ifInDiscards(13)はエラー以外の理由で廃棄された到着パケット数、ifInErrors(14)はエラーのため上位プロトコルに渡されなかった到着パケット数を示すオブジェクトである。
【００２４】
同様に、ifOutOctets(16)はインタフェース(ポート)が転送したオクテット数、ifOutUcastPkts(17)は上位プロトコルから受信したユニキャストパケット数、ifOutNUcastPkts(18)は上位プロトコルから受信した非ユニキャストパケット数、ifOutDiscards(19)はエラー以外の理由で廃棄された送出パケット数、ifOutErrors(20)はエラーのため転送されなかった送出パケット数を示すオブジェクトである。
ifInOctets(10)〜ifOutErrors(20)は、各ポートに対する統計情報を比較して接続関係が存在するポートを検出するために利用可能である。
【００２５】
図７は、本実施形態で対象としているipグループオブジェクトの構成を示す図である。ipグループオブジェクトには子オブジェクト７０１として、ipForwarding(1)、ipDefaultTTL(2)、…、がつながっている。本実施形態では、太字表示したipForwarding(1)、ipNetToMediaPhysAddress(2)、ipNetToMediaNetAddress(3)を利用することで、ネットワーク構成を自動認識する例を示す。
ipForwarding(1)は、エンティティ(システム)がＩＰルーティング機能を保持しているかどうかを示すオブジェクトであり、ネットワーク中継装置がルータであるかどうかを判断するために利用可能である。
ipNetToMediaPhysAddress(2)は、メディア依存の物理アドレスを示すオブジェクトであり、ipNetToMediaNetAddress(3)はメディア依存の物理アドレスに対するＩＰアドレスを示すオブジェクトである。
ルータ等のネットワーク中継装置では、ipNetToMediaPhysAddress(2)とipNetToMediaNetAddress(3)に接続しているネットワークセグメントのＡＲＰ(Addres Resolution Protocol;IPアドレスからハードウェアアドレスへの変換手順)処理でのキャッシュの情報が格納されるため、セグメントのＡＲＰテーブル(ＭａｃアドレスとＩＰアドレスの組合せ)を取得するために利用可能である。
【００２６】
図８は、本実施形態で対象としているdot1dBrdigeグループオブジェクトの構成を示す図である。dot1dBrdigeグループオブジェクトには、子オブジェクト８０１として、dot1Base(1)、dot1dStp(2)、…、がつながっている。
本実施形態では太字表示したdot1dTpFdbAddress(1)、dot1dTpFdbPort(2)を利用することで、ネットワーク構成を自動認識する例を示す。
dot1dTpFdbAddress(1)は、ブリッジがforwarding・filtering情報を送信するＭＡＣアドレスを示すオブジェクトであり、dot1dTpFdbPort(2)はdot1dTpFdbAddressが送信元アドレスに等しいフレームのポート番号を示すオブジェクトである。ブリッジＭＩＢをサポートしているネットワーク中継装置ではdot1dTpFdbAddress(1)とdot1dTpFdbPort(2)にネットワーク中継装置の各ポートに接続している機器のＭａｃアドレスの集合が格納されるため、ネットワーク中継装置のポート単位の接続機器の情報を取得するために利用可能である。
【００２７】
図９は、本実施形態で対象としているsnmpDot3RptrMgtグループオブジェクトの構成を示す図である。
snmpDot3RptrMgtグループオブジェクトには子オブジェクト９０１として、rptrBasicPackage(1)、rptrMonitorPackage(2)、…、がつながっている。
本実施形態では、太字表示したrptrAddrTrackPortIndex(2)、rptrAddrTrackLastSourceAddress(3)、rptrAddrTrackSourceAddrChanges(4)を利用することで、ネットワーク構成を自動認識する例を示す。
rptrAddrTrackPortＩndex(2)は、グループに属するポートの識別子を示すオブジェクトであり、rptrAddrTrackLastSourceAddress(3)は最後に受信したフレームの送信元アドレスを示すオブジェクトであり、rptrAddrTrackSourceAddrChanges(4)はRptrAddrTrackLastSourceAddressの変更頻度を示すオブジェクトである。
リピータＭＩＢをサポートしているネットワーク中継装置では、rptrAddrTrackPortIndex(2)とrptrAddrTrackLastSourceAddress(3)にネットワーク中継装置の各ポートに接続している機器の任意の1台の機器のＭａｃアドレスが格納される。ＲＦＣ（Request for Comment）の仕様通りに実装されているネットワーク中継装置では、フレームを受信するたびにrptrAddrTrackLastSourceAddress(3)の値を更新するため、rptrAddrTrackLastSourceAddress(3)の情報を学習することでネットワーク中継装置の各ポートに接続している機器のＭａｃアドレスの集合を取得することが可能である。しかし、ＲＦＣの仕様通りに実装されていないネットワーク中継装置では、フレームを受信してもrptrAddrTrackLastSourceAddress(3)の値を更新しない場合がある。ネットワーク中継装置がＲＦＣの仕様通りに実装されているか否かを判断するために、rptrAddrTrackSourceAddrChanges(4)を利用可能である。
RptrAddrTrackSourceAddrChanges(4)はrptrAddrTrackLastSourceAddress(3)の変更頻度を示すため、ＲＦＣの仕様通りに実装されているネットワーク中継装置では時間の経過とともに増加していくが、ＲＦＣの仕様通りに実装されていないネットワーク中継装置では変動しない。この場合、rptrAddrTrackSourceAddrChanges(4)には、各ポートの先で検出された機器の数が格納される場合がある。
【００２８】
図１０は、本実施形態で対象としているprintＭＩＢグループオブジェクトの構成を示す図である。printＭＩＢグループオブジェクトには、子オブジェクト１００１として、ptrGeneral(5)、ptrGeneralTable(1)、…、がつながっている。本実施形態では、太字表示したptrGeneralConfigChanges(1)を利用することで、ネットワーク構成を自動認識する例を示す。
ptrGeneralConfigChanges(1)は、プリンタの設定変更回数を示すオブジェクトであり、printMIBグループオブジェクトはプリンタで実装されるため、機器がプリンタかどうかを把握するために利用可能である。
【００２９】
図１１は、管理者端末７１に実装されるプログラム構成を示す図である。
図１におけるシステムでは、ネットワーク上の１台の管理者端末７１からネットワーク構成を自動認識するため、該管理者端末７１には通信ポート１１０２、ネットワーク構成自動認識サービスプログラム１１０３、図面表示プログラム１１０４が実装されている。なお、これらのネットワーク構成自動認識サービスプログラム１１０３、図面表示プログラム１１０４は、汎用のコンピュータにインストールして実行可能なようにＣＤ−ＲＯＭやＤＶＤ−ROM等の記録媒体に記録してユーザに提供することが可能である。また、インターネット等の通信媒体あるいは通信手段を介してユーザに有償で配布することができる。
ネットワーク構成自動認識サービスプログラム１１０３は、稼動状況検出モジュール１１１１、ＭＩＢアクセスモジュール１１１２、オートディスカバリモジュール１１１３から構成されている。
ＭＩＢアクセスモジュール１１１２は、ＭＩＢ2のＯＩＤ情報を格納しているＯＩＤテーブル(図１２参照)を管理している。
オートディスカバリモジュール１１１３は、ＭａｃアドレスからＩＰアドレスへのアドレス変換情報を格納しているＡＴテーブル(図１３参照)と機器固有の情報を格納しているＴＩテーブル(図１４参照)とネットワーク中継装置のポート単位の接続機器情報を格納しているＰＦテーブル(図１５参照)、ネットワーク構成のTREE構造の接続関係の情報を格納しているＴＳテーブル(図１６参照)を管理している。
【００３０】
図１２は、ＭＩＢアクセスモジュール１１１２がＳＮＭＰメッセージ送受信時に利用するＯＩＤ(Object ＩDentifier)テーブル１１２１の構成を示す図である。
ＯＩＤテーブル１１２１は、Object Name１２０１、Object Identifier１２０２、type１２０３、Object Path１２０４の項目を保持している。
Object Name１２０１にはＭＩＢアクセスモジュール１１１２がＯＩＤテーブル１１２１を検索するときのキーとして利用するオブジェクトの一意な名前を格納し、Object Identifier１２０２にはＳＮＭＰメッセージに記述するためのオブジェクトの一意な識別子を格納し、type１２０３にはオブジェクトの型を格納し、Object Path１２０４にはオブジェクトの完全なパス名を格納する。
ＭＩＢアクセスモジュール１１１２は、ＳＮＭＰメッセージ作成時にＯＩＤテーブル１１２１にアクセスし、取得するＭＩＢオブジェクトの識別子を検索したり、オブジェクトの型に応じた受信バッファの確保を行う。
【００３１】
図１３は、オートディスカバリモジュール１１１３が作成するＡＴ(Address Translation)テーブル１１２２の構成を示す図である。
ＡＴテーブル１１２２は、IP Address１３０１、Mac Address１３０２の項目を保持している。IP Address１３０１には機器のＩＰアドレス値を格納し、Mac Address１３０２には機器のMac Address値を格納する。ＡＴテーブル１１２２は機器のＩＰアドレスとＭａｃアドレスの組の集合を表すため、セグメント全体のアドレス情報をキャッシュしているルータ等の機器から情報を取得して作成する。機器のＩＰアドレスをキーにＭａｃアドレスを検索する場合やＭａｃアドレスからＩＰアドレスを解決する場合に利用する。
【００３２】
図１４は、オートディスカバリモジュール１１１３が作成するＴＩ(Terminal Information)テーブル１１２３の構成を示す図である。
ＴＩテーブル１１２３は、IP Address１４０１、Mac Address１４０２、Host Name１４０３、type１４０４、alive１４０５、mib2１４０６、forwarding１４０７、bridge１４０８、repeater１４０９、print１４１０の項目を保持している。
IP Address１４０１には機器のＩＰアドレス値を格納し、Mac Address１４０２には機器のＭａｃアドレス値を格納し、Host Name１４０３には機器のホスト名を格納する。Type１４０４には機器の種別を表す識別子を格納する。図１４では、Unknownを表すUに0、Routerを表すRに1、…、Printerを表すPに7が割り当てられるようになっている。
Alive１４０５には機器が稼動中か非稼動中かを示すフラグ値を格納する。図１４では、Onに1が、Offに0が割り当てられるようになっている。mib2１４０６には機器がmib2をサポートしているか否かを示すフラグ値を格納し、forwarding１４０７には機器がIPフォワーディングを行っているか否かを示すフラグ値を格納し、bridge１４０８には機器がブリッジＭＩＢをサポートしているか否かを示すフラグ値を格納し、repeater１４０９には機器がリピータＭＩＢをサポートしているか否かを示すフラグ値を格納する。Print１４１０には機器がプリンタＭＩＢをサポートしているか否かを示すフラグ値を格納する。
オートディスカバリモジュール１１１３はＴＩテーブル１１２３を作成することにより、セグメント内で稼動する機器の把握を容易にするとともに、ＴＩテーブル１１２３を検索することで機器がサポートするＭＩＢを把握し、非サポートＭＩＢへの余計なアクセスを回避することが可能となる。
【００３３】
図１５は、オートディスカバリモジュール１１１３が作成するＰＦ(Port Forwarding)テーブル１１２４の構成を示す図である。
ＰＦテーブル１１２４は、Source IP Address１５０１、Source Mac Address１５０２、Source Port１５０３、Destination IP Address１５０４、Destination Mac Address１５０５の項目を保持している。
Source IP Address１５０１にはネットワーク中継装置のＩＰアドレス値を格納し、Source Mac Address１５０２にはネットワーク中継装置のＭａｃアドレス値を格納し、Source Port１５０３にはネットワーク中継装置のポート番号を格納する。
また、Destination IP Address１５０４にはSource Port１５０３のポートの接続先で稼動する機器のＩＰアドレス値、Destination Mac Address１５０５にはDestination IP Address１５０４の機器のＭａｃアドレス値を格納する。PFテーブル１１２４は、セグメント内で稼動するネットワーク中継装置と別のネットワーク中継装置または端末装置との接続情報を表す。
【００３４】
図１６は、オートディスカバリモジュール１１１３が作成するＴＳ(Tree Structure)テーブル１１２５の構成を示す図である。
ＴＳテーブル１１２５は、Terminal IP Address１６０１、Terminal Mac Address１６０２、Terminal Port１６０３、Parent IP Address１６０４、Parent Mac Address１６０５、Parent Port１６０６の項目を保持している。
Terminal IP Address１６０１には稼動中の機器のＩＰアドレス値を格納し、Terminal Mac Address１６０２にはＩＰアドレスがTerminal IP Address１６０１の機器のＭａｃアドレス値を格納し、Terminal Port１６０３には機器の接続ポート番号を格納する。機器が端末装置の場合やネットワーク中継装置であってポート番号が未知である場合はTerminal Port１６０３にNULL値を格納する。また、Parent IP Address１６０４にはポート番号がTerminal Port１６０３のポートに直接接続しているネットワーク中継装置のＩＰアドレス値を格納し、Parent Mac Address１６０５にはParent IP Address１６０４のネットワーク中継装置のＭａｃアドレス値を格納し、Parent Port１６０６には接続ポート番号を格納する。
ＴＳテーブル１１２５とＰＦテーブル１１２４の違いは、ＰＦテーブル１１２４ではネットワーク中継装置の任意のポートの接続先で稼動するすべての機器の情報を格納しているため、1台の機器が複数のネットワーク中継装置のエントリに追加されることがあるが、ＴＳテーブル１１２５では1台の機器に対して直接接続しているネットワーク中継装置の情報だけが追加されるということである。
【００３５】
図１７は、ＭＩＢアクセスモジュール１１１２がＳＮＭＰメッセージを送受信する仕組を示す図である。
管理者端末７１上で稼動するＭＩＢアクセスモジュール１１１２は、ＳＮＭＰメッセージ(Get-RequestメッセージまたはGet-Nextメッセージ)を作成し、情報を取得したいネットワーク中継装置（または端末、プリンタ等の機器）１７０３上で稼動しているＳＮＭＰエージェント１７０４に対してＳＮＭＰメッセージを送信する。ＳＮＭＰエージェント１７０４は、ＳＮＭＰメッセージを受信すると該ＳＮＭＰメッセージを解釈し、要求されているＭＩＢオブジェクトの値を格納したＳＮＭＰメッセージ(Get-Response)を作成し、ＭＩＢアクセスモジュール１１１２にＳＮＭＰメッセージを返送する。これにより、ＭＩＢアクセスモジュール１１１２はネットワーク中継装置１７０３の任意のＭＩＢオブジェクトの値を取得することができる。
【００３６】
図１８は、機器種別の検出方法を説明する図である。
本実施形態でネットワーク構成の認識対象としている機器は、ルータ１８０１、ブリッジ１８０２、スイッチングハブ１８０３、インテリジェントハブ１８０４、ノンインテリジェントハブ１８０５、プリンタ１８０６、端末装置１８０７である。ルータ１８０１はipグループのipForwardingオブジェクトの値が“１”であり、ブリッジＭＩＢを実装しているが、リピータＭＩＢやプリンタＭＩＢを実装していない機器を示す。
ブリッジ１８０２はipグループのipForwardingオブジェクトの値が“０”であり、ブリッジＭＩＢを実装しているが、リピータＭＩＢやプリンタＭＩＢを実装していない機器を示す。
スイッチングハブ１８０３はipグループのipForwardingオブジェクトの値が“１”または“０”であり、ブリッジＭＩＢとリピータＭＩＢは実装しているが、プリンタＭＩＢを実装していない機器を示す。
インテリジェントハブ１８０４はipグループのipForwardingオブジェクトの値が“０”であり、リピータＭＩＢは実装しているが、ブリッジＭＩＢとプリンタＭＩＢを実装していない機器を示す。
ノンインテリジェントハブ１８０５はＭＩＢを実装していない機器を示す。プリンタ１８０６はipグループのipForwardingオブジェクトの値が“０”であり、プリンタＭＩＢは実装しているがブリッジＭＩＢとリピータＭＩＢを実装していない機器を示す。
端末装置１８０７はipグループのipForwardingオブジェクトの値が“０”であり、ブリッジＭＩＢとリピータＭＩＢとプリンタＭＩＢを実装していない機器を示す。
ipグループのipForwardingオブジェクトの値とブリッジＭＩＢの実装状況とリピータＭＩＢの実装状況とプリンタＭＩＢの実装状況の組合せはどの機器種別においても異なっているため、この組み合せを調べることによって機器種別の検出が可能となる。
【００３７】
図１９は、ネットワーク中継装置間のRelation定義を説明する図である。
図１９では異なる４台のネットワーク中継装置の親子関係を表しており、バックボーンネットワークと接続し、セグメントの末端のネットワーク中継装置をRoot装置(ＩＰアドレスは"13X.XXX.2.1")１９０１と定義する。このRoot装置１９０１のPort1の接続先には３台のネットワーク中継装置が稼動しており、Root装置１９０１のPort1と直接接続しているネットワーク中継装置をParent装置(ＩＰアドレスは"13X.XXX.2.246")１９０２、このParent装置１９０２のPort2の接続先のネットワーク中継装置をChild1装置(ＩＰアドレスは"13X.XXX.2.243")１９０３、Parent装置１９０２のPort3の接続先のネットワーク中継装置をChild2装置(ＩＰアドレスは"13X.XXX.2.245")１９０４とする。そして、任意のネットワーク中継装置と、接続先にRoot装置が存在するポートとは別のポートの接続先で稼動する任意のネットワーク中継装置は親子であると定義する。
【００３８】
図１９の例ではRoot装置１９０１とParent装置１９０２、Child1装置１９０３、Child2装置１９０４は親子である。また、Parent装置１９０２とChild1装置１９０３、Child2装置１９０４は親子である。
また、任意のネットワーク中継装置と、接続先にRoot装置が存在するポートの接続先で稼動する任意のネットワーク中継装置の内で、Root装置へのホップ数が同一であるネットワーク中継装置の集合は兄弟であると定義する。
図１９の例ではChild1装置１９０３のPort1の接続先にはRoot装置１９０１、Parent装置１９０２、Child2装置１９０４が稼動中であり、Child1装置１９０３からRoot装置１９０１へのホップ数は“１”である。また、Child2装置１９０４からRoot装置１９０１へのホップ数は“１”であることから、Child1装置１９０３とChild2装置１９０４は兄弟である。
【００３９】
図２０は本実施形態のinterfaces ＭＩＢを利用したネットワーク中継装置間の接続検出方法を説明する図である。図の例のように、異なる２台のネットワーク中継装置Unit1装置(ＩＰアドレスは"13X.XXX.2.246")２００１とUnit2装置(ＩＰアドレスは"13X.XXX.2.243")２００２が稼動している場合、ネットワーク中継装置の各ポートにおけるinterfaces ＭＩＢのifInOctetsオブジェクトの値とifOutOctetsオブジェクトの値を同時に取得する。
図２０の例ではUnit1装置２００１のPort1のifInOctetsオブジェクトの値２００３、ifOutOctetsオブジェクトの値２００４、Unit2装置２００２のifInOctetsオブジェクトの値２００５、ifOutOctetsオブジェクトの値２００６をそれぞれ取得したことを示している。
Unit1装置２００１のPort1のifInOctetsオブジェクトの値２００３とUnit2装置２００２のifOutOctetsオブジェクトの値２００６またはUnit1装置２００１のPort1のifOutOctetsオブジェクトの値２００４とUnit2装置２００２のifInOctetsオブジェクトの値２００５)の差の検定を行い、有意な差がないことを算出した場合、Unit1装置２００１のPort1とUnit2装置２００２のPort1の間に接続関係があることを検出する。ここで、有意の差とは、1例として、２つの値の差がある閾値を超えるような場合には２つの値は異なるといった、２つの値が統計的に異なることを示すものとする。
【００４０】
図２１は本実施形態におけるネットワーク機器の分類方法を示す図である。
本実施形態でのネットワーク機器モデルは、R２１０１、CF２１０２、IF２１０３、SF２１０４、NF２１０５、Term２１０６である。
Rはセグメントに分割するネットワーク中継装置(Router)を示し、セグメントのすべての機器に対する親となる。また、ネットワーク中継装置はＭＩＢから取得できる機器の接続情報によってCFとIFとSFに分類する。CFはＭＩＢのオブジェクトの格納情報に不備がなく、すべてのネットワーク中継装置と端末装置の接続ポートを格納したＰＦテーブル（図１５）を作成可能なネットワーク中継装置を示す。
IFはＭＩＢのオブジェクトの格納情報に不備があり、Rを除く他のネットワーク中継装置への接続ポート番号を検出できない場合が存在するネットワーク中継装置を示す。
SFはＭＩＢのオブジェクトの格納情報に不備があり、Rを含む他のすべてのネットワーク中継装置への接続ポートが検出できず、1台以上の端末装置への接続ポートが検出可能なネットワーク中継装置を示す。また、ＭＩＢを実装していないノンインテリジェントハブやリピータをNFとする。プリンタや端末装置等のネットワーク中継装置以外の機器はTermとする。
【００４１】
図２２は本実施形態のR-CF-CFモデルの接続検出の仕組を示す。
図２２はR-CF-CFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")２２０１のポート２とCF1(ＩＰアドレス "13X.XXX.2.246")２２０２のポート２に接続関係があり、CF1(ＩＰアドレス "13X.XXX.2.246")２２０２のポート1とCF2(ＩＰアドレス "13X.XXX.2.243")２２０３のポート1に接続関係がある場合を示す。
【００４２】
図２３は本実施形態のR-CF-CFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、ここでは図２２に示したR-CF-CFモデルに対するPFテーブル１１２４のエントリを例示している。
ここでは、エントリ２３０１にCF1(ＩＰアドレス "13X.XXX.2.246")２２０２からCF2(ＩＰアドレス "13X.XXX.2.243")２２０３への接続情報が格納されている。この接続情報によって、CF1２２０２からCF2２２０３への接続ポートがポート1であることを検出可能である。
同様に、エントリ２３０２にCF1(ＩＰアドレス "13X.XXX.2.246")２２０２からR(ＩＰアドレス "13X.XXX.2.1")２２０１への接続情報が格納されている。この接続情報によって、CF1２２０２からR２２０１への接続ポートがポート２であることを検出可能である。また、CF1２２０２からR２２０１への接続ポートとCF1２２０２からCF2２２０３への接続ポートが異なることから、CF1２２０２はCF2２２０３の親であることが検出可能である。
さらに、エントリ２３０３にCF2(ＩＰアドレス "13X.XXX.2.243")２２０３からR(ＩＰアドレス "13X.XXX.2.1")２２０１への接続情報が格納されている。この接続情報によって、CF2２２０３からR２２０１への接続ポートがポート１であることを検出可能である。
また、エントリ２３０４にCF2(ＩＰアドレス "13X.XXX.2.243")２２０３からCF1(ＩＰアドレス "13X.XXX.2.246")２２０２への接続情報が格納されている。この接続情報によって、CF2２２０３からCF1２２０２への接続ポートがポート1であることを検出可能である。
このようにして、R-CF-CFモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
【００４３】
図２４は本実施形態のR-CF-IFモデルの接続検出の仕組を示す。
図２４はR-CF-IFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")２４０１のポート2とCF(ＩＰアドレス "13X.XXX.2.246")２４０２のポート2に接続関係があり、CF(ＩＰアドレス "13X.XXX.2.246")２４０２のポート1とIF(ＩＰアドレス "13X.XXX.2.243")２４０３のポート1に接続関係がある場合を示している。
【００４４】
図２５は本実施形態のR-CF-IFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、ここでは図２４に示したR-CF-IFモデルに対するＰＦテーブル１１２４のエントリを例示している。
ここでは、エントリ２５０１にCF(ＩＰアドレス "13X.XXX.2.246")２４０２からIF(ＩＰアドレス "13X.XXX.2.243")２４０３への接続情報が格納されている。この接続情報によって、CF２４０２からIF２４０３への接続ポートがポート1であることを検出可能である。
また、エントリ２５０２にCF(ＩＰアドレス "13X.XXX.2.246")２４０２からR(ＩＰアドレス "13X.XXX.2.1")２４０１への接続情報が格納されている。この接続情報によって、CF２４０２からR２４０１への接続ポートがポート2であることを検出可能である。また、CF２４０２からR２４０１への接続ポートとCF２４０２からIF２４０３への接続ポートが異なることから、CF２４０２はIF２４０３の親であることが検出可能である。
また、エントリ２５０３にIF(ＩＰアドレス "13X.XXX.2.243")２４０３からR(ＩＰアドレス "13X.XXX.2.1")２４０１への接続情報が格納されている。この接続情報によって、IF２４０３からR２４０１への接続ポートがポート1であることを検出可能である。また、IF２４０３からR２４０１への接続ポートはポート1であり、CF２４０２はIF２４０３の親であるため、IF２４０３からCF２４０２への接続ポートはIF２４０３からR２４０１への接続ポートと等しい。従って、IF２４０３からCF２４０２への接続ポートはポート1であることを検出可能である。このようにしてR-CF-IFモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
【００４５】
図２６は、本実施形態のR-CF-SFモデルの接続検出の仕組を示す図であり、ここでは、R-CF-SFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")２６０１のポート2とCF(ＩＰアドレス "13X.XXX.2.246")２６０２のポート2に接続関係があり、CF(ＩＰアドレス "13X.XXX.2.246")２６０２のポート1とSF(ＩＰアドレス "13X.XXX.2.243")２６０３のポート1に接続関係があり、CF(ＩＰアドレス "13X.XXX.2.246")２６０２のポート3の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.102")２６０４が接続されている場合を示している。
【００４６】
図２７は本実施形態のR-CF-SFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図２６に示したR-CF-SFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ２７０１にCF(ＩＰアドレス "13X.XXX.2.246")２６０２からSF(ＩＰアドレス "13X.XXX.2.243")２６０３への接続情報が格納されている。この接続情報によって、CF２６０２からSF２６０３への接続ポートがポート1であることを検出可能である。
また、エントリ２７０２にCF(ＩＰアドレス "13X.XXX.2.246")２６０２からR(ＩＰアドレス "13X.XXX.2.1")２６０１への接続情報が格納されている。この接続情報によって、CF２６０２からR２６０１への接続ポートがポート2であることを検出可能である。また、CF２６０２からR２６０１への接続ポートとCF２６０２からSF２６０３への接続ポートが異なることから、CF２６０２はSF２６０３の親であることが検出可能である。
また、エントリ２７０３にCF(ＩＰアドレス "13X.XXX.2.246")２６０２からTerm1(ＩＰアドレス "13X.XXX.2.102")２６０４への接続情報が格納されている。この接続情報によって、CF２６０２からTerm1２６０４への接続ポートがポート3であることを検出可能である。また、CF２６０２からSF２６０３への接続ポートとCF２６０２からTerm1２６０４への接続ポートが異なることから、Term1２６０４はSF２６０３に接続している機器ではないことが検出可能である。
また、エントリ２７０４にSF(ＩＰアドレス "13X.XXX.2.243")２６０３からTerm1(ＩＰアドレス "13X.XXX.2.102")２６０４への接続情報が格納されている。この接続情報によって、SF２６０３からTerm1２６０４への接続ポートがポート1であることを検出可能である。また、SF２６０３からTerm1２６０４への接続ポートはポート1であり、Term1２６０４はSF２６０３に接続している機器ではないことから、SF２６０３からCF２６０２への接続ポートはSF２６０３からTerm1２６０４への接続ポートと等しい。
従って、SF２６０３からCF２６０２への接続ポートはポート1であることを検出可能である。
このようにして、R-CF-SFモデルでは、CF２６０２とTerm1２６０４の接続情報とSF２６０３とTerm1２６０４の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートと親子関係の検出が可能である。
【００４７】
図２８は本実施形態のR-IF-CFモデルの接続検出の仕組を示す図であり、R-IF-CFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")２８０１のポート2とIF(ＩＰアドレス "13X.XXX.2.246")２８０２のポート2に接続関係があり、IF(ＩＰアドレス "13X.XXX.2.246")２８０２のポート1とCF(ＩＰアドレス "13X.XXX.2.243")２８０３のポート1に接続関係があり、CF(ＩＰアドレス "13X.XXX.2.243")２８０３のポート2の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.2")２８０４が接続されている場合を例示している。
【００４８】
図２９は本実施形態のR-IF-CFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図２８に示したR-IF-CFモデルに対するＰＦテーブル１１２４のエントリを例示している。ここでは、エントリ２９０１にIF(ＩＰアドレス "13X.XXX.2.246")２８０２からTerm1(ＩＰアドレス "13X.XXX.2.2")２８０４への接続情報が格納されている。この接続情報によって、IF２８０２からTerm1２８０４への接続ポートがポート1であることを検出可能である。また、エントリ２９０２にIF(ＩＰアドレス "13X.XXX.2.246")２８０２からR(ＩＰアドレス "13X.XXX.2.1")２８０１への接続情報が格納されている。この接続情報によって、IF２８０２からR２８０１への接続ポートがポート2であることを検出可能である。また、エントリ２９０３にCF(ＩＰアドレス "13X.XXX.2.243")２８０３からR(ＩＰアドレス "13X.XXX.2.1")２８０１への接続情報が格納されている。この接続情報によって、CF２８０３からR２８０１への接続ポートがポート1であることを検出可能である。また、エントリ２９０４にCF(ＩＰアドレス "13X.XXX.2.243")２８０３からIF(ＩＰアドレス "13X.XXX.2.246")２８０２への接続情報が格納されている。この接続情報によって、CF２８０３からIF２８０２への接続ポートがポート1であることを検出可能である。また、CF２８０３からR２８０１への接続ポートとCF２８０３からIF２８０２への接続ポートが等しいことから、IF２８０２はCF２８０３の親である、またはIF２８０２とCF２８０３は兄弟であることを検出可能である。また、エントリ２９０５にCF(ＩＰアドレス "13X.XXX.2.243")２８０３からTerm1(ＩＰアドレス "13X.XXX.2.2")２８０４への接続情報が格納されている。この接続情報によって、CF２８０３からTerm1２８０４への接続ポートがポート２であることを検出可能である。また、CF２８０３からR２８０１への接続ポートとCF２８０３からTerm1２８０４への接続ポートが異なることから、Term1２８０４はCF２８０３に接続している機器であり、IF２８０２からR２８０１への接続ポートとIF２８０２からTerm1２８０４への接続ポートが異なる。従って、IF２８０２はCF２８０３の親であり、IF２８０２からCF２８０３への接続ポートはポート1であることが検出可能である。このようにして、R-IF-CFモデルでは、IF２８０２とTerm1２８０４の接続情報とCF２８０３とTerm1２８０４の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートと親子関係の検出が可能である。
【００４９】
図３０は本実施形態のR-IF-IFモデルの接続検出の仕組を示す図であり、R-IF-IFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")３００１のポート2とIF1(ＩＰアドレス "13X.XXX.2.246")３００２のポート2に接続関係があり、IF1(ＩＰアドレス "13X.XXX.2.246")３００２のポート1とIF2(ＩＰアドレス "13X.XXX.2.243")３００３のポート1に接続関係があり、さらにIF1(ＩＰアドレス "13X.XXX.2.246")３００２のポート3の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.102")３００４が接続されており、IF2(ＩＰアドレス "13X.XXX.2.243")３００３のポート2の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.2")３００５が接続されている場合を示している。
【００５０】
図３１は本実施形態のR-IF-IFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図３０に示したR-IF-IFモデルに対するＰＦテーブル１１２４のエントリを例示している。
ここでは、エントリ３１０１にIF1(ＩＰアドレス "13X.XXX.2.246")３００２からTerm2(ＩＰアドレス "13X.XXX.2.2")３００５への接続情報が格納されている。この接続情報によって、IF1３００２からTerm2３００５への接続ポートがポート1であることを検出可能である。
また、エントリ３１０２にIF1(ＩＰアドレス "13X.XXX.2.246")３００２からR(ＩＰアドレス "13X.XXX.2.1")３００１への接続情報が格納されている。この接続情報によって、IF1３００２からR３００１への接続ポートがポート2であることを検出可能である。
また、エントリ３１０３にIF1(ＩＰアドレス "13X.XXX.2.246")３００２からTerm1(ＩＰアドレス "13X.XXX.2.102")３００４への接続情報が格納されている。この接続情報によって、IF1３００２からTerm1３００４への接続ポートがポート3であることを検出可能である。
また、エントリ３１０４にIF2(ＩＰアドレス "13X.XXX.2.243")３００３からR(ＩＰアドレス "13X.XXX.2.1")３００１への接続情報が格納されている。この接続情報によって、IF2３００３からR３００１への接続ポートがポート1であることを検出可能である。
【００５１】
また、エントリ３１０５にIF2(ＩＰアドレス "13X.XXX.2.243")３００３からTerm1(ＩＰアドレス "13X.XXX.2.102")３００４への接続情報が格納されている。この接続情報によって、IF2３００３からTerm1３００４への接続ポートがポート1であることを検出可能である。
また、エントリ３１０６にIF2(ＩＰアドレス "13X.XXX.2.243")３００３からTerm2(ＩＰアドレス "13X.XXX.2.2")３００５への接続情報が格納されている。この接続情報によって、IF2３００３からTerm2３００５への接続ポートがポート2であることを検出可能である。また、IF1３００２からR３００１への接続ポートとIF1３００２からTerm1３００４への接続ポートが異なることから、IF1３００２はR３００１とTerm1３００４の中間に接続している機器であることが検出可能である。
【００５２】
同様にIF2３００３からR３００１への接続ポートとIF2３００３からTerm1３００４への接続ポートが等しいことから、Term1３００４はR３００１とIF2３００３の中間に接続している機器であることが検出可能である。従って、IF1３００２はR３００１とIF2３００３の中間に接続している機器であることが検出可能であり、IF1３００２はIF2３００３の親であることが検出可能である。また、IF1３００２はIF2３００３の親であることから、IF2３００２からR３００１への接続ポートとIF2３００３からIF1３００２への接続ポートは等しいため、IF2３００３からIF1３００２への接続ポートはポート1であることが検出可能である。また、IF2３００３からR３００１への接続ポートとIF2３００３からTerm2３００５への接続ポートが異なることから、IF2３００３はR３００１とTerm2３００５の中間に接続している機器であることが検出可能である。また、IF1３００２はIF2３００３の親であることから、IF2３００３はIF1３００２とTerm2３００５の中間に接続しているため、IF1３００２からTerm2３００５への接続ポートとIF1３００２からIF2３００３への接続ポートは等しい。
従って、IF1３００２からIF2３００３への接続ポートはポート1であることが検出可能である。
このようにして、R-IF-IFモデルでは、IF1３００２とTerm1３００４、Term2３００５の接続情報とIF2３００３とTerm1３００４、Term2３００５の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートと親子関係の検出が可能である。
【００５３】
図３２は、本実施形態のR-IF-SFモデルの接続検出の仕組を示す図であり、R-IF-SFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")３２０１のポート2とIF(ＩＰアドレス "13X.XXX.2.246")３２０２のポート2に接続関係があり、IF(ＩＰアドレス "13X.XXX.2.246")３２０２のポート1とSF(ＩＰアドレス "13X.XXX.2.243")３２０３のポート1に接続関係があり、IF(ＩＰアドレス "13X.XXX.2.246")３２０２のポート3の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.102")３２０４が接続されており、SF(ＩＰアドレス "13X.XXX.2.243")３２０３のポート2の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.2")３２０５が接続されており、さらにSF(ＩＰアドレス "13X.XXX.2.243")３２０３のポート3の先に任意のTerm3(ＩＰアドレス "13X.XXX.2.110")３２０６が接続されている場合を示している。
【００５４】
図３３は、本実施形態のR-IF-SFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図３２に示したR-IF-SFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ３３０１にIF(ＩＰアドレス "13X.XXX.2.246")３２０２からTerm2(ＩＰアドレス "13X.XXX.2.2")３２０５への接続情報が格納されている。この接続情報によって、IF３２０２からTerm2３２０５への接続ポートがポート1であることを検出可能である。
また、エントリ３３０２にIF(ＩＰアドレス "13X.XXX.2.246")３２０２からTerm3(ＩＰアドレス "13X.XXX.2.110")３２０６への接続情報が格納されている。この接続情報によって、IF３２０２からTerm3３２０６への接続ポートがポート1であることを検出可能である。
また、エントリ３３０３にIF(ＩＰアドレス "13X.XXX.2.246")３２０２からR(ＩＰアドレス "13X.XXX.2.1")３２０１への接続情報が格納されている。この接続情報によって、IF３２０２からR３２０１への接続ポートがポート2であることを検出可能である。
【００５５】
また、エントリ３３０４にIF(ＩＰアドレス "13X.XXX.2.246")３２０２からTerm1(ＩＰアドレス "13X.XXX.2.102")３２０４への接続情報が格納されている。この接続情報によって、IF３２０２からTerm1３２０４への接続ポートがポート3であることを検出可能である。
また、エントリ３３０５にSF(ＩＰアドレス "13X.XXX.2.246")３２０３からTerm1(ＩＰアドレス "13X.XXX.2.102")３２０４への接続情報が格納されている。この接続情報によって、SF３２０３からTerm1３２０４への接続ポートがポート1であることを検出可能である。
また、エントリ３３０６にSF(ＩＰアドレス "13X.XXX.2.243")３２０３からTerm2(ＩＰアドレス "13X.XXX.2.2")３２０５への接続情報が格納されている。この接続情報によって、SF３２０３からTerm2３２０５への接続ポートがポート2であることを検出可能である。
また、エントリ３３０７にSF(ＩＰアドレス "13X.XXX.2.243")３２０３からTerm3(ＩＰアドレス "13X.XXX.2.110")３２０６への接続情報が格納されている。この接続情報によって、SF３２０３からTerm3３２０６への接続ポートがポート3であることを検出可能である。また、IF３２０２からR３２０１への接続ポートとIF３２０２からTerm2３２０５への接続ポートが異なることから、IF３２０２はR３２０１とTerm2３２０５の中間に接続している機器であることが検出可能である。同様に、IF３２０２からR３２０１への接続ポートとIF３２０２からTerm3３２０６への接続ポートが異なることから、IF３２０２はR３２０１とTerm3３２０６の中間に接続している機器であることが検出可能である。
【００５６】
また、SF３２０３からTerm2３２０５への接続ポートとSF３２０３からTerm3３２０６への接続ポートが異なることから、SF３２０３はTerm2３２０５とTerm3３２０６の中間に接続している機器であることが検出可能である。従って、SF３２０３はIF３２０２とTerm2３２０５、Term3３２０６の中間に接続している機器であることが検出可能であり、IF３２０２はSF３２０３の親であることが検出可能である。さらに、IF３２０２からSF３２０３への接続ポートとIF３２０２からTerm2３２０５、Term3３２０６への接続ポートは等しいため、IF３２０２からSF３２０３への接続ポートはポート1であることが検出可能である。
また、IF３２０２からR３２０１への接続ポートとIF３２０２からTerm1３２０４への接続ポートが異なることから、IF３２０２はR３２０１とTerm1３２０４の中間に接続している機器であることが検出可能である。
【００５７】
同様に、IF３２０２からSF３２０３への接続ポートとIF３２０２からTerm1３２０４への接続ポートが異なることから、IF３２０２はSF３２０３とTerm1３２０４の中間に接続している機器であることが検出可能である。従って、SF３２０３からIF３２０２への接続ポートとSF３２０３からTerm1３２０４への接続ポートは等しい。従って、SF３２０３からIF３２０２への接続ポートはポート1であることが検出可能である。
このようにして、R-IF-SFモデルでは、IF３２０２とTerm1３２０４〜Term3３２０６の接続情報とSF３２０３とTerm1３２０４〜Term3３２０６の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートと親子関係の検出が可能である。
【００５８】
図３４は、本実施形態のR-SF-CFモデルの接続検出の仕組を示す図であり、R-SF-CFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")３４０１のポート2とNF(ＩＰアドレスなし)３４０２のポート3に接続関係があり、NF(ＩＰアドレスなし)のポート2とSF(ＩＰアドレス "13X.XXX.2.246")３４０３のポート2に接続関係があり、さらにSF(ＩＰアドレス "13X.XXX.2.246")３４０３のポート1とCF(ＩＰアドレス "13X.XXX.2.243")３４０４のポート1に接続関係があり、NF(ＩＰアドレスなし)３４０２のポート1の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.51")３２０５が接続されており、CF(ＩＰアドレス "13X.XXX.2.243")３４０４のポート2の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.2")３４０６が接続されている場合を示している。
【００５９】
図３５は本実施形態のR-SF-CFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図３４に示したR-SF-CFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ３５０１にSF(ＩＰアドレス "13X.XXX.2.246")３４０３からTerm2(ＩＰアドレス "13X.XXX.2.2")３４０６への接続情報が格納されている。この接続情報によって、SF３４０３からTerm2３４０６への接続ポートがポート1であることを検出可能である。
また、エントリ３５０２にSF(ＩＰアドレス "13X.XXX.2.246")３４０３からTerm1(ＩＰアドレス "13X.XXX.2.51")３４０５への接続情報が格納されている。この接続情報によって、SF３４０３からTerm1３４０５への接続ポートがポート2であることを検出可能である。
また、エントリ３５０３にCF(ＩＰアドレス "13X.XXX.2.243")３４０４からR(ＩＰアドレス "13X.XXX.2.1")３４０１への接続情報が格納されている。この接続情報によって、CF３４０４からR３４０１への接続ポートがポート1であることを検出可能である。
【００６０】
また、エントリ３５０４にCF(ＩＰアドレス "13X.XXX.2.243")３３０４からTerm1(ＩＰアドレス "13X.XXX.2.51")３４０５への接続情報が格納されている。この接続情報によって、CF３４０４からTerm1３４０５への接続ポートがポート1であることを検出可能である。
また、エントリ３５０５にCF(ＩＰアドレス "13X.XXX.2.243")３４０４からSF(ＩＰアドレス "13X.XXX.2.246")３４０３への接続情報が格納されている。この接続情報によって、CF３４０４からSF３４０３への接続ポートがポート1であることを検出可能である。
また、エントリ３５０６にCF(ＩＰアドレス "13X.XXX.2.243")３４０４からTerm2(ＩＰアドレス "13X.XXX.2.2")３４０６への接続情報が格納されている。この接続情報によって、CF３４０４からTerm2３４０６への接続ポートがポート2であることを検出可能である。そして、CF３４０４からR３４０１への接続ポートとCF３４０４からSF３４０３への接続ポートが等しいことから、SF３４０３はCF３４０４の親または兄弟であり、CF３４０４からSF３４０３への接続ポートは1であることが検出可能である。また、SF３４０３からTerm1３４０５への接続ポートとSF３４０３からTerm2３４０６への接続ポートが異なることから、SF３４０３はTerm1３４０５とTerm2３４０６の中間に接続している機器であることが検出可能である。
【００６１】
また、CF３４０４からSF３４０３への接続ポートとCF３４０４からTerm2３４０６への接続ポートが異なることから、CF３４０４はSF３４０３とTerm2３４０６の中間に接続している機器であり、SF３４０３からTerm2３４０６への接続ポートとSF３４０３からCF３４０４への接続ポートは等しい。従って、SF３４０３からCF３４０４への接続ポートは1であることが検出可能である。また、SF３４０３からR３４０１への接続ポートの検出が不可能であるため、SF３４０３とCF３４０４の親子関係は検出不能である(SF３４０３とCF３４０４の中間にNF３４０２が接続している場合はSF３４０３とCF３４０４は兄弟になる)。
このようにして、R-SF-CFモデルでは、SF３４０３とTerm1３４０５、Term2３４０６の接続情報とCFとTerm1３４０５、Term2３４０６の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートだけの検出が可能になる。
【００６２】
図３６は、本実施形態のR-SF-IFモデルの接続検出の仕組を示す図であり、R-SF-IFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")３６０１のポート2とNF(ＩＰアドレスなし)３６０２のポート3に接続関係があり、NF(ＩＰアドレスなし)３６０２のポート2とSF(ＩＰアドレス "13X.XXX.2.246")３６０３のポート2に接続関係があり、さらにSF(ＩＰアドレス "13X.XXX.2.246")３６０３のポート1とIF(ＩＰアドレス "13X.XXX.2.243")３６０４のポート1に接続関係があり、NF(ＩＰアドレスなし)３６０２のポート1の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.51")３６０５が接続されており、さらにSF(ＩＰアドレス "13X.XXX.2.246")３６０３のポート3の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.102")３６０６が接続されており、IF(ＩＰアドレス "13X.XXX.2.243")３６０４のポート2の先に任意のTerm3(ＩＰアドレス "13X.XXX.2.2")３６０７が接続されている場合を示している。
【００６３】
図３７は本実施形態のR-SF-IFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図３６に示したR-SF-IFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ３７０１にSF(ＩＰアドレス "13X.XXX.2.246")３６０３からTerm3(ＩＰアドレス "13X.XXX.2.2")３６０７への接続情報が格納されている。この接続情報によって、SF３６０３からTerm3３６０７への接続ポートがポート1であることを検出可能である。
また、エントリ３７０２にSF(ＩＰアドレス "13X.XXX.2.246")３６０３からTerm1(ＩＰアドレス "13X.XXX.2.51")３６０５への接続情報が格納されている。この接続情報によって、SF３６０３からTerm1３６０５への接続ポートがポート2であることを検出可能である。
また、エントリ３７０３にSF(ＩＰアドレス "13X.XXX.2.246")３６０３からTerm2(ＩＰアドレス "13X.XXX.2.102")３６０６への接続情報が格納されている。この接続情報によって、SF３６０３からTerm2３６０６への接続ポートがポート3であることを検出可能である。
【００６４】
また、エントリ３７０４にIF(ＩＰアドレス "13X.XXX.2.243")３６０４からR(ＩＰアドレス "13X.XXX.2.1")３６０１への接続情報が格納されている。この接続情報によって、IF３６０４からR３６０１への接続ポートがポート1であることを検出可能である。
また、エントリ３７０５にIF(ＩＰアドレス "13X.XXX.2.243")３６０４からTerm1(ＩＰアドレス "13X.XXX.2.51")３６０５への接続情報が格納されている。この接続情報によって、IF３６０４からTerm1３６０５への接続ポートがポート1であることを検出可能である。
また、エントリ３７０６にIF(ＩＰアドレス "13X.XXX.2.243")３６０４からTerm2(ＩＰアドレス "13X.XXX.2.102")３６０６への接続情報が格納されている。この接続情報によって、IF３６０４からTerm2３６０６への接続ポートがポート1であることを検出可能である。
また、エントリ３７０７にIF(ＩＰアドレス "13X.XXX.2.243")３６０４からTerm3(ＩＰアドレス "13X.XXX.2.2")３６０７への接続情報が格納されている。この接続情報によって、IF３６０４からTerm3３６０７への接続ポートがポート2であることを検出可能である。また、IF３６０４からR３６０１への接続ポートとIF３６０４からTerm1３６０５への接続ポートが等しいことから、Term1３６０５はR３６０１とIF３６０４の中間に接続している機器であることが検出可能である。
【００６５】
同様に、IF３６０４からR３６０１への接続ポートとIF３６０４からTerm2３６０６への接続ポートが等しいことから、Term2３６０６はR３６０１とIF３６０４の中間に接続している機器であることが検出可能である。また、SF３６０３からTerm1３６０５への接続ポートとSF３６０３からTerm2３６０６への接続ポートが異なることから、SF３６０３はTerm1３６０５とTerm2３６０６の中間に接続している機器であることが検出可能である。
従って、IF３６０４からSF３６０３への接続ポートとIF３６０４からTerm1３６０５、Term2３６０６への接続ポートは等しいことから、IF３６０４からSF３６０３への接続ポートは1であることが検出可能である。また、IF３６０４からR３６０１への接続ポートとIF３６０４からTerm3３６０７への接続ポートが異なることから、IF３６０４はR３６０１とTerm3３６０７の中間に接続している機器であることが検出可能である。さらに、SF３６０３はR３６０１とIF３６０４の中間に接続していることから、IF３６０４はSF３６０３とTerm3３６０７の中間に接続していることが検出可能である。
【００６６】
従って、SF３６０３からIF３６０４への接続ポートはSF３６０３からTerm3３６０７の接続ポートに等しいため、SF３６０３からIF３６０４への接続ポートは1であることが検出可能である。また、SF３６０３からR３６０１への接続ポートの検出が不可能であるため、SF３６０３とIF３６０４の親子関係は検出不能である。このようにして、R-IF-SFモデルでは、SF３６０３とTerm1３６０５〜Term3３６０７の接続情報とIF３６０４とTerm1３６０５〜Term3３６０７の接続情報がＰＦテーブル１１２４に格納されているという条件下で機器の接続ポートだけの検出が可能になる。
【００６７】
図３８は本実施形態のR-SF-SFモデルの接続検出の仕組を示す図であり、R-SF-SFモデルの一例として、Ｒ(ＩＰアドレス "13X.XXX.2.1")３８０１のポート2とNF(ＩＰアドレスなし)３８０２のポート3に接続関係があり、NF(ＩＰアドレスなし)３８０２のポート2とSF1(ＩＰアドレス "13X.XXX.2.246")３８０３のポート2に接続関係があり、さらにSF1(ＩＰアドレス "13X.XXX.2.246")３８０３のポート1とSF2(ＩＰアドレス "13X.XXX.2.243")３８０４のポート1に接続関係があり、NF(ＩＰアドレスなし)３８０２のポート1の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.51")３８０５が接続されており、SF2(ＩＰアドレス "13X.XXX.2.243")３８０４のポート2の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.2")３８０６が接続されている場合を示している。
【００６８】
図３９は本実施形態のR-SF-SFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図３８に示したR-SF-SFモデルに対するＰＦテーブル１１２４のエントリを例示している。
まず、エントリ３９０１にSF1(ＩＰアドレス "13X.XXX.2.246")３８０３からTerm2(ＩＰアドレス "13X.XXX.2.2")３８０６への接続情報が格納されている。この接続情報によって、SF1３８０３からTerm2３８０６への接続ポートがポート1であることを検出可能である。
また、エントリ３９０２にSF1(ＩＰアドレス "13X.XXX.2.246")３８０３からTerm1(ＩＰアドレス "13X.XXX.2.51")３８０５への接続情報が格納されている。この接続情報によって、SF1３８０３からTerm1３８０５への接続ポートがポート2であることを検出可能である。
【００６９】
エントリ３９０３にSF2(ＩＰアドレス "13X.XXX.2.246")３８０４からTerm1(ＩＰアドレス "13X.XXX.2.51")３８０５への接続情報が格納されている。この接続情報によって、SF2３８０４からTerm1３８０５への接続ポートがポート1であることを検出可能である。
エントリ３９０３にSF2(ＩＰアドレス "13X.XXX.2.243")３８０４からTerm2(ＩＰアドレス "13X.XXX.2.2")３８０６への接続情報が格納されている。この接続情報によって、SF2３８０４からTerm2３８０６への接続ポートがポート2であることを検出可能である。
しかし、ＰＦテーブル１１２４のエントリからは、SF1３８０３のポート1とSF2３８０４のポート1に接続関係がある場合とSF1３８０３のポート2とSF2３８０４のポート2に接続関係がある場合を判別できないため、接続ポートは検出できない。また、SF1３８０３とR３８０１の接続関係やSF2３８０４とR３８０１の接続関係を検出不能なことにより親子関係の検出も不能である。R-SF-SFモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が不可能である。
【００７０】
図４０は本実施形態のR-CFモデルの接続検出の仕組を示す図であり、R-CFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")４００１のポート2とCF(ＩＰアドレス "13X.XXX.2.246")４００２のポート2に接続関係がある場合を示している。
【００７１】
図４１は本実施形態のR-CFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図４０に示したR-CFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ４１０１にR(ＩＰアドレス "13X.XXX.2.1")４００１からCF(ＩＰアドレス "13X.XXX.2.246")４００２への接続情報が格納されている。この接続情報によって、R４００１からCF４００２への接続ポートがポート2であることを検出可能である。
また、CF(ＩＰアドレス "13X.XXX.2.246")４００２からR(ＩＰアドレス "13X.XXX.2.1")４００１への接続情報が格納されている。この接続情報によって、CF４００２からR４００１への接続ポートがポート2であることを検出可能である。なお、R(ＩＰアドレス "13X.XXX.2.1")４００１からCF(ＩＰアドレス "13X.XXX.2.246")４００２への接続情報がない場合でも、R(ＩＰアドレス "13X.XXX.2.1")４００１と"13X.XXX.2.*"ネットワーク上の任意の機器の接続情報が存在すれば、そのポートがR４００１からCF４００２への接続ポートになる。また、CF(ＩＰアドレス "13X.XXX.2.246")４００２からR(ＩＰアドレス "13X.XXX.2.1")４００１への接続情報がない場合でも、CF(ＩＰアドレス "13X.XXX.2.246")４００２と別セグメントに接続している機器の接続情報が存在すれば、そのポートがCF４００２からR４００１への接続ポートになる。
このようにして、R-CFモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
【００７２】
図４２は本実施形態のR-IFモデルの接続検出の仕組を示す図であり、R-IFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")４２０１のポート2とIF(ＩＰアドレス "13X.XXX.2.246")４２０２のポート2に接続関係がある場合を示している。
【００７３】
図４３は本実施形態のR-IFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図４２に示したR-IFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ４３０１にR(ＩＰアドレス "13X.XXX.2.1")４２０１からIF(ＩＰアドレス "13X.XXX.2.246")４２０２への接続情報が格納されている。この接続情報によって、R４２０１からIF４２０２への接続ポートがポート2であることを検出可能である。
また、エントリ４３０２にIF(ＩＰアドレス "13X.XXX.2.246")４２０２からR(ＩＰアドレス "13X.XXX.2.1")４２０１への接続情報が格納されている。この接続情報によって、IF４２０２からR４２０１への接続ポートがポート2であることを検出可能である。
なお、R(ＩＰアドレス "13X.XXX.2.1")４２０１からIF(ＩＰアドレス "13X.XXX.2.246")４２０２への接続情報がない場合でも、R(ＩＰアドレス "13X.XXX.2.1")４２０１と"13X.XXX.2.*"ネットワーク上の任意の機器の接続情報が存在すれば、そのポートがR４２０１からIF４２０２への接続ポートになる。また、IF(ＩＰアドレス "13X.XXX.2.246")４２０２からR(ＩＰアドレス "13X.XXX.2.1")４２０１への接続情報がない場合でも、IF(ＩＰアドレス "13X.XXX.2.246")４２０２と別セグメントに接続している機器の接続情報が存在すれば、そのポートがIF４２０２からR４２０１への接続ポートになる。
このようにして、R-IFモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
【００７４】
図４４は本実施形態のR-SFモデルの接続検出の仕組を示す図であり、R-SFモデルの一例として、R(ＩＰアドレス "13X.XXX.2.1")４４０１のポート2とSF(ＩＰアドレス "13X.XXX.2.246")４４０２のポート2に接続関係があり、R(ＩＰアドレス "13X.XXX.2.1")４４０１のポート1の先には任意のTerm1(ＩＰアドレス "13X.XXX.1.1")４４０３が接続している場合を示している。
【００７５】
図４５は本実施形態のR-SFモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示すものであり、図４４に示したR-SFモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ４５０１にR(ＩＰアドレス "13X.XXX.2.1")４４０１からSF(ＩＰアドレス "13X.XXX.2.246")４４０２への接続情報が格納されている。この接続情報によって、R４４０１からSF４４０２への接続ポートがポート2であることを検出可能である。
また、エントリ４５０２にSF(ＩＰアドレス "13X.XXX.2.246")から別セグメントに接続している機器の接続情報("13X.XXX.2.*"のネットワークの機器ではない機器Term1("13X.XXX.1.1")４４０３が格納されている。この接続情報によって、SF４４０２からR４４０１への接続ポートがポート2であることを検出可能である。
なお、R(ＩＰアドレス "13X.XXX.2.1")４４０１からSF(ＩＰアドレス "13X.XXX.2.246")４４０２への接続情報がない場合でも、R(ＩＰアドレス "13X.XXX.2.1")４４０１と"13X.XXX.2.*"ネットワーク上の任意の機器の接続情報が存在すれば、そのポートがR４４０１からSF４４０２への接続ポートになる。
このようにして、R-SFモデルでは、別セグメントに接続している機器の接続情報が取得可能であるという条件下で機器の接続ポートと親子関係の検出が可能である。
【００７６】
図４６および図４７は、本実施形態のネットワーク中継装置同士の接続検出方法を説明する図である。
図４６及び図４７は、図２２〜図４５で示したネットワーク中継装置同士の接続関係や親子関係の検出条件を表形式でまとめたものである。
接続モデル４６０１、４７０１ごとに検出条件を設定しており、親から子への接続ポート４６０２、４７０２、子から親への接続ポート４６０３、４７０３、親子関係４６０４、４７０４の検出可能性を示している。
「○」印の項目は接続検出するための条件４６０５、４７０５に関係なく検出が可能であることを示しており、「△」印の項目は接続検出するための条件を満たしている場合に限り検出が可能であることを示しており、「×」印の項目は任意の条件下で検出が不可能であることを示している。
【００７７】
図４８は、本実施形態のCF-Termモデルの接続検出の仕組を示す図であり、CF-Termモデルの一例として、CF(ＩＰアドレス "13X.XXX.2.246")４８０１のポート3とTerm1(ＩＰアドレス "13X.XXX.2.102")４８０２に接続関係がある場合を示している。
【００７８】
図４９は本実施形態のCF-Termモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示す図であり、図４８に示したCF-Termモデルに対するＰＦテーブルのエントリを例示している。
エントリ４９０１にCF(ＩＰアドレス "13X.XXX.2.246")４８０１からTerm1(ＩＰアドレス "13X.XXX.2.102")４８０２への接続情報が格納されている。この接続情報によって、CF４８０１からTerm1４８０２への接続ポートがポート3であることを検出可能である。
この場合、CF４８０１のポート3の先に任意の台数の機器が接続している場合でも、ＰＦテーブル１１２４には機器の台数分の接続情報が格納されるため、任意の台数のTermの検出が可能である。
このようにして、CF-Termモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
図５０は、本実施形態のIF-Termモデルの接続検出の仕組を示す図であり、IF-Termモデルの一例として、IF(ＩＰアドレス "13X.XXX.2.246")５００１のポート3とTerm1(ＩＰアドレス "13X.XXX.2.102")５００２に接続関係がある場合を示している。
【００７９】
図５１は、本実施形態のIF-Termモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示す図であり、図５０に示したIF-Termモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ５１０１にIF(ＩＰアドレス "13X.XXX.2.246")５００１からTerm1(ＩＰアドレス "13X.XXX.2.102")５００２への接続情報が格納されている。この接続情報によって、IF５００１からTerm1５００２への接続ポートがポート3であることを検出可能である。
この場合、IF５００１のポート3の先に任意の台数の機器が接続している場合でも、ＰＦテーブル１１２４には機器の台数分の接続情報が格納されるため、任意の台数のTermの検出が可能である。
このようにして、IF-Termモデルでは、任意の条件下で機器の接続ポートと親子関係の検出が可能である。
【００８０】
図５２は本実施形態のSF-Termモデルの接続検出の仕組を示す図であり、SF-Termモデルの一例として、SF(ＩＰアドレス "13X.XXX.2.246")５２０１のポート3とTerm1(ＩＰアドレス "13X.XXX.2.102")５２０２に接続関係がある場合を示している。
図５３は本実施形態のIF-Termモデルの接続検出に利用するＰＦテーブル１１２４のエントリ例を示す図であり、図５２に示したSF-Termモデルに対するＰＦテーブル１１２４のエントリを例示している。
エントリ５３０１にSF(ＩＰアドレス "13X.XXX.2.246")５２０１からTerm1(ＩＰアドレス "13X.XXX.2.102")５２０２への接続情報が格納されている。この接続情報によって、SFからTerm1への接続ポートがポート3であることを検出可能である。
この場合、SF５２０１のポート3の先に複数台の機器が接続している場合は、ＰＦテーブル１１２４には機器１台数分の接続情報が格納されるため、任意の１台のTermの検出が可能である。
このようにして、SF-Termモデルでは、ネットワーク中継装置の各ポートに１台の機器が接続しているという条件下で機器の接続ポートと親子関係の検出が可能である。
【００８１】
図５４は本実施形態のネットワーク構成自動認識方法におけるネットワーク中継装置と端末装置の接続検出方法を説明する図である。図５４は図４８〜図５３で示したネットワーク中継装置と端末装置の接続関係や親子関係の検出条件を表形式でまとめたものである。
接続モデル５４０１ごとに端末装置の接続検出５３０２の可能性を示しており、接続検出するための条件５４０３によって接続検出可能性が変化する。
「○」印の項目は接続検出するための条件に関係なく検出が可能であることを示しており、「△」印の項目は接続検出するための条件を満たしている場合に限り検出が可能であることを示している。
【００８２】
図５５は本実施形態の複数のモデルを組合わせることによる親子関係の検出を説明する図である。図５５はR-CF-CFモデルとR-CF-SFモデルを組合わせ、R-SF-CFモデルの親子関係を検出する場合の一例を示している。
ここでは、R(ＩＰアドレス "13X.XXX.2.1")５５０１のポート2とCF1(ＩＰアドレス "13X.XXX.2.246")５５０２のポート2に接続関係があり、さらにCF1(ＩＰアドレス "13X.XXX.2.246")５５０２のポート1とSF(ＩＰアドレス "13X.XXX.2.243")５５０３のポート1に接続関係があり、SF(ＩＰアドレス "13X.XXX.2.243")５５０３のポート2とCF2(ＩＰアドレス "13X.XXX.2.247")５５０４のポート2に接続関係があり、さらにCF1(ＩＰアドレス "13X.XXX.2.246")５５０２のポート3の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.102")５５０５が接続されており、さらにCF2(ＩＰアドレス "13X.XXX.2.247")５５０４のポート1の先に任意のTerm2(ＩＰアドレス "13X.XXX.2.2")５５０６が接続されている場合を示している。
【００８３】
図５６は本実施形態の複数のモデルを組合わせることによる親子関係の検出に利用するＴＳテーブル１１２５のエントリを示す図であり、図５５に示したR-CF-CFモデルとR-CF-SFモデルからR-SF-CFモデルを検出するためのエントリを例示している。
R-CF-SFモデルでは、Term1への接続情報をCFとSFの両方が保持している条件下で親子関係の検出が可能であるため、CF1(ＩＰアドレス "13X.XXX.2.246")５５０２はSF(ＩＰアドレス "13X.XXX.2.243")５５０３の親であることを示すエントリ５６０１がＴＳテーブル１１２５に格納される。
また、R-CF-CFモデルでは、任意の条件下で親子関係の検出が可能であるため、CF1(ＩＰアドレス "13X.XXX.2.246")５５０２はCF2(ＩＰアドレス "13X.XXX.2.247")５５０４の親であることを示すエントリ５６０２がＴＳテーブル１１２５に格納される。なお、R-SF-CFモデルでは親子関係の検出が不可能であるため、SF(ＩＰアドレス "13X.XXX.2.243")５５０３とCF2(ＩＰアドレス "13X.XXX.2.247")５５０４の親子関係は不明である。
【００８４】
従って、図５６では接続関係(接続ポート)は検出可能であるが、親子関係の検出は不可能である場合を示す例として、CF2(ＩＰアドレス "13X.XXX.2.247")５５０４はSF(ＩＰアドレス "13X.XXX.2.243")５５０３の親であることを示すエントリ５６０３とSF(ＩＰアドレス "13X.XXX.2.243")５５０３はCF2(ＩＰアドレス "13X.XXX.2.247")５５０４の親であることを示すエントリ５６０４を同時に格納している。SF５５０３からCF1５５０２への接続ポートとSF５５０３からCF2５５０４への接続ポートが異なることから、SF５５０３はCF1５５２とCF2５５０４の中間に接続していることが検出可能である。また、CF1５５０２はSF５５０３の親であることから、SF５５０３はCF2５５０４の親であることが検出可能である。
このようにして、R-SF-CFモデルは親子関係の検出が不可能であるが、R-CF-CFモデルとR-CF-SFモデルから検出可能な親子関係を組合わせることで、親子関係の検出が可能である。
【００８５】
図５７は本実施形態のNon Intelligent Hubの接続の予測方法を説明する図であり、ここでは、Non Intelligent Hubの接続の予測する一例として、Unit(ＩＰアドレス "13X.XXX.2.246")５７０１のポート1とNF(ＩＰアドレスなし)５７０２のポート1に接続関係があり、NF(ＩＰアドレスなし)５７０２のポート2の先に任意のTerm1(ＩＰアドレス "13X.XXX.2.98")５７０３が接続されており、NF(ＩＰアドレスなし)５７０２のポート3の先に任意のTerm2(ＩＰアドレス “13X.XXX.2.13")５７０４が接続されている場合を示している。
【００８６】
図５８は、本実施形態のNon Intelligent Hubの接続の予測に利用するＴＳテーブル１１２５のエントリ例を示す図であり、図５７に示したNon Intelligent Hubの接続の予測に対するＴＳテーブル１１２５のエントリを例示している。
エントリ５８０１にはUnit(ＩＰアドレス "13X.XXX.2.246")５７０１のポート1の先にTerm1(ＩＰアドレス "13X.XXX.2.98")５７０３が子として接続されていることを示す接続情報が格納されている。
【００８７】
同様に、エントリ５８０２には、Unit(ＩＰアドレス "13X.XXX.2.246")５７０１のポート1の先にTerm2(ＩＰアドレス "13X.XXX.2.13")５７０４が子として接続されていることを示す接続情報が格納されている。
これによって、ネットワーク中継装置の共通のポートに複数の機器が子として接続しており、別のネットワーク中継装置が存在しない場合はNon Intelligent Hubが少なくとも１台以上接続していることが検出可能である。そして、ネットワーク中継装置の共通のポートに複数の機器が子として接続しており、別のネットワーク中継装置が存在する場合でもネットワーク中継装置とネットワーク中継装置の接続ポートの中間に複数の機器が接続しており、接続機器の中にネットワーク中継装置を含まない場合はNon Intelligent Hubが少なくとも１台以上接続していることが検出可能である。
【００８８】
図５９は本実施形態の非稼動中端末装置の検出方法を説明する図であり、R(ＩＰアドレス "13X.XXX.2.1")５９０１のポート2とUnit(ＩＰアドレス"13X.XXX.2.243")５９０２のポート2に接続関係があり、Unit(ＩＰアドレス("13X.XXX.2.243")５９０２のポート1の先に先に任意のTerm(ＩＰアドレス "13X.XXX.2.2")５９０３が接続されているが、Term５９０３は非稼動中端末装置である場合を示している。
図５９の例では、非稼動中端末装置５９０３の接続関係や親子関係を検出する一例として、ネットワーク中のＩＰアドレスに対してポーリングを行い、ポーリングに応答がないＩＰアドレスの機器が存在した場合、そのＩＰアドレスに対応する機器が存在しない、または非稼動中であるとし、ＴＩテーブル１１２３（図１４）のalive値がFALSEのエントリを追加する。次に、RouterのARPキャッシュを参照し、ポーリングに応答を返さないＩＰアドレスのエントリがARPキャッシュに含まれている場合には、そのＩＰアドレスに対応する機器は非稼動中であるものとして検出する。また、ネットワーク中継装置同士の接続関係や親子関係の検出に利用するＭＩＢオブジェクトに非稼動中端末装置の接続情報が含まれている場合には、ＰＦテーブル１１２４やＴＳテーブル１１２５に非稼動中端末装置のエントリの作成が可能になるため、非稼動中端末装置の接続関係や親子関係の検出が可能になる。
【００８９】
図６０は本実施形態の接続先の変更の検出方法を説明する図であり、Unit(ＩＰアドレス "13X.XXX.2.243")６００１のポート2の先に任意のTerm(ＩＰアドレス "13X.XXX.2.2")６００２が接続されていたが、Unit６００１のポート3に接続先を変更した例を示している。
【００９０】
図６１は本実施形態の接続先の変更の検出に利用するＴＳテーブル１１２５のエントリ例を示す図であり、図６０に示した接続先の変更の検出に対するエントリを例示している。
接続先変更前のＴＳテーブル１１２５のエントリ６１０１には、Unit(ＩＰアドレス "13X.XXX.2.243")６００１のポート2の先にはTerm(ＩＰアドレス "13X.XXX.2.2")６００２が子として接続されていることを示す接続情報が格納されている。接続先変更後のＴＳテーブルのエントリでは、Unit(ＩＰアドレス "13X.XXX.2.243")６００１のポート2の先にTerm(ＩＰアドレス "13X.XXX.2.2")６００２が子として接続しているエントリ６１０２とUnit(ＩＰアドレス "13X.XXX.2.243")６００１のポート3の先にTerm(ＩＰアドレス "13X.XXX.2.2")６００２が子として接続しているエントリ６１０３が存在している。接続先の変更前のＴＳテーブル１１２５と接続先の変更後のＴＳテーブル１１２５では、機器の接続先の情報も変更されるため、定期的にＴＳテーブル１１２５を作成し、差分をとることで、接続先の変更の検出が可能になる。
また、エントリ６１０２のように古い接続情報のキャッシュがＭＩＢオブジェクトが残る場合でも問題ない。また、機器のＩＰアドレスを変更した場合には、ＩＰアドレスの機器がネットワーク上に新たに追加されたという形で検出可能である。
【００９１】
図６２は本実施形態の図面表示プログラム１１０４が作成するネットワーク構成図面の表示例を示す図である。
図面表示プログラム１１０４のＧＵＩは、Network Map表示部分６２０１、Terminal Information表示部分６２０２から構成される。
Network Map表示部分６２０１には、オートディスカバリモジュールを実行することにより自動検出したネットワークセグメントの構成を図示のように木構造表示する。このNetwork Map表示部分６２０１の任意の機器表示にマウス等のポインティングデバイスを利用してカーソルを充てた場合、該機器表示を符号６２０３で示すように反転表示し、Terminal Information表示部分６２０２に機器の情報を表示する。
【００９２】
図６２の例では、ＴＩテーブル１１２３（図１４）の該当する機器の情報を表示した例を示している。また、接続されているものと予測したNon Intelligent Hub６２０４を表示することも可能である。
ユーザはTerminal Information表示部分６２０２の情報を参照することで非稼動中の端末装置を認識可能であるが、Network Map表示部分６２０１の該当する機器の表示を低い輝度あるいは明度で描画する等のＧＵＩによる表現も可能である。ユーザは個々の機器をポーティングデバイスによってDrag & Dropすることで、独自に接続先の編集を行うことも可能である。
【００９３】
以下フローチャートを用いて、本実施形態の動作を説明する。
図６３は本実施形態の稼動状況検出モジュール１１１１がＩＣＭＰエコーリクエストを送受信する処理を示すフローチャートである。
稼動状況検出モジュール１１１１は、オートディスカバリモジュール１１１３からの稼動状況チェック要求を待ち(ステップ６３０１)、稼動状況チェック要求としてＩＰアドレスを受信すると(ステップ６３０２)、ＩＰアドレスで指定された機器にPing(ＩＣＭＰエコーリクエストメッセージ)を送信する(ステップ６３０３)。
Pingのタイムアウト内にＩＣＭＰエコーリプライメッセージを受信するかどうかをチェックし(ステップ６３０４)、エコーリプライメッセージを受信した場合にはオートディスカバリモジュール１１１３にTrueを返し(ステップ６３０５)、それ以外の場合はFalseを返す(ステップ６３０６)。
ステップ６３０５あるいはステップ６３０６終了後、ステップ６３０１から処理を繰り返す。
稼動状況検出モジュール１１１１はPingの応答の有無により機器の稼動状況を検出する。
【００９４】
図６４は本実施形態のＭＩＢアクセスモジュール１１１２がＰＤＵ(Protocol Data Unit)を作成し、ＳＮＭＰメッセージを送受信する処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２はオートディスカバリモジュール１１１３からのＳＮＭＰ Get-Request(あるいはGet-Next/Set-Request)ＰＤＵの作成要求を待ち(ステップ６４０１)、SNMP Get(あるいはGet-Next/Set-Request)ＰＤＵの作成要求としてＩＰアドレス、コミュニティ名、オブジェクト名を受信する(ステップ６４０２)と、オブジェクト名をキーとして図１２に示したＯＩＤテーブル１１２１を検索する(ステップ６４０３)。
ＯＩＤテーブル１１２１にObject Name項目１２０１がオブジェクト名であるエントリが存在するかどうかをチェックし(ステップ６４０４)、エントリがヒットした場合、エントリのObjectＩdentifier項目１２０２の値、ＩＰアドレス、コミュニティ名をもとにSNMP Get(あるいはGet-Next/Set-Request)ＰＤＵを作成する(ステップ６４０５)。エントリがヒットしなかった場合は、オートディスカバリモジュール１１１３にエラーを返す(ステップ６４１０)。
【００９５】
ステップ６４０５終了後、ＰＤＵをもとにＳＮＭＰメッセージを作成し、送信する(ステップ６４０６)。ＳＮＭＰメッセージの応答としてSNMP (Get-Response)ＰＤＵの受信を待ち(ステップ６４０７)、応答を受信した場合はＯＩＤテーブル１１２１のエントリのtype項目１２０３の値をもとにして受信した値の型変換を行い(ステップ６４０８)、応答の受信に失敗した場合はオートディスカバリモジュール１１１３にエラーを返す(ステップ６４１０)。
ステップ６４０８の終了後、オートディスカバリモジュール１１１３に型変換したＳＮＭＰ応答の値を返す(ステップ６４０９)。ステップ６４０９あるいはステップ６４１０の終了後、ステップ６４０１から処理を繰り返す。図６４の処理は、図６５〜図６８の処理実行時に呼び出される。
【００９６】
図６５（ａ）は、本実施形態のＭＩＢアクセスモジュール１１１２が機器のＭＩＢ２サポート状況をチェックする処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２は、オートディスカバリモジュール１１１３からのＭＩＢ２サポート状況チェック要求に対し、オブジェクト名としてsysDescrを指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行する(ステップ６５０１)。SNMP Get-Requestメッセージの送受信が成功かどうかチェック(エラーが返るかどうかをチェック)し(ステップ６５０２)、SNMP Get-Requestメッセージの送受信が成功の場合は機器がＭＩＢ2をサポートしていると判断し(ステップ６５０３)、SNMP Get-Requestメッセージの送受信が失敗の場合は機器がＭＩＢ2を非サポートであると判断し(ステップ６５０４)、オートディスカバリモジュール１１１３にＭＩＢ２サポート状況の情報を返す。
ステップ６５０３あるいはステップ６５０４の終了後、ステップ６５０１から処理を繰り返す。
【００９７】
図６５（ｂ）は本実施形態のＭＩＢアクセスモジュール１１１２が機器のＩＰフォワーディング機能の有無をチェックする処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２は、オートディスカバリモジュール１１１３からのＩＰフォワーディング機能チェック要求に対し、オブジェクト名としてipForwardingを指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行する(ステップ６５１１)。SNMP Get-Requestメッセージの送受信が成功かどうかチェック(エラーが返るかどうかをチェック)し(ステップ６５１２)、SNMP Get-Requestメッセージの送受信が成功の場合はipForwardingの値が“１”(True)かどうかをチェックし(ステップ６５１３)、SNMP Get-Requestメッセージの送受信が失敗の場合は機器がＩＰフォワーディング機能を保持していないと判断する(ステップ６５１５)。
ステップ６５１３の終了後、ipForwardingの値が“１”(True)の場合は、機器がＩＰフォワーディング機能を保持していると判断し(ステップ６５１４)、ipForwardingの値が“０”(False)の場合は機器がＩＰフォワーディング機能を保持していないと判断する(ステップ６５１５)。ステップ６５１４あるいはステップ６５１５の終了後、オートディスカバリモジュール１１１３に機器のＩＰフォワーディング機能の有無の情報を返し、ステップ６５１１から処理を繰り返す。
【００９８】
図６６は、本実施形態のＭＩＢアクセスモジュール１１１２が機器のブリッジＭＩＢサポート状況をチェックする処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２は、オートディスカバリモジュール１１１３からのブリッジＭＩＢサポート状況チェック要求に対し、オブジェクト名としてdot1dBaseBridgeAddress(ブリッジＭＩＢの任意の実装オブジェクトで可)を指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行する(ステップ６６０１)。SNMP Get-Requestメッセージの送受信が成功かどうかチェック(エラーが返るかどうかをチェック)し(ステップ６６０２)、SNMP Get-Requestメッセージの送受信が成功の場合は機器がブリッジＭＩＢをサポートしていると判断し(ステップ６６０３)、SNMP Get-Requestメッセージの送受信が失敗の場合は機器がブリッジＭＩＢを非サポートであると判断し(ステップ６６０４)、オートディスカバリモジュール１１１３にブリッジＭＩＢサポート状況の情報を返す。ステップ６６０３あるいはステップ６６０４の終了後、ステップ６６０１から処理を繰り返す。
【００９９】
図６７は本実施形態のＭＩＢアクセスモジュール１１１２が機器のリピータＭＩＢサポート状況をチェックする処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２は、オートディスカバリモジュール１１１３からのリピータＭＩＢサポート状況チェック要求に対し、オブジェクト名としてrptrGroupCapacity(リピータＭＩＢの任意の実装オブジェクトで可)を指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行する(ステップ６７０１)。SNMP Get-Requestメッセージの送受信が成功かどうかチェック(エラーが返るかどうかをチェック)し(ステップ６７０２)、SNMP Get-Requestメッセージの送受信が成功の場合は機器がリピータＭＩＢをサポートしていると判断し(ステップ６７０３)、SNMP Get-Requestメッセージの送受信が失敗の場合は機器がリピータＭＩＢを非サポートであると判断し(ステップ６７０４)、オートディスカバリモジュール１１１３にリピータＭＩＢサポート状況の情報を返す。ステップ６７０３あるいはステップ６７０４の終了後、ステップ６７０１から処理を繰り返す。
【０１００】
図６８は本実施形態のＭＩＢアクセスモジュール１１１２が機器のプリンタＭＩＢサポート状況をチェックする処理を示すフローチャートである。
ＭＩＢアクセスモジュール１１１２は、オートディスカバリモジュール１１１３からのプリンタＭＩＢサポート状況チェック要求に対し、オブジェクト名としてprtGeneralConfigChanges(プリンタＭＩＢの任意の実装オブジェクトで可)を指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行する(ステップ６８０１)。SNMP Get-Requestメッセージの送受信が成功かどうかチェック(エラーが返るかどうかをチェック)し(ステップ６８０２)、SNMP Get-Requestメッセージの送受信が成功の場合は機器がプリンタＭＩＢをサポートしていると判断し(ステップ６８０３)、SNMP Get-Requestメッセージの送受信が失敗の場合は機器がプリンタＭＩＢを非サポートであると判断し(ステップ６８０４)、オートディスカバリモジュール１１１３にプリンタＭＩＢサポート状況の情報を返す。ステップ６８０３あるいはステップ６８０４の終了後、ステップ６８０１から処理を繰り返す。
【０１０１】
図６９は本実施形態のオートディスカバリモジュール１１１３がＡＴテーブル１１２２を作成する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＡＴテーブル作成要求を待ち(ステップ６９０１)、ＡＴテーブル作成要求として探索するネットワークのＩＰアドレスの範囲を指定されると(ステップ６９０２)、指定されたネットワークの範囲に含まれるすべてのＩＰアドレスの探索を開始する。未探索のＩＰアドレスがあるかどうかチェックし(ステップ６９０３)、未探索のＩＰアドレスがない場合はステップ６９０１から処理を繰り返し、未探索のＩＰアドレスがある場合はＩＰアドレスを指定して図６５（ａ）に示したＭＩＢアクセスモジュール１１１２のＭＩＢ2サポート状況チェック処理を実行する(ステップ６９０４)。ＭＩＢアクセスモジュール１１１２の返り値からＩＰアドレスで指定された機器がＭＩＢ2をサポートしていかどうかチェックし(ステップ６９０５)、ＭＩＢ2をサポートしている場合はipNetMediaPhysAddressをキーに図６４に示したSNMP Get-Nextメッセージ送受信処理を実行し(ステップ６９０６)、ipNetToMediaNetAddressをキーに図６４に示したSNMP Get-Nextメッセージ送受信処理を実行する(ステップ６９０７)。
【０１０２】
機器がＭＩＢ2をサポートしていない場合はステップ６９０３から処理を繰り返す。ステップ６９０７の終了後、ステップ６９０６とステップ６９０７のSNMP Get-Nextメッセージ送受信処理が２回とも成功したかどうかチェックし(ステップ６９０８)、２回とも成功した場合はＡＴテーブル１１２２のIP Address項目にipNetToMediaNetAddressの値を、Mac Address項目にipNetMediaPhysAddressの値を設定したエントリをＡＴテーブル１１２２に追加する(ステップ６９０９)。SNMP Get-Nextメッセージ送受信処理の失敗があった場合、あるいはステップ６９０９の終了後、ステップ６９０３から処理を繰り返す。
【０１０３】
図７０は、本実施形態のオートディスカバリモジュール１１１３がＴＩテーブル１１２３を作成する処理を示すフローチャートである。オートディスカバリモジュール１１１３はＴＩテーブル作成要求を待ち(ステップ７００１)、ＴＩテーブル作成要求として探索するネットワークのＩＰアドレスの範囲を指定されると(ステップ７００２)、指定されたネットワークの範囲に含まれるすべてのＩＰアドレスの探索を開始する。未探索のＩＰアドレスがあるかどうかチェックし(ステップ７００３)、未探索のＩＰアドレスがない場合はステップ７００１から処理を繰り返し、未探索のＩＰアドレスがある場合はＩＰアドレスを指定して図７１に示すＴＩテーブルの各項目の値を取得する処理を実行する(ステップ７００４)。ステップ７００４の終了後、ＴＩテーブル１１２３に新規エントリを追加し(ステップ７００５)、ステップ７００３から処理を繰り返す。
【０１０４】
図７１は、本実施形態のオートディスカバリモジュール１１１３がＴＩテーブル１１２３の作成時にＴＩテーブル１１２３の各項目の値を取得する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＴＩテーブル１１２３の各項目の値を取得要求を待ち(ステップ７１０１)、ＴＩテーブル１１２３の各項目の値を取得要求として探索するＩＰアドレスを受信すると(ステップ７１０２)、ＩＰアドレスをキーにＡＴテーブル１１２２のIP Addressを検索し、取得したエントリのMac Address項目の値をＴＩテーブル１１２３のMac Address項目に設定する(ステップ７１０３)。
次に、ＩＰアドレスをキーに機器のホスト名を解決し、ＴＩテーブル１１２３のHost Name項目にホスト名を設定する(ステップ７１０４)。次に、ＩＰアドレスをキーに図６３に示した稼動状況チェック処理を実行し(ステップ７１０５)、ＴＩテーブル１１２３のalive項目に稼動状況チェック処理の返り値を設定する。次に、図６５（ａ）に示したＭＩＢ2サポート状況チェック処理を実行し(ステップ７１０６)、ＴＩテーブル１１２３のＭＩＢ2項目にＭＩＢ2サポート状況チェック処理の返り値を設定する。
【０１０５】
次に、図６５（ｂ）に示したＩＰフォワーディング機能チェック処理を実行し(ステップ７１０７)、ＴＩテーブル１１２３のforwarding項目にＩＰフォワーディング機能チェック処理の返り値を設定する。次に、図６６に示したブリッジＭＩＢサポート状況チェック処理を実行し(ステップ７１０８)、ＴＩテーブル１１２３のbridge項目にブリッジＭＩＢサポート状況チェック処理の返り値を設定する。
次に、図６７に示したリピータＭＩＢサポート状況チェック処理を実行し(ステップ７１０９)、ＴＩテーブル１１２３のrepeater項目にリピータＭＩＢサポート状況チェック処理の返り値を設定する。次に、図６８に示したプリンタＭＩＢサポート状況チェック処理を実行し(ステップ７１１０)、ＴＩテーブル１１２３のprinter項目にプリンタＭＩＢサポート状況チェック処理の返り値を設定する。次に、図７２に示す機器タイプ認識処理を実行し(ステップ７１１１)、ＴＩテーブル１１２３のtype項目に機器タイプ認識処理の返り値を設定する。ステップ７１１１の終了後、ステップ７１０１から処理を繰り返す。
【０１０６】
図７２は、本実施形態のオートディスカバリモジュール１１１３がＴＩテーブル１１２３の作成時に機器タイプを認識する処理を示すフローチャートである。オートディスカバリモジュール１１１３は、機器タイプの認識要求を待ち(ステップ７２０１)、機器タイプの認識要求としてＴＩテーブル１１２３の該当するエントリのforwarding項目、bridge項目、repeater項目、printer項目の値を受信する(ステップ７２０２)と、forwarding項目の値が“１”(True)かどうかチェックする(ステップ７２０３)。
forwarding項目の値が“１”(True)の場合は、bridge項目の値が“１”(True)かどうかチェックする(ステップ７２０４)。
forwarding項目の値が“１”(True)で、bridge項目の値が“１”(True)の場合は機器をルータと認識する(ステップ７２０５)。forwarding項目の値が“１”(True)で、bridge項目の値が“０”(False)の場合は機器をスイッチングハブと認識する(ステップ７２０６)。
ステップ７２０３でforwarding項目の値が“０”(False)の場合は、bridge項目の値が“１”(True)かどうかチェックする(ステップ７２０７)。bridge項目の値が“１”(True)の場合は、repeater項目の値が“１”(True)かどうかチェックする(ステップ７２０８)。forwarding項目の値が“０”(False)で、bridge項目の値が“１”(True)でrepeater項目の値が“１”(True)の場合は機器をスイッチングハブと認識する(ステップ７２０６)。
【０１０７】
forwarding項目の値が“０”(True)でbridge項目の値が“１”(True)でrepeater項目の値が“０”(False)の場合は機器をブリッジと認識する(ステップ７２０９)。ステップ７２０７でbridge項目の値が“０”(False)の場合はrepeater項目の値が“１”(True)かどうかチェックする(ステップ７２１０)。forwarding項目の値が“０”(False)でbridge項目の値が“０”(False)でrepeater項目の値が“１”(True)の場合は機器をインテリジェントハブと認識する(ステップ７２１１)。
ステップ７２１０でrepeater項目の値が“０”(False)の場合はprinter項目の値が“１”(True)かどうかチェックする(ステップ７２１２)。forwarding項目の値が“０”(False)でbridge項目の値が“０”(False)でrepeater項目の値が“０”(False)でprinter項目の値が“１”(True)の場合は機器をプリンタと認識する(ステップ７２１３)。forwarding項目の値が“０”(False)でbridge項目の値が“０”(False)でrepeater項目の値が“０”(False)でprinter項目の値が“０”(False)の場合は機器を端末装置と認識する(ステップ７２１４)。ステップ７２０５、ステップ７２０６、ステップ７２０９、ステップ７２１１、ステップ７２１３、ステップ７２１４の任意のステップ終了後、ステップ７２０１から処理を繰り返す。
【０１０８】
図７３は本実施形態のオートディスカバリモジュール１１１３がＰＦテーブル１１２４を作成する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＰＦテーブル１１２４の作成要求を待ち(ステップ７３０１)、ＰＦテーブル１１２４の作成要求を受信する(ステップ７３０２)と、ＴＩテーブル１１２３のすべてのエントリの検索を開始する。ＴＩテーブル１１２３に未探索のエントリがあるかどうかチェックし(ステップ７３０３)、ＴＩテーブル１１２３に未探索のエントリがない場合はステップ７３０１から処理を繰り返し、ＴＩテーブル１１２３に未探索のエントリがある場合はＴＩテーブル１１２３の該当するエントリのbridge項目の値が“１”(True)かどうかチェックする(ステップ７３０４)。bridge項目の値が“１”(True)の場合は図７４に示すブリッジＭＩＢサポート機器に対する処理を実行する(ステップ７３０５)。bridge項目の値が“０”(False)の場合は、ＴＩテーブル１１２３の該当するエントリのrepeater項目の値が“１”(True)かどうかチェックする(ステップ７３０６)。
【０１０９】
repeater項目の値が“１”(True)の場合は図７５に示すリピータＭＩＢサポート機器に対する処理を実行する(ステップ７３０７)。bridge項目の値が“０”(False)の場合はＴＩテーブル１１２３の該当するエントリのＭＩＢ2項目の値が“１"(True)かどうかチェックする(ステップ７３０８)。ＭＩＢ2項目の値が”１"(True)の場合は図７６に示すインターフェースＭＩＢサポート機器に対する処理を実行する(ステップ７３０９)。ＭＩＢ2項目の値が“０”(False)の場合はステップ７３０３から処理を繰り返す。ステップ７３０５、ステップ７３０７、ステップ７３０９の任意のステップ終了後、ステップ７３０３から処理を繰り返す。
【０１１０】
図７４は本実施形態のオートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時にブリッジＭＩＢサポート機器に対して実行する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はブリッジＭＩＢサポート機器に対する処理要求を待ち(ステップ７４０１)、ブリッジＭＩＢサポート機器に対する処理要求としてＴＩテーブル１１２３のIP Address項目の値を受信し、ＰＦテーブル１１２４のSource IP Address項目に設定する(ステップ７４０２)と、IP Address項目の値をキーにＡＴテーブル１１２２のIP Address項目を検索し、ヒットしたエントリのMac Address項目の値をＰＦテーブル１１２４のSource Mac Address項目に設定する(ステップ７４０３)。次に、ＩＰアドレスで指定された機器に対して未探索フォワーディング情報があるかどうかチェック (SNMP Get-Nextメッセージ送受信がエラーになるまで処理を実行)し(ステップ７４０４)、未探索フォワーディング情報がない場合はステップ７４０１から処理を繰り返す。未探索フォワーディング情報がある場合はオブジェクト名としてdot1dTpFdbAddressを指定し、図６４に示したフローでSNMP Get-Nextメッセージの送受信処理を実行し、返り値をＰＦテーブル１１２４のDestination Mac Address項目に設定する(ステップ７４０５)。
【０１１１】
同様に、オブジェクト名としてdot1dTpFdbPortを指定し、図６４に示すフローでSNMP Get-Nextメッセージの送受信処理を実行し、返り値をＰＦテーブル１１２４のSource Port項目に設定する(ステップ７４０６)。次に、設定したDestination Mac Address項目の値をキーにＡＴテーブル１１２２のMac Address項目を検索し、ヒットしたエントリのIP Address項目の値をＰＦテーブル１１２４のDestination IP Address項目に設定する(ステップ７４０７)。最後に、ＰＦテーブル１１２４に新規エントリを追加し(ステップ７４０８)、ステップ７４０４から処理を繰り返す。
【０１１２】
図７５は、本実施形態のオートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時にリピータＭＩＢサポート機器に対して実行する処理を示すフローチャートである。
オートディスカバリモジュール１１１３は、リピータＭＩＢサポート機器に対する処理要求を待ち(ステップ７５０１)、リピータＭＩＢサポート機器に対する処理要求としてＴＩテーブル１１２３のIP Address項目の値を受信し、ＰＦテーブル１１２４のSource IP Address項目に設定する(ステップ７５０２)と、IP Address項目の値をキーにＡＴテーブル１１２２のIP Address項目を検索し、ヒットしたエントリのMac Address項目の値をＰＦテーブル１１２４のSource Mac Address項目に設定する(ステップ７５０３)。
次に、SNMP Get-Nextメッセージ送受信のアクセス回数にあらかじめ閾値を設定しておき、アクセス回数が閾値を超えているかどうかチェックし(ステップ７５０４)、アクセス回数が閾値を超えている場合は図７７に示すフォワーディング情報予測処理を実行する(ステップ７５０９)。アクセス回数が閾値を超えない場合はrptrAddrTrackLastSourceAddrChangesを指定して図６４に示したSNMP Get-Nextメッセージ送受信処理を実行する(ステップ７５０５)。
【０１１３】
ステップ７５０５の終了後、SNMP Get-Nextメッセージ送受信処理の返り値であるrptrAddrTrackLastSourceAddrChangesの値を記憶しておき、前回アクセス時と値の比較を行い、オブジェクトの値に変更があるかどうかチェックする(ステップ７５０６)。オブジェクトの値に変更がない場合は処理を一時停止(Sleep処理)し(ステップ７５０７)、アクセス回数が閾値を超えるまでステップ７５０４から処理を繰り返す。ステップ７５０６でオブジェクトの値に変更がある場合は、現在実行中のスレッドとは別のスレッドを作成し、作成したスレッド内で図７６に示すフォワーディング情報学習処理を開始する(ステップ７５０８)。
ステップ７５０８、ステップ７５０９の任意のステップ終了後、ステップ７５０１から処理を繰り返す。フォワーディング情報学習処理は、リピータＭＩＢの仕様がＲＦＣに準拠した機器に対し、一定間隔でリピータＭＩＢにアクセスして情報を収集する処理であり、フォワーディング情報予測処理はリピータＭＩＢの仕様がＲＦＣに準拠していない機器に対し、インタフェースＭＩＢを利用してフォワーディング情報を検出する処理である。
【０１１４】
図７６は、オートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時にフォワーディング情報を学習する処理を示すフローチャートである。
オートディスカバリモジュール１１１３は、フォワーディング情報学習処理要求を待ち(ステップ７６０１)、フォワーディング情報学習処理要求としてＴＩテーブル１１２３のIP Address項目の値を受信し、ＰＦテーブル１１２４のSource IP Address項目に設定する(ステップ７６０２)と、ＩＰアドレスで指定された機器の全ポートの探索が終了しているかどうかチェックする(ステップ７６０３)。全ポートの探索が終了している場合は、ステップ７６０１から処理を繰り返し、全ポートの探索が終了していない場合はrptrAddrTrackLastSourceAddressをキーに指定して図６４に示したSNMP Get-Nextメッセージ送受信処理を実行し、SNMP Get-Nextメッセージ送受信処理の返り値をＰＦテーブル１１２４のDestination Mac Address項目に設定する(ステップ７６０４)。
【０１１５】
次に、設定したDestination Mac Address項目の値が既に検出済みであるかチェックし(ステップ７６０５)、検出済みである場合はステップ７６０３から処理を繰り返し、検出済みでない場合はrptrAddrTrackPortＩndexをキーに指定して図６４に示したSNMP Get-Nextメッセージ送受信処理を実行し、返り値をＰＦテーブル１１２４のSource Port項目に設定する(ステップ７６０６)。
【０１１６】
次に、設定したDestination Mac Address項目の値をキーにＡＴテーブル１１２２のMac Address項目を検索し、ヒットしたエントリのIP Address項目の値をＰＦテーブル１１２４のDestination IP Address項目に設定する(ステップ７６０７)。最後に、ＰＦテーブル１１２４に新規エントリを追加し(ステップ７６０８)、ステップ７６０３から処理を繰り返す。
【０１１７】
図７７は、オートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時にフォワーディング情報を予測する処理を示すフローチャートである。オートディスカバリモジュール１１１３は、フォワーディング情報予測処理要求を待ち(ステップ７７０１)、フォワーディング情報予測処理要求としてＴＩテーブル１１２３のIP Address項目の値を受信し、ＰＦテーブル１１２４のSourceIP Address項目に設定する(ステップ７７０２)と、ＩＰアドレスで指定された機器の全ポートの探索が終了しているかどうかチェックする(ステップ７７０３)。全ポートの探索が終了している場合は、ステップ７７０１から処理を繰り返し、全ポートの探索が終了していない場合はrptrAddrTrackLastSourceAddressをキーに指定して図６４に示したＳNMP Get-Nextメッセージ送受信処理を実行し、SNMPGet-Nextメッセージ送受信処理の返り値をＰＦテーブル１１２４のDestinationMac Address項目に設定する(ステップ７７０４)。rptrAddrTrackPortIndexをキーに指定して図６４に示したSNMP Get-Nextメッセージ送受信処理を実行し、返り値をＰＦテーブル１１２４のSource Port項目に設定する(ステップ７７０５)。
【０１１８】
次に、設定したDestination Mac Address項目の値をキーにＡＴテーブルのMac Address項目を検索し、ヒットしたエントリのIP Address項目の値をＰＦテーブル１１２４のDestination IP Address項目に設定する(ステップ７７０６)。次に、ＰＦテーブル１１２４に新規エントリを追加する(ステップ７７０７)。ＰＦテーブル１１２４に1件のエントリを追加後、rptrAddrTrackLastSourceAddrChangesをキーに指定して図６４に示したSNMP Get-Nextメッセージ送受信処理を実行し(ステップ７７０８)、SNMP Get-Nextメッセージ送受信処理の返り値であるrptrAddrTrackLastSourceAddrChangesの値が“１”より大きいかチェックする(ステップ７７０９)。
rptrAddrTrackLastSourceAddrChangesの値が“１”より大きい場合はＰＦテーブル１１２４に残りのエントリを追加するためにＭＩＢ2(interfaces ＭＩＢ)サポート機器に対して実行する処理を実行し(ステップ７７１０)、rptrAddrTrackLastSourceAddrChangesの値が“１”以下の場合はステップ７７０３から処理を繰り返す。ステップ７７１０の終了後も同様にステップ７７０３から処理を繰り返す。
【０１１９】
図７８は、オートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時にＭＩＢ2(interfaces MIB)サポート機器に対して実行する処理を示すフローチャートである。
オートディスカバリモジュール１１１３、はＭＩＢ2(interfaces MIB)サポート機器に対して実行する処理要求を待ち(ステップ７８０１)、ＭＩＢ2サポート機器に対して実行する処理要求としてＴＩテーブル１１２３のIP Address項目の値を受信し、ＰＦテーブル１１２４のSource IP Address項目に設定する(ステップ７８０２)と、図７９に示す管理者端末の接続ポート検出処理を実行する(ステップ７８０３)。
次に、図８０に示す管理者端末以外の機器の接続ポート検出処理を実行する(ステップ７８０４)。最後に、ＰＦテーブル１１２４に新規エントリを追加し(ステップ７８０５)、ステップ７８０１から処理を繰り返す。
【０１２０】
図７９は、オートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時に管理者端末７１の接続ポートを検出する処理を示すフローチャートである。オートディスカバリモジュール１１１３は管理者端末７１の接続ポートを検出処理要求を待ち(ステップ７９０１)、管理者端末７１の接続ポートを検出処理要求としてネットワーク中継装置のＩＰアドレス値を受信する(ステップ７９０２)と、ＩＰアドレスで指定されたネットワーク中継装置の全ポートの探索が終了しているかどうかチェックする(ステップ７９０３)。全ポートの探索が終了している場合は配列alive[ポート番号]の値が"０"(False)であるポート番号を返す(ステップ７９０６)。全ポートの探索が終了していない場合はifAdminStatusをキーに、値を"０"(False)と指定して図６４に示したSNMP Set-Requestメッセージ送受信処理を実行し、ＳＮＭＰ管理プロトコルを利用して該当するポートを塞ぐ(ステップ７９０４)。ＩＰアドレスで指定されたネットワーク中継装置を指定して図６３に示したＩＣＭＰエコーリクエストの送受信処理を実行し、返り値が"１"(True)の場合は、alive[ポート番号]変数に"１"を設定し、返り値が"０"(False)の場合はalive[ポート番号]変数に"０"を設定する(ステップ７９０５)。ただし、alive[ポート番号]の初期値は"０"(False)とする。ステップ７９０５の終了後、ステップ７９０３から処理を繰り返す。ステップ７９０６の終了後、ステップ７９０１から処理を繰り返す。管理者端末７１が接続しているポート以外のポートを塞いだ場合は、管理者端末７１からネットワーク中継装置へのＩＣＭＰエコーリクエスト送受信処理が成功するが、管理者端末７１が接続しているポート塞いだ場合は管理者端末７１からネットワーク中継装置へのＩＣＭＰエコーリクエスト送受信処理の応答が返らないことを利用している。
【０１２１】
図８０は、オートディスカバリモジュール１１１３がＰＦテーブル１１２４の作成時に管理者端末以外の機器の接続ポートを検出する処理を示すフローチャートである。
オートディスカバリモジュール１１１３は、管理者端末７１以外の機器の接続ポート検出処理要求を待ち(ステップ８００１)、管理者端末７１以外の機器の接続ポート検出処理要求としてネットワーク中継装置のＩＰアドレス値と管理者端末７１が接続しているネットワーク中継装置上のポート番号を受信する(ステップ８００２)と、ＴＩテーブル１１２３の探索を開始し、未探索の機器があるかチェックする(ステップ８００３)。未探索の機器がある場合には、ＴＩテーブル１１２３のエントリのalive項目の値をpre_alive変数に設定し(ステップ８００４)、未探索の機器がない場合にはステップ８００１から処理を繰り返す。
【０１２２】
ステップ８００４の終了後、ＩＰアドレスで指定されたネットワーク中継装置の全ポートの探索が終了しているかどうかチェックする(ステップ８００５)。全ポートの探索が終了している場合はpre_alive変数が“１”(True)でかつalive[ポート番号]が“０”(False)となるポート番号が存在するかチェックする(ステップ８００８)。全ポートの探索が終了していない場合はifAdminStatusをキーに、値を“０”(False)と指定して図６４に示したSNMP Set-Requestメッセージ送受信処理を実行し、ＳＮＭＰ管理プロトコルを利用して該当するポートを塞ぎ(ステップ８００６)、ＩＰアドレスで指定されたネットワーク中継装置を指定して図６３に示したＩＣＭＰエコーリクエストの送受信処理を実行し、返り値が“１”(True)の場合はalive[ポート番号]変数に“１”を設定し、返り値が“０”(False)の場合はalive[ポート番号]変数に“０”を設定する(ステップ８００７)。ただしalive[ポート番号]の初期値は“０”(False)とする。
【０１２３】
ステップ８００７の終了後、ステップ８００５から処理を繰り返す。ステップ８００８の終了後、条件を満たすポートが見つからない場合は、管理者端末７１の接続ポート番号を返し(ステップ８００９)、条件を満たすポートが見つかった場合はalive[ポート番号]変数が“０”(False)となるポート番号を返す(ステップ８０１０)。ステップ８００９、ステップ８０１０の任意のステップ終了後、ステップ８００１から処理を繰り返す。
ネットワーク中継装置の特定のポートを塞ぐことで、任意の機器へのＩＣＭＰエコーリクエストの応答が受信できなくなる場合、該当するポートが接続ポートとなる。
【０１２４】
図８１は、オートディスカバリモジュール１１１３がＴＳテーブル１１２５を作成する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＰＦテーブル１１２４の作成要求を待ち(ステップ８１０１)、ＰＦテーブル１１２４の作成要求を受信すると(ステップ８１０２)、図８２に示すRoot装置決定処理を実行し、Root装置のＩＰアドレスをRoot変数に設定し、Unitsリスト変数の全項目を削除して初期化する(ステップ８１０３)。
次に、図８３に示すネットワーク中継装置間の接続の決定処理を実行する(ステップ８１０４)。次に、図１１４に示すネットワーク中継装置と端末装置の接続の決定処理を実行する(ステップ８１０５)。最後に、図１１５に示すインタフェースＭＩＢ評価処理を実行し(ステップ８１０６)、ステップ８１０１から処理を繰り返す。
【０１２５】
図８２は、オートディスカバリモジュール１１１３がＴＳテーブル１１２５の作成時にRoot装置を決定する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はRoot装置決定処理要求を待ち(ステップ８２０１)、Root装置決定処理要求を受信すると(ステップ８２０２)、ＴＩテーブル１１２３の探索を開始し、未探索の機器があるかチェックする(ステップ８２０３)。未探索の機器がない場合には、ステップ８２０１から処理を繰り返す。未探索の機器がある場合には、ＴＩテーブル１１２３の該当するエントリのtype項目の値がR(Routerを示す識別子)かチェックし(ステップ８２０４)、type項目の値がR以外の場合にはステップ８２０３から処理を繰り返す。type項目の値がRの場合にはRoot変数にルータのＩＰアドレスを追加する(ステップ８２０５)。最後に、図１０３示すＴＳテーブル１１２５に対するRootエントリ追加処理を実行する(ステップ８２０６)。ステップ８２０６の終了後、ステップ８２０１から処理を繰り返す。
【０１２６】
図８３は、オートディスカバリモジュール１１１３がＴＳテーブル１１２５の作成時にネットワーク中継装置間の接続を決定する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はネットワーク中継装置間の接続を決定処理要求を待ち(ステップ８３０１)、ネットワーク中継装置間の接続の決定処理要求を受信すると(ステップ８３０２)、Unitsリスト変数にＰＦテーブル１１２４の全エントリのSource IP Address項目の値の内で、Root変数と同一のものを除くすべての値を追加する(ステップ８３０３)。
次に、Unitsリスト変数の要素の中から任意の２つの要素の組合せの集合を選択し、未探索の組合せ(Unit1変数、Unit2変数に設定)があるかチェックする(ステップ８３０４)。未探索の組合せがある場合は図８４に示す接続モデルの決定処理を実行し(ステップ８３０５)、図１０２に示すＴＳテーブル１１２５に対するエントリの追加処理を実行(ステップ８３０６)した後でステップ８３０４から処理を繰り返す。接続モデルの決定処理では図２２〜図４５に示した形式でUnit1とUnit2に関する接続モデルを決定する。ＴＳテーブル１１２５に対するエントリの追加処理では、決定した接続モデルごと決まったフォーマットでＴＳテーブル１１２５にエントリを格納している。
ステップ８３０４で未探索の組合せがない場合は図１０７に示す親子関係の決定処理を実行し(ステップ８３０７)、ステップ８３０１から処理を繰り返す。親子関係の決定処理では、ＴＳテーブル１１２５に親子関係がある機器同士のエントリだけを抽出し、ＴＳテーブル１１２３の最終形を決定する。
【０１２７】
図８４はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の接続モデルの決定処理を示すフローチャートである。
オートディスカバリモジュール１１１３は接続モデルの決定処理要求を待ち(ステップ８４０１)、接続モデルの決定処理要求を受信すると(ステップ８４０２)、図８５に示す方法でＩＰアドレスがUnit1変数に等しい機器に関するネットワーク機器の分類処理を実行する(ステップ８４０３)。同様にして、図８５に示す方法でＩＰアドレスがUnit2変数に等しい機器に関するネットワーク機器の分類処理を実行する(ステップ８４０４)。ネットワーク機器の分類処理では図２１に示した分類を決定する。最後に接続検出条件チェック処理を実行(ステップ８４０５)後、ステップ８４０１から処理を繰り返す。接続検出条件チェック処理では図４６に示した接続検出条件のチェックを実行する。
【０１２８】
図８５は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のネットワーク機器の分類処理を示すフローチャートである。
オートディスカバリモジュール１１１３はネットワーク機器の分類処理要求を待ち(ステップ８５０１)、ネットワーク機器の分類処理要求を受信すると(ステップ８５０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がUnit1もしくは Unit2に等しく、Destination IP Address項目の値がRoot変数値に等しいエントリを検索する(ステップ８５０３)。
検索したエントリが存在するかチェックする(ステップ８５０４)。ステップ８５０４で検索したエントリが存在する場合、Unitsリスト変数に含まれるすべてネットワーク中継装置のエントリを順番にTarget変数に設定し、Target変数が未検索のものであるかどうかチェックする(ステップ８５０５)。
【０１２９】
ステップ８５０４で検索したエントリが存在しない場合は、ステップ８５０３でSource IP Address項目の値がUnit1に等しい場合はCategory1変数にSFを設定し、ステップ８５０３でSource IP Address項目の値がUnit2に等しい場合はCategory2変数にSFを設定する。ステップ８５０５でTarget変数が未検索の場合はＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がUnit1もしくはUnit2でDestination IP Address項目の値がTarget変数に等しいエントリを検索する(ステップ８５０６)。ステップ８５０５で未検索のTarget変数が存在しない場合はステップ８５０１から繰り返す。次に、ステップ８５０６の検索項目があるかチェックする(ステップ８５０７)。ステップ８５０７の検索項目がある場合は、ステップ８５０３でSource IP Address項目の値がUnit1に等しい場合はCategory1変数にCFを設定し、ステップ８５０３でSource IP Address項目の値がUnit2に等しい場合はCategory2変数にCFを設定する。ステップ８５０７の検索項目がない場合は、ステップ８５０３でSource IP Address項目の値がUnit1に等しい場合はCategory1変数にＩFを設定し、ステップ８５０３でSource IP Address項目の値がUnit2に等しい場合はCategory2変数にＩFを設定する（ステップ８５０９）。Unitsリスト変数に含まれるすべての機器への接続情報がある場合はCFが設定され、１台でも接続情報が含まれていない場合はIFが設定される。
【０１３０】
図８６はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の接続検出条件のチェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は接続検出条件のチェック処理要求を待ち(ステップ８６０１)、接続検出条件のチェック処理要求として、２台のネットワーク機器のIPアドレスを格納したUnit1変数、Unit2変数と２台のネットワーク機器の分類を格納したCategory1変数、Category2変数を受信すると(ステップ８６０２)、Category1変数がCFに等しく、Category2変数がCFに等しいかチェックする(ステップ８６０３)。
ステップ８６０３でCategory1変数がCFに等しく、Category2変数がCFに等しい場合は、図８７に示す集合(R, CF, CF)の接続検出条件チェック処理を実行し(ステップ８６０４)、ステップ８６０１から繰り返す。
ステップ８６０２でCategory1変数がCFに等しく、Category2変数がCFに等しいという条件を満たしていない場合は、Category1変数がCFに等しく、Category2変数がIFに等しい、もしくはCategory1変数がIFに等しく、Category2変数がCFに等しいかチェックする(ステップ８６０５)。ステップ８６０５でCategory1変数がCFに等しく、Category2変数がIFに等しい、もしくはCategory1変数がIFに等しく、Category2変数がCFに等しい場合は、図８８に示す集合(R, CF, IF)の接続検出条件チェック処理を実行し(ステップ８６０６)、ステップ８６０１から繰り返す。
【０１３１】
ステップ８６０５でCategory1変数がCFに等しく、Category2変数がIFに等しい、もしくはCategory1変数がIFに等しく、Category2変数がCFに等しいという条件を満たしていない場合は、Category1変数がCFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がCFに等しいかチェックする(ステップ８６０７)。ステップ８６０７でCategory1変数がCFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がCFに等しい場合は、図９１に示す集合(R, CF, SF)の接続検出条件チェック処理を実行し(ステップ８６０８)、ステップ８６０１から繰り返す。
ステップ８６０７でCategory1変数がCFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がCFに等しいという条件を満たしていない場合は、Category1変数がIFに等しく、Category2変数がIFに等しいかチェックする(ステップ８６０９)。ステップ８６０９でCategory1変数がIFに等しく、Category2変数がIFに等しい場合は、図９４に示す集合(R, IF, IF)の接続検出条件チェック処理を実行し(ステップ８６１０)、ステップ８６０１から繰り返す。ステップ８６０９でCategory1変数がIFに等しく、Category2変数がIFに等しいという条件を満たしていない場合は、Category1変数がIFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がIFに等しいかチェックする(ステップ８６１１)。
【０１３２】
ステップ８６１１でCategory1変数がIFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がIFに等しい場合は、図９６に示す集合(R, IF, SF)の接続検出条件チェック処理を実行し(ステップ８６１２)、ステップ８６０１から繰り返す。
ステップ８６１１でCategory1変数がIFに等しく、Category2変数がSFに等しい、もしくはCategory1変数がSFに等しく、Category2変数がIFに等しいという条件を満たしていない場合は、Category1変数がSFに等しく、Category2変数がSFに等しいかチェックする(ステップ８６１３)。ステップ８６１３でCategory1変数がSFに等しく、Category2変数がSFに等しい場合は、図１０１に示す集合(R, SF, SF)の接続検出条件チェック処理を実行し(ステップ８６１４)、ステップ８６０１から繰り返す。ステップ８６１３でCategory1変数がSFに等しく、Category2変数がSFに等しいという条件を満たしていない場合は、ステップ８６０１から繰り返す。
【０１３３】
図８７は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, CF, CF)の接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は集合(R, CF, CF)の接続条件チェック処理要求を待ち(ステップ８７０１)、集合(R, CF, CF)の接続条件チェック処理要求を受信すると(ステップ８７０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF1変数(Unit1変数と等しい)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をCF1R変数に設定する(ステップ８７０３)。
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF2変数(Unit2変数と等しい)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をCF2R変数に設定する(ステップ８７０４)。
また、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF1変数(Unit1変数と等しい)でDestination IP Address項目の値がCF2変数(Unit2変数と等しい)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCF1CF2変数に設定する(ステップ８７０５)。
【０１３４】
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF2変数(Unit2変数と等しい)でDestination IP Address項目の値がCF1変数(Unit1変数と等しい)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCF2CF1変数に設定する(ステップ８７０６)。CF1R変数の値とCF1CF2の値を比較し(ステップ８７０７)、CF1から見て、RとCF2が別ポートに接続しているかチェックする(CF2R変数とCF2CF1変数を比較することも可能)。
ステップ８７０７でCF1R変数の値とCF1CF2の値が等しい場合は、Paddr変数にCF2変数の値、Caddr変数にCF1変数の値、Pport変数にCF2CF1変数の値、Cport変数にCF1CF2変数の値、Model変数にR-CF-CFを設定し(ステップ８７０８)、ステップ８７０１から繰り返す。
ステップ８７０７でCF1R変数の値とCF1CF2の値が等しくない場合は、Paddr変数にCF1変数の値、Caddr変数にCF2変数の値、Pport変数にCF1CF2変数の値、Cport変数にCF2CF1変数の値、Model変数にR-CF-CFを設定し(ステップ８７０９)、ステップ８７０１から繰り返す。図４６のR-CF-CFモデルでは接続検出条件がないことから、図８７は図２２に示した方法で接続関係を検出する。
【０１３５】
図８８はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, CF, IF)の接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は集合(R, CF, IF)の接続条件チェック処理要求を待ち(ステップ８８０１)、集合(R, CF, IF)の接続条件チェック処理要求を受信すると(ステップ８８０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFR変数に設定する(ステップ８８０３)。
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でDestination IP Address項目の値がIF変数(Unit1変数とUnit2変数の内でIFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFIF変数に設定する(ステップ８８０４)。CFR変数の値とCFIF値を比較し(ステップ８８０５)、CFから見て、RとIFが別ポートに接続しているかチェックする。ステップ８８０５でCFR変数の値とCFIFの値が等しい場合は、Paddr変数にIF変数の値、Caddr変数にCF変数の値、Model変数にR-IF-CFを設定し、図８９に示すR-IF-CFモデルの接続検出条件チェック処理を実行し(ステップ８８０６)、ステップ８８０１から繰り返す。
ステップ８８０５でCFR変数の値とCFIFの値が等しくない場合は、Paddr変数にCF変数の値、Caddr変数にIF変数の値、Model変数にR-CF-IFを設定し、図９０に示すR-CF-IFモデルの接続検出条件チェック処理を実行し(ステップ８８０７)、ステップ８８０１から繰り返す。
【０１３６】
図８９はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-IF-CFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-IF-CFモデルの接続条件チェック処理要求を待ち(ステップ８９０１)、R-IF-CFモデルの接続条件チェック処理要求を受信すると(ステップ８９０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内で、図８８でCFと認識された機器)でDestination IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図８８でIFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFIF変数に設定する(ステップ８９０３)。
【０１３７】
同様にして、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でSource Port項目の値がCFIF変数と異なるエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget変数に設定する(ステップ８９０４)。ステップ８９０４のTarget変数を順番にすべて取得し、Target変数の値がNULL値に等しくないかチェックする(ステップ８９０５)。
ステップ８９０５でTarget変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図８８でIFと認識された機器)でDestination IP Address項目の値がTarget変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIFT変数に設定する(ステップ８９０６)。
ステップ８９０５でTarget変数がNULL値に等しい場合は、Pport変数にNULL値、Cport変数にNULL値を設定し(ステップ８９０９)、ステップ８９０１から繰り返す。
【０１３８】
ステップ８９０６で該当するエントリが存在し、IFT変数の値がNULLに等しくないかチェックし(ステップ８９０７)、ステップ８９０７でIFT変数の値がNULLに等しくない場合は、Pport変数にIFT変数の値、Cport変数にCFIF変数の値を設定し(ステップ８９０８)、ステップ８９０１から繰り返す。
ステップ８９０７でIFT変数の値がNULLに等しい場合は、ステップ８９０４から繰り返す。図４６および図４７のR-IF-CFモデルで示した接続検出条件に基づいて、図８９のフローでは図２８に示した方法で接続関係を検出する。
【０１３９】
図９０はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-CF-IFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-CF-IFモデルの接続条件チェック処理要求を待ち(ステップ９００１)、R-CF-IFモデルの接続条件チェック処理要求を受信すると(ステップ９００２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内で、図８８でCFと認識された機器)でDestination IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図８８でIFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFIF変数に設定する(ステップ９００３)。
【０１４０】
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内でIFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIFR変数に設定する(ステップ９００４)。
最後に、Pport変数にCFIF変数の値、Cport変数にIFR変数の値を設定し(ステップ９００５)、ステップ９００１から繰り返す。図４６及び図４７のR-CF-IFモデルでは接続検出条件がないことから、図９０のフローでは図２４に示した方法で接続関係を検出する。
【０１４１】
図９１はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, CF, SF)の接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は集合(R, CF, SF)の接続条件チェック処理要求を待ち(ステップ９１０１)、集合(R, CF, SF)の接続条件チェック処理要求を受信すると(ステップ９１０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFR変数に設定する(ステップ９１０３)。
【０１４２】
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でDestination IP Address項目の値がSF変数(Unit1変数とUnit2変数の内でSFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFSF変数に設定する(ステップ９１０４)。CFR変数の値とCFSF値を比較し(ステップ９１０５)、CFから見て、RとSFが別ポートに接続しているかチェックする。
ステップ９１０５でCFR変数の値とCFSFの値が等しい場合は、Paddr変数にSF変数の値、Caddr変数にCF変数の値、Model変数にR-SF-CFを設定し、図９２に示すR-SF-CFモデルの接続検出条件チェック処理を実行し(ステップ９１０６)、ステップ９１０１から繰り返す。
ステップ９１０５でCFR変数の値とCFSFの値が等しくない場合は、Paddr変数にCF変数の値、Caddr変数にSF変数の値、Model変数にR-CF-SFを設定し、図９３に示すR-CF-SFモデルの接続検出条件チェック処理を実行し(ステップ９１０７)、ステップ９１０１から繰り返す。
【０１４３】
図９２はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-SF-CFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-SF-CFモデルの接続条件チェック処理要求を待ち(ステップ９２０１)、R-SF-CFモデルの接続条件チェック処理要求を受信すると(ステップ９２０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内で、図９１でCFと認識された機器)でDestination IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９１でSFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFSF変数に設定する(ステップ９２０３)。
【０１４４】
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でSource Port項目の値がCFSF変数と異なるエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget変数に設定する(ステップ９２０４)。
ステップ９２０４のTarget変数を順番にすべて取得し、Target変数の値がNULL値に等しくないかチェックする(ステップ９２０５)。ステップ９２０５でTarget変数がNULL値に等しくない場合は、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９１でSFと認識された機器)でDestination IP Address項目の値がTarget変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT変数に設定する(ステップ９２０６)。
【０１４５】
ステップ９２０５でTarget変数がNULL値に等しい場合は、Pport変数にNULL値、Cport変数にNULL値を設定し(ステップ９２０９)、ステップ９２０１から繰り返す。ステップ９２０６で該当するエントリが存在し、SFT変数の値がNULLに等しくないかチェックし(ステップ９２０７)、ステップ９２０７でSFT変数の値がNULLに等しくない場合は、Pport変数にSFT変数の値、Cport変数にCFSF変数の値を設定し(ステップ９２０８)、ステップ９２０１から繰り返す。
ステップ９２０７でSFT変数の値がNULLに等しい場合は、ステップ９２０４から繰り返す。図４６及び図４７のR-SF-CFモデルで示した接続検出条件に基づいて、図９２では図３４に示した方法で接続関係を検出する。
【０１４６】
図９３はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-CF-SFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-CF-SFモデルの接続条件チェック処理要求を待ち(ステップ９３０１)、R-CF-SFモデルの接続条件チェック処理要求を受信すると(ステップ９３０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内で、図９１でCFと認識された機器)でDestination IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９１でSFと認識された機器)に等しいエントリを検索し、該当するエントリのSource Port項目の値をCFSF変数に設定する(ステップ９３０３)。
【０１４７】
同様にして、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がCF変数(Unit1変数とUnit2変数の内でCFと認識された機器)でSource Port項目の値がCFSF変数と異なるエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget変数に設定する(ステップ９３０４)。
ステップ９３０４のTarget変数を順番にすべて取得し、Target変数の値がNULL値に等しくないかチェックする(ステップ９３０５)。ステップ９３０５でTarget変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９１でSFと認識された機器)でDestination IP Address項目の値がTarget変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT変数に設定する(ステップ９３０６)。
【０１４８】
ステップ９３０５でTarget変数がNULL値に等しい場合は、Pport変数にNULL値、Cport変数にNULL値を設定し(ステップ９３０９)、ステップ９３０１から繰り返す。ステップ９３０６で該当するエントリが存在し、SFT変数の値がNULLに等しくないかチェックし(ステップ９３０７)、ステップ９３０７でSFT変数の値がNULLに等しくない場合は、Pport変数にCFSF変数の値、Cport変数にSFT変数の値を設定し(ステップ９３０８)、ステップ９３０１から繰り返す。
ステップ９３０７でSFT変数の値がNULLに等しい場合は、ステップ９３０４から繰り返す。図４６及び図４７のR-CF-SFモデルで示した接続検出条件に基づいて、図９３では図２６に示した方法で接続関係を検出する。
【０１４９】
図９４はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, IF, IF)の接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は集合(R, IF, IF)の接続条件チェック処理要求を待ち(ステップ９４０１)、集合(R, IF, IF)の接続条件チェック処理要求を受信すると(ステップ９４０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF1変数(Unit1変数もしくはUnit2変数のどちらか一方の機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIF1R変数に設定する(ステップ９４０３)。
【０１５０】
同様にして、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がIF2変数(Unit1変数もしくはUnit2変数の内でIF1とは異なる機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIF2R変数に設定する(ステップ９４０４)。
次に、図９５に示すR-IF-IFモデルの接続検出条件チェック処理を実行し(ステップ９４０５)、接続ポートを決定する(IF1IF2(IF2IF1))。
IF1IF2変数の値がNULLに等しくない条件とIF2IF1変数の値がNULLに等しくない条件を同時に満たすかどうかをチェックし(ステップ９４０６)、IF1とIF2の接続ポートが発見できたかチェックする。ステップ９４０６でIF1IF2変数の値がNULLに等しくなく、かつIF2IF1変数の値がNULLに等しくない場合は、Paddr変数にIF1変数の値、Caddr変数にIF2変数の値、Pport変数にIF1IF2の値、Cport変数にIF2R(IF2IF1)の値、Model変数にR-IF-IFを設定し(ステップ９４０７)、ステップ９４０１から繰り返す。
【０１５１】
ステップ９４０６でIF1IF2変数の値がNULLに等しい、またはIF2IF1変数の値がNULLに等しい場合は、IF1R変数の値とIF2R変数の値、IF1変数の値とIF2変数の値を入れ替えて、図９５に示すR-IF-IFモデルの接続検出条件チェック処理を実行し(ステップ９４０８)、接続ポートを決定する(IF1IF2(IF2IF1))。IF1IF2変数の値がNULLに等しくない条件とIF2IF1変数の値がNULLに等しくない条件を同時に満たすかどうかをチェックし(ステップ９４０９、IF1とIF2の接続ポートが発見できたかチェックする。ステップ９４０９でIF1IF2変数の値がNULLに等しくなく、かつIF2IF1変数の値がNULLに等しくない場合は、Paddr変数にIF1変数の値、Caddr変数にIF2変数の値、Pport変数にIF1IF2の値、Cport変数にIF2R(IF2IF1)の値、Model変数にR-IF-IFを設定し(ステップ９４１０)、ステップ９４０１から繰り返す。ただし、ステップ９４１０で設定するIF1変数とIF2変数の値はステップ９４０７で設定するIF1変数とIF2変数とは入れ替えた値である。ステップ９４０９でIF1IF2変数の値がNULLに等しい、またはIF2IF1変数の値がNULLに等しい場合はステップ９４０１から繰り返す。
【０１５２】
図９５はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-IF-IFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-IF-IFモデルの接続条件チェック処理要求を待ち(ステップ９５０１)、R-IF-IFモデルの接続条件チェック処理要求を受信すると(ステップ９５０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF1変数(Unit1変数とUnit2変数の内で、図９４でIF1と認識された機器)でSource Port項目の値がIF1R変数(図９４のIF1からRootへの接続ポート)に等しくないエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget1変数に設定する(ステップ９５０３)。
ステップ９５０３のTarget1変数を順番にすべて取得し、Target1変数の値がNULL値に等しくないかチェックする(ステップ９５０４)。ステップ９５０４でTarget1変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF2変数(Unit1変数とUnit2変数の内で、図９４でIF2と認識された機器)でDestination IP Address項目の値がTarget1変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIF2T1変数に設定する(ステップ９５０５)。
【０１５３】
ステップ９５０４でTarget1変数がNULL値に等しい場合は、IF1IF2変数にNULL値、IF2IF1変数にNULL値を設定し(ステップ９５１２)、ステップ９５０１から繰り返す。
【０１５４】
ステップ９５０５で該当するエントリが存在し、IF2T1変数の値がNULLに等しくない条件とIF2T1変数の値がIF2R変数の値に等しい条件を同時に満たすかどうかをチェックし(ステップ９５０６)、ステップ９５０６でIF2T1変数の値がNULLに等しくなく、かつIF2T1変数の値がIF2R変数の値に等しい場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF2変数(Unit1変数とUnit2変数の内で、図９４でIF2と認識された機器)でSource Port項目の値がIF2R変数(図９４のIF2からRootへの接続ポート)に等しくないエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget2変数に設定する(ステップ９５０７)。
ステップ９５０６でIF2T1変数の値がNULLに等しい、またはIF2T1変数の値がIF2R変数の値に等しくない場合は、ステップ９５０３から繰り返す。ステップ９５０７のTarget2変数を順番にすべて取得し、Target2変数の値がNULL値に等しくないかチェックする(ステップ９５０８)。
【０１５５】
ステップ９５０８でTarget2変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF1変数(Unit1変数とUnit2変数の内で、図９４でIF1と認識された機器)でDestination IP Address項目の値がTarget2変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIF1T2変数に設定する(ステップ９５０９)。
ステップ９５０８でTarget2変数がNULL値に等しい場合は、ステップ９５０３から繰り返す。ステップ９５０９で該当するエントリが存在し、IF1T2変数の値がNULLに等しくない条件とIF1T2変数の値がIF1R変数の値に等しくない条件を同時に満たすかどうかをチェックし(ステップ９５１０)、ステップ９５１０でIF1T2変数の値がNULLに等しくなく、かつIF1T2変数の値がIF1R変数の値に等しくない場合は、IF1IF2変数にIF1T2変数の値、IF2IF1変数にIF2T1変数の値を設定し(ステップ９５１１)、ステップ９５０１から繰り返す。ステップ９５１０でIF1T2変数の値がNULLに等しい、またはIF1T2変数の値がIF2R変数の値に等しい場合は、ステップ９５０７から繰り返す。
図４６及び図４７のR-IF-IFモデルで示した接続検出条件に基づいて、図９５では図３０に示した方法で接続関係を検出する。
【０１５６】
図９６はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, IF, SF)の接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３は集合(R, IF, SF)の接続条件チェック処理要求を待ち(ステップ９６０１)、集合(R, IF, SF)の接続条件チェック処理要求を受信すると(ステップ９６０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内でIFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIFR変数に設定する(ステップ９６０３)。
【０１５７】
図９７に示すR-SF-IFモデルの接続検出条件チェック処理を実行し(ステップ９６０４)、ステップ９６０４で設定されるPaddr変数の値がNULL値に等しいかチェックする(ステップ９６０５)。ステップ９６０５でPaddr変数の値がNULL値に等しい場合は、図９９に示すR-IF-SFモデルの接続検出条件チェック処理を実行し(ステップ９６０６)、ステップ９６０１から繰り返す。ステップ９６０５でPaddr変数の値がNULL値に等しくない場合は、ステップ９６０１から繰り返す。
【０１５８】
図９７及び図９８は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-SF-IFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-SF-IFモデルの接続条件チェック処理要求を待ち(ステップ９７０１)、R-SF-IFモデルの接続条件チェック処理要求を受信すると(ステップ９７０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIFR変数に設定する(ステップ９７０３)。
【０１５９】
同様にして、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でSource Port項目の値がIFR変数に等しいエントリを２つ検索し、該当するエントリのDestination IP Address項目の値をそれぞれTarget1変数、Target2変数、Source Port項目の値をIFT1変数、IFT2変数に設定する(ステップ９７０４)。
【０１６０】
ステップ９７０４のTarget1変数とTarget2変数の組合わせを順番にすべて取得し、Target1変数の値がNULL値に等しくなく、かつTarget2変数の値がNULL値に等しくないかチェックする(ステップ９７０５)。ステップ９７０５の条件を満たす場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget1変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT1変数に設定する。
同様に、ＰＦテーブル１１２４におけるすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget2変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT2変数に設定する(ステップ９７０６)。
ステップ９７０５の条件を満たさない場合は、Paddr変数にNULL値、Caddr変数にNULL値、Pport変数にNULL値、Cport変数にNULL値、Model変数にR-SF-IFを設定し(ステップ９７１３)、ステップ９７０１から繰り返す。
【０１６１】
ステップ９７０６で該当するエントリが存在し、SFT1変数の値がNULLに等しくなく、かつSFT2変数の値がNULLに等しくなく、かつSFT1変数の値がSFT2変数の値に等しくないかチェックし(ステップ９７０７)、ステップ９７０７の条件を満たす場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でSource Port項目の値がIFR変数(図９６のIFからRootへの接続ポート)に等しくなく、かつIFT1変数に等しくなく、IFT2変数に等しくないエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget3変数、Source Port項目の値をIFT3に設定する(ステップ９７０８)。
【０１６２】
ステップ９７０７の条件を満たさない場合は、ステップ９７０４から繰り返す。
ステップ９７０８のTarget3変数を順番にすべて取得し、Target3変数の値がNULL値に等しくないかチェックする(ステップ９７０９)。ステップ９７０９でTarget3変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget3変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT3変数に設定する(ステップ９７１０)。
【０１６３】
ステップ９７０９でTarget3変数がNULL値に等しい場合は、ステップ９７０４から繰り返す。ステップ９７１０で該当するエントリが存在するかチェックし(ステップ９７１１)、ステップ９７１１の条件を満たす場合は、Paddr変数にSF変数の値、Caddr変数にIF変数の値、Pport変数にSFT3変数の値、Cport変数にIFR変数の値(IFT1変数の値、IFT2変数の値)、Model = R-SF-IFを設定し(ステップ９７１２)、ステップ９７０１から繰り返す。
ステップ９７１１の条件を満たさない場合は、ステップ９７０８から繰り返す。図４６及び図４７のR-SF-IFモデルで示した接続検出条件に基づいて、図９７及び図９８では図３６に示した方法で接続関係を検出する。
【０１６４】
図９９及び図１００は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のR-IF-SFモデルの接続条件チェック処理を示すフローチャートである。
オートディスカバリモジュール１１１３はR-IF-SFモデルの接続条件チェック処理要求を待ち(ステップ９９０１)、R-IF-SFモデルの接続条件チェック処理要求を受信すると(ステップ９９０２)、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でDestination IP Address項目の値がRoot変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をIFR変数に設定する(ステップ９９０３)。
【０１６５】
同様にして、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でSource Port項目の値がIFR変数に等しくないエントリを２つ検索し、該当するエントリのDestination IP Address項目の値をそれぞれTarget1変数、Target2変数、Source Port項目の値をIFT1変数、IFT2変数に設定する(ステップ９９０４)。
【０１６６】
ステップ９９０４のTarget1変数とTarget2変数の組合わせを順番にすべて取得し、Target1変数の値がNULL値に等しくなく、かつTarget2変数の値がNULL値に等しくないかチェックする(ステップ９９０５)。
ステップ９９０５の条件を満たす場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget1変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT1変数に設定する。
【０１６７】
同様に、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget2変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT2変数に設定する(ステップ９９０６)。
【０１６８】
ステップ９９０５の条件を満たさない場合は、Paddr変数にNULL値、Caddr変数にNULL値、Pport変数にNULL値、Cport変数にNULL値、Model変数にR-IF-SFを設定し(ステップ９９１３)、ステップ９９０１から繰り返す。
ステップ９９０６で該当するエントリが存在し、SFT1変数の値がNULLに等しくなく、かつSFT2変数の値がNULLに等しくなく、かつSFT1変数の値がSFT2変数の値に等しいかチェックし(ステップ９９０７)、ステップ９９０７の条件を満たす場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がIF変数(Unit1変数とUnit2変数の内で、図９６でIFと認識された機器)でSource Port項目の値がIFR変数(図９６のIFからRootへの接続ポート)に等しくなく、かつIFT1変数に等しくなく、IFT2変数に等しくないエントリを検索し、該当するエントリのDestination IP Address項目の値をTarget3変数、Source Port項目の値をIFT3に設定する(ステップ９９０８)。ステップ９９０７の条件を満たさない場合は、ステップ９８０４から繰り返す。
【０１６９】
ステップ９９０８のTarget3変数を順番にすべて取得し、Target3変数の値がNULL値に等しくないかチェックする(ステップ９９０９)。ステップ９９０９でTarget3変数がNULL値に等しくない場合は、ＰＦテーブル１１２４のすべてのエントリの中からSource IP Address項目の値がSF変数(Unit1変数とUnit2変数の内で、図９６でSFと認識された機器)でDestination IP Address項目の値がTarget3変数に等しいエントリを検索し、該当するエントリのSource Port項目の値をSFT3変数に設定する(ステップ９９１０)。ステップ９９０９でTarget3変数がNULL値に等しい場合は、ステップ９９０４から繰り返す。
【０１７０】
ステップ９９１０で該当するエントリが存在し、SFT3変数の値がNULLに等しくなく、かつSFT3変数の値がSFT1変数の値に等しくなく、かつSFT3変数の値がSFT2変数の値に等しくないかチェックし(ステップ９９１１)、ステップ９９１１の条件を満たす場合は、Paddr変数にIF変数の値、Caddr変数にSF変数の値、Pport変数にIFT1変数の値(IFT1変数の値、IFT2変数の値)、Cport変数にSFT3変数の値、Model = R-IF-SFを設定し(ステップ９９１２)、ステップ９９０１から繰り返す。
ステップ９９１１の条件を満たさない場合は、ステップ９９０８から繰り返す。図４６及び図４７のR-IF-SFモデルで示した接続検出条件に基づいて、図９９及び図１００では図３２に示した方法で接続関係を検出する。
【０１７１】
図１０１は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の集合(R, SF, SF)の接続条件チェック処理を示すフローチャートである。オートディスカバリモジュール１１１３は集合(R, SF, SF)の接続条件チェック処理要求を待ち(ステップ１０１０１)、集合(R, SF, SF)の接続条件チェック処理要求を受信すると(ステップ１０１０２)、Paddr変数にNULL値、Caddr変数にNULL値、Pport変数にNULL値、Cport変数にNULL値、Model = R-SF-SFを設定し(ステップ１１００３)、ステップ１０１０１から繰り返す。図４６及び図４７のR-SF-SFモデルで任意の条件で接続検出が不可能であるため、図１０１では図３８に示したように接続関係の検出を中止する。
【０１７２】
図１０２はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のＴＳテーブルに対するエントリ追加処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＴＳテーブル１１２５に対するエントリ追加処理要求を待ち(ステップ１０２０１)、ＴＳテーブルに対するエントリ追加処理要求を受信すると(ステップ１０２０２)、Paddr変数がNULL値に等しく、かつCaddr変数がNULL値に等しく、かつPport変数がNULL値に等しく、かつCport変数がNULL値に等しいかチェックし(ステップ１０２０３)、ステップ１０２０３の条件を満たす場合は、図１０４に示す親子関係と接続関係が不明なネットワーク中継装置のエントリ追加処理を実行し(ステップ１０２０４)、ステップ１０２０１から繰り返す。
【０１７３】
ステップ１０２０３の条件を満たさない場合は、Model変数がR-SF-CFに等しい、もしくはR-SF-IFに等しいかチェックし(ステップ１０２０５)、ステップ１０２０５の条件を満たす場合は図１０５に示す親子関係だけが不明なネットワーク中継装置のエントリ追加処理を実行し(ステップ１０２０６)、ステップ１０２０１から繰り返す。
ステップ１０２０５の条件を満たさない場合は、図１０６に示す親子関係と接続関係が自明なネットワーク中継装置のエントリ追加処理を実行し(ステップ１０２０７)、ステップ１０２０１から繰り返す。
【０１７４】
図１０３はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のＴＳテーブル１１２５に対するRootエントリ追加処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＴＳテーブル１１２５に対するRootエントリ追加処理要求を待ち(ステップ１０３０１)、ＴＳテーブル１１２５に対するRootエントリ追加処理要求を受信すると(ステップ１０３０２)、ＡＴテーブル１１２２を利用してRoot変数のＩＰアドレスからＭａｃアドレスを解決し、Rphysaddr変数に設定する(ステップ１０３０３)。最後に、ＴＳテーブル１１２５に、Terminal IP Address項目がRoot変数の値、Terminal Mac Address項目がRphysaddr変数の値、Terminal Port項目がNULL値、ParenＴＩP Address項目がNULL値、Parent Mac Address項目がNULL値、Parent Port項目がNULL値のエントリを追加し(ステップ１０３０４)、ステップ１０３０１から繰り返す。
【０１７５】
図１０４はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の親子関係と接続関係が不明なネットワーク中継装置のエントリ追加処理を示すフローチャートである。
オートディスカバリモジュール１１１３は親子関係と接続関係が不明なネットワーク中継装置のエントリ追加処理要求を待ち(ステップ１０４０１)、親子関係と接続関係が不明なネットワーク中継装置のエントリ追加処理要求を受信すると(ステップ１０４０２)、ＡＴテーブル１１２２を利用してUnit1変数とUnit2変数(図８３(図１０２)のUnit1変数、Unit2変数)のＩＰアドレスからＭａｃアドレスを解決し、それぞれU1physaddr変数、U2physaddr変数に設定する(ステップ１０４０３)。最後に、ＴＳテーブル１１２５に、Terminal IP Address項目がUnit1変数の値、Terminal Mac Address項目がU1physaddr変数の値、Terminal Port項目がNULL値、Parent IP Address項目がNULL値、Parent Mac Address項目がNULL値、Parent Port項目がNULL値のエントリを追加し(ステップ１０４０４)、Terminal IP Address項目がUnit2変数の値、Terminal Mac Address項目がU2physaddr変数の値、Terminal Port項目がNULL値、Parent IP Address項目がNULL値、Parent Mac Address項目がNULL値、Parent Port項目がNULL値のエントリを追加し(ステップ１０４０５)、ステップ１０４０１から繰り返す。
【０１７６】
図１０５はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の親子関係だけが不明なネットワーク中継装置のエントリ追加処理を示すフローチャートである。
オートディスカバリモジュール１１１３は親子関係だけが不明なネットワーク中継装置のエントリ追加処理要求を待ち(ステップ１０５０１)、親子関係だけが不明なネットワーク中継装置のエントリ追加処理要求を受信すると(ステップ１０５０２)、ＡＴテーブル１１２２を利用してPaddr変数とCaddr変数(図８７〜図１００Paddr変数、Caddr変数)のＩＰアドレスからＭａｃアドレスを解決し、それぞれPphysaddr変数、Cphysaddr変数に設定する(ステップ１０５０３)。
最後にＴＳテーブル１１２５に、Terminal IP Address項目がPaddr変数の値、Terminal Mac Address項目がPphysaddr変数の値、Terminal Port項目がPport変数の値、Parent IP Address項目がCaddr変数の値、Parent Mac Address項目がCphysaddr変数の値、Parent Port項目がCport変数の値のエントリを追加し(ステップ１０５０４)、Terminal IP Address項目がCaddr変数の値、Terminal Mac Address項目がCphysaddr変数の値、Terminal Port項目がCport変数の値、ParenＴＩP Address項目がPaddr変数の値、Parent Mac Address項目がPphysaddr変数の値、Parent Port項目がPport変数の値のエントリを追加し(ステップ１０５０５)、ステップ１０５０１から繰り返す。
【０１７７】
図１０６はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の親子関係と接続関係が自明なネットワーク中継装置のエントリ追加処理を示すフローチャートである。
オートディスカバリモジュール１１１３は親子関係と接続関係が自明なネットワーク中継装置のエントリ追加処理要求を待ち(ステップ１０６０１)、親子関係と接続関係が自明なネットワーク中継装置のエントリ追加処理要求を受信すると(ステップ１０６０２)、ＡＴテーブル１１２２を利用してPaddr変数とCaddr変数(図８７〜図１００のPaddr変数、Caddr変数)のＩＰアドレスからＭａｃアドレスを解決し、それぞれPphysaddr変数、Cphysaddr変数に設定する(ステップ１０６０３)。
最後にＴＳテーブル１１２５に、Terminal IP Address項目がCaddr変数の値、Terminal Mac Address項目がCphysaddr変数の値、Terminal Port項目がCport変数の値、Parent IP Address項目がPaddr変数の値、Parent Mac Address項目がPphysaddr変数の値、Parent Port項目がPport変数の値のエントリを追加し(ステップ１０６０４)、ステップ１０６０１から繰り返す。
【０１７８】
図１０７及び図１０８は、オートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の親子関係の決定処理を示すフローチャートである。
オートディスカバリモジュール１１１３は親子関係の決定処理要求を待ち(ステップ１０７０１)、親子関係の決定処理要求を受信すると(ステップ１０７０２)、ＴＳテーブル１１２５のすべてのエントリの内で、Parent IP Address項目の値が共通であるエントリが２つ存在するかチェックし、２エントリ存在する場合は、Terminal IP Address項目の値をそれぞれChild1変数、Child2変数、Parent IP Address項目の値をParent変数に設定する。今度は、Parent IP Address項目の値がChild1変数の値に等しく、Terminal IP Address項目の値がParent変数の値に等しいエントリが存在し、かつParent IP Address項目の値がChild2変数の値に等しく、Terminal IP Address項目の値がParent変数の値に等しいエントリが存在するかチェックする(ステップ１０７０３)。
【０１７９】
ステップ１０７０３の条件を満たす場合は、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild1変数の値に等しく、かつParent IP Address項目の値がChild2変数に等しいエントリとTerminal IP Address項目の値がChild2変数の値に等しく、かつParent IP Address項目の値がChild1変数に等しいエントリが両方存在するかチェックする(ステップ１０７０４)。
【０１８０】
ステップ１０７０３の条件を満たさない場合は、図１１１に示す接続関係が不明なネットワーク中継装置の決定処理を実行し(ステップ１０７０８)、図１１２に示すRootとネットワーク中継装置の親子関係決定処理を実行し(ステップ１０７０９)、ステップ１０７０１から繰り返す。
ステップ１０７０４の条件を満たす場合は、図１０９に示す複数モデルの組合わせ処理を実行し(ステップ１０７０５)、ステップ１０７０３から繰り返す。
ステップ１０７０４の条件を満たさない場合は、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild1変数の値に等しく、かつParent IP Address項目の値がChild2変数に等しいエントリとTerminal IP Address項目の値がChild2変数の値に等しく、かつParent IP Address項目の値がChild1変数に等しいエントリのどちらか一方だけが存在するかチェックし(ステップ１０７０６)、ステップ１０７０６の条件を満たす場合は、図１１０に示すＴＳテーブルエントリ結合処理を実行し(ステップ１０７０７)、ステップ１０７０３から繰り返す。ステップ１０７０６の条件を満たさない場合は、ステップ１０７０３から繰り返す。
【０１８１】
図１０９はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の複数モデルの組合わせ処理を示すフローチャートである。
オートディスカバリモジュール１１１３は複数モデルの組合わせ処理要求を待ち(ステップ１０９０１)、複数モデルの組合わせ処理要求を受信すると(ステップ１０９０２)、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild1変数(図１０７のChild1変数)に等しく、かつParent IP Address項目の値がParent変数(図１０７のParent変数)に等しいエントリを検索し、該当するエントリのTerminal Port項目の値をC1Pport変数に設定し、Parent Port項目の値をPC1port変数に設定する(ステップ１０９０３)。
【０１８２】
同様にして、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild2変数(図１０７のChild2変数)に等しく、かつParent IP Address項目の値がParent変数(図１０７のParent変数)に等しいエントリを検索し、該当するエントリのTerminal Port項目の値をC2Pport変数に設定し、Parent Port項目の値をPC2port変数に設定する(ステップ１０９０４)。
【０１８３】
同様にして、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild1変数(図１０７のChild1変数)に等しく、かつParent IP Address項目の値がChild2変数(図１０７のChild2変数)に等しいエントリを検索し、該当するエントリのTerminal Port項目の値をC1C2port変数に設定し、Parent Port項目の値をC2C1port変数に設定する(ステップ１０９０５)。
次に、C1Pport変数の値とC1C2port変数の値が等しいかチェック(C2Pport変数の値とC2C1port変数を比較することも可能)し(ステップ１０９０６)、Child1から見て、ParentとChild2が等しいポートに接続しているかをチェックする。
ステップ１０９０６の条件を満たす場合は、ＴＳテーブル１１２５からTerminal IP AddressがChild2変数の値に等しく、Parent IP Address項目の値がChild1変数の値に等しいエントリを削除し(ステップ１０９０７)、ステップ１０９０１から繰り返す。
【０１８４】
ステップ１０９０６の条件を満たさない場合は、ＴＳテーブル１１２５からTerminal IP AddressがChild1変数の値に等しく、Parent IP Address項目の値がChild2変数の値に等しいエントリを削除し(ステップ１０９０８)、ステップ１０９０１から繰り返す。
図１０６のフローでは図５５で示した方法で親子関係が不明なエントリの親子関係を検出する(Child1とChild2が格納されている２つのエントリの内で不必要なエントリを削除する)。
【０１８５】
図１１０はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のＴＳテーブル１１２５の結合処理を示すフローチャートである。
オートディスカバリモジュール１１１３はＴＳテーブルの結合処理要求を待ち(ステップ１１００１)、ＴＳテーブルの結合処理要求を受信すると(ステップ１１００２)、ＴＳテーブル１１２５のすべてのエントリの内で、Terminal IP Address項目の値がChild1変数(図１０７のChild1変数)に等しく、かつParentIP Address項目の値がChild2変数(図１０７のChild2変数)に等しいエントリが存在するかチェックし(ステップ１１００３)、ステップ１１００３の条件を満たす場合には、ＴＳテーブル１１２５からTerminal IP AddressがChild1変数の値に等しく、Parent IP Address項目の値がParent変数(図１０７のParent変数)の値に等しいエントリを削除し(ステップ１１００４)、ステップ１１００１から繰り返す。
【０１８６】
ステップ１１００３の条件を満たさない場合には、ＴＳテーブル１１２５からTerminal IP AddressがChild2変数の値に等しく、Parent IP Address項目の値がParent変数(図１０７のParent変数)の値に等しいエントリを削除し(ステップ１１００５)、ステップ１１００１から繰り返す。
【０１８７】
図１１１はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時の接続関係が不明なネットワーク中継装置の決定処理を示すフローチャートである。
オートディスカバリモジュール１１１３は接続関係が不明なネットワーク中継装置の決定処理要求を待ち(ステップ１１１０１)、接続関係が不明なネットワーク中継装置の決定処理要求を受信すると(ステップ１１１０２)、Unitsリスト変数(図８３(図１０７)のUnitsリスト変数)のすべてのエントリを順番に取得し、Unit変数に項目の値を設定し、未探索のUnit変数があるかチェックする(ステップ１１１０３)。
ステップ１１１０３で未検索のUnit変数が存在する場合は、ＴＳテーブル１１２５からTerminal IP Address項目がUnit変数の値に等しいエントリを検索する(ステップ１１１０４)。
ステップ１１１０３で未検索のUnit変数が存在しない場合は、ステップ１１１０１から繰り返す。ステップ１１１０４で検索したエントリが存在するかチェックし(ステップ１１１０５)、ステップ１１１０５で該当するエントリが存在する場合は、Parent IP Address項目がNULL値に等しいエントリだけが存在しているのかをチェックする(ステップ１１１０７)。
【０１８８】
ステップ１１１０５で該当するエントリが存在しない場合は、Paddr変数、Caddr変数にUnit変数の値を設定し、図１０６に示した親子関係と接続関係が自明なネットワーク中継装置のエントリ追加処理を実行し(ステップ１１１０６)、ステップ１１１０３から繰り返す。
ステップ１１１０７でParent IP Address項目がNULL値に等しいエントリだけが存在する場合は、ステップ１１１０３から繰り返す。
ステップ１１１０７でParent IP Address項目がNULL値に等しいエントリだけが含まれている場合は、ＴＳテーブル１１２５からTerminal IP Address項目がUnit変数に等しいエントリを削除し(ステップ１１１０８)、ステップ１１１０３から繰り返す。
【０１８９】
図１１２はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のRootとネットワーク中継装置の親子関係決定処理を示すフローチャートである。
オートディスカバリモジュール１１１３はRootとネットワーク中継装置の親子関係決定処理要求を待ち(ステップ１１２０１)、Rootとネットワーク中継装置の親子関係決定処理要求を受信すると(ステップ１１２０２)、Unitsリスト変数(図８３(図１０７)のUnitsリスト変数)のすべてのエントリを順番に取得し、Unit変数に項目の値を設定し、未探索のUnit変数があるかチェックする(ステップ１１２０３)。
ステップ１１２０３で未検索のUnit変数が存在する場合は、ＴＳテーブル１１２５からTerminal IP Address項目がUnit変数の値に等しいエントリを検索する(ステップ１１２０４)。
【０１９０】
ステップ１１２０３で未検索のUnit変数が存在しない場合は、ステップ１１２０１から繰り返す。ステップ１１２０４で該当するエントリが存在する場合は、Parent IP Address項目がNULL値に等しいエントリだけが存在しているのかをチェックする(ステップ１１２０５)。ステップ１１２０５でParent IP Address項目がNULL値に等しいエントリだけが存在する場合は、図１１３に示すRootとネットワーク中継装置の接続ポート決定処理を実行し(ステップ１１２０６)、Cport変数とPport変数に値を設定する。最後に、ＴＳテーブル１１２５の該当するエントリのTerminal IP Address 項目にUnit変数の値、Parent IP Address項目にNULL値、Terminal Port項目にCport変数の値、Parent Port項目にPport変数の値を設定し、エントリを更新した後、ステップ１１２０３から繰り返す。
【０１９１】
図１１３はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のRootとネットワーク中継装置の接続ポート決定処理を示すフローチャートである。
【０１９２】
オートディスカバリモジュール１１１３はRootとネットワーク中継装置の接続ポート決定処理要求を待ち(ステップ１１３０１)、Rootとネットワーク中継装置の接続ポート決定処理要求を受信すると(ステップ１１３０２)、Unit変数(図１１２のUnit変数)を引数に図８５に示したネットワーク機器の分類処理を実行し(ステップ１１３０３)、Unit変数の機器の分類をCategory変数に設定する。次に、Category変数がSFに等しいかチェックし(ステップ１１３０４)、ステップ１１３０４のCategory変数の値がSFに等しい場合は、ＰＦテーブル１１２４からSource IP Address項目がUnit変数の値に等しく、Destination IP Address項目の値が探索中のネットワークセグメント外のＩＰアドレスに等しいエントリを検索し、該当するエントリのSource Port項目の値をCport変数に設定する(ステップ１１３０５)。
【０１９３】
ステップ１１３０４のCategory変数の値がSFに等しくない場合は、ＰＦテーブル１１２４からSource IP Address項目がUnit変数の値に等しく、Destination IP Address項目の値がRoot変数の値に等しいエントリを検索し、該当するエントリのSource Port項目の値をCport変数に設定する(ステップ１１３０６)。ステップ１１３０５、ステップ１１３０６のステップが終了後、ＰＦテーブル１１２４からSource IP Address項目がRoot変数の値に等しく、Destination IP Address項目がUnit変数の値(もしくは探索中のネットワークセグメントの任意のＩＰアドレス)に等しいエントリを検索し、該当するエントリのSource Port項目の値をPport変数に設定し、ステップ１１３０１から繰り返す。
図４６及び図４７のR-CFモデル、R-IFモデル、R-SFモデルで示した接続検出条件に基づいて、図１１３のフローでは図４０、図４２、図４４に示した方法で接続関係を検出する。
【０１９４】
図１１４はオートディスカバリモジュール１１１３によるＴＳテーブル１１２５の作成時のネットワーク中継装置と端末装置の接続の決定処理を示すフローチャートである。
オートディスカバリモジュール１１１３はネットワーク中継装置と端末装置の接続の決定処理要求を待ち(ステップ１１４０１)、ネットワーク中継装置と端末装置の接続の決定処理要求を受信すると(ステップ１１４０２)、Unitsリスト変数(図８３(図１０７)のUnitsリスト変数)のすべてのエントリを順番に取得し、Parent変数に項目の値を設定し、未探索のParent変数があるかチェックする(ステップ１１４０３)。
ステップ１１４０３で未検索のParent変数が存在する場合は、ＴＳテーブル１１２５からTerminal IP Address項目がParent変数の値に等しいエントリ、もしくはParent IP Address項目がParent変数の値に等しいエントリを検索し、Portsリスト変数に該当するエントリのTerminal Port項目の値(Terminal IP Address項目がParent変数の値に等しい場合)、もしくはParent Port項目の値(Parent IP Address項目がParent変数の値に等しい場合)をすべて追加する(ステップ１１４０４)。
【０１９５】
ステップ１１４０３で未検索のParent変数が存在しない場合は、ステップ１１４０１から繰り返す。ステップ１１４０４の終了後、ＰＦテーブル１１２４からSource IP Address項目がParent変数に等しく、Source Port項目がPortリスト変数に含まれるポート番号をに等しくないエントリを検索し、該当するエントリのDestination IP Address項目をChild変数、Destination Port項目の値をCport変数に設定する(ステップ１１４０５)。
【０１９６】
次に、ＡＴテーブル１１２２を利用してParent変数とChild変数のＩＰアドレスからＭａｃアドレスに変換し、それぞれPphysaddr変数、Cphysaddr変数に設定し(ステップ１１４０６)、ＴＳテーブル１１２５にTerminal IP Address項目がChild変数の値、Terminal Mac Address項目がCphysaddr変数の値、Terminal Port項目がCport変数の値、ParentIP Address項目がParent変数の値、Parent Mac Address項目がPphysaddr変数の値、Parent Port項目がPport変数の値のエントリを追加(すでに同一のエントリが存在する場合は何もしない)し(ステップ１１４０７)、ステップ１１４０３から繰り返す。
【０１９７】
図１１５はオートディスカバリモジュール１１１３がＴＳテーブル１１２５の作成時にインタフェースＭＩＢを評価する処理を示すフローチャートである。
オートディスカバリモジュール１１１３はインタフェースＭＩＢ評価処理要求を待ち(ステップ１１５０１)、インタフェースＭＩＢ評価処理要求としてRoot装置のＩＰアドレスの値(root変数に設定)を受信すると(ステップ１１５０２)、ＴＳテーブル１１２５のTerminal Port項目をキーに指定してTerminal Port項目がヌル値であるエントリを検索し、ヒットしたエントリのTerminal IP Address項目の値をTerminal変数、Parent IP Address項目の値をparent変数に設定し、Parent Port項目の値をPport変数に設定する(ステップ１１５０３)。
【０１９８】
次に、ＴＩテーブル１１２３のIP Address項目をキーに指定してTerminal変数に等しいエントリを検索し(ステップ１１５０４)、ヒットしたエントリのＭＩＢ2項目の値が“１"(True)かチェックする(ステップ１１５０５)。
ＭＩＢ2項目の値が“０”（False）の場合はステップ１１５０３から処理を繰り返す。ＭＩＢ2項目の値が“１”(True)の場合はＩＰアドレスがParent変数の機器でポート番号がPport変数に等しいポートに関して、オブジェクト名としてifInOctets(ifOutOctets)を指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行し、統計分布を取得してstatisticsP変数に設定する。
【０１９９】
同様に、ＩＰアドレスがTerminal変数の機器の全てのポート番号関して、オブジェクト名としてifOutOctets(ifInOctets)を指定し、図６４に示したフローでSNMP Get-Requestメッセージの送受信処理を実行し、統計分布を取得してstatisticsT[ポート番号]変数に設定する(ステップ１１５０６)。
ステップ１１５０６の終了後、statisticsP変数とstatisticsT[ポート番号]変数との間に有意な差がないポート番号が存在するかチェックし(ステップ１１５０７)、有意な差がないポート番号がない場合はステップ１１５０３から処理を繰り返す。ここで有意な差とは、例えば２つの値の差に一定の閾値を設けておき、２つの値の差が閾値を超えるような場合には２つの値は異なると判断することを意味する。有意な差がないポート番号がある場合はＴＳテーブル１１２５の該当するエントリのTerminal Port項目に該当するポート番号を設定してＴＳテーブル１１２５のエントリを更新する(ステップ１１５０８)。ステップ１１５０８の終了後、ステップ１１５０３から処理を繰り返す。
【０２００】
図１１６は、図面表示プログラム１１０４がネットワーク構成図面を表示する処理を示すフローチャートである。
図面表示プログラム１１０４は、ネットワーク構成図面表示要求を待ち(ステップ１１６０１)、ネットワーク構成図面表示要求を受信すると(ステップ１１６０２)、図６９に示したオートディスカバリモジュール１１１３のＡＴテーブル１１２２の作成要求処理を実行する(ステップ１１６０３)。
次に、図７０に示したオートディスカバリモジュール１１１３のＴＩテーブル１１２３の作成要求処理を実行する(ステップ１１６０４)。次に、図７３に示したオートディスカバリモジュール１１１３のＰＦテーブル１１２４の作成要求処理を実行する(ステップ１１６０５)。
次に、図８１に示したオートディスカバリモジュール１１１３のＴＳテーブル１１２５の作成要求処理を実行する(ステップ１１６０６)。最後に、図１１７に示す描画処理を実行し(ステップ１１６０７)、ステップ１１６０１から処理を繰り返す。
【０２０１】
図１１７および図１１８は、図面表示プログラム１１０４がネットワーク構成図面表示処理時に画面に描画する処理を示すフローチャートである。
図面表示プログラム１１０４は描画処理要求を待ち(ステップ１１７０１)、描画処理要求を受信すると(ステップ１１７０２)、ＴＳテーブル１１２５すべてのエントリの探索を開始し、ＴＳテーブル１１２５に未探索のエントリがあるかチェックし、未探索のエントリがない場合はステップ１１７０１から処理を繰り返し、未探索のエントリがある場合はParent変数に該当するエントリのParent IP Address項目の値を、Child変数にTerminal IP Address項目の値を設定する(ステップ１１７０３)。
次にParent変数の値がNULL値に等しいかどうかチェックし(ステップ１１７０４)、Parent変数の値がNULL値に等しい場合はユーザにChild変数の機器の接続関係が検出できないことを通知し(ステップ１１７０５)、ステップ１１７０３から繰り返す。
【０２０２】
Parent変数の値がNULL値に等しくない場合は、ＴＳテーブル１１２５のすべてのエントリの中でParent IP Address項目の値がChild変数に等しく、Terminal IP Address項目の値がParent変数の値に等しいエントリが存在するかチェックし、Pport変数にParent Port項目の値を設定する(ステップ１１７０６)。
該当するエントリが存在する場合はユーザにChild変数の機器の親子関係が検出できないことを通知し(ステップ１１７０７)、ステップ１１７０３から繰り返す。該当するエントリがない場合は、Parent変数とChild変数の値をキーに指定し、ＴＩテーブル１１２３のIP Address項目を検索し、ヒットしたエントリのparent変数に対するHost Name項目の値を画面上に描画する(ステップ１１７０８)。
ただし、Parentが既に描画されている場合やParent変数がヌル値の場合は未処理とする。
【０２０３】
ステップ１１７０８の終了後、図１１９に示すノンインテリジェントハブ予測処理を実行し(ステップ１１７０９)、Parent変数の機器とChild変数の機器の間にノンインテリジェントハブが稼動しているかチェックする(ステップ１１７０９)。
ノンインテリジェントハブ予測処理の返り値が“１”(True)の場合は、ノンインテリジェントハブをParent変数の機器の直下に描画し、ヒットしたエントリのChild変数の機器に対するHost Name項目の値をノンインテリジェントハブの直下に描画する(ステップ１１７１０)。ただし、ノンインテリジェントハブがParent変数の機器の直下に既に描画されている場合は未処理とする。
ノンインテリジェントハブ予測処理の返り値が“０”(False)の場合は、ヒットしたエントリのChild変数の機器に対するHost Name項目の値をParentの直下に描画する(ステップ１１７１１)。ステップ１１７１０、ステップ１１７１１の任意のステップが終了後、ステップ１１７０３から処理を繰り返す。
ノンインテリジェントハブ予測処理はノンインテリジェントハブが稼動していることを認識することを目的としており、ノンインテリジェントハブの階層構造や段数は予測できないため、可能な接続構成の中から実際の接続構成をＧＵＩ等によりユーザに選択させる処理を追加することも可能である。
【０２０４】
図１１９は、図面表示プログラム１１０４がネットワーク構成図面の描画時にノンインテリジェントハブを予測する処理を示すフローチャートである。
図面表示プログラム１１０４はノンインテリジェントハブの予測処理要求を待ち(ステップ１１９０１)、ノンインテリジェントハブの予測処理要求としてＴＳテーブル１１２５のParent IP Address項目の値(Parent変数に設定)とParent Port項目の値(Pport変数に設定)を受信すると(ステップ１１９０２)、Parent変数とPport変数をキーに指定してＴＳテーブル１１２５のParent IP Address項目とParent Port項目を検索し、ヒットするエントリがあるかチェックする(ステップ１１９０３)。
ヒットするエントリがある場合は、Count変数の値をインクリメント(Count変数の初期値は“０”)し(ステップ１１９０４)、ステップ１１９０３から処理を繰り返す。
ヒットするエントリがない場合は、Count変数が“１”より大きいかチェックし(ステップ１１９０５)、Count変数が“１”以下の場合はFalseを返し(ステップ１１９０６)、Count変数が“１”より大きい場合はTrueを返す(ステップ１１９０７)。
ステップ１１９０６、ステップ１１９０７の任意のステップ終了後、ステップ１１９０１から処理を繰り返す。
ノンインテリジェントハブ予測処理では1台のネットワーク中継装置の同一ポートに複数の機器が直接接続している場合にノンインテリジェントハブが存在すると予測する。
【０２０５】
図１２０は、図面表示プログラム１１０４がユーザイベントにより機器情報を表示する処理を示すフローチャートである。
図面表示プログラム１１０４は機器情報表示要求を待ち(ステップ１２００１)、ユーザがマウス等を利用してネットワーク構成図面上の機器の表示部分をクリックするといったユーザのマウスイベントによる機器情報表示要求を受信すると(ステップ１２００２)、ネットワーク構成図面上の機器の表示部分を反転表示するといったＧＵＩ表示を実行した後で、該当するホスト名を取得する(ステップ１２００３)。
取得したホスト名をキーに指定して、ＴＩテーブル１１２３のHost Name項目を検索し、ipaddress変数にエントリのIP Address項目の値を設定する(ステップ１２００４)。最後にipaddress変数をキーに指定して、ＡＴテーブル１１２２、ＴＩテーブル１１２３、ＴＳテーブル１１２５を検索し、取得したエントリの情報を機器情報表示部分に描画し(ステップ１２００５)、ステップ１２００１から処理を繰り返す。
【０２０６】
図１２１は、図面表示プログラム１１０４が接続先の変更を監視する処理を示すフローチャートである。
図面表示プログラム１１０４は接続先の変更を監視する処理要求を待ち(ステップ１２１０１)、接続先の変更を監視する処理要求を受信すると(ステップ１２１０２)、図１１６に示したネットワーク構成図面表示処理を実行し、検出したネットワーク構成を描画する(ステップ１２１０３)。
次にネットワーク構成を検出する際に作成したＴＳテーブルのデータをTS_NEWの領域に格納する(ステップ１２１０４)。
ここで、TS_NEWとTS_OLD(初期値はNULL値)を比較し、エントリ数が減少しているかチェックする(ステップ１２１０５)。ただしTS_OLDがNULL値に等しい場合は比較できないので無視する。TS_NEWはTS_OLDよりもエントリ数が減少した場合、ユーザに機器が停止、もしくは接続から外されたことを通知し(ステップ１２１０６)、ステップ１２１０１から繰り返す。
【０２０７】
TS_NEWはTS_OLDよりもエントリ数が減少していない場合は、TS_NEWとTS_OLDでエントリが置き変わったかチェックし(Terminal IP Address項目の値が等しいがParentIP AddressやParent Portが異なる場合)(ステップ１２１０７)、TS_NEWとTS_OLDでエントリが置き変わった場合はユーザに機器が移動したことを通知し(ステップ１２１０８)、ステップ１２１０１から繰り返す。
TS_NEWとTS_OLDでエントリが置き変わっていない場合は、TS_NEWはTS_OLDよりもエントリ数が増加しているかチェックする(ステップ１２１０９)。TS_NEWはTS_OLDよりもエントリ数が増加している場合はユーザに機器が新規に追加されたことを通知し(ステップ１２１１０)、ステップ１２１０１から繰り返す。
TS_NEWはTS_OLDよりもエントリ数が増加していない場合もステップ１２１０１から繰り返す。
【０２０８】
以上で説明した本発明の実施形態においては、ＳＮＭＰマネージャを実装した管理者端末からネットワークノード内の各ネットワーク機器に対してＩＣＭＰエコーリクエストを送信し、その応答によって稼動状態のネットワーク機器を検出し、その検出した各ネットワーク機器のＳＮＭＰエージェントに対し、当該ネットワーク機器内の管理情報ベースの格納情報の転送要求を送信し、返信された管理情報ベースの格納情報によってネットワークノード内に存在するネットワーク機器の種別を検出するようにしているため、ＳＮＭＰ以外の特別なソフトウェアの実装を必要とせず、またＳＮＭＰの実装の仕方に依存せずに、少なくとも１台の管理端末からネットワークノード内部の物理的な機器の種別を含む構成を自動的に検出することができる。
【０２０９】
また、機器種別がブリッジ機能を有するネットワーク機器の管理情報ベースから当該ネットワーク機器の各ポートに接続されたネットワーク機器の物理アドレスの集合を取得すると共に、ルーティング機能を有するネットワーク機器の管理情報ベースから物理アドレスとＩＰアドレスの対応情報を取得し、それらの取得した物理アドレスとＩＰアドレスの対応情報に基づき、ブリッジ機能を有するネットワーク機器の各ポートの接続先の機器をＩＰレベルで認識するようにしたため、ネットワーク機器の各ポートの接続関係をＩＰレベルで検出することができる。
【０２１０】
さらに、ＩＣＭＰエコーリクエストに対して応答が返信されたネットワーク機器は稼動中、応答が返信されないネットワーク機器は存在しないものと認識し、さらに物理アドレスとＩＰアドレスの対応情報を参照し、稼動中と認識したネットワーク機器以外の対応情報が存在する場合には当該ネットワーク機器は非稼動中であるものと認識するようにしたため、稼動状態のネットワーク機器のみでなく一時的に停止しているネットワーク機器も検出することができる。
【０２１１】
さらに、ブリッジ機能またはリピータ機能を有するネットワーク機器の管理情報ベースに当該ネットワーク機器の各ポートの接続先に存在する非稼動中のネットワーク機器の情報が格納されているか否かを調べ、格納されている場合は当該格納情報に基づき非稼動中のネットワーク機器の接続関係を検出するようにしたため、非稼動中のネットワーク機器の管理情報ベースの格納情報が取得できない場合であっても、その接続関係を検出することができる。
【０２１２】
また、ブリッジ機能を有するネットワーク機器が複数存在するか否かを検出し、複数の存在を検出した場合には、任意のブリッジ機能を有するネットワーク機器を親機器とし、該親機器の特定ポートの接続先に別のブリッジ機能を有するネットワーク機器が存在するか否かをさらに検出し、存在することを検出した場合には、該ネットワーク機器を子機器とし、その子機器の各ポートの接続先の機器構成を検索し、ブリッジ機能を有するネットワーク機器同士の接続関係をポート単位で認識するようにしたため、親子関係にある接続関係を検出することができる。
【０２１３】
また、子機器と接続している親機器のポートの接続先に存在するネットワーク機器の物理アドレスの集合と、子機器の全ポートから親機器へ接続しているポートを除くポートの接続先に存在するネットワーク機器の物理アドレスの集合の和集合の差分を求め、親機器と子機器の中間に存在しているネットワーク機器を認識するようにしたため、親子関係や兄弟関係にある接続関係を検出することができる。
【０２１４】
さらに、親機器と子機器の中間に複数の機器が存在することを認識した場合に、全機器がルーティング機能、ブリッジ機能、リピータ機能にいずれを保持しているか否かを検出し、いずれも保持していない場合にはノンインテリジェントなネットワーク中継装置が存在するものと予測するため、ノンインテリジェントなネットワーク中継装置の存在を検出することができる。
【０２１５】
さらに、接続関係を認識した前記親機器と子機器についてそれぞれのの管理情報ベース内に保持されている物理アドレスを調べ、親機器の管理情報ベース内に子機器の物理アドレスが保持されていない場合および子機器の管理情報ベース内に親機器の物理アドレスが存在しない場合は、親機器と子機器の特定のポートの接続先に存在する機器の物理アドレスの集合に共通で含まれるような任意の機器を選択し、その選択した機器に対する親機器や子機器の接続ポートを基に親機器と子機器の接続関係を絞り込んで認識するため、管理情報ベースのキャッシュ漏れ等の格納情報の不備に対しても対応することができる。
【０２１６】
また、リピータ機能を有するネットワーク機器の任意のポートにおける最新受信フレームの送信元物理アドレスの更新頻度の値を取得し、この値によって当該任意のポートの接続先に稼動している機器の数を認識し、さらに前記更新頻度の値が「０」または「１」以外の場合には当該任意のポートにおける最新受信フレームの送信元物理アドレスの値を所定時間間隔で取得し、当該任意のポートの接続先に存在する全てのネットワーク機器の物理アドレスを認識するようにしたため、リピータ機能を有するネットワーク機器の任意のポートに接続されているネットワーク機器の数とその物理アドレスを検出することができる。
【０２１７】
また、リピータ機能を有するネットワーク機器の任意のポートにおける最新受信フレームの送信元物理アドレスの更新頻度の値を所定時間間隔で取得し、この値が変化しているか否かによってリピータ機能を有するネットワーク機器がＲＦＣ仕様に準拠しているものか否かを検出することができる。
【０２１８】
また、ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の管理情報ベースの格納情報によって接続関係を認識できないネットワーク機器について、前記ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の任意のポートを一時的に閉塞し、閉塞前にはＩＣＭＰエコーリクエストパケットに対する応答があり、閉塞後には応答がなくなる機器である場合、その機器は当該任意のポートの接続先に存在するものとして認識することができる。
【０２１９】
さらに、ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器の管理情報ベースの格納情報によって接続関係を認識できないネットワーク機器について、前記ブリッジ機能を有するネットワーク機器およびリピータ機能を有するネットワーク機器のポート単位の送受信フレームの統計量を所定時間間隔で収集し、有意の差がないポートの組があれば、このポートの組を接続関係にあるポートとして認識することができる。
【０２２０】
また、稼動中のネットワーク機器の管理情報ベースの格納情報を所定時間間隔で収集し、管理者端末の記憶領域に保持し、前回の収集内容と今回の収集内容との相違があるか否かを比較し、稼動中のネットワーク機器の起動、停止、接続先の変更、ＩＰアドレスの変更等を検出することができる。
【０２２１】
さらに、ネットワーク機器同士の接続関係の情報により機器同士の接続関係のモデルを作成し、機器同士の接続関係のモデルごとに、または複数の機器同士の接続関係のモデルを組合せることによってネットワーク機器同士の接続関係を検出したり、検出条件を提示することができる。
【０２２２】
なお、上記実施形態は、現在におけるＳＮＭＰプロトコルに則って構成したものであるが、ＳＮＭＰプロトコルの更新に際しては、細部の構成を変更して実施できることは言うまでもない。
また、ネットワーク機器は有線回線で接続したものに限定されず、無線回線で接続されたものであってもよい。
【０２２３】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ＳＮＭＰを実装しているインテリジェントなネットワーク中継装置が稼動しているネットワーク環境において、ＳＮＭＰ以外の特別なソフトウェアの実装を必要とせず、またＳＮＭＰの実装の仕方に依存せずに、少なくとも１台の管理端末からネットワークノード内部の物理的な機器構成を自動的に検出することができる。
【０２２４】
また、ブリッジとブリッジの接続先の機器との間に存在するネットワーク機器の検出に限定されることなく、ネットワーク内の全ての機器の種別、接続関係等の構成を検出することができる。
【０２２５】
さらに、ハブ同士がカスケード接続されている場合やリピータの接続先に複数の端末が接続されている場合であっても、その接続関係を検出することができる。
【０２２６】
また、ＳＮＭＰプロトコルを実装していないノンインテリジェント機器であっても、その存在を予測することができるなどの効果が得られる。
【図面の簡単な説明】
【図１】本発明に係わるネットワーク構成自動認識方法で対象とするネットワークシステムの実施形態を示す図である。
【図２】本発明に係わるネットワーク構成自動認識方法で用いるＳＮＭＰメッセージフォーマットを示す図である。
【図３】本発明に係わるネットワーク構成自動認識方法で用いるインターネットＯＩＤツリーを示す図である。
【図４】本発明に係わるネットワーク構成自動認識方法で用いるＭＩＢオブジェクトの構成を示す図である。
【図５】本発明に係わるネットワーク構成自動認識方法で用いるsystemグループオブジェクトの構成を示す図である。
【図６】本発明に係わるネットワーク構成自動認識方法で用いるinterfacesグループオブジェクトの構成を示す図である。
【図７】本発明に係わるネットワーク構成自動認識方法で用いるipグループオブジェクトの構成を示す図である。
【図８】本発明に係わるネットワーク構成自動認識方法で用いるdot1dBridgeグループオブジェクトの構成を示す図である。
【図９】本発明に係わるネットワーク構成自動認識方法で用いるsnmpDot3RptrMgtグループオブジェクトの構成を示す図である。
【図１０】本発明に係わるネットワーク構成自動認識方法で用いるprintmibグループオブジェクトの構成を示す図である。
【図１１】本発明に係わるネットワーク構成自動認識方法を実現する管理者端末内のプログラム構成例を示す図である。
【図１２】本発明に係わるネットワーク構成自動認識方法で用いるＯＩＤテーブルの構成を示す図である。
【図１３】本発明に係わるネットワーク構成自動認識方法で用いるＡＴテーブルの構成を示す図である。
【図１４】本発明に係わるネットワーク構成自動認識方法で用いるTIテーブル１１２３の構成を示す図である。
【図１５】本発明に係わるネットワーク構成自動認識方法で用いるＰＦテーブル１１２４の構成を示す図である。
【図１６】本発明に係わるネットワーク構成自動認識方法で用いるＴＳテーブルの構成を示す図である。
【図１７】本発明に係わるネットワーク構成自動認識方法におけるＳＮＭＰメッセージ送受信の仕組を示す図である。
【図１８】本発明に係わるネットワーク構成自動認識方法における機器種別の検出方法を説明する図である。
【図１９】本発明に係わるネットワーク構成自動認識方法を考慮する場合のネットワーク中継装置間のRelation定義を示す図である。
【図２０】本発明に係わるネットワーク構成自動認識方法におけるinterfaces ＭＩＢを利用したネットワーク中継装置間の接続検出方法を示す図である。
【図２１】本発明に係わるネットワーク構成自動認識方法におけるネットワーク機器の分類方法を示す図である。
【図２２】本発明に係わるネットワーク構成自動認識方法におけるR-CF-CFモデルの接続検出の仕組を示す図である。
【図２３】本発明に係わるネットワーク構成自動認識方法におけるR-CF-CFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図２４】本発明に係わるネットワーク構成自動認識方法におけるR-CF-IFモデルの接続検出の仕組を示す図である。
【図２５】本発明に係わるネットワーク構成自動認識方法におけるR-CF-IFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図２６】本発明に係わるネットワーク構成自動認識方法におけるR-CF-SFモデルの接続検出の仕組を示す図である。
【図２７】本発明に係わるネットワーク構成自動認識方法におけるR-CF-SFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図２８】本発明に係わるネットワーク構成自動認識方法におけるR-IF-CFモデルの接続検出の仕組を示す図である。
【図２９】本発明に係わるネットワーク構成自動認識方法におけるR-IF-CFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図３０】本発明に係わるネットワーク構成自動認識方法におけるR-IF-IFモデルの接続検出の仕組を示す図である。
【図３１】本発明に係わるネットワーク構成自動認識方法におけるR-IF-IFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図３２】本発明に係わるネットワーク構成自動認識方法におけるR-IF-SFモデルの接続検出の仕組を示す図である。
【図３３】本発明に係わるネットワーク構成自動認識方法におけるR-IF-SFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図３４】本発明に係わるネットワーク構成自動認識方法におけるR-SF-CFモデルの接続検出の仕組を示す図である。
【図３５】本発明に係わるネットワーク構成自動認識方法におけるR-SF-CFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図３６】本発明に係わるネットワーク構成自動認識方法におけるR-SF-IFモデルの接続検出の仕組を示す図である。
【図３７】本発明に係わるネットワーク構成自動認識方法におけるR-SF-IFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図３８】本発明に係わるネットワーク構成自動認識方法におけるR-SF-SFモデルの接続検出の仕組を示す図である。
【図３９】本発明に係わるネットワーク構成自動認識方法におけるR-SF-SFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図４０】本発明に係わるネットワーク構成自動認識方法におけるR-CFモデルの接続検出の仕組を示す図である。
【図４１】本発明に係わるネットワーク構成自動認識方法におけるR-CFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図４２】本発明に係わるネットワーク構成自動認識方法におけるR-IFモデルの接続検出の仕組を示す図である。
【図４３】本発明に係わるネットワーク構成自動認識方法におけるR-IFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図４４】本発明に係わるネットワーク構成自動認識方法におけるR-SFモデルの接続検出の仕組を示す図である。
【図４５】本発明に係わるネットワーク構成自動認識方法におけるR-SFモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図４６】本発明に係わるネットワーク構成自動認識方法におけるネットワーク中継装置同士の接続検出方法を説明する図である。
【図４７】図４６の続きを示す図である。
【図４８】本発明に係わるネットワーク構成自動認識方法におけるCF-Termモデルの接続検出の仕組を示す図である。
【図４９】本発明に係わるネットワーク構成自動認識方法におけるCF-Termモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図５０】本発明に係わるネットワーク構成自動認識方法におけるIF-Termモデルの接続検出の仕組を示す図である。
【図５１】本発明に係わるネットワーク構成自動認識方法におけるIF-Termモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図５２】本発明に係わるネットワーク構成自動認識方法におけるSF-Termモデルの接続検出の仕組を示す図である。
【図５３】本発明に係わるネットワーク構成自動認識方法におけるSF-Termモデルの接続検出に利用するＰＦテーブルのエントリ例を示す図である。
【図５４】本発明に係わるネットワーク構成自動認識方法におけるネットワーク中継装置と端末装置の接続検出方法を説明する図である。
【図５５】本発明に係わるネットワーク構成自動認識方法における複数のモデルを組合わせることによる親子関係の検出方法を説明する図である。
【図５６】本発明に係わるネットワーク構成自動認識方法における複数のモデルを組合わせることによる親子関係の検出に利用するＴＳテーブルのエントリ例を示す図である。
【図５７】本発明に係わるネットワーク構成自動認識方法におけるNon Intelligent Hubの接続の予測方法を示す図である。
【図５８】本発明に係わるネットワーク構成自動認識方法におけるNon Intelligent Hubの接続の予測に利用するＴＳテーブルのエントリ例を示す図である。
【図５９】本発明に係わるネットワーク構成自動認識方法における非稼動中端末装置の検出方法を示す図である。
【図６０】本発明に係わるネットワーク構成自動認識方法における接続先の変更の検出方法を示す図である。
【図６１】本発明に係わるネットワーク構成自動認識方法における接続先の変更の検出に利用するＴＳテーブルのエントリ例を示す図である。
【図６２】本発明に係わるネットワーク構成自動認識方法におけるネットワーク構成図面表示例を示す図である。
【図６３】本発明に係わるネットワーク構成自動認識方法における稼動状況検出モジュールがＩＣＭＰエコーリクエストを送受信する処理を示すフローチャートである。
【図６４】本発明に係わるネットワーク構成自動認識方法におけるＭＩＢアクセスモジュールがＰＤＵを作成し、ＳＮＭＰメッセージを送受信する処理を示すフローチャートである。
【図６５】本発明に係わるネットワーク構成自動認識方法におけるＭＩＢアクセスモジュールが機器のＭＩＢ２サポート状況をチェックする処理ＩＰフォワーディング機能の有無をチェックする処理を示すフローチャートである。
【図６６】本発明に係わるネットワーク構成自動認識方法におけるＭＩＢアクセスモジュールが機器のブリッジＭＩＢサポート状況をチェックする処理を示すフローチャートである。
【図６７】本発明に係わるネットワーク構成自動認識方法におけるＭＩＢアクセスモジュールが機器のリピータＭＩＢサポート状況をチェックする処理を示すフローチャートである。
【図６８】本発明に係わるネットワーク構成自動認識方法におけるＭＩＢアクセスモジュールが機器のプリンタＭＩＢサポート状況をチェックする処理を示すフローチャートである。
【図６９】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＡＴテーブルを作成する処理を示すフローチャートである。
【図７０】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＩテーブルを作成する処理を示すフローチャートである。
【図７１】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＩテーブル作成時にＴＩテーブルの各項目の値を取得する処理を示すフローチャートである。
【図７２】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＩテーブル作成時に機器タイプを認識する処理を示すフローチャートである。
【図７３】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブルを作成する処理を示すフローチャートである。
【図７４】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時にブリッジＭＩＢサポート機器に対して実行する処理を示すフローチャートである。
【図７５】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時にリピータＭＩＢサポート機器に対して実行する処理を示すフローチャートである。
【図７６】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時にフォワーディング情報を学習する処理を示すフローチャートである。
【図７７】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時にフォワーディング情報を予測する処理を示すフローチャートである。
【図７８】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時にＭＩＢ2(interfaces ＭＩＢ)サポート機器に対して実行する処理を示すフローチャートである。
【図７９】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時に管理者端末の接続ポートを検出する処理を示すフローチャートである。
【図８０】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＰＦテーブル作成時に管理者端末以外の機器の接続ポートを検出する処理を示すフローチャートである。
【図８１】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブルを作成する処理を示すフローチャートである。
【図８２】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にRoot装置を決定する処理を示すフローチャートである。
【図８３】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にネットワーク中継装置間の接続を決定する処理を示すフローチャートである。
【図８４】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に接続モデルを決定する処理を示すフローチャートである。
【図８５】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にネットワーク機器を分類する処理を示すフローチャートである。
【図８６】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に接続検出条件をチェックする処理を示すフローチャートである。
【図８７】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, CF, CF)の接続検出条件をチェックする処理を示すフローチャートである。
【図８８】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, CF, IF)の接続検出条件をチェックする処理を示すフローチャートである。
【図８９】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-IF-CFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９０】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-CF-IFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９１】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, CF, SF)の接続検出条件をチェックする処理を示すフローチャートである。
【図９２】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-SF-CFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９３】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-CF-SFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９４】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, IF, IF)の接続検出条件をチェックする処理を示すフローチャートである。
【図９５】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-IF-IFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９６】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, IF, SF)の接続検出条件をチェックする処理を示すフローチャートである。
【図９７】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-SF-IFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図９８】図９７の続きを示すフローチャートである。
【図９９】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にR-IF-SFモデルの接続検出条件をチェックする処理を示すフローチャートである。
【図１００】図９９の続きを示すフローチャートである。
【図１０１】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に集合(R, SF, SF)の接続検出条件をチェックする処理を示すフローチャートである。
【図１０２】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にＴＳテーブルに対するエントリを追加する処理を示すフローチャートである。
【図１０３】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にＴＳテーブルに対するRootエントリを追加する処理を示すフローチャートである。
【図１０４】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に親子関係と接続関係が不明なネットワーク中継装置を追加する処理を示すフローチャートである。
【図１０５】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に親子関係だけが不明なネットワーク中継装置を追加する処理を示すフローチャートである。
【図１０６】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に親子関係と接続関係が自明なネットワーク中継装置を追加する処理を示すフローチャートである。
【図１０７】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に親子関係を決定する処理を示すフローチャートである。
【図１０８】図１０７の続きを示すフローチャートである。
【図１０９】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に複数モデルを組合わせる処理を示すフローチャートである。
【図１１０】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にＴＳテーブルのエントリを結合する処理を示すフローチャートである。
【図１１１】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時に接続関係が不明なネットワーク中継装置を決定する処理を示すフローチャートである。
【図１１２】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にRootとネットワーク中継装置の親子関係を決定する処理を示すフローチャートである。
【図１１３】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にRootとネットワーク中継装置の接続ポートを決定する処理を示すフローチャートである。
【図１１４】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にネットワーク中継装置と端末装置の接続を決定する処理を示すフローチャートである。
【図１１５】本発明に係わるネットワーク構成自動認識方法におけるオートディスカバリモジュールがＴＳテーブル作成時にインタフェースＭＩＢを評価する処理を示すフローチャートである。
【図１１６】本発明に係わるネットワーク構成自動認識方法における図面表示プログラムがネットワーク構成図面を表示する処理を示すフローチャートである。
【図１１７】本発明に係わるネットワーク構成自動認識方法における図面表示プログラムがネットワーク構成図面表示処理時に画面に描画する処理を示すフローチャートである。
【図１１８】図１１７の続きを示すフローチャートである。
【図１１９】本発明に係わるネットワーク構成自動認識方法における図面表示プログラムがネットワーク構成図面の描画時にノンインテリジェントハブを予測する処理を示すフローチャートである。
【図１２０】本発明に係わるネットワーク構成自動認識方法における図面表示プログラムがユーザイベントにより機器情報を表示する処理を示すフローチャートである。
【図１２１】本発明に係わるネットワーク構成自動認識方法における図面表示プログラムが接続先変更の監視する処理を示すフローチャートである。
【符号の説明】
１…バックボーンネットワークケーブル(Ethernet LAN)、２ａ，２ｂ…ルータ、３…スイッチングハブ、４…ブリッジ、５…インテリジェントハブ、６…ノンインテリジェントハブ、７１…管理者端末、７２〜７８…端末装置、１１０２…通信ポート、１１０３…ネットワーク構成自動認識サービスプログラム、１１０４…図面表示プログラム、１１１１…稼動状況検出モジュール、１１１２…ＭＩＢアクセスモジュール、１１１３…オートディスカバリモジュール、１１２１…ＯＩＤテーブル、１１２２…ＡＴテーブル、１１２３…ＴＩテーブル、１１２４…ＰＦテーブル、１１２５…ＴＳテーブル。
【図１】
0003696023.tif 000002
【図２】
0003696023.tif 000003
【図３】
0003696023.tif 000004
【図４】
0003696023.tif 000005
【図５】
0003696023.tif 000006
【図６】
0003696023.tif 000007
【図７】
0003696023.tif 000008
【図８】
0003696023.tif 000009
【図９】
0003696023.tif 000010
【図１０】
0003696023.tif 000011
【図１１】
0003696023.tif 000012
【図１２】
0003696023.tif 000013
【図１３】
0003696023.tif 000014
【図１４】
0003696023.tif 000015
【図１５】
0003696023.tif 000016
【図１６】
0003696023.tif 000017
【図１７】
0003696023.tif 000018
【図１８】
0003696023.tif 000019
【図１９】
0003696023.tif 000020
【図２０】
0003696023.tif 000021
【図２１】
0003696023.tif 000022
【図２２】
0003696023.tif 000023
【図２３】
0003696023.tif 000024
【図２４】
0003696023.tif 000025
【図２５】
0003696023.tif 000026
【図２６】
0003696023.tif 000027
【図２７】
0003696023.tif 000028
【図２８】
0003696023.tif 000029
【図２９】
0003696023.tif 000030
【図３０】
0003696023.tif 000031
【図３１】
0003696023.tif 000032
【図３２】
0003696023.tif 000033
【図３３】
0003696023.tif 000034
【図３４】
0003696023.tif 000035
【図３５】
0003696023.tif 000036
【図３６】
0003696023.tif 000037
【図３７】
0003696023.tif 000038
【図３８】
0003696023.tif 000039
【図３９】
0003696023.tif 000040
【図４０】
0003696023.tif 000041
【図４１】
0003696023.tif 000042
【図４２】
0003696023.tif 000043
【図４３】
0003696023.tif 000044
【図４４】
0003696023.tif 000045
【図４５】
0003696023.tif 000046
【図４６】
0003696023.tif 000047
【図４７】
0003696023.tif 000048
【図４８】
0003696023.tif 000049
【図４９】
0003696023.tif 000050
【図５０】
0003696023.tif 000051
【図５１】
0003696023.tif 000052
【図５２】
0003696023.tif 000053
【図５３】
0003696023.tif 000054
【図５４】
0003696023.tif 000055
【図５５】
0003696023.tif 000056
【図５６】
0003696023.tif 000057
【図５７】
0003696023.tif 000058
【図５８】
0003696023.tif 000059
【図５９】
0003696023.tif 000060
【図６０】
0003696023.tif 000061
【図６１】
0003696023.tif 000062
【図６２】
0003696023.tif 000063
【図６３】
0003696023.tif 000064
【図６４】
0003696023.tif 000065
【図６５】
0003696023.tif 000066
【図６６】
0003696023.tif 000067
【図６７】
0003696023.tif 000068
【図６８】
0003696023.tif 000069
【図６９】
0003696023.tif 000070
【図７０】
0003696023.tif 000071
【図７１】
0003696023.tif 000072
【図７２】
0003696023.tif 000073
【図７３】
0003696023.tif 000074
【図７４】
0003696023.tif 000075
【図７５】
0003696023.tif 000076
【図７６】
0003696023.tif 000077
【図７７】
0003696023.tif 000078
【図７８】
0003696023.tif 000079
【図７９】
0003696023.tif 000080
【図８０】
0003696023.tif 000081
【図８１】
0003696023.tif 000082
【図８２】
0003696023.tif 000083
【図８３】
0003696023.tif 000084
【図８４】
0003696023.tif 000085
【図８５】
0003696023.tif 000086
【図８６】
0003696023.tif 000087
【図８７】
0003696023.tif 000088
【図８８】
0003696023.tif 000089
【図８９】
0003696023.tif 000090
【図９０】
0003696023.tif 000091
【図９１】
0003696023.tif 000092
【図９２】
0003696023.tif 000093
【図９３】
0003696023.tif 000094
【図９４】
0003696023.tif 000095
【図９５】
0003696023.tif 000096
【図９６】
0003696023.tif 000097
【図９７】
0003696023.tif 000098
【図９８】
0003696023.tif 000099
【図９９】
0003696023.tif 000100
【図１００】
0003696023.tif 000101
【図１０１】
0003696023.tif 000102
【図１０２】
0003696023.tif 000103
【図１０３】
0003696023.tif 000104
【図１０４】
0003696023.tif 000105
【図１０５】
0003696023.tif 000106
【図１０６】
0003696023.tif 000107
【図１０７】
0003696023.tif 000108
【図１０８】
0003696023.tif 000109
【図１０９】
0003696023.tif 000110
【図１１０】
0003696023.tif 000111
【図１１１】
0003696023.tif 000112
【図１１２】
0003696023.tif 000113
【図１１３】
0003696023.tif 000114
【図１１４】
0003696023.tif 000115
【図１１５】
0003696023.tif 000116
【図１１６】
0003696023.tif 000117
【図１１７】
0003696023.tif 000118
【図１１８】
0003696023.tif 000119
【図１１９】
0003696023.tif 000120
【図１２０】
0003696023.tif 000121
【図１２１】
0003696023.tif 000122