(57)【特許請求の範囲】
【請求項１】
木構造ネットワークに含まれる端末に設けられる隣接ノード間通信可否検出装置であって、
前記木構造ネットワークの最上位のノードについて、当該ノードのノードＩＤである自ノードＩＤをノード情報として記憶し、当該最上位のノード以外の各ノードについて、当該ノードのノードＩＤである自ノードＩＤと当該ノードに上位側で隣接するノードのノードＩＤである上位ノードＩＤとを含むノード情報が記憶されるノード情報記憶部と、
前記木構造ネットワークにおける前記端末以外のエンドノードである各ノードにつき、当該ノードのノードＩＤならびに当該ノードと前記端末の間の通信が可能か否か示すフラグとを含む通信情報が記憶される通信情報記憶部と、
前記木構造ネットワークにおいて隣接する隣接ノードのそれぞれについて、当該隣接ノードに対応するノードＩＤ対を含むエッジ情報が記憶されるエッジ情報記憶部と、
前記端末のノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成する第１処理部と、
前記端末との通信が可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する第２処理部と、
当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す第３処理部と、
当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値を記憶させる第４処理部と、
前記端末との通信が不可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する第５処理部と、
当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す第６処理部と、
当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に前記通信可能値が記憶されていなければ、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信不可能であることを示す通信不可能値を記憶させる第７処理部と
を備えることを特徴とする隣接ノード間通信可否検出装置。
【請求項２】
木構造ネットワークに含まれる端末に設けられる隣接ノード間通信可否検出装置の動作方法であって、
前記隣接ノード間通信可否検出装置は、
前記木構造ネットワークの最上位のノードについて、当該ノードのノードＩＤである自ノードＩＤをノード情報として記憶し、当該最上位のノード以外の各ノードについて、当該ノードのノードＩＤである自ノードＩＤと当該ノードに上位側で隣接するノードのノードＩＤである上位ノードＩＤとを含むノード情報が記憶されるノード情報記憶部と、
前記木構造ネットワークにおける前記端末以外のエンドノードである各ノードにつき、当該ノードのノードＩＤならびに当該ノードと前記端末の間の通信が可能か否か示すフラグとを含む通信情報が記憶される通信情報記憶部と、
前記木構造ネットワークにおいて隣接する隣接ノードのそれぞれについて、当該隣接ノードに対応するノードＩＤ対を含むエッジ情報が記憶されるエッジ情報記憶部とを備え、
前記動作方法は、
前記隣接ノード間通信可否検出装置の第１処理部が、前記端末のノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成する工程と、
前記隣接ノード間通信可否検出装置の第２処理部が、前記端末との通信が可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する工程と、
前記隣接ノード間通信可否検出装置の第３処理部が、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す工程と、
前記隣接ノード間通信可否検出装置の第４処理部が、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値を記憶させる工程と、
前記隣接ノード間通信可否検出装置の第５処理部が、前記端末との通信が不可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する工程と、
前記隣接ノード間通信可否検出装置の第６処理部が、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す工程と、
前記隣接ノード間通信可否検出装置の第７処理部が、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に前記通信可能値が記憶されていなければ、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信不可能であることを示す通信不可能値を記憶させる工程と
を備えることを特徴とする隣接ノード間通信可否検出装置の動作方法。
【請求項３】
請求項１記載の隣接ノード間通信可否検出装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの隣接ノードでの通信可否を反映する情報を生成することができる隣接ノード間通信可否検出装置およびその動作方法に関するものである。
【背景技術】
【０００２】
従来において、例えば、ネットワークに含まれるコンピュータなどのノード（第１のノード）で表示されたウェブページが消えるなどの不具合が起こる場合がある。
【０００３】
例えば、原因究明のため、他のコンピュータなどのノード（第２のノード）から第１のノードへＡＲＰパケットを送信し、応答がなかったなら、応答のない原因の１つとしては、第１のノードや第１のノードに接続された通信ケーブルの不具合などが考えられる。つまり、ウェブページが消えた原因も第１のノードなどと考えられ、第１のノードなどにおいてさらなる原因究明がなされる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲＦＣ８２６「イーサネット（登録商標）アドレス解決プロトコル」
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ＡＲＰパケットの経路である第１のノードと第２のノードの間には、場合によっては、スイッチングハブなどのノードが介在する。つまり、ＡＲＰパケットへの応答がない原因は、スイッチングハブかもしれない。
【０００６】
そのため、上記のように第１のノードなどにおいて原因究明をしても原因が見つからない可能性もある。
【０００７】
例えば、上記の例において、ウェブページを第１のノードに転送するアクセスゲートウェイ（第２のノード）と第１のノードの間にスイッチングハブなど（第３のノード）が介在し、第２、第３のノード間では通信可能であるとの情報があり、第３、第１のノード間では通信不可能であるとの情報があるなら、ウェブページが消えた原因は、第２のノード（アクセスゲートウェイ）や第３のノード（スイッチングハブなど）でなく、第１のノードや第１のノードに接続された通信ケーブルであることがわかり、第１のノードや通信ケーブルで原因究明をすれば原因が見つかる。
【０００８】
すなわち、ネットワークは、ノードを介さず相互接続される一対のノードである隣接ノードを単位として構成されると考えれば、各隣接ノードでの通信可否を反映する情報の提供が求められる。
【０００９】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、ネットワークの隣接ノードでの通信可否を反映する情報を生成する隣接ノード間通信可否検出装置とその動作方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、第１の本発明は、木構造ネットワークに含まれる端末に設けられる隣接ノード間通信可否検出装置であって、前記木構造ネットワークの最上位のノードについて、当該ノードのノードＩＤである自ノードＩＤをノード情報として記憶し、当該最上位のノード以外の各ノードについて、当該ノードのノードＩＤである自ノードＩＤと当該ノードに上位側で隣接するノードのノードＩＤである上位ノードＩＤとを含むノード情報が記憶されるノード情報記憶部と、前記木構造ネットワークにおける前記端末以外のエンドノードである各ノードにつき、当該ノードのノードＩＤならびに当該ノードと前記端末の間の通信が可能か否か示すフラグとを含む通信情報が記憶される通信情報記憶部と、前記木構造ネットワークにおいて隣接する隣接ノードのそれぞれについて、当該隣接ノードに対応するノードＩＤ対を含むエッジ情報が記憶されるエッジ情報記憶部と、前記端末のノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成する第１処理部と、前記端末との通信が可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する第２処理部と、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す第３処理部と、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値を記憶させる第４処理部と、前記端末との通信が不可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する第５処理部と、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す第６処理部と、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に前記通信可能値が記憶されていなければ、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信不可能であることを示す通信不可能値を記憶させる第７処理部とを備えることを特徴とする隣接ノード間通信可否検出装置をもって解決手段とする。
【００１１】
第２の本発明は、木構造ネットワークに含まれる端末に設けられる隣接ノード間通信可否検出装置の動作方法であって、前記隣接ノード間通信可否検出装置は、前記木構造ネットワークの最上位のノードについて、当該ノードのノードＩＤである自ノードＩＤをノード情報として記憶し、当該最上位のノード以外の各ノードについて、当該ノードのノードＩＤである自ノードＩＤと当該ノードに上位側で隣接するノードのノードＩＤである上位ノードＩＤとを含むノード情報が記憶されるノード情報記憶部と、前記木構造ネットワークにおける前記端末以外のエンドノードである各ノードにつき、当該ノードのノードＩＤならびに当該ノードと前記端末の間の通信が可能か否か示すフラグとを含む通信情報が記憶される通信情報記憶部と、前記木構造ネットワークにおいて隣接する隣接ノードのそれぞれについて、当該隣接ノードに対応するノードＩＤ対を含むエッジ情報が記憶されるエッジ情報記憶部とを備え、前記動作方法は、前記隣接ノード間通信可否検出装置の第１処理部が、前記端末のノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成する工程と、前記隣接ノード間通信可否検出装置の第２処理部が、前記端末との通信が可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する工程と、前記隣接ノード間通信可否検出装置の第３処理部が、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す工程と、前記隣接ノード間通信可否検出装置の第４処理部が、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値を記憶させる工程と、前記隣接ノード間通信可否検出装置の第５処理部が、前記端末との通信が不可能であることを示すフラグを含む通信情報を前記通信情報記憶部から検索してノードＩＤを読み出し、当該各ノードＩＤにつき、当該ノードＩＤと同じ自ノードＩＤを含むノード情報を前記ノード情報記憶部から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤから最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列を生成し、当該列と前記第１処理部により生成された列とからなる列ペアを生成する工程と、前記隣接ノード間通信可否検出装置の第６処理部が、当該各列ペアのそれぞれの列から、当該列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列を取り出す工程と、前記隣接ノード間通信可否検出装置の第７処理部が、当該各部分列の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、当該ノードＩＤ対を含むエッジ情報を前記エッジ情報記憶部から検索し、当該エッジ情報に前記通信可能値が記憶されていなければ、当該エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信不可能であることを示す通信不可能値を記憶させる工程とを備えることを特徴とする隣接ノード間通信可否検出装置の動作方法をもって解決手段とする。
【発明の効果】
【００１２】
本発明によれば、ネットワークの隣接ノードでの通信可否を反映する情報を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係る隣接ノード間通信可否検出装置が使用される通信ネットワークの一例を示す図である。
【図２】ノードＮ８に構成された隣接ノード間通信可否検出装置の概略構成を示すブロック図である。
【図３】通信情報記憶部１２の構成の一例を示す図である。
【図４】ノード情報記憶部１３の構成の一例を示す図である。
【図５】エッジ情報記憶部１４の構成の一例を示す図である。
【図６】ノード情報記憶部１３とエッジ情報記憶部１４を含むＸＭＬファイルの構成の一例を示す図である。
【図７】隣接ノード間通信可否検出装置１の動作の一例を示すシーケンス図である。
【図８】エッジ情報に通信可能値「ＹＥＳ」または通信不可能値「ＮＯ」を含ませる処理のフローチャートである。
【図９】図８の処理の過程で生成されるデータを示す第１の図である。
【図１０】図８の処理の過程で生成されるデータを示す第２の図である。
【図１１】図８の処理の過程で生成されるデータを示す第３の図である。
【図１２】図７に示す動作に続く動作を示す第１のシーケンス図である。
【図１３】図７に示す動作に続く動作を示す第２のシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
【００１５】
図１は、本実施の形態に係る隣接ノード間通信可否検出装置が使用される通信ネットワークの一例を示す図である。
【００１６】
ノードＮ１は、例えば、アクセスゲートウェイであり、つまり、宅内に設けられた木構造ネットワークＴＮにおける最上位のノードである。
【００１７】
木構造ネットワークＴＮは、ここでは、以下のとおりに構成される。
【００１８】
ノードＮ２は、例えば、スイッチングハブであり、ノードＮ１に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ２は、ノードＮ１に対し下位側で隣接する。
【００１９】
ノードＮ３、Ｎ４は、例えば、スイッチングハブであり、ノードＮ２に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ３、Ｎ４は、ノードＮ２に対し下位側で隣接する。
【００２０】
ノードＮ５、Ｎ６は、例えば、パーソナルコンピュータなどの端末であり、ノードＮ３に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ５、Ｎ６は、ノードＮ３に対し下位側で隣接する。
【００２１】
ノードＮ７は、例えば、スイッチングハブであり、ノードＮ４に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ７は、ノードＮ４に対し下位側で隣接する。
【００２２】
ノードＮ８は、例えば、パーソナルコンピュータなどの端末であり、ノードＮ４に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ８は、ノードＮ４に対し下位側で隣接する。
【００２３】
ノードＮ９、Ｎ１０は、例えば、パーソナルコンピュータなどの端末であり、ノードＮ７に対しノードを介さず通信ケーブルにて接続される。つまり、ノードＮ９、Ｎ１０は、ノードＮ７に対し下位側で隣接する。
【００２４】
木構造ネットワークＴＮにおいて、各ノードＮ１、Ｎ５、Ｎ６、Ｎ８、Ｎ９、Ｎ１０は、１つのノードのみに隣接している。このような各ノードＮ１、Ｎ５、Ｎ６、Ｎ８、Ｎ９、Ｎ１０をエンドノードという。
【００２５】
ノードＮ１は、例えば、宅外において、アクセス網ＮＥＴ１に接続される。
【００２６】
アクセス網ＮＥＴ１には、図示しないサーバが接続され、例えば、インターネットなどの広域網ＮＥＴ２に接続される。
【００２７】
広域網ＮＥＴ２には、図示しない映像サーバやウェブサーバや名前解決サーバが接続される。
【００２８】
図２は、ノードＮ８に構成された隣接ノード間通信可否検出装置の概略構成を示すブロック図である。
【００２９】
隣接ノード間通信可否検出装置１は、例えば、ノードＮ５に構成される。
【００３０】
隣接ノード間通信可否検出装置１は、ノードＮ５以外のノードやサーバなどと通信する通信部１１と、ノードＮ８以外のエンドノードに関する通信情報が記憶される通信情報記憶部１２と、各ノードに関するノード情報が記憶されるノード情報記憶部１３と、木構造ネットワークＴＮにおいて互いに隣接するノードの組（かかる組をなす一対のノードを以下、隣接ノードという）のそれぞれに関するエッジ情報が記憶されるエッジ情報記憶部１４と、通信情報記憶部１２とノード情報記憶部１３に基づいてエッジ情報に通信可能値または通信不可能値を含ませる情報処理部１５と、ノード情報記憶部１３とエッジ情報記憶部１４を用いて各種判定を行う判定部１６と、ノードＮ４の表示部に表示を行うことで、ノードＮ５のユーザ（以下、ユーザという）の動作を促すグラフィカルユーザインタフェース（以下、ＧＵＩ）部１７を備える。
【００３１】
情報処理部１５は、処理の種類ごとに分かれており、つまり、第１〜第７処理部１５１〜１５７からなる。
【００３２】
図３は、通信情報記憶部１２の構成の一例を示す図である。
【００３３】
通信情報記憶部１２は、ノードＮ８以外のエンドノードである各ノードＮ１、Ｎ６、Ｎ８、Ｎ９、Ｎ１０につき、当該ノードのノードＩＤならびに当該ノードとノードＮ８の間の通信が可能か否か示すフラグとを含む通信情報を記憶するためのものである。
【００３４】
ノードＩＤは、該当ノードを示す識別情報（例えば、該当ノードのＭＡＣアドレス）であり、本実施の形態では、当該ノードの参照符号（「Ｎ１」など）がノードＩＤであることとする。
【００３５】
また、本実施の形態では、フラグ「ＯＫ」は、通信可能を示し、フラグ「ＮＧ」は、通信不可能を示すこととする。
【００３６】
図４は、ノード情報記憶部１３の構成の一例を示す図である。
【００３７】
ノード情報記憶部１３は、ノードＮ１のノードＩＤである自ノードＩＤを含むノード情報と、ノードＮ１以外の各ノードについてのノード情報とを記憶している。
【００３８】
ノードＮ１以外の各ノードのノード情報は、当該ノードのノードＩＤである自ノードＩＤと、当該ノードに上位側で隣接するノードのノードＩＤである上位ノードＩＤとを含んでいる。
【００３９】
すなわち、ノード情報記憶部１３は、図１の木構造ネットワークＴＮを示す、いわゆるマップＭＰに相当するものである。
【００４０】
図５は、エッジ情報記憶部１４の構成の一例を示す図である。
【００４１】
エッジ情報記憶部１４は、木構造ネットワークＴＮにおいて互いに隣接するノードの組（隣接ノード）のそれぞれについて、当該隣接ノードに対応するノードＩＤの組（かかる組をなす一対のノードＩＤを以下、ノードＩＤ対という）を含むエッジ情報を記憶している。
【００４２】
各エッジ情報は、後に、当該エッジ情報内のノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値「ＹＥＳ」または当該隣接ノードの間が通信不可能であることを示す通信不可能値「ＮＯ」を含むこととなる。
【００４３】
すなわち、エッジ情報記憶部１４は、図１のマップＭＰの線Ｅの部分に対応するものであり、通信可能値は、線Ｅに○印を付けるようなものであり、通信不可能値は、線Ｅに×印を付けるようなものである。
【００４４】
つまり、隣接ノード間通信可否検出装置１では、図１に示すような○×付きのマップＭＰまたは○×なしのマップＭＰを、ノード情報記憶部１３、エッジ情報記憶部１４に基づいて作成し、表示することができる。
【００４５】
さて、ここで、図４に示すようなノード情報記憶部１３と、図５に示すような、ただし、通信可能値等を含む前のエッジ情報記憶部１４を構成する方法の一例を説明する。
【００４６】
ノードＮ１は、定期的に、ノードＮ５、Ｎ６、Ｎ８、Ｎ９、Ｎ１０からこれらのノードＩＤ（ＭＡＣアドレス）を取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００４７】
また、ノードＮ２は、定期的に、ノードＮ５、Ｎ６、Ｎ８、Ｎ９、Ｎ１０からこれらのノードＩＤ（ＭＡＣアドレス）を取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００４８】
また、ノードＮ３は、定期的に、ノードＮ５、Ｎ６からこれらのノードＩＤ（ＭＡＣアドレス）を取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００４９】
また、ノードＮ４は、定期的に、ノードＮ８、Ｎ９、Ｎ１０からこれらのノードＩＤ（ＭＡＣアドレス）を取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００５０】
また、ノードＮ７は、定期的に、ノードＮ９、Ｎ１０からこれらのノードＩＤ（ＭＡＣアドレス）を取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００５１】
ノードＮ５は、これらのノードＩＤとポート番号を基にノード情報記憶部１３、エッジ情報記憶部１４を構成する。
【００５２】
例えば、ノードＮ４に新たなノードが接続された場合、ノードＮ４は、ノードＮ８、Ｎ９、Ｎ１０、新たなノードからこれらのノードＩＤを取得し、これを取得したポートのポート番号とともにノードＮ５に通知する。
【００５３】
ノードＮ５は、これらのノードＩＤとポート番号を基に、ノード情報記憶部１３、エッジ情報記憶部１４に、ノードＮ４に関するノード情報、エッジ情報を追加する。
【００５４】
一方、例えば、ノードＮ１０が起動されておらず、ノードＮ７が、ノードＮ９のみからノードＩＤを取得し、これを取得したポートのポート番号とともにノードＮ５に通知することがある。
【００５５】
この場合、ノードＮ５は、ノードＮ１０に関するノード情報、エッジ情報を削除せず、残しておく。ノードＮ５は、例えば、このノード情報、エッジ情報に対し、該当のノードが何らかの原因で機能していない旨の情報を関連づける。
【００５６】
隣接ノード間通信可否検出装置１は、マップＭＰを表示したときには、このノード１０のようなノードを色を変えて表示し、よって、このノードが何らかの原因で機能していないことをユーザに提示することができる。
【００５７】
図６は、ノード情報記憶部１３とエッジ情報記憶部１４を含むＸＭＬファイルの構成の一例を示す図である。
【００５８】
ノード情報記憶部１３とエッジ情報記憶部１４は、データベースとして構成してもよいが、そうでなく、ＸＭＬファイルに含ませてもよい。
【００５９】
このようなＸＭＬファイルは、ノード情報記憶部１３を実質的に含む部分１０１と、エッジ情報記憶部１４を実質的に含む部分１０２とを備える。
【００６０】
部分１０１では、例えば、自ノードＩＤ「Ｎ５」と上位ノードＩＤ「Ｎ３」を含むノード情報は、ノードＩＤ「Ｎ３」を含む領域ＡＮ３と、領域ＡＮ３に対して入れ子になった、ノードＩＤ「Ｎ５」を含む領域ＡＮ５とに跨って構成される。
【００６１】
（隣接ノード間通信可否検出装置１の動作）
図７は、隣接ノード間通信可否検出装置１の動作の一例を示すシーケンス図である。
【００６２】
ここでは、２つのケース、つまり（１）ノードＮ９が、広域網ＮＥＴ２に接続された映像サーバから受信した映像を表示するものであり、これを見ていたユーザが、映像表示などの不具合を機に、ノードＮ６からノードＮ９への通信を試み、通信ができなかったケースと、（２）ノードＮ６が、広域網ＮＥＴ２に接続されたウェブサーバから受信したウェブページを表示するコンピュータであり、ユーザがウェブページを見ていたときに、ウェブページが消えるなどの不具合が起こったケースと、を想定して説明を行う。
【００６３】
ユーザが、不具合を解決しようとして、隣接ノード間通信可否検出装置１を起動すると（Ｓ１）、ＧＵＩ部１７は、「全ノードを起動してください」という意味の文章などを表示する（Ｓ３）。
【００６４】
ユーザが全ノードを起動すると（Ｓ５）、ＧＵＩ部１７は、○×なしのマップＭＰを表示し、「互いに通信できない２つのノードまたはサーバとの通信ができないノードを指定してください」という意味の文章などを表示する（Ｓ７）。
【００６５】
ここで、「２つのノード」は、上記（１）の場合のノードＮ６、Ｎ９を求めるものであり、「サーバとの通信ができないノード」は、上記（２）の場合のノードＮ６を求めるものである。
【００６６】
ユーザが、ノードを指定すると（Ｓ９）、判定部１６は、そのノードに関するノード情報、エッジ情報がノード情報記憶部１３、エッジ情報記憶部１４にあるか否かを判定する（Ｓ１１）。
【００６７】
ＧＵＩ部１７は、ノード情報、エッジ情報がノード情報記憶部１３、エッジ情報記憶部１４にないなら（Ｓ１１：ＮＯ）、「通信ケーブルは接続されていますか」という意味の文章などを表示する（Ｓ１３）。
【００６８】
通信ケーブルが接続されていなければ（Ｓ１３：ＮＯ）、それが原因ということになり、問題は解決する。
【００６９】
なお、通信ケーブルが接続されれば、ノードに関するノード情報、エッジ情報がノード情報記憶部１３、エッジ情報記憶部１４に追加される。
【００７０】
一方、ＧＵＩ部１７は、通信ケーブルが接続されていれば（Ｓ１３：ＹＥＳ）、「指定したノードおよび隣接するノード        を再起動し、通信可能となるかを確認してください」という意味の文章などを表示する（Ｓ１５）。
【００７１】
通信可能となったら（Ｓ１５：ＹＥＳ）、指定したノードや隣接するノードが原因ということになり、問題は解決する。
【００７２】
通信可能にならないなら（Ｓ１５：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。この場合、その他のノードの設定ミスや異常などが考えられる。
【００７３】
一方、判定部１６は、指定されたノードに関するノード情報、エッジ情報がノード情報記憶部１３、エッジ情報記憶部１４にあるなら、通信部１１に各エンドノード（ノード）への通信（例えば、ＡＲＰパケットの送信と応答受信）を試行させ、通信部１１は、試行結果に基づき生成した通信情報を通信情報記憶部１２に記憶させる（Ｓ２１）。
【００７４】
具体的には、通信部１１は、通信可能だった各ノードにつき、当該ノードのノードＩＤとフラグ「ＯＫ」を含む通信情報を通信情報記憶部１２に記憶させ、一方、通信不可能だった各ノードにつき、当該ノードのノードＩＤとフラグ「ＮＧ」を含む通信情報を通信情報記憶部１２に記憶させる（Ｓ２１）。
【００７５】
なお、通信情報には、該当ノードの製造メーカ名、型番号などを記憶させ、このような情報を原因究明に使用可能とするのが好ましい。
【００７６】
次に、情報処理部１５は、通信情報記憶部１２とノード情報記憶部１３を用いて、エッジ情報記憶部１４の各エッジ情報に通信可能値「ＹＥＳ」または通信不可能値「ＮＯ」を含ませる（Ｓ２３）。
【００７７】
図８は、エッジ情報に通信可能値「ＹＥＳ」または通信不可能値「ＮＯ」を含ませる処理のフローチャートである。
【００７８】
図９、図１０、図１１は、図８の処理の過程で生成されるデータを示す図である。
【００７９】
図８において、情報処理部１５の第１処理部１５１は、まず、隣接ノード間通信可否検出装置１が構成されたノードＮ５のノードＩＤ「Ｎ５」と同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、こうして、上位ノードＩＤを含まないノード情報まで検索し、これにより、図９（ａ）に示すような列Ｌ０、つまり、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤ「Ｎ５」までが順に並ぶ列Ｌ０を生成し（Ｔ１）、ステップＴ３に進む。
【００８０】
ステップＴ３以降では、情報処理部１５の第２処理部１５２が、フラグ「ＯＫ」を含む各通信情報について処理していくのだが、まず、そのような通信情報の１つである、例えばノードＩＤ「Ｎ６」を含む通信情報を通信情報記憶部１２から検索して当該ノードＩＤを読み出し、当該ノードＩＤと同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、こうして、上位ノードＩＤを含まないノード情報まで検索し、これにより、図９（ｂ）に例示するような列Ｌ１、つまり、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤ「Ｎ６」までが順に並ぶ列Ｌ１を生成し、図９（ｃ）に例示するような当該列Ｌ１と列Ｌ０とからなる列ペアＬＰ１を生成する（Ｔ３）。
【００８１】
次に、情報処理部１５の第２処理部１５２は、フラグ「ＯＫ」を含み且つステップＴ３で処理されていない通信情報の有無を判定し（Ｔ５）、かかる通信情報があれば（Ｔ５：ＹＥＳ）、ステップＴ３に戻り、一方、かかる通信情報がなければ（Ｔ５：ＮＯ）、ステップＴ７に進む。
【００８２】
ステップＴ３に戻った場合、情報処理部１５の第２処理部１５２は、例えば、ノードＩＤ「Ｎ１」を含む通信情報（フラグ「ＯＫ」を含む）から当該ノードＩＤを読み出し、当該ノードＩＤと同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、こうして、上位ノードＩＤを含まないノード情報まで検索し、これにより、図１０（ａ）に例示するようなノードＩＤ「Ｎ１」のみの列Ｌ１を生成し、図１０（ｂ）に例示するような当該列Ｌ１と列Ｌ０とからなる列ペアＬＰ１を生成する（Ｔ３）。
【００８３】
ステップＴ７以降では、情報処理部１５の第３処理部１５３が、各列ペアＬＰ１について処理していくのだが、まず、図９（ｃ）に例示するような列ペアＬＰ１の列Ｌ１から、図９（ｄ）に例示するようなノードＩＤ「Ｎ３」（列Ｌ１の最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ列ペアＬＰ１での相手の列Ｌ０に対して共通なノードＩＤ「Ｎ３」）からノードＩＤ「Ｎ６」（最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ当該相手の列Ｌ０に対して共通でないノードＩＤ「Ｎ６」）までの部分列ＢＬ１を取り出し、また、図９（ｃ）に例示するような列ペアＬＰ１の列Ｌ０から、図９（ｄ）に例示するようなノードＩＤ「Ｎ３」（列Ｌ０の最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ列ペアＬＰ１での相手の列Ｌ１に対して共通なノードＩＤ「Ｎ３」）からノードＩＤ「Ｎ５」（最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ当該相手の列Ｌ１に対して共通でないノードＩＤ「Ｎ５」）までの部分列ＢＬ１を取り出す（Ｔ７）。
【００８４】
次に、情報処理部１５の第３処理部１５３は、ステップＴ７で処理されていない列ペアＬＰ１の有無を判定し（Ｔ９）、かかる列ペアＬＰ１があれば（Ｔ９：ＹＥＳ）、ステップＴ７に戻り、一方、かかる列ペアＬＰ１がなければ（Ｔ９：ＮＯ）、ステップＴ１１に進む。
【００８５】
ステップＴ７に戻った場合、情報処理部１５の第３処理部１５３は、例えば、図１０（ｂ）に例示するような列ペアＬＰ１の列Ｌ０から、図１０（ｃ）に例示するようなノードＩＤ「Ｎ１」（列Ｌ１の最上位ノードＩＤ「Ｎ１」に対して最も近く且つ列ペアＬＰ１での相手の列Ｌ１に対して共通なノードＩＤ「Ｎ１」）からノードＩＤ「Ｎ５」（最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ当該相手の列Ｌ１に対して共通でないノードＩＤ「Ｎ５」）までの部分列ＢＬ１を取り出す（Ｔ７）。
【００８６】
ステップＴ１１以降では、情報処理部１５の第４処理部１５４が、各部分列ＢＬ１の隣り合うノードＩＤからなるノードＩＤ対のそれぞれについて処理していくのだが、まず、図９（ｄ）に例示する部分列ＢＬ１「Ｎ３−Ｎ６」に含まれるノードＩＤ「Ｎ３」、「Ｎ６」からなる、図９（ｅ）に例示するノードＩＤ対ＮＰ１「Ｎ３、Ｎ６」を含むエッジ情報をエッジ情報記憶部１４から検索し、当該エッジ情報に通信可能値「ＹＥＳ」を記憶させる（Ｔ１１）。
【００８７】
次に、情報処理部１５の第４処理部１５４は、ステップＴ１１で処理されていないノードＩＤ対ＮＰ１の有無を判定し（Ｔ１３）、かかるノードＩＤ対ＮＰ１があれば（Ｔ１３：ＹＥＳ）、ステップＴ１１に戻り、一方、かかるノードＩＤ対ＮＰ１がなければ（Ｔ１３：ＮＯ）、ステップＴ１５に進む。
【００８８】
ステップＴ１１に戻った場合、情報処理部１５の第４処理部１５４は、例えば、図１０（ｃ）に例示する部分列ＢＬ１「Ｎ１−Ｎ２−Ｎ３−Ｎ５」に含まれるノードＩＤ「Ｎ１」、「Ｎ２」からなる、図１０（ｄ）に例示するノードＩＤ対ＮＰ１「Ｎ１、Ｎ２」を含むエッジ情報をエッジ情報記憶部１４から検索し、当該エッジ情報に通信可能値「ＹＥＳ」を記憶させる（Ｔ１１）。
【００８９】
ステップＴ１５以降では、情報処理部１５の第５処理部１５５が、フラグ「ＮＧ」を含む各通信情報について処理していくのだが、まず、ノードＩＤ「Ｎ９」を含む通信情報を通信情報記憶部１２から検索して当該ノードＩＤを読み出し、当該ノードＩＤと同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、当該ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、こうして、上位ノードＩＤを含まないノード情報まで検索し、これにより、図１１（ａ）に例示するような列Ｌ２、つまり、当該上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤ「Ｎ９」までが順に並ぶ列Ｌ２を生成し、図１１（ｂ）に例示するような当該列Ｌ２と列Ｌ０とからなる列ペアＬＰ２を生成する（Ｔ１５）。
【００９０】
次に、情報処理部１５の第５処理部１５５は、フラグ「ＮＧ」を含み且つステップＴ１５で処理されていない通信情報の有無を判定し（Ｔ１７）、かかる通信情報があれば（Ｔ１７：ＹＥＳ）、ステップＴ１５に戻り、一方、かかる通信情報がなければ（Ｔ１７：ＮＯ）、ステップＴ１９に進む。
【００９１】
ステップＴ１９以降では、情報処理部１５の第６処理部１５６が、各列ペアＬＰ２について処理していくのだが、まず、図１１（ｂ）に例示するような列ペアＬＰ２の列Ｌ２から、図１１（ｃ）に例示するようなノードＩＤ「Ｎ２」（列Ｌ２の最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ列ペアＬＰ２での相手の列Ｌ０に対して共通なノードＩＤ「Ｎ２」）からノードＩＤ「Ｎ９」（最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ当該相手の列Ｌ０に対して共通でないノードＩＤ「Ｎ９」）までの部分列ＢＬ２を取り出し、また、図１１（ｂ）に例示するような列ペアＬＰ２の列Ｌ０から、図１１（ｃ）に例示するようなノードＩＤ「Ｎ２」（列Ｌ０の最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ列ペアＬＰ２での相手の列Ｌ２に対して共通なノードＩＤ「Ｎ２」）からノードＩＤ「Ｎ５」（最上位ノードＩＤ「Ｎ１」に対して最も遠く且つ当該相手の列Ｌ２に対して共通でないノードＩＤ「Ｎ５」）までの部分列ＢＬ２を取り出す（Ｔ１９）。
【００９２】
次に、情報処理部１５の第６処理部１５６は、ステップＴ１９で処理されていない列ペアＬＰ２の有無を判定し（Ｔ２１）、かかる列ペアＬＰ２があれば（Ｔ２１：ＹＥＳ）、ステップＴ１９に戻り、一方、かかる列ペアＬＰ２がなければ（Ｔ２１：ＮＯ）、ステップＴ２３に進む。
【００９３】
ステップＴ２３以降では、情報処理部１５の第７処理部１５７が、各部分列ＢＬ２の隣り合うノードＩＤからなるノードＩＤ対のそれぞれについて処理していくのだが、まず、図１１（ｃ）に例示する部分列ＢＬ２「Ｎ２−Ｎ４−Ｎ７−Ｎ９」に含まれるノードＩＤ「Ｎ２」、「Ｎ４」からなる、図１１（ｄ）に例示するノードＩＤ対ＮＰ２「Ｎ２、Ｎ４」を含むエッジ情報をエッジ情報記憶部１４から検索し、当該エッジ情報に通信可能値が記憶されていなければ、通信不可能値「ＮＯ」を記憶させる（Ｔ２３）。
【００９４】
次に、情報処理部１５の第７処理部１５７は、ステップＴ２３で処理されていないノードＩＤ対の有無を判定し（Ｔ２５）、かかるノードＩＤ対があれば（Ｔ２５：ＹＥＳ）、ステップＴ２３に戻り、一方、かかるノードＩＤ対がなければ（Ｔ２５：ＮＯ）、処理を終える。
【００９５】
こうして、図５に示すように、各エッジ情報には、通信可能値「ＹＥＳ」または通信不可能値「ＮＯ」が含まれる。
【００９６】
図７に戻り、判定部１６は、ステップＳ９で指定されたノードの数が１か２かを判定し（Ｓ３１）、ノードの数が２なら、つまり、上記（１）の場合なら、図１２のステップＳ４１に進み、ノードの数が１なら、つまり、上記（２）の場合なら、図１３のステップＳ５１に進む。
【００９７】
図１２において、判定部１６は、ステップＳ９で指定された２つのノードＮ６、Ｎ９間の経路に該当する少なくとも１つのエッジ情報に通信不可能値が含まれているか否かを判定する（Ｓ４１）。
【００９８】
ＧＵＩ部１７は、少なくとも１つのエッジ情報に通信不可能値が含まれているならば（Ｓ４１：ＹＥＳ）、以下のような表示を行う（Ｓ４３）。
【００９９】
例えば、図１における○×の状況がエッジ情報に反映されているなら、つまり、ノードＮ４、Ｎ９間が通信不可能なら、「ノードＮ４からノードＮ９までにおいて、通信ケーブルが接続され且つ各ノードが起動されていますか」という意味の文章などを表示する（Ｓ４３）。
【０１００】
通信ケーブルが接続され且つ各ノードが起動されていなければ（Ｓ４３：ＮＯ）、通信ケーブルまたはノードが原因ということになり、問題は解決する。
【０１０１】
通信ケーブルが接続され且つ各ノードが起動されていれば（Ｓ４３：ＹＥＳ）、ＧＵＩ部１７は、「ノードＮ６、Ｎ９および隣接するノードを再起動し、通信可能となるかを確認してください」という意味の文章などを表示する（Ｓ４５）。
【０１０２】
通信可能となったら（Ｓ４５：ＹＥＳ）、ノードＮ６、Ｎ９または隣接するノードが原因ということになり、問題は解決する。
【０１０３】
通信可能にならないなら（Ｓ４５：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。この場合、その他のノードの設定ミスや異常などが考えられる。
【０１０４】
ＧＵＩ部１７は、全てのエッジ情報に通信可能値が含まれているならば（Ｓ４１：ＮＯ）、「ノードＮ６、Ｎ９を再起動し、通信可能となるかを確認してください」という意味の文章などを表示する（Ｓ４７）。
【０１０５】
通信可能となったら（Ｓ４７：ＹＥＳ）、ノードＮ６、Ｎ９が原因ということになり、問題は解決する。
【０１０６】
通信可能にならないなら（Ｓ４７：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。この場合、ノードＮ６、Ｎ９の設定ミスや異常などが考えられる。
【０１０７】
図１３において、判定部１６は、ステップＳ９で指定されたノードＮ６とノードＮ１の間の経路に該当する少なくとも１つのエッジ情報に通信不可能値が含まれているか否かを判定する（Ｓ５１）。
【０１０８】
ＧＵＩ部１７は、少なくとも１つのエッジ情報に通信不可能値が含まれているならば（Ｓ５１：ＹＥＳ）、以下のような表示を行う（Ｓ５３）。
【０１０９】
例えば、ノードＮ２、Ｎ６間が通信不可能なら、「ノードＮ２からノードＮ６までにおいて、通信ケーブルが接続され且つ各ノードが起動されていますか」という意味の文章などを表示する（Ｓ５３）。
【０１１０】
通信ケーブルが接続され且つ各ノードが起動されていなければ（Ｓ５３：ＮＯ）、通信ケーブルまたはノードが原因ということになり、問題は解決する。
【０１１１】
通信ケーブルが接続され且つ各ノードが起動されていれば（Ｓ５３：ＹＥＳ）、ＧＵＩ部１７は、「ノードＮ１、Ｎ６を再起動し、通信可能となるかを確認してください」という意味の文章などを表示する（Ｓ５５）。
【０１１２】
通信可能となったら（Ｓ５５：ＹＥＳ）、ノードＮ１またはノードＮ６が原因ということになり、問題は解決する。
【０１１３】
通信可能にならないなら（Ｓ５５：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。この場合、その他のノードの設定ミスや異常などが考えられる。
【０１１４】
判定部１６は、全てのエッジ情報に通信可能値が含まれているならば（Ｓ５１：ＮＯ）、通信部１１にアクセス網ＮＥＴ１に接続された予め定められたサーバとの通信を試行させ、通信が可能だったか否かを判定する（Ｓ６１）。
【０１１５】
ＧＵＩ部１７は、通信不可能だったなら（Ｓ６１：ＮＯ）、「ノードＮ１に通信ケーブルが接続されていますか」という意味の文章などを表示する（Ｓ６３）。
【０１１６】
ノードＮ１に通信ケーブルが接続されていなければ（Ｓ６３：ＮＯ）、それが原因ということになり、問題は解決する。
【０１１７】
ノードＮ１に通信ケーブルが接続されていれば（Ｓ６３：ＹＥＳ）、ＧＵＩ部１７は、「ノードＮ１を再起動し、通信可能となるかを確認してください」という意味の文章などを表示する（Ｓ６５）。
【０１１８】
通信可能となったら（Ｓ６５：ＹＥＳ）、ノードＮ１が原因ということになり、問題は解決する。
【０１１９】
通信可能にならないなら（Ｓ６５：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。
【０１２０】
判定部１６は、通信可能だったなら（Ｓ６１：ＹＥＳ）、通信部１１にノードＮ１からアクセス網ＮＥＴ１側のアドレスを取得させ、ノードＮ１からアドレスを取得できたか否かを判定する（Ｓ７１）。
【０１２１】
ＧＵＩ部１７は、アドレスを取得できなかったなら（Ｓ７１：ＮＯ）、「ノードＮ１にユーザ情報等を入力し、通信可能となるかを確認してください」いう意味の文章などを表示する（Ｓ７３）。
【０１２２】
ノードＮ１にユーザ情報等（ＤＨＣＰ設定情報など）が入力され通信可能になったら（Ｓ７３：ＹＥＳ）、それが原因ということになり、問題は解決する。
【０１２３】
ノードＮ１にユーザ情報が入力されても通信可能にならないなら（Ｓ７３：ＮＯ）、その他の原因があるということになり、さらに問題解決が図られる。
【０１２４】
判定部１６は、アドレスを取得できたなら（Ｓ７１：ＹＥＳ）、通信部１１に予め定められた名前解決サーバから予め定められた名前に対するアドレスを取得させ、名前解決サーバからアドレスを取得できたか否かを判定する（Ｓ８１）。
【０１２５】
ＧＵＩ部１７は、アドレスを取得できなかったなら（Ｓ８１：ＮＯ）、その旨を表示する（Ｓ８３）。つまり、名前解決サーバが原因ということになり、問題は解決する。
【０１２６】
判定部１６は、アドレスを取得できたなら（Ｓ８１：ＹＥＳ）、通信部１１に該当のウェブサーバとの通信を試行させ、通信できたか否かを判定する（Ｓ９１）。
【０１２７】
ＧＵＩ部１７は、通信できなかったなら（Ｓ９１：ＮＯ）、その旨を表示する（Ｓ９３）。つまり、該当のウェブサーバや周辺の通信環境が原因ということになり、問題は解決する。
【０１２８】
ＧＵＩ部１７は、通信できたなら（Ｓ９１：ＹＥＳ）、その旨を表示する（Ｓ９５）。  つまり、その他の原因があるということになり、さらに問題解決が図られる。この場合、ノードＮ６の設定ミスや異常などが考えられる。
【０１２９】
以上説明したように、本実施の形態では、第１処理部１５１は、隣接ノード間通信可否検出装置１が構成されたノードＮ５のノードＩＤ「Ｎ５」と同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤ「Ｎ５」までが順に並ぶ列Ｌ０を生成する（Ｔ１）。
【０１３０】
また、第２処理部１５２は、フラグ「ＯＫ」を含む通信情報を通信情報記憶部１２から検索して当該ノードＩＤを読み出し、ノードＩＤと同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列Ｌ１を生成し、当該列Ｌ１と列Ｌ０とからなる列ペアＬＰ１を生成する（Ｔ３）。
【０１３１】
また、第３処理部１５３は、各列ペアＬＰ１のそれぞれの列から、列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列ＢＬ１を取り出す（Ｔ７）。
【０１３２】
また、第４処理部１５４は、各部分列ＢＬ１の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、ノードＩＤ対を含むエッジ情報をエッジ情報記憶部１４から検索し、エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信可能であることを示す通信可能値「ＹＥＳ」を記憶させる（Ｔ１１）。
【０１３３】
また、第５処理部１５５は、フラグ「ＮＧ」を含む各通信情報を通信情報記憶部１２から検索して当該ノードＩＤを読み出し、ノードＩＤと同じ自ノードＩＤを含むノード情報をノード情報記憶部１３から検索し、ノード情報内の上位ノードＩＤと同じ自ノードＩＤを含むノード情報を検索していき、上位ノードＩＤを含まないノード情報まで検索し、上位ノードＩＤを含まないノード情報内の自ノードＩＤである最上位ノードＩＤ「Ｎ１」から最も先に検索されたノード情報内の自ノードＩＤまでが順に並ぶ列Ｌ２を生成し、当該列Ｌ２と列Ｌ０とからなる列ペアＬＰ２を生成する（Ｔ１５）。
【０１３４】
また、第６処理部１５６は、各列ペアＬＰ２のそれぞれの列から、列の最上位ノードＩＤに対して最も遠く且つ当該列ペアでの相手の列に対して共通なノードＩＤから当該最上位ノードＩＤに対して最も遠く且つ当該相手の列に対して共通でないノードＩＤまでの部分列ＢＬ２を取り出す（Ｔ１９）。
【０１３５】
また、第７処理部１５７は、各部分列ＢＬ２の隣り合うノードＩＤからなるノードＩＤ対のそれぞれにつき、ノードＩＤ対を含むエッジ情報をエッジ情報記憶部１４から検索し、エッジ情報に通信可能値「ＹＥＳ」が記憶されていなければ、エッジ情報に対し、当該ノードＩＤ対に対応する隣接ノードの間が通信不可能であることを示す通信不可能値「ＮＯ」を記憶させる（Ｔ２３）。
【０１３６】
よって、本実施の形態によれば、木構造ネットワークＴＮの隣接ノードでの通信可否を反映するエッジ情報を生成することができ、木構造ネットワークＴＮでの不具合の切り分けが容易になるという効果を得ることができる。
【０１３７】
なお、本実施の形態において、木構造ネットワークＴＮの構成は一例であり、本発明は任意の構成を有する木構造に適用することができる。
【０１３８】
また、本実施の形態に係る隣接ノード間通信可否検出装置１としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【０１３９】
１…隣接ノード間通信可否検出装置
１１…通信部
１２…通信情報記憶部
１３…ノード情報記憶部
１４…エッジ情報記憶部
１５…情報処理部
１６…判定部
１７…ＧＵＩ部
１５１…第１処理部
１５２…第２処理部
１５３…第３処理部
１５４…第４処理部
１５５…第５処理部
１５６…第６処理部
１５７…第７処理部
【図１】
0005314729.tif 000002
【図２】
0005314729.tif 000003
【図３】
0005314729.tif 000004
【図４】
0005314729.tif 000005
【図５】
0005314729.tif 000006
【図６】
0005314729.tif 000007
【図７】
0005314729.tif 000008
【図８】
0005314729.tif 000009
【図９】
0005314729.tif 000010
【図１０】
0005314729.tif 000011
【図１１】
0005314729.tif 000012
【図１２】
0005314729.tif 000013
【図１３】
0005314729.tif 000014