(57)【要約】【課題】情報転送システムの異常発生や機能停止を防止する。【解決手段】ノードが健在であることを示すために、マスタノードは定期的に調停ＲＰＤＵを送信する。各スレーブノードは上位ポートを常に監視していて、一定時間以上調停ＲＰＤＵを受信しない場合には現行のトポロジ情報を廃棄し、マスタノードに復帰し、自ら調停を開始する。これによって、・マスタノードがダウンした場合には一定時間経過後に全てのスレーブノードがそれに気がつき、・スレーブノードがダウンした場合には一定時間経過後にそのスレーブの下流にいる全スレーブがそれに気がつくことができ、論理トポロジ構築作業を再開することができ、ノードダウンを防止する。他に、メッセージ損失対策、キャッシュクリア、アドレス学習禁止、メッセージ無限巡回の防止、自発的ブロッキングを含む。【選択図】  図１
2004282409.tif 000002
【特許請求の範囲】
【請求項１】
多数のフレーム転送装置間で情報転送するため、各フレーム転送装置をノードとし、物理的にループを含むトポロジから不要なリンクを論理的に切断し、各ノード間をループのない論理的トポロジを構築するポートステート制御機構、および前記ノード間の通信障害発生時に論理的トポロジを再構築する再調停トリガ機構を備え、
前記ポートステート制御機構は、リングトポロジにある各ノードにおいて、ブロッキング状態のポートからブロッキング要求を出す手段と、この要求による調停に負けたノードはブロッキング状態に遷移させ、上位ノードに対してブロッキング要求受理を通知する手段と、ブロッキング要求受理を通知されたノードは直ちにブロッキング状態を解除してフォワーディンング状態に遷移させる手段とを備え、
前記再調停トリガ機構は、ハードウェア的に通信障害を検出したノードのポートをブロッキング状態にし、トポロジ情報をクリアし、トポロジ復旧メッセージを次のノードに転送する手段と、前記メッセージを受信したノードはトポロジ情報を捨ててマスタノードとなり次のノードに対して調停を開始する手段とを備えた情報転送システムであって、
前記マスタノードは互いのトポロジ情報を交換し、その優先順位を比較することでノード間の上下関係を決定し、最終的にはポートロールを決定する調停ＲＰＤＵを定期的に送信する手段を設け、
前記スレーブノードは、マスタノードからの前記調停ＲＰＤＵが一定時間以上来なくなったときに、再調停トリガＲＰＤＵ受信の有無に拘わらず直ちにマスタノードに復帰する手段を設けたことを特徴とする情報転送システム。
【請求項２】
前記ノードのうち、メッセージの送り手は、送信したメッセージに対する着信応答を受け取るまで定期的にメッセージの再送を行なう手段を設け、
前記メッセージの受け手は、受信したメッセージに対して着信応答を返信する手段を設け、
前記調停ＲＰＤＵに“ＡＣＫフラグ”を設け、着信応答としてメッセージを返信する場合にはこのフラグをセツトする手段を設けたことを特徴とする請求項１に記載の情報転送システム。
【請求項３】
前記ノードはポートステートを変更したとき、他のノードにキャッシュクリアを促すキャッシュクリアＲＰＤＵを下記の条件で発信する手段を設け、
・ポートステートを変更したノードがマスタノードの場合、フォワーディンク状態のリングポートからキャッシュクリアＲＰＤＵを送信する。
・ポートステートを変更したノードがスレーブノードの場合、上位ポートからキャッシュクリアＲＰＤＵを送信する。
前記キャッシュクリアＲＰＤＵを受信したノードは、
・キャッシュクリアＲＰＤＵを受信したノードがマスタノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートがフォワーディンク状態であるときにキャッシュクリアＲＰＤＵを転送する手段を設け、
・キャッシュクリアＲＰＤＵを受信したノードがスレーブノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートが上位ポートであるときにキャッシュクリアＲＰＤＵを転送する手段を設けたことを特徴とする請求項１または２に記載の情報転送システム。
【請求項４】
前記リングトポロジにおいてマスタノードから最も遠いリング末端ポートは、
・前記調停ＲＰＤＵにリング末端ポートであることを通知するための“末端フラグ”を設け、
この調停ＲＰＤＵを受信した対向ノードは受信ポートのアドレス学習を禁止する手段を設けたことを特徴とする請求項１〜３のいずれか１項に記載の情報転送システム。
【請求項５】
前記調停ＲＰＤＵを受信したポートは、転送先ポートが上位ポートでなく、かつ転送先ポートが末端ポートでないときに調停ＲＰＤＵを転送する手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵは“送信元ノードＩＤ”と“寿命”というパラメータを添付して送信する手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを最初に送信するノードは、前記“送信元ノードＩＤ”に自身の固有ノードＩＤを書き込み、かつ前記“寿命”に最大リングノード数を書き込む手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを受信したノードは、前記“送信元ノードＩＤ”と自身の固有ノードＩＤが一致しないこと、および前記“寿命”をデクリメントした値が１以上あるときに該再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを転送する手段を設けたことを特徴とする請求項１〜４のいずれか１項に記載の情報転送システム。
【請求項６】
前記スレーブノードは、上位ポートから受信した前記調停ＲＰＤＵによって通知されるトポロジ情報の優先度の変化を常に監視し続け、前回に受け取ったトポロジ情報よりも優先度の低いトポロジ情報を受け取った場合に、そのパターンにより以下の対応手段、
・マスタノードＩＤの値が不変でディスタンス値が増加した場合、マスタノードに復帰し、再調停トリガＲＰＤＵを発信する。
・マスタノードＩＤの値が増加したが、自身の固有ノードＩＤよりは優先度が高い場合、そのトポロジ情報に従属する。
・マスタノードＩＤの値が増加し、自身の固有ノードＩＤよりも優先度が低くなった場合、マスタノードに復帰する。
を設けたことを特徴とする請求項１〜５のいずれか１項に記載の情報転送システム。
【請求項７】
前記リング末端にいるノードは、自身がリング末端であることを認識したときに、隣接ノードからブロッキング要求を受けていなくても、リングポートのひとつを自発的にブロッキングする手段を設けたことを特徴とする請求項１〜６のいずれか１項に記載の情報転送システム。
【請求項８】
多数のフレーム転送装置間で情報転送するため、各フレーム転送装置をノードとし、物理的にループを含むトポロジから不要なリンクを論理的に切断し、各ノード間をループのない論理的トポロジを構築するポートステート制御機構、および前記ノード間の通信障害発生時に論理的トポロジを再構築する再調停トリガ機構を備え、
前記ポートステート制御機構は、リングトポロジにある各ノードにおいて、ブロッキング状態のポートからブロッキング要求を出す手段と、この要求による調停に負けたノードはブロッキング状態に遷移させ、上位ノードに対してブロッキング要求受理を通知する手段と、ブロッキング要求受理を通知されたノードは直ちにブロッキング状態を解除してフォワーディンング状態に遷移させる手段とを備え、
前記再調停トリガ機構は、ハードウェア的に通信障害を検出したノードのポートをブロッキング状態にし、トポロジ情報をクリアし、トポロジ復旧メッセージを次のノードに転送する手段と、前記メッセージを受信したノードはトポロジ情報を捨ててマスタノードとなり次のノードに対して調停を開始する手段とを備えた情報転送システムの論理的トポロジ構築方法であって、
前記マスタノードは互いのトポロジ情報を交換し、その優先順位を比較することでノード間の上下関係を決定し、最終的にはポートロールを決定する調停ＲＰＤＵを定期的に送信する過程を設け、
前記スレーブノードは、マスタノードからの前記調停ＲＰＤＵが一定時間以上来なくなったときに、再調停トリガＲＰＤＵ受信の有無に拘わらず直ちにマスタノードに復帰する過程を設けたことを特徴とする情報転送システムの論理的トポロジ構築方法。
【請求項９】
前記ノードのうち、メッセージの送り手は、送信したメッセージに対する着信応答を受け取るまで定期的にメッセージの再送を行なう過程を設け、
前記メッセージの受け手は、受信したメッセージに対して着信応答を返信する過程を設け、
前記調停ＲＰＤＵに“ＡＣＫフラグ”を設け、着信応答としてメッセージを返信する場合にはこのフラグをセツトする過程を設けたことを特徴とする請求項８に記載の情報転送システムの論理的トポロジ構築方法。
【請求項１０】
前記ノードはポートステートを変更したとき、他のノードにキャッシュクリアを促すキャッシュクリアＲＰＤＵを下記の条件で発信する過程を設け、
・ポートステートを変更したノードがマスタノードの場合、フォワーディンク状態のリングポートからキャッシュクリアＲＰＤＵを送信する。
・ポートステートを変更したノードがスレーブノードの場合、上位ポートからキャッシュクリアＲＰＤＵを送信する。
前記キャッシュクリアＲＰＤＵを受信したノードは、
・キャッシュクリアＲＰＤＵを受信したノードがマスタノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートがフォワーディンク状態であるときにキャッシュクリアＲＰＤＵを転送する過程を設け、
・キャッシュクリアＲＰＤＵを受信したノードがスレーブノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートが上位ポートであるときにキャッシュクリアＲＰＤＵを転送する過程を設けたことを特徴とする請求項８または９に記載の情報転送システムの論理的トポロジ構築方法。
【請求項１１】
前記リングトポロジにおいてマスタノードから最も遠いリング末端ポートは、
・前記調停ＲＰＤＵにリング末端ポートであることを通知するための“末端フラグ”を設け、
この調停ＲＰＤＵを受信した対向ノードは受信ポートのアドレス学習を禁止する過程を設けたことを特徴とする請求項８〜１０のいずれか１項に記載の情報転送システムの論理的トポロジ構築方法。
【請求項１２】
前記調停ＲＰＤＵを受信したポートは、転送先ポートが上位ポートでなく、かつ転送先ポートが末端ポートでないときに調停ＲＰＤＵを転送する過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵは“送信元ノードＩＤ”と“寿命”というパラメータを添付して送信する過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを最初に送信するノードは、前記“送信元ノードＩＤ”に自身の固有ノードＩＤを書き込み、かつ前記“寿命”に最大リングノード数を書き込む過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを受信したノードは、前記“送信元ノードＩＤ”と自身の固有ノードＩＤが一致しないこと、および前記“寿命”をデクリメントした値が１以上あるときに該再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを転送する過程を設けたことを特徴とする請求項８〜１１のいずれか１項に記載の情報転送システムの論理的トポロジ構築方法。
【請求項１３】
前記スレーブノードは、上位ポートから受信した前記調停ＲＰＤＵによって通知されるトポロジ情報の優先度の変化を常に監視し続け、前回に受け取ったトポロジ情報よりも優先度の低いトポロジ情報を受け取った場合に、そのパターンにより以下の対応過程、
・マスタノードＩＤの値が不変でディスタンス値が増加した場合、マスタノードに復帰し、再調停トリガＲＰＤＵを発信する。
・マスタノードＩＤの値が増加したが、自身の固有ノードＩＤよりは優先度が高い場合、そのトポロジ情報に従属する。
・マスタノードＩＤの値が増加し、自身の固有ノードＩＤよりも優先度が低くなった場合、マスタノードに復帰する。
を設けたことを特徴とする請求項８〜１２のいずれか１項に記載の情報転送システムの論理的トポロジ構築方法。
【請求項１４】
前記リング末端にいるノードは、自身がリング末端であることを認識したときに、隣接ノードからブロッキング要求を受けていなくても、リングポートのひとつを自発的にブロッキングする過程を設けたことを特徴とする請求項８〜１３のいずれか１項に記載の情報転送システムの論理的トポロジ構築方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スイッチングハブなどの多数のフレーム転送装置間の情報転送システムに係り、特に、フレーム転送装置間がリング状に接続されたとき、どこか１箇所を論理的に切断し、フレームが無限に転送され続けることを防止するための機構に関する。
【０００２】
【従来の技術】
この種の情報転送システムでは、情報転送ルートとして、物理的にループを含むトポロジから不要なパス（リンク）を論理的に切断し、ループのない論理的な木構造を構築する機構を設けている。また、木構造を構成するノード間に物理的または論理的な切断（断線）が発生したときには木構造を再構築できる機構を設けている。
【０００３】
上記の木構造構築と再構築を可能とする機構として、スパニングツリープロトコル（ＳＴＰ）がある（例えば、非特許文献１参照）。
【０００４】
このＳＴＰのアルゴリズムは、大まかには２つに分けられ、１つは木構造を構成するためのトポロジ情報の処理、もう１つはステーションキャッシュのリフレッシュを支援する処理（変更通知機構）になる。
【０００５】
木構造を構築するには、どれか１つのノードをルートとして決め、他の各ノードについては隣接するノード間でトポロジ情報を交換しあい、ポート（接続端）の接続先がルートにより近いノードを「親（ルートポート）」、ルートからより遠いノードを「子（代表ポート）」を決定するという処理をすべてのノードで実行し、これら親子関係のトポロジ情報を系全体に広めて木構造を構築する。
【０００６】
なお、各ノードは、受信したトポロジ情報をそのまま伝送するのではなく、自ノードの保有トポロジ情報の更新に使われ、次のトポロジ情報送信時に更新された情報を送信することで、新しいトポロジ情報が間接的に伝搬していく。また、トポロジ情報はＢＰＤＵ（Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）に格納される。
【０００７】
木構造の再構築には、変更通知機構を使用する。この変更通知処理は、・トポロジの変更を検知したらルートに通知する、・ルートは全ノードに変更を通知する、・トポロジ変更通知が出ている間はステーションキャッシュのエージングタイムを短くする、という処理になる。
【０００８】
上記のスパニングツリープロトコル（ＳＴＰ）によるポートステート制御およびトポロジ修復には以下の問題があった。
【０００９】
（１）論理的トポロジの構築までに長い時間が必要
ＳＴＰを使った場合には論理的トポロジ構築までに数十秒オーダの時間を要する。ＳＴＰブリッジがポートを転送可能状態（フォワーディング状態）に遷移させるまでの過程を図７に示す。
【００１０】
この処理は、隣接するブリッジ同士は、設定ＢＰＤＵの送受信を通じてお互いのトポロジ情報を交換し、その優先順位を比較することでブリッジ間の上下関係を決定し、最終的にポートロールを決定する。
【００１１】
ここで、ポートロールとは、ポートの論理的な役割であり、ルートポート、代表ポートであればフォワーディング状態へ遷移でき、補欠ポートならばブロッキング状態を維持しなければならない。但し、ルートポートまたは代表ポートに選定されてからすぐにフォワーディング状態に遷移できるわけでなく、以下に説明するように長い時間がかかる。
【００１２】
図７において、ポートＰは、設定ＢＰＤＵを受信したときに、トポロジ情報の評価によって、ルートポートまたは代表ポートに選ばれたとすると、リスニング状態に遷移させる。このリスニング状態のポートＰは転送遅延時間（あるブリッジから発信された情報が系全体に広まるのにかかる時間）Ｔｆｗｄ経過後にラーニング状態に遷移させる。次いで、ラーニング状態のポートＰは転送遅延時間Ｔｆｗｄ経過後にフォワーディング状態に遷移させる。
【００１３】
従って、ポートロールが決定してから転送遅延時間の２倍の時間が経過しないと、そのポートは一般フレームを転送することはできない。
【００１４】
（２）断線発生時に論理的トポロジを修復するまでに更に時間がかかる。
【００１５】
断線が発生した場合には、（可能ならば）切断箇所を迂回する新たな論理的トポロジを構築しなければならない。速やかな論理的トポロジ構築の為には、断線があったことを系全体にアナウンスする必要がある。
【００１６】
ＳＴＰでは系全体に速報する手段としてＴＣＮメッセージがあるが、これはステーションキャッシュをクリアする為だけに使われ、トポロジ情報更新のトリガとしての意味は持たない。しかも、ＴＣＮメッセージ方式では一度ルートブリッジまでＴＣＮメッセージを通知し、次にルートブリッジが系全体に通知するというステツプを踏むために、ケースによっては余計な時間がかかってしまう。
【００１７】
このため、ＳＴＰブリッジは定期的に受信する設定ＢＰＤＵが来なくなったことでしか断線を検出することができない。断線発生からトポロジ復帰までにかかる時間は、図８に示すように、系全体が断線に気づくまでの転送遅延時間Ｔｆｗｄがトポロジ再構築にかかる時間Ｔｆｗｄ×２に追加され、理論的には転送遅延時間Ｔｆｗｄ×３となる。
【００１８】
なお、ＳＴＰに改良を加え、トポロジ収束時間の短縮を図ったＲＳＴＰ（ラピッドスパニングツリープロトコル）が提案されている。このＲＳＴＰは、ポートがフォワーディング状態に遷移できる条件をいくつか追加することで、ループ発生の心配がないケースにおいてのみ時間短縮してフォワーディング状態に移れるとしている。しかし、このＲＳＴＰにおいても、遷移条件が限られる上、ノード数が数千など大量になる場合に待ち時間無しでフォワーディング状態に遷移できるものでないと推察される。
【００１９】
以上までの課題を解消する方式として、ポートをフォワーディング状態にするための待ち時間を無くし、トポロジ構築およびトポロジ修復を高速化できる情報転送システムおよび情報転送システムの論理的トポロジ構築方法を本願出願人は既に提案している（特許文献１参照）。
【００２０】
このシステムは、各ノードＮｉ（ｉはノードＩＤ）を図９に示す機能ブロックで構成する。その主たる機能ブロックは、ポートステート制御ブロック（ブロッキングポートドリフト機構）１とトポロジ情報更新器（再調停トリガ機構）２にある。これらを以下に説明する。
【００２１】
（Ａ）ブロッキングポートドリフト機構
隣接するノード同士は調停ＲＰＤＵ（Ｒｉｎｇ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の送受信を通じて互いのトポロジ情報を交換し、その優先順位を比較することでノード間の上下関係を決定し、最終的にはポートロールを決定する。図９では、ノードＮｉの両端ポートＬまたはポートＲを介してトポロジ情報バッファ３Ｌ，３Ｒで隣接ノードとは調停ＲＰＤＵを送受信し、受信したトポロジ情報はトポロジ優劣判定アルゴリズム４で優先順位を判定し、決定したポートロールをポートロール記憶部５Ｌ，５Ｒに保存する。
【００２２】
調停ＲＰＤＵはＲＴＰ固有のフレームで、この中にトポロジ情報や各種フラグ類が格納される。調停ＲＰＤＵを送信するポートがブロッキング状態の時は、その調停ＲＰＤＵの中にあるブロッキング要求フラグをセットして送信する（ブロッキング要求メッセージと呼ぶ）。
【００２３】
ポートステート制御ブロック１は、ブロッキング要求メッセージによって生じた調停にて敗北した場合、そのブロッキング要求を受け入れてポートをブロッキング状態に遷移させ、上位ノードに対してブロッキング要求受理フラグをセツトした調停ＲＰＤＵを返信する（ブロッキング要求受理メッセージ）。そして、ブロッキング要求受理メッセージを受信したとき、受信したポートを直ちにフォワーディング状態に遷移させる。
【００２４】
この調停動作の繰り返しによって、ブロッキングポートは確実に下流へと漂流してゆく。最終的にはマスタノードから最も遠いノードがブロッキングをし続けることでリングトポロジのループが切断される。
【００２５】
このようにして調停されたポートステートは、その設定部６Ｌ，６Ｒに設定され、スイッチングアルゴリズム＆アドレステーブル７に保存および隣接ポート間のフレーム転送制御に使用する。
【００２６】
（Ｂ）再調停トリガ機構
各ノードはハードウェア的にリンク状態を監視し、リンクダウンなどによって通信障害を検出したら、再調停トリガ機構２により、直ちにそのポートをブロッキング状態に固定して調停トリガＲＰＤＵを送信する（トポロジ復旧メッセージ）。その次に、そのノード自身のトポロジ情報をクリアし、マスタノードとして調停を開始する。
【００２７】
トポロジ復旧メッセージを受信したノードは直ちにそのメッセージを対向ポートに転送して、自身のトポロジ情報をクリアし、マスタノードとして調停を開始する。
【００２８】
トポロジ復旧メッセージはリング上を転送されてゆき、その経路上にいるノードのトポロジ情報をクリアすることで次々と調停動作のトリガを引いてゆき、断線箇所に到達した時点で消滅する。
【００２９】
このトポロジ復旧メッセージが迅速に回覧されることによって調停開始の出遅れを最小限に抑えることが可能となる。
【００３０】
【非特許文献１】
ＩＳＯ／ＩＥＣ  Ｆｉｎａｌ  ＤＩＳ  １５８０２−３（ＩＥＥＥ  Ｐ８０２．１Ｄ／Ｄ１７）〜８章  Ｔｈｅ  ｓｐａｎｎｉｎｇ  ｔｒｅｅ  ａｌｇｏｒｉｔｈｍ  ａｎｄ  ｐｒｏｔｏｃｏｌ
【００３１】
【特許文献１】
特願２００２−２９３２１０
【００３２】
【発明が解決しようとする課題】
従来のＲＴＰではシステムに異常発生やさらには機能停止になる場合があり、具体的には以下の問題がある。
【００３３】
（１）ノードダウン
従来のＲＴＰでは、リングダウンの検出がトポロジ復旧動作の唯一のきっかけであった。ところが、あるノードが（機器異常などによって）リングダウンを伴わずに頓死した場合には、隣接ノードはトポロジ状変を検出することができず、従って論理的ブロッキングも解除することができない。これを図１０の（ａ）、（ｂ）で説明する。なお、図中において、“●−‖”印がブロッキングポートを示している。また“○”印（上位ポート）および“●”印（下位ポート）はフォワーディングポートを示している。
【００３４】
図１０の（ａ）は通常のトポロジ復旧が可能な場合を示し、ノードＮ６の電源が落ち［ｓｔｅｐ：０］、隣接ノードとのリンクが切れた状態［ｓｔｅｐ：１］になることによって、ノードＮ１とＮ３がトポロジ状変を検出することができる。この場合、再調停トリガ機構が動作することによって論理トポロジが再構築され、論理ブロッキングを解除することができる。
【００３５】
これに対して、図１０の（ｂ）では、機器異常等によりノードＮ６がリングダウンを発生せずにノードＮ６が転送処理をできなくなった場合［ｓｔｅｐ：０］、隣接ノードはノードＮ６の異変に気がつかず、いつまでも論理トポロジが復旧されない。
【００３６】
（２）メッセージ損失
ＲＰＤＵがノイズなどによって破壊され、相手ノードがこれを受け取ることができなかったとき、プロトコル動作がそこで止まってしまう。以下に調停ＲＰＤＵが損失した場合に、論理トポロジ構築が滞ってしまう例を示す。
【００３７】
図１１に示すように、ノードＮ２をマスタノードとする論理トポロジが構築されている状態［ｓｔｅｐ：０］において、ノードＮ１が既存のトポロジに加わった場合［ｓｔｅｐ：１］、但し、ノードＮ１のプライオリティはノードＮ２よりも高いものとする。このとき、ノードＮ１とノードＮ６の間で調停ＲＰＤＵのやり取りが行われるが、運悪くノードＮ１が送信したＲＰＤＵがノイズなどの影響でノードＮ６に届かなかった場合［ｓｔｅｐ：２］、ノードＮ１はノードＮ６から調停ＲＰＤＵを受け取るが、調停に勝利するのでそのＲＰＤＵには従わず、相手ノード（Ｎ６）が調停での敗北を認めて論理ブロッキング受理を通知して来るのを待っている［ｓｔｅｐ：３］。このとき、ノードＮ６は相手ノード（Ｎ１）から調停ＲＰＤＵが来るのを待ち続ける。つまり、お互いが待ちに入っている状態であり、トポロジ構築を催促するイベントが発生しない限り、これ以上調停が進まない状況となる。
【００３８】
（３）ステーションキャッシュクリア
プロッキングポートがドリフト（ｄｒｉｆｔ）すると、一般フレームの転送ポートを変更する必要が生じることがある。転送ポートを更新するにはステーションキャッシュをクリアしなければならない。しかし、現行の方式ではステーションキャッシュがクリアされないため、フレームが目的地に届かない場合がある。
【００３９】
この例を図１２で説明する。［ｓｔｅｐ：０］ではノードＮ１とノードＮ３の間で一般フレームが転送される場合、図中矢印の経路で中継される。従って、ノードＮ１のスイッチングデバイスはノードＮ３宛てのフレームをポートＰ１Ｌに転送する。また、ノードＮ３のスイッチングデバイスはノードＮ１宛てのフレームをポートＰ３Ｒに転送する。
【００４０】
この状況において、論理ブロッキングポートがドリフトし、［ｓｔｅｐ：１］のようになったとする。少なくともノードＮ３は論理ブロッキングポートのドリフトを知ることができるのでステーションキャッシュをクリアすることができ、「ノードＮ１宛てのフレームをポートＰ３Ｒに転送する」という学習を破棄できる。この結果、ノードＮ３からノードＮ１宛てのフレームは直ちに新たな経路にも転送されるようになる。一方、ノードＮ１は論理ブロッキングポートのドリフトを知ることができない。
【００４１】
従って、論理ブロッキングポートがドリフトした後も、ノードＮ３宛てのフレームはポートＰ１Ｌに転送されてしまう。ポートＰ１Ｌに転送されたノードＮ３宛てのフレームは中継されてゆくものの、ノードＮ３のポートＰ３Ｒで塞き止められてしまう。
【００４２】
「ノードＮ３宛てのフレームをポートＰ１Ｌに転送する」という学習がクリアされるまでにはアドレスエージング時間がかかるが、通常この値は分オーダーの値が設定されるため、通信経路が確立されているにもかからわず、実際にフレームが転送されるようになるにはかなりの時間がかかってしまう。
【００４３】
（４）誤ったアドレス学習
ＲＰＤＵのソースアドレスが学習されてしまって、一般フレームが本来転送されるべきポートに転送されなくなってしまう。
【００４４】
例えば、図１３に示すように、ノードＮ５からノードＮ２に一般フレームが転送されている状態［ｓｔｅｐ：０］では、ノードＮ５のスイッチングデバイスは「ノードＮ２」宛てのフレームをポートＰ５Ｌに転送する」と既に学習している。
【００４５】
このとき、ノードＮ２からノードＮ５に何らかのＲＰＤＵフレームが転送されたとする［ｓｔｅｐ：１］。このとき、ノードＮ５のスイッチングデバイスは上記フレームのソースアドレスと受信ポートをマッピングする。その結果、ノードＮ５のスイッチングデバイスは、「ノードＮ２宛てのフレームをポートＰ５Ｌに転送する」という以前の学習を捨てて「ノードＮ２宛てのフレームをポートＰ５Ｒに転送する」と新たに学習し直す。
【００４６】
この結果、ノードＮ５のスイッチングデバイスは新しい学習に基づいて、ノードＮ２宛てのフレームをポートＰ５Ｒに転送するようになる［ｓｔｅｐ：２］。これにより、ポートＰ５Ｒから送信されたフレームはノードＮ２の論理ブロッキングポートに阻まれて宛て先までは届かない。
【００４７】
（５）メッセージの無限巡回
ノード間がリング状に接続されていると、一度送信されたメッセージが延々とリング上を転送され続けてしまう。以下に再調停トリガＲＰＤＵがリング上を無限巡回してしまう例を説明する。
【００４８】
図１４に示すように、ノードＮ１とＮ６間で断線が発生したとする［ｓｔｅｐ：０］。これにより、ノードＮ１とＮ６が再調停トリガＲＰＤＵを発信する［ｓｔｅｐ：１］。この発信は「Ｈｅａｌｉｎｇ  Ｍｅｓｓａｇｅ」で示す。
【００４９】
このとき、再調停トリガＲＰＤＵがリングトポロジ上を巡回している間に該当断線箇所が復帰した場合［ｓｔｅｐ：２］、再調停トリガＲＰＤＵが元断線箇所を通過し、リングトポロジ上を巡回し続ける［ｓｔｅｐ：３］。これでは、どこかで新たに断線が発生しない限り、再調停トリガＲＰＤＵの巡回が延々と続けられる。
【００５０】
（６）マスタノード変更
例えば、既存のマスタノードのＩＤを変更してリセットをかけたとする。このリセットによってリングダウンが発生しなかった場合に、古いマスタノードＩＤがトポロジ上に残留してしまい、正しい調停動作を妨げる。
【００５１】
この例を図１５で説明する。ノードＮ１がマスタノードとなって論理トポロジが構築されている［ｓｔｅｐ：０］。この状態で、ノードＮ１の固有ノードＩＤが１から７に変更されたとする［ｓｔｅｐ：１］。このとき、ノードＮ１はプロトコル動作を１からやり直すため、ポートが一度ブロッキングされる。
【００５２】
このブロッキングで、ノードＮ１は隣接ノードＮ４、Ｎ６との間で調停を行なう［ｓｔｅｐ：２］。この結果、ノードＮ１は以前の自分自身が広めたトポロジ情報に感染してしまう［ｓｔｅｐ：３］。これによって、真のマスタノードが不在となって論理トポロジが正しく構築されないので、論理ブロッキングポートドリフト機構が正常に動作しない（論理プロッキングポートがトポロジ下流にドリフトされなくなる）。
【００５３】
結果的に、論理ブロッキングポートがリング末端に集約されず、論理トポロジが分断された状態になってしまう。
【００５４】
（７）論理ブロッキングポート欠落対策
プロトコルが正常に動作している限りはありえないことだが、例えば、ノイズ等の影響で誤ったブロッキング応答メッセージが発生してしまい、リング上の全ポートがフォワーディンク状態になってしまったとする。この状態に陥ると、ブロッキングドリフト機構がまったく無意味となり、どこかでリングダウンが発生しない限りブロッキング箇所ゼロの状態が継続され、危険である。
【００５５】
本発明の目的は、以上のような原因によるシステムの異常発生やさらには機能停止を防止できる情報転送システムを提供することにある。
【００５６】
【課題を解決するための手段】
本発明は、前記の課題を解決するため、以下のシステムおよび論理的トポロジ構築方法を特徴とする。
【００５７】
（システムの発明）
（１）多数のフレーム転送装置間で情報転送するため、各フレーム転送装置をノードとし、物理的にループを含むトポロジから不要なリンクを論理的に切断し、各ノード間をループのない論理的トポロジを構築するポートステート制御機構、および前記ノード間の通信障害発生時に論理的トポロジを再構築する再調停トリガ機構を備え、
前記ポートステート制御機構は、リングトポロジにある各ノードにおいて、ブロッキング状態のポートからブロッキング要求を出す手段と、この要求による調停に負けたノードはブロッキング状態に遷移させ、上位ノードに対してブロッキング要求受理を通知する手段と、ブロッキング要求受理を通知されたノードは直ちにブロッキング状態を解除してフォワーディンング状態に遷移させる手段とを備え、
前記再調停トリガ機構は、ハードウェア的に通信障害を検出したノードのポートをブロッキング状態にし、トポロジ情報をクリアし、トポロジ復旧メッセージを次のノードに転送する手段と、前記メッセージを受信したノードはトポロジ情報を捨ててマスタノードとなり次のノードに対して調停を開始する手段とを備えた情報転送システムであって、
前記マスタノードは互いのトポロジ情報を交換し、その優先順位を比較することでノード間の上下関係を決定し、最終的にはポートロールを決定する調停ＲＰＤＵを定期的に送信する手段を設け、
前記スレーブノードは、マスタノードからの前記調停ＲＰＤＵが一定時間以上来なくなったときに、再調停トリガＲＰＤＵ受信の有無に拘わらず直ちにマスタノードに復帰する手段を設けたことを特徴とする。
【００５８】
（２）前記ノードのうち、メッセージの送り手は、送信したメッセージに対する着信応答を受け取るまで定期的にメッセージの再送を行なう手段を設け、
前記メッセージの受け手は、受信したメッセージに対して着信応答を返信する手段を設け、
前記調停ＲＰＤＵに“ＡＣＫフラグ”を設け、着信応答としてメッセージを返信する場合にはこのフラグをセツトする手段を設けたことを特徴とする。
【００５９】
（３）前記ノードはポートステートを変更したとき、他のノードにキャッシュクリアを促すキャッシュクリアＲＰＤＵを下記の条件で発信する手段を設け、
・ポートステートを変更したノードがマスタノードの場合、フォワーディンク状態のリングポートからキャッシュクリアＲＰＤＵを送信する。
【００６０】
・ポートステートを変更したノードがスレーブノードの場合、上位ポートからキャッシュクリアＲＰＤＵを送信する。
【００６１】
前記キャッシュクリアＲＰＤＵを受信したノードは、
・キャッシュクリアＲＰＤＵを受信したノードがマスタノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートがフォワーディンク状態であるときにキャッシュクリアＲＰＤＵを転送する手段を設け、
・キャッシュクリアＲＰＤＵを受信したノードがスレーブノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートが上位ポートであるときにキャッシュクリアＲＰＤＵを転送する手段を設けたことを特徴とする。
【００６２】
（４）前記リングトポロジにおいてマスタノードから最も遠いリング末端ポートは、
・前記調停ＲＰＤＵにリング末端ポートであることを通知するための“末端フラグ”を設け、
この調停ＲＰＤＵを受信した対向ノードは受信ポートのアドレス学習を禁止する手段を設けたことを特徴とする。
【００６３】
（５）前記調停ＲＰＤＵを受信したポートは、転送先ポートが上位ポートでなく、かつ転送先ポートが末端ポートでないときに調停ＲＰＤＵを転送する手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵは“送信元ノードＩＤ”と“寿命”というパラメータを添付して送信する手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを最初に送信するノードは、前記“送信元ノードＩＤ”に自身の固有ノードＩＤを書き込み、かつ前記“寿命”に最大リングノード数を書き込む手段を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを受信したノードは、前記“送信元ノードＩＤ”と自身の固有ノードＩＤが一致しないこと、および前記“寿命”をデクリメントした値が１以上あるときに該再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを転送する手段を設けたことを特徴とする。
【００６４】
（６）前記スレーブノードは、上位ポートから受信した前記調停ＲＰＤＵによって通知されるトポロジ情報の優先度の変化を常に監視し続け、前回に受け取ったトポロジ情報よりも優先度の低いトポロジ情報を受け取った場合に、そのパターンにより以下の対応手段、
・マスタノードＩＤの値が不変でディスタンス値が増加した場合、マスタノードに復帰し、再調停トリガＲＰＤＵを発信する。
【００６５】
・マスタノードＩＤの値が増加したが、自身の固有ノードＩＤよりは優先度が高い場合、そのトポロジ情報に従属する。
【００６６】
・マスタノードＩＤの値が増加し、自身の固有ノードＩＤよりも優先度が低くなった場合、マスタノードに復帰する。
を設けたことを特徴とする。
【００６７】
（７）前記リング末端にいるノードは、自身がリング末端であることを認識したときに、隣接ノードからブロッキング要求を受けていなくても、リングポートのひとつを自発的にブロッキングする手段を設けたことを特徴とする。
【００６８】
（方法の発明）
（８）多数のフレーム転送装置間で情報転送するため、各フレーム転送装置をノードとし、物理的にループを含むトポロジから不要なリンクを論理的に切断し、各ノード間をループのない論理的トポロジを構築するポートステート制御機構、および前記ノード間の通信障害発生時に論理的トポロジを再構築する再調停トリガ機構を備え、
前記ポートステート制御機構は、リングトポロジにある各ノードにおいて、ブロッキング状態のポートからブロッキング要求を出す手段と、この要求による調停に負けたノードはブロッキング状態に遷移させ、上位ノードに対してブロッキング要求受理を通知する手段と、ブロッキング要求受理を通知されたノードは直ちにブロッキング状態を解除してフォワーディンング状態に遷移させる手段とを備え、
前記再調停トリガ機構は、ハードウェア的に通信障害を検出したノードのポートをブロッキング状態にし、トポロジ情報をクリアし、トポロジ復旧メッセージを次のノードに転送する手段と、前記メッセージを受信したノードはトポロジ情報を捨ててマスタノードとなり次のノードに対して調停を開始する手段とを備えた情報転送システムの論理的トポロジ構築方法であって、
前記マスタノードは互いのトポロジ情報を交換し、その優先順位を比較することでノード間の上下関係を決定し、最終的にはポートロールを決定する調停ＲＰＤＵを定期的に送信する過程を設け、
前記スレーブノードは、マスタノードからの前記調停ＲＰＤＵが一定時間以上来なくなったときに、再調停トリガＲＰＤＵ受信の有無に拘わらず直ちにマスタノードに復帰する過程を設けたことを特徴とする。
【００６９】
（９）前記ノードのうち、メッセージの送り手は、送信したメッセージに対する着信応答を受け取るまで定期的にメッセージの再送を行なう過程を設け、
前記メッセージの受け手は、受信したメッセージに対して着信応答を返信する過程を設け、
前記調停ＲＰＤＵに“ＡＣＫフラグ”を設け、着信応答としてメッセージを返信する場合にはこのフラグをセツトする過程を設けたことを特徴とする。
【００７０】
（１０）前記ノードはポートステートを変更したとき、他のノードにキャッシュクリアを促すキャッシュクリアＲＰＤＵを下記の条件で発信する過程を設け、
・ポートステートを変更したノードがマスタノードの場合、フォワーディンク状態のリングポートからキャッシュクリアＲＰＤＵを送信する。
【００７１】
・ポートステートを変更したノードがスレーブノードの場合、上位ポートからキャッシュクリアＲＰＤＵを送信する。
【００７２】
前記キャッシュクリアＲＰＤＵを受信したノードは、
・キャッシュクリアＲＰＤＵを受信したノードがマスタノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートがフォワーディンク状態であるときにキャッシュクリアＲＰＤＵを転送する過程を設け、
・キャッシュクリアＲＰＤＵを受信したノードがスレーブノードの場合、受信ポートがフォワーディンク状態で、且つ、転送先ポートが上位ポートであるときにキャッシュクリアＲＰＤＵを転送する過程を設けたことを特徴とする。
【００７３】
（１１）前記リングトポロジにおいてマスタノードから最も遠いリング末端ポートは、
・前記調停ＲＰＤＵにリング末端ポートであることを通知するための“末端フラグ”を設け、
この調停ＲＰＤＵを受信した対向ノードは受信ポートのアドレス学習を禁止する過程を設けたことを特徴とする。
【００７４】
（１２）前記調停ＲＰＤＵを受信したポートは、転送先ポートが上位ポートでなく、かつ転送先ポートが末端ポートでないときに調停ＲＰＤＵを転送する過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵは“送信元ノードＩＤ”と“寿命”というパラメータを添付して送信する過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを最初に送信するノードは、前記“送信元ノードＩＤ”に自身の固有ノードＩＤを書き込み、かつ前記“寿命”に最大リングノード数を書き込む過程を設け、
前記再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを受信したノードは、前記“送信元ノードＩＤ”と自身の固有ノードＩＤが一致しないこと、および前記“寿命”をデクリメントした値が１以上あるときに該再調停トリガＲＰＤＵまたはキャッシュクリアＲＰＤＵを転送する過程を設けたことを特徴とする。
【００７５】
（１３）前記スレーブノードは、上位ポートから受信した前記調停ＲＰＤＵによって通知されるトポロジ情報の優先度の変化を常に監視し続け、前回に受け取ったトポロジ情報よりも優先度の低いトポロジ情報を受け取った場合に、そのパターンにより以下の対応過程、
・マスタノードＩＤの値が不変でディスタンス値が増加した場合、マスタノードに復帰し、再調停トリガＲＰＤＵを発信する。
【００７６】
・マスタノードＩＤの値が増加したが、自身の固有ノードＩＤよりは優先度が高い場合、そのトポロジ情報に従属する。
【００７７】
・マスタノードＩＤの値が増加し、自身の固有ノードＩＤよりも優先度が低くなった場合、マスタノードに復帰する。
を設けたことを特徴とする。
【００７８】
（１４）前記リング末端にいるノードは、自身がリング末端であることを認識したときに、隣接ノードからブロッキング要求を受けていなくても、リングポートのひとつを自発的にブロッキングする過程を設けたことを特徴とする。
【００７９】
【発明の実施の形態】
（実施形態１）ノードダウン対策
本実施形態では、ノードが健在であることを示すために、マスタノードは定期的に調停ＲＰＤＵを送信する。各スレーブノードは上位ポート（２つあるリングポートのうち、マスタノードに近い方のリングポート）を常に監視していて、一定時間以上調停ＲＰＤＵを受信しない場合には現行のトポロジ情報を廃棄し、マスタノードに復帰し、自ら調停を開始する。
【００８０】
この機能付加によって、・マスタノードがダウンした場合には一定時間経過後に全てのスレーブノードがそれに気がつき、・スレーブノードがダウンした場合には一定時間経過後にそのスレーブの下流にいる全スレーブがそれに気がつくことができ、論理トポロジ構築作業を再開することができるようになる。
【００８１】
この例を図１に示し、以下のｓｔｅｐ：０〜ｓｔｅｐ：３によりノードダウンに対する論理トポロジを改築を得る。
【００８２】
［ｓｔｅｐ：０］の状態では、ノードＮ１をマスタノードとして論理トポロジが構築されている（図中では、論理ブロッキングポートをＰＢと表記する）。この状態において、機器異常等によりスレーブノードＮ６がダウンしたとする。但し、隣接ノードはノードＮ６の異変に気がついていない。
【００８３】
［ｓｔｅｐ：１］では、スレーブノードＮ４、Ｎ５は引き続き上位ポート（図中○印）から調停ＲＰＤＵを受信し続ける。一方、スレーブノードＮ３、Ｎ２はノードＮ６が調停ＲＰＤＵを中継しなくなったので、上位ポートから調停ＲＰＤＵを受信しない状態である。なお、ノードＮ２の上位ポートはノードＮ３側のポートである。
【００８４】
［ｓｔｅｐ：２］では、スレーブノードＮ３、Ｎ２は上位ポートから調停ＲＰＤＵを受信しなくなってから一定時間が経過したのでマスタノードに復帰して調停を始める。
【００８５】
［ｓｔｅｐ：３］では、調停によってノードＮ２、Ｎ３はノードＮ５経由のトポロジ情報に従属する。また、この調停によって論理ブロッキングポートＰＢはノードＮ３の下位ポートまでドリフトされる。
【００８６】
以上の行程によって論理トポロジが再構築される。したがって、本実施形態によれば、機器故障やＳ／Ｗ暴走などによって、あるノードがリングダウンを伴わなずにＲＴＰプロトコル動作を停止した場合（すなわち、従来のＲＴＰにおける再調停トリガ機構２が正常に起動されない場合）においても、ある程度の時間が経過すれば論理トポロジの再構築が開始され、迂回経路があれば故障箇所を迂回する通信経路が確立される。
【００８７】
（実施形態２）メッセージ損失対策
本実施形態では、図２に示すように、送信ノードはメッセージに対する応答（ＡＣＫ）が来るまで再送を続ける。受信ノードはメッセージに対してＡＣＫを返すようにする。これにより、メッセージが幾ら損失しても、再送が繰り返されるため、プロトコル動作が停止してしまうことがなくなる。
【００８８】
この例を図３に示し、以下のｓｔｅｐ：０〜ｓｔｅｐ：３によりメッセージ損失を防止する。
【００８９】
［ｓｔｅｐ：０］では、ノードＮ１とＮ６が調停ＲＰＤＵをそれぞれ送信したが、ノードＮ１から送信された方が損失した。
【００９０】
［ｓｔｅｐ：１］では、ノードＮ１は調停ＲＰＤＵを受信したが、調停に勝利したので相手ノードからの従属の知らせを待つ。ノードＮ６は相手ノードからの調停ＲＰＤＵがくるのを待っている。
【００９１】
［ｓｔｅｐ：２］では、ノードＮ１，Ｎ６はしばらく待ったが、相手から返事が来ないので、ノードＮ１、Ｎ６は調停ＲＰＤＵを再送した。今度は損失することなく、相手ノードに届いた。
【００９２】
［ｓｔｅｐ：３］では、ノードＮ６はノードＮ１に従属し、トポロジ情報を然るべき値に更新し、論理ブロッキングポートを引き継ぐ。次に、ノードＮ６はノードＮ３側にそれらを中継するために新たな調停を始める。また、ノードＮ１に対してＡＣＫを返信し、メッセージを受信した旨を知らせる。ＡＣＫ受信を以ってノードＮ１は調停ＲＰＤＵの再送を打ち切る。
【００９３】
以降も同様の手順で調停を進めてゆき。論理トポロジを完成させる。したがって、本実施形態によれば、伝送ノイズあるいは過渡的な過負荷などの影響で、調停ＲＰＤＵや通知ＲＰＤＵ（再調停トリガＲＰＤＵ、キャッシュクリアＲＰＤＵ）が送信途中で失われた場合にもメッセージの再送が行われ、論理トポロジ収束時間に影響は出るものの）プロトコル動作自体が損なわれる不都合はなくなる。
【００９４】
（実施形態３）ステーションキャッシュクリア機構
従来の問題点で説明したように、論理ブロッキングポートがドリフトしたときに一般フレームの転送経路変更が必要になる場合がある。この経路変更を行なうために、各ノードが学習していたアドレス転送情報を一度廃棄させ、アドレス学習をやり直させなければならない。
【００９５】
そこで、本実施形態では、あるノードが自身のリングポートのポートステートを変更したら（つまり論理ブロッキングポートがドリフトしたら）、それを系全体に通報する下記の手段Ａ，Ｂを新たに設けることにする。
【００９６】
（手段Ａ）アドレス学習やり直しの要求発行
ポートステートを変更したノードは以下に示す条件に従ってステーションキャッシュのクリアを要求する特殊なメッセージ（以下、「キャッシュクリアＲＰＤＵ」と呼ぶ）を送信する。
【００９７】
・当該ノードがマスタノードの場合…その時点でフォワーディンク状態であるリングポートからキャッシュクリアＲＰＤＵを送信する。
【００９８】
・当該ノードがスレーブノードの場合…上位ポートからキャッシュクリアＲＰＤＵを送信する。
【００９９】
（手段Ｂ）キャッシュクリアＲＰＤＵの中継
キャッシュクリアＲＰＤＵを受信したノードは以下に示す条件に従って同メッセージを反対側のリングポートへ転送する。
【０１００】
・当該ノードがマスタノードの場合…受信したポートがフォワーディンク状態で、且つ、転送先リングポートがフォワーディンク状態であるならば、キャッシュクリアＲＰＤＵを転送する。
【０１０１】
・当該ノードがスレーブノードの場合…受信したポートがフォワーディンク状態で、且つ、転送先リングポートが上位ポートであるならばキャッシュクリアＲＰＤＵを転送する。
【０１０２】
以上の手続きによって、その時点においてフォワーディングポートで連結されている全ノードがステーションキャッシュ更新を通報されることになる。
【０１０３】
キャッシュクリアＲＰＤＵはブロッキングポートの向こう側にいるノード群には中継されないが、調停によってブロッキングポートがドリフトしてゆき、最後のブロッキングポートドリフトが完了して、トポロジ上の全ノードがフォワーディングポートで連結されたときに、全ノードがステーションキャッシュクリアを通報される。つまり、ブロッキングポートの向こう側にキャッシュクリアＲＰＤＵを中継しなくても必要十分なステーションキャッシュのクリアを達成することができるだけでなく、不要なキャッシュクリアＲＰＤＵ転送が抑制される。
【０１０４】
図４は、キャッシュクリアＲＰＤＵ（同図中、“ＣＣ”と表記）によってノードＮ１が以前に学習した古い転送経路がクリアされる過程を示す。
【０１０５】
［ｓｔｅｐ：０］では、ブロッキングドリフト要求がノードＮ６から送信された（調停ＲＰＤＵのブロッキングフラグがセットされて送信された）状態とする。
【０１０６】
［ｓｔｅｐ：１］では、ノードＮ３は調停に敗北したのでブロッキング要求を受け入れてポートＰ３Ｒをブロッキングした。ノードＮ３はポートステートを変更した（ポートＰ３Ｒのポートステート：Ｆｏｒｗａｒｄｉｎｇ→Ｂｌｏｃｋｉｎｇ）ので、キャッシュクリアＲＰＤＵを上位ポートから送信する。
【０１０７】
［ｓｔｅｐ：２］では、ノードＮ６はキャッシュクリアＲＰＤＵを受信したが、受信ポートがブロッキング状態なのでこれを無視する。ノードＮ３は論理ブロッキングを受理した旨をノードＮ６に通知する（図中、ＡＣＫと表記）。
【０１０８】
［ｓｔｅｐ：３］では、ノードＮ６はブロッキングＡＣＫを受信したので下位ポートのブロッキングを解除した。また、ノードＮ６はキャッシュクリアＲＰＤＵを上位ポートから送信する。ノードＮ１はこのキャッシュクリアＲＰＤＵを受信することで、自身のステーションキャッシュをクリアするため、古い学習が破棄される。
【０１０９】
この後、キャッシュクリアＲＰＤＵは順次中継され、経路上の各ノードのステーションキャッシュがクリアされてゆき、ノードＮ３のポートＰ３Ｒで消滅する（ブロッキングポートで受信したキャッシュクリアＲＰＤＵは転送されない）。
【０１１０】
したがって、本実施形態によれば、論理ブロッキングポートがドリフトしたことによって一般フレームの転送経路が変わった場合において、各ノードのスイッチングデバイスが持っている古いアドレス情報が速やかにクリアされることによって通常のエージング時間（一般的には分オーダーの時間）が経過するのを待つことなく通信状態を回復できる。
【０１１１】
（実施形態４）アドレス学習の禁止
本実施形態では、リングトポロジにおいて末端ポート（リングトポロジにおいて定常的に論理ブロッキングの維持を担っているポート）の対向ポートのアドレス学習を禁止する以下の手段を用意する。
【０１１２】
（手段Ａ）末端ポートの通知…調停ＲＰＤＵに「末端フラグ」を設け、末端ポートから調停ＲＰＤＵを送信する場合には同フラグをセットする。
【０１１３】
（手段Ｂ）末端ポートの対向…ポート末端フラグがセットされた調停ＲＰＤＵを受信したノードはその受信ポートのアドレス学習を禁止する。
【０１１４】
（手段Ｃ）アドレス学習許可…末端フラグがクリアされた調停ＲＰＤＵを受信したノードはその受信ポートのアドレス学習を許可する。
【０１１５】
アドレス学習禁止処理を例を図５に示す。
【０１１６】
［ｓｔｅｐ：０］では、ノードＮ５からノードＮ２に一般フレームが転送されている状態とする。このとき、ノードＮ５のスイッチングデバイスは「ノードＮ２宛てのフレームをポートＰ５Ｌに転送する」と既に学習している。
【０１１７】
［ｓｔｅｐ：１］では、ノードＮ２からノードＮ５に何らかの調停ＲＰＤＵフレームが転送されたとする。但し、ポートＰ２Ｌは末端ポートなので調停ＲＰＤＵの末端フラグがセットされる（図中では、ｆｌａｇ  Ｔｅｒｍｉｎａｌ＝１と表記）。
【０１１８】
このとき、ノードＮ５は受信した調停ＲＰＤＵの末端フラグがセツトされているのでポートＰ５Ｒのアドレス学習を禁止する。ノードＮ５のスイッチングデバイスはポートＰ５Ｒのアドレス学習を停止させたため、「ノードＮ２宛てのフレームをポートＰ５Ｌに転送する」という以前の学習は捨てられずに残っている。
【０１１９】
［ｓｔｅｐ：２］では、ノードＮ５のスイッチングデバイスは以前の学習に基づいて、ノードＮ２宛てのフレームをポートＰ５Ｌに転送し続ける。ポートＰ５Ｌから送信されたフレームは従来通りの経路を通ってノードＮ２を経由し、最終宛て先まで中継される。
【０１２０】
したがって、本実施形態によれば、ＲＰＤＵが引き起こす、誤ったアドレス学習を防止することによって、一般フレームの転送が妨害される現象を解消することができる。
【０１２１】
（実施形態５）メッセージ無限ループ防止
本実施形態では、リングトポロジが構成されているときにＲＰＤＵがリング上を無限巡回するのを以下のように防止する。
【０１２２】
（Ａ）調停ＲＰＤＵの場合
・調停ＲＰＤＵを受信した場合の転送条件としては、転送先ポートが上位ポートではないこと、且つ、転送先ポートが末端ポートではないと設定する。
【０１２３】
この条件によって、図６の（ａ）に示すように、調停ＲＰＤＵは必ず上位→下位方向に転送され、リングトポロジ上においてマスタノードから一番遠くに位置するノードで転送が止まる（下位→上位方向には転送されない）。
【０１２４】
（Ｂ）再調停トリガＲＰＤＵ、キャッシュクリアＲＰＤＵの場合
以下に示す２つのパラメータを再調停トリガＲＰＤＵおよびキャッシュクリアＲＰＤＵ（以下、これらのＲＰＤＵを“通知ＲＰＤＵ”と呼ぶ）に添付する。
【０１２５】
・送信元ノードＩＤ
・寿命
初めに通知ＲＰＤＵを送信するノードは、送信元ノードＩＤに自身の固有ノードＩＤを、寿命に最大リングノード数を書き込む。通知ＲＰＤＵを受信したノードは以下の条件を満たす場合にのみ、同ＲＰＤＵを転送する。
【０１２６】
（条件Ａ）送信元ノードＩＤと自身の固有ノードＩＤを比較し、一致しないこと。（自分自身が送信した通知）
（条件Ｂ）寿命をデクリメント（値を１減らす）し、その値が１以上あること。
【０１２７】
条件Ａは、通知ＲＰＤＵの後始末をその送信元ノードＩＤに負わせるもので、この制限によって図６の（ｂ）に示すように、通知ＲＰＤＵはリングを１周したときに消滅するようになる。
【０１２８】
条件ｂは、あるノードＮが通知ＲＰＤＵを送信して同ＲＰＤＵがリング上を１周して来るまでの間にノードＮの固有ノードＩＤが変更された場合、すなわち通知ＲＰＤＵを後始末するノードがいなくなってしまった場合にも無限巡回が起きないようにするための制限である。
【０１２９】
したがって、本実施形態によれば、リングトポロジ内をＲＰＤＵが無限巡回することを防止し、無用なトラフィックの発生を抑制することができる。
【０１３０】
（実施形態６）マスタノードＩＤ変更対策
本実施形態では、無効なマスタノードＩＤをいち早く検出し、それが広まるのを防止するために以下のルールを設定する。なお、このルールはスレーブノードに対して適用されるものである。
【０１３１】
凡例：あるスレーブノードＮＳの代表トポロジ情報（マスタノードＩＤ、ディスタンス、ソースノードＩＤ）をＴＤとする（ＴＤ＝（ＭＤ，ＤＤ，ＳＤ）とする）。ここで，ノードＮＳが上位ポートで新たに調停ＲＰＤＵを受信したとする。この調停ＲＰＤＵに格納されていたトポロジ情報ＴＲを以下、受信トポロジ情報と表記する（ＴＲ＝（ＭＲ，ＤＲ，ＳＲ））。また、ノードＮＳの固有ノードＩＤをＵＳとする。
【０１３２】
（条件１）受信トポロジ情報が代表トポロジ情報よりも優れているか等しい場合…受信トポロジ情報を基にして代表トポロジ情報を計算し直す（従来通りの処理）。
【０１３３】
（条件２）受信トポロジ情報が代表トポロジ情報よりも劣っていた場合、
・この条件２で、代表マスタノードＩＤと受信マスタノードＩＤの値が等しい場合（ＭＤ＝ＭＲ）、ノードＮｓはマスタノードに復帰し、再調停トリガＲＰＤＵを発信する。
【０１３４】
・条件２で、代表マスタノードＩＤと受信マスタノードＩＤの値が異なり（ＭＤ≠ＭＲ）、かつ受信マスタノードＩＤの値がノードＮｓの固有ノードＩＤの値よりも小さい場合（ＭＲ＜ＵＳ）…受信トポロジ情報を基にして代表トポロジ情報を計算し直す（従来通りの処理）。
【０１３５】
・条件２で、受信マスタノードＩＤの値がノードＮＳの固有ノードＩＤの値よりも大きい場合（ＭＲ＞ＵＳ）…ノードＮＳはマスタノードに復帰し、再調停トリガＲＰＤＵを発信しない。
【０１３６】
したがって、本実施形態によれば、マスタノードに就任中のノードの固有ノードＩＤが変更され、その値が以前よりも大きくなった（つまり、優先度が以前よりも低くなった）場合において、古いトポロジ情報がトポロジ内に残留しなくなり、論理トポロジが正しく再構築されるようになる。
【０１３７】
（実施形態７）自発的ブロッキング
本実施形態では、リング末端に位置するノードは（上位ノードからのブロッキング要求がなくても）リングポートのひとつを自発的にブロッキングするようにする。また、リング末端ノードがブロッキングしているポートでブロッキング応答を受信してもブロッキングを解除しないようにする。
【０１３８】
したがって、本実施形態によれば、何らかの原因（例えば捏造されたＲＰＤＵの混入など）によって、リンクトポロジ上のブロッキングポートが全て解除されてしまった場合においても、リング末端に位置するノードが自発的に論理ブロッキングを維持することによってループ状態が放置されることを防止することができる。
【０１３９】
【発明の効果】
以上のとおり、本発明によれば、従来のリングトポロジプロトコルによる情報転送システムにおける、ノードダウンへの耐性向上、プロトコルメッセージ損失への耐性向上、ステーションキャッシュクリアの確保、誤ったアドレス学習防止、メッセージの無限巡回防止、マスタノード変更に対する正しい調停の確保、自発的なブロッキング確保が可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態１を示すノードダウン対策の処理過程図。
【図２】本発明の実施形態２におけるメッセージとＡＣＫの関係図。
【図３】本発明の実施形態２を示すメッセージ損失対策の処理過程図。
【図４】本発明の実施形態３を示すキャッシュクリアＲＰＤＵによるキャッシュクリア処理過程図。
【図５】本発明の実施形態４を示すアドレス学習禁止処理過程図。
【図６】本発明の実施形態５を示すメッセージ無限巡回の防止の説明図。
【図７】ＳＴＰブリッジのポートステートの遷移図。
【図８】ＳＴＰの断線リカバリの過程図。
【図９】ＲＴＰの機能ブロック図。
【図１０】ＲＴＰでのノードダウンの例。
【図１１】ＲＴＰでのメッセージ損失による調停の停滞例。
【図１２】ＲＴＰでの論理ブロッキングポートのドリフトによる転送ポートの変化の例。
【図１３】ＲＴＰでの誤ったアドレス学習による転送障害発生の仕組み。
【図１４】ＲＴＰでのメッセージの無限巡回の例。
【図１５】ＲＴＰでの古いトポロジ情報の残留現象例。
【符号の説明】
１…ポートステート制御ブロック
２…トポロジ情報更新器
３Ｌ，３Ｒ…トポロジ情報バッファ
４…トポロジ優劣判定アルゴリズム
５Ｌ，５Ｒ…ポートロール保存部
６Ｌ，６Ｒ…ポートステート保存部
７…スイッチングアルゴリズム＆アドレステーブル
【図１】
2004282409.tif 000003
【図２】
2004282409.tif 000004
【図３】
2004282409.tif 000005
【図４】
2004282409.tif 000006
【図５】
2004282409.tif 000007
【図６】
2004282409.tif 000008
【図７】
2004282409.tif 000009
【図８】
2004282409.tif 000010
【図９】
2004282409.tif 000011
【図１０】
2004282409.tif 000012
【図１１】
2004282409.tif 000013
【図１２】
2004282409.tif 000014
【図１３】
2004282409.tif 000015
【図１４】
2004282409.tif 000016
【図１５】
2004282409.tif 000017