(57)【要約】【課題】通信断となる回数を減らすことにより、ネットワーク障害から高速に復旧することができるデータ中継装置、データ中継方法およびデータ中継プログラムを提供すること。【解決手段】データ中継装置が、自装置を識別する識別情報を記憶し、自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックし、リンクに発生した障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、記憶された識別情報とを比較し、その比較結果に基づいて、自装置をマスターノードとして設定するか否かを判定する。【選択図】        図１
2005269059.tif 000002
【特許請求の範囲】
【請求項１】
マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継装置であって、
自装置を識別する識別情報を記憶する記憶手段と、
自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック手段と、
前記ブロック手段によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較する比較手段と、
前記比較手段による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定手段と、
を備えたことを特徴とするデータ中継装置。
【請求項２】
前記ブロック手段は、自装置に接続された第１のリンクに接続された第１の装置に障害が発生した場合に、前記第１の装置に接続された第１のリンクに接続されているポートをブロックし、前記比較手段は、前記第１の装置に発生した障害が復旧した場合に、前記第１の装置に接続された第２のリンクに接続されている第２の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較することを特徴とする請求項１に記載のデータ中継装置。
【請求項３】
前記比較手段は、複数のリングネットワークがある場合に、障害が発生したリングネットワークごとに前記識別情報を比較し、前記判定手段は、該リングネットワークごとに自装置を前記マスターノードとして設定するか否かを判定することを特徴とする請求項１または２に記載のデータ中継装置。
【請求項４】
複数のリングネットワークが共有されている共有リンクに障害が発生した場合に、前記ブロック手段は、前記共有リンクを構成するリングネットワークの数に係る情報に基づいて障害が発生した共有リンクに接続されているポート以外からブロックすべきポートを判定し、ブロックすべきと判定された該ポートをブロックすることを特徴とする請求項１、２または３に記載のデータ中継装置。
【請求項５】
マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継方法であって、
自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック工程と、
前記ブロック工程によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、自装置を識別するあらかじめ記憶手段に記憶された識別情報とを比較する比較工程と、
前記比較工程による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定工程と、
を含んだことを特徴とするデータ中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継装置、データ中継方法およびデータ中継プログラムに関し、特に、通信断となる回数を減らすことにより、ネットワーク障害から高速に復旧することができるデータ中継装置、データ中継方法およびデータ中継プログラムに関するものである。
【背景技術】
【０００２】
従来、基幹ネットワークにおいて、障害の発生による通信断を回避するため、冗長性をもったネットワークが構築されている。ところが、ネットワークに冗長性をもたせると、パケットが送信された場合に、パケットの送信経路がループ状になってしまい、パケットが循環し続ける状態に陥る可能性が生じる。
【０００３】
そこで、パケットの送信経路がループ状となってしまうのを回避するために、スパニングツリープロトコル方式がＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１Ｄの規格として規定されている。このスパニングツリープロトコル方式においては、冗長性を持ったネットワークにおいても、ループ状となっている経路の一箇所を論理的にブロックすることにより、パケットの送信経路がループ状となってしまうのを回避する。
【０００４】
図２３は、スパニングツリープロトコル方式により構築されたネットワークの一例を示す図である。図２３に示すように、このスパニングツリープロトコル方式においては、ネットワークの全ノード間で制御情報を交換してルートノードを設定する。そして、ループしているネットワークを論理ブロックしてループを解消しつつ、ルートノードを中心としたツリー状のネットワークを構築する。
【０００５】
しかし、スパニングツリープロトコル方式においては、ネットワークに障害が発生した場合に、ルートノードを中心としたツリー状のネットワークを再構築するため、復旧までに時間がかかり、基幹ネットワークには適さないという問題がある。
【０００６】
そのため、非特許文献１には、リングネットワークにおいて、マスターノードがリングの一方のポートを論理ブロックし、そのリングネットワークに障害が発生した場合には、論理ブロックしていたポートを開放してパケットの通信再開をすばやくおこなうことを可能とするＥＡＰＳ（Ethernet Automatic Protection Switching）（登録商標）の技術が開示されている。
【０００７】
【非特許文献１】S. Shah and M. Yip，“Extreme Networks' Ethernet Automatic Protection Switching（EAPS）, Version 1”，［online］，［平成１６年２月２４日検索］，インターネット＜URL:http://www.watersprings.org/pub/id/draft-shah-extreme-eaps-03.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した非特許文献１の従来技術では、リングネットワークに障害が発生した場合に通信断が発生するのに加え、その障害から復旧した際にも、各ノードが通信経路を学習するまで通信断が発生するという問題があった。
【０００９】
具体的には、障害が発生した際、および、その障害から復旧した際に、マスターノードは、他のノードに経路情報をフラッシュするよう要求し、その後、各ノードは新しいネットワークの経路情報を学習するため、その間、２回の通信断が発生するという問題があった。
【００１０】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、通信断となる回数を減らすことにより、ネットワーク障害から高速に復旧することができるデータ中継装置、データ中継方法およびデータ中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、本発明は、マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継装置であって、自装置を識別する識別情報を記憶する記憶手段と、自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック手段と、前記ブロック手段によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較する比較手段と、前記比較手段による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定手段と、を備えたことを特徴とする。
【００１２】
また、本発明は、前記ブロック手段は、自装置に接続された第１のリンクに接続された第１の装置に障害が発生した場合に、前記第１の装置に接続された第１のリンクに接続されているポートをブロックし、前記比較手段は、前記第１の装置に発生した障害が復旧した場合に、前記第１の装置に接続された第２のリンクに接続されている第２の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較することを特徴とする。
【００１３】
また、本発明は、前記比較手段は、複数のリングネットワークがある場合に、障害が発生したリングネットワークごとに前記識別情報を比較し、前記判定手段は、該リングネットワークごとに自装置を前記マスターノードとして設定するか否かを判定することを特徴とする。
【００１４】
また、本発明は、複数のリングネットワークが共有されている共有リンクに障害が発生した場合に、前記ブロック手段は、前記共有リンクを構成するリングネットワークの数に係る情報に基づいて障害が発生した共有リンクに接続されているポート以外からブロックすべきポートを判定し、ブロックすべきと判定された該ポートをブロックすることを特徴とする。
【００１５】
また、本発明は、前記ブロック手段は、自装置がマスターノードであって、発生した障害がすでにブロックしているポート側の障害である場合に、該ポートのブロックを継続することを特徴とする。
【００１６】
また、本発明は、前記ブロック手段は、自装置に接続されたリンクに障害が発生した場合には、該リンクに設けられた冗長リンクにデータの送信経路を切り替え、自装置に接続されたリンクに接続された他の装置に障害が発生した場合には、該リンクに接続されているポートをブロックすることを特徴とする。
【００１７】
また、本発明は、マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継方法であって、自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック工程と、前記ブロック工程によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、自装置を識別するあらかじめ記憶手段に記憶された識別情報とを比較する比較工程と、前記比較工程による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定工程と、を含んだことを特徴とする。
【００１８】
また、本発明は、マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継プログラムであって、自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック手順と、前記ブロック手順によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、自装置を識別するあらかじめ記憶手段に記憶された識別情報とを比較する比較手順と、前記比較手順による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、自装置を識別する識別情報を記憶し、自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックし、ブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、記憶された識別情報とを比較し、その比較結果に基づいて、自装置をマスターノードとして設定するか否かを判定することとしたので、マスターノードをリンク障害が発生した箇所に隣接するデータ中継装置に設定することにより、通信断となる回数を減らし、ネットワークのリンク障害から高速に復旧することができるという効果を奏する。
【００２０】
また、本発明によれば、自装置に接続された第１のリンクに接続された第１の装置に障害が発生した場合に、第１の装置に接続された第１のリンクに接続されているポートをブロックし、第１の装置に発生した障害が復旧した場合に、第１の装置に接続された第２のリンクに接続されている第２の装置の識別情報と、記憶された識別情報とを比較することとしたので、マスターノードをデータ中継装置の障害が発生した箇所に隣接するデータ中継装置に設定することにより、通信断となる回数を減らし、ネットワークのノード障害から高速に復旧することができるという効果を奏する。
【００２１】
また、本発明によれば、複数のリングネットワークがある場合に、障害が発生したリングネットワークごとに識別情報を比較し、リングネットワークごとに自装置をマスターノードとして設定するか否かを判定することとしたので、複数のリングネットワークがある場合でも、通信断となる回数を減らすことにより、ネットワークの障害から高速に復旧することができるという効果を奏する。
【００２２】
また、本発明によれば、複数のリングネットワークが共有されている共有リンクに障害が発生した場合に、共有リンクを構成するリングネットワークの数に係る情報に基づいて、障害が発生した共有リンクに接続されているポート以外からブロックすべきポートを判定し、ブロックすべきと判定されたポートをブロックすることとしたので、共有リンクを有するリングネットワークに対しても、通信断となる回数を減らすことにより、ネットワークの障害から高速に復旧することができるという効果を奏する。
【００２３】
また、本発明によれば、自装置がマスターノードであって、発生した障害がすでにブロックしているポート側の障害である場合に、そのポートのブロックを継続することとしたので、無用なマスターノードの設定処理をおこなわないことにより、効率化を図ることができるという効果を奏する。
【００２４】
また、本発明によれば、自装置に接続されたリンクに障害が発生した場合には、そのリンクに設けられた冗長リンクにデータの送信経路を切り替え、自装置に接続されたリンクに接続された他の装置に障害が発生した場合には、そのリンクに接続されているポートをブロックすることとしたので、通信断となる回数を減らすことによりノード障害から高速に復旧する復旧方式と、既存の冗長リンク方式とを組み合わせて用いることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、本発明に係るデータ中継装置、データ中継方法およびデータ中継プログラムの好適な実施例を詳細に説明する。
【実施例】
【００２６】
まず、本実施例に係るリングネットワーク障害発生時のマスターノード設定処理について説明する。図１および図２は、本実施例に係るリングネットワーク障害発生時のマスターノード設定処理について説明する説明図（１）および（２）である。
【００２７】
図１に示すように、初期状態として、マスターノードはノード１ａに設定されている。そして、ループ経路の発生を防ぐため、ノード１ａは、ノード１ｂに接続されているポート２ａを論理ブロックしている。そして、マスターノードであるノード１ａは、ノード１ｄの方向に、障害が発生しているか否かを判定するための、ヘルスチェックパケットを送信する。
【００２８】
そして、障害３の発生を検出したノード１ｃおよびノード１ｄは、障害３の発生を検出したことを示すトラップパケットを、マスターノードであるノード１ａに対して送信する。そして、ノード１ｃおよびノード１ｄは、障害３が発生したリンクに接続されたポート２ｂおよび２ｃを論理ブロックする処理をおこなう。
【００２９】
ノード１ａは、トラップパケットを少なくとも１つ受信した場合、あるいは、所定の時間（フェイルタイム）以内に論理ブロックしているポートでハローパケット、すなわちノード１ｄの方向に送信されたヘルスチェックパケットを受信しない場合に、障害３が発生したと判定する。
【００３０】
そして、ノード１ａは、障害３が発生したと判定すると、論理ブロックしていたポート２ａを解放する。また、ノード１ａは、全ノード１ｂ〜１ｄに対し、各ノードが学習したデータの送信経路情報をフラッシュするよう要求するＭＡＣフラッシュパケットを送信する。さらに、ノード１ａは、マスターノードから通常のノード（トランジットノード）に移行して、ヘルスチェックパケットの送信を停止する。
【００３１】
障害３の復旧時には、トラップパケットを送信したノード１ｃおよびノード１ｄは、論理ブロックしているポート２ｂおよび２ｃをプレフォワーディング状態に設定する。プレフォワーディング状態とは、データパケットの送受信は拒否するが、制御情報を含んだ制御パケットの送受信は許可する状態のことである。これは、障害３の復旧と同時にループ経路が一時的に発生するのを防ぐためである。
【００３２】
そして、プレフォワーディング状態において、ノード１ｃおよびノード１ｄは、ネゴーシエーションパケットを送信することにより、ノード１ｃあるいはノード１ｄのいずれかをマスターノードに設定する。
【００３３】
具体的には、自ノードに記憶しているブリッジＩＤ（ＢＩＤ）の情報をネゴーシエーションパケットとして送信し、小さいＢＩＤを有するノード（ノード１ｃ）をマスターノードとして設定し、大きいＢＩＤを有するノード（ノード１ｄ）を、トランジットノードとして設定する。
【００３４】
そして、トランジットノードとなったノード１ｄは、論理ブロックしているポート２ｂをプレフォワーディング状態から、データの送受信が可能なフォワーディング状態に設定する。一方、マスターノードとなったノード１ｃは、論理ブロックしているポート２ｃをプレフォワーディング状態から論理ブロック状態に設定し、ヘルスチェックパケットの送信を開始する。
【００３５】
ただし、図２に示すように、マスターノードであるノード１ａに接続され、もともと論理ブロックされているポート２ａに接続されたリンクに障害４が発生した場合には、ノード１ａはマスターノードの設定処理をおこなわず、ポート２ａの論理ブロックの状態を維持する。
【００３６】
なお、ここでは、ノード間のリンクに障害が発生した場合について説明したが、リングネットワークに属するノードに障害が発生した場合にも同様に、マスターノード設定処理をおこなうことができる。
【００３７】
これを、図１を用いて具体的に説明すると、たとえば、ノード１ｃに障害が発生した場合に、ノード１ｂおよびノード１ｄはそのノード障害を検出し、障害の発生を検出したことを示すトラップパケットを、マスターノードであるノード１ａに対して送信する。そして、ノード１ｂおよびノード１ｄはそれぞれ、ノード障害が発生した側のリンクに接続されたポートを論理ブロックする処理をおこなう。
【００３８】
一方、ノード１ａは、トラップパケットを少なくとも１つ受信した場合、あるいは、所定の時間（フェイルタイム）以内に論理ブロックしているポートでハローパケット、すなわちノード１ｄの方向に送信されたヘルスチェックパケットを受信しない場合に、障害が発生したと判定する。
【００３９】
そして、ノード１ａは、障害が発生したと判定すると、論理ブロックしていたポートを解放する。また、ノード１ａは、全ノード１ｂ〜１ｄに対し、各ノードが学習したデータの送信経路情報をフラッシュするよう要求するＭＡＣフラッシュパケットを送信する。さらに、ノード１ａは、マスターノードからトランジットノードに移行して、ヘルスチェックパケットの送信を停止する。
【００４０】
ノード障害の復旧時には、トラップパケットを送信したノード１ｂおよびノード１ｄは、論理ブロックしているポートをプレフォワーディング状態に設定する。また、障害から復帰したノード１ｃは、ノード１ｂおよびノード１ｄに接続されているポートをプレフォワーディング状態に設定する。
【００４１】
そして、プレフォワーディング状態において、ノード１ｂおよびノード１ｄは、ノード１ｃを介してネゴーシエーションパケットを送信し、ＢＩＤを比較することにより、ノード１ｂあるいはノード１ｄの一方をマスターノードに設定し、他方をトランジットノードに設定する。
【００４２】
そして、トランジットノードに設定されたノードは、論理ブロックしているポートをプレフォワーディング状態から、データの送受信が可能なフォワーディング状態に設定する。一方、マスターノードに設定されたノードは、論理ブロックしているポートをプレフォワーディング状態から論理ブロック状態に設定し、ヘルスチェックパケットの送信を開始する。
【００４３】
図１および図２を用いて説明したように、リングネットワークに障害が発生した際に、発生した障害の隣接ノードが障害が発生した側のポートをブロックし、障害が復旧した際に、障害の隣接ノードのうちマスターノードに設定されたノードがポートのブロックを継続しておこなって、障害が復旧した際の経路情報の学習を不要とすることにより、通信断となる回数を減らすことができ、ネットワーク障害から高速に復旧することができる。
【００４４】
ここで、図１および図２では、リングネットワークが１つである場合を示したが、図３に示すように、複数のリングネットワークがある場合にも本発明を適用することができる。
【００４５】
図３の例では、ノード５ａ、ノード５ｂおよびノード５ｃを接続して構成される管理ＶＬＡＮ（Virtual Local Area Network）７ａと、ノード５ａ、ノード５ｄ、ノード５ｇおよびノード５ｃを接続して構成される管理ＶＬＡＮ（Virtual Local Area Network）７ｂと、ノード５ｄ、ノード５ｅ、ノード５ｆおよびノード５ｇを接続して構成される管理ＶＬＡＮ（Virtual Local Area Network）７ｃとが設定されている。
【００４６】
ここで、ノード５ａは、管理ＶＬＡＮ７ａおよび管理ＶＬＡＮ７ｂのマスターノードであり、管理ＶＬＡＮ７ａおよび管理ＶＬＡＮ７ｂに接続されたポート６ａおよび６ｂをそれぞれ論理ブロックしている。同様に、ノード５ｅは、管理ＶＬＡＮ７ｃのマスターノードであり、管理ＶＬＡＮ７ｃに接続されたポート６ｃを論理ブロックしている。
【００４７】
そして、設定された管理ＶＬＡＮ７ａ〜７ｃごとに、図１および図２で説明したようなプロテクション方式を適用する。これにより、たとえある管理ＶＬＡＮ７ｃに障害８が発生した場合でも、その障害による影響が他の管理ＶＬＡＮ７ａおよび７ｂに及ぶことを防ぐことができ、障害が波及する範囲を限定することができる。
【００４８】
つぎに、本実施例に係るデータ中継装置（ノード）の構成について説明する。図４は、本実施例に係るデータ中継装置の構成を示す機能ブロック図である。図４に示すように、このデータ中継装置は、パケット受信ポート１０、制御部２０、記憶部３０およびパケット送信ポート４０を有する。
【００４９】
パケット受信ポート１０は、他のノードにより送信されたパケットを受信するポートである。このパケット受信ポート１０は、ポートを単数または複数有しており、各ポートに接続されたノードからパケットを受信する。
【００５０】
制御部２０は、このデータ中継装置を全体制御する制御部であり、パケット送受信部２１、障害検出部２２、ノード設定部２３およびノード処理実行部２４を有する。
【００５１】
パケット送受信部２１は、パケット受信ポート１０を介してパケットを受信し、記憶部３０に記憶された経路情報３３に基づいて、パケットをパケット送信ポート４０の所定のポートから送信する。
【００５２】
障害検出部２２は、自ノードに接続されているリンク、または、そのリンクに接続されている他のノードに通信障害が発生した場合に、その障害を検出する処理をおこなう。具体的には、障害検出部２２は、パケットの信号レベルの状態に基づいて、自ノードに接続されているリンク、または、そのリンクに接続されている他ノードの障害を検出する。さらに、障害検出部２２は、障害を検出した際、トラップパケットを、マスターノードに送信する。
【００５３】
ノード設定部２３は、障害検出部２２により検出されたリンクの障害が復旧された場合に、当該リンクに接続されている他のノードとの間で制御情報を送受信することにより、自ノードをマスターノードあるいはトランジットノードに設定する。
【００５４】
具体的には、ノード設定部２３は、リンクの障害が復旧された場合に、論理ブロックしているポートをプレフォワーディング状態に設定する。そして、ノード設定部２３は、記憶部３０に自ノード情報３１として記憶しているＢＩＤの情報をネゴーシエーションパケットとして送信し、また、当該リンクに接続されている他のノードからＢＩＤの情報を受信する。
【００５５】
その後、ノード設定部２３は、自ノードが他のノードよりも小さいＢＩＤを有する場合に、自ノードをマスターノードとして設定し、自ノードが他のノードよりも大きいＢＩＤを有する場合に、自ノードをトランジットノードとして設定する。
【００５６】
ＢＩＤが同じ場合には、ノード設定部２３は、制御情報に含まれるＳｙｓｔｅｍ  ＭＡＣアドレスの情報をさらに比較し、自ノードが他のノードよりも小さいＳｙｓｔｅｍ  ＭＡＣアドレスを有する場合に、自ノードをマスターノードとして設定し、自ノードが他のノードよりも大きいＳｙｓｔｅｍ  ＭＡＣアドレスを有する場合に、自ノードをトランジットノードとして設定する。
【００５７】
また、ノード設定部２３は、障害検出部２２により検出された他のノードの障害が復旧された場合に、復旧された他のノードに接続されたリンクに接続されている第３のノードとの間で制御情報を送受信することにより、自ノードをマスターノードあるいはトランジットノードに設定する。
【００５８】
具体的には、ノード設定部２３は、他のノードの障害が復旧された場合に、論理ブロックしているポートをプレフォワーディング状態に設定する。そして、ノード設定部２３は、記憶部３０に自ノード情報３１として記憶しているＢＩＤの情報をネゴーシエーションパケットとして送信し、また、第３のノードからＢＩＤの情報を受信する。
【００５９】
その後、ノード設定部２３は、自ノードが第３のノードよりも小さいＢＩＤを有する場合に、自ノードをマスターノードとして設定し、自ノードが第３のノードよりも大きいＢＩＤを有する場合に、自ノードをトランジットノードとして設定する。
【００６０】
ＢＩＤが同じ場合には、ノード設定部２３は、制御情報に含まれるＳｙｓｔｅｍ  ＭＡＣアドレスの情報をさらに比較し、自ノードが第３のノードよりも小さいＳｙｓｔｅｍ  ＭＡＣアドレスを有する場合に、自ノードをマスターノードとして設定し、自ノードが第３のノードよりも大きいＳｙｓｔｅｍ  ＭＡＣアドレスを有する場合に、自ノードをトランジットノードとして設定する。
【００６１】
ノード処理実行部２４は、マスターノードあるいはトランジットノードとしての各種処理を実行する処理部である。このノード処理実行部２４は、通常時や障害発生時、あるいは、障害復旧時に、マスターノードあるいはトランジットノードとしての各種処理を実行する。
【００６２】
特に、障害復旧時に、自ノードがマスターノードに設定された場合には、ノード処理実行部２４は、ヘルスチェックパケットを送信し、また、ネットワークにループ経路が発生するのを防ぐため、ポートを論理ブロックするなどの処理などをおこなう。
【００６３】
記憶部３０は、メモリなどの記憶デバイスであり、自ノード情報３１、他ノード情報３２および経路情報３３を記憶している。自ノード情報３１は、自ノードのＭＡＣアドレスや、ＢＩＤなど、自ノードに係る情報を記憶したものである。他ノード情報３２は、ＭＡＣアドレスや、ＢＩＤなどの、自ノード以外のノードに係る情報を記憶したものである。
【００６４】
経路情報３３は、パケットの転送先に係る情報を記憶したものである。具体的には、経路情報３３は、パケットの転送先のＭＡＣアドレスと、当該ＭＡＣアドレスを有するノードが接続されているポートの情報とを記憶している。
【００６５】
パケット送信ポート４０は、パケットを他のノードに送信するポートである。このパケット送信ポート４０は、ポートを単数または複数有しており、各ポートに接続されたノードにパケットを送信する。
【００６６】
つぎに、各データ中継装置間（ノード）で授受される制御情報のフォーマットについて説明する。図５は、各データ中継装置間で授受される制御情報のフォーマットの一例を示す図であり、図６は、図５に示した制御情報に含まれる情報を説明する説明図である。
【００６７】
図４に示すように、この制御情報には、ＭＡＣ  ＤＡ、ＭＡＣ  ＳＡ、ＥｔｈｅｒＴｙｐｅ、ＰＲＩ／ＶＬＡＮ  ＩＤ、Ｔｙｐｅ／Ｌｅｎｇｔｈ、Ｐｒｏｔｅｃｔｉｏｎ  Ｌｅｎｇｔｈ、Ｓｔａｔｕｓ、Ｈｅａｌｔｈ、ＣＴＲＬ  ＶＬＡＮ、Ｓｙｓｔｅｍ  ＭＡＣ、Ｂｒｉｄｇｅ  ＩＤ、Ｎｏｄｅ  Ｓｔａｔｕｓ、Ｈｅｌｌｏ  Ｔｉｍｅ、Ｆａｉｌ  Ｔｉｍｅ、Ｃｏｎｔｒｏｌｌｅｒ／Ｐａｒｔｎｅｒ、ｌｉｎｋ  ｉｄおよびｄｏｍａｉｎ  ｎｕｍの情報が含まれている。
【００６８】
ＭＡＣ  ＤＡおよびＭＡＣ  ＳＡは、宛先ＭＡＣアドレスおよび送信元ＭＡＣアドレスを示す情報である。ＥｔｈｅｒＴｙｐｅは、プロトコルの種類を示す情報である。ＰＲＩ／ＶＬＡＮ  ＩＤは、ＶＬＡＮを識別する情報である。Ｔｙｐｅ／Ｌｅｎｇｔｈは、パケットのフレームタイプを示す情報である。Ｐｒｏｔｅｃｔｉｏｎ  Ｌｅｎｇｔｈは、本発明に係るプロテクション方式を識別する情報であり、図６に示すように、ここでは、「０ｘ００５０」に設定されている。
【００６９】
Ｓｔａｔｕｓは、ノードの処理状態を示す情報であり、図６に示すように、リングネットワークが正常である場合には「０」、リングネットワークに障害が発生した場合には「１」が、ＭＡＣフラッシュを各ノードに送信する場合には「２」、トラップパケットをマスターノードに送信する場合には「３」、障害が発生した場合にマスターノードを設定するため他のノードとの間でネゴーシエーションパケットを送信する場合には「４」が設定される。
【００７０】
Ｈｅａｌｔｈは、ヘルスチェックパケットの種類を示す情報であり、図６に示すように、リングに障害があるか否かを判定するヘルスチェックパケットには「１」、自ノードが複数のリングネットワークを管理しており、他のノードとの間で共有している共有リンクに障害があるか否かを判定するヘルスチェックパケットには「２」が設定される。共有リンクがある場合については、のちに詳しく説明する。
【００７１】
ＣＴＲＬ  ＶＬＡＮは、使用中の管理ＶＬＡＮを識別する情報である。Ｓｙｓｔｅｍ  ＭＡＣは、制御情報を送信したノードのＭＡＣアドレスの情報である。Ｂｒｉｄｇｅ  ＩＤは、マスターノードを選択する際に参照されるノードを識別する情報である。Ｎｏｄｅ  Ｓｔａｔｕｓは、制御情報を送信したノードがマスターノードなのかトランジットノードなのかを示す情報であり、図６に示すように、マスターノードである場合には「０」が、トランジットノードである場合には「１」が設定される。
【００７２】
Ｈｅｌｌｏ  Ｔｉｍｅは、ヘルスチェックパケットを送信する時間間隔を示す情報である。Ｆａｉｌ  Ｔｉｍｅは、マスターノード用に設定される時間であり、このＦａｉｌ  Ｔｉｍｅ以内にマスターノードがハローパケットを受信しなかった場合に障害が発生したと判定され、マスターノードの切替処理が実行される。
【００７３】
Ｃｏｎｔｒｏｌｌｅｒ／Ｐａｒｔｎｅｒは、複数の共有リンクに障害が発生した場合に、自ノードがコントローラに設定されたか、あるいは、パートナーに設定されたかを示す情報である。
【００７４】
コントローラとは、共有リンクに接続されているノードであって、複数の共有リンクに障害が発生した場合に、ループ経路が発生するのを防止するために主体的に機能するノードである。パートナーは、コントローラの共有リンクとは別の共有リンクに接続されているノードである。複数の共有リンクに障害が発生した場合については、のちの詳しく説明する。
【００７５】
ｌｉｎｋ  ｉｄは、上記共有リンクを識別する情報である。ｄｏｍａｉｎ  ｎｕｍは、制御情報を送信したノードに属するリングネットワークの数である。
【００７６】
つぎに、データ中継装置（ノード）がおこなうマスターノード／トランジットノードの設定処理の処理手順について説明する。図７は、データ中継装置がおこなうマスターノード／トランジットノードの設定処理の処理手順を示すフローチャートである。
【００７７】
図７に示すように、まず、データ中継装置のパケット送受信部２１は、マスターノードにより送信されたヘルスチェックパケットを受信する（ステップＳ７０１）。そして、ノード設定部２３は、自ノードのＢＩＤが、ヘルスチェックパケットに含まれるマスターノードのＢＩＤ以下であるか否かを調べる（ステップＳ７０２）。
【００７８】
自ノードのＢＩＤがヘルスチェックパケットに含まれるマスターノードのＢＩＤ以下である場合には（ステップＳ７０２、Ｙｅｓ）、ノード設定部２３は、ＢＩＤが同値であるか否かを調べる（ステップＳ７０３）。
【００７９】
そして、ＢＩＤが同値ではない場合には（ステップＳ７０３，Ｎｏ）、ノード設定部２３は、自ノードをマスターノードに設定し（ステップＳ７０４）、この設定処理を終了する。その後、マスターノードに設定されたノードのマスターノード処理実行部２４は、ヘルスチェックパケットの送信を開始する。
【００８０】
ＢＩＤが同値の場合には（ステップＳ７０３，Ｙｅｓ）、ノード設定部２３は、自ＭＡＣアドレスがヘルスチェックパケットに含まれるマスターノードのＭＡＣアドレスより小さいか否かを調べる（ステップＳ７０５）。
【００８１】
自ＭＡＣアドレスがマスターノードのＭＡＣアドレスより小さい場合には（ステップＳ７０５，Ｙｅｓ）、ステップＳ７０４に移行して、ノード設定部２３は、自ノードをマスターノードに設定し、この設定処理を終了する。
【００８２】
自ＭＡＣアドレスがマスターノードのＭＡＣアドレスより小さくない場合には（ステップＳ７０５，Ｎｏ）、ノード設定部２３は、自ノードをトランジットノードに設定し（ステップＳ７０６）、この切替処理を終了する。
【００８３】
ここで、自ノードがマスターノードからトランジットノードに切り替えられた場合には、マスターノード処理実行部２４は、ヘルスチェックパケットの送信を停止する。
【００８４】
つぎに、マスターノードであるデータ中継装置（ノード）がおこなう障害検出処理の処理手順について説明する。図８は、マスターノードであるデータ中継装置がおこなう障害検出処理の処理手順を示すフローチャートである。
【００８５】
図８に示すように、まず、マスターノードであるデータ中継装置のパケット送受信部２１は、ヘルスチェックパケットを送信する（ステップＳ８０１）。そして、ノード処理実行部２４は、トラップパケットを受信したか否かを調べる（ステップＳ８０２）。
【００８６】
トラップパケットを受信した場合には（ステップＳ８０２，Ｎｏ）、ノード処理実行部２４は、ＭＡＣフラッシュパケットを他のノードに対して送信する（ステップＳ８０５）。トラップパケットを受信しなかった場合には（ステップＳ８０２，Ｙｅｓ）、マスターノード処理実行部２４は、ファイルタイム以内に論理ブロックポートでハローパケットを受信したか否かを調べる（ステップＳ８０３）。
【００８７】
ファイルタイム以内にハローパケットを受信した場合には（ステップＳ８０３，Ｙｅｓ）、ノード処理実行部２４は、ハロータイムが経過するのを待って（ステップＳ８０４）、ステップＳ８０１に移行し、ヘルスチェックパケットを再び送信する。
【００８８】
ファイルタイム以内にハローパケットを受信しなかった場合には（ステップＳ８０３，Ｎｏ）、ノード処理実行部２４は、ステップＳ８０５に移行して、ＭＡＣフラッシュパケットを他のノードに対して送信する。
【００８９】
その後、ノード処理実行部２４は、論理ブロックポートを開放し（ステップＳ８０６）、リング障害が発生していることを示すリング障害中パケットを送信して（ステップＳ８０７）、この障害検出処理を終了する。
【００９０】
つぎに、障害復旧時に障害リンク／障害ノードに接続されたリンクに接続されているデータ中継装置（ノード）がおこなうマスターノード切替処理の処理手順について説明する。図９は、障害復旧時に障害リンク／障害ノードに接続されたリンクに接続されているデータ中継装置がおこなうマスターノード切替処理の処理手順を示すフローチャートである。
【００９１】
図９に示すように、まず、データ中継装置のノード設定部２３は、障害が復旧された後、障害リンク、または、障害ノードに接続されたリンクに接続されている他のノードとの間でネゴーシエーション処理をおこなう（ステップＳ９０１）。
【００９２】
具体的には、ノード設定部２３は、障害が復旧されたリンク側のポートをプレフォワーディング状態に設定し、障害リンク、または、障害ノードに接続されている他のノードとの間で自ノードのＢＩＤの情報を含んだ制御情報をやり取りする。
【００９３】
そして、ノード設定部２３は、他のノードのＢＩＤより自ノードのＢＩＤが小さいか否かを調べる（ステップＳ９０２）。自ノードのＢＩＤが小さい場合には（ステップＳ９０２，Ｙｅｓ）、ノード設定部２３は、自ノードをマスターノードに設定する（ステップＳ９０３）。
【００９４】
その後、マスターノード処理実行部２４は、ヘルスチェックパケットの送信を開始して（ステップＳ９０４）、このマスターノード切替処理を終了する。
【００９５】
ステップＳ９０２において、自ノードのＢＩＤが小さくない場合には（ステップＳ９０２，Ｎｏ）、ノード設定部２３は、自ノードをトランジットノードに設定し（ステップＳ９０５）、このマスターノード切替処理を終了する。
【００９６】
つぎに、障害発生以前にマスターノードであったデータ中継装置（ノード）がおこなうトランジットノード切替処理の処理手順について説明する。図１０は、障害発生以前にマスターノードであったデータ中継装置がおこなうトランジットノード切替処理の処理手順を示すフローチャートである。
【００９７】
図１０に示すように、まず、データ中継装置のノード処理実行部２４は、論理ブロックしていたポートを開放する（ステップＳ１００１）。そして、ノード処理実行部２４は、ヘルスチェックパケットの送信を停止する（ステップＳ１００２）。
【００９８】
その後、ノード設定部２３は、自ノードをトランジットノードに設定して（ステップＳ１００３）、このトランジットノード切替処理を終了する。
【００９９】
つぎに、データ中継装置（ノード）に所属する２つのリングネットワークの共有リンクで障害が発生した際のプロテクション処理について説明する。図１１は、データ中継装置に所属する２つのリングネットワークの共有リンクで障害が発生した際のプロテクション処理について説明する説明図である。
【０１００】
図１１に示すように、ノード５０ｂおよびノード５０ｃは、マスターノードであるノード５０ａ、ノード５０ｂ、ノード５０ｃおよびノード５０ｄが接続されたリングネットワークと、ノード５０ｂ、ノード５０ｃ、マスターノードであるノード５０ｆおよびノード５０ｅが接続されたリングネットワークとの双方に含まれている。
【０１０１】
そして、ノード５０ｂおよびノード５０ｃは、２つのリングネットワークのリンクを共有している。また、マスターノードであるノード５０ａおよびノード５０ｆは、リングネットワークがループ経路とならないように、ポート５１ａおよび５１ｂを論理ブロックしている。
【０１０２】
ここで、ノード５０ｂあるいはノード５０ｃのうち、障害発生時に主体的に動作するコントローラノードをあらかじめ設定しておく。図１１の例では、ノード５０ｂが、コントローラノードとして設定されている。そして、その共有リンクに障害５２が発生した場合には、ノード５０ｂおよびノード５０ｃの障害検出部２２は、障害５２の発生を検出してトラップパケットを送信する。
【０１０３】
マスターノードであるノード５０ａおよびノード５０ｆは、自ノードが送信したヘルスチェックパケットを、フェイルタイム内に受信しなかった場合、あるいは、トラップパケットを受信した場合に、図８に示したように、論理ブロックポートの開放処理をおこなう。
【０１０４】
一方、コントローラであるノード５０ｂは、障害５２が発生した共有リンク以外のリンクに接続されたポート５１ｃを１つ論理ブロックする処理をおこなう。これにより、ノード５０ａ、ノード５０ｄ、ノード５０ｃ、ノード５０ｆ、ノード５０ｅおよびノード５０ｂから構成されるループ経路（スーパーループ）を防ぐことができる。ここで、共有リンク以外のリンクまたはノードで障害が発生した場合には、図１および図２に示した処理が実行される。
【０１０５】
つぎに、２つの共有リンクで障害が発生した際のデータ中継装置（ノード）がおこなうプロテクション処理について説明する。図１２は、２つの共有リンクで障害が発生した際のデータ中継装置がおこなうプロテクション処理について説明する説明図である。
【０１０６】
図１２に示すように、ノード６０ｂおよびノード６０ｃは、マスターノードであるノード６０ａ、ノード６０ｂ、ノード６０ｃおよびノード６０ｄが接続されたリングネットワークと、ノード６０ｂ、ノード６０ｃ、マスターノードであるノード６０ｆおよびノード６０ｅが接続されたリングネットワークとの双方に含まれている。
【０１０７】
そして、ノード６０ｂおよびノード６０ｃは、２つのリングネットワークのリンクを共有している。また、マスターノードであるノード６０ａは、リングネットワークがループ経路とならないように、ポート６１ａを論理ブロックしている。このポート６１ａの論理ブロックは、リンク障害が検出されると解除される。
【０１０８】
また、ノード６０ｅおよびノード６０ｆは、ノード６０ｂ、ノード６０ｃ、マスターノードであるノード６０ｆおよびノード６０ｅが接続されたリングネットワークと、ノード６０ｅ、マスターノードであるノード６０ｆ、ノード６０ｈおよびノード６０ｇが接続されたリングネットワークとの双方に含まれている。
【０１０９】
そして、ノード６０ｅおよびノード６０ｆは、２つのリングネットワークのリンクを共有している。また、マスターノードであるノード６０ｆは、リングネットワークがループ経路とならないように、ポート６１ｂおよび６１ｃを論理ブロックしている。これらのポート６１ｂおよび６１ｃの論理ブロックは、リンク障害が検出されると解除される。
【０１１０】
ここで、ノード６０ｂおよびノード６０ｅあるいはノード６０ｃおよびノード６０ｆのうち、障害発生時に主体的に動作するノードの組をあらかじめ設定しておく。図１２の例では、ノード６０ｂおよびノード６０ｅの組が選択されている。
【０１１１】
そして、選択されたノード６０ｂとノード６０ｅとは、２つの共有リンクで障害が発生した際に制御情報をやり取りし、共有リンクＩＤの小さいノード６０ｂを障害発生時に主体的に動作するコントローラノードとして設定し、共有リンクＩＤの大きいノード６０ｅをパートナーとして設定する。
【０１１２】
その後、コントローラであるノード６０ｂは、共有リンク以外の１つのポートをフォワーディング状態に設定し、もう１つのポート６１ｄを論理ブロック状態とすることで、ノード６０ａ、ノード６０ｄ、ノード６０ｃ、ノード６０ｆ、ノード６０ｈ、ノード６０ｇ、ノード６０ｅおよびノード６０ｂを経由するスーパーループの発生を防ぐことができる。
【０１１３】
つぎに、データ中継装置（ノード）に３つのリングネットワークが所属している場合に２つの共有リンクで障害が発生した際のプロテクション処理について説明する。図１３は、データ中継装置に３つのリングネットワークが所属している場合に２つの共有リンクで障害が発生した際のプロテクション処理について説明する説明図である。
【０１１４】
図１３に示すように、ノード７０ｂ、ノード７０ｃ、ノード７０ｅおよびノード７０ｆには、それぞれ３つのリングネットワークが所属している。この場合も、図１２で説明したのと同様にして、障害発生時に主体的に動作するノードの組をあらかじめ設定しておく。図１３の例では、ノード７０ｂおよびノード７０ｅの組が選択されている。
【０１１５】
そして、選択されたノード７０ｂとノード７０ｅとは、２つの共有リンクで障害が発生した際に制御情報をやり取りし、共有リンクＩＤの小さいノード７０ｂを障害発生時に主体的に動作するコントローラノードとして設定し、共有リンクＩＤの大きいノード７０ｅをパートナーとして設定する。
【０１１６】
また、マスターノードであるノード７０ａ、ノード７０ｆおよびノード７０ｉは、ループ経路が発生しないようポート７１ａ〜７１ｅを論理ブロックしている。
【０１１７】
そして、２つの共有リンクに障害７２ａおよび７２ｂが発生した場合には、コントローラであるノード７０ｂは、共有リンク以外の２つのポート７１ｆおよび７１ｇを論理ブロック状態に設定し、もう１つのノードをフォワーディング状態とする。
【０１１８】
また、パートナーであるノード７０ｅは、共有リンクに接続されたポート、および、コントローラであるノード７０ｂに接続されたポート以外のポートのうち、１つのポート７１ｈを論理ブロックする処理をおこなう。
【０１１９】
一方、マスターノードであったノード７０ａ、ノード７０ｆおよびノード７０ｉは、障害７２ａおよび７２ｂが検出されると、論理ブロックしていたポート７１ａ〜７１ｅを開放する。これにより、２つの共有リンクに障害７２ａおよび７２ｂが発生した場合に、ループ経路の発生することを防ぎつつ、データパケットの送信をおこなうことができるようになる。
【０１２０】
つぎに、データ中継装置（ノード）に所属するリングネットワーク数が異なる場合のプロテクション処理について説明する。図１４は、データ中継装置に所属するリングネットワーク数が異なる場合のプロテクション処理について説明する説明図である。
【０１２１】
図１４に示すように、ノード８０ｂおよびノード８０ｃには、３つのリングネットワークが所属しており、ノード８０ｅおよびノード８０ｆには、２つのリングネットワークが所属している。この場合も、図１２で説明したのと同様にして、障害発生時に主体的に動作するノードの組をあらかじめ設定しておく。図１４の例では、ノード８０ｂおよびノード８０ｅの組が選択されている。
【０１２２】
そして、ノード８０ｂとノード８０ｅのそれぞれに所属するリングネットワーク数が異なる場合には、共有リンクＩＤの値にかかわらず、リングネットワーク数の多いノードを８０ｂを障害発生時に主体的に動作するコントローラとして設定し、リングネットワーク数の少ないノード８０ｅをパートナーとして設定する。
【０１２３】
また、マスターノードであるノード８０ａ、ノード８０ｆおよびノード８０ｉは、ループ経路が発生しないようポート８１ａ〜８１ｄを論理ブロックしている。
【０１２４】
そして、２つの共有リンクに障害８２ａおよび８２ｂが発生した場合には、コントローラであるノード８０ｂは、共有リンク以外の２つのポート８１ｅおよび８１ｆを論理ブロック状態に設定し、もう１つのノードをフォワーディング状態とする。
【０１２５】
また、コントローラであるノード８０ｅは、ノード８０ｂから制御情報を受信することにより、ノード８０ｂに所属するリングネットワーク数が自ノードに所属するリングネットワーク数と異なるか否かを判定し、異なると判定された場合には、ポートの論理ブロック処理を実行しない。
【０１２６】
一方、マスターノードであったノード８０ａ、ノード８０ｆおよびノード８０ｉは、障害８２ａおよび８２ｂが検出されると、論理ブロックしていたポート８１ａ〜８１ｄを開放する。これにより、２つの共有リンクに障害８２ａおよび８２ｂが発生した場合に、ループ経路の発生することを防ぎつつ、データパケットの送信をおこなうことができるようになる。
【０１２７】
つぎに、障害が復旧した場合にデータ中継装置（ノード）がおこなうマスターノード設定処理について説明する。図１５は、障害が復旧した場合にデータ中継装置がおこなうマスターノード設定処理について説明する説明図である。ここでは、図１２に示したリンク障害が復旧する場合について説明する。
【０１２８】
図１５の例では、ノード９０ｂおよびノード９０ｃの共有リンクに障害９２ａが発生し、ノード９０ｅおよびノード９０ｆの共有リンクに障害９２ｂが発生した場合に、コントローラであるノード９０ｂが、ルート経路の発生を防ぐため、ポート９１ａを論理ブロックしている。
【０１２９】
そして、障害９２ａおよび９２ｂが復旧する際には、コントローラであるノード９０ｂは、ノード９０ａ、ノード９０ｂ、ノード９０ｃおよびノード９０ｄが接続されて構成されるリングネットワークと、ノード９０ｂ、ノード９０ｃ、ノード９０ｆおよびノード９０ｅが接続されて構成されるリングネットワークとに対するマスターノードに設定され、各リングネットワークに接続されているポート９１ａおよび９１ｂを論理ブロックすることにより、ルート経路の発生を防止する。
【０１３０】
また、パートナーであるノード９０ｅも、ノード９０ｅ、ノード９０ｆ、ノード９０ｈおよびノード９０ｇが接続されて構成されるリングネットワークのマスターノードに設定され、ノード９０ｂと共有しているリングネットワーク以外のリングネットワークに対して、ポート９１ｃを論理ブロックすることにより、ルート経路の発生を防止する。ここで、ノード９０ｅは、ノード９０ｂと制御情報をやり取りすることにより、ノード９０ｂと共有しているリングネットワークを判定する。
【０１３１】
つぎに、データ中継装置（ノード）がおこなうコントローラ／パートナーの設定処理の処理手順について説明する。図１６は、データ中継装置がおこなうコントローラ／パートナーの設定処理の処理手順を示すフローチャートである。
【０１３２】
図１６に示すように、まず、データ中継装置のノード設定部２３は、ネゴーシエーション処理をおこない、共有リンクＩＤを比較して自ノードの共有リンクＩＤが小さい場合には自ノードをコントローラとして設定し、自ノードの共有リンクＩＤが大きい場合には自ノードをパートナーとして設定する（ステップＳ１６０１）。
【０１３３】
そして、ノード処理実行部２４は、自ノードがコントローラに設定されたか否かを調べ（ステップＳ１６０２）、コントローラに設定された場合には（ステップＳ１６０２，Ｙｅｓ）、共有リンクの障害を検出するヘルスチェックパケットを共有リンクのポートに送信する処理を開始する（ステップＳ１６０３）。
【０１３４】
自ノードがパートナーとして設定された場合には（ステップＳ１６０２，Ｎｏ）、このコントローラ／パートナーの設定処理を終了する。
【０１３５】
つぎに、共有リンク障害発生時に共有リンクに接続されたデータ中継装置（ノード）がおこなうプロテクション処理の処理手順について説明する。図１７は、共有リンク障害発生時に共有リンクに接続されたデータ中継装置がおこなうプロテクション処理の処理手順を示すフローチャートである。なお、ここでは、データ中継装置に所属するリング数が２または３である場合のプロテクション処理について説明する。
【０１３６】
図１７に示すように、まず、データ中継装置の障害検出部２２は、自ノードに接続された共有リンクの障害を検出する（ステップＳ１７０１）。そして、障害検出部２２は、障害を検出した共有リング以外の共有リングに障害が発生したことを示す制御情報を他のノードから受信したか否かを調べることにより、他の共有リングに障害があるか否かを調べる（ステップＳ１７０２）。
【０１３７】
他の共有リングに障害がない場合には（ステップＳ１７０２，Ｙｅｓ）、ノード処理実行部２４は、自ノードに所属しているリングネットワーク数を調べる（ステップＳ１７０３）。
【０１３８】
リングネットワーク数が２である場合には（ステップＳ１７０３，「２」）、ノード処理実行部２４は、障害が発生した共有リンクのポート以外のポートを１つ論理ブロックする（ステップＳ１７０４）。リングネットワーク数が３である場合には（ステップＳ１７０３，「３」）、ノード処理実行部２４は、障害が発生した共有リンクのポート以外のポートを２つ論理ブロックする（ステップＳ１７０５）。
【０１３９】
ステップＳ１７０２において、他の共有リングに障害がある場合には（ステップＳ１７０２，Ｎｏ）、ノード処理実行部２４は、複数障害時処理を実行し（ステップＳ１７０６）、このプロテクション処理を終了する。この複数障害時処理については、図１８において詳しく説明する。
【０１４０】
図１８は、図１７に示したデータ中継装置（ノード）がおこなう複数障害時処理の処理手順を示すフローチャートである。図１８に示すように、データ中継装置のノード設定部２３は、他の共有リングの障害を検出した他のノードから受信した制御情報に含まれる所属リング数の情報を基にして、自ノードと他のノードとの所属リング数が同一であるか否かを調べる（ステップＳ１８０１）。
【０１４１】
そして、所属リング数が同一である場合には（ステップＳ１８０１，Ｙｅｓ）、他の共有リングの障害を検出した他のノードから受信した制御情報に含まれる共有リンクＩＤの情報を基にして、自ノードに所属する共有リンクの共有リンクＩＤが、他のノードに所属する共有リンクの共有リンクＩＤよりも小さいか否かを調べる（ステップＳ１８０２）。
【０１４２】
自ノードに所属する共有リンクの共有リンクＩＤが小さい場合には（ステップＳ１８０２，Ｙｅｓ）、ノード設定部２３は、自ノードをコントローラとして設定する（ステップＳ１８０３）。
【０１４３】
そして、ノード処理実行部２４は、自ノードに所属するリングネットワーク数を調べる（ステップＳ１８０４）。自ノードに所属するリングネットワーク数が２である場合には（ステップＳ１８０４，「２」）、ノード処理実行部２４は、障害共有リンクに接続されたポート以外のポートを１つ論理ブロックして（ステップＳ１８０５）、この複数障害処理を終了する。
【０１４４】
自ノードに所属するリングネットワーク数が３である場合には（ステップＳ１８０４，「３」）、ノード処理実行部２４は、障害共有リンクに接続されたポート以外のポートを２つ論理ブロックして（ステップＳ１８０６）、この複数障害処理を終了する。
【０１４５】
ステップＳ１８０２において、自ノードに所属する共有リンクの共有リンクＩＤが小さくない場合には（ステップＳ１８０２，Ｎｏ）、ノード設定部２３は、自ノードをパートナーとして設定する（ステップＳ１８０７）。
【０１４６】
そして、ノード処理実行部２４は、自ノードに所属するリングネットワーク数を調べる（ステップＳ１８０８）。自ノードに所属するリングネットワーク数が２である場合には（ステップＳ１８０８，「２」）、この複数障害処理を終了する。
【０１４７】
自ノードに所属するリングネットワーク数が３である場合には（ステップＳ１８０８，「３」）、ノード処理実行部２４は、障害共有リンクに接続されたポート、および、コントローラに接続されたリンク以外のポートを１つ論理ブロックして（ステップＳ１８０９）、この複数障害処理を終了する。
【０１４８】
ステップＳ１８０１において、所属リング数が同一ではない場合には（ステップＳ１８０１，Ｎｏ）、ノード設定部２３は、自ノードに所属するリングネットワーク数が、他の共有リングの障害を検出した他のノードに所属するリングネットワーク数よりも大きいか否かを調べる（ステップＳ１８１０）。
【０１４９】
自ノードに所属するリングネットワーク数が大きい場合には（ステップＳ１８１０，Ｙｅｓ）、ノード設定部２３は、自ノードをコントローラとして設定する（ステップＳ１８１１）。
【０１５０】
そして、ノード処理実行部２４は、ステップＳ１８０６に移行して、障害共有リンクに接続されたポート以外のポートを２つ論理ブロックし、この複数障害処理を終了する。
【０１５１】
自ノードに所属するリングネットワーク数が大きくない場合には（ステップＳ１８１０，Ｎｏ）、ノード設定部２３は、自ノードをパートナーとして設定し（ステップＳ１８１２）、この複数障害処理を終了する。
【０１５２】
つぎに、本実施例に示したリングネットワークプロテクション方式と他のリングネットワークプロテクション方式とを組み合わせる場合について説明する。図１９は、本実施例に示したリングネットワークプロテクション方式と他のリングネットワークプロテクション方式との組み合わせの一例を示す図である。図１９には、他のプロテクション方式として、ＩＥＥＥ８０２．１ＤのＲＳＴＰ（Rapid Spanning Tree Protocol）を組み合わせる場合が示してある。
【０１５３】
図１９の例では、ノード１００ａ、ノード１００ｂ、ノード１００ｃおよびノード１００ｄが接続されたＲＳＴＰのリングネットワークと、ノード１００ｂ、ノード１００ｃおよびノード１００ｅが接続された本実施例のリングネットワークとがノード１００ｂおよびノード１００ｃにおいて組み合わされている。
【０１５４】
ここで、ノード１００ａ、ノード１００ｂ、ノード１００ｃおよびノード１００ｄは、ＲＳＴＰに対応したデータ中継装置（ノード）であり、ノード１００ｂ、ノード１００ｃおよびノード１００ｅは、本実施例に示したプロテクション方式に対応したデータ中継装置である。
【０１５５】
この場合、ＲＳＴＰの制御情報であるＢＰＤＵ（Bridge Protocol Data Unit）を送信するＶＬＡＮと、本実施例に示したリングネットワークプロテクション方法における制御情報を送信するＶＬＡＮとを分離し、ノード１００ｂおよびノード１００ｃは、ＲＳＴＰのＢＰＤＵを通過させる。
【０１５６】
これにより、本実施例に示したプロテクション方式以外のプロテクション方式に対応した装置を利用することも可能となり、ネットワークを構築する際の柔軟性を高めることができる。
【０１５７】
つぎに、本実施例に示したプロテクション方式によりデータトラフィックの負荷分散をおこなう場合について説明する。図２０は、本実施例に示したプロテクション方式によりおこなわれるデータトラフィックの負荷分散の一例を示す図である。
【０１５８】
図２０には、ノード１１０ａ、ノード１１０ｂおよびノード１１０ｃが接続されたリングネットワークが示されている。そして、このリングネットワークを利用するユーザごとに、マスターノードおよび論理ブロックポートがそれぞれ設定される。
【０１５９】
たとえば、ユーザ１に対しては、ノード１１０ａがマスターノードであり、ノード１１０ａのノード１１０ｂ側のポート１１１ａが論理ブロックされており、ユーザ２に対しては、ノード１１０ａがマスターノードであり、ノード１１０ａのノード１１０ｃ側のポート１１１ｂが論理ブロックされているものとする。
【０１６０】
この場合、ユーザ１のデータパケットは、ノード１１０ａからノード１１０ｃ、ノード１１０ｂの方向に送信され、ユーザ２のデータパケットは、ノード１１０ａからノード１１０ｂ、ノード１１０ｃの方向に送信される。
【０１６１】
このように、リングネットワークを利用するユーザごとに、マスターノードおよび論理ブロックポートをそれぞれ設定することにより、データパケットを送信する方向を選択することができ、データ送信の負荷分散をおこなうことができる。
【０１６２】
つぎに、本実施例に示したリングネットワークプロテクション方式とリンク冗長方式とを組み合わせる場合について説明する。図２１は、本実施例に示したリングネットワークプロテクション方式とリンク冗長方式との組み合わせの一例を示す図である。
【０１６３】
ここでは、リンク冗長方式として、ＥＰＳ（Ethernet Protection Switch）（登録商標）方式を採用した場合を示すこととする。このＥＰＳ方式においては、リンクに予備のリンクを設けておき、使用しているリンクに障害が発生した場合に、瞬時に予備のリンクに切り替えることによりデータ通信が途切れることを防止する。
【０１６４】
図２１の例では、このＥＰＳ方式と、本実施例に示したリングネットワークプロテクション方式とを組み合わせる。そして、リンクに障害が発生した場合には、ＥＰＳ方式により通信断を回避する。ノードに障害が発生した場合には、本実施例に示したリングネットワークプロテクション方式により通信断を回避する。
【０１６５】
このように、本実施例に示したリングネットワークプロテクション方式と、リンク冗長方式とを組み合わせることにより、信頼性の高いネットワークを構築することが可能となる。
【０１６６】
上述してきたように、本実施例では、データ中継装置の記憶部３０が、自装置を識別する識別情報を記憶し、自装置に接続されたリンクに障害が発生した場合に、ノード処理実行部２４が、障害が発生したリンクに接続されているポートをブロックし、ブロックされたポートに接続されているリンクの障害が復旧した場合に、ノード設定部２３が、当該リンクに接続された他の装置の識別情報と、記憶された識別情報とを比較し、その比較結果に基づいて、自装置をマスターノードとして設定するか否かを判定することとしたので、マスターノードをリンク障害が発生した箇所に隣接するデータ中継装置に設定することにより、通信断となる回数を減らし、ネットワークのリンク障害から高速に復旧することができる。
【０１６７】
また、本実施例では、ノード処理実行部２４が、自装置に接続された第１のリンクに接続された第１の装置に障害が発生した場合に、第１の装置に接続された第１のリンクに接続されているポートをブロックし、第１の装置に発生した障害が復旧した場合に、ノード設定部２３が、第１の装置に接続された第２のリンクに接続されている第２の装置の識別情報と、記憶された識別情報とを比較することとしたので、マスターノードをデータ中継装置の障害が発生した箇所に隣接するデータ中継装置に設定することにより、通信断となる回数を減らし、ネットワークのノード障害から高速に復旧することができる。
【０１６８】
また、本実施例では、複数のリングネットワークがある場合に、ノード設定部２３が、障害が発生したリングネットワークごとに識別情報を比較し、リングネットワークごとに自装置をマスターノードとして設定するか否かを判定することとしたので、複数のリングネットワークがある場合でも、通信断となる回数を減らすことにより、ネットワークの障害から高速に復旧することができる。
【０１６９】
また、本実施例では、複数のリングネットワークが共有されている共有リンクに障害が発生した場合に、ノード処理実行部２４が、共有リンクを構成するリングネットワークの数に係る情報に基づいて、障害が発生した共有リンクに接続されているポート以外からブロックすべきポートを判定し、ブロックすべきと判定されたポートをブロックすることとしたので、共有リンクを有するリングネットワークに対しても、通信断となる回数を減らすことにより、ネットワークの障害から高速に復旧することができる。
【０１７０】
また、本実施例では、自装置がマスターノードであって、発生した障害がすでにブロックしているポート側の障害である場合に、ノード処理実行部２４が、そのポートのブロックを継続することとしたので、無用なマスターノードの設定処理をおこなわないことにより、効率化を図ることができる。
【０１７１】
また、本実施例では、ノード処理実行部２４が、自装置に接続されたリンクに障害が発生した場合には、そのリンクに設けられた冗長リンクにデータの送信経路を切り替え、自装置に接続されたリンクに接続された他の装置に障害が発生した場合には、そのリンクに接続されているポートをブロックすることとしたので、通信断となる回数を減らすことによりノード障害から高速に復旧する復旧方式と、既存の冗長リンク方式とを組み合わせて用いることができる。
【０１７２】
以上本発明にかかる実施例について図面を参照して詳述してきたが、具体的な構成例はこれらの実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【０１７３】
例えば、データ中継装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行することにより各機能を実現してもよい。
【０１７４】
図２２は、データ中継装置の各機能を実現するコンピュータのハードウェア構成を示すブロック図である。図２２に示すように、このコンピュータ２００は、上記プログラムを実行するＣＰＵ２１０と、データの入力を受け付ける入力装置２２０と、各種データを記憶するＲＯＭ２３０と、演算パラメータ等を記憶するＲＡＭ２４０と、データ中継装置の機能を実現するためのプログラムを記録した記録媒体３００からプログラムを読み取る読取装置２５０と、ディスプレイ等の出力装置２６０と、ネットワーク４００を介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース２７０とが、バス２８０で接続された構成となっている。
【０１７５】
ＣＰＵ２１０は、読取装置２５０を経由して記録媒体３００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体３００としては、光ディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ハードディスク等が挙げられる。また、このプログラムは、ネットワーク４００を介してコンピュータ２００に導入することとしてもよい。
【０１７６】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記データ中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１７７】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１７８】
さらに、上記装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１７９】
（付記１）マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継装置であって、
自装置を識別する識別情報を記憶する記憶手段と、
自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック手段と、
前記ブロック手段によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較する比較手段と、
前記比較手段による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定手段と、
を備えたことを特徴とするデータ中継装置。
【０１８０】
（付記２）前記ブロック手段は、自装置に接続された第１のリンクに接続された第１の装置に障害が発生した場合に、前記第１の装置に接続された第１のリンクに接続されているポートをブロックし、前記比較手段は、前記第１の装置に発生した障害が復旧した場合に、前記第１の装置に接続された第２のリンクに接続されている第２の装置の識別情報と、前記記憶手段に記憶された識別情報とを比較することを特徴とする付記１に記載のデータ中継装置。
【０１８１】
（付記３）前記比較手段は、複数のリングネットワークがある場合に、障害が発生したリングネットワークごとに前記識別情報を比較し、前記判定手段は、該リングネットワークごとに自装置を前記マスターノードとして設定するか否かを判定することを特徴とする付記１または２に記載のデータ中継装置。
【０１８２】
（付記４）複数のリングネットワークが共有されている共有リンクに障害が発生した場合に、前記ブロック手段は、前記共有リンクを構成するリングネットワークの数に係る情報に基づいて障害が発生した共有リンクに接続されているポート以外からブロックすべきポートを判定し、ブロックすべきと判定された該ポートをブロックすることを特徴とする付記１、２または３に記載のデータ中継装置。
【０１８３】
（付記５）前記ブロック手段は、自装置がマスターノードであって、発生した障害がすでにブロックしているポート側の障害である場合に、該ポートのブロックを継続することを特徴とする付記１〜４のいずれか１つに記載のデータ中継装置。
【０１８４】
（付記６）前記ブロック手段は、自装置に接続されたリンクに障害が発生した場合には、該リンクに設けられた冗長リンクにデータの送信経路を切り替え、自装置に接続されたリンクに接続された他の装置に障害が発生した場合には、該リンクに接続されているポートをブロックすることを特徴とする付記２に記載のデータ中継装置。
【０１８５】
（付記７）マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継方法であって、
自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック工程と、
前記ブロック工程によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、自装置を識別するあらかじめ記憶手段に記憶された識別情報とを比較する比較工程と、
前記比較工程による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定工程と、
を含んだことを特徴とするデータ中継方法。
【０１８６】
（付記８）マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継プログラムであって、
自装置に接続されたリンクに障害が発生した場合に、障害が発生したリンクに接続されているポートをブロックするブロック手順と、
前記ブロック工程によりブロックされたポートに接続されているリンクの障害が復旧した場合に、当該リンクに接続された他の装置の識別情報と、自装置を識別するあらかじめ記憶手段に記憶された識別情報とを比較する比較手順と、
前記比較手順による比較結果に基づいて、自装置を前記マスターノードとして設定するか否かを判定する判定手順と、
をコンピュータに実行させることを特徴とするデータ中継プログラム。
【産業上の利用可能性】
【０１８７】
以上のように、本発明にかかるデータ中継装置、データ中継方法およびデータ中継プログラムは、マスターノードがデータの中継をブロックすることによりループ経路の発生を回避するリングネットワークにおいてデータの中継をおこなうデータ中継システムに有用である。
【図面の簡単な説明】
【０１８８】
【図１】本実施例に係るリングネットワーク障害発生時のマスターノード設定処理について説明する説明図（１）である。
【図２】本実施例に係るリングネットワーク障害発生時のマスターノード設定処理について説明する説明図（２）である。
【図３】複数のリングネットワークがある場合のマスターノード設定処理について説明する説明図である。
【図４】本実施例に係るデータ中継装置の構成を示す機能ブロック図である。
【図５】各データ中継装置間で授受される制御情報のフォーマットの一例を示す図である。
【図６】図５に示した制御情報に含まれる情報を説明する説明図である。
【図７】データ中継装置がおこなうマスターノード／トランジットノードの設定処理の処理手順を示すフローチャートである。
【図８】マスターノードであるデータ中継装置がおこなう障害検出処理の処理手順を示すフローチャートである。
【図９】障害復旧時に障害リンク／障害ノードに接続されたリンクに接続されているデータ中継装置がおこなうマスターノード切替処理の処理手順を示すフローチャートである。
【図１０】障害発生以前にマスターノードであったデータ中継装置がおこなうトランジットノード切替処理の処理手順を示すフローチャートである。
【図１１】データ中継装置に所属する２つのリングネットワークの共有リンクで障害が発生した際のプロテクション処理について説明する説明図である。
【図１２】２つの共有リンクで障害が発生した際のデータ中継装置がおこなうプロテクション処理について説明する説明図である。
【図１３】データ中継装置に３つのリングネットワークが所属している場合に２つの共有リンクで障害が発生した際のプロテクション処理について説明する説明図である。
【図１４】データ中継装置に所属するリングネットワーク数が異なる場合のプロテクション処理について説明する説明図である。
【図１５】障害が復旧した場合にデータ中継装置がおこなうマスターノード設定処理について説明する説明図である。
【図１６】データ中継装置がおこなうコントローラ／パートナーの設定処理の処理手順を示すフローチャートである。
【図１７】共有リンク障害発生時に共有リンクに接続されたデータ中継装置がおこなうプロテクション処理の処理手順を示すフローチャートである。
【図１８】図１７に示したデータ中継装置がおこなう複数障害時処理の処理手順を示すフローチャートである。
【図１９】本実施例に示したリングネットワークプロテクション方式と他のリングネットワークプロテクション方式との組み合わせの一例を示す図である。
【図２０】本実施例に示したプロテクション方式によりおこなわれるデータトラフィックの負荷分散の一例を示す図である。
【図２１】本実施例に示したリングネットワークプロテクション方式とリンク冗長方式との組み合わせの一例を示す図である。
【図２２】データ中継装置の各機能を実現するコンピュータのハードウェア構成を示すブロック図である。
【図２３】スパニングツリープロトコル方式により構築されたネットワークの一例を示す図である。
【符号の説明】
【０１８９】
１０    パケット受信ポート
２０    制御部
２１    パケット送受信部
２２    障害検出部
２３    ノード設定部
２４    ノード処理実行部
３０    記憶部
３１    自ノード情報
３２    他ノード情報
３３    経路情報
４０    パケット送信ポート
【図１】
2005269059.tif 000003
【図２】
2005269059.tif 000004
【図３】
2005269059.tif 000005
【図４】
2005269059.tif 000006
【図５】
2005269059.tif 000007
【図６】
2005269059.tif 000008
【図７】
2005269059.tif 000009
【図８】
2005269059.tif 000010
【図９】
2005269059.tif 000011
【図１０】
2005269059.tif 000012
【図１１】
2005269059.tif 000013
【図１２】
2005269059.tif 000014
【図１３】
2005269059.tif 000015
【図１４】
2005269059.tif 000016
【図１５】
2005269059.tif 000017
【図１６】
2005269059.tif 000018
【図１７】
2005269059.tif 000019
【図１８】
2005269059.tif 000020
【図１９】
2005269059.tif 000021
【図２０】
2005269059.tif 000022
【図２１】
2005269059.tif 000023
【図２２】
2005269059.tif 000024
【図２３】
2005269059.tif 000025