(57)【要約】【課題】実際のネットワーク構成の変更に応じたネットワーク構成情報の更新に要する時間を抑える。【解決手段】情報処理装置は、木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理を行う通信装置と、通信装置を用いて複数のノードのそれぞれから稼働時間を取得する処理と、或るノードの稼働時間が閾値未満であるときに、或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣアドレスの登録数を示す情報を用いて部分木の階層構成を生成する処理と、部分木の階層構成を用いて記憶装置に記憶されたネットワークの構成情報を更新する更新処理とを行う制御装置とを含む。【選択図】図３
2015037243.tif 000002
【特許請求の範囲】
【請求項１】
木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理を行う通信装置と、
前記ネットワークの構成情報を記憶した記憶装置と、
前記通信装置を用いて前記複数のノードのそれぞれから稼働時間を取得する処理と、或るノードの稼働時間が閾値未満であるときに、前記或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣ（Media Access Control）アドレスの登録数を示す情報を用いて前記部分木の階層構成を生成する処理と、生成した前記部分木の階層構成を用いて前記ネットワークの構成情報を更新する更新処理と、を行う制御装置と、
を含む情報処理装置。
【請求項２】
前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置は、前記或るノードを含む部分木の頂点ノードに対して、当該頂点ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記頂点ノードに与える処理を行い、前記頂点ノードの前記到達確認メッセージの送信によって前記部分木を形成するノードが前記或るノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
請求項１に記載の情報処理装置。
【請求項３】
前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが再起動を実施した前記ネットワークに既存のノードであると考えられる場合に、前記制御装置は、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから前記或るノードの下位ノードに該当する１以上のノードへ到達確認メッセージを送信する送信指示を前記或るノードに与える、又は、前記１以上のノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記１以上のノードに与える処理を行い、前記或るノード又は前記１以上のノードの到達確認メッセージの送信によって、前記或るノードが前記１以上のノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御装置は、ノードの削除指示を得た場合に、前記ネットワークの構成情報を用いて、削除指示に対応するノードの下位ノードを検出し、前記削除指示に対応するノード及び検出された下位ノードを前記ネットワークの構成情報から削除する
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記通信装置は、前記ネットワークに存在するノードのそれぞれから自発的に送信される、前記複数のノードのそれぞれの稼働時間を受信し、
前記制御装置は、受信された稼働時間が閾値未満か否かを判定する
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記制御装置は、前記階層構成を生成する際に、前記部分木を形成するノードが、下位ポートに係るＭＡＣアドレスの登録数が多い順で頂点から並べられたときの階層を、前記部分木における各ノードの階層として決定する
請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御装置が、到達確認メッセージの宛先に該当するノードのＩＰアドレスを前記送信指示に含めるために、前記記憶装置は、前記複数のノードのＩＰ（Internet Protocol
）アドレスを記憶しており、
前記制御装置は、前記ネットワークにおける或るノードから新たなノードへの交換に従って前記或るノードの削除指示と前記新たなノードの追加指示とを得たときに、前記新たなノードのＩＰアドレスと前記或るノードのＩＰアドレスとが同一であるときには、前記或るノードの下位ノードを検出する処理を回避する
請求項４から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置は、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから少なくとも前記部分木において前記頂点ノードと前記或るノードとの間にある各ノードへ到達確認メッセージを送信する送信指示を前記或るノードに送信する処理、又は前記部分木において前記頂点ノードと前記或るノードとの間にある各ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記各ノードへ送信する処理を行う
請求項２から７のいずれか１項に記載の情報処理装置。
【請求項９】
情報処理装置の制御装置が、
木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理によって前記複数のノードのそれぞれから稼働時間を取得し、
或るノードの稼働時間が閾値未満であるときに、前記或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣ（Media Access Control）アドレスの登録数を示す情報を用いて前記部分木の階層構成を生成し、
生成した前記部分木の階層構成を用いて、記憶装置に記憶されたネットワークの構成情報を更新する
ことを含む情報処理装置のネットワーク構成情報の生成方法。
【請求項１０】
前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置が、前記或るノードを含む部分木の頂点ノードに対して、当該頂点ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記頂点ノードに与える処理を行い、前記頂点ノードの前記到達確認メッセージの送信によって前記部分木を形成するノードが前記或るノードのＭＡＣアドレスを学習し、
前記制御装置が、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
請求項９に記載の情報処理装置のネットワーク構成情報の生成方法。
【請求項１１】
前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが再起動を実施した前記ネットワークに既存のノードであると考えられる場合に、前記制御装置が、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから前記或るノードの下位ノードに該当する１以上のノードへ到達確認メッセージを送信する送信指示を前記或るノードに与える、又は、前記１以上のノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記１以上のノードに与える処理を行い、前記或るノード又は前記１以上のノードの到達確認メッセージの送信によって、前記或るノードが前記１以上のノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
請求項９又は１０に記載の情報処理装置のネットワーク構成情報の生成方法。
【請求項１２】
前記制御装置は、ノードの削除指示を得た場合に、前記ネットワークの構成情報を用いて、削除指示に対応するノードの下位ノードを検出し、前記削除指示に対応するノード及び検出された下位ノードを前記ネットワークの構成情報から削除する
請求項９から１１のいずれか１項に記載の情報処理装置のネットワーク構成情報の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワーク構成情報を生成する情報処理装置及びその生成方法に関する。
【背景技術】
【０００２】
近年、情報技術の発展により、レイヤ２（Ｌ２）スイッチ、レイヤ３（Ｌ３）スイッチのようなノードで構成されるネットワークの大規模化及び複雑化が急速に進行している。このようなネットワークの適正な管理は、ネットワークの管理者が最新のネットワーク構成を把握することによって行われる。
【０００３】
ネットワーク構成の基本的な管理手法として、手作業（マニュアル）による管理が挙げられる。マニュアルによる管理では、現状のネットワーク構成図が作成される。ネットワーク構成図は、ネットワーク構成の変更毎に更新される。このようなマニュアルによる管理手法では、ネットワークの大規模化、複雑化に伴う更新漏れやミスが生じる可能性が低くなく、ネットワーク構成図が最新のネットワーク構成を反映しているかどうかの判断が困難となる虞がある。
【０００４】
ネットワーク構成を自動的に取得する技術として、例えば、所定のネットワーク機器を頂点とするツリー構造でネットワーク構成を決定する手法がある（例えば、特許文献１）。特許文献１の技術では、ツリー構造において、任意の部分木の大きさはその部分木を含む上流の部分木の大きさよりも小さいことが利用され、部分木の大小がノードに相当する各機器のＭＡＣ（Media Access Control）アドレスの登録数を比較することで決定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−９７２７３号公報
【特許文献２】特開２００４−８６７２９号公報
【特許文献３】特開２００７−８９０３０号公報
【特許文献４】特開平１０−３２２３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の技術では、ネットワーク機器に登録されたＭＡＣアドレス数に基づくツリー構造を生成する。一方、実際のネットワークでは、例えば、ネットワーク機器が異常によって再起動した場合に、当該ネットワーク機器のＭＡＣアドレスが未登録の状態となることがある。このような状態で、登録されたＭＡＣアドレス数に基づくツリー構造が作成されると、作成されたツリー構造が、本来のツリー構造（ネットワーク構成）と異なってしまう虞があった。
【０００７】
また、特許文献１記載の技術では、ネットワーク構成に変更が生じる毎にネットワーク全体のツリー構造が再構築される。このため、例えば、ノード数が数千〜数万といった大規模なネットワークでは、わずかなネットワーク構成の変更であっても、更新に係るネットワーク構成の情報を得るのに時間を要していた。
【０００８】
本開示は、実際のネットワーク構成の変更に応じたネットワーク構成情報の更新に要する時間を抑えることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の態様（aspect）の一つは、木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理を行う通信装置と、
前記ネットワークの構成情報を記憶した記憶装置と、
前記通信装置を用いて前記複数のノードのそれぞれから稼働時間を取得する処理と、或るノードの稼働時間が閾値未満であるときに、前記或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣ（Media Access Control）アドレスの登録数を示す情報を用いて前記部分木の階層構成を生成する処理と、生成した前記部分木の階層構成を用いて前記ネットワークの構成情報を更新する更新処理を行う制御装置と、を含む情報処理装置である。
【００１０】
本発明の他の態様は、上記情報処理装置のネットワーク構成情報の生成方法，情報処理装置が生成方法を実行するためのプログラム，プログラムを記憶したコンピュータ読み取り可能な記憶媒体を含むことができる。
【発明の効果】
【００１１】
本開示によれば、実際のネットワーク構成の変更に応じたネットワーク構成情報の更新に要する時間を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態に係るネットワークシステムの構成例を示す。
【図２】図２は、管理用端末のハードウェア構成例を示す図である。
【図３】図３は、管理用端末のＣＰＵがプログラムを実行することによって実現される管理用端末の機能を示すブロック図である。
【図４】図４は、管理用端末における全体の処理例を示すフローチャートである。
【図５】図５は、ノード情報ＤＢのデータ構造例を示す図である。
【図６】図６は、ＭＡＣアドレス情報ＤＢのデータ構造例を示す図である。
【図７】図７は、階層情報ＤＢのデータ構造例を示す図である。
【図８】図８は、動作例の説明図である。
【図９】図９は、ネットワーク構成入力処理の例を示すフローチャートである。
【図１０】図１０は、ノード情報処理の例を示すフローチャートである。
【図１１】図１１は、ノード情報処理の説明図である。
【図１２】図１２は、ノード情報処理によって更新されたノード情報ＤＢの登録内容を示す。
【図１３】図１３は、ＭＡＣアドレス抽出処理の例を示すフローチャートである。
【図１４】図１４は、ＭＡＣアドレス抽出処理によって更新されたＭＡＣアドレス情報ＤＢの登録内容を示す。
【図１５】図１５は、トポロジ解析処理の例を示すフローチャートである。
【図１６Ａ】図１６Ａは、接続関係抽出法の説明図である。
【図１６Ｂ】図１６Ｂは、接続関係抽出法の説明図である。
【図１６Ｃ】図１６Ｃは、接続関係抽出法の説明図である。
【図１６Ｄ】図１６Ｄは、接続関係抽出法の説明図である。
【図１７】図１７は、図７に示した登録内容が更新された階層情報ＤＢを示す。
【図１８】図１８は、ディスプレイ装置に表示されるネットワーク構成を示す画像の例を示す。
【図１９】図１９は、実施形態１の変形例を示す。
【図２０】図２０は、実施形態２に係る管理用端末の機能を示すブロック図である。
【図２１】図２１は、機器からのsysUpTime情報の受信時における処理を示すフローチャートである。
【図２２】図２２は、実施形態２におけるＭＡＣアドレス抽出処理示すフローチャートである。
【図２３】図２３は、機器（ノード）の交換が発生した例を示す。
【図２４】図２４は、スイッチを交換する際における、ノード情報ＤＢの登録内容の説明図である。
【図２５】図２５は、実施形態３におけるノード情報処理（ノード交換時）の例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１４】
〔実施形態１〕
実施形態１では、ネットワーク構成（網構成）を示す情報を生成する装置（ネットワーク構成情報生成装置（以下、「生成装置」と表記））について説明する。生成装置は、複数のネットワーク機器（以下、単に「機器」と表記）によって形成されたツリー構造（木構造）のネットワーク（網）の構成情報を生成する。機器は、Ｌ３スイッチ（ルータを含む）やＬ２スイッチ（スイッチングＨＵＢを含む）のような中継装置、或いは端末装置のような、Ｌ３やＬ２におけるデータブロック（パケット、フレーム）を送受信する通信機器又は通信装置である。機器は、「ノード」の一例である。
【００１５】
実施形態１において、各機器は、ＭＡＣアドレスを有し、機器間の通信を通じてＭＡＣアドレス学習を行うＭＡＣアドレス学習機能を備える。すなわち、各機器は、１以上のポートを有し、或るポートからＭＡＣフレームが受信されたときに、ＭＡＣフレームを受信したポートの識別子（例えば、ポート番号）と、ＭＡＣフレームの送信元ＭＡＣアドレスとの対応関係を記憶する。これによって、機器は、ＭＡＣフレームが受信されたポートの先に、送信元ＭＡＣアドレスとして設定されたＭＡＣアドレスを有する機器が存在することを学習する。これが、ＭＡＣアドレス学習である。
【００１６】
その後、或るＭＡＣフレームが受信され、その或るＭＡＣフレームの宛先ＭＡＣアドレスが記憶した（学習した）ＭＡＣアドレスの１つである場合には、当該ＭＡＣアドレスと関連づけて記憶されているポートからＭＡＣフレームを送信する。これによって、ＭＡＣフレームは、宛先ＭＡＣアドレスとして設定されたＭＡＣアドレスを有する機器に、最終的に到達する。このように、各機器は、自身が有する各ポートからＭＡＣフレームを受信したときに、上記した学習を行うことで、ＭＡＣフレームの転送に使用するテーブル（ＭＡＣ学習テーブル）を自動的に生成する。
【００１７】
実施形態１におけるネットワークは、複数の機器（ノード）によって、ループの無いツリー構造（木構造）を有する。ツリー構造のネットワークにおいて、機器は、頂点ノードと、中間ノードと、エッジノードとのいずれかに分類される。頂点ノードは、ツリーの頂点に位置するノードであり、最上位ノードである。エッジノードは、ツリーの最下位に位置するノード（最下位ノード）である。中間ノードは、頂点ノードとエッジノードとの中間に位置するノードである。実施形態で１では、エッジノードから頂点ノードへ向かう方向を「上流（上り方向）」と定義し、頂点ノードからエッジノードへ向かう方向を「下流（下り方向）」と定義する。もっとも、当該定義は逆でも良い。
【００１８】
生成装置は、各機器におけるＭＡＣアドレスの登録数を利用してネットワーク構成情報を生成する。このとき、生成装置は、実際における、最新のネットワーク構成が反映された各機器におけるＭＡＣ学習テーブルの登録内容を利用する。上記したように、各機器は、複数のポートを有し、機器間での通信を通じて、各ポートを介して接続されている他の機器のＭＡＣアドレスを学習テーブルに登録する。ＭＡＣアドレス学習には、或る程度の
時間を要する。このため、ネットワークに新規に追加された機器や、再起動が実施された機器では、ＭＡＣ学習テーブルの登録内容が、実際のネットワーク構成と一致しない場合があり得る。
【００１９】
実施形態１では、sysUpTimeを基準とした、ネットワーク構成の変更部分の特定と、Ｍ
ＡＣ学習テーブルの部分的な最新化を実施する。sysUpTimeは、機器が起動してからの経
過時間（稼働時間）を表す情報（パラメータ）であり、ＳＮＭＰ（Simple Network Management Protocol）の利用によって得ることができる。以下、“sysUpTime”を「稼働時間
」と表記することもある。
【００２０】
生成装置は、sysUpTime（稼働時間）の閾値を持つ。閾値は、例えば、ネットワークの
規模に応じて決定される。生成装置は、各機器の稼働時間を検出し、稼働時間が閾値より小さい（閾値未満の）機器を、新規追加又は再起動が実施された機器として特定する。そして、特定した機器が属する部分木を、ネットワーク構成の変更部分として特定する。
【００２１】
このとき、特定した機器が属する部分木に関して、例えば、頂点ノードから特定した機器までの到達確認メッセージ（pingメッセージ）の送信が実施される。これによって、部分木における各機器のＭＡＣ学習テーブルの部分的な最新化が図られる。部分的な最新化において、部分木を形成する各機器（ノード）の下位ポートの配下のＭＡＣアドレスが学習される。さらに、生成装置は、部分木のネットワーク構成の取得を実施し、再取得した情報を用いた、既存のネットワーク構成情報に対する更新処理を実施する。
【００２２】
このように、更新処理は、再取得した部分木に係るネットワーク構成に関して実行される。すなわち、ネットワーク構成情報の再生成（更新）範囲が限定される。従って、実際のネットワーク構成の変更に伴うネットワーク構成情報の更新に要する時間を短縮することが可能となる。また、部分木に係るネットワーク情報の取得に際し、部分木を形成する各機器のＭＡＣ学習テーブルの部分的な最新化が図られるので、機器間の階層形成における判断の誤りを回避することができる。
【００２３】
＜システム構成＞
実施形態１におけるシステム構成例として、複数のＬ２スイッチから構成されるネットワークの物理的な構成情報の取得方法を説明する。図１は、実施形態１に係るネットワークシステムの構成例を示す。
【００２４】
図１において、ネットワークシステムは、複数のＬ２スイッチ（以下単に「スイッチ」と表記）Ａ〜Ｈを含む。ネットワークは、ループを含まず、或るスイッチ（図１ではスイッチＡ）を頂点ノードとするツリー構造（木構造）を有している。なお、スイッチの数は例示であり、適宜の数が選択される。
【００２５】
また、図１において、各スイッチＡ〜Ｈを示すブロック中の括弧書きで示されたラテン文字（アルファベット）は、当該スイッチが有するＭＡＣアドレスを示す。また、ブロック中の下段に示された数値は、当該スイッチのＩＰ（Internet Protocol）アドレスを示
す。例えば、スイッチＡは、ＭＡＣアドレス“Ａ”と、ＩＰアドレス“192.168.100.10”とを有する。
【００２６】
ネットワークシステムは、スイッチＡ〜Ｈを含むネットワークの管理用端末（以下、単に「端末」と表記）１０を含んでいる。端末１０が生成装置に相当する。端末１０はスイッチによって形成されるネットワークとは異なるネットワーク（アウトバンド）に属する。
【００２７】
端末１０は、ＳＮＭＰマネージャとして機能し、各スイッチＡ〜ＨはＳＮＭＰエージェントとして機能する。端末１０は、ＳＮＭＰに基づくメッセージ交換によって、各スイッチＡ〜ＨからsysUpTime（稼働時間）情報および学習テーブル情報（ＭＡＣ学習テーブル
に登録されたＭＡＣアドレス）を取得することができる。端末１０は、sysUpTime情報お
よび学習テーブル情報の解析によって、ネットワークの構成をツリー構造として取得することができる。
【００２８】
＜端末の構成例＞
次に、端末１０（ネットワーク構成情報の生成装置）の構成例について説明する。
＜＜ハードウェア構成＞＞
図２は、端末１０のハードウェア構成例を示す図である。端末１０には、例えば、パーソナルコンピュータ（ＰＣ），ワークステーション（ＷＳ），サーバマシンのような、専用又は汎用の情報処理装置（コンピュータ）を適用することができる。従って、端末１０のハードウェア構成として、情報処理装置が備えるハードウェアアーキテクチャを適用することができる。端末１０は、「情報処理装置」の一例である。
【００２９】
図２において、端末１０は、例として、ＣＰＵ１１と、主記憶装置１２と、補助記憶装置１３と、通信インタフェース回路（通信Ｉ／Ｆ）１４と、Ｉ／Ｏ（Input/Output）デバイス１５とを備える。ＣＰＵ１１，主記憶装置１２，補助記憶装置１３，通信Ｉ／Ｆ１４及びＩ／Ｏデバイス１５は、バスＢを介して相互に接続されている。
【００３０】
主記憶装置１２は、ＣＰＵ１１の作業領域として使用されるメインメモリとして機能する。メインメモリは、例えば、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）によって形成される。補助記憶装置１３は、ＣＰＵ１１によって実行される各種のプログラム，及び各プログラムの実行時に使用されるデータを記憶する。
【００３１】
補助記憶装置１３は、例えば、不揮発性記録媒体であり、例えば、ハードディスク，フラッシュメモリ，ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）の少なくとも１つを用いて形成することができる。主記憶装置１２及び補助記憶装置
１３のそれぞれは、記録媒体の一例である。
【００３２】
通信Ｉ／Ｆ１４は、通信を司る回路又は装置であり、例えば、既存のネットワーク・カードやネットワーク・インタフェース・カード（ＮＩＣ）と呼ばれるＬＡＮ（Local Area
Network）用のインタフェース装置を適用することができる。通信Ｉ／Ｆ１４に、通信回線を介して複数のスイッチＡ〜Ｈが接続される。端末１０と各スイッチとの通信は通信Ｉ／Ｆ１４を介して行われる。通信Ｉ／Ｆ１４は、通信装置の一例である。
【００３３】
Ｉ／Ｏデバイス１５は、周辺装置のインタフェース処理を司る回路又は装置である。Ｉ／Ｏデバイス１５には、周辺装置として、例えば、入力装置１６と、出力装置１７とが接続される。入力装置１６は、例えば、キーボード，ボタン，ポインティングデバイス，タッチパネルである。出力装置１７は、例えば、ディスプレイ装置やプリンタである。入力装置１６及び出力装置１７（ディスプレイ装置）は、管理者及び作業者（オペレータ）が情報を入力、或いは情報を取得するためのユーザインタフェース（ＵＩ）を提供する。
【００３４】
ＣＰＵ１１は、補助記憶装置１３にインストールされたプログラムを主記憶装置１２にロードして実行することにより、端末１０としての機能を発揮することができる。ＣＰＵ１１は、プロセッサ（マイクロプロセッサ）や制御装置の一例である。ＣＰＵ１１の代わりに、ＤＳＰを使用することもできる。
【００３５】
また、図２の例では、端末１０に周辺装置として接続された入力装置１６及び出力装置
１７がＵＩを提供する例について説明した。但し、端末１０は、通信Ｉ／Ｆ１４に接続された通信回線を介して接続された他の情報処理装置に対し、端末１０の操作用のＵＩを提供する構成を適用することもできる。例えば、ＣＰＵ１１によるプログラム実行によって、端末１０がＷｅｂサーバとして機能することができる。
【００３６】
この場合、Ｗｅｂサーバとしての端末１０は、Ｗｅｂクライアントとしての他の情報処理装置との通信（例えばＨＴＴＰ（HyperText Transfer Protocol）通信）により、Ｗｅ
ｂベースの端末１０の操作用のＷｅｂページ（ＵＩ）を提供することができる。そして、ＣＰＵ１１は、他の情報処理装置においてＷｅｂページの利用により入力された情報に従って、ネットワーク構成情報の更新処理を実施することができる。
【００３７】
図３は、端末１０においてＣＰＵ１１がプログラムを実行することによって実現される端末１０の機能を示すブロック図である。図３に示すように、端末１０は、ＣＰＵ１１のプログラム実行によって、ネットワーク構成入力処理１１１と、ノード情報処理１１２と、ＭＡＣアドレス抽出処理１１３と、トポロジ解析処理１１４とを実行する。
【００３８】
また、主記憶装置１２及び補助記憶装置１３の少なくとも一方は、ノード情報データベース１１５（ノード情報ＤＢ１１５）と、ＭＡＣアドレス情報データベース１１６（ＭＡＣアドレス情報ＤＢ１１６）と、階層情報データベース１１７（階層情報ＤＢ１１７）とを記憶する。
【００３９】
図４は、端末１０における全体の処理例を示すフローチャートである。図４に示すように、ネットワーク構成入力処理１１１では、ＵＩ（例えば入力装置１６）から入力されるノード情報を、ノード情報ＤＢ１１５に登録する処理が行われる（０１）。ノード情報は、機器（例えば、スイッチ）の情報である。以下、ネットワーク機器及びネットワーク装置をまとめて、「機器」又は「ノード」と表記する。
【００４０】
次に、ノード情報処理１１２において、ネットワーク上に存在する機器を特定する処理が行われる（０２）。このとき、ノード情報ＤＢ１１５からの削除フラグ情報の取得、及び削除フラグに基づくノード情報ＤＢ１１５の更新処理が実行される。更新処理にあたり、必要に応じて階層情報ＤＢ１１７が参照される（詳細は後述）。
【００４１】
次に、ＭＡＣアドレス抽出処理１１３として、特定された機器のsysUpTimeを用いた機
器のＭＡＣアドレスの更新処理と、ＭＡＣアドレスの取得が実施される（０３）。このとき、取得されたＭＡＣアドレスをＭＡＣアドレス情報ＤＢ１１６に登録する処理が行われる（詳細は後述）。
【００４２】
次に、トポロジ解析処理１１４が実行される（０４）。トポロジ解析処理１１４では、ＭＡＣアドレス情報を元に、ネットワーク構成情報を取得して保存する処理が行われる。すなわち、ＭＡＣアドレス情報を用いてノード情報ＤＢ１１５が参照され、トポロジ情報が生成され、階層情報ＤＢ１１７に登録される。また、トポロジ解析処理１１４によって、ネットワークのトポロジや、通信ＮＧの表示がＵＩ（例えば、出力装置１７に含まれるディスプレイ装置）に表示される。トポロジ解析処理１１４の詳細は後述する。
【００４３】
＜ＤＢ構成＞
図５は、ノード情報ＤＢ１１５のデータ構造例を示す図であり、図６は、ＭＡＣアドレス情報ＤＢ１１６のデータ構造例を示す図であり、図７は、階層情報ＤＢ１１７のデータ構造例を示す図である。
【００４４】
図５に示すように、ノード情報ＤＢ１１５には、ネットワークを形成する機器（図１の
例ではスイッチ）の識別子（例えば、装置名）毎に用意された複数のエントリが登録されるテーブルが記憶される。各エントリには、装置名に対応する「フラグ」，「頂点ノード」，「ＩＰアドレス」，及び「更新時刻」が記憶される。
【００４５】
「フラグ」は、機器がネットワークから削除されたことを示す「削除フラグ」を設定するために使用される。「頂点ノード」は、ネットワークを形成するツリーにおける頂点ノードとなる機器の識別子を示す。「ＩＰアドレス」は、当該機器のＩＰアドレスを示す。「更新時刻」は、当該エントリの更新時刻を示す。
【００４６】
図６に示すように、ＭＡＣアドレス情報ＤＢ１１６には、複数のエントリが登録されるテーブルが記憶される。各エントリには、装置名に対応する、「下位ポート」，「自ＭＡＣアドレス」，「対向装置１」，「対向装置２」，「対向装置３」，及び「更新日時」が記憶される。対向装置の情報として、ツリーの深さに応じた数の対向装置の識別子（装置名）が記憶される。
【００４７】
エントリは、各機器が有する下位ポート（下位ノードを収容するポート）毎に用意される。例えば、スイッチＡ（図１）に着目すると、スイッチＡは、スイッチＢを収容するポート（下位ポート）２と、スイッチＣを収容するポート（下位ポート）３とを有している。このため、図５に示すように、ＭＡＣアドレス情報ＤＢ１１６には、スイッチＡのポート２に係るエントリと、スイッチＡのポート３に係るエントリとが登録される。
【００４８】
スイッチＡのポート２に係るエントリに着目すると、「下位ポート」として、ポート２の識別子（ポート番号）が登録される。また、「自ＭＡＣアドレス」として、スイッチＡのＭＡＣアドレスが登録される。また、「対向装置１」として、ポート２に接続された下位ノードに相当するスイッチＢの識別子が登録される。さらに、「対向装置２」，及び「対向装置３」として、スイッチＢが収容する下位ノード（図１の例では、スイッチＤ及びスイッチＥ）の識別子が登録される。「更新日時」として、エントリの更新日時が登録される。
【００４９】
図７に示すように、階層情報ＤＢ１１７には、各機器の直下に位置する下位ノードに係る１以上のエントリが登録されるテーブルが記憶される。各エントリには、機器の識別子（装置名）に対応する、「頂点ノード」，「階層番号」，「リンク情報」，「使用ポート」及び「更新日時」が登録（記憶）される。各機器の直下に位置する下位ノードについてのエントリが有するポート毎に用意される。
【００５０】
例えば、スイッチＡに関しては、スイッチＡの直下に位置する下位ノードであるスイッチＢ及びスイッチＣに対応するエントリが登録される。スイッチＡのスイッチＢ（下位ポート２）に係るエントリでは、「頂点ノード」として、スイッチＡの識別子が登録される。また、「階層番号」として、ツリーの頂点が属する階層（深さ）を示す階層番号“０”が登録される。また、「リンク情報１」として、スイッチＡの直下にリンクを介して接続された他の機器であるスイッチＢの識別子（装置名）が登録される。また、「使用ポート」として、スイッチＡがスイッチＢとの接続に使用するポート２の識別子（ポート番号）が登録される。そして、「更新日時」として、エントリの更新日時が登録される。
【００５１】
また、スイッチＢに関しては、下位ノードであるスイッチＤ及びスイッチＥに対応するエントリが登録される。例えば、スイッチＢのスイッチＤ（ポート２）に係るエントリでは、「頂点ノード」として、スイッチＡの識別子が登録される。また、「階層番号」として、頂点ノードの次の階層（深さ）を示す階層番号“１”が登録される。また、「リンク情報１」として、スイッチＢの直下にリンクを介して接続された他の機器であるスイッチＤの識別子が登録される。また、「使用ポート」として、スイッチＢがスイッチＤとの接
続に使用するポート２の識別子（ポート番号）が登録される。そして、「更新日時」として、エントリの更新日時が登録される。このようにして、各機器が有する下位ノードに係るエントリが階層情報ＤＢ１１７に登録される。なお、ネットワークにおける最下位層（階層番号“２”）に位置するエッジノード、すなわち、各スイッチＥ〜Ｇについては、下位ノードに係る情報である「リンク情報１」及び「使用ポート」は登録されない。
【００５２】
上記した図６及び図７に係る説明では、対向装置の情報及びリンク情報として、機器（スイッチ）の識別子として装置名が登録される例を示した。但し、装置名に加えて、各機器のＭＡＣアドレスが記憶される構成を採用しても良い。また、“装置名”として、各機器のＭＡＣアドレスを用いる構成も採用可能である。
【００５３】
＜端末の動作＞
以下、端末１０における動作例（処理例）について説明する。図８は、動作例の説明図である。図８に示すように、図１に示したネットワーク（スイッチＡ〜Ｈ）に関して、中間ノードであるスイッチＣが削除される一方で、エッジノードとしてスイッチＨが追加された場合における動作について説明する。
【００５４】
＜＜ネットワーク構成入力処理＞＞
図９は、ネットワーク構成入力処理１１１（図４の０１）の例を示すフローチャートである。図９に示す処理は、ＵＩ（例えば入力装置１６）を用いた管理者からの機器情報（ノード情報）の入力を契機に開始される。
【００５５】
例えば、ノード情報として、図８に示した様に、ノード情報ＤＢ１１５に、スイッチＣの削除を示すノード情報と、スイッチＨの追加を示すノード情報とが入力された場合を想定する。
【００５６】
すると、ＣＰＵ１１は、入力されたノード情報（入力情報）をノード情報ＤＢ１１５に反映する処理を行う（０１１）。具体的には、図４に示すように、ＣＰＵ１１は、スイッチＨに対応するエントリを追加登録する。次に、ＣＰＵ１１は、追加又は削除フラグの設定を行う（０１２）。すなわち、ＣＰＵ１１は、スイッチＨのエントリに追加フラグを設定する。また、ＣＰＵ１１は、既存のスイッチＣのエントリに、削除フラグを設定する。そして、ＣＰＵ１１は、スイッチＣ及びスイッチＨの更新時刻の更新処理を行う（０１３）。０１３の処理が終了すると、ＣＰＵ１１は、ノード情報処理１１２に移行する。
【００５７】
＜＜ノード情報処理＞＞
図１０は、ノード情報処理１１２（図４の０２）の例を示すフローチャートである。図１０に示す処理は、例えば、ＣＰＵ１１によって、図９に示したネットワーク構成入力処理１１１に引き続いて実行される。
【００５８】
図１０において、ＣＰＵ１１は、階層情報ＤＢ１１７から削除対象機器の配下の機器を検索する（０２１）。次に、ＣＰＵ１１は、削除対象機器の配下の機器を削除対象に決定し、ノード情報ＤＢ１１５に削除フラグを付加する（０２２）。
【００５９】
次に、ＣＰＵ１１は、階層情報ＤＢ１１７において、“装置名”及び“リンク情報”として、削除対象機器の識別子が登録された行（エントリ）を削除する。そして、ＣＰＵ１１は、ノード情報ＤＢ１１５を更新する（０２３）。すなわち、ＣＰＵ１１は、削除フラグが設定されたエントリを削除する。
【００６０】
このように、ノード情報処理１１２では、前回更新時のデータが格納されている階層情報ＤＢ１１７とノード情報ＤＢ１１５とを比較し、削除対象となった機器の配下に機器が
存在しないかを確認する。配下の機器が存在した場合、ＣＰＵ１１は、その配下の機器も削除対象とし、ノード情報ＤＢ１１５及び階層情報ＤＢ１１７を更新する。ノード情報処理１１２の終了後、ＭＡＣアドレス抽出処理１１３に移行する。
【００６１】
上記０１０の処理時における階層情報ＤＢ１１７が図７に示した登録内容を有し、削除対象機器がスイッチＣである場合の動作の詳細について、図１１を用いて説明する。図１１に示すように、ＣＰＵ１１は、階層情報ＤＢ１１７におけるスイッチＣのエントリを参照し、スイッチＣの配下の機器であるスイッチＦ及びスイッチＧを検出する（図１１＜１＞）。検出結果に従い、ＣＰＵ１１は、スイッチＦ及びスイッチＧを削除対象として決定する。
【００６２】
次に、ＣＰＵ１１は、スイッチＦ及びスイッチＧのエントリを参照し、スイッチＦ及びスイッチＧの配下の機器を探索する。但し、スイッチＦ及びスイッチＧのそれぞれは配下の機器を有しないので、探索が終了する。階層情報ＤＢ１１７の参照によって、最終的な削除対象の機器として、スイッチＣ，スイッチＦ及びスイッチＧが決定される。
【００６３】
ＣＰＵ１１は、装置名として、“スイッチＣ”，“スイッチＦ”，“スイッチＧ”が登録されたエントリを階層情報ＤＢ１１７から削除する。さらに、ＣＰＵ１１は、“スイッチＣ”，“スイッチＦ”，“スイッチＧ”のいずれかがリンク情報として登録されたエントリも削除する。図７に示す例では、リンク情報“スイッチＣ”を含む装置名“スイッチＡ”のエントリ（上から２番目）が削除される（図１１＜３＞）。
【００６４】
そして、ＣＰＵ１１は、ノード情報ＤＢ１１５にアクセスし、装置名がスイッチＣ，スイッチＦ及びスイッチＧのいずれかであるエントリを削除する。これによって、ノード情報ＤＢ１１５の登録内容が、図１２に示す状態となる。
【００６５】
＜＜ＭＡＣアドレス抽出処理＞＞
ＭＡＣアドレス抽出処理１１３では、各機器のＭＡＣアドレスの部分的な（下位ポートに係る）最新化を目的として、ＭＡＣアドレスの取得を実施する。ＭＡＣアドレス抽出処理１１３では、予め設定されたsysUpTimeの閾値が用いられる。或る機器がネットワーク
追加されて間もない場合、或いは、或る機器で再起動が実施された場合には、これらの機器におけるsysUpTimeは閾値を下回ると考えられる。そこで、閾値よりもsysUpTimeが小さい機器（以下、「対象機器」と表記することもある）が存在していた場合には、対象機器が追加された機器か、再起動が実施された機器かが判定される。対象機器が追加された機器であれば、対象機器を含む部分木の頂点ノードから対象機器（追加ノード）へのping送信が行われる。これに対し、対象機器が再起動された機器（再起動ノード）であれば、対象機器の配下の機器（下位ノード）からのping送信が実施される。
【００６６】
pingの送信によって、対象機器が含まれる部分木を形成する各機器において、学習テーブルの部分的な最新化、すなわち、各機器の下位ポートに係るＭＡＣアドレスの強制的な学習が実施される。sysUpTimeの閾値は、ネットワークの規模により通信の頻度が異なる
と考え、管理者によって適宜設定される。また、pingの送信に関しては、頂点ノードがノード情報ＤＢ１１５に登録されたping送信対象装置のＩＰアドレスを端末１０から得て実施する。また、再起動の機器に係るping送信に際しては、端末１０が有する階層情報ＤＢ１１７に登録された階層情報が使用される。
【００６７】
図１３は、ＭＡＣアドレス抽出処理１１３（図４の０３）の例を示すフローチャートである。図１３の処理は、ＣＰＵ１１がノード情報処理１１２に引き続いて実行する。ＣＰＵ１１は、ノード情報ＤＢ１１５の登録内容（図１２参照）を元に、ＭＡＣアドレス情報ＤＢ１１６を更新する（０３１）。０３１の開始時点で、ＭＡＣアドレス情報ＤＢ１１６
には、図６に示した内容が登録されている。
【００６８】
具体的には、ＣＰＵ１１は、ノード情報ＤＢ１１５から削除された スイッチＣ、スイ
ッチＦ、スイッチＧを、ノード情報ＤＢ１１５とＭＡＣアドレス情報ＤＢ１１６との差分により特定する。そして、ＣＰＵ１１は、ＭＡＣアドレス情報ＤＢ１１６から、スイッチＣ，スイッチＦ及びスイッチＧのいずれかが“装置名”又は“対向装置”として登録された行（エントリ）を削除する。この結果、図６に示したＭＡＣアドレス情報ＤＢ１１６から、装置名“スイッチＣ”のエントリと、対向装置“スイッチＣ”，“スイッチＦ”及び“スイッチＧ”が登録された装置名“スイッチＡ”のエントリとが削除される。
【００６９】
次に、ＣＰＵ１１は、ノード情報ＤＢ１１５に登録された残りのスイッチＡ，スイッチＢ，スイッチＤ，スイッチＥ及びスイッチＨに関して、sysUpTime（稼働時間）の取得処
理が終了しているか否かを判定する（０３２）。このとき、全てのスイッチに対するsysUpTime（稼働時間）の取得処理が終了している場合（０３２，Ｙ）には、ＭＡＣアドレス
抽出処理１１３が終了し、トポロジ解析処理１１４へ移行する。これに対し、残りのスイッチがある場合（０３２，Ｎ）には、ＣＰＵ１１は、残りのスイッチの１つを選択し、処理を０３３に進める。スイッチの選択は、例えば、エントリの登録順で行われる。
【００７０】
０３３では、ＣＰＵ１１は、通信Ｉ／Ｆ１４を用いて、０３２で選択したスイッチ（選択スイッチ）へＳＮＭＰのGet Requestメッセージを送信し、当該スイッチのsysUpTime（稼働時間）を取得する（０３３）。このとき、Get Requestメッセージの宛先ＩＰアドレ
スには、ノード情報ＤＢ１１５に記憶された、選択スイッチのＩＰアドレスを用いる。
【００７１】
ＣＰＵ１１は、Get Requestメッセージによって、選択スイッチから送信されたsysUpTime（稼働時間）を含む応答メッセージを通信Ｉ／Ｆ１４を介して受信する。ＣＰＵ１１は、ノード情報ＤＢ１１５と、応答メッセージの送信元ＩＰアドレスとを参照して、応答メッセージを送信したスイッチを特定する。続いて、ＣＰＵ１１は、稼働時間を取得した選択スイッチに関して、稼働時間の値が、端末１０上で予め設定された稼働時間の閾値（主記憶装置１２及び補助記憶装置１３との少なくとも一方に予め記憶されている）より小さいか否かを判定する（０３４）。このとき、稼働時間の値が閾値以上の場合（０３４，Ｎ）には、処理が０３２に戻る。
【００７２】
これに対し、稼働時間が閾値より小さいと判定された場合（０３４，Ｙ）には、ＣＰＵ１１は、選択スイッチが上述した対象機器であると判定して、処理を０３５に進める。０３５では、ＣＰＵ１１は、ノード情報ＤＢ１１５を参照し、選択スイッチのエントリに追加フラグが設定されているか否かを判定する。このとき、追加フラグが設定されている場合（０３５，Ｙ）には、ＣＰＵ１１は、選択スイッチ（すなわち対象機器）が追加された機器であると判定し、処理を０３６に進める。一方、追加フラグが設定されていない場合（０３５，Ｎ）には、選択スイッチ（すなわち対象機器）が再起動を実施した機器であると判定し、処理を０３７に進める。
【００７３】
０３６では、ＣＰＵ１１は、対象機器（追加された機器）を含む部分木の頂点ノード（スイッチＡ）に対し、対象機器へ向けてpingを送信することを指示する（０３４）。例えば、対象機器がスイッチＨである場合には、ＣＰＵ１１は、pingの送信指示に、スイッチＨのＩＰアドレス（ノード情報ＤＢ１１５に記憶されている）を含める。pingの送信指示の宛先アドレスには、スイッチＡのＩＰアドレスが設定される。
【００７４】
送信指示を受け取った頂点ノード（スイッチＡ）は、スイッチＨに対するＡＲＰ（Address Resolution Protocol）を実行する。ＡＲＰメッセージがブロードキャストによって
下位スイッチへ向け転送され、結果として１つのＡＲＰメッセージがスイッチＢ及びスイ
ッチＥを介してスイッチＨに到達する。スイッチＨはスイッチＡからのＡＲＰメッセージに応答し、スイッチＡはスイッチＨのＭＡＣアドレスを学習する。スイッチＨのＭＡＣアドレスは、スイッチＨのＩＰアドレスと関連付けてスイッチＡのＡＲＰテーブルに登録される。スイッチＡからスイッチＨへの通信は、ＡＲＰテーブルに登録されたＭＡＣアドレスを用いて行われる。
【００７５】
スイッチＨは、pingメッセージに対する応答メッセージ（echo-reply）をスイッチＡ宛てに送信する。応答メッセージは、pingメッセージの経路を逆方向に辿って（スイッチＥ→スイッチＢ）、最終的にスイッチＡに到達する。このとき、スイッチＥでは、応答メッセージを受信したときに、応答メッセージの受信ポートの識別子（ポート番号）と、応答メッセージに含まれた送信元ＭＡＣアドレスから、スイッチＥのポート２にスイッチＨが接続されていることを学習する（ＭＡＣ学習テーブルに登録する）ことができる。
【００７６】
同様に、スイッチＢは、応答メッセージをポート３で受信することによって、スイッチＨがポート３の配下に存在することを学習する（ＭＡＣ学習テーブルに登録する）ことができる。さらに、スイッチＡは、ポート２から応答メッセージを受信することで、ポート２の配下に位置するスイッチＨの存在を学習する（ＭＡＣ学習テーブルに登録する）ことができる。
【００７７】
このように、エッジノード（スイッチＨ）から頂点ノード（スイッチＡ）への応答メッセージの送信によって、スイッチＥ，スイッチＢ及びスイッチＡのそれぞれにおいて、下流から上流方向へのＭＡＣアドレス学習が実行される。これによって、部分木を形成する各ノード（スイッチＡ−スイッチＢ−スイッチＥ−スイッチＨ）において、部分的な（下位ポートに関する）ＭＡＣ学習内容の最新化がなされる。換言すれば、部分木を形成するスイッチＡ，Ｂ，Ｅ及びＨにおける下位ポートに関して学習されたＭＡＣアドレスの登録内容が実際の部分木ネットワークの構成と一致した状態となる。その後、ＣＰＵ１１は、処理を０３２に戻す。
【００７８】
０３７及び０３８は、対象機器が再起動を実施した機器と考えられる場合に行われる処理である。例えば、図８に示すスイッチＢが再起動を実施した機器である場合を例として説明する。０３７では、ＣＰＵ１１は、階層情報ＤＢ１１７（図７）における、スイッチＢを含む構成情報を得る。構成情報は、対象機器（スイッチＢ）の配下の機器の情報である。配下の機器は、対象機器の直下にある機器だけでなく、直下にある機器の配下の機器も含む。
【００７９】
具体的には、ＣＰＵ１１は、階層情報ＤＢ１１７の装置名“スイッチＢ”のエントリを参照し、リンク情報として、スイッチＤの識別子（装置名）と、スイッチＥの識別子とを得る。続いて、ＣＰＵ１１は、スイッチＤ及びスイッチＥの識別子を元に、階層情報ＤＢ１１７のスイッチＤ及びスイッチＥのエントリを参照する。スイッチＤ及びＥのエントリにはリンク情報が登録されていないので、ＣＰＵ１１は、配下の機器の探索を終了する。このようにして、構成情報として、スイッチＢの配下にあるスイッチＤ及びスイッチＥの情報が得られる。このような、対象機器の配下にある機器を、「構成機器」を呼ぶこともある。
【００８０】
ＣＰＵ１１は、処理を０３８に進めて、通信Ｉ／Ｆ１４を用いて、対象機器（スイッチＢ）に対し、スイッチＤ及びスイッチＥへpingを送信することを指示する。スイッチＤ及びスイッチＥへping送信のために、指示には、ノード情報ＤＢ１１５に登録されたスイッチＤ及びスイッチＥのＩＰアドレスが含められる。
【００８１】
スイッチＢは、指示に従って、スイッチＤ及びスイッチＥに対してpingを送信する。ス
イッチＢは、スイッチＤからpingの応答メッセージを受信することで、応答メッセージの受信ポート（ポート２）とスイッチＤのＭＡＣアドレスとの関連を学習することができる。さらに、スイッチＢは、スイッチＥからの応答メッセージを受信することで、応答メッセージの受信ポート（ポート３）とスイッチＥのＭＡＣアドレスとの関連を学習することができる。０３８の処理が終了すると、処理が０３２に戻る。なお、上記のようなping送信の処理に代えて、スイッチＤ及びＥに対し、スイッチＢへpingを送信することを指示することで、スイッチＢが下位ポートに係るＭＡＣアドレスを学習するようにしても良い。
【００８２】
もし、スイッチＤの配下に、階層情報ＤＢ１１７にリンク情報が登録済みの機器（例えばスイッチＸ：図示せず）がある場合には、当該スイッチＸも構成機器に含められ、スイッチＢのping送信の指示には、スイッチＤの配下のスイッチＸに対するping指示も含められる。
【００８３】
このようにして、再起動を実施した対象機器に対し、階層情報ＤＢ１１７に登録された配下の機器の情報に基づくping送信によって、配下の機器のＭＡＣアドレスを学習することができる。但し、追加に係る機器（例えばスイッチＨ）のリンク情報が階層情報ＤＢ１１７に反映されていない場合には、０３８にて当該追加された機器に対してpingを送信することができない。しかし、追加された機器に関しては、頂点ノード（スイッチＡ）からスイッチＨへのping送信（０３６）によって、再起動を実施した対象機器（スイッチＢ）は、追加された機器（スイッチＨ）からの応答メッセージを受信する。これによって、当該追加された機器のＭＡＣアドレスを学習することができる。
【００８４】
０３２にて、ノード情報ＤＢ１１５に登録された全ての機器（図１２の例では、スイッチＡ，スイッチＢ，スイッチＤ，スイッチＥ及びスイッチＨ）に対するsysUpTime取得に
係る処理（０３３〜０３８）が終了すると（０３２，Ｙ）、処理が０３９に進む。
【００８５】
０３９では、ＣＰＵ１１は、ＳＮＭＰを用いて、ＭＡＣアドレス情報ＤＢ１１６の更新処理を行う。すなわち、ＣＰＵ１１は、ノード情報ＤＢ１１５に登録された全ての機器（スイッチ）を対象として、ＭＡＣ学習テーブル中の下位ポートに係るＭＡＣアドレスの登録内容を問い合わせる。問い合わせにおいては、各スイッチのＩＰアドレスが、スイッチの識別子として使用される。すなわち、問い合わせメッセージの宛先ＩＰアドレスに、問い合わせ対象のスイッチのＩＰアドレスが設定される。
【００８６】
ＣＰＵ１１は、問い合わせの回答を各機器（スイッチ）から受け取る。回答メッセージの送信元ＩＰアドレスから、回答を行ったスイッチを識別することができる。ＣＰＵ１１は、回答内容とＭＡＣアドレス情報ＤＢ１１６の内容との差分がある場合には、更新作業を行う。回答は、問い合わせ対象の機器（スイッチ）のＭＡＣアドレスと、１以上の下位ポートの識別子（ポート番号）とこれに対応するＭＡＣアドレスとの関連を示す情報を含む。
【００８７】
例えば、ＣＰＵ１１は、スイッチＥに対する問い合わせにおいて、スイッチＥから、スイッチＥのＭＡＣアドレスと、スイッチＥのポート２の識別子（ポート番号）と、ポート２に接続されたスイッチＨのＭＡＣアドレスとを含む回答を受信する。ＣＰＵ１１は、受信された回答に基づいて、ＭＡＣアドレス情報ＤＢ１１６の更新を行う。
【００８８】
図１４は、０３６の処理によるＭＡＣアドレス情報ＤＢ１１６の更新の結果を示す。図６に示したＭＡＣアドレス情報ＤＢ１１６の登録内容から、次のような更新がなされている。すなわち、０２３（図１０）の処理によって、スイッチＣに係るエントリが削除されている。また、スイッチＡ及びスイッチＢからの回答に基づき、ＣＰＵ１１によって、スイッチＡ及びスイッチＢのそれぞれのエントリに、“対向装置４”，“対向装置２”とし
て、スイッチＨの識別子が追加される。さらに、スイッチＥからの回答に基づき、ＣＰＵ１１によって、ＭＡＣアドレス情報ＤＢ１１６にスイッチＥのエントリが追加されている。スイッチＥのエントリには、自ＭＡＣアドレスとしてスイッチＥのＭＡＣアドレスが登録され、下位ポートとしてポート２が登録され、対向装置１として、スイッチＨの識別子（装置名）が登録される。
【００８９】
なお、上記の説明では、各スイッチからの回答に含まれた下位ポートのＭＡＣアドレス（例えば、スイッチＨのＭＡＣアドレス）は、階層情報ＤＢ１１７に登録されない。但し、下位ポートのＭＡＣアドレスが、別途管理される構成を採用しても良い。０３６の処理が終了すると、ＭＡＣアドレス抽出処理１１３が終了し、トポロジ解析処理１１４に進む。
【００９０】
＜＜トポロジ解析処理＞＞
トポロジ解析処理１１４では、ＭＡＣアドレス情報ＤＢ１１６が参照され、ツリー構造が取得される。トポロジの解析は、新規に追加された機器（追加フラグを持つ機器）を対象として、当該対象機器のＭＡＣアドレスを下位ポートに有する部分木のみのネットワーク構成情報の取得が実施され、階層情報ＤＢ１１７が更新される。
【００９１】
図１５は、トポロジ解析処理１１４（図４の０４）の例を示すフローチャートである。ＣＰＵ１１は、ノード情報ＤＢ１１５（図１２）を参照して、追加フラグが設定されているエントリを確認する。このとき、スイッチＨが新規追加の機器として特定される。ＣＰＵ１１は、スイッチＨを対象として、接続関係抽出法に従って、接続関係を抽出する（０４１）。
【００９２】
図１６Ａ〜図１６Ｄは、図１５の０４１にて実行される接続関係抽出法の説明図である。図１６Ａ〜図１６Ｄは、例として、スイッチＡ，スイッチＢ，スイッチＥ及びスイッチＨによって形成される部分木に係る接続関係抽出法が例示されている。
【００９３】
ここに、スイッチＡのＭＡＣ学習テーブルには、下位ポートに接続されたノードのＭＡＣアドレス（下位ポートに係るＭＡＣアドレス）として、スイッチＢ，スイッチＤ，スイッチＥ及びスイッチＨのそれぞれのＭＡＣアドレス（Ｂ，Ｄ，Ｅ，Ｈ）が登録されている。また、スイッチＢのＭＡＣ学習テーブルには、下位ポートに係るＭＡＣアドレスとして、スイッチＤ，スイッチＥ及びスイッチＨのそれぞれのＭＡＣアドレス（Ｄ，Ｅ，Ｈ）が登録されている。さらに、スイッチＥのＭＡＣ学習テーブルには、下位ポートに係るＭＡＣアドレスとして、スイッチＨのＭＡＣアドレス（Ｈ）が登録されている。スイッチＨは配下のノード（下位ノード）を持たないため、ＭＡＣアドレス学習テーブルには、下位ポートに係るＭＡＣアドレスは登録されていない。
【００９４】
（手順１−１）
図１６Ａに示すように、最初に、共通なＭＡＣアドレスを有する装置が双方向に結ばれる。図１６Ａに示す例では、スイッチＡ，スイッチＢ，スイッチＥ及びスイッチＨは、それぞれスイッチＨのＭＡＣアドレス（Ｈ）を有している。このため、するので、スイッチＡ，スイッチＢ，スイッチＥ及びスイッチＨは、仮のリンクで双方向に結ばれる。
【００９５】
（手順１−２）
次に、図１６Ｂに示すように、結ばれた二つの装置のうち、下位ポートに係るＭＡＣアドレスの登録数が多い装置が上位装置として決定される。すなわち、スイッチＡとスイッチＢとの比較では、スイッチＡのＭＡＣアドレスの登録数（４つ）がスイッチＢのＭＡＣドレス登録数（２つ）より多いので、スイッチＡはスイッチＢの上位装置として決定される。また、スイッチＢとスイッチＥとの比較では、スイッチＢのＭＡＣアドレスの登録数
（３つ）がスイッチＤのＭＡＣアドレスの登録数（１つ）より多いので、スイッチＢがスイッチＥの上位装置として決定される。さらに、スイッチＥとスイッチＨとの比較では、スイッチＥのＭＡＣアドレスの登録数（１つ）がスイッチＨのＭＡＣアドレスの登録数（零）より多いので、スイッチＥがスイッチＨの上位装置として決定される。この結果、スイッチＨからスイッチＥ，スイッチＢ及びスイッチＡへそれぞれ向かう仮のリンクが削除される。また、スイッチＥからスイッチＢ及びスイッチＡへそれぞれ向かう仮のリンクが削除される。さらに、スイッチＢからスイッチＡへ向かう仮のリンクが削除される。
【００９６】
（手順１−３）
次に、複数の装置からリンクで接続された装置が存在する場合には、上位装置の中で、ＭＡＣアドレスの登録数が最小の装置が上位装置として決定される。例えば、図１６Ｂに示したように、スイッチＨは、スイッチＥ，スイッチＢ及びスイッチＡと複数の仮のリンクで接続されている。また、スイッチＥは、スイッチＢ及びスイッチＡと複数の仮のリンクで接続されている。このため、スイッチＥに関して、スイッチＡとスイッチＢとの間で、ＭＡＣアドレスの登録数が比較される。このとき、スイッチＢのＭＡＣアドレスの登録数（３つ）がスイッチＡのＭＡＣアドレスの登録数（４つ）より少ない（スイッチＢのＭＡＣアドレスの登録数が最小である）。従って、図１６Ｃに示すように、スイッチＡからスイッチＥへの仮のリンクが削除され、スイッチＡからスイッチＢへのリンクが正式なリンクとして決定され、スイッチＢからスイッチＥへのリンクが正式なリンクとして決定される。また、スイッチＨに関して、スイッチＡ，スイッチＢ及びスイッチＥの間でＭＡＣアドレスの登録数が比較される。この結果、スイッチＥのＭＡＣアドレスの登録が最小であるので、スイッチＡからスイッチＨへの仮のリンク、及びスイッチＢからスイッチＨへの仮のリンクが削除され、スイッチＥからスイッチＨへのリンクが正式なリンクとして決定される。
【００９７】
（手順１−４）
手順１−３で決定された正式なリンクの両端の装置は、互いに共通なＭＡＣアドレスを保持している。そこで、共通なＭＡＣアドレスを有する、上位装置のポートが下位ポートとして決定される。具体的には、図１６Ｄに示すように、スイッチＨとスイッチＥとは、共通なＭＡＣアドレスとして、スイッチＨのＭＡＣアドレス（Ｈ）を有している。このため、スイッチＥにおけるスイッチＨと関連するポートが、スイッチＨに対する下位ポートとして決定される。スイッチＥとスイッチＢとは、共通なＭＡＣアドレスとして、スイッチＥのＭＡＣアドレス（Ｅ）を保持している。このため、スイッチＢにおけるスイッチＥのＭＡＣアドレスに係るポートが、スイッチＥに対する下位ポートとして決定される。そして、スイッチＡとスイッチＢとは共通なＭＡＣアドレスとしてスイッチＢのＭＡＣアドレスを有している。このため、スイッチＡにおけるスイッチＢのＭＡＣアドレスと関連するポートがスイッチＢに対する下位ポートとして決定される。
【００９８】
０４１では、ＣＰＵ１１は、上述した接続関係抽出法を用いて、追加対象のスイッチＨを含む部分木（スイッチＡ−スイッチＢ−スイッチＥ−スイッチＨ）に係る接続関係を抽出する（すなわち、部分木のトポロジを特定する）。
【００９９】
各装置（スイッチ）のポートのうち、その先に頂点ノードが接続されているポートを上位ポート、その他のポートを下位ポートとする。下位ポートにＭＡＣアドレスが登録されていない装置はエッジノードとして特定することができる。
【０１００】
ＣＰＵ１１は、上記した接続関係抽出法におけるＭＡＣアドレス登録数の比較において、ＭＡＣアドレス情報ＤＢ１１６に記憶された、或るスイッチに係る対向装置の数を利用する。例えば、ＭＡＣアドレス情報ＤＢ１１６の登録内容が図１４に示す情報であれば、スイッチＡに関して、スイッチＢ，スイッチＤ，スイッチＥ，及びスイッチＨの識別子が
下位ポートの対向装置の情報として登録されており、これらの識別子の数が、ＭＡＣアドレス登録数として使用される。スイッチＢ，スイッチＥ，及びスイッチＨに関しても同様である。このような、ＭＡＣアドレス情報ＤＢ１１６に登録された情報は、「下位ポートに係るＭＡＣアドレスの登録数を示す情報」の一例である。
【０１０１】
接続関係抽出法の利用によって、ＭＡＣアドレスを利用したスイッチＨを含む部分木に係るトポロジが抽出される。次に、ＣＰＵ１１は、接続関係抽出法に従って得られた階層情報で階層情報ＤＢ１１７を更新する（０４２）。すなわち、ＣＰＵ１１は、新規に追加された機器、すなわちスイッチＨに対する階層番号を計算し、階層情報ＤＢ１１７を更新する。このとき、頂点ノード（スイッチＡ）の階層番号は「０」に設定される。そして、追加の機器（スイッチＨ）が、或る機器（スイッチＥ）の下位に接続される場合には、当該或る機器の階層番号に１を付加した値が追加の機器の階層番号として付加される。スイッチＨ はスイッチＥの配下であるため、スイッチＥの階層番号２に１を加えた３となる
。図１７は、図７に示した登録内容が更新された階層情報ＤＢ１１７を示す。
【０１０２】
次に、ＣＰＵ１１は、階層情報ＤＢ１１７の登録内容（階層番号，リンク情報、使用ポート）に基づいて、ネットワーク構成（ツリー構造）を示す画像（ビュー）を生成する（０４４）。ＣＰＵ１１は、画像をＵＩ，例えば、出力装置１７に含まれるディスプレイ装置に表示する。図１８は、ディスプレイ装置に表示されるネットワーク構成を示す画像の例を示す。図１８に示すように、画像は、ネットワークを形成する複数のノード（スイッチ）のツリーを示す。
【０１０３】
各ノードにおいて、対向装置とリンクを介して接続されるポート番号が表示される。スイッチＡに関して、下位ポートであるポート２で、スイッチＢの上位ポート（ポート１）とリンクを介して接続されていることが表示される。スイッチＢに関して、スイッチＢは、スイッチＤの上位ポート（ポート１）とリンクを介して接続される下位ポート（ポート２）と、スイッチＥの上位ポート（ポート１）とリンクを介して接続される下位ポート（ポート３）とを有することが表示される。スイッチＥに関して、スイッチＢは、スイッチＨの上位ポート（ポート１）とリンクを介して接続される下位ポート（ポート２）を有することが表示される。エッジノードであるスイッチＤ及びスイッチＨのそれぞれは、上位ポート（ポート１）で上位ノードと接続されることが表示され、下位ポートに係る情報は存在しないため表示されない。
【０１０４】
＜実施形態１の作用効果＞
実施形態１によれば、ネットワーク構成の変更に際して、稼働時間が閾値未満の機器（ノード）を含む部分木がネットワーク構成の変更箇所として特定され、当該部分木に係るトポロジ解析によって、当該部分木のネットワーク構成が更新される。これによって、ネットワーク構成情報の更新のための書換を行う範囲を部分木に抑えることができ、更新時間の短縮化を図ることができる。また、稼働時間が閾値未満の機器を対象とするping送信が実施されることで、部分木を形成する各機器（ノード）の下位ポートに係るＭＡＣアドレス学習内容を、最新の状態（下位ノードに係るＭＡＣアドレス登録内容が、実際の部分木と一致した状態）にすることができる。
【０１０５】
＜変形例＞
上記した実施形態１におけるping送信は、ネットワークを形成する機器（ノード）のそれぞれが、ＭＡＣアドレス学習機能を備えるために実施される。ネットワークに対する機器の追加や、或る機器の再起動に伴い、追加された機器や再起動された機器に対するＭＡＣアドレスの登録が静的に（例えばマニュアルで）実行される場合には、ping送信は省略される。
【０１０６】
また、上記した実施形態１では、頂点ノードから追加の対象機器に関するping送信（０３６）によって、部分木を形成する各ノードの下位ポートに係るＭＡＣアドレスの学習内容（登録状態）が、実際の部分木のネットワーク構成と一致した状態にすることができる。さらに、以下のような処理によって、追加の対象機器における上位ポートに係るＭＡＣアドレスの学習内容を、部分木の構成と一致させることができる。
【０１０７】
図１９は、上位ポートに係るＭＡＣアドレスの強制的な学習の制御方法に係る処理を示すフローチャートである。例えば、図８のスイッチＨが追加の対象機器である場合を例に説明する。
【０１０８】
図１９において、ＣＰＵ１１は、図１３の０３６と同様の処理を行う。これによって、スイッチＨの上位ノードであるスイッチＥ，スイッチＢ及びスイッチＡの下位ポートに係るＭＡＣアドレス学習が強制的に実施される。このとき、スイッチＨは、上位ポートと関連づけて直上の上位ノードであるスイッチＥのＭＡＣアドレスを学習する。
【０１０９】
次に、ＣＰＵ１１は、図１３の０３９の処理（ＭＡＣアドレス情報ＤＢ１１６の更新）後に、０３６Ａの処理を行う。０３６Ａにおいて、ＣＰＵ１１は、スイッチＨに対してＳＮＭＰメッセージを送信し、上位ポートに係るＭＡＣアドレスを問い合わせる。スイッチＨからの回答に含まれたスイッチＥのＭＡＣアドレスと、ＭＡＣアドレス情報ＤＢ１１６の登録内容（図１４）から、ＣＰＵ１１は、スイッチＨの直上の機器がスイッチＥであることを割り出すことができる。
【０１１０】
さらに、ＣＰＵ１１は、階層情報ＤＢ１１７を参照して、頂点ノードであるスイッチＡと直上機器であるスイッチＥまでの構成情報を取得する。これによって、ＣＰＵ１１は、構成情報として、スイッチＡ，スイッチＢ，及びスイッチＥの情報を得ることができる。
【０１１１】
次に、ＣＰＵ１１は、０３６Ｂの処理として、追加機器に対し、頂点ノードを除く中間ノードに係るping送信を指示する。すなわち、ＣＰＵ１１は、スイッチＨに対し、スイッチＢ，及びスイッチＥに対するping送信を指示する。スイッチＡに係るＭＡＣアドレスの学習は、０３６の処理で既に実施されているため、除外する。もっとも、スイッチＡを含めても良い。
【０１１２】
これによって、スイッチＨがスイッチＢ及びスイッチＥにpingを送信し、応答メッセージを受信する。これによって、スイッチＨは、上位ポートに係るＭＡＣアドレスとして、スイッチＡ，スイッチＢ，スイッチＥのＭＡＣアドレスを学習できる。この結果、上位ポートに係るＭＡＣアドレスの学習内容を実際の部分木のネットワーク構成と一致させることができる。
【０１１３】
なお、０３６Ｂの処理として、ＣＰＵ１１は、スイッチＢ及びスイッチＥに対し、スイッチＨへpingを送信することを指示しても良い。なお、再起動の機器についても、上記した０３６Ａ及び０３６Ｂの処理が実行されることで、再起動の機器における上位ポートに係るＭＡＣアドレス学習内容を部分木のネットワーク構成と一致させることができる。
【０１１４】
〔実施形態２〕
次に、実施形態２について説明する。実施形態２は、実施形態１と共通点を含むので、主として相違点について説明し、共通点については説明を省略する。実施形態２では、各機器からsysUpTime（稼働時間）を取得する方法として、各機器での自発的な動作によっ
て、各機器から管理用端末へ所定のタイミングで送信されるsysUpTimeを受信する形態を
採用する。
【０１１５】
図２０は、実施形態２に係る管理用端末１０Ａ（以下、「端末１０Ａ」）の機能を示すブロック図である。管理用端末１０Ａのハードウェア構成は、実施形態１（図２）と同様であるので説明を省略する。図３に示した実施形態１との差分として、端末１０Ａでは、各機器からのsysUpTime（稼働時間）を記憶するsysUpTime情報ＤＢ（稼働時間情報ＤＢ）１１８をさらに備える。
【０１１６】
各機器（例えば、図１に示すスイッチＡ〜Ｈ）は、所定タイミングで稼働時間を含むメッセージを自発的に端末１０へ送信する。メッセージには、稼働時間（sysUpTime）と送
信元のスイッチの識別子（例えば装置名）とを少なくとも含む。所定タイミングは、例えば、各機器に予め設定された定期的又は周期的なタイミングである。また、機器の追加時や再起動時のような所定のイベントを契機として稼働時間情報が送信されるようにしても良い。
【０１１７】
図２１は、機器からのsysUpTime（稼働時間）を含むメッセージの受信時における処理
を示すフローチャートである。図２１に示す処理は、メッセージが受信される毎に実行される。通信Ｉ／Ｆ１４は、各機器からの稼働時間を含むメッセージを受信し、ＣＰＵ１１に与える。ＣＰＵ１１は、メッセージを、稼働時間情報ＤＢ１１８に記憶する。
【０１１８】
ＣＰＵ１１は、ネットワーク構成の更新とは別に、受信（記憶）されたsysUpTimeの値
（稼働時間値）と管理者が予め設定した閾値とを比較し、稼働時間値が閾値未満か否かを判定する（０５１）。このとき、稼働時間値が閾値より小さい場合（０５１，Ｙ）には、ＣＰＵ１１は、メッセージに含まれた機器の識別子が、ノード情報ＤＢ１１５に登録されているか否かを判定する（０５２）。
【０１１９】
このとき、機器の識別子がノード情報ＤＢ１１５に登録されていなければ（０５２，Ｎ）、sysUpTimeの送信元の機器が追加された機器であると判定し、処理を０５３に進める
。これに対し、機器の識別子がノード情報ＤＢ１１５に登録されていれば（０５２，Ｙ）、sysUpTimeの送信元の機器が再起動を実施した機器であると判定し、処理を０５４に進
める。
【０１２０】
０５２から０５３へ処理が進んだ場合には、ＣＰＵ１１は、通信Ｉ／Ｆ１４を用いて、実施形態１で説明した０３６の処理（図１３）と同様の処理を行う（０５３）。これによって、追加された機器の上位ノード（頂点ノードから追加された機器の直上に位置する機器）のそれぞれが、下位ポートに関して追加された機器のＭＡＣアドレスを学習する。
【０１２１】
一方、０５２から０５４へ処理が進んだ場合には、ＣＰＵ１１は、実施形態１で説明した０３７及び０３８（図１３）と同様の処理を行う（０５４，０５５）。これによって、再起動された機器は、下位ポートに係るＭＡＣアドレス学習として、当該機器の配下の機器のＭＡＣアドレスを強制的に学習する。０５３の処理、又は０５４及び０５５の処理が終了すると、図２１に示した処理が終了する。
【０１２２】
図２２は、実施形態２におけるＭＡＣアドレス抽出処理１１３を示すフローチャートである。実施形態２では、上記したように、各機器の下位ポートに係る強制的なＭＡＣアドレス学習が、ＭＡＣアドレス抽出処理１１３とは別のフロー（図２１）で実施される。このため、図１３に示した０３２〜０３８の処理が省略される。従って、ＣＰＵ１１は、０３１の処理の後に、０３９の処理を実行することで、ＭＡＣアドレス情報ＤＢ１１６の更新を直ちに行い、トポロジ解析処理１１４へ移ることができる。
【０１２３】
実施形態２によれば、網側からの稼働時間情報の自律的な送信によって、端末１０Ａｇは、稼働時間情報に基づく判定を随時行い、必要に応じてＭＡＣ学習テーブルの最新化（
ping送信）を実施することができる。これによって、ＭＡＣアドレス抽出処理１１３の手順を減らすことができる。換言すれば、ＭＡＣアドレス抽出処理１１３の時間短縮を図ることができる。この時間短縮は、ネットワーク構成の更新処理に要する時間の短縮化に貢献する。
【０１２４】
〔実施形態３〕
次に、実施形態３について説明する。実施形態３は、実施形態１と共通点を含むので、主として相違点について説明し、共通点については説明を省略する。実施形態３として、機器の故障等によって機器の入れ替え（交換）が発生した場合における、ネットワーク構成の取得方法について説明する。実施形態３は、実施形態１の端末１０、実施形態２の端末１０Ａのいずれにも適用可能である。以下の説明では、実施形態１の端末１０を例として説明する。
【０１２５】
図２３は、機器（ノード）の交換が発生した例を示す。例えば、スイッチＡ〜Ｇからなるネットワークにおいて、スイッチＢの障害によって、スイッチＢがスイッチＩに交換された場合を想定する。スイッチＩは、スイッチＢと異なるＭＡＣアドレス（Ｈ）を持つ。
【０１２６】
機器の交換が発生した場合には、交換対象の機器（スイッチＢ）は削除される。しかし、スイッチＢを頂点とする部分木を形成するノードは削除されない。図２３の例では、スイッチＢの下位ノードであるスイッチＤ及びスイッチＥは削除されない。このため、交換によって新たに設置される機器のＩＰアドレスに、被交換機器（削除（撤去）される機器）のＩＰアドレスが割り当てられる。
【０１２７】
図２４は、スイッチＢをスイッチＩに交換する際における、ノード情報ＤＢ１１５の登録内容の説明図である。図２４における登録内容は、図２３に示したネットワーク構成に従っている。
【０１２８】
交換に際して、ＵＩから端末１０に対し、入力情報として、スイッチＩに係る情報（頂点ノード“Ａ”，ＩＰアドレス、追加フラグ）が入力される。スイッチＩのＩＰアドレスとして、削除対象のスイッチＢのＩＰアドレスが指定される。また、スイッチＢの削除設定も入力情報に含まれる。
【０１２９】
ＣＰＵ１１は、入力情報に基づくネットワーク構成入力処理１１１（図９）を実行する。これによって、図２４に示したように、スイッチＩに係るエントリが追加され、当該エントリに追加フラグが設定される。また、スイッチＢのエントリに削除フラグが設置される。スイッチＨのＩＰアドレスとして、スイッチＢと同一のＩＰアドレスが設定される。
【０１３０】
図２５は、実施形態３におけるノード情報処理（ノード交換時）の例を示すフローチャートである。図１０に示したノード情報処理１１２との違いは、０６１の処理が追加されている点である。０６１において、ＣＰＵ１１は、ノード情報ＤＢ１１５（図２４）を参照し、削除対象ノードのＩＰアドレスと同一のＩＰアドレスを有するノードが存在するか否かを判定する。
【０１３１】
ノードが存在しない場合（０６１，Ｎ）に、実施形態１で説明したような、０２１及び０２２の処理が実行される。これに対し、ノードが存在する場合（０６１，Ｙ）には、０２１及び０２２の処理がスキップされて、０２３の処理が実行される。図２４に示した例では、０６１において、スイッチＢのＩＰアドレスと同一のＩＰアドレスを有するスイッチＨが存在するため、０２１及び０２２の処理はスキップされる。これによって、スイッチＢの下位ノードであるスイッチＤ及びスイッチＥが削除されることが回避される。
【０１３２】
＜その他＞
以上の実施形態１〜３を含む実施形態に関し、更に以下の付記を開示する。
【０１３３】
（付記１）  木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理を行う通信装置と、
前記ネットワークの構成情報を記憶した記憶装置と、
前記通信装置を用いて前記複数のノードのそれぞれから稼働時間を取得する処理と、或るノードの稼働時間が閾値未満であるときに、前記或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣ（Media Access Control）アドレスの登録数を示す情報を用いて前記部分木の階層構成を生成する処理と、生成した前記部分木の階層構成を用いて前記ネットワークの構成情報を更新する更新処理と、を行う制御装置と、
を含む情報処理装置。（１）
【０１３４】
（付記２）  前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置は、前記或るノードを含む部分木の頂点ノードに対して、当該頂点ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記頂点ノードに与える処理を行い、前記頂点ノードの前記到達確認メッセージの送信によって前記部分木を形成するノードが前記或るノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
付記１に記載の情報処理装置。（２）
【０１３５】
（付記３）  前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが再起動を実施した前記ネットワークに既存のノードであると考えられる場合に、前記制御装置は、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから前記或るノードの下位ノードに該当する１以上のノードへ到達確認メッセージを送信する送信指示を前記或るノードに与える、又は、前記１以上のノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記１以上のノードに与える処理を行い、前記或るノード又は前記１以上のノードの到達確認メッセージの送信によって、前記或るノードが前記１以上のノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
付記１又は２に記載の情報処理装置。（３）
【０１３６】
（付記４）  前記制御装置は、ノードの削除指示を得た場合に、前記ネットワークの構成情報を用いて、削除指示に対応するノードの下位ノードを検出し、前記削除指示に対応するノード及び検出された下位ノードを前記ネットワークの構成情報から削除する
付記１から３のいずれか１項に記載の情報処理装置。（４）
【０１３７】
（付記５）  前記制御装置は、前記ネットワークの構成の変更に係る情報が入力されたことを契機として、前記通信装置を用いて前記ネットワークに或る各ノードに稼働時間の問い合わせを行い、各ノードから得られた稼働時間が閾値未満か否かを判定する
付記１から４のいずれか１項に記載の情報処理装置。
【０１３８】
（付記６）  前記通信装置は、前記ネットワークに存在するノードのそれぞれから自発的に送信される、前記複数のノードのそれぞれの稼働時間を受信し、
前記制御装置は、受信された稼働時間が閾値未満か否かを判定する
付記１から４のいずれか１項に記載の情報処理装置。（５）
【０１３９】
（付記７）  前記制御装置は、前記階層構成を生成する際に、前記部分木を形成するノードが、下位ポートに係るＭＡＣアドレスの登録数が多い順で頂点から並べられたときの階層を、前記部分木における各ノードの階層として決定する
付記１から６のいずれか１項に記載の情報処理装置。（６）
【０１４０】
（付記８）  前記制御装置は、前記更新処理後に、ディスプレイに表示される前記ネットワークの構成を示す画像として、前記ネットワークにある各ノードが木構造に従ったリンクで接続され、且つ各リンクが接続される各ノードのポートが明示された画像を生成する付記１から７のいずれか１項に記載の情報処理装置。
【０１４１】
（付記９）  前記制御装置が、到達確認メッセージの宛先に該当するノードのＩＰアドレスを前記送信指示に含めるために、前記記憶装置は、前記複数のノードのＩＰ（Internet
Protocol）アドレスを記憶しており、
前記制御装置は、前記ネットワークにおける或るノードから新たなノードへの交換に従って前記或るノードの削除指示と前記新たなノードの追加指示とを得たときに、前記新たなノードのＩＰアドレスと前記或るノードのＩＰアドレスとが同一であるときには、前記或るノードの下位ノードを検出する処理を回避する
付記４から８のいずれか１項に記載の情報処理装置。（７）
【０１４２】
（付記１０）  前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置は、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから少なくとも前記部分木において前記頂点ノードと前記或るノードとの間にある各ノードへ到達確認メッセージを送信する送信指示を前記或るノードに送信する処理、又は前記部分木において前記頂点ノードと前記或るノードとの間にある各ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記各ノードへ送信する処理を行う
付記２から９のいずれか１項に記載の情報処理装置。（８）
【０１４３】
（付記１１）  情報処理装置の制御装置が、
木構造を有するネットワークを形成する複数のノードのそれぞれとの通信処理によって前記複数のノードのそれぞれから稼働時間を取得し、
或るノードの稼働時間が閾値未満であるときに、前記或るノードを含む部分木を形成するノードのそれぞれから取得された下位ポートに係るＭＡＣ（Media Access Control）アドレスの登録数を示す情報を用いて前記部分木の階層構成を生成し、
生成した前記部分木の階層構成を用いて、記憶装置に記憶されたネットワークの構成情報を更新する
ことを含む情報処理装置のネットワーク構成情報の生成方法。（９）
【０１４４】
（付記１２）  前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前記或るノードが前記ネットワークに追加されたノードであると考えられる場合に、前記制御装置が、前記或るノードを含む部分木の頂点ノードに対して、当該頂点ノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記頂点ノードに与える処理を行い、前記頂点ノードの前記到達確認メッセージの送信によって前記部分木を形成するノードが前記或るノードのＭＡＣアドレスを学習し、
前記制御装置が、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
付記１１に記載の情報処理装置のネットワーク構成情報の生成方法。（１０）
【０１４５】
（付記１３）  前記複数のノードのそれぞれがＭＡＣアドレスの学習機能を有し、且つ前
記或るノードが再起動を実施した前記ネットワークに既存のノードであると考えられる場合に、前記制御装置が、前記記憶装置に記憶されている前記或るノードを含む部分木の階層情報に基づいて、前記或るノードから前記或るノードの下位ノードに該当する１以上のノードへ到達確認メッセージを送信する送信指示を前記或るノードに与える、又は、前記１以上のノードから前記或るノードへ到達確認メッセージを送信する送信指示を前記１以上のノードに与える処理を行い、前記或るノード又は前記１以上のノードの到達確認メッセージの送信によって、前記或るノードが前記１以上のノードのＭＡＣアドレスを学習し、
前記制御装置は、前記学習が行われた後に、前記部分木を形成するノードから前記下位ポートに係るＭＡＣアドレスの登録数を示す情報を取得する
付記１１又は１２に記載の情報処理装置のネットワーク構成情報の生成方法。（１１）
【０１４６】
（付記１４）  前記制御装置は、ノードの削除指示を得た場合に、前記ネットワークの構成情報を用いて、削除指示に対応するノードの下位ノードを検出し、前記削除指示に対応するノード及び検出された下位ノードを前記ネットワークの構成情報から削除する
付記１１から１３のいずれか１項に記載の情報処理装置のネットワーク構成情報の生成方法。（１２）
【符号の説明】
【０１４７】
Ａ〜Ｈ・・・スイッチ（ネットワーク機器）
１０・・・管理用端末（ネットワーク構成情報の生成装置）
１１・・・ＣＰＵ
１２・・・主記憶装置
１３・・・補助記憶装置
１４・・・通信インタフェース回路
１５・・・Ｉ／Ｏデバイス
１６・・・入力装置
１７・・・出力装置
１１１・・・ネットワーク構成入力処理
１１２・・・ノード情報処理
１１３・・・ＭＡＣアドレス抽出処理
１１４・・・トポロジ解析処理
１１５・・・ノード情報データベース
１１６・・・ＭＡＣアドレス情報データベース
１１７・・・階層情報データベース
１１８・・・sysUpTime情報データベース
【図１】
2015037243.tif 000003
【図２】
2015037243.tif 000004
【図３】
2015037243.tif 000005
【図４】
2015037243.tif 000006
【図５】
2015037243.tif 000007
【図６】
2015037243.tif 000008
【図７】
2015037243.tif 000009
【図８】
2015037243.tif 000010
【図９】
2015037243.tif 000011
【図１０】
2015037243.tif 000012
【図１１】
2015037243.tif 000013
【図１２】
2015037243.tif 000014
【図１３】
2015037243.tif 000015
【図１４】
2015037243.tif 000016
【図１５】
2015037243.tif 000017
【図１６Ａ】
2015037243.tif 000018
【図１６Ｂ】
2015037243.tif 000019
【図１６Ｃ】
2015037243.tif 000020
【図１６Ｄ】
2015037243.tif 000021
【図１７】
2015037243.tif 000022
【図１８】
2015037243.tif 000023
【図１９】
2015037243.tif 000024
【図２０】
2015037243.tif 000025
【図２１】
2015037243.tif 000026
【図２２】
2015037243.tif 000027
【図２３】
2015037243.tif 000028
【図２４】
2015037243.tif 000029
【図２５】
2015037243.tif 000030