(57)【要約】【課題】パケットの伝送効率に影響を与えることなく回線交換技術と同等の無瞬断伝送が行えるようにすること。【解決手段】ノードＡがノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇにユニキャストデータパケットを送信する場合、最短経路のリングを選択する。送信元ノードＡは、選択した最短経路のリングに障害が発生した場合は、障害箇所を通らないリングを選択する。この場合、送信元ノードＡは、障害発生前の正常時において全てのノード向けのユニキャストデータパケットを蓄積しておき、障害箇所を通らないリングを選択する際に、宛先ノードが最短経路のリングと異なる場合に、蓄積しているユニキャストデータパケットを障害箇所を通らないリングに送信する。これによって、宛先ノードＦ向けのユニキャストデータパケットをノードＢ，Ｃ，Ｄ、Ｅを通って無瞬断で送信できる。【選択図】      図１
2005027039.tif 000002
【特許請求の範囲】
【請求項１】
相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して複数のノード装置が接続され、各ノード装置が、障害の有無を相互に通知し合い、ユニキャストデータパケットを送信するときは、障害を認識していない場合は一次リングと二次リングのうち宛先ノードに向けて最短経路のリングを選択し、障害を認識した場合は一次リングと二次リングのうち宛先ノードに向けて障害箇所を通らないリングを選択する二重リングネットワークにおいて、
ユニキャストデータパケットを送信するノード装置は、
障害を認識していない場合は、宛先ノードに向けて最短経路のリングを選択して送信するのと並行に、全てのユニキャストデータパケットを一定時間蓄積した後廃棄する動作を行い、
障害を認識した場合は、宛先ノードに向けて障害箇所を通らないリングを選択して送信する際に、前記最短経路のリングと同じリングとなる宛先ノードについてはそのまま引き続いて送信する一方、前記最短経路のリングと異なるリングとなる宛先ノードについては前記一定時間蓄積した後のユニキャストデータパケットを前記障害箇所を通らないリングに送信する手段、
を備えたことを特徴とする二重リングネットワークの無瞬断伝送方式。
【請求項２】
前記ユニキャストデータパケットを送信するノード装置は、
障害を認識した場合に、その障害を認識した時点で前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替えて障害発生前のリングを変更した宛先ノードに対して送信し、蓄積したユニキャストデータパケットがなくなり次第、前記蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積した後破棄する動作に戻し、各宛先ノードに対して前記障害箇所を通らないリングを選択して送信することを特徴とする請求項１に記載の二重リングネットワークの無瞬断伝送方式。
【請求項３】
前記ユニキャストデータパケットを送信するノード装置は、
障害の回復を認識した場合に、再度最短経路のリングを選択するとともに、その障害の回復を認識した時点で前記蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替えて障害回復前のリングを変更する宛先ノードに対して送信し、蓄積したユニキャストデータパケットがなくなり次第、前記蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積した後破棄する動作に戻し、各宛先ノードに対して再度選択した最短経路のリングを用いて送信することを特徴とする請求項２に記載の二重リングネットワークの無瞬断伝送方式。
【請求項４】
前記ユニキャストデータパケットを送信するノード装置は、宛先ノード毎にシーケンスナンバーを記して送信し、
ユニキャストデータパケットを受信するノード装置は、自ノード宛のユニキャストデータパケットをシーケンスナンバーの順に取り込む、
ことを特徴とする請求項１〜３のいずれか一つに記載の二重リングネットワークの無瞬断伝送方式。
【請求項５】
相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して複数のノード装置が接続され、各ノード装置が、障害の有無を相互に通知し合い、同報データパケットを送信するときは、障害を認識していない場合では、自送信ノード装置から最も離れた位置で隣り合う二つのノード装置を終端ノードとして選択し、障害を認識した場合では、障害箇所を挟む二つのノード装置を終端ノードとして選択し、それぞれ、各終端ノードに向けて両リングに送信する二重リングネットワークにおいて、
同報データパケットを送信するノード装置は、
障害を認識していない場合は、自送信ノード装置から最も離れた位置で隣り合う二つのノード装置を終端ノードとして選択して送信するのと並行に、同報データパケットを一定時間蓄積した後廃棄する動作を行い、
障害を認識した場合は、終端ノードを障害箇所を挟む二つのノード装置に変更して対応するリングに送信する際に、経由ノード数が減った終端ノードに対してはそのまま引き続いて送信する一方、経由ノード数が増えた終端ノードに対しては前記一定時間蓄積した後の同報データパケットを送信する手段、
を備えたことを特徴とする二重リングネットワークの無瞬断伝送方式。
【請求項６】
前記同報データパケットを送信するノード装置は、
障害を認識した場合に、終端ノードを変更した時点で前記蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替え、経由ノード数が増えた終端ノードに対して送信し、蓄積した同報データパケットがなくなり次第、前記蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積の後に破棄する動作に戻し、変更した両終端ノードに対し対応するリングを用いて送信することを特徴とする請求項５に記載の二重リングネットワークの無瞬断伝送方式。
【請求項７】
前記同報データパケットを送信するノード装置は、
障害の回復を認識した場合に、終端ノードを障害発生前の状態に戻し、経由ノード数が減った終端ノードに対してはそのまま引き続いて送信するとともに、終端ノードを変更した時点で前記蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替えて経由ノード数が増えた終端ノードに対して送信し、蓄積した同報データパケットがなくなり次第、前記蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積の後に破棄する動作に戻し、終端ノードに対し対応するリングを用いて送信することを特徴とする請求項６に記載の二重リングネットワークの無瞬断伝送方式。
【請求項８】
前記同報データパケットを送信するノード装置は、同報データパケット毎にシーケンスナンバーを記して送信し、
同報データパケットを受信するノード装置は、同報データパケットをシーケンスナンバーの順に取り込む、
ことを特徴とする請求項５〜７のいずれか一つに記載の二重リングネットワークの無瞬断伝送方式。
【請求項９】
相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して接続される複数のノード装置であって、各ノード装置が、障害の有無を相互に通知し合い、ユニキャストデータパケットを送信するときは、障害を認識していない場合は一次リングと二次リングのうち宛先ノードに向けて最短経路のリングを選択し、障害を認識した場合は一次リングと二次リングのうち宛先ノードに向けて障害箇所を通らないリングを選択する場合において、
各ノード装置は、
ユニキャストデータパケットを前記一次リングに直接送信するための第１経路と、
ユニキャストデータパケットを前記二次リングに直接送信するための第２経路と、
ユニキャストデータパケットを一定時間蓄積し、障害を認識していない場合は破棄し、障害を認識した場合は前記一次リングと二次リングのうち指示されたリングに送信するための第３経路と、
ユニキャストデータパケットにシーケンスナンバーを記し、障害を認識していない場合は、前記第１経路と前記第２経路とに最短経路のリングに向けて送信させ、障害を認識した場合は、宛先ノードに向けて障害箇所を通らないリングのうち、障害発生前のリングを変更しない宛先ノードに対しては前記第１経路と前記第２経路の一方または双方に送信させ、障害発生前のリングを変更した宛先ノードに対しては前記第３経路に送信させ、宛先ノードであるとき、ユニキャストデータパケットをシーケンスナンバーの順に取り込む制御手段と、
を備えたことを特徴とするノード装置。
【請求項１０】
前記制御手段は、
障害を認識した場合に、その障害を認識した時点で前記第３経路での蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替え、障害発生前のリングを変更した宛先ノードに対して前記第３経路に送信させ、蓄積したユニキャストデータパケットがなくなり次第、前記第３経路の蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積の蓄積動作に戻し、一定時間の蓄積後に破棄させ、宛先ノードに対しては前記第１経路と前記第２経路に送信させることを特徴とする請求項９に記載のノード装置。
【請求項１１】
前記制御手段は、
障害の回復を認識した場合に、最短経路のリングが障害回復前のリングを変更しない宛先ノードに対しては前記第１経路と前記第２経路に送信させるとともに、障害の回復を認識した時点で前記第３経路での蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替え、最短経路のリングが障害回復前のリングを変更する宛先ノードに対して前記第３経路に送信させ、蓄積したユニキャストデータパケットがなくなり次第、前記第３経路の蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積の蓄積動作に戻し、一定時間の蓄積後に破棄させ、宛先ノードに対しては前記第１経路と前記第２経路に送信させることを特徴とする請求項１０に記載のノード装置。
【請求項１２】
相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して接続される複数のノード装置であって、各ノード装置が、障害の有無を相互に通知し合い、同報データパケットを送信するときは、障害を認識していない場合では、自送信ノード装置から最も離れた位置で隣り合う二つのノード装置を終端ノードとして選択し、障害を認識した場合では、障害箇所を挟む二つのノード装置を終端ノードとして選択し、それぞれ、各終端ノードに向けて両リングに送信する場合において、
各ノード装置は、
同報データパケットを前記一次リングに直接送信するための第１経路と、
同報データパケットを前記二次リングに直接送信するための第２経路と、
同報データパケットを一定時間蓄積し、障害を認識していない場合は破棄し、障害を認識した場合に前記一次リングと二次リングのうち指示されたリングに送信するための第３経路と、
同報データパケットにシーケンスナンバーを記し、障害を認識していない場合は、前記第１経路と前記第２経路とに送信させ、障害を認識した場合は、経由ノード数が減った終端ノードに対しては前記第１経路と前記第２経路の一方または双方に送信させ、経由ノード数が増えた終端ノードに対しては前記第３経路に送信させ、受信ノードであるとき、同報データパケットをシーケンスナンバーの順に取り込む制御手段と、
を備えたことを特徴とするノード装置。
【請求項１３】
前記制御手段は、
障害を認識した場合に、終端ノードを変更した時点で前記第３経路での蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替え、経由ノード数が増えた終端ノードに対して前記第３経路に送信させ、蓄積した同報データパケットがなくなり次第、前記第３経路の蓄積動作を先入れ先出しの蓄積動作から一定時間の蓄積動作に戻し、一定時間の蓄積後に破棄させ、終端ノードに対しては前記第１経路と前記第２経路に送信させることを特徴とする請求項１２に記載のノード装置。
【請求項１４】
前記制御手段は、
障害の回復を認識した場合に、経由ノード数が減った終端ノードに対して前記第１経路と前記第２経路の一方または双方に送信させるとともに、終端ノードを変更した時点で前記第３経路での蓄積動作を前記一定時間蓄積の蓄積動作から先入れ先出しの蓄積動作に切り替え、経由ノード数が増えた終端ノードに対して前記第３経路に送信させ、蓄積した同報データパケットがなくなり次第、前記第３経路の蓄積動作を先入れ先出しの蓄積動作から一定時間蓄積の蓄積動作に戻し、一定時間の蓄積後に破棄させ、終端ノードに対しては前記第１経路と前記第２経路に送信させることを特徴とする請求項１３に記載のノード装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パケット交換技術を用いた二重リングネットワークにおいて伝送路等での障害発生時にパケットを無瞬断で切り替えて伝送する無瞬断伝送方式およびノード装置に関するものである。
【０００２】
【従来の技術】
図１９は、パケット交換技術を用いた従来の二重リングネットワークでの伝送方法を説明する図である。なお、図１９（ａ）は、通常時の伝送方法を説明する図であり、図１９（ｂ）は、障害発生時の伝送方法を説明する図である。図１９において、二重リングネットワークは、相反する方向性を持つ一次リング５７と二次リング５８とからなる二重リング５９と、二重リング５９を伝送媒体または回線として相互間が接続される複数のノード６０−１（ノードＡ）〜６０−５（ノードＧ）とで構成される。この二重リングネットワークでは、任意のノード間で、一次リング５７または二次リング５８を介して、データパケットの送受信が行えるようになっている。なお、ここでは、ノードは、単に、ノードＡ〜ノードＧと称する。
【０００３】
ところで、非特許文献１では、パケット交換技術を用いた二重リングネットワークでの伝送方法として、Ｓｔｅｅｒと呼ばれる伝送方法が開示されている。すなわち、送信ノードであるノードＡから、宛先ノードであるノードＦにデータパケットを送信する場合、通常時には、図１９（ａ）に示すように、送信ノードＡは、ノードＧを通る最短経路のリング（二次リング５８）を選択し、データパケットを宛先ノードノードＦに向けて送信する。
【０００４】
そして、選択した最短経路のリング（二次リング５８）に障害が発生すると、障害検出ノードは、制御パケットを用いて、全ノードに障害発生位置を通知する。送信ノードノードＡは、通知された情報に基づき障害箇所を通らないリングを選択し、データパケットを宛先ノードＦに向けて送信する。このとき、リングを切り替えるか否かは障害箇所に応じて決定される。
【０００５】
今の例では、図１９（ｂ）に示すように、選択したノードＧを通る最短経路のリング（二次リング５８）において、ノードＧとノードＦとの間で伝送路断の障害が発生したので、送信ノードＡでは、二次リング５８から一次リング５７への切り替えが行われる。すなわち、データパケットは、ノードＢ、ノードＣ、ノードＤ、ノードＥを通って宛先モードノードＦに送信される。宛先ノードＦは、障害の有無に関わらず、到着したデータパケットを取り込む。
【０００６】
次に、図２０は、図１９に示す各ノード装置の構成を示すブロック図である。非特許文献２では、上記したパケット交換技術を用いた二重リングネットワークにおけるノードの構成が開示されている。図２０では、非特許文献２にて開示された内容が整理して示されている。
【０００７】
図２０に示すノード６０は、右回りリング（図１９に示す一次リング５７に対応する）上のパケットが入力される回線インタフェース部（回線Ｉ／Ｆ部）６１と、回線Ｉ／Ｆ部６１の出力を２分岐する分岐処理部６２と、分岐処理部６２の一方の分岐出力を受ける中継バッファ部６３と、中継バッファ部６３の出力を一方の入力とする挿入処理部６４と、挿入処理部６４の出力を右回りリング上に送出する回線Ｉ／Ｆ部６５とを備えている。
【０００８】
また、ノード６０は、左回りリング（図１９に示す一次リング５８に対応する）上のパケットが入力される回線Ｉ／Ｆ部７１と、回線Ｉ／Ｆ部７１の出力を２分岐する分岐処理部７２と、分岐処理部７２の一方の分岐出力を受ける中継バッファ部７３と、中継バッファ部７３の出力を一方の入力とする挿入処理部７４と、挿入処理部７４の出力を左回りリング上に送出する回線Ｉ／Ｆ部７５とを備えている。
【０００９】
そして、ノード６０は、分岐処理部６２および分岐処理部７２の他方の分岐出力が入力される受信バッファ部（ｄｒｏｐバッファ部）７６と、ｄｒｏｐバッファ部７６の出力を受けるＭＡＣクライアント部７７と、ＭＡＣクライアント部７７の出力を受けて挿入処理部６４および挿入処理部７４の他方の入力を出力する送信バッファ部（ａｄｄバッファ部）７８とを備えている。
【００１０】
ＭＡＣクライアント部７７は、下位のブロックに対し、データパケットの送受を依頼する。ｄｒｏｐバッファ部７６と中継バッファ部６３，７３は、到着したデータパケットを一時的に待たせる。ａｄｄバッファ部７８は、到着したデータパケットを一時的に待たせると共に、送信するパケットの宛先識別子を見てリングを選択する。
【００１１】
分岐処理部６２，７２は、上流ノードから入力したデータパケットの宛先識別子を見て、自ノード宛の場合はｄｒｏｐバッファ部７６に与え、他ノード宛の場合は中継バッファ部６３，７３に与え、同報の場合はｄｒｏｐバッファ部７６と中継バッファ部６３，７３の双方に与える。
【００１２】
挿入処理部６４，７４は、送信するパケットと中継するパケットとを選択し、下流ノードに出力する。回線Ｉ／Ｆ部６１，６５，７１，７５は、伝送媒体の特性に応じて、符号／復号化、電気レベル変換、電気／光変換、伝送クロック抽出などを行う。
【００１３】
次に、図２１は、回線交換技術を用いた従来の二重リングネットワークでの無瞬断伝送方法を説明する図である。図２１では、非特許文献３に紹介されているＵＰＳＲ（Ｕｎｉｄｉｒｅｃｔｉｏｎａｌ  Ｐａｔｈ  Ｓｗｉｔｃｈｅｄ  Ｒｉｎｇ）と呼ばれる二重リングネットワークのリング切替方式が示されている。
【００１４】
図２１において、二重リング７９は、相反する方向性を持つ現用系リング８０と予備系リング８１とに区別されている。二重リング７９上には、４つのノード８２−１（ノードＡ）〜８２−４（ノードＤ）が配置されている。なお、ここでは、ノードは、単に、ノードＡ〜ノードＤと称する。
【００１５】
この回線交換技術を用いた従来の二重リングネットワークでは、送信元ノードから宛先ノードに向けて、現用系リング８０にＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）またはＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ）のタイムスロットを用いた現用パスを設定し、予備系リング８１に予備パスを設定する。そして、送信元ノードは、二つのパスに同一のデータを送信するようになっている。
【００１６】
今、ノードＡからノードＣに向けてデータを送信する場合、正常時では、図２１（ａ）に示すように、宛先ノードＡは、現用系リング８０によるノードＢを通る現用パスを設定し、予備系リング８１によるノードＤを通る予備パスを設定し双方のパスに同一のデータを送信する。宛先ノードＣは、現用パスからのデータを取り込み、予備パスからデータを廃棄する。
【００１７】
現用パスに障害が発生すると、障害検出ノードは、ＳＤＨまたはＳＯＮＥＴの制御用タイムスロットを用いて宛先ノードＢに障害発生を通知するので、宛先ノードＢは、図２１（ｂ）に示すように、予備系リング８１によるノードＤを通る予備パスに切り替えて受信する。以上は、相手ノードが単数の場合であるが、相手ノードが複数ある場合、相手ノード毎にパスを設け、パス毎に上記の動作を実行する。
【００１８】
ここでは、回線交換技術を用いているので、現用パスと予備パスの各々の遅延時間を調整し、宛先ノードで、現用パスが格納されるタイムスロットの位相と予備パスが格納されるタイムスロットの位相とを一致させることにより、パス切り替えの際に、宛先ノードでデータの欠落を防ぐことが可能である。
【００１９】
【非特許文献１】
Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ  Ａｌｌｉａｎｃｅ「Ｏｕｔｌｉｎｅ  ｏｆ  ｔｈｅ  ＩＥＥＥ  ８０２．１７  ＲＰＲ  Ｄｒａｆｔ  Ｓｔａｎｄａｒｄ」（ｈｔｔｐ／／ｗｗｗ．ｒｐｒａｌｌｉａｎｃｅ．ｏｒｇ／ａｒｔｉｃｌｅ／ＡＣＦ１８．ｐｄｆ）
【非特許文献２】
日経コミュニケーションの記事「イーサネット（登録商標）新天地に挑む」（ＢＰ社、２００１年１１月５日号）
【非特許文献３】
「わかりやすいＳＤＨ／ＳＯＮＥＴ伝送方式」（オーム社、平成１３年４月２５日発行、１１１頁）
【００２０】
【発明が解決しようとする課題】
しかしながら、従来のパケット交換技術を用いた二重リングネットワークに、従来の回線交換技術を用いた二重リングネットワークで行われている無瞬断伝送方式を適用し、無瞬断伝送を実現する場合、以下の問題がある。
【００２１】
まず、基本的に、パケット交換技術には、回線交換技術におけるパスの概念がないため、パスの位相を一致させ無瞬断伝送を実現する方法が適用できない。
【００２２】
また、仮に、無瞬断伝送が実現できても、回線交換技術では、パケット交換技術に比較し伝送帯域を２倍使用するので、効率が悪い。
【００２３】
さらに、仮に、無瞬断伝送が実現できても、回線交換技術には、同報の概念がないので、パケット交換技術の同報データパケットに適用できない。
【００２４】
この発明は、上記に鑑みてなされたもので、パケットの伝送効率に影響を与えることなく回線交換技術と同等の無瞬断伝送が行える二重リングネットワークの無瞬断伝送方式およびノード装置を得ることを目的とする。
【００２５】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる二重リングネットワークの無瞬断伝送方式は、相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して複数のノード装置が接続され、各ノード装置が、障害の有無を相互に通知し合い、ユニキャストデータパケットを送信するときは、障害を認識していない場合は一次リングと二次リングのうち宛先ノードに向けて最短経路のリングを選択し、障害を認識した場合は一次リングと二次リングのうち宛先ノードに向けて障害箇所を通らないリングを選択する二重リングネットワークにおいて、ユニキャストデータパケットを送信するノード装置は、障害を認識していない場合は、宛先ノードに向けて最短経路のリングを選択して送信するのと並行に、全てのユニキャストデータパケットを一定時間蓄積した後廃棄する動作を行い、障害を認識した場合は、宛先ノードに向けて障害箇所を通らないリングを選択して送信する際に、前記最短経路のリングと同じリングとなる宛先ノードについてはそのまま引き続いて送信する一方、前記最短経路のリングと異なるリングとなる宛先ノードについては前記一定時間蓄積した後のユニキャストデータパケットを前記障害箇所を通らないリングに送信する手段を備えたことを特徴とする。
【００２６】
この発明によれば、ユニキャストデータパケットを送信するノード装置は、障害発生前の正常時において全てのノード向けのユニキャストデータパケットを蓄積しておき、障害を認識して障害箇所を通らないリングを選択する際に、宛先ノードが最短経路のリングと異なる場合に、蓄積しているユニキャストデータパケットを障害箇所を通らないリングに送信する。これによって、ユニキャストデータパケットの無瞬断伝送が行える。
【００２７】
また、この発明にかかる二重リングネットワークの無瞬断伝送方式は、相反する伝送方向性を持つ一次リングと二次リングの二重リングを介して複数のノード装置が接続され、各ノード装置が、障害の有無を相互に通知し合い、同報データパケットを送信するときは、障害を認識していない場合では、自送信ノード装置から最も離れた位置で隣り合う二つのノード装置を終端ノードとして選択し、障害を認識した場合では、障害箇所を挟む二つのノード装置を終端ノードとして選択し、それぞれ、各終端ノードに向けて両リングに送信する二重リングネットワークにおいて、同報データパケットを送信するノード装置は、障害を認識していない場合は、自送信ノード装置から最も離れた位置で隣り合う二つのノード装置を終端ノードとして選択して送信するのと並行に、同報データパケットを一定時間蓄積した後廃棄する動作を行い、障害を認識した場合は、終端ノードを障害箇所を挟む二つのノード装置に変更して対応するリングに送信する際に、経由ノード数が減った終端ノードに対してはそのまま引き続いて送信する一方、経由ノード数が増えた終端ノードに対しては前記一定時間蓄積した後の同報データパケットを送信する手段を備えたことを特徴とする。
【００２８】
この発明によれば、同報データパケットを送信するノード装置は、障害発生前の正常時において全ての同報データパケットを蓄積しておき、障害を認識して終端ノードを変更して送信するとき、経由ノード数が増えた終端ノードに対しては一定時間蓄積した後の同報データパケットを送信する。これによって、ユニキャストデータパケットの無瞬断伝送が行える。
【００２９】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる二重リングネットワークの無瞬断伝送方式およびノード装置の好適な実施の形態を詳細に説明する。
【００３０】
実施の形態１．
図１は、この発明の実施の形態１である二重リングネットワークの構成および無瞬断伝送方式を説明する図である。なお、図１（ａ）は、正常時の伝送方法を説明する図であり、図１（ｂ）は、障害発生時の伝送方法を説明する図である。図１に示す二重リングネットワークは、相反する伝送方向性を持つ一次リング（右回りリング）１と二次リング（左回りリング）２とからなる二重リング３と、二重リング３を伝送媒体または回線として相互間が接続される複数のノード装置４−１（ノードＡ）〜４−５（ノードＧ）とで構成される。この二重リングネットワークでは、この実施の形態１では、任意のノード間で、右回りリング１または左回りリング２を介して、宛先が１つのノードであるユニキャストデータパケットの送受信が行えるようになっている。なお、ここでは、ノード装置は、単に、ノードＡ〜ノードＧと称する。
【００３１】
次に、図１に示す二重リングネットワークにおいて実施されるユニキャストデータパケットについての無瞬断伝送方式について説明する。図１において、各ノードは、制御パケットを両隣のノードに一定周期で送信し、隣接ノードの状態や隣接ノード間の伝送路の状態を監視している。そして、障害が発生した場合は、障害を検出したノードが制御パケットを用いて全ノードに障害発生と障害個所を通知するようになっている。
【００３２】
今、ノードＡがノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇにユニキャストデータパケットを送信する場合、最短経路のリングは、ノードＢ，Ｃ，Ｄに対しては右回りリング１であり、ノードＥ，Ｆ，Ｇに対しては左回りリング２である。したがって、送信元ノードＡは、宛先ノードＦに対しては、障害を認識していない場合は、図１（ａ）に示すように、ノードＧを通る最短経路のリング（左回りリング２）を選択して送信する。
【００３３】
そして、送信元ノードＡは、選択した最短経路のリングに障害が発生したことを認識している場合は、障害箇所を通らないリングを選択する。すなわち、図１（ｂ）に示すように、ノードＦ，Ｇ間に伝送路断５が発生した場合は、ノードＡからノードＧに至る左回りリング２と、ノードＡからノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１とを選択する。
【００３４】
この場合、ノードＢ，Ｃ，Ｄに対しては障害発生前と同じ最短経路のリング（右回りリング１）であり、変更はないので、無瞬断で伝送できる。ノードＧに対しても同様である。しかし、ノードＥ，Ｆに対しては障害発生前（左回りリング２）とは異なるリング（右回りリング１）となり、リング切り替えが発生するので、無瞬断伝送ができない。
【００３５】
そこで、送信元ノードＡは、障害発生前の正常時において各ノード向けのユニキャストデータパケットを一定時間蓄積して廃棄することを繰り返す方法で蓄積しておき、障害発生を受けて障害箇所を通らないリングを選択する際に、宛先ノードが最短経路のリングと異なるリングとなる場合に、蓄積しているユニキャストデータパケットを障害箇所を通らないリングに送信するようにしている。これによって、図１（ｂ）に示すように、宛先ノードＦ向けのユニキャストデータパケットをノードＢ，Ｃ，Ｄ，Ｅを通って無瞬断で送信できるようになる。
【００３６】
なお、いずれの場合も、送信元ノードは、各宛先ノード毎に管理するシーケンスナンバーをインクリメントし、ユニキャストデータパケットに記す。また、宛先ノードでは、自ノード宛のユニキャストデータパケットのシーケンスナンバーを検査し、シーケンスナンバーの順に取り込む。二重到着や順序逆転到着したユニキャストデータパケットを廃棄する。
【００３７】
以下、各ノード装置の構成および動作について具体的に説明する。図２は、図１に示す各ノード装置の構成を示すブロック図である。図２に示すように、各ノード装置４は、右回りリング上のパケットが入力される回線インタフェース部（回線Ｉ／Ｆ部）１０と、回線Ｉ／Ｆ部１０の出力を２分岐する分岐処理部１１と、分岐処理部１１の一方の分岐出力を受ける中継バッファ部１２と、中継バッファ部１２の出力を一方の入力とする挿入処理部１３と、挿入処理部１３の出力を右回りリング上に送出する回線Ｉ／Ｆ部１４とを備えている。
【００３８】
また、ノード装置４は、左回りリング上のパケットが入力される回線Ｉ／Ｆ部２０と、回線Ｉ／Ｆ部２０の出力を２分岐する分岐処理部２１と、分岐処理部２１の一方の分岐出力を受ける中継バッファ部２２と、中継バッファ部２２の出力を一方の入力とする挿入処理部２３と、挿入処理部２３の出力を左回りリング上に送出する回線Ｉ／Ｆ部２４とを備えている。
【００３９】
そして、ノード装置４は、分岐処理部１１および分岐処理部２１の他方の分岐出力が入力される受信バッファ部（ｄｒｏｐバッファ部）２５と、ｄｒｏｐバッファ部２５の出力を受けるＭＡＣクライアント部２６と、ＭＡＣクライアント部２６の出力を受けるバッファ選択部２７と、バッファ選択部２７の出力を受ける蓄積バッファ部２８と、バッファ選択部２７の出力と蓄積バッファ部２８の出力とを受けて挿入処理部２３の他方の入力に出力する左回り送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部）２９と、バッファ選択部２７の出力と蓄積バッファ部２８の出力とを受けて挿入処理部１３の他方の入力に出力する右回り送信バッファ部（Ｅａｓｔ  ａｄｄバッファ部）３０とを備えている。
【００４０】
回線Ｉ／Ｆ部１０，１４，２０，２３は、伝送媒体の特性に応じて、符号／復号化、電気レベル変換、電気／光変換、伝送クロック抽出などを行う機能を有している。
【００４１】
分岐処理部１１，２１は、回線Ｉ／Ｆ部１０，２０が対応するリングから取り込んだ上流ノード発のユニキャストデータパケットの宛先識別子を見て、自ノード宛の場合はｄｒｏｐバッファ部２５に与え、他ノード宛の場合は中継バッファ部１２，２２に与える。中継バッファ部１２，２２は、分岐処理部１１，２１から受け取ったユニキャストデータパケットを一次的に待たせた後、挿入処理部１３，２３に与える。
【００４２】
ｄｒｏｐバッファ部２５は、分岐処理部１１，２１から受け取ったユニキャストデータパケットを一次的に待たせた後、ＭＡＣクライアント部２６に与える。ＭＡＣクライアント部２６は、送信すべきユニキャストデータパケットをバッファ選択部２７に与える。バッファ選択部２７は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットを蓄積バッファ部２８とＷｅｓｔ  ａｄｄ部２９とＥａｓｔ  ａｄｄ部３０とに振り分けて出力する。
【００４３】
蓄積バッファ部２８は、バッファ選択部２７から受け取ったユニキャストデータパケットを一定時間蓄積する。そして、蓄積バッファ部２８は、一定時間経過したユニキャストデータパケットを、正常時は破棄し、障害発生時にＷｅｓｔ  ａｄｄ部２９とＥａｓｔ  ａｄｄ部３０とのいずれか一方に与える。なお、一定時間の長さは、障害発生から全ノードが障害発生を認識するまでの時間よりも長い時間である。
【００４４】
Ｗｅｓｔ  ａｄｄ部２９は、バッファ選択部２７または蓄積バッファ部２８から受け取ったユニキャストデータパケットを一次的に待たせ後、挿入処理部２３に与える。また、Ｅａｓｔ  ａｄｄ部３０とは、バッファ選択部２７または蓄積バッファ部２８から受け取ったユニキャストデータパケットを一次的に待たせ後、挿入処理部１３に与える。挿入処理部１３，２３は、送信するパケットと中継するパケットとを選択し、回線Ｉ／Ｆ部１４，２４を介して対応するリングの下流ノードに出力する。
【００４５】
次に、図１〜図５を参照して、ユニキャストデータパケットについて無瞬断伝送を実施する送信元ノードの動作について説明する。なお、図３は、図１に示す二重リングネットワークにおいてユニキャストデータパケットを伝送する場合の送信元ノードの動作手順を説明するフローチャートである（障害発生を認識していない場合）。図４は、図１に示す二重リングネットワークにおいてユニキャストデータパケットを伝送する場合の送信元ノードの動作手順を説明するフローチャートである（障害発生を認識した場合）。図５は、図１に示す送信側ノード装置でのユニキャストデータパケットの流れを説明する図である。
【００４６】
図３において、送信元ノードでは、障害発生を認識していない場合は、バッファ選択部２７は、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取ると、宛先ノードに応じた最短経路のリングを選択する（ステップＳＴ１）。そして、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットを選択したリングに振り分け、対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方）に渡すとともに、全てを蓄積バッファ部２８に渡す（ステップＳＴ２）。
【００４７】
蓄積バッファ部２８は、バッファ選択部２７から受け取ったユニキャストデータパケットを一定時間蓄積した後順に廃棄する（ステップＳＴ３）。一方、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０の双方）は、バッファ選択部２７から受け取ったユニキャストデータパケットを対応するリングに送信する（ステップＳＴ４）。これによって、図１（ａ）に示したように、最短経路のリングを用いたユニキャストデータパケットの伝送が行われる。
【００４８】
図４において、送信元ノードでは、障害発生を認識した場合は、バッファ選択部２７は、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取ると、宛先ノードに向けて障害箇所を通らないリングを選択する（ステップＳＴ６）。そして、バッファ選択部２７は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットを、全て蓄積バッファ部２８に渡すとともに、選択したリングが障害発生前に選択した最短経路のリングと同じである場合にその選択した障害箇所を通らないリング（最短経路のリング）に対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方）に渡す（ステップＳＴ７）。このとき、バッファ選択部２７は、蓄積バッファ部２８に対して、選択した障害箇所を通らないリングが最短経路のリングと同じであるか否かの情報を与えるようになっている。
【００４９】
蓄積バッファ部２８は、バッファ選択部２７から受け取ったユニキャストデータパケットを、選択された障害箇所を通らないリングが最短経路のリングと同じである場合は一定時間蓄積した後に順に廃棄する一方、異なる場合はその選択した障害箇所を通らないリング（最短経路のリングではない迂回リング）に対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方）に渡す（ステップＳＴ８）。
【００５０】
Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方の送信バッファ部は、バッファ選択部２７から受け取ったユニキャストデータパケットを最短経路のリングに送信する。また、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方の送信バッファ部は、蓄積バッファ部２７から受け取ったユニキャストデータパケットを最短経路とは異なる迂回リングに送信する（ステップＳＴ９）。これによって、図１（ｂ）に示したように、各ノード向けのユニキャストデータパケットが障害箇所を回避したリングを用いて伝送される。
【００５１】
したがって、障害発生の前後における送信元ノード内でのユニキャストデータパケットの流れは、図５に示すようになる。図５中に示すＡ〜Ｇは、図１に示すノードである。つまり、図５は、図１に示す送信元ノードＡでの遷移状態を示している。
【００５２】
図５において、▲１▼障害が発生していない場合は、バッファ選択部２７は、ユニキャストデータパケットの宛先ノードが、ノードＥ，Ｆ，Ｇであるときは、最短経路として左回りリング２を選択し、Ｗｅｓｔ  ａｄｄバッファ部２９に対してノードＥ，Ｆ，Ｇ向けのユニキャストデータパケットを渡す。また、バッファ選択部２７は、ユニキャストデータパケットの宛先ノードが、ノードＢ，Ｃ，Ｄであるときは、最短経路として右回りリング１を選択し、Ｅａｓｔ  ａｄｄバッファ部３０に対してノードＢ，Ｃ，Ｄ向けのユニキャストデータパケットを渡す。一方、バッファ選択部２７は、蓄積バッファ部２８に対しては、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを渡す。蓄積バッファ部２８では、一定時間蓄積した後に順に廃棄し、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０に対してユニキャストデータパケットを渡さない。
【００５３】
そして、▲２▼ノードＥ，Ｆ間に障害が発生すると、バッファ選択部２７は、宛先ノードに向けて障害箇所を通らないリングを選択する。すなわち、ノードＡからノードＧに至る左回りリング２とノードＡからノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１とを選択する。そして、障害発生前に選択した最短経路のリングと同じであるか否かを比較する。ノードＡからノードＧに至る左回りリング２は同じである。また、ノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１のうち、ノードＢ，Ｃ，Ｄに至るリングは障害発生前に選択した最短経路のリングと同じであるが、ノードＤから先のノードＥ，Ｆに至るリングは、異なっている。
【００５４】
そこで、バッファ選択部２７は、ユニキャストデータパケットの宛先ノードが、ノードＧであるときは、障害発生前と同様にＷｅｓｔ  ａｄｄバッファ部２９に渡し、またノードＢ，Ｃ，Ｄであるときも障害発生前と同様にＥａｓｔ  ａｄｄバッファ部３０に渡す。一方、蓄積バッファ部２８に対し、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを渡す。
【００５５】
蓄積バッファ部２８では、ノードＢ，Ｃ，Ｄ向けのユニキャストデータパケットを破棄し、ノードＥ，Ｆ向けのユニキャストデータパケットをＥａｓｔ  ａｄｄバッファ部３０に渡す。Ｗｅｓｔ  ａｄｄバッファ部２９には何も渡さない。これによって、障害発生により最短経路のリング２が使用できなくなったノードＥ，Ｆ向けのユニキャストデータパケットが障害箇所５を迂回した右回りリング１から送信される。
【００５６】
このように、▲１▼障害が発生していない場合にＷｅｓｔ  ａｄｄバッファ部２９を通して送信されたノードＥ，Ｆ宛ユニキャストデータパケットは、▲２▼ノードＥ，Ｆ間に障害が発生した場合に、障害発生から一定時間経過した後、Ｅａｓｔ  ａｄｄバッファ部３０を通して再び送信されるので、無瞬断伝送が実現される。
【００５７】
以上のように、この実施の形態１によれば、パケット交換技術を用いた二重リングネットワークにおいて、パケット交換技術の利点である伝送効率を損なうことなく、ユニキャストデータパケット伝送について回線交換技術と同等の無瞬断伝送が実現できる。
【００５８】
したがって、二重リングネットワークの性能と信頼性とを同時に向上させることができる。また、これらの処理は、単純であり、ハードウェア処理にて容易に実現できるので、ノードを安価に製造することができる。
【００５９】
実施の形態２．
図６は、この発明の実施の形態２である二重リングネットワークにおける各ノード装置の構成を示すブロック図である。なお、図６では、図２に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態２に関わる部分を中心に説明する。
【００６０】
図２に示すように、実施の形態２による二重リングネットワークにおける各ノード装置３５は、図２に示した構成において、バッファ選択部２７に代えてバッファ選択部３６が設けられ、蓄積バッファ部２８に代えて蓄積バッファ部３７が設けられている。
【００６１】
実施の形態２では、ユニキャストデータパケットを伝送する図１に示した二重リングネットワークにおいて、障害が発生すると、実施の形態１にて説明した手順で障害回避措置を採るが、さらに障害が解消すると、その時点で障害発生前に使用していた最短経路に戻す動作が行われる。そのため、バッファ選択部３６および蓄積バッファ部３７は、それぞれ若干の機能変更・追加がなされている。
【００６２】
次に、図１、図６〜図９を参照して、ユニキャストデータパケットについて無瞬断伝送を実施する送信元ノードの動作について説明する。なお、図７は、実施の形態２においてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。図８は、実施の形態２においてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害回復を認識した場合）。図９は、実施の形態２において送信側ノード装置でのユニキャストデータパケットの流れを説明する図である。
【００６３】
図７において、送信元ノードでは、障害発生を認識した場合は、バッファ選択部３６は、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取ると、宛先ノードに向けて障害箇所を通らないリングを選択する（ステップＳＴ１１）。そして、バッファ選択部３６は、選択した障害箇所を通らないリングが障害発生前に選択した最短経路のリングと同じであるか否かを判断する（ステップＳＴ１２）。このとき、バッファ選択部３６は、蓄積バッファ部３７に対して、選択した障害箇所を通らないリングが最短経路のリングと同じであるか否かの情報を与えるようになっている。
【００６４】
バッファ選択部３６は、同じである場合（ステップＳＴ１２：Ｙｅｓ）は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットをその選択した障害箇所を通らないリング（最短経路のリング）に対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方）に渡す（ステップＳＴ１３）。一方、バッファ選択部３６は、同じでない場合（ステップＳＴ１２：Ｎｏ）は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットを蓄積バッファ部３７に渡す（ステップＳＴ１４）。
【００６５】
蓄積バッファ部３７は、障害発生前では、実施の形態１にて説明したように一定時間の蓄積動作を行っていたが、障害発生を受けてその蓄積方法を一定時間の蓄積動作から先入れ先出しのＦＩＦＯ動作に変更し、バッファ選択部３６から受け取ったユニキャストデータパケットを順に取り出し、その選択した障害箇所を通らないリング（最短経路のリングではない迂回リング）に対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方）に渡す（ステップＳＴ１５）。
【００６６】
Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方の送信バッファ部は、バッファ選択部３６から受け取ったユニキャストデータパケットを最短経路のリングに送信する。また、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方の送信バッファ部は、蓄積バッファ部３７から受け取ったユニキャストデータパケットを最短経路とは異なる迂回リングに送信する（ステップＳＴ１６）。
【００６７】
バッファ選択部３６は、ＦＩＦＯ動作をしている蓄積バッファ部３７の格納状態を監視し（ステップＳＴ１７）、空になると（ステップＳＴ１７：Ｙｅｓ）、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取り、障害解消の通知が来ないので、障害箇所を通らないリングを選択し（ステップＳＴ１８）、全てのユニキャストデータパケットを蓄積バッファ部３７に渡すとともに、選択したリングに対応する送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方）に渡す（ステップＳＴ１９）。
【００６８】
蓄積バッファ部３７は、一旦空になったので、蓄積方法を先入れ先出しから一定時間蓄積に変更し、バッファ選択部３６から受け取ったユニキャストデータパケットを一定時間蓄積した後順に破棄する（ステップＳＴ２０）。Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０は、それぞれバッファ選択部３６から受け取ったユニキャストデータパケットを障害箇所を通らないリングに送信する（ステップＳＴ２１）。障害解消の通知があるまで、ステップＳＴ１７〜ステップＳＴ２１の手順で障害箇所を回避したリングを使用してユニキャストデータパケットの送信が行われる。
【００６９】
次に、図８において、送信元ノードでは、障害回復を認識した場合は、バッファ選択部３６は、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取ると、障害発生前に使用していた最短経路のリングを選択する（ステップＳＴ２５）。そして、バッファ選択部３６は、選択した最短経路のリングが障害回復前に使用していたリングと同じであるか否かを判断する（ステップＳＴ２６）。このとき、バッファ選択部３６は、蓄積バッファ部３７に対して、選択した最短経路のリングが障害回復前に使用していたリングと同じであるか否かの情報を与えるようになっている。
【００７０】
バッファ選択部３６は、同じである場合（ステップＳＴ２６：Ｙｅｓ）は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットをその選択した最短経路のリングに対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方）に渡す（ステップＳＴ２７）。一方、バッファ選択部３６は、同じでない場合（ステップＳＴ２６：Ｎｏ）は、ＭＡＣクライアント部２６から受け取ったユニキャストデータパケットを蓄積バッファ部３７に渡す（ステップＳＴ２８）。
【００７１】
蓄積バッファ部３７は、障害回復前では、上記のように一定時間の蓄積動作を行っていたが、障害回復通知を受けてその蓄積方法を一定時間の蓄積動作から先入れ先出しのＦＩＦＯ動作に変更し、バッファ選択部３６から受け取ったユニキャストデータパケットを順に取り出し、最短経路のリングではないリング対応した送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方）に渡す（ステップＳＴ２９）。
【００７２】
Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方または双方の送信バッファ部は、バッファ選択部３６から受け取ったユニキャストデータパケットを最短経路のリングを含むリングに送信する。また、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０のいずれか一方の送信バッファ部は、蓄積バッファ部３７から受け取ったユニキャストデータパケットを最短経路のリングではないリングに送信する（ステップＳＴ３０）。これによって、図１（ｂ）に示したように、障害箇所を回避したリングを用いたユニキャストデータパケットの伝送が行われる。
【００７３】
バッファ選択部３６は、ＦＩＦＯ動作をしている蓄積バッファ部３７の格納状態を監視し（ステップＳＴ３１）、空になると（ステップＳＴ３１：Ｙｅｓ）、ＭＡＣクライアント部２６からユニキャストデータパケットを受け取り、最短経路のリングを選択し（ステップＳＴ３２）、全てのユニキャストデータパケットを蓄積バッファ部３７に渡すとともに、選択したリングに対応する送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０の双方）に渡す（ステップＳＴ３３）。
【００７４】
蓄積バッファ部３７は、一旦空になったので、蓄積方法を先入れ先出しから一定時間蓄積に変更し、バッファ選択部３６から受け取ったユニキャストデータパケットを一定時間蓄積した後順に破棄する（ステップＳＴ３４）。Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０は、それぞれバッファ選択部３６から受け取ったユニキャストデータパケットを最短経路のリングに送信する。以降、ステップＳＴ３１〜ステップＳＴ３５の手順で最短経路のリングを使用してユニキャストデータパケットの送信が行われる。
【００７５】
したがって、障害発生の前後および障害解消の前後における送信元ノード内でのユニキャストデータパケットの流れは、図９に示すようになる。図９中に示すＡ〜Ｇは、図１に示すノードである。つまり、図９は、図１に示す送信元ノードＡでの遷移状態を示している。
【００７６】
図９において、▲１▼障害が発生していない場合は、実施の形態１（図５）と同じである。▲２▼ノードＥ，Ｆ間に障害が発生した場合は、バッファ選択部３６は、宛先ノードに向けて障害箇所を通らないリングを選択する。すなわち、ノードＡからノードＧに至る左回りリング２とノードＡからノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１とを選択する。そして、障害発生前に選択した最短経路のリングと同じであるか否かを比較する。ノードＡからノードＧに至る左回りリング２は同じである。また、ノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１のうち、ノードＢ，Ｃ，Ｄに至るリングは障害発生前に選択した最短経路のリングと同じであるが、ノードＤから先のノードＥ，Ｆに至るリングは、異なっている。
【００７７】
そこで、バッファ選択部３６は、ユニキャストデータパケットの宛先ノードが、ノードＧであるときは、障害発生前と同様にＷｅｓｔ  ａｄｄバッファ部２９に渡し、またノードＢ，Ｃ，Ｄであるときも障害発生前と同様にＥａｓｔ  ａｄｄバッファ部３０に渡す。一方、バッファ選択部２７は、ユニキャストデータパケットの宛先ノードが、ノードＥ，Ｆであるときは、迂回リングに送信させるため蓄積バッファ部３７を介してＥａｓｔ  ａｄｄバッファ部３０に渡す。
【００７８】
ノードＥ，Ｆ間に障害が発生している状態で、▲３▼蓄積バッファ部３７が一旦空になると、バッファ選択部３６は、同じように障害箇所を通らないリングを選択する。すなわち、ノードＡからノードＧに至る左回りリング２とノードＡからノードＢ，Ｃ，Ｄ，Ｅ，Ｆに至る右回りリング１とを選択する。そして、バッファ選択部３６は、ユニキャストデータパケットをＭＡＣクライアント部２６から受け取り、ユニキャストデータパケットの宛先ノードが、ノードＧであるときは、Ｗｅｓｔ  ａｄｄバッファ部２９に渡し、ノードＢ，Ｃ，Ｄ、Ｅ，Ｆであるときは、Ｅａｓｔ  ａｄｄバッファ部３０に渡す。一方、蓄積バッファ部３７に対しては、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを渡す。
【００７９】
蓄積バッファ部３７は、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを一定時間蓄積した後順に破棄し、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０には何も渡さない。これによって、障害発生により最短経路の左回りリング２が使用できなくなったノードＥ，Ｆ向けのユニキャストデータパケットは、継続して障害箇所５を迂回した右回りリング１から送信される。
【００８０】
その後、▲４▼ノードＥ，Ｆ間に障害が解消すると、バッファ選択部３６は、最短経路のリングを選択する。すなわち、ノードＡからノードＢ，Ｃ，Ｄを至る右回りリング１とノードＡからノードＧ、Ｆ，Ｅに至る左回りリング２とを選択する。そして、選択した最短経路のリングが障害回復前に使用したリングと同じであるか否かを比較する。
【００８１】
バッファ選択部２７は、ユニキャストデータパケットの宛先ノードが、ノードＧであるときは、障害回復前に使用した左回りリング２に送出させるべくＷｅｓｔ  ａｄｄバッファ部２９に渡し、またノードＢ，Ｃ，Ｄであるときも障害回復前に使用した右回りリング１に送出させるべくＥａｓｔ  ａｄｄバッファ部３０に渡す。一方、ユニキャストデータパケットの宛先ノードがノードＥ，Ｆであるときは、選択した最短経路のリングが障害回復前に使用したリングと異なるので、蓄積バッファ部３７を介してＷｅｓｔ  ａｄｄバッファ部２９に渡す。
【００８２】
これによって、障害発生により最短経路の左回りリング２が使用できなくなったノードＥ，Ｆ向けのユニキャストデータパケットは、障害回復によって最短経路の左回りリング２の使用に切り替えられる。
【００８３】
ノードＥ，Ｆ間の障害が解消し最短経路のリングが選択できた状態で、▲５▼蓄積バッファ部３７が一旦空になると、バッファ選択部３６は、同じく最短経路のリングを選択する。そして、バッファ選択部３６は、ユニキャストデータパケットをＭＡＣクライアント部２６から受け取り、ユニキャストデータパケットの宛先ノードが、ノードＥ，Ｆ，Ｇであるときは、Ｗｅｓｔ  ａｄｄバッファ部２９に渡し、ノードＢ，Ｃ，Ｄであるときは、Ｅａｓｔ  ａｄｄバッファ部３０に渡す。
【００８４】
一方、蓄積バッファ部３７に対しては、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを渡す。蓄積バッファ部３７は、全てのノードＢ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ向けのユニキャストデータパケットを一定時間蓄積した後順に破棄し、Ｗｅｓｔ  ａｄｄバッファ部２９とＥａｓｔ  ａｄｄバッファ部３０には何も渡さない。これによって、全てのユニキャストデータパケットは、継続して障害発生前と同様の最短経路のリングを使用して送信される。
【００８５】
このように、▲１▼障害が発生していない場合にＷｅｓｔ  ａｄｄバッファ部２９を通して送信されたノードＥ，Ｆ宛ユニキャストデータパケットは、▲２▼ノードＥ，Ｆ間に障害が発生した場合に、障害発生から一定時間経過した後、Ｅａｓｔ  ａｄｄバッファ部３０を通して再び送信されるので、無瞬断伝送が実現される。さらに、▲３▼蓄積バッファ部３７が一旦空になった後、Ｅａｓｔ  ａｄｄバッファ部３０を通して送信されたノードＥ，Ｆ宛ユニキャストデータパケットは、▲４▼ノードＥ，Ｆ間の障害が解消すると、障害解消から一定時間経過した後、Ｗｅｓｔａｄｄバッファ部２９を通して再び送信されるので、たとえ順序逆転到着があっても、無瞬断伝送が実現される。
【００８６】
以上のように、この実施の形態２によれば、実施の形態１と同様な効果が得られるのに加え、障害解消時においても、信頼性を向上できる効果が得られる。
【００８７】
実施の形態３．
図１０は、この発明の実施の形態３である二重リングネットワークの構成および無瞬断伝送方式を説明する図である。なお、図１０（ａ）は、正常時の伝送方法を説明する図であり、図１０（ｂ）は、障害発生時の伝送方法を説明する図である。
【００８８】
図１０に示す二重リングネットワークは、相反する方向性を持つ一次リング（右回りリング）１と二次リング（左回りリング）２とからなる二重リング３と、二重リング３を伝送媒体または回線として相互間が接続される複数のノード装置４０−１（ノードＡ）〜４０−５（ノードＧ）とで構成される。この二重リングネットワークでは、この実施の形態３では、任意のノード間で、右回りリング１または左回りリング２を介して、全ノードを宛先とする同報データパケットの送受信が行えるようになっている。なお、ここでは、ノード装置は、単に、ノードＡ〜ノードＧと称する。
【００８９】
次に、図１０に示す二重リングネットワークにおいて実施される同報データパケットについての無瞬断伝送方式について説明する。図１０において、各ノードは、制御パケットを両隣のノードに一定周期で送信し、隣接ノードの状態や隣接ノード間の伝送路の状態を監視している。そして、障害が発生した場合は、障害を検出したノードが制御パケットを用いて全ノードに障害発生と障害個所を通知するようになっている。
【００９０】
今、送信ノードであるノードＡから、全ノード向けの同報データパケットを送信する場合、送信元ノードＡは、障害を認識していない場合は、図１（ａ）に示すように、終端ノードとして、自ノード（送信元ノードＡ）から最も離れた位置で隣り合う二つのノードＤ、Ｅを選択し、その選択した終端ノードを記した同報データパケットを両リングに送信する。
【００９１】
また、送信元ノードＡは、選択した最短経路のリングに障害が発生したことを認識している場合は、終端ノードとして、障害箇所を挟む二つのノードを選択し、その選択した終端ノードを記した同報データパケットを両リングに送信する。今の例では、図１０（ｂ）に示すように、ノードＧとノードＦとの間で伝送路断４１の障害が発生したので、送信ノードＡは、ノードＧとノードＦを終端ノードとして選択する。
【００９２】
この場合、終端ノードの変更によって、経路ノード数が減るリングと増えるリングとが発生し、増えるリングに関しては、リング切り替えが発生するので、無瞬断伝送ができない。そこで、送信元ノードＡは、障害発生前の正常時において全てのノード向けの同報データパケットを一定時間蓄積して廃棄することを繰り返す方法で蓄積しておき、障害発生を受けて障害箇所を通らないリングを選択する際に、経路ノード数が増えるリング向けでは、蓄積している同報データパケットを送信するようにしている。
【００９３】
これによって、図１（ｂ）に示すように、ノードＧとノードＦとの間で伝送路断４１の障害が発生したので、送信ノードＡは、ノードＧとノードＦを終端ノードとして選択し、その選択した終端ノード向けに送信する場合に、ノードＥ，Ｆに対しては蓄積している同報データパケットを送信する。これによって、図１（ｂ）に示すように、ノードＥ，Ｆに対して同報データパケットを無瞬断で送信できるようになる。
【００９４】
なお、いずれの場合も、送信元ノードは、シーケンスナンバーをインクリメントし、同報データデータパケットに記す。また、途中ノードでは、同報データパケットのシーケンスナンバーを検査し、シーケンスナンバーの順に取り込み、中継する。二重到着や順序逆転到着した同報データパケットを廃棄する。
【００９５】
以下、以下、各ノード装置の構成および動作について具体的に説明する。図１１は、図１０に示す各ノード装置の構成を示すブロック図である。なお、図１１では、図２に示した構成要素と同一ないしは同等である要素には、同一の符号が付されている。ここでは、実施の形態３に関わる部分を中心に説明する。
【００９６】
図１１に示すように、実施の形態３による二重リングネットワークにおける各ノード装置４０は、図２に示した構成において、バッファ選択部２７に代えてバッファ選択部４１が設けられ、蓄積バッファ部２８に代えて蓄積バッファ部４２が設けられ、Ｗｅｓｔ  ａｄｄバッファ部２９に代えてＷｅｓｔ  ａｄｄバッファ部４３が設けられ、Ｅａｓｔ  ａｄｄバッファ部３０に代えてＥａｓｔ  ａｄｄバッファ部４４が設けられている。
【００９７】
この実施の形態３では、データパケットの種類として、上記のように同報データパケットを対象とするので、バッファ選択部４１、蓄積バッファ部４２、Ｗｅｓｔ  ａｄｄバッファ部４３およびＥａｓｔ  ａｄｄバッファ部４４は、実施の形態１（図２）にて説明した機能に若干の変更・追加がなされている。
【００９８】
次に、図１０〜図１４を参照して、同報データパケットについて無瞬断伝送を実施する送信元ノードの動作について説明する。なお、図１２は、図９に示す二重リングネットワークにおいて同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識していない場合）。図１３は、図９に示す二重リングネットワークにおいて同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。図１４は、図９に示す送信側ノード装置が同報データパケットに記す終端ノードを説明する図である。
【００９９】
図１２において、送信元ノードでは、障害発生を認識していない場合は、バッファ選択部４１は、ＭＡＣクライアント部２６から同報データパケットを受け取ると、その全てを送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔａｄｄバッファ部４４の双方）と蓄積バッファ部４２に渡す（ステップＳＴ４１）。
【０１００】
蓄積バッファ部４２は、バッファ選択部４１から受け取った同報データパケットを一定時間蓄積した後、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ４２）。
【０１０１】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、送信元ノードである自ノードから最も離れた位置で隣り合う二つノードを終端ノードして選択し、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。一方、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、蓄積バッファ部４２から受け取った同報データパケットは、破棄する（ステップＳＴ４３）。これによって、図１０（ａ）に示したように、最短経路のリングを用いた同報データパケットの伝送が行われる。
【０１０２】
次に、図１３において、送信元ノードでは、障害発生を認識した場合は、バッファ選択部４１は、ＭＡＣクライアント部２６から同報データパケットを受け取ると、その全てを送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔａｄｄバッファ部４４の双方）と蓄積バッファ部４２に渡す（ステップＳＴ４５）。
【０１０３】
蓄積バッファ部４２は、バッファ選択部４１から受け取った同報データパケットを一定時間蓄積した後、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ４６）。
【０１０４】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、障害箇所を挟む二つノードを終端ノードして選択し（ステップＳＴ４７）、その終端ノードまでの経由ノード数が障害発生前よりも減ったか否かを判断する（ステップＳＴ４８）。
【０１０５】
そして、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害発生前よりも減った場合は（ステップＳＴ４８：Ｙｅｓ）、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。蓄積バッファ部４２から受け取った同報データパケットは、破棄する（ステップＳＴ４９）。
【０１０６】
一方、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害発生前よりも増えた場合は（ステップＳＴ４８：Ｎｏ）、その終端ノードを蓄積バッファ部４２から受け取った同報データパケットに記して対応するリングに送信する。バッファ選択部４１から受け取った同報データパケットは、破棄する（ステップＳＴ５０）。これによって、図１０（ｂ）に示したように、障害箇所を回避したリングを用いた同報データパケットの伝送が行われる。
【０１０７】
ここで、障害発生前後において同報データパケットに記す終端ノードの変化は図１４に示すようになる。図１４中に示すＡ〜Ｇは、図１０に示すノードである。つまり、図１４は、図１０に示す送信元ノードＡでの遷移状態を示している。
【０１０８】
図１４において、▲１▼障害が発生していない場合は、Ｗｅｓｔ  ａｄｄバッファ部４３は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＥを記す。また、Ｅａｓｔ  ａｄｄバッファ部４４は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＤを記す。蓄積バッファ部４２は、バッファ選択部４１から受け取った同報データパケットに対し終端ノードを記すことはしない。
【０１０９】
そして、▲２▼ノードＥ，Ｆ間に障害が発生すると、Ｗｅｓｔ  ａｄｄバッファ部４３は、経由ノード数が減ったので、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＧを記し、蓄積バッファ部４２から受け取った同報データパケットを廃棄する。一方、Ｅａｓｔ  ａｄｄバッファ部４４は、経由ノード数が増えたので、蓄積バッファ部４２から受け取った同報データパケットに終端ノードとしてノードＦを記し、バッファ選択部４１から受け取った同報データパケットを廃棄する。
【０１１０】
このように、▲１▼障害が発生していない場合にＷｅｓｔ  ａｄｄバッファ部４３を通して送信された同報データパケットは、▲２▼ノードＥ，Ｆ間に障害が発生すると、障害発生から一定時間経過した後、Ｗｅｓｔ  ａｄｄバッファ部４３を通して再び送信されるので、無瞬断伝送が実現される。
【０１１１】
以上のように、この実施の形態３によれば、パケット交換技術を用いた二重リングネットワークにおいて、パケット交換技術の利点である同報伝送について回線交換技術と同等の無瞬断伝送が実現でき、二重リングネットワークの性能と信頼性を同時に向上させることができる。また、これらの処理は、単純であり、ハードウェア処理にて容易に実現できるので、ノードを安価に製造することができる。
【０１１２】
実施の形態４．
図１５は、この発明の実施の形態４である二重リングネットワークにおける各ノード装置の構成を示すブロック図である。なお、図１５では、図１１に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態４に関わる部分を中心に説明する。
【０１１３】
図１５に示すように、実施の形態４による二重リングネットワークにおける各ノード装置４５は、図１１に示した構成において、蓄積バッファ部４２に代えて蓄積バッファ部４６が設けられている。
【０１１４】
実施の形態４では、同報データパケットを伝送する図１０に示した二重リングネットワークにおいて、障害が発生すると、実施の形態３にて説明した手順で障害回避措置を採るが、さらに障害が解消すると、終端ノードをその時点で障害発生前に使用していた終端ノードに戻す動作が行われる。そのため、蓄積バッファ部４６は、若干の機能変更・追加がなされている。
【０１１５】
次に、図１０、図１５〜図１８を参照して、同報データパケットについて無瞬断伝送を実施する送信元ノードの動作について説明する。なお、図１６は、実施の形態４において同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。図１７は、実施の形態４において同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害回復を認識した場合）。図１８は、実施の形態４において送信側ノード装置が同報データパケットに記す終端ノードを説明する図である。
【０１１６】
図１６において、送信元ノードでは、障害発生を認識した場合は、バッファ選択部４１は、ＭＡＣクライアント部２６から同報データパケットを受け取ると、その全てを送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）と蓄積バッファ部４６に渡す（ステップＳＴ５５）。
【０１１７】
蓄積バッファ部４６は、障害発生前では、実施の形態３にて説明したように一定時間の蓄積動作をしていたが、障害発生通知を受けてその蓄積方法を先入れ先出しのＦＩＦＯ動作に変更し、バッファ選択部４１から受け取った同報データパケットを順に取り出し、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ５６）。
【０１１８】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、障害箇所を挟む二つのノードを終端ノードして選択し（ステップＳＴ５７）、その終端ノードまでの経由ノード数が障害発生前よりも減ったか否かを判断する（ステップＳＴ５８）。
【０１１９】
そして、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害発生前よりも減った場合は（ステップＳＴ５８：Ｙｅｓ）、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。蓄積バッファ部４６から受け取った同報データパケットは、破棄する（ステップＳＴ５９）。
【０１２０】
一方、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害発生前よりも増えた場合は（ステップＳＴ５８：Ｎｏ）、その終端ノードを蓄積バッファ部４６から受け取った同報データパケットに記して対応するリングに送信する。バッファ選択部４１から受け取った同報データパケットは、破棄する（ステップＳＴ６０）。これによって、図１０（ｂ）に示したように、障害箇所を回避したリングを用いた同報データパケットの伝送が行われる。
【０１２１】
バッファ選択部４１は、ＦＩＦＯ動作をしている蓄積バッファ部４６の格納状態を監視し（ステップＳＴ６１）、空になると（ステップＳＴ６１：Ｙｅｓ）、ＭＡＣクライアント部２６から同報データパケットを受け取り、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）と蓄積バッファ部４６に渡す（ステップＳＴ６２）。
【０１２２】
このとき、蓄積バッファ部４６は、空になると（ステップＳＴ６１：Ｙｅｓ）、蓄積方法を先入れ先出しから一定時間蓄積に変更し、バッファ選択部４１から受け取った同報データパケットを一定時間蓄積した後、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ６３）。
【０１２３】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、障害箇所を挟む二つノードを終端ノードして選択し、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。蓄積バッファ部４６から受け取った同報データパケットは、破棄する（ステップＳＴ６４）。これによって、図１０（ｂ）に示したように、障害箇所を回避したリングを用いた同報データパケットの伝送が引き続いて行われる。
【０１２４】
次に、図１７において、送信元ノードでは、障害回復を認識した場合は、バッファ選択部４１は、ＭＡＣクライアント部２６から同報データパケットを受け取ると、その全てを送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔａｄｄバッファ部４４の双方）と蓄積バッファ部４６に渡す（ステップＳＴ６５）。
【０１２５】
蓄積バッファ部４６は、障害回復前では、上記のように一定時間の蓄積動作をしていたが、障害回復通知を受けてその蓄積方法を先入れ先出しのＦＩＦＯ動作に変更し、バッファ選択部４１から受け取った同報データパケットを順に取り出し、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ６６）。
【０１２６】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、送信元ノードである自ノードから最も離れた位置で隣り合う二つノードを終端ノードして選択し（ステップＳＴ６７）、その終端ノードまでの経由ノード数が障害回復前よりも減ったか否かを判断する（ステップＳＴ６８）。
【０１２７】
そして、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害回復前よりも減った場合は（ステップＳＴ６８：Ｙｅｓ）、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。蓄積バッファ部４６から受け取った同報データパケットは、破棄する（ステップＳＴ６９）。
【０１２８】
一方、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、終端ノードまでの経由ノード数が障害回復前よりも増えた場合は（ステップＳＴ６８：Ｎｏ）、その終端ノードを蓄積バッファ部４６から受け取った同報データパケットに記して対応するリングに送信する。バッファ選択部４１から受け取った同報データパケットは、破棄する（ステップＳＴ７０）。これによって、図１０（ａ）に示したように、送信ノードから最も離れた位置で隣り合う二つのノードを終端ノードとした両リングを用いた同報データパケットの伝送が行われる。
【０１２９】
バッファ選択部４１は、ＦＩＦＯ動作をしている蓄積バッファ部４６の格納状態を監視し（ステップＳＴ７１）、空になると（ステップＳＴ７１：Ｙｅｓ）、ＭＡＣクライアント部２６から同報データパケットを受け取り、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）と蓄積バッファ部４６に渡す（ステップＳＴ７２）。
【０１３０】
このとき、蓄積バッファ部４６は、空になると（ステップＳＴ７１：Ｙｅｓ）、蓄積方法を先入れ先出しから一定時間蓄積に変更し、バッファ選択部４１から受け取った同報データパケットを一定時間蓄積した後、送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）に渡す（ステップＳＴ７３）。
【０１３１】
送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部４３とＥａｓｔ  ａｄｄバッファ部４４の双方）は、送信元ノードである自ノードから最も離れた位置で隣り合う二つノードを終端ノードして選択し、その終端ノードをバッファ選択部４１から受け取った同報データパケットに記して対応するリングに送信する。蓄積バッファ部４６から受け取った同報データパケットは、破棄する（ステップＳＴ７４）。これによって、図１０（ａ）に示したように、送信ノードから最も離れた位置で隣り合う二つのノードを終端ノードとした両リングを用いた同報データパケットの伝送が維持される。
【０１３２】
ここで、障害発生前後および障害回復前後において同報データパケットに記す終端ノードの変化は図１８に示すようになる。図１８中に示すＡ〜Ｇは、図１０に示すノードである。つまり、図１８は、図１０に示す送信元ノードＡでの遷移状態を示している。
【０１３３】
図１８において、▲１▼障害が発生していない場合と、▲２▼ノードＥ，Ｆ間に障害が発生した場合とは、実施の形態３（図１４）と同様である。ノードＥ，Ｆ間に障害が発生している状態で、▲３▼蓄積バッファ部４６が一旦空になると、Ｗｅｓｔ  ａｄｄバッファ部４３は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＧを記し、Ｅａｓｔ  ａｄｄバッファ部４４は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＦを記し、共に蓄積バッファ部４６から受け取った同報データパケットを廃棄する。
【０１３４】
その後、▲４▼ノードＥ，Ｆ間の障害が解消すると、Ｗｅｓｔ  ａｄｄバッファ部４３は、経由ノード数が増えたので、蓄積バッファ部４６から受け取った同報データパケットに終端ノードとしてノードＥを記す。一方、Ｅａｓｔ  ａｄｄバッファ部４４は、経由ノード数が減ったので、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＤを記す。
【０１３５】
そして、ノードＥ，Ｆ間の障害が解消し送信ノードから最も離れた位置で隣り合う二つのノードを終端ノードとすることが選択できた状態で、▲５▼蓄積バッファ部４６が一旦空になると、Ｗｅｓｔ  ａｄｄバッファ部４３は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＥを記し、Ｅａｓｔ  ａｄｄバッファ部４４は、バッファ選択部４１から受け取った同報データパケットに終端ノードとしてノードＤを記し、共に蓄積バッファ部４６から受け取った同報データパケットを廃棄する。
【０１３６】
このように、▲１▼障害が発生していない場合にＷｅｓｔ  ａｄｄバッファ部４４を通して送信された同報データパケットは、▲２▼ノードＥ，Ｆ間に障害が発生した場合に、障害発生から一定時間経過した後、Ｅａｓｔ  ａｄｄバッファ部４４を通して再び送信されるので、無瞬断伝送が実現される。さらに、▲３▼蓄積バッファ部４６が一旦空になった後、Ｅａｓｔ  ａｄｄバッファ部４４を通して送信された同報データパケットは、▲４▼ノードＥ，Ｆ間の障害が解消すると、障害解消から一定時間経過した後、Ｗｅｓｔ  ａｄｄバッファ部４３を通して再び送信されるので、たとえ順序逆転到着があっても、無瞬断伝送が実現される。
【０１３７】
以上のように、実施の形態４によれば、実施の形態３と同様な効果が得られるのに加えて、障害解消時においても、信頼性を向上できる効果が得られる。
【０１３８】
なお、実施の形態３，４では、同報データパケットの伝送のみを扱う場合を示したが、一つのノード装置が、この実施の形態３または実施の形態４による無瞬断伝送方式と実施の形態１または実施の形態２によるユニキャストデータパケットについての無瞬断伝送方式とを同時に実施するように構成することができる。
【０１３９】
また、実施の形態１〜４にて説明した二重リングネットワークの無瞬断伝送方式は、非特許文献１に示されたＷｒａｐ方式の障害迂回からＳｔｅｅｒ方式の障害迂回に動的に切り替える場合にも適用できることは言うまでもない。
【０１４０】
【発明の効果】
以上説明したように、この発明によれば、ユニキャストデータパケットを送信する場合は、障害発生前の正常時において全てのノード向けのユニキャストデータパケットを蓄積しておき、障害を認識して障害箇所を通らないリングを選択する際に、宛先ノードが最短経路のリングと異なる場合に、蓄積しているユニキャストデータパケットを障害箇所を通らないリングに送信する。また、同報データパケットを送信する場合は、障害発生前の正常時において全ての同報データパケットを蓄積しておき、障害を認識して終端ノードを変更して送信するとき、経由ノード数が増えた終端ノードに対しては一定時間蓄積した後の同報データパケットを送信する。したがって、パケットの伝送効率に影響を与えることなく回線交換技術と同等の無瞬断伝送が行える二重リングネットワークを得ることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である二重リングネットワークの構成および無瞬断伝送方式を説明する図である。
【図２】図１に示す各ノード装置の構成を示すブロック図である。
【図３】図１に示す二重リングネットワークにおいてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識していない場合）。
【図４】図１に示す二重リングネットワークにおいてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。
【図５】図１に示す送信側ノード装置でのユニキャストデータパケットの流れを説明する図である。
【図６】この発明の実施の形態２である二重リングネットワークにおける各ノード装置の構成を示すブロック図である。
【図７】実施の形態２においてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。
【図８】実施の形態２においてユニキャストデータパケットを伝送する場合の動作手順を説明するフローチャートである（障害回復を認識した場合）。
【図９】実施の形態２において送信側ノード装置でのユニキャストデータパケットの流れを説明する図である。
【図１０】この発明の実施の形態３である二重リングネットワークの構成および無瞬断伝送方式を説明する図である。
【図１１】図９に示す各ノード装置の構成を示すブロック図である。
【図１２】図９に示す二重リングネットワークにおいて同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識していない場合）。
【図１３】図９に示す二重リングネットワークにおいて同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。
【図１４】図９に示す送信側ノード装置が同報データパケットに記す終端ノードを説明する図である。
【図１５】この発明の実施の形態４である二重リングネットワークにおける各ノード装置の構成を示すブロック図である。
【図１６】実施の形態４において同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害発生を認識した場合）。
【図１７】実施の形態４において同報データパケットを伝送する場合の動作手順を説明するフローチャートである（障害回復を認識した場合）。
【図１８】実施の形態４において送信側ノード装置が同報データパケットに記す終端ノードを説明する図である。
【図１９】パケット交換技術を用いた従来の二重リングネットワークでの伝送方法を説明する図である。
【図２０】図１７に示す各ノード装置の構成を示すブロック図である。
【図２１】回線交換技術を用いた従来の二重リングネットワークでの無瞬断伝送方式を説明する図である。
【符号の説明】
１  一次リング（右回りリング）、２  二次リング（左回りリング）、３  二重リング、４，４−１〜４−７，３５，４０，４０−１〜４０−７，４５  ノード装置、１０，１４，２０，２４  回線インタフェース部（回線Ｉ／Ｆ部）、１１，  分岐処理部、１２，２３  中継バッファ部、１３，２３  挿入処理部、２５  受信バッファ部（ｄｒｏｐバッファ部）、２６  ＭＡＣクライアント部、２７，３６，４１  バッファ選択部、２８，３７，４２，４６  蓄積バッファ部、２９，４３  左回り送信バッファ部（Ｗｅｓｔ  ａｄｄバッファ部）、３０，４４  右回り送信バッファ部（Ｅａｓｔ  ａｄｄバッファ部）。
【図１】
2005027039.tif 000003
【図２】
2005027039.tif 000004
【図３】
2005027039.tif 000005
【図４】
2005027039.tif 000006
【図５】
2005027039.tif 000007
【図６】
2005027039.tif 000008
【図７】
2005027039.tif 000009
【図８】
2005027039.tif 000010
【図９】
2005027039.tif 000011
【図１０】
2005027039.tif 000012
【図１１】
2005027039.tif 000013
【図１２】
2005027039.tif 000014
【図１３】
2005027039.tif 000015
【図１４】
2005027039.tif 000016
【図１５】
2005027039.tif 000017
【図１６】
2005027039.tif 000018
【図１７】
2005027039.tif 000019
【図１８】
2005027039.tif 000020
【図１９】
2005027039.tif 000021
【図２０】
2005027039.tif 000022
【図２１】
2005027039.tif 000023