(57)【要約】【課題】通信ネットワークに含まれる機器が有するポートの接続先ポートを高速に求める。【解決手段】コンピュータは、通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する（ステップ２０１）。このとき、コンピュータは、特定機器に接続されている接続先機器を示す機器接続情報に基づいて、接続先機器の物理アドレス学習情報を、接続先機器以外の機器の物理アドレス学習情報よりも優先して探索する。そして、コンピュータは、探索結果に基づいて、特定機器が有する特定ポートに接続されている接続先ポートを求める（ステップ２０２）。【選択図】図２
2017228929.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む、物理アドレス学習情報を探索する際に、前記特定機器に接続されている接続先機器を示す機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、
探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める、
処理をコンピュータに実行させるプログラム。
【請求項２】
前記コンピュータは、前記特定機器以外の複数の探索対象機器それぞれを示す複数の識別情報を探索対象配列に格納し、前記接続先機器の識別情報に対して前記接続先機器以外の機器の識別情報よりも高い優先度を設定し、前記探索対象配列内の前記複数の識別情報を優先度の高い順にソートし、ソート結果が示す順序に従って前記複数の探索対象機器それぞれの物理アドレス学習情報を探索することを特徴とする請求項１記載のプログラム。
【請求項３】
前記コンピュータは、前記通信ネットワークに含まれる前記複数の機器それぞれの種別に対応する解析ルールを用いて、前記複数の機器それぞれの管理情報ベースを解析し、前記管理情報ベースから前記複数の機器の間の接続関係を抽出して、前記機器接続情報を生成することを特徴とする請求項１又は２記載のプログラム。
【請求項４】
通信ネットワークに含まれる複数の機器のうち特定機器に接続されている接続先機器を示す機器接続情報を記憶する記憶部と、
前記特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する際に、前記機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める探索部と、
を備えることを特徴とする情報処理装置。
【請求項５】
コンピュータが、
通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する際に、前記特定機器に接続されている接続先機器を示す機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、
探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める、
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
通信ネットワークの運用管理において、通信ネットワークに含まれる複数の機器間の物理的接続を示す結線情報を登録する方法として、例えば、以下のような方法が知られている。
（ａ）メディアアクセス制御（Media Access Control：ＭＡＣ）学習テーブルを用いた自動探索による結線情報の登録（例えば、特許文献１を参照）
（ｂ）Link Layer Discovery Protocol（ＬＬＤＰ）、Neighbor Discovery Protocol（ＮＤＰ）等のディスカバリプロトコルを用いた自動探索による結線情報の登録
（ｃ）Graphical User Interface（ＧＵＩ）、Command Line Interface（ＣＬＩ）等を用いた手作業による結線情報の登録
各機器のＭＡＣ学習テーブルには、その機器が有するポート毎に学習されているＭＡＣアドレスが登録される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４８０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記（ａ）の登録方法を採用した場合、通信ネットワークに含まれる機器が増加すればするほど、処理時間は長くなると考えられる。
【０００５】
なお、かかる問題は、ＭＡＣ学習テーブルを用いる場合に限らず、機器が有するポート毎に学習されている物理アドレスを含む、他の物理アドレス学習情報を用いる場合においても生ずるものである。
【０００６】
１つの側面において、本発明は、通信ネットワークに含まれる機器が有するポートの接続先ポートを高速に求めることを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する。このとき、コンピュータは、特定機器に接続されている接続先機器を示す機器接続情報に基づいて、接続先機器の物理アドレス学習情報を、接続先機器以外の機器の物理アドレス学習情報よりも優先して探索する。
（２）コンピュータは、探索結果に基づいて、特定機器が有する特定ポートに接続されている接続先ポートを求める。
【発明の効果】
【０００８】
実施形態によれば、通信ネットワークに含まれる機器が有するポートの接続先ポートを高速に求めることができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置の機能的構成図である。
【図２】探索処理のフローチャートである。
【図３】情報処理装置の具体例を示す機能的構成図である。
【図４】通信ネットワークを示す図である。
【図５】探索範囲情報を示す図である。
【図６】探索範囲内の機器を示す図である。
【図７】機器接続情報を示す図である。
【図８】ＭＡＣ学習テーブルを示す図である。
【図９】ＭＡＣ学習テーブル管理情報を示す図である。
【図１０】ＭＡＣアドレス管理情報を示す図である。
【図１１】リンク情報を示す図である。
【図１２】探索処理の具体例を示すフローチャートである。
【図１３】機器接続情報生成処理のフローチャートである。
【図１４Ａ】トポロジ探索処理のフローチャート（その１）である。
【図１４Ｂ】トポロジ探索処理のフローチャート（その２）である。
【図１５】探索対象配列を示す図である。
【図１６】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、実施形態を詳細に説明する。
近年、クラウドコンピューティング、Software-Defined Networking（ＳＤＮ）等の発展により、多種多様な機器が通信ネットワークを形成しており、仮想マシン及び仮想アプライアンスを含めて様々な機器が通信ネットワークを介して繋がっている。通信ネットワークに含まれる機器の増加によって、従来の運用管理では性能面で問題が発生している。例えば、上述した結線情報の登録方法には、以下のような特徴がある。
【００１１】
上記（ａ）の登録方法を採用した場合、すべてのＬ２スイッチがＭＡＣ学習テーブルを保持しているため、登録方法の汎用性が高く、特別な設定も必要ないため、ユーザの負荷は小さい。ただし、探索範囲に存在するすべてのＭＡＣ学習テーブル同士を総当たりで比較するため、処理時間が長くなる。
【００１２】
上記（ｂ）の登録方法を採用した場合、特別な設定が必要ないため、ユーザの負荷は小さく、各機器が保持するディスカバリプロトコル情報を参照するだけなので、（ａ）の登録方法に比べて、処理時間は短い。ただし、機器によってディスカバリプロトコルに対応していない場合がある上、マルチベンダ環境の通信ネットワークの場合は正しく動作しない場合もあるため、登録方法の汎用性は低い。
【００１３】
上記（ｃ）の登録方法を採用した場合、ユーザが入力した情報を使用するだけなので、登録方法の汎用性が高く、処理時間は短い。ただし、（ａ）又は（ｂ）の登録方法に比べて、ユーザの負荷は格段に大きくなる。
【００１４】
このように、汎用性が高く、かつ、ユーザの負荷が小さい登録方法は（ａ）の登録方法であるが、処理時間が長いという問題がある。通信ネットワークに含まれる機器が増加すればするほど、処理時間は長くなると考えられる。
【００１５】
例えば、特許文献１のトポロジ探索方法では、ＭＡＣ学習数が２以上の各ポートを接続元ポートとしてスイッチ間接続探索処理が行われ、接続元ポートに接続されている接続先ポートが求められる。探索範囲内にＮ個のスイッチが存在する場合、１つの接続元ポートに接続されている接続先ポートを決定するために探索される探索対象スイッチの個数は、最大でＮ−１個となる。このため、スイッチの個数が増加すればするほど、スイッチ間接続探索処理の処理時間は長くなる。
【００１６】
図１は、実施形態の情報処理装置（コンピュータ）の機能的構成例を示している。図１の情報処理装置１０１は、記憶部１１１及び探索部１１２を含む。記憶部１１１は、通信ネットワークに含まれる複数の機器のうち特定機器に接続されている接続先機器を示す機器接続情報１２１を記憶する。探索部１１２は、機器接続情報１２１を参照して、特定機器が有する特定ポートに接続されている接続先ポートを求める。
【００１７】
図２は、図１の情報処理装置１０１が行う探索処理の例を示すフローチャートである。まず、探索部１１２は、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する（ステップ２０１）。このとき、探索部１１２は、機器接続情報１２１に基づいて、接続先機器の物理アドレス学習情報を、接続先機器以外の機器の物理アドレス学習情報よりも優先して探索する。そして、探索部１１２は、探索結果に基づいて、特定機器が有する特定ポートに接続されている接続先ポートを求める（ステップ２０２）。
【００１８】
このような情報処理装置１０１によれば、通信ネットワークに含まれる機器が有するポートの接続先ポートを高速に求めることができる。
【００１９】
図３は、図１の情報処理装置１０１の具体例を示している。図３の情報処理装置１０１は、記憶部１１１、探索部１１２、取得部３０１、及び出力部３０２を含む。記憶部１１１は、機器接続情報１２１、探索範囲情報３１１、解析ルール３１２、ＭＡＣ学習テーブル管理情報３１３、ＭＡＣアドレス管理情報３１４、及びリンク情報３１５を記憶する。図３の情報処理装置１０１では、ＭＡＣアドレス及びＭＡＣ学習テーブルが、物理アドレス及び物理アドレス学習情報としてそれぞれ用いられる。
【００２０】
機器接続情報１２１は、通信ネットワーク３２１に含まれる機器間の接続関係を示す情報であり、必ずしもポート間の接続関係を含んでいる必要はない。探索範囲情報３１１は、通信ネットワーク３２１内の探索範囲を示す情報である。機器接続情報１２１及び探索範囲情報３１１は、例えば、ユーザによって情報処理装置１０１に入力され、記憶部１１１に格納される。解析ルール３１２は、通信ネットワーク３２１に含まれる機器の管理情報ベース（Management Information Base：ＭＩＢ）の記述形式を示す情報であり、機器の種別毎に異なる解析ルール３１２が記憶部１１１に格納される。
【００２１】
ＭＡＣ学習テーブル管理情報３１３は、通信ネットワーク３２１に含まれる複数の機器それぞれのＭＡＣ学習テーブルに登録された情報であり、ＭＡＣアドレス管理情報３１４は、それぞれの機器が有するポートのＭＡＣアドレスを示す情報である。リンク情報３１５は、探索処理によって求められた、複数の機器のポート間の物理的な接続関係を示す情報である。
【００２２】
取得部３０１は、通信ネットワーク３２１に含まれる機器のうち、探索範囲情報３１１が示す探索範囲内の各機器から、ＭＡＣ学習テーブル及びＭＡＣアドレスを取得する。そして、取得部３０１は、取得したＭＡＣ学習テーブルに登録された情報を、ＭＡＣ学習テーブル管理情報３１３として記憶部１１１に格納し、取得したＭＡＣアドレスを、ＭＡＣアドレス管理情報３１４として記憶部１１１に格納する。
【００２３】
機器接続情報１２１がユーザによって入力されていない場合、取得部３０１は、ディスカバリプロトコル、Ｌ２トレースルート等のプロトコルを用いる方法、又はネットワーク構成図を外部の装置から読み込む方法によって、機器接続情報１２１を生成する。そして、取得部３０１は、生成した機器接続情報１２１を記憶部１１１に格納する。ネットワーク構成図は、例えば、Computer-Aided Design（ＣＡＤ）によって作成され、外部の装置に格納されている。
【００２４】
ディスカバリプロトコルを用いる方法の場合、取得部３０１は、各機器から機器間の接続関係を示す情報を取得し、解析ルール３１２を用いて、取得した情報を解析することで、機器接続情報１２１を生成する。
【００２５】
探索部１１２は、機器接続情報１２１、ＭＡＣ学習テーブル管理情報３１３、及びＭＡＣアドレス管理情報３１４を参照して探索処理を行い、探索結果に基づいてリンク情報３１５を生成し、生成したリンク情報３１５を記憶部１１１に格納する。出力部３０２は、情報処理装置１０１の表示画面又は外部の情報処理装置に対して、リンク情報３１５を出力する。
【００２６】
通信ネットワーク３２１は、情報処理サービスを提供するサーバ機器、情報処理サービスを利用する端末機器、データの伝達を行うネットワーク機器等を含む。端末機器は、パーソナルコンピュータ（ＰＣ）等であってもよく、ネットワーク機器は、スイッチ、ルータ等であってもよい。各機器は、ノードと呼ばれることもある。
【００２７】
図４は、通信ネットワーク３２１の例を示している。図４の通信ネットワーク３２１は、ＰＣ４０１〜ＰＣ４０３及びスイッチ４１１〜スイッチ４１５を含む。
【００２８】
ＰＣ４０１は、スイッチ４１１に接続されており、ＰＣ４０２は、スイッチ４１１及びスイッチ４１２に接続されており、ＰＣ４０３は、スイッチ４１２に接続されている。スイッチ４１１は、ＰＣ４０１、ＰＣ４０２、及びスイッチ４１２〜スイッチ４１４に接続されており、スイッチ４１２は、ＰＣ４０２、ＰＣ４０３、スイッチ４１１、スイッチ４１４、及びスイッチ４１５に接続されている。
【００２９】
スイッチ４１３は、スイッチ４１１及びスイッチ４１４に接続されており、スイッチ４１４は、スイッチ４１１〜スイッチ４１３及びスイッチ４１５に接続されており、スイッチ４１５は、スイッチ４１２及びスイッチ４１４に接続されている。
【００３０】
図５は、探索範囲情報３１１の例を示している。図５の探索範囲情報３１１の各エントリは、ネットワークアドレス及びネットマスクを含む。この場合、探索範囲は、インターネットプロトコル（ＩＰ）アドレス単位で指定することができ、探索範囲のネットワークアドレスは、例えば、特定のＩＰアドレスとネットマスクとの論理積によって求めることができる。
【００３１】
図６は、探索範囲内の機器の例を示している。図６の探索範囲には、スイッチ６０１〜スイッチ６０３及びＰＣ６０４〜ＰＣ６１５が含まれる。スイッチ６０１、スイッチ６０２、及びスイッチ６０３の識別情報は、それぞれ、α、β、及びγであり、ＰＣ６０４〜ＰＣ６１５のＭＡＣアドレスは、それぞれ、Ａ〜Ｌである。
【００３２】
スイッチ６０１（スイッチα）は、ポート１〜ポート５を有する。ポート１、ポート２、ポート３、及びポート４には、ＰＣ６０４、ＰＣ６０５、ＰＣ６０６、及びＰＣ６０７がそれぞれ接続されており、ポート５にはスイッチ６０２が接続されている。
【００３３】
スイッチ６０２（スイッチβ）は、ポート１〜ポート６を有する。ポート１、ポート２、ポート３、及びポート４には、ＰＣ６０８、ＰＣ６０９、ＰＣ６１０、及びＰＣ６１１がそれぞれ接続されており、ポート５及びポート６には、スイッチ６０１及び６０３がそれぞれ接続されている。
【００３４】
スイッチ６０３（スイッチγ）は、ポート１〜ポート５を有する。ポート１、ポート２、ポート３、及びポート４には、ＰＣ６１２、ＰＣ６１３、ＰＣ６１４、及びＰＣ６１５がそれぞれ接続されており、ポート５にはスイッチ６０２が接続されている。
【００３５】
図７は、図６のスイッチ６０１〜スイッチ６０３に対する機器接続情報１２１の例を示している。図７の機器接続情報１２１の各エントリは、互いに接続されている一方のスイッチと他方のスイッチの識別情報を含む。１番目のエントリは、スイッチαとスイッチβとが接続されている（隣接している）ことを示し、２番目のエントリは、スイッチβとスイッチγとが接続されていることを示す。
【００３６】
図８は、図６のスイッチ６０１〜スイッチ６０３が保持するＭＡＣ学習テーブルの例を示している。ＭＡＣ学習テーブル８０１〜ＭＡＣ学習テーブル８０３は、それぞれ、スイッチ６０１〜スイッチ６０３のＭＡＣ学習テーブルである。各ＭＡＣ学習テーブルの各エントリは、ポートの識別情報と、そのポートに対して学習されている１つ以上のＭＡＣアドレスとを含む。
【００３７】
特定のスイッチが有する特定のポートと、接続先スイッチの接続先ポートとが接続されている場合、特定のポートに対して学習されるＭＡＣアドレスは、接続先スイッチの接続先ポート以外のポートに対して学習されているＭＡＣアドレスの総和である。
【００３８】
例えば、スイッチαのポート５に対して学習されるＭＡＣアドレスは、そのポート５に接続されているスイッチβのポート５以外のポート１〜ポート４に対して学習されているＭＡＣアドレスＥ〜Ｌである。スイッチβのポート５及びポート６と、スイッチγのポート５に対しても、スイッチαのポート５と同様にしてＭＡＣアドレスが学習される。
【００３９】
図９は、図８のＭＡＣ学習テーブル８０１〜ＭＡＣ学習テーブル８０３から生成されるＭＡＣ学習テーブル管理情報３１３の例を示している。図９のＭＡＣ学習テーブル管理情報３１３の各エントリは、スイッチの識別情報と、ポートの識別情報と、そのポートに対して学習されている１つ以上のＭＡＣアドレスとを含む。
【００４０】
図１０は、図６のスイッチ６０１〜スイッチ６０３及びＰＣ６０４〜ＰＣ６１５が有する各ポートのＭＡＣアドレスを含むＭＡＣアドレス管理情報３１４の例を示している。図１０のＭＡＣアドレス管理情報３１４の各エントリは、機器の識別情報と、ポートの識別情報と、そのポートのＭＡＣアドレスとを含む。
【００４１】
Ｐ１〜Ｐ１２は、それぞれ、ＰＣ６０４〜ＰＣ６１５の識別情報である。ＰＣＰ１〜ＰＣＰ１２のポート１のＭＡＣアドレスは、それぞれ、Ａ〜Ｌであり、スイッチαのポート１〜ポート３のＭＡＣアドレスは、それぞれ、Ｘ〜Ｚである。
【００４２】
図１１は、図７の機器接続情報１２１、図９のＭＡＣ学習テーブル管理情報３１３、及び図１０のＭＡＣアドレス管理情報３１４から生成されるリンク情報３１５の例を示している。図１１のリンク情報３１５の各エントリは、一方の機器及び他方の機器の識別情報と、互いに接続されている一方の機器のポート及び他方の機器のポートの識別情報とを含む。
【００４３】
例えば、１番目のエントリは、スイッチαのポート５とスイッチβのポート５とが接続されていることを示し、２番目のエントリは、スイッチβのポート６とスイッチγのポート５とが接続されていることを示す。また、３番目のエントリは、スイッチαのポート１とＰＣＰ１のポート１とが接続されていることを示す。
【００４４】
図１２は、図３の情報処理装置１０１が行う探索処理の具体例を示すフローチャートである。まず、取得部３０１は、探索範囲情報３１１を参照して（ステップ１２０１）、探索範囲情報３１１が示す探索範囲内の各機器から、ＭＡＣ学習テーブル及びＭＡＣアドレスを取得する（ステップ１２０２）。そして、取得部３０１は、取得したＭＡＣ学習テーブルに登録された情報からＭＡＣ学習テーブル管理情報３１３を生成し、取得したＭＡＣアドレスからＭＡＣアドレス管理情報３１４を生成する（ステップ１２０３）。
【００４５】
次に、取得部３０１は、機器接続情報１２１がユーザによって入力されているか否かをチェックする（ステップ１２０４）。機器接続情報１２１が入力されていない場合（ステップ１２０４，ＮＯ）、取得部３０１は、各機器から機器間の接続関係を示す情報を取得し、取得した情報から機器接続情報１２１を生成する（ステップ１２０５）。
【００４６】
次に、探索部１１２は、機器接続情報１２１、ＭＡＣ学習テーブル管理情報３１３、及びＭＡＣアドレス管理情報３１４を参照してトポロジ探索処理を行う（ステップ１２０６）。機器接続情報１２１が入力されている場合（ステップ１２０４，ＹＥＳ）、探索部１１２は、入力された機器接続情報１２１を参照してステップ１２０６の処理を行う。
【００４７】
図１３は、図１２のステップ１２０５における機器接続情報生成処理の例を示すフローチャートである。図１３の機器接続情報生成処理では、ディスカバリプロトコルを用いて機器接続情報１２１が生成される。
【００４８】
まず、取得部３０１は、Simple Network Management Protocol（ＳＮＭＰ）によって、機器の識別情報を含むシステム情報を各機器から取得し（ステップ１３０１）、システム情報に基づいて各機器の種別を決定する（ステップ１３０２）。機器の種別としては、例えば、スイッチ、ルータ等が用いられる。そして、取得部３０１は、決定した種別に対応する解析ルール３１２を選択する（ステップ１３０３）。特定の種別に対応する解析ルール３１２には、その種別の機器に対するＭＩＢの記述形式が規定されている。
【００４９】
次に、取得部３０１は、ＳＮＭＰによって、ＭＩＢとして管理されているＬＬＤＰ情報を各機器から取得し（ステップ１３０４）、ＬＬＤＰ情報の取得が成功したか否かをチェックする（ステップ１３０５）。例えば、ＬＬＤＰ情報は、ＳＮＭＰによって定義された、機器の識別情報と、各ポートの識別情報と、そのポートに接続されている他の機器のポートの識別情報とを含む。
【００５０】
ＬＬＤＰ情報の取得が成功した場合（ステップ１３０５，ＹＥＳ）、取得部３０１は、選択した解析ルール３１２に従ってＬＬＤＰ情報を解析することで、ＬＬＤＰ情報から機器間の接続関係を抽出する（ステップ１３０６）。そして、取得部３０１は、抽出した接続関係を示す機器接続情報１２１を生成する（ステップ１３０７）。例えば、取得部３０１は、１つのポートを有する機器の識別情報と、そのポートに接続されているポートを有する他の機器の識別情報との組み合わせを、機器接続情報１２１として用いることができる。
【００５１】
一方、ＬＬＤＰ情報の取得が失敗した場合（ステップ１３０５，ＮＯ）、取得部３０１は、ＳＮＭＰによって、ＭＩＢとして管理されているＮＤＰ情報を各機器から取得する（ステップ１３０８）。そして、取得部３０１は、ＮＤＰ情報の取得が成功したか否かをチェックする（ステップ１３０９）。例えば、ＮＤＰ情報は、ＬＬＤＰ情報と同様に、ＳＮＭＰによって定義された、機器の識別情報と、各ポートの識別情報と、そのポートに接続されている他の機器のポートの識別情報とを含む。
【００５２】
ＮＤＰ情報の取得が成功した場合（ステップ１３０９，ＹＥＳ）、取得部３０１は、選択した解析ルール３１２に従ってＮＤＰ情報を解析することで、ＮＤＰ情報から機器間の接続関係を抽出する（ステップ１３１０）。そして、取得部３０１は、抽出した接続関係を示す機器接続情報１２１を生成する（ステップ１３０７）。
【００５３】
一方、ＮＤＰ情報の取得が失敗した場合（ステップ１３０９，ＮＯ）、取得部３０１は、処理を終了する。図１３の機器接続情報生成処理によれば、機器接続情報１２１がユーザによって入力されていない場合であっても、自動的に機器接続情報１２１を生成することができる。
【００５４】
図１４Ａ及び図１４Ｂは、図１２のステップ１２０６におけるトポロジ探索処理の例を示すフローチャートである。まず、探索部１１２は、ＭＡＣ学習テーブル管理情報３１３から、学習されているＭＡＣアドレスの個数が２個以上であるポートを抽出する（ステップ１４０１）。そして、探索部１１２は、抽出した各ポートの識別情報と、そのポートを有する機器の識別情報と、そのポートに対して学習されているＭＡＣアドレスの個数とを、記憶部１１１内に設けた基点候補配列の要素として格納する。
【００５５】
例えば、図９のＭＡＣ学習テーブル管理情報３１３の場合、スイッチαのポート５に対して８個のＭＡＣアドレスが学習されているため、このポートの情報が基点候補配列に格納される。同様に、スイッチβのポート５及びポート６とスイッチγのポート５の情報も基点候補配列に格納される。したがって、基点候補配列には４個の要素が格納される。
【００５６】
次に、探索部１１２は、基点候補配列に要素が格納されているか否かをチェックする（ステップ１４０２）。基点候補配列に要素が格納されている場合（ステップ１４０２，ＹＥＳ）、探索部１１２は、基点候補配列の要素のうち、ＭＡＣアドレスの個数が最大の要素を選択する（ステップ１４０３）。そして、探索部１１２は、選択した要素が示すポートを基点ポートに決定し、基点ポートを有する機器を基点機器に決定する。基点機器及び基点ポートは、特定機器及び特定ポートにそれぞれ対応する。
【００５７】
図９のＭＡＣ学習テーブル管理情報３１３の場合、ＭＡＣアドレスの個数が最大のポートは、スイッチαのポート５とスイッチγのポート５である。したがって、これらの２つのポートのうちいずれか一方が基点ポートに決定される。
【００５８】
次に、探索部１１２は、ＭＡＣ学習テーブル管理情報３１３から、基点機器以外のすべてのネットワーク機器を抽出し、抽出した各ネットワーク機器の識別情報を、記憶部１１１内に設けた探索対象配列の要素として格納する（ステップ１４０４）。
【００５９】
例えば、スイッチγのポート５が基点ポートに決定された場合、スイッチγが基点機器に決定される。したがって、図９のＭＡＣ学習テーブル管理情報３１３から、スイッチγ以外のネットワーク機器であるスイッチα及びスイッチβが抽出され、それらのスイッチに対応する２個の要素が探索対象配列に格納される。
【００６０】
次に、探索部１１２は、機器接続情報１２１を参照して（ステップ１４０５）、探索対象配列の各要素に対して優先度を設定する（ステップ１４０６）。このとき、探索部１１２は、基点機器に接続されている接続先機器を示す要素に対して、接続先機器以外の機器を示す要素よりも高い優先度を設定する。
【００６１】
例えば、探索部１１２は、基点機器に接続されている接続先機器に対して優先度“１”を設定し、その接続先機器に接続されている機器に対して優先度“２”を設定する。さらに、探索部１１２は、優先度を設定した機器に接続されている機器に対して、設定した優先度を１だけインクリメントした優先度を設定する。この場合、設定された優先度の数値が小さいほど、優先度は高くなる。
【００６２】
ただし、優先度を設定した機器に接続されている機器に対して既に優先度が設定されている場合、探索部１１２は、いずれか高い方の優先度を採用する。このような処理を繰り返すことで、探索対象配列のすべての要素に対して優先度が設定される。
【００６３】
図７の機器接続情報１２１によれば、基点機器であるスイッチγにはスイッチβが接続されており、スイッチβにはスイッチαがさらに接続されている。この場合、スイッチβに対して優先度“１”が設定され、スイッチαに対して優先度“２”が設定される。
【００６４】
次に、探索部１１２は、探索対象配列の要素を優先度の高い順にソートし（ステップ１４０７）、ソートされた探索対象配列の１番目の要素を選択する（ステップ１４０８）。そして、探索部１１２は、ＭＡＣ学習テーブル管理情報３１３から、選択した要素が示すネットワーク機器の情報を抽出し（ステップ１４０９）、以下の情報Ｉ１が情報Ｉ２と一致するか否かをチェックする（ステップ１４１０）。
Ｉ１：基点ポートに対して学習されている複数のＭＡＣアドレス
Ｉ２：抽出したネットワーク機器の複数のポートに対して学習されているＭＡＣアドレスの組み合わせ
【００６５】
情報Ｉ１が情報Ｉ２と一致する場合（ステップ１４１０，ＹＥＳ）、探索部１１２は、以下の情報Ｉ３が情報Ｉ４と一致するか否かをチェックする（ステップ１４１１）。
Ｉ３：基点機器が有する基点ポート以外の複数のポートに対して学習されているＭＡＣアドレスの組み合わせ
Ｉ４：抽出したネットワーク機器が有するポートのうち、情報Ｉ２が示す複数のポート以外の１つのポートに対して学習されている複数のＭＡＣアドレス
【００６６】
情報Ｉ３が情報Ｉ４と一致する場合（ステップ１４１１，ＹＥＳ）、探索部１１２は、情報Ｉ４が示すポートを、基点ポートに接続されている接続先ポートに決定する（ステップ１４１２）。そして、探索部１１２は、基点機器、基点ポート、抽出したネットワーク機器、及び接続先ポートの識別情報を含むリンク情報３１５を生成する。
【００６７】
例えば、基点ポートがスイッチγのポート５である場合、図９のＭＡＣ学習テーブル管理情報３１３において、情報Ｉ１は、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、及びＨである。また、探索対象配列の１番目の要素がスイッチβを示している場合、スイッチβのポート１〜ポート５に対応する情報Ｉ２は、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、及びＨであり、情報Ｉ１が情報Ｉ２と一致する。
【００６８】
次に、スイッチγのポート５以外のポート１〜ポート４に対応する情報Ｉ３は、Ｉ、Ｊ、Ｋ、及びＬである。また、スイッチβのポート１〜ポート５以外のポート６に対応する情報Ｉ４は、Ｉ、Ｊ、Ｋ、及びＬであり、情報Ｉ３が情報Ｉ４と一致する。そこで、図１１の２番目のエントリのように、スイッチβのポート６とスイッチγのポート５とが接続されていることを示すリンク情報３１５が生成される。
【００６９】
次に、探索部１１２は、基点候補配列から接続先ポートを示す要素を削除し（ステップ１４１３）、基点候補配列から基点ポートを示す要素を削除して（ステップ１４１４）、ステップ１４０２以降の処理を繰り返す。
【００７０】
情報Ｉ１が情報Ｉ２と一致しない場合（ステップ１４１０，ＮＯ）、探索部１１２は、探索対象配列内に、選択した要素の次の順位の要素が存在するか否かをチェックする（ステップ１４１５）。次の順位の要素が存在する場合（ステップ１４１５，ＹＥＳ）、探索部１１２は、その要素についてステップ１４０８以降の処理を繰り返す。一方、次の順位の要素が存在しない場合（ステップ１４１５，ＮＯ）、探索部１１２は、ステップ１４１４以降の処理を行う。
【００７１】
情報Ｉ３が情報Ｉ４と一致しない場合（ステップ１４１１，ＮＯ）、探索部１１２は、ステップ１４１５以降の処理を行う。そして、基点候補配列内のすべての要素が削除された場合（ステップ１４０２，ＮＯ）、探索部１１２は、処理を終了する。
【００７２】
例えば、基点候補配列からスイッチβのポート６とスイッチγのポート５を示す要素が削除された後に、スイッチαのポート５が基点ポートに決定された場合を想定する。この場合、図９のＭＡＣ学習テーブル管理情報３１３において、情報Ｉ１は、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、及びＬである。また、探索対象配列の１番目の要素がスイッチβを示している場合、スイッチβのポート１〜ポート４及びポート６に対応する情報Ｉ２は、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、及びＬであり、情報Ｉ１が情報Ｉ２と一致する。
【００７３】
次に、スイッチαのポート５以外のポート１〜ポート４に対応する情報Ｉ３は、Ａ、Ｂ、Ｃ、及びＤである。また、スイッチβのポート１〜ポート４及びポート６以外のポート５に対応する情報Ｉ４は、Ａ、Ｂ、Ｃ、及びＤであり、情報Ｉ３が情報Ｉ４と一致する。そこで、図１１の１番目のエントリのように、スイッチαのポート５とスイッチβのポート５とが接続されていることを示すリンク情報３１５が生成される。
【００７４】
図１３の機器接続情報生成処理においてＬＬＤＰ情報及びＮＤＰ情報の取得が失敗し、機器接続情報１２１が生成されなかった場合、探索部１１２は、ステップ１４０５〜ステップ１４０７の処理をスキップする。
【００７５】
なお、ＭＡＣ学習テーブル管理情報３１３において、学習されているＭＡＣアドレスの個数が１個であるポートについては、そのＭＡＣアドレスが接続先ポートを表す。そこで、探索部１１２は、ＭＡＣアドレス管理情報３１４を参照して、接続元ポートに対して学習されているＭＡＣアドレスに対応するポートを接続先ポートに決定し、接続元ポートと接続先ポートとが接続されていることを示すリンク情報３１５を生成する。
【００７６】
例えば、接続元ポートがスイッチαのポート１である場合、図９のＭＡＣ学習テーブル管理情報３１３において、スイッチαのポート１に対して学習されているＭＡＣアドレスはＡであり、図１０のＭＡＣアドレス管理情報３１４において、Ａに対応するポートは、ＰＣＰ１のポート１である。そこで、図１１の３番目のエントリのように、スイッチαのポート１とＰＣＰ１のポート１とが接続されていることを示すリンク情報３１５が生成される。
【００７７】
図１２の探索処理によれば、機器接続情報１２１を用いて、基点機器に接続された機器を特定し、特定した機器の探索順位を、それ以外の機器よりも早い順位に設定することができる。したがって、基点機器に接続された機器が他の機器よりも優先して探索され、基点機器が有する基点ポートに接続されている機器のポートを高速に求めることができるため、探索処理の処理時間が削減される。
【００７８】
図１５は、複数のスイッチに対する探索対象配列の例を示している。Ｓ１〜Ｓ３、Ｓ１１〜Ｓ１３、及びＳ２１〜Ｓ２３は、スイッチの識別情報である。図１５（ａ）は、基点機器がスイッチＳ１１である場合に、ＭＡＣ学習テーブル管理情報３１３から抽出された、スイッチＳ１１以外のスイッチの識別情報を、所定の順序で格納した探索対象配列を示している。
【００７９】
ここで、スイッチＳ１１にスイッチＳ１２が接続されており、スイッチＳ１２にスイッチＳ１３がさらに接続されている場合を想定する。この場合、図１５（ａ）の探索対象配列を１番目の要素から探索順序に従って探索すると、スイッチＳ１〜スイッチＳ１０に対してステップ１４１０又はステップ１４１１の判定結果がＮＯになる。そして、スイッチＳ１２が選択されたときに、ステップ１４１０及びステップ１４１１の両方の判定結果が初めてＹＥＳになり、リンク情報３１５が生成される。このため、リンク情報３１５が生成されるまでに長い時間がかかる。
【００８０】
一方、図１５（ｂ）は、スイッチＳ１２及びスイッチＳ１３に対して優先度“１”及び優先度“２”がそれぞれ設定され、他のスイッチに対して優先度“２”よりも低い優先度が設定された場合に、探索対象配列を優先度の高い順にソートした結果を示している。この場合、探索対象配列の１番目の要素がスイッチＳ１２を示しているため、１番目の要素が選択されたときに、ステップ１４１０及びステップ１４１１の両方の判定結果がＹＥＳになり、リンク情報３１５が直ちに生成される。
【００８１】
図１５（ｃ）は、基点機器がスイッチＳ２１であり、スイッチＳ２１にスイッチＳ２２が接続されており、スイッチＳ２２にスイッチＳ２３がさらに接続されている場合の探索対象配列を示している。この場合、スイッチＳ２２及びスイッチＳ２３に対して優先度“１”及び優先度“２”がそれぞれ設定され、他のスイッチに対して優先度“２”よりも低い優先度が設定されて、探索対象配列が優先度の高い順にソートされる。
【００８２】
ソートされた探索対象配列の１番目の要素がスイッチＳ２２を示しているため、１番目の要素が選択されたときに、ステップ１４１０及びステップ１４１１の両方の判定結果がＹＥＳになり、リンク情報３１５が直ちに生成される。
【００８３】
特許文献１のトポロジ探索方法では、ステップ１４１０及びステップ１４１１に相当する判定が、複数のスイッチに対する総当たりで繰り返されるため、探索範囲内に存在するスイッチの個数の２乗のオーダで処理時間が増加する。このため、数百台又は数千台のスイッチを含む通信ネットワークでは、探索処理に多大な時間がかかる。
【００８４】
例えば、探索範囲内に１０００台のスイッチが存在し、学習されているＭＡＣアドレスの個数が２個以上であるポートの個数が平均して３個である場合を想定する。この場合、他のスイッチに接続されているポートの個数は、全部で３０００個になり、ポート間のリンクの本数は、全部で１５００本になる。
【００８５】
ステップ１４１０及びステップ１４１１の両方を併せて１回の判定とカウントし、両方の判定結果がＹＥＳになることを「ヒット」と呼ぶことにすると、判定回数が最大になるのは、以下のような場合である。
（ｐ）２０００個のポート（１０００本のリンク）に対する探索が終了した時点で、残りの１０００個のポート（５００本のリンク）が各スイッチに１個ずつ含まれている。
（ｑ）どのスイッチを接続元として探索を行っても、常に最後の探索順位のスイッチがヒットする。
【００８６】
この場合、最初の１０００本のリンクに対する探索は、すべて９９９回目の判定でヒットするため、判定回数は次式のようになる。
９９９＊１０００＝９９９０００      （１）
【００８７】
残りの５００本のリンクに対する探索では、リンクが確定する度に探索対象のスイッチが２個ずつ減っていくため、判定回数は次式のようになる。
９９９＋９９７＋９９５＋・・・＋１＝２５００００      （２）
【００８８】
想定される最大判定回数は、式（１）及び式（２）の判定回数を合計することで求められ、次式のようになる。
９９９０００＋２５００００＝１２４９０００      （３）
【００８９】
これに対して、機器接続情報１２１を用いて、接続元スイッチに接続されているスイッチを他のスイッチよりも優先して探索することで、想定される最大判定回数は大幅に削減される。学習されているＭＡＣアドレスの個数が２個以上であるポートの個数が平均して３個である場合とは、接続元スイッチに接続されているスイッチの個数が平均して３個である場合を意味する。これらのスイッチが探索対象配列の先頭に存在する場合、最悪でも３回目の判定で探索がヒットすることになる。
【００９０】
この場合、最初の２９９８個のポート（１４９９本のリンク）に対する探索は、すべて３回目の判定でヒットし、最後の２個のポート（１本のリンク）に対する探索は、１回目の判定でヒットするため、判定回数は次式のようになる。
３＊１４９９＋１＝４４９８      （４）
【００９１】
このように、特許文献１の探索処理では、最大で約１２５万回の判定が行われるのに対して、図１２の探索処理では、最大でも約４５００回の判定で済むようになり、判定回数が約９９．７％削減される。したがって、多数のスイッチを含む通信ネットワークにおいても、短時間で探索処理を終了することが可能になる。
【００９２】
また、図１２の探索処理では、機器接続情報１２１が示す機器間の接続関係に誤りが含まれていたとしても、ＭＡＣ学習テーブル管理情報３１３を参照することで誤りが補正されて、正しいリンク情報３１５が生成される。そこで、ユーザが管理しているネットワーク構成図等の誤りをチェックするために、図１２の探索処理を利用することもできる。
【００９３】
ユーザが機器接続情報１２１を入力する場合、従来のＧＵＩ、ＣＬＩ等を用いた手作業による結線情報の登録とは異なり、ポート間の接続関係を入力する必要はない。このため、手作業による結線情報の登録と比較してユーザの負荷は小さい。言い換えれば、小さな負荷と引き換えに、汎用性が高く、高速な探索処理が実現される。
【００９４】
図１及び図３の情報処理装置１０１の構成は一例に過ぎず、情報処理装置１０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、リンク情報３１５を出力する必要がない場合は、図３の出力部３０２を省略することができる。通信ネットワーク３２１全体が探索範囲である場合は、探索範囲情報３１１を省略することができ、取得部３０１が機器接続情報１２１を生成しない場合は、解析ルール３１２を省略することができる。
【００９５】
ＭＡＣアドレスの代わりに、通信ネットワーク３２１内のポートを一意に識別可能な別の物理アドレスを用いてもよい。例えば、それぞれの機器のポート毎にＩＰアドレスが割り当てられている場合、そのＩＰアドレスを物理アドレスとして用いることができる。この場合、ＭＡＣ学習テーブルの代わりに、ポート毎に学習されているＩＰアドレスを含む物理アドレス学習情報が用いられ、ＭＡＣアドレス管理情報３１４の代わりに、各ポートのＩＰアドレスを示す物理アドレス管理情報が用いられる。
【００９６】
図２及び図１２〜図１４Ｂのフローチャートは一例に過ぎず、情報処理装置１０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、探索範囲情報３１１を省略する場合は、図１２のステップ１２０１の処理を省略することができ、取得部３０１が機器接続情報１２１を生成しない場合は、ステップ１２０４及びステップ１２０５の処理を省略することができる。
【００９７】
図１４Ａ及び図１４Ｂのトポロジ探索処理において、探索対象配列の要素を優先度の高い順にソートする代わりに、最初に基点機器に接続されている接続先機器を示す要素を処理し、次に接続先機器以外の機器を示す要素を処理してもよい。
【００９８】
図４の通信ネットワーク３２１及び図６の探索範囲は一例に過ぎず、別の通信ネットワーク又は探索範囲を対象にして探索処理を行ってもよい。図５の探索範囲情報３１１、図７の機器接続情報１２１、図８のＭＡＣ学習テーブル、図９のＭＡＣ学習テーブル管理情報３１３、図１０のＭＡＣアドレス管理情報３１４、図１１のリンク情報３１５、及び図１５の探索対象配列は一例に過ぎない。これらの情報は、処理対象の通信ネットワーク３２１、及び情報処理装置１０１の構成又は条件に応じて変化する。
【００９９】
図１６は、図１及び図３の情報処理装置１０１のハードウェア構成例を示している。図１６の情報処理装置は、Central Processing Unit（ＣＰＵ）１６０１、メモリ１６０２、入力装置１６０３、出力装置１６０４、補助記憶装置１６０５、媒体駆動装置１６０６、及びネットワーク接続装置１６０７を含む。これらの構成要素はバス１６０８により互いに接続されている。
【０１００】
メモリ１６０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、探索処理に用いられるプログラム及びデータを格納する。メモリ１６０２は、図１及び図３の記憶部１１１として用いることができる。
【０１０１】
ＣＰＵ１６０１（プロセッサ）は、例えば、メモリ１６０２を利用してプログラムを実行することにより、図１及び図３の探索部１１２及び図３の取得部３０１として動作する。
【０１０２】
入力装置１６０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置１６０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、リンク情報３１５であってもよい。出力装置１６０４は、図３の出力部３０２として用いることができる。
【０１０３】
補助記憶装置１６０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１６０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置１６０５にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。補助記憶装置１６０５は、図１及び図３の記憶部１１１として用いることができる。
【０１０４】
媒体駆動装置１６０６は、可搬型記録媒体１６０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１６０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１６０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１６０９にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。
【０１０５】
このように、探索処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１６０２、補助記憶装置１６０５、又は可搬型記録媒体１６０９のような、物理的な（非一時的な）記録媒体である。
【０１０６】
ネットワーク接続装置１６０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１６０７を介して受信し、それらをメモリ１６０２にロードして使用することができる。ネットワーク接続装置１６０７は、図３の出力部３０２として用いることができる。
【０１０７】
情報処理装置は、ネットワーク接続装置１６０７を介して、ユーザ端末から探索範囲情報３１１及び処理要求を受信し、探索処理を行って、リンク情報３１５をユーザ端末へ送信することもできる。
【０１０８】
なお、情報処理装置が図１６のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体１６０９を使用しない場合は、媒体駆動装置１６０６を省略してもよい。
【０１０９】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１１０】
図１乃至図１６を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む、物理アドレス学習情報を探索する際に、前記特定機器に接続されている接続先機器を示す機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、
探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める、
処理をコンピュータに実行させるプログラム。
（付記２）
前記コンピュータは、前記特定機器以外の複数の探索対象機器それぞれを示す複数の識別情報を探索対象配列に格納し、前記接続先機器の識別情報に対して前記接続先機器以外の機器の識別情報よりも高い優先度を設定し、前記探索対象配列内の前記複数の識別情報を優先度の高い順にソートし、ソート結果が示す順序に従って前記複数の探索対象機器それぞれの物理アドレス学習情報を探索することを特徴とする付記１記載のプログラム。
（付記３）
前記コンピュータは、前記通信ネットワークに含まれる前記複数の機器それぞれの管理情報ベースを取得し、前記複数の機器それぞれの種別に対応する解析ルールを用いて前記管理情報ベースを解析し、前記管理情報ベースから前記複数の機器の間の接続関係を抽出して、前記機器接続情報を生成することを特徴とする付記１又は２記載のプログラム。
（付記４）
前記コンピュータは、
前記通信ネットワークに含まれる前記複数の機器の物理アドレス学習情報から、学習されている物理アドレスの数が最も多いポートを求め、求めたポートを前記特定ポートに決定し、
前記特定ポートに対して学習されている複数の物理アドレスが、前記接続先機器の物理アドレス学習情報に含まれる複数のポートに対して学習されている物理アドレスの組み合わせと一致し、かつ、前記特定機器の物理アドレス学習情報に含まれる前記特定ポート以外の複数のポートに対して学習されている物理アドレスの組み合わせが、前記接続先機器の物理アドレス学習情報に含まれる１つのポートに対して学習されている複数の物理アドレスと一致する場合、前記１つのポートを前記接続先ポートに決定することを特徴とする付記１乃至３のいずれか１項に記載のプログラム。
（付記５）
通信ネットワークに含まれる複数の機器のうち特定機器に接続されている接続先機器を示す機器接続情報を記憶する記憶部と、
前記特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する際に、前記機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める探索部と、
を備えることを特徴とする情報処理装置。
（付記６）
前記探索部は、前記特定機器以外の複数の探索対象機器それぞれを示す複数の識別情報を探索対象配列に格納し、前記接続先機器の識別情報に対して前記接続先機器以外の機器の識別情報よりも高い優先度を設定し、前記探索対象配列内の前記複数の識別情報を優先度の高い順にソートし、ソート結果が示す順序に従って前記複数の探索対象機器それぞれの物理アドレス学習情報を探索することを特徴とする付記５記載の情報処理装置。
（付記７）
前記通信ネットワークに含まれる前記複数の機器それぞれの管理情報ベースを取得し、前記複数の機器それぞれの種別に対応する解析ルールを用いて前記管理情報ベースを解析し、前記管理情報ベースから前記複数の機器の間の接続関係を抽出して、前記機器接続情報を生成する取得部をさらに備えることを特徴とする付記５又は６記載の情報処理装置。
（付記８）
前記探索部は、
前記通信ネットワークに含まれる前記複数の機器の物理アドレス学習情報から、学習されている物理アドレスの数が最も多いポートを求め、求めたポートを前記特定ポートに決定し、
前記特定ポートに対して学習されている複数の物理アドレスが、前記接続先機器の物理アドレス学習情報に含まれる複数のポートに対して学習されている物理アドレスの組み合わせと一致し、かつ、前記特定機器の物理アドレス学習情報に含まれる前記特定ポート以外の複数のポートに対して学習されている物理アドレスの組み合わせが、前記接続先機器の物理アドレス学習情報に含まれる１つのポートに対して学習されている複数の物理アドレスと一致する場合、前記１つのポートを前記接続先ポートに決定することを特徴とする付記５乃至７のいずれか１項に記載の情報処理装置。
（付記９）
コンピュータが、
通信ネットワークに含まれる複数の機器のうち、特定機器以外の機器が有するポート毎に学習されている物理アドレスを含む物理アドレス学習情報を探索する際に、前記特定機器に接続されている接続先機器を示す機器接続情報に基づいて、前記接続先機器の物理アドレス学習情報を、前記接続先機器以外の機器の物理アドレス学習情報よりも優先して探索し、
探索結果に基づいて、前記特定機器が有する特定ポートに接続されている接続先ポートを求める、
ことを特徴とする情報処理方法。
（付記１０）
前記コンピュータは、前記特定機器以外の複数の探索対象機器それぞれを示す複数の識別情報を探索対象配列に格納し、前記接続先機器の識別情報に対して前記接続先機器以外の機器の識別情報よりも高い優先度を設定し、前記探索対象配列内の前記複数の識別情報を優先度の高い順にソートし、ソート結果が示す順序に従って前記複数の探索対象機器それぞれの物理アドレス学習情報を探索することを特徴とする付記９記載の情報処理方法。
（付記１１）
前記コンピュータは、前記通信ネットワークに含まれる前記複数の機器それぞれの管理情報ベースを取得し、前記複数の機器それぞれの種別に対応する解析ルールを用いて前記管理情報ベースを解析し、前記管理情報ベースから前記複数の機器の間の接続関係を抽出して、前記機器接続情報を生成することを特徴とする付記９又は１０記載の情報処理方法。
（付記１２）
前記コンピュータは、
前記通信ネットワークに含まれる前記複数の機器の物理アドレス学習情報から、学習されている物理アドレスの数が最も多いポートを求め、求めたポートを前記特定ポートに決定し、
前記特定ポートに対して学習されている複数の物理アドレスが、前記接続先機器の物理アドレス学習情報に含まれる複数のポートに対して学習されている物理アドレスの組み合わせと一致し、かつ、前記特定機器の物理アドレス学習情報に含まれる前記特定ポート以外の複数のポートに対して学習されている物理アドレスの組み合わせが、前記接続先機器の物理アドレス学習情報に含まれる１つのポートに対して学習されている複数の物理アドレスと一致する場合、前記１つのポートを前記接続先ポートに決定することを特徴とする付記９乃至１１のいずれか１項に記載の情報処理方法。
【符号の説明】
【０１１１】
１０１  情報処理装置
１１１  記憶部
１１２  探索部
１２１  機器接続情報
３０１  取得部
３０２  出力部
３１１  探索範囲情報
３１２  解析ルール
３１３  ＭＡＣ学習テーブル管理情報
３１４  ＭＡＣアドレス管理情報
３１５  リンク情報
３２１  通信ネットワーク
４０１〜４０３、６０４〜６１５  ＰＣ
４１１〜４１５、６０１〜６０３  スイッチ
８０１〜８０３  ＭＡＣ学習テーブル
１６０１  ＣＰＵ
１６０２  メモリ
１６０３  入力装置
１６０４  出力装置
１６０５  補助記憶装置
１６０６  媒体駆動装置
１６０７  ネットワーク接続装置
１６０８  バス
１６０９  可搬型記録媒体
【図１】
2017228929.tif 000003
【図２】
2017228929.tif 000004
【図３】
2017228929.tif 000005
【図４】
2017228929.tif 000006
【図５】
2017228929.tif 000007
【図６】
2017228929.tif 000008
【図７】
2017228929.tif 000009
【図８】
2017228929.tif 000010
【図９】
2017228929.tif 000011
【図１０】
2017228929.tif 000012
【図１１】
2017228929.tif 000013
【図１２】
2017228929.tif 000014
【図１３】
2017228929.tif 000015
【図１４Ａ】
2017228929.tif 000016
【図１４Ｂ】
2017228929.tif 000017
【図１５】
2017228929.tif 000018
【図１６】
2017228929.tif 000019