(57)【要約】【課題】大規模ネットワークにおいて通信を高速かつ高信頼に行うことを可能にする通信システムを得ること。【解決手段】本発明にかかる通信システムにおいて、管理装置は、通信障害を検出した場合には、通信不能状態のノードが属しているサブネットワークとの間の通信を中継するよう、サブネットワークの隣接サブネットワークに対して指示を行い、指示を受けた隣接サブネットワークに属している境界ノードのうち、サブネットワークに属している境界ノードとのリンクを有している境界ノードは、サブネットワークと管理装置との間の通信を中継する動作を開始するとともに、リンクを介して接続されている境界ノードに対して、管理装置との間の通信を隣接サブネットワーク経由で行うよう指示し、管理装置との間の通信を隣接サブネットワーク経由で行うよう指示された境界ノードは、指示内容に従った動作を開始する。【選択図】図１
2013162410.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードにより形成された通信ネットワークと当該通信ネットワークを管理する管理装置とを備え、前記通信ネットワークは複数のサブネットワークからなり、各サブネットワークは、前記管理装置とのリンクを有する１台以上のゲートウェイノードと、隣接サブネットワークのノードとのリンクを有する１台以上の境界ノードとを含み、２台のノードを接続している各リンクを、当該２台のノードが同じサブネットワークを形成しているのであれば当該２台のノードと同じサブネットワークに属しているものとし、当該２台のノードがそれぞれ異なるサブネットワークを形成しているのであればいずれか一方のノードと同じサブネットワークに属しているものとして管理している通信システムであって、
前記境界ノードは、起動後の初期状態においては自身と異なるサブネットワークに属しているリンクに対する信号送信動作を停止しておき、
前記管理装置は、前記通信ネットワーク形成している各ノードとの通信が正常か否かを監視し、通信障害を検出した場合には、通信不能状態のノードが属しているサブネットワークとの間の通信を中継するよう、当該サブネットワークの隣接サブネットワークに対して指示を行い、
前記指示を受けた前記隣接サブネットワークに属している境界ノードのうち、前記サブネットワークに属している境界ノードとのリンクを有している境界ノードは、当該サブネットワークと前記管理装置との間の通信を中継する動作を開始するとともに、当該リンクを介して接続されている境界ノードに対して、前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示し、
前記サブネットワークの境界ノードのうち、前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示された境界ノードは、指示内容に従った動作を開始する、
ことを特徴とする通信システム。
【請求項２】
前記ゲートウェイノードは、自サブネットワークの各境界ノードとの通信が正常か否かを監視し、通信障害を検出した場合には、通信障害が発生している境界ノードを前記管理装置へ通知し、
前記管理装置は、前記ゲートウェイノードから通信障害が発生している境界ノードの通知を受けた場合、当該境界ノードが属しているサブネットワークから送信された管理装置宛の信号を当該境界ノード経由で中継するとともに、管理装置から送信された当該サブネットワークに属しているノード宛の信号を当該境界ノードへ中継するよう、当該サブネットワークの隣接サブネットワークに対して指示を行い、
前記指示を受けた前記隣接サブネットワークに属している境界ノードのうち、当該指示によって指定された境界ノードとのリンクを有している境界ノードである隣接境界ノードは、前記サブネットワークと前記管理装置との間の通信を中継する動作を開始するとともに、当該境界ノードに対して、前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示する、
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記管理装置と前記ノードとの間で送受信される信号は、送信元の装置の識別情報および送信元の装置が属しているサブネットワークの識別情報を含み、
前記境界ノードは、起動後の初期状態においては、前記信号を受信すると、当該信号の送信元ノードと同じサブネットワークに属しているリンクを対象として、当該信号を転送する、
ことを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記境界ノードは、自サブネットワークと前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示を受けた場合、または、隣接サブネットワークと管理装置との間の通信を中継するよう指示を受けた場合、受信信号を自サブネットワークに属しているリンクおよび当該隣接サブネットワークに属しているリンクへ転送する動作を開始する、
ことを特徴とする請求項３に記載の通信システム。
【請求項５】
前記管理装置は、前記通信障害が発生していると判断した後、当該通信障害が回復したことを検出すると、前記サブネットワークとの間の通信の中継動作を終了するよう、前記隣接サブネットワークに対して指示を行い、
前記隣接サブネットワークの境界ノードのうち、前記中継動作を行っている境界ノードは、当該中継動作を終了するとともに、当該サブネットワーク側の境界ノードに対して、前記管理装置との間の通信を隣接サブネットワーク経由で行う転送動作を終了するよう指示を行い、
前記サブネットワークの境界ノードのうち、前記転送動作を終了するよう指示された境界ノードは、当該転送動作を終了する、
ことを特徴とする請求項１〜４のいずれか一つに記載の通信システム。
【請求項６】
複数のノードにより形成された通信ネットワークと当該通信ネットワークを管理する管理装置とを備え、前記通信ネットワークは複数のサブネットワークからなり、各サブネットワークは、前記管理装置とのリンクを有する１台以上のゲートウェイノードと、隣接サブネットワークのノードとのリンクを有する１台以上の境界ノードとを含み、２台のノードを接続している各リンクを、当該２台のノードが同じサブネットワークを形成しているのであれば当該２台のノードと同じサブネットワークに属しているものとし、当該２台のノードがそれぞれ異なるサブネットワークを形成しているのであればいずれか一方のノードと同じサブネットワークに属しているものとして管理している通信システムであって、
前記境界ノードは、起動後の初期状態においては自身と異なるサブネットワークに属しているリンクに対する信号送信動作を停止しておき、
前記境界ノードは、自身と同じサブネットワークに属しているゲートウェイノードとの通信が正常か否かを監視し、通信障害が発生していると判断した場合には、自サブネットワークと前記管理装置との間の通信を中継するよう、隣接サブネットワークに対して指示を行い、
前記指示を受けた前記隣接サブネットワークに属している境界ノードのうち、前記指示を行った第１の境界ノードとのリンクを有している第２の境界ノードは、当該第１の境界ノードが属しているサブネットワークと前記管理装置との間の通信を中継する動作を開始するとともに、前記管理装置に対して、当該第１の境界ノードが属しているサブネットワークへの信号を自サブネットワーク側にも送信するよう指示を行い、
管理装置は、前記第１の境界ノードが属しているサブネットワークへの信号を前記第２の境界ノードが属しているサブネットワーク側にも送信するよう指示を受けると、指示内容に従った動作を開始する、
ことを特徴とする通信システム。
【請求項７】
前記第１の境界ノードは、前記通信障害が発生していると判断した後、当該通信障害が回復したことを検出すると、自サブネットワークと前記管理装置との間の通信の中継動作を終了するよう、前記第２の境界ノードに対して指示を行い、
前記第２の境界ノードは、前記中継動作を終了するとともに、前記管理装置に対して、前記第１の境界ノードが属しているサブネットワークへの信号を自サブネットワーク側にも送信する動作を終了するよう指示を行い、
前記管理装置は、前記第２の境界ノードから前記指示を受けると、前記第１の境界ノードが属しているサブネットワークへの信号を前記第２の境界ノードが属しているサブネットワークへ転送する動作を終了する、
ことを特徴とする請求項６に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク装置により形成された通信システムに関する。
【背景技術】
【０００２】
通信ネットワークの管理システムにおいては、管理装置と各ネットワーク装置（以下、ＮＥ：ネットワークエレメント）とが、監視制御情報や警報、性能情報をやり取りするために、通信を行う必要がある。通信ネットワークの監視制御を行うために、ＮＥおよび遠隔で監視制御を行う管理装置とで監視制御ネットワークが構成される。この場合の一構成として、管理装置とゲートウェイとなるＮＥ（以下、ＧＮＥ：ゲートウェイネットワークエレメント）とが通信を行い、ＧＮＥと同じネットワークに属するその他のＮＥとの間はインバンドでの通信を行うことで、各ＮＥと管理装置とが通信を行う構成がある。
【０００３】
監視制御のための通信では、装置やトラヒックの状態をリアルタイムで把握するために高い信頼性が求められる。このため、従来のネットワークでは、あるＮＥあての同報通信フレームを受信したＮＥが、送信してきたＮＥを除く他の全ての隣接ＮＥあてにその同報通信フレームを転送することで、予め伝送経路の設定をする必要がなく、また、いずれかの区間が不通の場合にも、迂回できる伝送経路が有る限り、全ＮＥに対して同報通信フレームを伝送できるような通信方式によってネットワーク内のＮＥとＧＮＥ間の通信を行っていた（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１３９７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の冗長通信方式では、数十台程度のネットワークでは負荷を低減可能かつ高信頼な通信を実現可能なものの、これよりも規模が大きいネットワーク（数百以上の大規模ネットワーク）ではネットワーク負荷が高くなり、通信エラーやパフォーマンス低下が生じるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、大規模な監視制御ネットワークにおいてＮＥ間の通信を高速かつ高信頼に行うことを可能にする通信システムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、複数のノードにより形成された通信ネットワークと当該通信ネットワークを管理する管理装置とを備え、前記通信ネットワークは複数のサブネットワークからなり、各サブネットワークは、前記管理装置とのリンクを有する１台以上のゲートウェイノードと、隣接サブネットワークのノードとのリンクを有する１台以上の境界ノードとを含み、２台のノードを接続している各リンクを、当該２台のノードが同じサブネットワークを形成しているのであれば当該２台のノードと同じサブネットワークに属しているものとし、当該２台のノードがそれぞれ異なるサブネットワークを形成しているのであればいずれか一方のノードと同じサブネットワークに属しているものとして管理している通信システムであって、前記境界ノードは、起動後の初期状態においては自身と異なるサブネットワークに属しているリンクに対する信号送信動作を停止しておき、前記管理装置は、前記通信ネットワーク形成している各ノードとの通信が正常か否かを監視し、通信障害を検出した場合には、通信不能状態のノードが属しているサブネットワークとの間の通信を中継するよう、当該サブネットワークの隣接サブネットワークに対して指示を行い、前記指示を受けた前記隣接サブネットワークに属している境界ノードのうち、前記サブネットワークに属している境界ノードとのリンクを有している境界ノードは、当該サブネットワークと前記管理装置との間の通信を中継する動作を開始するとともに、当該リンクを介して接続されている境界ノードに対して、前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示し、前記サブネットワークの境界ノードのうち、前記管理装置との間の通信を隣接サブネットワーク経由で行うよう指示された境界ノードは、指示内容に従った動作を開始する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、所属するＮＥの台数が数百台以上の大規模ネットワークにおいても、通信路の事前設定をすることなく高信頼な通信が可能となる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明にかかる通信システムであるネットワークシステムの構成例を示す図である。
【図２】図２は、サブネットワーク１２１の詳細構成を示す図である。
【図３】図３は、サブネットワーク１２２の詳細構成を示す図である。
【図４】図４は、ネットワーク装置の構成例を示す図である。
【図５】図５は、通信フレームの構成例を示す図である。
【図６】図６は、中継テーブルの一例を示す図である。
【図７】図７は、送信ポート管理テーブルの一例を示す図である。
【図８】図８は、ＮＥが通信フレームを送信する動作の一例を示すフローチャートである。
【図９】図９は、ＮＥが受信したフレームを処理する動作の一例を示すフローチャートである。
【図１０】図１０は、ＧＮＥがサブネットワーク内の通信の異常を検知する動作の一例を示すフローチャートである。
【図１１】図１１は、管理装置が通信の迂回を指示する動作の一例を示すフローチャートである。
【図１２】図１２は、障害が発生しているサブネットワークの通信を迂回させる境界ＮＥが迂回動作を始める際の手順の一例を示すフローチャートである。
【図１３】図１３は、障害が発生しているサブネットワークの境界ＮＥが迂回動作を始める際の手順の一例を示すフローチャートである。
【図１４】図１４は、ＧＮＥが管理装置との間の通信の正常性を確認する動作の一例を示すフローチャートである。
【図１５】図１５は、障害が発生したサブネットワークの境界ＮＥが、隣接するサブネットワークに通信を迂回させる動作の一例を示すフローチャートである。
【図１６】図１６は、障害が発生しているサブネットワークと管理装置の間の通信を迂回させる隣接サブネットワークの境界ＮＥが、通信の迂回処理をする際の制御動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明にかかる通信システムであるネットワークシステムの構成例を示す図である。図１に示したネットワークシステムは、管理装置１１と、この管理装置１１によって監視・管理されるネットワーク１２とを含んで構成されている。ネットワーク１２は、それぞれ数十台のＮＥから構成されるサブネットワーク１２１、１２２および１２３が互いに接続されることで構成されるネットワークである。
【００１２】
なお、本実施の形態においては、３個のサブネットワークから構成されるネットワークを例として説明を行うが、ネットワークはｎ個（ｎは正の整数）のサブネットワークで構成することができる。また、各サブネットワークが２つの異なるサブネットワークと接続される構成を例として説明するが、あるサブネットワークが１つ以上のサブネットワークと接続されるような構成にすることも可能であり、また接続されるサブネットワークの数がサブネットワークごとに異なる構成としてもよい。
【００１３】
サブネットワーク１２１〜１２３は、１３台のネットワーク装置（ＮＥ）によりそれぞれ形成されており、各サブネットワークを形成している１３台のＮＥには、管理装置１１に接続するゲートウェイとして動作するＮＥ（以下、ＧＮＥと呼称する）と、他のサブネットワークと接続されたＮＥ、すなわち、他のサブネットワークに所属しているＮＥと接続されたＮＥ（以下、境界ＮＥと呼称する）が含まれている。
【００１４】
サブネットワーク１２１には、ＧＮＥ１２１−１と、サブネットワーク１２２と接続された境界ＮＥ１２１−２と、サブネットワーク１２２および１２３と接続された境界ＮＥ１２１−３とが含まれている。
【００１５】
サブネットワーク１２２には、ＧＮＥ１２２−１と、サブネットワーク１２１と接続された境界ＮＥ１２２−２および１２２−３と、サブネットワーク１２３と接続された境界ＮＥ１２２−４とが含まれている。
【００１６】
サブネットワーク１２３には、ＧＮＥ１２３−１と、サブネットワーク１２１と接続された境界ＮＥ１２３−２と、サブネットワーク１２２と接続された境界ＮＥ１２３−３とが含まれている。
【００１７】
なお、本実施の形態では、各サブネットワークに１個のＧＮＥを配置する構成を例に説明を行うが、各サブネットワークには複数のＧＮＥを配置することも可能であり、また、設置するＧＮＥの数がサブネットワークごとに異なってもよい。
【００１８】
ＧＮＥ１２１−１は、管理装置１１に接続され、管理装置１１とサブネットワーク１２１に属するＮＥとの通信を中継する。ＧＮＥ１２２−１は、管理装置１１とサブネットワーク１２２に属するＮＥとの通信を中継する。１２３−１は、管理装置１１とサブネットワーク１２３に属するＮＥとの通信を中継する。
【００１９】
境界ＮＥ１２１−２は、境界ＮＥ１２２−２を介してサブネットワーク１２２に接続されている。境界ＮＥ１２１−３は、境界ＮＥ１２２−３を介してサブネットワーク１２２に接続され、また、境界ＮＥ１２３−２を介してサブネットワーク１２３にも接続されている。境界ＮＥ１２２−２は、境界ＮＥ１２１−２を介してサブネットワーク１２１に接続されている。境界ＮＥ１２２−３は、境界ＮＥ１２１−３を介してサブネットワーク１２１に接続されている。境界ＮＥ１２２−４は、境界ＮＥ１２３−３を介してサブネットワーク１２３に接続されている。境界ＮＥ１２３−２は、境界ＮＥ１２１−３を介してサブネットワーク１２１に接続されている。境界ＮＥ１２３−３は、境界ＮＥ１２２−４を介してサブネットワーク１２２に接続されている。
【００２０】
図２は、サブネットワーク１２１の詳細構成を示す図である。なお、図２に示したＧＮＥ１２１−１、境界ＮＥ１２１−２および境界ＮＥ１２１−３は、図１に示したものと同様である。
【００２１】
サブネットワーク１２１において、ＮＥ１２１−４，…，ＮＥ１２１−ｍ，…，ＮＥ１２１−１３（ｍは４以上、１３以下の整数）は、１以上のリンクにより他のＮＥに接続されている。リンク１２ｓｔＬｐ−ｑ（ｓ、ｔ、ｐは１以上の整数、ｑはｐと同じまたはｐより大きい整数）は、両端に２つのＮＥ（ＮＥ１２ｓｐおよびＮＥ１２ｔｑ）が接続されるリンクである。ここで、ＮＥとは、ＧＮＥおよび境界ＮＥを含めたノードの総称である。なお、「ｔ」はリンクが所属するサブネットワークを示す。すなわち、図２に示したリンクのうち、リンク１２１１Ｌｐ−ｑはサブネットワーク１２１に属しているリンク、リンク１２１２Ｌｐ−ｑはサブネットワーク１２２に属しているリンク、リンク１２１３Ｌｐ−ｑはサブネットワーク１２３に属しているリンクとなる。図２には明記していないが、ＧＮＥ１２１−１と管理装置１１の間のリンクはサブネットワーク１２１に属しているものとする。また、ここでは各ＮＥ同士を１つのリンクが接続する場合を例に説明を行うが、各ＮＥ同士を複数のリンクが接続するような構成でもよい。
【００２２】
図３は、サブネットワーク１２２の詳細構成を示す図である。なお、図３に示したＧＮＥ１２２−１、境界ＮＥ１２２−２、境界ＮＥ１２２−３および境界ＮＥ１２２−４は、図１に示したものと同様である。
【００２３】
ＮＥ１２２−５，…，ＮＥ１２２−ｉ，…，ＮＥ１２２−１３（ｉは５以上、１３以下の整数）は１以上のリンクにより他のＮＥに接続されている。リンク１２ｓｔＬｐ−ｑ（ｓ、ｔ、ｐは１以上の整数、ｑはｐと同じまたはｐより大きい整数）は、両端に２つのＮＥ（ＮＥ１２ｓｐおよびＮＥ１２ｔｑ）が接続されるリンクである。なお、「ｔ」はリンクが所属するサブネットワークを示す。すなわち、図３に示したリンクのうち、リンク１２１２Ｌｐ−ｑおよびリンク１２２２Ｌｐ−ｑはサブネットワーク１２２に属しているリンク、リンク１２３３Ｌｐ−ｑはサブネットワーク１２３に属しているリンクとなる。図３には明記していないが、ＧＮＥ１２２−１と管理装置１１の間のリンクはサブネットワーク１２２に属しているものとする。また、ここでは各ＮＥ同士を１つのリンクが接続する場合を例に説明を行うが、各ＮＥ同士を複数のリンクが接続するような構成でもよい。
【００２４】
図４は、本発明にかかる通信システムのＮＥの構成例を示す図である。ＮＥは、アプリケーション３１、冗長通信機能部３２および複数の通信ポート（通信ポート３３1，３３2，…，３３k）を備える。冗長通信機能部３２は、送信カウンタ３２１、中継テーブル３２２、中継管理周期タイマ３２３および送信ポート管理テーブル３２４を含む。
【００２５】
図４に示した構成のＮＥにおいて、アプリケーション３１は、他のＮＥと通信ネットワークを介してパケットの送受信を行う。冗長通信機能部３２は、アプリケーション３１に対して通信ネットワークを介したパケットの送受信機能を提供する。冗長通信機能部３２の送信カウンタ３２１は、通信ネットワーク内においてフレームの同一性を判断する識別子であるシーケンス番号を生成するカウンタであり、１から最大値の範囲でサイクリックにカウントを行う。中継テーブル３２２は、送信元装置ごとのフレームの受信と中継を管理するための管理テーブルである。中継管理周期タイマ３２３は、中継テーブル３２２を定期的に更新するための周期タイマである。送信ポート管理テーブル３２４は、通信ポート３３kと接続先サブネットワーク１２ｎの対応、および、各接続先サブネットワークに対する通信フレームの中継可否を管理する。通信ポート３３1，…，３３k（ｋは１以上の整数）は、ＮＥが通信ネットワークを介して通信フレームを送受信するための通信ポートである。ここで、「装置」とは管理装置およびＮＥの総称である。
【００２６】
図５は、本実施の形態の通信システムを構成している装置（管理装置，ＮＥ）が送受信する通信フレームの構成例を示す図である。図５に示したように、通信フレームは、宛先ＩＤ領域、宛先サブネットワークＩＤ領域、送信元ＩＤ領域、送信元サブネットワークＩＤ領域、シーケンス番号領域およびペイロード領域を含んでいる。
【００２７】
宛先ＩＤ領域はフレームの宛先装置のＩＤを格納する領域であり、送信元ＩＤ領域はフレームの送信元装置のＩＤを格納する領域であり、シーケンス番号領域は送信元装置において通信フレームを生成した順序を示すシーケンス番号を格納する領域であり、ペイロード領域はアプリケーション３１が冗長通信機能部３２に送信要求した通信データを格納する領域である。
【００２８】
ここで、宛先装置または送信元装置が管理装置１１である場合、宛先サブネットワークＩＤ領域および送信元サブネットワークＩＤ領域には、管理装置１１を意味する特定の値（たとえば０固定）を設定する。
【００２９】
図６は、中継テーブル３２２の一例を示す図である。図６に示したように、中継テーブル３２２は、送信元ＩＤ領域、送信元サブネットワークＩＤ領域、受信フレームシーケンス番号領域および既受信フレームシーケンス番号領域を含んでいる。
【００３０】
送信元ＩＤ領域は受信したフレームの送信元ＩＤを格納する領域であり、受信フレームシーケンス番号領域は、送信元ＩＤ領域に格納された送信元ＩＤに対応する送信元装置から既に受信した通信フレームのうち、最新のシーケンス番号を格納する領域であり、既受信フレームシーケンス番号領域は、送信元ＩＤ領域に対応する送信元装置からすでに受信した通信フレームのうち、最新フレームの１つ前に受信したフレームのシーケンス番号を格納する領域である。
【００３１】
ここで、送信元装置が管理装置１１である場合、送信元サブネットワークＩＤ領域には、管理装置１１を意味する特定の値（たとえば０固定）を設定する。
【００３２】
図７は、送信ポート管理テーブル３２４の一例を示す図である。図７に示したように、送信ポート管理テーブル３２４は、宛先サブネットワークＩＤ領域、送信元サブネットワークＩＤ領域および対応通信ポート領域を含んでいる。
【００３３】
宛先サブネットワークＩＤ領域は通信フレームを送信する際の宛先サブネットワークＩＤを意味する領域であり、送信元サブネットワークＩＤ領域は通信フレームを受信した際の送信元サブネットワークＩＤを意味する領域であり、対応通信ポート領域は、同じエントリの宛先サブネットワークＩＤと送信元サブネットワークＩＤの組合せの通信フレームを中継する際に、送信に用いる通信ポートの番号を格納する領域である。
【００３４】
ここで、宛先装置または送信元装置が管理装置１１である場合、宛先サブネットワークＩＤ領域および送信元サブネットワークＩＤ領域には、管理装置１１を意味する特定の値（たとえば０固定）を設定する。
【００３５】
図８は、ＮＥがアプリケーション３１で送信を要求された通信フレームを送信する動作の一例を示すフローチャートである。図８に示したように、ＮＥによる通信フレーム送信動作は、ステップＳ１１〜Ｓ１７を含んでいる。
【００３６】
ステップＳ１１では、自ノードの送信カウンタ３２１の値を初期化する。ステップＳ１２では、自ノードのアプリケーション３１からの通信フレーム送信要求の有無を判定する。ステップＳ１３では、送信カウンタ３２１の値を通信フレームのシーケンス番号として通信フレームを生成する。ステップＳ１４では、送信ポート管理テーブル３２４にて、送信元サブネットワークＩＤと宛先サブネットワークＩＤの組合せが、ステップＳ１３で生成した通信フレームのもの（通信フレームに設定したサブネットワークＩＤの組合せ）と同一の通信ポートを検索する。ステップＳ１５では、ステップＳ１４で発見した通信ポート全てから、ステップＳ１３で生成した通信フレームを送信する。ステップＳ１６では、自ノードの送信カウンタ３２１の値が、カウンタが取ることのできる最大値かどうかを判定する。ステップＳ１７では、自ノードの送信カウンタ３２１の値をインクリメントする。
【００３７】
図９は、ＮＥが受信したフレームを処理する動作の一例を示すフローチャートである。図９に示したように、ＮＥによる受信フレーム処理動作は、ステップＳ２１〜Ｓ３３を含んでいる。
【００３８】
ステップＳ２１では、自ノードの中継テーブル３２２を初期化し、中継管理周期タイマ３２３を起動する。ステップＳ２２では、通信フレームを受信したか否かを判定する。ステップＳ２３では、ステップＳ２２で受信した通信フレームの送信元ＩＤと送信元サブネットワークＩＤの組合せと一致するエントリが自ノードの中継テーブル３２２にあるか否かを判定する。ステップＳ２４では、ステップＳ２２で受信した通信フレームの送信元ＩＤと送信元サブネットワークＩＤの組合せで中継テーブル３２２にエントリを作成し、作成したエントリの受信フレームシーケンス番号領域と既受信フレーム番号領域に受信した通信フレームのシーケンス番号を設定する。ステップＳ２５では、中継テーブル３２２のエントリを確認して受信した通信フレームが今までに受信した通信フレームか否かを判定する。ステップＳ２６では、受信した通信フレームが自ノード宛か否かを判定する。ステップＳ２７では、受信した通信フレームを自ノードのアプリケーション３１に渡す。ステップＳ２８では、受信した通信フレームが同報か否かを判定する。ステップＳ２９では、受信した通信フレームを自ノードのアプリケーション３１に渡す。ステップＳ３０では、送信ポート管理テーブル３２４で、受信した通信フレームの宛先サブネットワークＩＤと送信元サブネットワークＩＤの組合せに対応する通信ポートを検索する。ステップＳ３１では、ステップＳ３０で検索した通信ポートの中に、ステップＳ２２で通信フレームを受信した以外の通信ポートがあるか否かを判定する。ステップＳ３２では、ＮＥが受信した通信フレームを廃棄する。ステップＳ３３では、ステップＳ３０で判定した、通信フレームを受信した通信ポート以外の対応する通信ポートから、受信した通信フレームを送信する。
【００３９】
図１０は、ＧＮＥがサブネットワーク内の通信の異常を検知する動作の一例を示すフローチャートである。図１０に示したように、ＧＮＥによる通信異常検知動作は、ステップＳ４１〜Ｓ４４を含んでいる。
【００４０】
ステップＳ４１では、境界ＮＥからハートビートを受信したか否かを判定する。ステップＳ４２では、正常なハートビート用通信フレームを生成する。ステップＳ４３では、異常なハートビート用通信フレームを生成する。ステップＳ４４では、管理装置１１にハートビートを送信する。
【００４１】
図１１は、管理装置１１がサブネットワークとの通信の異常を検知し、通信の迂回を隣接サブネットワークに指示する動作の一例を示すフローチャートである。図１１に示したように、管理装置１１が通信異常検知および迂回指示を行う動作は、ステップＳ５１〜Ｓ５６を含んでいる。
【００４２】
ステップＳ５１では、監視・管理対象としているサブネットワーク（以下、対象サブネットワークと呼称する）のＧＮＥからハートビート信号を受信したか否かを判定する。ステップＳ５２では、受信したハートビート信号が正常か否かを判定する。ステップＳ５３では、障害が発生している対象サブネットワークに隣接するサブネットワークの境界ＮＥに対して、障害が発生している対象サブネットワークに関する通信を中継するように指示する。ステップＳ５４では、障害が発生している対象サブネットワークのＧＮＥからハートビート信号を受信したか否かを判定する。ステップＳ５５では、受信したハートビート信号が正常か否かを判定する。ステップＳ５６では、管理装置１１が障害復旧した対象サブネットワークに隣接するサブネットワークの境界ＮＥに対して、迂回動作（隣接サブネットワークへの通信の中継）を中止して通常動作に戻るよう指示する。
【００４３】
図１２は、障害が発生しているサブネットワークの通信を迂回させる境界ＮＥが迂回動作を始める際の手順の一例を示すフローチャートである。図１２に示したように、障害が発生しているサブネットワークに隣接しているサブネットワークの境界ＮＥが迂回動作を開始する際の手順には、ステップＳ６１〜Ｓ６６が含まれている。
【００４４】
ステップＳ６１では、管理装置１１から障害発生中の隣接サブネットワークの通信を中継するように指示されたか否かを判定する。ステップＳ６２では、障害発生中の隣接サブネットワークと管理装置間の通信を中継するために、自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ６３では、障害発生中の隣接サブネットワークの境界ＮＥに対して迂回許可通知を送信する。ステップＳ６４では、管理装置１１から障害発生中の隣接サブネットワークの通信と管理装置の中継を中止するように指示されたか否かを判定する。ステップＳ６５では、障害回復した隣接サブネットワークの通信の中継を中止して通常動作に復帰するために、自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ６６では、障害回復した隣接サブネットワークの境界ＮＥに対して迂回中止通知を送信する。
【００４５】
図１３は、障害が発生しているサブネットワークの境界ＮＥが迂回動作を始める際の手順の一例を示すフローチャートである。図１３に示したように、障害が発生しているサブネットワークの境界ＮＥが迂回動作を開始する際の手順には、ステップＳ７１〜Ｓ７４が含まれている。
【００４６】
ステップＳ７１では、隣接サブネットワークの境界ＮＥから自サブネットワークと管理装置間の通信を隣接サブネットワークに迂回するよう指示されたか否かを判定する。ステップＳ７２では、隣接サブネットワークの境界ＮＥへ自サブネットワークと管理装置間の通信を迂回するために自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ７３では、隣接サブネットワークの境界ＮＥから、自サブネットワークと管理装置の間の通信を隣接サブネットワークへ迂回する動作を中止するように指示されたか否かを判定する。ステップＳ７４では、自サブネットワークと管理装置間の通信の隣接サブネットワークへの迂回を中止するよう自ノードの送信ポート管理テーブル３２４を書きかえる。
【００４７】
次に、本実施の形態の通信システムの動作について説明する。具体的には、管理装置１１と各サブネットワークのＮＥとの通信がＧＮＥを介して正常に行われる場合の通信動作（通常の通信動作）と、そうでない場合の通信動作（障害発生時の通信動作）とについて説明する。
【００４８】
（通常の通信動作）
まず、通常の通信動作について説明する。管理装置１１は、管理対象となるネットワーク１２を、所属するＮＥが数十台程度のサブネットワーク１２１，１２２，…，１２ｎ（ｎは正の整数）に分割し、各サブネットワークに１台以上設置されるＧＮＥ１２１−１，１２２−１，…、１２ｎ−１，…，１２ｎ−ｈ（ｈは正の整数）と通信を行う。なお、ここでは各サブネットワークに設置されるＧＮＥの数が同じ場合について説明するが、本発明は、ＧＮＥの数がサブネットワークによって異なる場合においても適用可能である。
【００４９】
あるＮＥが管理装置１１に対して通信フレームを送信する場合の動作例として、図２に示したＮＥ１２１−６が通信フレームを送信する場合の動作を、図８にそって説明する。
【００５０】
ＮＥ１２１−６は、起動すると送信カウンタ３２１の値（図４参照）を初期化する（ステップＳ１１）。次に、アプリケーション３１から通信フレーム（図５参照）の送信要求があるか否かを判定し（ステップＳ１２）、送信要求が無い場合は（ステップＳ１１：Ｎｏ）、送信要求があるかどうかを定期的に判定する。一方、送信要求がある場合は（ステップＳ１２：Ｙｅｓ）、宛先ＩＤ領域と宛先サブネットワークＩＤ領域に管理装置１１を示すＩＤを格納し、送信元ＩＤ領域、送信元サブネットワークＩＤ領域にＮＥ１２１−６を示すＩＤ、サブネットワーク１２１を示すＩＤをそれぞれ格納し、シーケンス番号領域に送信カウンタ３２１の値を格納し、ペイロード領域にアプリケーション３１から指定された情報を格納した通信フレームを生成する（ステップＳ１３）。続いて、送信元サブネットワークＩＤがサブネットワーク１２１を示し、かつ宛先サブネットワークＩＤが管理装置１１を示すエントリを送信ポート管理テーブル３２４で検索し、当該エントリの対応通信ポート領域を確認する（ステップＳ１４）。ここでは、リンク１２１１Ｌ４−６、１２１１Ｌ３−６および１２１１Ｌ６−７が接続されている通信ポートが発見される。そして、ステップＳ１４で確認した通信ポートのすべてから、ステップＳ１３で生成した通信フレームを送信する（ステップＳ１５）。送信後、送信カウンタ３２１の値が最大値か否かを判定し（ステップＳ１６）、最大値でない場合は（ステップＳ１６：Ｎｏ）、送信カウンタ３２１の値をインクリメントし（ステップＳ１７）、所定のタイミングでステップＳ１２の処理およびこれに続く処理（ステップＳ１３〜Ｓ１６）を実行する。一方、送信カウンタ３２１の値が最大値の場合には（ステップＳ１６：Ｙｅｓ）、ステップＳ１１へ移行して送信カウンタの値を初期化する（ステップＳ１１）。その後はステップＳ１２の処理およびこれに続く処理を実行する。
【００５１】
ＮＥ１２１−６が送信元として送信した通信フレームはＮＥ１２１−３（境界ＮＥ１２１−３）、１２１−４および１２１−７で中継処理をされ、その後、ＮＥ１２１−４がＧＮＥ１２１−１へ、さらに、ＧＮＥ１２１−１が管理装置１１へと中継することで、宛先である管理装置１１へ到達する。このとき、境界ＮＥであるＮＥ１２１−３は、当該通信フレームを、送信元のＮＥが形成しているサブネットワーク（ここではサブネットワーク１２１となる）に属するリンク（ただし、通信フレームが送信されてきたリンクは除く）にだけ、すなわち、リンク１２１１Ｌ２−３および１２１１Ｌ３−７にだけ転送することで、サブネットワーク１２１と管理装置１１の間の通信フレームが隣接するサブネットワーク１２２および１２３へ中継されないようにする。リンク１２１１Ｌ２−３を介して通信フレームを受信した境界ＮＥ１２１−２も同様に、通信フレームを送信元のＮＥ形成しているサブネットワークに属するリンクにだけ転送する。
【００５２】
このときのＮＥ１２１−４および境界ＮＥ１２１−３での中継動作を、図９にそって説明する。
【００５３】
ＮＥ１２１−４および境界ＮＥ１２１−３は、起動すると中継テーブル３２２（図４，図６参照）を初期化し、中継管理周期タイマ３２３を起動する（ステップＳ２１）。初期化が完了すると、通信ポートから通信フレームを受信したかどうかを監視しておき（ステップＳ２２）、受信した場合は（ステップ２２：Ｙｅｓ）、受信した通信フレームの送信元ＩＤと送信元サブネットワークＩＤの組合せが、ＮＥ１２１−６を示すＩＤとサブネットワーク１２１を示すＩＤの組合せと等しいエントリが中継テーブル３２２にあるかを判定し（ステップＳ２３）、該当するエントリが中継テーブル３２２にない場合は（ステップＳ２３：Ｎｏ）、この組合せでのエントリを中継テーブル３２２に追加し、当該エントリの受信フレームシーケンス番号領域および既受信フレームシーケンス番号領域に、受信した通信フレームのシーケンス番号を格納する（ステップＳ２４）。一方、該当するエントリが中継テーブル３２２にある場合は（ステップＳ２３：Ｙｅｓ）、受信した通信フレームが今までに受信したフレームか否かを判定する（ステップＳ２５）。
【００５４】
ステップＳ２５における判定は、例えば次のように行う。中継テーブル３２２の受信フレームシーケンス番号領域に受信した通信フレームのシーケンス番号を格納し、この値と同エントリの既受信フレームシーケンス番号領域の値とを比較する。ここで、各ＮＥは、中継管理周期タイマ３２３においてタイムアウトが発生すると中継テーブル３２２のうち、受信フレームシーケンス番号領域の値と既受信フレームシーケンス番号領域の値が等しいエントリを検索して全て削除し、残ったエントリ全てについて、受信フレームシーケンス番号領域の値を既受信フレームシーケンス番号領域にコピーする。この動作と、次のように中継管理周期タイマ３２３の１更新周期時間を設定することにより、シーケンス番号同士の比較によって送信元ノードでの送信順序の判定を可能とする。
【００５５】
中継管理周期タイマ３２３の１更新周期時間は、通信ネットワーク内の任意の２つのＮＥ間でフレームが中継されるために要する時間より長く、各ＮＥでの１更新周期時間内に送信可能な最大通信フレーム数（以下、送信可能通信フレーム数）が送信カウンタ３２１の最大値の１／２を超える時間より短く設定する。この設定の下では、フレームがどのような遅い通信経路を中継したとしても、あるシーケンス番号をもつ通信フレームと、そのシーケンス番号と１周期以上ずれたシーケンス番号を付与された通信フレームとが、宛先装置に、同一時刻、または、１周期以上ずれたシーケンス番号を付与された通信フレームが先行して到着しないことが保障される。
【００５６】
したがって、次の式（１Ａ）または式（１Ｂ）を満たす場合は、新規に受信した通信フレーム（受信した通信フレームが今までに受信したフレームではない）と判断する。
【００５７】
（受信フレームシーケンス番号領域の値）＞（既受信フレームシーケンス番号領域の値）かつ（（受信フレームシーケンス番号領域の値）−（既受信フレームシーケンス番号領域の値））＜＝（送信可能通信フレーム数）
…（１Ａ）
または、
（受信フレームシーケンス番号領域の値）＜（既受信フレームシーケンス番号領域の値）かつ（受信フレームシーケンス番号領域の値）＜＝（（送信可能通信フレーム数）−（（送信カウンタ３２１の最大値）−（既受信フレームシーケンス番号領域の値）））
…（１Ｂ）
【００５８】
上式（１Ａ）および（１Ｂ）のいずれも満たさない場合は、今までに受信した通信フレームであると判断し、当該通信フレームを廃棄する（ステップＳ３２）。ただし、今までに受信した通信フレームか否かの判定の方法はこの限りではない。ステップＳ２３でエントリが中継テーブルにないと判断してステップＳ２４を実行した場合、またはステップＳ２５で受信フレームが今までに受信した通信フレームではないと判定した場合は、次に、当該通信フレームの宛先ＩＤと宛先サブネットワークＩＤとを確認し、自ノード宛か否かを判定する（ステップＳ２６）。自ノード宛の場合は受信した通信フレームを自ノードのアプリケーション３１に渡す（ステップＳ２７）。今回の例では、自ノード宛ではなく管理装置１１宛であるので、同処理は行わずステップＳ２８へ移行し（ステップＳ２６：Ｎｏ）、同報（宛先がブロードキャストを示す宛先）か否かを判定する（ステップＳ２８）。同報の場合は（ステップＳ２８：Ｙｅｓ）、受信した通信フレームを自ノードのアプリケーション３１に渡す処理を実行する（ステップＳ２９）。今回の例では管理装置１１宛であり同報ではないので（ステップＳ２８：Ｎｏ）、同処理は行わない。続いて、送信ポート管理テーブル３２４で、受信した通信フレームの宛先サブネットワークＩＤと送信元サブネットワークＩＤの組合せに対応する通信ポートを検索する。すなわち、この組合せが格納されているエントリと同じエントリに格納されている通信ポートを検索する（ステップＳ３０）。このステップＳ３０を実行すると、ＮＥ１２１−４では、リンク１２１１Ｌ１−４、１２１１Ｌ２−４、１２１１Ｌ４−５および１２１１Ｌ４−６に接続された通信ポートが見つかる。一方、境界ＮＥ１２１−３では、リンク１２１１Ｌ３−６、１２１１Ｌ２−３および１２１１Ｌ３−７に接続された通信ポートが見つかる。ステップＳ３０を実行した後は、見つかった通信ポートの中に、当該通信フレームを受信した通信ポート以外の通信ポートがあるか否かを判定する（ステップＳ３１）。受信した通信ポート以外の通信ポートがない場合は転送する必要が無いので通信フレームを廃棄する（ステップＳ３２）。受信した通信ポート以外の通信ポートがある場合は、当該通信ポートから受信した通信フレームを送信する（ステップＳ３３）。今回の例では、ＮＥ１２１−４の場合は、リンク１２１１Ｌ１−４、１２１１Ｌ２−４および１２１１Ｌ４−５が、境界ＮＥ１２１−３の場合は、リンク１２１１Ｌ２−３および１２１１Ｌ３−７が接続されている通信ポートが受信した通信ポート以外の通信ポートに該当するので、それぞれ、これらの通信ポートに対し、受信した通信フレームを送信する（転送する）。
【００５９】
上記で説明した以外のＮＥ（ＧＮＥも含む）も同様の中継動作を行うことで、通信フレームが管理装置１１へ到達する。
【００６０】
また、管理装置１１から特定のＮＥ、あるいは特定のサブネットワークに属する全てのＮＥに同報送信を行う際も、通信フレームの宛先ＩＤおよび宛先サブネットワークＩＤを適切に設定することで同様に処理される。例えば、同報の場合は、同報を意味する特定のＩＤを宛先ＩＤ領域に格納すればよい。
【００６１】
各サブネットワークに境界ＮＥが複数ある場合、その他の境界ＮＥも境界ＮＥ１２１−３と同様に動作する。また、境界ＮＥによって、隣接するサブネットワークが異なる場合においても、同様に動作する。
【００６２】
以上のようにして、あるＮＥが通信フレームを新規に受信した場合に、その通信フレームを転送してきたＮＥが属するサブネットワークと同一のサブネットワークに属するＮＥのうち、転送してきたＮＥ以外のすべてのＮＥ（隣接ＮＥ）にその通信フレームを送信することで、所属するＮＥが数十台程度のサブネットワーク内に通信の範囲が限定される。このため、大規模なネットワークにおいてもネットワーク負荷が少ない通信が、事前に通信経路を設定することなく実現される。
【００６３】
（障害発生時の通信動作）
あるサブネットワークにおいて、ＧＮＥに障害が生じた場合、あるいはＧＮＥと管理装置間の通信に障害が生じた場合、あるいはＧＮＥではないＮＥからＧＮＥにいたる全通信経路に障害が生じた場合には、障害が生じているサブネットワークに属しているＮＥと管理装置の通信が不可能になる。本実施の形態の通信システムでは、このような場合にも可能な限りＮＥと管理装置との通信を維持するよう動作する。以下にその動作について説明する。
【００６４】
本実施の形態では、システム全体の動作を、図１のようなネットワーク構成において、サブネットワーク１２１で障害が発生し、通信をサブネットワーク１２２に迂回させる場合について、図１０、１１、１２および１３を用いて説明する。
【００６５】
＜障害発生時の動作例（１）＞
はじめに、ＧＮＥ１２１−１に障害が発生した場合、またはＧＮＥ１２１−１と管理装置１１の間に障害が発生した場合を例に説明する。
【００６６】
システムが起動すると、サブネットワーク１２１の境界ＮＥ１２１−２および１２１−３はハートビート、すなわち、自ノードが正常に稼動していることを示す信号を一定周期で送信する。この信号は、通常の通信動作として上述した中継動作により、その他のＮＥを介してＧＮＥ１２１−１に到達する。ＧＮＥ１２１−１は境界ＮＥからのハートビートを一定時間内に定期的に受信したかどうかを監視しており（図１０のステップＳ４１）、ハードビートの受信ができている間は（ステップＳ４１：Ｙｅｓ）、自ノードと境界ＮＥ１２１−２の間および自ノードと境界ＮＥ１２１−３の間の通信経路が維持されているとして、管理装置１１に対して、その旨を示すハートビート（以下、正常ハートビート）を生成して送信する（ステップＳ４２→ステップＳ４４）。
【００６７】
管理装置１１は、ＧＮＥ１２１−１からハートビートを一定時間内に定期的に受信したかどうか、および受信したハートビートが正常かどうか（正常ハートビートかどうか）を監視しており（図１１のステップＳ５１，Ｓ５２）、正常ハートビートの受信ができている間は（ステップＳ５１：Ｙｅｓ→ステップＳ５２：Ｙｅｓ）は、サブネットワーク１２１内のＧＮＥ１２１−１と境界ＮＥ１２１−２の間、ＧＮＥ１２１−１と境界ＮＥ１２１−３の間の通信、およびＧＮＥ１２１−１と管理装置１１の間の通信が正常に行われていると判断する。この場合は上述した通常の通信動作を行う。
【００６８】
ＧＮＥ１２１−１そのもの、あるいはＧＮＥ１２１−１と管理装置１１の間の通信に障害が生じた場合にはＧＮＥ１２１−１から管理装置１１へのハートビートが到達不能になる。したがって、管理装置１１は、ＧＮＥ１２１−１からのハートビートを一定時間以上受信できなかった場合は（図１１のステップＳ５１：Ｎｏ）、サブネットワーク１２１に所属しているＮＥとの通信を隣接するサブネットワークを介して行う必要があると判断する。この場合、管理装置１１は、迂回先となるサブネットワーク１２２の境界ＮＥのうち、障害が発生しているサブネットワーク１２１と隣接しているＮＥ１２２−２および１２２−３に対して、障害が発生しているサブネットワーク１２１と管理装置１１の間の通信を中継するように指示する（ステップＳ５３）。
【００６９】
各サブネットワークのＮＥのうち、他のサブネットワークとの境界に位置しているＮＥ（境界ＮＥ）は、起動すると、図１２に示した動作を開始し、管理装置１１から障害発生の隣接サブネットワークの通信を迂回するように指示されたかどうかを監視する（図１２のステップＳ６１）。なお、境界ＮＥは、起動した直後の初期設定状態では、上述した通常動作（図９参照）を開始するとともに図１２に示した動作を開始する。サブネットワーク１２１と管理装置１１の通信が不可能となったことが管理装置１１により検出された場合には、通信を迂回させる動作（通信の中継動作）の開始指示が管理装置１１からサブネットワーク１２２の境界ＮＥ１２２−２および１２２−３に対して行われる。
【００７０】
この場合、通信の中継開始を指示された境界ＮＥ１２２−２および１２２−３は、中継動作を開始する（ステップＳ６２）とともに、それぞれ、サブネットワーク１２１側の隣接ＮＥ１２１−２および１２１−３に対して迂回許可通知を送信することにより、サブネットワーク１２１と管理装置１１の間の通信を中継するように指示する（ステップＳ６３）。
【００７１】
各サブネットワークのＮＥのうち、他のサブネットワークとの境界に位置しているＮＥ（境界ＮＥ）は、起動すると、図９，図１２示した動作に加えて、図１３に示した動作も併せて開始する。すなわち、隣接サブネットワークの境界ＮＥから、管理装置１１との間の通信を中継するように指示されたかどうかを監視する（図１３のステップＳ７１）。サブネットワーク１２１と管理装置１１の通信が不可能となった場合、サブネットワーク１２１の境界ＮＥ１２１−２および１２１−３は、隣接しているサブネットワーク１２２の境界ＮＥ１２２−２および１２２−３から、サブネットワーク１２１の各ＮＥと管理装置１１との通信を中継するように指示を受けることになる。この指示を受けた境界ＮＥ１２１−２および１２１−３は、隣接サブネットワークに自サブネットワークの通信を中継するよう送信ポート管理テーブルを書き換え、管理装置１１との通信の中継（迂回動作）を開始する（ステップＳ７１：Ｙｅｓ→ステップＳ７２）。
【００７２】
以上の制御により、ＧＮＥ１２１−１の障害、あるいはＧＮＥ１２１−１と管理装置１１の間の障害が発生した場合にも、サブネットワーク１２１の各ＮＥと管理装置１１の通信を維持させることができる。サブネットワーク１２１以外のサブネットワークで同様の障害が発生した場合の動作も同様である。
【００７３】
ところで、ＧＮＥ１２１−１の障害、あるいはＧＮＥ１２１−１と管理装置１１の間の障害を検出した管理装置１１は、サブネットワーク１２１内のＮＥとの通信を中継するようサブネットワーク１２２の境界ＮＥ１２２−２および１２２−３に指示を行った後も、各サブネットワークのＧＮＥからのハートビート受信の監視を継続する（図１１、ステップＳ５４）。
【００７４】
そして、ＧＮＥ１２１−１から正常ハードビートを受信した場合（ステップＳ５４Ｙｅｓ→ステップＳ５５：Ｙｅｓ）、ＧＮＥ１２１−１の障害、あるいはＧＮＥ１２１−１と管理装置１１の間の障害が回復したと判断する。この場合、管理装置１１は、通信を中継するよう指示した境界ＮＥ１２２−２および１２２−３に対して、通常動作を開始するよう、すなわち、中継動作を終了するよう指示する（ステップＳ５６）。
【００７５】
サブネットワーク１２１と管理装置１との間の通信を中継している境界ＮＥ１２２−２および１２２−３は、中継動作（通信の迂回）の中止指示を管理装置１１から受けたかどうかを監視しており（ステップＳ６４）、中止指示を受けた場合には（ステップＳ６４：Ｙｅｓ）、通信ポート管理テーブルが元の状態（サブネットワーク１２１と管理装置１との通信の中継指示を受ける前の状態）となるように書き換えて中継動作を終了する（通常動作に復帰する）とともに、隣接する境界ＮＥ２１Ｎ２Ｂおよび１２１−３に対し、迂回中止を通知する（ステップＳ６５→ステップＳ６６）。
【００７６】
隣接サブネットワークの境界ＮＥから指示を受けて通信を中継している、サブネットワーク１２１の境界ＮＥ１２１−２および１２１−３は、中継動作の中止指示を受けたかどうかを監視しており（ステップＳ７３）、中止指示を受けた場合には（ステップＳ７３：Ｙｅｓ）、通信ポート管理テーブルが元の状態（自サブネットワーク内のＮＥと管理装置１１の通信の中継指示を受ける前の状態）となるように書き換え（ステップＳ７４）、中継動作を終了する（通常動作に復帰する）。
【００７７】
＜障害発生時の動作例（２）＞
次に、ＧＮＥ１２１−１と境界ＮＥ１２１−２間の通信に障害が発生した場合の動作を説明する。一例として、リンク１２１１Ｌ１−４、１２１１Ｌ１−５、１２１１Ｌ５−１０、１２１１Ｌ５−７、１２１１Ｌ６−７、１２１１Ｌ３−６および１２１１Ｌ２−３に同時に障害が発生した場合の動作を説明する。
【００７８】
既に説明したように、システムが起動すると、サブネットワーク１２１の境界ＮＥ１２１−２および１２１−３はハートビートを一定周期で送信し、障害が発生していない正常時においては、境界ＮＥ１２１−２から送信されたハートビートおよび境界ＮＥ１２１−３から送信されたハートビートの双方がＧＮＥ１２１−１に到達する。
【００７９】
これに対して、リンク１２１１Ｌ１−４、１２１１Ｌ１−５、１２１１Ｌ５−１０、１２１１Ｌ５−７、１２１１Ｌ６−７、１２１１Ｌ３−６および１２１１Ｌ２−３に同時に障害が発生すると、境界ＮＥ１２１−３のハートビート信号はＧＮＥ１２１−１に到達するが、境界ＮＥ１２１−２のハートビート信号はＧＮＥ１２１−１に到達しない。この場合、ＧＮＥ１２１−１は、境界ＮＥ１２１−２からのハートビート信号を一定時間以上受信できないため（図１０、ステップＳ４１：Ｎｏ）、自ノードと境界ＮＥ１２１−２間の全通信経路に障害が生じたと判断し、管理装置１１へのハートビートに対し、ＧＮＥと境界ＮＥの間で通信異常が発生したことを示す情報を付加して送信する（ステップＳ４３→ステップＳ４４）。なお、これ以降の説明では、通信異常発生を示す情報が付加されたハートビートを異常ハートビートと表現する。
【００８０】
上記の場合、管理装置１１はＧＮＥ１２１−１からハートビートを一定時間内に定期的に受信する（図１１、ステップＳ５１：Ｙｅｓ）ものの、受信したハートビートは、通信異常発生情報が付加されている異常ハートビートであるため（ステップＳ５２：Ｙｅｓ）、管理装置１１との通信が不可能な状態の境界ＮＥ１２１−２と管理装置１１との間の通信を、隣接するサブネットワーク１２２を介して行う必要があると判断する。この場合、管理装置１１は、迂回先となるサブネットワーク１２２の境界ＮＥのうち、境界ＮＥ１２２−２（境界ＮＥ１２１−２に接続されている境界ＮＥ）に対して、障害が発生しているサブネットワーク１２１と管理装置１１との通信を中継するように指示する（ステップＳ５３）。この指示を受けた境界ＮＥ１２２−２は、上記の＜障害発生時の通信動作（１）＞で説明した手順と同様の手順で中継動作を開始する（図１２、ステップＳ６２）とともに、障害発生中のサブネットワーク１２１に属している隣接のＮＥ１２１−２に対し、サブネットワーク１２１と管理装置１１の間の通信を中継するように指示する（ステップＳ６３）。通信を迂回するよう指示を受けた境界ＮＥ１２１−２は、「障害発生時の通信動作（１）」で説明した手順と同様の手順で迂回動作を開始する（図１３、ステップＳ７３）。
【００８１】
その後、リンク１２１１Ｌ１−４、１２１１Ｌ１−５、１２１１Ｌ５−１０、１２１１Ｌ５−７、１２１１Ｌ６−７、１２１１Ｌ３−６および１２１１Ｌ２−３のうち１つ以上が障害回復し、ＧＮＥ１２１−１と境界ＮＥ１２１−２間の通信経路が確保されると、ＧＮＥ１２１−１は境界ＮＥ１２１−２のハートビート信号を再び一定時間内に定期的に受信するようになり（図１０、ステップＳ４１：Ｙｅｓ）、ＧＮＥ１２１−１が正常ハートビートを定期的に送信する（ステップＳ４２→ステップＳ４４）。管理装置１１は、ＧＮＥ１２１−１から正常ハートビートを再度一定時間内に定期的受信するようになると（図１１、ステップＳ５４：Ｙｅｓ→ステップＳ５５：Ｙｅｓ）、境界ＮＥ１２２−２に対して、迂回動作を中止するように指示する（ステップＳ５６）。境界ＮＥ１２２−２は、管理装置１１から、迂回を中止するように指示されると（図１２、ステップＳ６４：Ｙｅｓ）、迂回動作を中止するとともに、隣接している境界ＮＥ１２１−２に対して迂回動作中止を通知する（ステップＳ６５→ステップＳ６６）。境界ＮＥ１２１−２は、この指示を受け、通常動作を再開する（図１３、ステップＳ７４）。
【００８２】
＜障害発生時の各装置における動作の詳細説明＞
次に、図１０、１１、１２および１３の各ステップに沿って詳細動作を説明する。ここでは、サブネットワーク１２１に障害が発生する場合を例に説明する。
【００８３】
サブネットワーク１２１の境界ＮＥ１２１−２および１２１−３は、起動するとハートビートとして、例えばペイロード領域にハートビート情報を格納した通信フレーム（図５参照）を一定周期で送信する。
【００８４】
次に、ＧＮＥ１２１−１がサブネットワーク１２１内の境界ＮＥ１２１−２および１２１−３とＧＮＥ１２１−１間の通信が正常に行われているかどうか判断する動作を図１０に即して説明する。ＧＮＥ１２１−１は、起動すると、境界ＮＥ１２１−２および１２１−３からのハートビートを受信しているかどうかを一定周期で確認する（ステップＳ４１）。境界ＮＥからのハートビートとして通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、および、ペイロード領域にハートビート情報が付加されているかどうかを判定する。
【００８５】
境界ＮＥ１２１−２および１２１−３からハートビートを受信している場合は、管理装置１１に正常ハートビートを送信する（ステップＳ４２→ステップＳ４４）。一方、境界ＮＥ１２１−２および１２１−３からのハートビートのうちの一方を受信できない場合は、ハートビート信号にＧＮＥ１２１−１と境界ＮＥ１２１−２間の通信異常発生、またはＧＮＥ１２１−１と境界ＮＥ１２１−３間の通信異常発生を示す情報を付加した異常ハートビートを管理装置に送信する（ステップＳ４３→ステップＳ４４）。この時のハートビート信号として、ＧＮＥ１２１−１は、例えばペイロード領域に、正常ハートビート情報、または異常ハートビート情報を格納した通信フレームを用いる。異常ハートビート情報には、どの境界ＮＥとの通信に異常が生じているかを付加する。
【００８６】
次に、管理装置１１が通信迂回の必要を判断して指示する動作を図１１に即して説明する。
【００８７】
管理装置１１は、起動すると、ＧＮＥ１２１−１からのハートビートを受信しているかどうかを一定周期で確認し（ステップＳ５１）、受信している場合は、ハートビート信号が正常かどうかを確認する（ステップＳ５２）。ＧＮＥ１２１−１からのハートビートとして通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域にハートビート情報が付加されているかどうかを確認し、ハートビート情報が付加されている場合は、さらに、ハートビート情報の正常／異常の判断、および異常の場合の異常発生境界ＮＥ情報の判定を行う。
【００８８】
また、管理装置１１は、ハートビートを受信していない場合は、ＧＮＥ１２１−１そのもの、あるいはＧＮＥ１２１−１と管理装置１１の間に障害が発生していると判定し、隣接サブネットワーク１２２の境界ＮＥ１２２−２および１２２−３に対して、サブネットワーク１２１と管理装置１１の間の通信を中継するように指示する通信フレームを送信する（ステップＳ５３）。一方、ハートビートを受信しているが、通信異常を示す情報を含んでいる場合は、一部の境界ＮＥとＧＮＥ１２１−１の間の全通信経路に障害が発生していると判断する。例えば、異常ハートビート情報に境界ＮＥ１２１−２とＧＮＥ１２１−１の間の通信異常が付加されている場合は、ＧＮＥ１２１−１経由では通信できないＮＥとの通信を行うために、隣接サブネットワーク１２２の境界ＮＥ１２２−２（境界ＮＥ１２１−２とのリンクを有する隣接境界ＮＥ）に対して、サブネットワーク１２１と管理装置１１の間の通信を中継するように指示する通信フレームを送信する（ステップＳ５３）。迂回が実施されている間も、管理装置１１はＧＮＥ１２１−１からのハートビートを受信しているかどうかを一定周期で確認する（ステップＳ５４）。ハートビートの受信を再開した場合は、ハートビートが正常か否かを確認する（ステップＳ５５）。ハートビートが正常な場合は、サブネットワーク１２１に所属するＮＥとＧＮＥ１２１−１と管理装置１１との間の通信が正常化したと判定し、迂回を指示していた隣接サブネットワーク１２２の境界ＮＥ１２２−２および／または１２２−３に対して、迂回を停止するように指示する通信フレームを送信する（ステップＳ５５）。これにより、通常の通信形態に移行する。ハートビートの受信が再開されない場合、あるいは再開されたがハートビートが通信異常を示す情報を含んでいる場合は、ＧＮＥ１２１−１からのハートビートの監視（障害からの復旧を示す正常ハートビートを受信したかどうかの監視）を継続する。
【００８９】
次に、境界ＮＥ１２２−２および１２２−３が管理装置から迂回を指示され、迂回を行う動作を図１２に即して説明する。
【００９０】
境界ＮＥ１２２−２は、起動すると、管理装置１１から隣接サブネットワーク１２１と管理装置１１と間の通信を迂回する指示がきているか否かを定期的に確認する（ステップＳ６１）。管理装置１１からの迂回指示が通信フレームを用いて行われる場合は、アプリケーション３１が通信フレームの内容を確認し、管理装置１１からの通信の迂回指示を受けたか否かを判定する。
【００９１】
迂回指示を受けた場合に、境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（ステップＳ６２での処理に相当）について、説明する。境界ＮＥ１２２−２は、４つの通信ポート３３1〜３３4を有し、それぞれがリンク１２１２Ｌ２−２、１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に接続されている。これらのリンクは全て、サブネットワーク１２２（自サブネットワーク）に属している。そのため、通常動作時は、サブネットワーク１２１に属するＮＥが管理装置１１へ送信した通信フレームは、サブネットワーク１２１側から境界ＮＥ１２２−２へ送信されてくることはない。管理装置１１がサブネットワーク１２１に属するＮＥへ送信した通信フレームも同様に、サブネットワーク１２１側から境界ＮＥ１２２−２へ送信されてくることはない。
【００９２】
一方、サブネットワーク１２２に属するＮＥが管理装置１１へ送信した通信フレームは、サブネットワーク１２２に属するＮＥからリンク１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に送信され、それぞれ通信ポート３３2、３３3および３３4を介して境界ＮＥ１２２−２へ送信されてくる。この通信フレームを境界ＮＥ１２２−２がサブネットワーク１２２に属する別のＮＥに転送する際は、当該通信フレームを受信した通信ポートを除く、通信ポート３３1、３３2、３３3および３３4からそれぞれリンク１２１２Ｌ２−２、１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に送信する。この結果、サブネットワーク１２１の境界ＮＥ１２１−２は、リンク１２１２Ｌ２−２経由で境界ＮＥ１２２−２から通信フレームを受信する。しかし、送信元のＮＥ（境界ＮＥ１２２−２）と同じサブネットワークに属するリンク（通信フレームを受信したリンク１２１２Ｌ２−２は除く）に接続されたポートが存在しないので、境界ＮＥ１２１−２は、受信した通信フレームの転送を行わない。管理装置１１がサブネットワーク１２２に属するＮＥへ送信した通信フレームを中継する際も同様である。なお、通信フレームを管理装置１１から直接受信するＧＮＥ１２２−１は、受信した通信フレームを、自サブネットワーク（サブネットワーク１２２）に属しているリンクに接続された通信ポートに転送する。
【００９３】
したがって、通常時は境界ＮＥ１２２−２の送信ポート管理テーブル３２４は以下のエントリが保持されている。
【００９４】
｛宛先サブネットワークＩＤ領域；送信元サブネットワークＩＤ領域；対応通信ポート領域｝＝｛サブネットワーク121；管理装置11；通信ポート-｝、
｛管理装置11；サブネットワーク121；通信ポート-｝、
｛サブネットワーク122；管理装置11；通信ポート331、332、333、334｝、
｛管理装置11；サブネットワーク122；通信ポート331、332、333、334｝
【００９５】
これに対して、迂回動作時は、サブネットワーク１２１に属するＮＥが管理装置１１へ送信した通信フレームは、サブネットワーク１２１に属するＮＥからリンク１２１２Ｌ２−２に送信され、通信ポート３３1を介して境界ＮＥ１２２−２へ送信されてくる。この通信フレームを境界ＮＥ１２２−２がサブネットワーク１２２に属する別のＮＥに転送する際は、通信ポート３３2、３３3および３３4からリンク１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に送信する。管理装置１１がサブネットワーク１２１に属するＮＥへ送信した通信フレームを中継する際は、サブネットワーク１２２に属する別のＮＥがリンク１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に送信した通信フレームを、それぞれ通信ポート３３2、３３3および３３4から受信し、通信ポート３３1、３３2、３３3および３３4からリンク１２１２Ｌ２−２、１２２２Ｌ２−３、１２２２Ｌ２−５および１２２２Ｌ１−２に送信する。ただし、受信した通信ポートからは送信しない。
【００９６】
したがって、迂回動作時は境界ＮＥ１２２−２の送信ポート管理テーブル３２４は以下のエントリが保持されている。
【００９７】
｛宛先サブネットワークＩＤ領域；送信元サブネットワークＩＤ領域；対応通信ポート領域｝＝｛サブネットワーク121；管理装置11；通信ポート331、332、333、334｝、
｛管理装置11；サブネットワーク121；通信ポート331、332、333、334｝、
｛サブネットワーク122；管理装置11；通信ポート332、333、334｝、
｛管理装置11；サブネットワーク122；通信ポート332、333、334｝
【００９８】
すなわち、サブネットワーク１２ｎが送信元または宛先となる場合、通常時は対応通信ポートとして、サブネットワーク１２ｎに属するリンクと接続されている通信ポートを登録する。一方、サブネットワーク１２ｎが送信元または宛先となる通信フレームをサブネットワーク１２ｊに迂回する際は、対応通信ポートとして、サブネットワーク１２ｎに属するリンクと接続されている通信ポート、およびサブネットワーク１２ｊに属するリンクと接続されている通信ポートを登録する。送信ポート管理テーブル３２４をこのように書き換えることで、迂回動作の開始や中止を行う。
【００９９】
自ノードの迂回動作の設定が完了すると、境界ＮＥ１２２−２は、通信フレームを用いて隣接する境界ＮＥ１２１−２に迂回動作を開始するよう迂回許可通知を送信する（ステップＳ６３）。迂回動作中、境界ＮＥ１２２−２は一定時間内に定期的に管理装置１１から迂回中止が指示されているか否かを確認する（ステップＳ６４）。管理装置１１からの迂回指示が通信フレームを用いて行われる場合は、アプリケーション３１が通信フレームの内容を確認し、管理装置１１からの通信の迂回中止指示がきているか否かを判定する。迂回中止指示が来ている場合の、境界ＮＥ１２２−２での処理は上記のステップＳ６２と同様である（ステップＳ６５）。
【０１００】
通常動作への切り替え設定処理が完了すると、境界ＮＥ１２２−２は、通信フレームを用いて隣接する境界ＮＥ１２１−２に迂回動作を開始するよう迂回許可通知を送信する（ステップＳ６６）。境界ＮＥ１２２−３も同様に動作する。
【０１０１】
次に、隣接する境界ＮＥから迂回を指示され、迂回を行う境界ＮＥ１２１−２および１２１−３の動作を図１３に即して説明する。
【０１０２】
境界ＮＥ１２１−２は、起動すると、境界ＮＥ１２２−２から自サブネットワーク１２１と管理装置１１の間の通信を迂回する指示がきているか否かを定期的に確認する（ステップＳ７１）。管理装置１１からの迂回指示が通信フレームを用いて行われる場合は、アプリケーション３１が通信フレームの内容を確認し、管理装置１１からの通信の迂回指示がきているか否かを判定する。迂回指示が来ている場合は、境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（上述したステップＳ６２に相当）と同様に、境界ＮＥ１２１−２も自ノードの送信ポート管理テーブル３２４を書き換えることで通常動作から迂回動作に切替える（ステップＳ７２）。
【０１０３】
迂回動作中、境界ＮＥ１２１−２は一定時間内に定期的に隣接境界ＮＥ１２２−２から迂回中止が指示されているか否かを確認する（ステップＳ７３）。境界ＮＥ１２２−２からの迂回指示が通信フレームを用いて行われる場合は、アプリケーション３１が通信フレームの内容を確認し、管理装置１１からの通信の迂回中止指示がきているか否かを判定する。迂回中止指示が来ている場合の、境界ＮＥ１２１−２での処理は上記のステップＳ７２と同様である（ステップＳ７４）。境界ＮＥ１２１−３も同様に動作する。
【０１０４】
なお、本実施の形態では、障害検知の手段として、その他の制御信号と同じく通信フレームを用いてハートビートを送信する手段について記載したが、障害検知の手段はこの限りではない。
【０１０５】
また、管理装置１１と各ＮＥ間の制御信号を送受信する手段についても、ここでは通信フレームを用いた手段について記載したが、制御信号を送受信する手段はこの限りではない。
【０１０６】
迂回に用いる隣接サブネットワークは、あらかじめ設定された候補の中から正常なものを管理装置１１が指定してもよい。また、迂回を指示する時点で、障害が発生したサブネットワークに隣接する全てのサブネットワークの状態の情報を収集し、正常なものの中から管理装置１１が指定してもよい。
【０１０７】
なお、上記では迂回に用いる隣接サブネットワークが一つの場合について説明したが、隣接サブネットワークが複数ある場合は、複数のサブネットワークを用いて迂回してもよい。複数のサブネットワークを介して迂回する際は、障害が発生しているサブネットワークに属するＮＥのうち一部をあるサブネットワークに、別の一部を異なるサブネットワークに迂回させてもよい。このように障害が発生しているサブネットワークに関する通信の中継を分散させることで、ネットワーク負荷を低下させることが可能になる。
【０１０８】
また、障害発生中は、優先度の高い情報だけを送受信するようにしてもよい。このようにした場合には、当該サブネットワークと管理装置間の通信負荷を低減できる。
【０１０９】
以上のように、本実施の形態によれば、大規模ネットワークを複数のサブネットワークに分割するようなネットワーク形態において、管理装置と通信を行うＮＥであるＧＮＥとサブネットワーク内のＮＥとの通信が不可能になった場合、隣接するサブネットワークを介して障害が発生しているサブネットワーク内のＮＥと管理装置との通信を迂回する。この際、障害が発生しているサブネットワークと迂回先サブネットワークに属するＮＥのうち、通信フレームを送信してきたＮＥを除く全てのＮＥに接続された通信ポートから当該通信フレームを転送するため、所属するＮＥの台数が数百台以上の大規模ネットワークにおいても、通信路の事前設定をすることなく高信頼な通信が可能となる。
【０１１０】
また、サブネットワークの一部の境界ＮＥとＧＮＥ間の通信に障害が発生した場合、通信障害となっている境界ＮＥからの通信のみを隣接するサブネットワークに迂回させることで、迂回する通信の対象が、当該境界ＮＥと通信可能なＮＥと管理装置間の通信だけに限定されるため、迂回する隣接サブネットワークのネットワーク負荷を可能な限り低く維持しながら、高い信頼性を得ることが可能となる。
【０１１１】
実施の形態２．
以上の実施の形態１では、あるサブネットワークにおいてＧＮＥと管理装置の間の通信が不能になった場合に、管理装置からの指示により隣接サブネットワークを介した通信を行うことで信頼性を高めたものであるが、実施の形態２では、実施の形態１と同様の障害が発生した場合に、ＮＥが自律的に管理装置との通信を隣接サブネットワークに迂回させる場合について示す。なお、システムおよび各装置の構成は、実施の形態１と同様とする（図１〜図４参照）。
【０１１２】
図１４は、ＧＮＥが管理装置との間の通信の正常性を確認する動作の一例を示すフローチャートである。図１４に示したように、ＧＮＥによる通信正常性の確認動作は、ステップＳ８１〜Ｓ８３を含んでいる。
【０１１３】
ステップＳ８１では、管理装置からのハートビートを受信したか否かを判定する。ステップＳ８２では、管理装置とＧＮＥの間の通信の正常性を境界ＮＥに通知するために、ハートビートを送信する。ステップＳ８３では、管理装置とＧＮＥの間の通信に異常が生じていることを境界ＮＥに通知するために、ハートビートの送信を中止する。
【０１１４】
図１５は、障害が発生したサブネットワークの境界ＮＥが、隣接するサブネットワークに通信を迂回させる動作の一例を示すフローチャートである。図１５に示したように、境界ＮＥが通信を迂回させる動作は、ステップＳ９１〜Ｓ１００を含んでいる。
【０１１５】
ステップＳ９１では、ＧＮＥからのハートビートを受信しているか否かを判定する。ステップＳ９２では、迂回させる隣接サブネットワークの境界ＮＥに対して迂回要求を送信する。ステップＳ９３では、迂回させる隣接サブネットワークの境界ＮＥから迂回応答を受信したか否かを判定する。ステップＳ９４では、ステップＳ９３で受信した迂回応答が迂回許可か否かを判定する。ステップＳ９５では、隣接サブネットワークに自サブネットワークと管理装置間の通信を迂回させるよう自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ９６では、ＧＮＥからのハートビートを受信しているか否かを判定する。ステップＳ９７では、自サブネットワークと管理装置間の通信を迂回させている隣接サブネットワークの境界ＮＥに対して通常動作要求を送信する。ステップＳ９８では、隣接サブネットワークの境界ＮＥから通常動作応答を受信したか否かを判定する。ステップＳ９９では、自サブネットワークと管理装置間の通信を隣接サブネットワークに迂回させることを中止し、通常動作を再開するよう自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ１００では、管理装置に対し通常動作を再開したことを通知する。
【０１１６】
図１６は、障害が発生しているサブネットワークと管理装置の間の通信を迂回させる隣接サブネットワークの境界ＮＥが、当該通信の迂回処理をする際の制御動作の一例を示すフローチャートである。図１６に示したように、境界ＮＥが通信迂回のために行う制御動作は、ステップＳ１１１〜Ｓ１２１を含んでいる。
【０１１７】
ステップＳ１１１では、隣接する境界ＮＥから迂回要求を受信したか否かを判定する。ステップＳ１１２では、自サブネットワークのＧＮＥとの通信が正常か否かを判定する。ステップＳ１１３では、管理装置に対して、障害発生中の隣接サブネットワークと管理装置間の通信の迂回要求を送信する。ステップＳ１１４では、管理装置から迂回応答を受信したか否かを判定する。ステップＳ１１５では、ステップＳ１１４で受信した迂回応答が許可か否かを判定する。ステップＳ１１６では、隣接サブネットワークと管理装置間の通信を迂回するよう自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ１１７では、隣接する境界ＮＥに対して、迂回応答（不可）を送信する。ステップＳ１１８では、隣接する境界ＮＥに対して、迂回応答（許可）を送信する。ステップＳ１１９では、隣接する境界ＮＥから通常動作要求を受信したか否かを判定する。ステップＳ１２０では、隣接サブネットワークと管理装置間の通信の迂回動作を中止し、通常動作を再開するよう自ノードの送信ポート管理テーブル３２４を書きかえる。ステップＳ１２１では、隣接する境界ＮＥに対し、通常動作応答を送信する。
【０１１８】
動作について説明する。なお、実施の形態１の通信システムと共通の構成、動作については説明を省略する。本実施の形態は、実施の形態１と同様に、管理装置１１が、管理対象となるネットワーク１２を、所属するＮＥが数十台程度のサブネットワーク１２１、１２２、…に分割し、各サブネットワークに１台以上設置されるＧＮＥと通信を行うような構成のネットワークに適用する。ＮＥと管理装置１１の通信に障害が発生していない場合の動作（通常動作）は実施の形態１と同様である。
【０１１９】
図１に示した構成の通信システムのサブネットワーク１２１で障害が発生し、通信をサブネットワーク１２２に迂回させる場合の動作について、図１４、１５および１６を用いて説明する。
【０１２０】
サブネットワーク１２１のＧＮＥ１２１−１で障害が発生した場合、またはＧＮＥ１２１−１と管理装置１１の間に障害が発生した場合、またはＧＮＥ１２１−１と境界ＮＥ１２１−２の間の全通信経路に障害が発生した場合を例に説明する。
【０１２１】
管理装置１１は起動すると、ＧＮＥ１２１−１に対して、ハートビートを定期的に送信する。ＧＮＥ１２１−１は管理装置１１からのハートビートを一定時間内に定期的に受信したかどうかを監視しており（図１４、ステップＳ８１）、ハードビートの受信ができている間は（ステップＳ８１：Ｙｅｓ）、自ノードと管理装置１１の間の通信が正常と判断する。この場合、ＧＮＥ１２１−１は、境界ＮＥ１２１−２および１２１−３に対してハートビートを定期的に送信する（ステップＳ８２）。一方、管理装置１１との通信に異常が発生し、ハートビートが受信できない場合には（ステップＳ８１：Ｎｏ）、境界ＮＥ１２１−２および１２１−３に対してハートビートを送信しない（ステップＳ８３）。これにより、境界ＮＥ１２１−２および１２１−３は、ＧＮＥ１２１−１と管理装置１１の間で通信障害が発生したことを認識する。
【０１２２】
境界ＮＥ１２１−２および１２１−３は、ＧＮＥ１２１−１からのハートビートを一定時間内に定期的に受信したかどうかを監視しており（図１５、ステップＳ９１）、ハートビートを一定期間にわたって受信できない場合（ステップＳ９１：Ｎｏ）、ＧＮＥ１２１−１と管理装置１１の間の通信、あるいはＧＮＥ１２１−１と自ノードの間の通信で障害が発生したと判断し、隣接するサブネットワーク１２２の境界ＮＥ１２２−２および１２２−３に対して、自サブネットワーク１２１と管理装置１１間の通信の迂回を要請する（ステップＳ９２）。
【０１２３】
境界ＮＥ１２２−２および１２２−３は、隣接サブネットワークの境界ＮＥから、管理装置１１との間の通信の迂回要請があったかどうかを監視しており（図１６、ステップＳ１１１）、要請を受けた場合（ステップＳ１１１：Ｙｅｓ）、自サブネットのＧＮＥとの通信が正常にできているかどうかを確認し（ステップＳ１１２）、正常の場合（ステップＳ１１２：Ｙｅｓ）、管理装置１１に対し障害発生中のサブネットワーク１２１との通信を自サブネットワーク１２２が中継することにより迂回させることを要求する（ステップＳ１１３）。通信の迂回を要求した後、要求に対する応答を受信したかどうかを監視し（ステップＳ１１４）、応答を受信すると（ステップＳ１１４：Ｙｅｓ）、要求が受け入れられたか（迂回の許可がされたか）どうか確認する（ステップＳ１１５）。管理装置１１により、管理装置１１とサブネットワーク１２１の間の通信の迂回が許可されると（ステップＳ１１５：Ｙｅｓ）、迂回動作をするための設定処理を行い（ステップＳ１１６）、それぞれ隣接する境界ＮＥ１２１−２および１２１−３に対して迂回を許可する（ステップＳ１１８）。なお、ステップＳ１１２で自サブネットのＧＮＥとの通信が正常にできていないと判断した場合（ステップＳ１１２：Ｎｏ）、および管理装置１１から迂回が許可されなかった場合（ステップＳ１１５：Ｎｏ）、迂回不可を示す応答を境界ＮＥ１２１−２および１２１−３に対して行う。
【０１２４】
管理装置１１との通信障害を検出し、この通信の迂回を図１５のステップＳ９２にて要請した境界ＮＥ１２１−２および１２１−３は、その応答を受けたかどうかを監視し（図１５、ステップＳ９３）、応答を受けた場合には（ステップＳ９３：Ｙｅｓ）、応答が迂回の許可を示すものかどうかを確認する（ステップＳ９４）。そして、迂回許可の応答を受けた場合には（ステップＳ９４：Ｙｅｓ）、送信ポートテーブル３２４を書き換える（ステップＳ９５）。この結果、隣接サブネットワークへの通信の迂回が開始となる。なお、迂回許可以外の応答を受けた場合には（ステップＳ９４：Ｎｏ）、ステップＳ９２〜Ｓ９４を再度実行する。
【０１２５】
迂回中、境界ＮＥ１２１−２および１２１−３は、ＧＮＥ１２１−１からのハートビートを一定時間内に定期的に受信しているかどうかを監視することで自ノードとＧＮＥ１２１−１と監視装置１１の間の通信が回復したか否かを判定する（ステップＳ９６）。ＧＮＥ１２１−１からのハートビートが受信できるようになった場合（ステップＳ９６：Ｙｅｓ）、すなわち通信回復を検出した場合、隣接する境界ＮＥ１２２−２および１２２−３に対して、迂回動作を中止し、通常動作を再開するよう要求する（ステップＳ９７）。
【０１２６】
境界ＮＥ１２２−２および１２２−３は、隣接サブネットワークの境界ＮＥから通常動作再開の要求（通常動作要求）を受けたかどうかを監視しており（図１６ステップＳ１１９）、当該要求を受けた場合には（ステップＳ１１９：Ｙｅｓ）、迂回動作を中止して通常動作を再開するように送信ポートテーブル３２４を書き換える（ステップＳ１２０）。また、それぞれ隣接する境界ＮＥ１２１−２および１２１−３に対して通常動作再開応答を送信する（ステップＳ１２１）。
【０１２７】
管理装置１１との通信回復を検出し、通信の迂回動作を中止するよう図１５のステップＳ９７にて要求した境界ＮＥ１２１−２および１２１−３は、要求に対して通常動作応答を受けたかどうか監視し（図１５、ステップＳ９８）、通常動作応答を受けた場合には（ステップＳ９８：Ｙｅｓ）、迂回動作を中止し通常動作を再開するために、送信ポートテーブル３２４を書き換える（ステップＳ９９）。さらに、管理装置１１に通常動作再開を通知する（ステップＳ１００）。
【０１２８】
以下、図１４、１５および１６の各ステップに沿って動作の詳細を説明する。
【０１２９】
管理装置１１は、起動するとハートビートとして、例えばペイロード領域にハートビート情報を格納した通信フレームを一定周期でＧＮＥ１２１−１に送信する。
【０１３０】
次に、ＧＮＥ１２１−１が、管理装置１１とＧＮＥ１２１−１の間の通信が正常に行われているかどうかを判断する動作を図１４に即して説明する。
【０１３１】
ＧＮＥ１２１−１は、起動すると、管理装置１１からのハートビートを受信しているかどうかを一定周期で確認する（ステップＳ８１）。境界ＮＥからのハートビートとして通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域にハートビート情報が付加されているかどうかを判定する。管理装置１１からハートビートを受信している場合は、管境界ＮＥ１２１−２および１２１−３にハートビートを送信する（ステップＳ８２）。管理装置１１からのハートビートを受信しない場合は、ハートビートを送信しない（ステップＳ８３）。この時のハートビート信号として、ＧＮＥ１２１−１は、例えばペイロード領域に、ハートビート情報を格納した通信フレームを用いる。
【０１３２】
次に、境界ＮＥ１２１−２および１２１−３が、ＧＮＥ１２１−１との間の通信が正常に行われているかどうかを判断する動作を図１５に即して説明する。
【０１３３】
境界ＮＥ１２１−２は、起動すると、ＧＮＥ１２１−１からのハートビートを受信しているかどうかを一定周期で確認する（ステップＳ９１）。ＧＮＥ１２１−１からのハートビートとして通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域にハートビート情報が付加されているかどうかを判定する。ＧＮＥ１２１−１からハートビートを受信しない場合は、隣接する境界ＮＥ１２２−２に、自サブネットワークと管理装置１１の間の通信を迂回するよう迂回要求を送信する（ステップＳ９２）。この要求は、例えばペイロード領域に、迂回要求情報を格納した通信フレームを用いる。
【０１３４】
迂回要求を送信した境界ＮＥ１２１−２は、隣接する境界ＮＥ１２２−２から迂回応答を受信するか否かを一定周期で確認する（ステップＳ９３）。応答を受信した場合は、応答が迂回許可か否かを判定する（ステップＳ９４）。この応答信号として通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、ペイロード領域に迂回応答情報が付加されているかどうか、および迂回応答の場合は許可か不可か、を判定する。
【０１３５】
迂回許可を受けると、実施の形態１において境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（図１２のステップＳ６２に相当）と同様に、自ノードの送信ポート管理テーブル３２４を書き換えることで通常動作から迂回動作に切替える（ステップＳ９５）。迂回動作中、境界ＮＥ１２１−２は、ＧＮＥ１２１−１からのハートビートを受信しているかどうかを一定周期で確認する（ステップＳ９６）。ＧＮＥ１２１−１からのハートビートとして通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域にハートビート情報が付加されているかどうかを判定する。ＧＮＥ１２１−１からハートビートを受信する場合は、隣接する境界ＮＥ１２２−２に、自サブネットワーク−管理装置１１間の通信の迂回動作を中止し、通常動作を再開するよう通常動作要求を送信する（ステップＳ９７）。この要求は、例えばペイロード領域に、通常動作要求情報を格納した通信フレームを用いる。
【０１３６】
通常動作要求を送信した境界ＮＥ１２１−２は、隣接する境界ＮＥ１２２−２から通常動作応答を受信するか否かを一定周期で確認する（ステップＳ９８）。この応答信号として通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域に通常動作応答情報が付加されているかどうかを判定する。通常動作応答を受けると、境界ＮＥ１２１−２は、実施の形態１において境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（図１２のステップＳ６２に相当）と同様に、自ノードの送信ポート管理テーブル３２４を書き換えることで迂回動作から通常動作に切替える（ステップＳ９９）。通常動作を再開すると、管理装置１１に通常動作を再開したことを通知する（ステップＳ１００）。この通知は、例えばペイロード領域に、通常動作再開情報を格納した通信フレームを用いる。境界ＮＥ１２１−３も同様に動作する。
【０１３７】
次に、境界ＮＥ１２２−２および１２２−３が、障害が発生したサブネットワーク１２１の境界ＮＥから迂回を要求された場合の動作を図１６に即して説明する。
【０１３８】
境界ＮＥ１２２−２は、起動すると、境界ＮＥ１２１−２から迂回要求を受信しているかどうかを一定周期で確認する（ステップＳ１１１）。境界ＮＥ１２１−２からの迂回要求として通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、およびペイロード領域に迂回要求情報が付加されているかどうかを判定する。迂回要求を受信した場合、境界ＮＥ１２２−２は、自サブネットワーク１２２のＧＮＥ１２２−１からのハートビートを定期的に受信していることを確認することで、自ノードとＧＮＥ１２２−１と管理装置１１の間の通信が正常であることを確認する（ステップＳ１１２）。
【０１３９】
自ノードとＧＮＥ１２２−１と管理装置１１の間の通信に異常がある場合は、迂回が不可である旨の迂回応答を境界ＮＥ１２１−２に送信する（ステップＳ１１７）。一方、自ノードとＧＮＥ１２２−１と管理装置１１の間の通信が正常である場合は、管理装置１１に迂回要求を送信する（ステップＳ１１３）。この通知は、例えばペイロード領域に、迂回要求情報を格納した通信フレームを用いる。
【０１４０】
管理装置１１に迂回要求を送信した境界ＮＥ１２２−２は、管理装置１１から迂回応答を受信したか否かを定期的に確認する（ステップＳ１１４）。応答を受信した場合は、応答が迂回許可か否かを判定する（ステップＳ１１５）。この応答信号として通信フレームを用いる場合は、アプリケーション３１が、どの装置から受信したフレームか、ペイロード領域に迂回応答情報が付加されているかどうか、および迂回応答の場合は許可か不可か、を判定する。迂回応答が不可の場合は、境界ＮＥ１２１−２に迂回は不可である旨の迂回応答を送信する（ステップＳ１１７）。迂回応答が許可の場合、境界ＮＥ１２２−２は、実施の形態１において境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（図１２のステップＳ６２に相当）と同様に、自ノードの送信ポート管理テーブル３２４を書き換えることで通常動作から迂回動作に切替える（ステップＳ１１６）。切替処理が完了すると、境界ＮＥ１２１−２に迂回を許可する旨の迂回応答を送信する（ステップＳ１１８）。ステップＳ１１７およびステップＳ１１８の応答には、例えばペイロード領域に、迂回を許可するか否かの迂回応答情報を格納した通信フレームを用いる。
【０１４１】
迂回動作中の境界ＮＥ１２２−２は、境界ＮＥ１２１−２から通常動作要求を受信しているかどうかを一定周期で確認する（ステップＳ１１９）。境界ＮＥ１２１−２からの通常動作要求として通信フレームを用いる場合は、アプリケーション３１がどの装置から受信したフレームか、また、ペイロード領域に通常動作要求情報が付加されているかどうかを判定する。通常動作要求を受信すると、境界ＮＥ１２２−２は、実施の形態１において境界ＮＥ１２２−２が通常動作から迂回動作に切替える際の処理（図１２のステップＳ６２に相当）と同様に、自ノードの送信ポート管理テーブル３２４を書き換えることで迂回動作から通常動作に切替える（ステップＳ１２０）。切替処理が完了すると、境界ＮＥ１２１−２に通常動作応答を送信する（ステップＳ１２１）。この応答には、例えばペイロード領域に、通常動作応答情報を格納した通信フレームを用いる。境界ＮＥ１２２−３も同様に動作する。
【０１４２】
なお、本実施の形態では、障害検知の手段として、その他の制御信号と同じく通信フレームを用いてハートビートを送信する手段について記載したが、障害検知の手段はこの限りではない。また、管理装置と各ＮＥ間の制御信号を送受信する手段についても、通信フレームを用いた手段について記載したが、制御信号を送受信する手段はこの限りではない。迂回に用いる隣接サブネットワークは、あらかじめ設定された候補の中から、障害が発生したサブネットワークの境界ＮＥが指定してもよい。また、迂回を指示する時点で、当該境界ＮＥが隣接する全ての境界ＮＥから各サブネットワークの状態の情報を収集し、正常なものの中から当該境界ＮＥが指定してもよい。
【０１４３】
また、上記では迂回に用いる隣接サブネットワークが一つの場合について説明したが、隣接サブネットワークが複数ある場合は、複数のサブネットワークを用いて迂回してもよい。複数のサブネットワークを介して迂回する際は、障害が発生しているサブネットワークに属するＮＥのうち一部をあるサブネットワークに、別の一部を異なるサブネットワークに迂回させてもよい。このように障害が発生しているサブネットワークに関する通信の中継を分散させることで、ネットワーク負荷を低下させることが可能になる。
【０１４４】
また、障害発生中は、優先度の高い情報だけを送受信するようにしてもよい。このようにした場合には、当該サブネットワークと管理装置間の通信負荷を低減できる。
【０１４５】
本実施の形態では、実施の形態１と同様に次のような効果が得られる。すなわち、大規模ネットワークを複数のサブネットワークに分割するようなネットワーク形態において、管理装置との通信を行うＮＥであるＧＮＥとサブネットワーク内のＮＥとの通信が不可能になった場合、隣接するサブネットワークを介して障害が発生しているサブネットワーク内のＮＥと管理装置との通信を迂回する。この際、障害が発生しているサブネットワークと迂回先サブネットワークに属するＮＥのうち、通信フレームを送信してきたＮＥを除く全てのＮＥに接続された通信ポートから当該通信フレームを転送するため、所属するＮＥの台数が数百台以上の大規模ネットワークにおいても、通信路の事前設定をすることなく高信頼な通信が可能となる。
【０１４６】
また、サブネットワークの一部の境界ＮＥとＧＮＥ間の通信に障害が発生した場合、当該境界ＮＥからの通信のみを隣接するサブネットワークに迂回させることで、迂回する通信の対象が、当該境界ＮＥと通信可能なＮＥと管理装置間の通信だけに限定されるため、迂回する隣接サブネットワークのネットワーク負荷を可能な限り低く維持しながら、高い信頼性を得ることが可能となる。
【０１４７】
さらに、本実施の形態においては、ＮＥが自律的に迂回動作を行うために、管理装置の処理負荷を低下させることができる。
【産業上の利用可能性】
【０１４８】
以上のように、本発明にかかる通信システムは、複数のネットワーク装置により形成されたネットワークと、各ネットワーク装置と通信を行って情報の送受信を行う管理装置とにより構成された通信システムに適している。
【符号の説明】
【０１４９】
１１  管理装置
１２  ネットワーク
３１  アプリケーション
３２  冗長通信機能部
３３1〜３３k  通信ポート
１２１，１２２，１２３  サブネットワーク
１２１−１〜１２１−１３，１２２−１〜１２２−１３  ネットワーク装置（ＮＥ）
３２１  送信カウンタ
３２２  中継テーブル
３２３  中継管理周期タイマ
３２４  送信ポート管理テーブル
【図１】
2013162410.tif 000003
【図２】
2013162410.tif 000004
【図３】
2013162410.tif 000005
【図４】
2013162410.tif 000006
【図５】
2013162410.tif 000007
【図６】
2013162410.tif 000008
【図７】
2013162410.tif 000009
【図８】
2013162410.tif 000010
【図９】
2013162410.tif 000011
【図１０】
2013162410.tif 000012
【図１１】
2013162410.tif 000013
【図１２】
2013162410.tif 000014
【図１３】
2013162410.tif 000015
【図１４】
2013162410.tif 000016
【図１５】
2013162410.tif 000017
【図１６】
2013162410.tif 000018