(57)【特許請求の範囲】
【請求項１】
ネットワークのネットワークトポロジー情報をダイナミックに決定する方法であって、該ネットワークは宛先要素に結合された第１のノードと第１の要素とを含む複数のネットワーク要素を含んでおり、
（ａ）該第１のノードから該宛先要素への第１のルートを特定する第１のルーチング情報と、該ネットワーク要素の該第１の要素から該第１のノードへの第２のルートを特定する第２のルーチング情報とを含むピンフレームを発生するステップと、
（ｂ）該第１のルートを介して該宛先要素へ該第１のピンフレームを伝送するステップと、
（ｃ）該宛先要素の第１のポートを通して該宛先要素でピンフレームを受信するステップと、
（ｄ）該ピンフレームに応答してエコーフレームを発生するステップであって、該エコーフレームは第１の接続情報と第３のルーチング情報と宛先要素識別子とを含み、該第１の接続情報は該宛先要素に隣接するネットワーク要素を特定し、該第３のルーチング情報は該第２のルーチング情報と該第１のポートの識別子とを含むものと、
（ｅ）前記の第３のルートを介して該宛先要素から該第１のノードへ該エコーフレームを伝送するステップと、
（ｆ）該第１のノードで該エコーフレームを受信するステップと、
（ｇ）該宛先要素識別子と該第１の接続情報とを含むことによって該ネットワークトポロジー情報を更新するステップと、
をそなえる方法。
【請求項２】
該宛先要素は第２のノード及びルータのうちの１つである、請求項１に記載の方法。
【請求項３】
次のステップすなわち、
（ｈ）ネットワーク内の該ネットワーク要素のすべてに対し各ステップ（ａ）〜（ｇ）を繰返すステップを更にそなえる、請求項１に記載の方法。
【請求項４】
該ネットワークトポロジー内の各ループを特定するために、同一の宛先要素識別子を有するネットワーク要素を特定するステップを更にそなえる、請求項３に記載の方法。
【請求項５】
次のステップすなわち、
（ｉ）ネットワークを通して複数のルートを有するルータテーブルを決定するステップであって、該第１のノードから該ネットワーク要素の１つに至る各ルートは該ネットワークトポロジー情報にもとづいているものを更にそなえる、請求項１に記載の方法。
【請求項６】
各ステップ（ａ）〜（ｉ）は、ネットワークが動作している間実行される、請求項５に記載の方法。
【請求項７】
各ステップ（ａ）〜（ｉ）は、ネットワークの初期化の間実行される、請求項５に記載の方法。
【請求項８】
ステップ（ｇ）は不正に機能しているネットワーク要素と不正に機能しているネットワークリンクとを特定し、該ネットワークリンクは該ネットワーク要素を結合するものである、請求項１に記載の方法。
【請求項９】
ネットワークのネットワークトポロジー情報を決定するシステムであって、該ネットワークは宛先要素に結合された第１のノードと第１の要素とを含む複数のネットワーク要素を含んでおり、
ピンフレームを発生するために該第１のノードに位置付けられたピンフレーム発生器であって、該ピンフレームは該第１のノードから該宛先要素への第１のルートを特定する第１のルーチング情報と、該ネットワーク要素の該第１の要素から該第１のノードへの第２のルートを特定する第２のルーチング情報とを含むものと、
該ピンフレーム発生器に結合され、該第１のルートを介して該宛先要素へ第１の該ピンフレームを伝送するための第１のノードトランスミッタと、
該ピンフレームに応答してエコーフレームを発生するために該宛先要素内に位置付けられたエコーフレーム発生器であって、該エコーフレームは第１の接続情報と第３のルーチング情報と宛先要素識別子とを含み、該第１の接続情報は該宛先要素に隣接するネットワーク要素を特定し、該第３のルーチング情報は該第２のルーチング情報と該第１のポートの識別子とを含むものと、
該宛先要素の第１のポートを通してピンフレームを受信し、該ピンフレームを該エコーフレーム発生器にトランスペアレントに伝送するために、該宛先要素内に位置付けられ、該第１のピンフレームを受信するために配置され、該エコーフレーム発生器に結合されたピンフレームレシーバと、
前記の第３のルートを介して該宛先要素から該第１のノードへ該エコーフレームを伝送するために、該エコーフレーム発生器に結合されたエコーフレームレシーバと、
該宛先要素識別子と該第１の接続情報とを付加することによって該ネットワークトポロジー情報を更新するために、該ピンフレームの識別子に結合され、該エコーフレームを受信するために配置されたトポロジー更新ユニットと、
をそなえたシステム。
【請求項１０】
該エコーフレームレシーバに結合され、該ネットワークトポロジー内の各ループを特定するために、同一の識別子を有するネットワーク要素を特定するためのトポロジーループ識別子を更にそなえる、請求項９に記載のシステム。
【請求項１１】
該トポロジー更新ユニットに結合され、該更新されたネットワークトポロジー情報にもとづいて、該第１のノードから各ネットワーク要素まで該ネットワークを通るルートを含むルーチングテーブルを発生するためのルーチングテーブル発生器を更にそなえる、請求項９に記載のシステム。
【請求項１２】
該宛先要素は第２のノード及びルータのうちの１つである、請求項９に記載のシステム。
【請求項１３】
次のステップすなわち、
（ｊ）ネットワーク内の該ネットワーク要素の第２のものに対して各ステップ（ａ）〜（ｇ）を繰返すステップを更にそなえ、前記の第２のネットワーク要素は該第１の接続情報内で特定される、請求項１に記載の方法。
【請求項１４】
該第１のルーチング情報は以前に受信された接続情報から生成される、請求項13に記載の方法。
【請求項１５】
該ピンフレーム発生器は該第１の接続情報内で特定された第２の宛先ノードにアドレス指定された第２のピンフレームを発生する、請求項９に記載のシステム。
【発明の詳細な説明】
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
出願番号＿＿＿＿、弁護士用ドケット番号2268、“非同期パケット交換”の名称でThomas M. Wicki, Patrick J. Helland, Takeshi Shimizu, Wolf-Dietrich WeberおよびWinfried W. Wilckeによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2270、“低い待ち時間，高いクロック周波数  プレシオ非同期  パケットベース  クロスバー・スイッチング・チップ・システムおよび方法”の名称で、Thomas M. Wicki, Jeffrey D. Larson, Albert MuおよびRaghu Sastryによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2271、“パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置”の名称で、Jeffrey D. Larson, Albert MuおよびThomas M. Wickiによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2272、“電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法”の名称で、Albert MuおよびJeffrey D. Larsonによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2274、“フロー制御プロトコル・システムおよび方法”の名称でThomas M. Wicki, Patrick J. Helland, Jeffrey D. Larson, Albert Mu, Raghu SastryおよびRichard L. Schober, Jr.によって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2275、“相互接続の障害検出およびその位置特定方法および装置”の名称で、Raghu Sastry, Jeffrey D. Larson, Albert Mu, John R. Slice, Richard L. Schober, Jr.およびThomas M. Wickiによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2277、“多重ワード通信におけるエラー検出方法および装置”の名称で、Thomas M. Wicki, Patrick J. HellandおよびTakeshi Shimizuによって1996年２月22日に出願、
出願番号＿＿＿＿、弁護士用ドケット番号2278、“正のソース帰還をそなえたクロック動作されるセンス増幅器”の名称で、Albert Muによって1996年２月22日に出願、
参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。
発明の背景
1.  発明の分野
本発明は、一般にネットワーク解析の分野、より特定的に言うと、コンピュータブートプロセス中又はオンラインオペレーション中に発信元ノードルーチングパケット交換網のトポロジーをダイナミックに決定するためのシステム及び方法に関する。
2.  背景技術の説明
ネットワークの端子（ノード）間で情報を効率良くかつ高い信頼性で転送するためにコンピュータネットワークにより使用される技術は数多く存在する。このような１つの技術はパケット交換である。パケット交換においては、送信ノードは受信ノードに対しフレームを送る。メッセージは数多くの可変的サイズの部分に分割される。これらの部分はパケットと呼ばれる。各々のパケットにはデータ部分、パケットヘッダそして往々にしてエラー検出情報例えばパリティが含まれる。データ部分は、ネットワーク内のより高位のレイヤ例えばOSI基準モデル内で規定されているようなアプリケーションレイヤ、プレゼンテーションレイヤ及びセッションレイヤからのその他のプロトコル情報と共に送るべきメッセージ内の情報を内含している。パケットヘッダは、なかでもパケットシーケンス内のパケットの場所に関する情報を内含している。
ネットワークのノード間でパケットを搬送するために付加的な情報が必要とされる。この付加的情報はフレームヘッダ内に記憶される。１つのフレームヘッダが複数のパケットに付加され、パケットとフレームヘッダの組合せはフレームと呼ばれる。各々のネットワークは１つのフレームのサイズを制限し、従ってパケットがあまりに大きすぎて単一のフレーム内にはめ込むことができない場合、パケットは２つ以上のフレームに分割されることになる。パケット内に含まれた情報は、そのフレームのための究極的な宛先ノードを特定する情報を内含している。
発信元ノードと宛先ノードはネットワーク環境内で直接接続されていないことが多い。各ノードは、リンク又は信号回線によって少なくとも１つのルータに接続される。ネットワークは多くのルータを含むことができる。発信元ノードから宛先ノードまで１つのフレームを転送するためには、フレームは標準的に複数のリンク及びルータの中を横断する。ネットワークを通してのフレームの経路はフレームのルートと呼ばれる。ネットワーク内でフレームをルーチングするのに使用できる技術は数多く存在する。いくつかの従来のルーチング技術には、フラッドルーチング、ランダムルーチング、ディレクトリルーチング及び適応ディレクトリルーチングがある。フラッドルーチング技術は、発信元ノードと宛先ノードの間でネットワーク内の考えられる全ての経路に亘ってフレームを伝送する。フラッディング技術は、有効な何らかの経路が存在する場合にフレームがうまく送受信されることを保証する。しかしながらネットワーク上のトラフィックは、各フレームが何度も送られることから著しく増大する。ランダムルーチング技術では、フレームは発信元ノードからルータまでランダムに送られ、宛先がそのフレームを受信するまでプロセスは反復する。各フレームはネットワークのまわりを「さまよい」、結局宛先ノードに達する。ルータから特定の信号回線を選択する確率は、トラフィックライン容量又はその他のネットワーク条件に基づいて偏倚させられる。ランダムルーチングに付随する問題点は、フレームが発信元ノードから宛先ノードまで直接的経路をとり得ないためにネットワークが多数のルータを有する場合にシステムの待ち時間が著しく高くなるという点にある。
第３のルーチング技術は、ディレクトリルーチング又は発信元ノードルーチングと呼ばれる。ディレクトリルーチングにおいては、各々の発信元ノードは、特定の宛先ノードのために選ばれるネットワーク内の経路を表示するルーチングテーブルを内含する。このルーチングテーブルは、「オフライン」で開発されダイナミックに修正できない。しかしながらメモリの制約条件のため各々の宛先ノードについて１つの経路しか含まれずその経路上の１つのリンクが破損していることが必要とされる場合、この破損経路上で走行するフレームはいずれもうまく伝送されないだろう。４番目のルーチング技術は適応ディレクトリルーチングと呼ばれる。適応ディレクトリルーチングにおいては、各ルータは、隣接するルータ又はノードのためのネットワーク内の最良のルートを表示するメモリ内のルーチングテーブルをもつ。ルーチングテーブル内のエントリは実時間で修正できる。従来の適応ルーチング技術がもつ１つの問題点は、ルータが例えばフレーム遅延といった単数又は複数のネットワークパラメータに基づいてフレームのための最も効率の良いルートを決定するという点にある。ルータはフレームをダイナミックにルーチングするため、各ルータの待ち時間はディレクトリルーチング技術における各ルータの待ち時間よりも大きい。フレームのルータは発信元ノードによって完全に決定されないことから、発信元ノードルーチングネットワークによって適応ディレクトリルーチング技術が利用されることはない。
発信元ノードルーチングネットワークの利点は、ルータがルーチング命令を作り出す必要がないということすなわちルータは発信元ノードによってフレームをどこにルーチングすべきかの命令を受けているということにある。従って、このようなルータのコストはダイナミックルーチングを実行するルータのコストよりも低い。発信元ノードルーチングネットワークの第２の利点は、これらのネットワークの待ち時間が縮減されるということにある。すなわち、各ルータを通ってフレームをルーチングするのに必要とされる時間は例えばフラッドルーチング又はランダムルーチング技術の場合のようにダイナミックルーチングを利用するネットワークに比べると減少している。発信元ノードルーチングネットワーク内での待ち時間は減少するがこれはルータがネットワークを通してのフレームの経路をダイナミックに決定する必要がなく、その代り次に受信するルータを決定するのにルータはフレームヘッダを単に読みとるだけであり、それはルーチング情報をダイナミックに決定するよりも迅速な作業であるからである。
ネットワークを通してのフレームのルートは、フレームが発信元ノードルーチングネットワーク内で生成された時点で決定されることから各ノードは、ネットワークを通してのその他の全てのノードへの少なくとも１つの経路を特定するルーチングテーブルを有する。上述の通り従来の発信元ノードルーチングシステムにおいては、このようなルーチングテーブルは予め決定されており静的である。すなわちルーチングテーブルは、システムがオフラインであるときに構築される。さらに、ルーチングテーブルに対する修正は、ノードがオフラインのときにも発生する。いくつかの発信元ノードルーチングネットワーク内では、任意のノード内のルーチングテーブルは、ネットワーク全体が作動中でないときにのみ修正される。
ルーチングテーブルの修正は、リンクが非作動状態であり、もう１つのリンク、ルータ又はノードが付加されているか又は削除されている場合又は重大なトラフィック状況下ではネットワークの特定の部分上のフレームトラフィックのフローを低減させるためにシステムブート時間中に発生し得る。場合によっては、１つのノードとルータの間又は２つのルータの間のネットワークリンクが非作動状態となり（故障）、従ってこの故障したリンクを横断するフレームトラフィックは中断される。ネットワークを通してのフレーム経路は予め決定され静的であることから、この故障したリンクを通してルーチングされる全てのフレームはその宛先に到達せず、失なわれたものとみなされる。ルーチングテーブル内に記憶されたノードＡからノードＢまでのルートのみがフレームが破損したリンク内を通過することを要求しているようなルーチングテーブルをノードＡが有している場合、ネットワーク内でその他のルートが利用できたとしてもいかなるフレームもノードＡからうまく送られず又ノードＢでもうまく受信されない。同様にしてノード、ルータ又はリンクがネットワークに付加された場合、ルーチングテーブルは、これらの付加的なネットワークエレメントを説明するため修正されなくてはならない。ルータが非作動状態となったならば、そのときこのルータを通してルーチングされた全てのトラフィックは失なわれることになる。上述の状況下では、例えば、ルーチングテーブルはネットワークトポロジー内の変更、例えば付加的なルータ、ノード又はリンク又は非作動状態のルータ、ノード又はリンクを反映するために修正されなくてはならない。しかしながら上述のように、いくつかの従来の発信元ノードルーチングネットワークでは、ルーチングテーブルが存在するノード又はネットワーク全体が作動していない時点でのみルーチングテーブルを修正することができる。
ルーチングテーブルを修正する目的でノードを非作動状態にすることは、ネットワーク性能及びノード性能の点からみて高くつくことである。ノードが大量のフレームトラフィックを取扱っている場合には、フレームのうちの小さい割合のものだけが非作動状態のリンクの影響を受け、ノードをオフに切換えることによってノードへ及びノードから流れるトラフィックの全てを停止することが可能である。その上、非作動状態のリンクを通してルーチングできる全てのノードは同様に、そのルーチングテーブルを修正するため作動を停止しなくてはならない。
適応ディレクトリルーチング技術においてさえ、発信元ノード内のルーチングテーブルを修正する能力は、ネットワーク性能の低下及びネットワーク待ち時間の増大を対価としてもたらされる。
必要とされるのは、ネットワークが作動を停止したり又はネットワークの性能を著しく低減させる必要なく、発信元ノードルーチングネットワークのトポロジーを効率良くかつダイナミックに決定するためのシステム及び方法である。この方法は高価なハードウェアを要することなくネットワーク性能に対する影響を最小限におさえなくてはならない。
発明の概要
本発明は、ネットワークの性能への影響を最小にして、かつ実行するために高価なハードウェアを必要とすることなく、発信元ノードルーチングネットワークのトポロジーをダイナミックに決定するためのシステム及び方法である。本発明では、発信元ノードはピンフレーム（ping frame）を発生する。該ピンフレームは、データフレームからピンフレームを区別するために該ピンフレームのヘッダに特別のコードを含む。発信元ノードは該発信元ノードに結合される第１のルータに該ピンフレームを伝送する。該第１のルータは該フレームをピンフレームとしてトランスペアレントに特定し、該ピンフレームを内部制御フレームハンドラにルーチングする。該制御フレームハンドラは該発信元ノードに返送されるエコーフレームを生成する。該第１のルータは該ピンフレームが受信されるポートを特定し、エコーフレーム識別子とともに該エコーフレームのヘッダ内にこの情報を配置する。該エコーフレームの本体は、第１ルータのIDコード、該ピンフレームが受信されるポートのID及び接続情報すなわちネットワーク要素が該第１のルータの各ポートに接続されているか否かについての情報を含んでいる。
発信元ノードはエコーフレームを受信し、該受信されたエコーフレーム内の接続情報にもとづいて、ピンフレームが送られなかったルータとノードとを特定する。他のノード又はルータ例えば第２のルータを選択した後、該発信元ノードは第２のピンフレームを発生する。該第２のピンフレームは第１のピンフレームと同様の態様で発生され動作する。しかし、該第２のピンフレームは異なる宛先を有しているので、該第２のピンフレームは第１のピンフレームとは異なる情報を含む。このピンフレームは、ルータによってなされるのに必要なルーチングの決定を最小限にするために、フレームヘッダ内にルーチング情報を含み、フレーム本体内にリターンルーチング情報を含む。第２のピンフレームは第１のルータを介して第２のルータへ送られる。該第２のルータはそのフレームがピンフレームであることをトランスペアレントに決定し、該フレームをその制御フレームハンドラに送る。該制御フレームハンドラは該ピンフレームヘッダを削除し、該ピンフレームの本体内のルーチング情報からエコーフレームヘッダを生成する。第２のルータは該ピンフレームが受信されるポートを特定し、この情報をエコーフレーム識別子とともにエコーフレームのヘッダ内に配置する。エコーフレームの本体は第２のルータIDコード、ピンフレームを受信したこのルータのポート番号、及び接続情報を含む。次いで第２のルータはエコーフレームを発信元ノードへ返送する。
発信元ノードはピンフレームを発生しつづけ、ネットワーク内のすべてのノードとルータとに該ピンフレームを伝送しつづける。発信元ノードは反復性のチェックを避けるためにトポロジー内の各ループを特定し、リンクとルータの故障を特定する。該トポロジー探査技術は、各ルータに対してトランスペアレントである。該トポロジー探査技術は、ネットワークの待ち時間（latency)を増加することなく低速のトラフィック期間中に実行されることができ、また高速のトラフィック期間中に実行されてもシステムの待ち時間に最小限の増加をもたらすにすぎない。その理由は各ピンフレームが小さくて、宛先ルータ又はノードの制御フレームハンドラにトランスペアレントに送られるからである。
【図面の簡単な説明】
図１は、本発明の好ましい実施形態に従ったノード及びルータを含む発信元ノードルーチングネットワークトポロジーの一例を示す図である。
図２は、本発明の好ましい実施形態に従った発信元ノードルーチングネットワーク内のルータのより詳細な図である。
図３は、本発明の好ましい実施形態に従ったクロスポイントマトリクスのより詳細な図である。
図４は、本発明の好ましい実施形態に従った制御フレームハンドラのより詳細な図である。
図５は、本発明の好ましい実施形態のトポロジー探査技術の流れ図である。
図６は、本発明の好ましい実施形態に従ったピンフレーム（ping frame）生成技術の流れ図である。
図７は、本発明の好ましい実施形態に従ったエコーフレーム生成技術の流れ図である。
図８は、本発明の好ましい実施形態に従ったトポロジー情報更新技術の流れ図である。
図９（ａ）−９（ｇ）は、本発明の好ましい実施形態に従ったトポロジー探査技術の例である。
図10は、本発明の好ましい実施形態に従った発信元ノードルーチングネットワーク内のノードのより詳細な図である。
好ましい実施形態の詳細な説明
本発明の好ましい実施形態についてここで図面を参照しながら説明する。なお図中、同じ参照番号は、同一の又は機能的に類似の要素を表わしている。同様に、図中、各々の参照番号の最も左の数字は、その参照番号が最初に使用されている図に対応している。
図１は、本発明の好ましい実施形態に従ったノード及びルータを含む発信元ノードルーチングネットワークトポロジーの例である。図１中のネットワークは、８つのノード102、すなわちノードＡ−Ｈ  102Ａ−Ｈ及び７つのルータ104Ａ−Ｆを含んでいる。各々のノード102及び各々のルータ104は、トポロジー探査技術においてルータ及びトポロジーループを特定するために発信元ノードによって用いられる一意のIDコードを有する。例えば、第１のルータ104ＡのためのIDコードは20である。ノード及びルータは、合わせてネットワークエレメントを成し、リンク106により接続されている。各リンク106は、全二重通信信号回線である。すなわち、各リンクは、相対する方向で２つの独立した信号を同時に搬送することができる。つまり１つの信号は発信元ノード102Ａからルータ104Ａにより受信され、１つの信号は同時にルータ104Ａにより発信元ノード102Ａに伝送される。従って各々のリンク106は、図２及び図10に示されこれらの図を参照しながら以下で記述されるように、２つの半２重通信信号回線として表わすことができる。以下で記述する通り本発明は、ネットワークのトポロジーを各ノード102がダイナミックに決定できるようにするシステム及び方法である。
図２は、本発明の好ましい実施形態に従った発信元ノードルーチングネットワーク内のルータのより詳細な例示である。図２は、６つのポート202Ａ−Ｆを含んでいる。変形実施形態においては、ルータは異なる数のポート、例えば２つのポート又は30のポートを内含している。各ポート、例えばポート１  202Ａは、２重通信信号回線106に結合されている。各々のポート202は同様にアービトレーションユニット204にも接続されている。アービトレーションユニット204については、以上でクロスリファレンスされ本書に全体が参考として内含されているJeffrey D.Larson、Albert Mu及びThomas M.Wickiにより1996年２月22日に提出された「パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置」という題の同時係属特許出願を参考にしながら、以下でより詳しく説明する。各ポートは、バッファ信号回線210を介してクロスバースイッチ206に接続されている。クロスバースイッチ206のオペレーションについては以下で図３を参考にしながらより詳しく記述されており、以上でクロスリファレンスされその全体が本書に参考として内含されているAlbert Mu及びJeffrey D.Larsonにより1996年２月22日に提出された「電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法」という題の同時係属特許出願の中でやや修正された形で記述されている。好ましい実施形態においては、各々のバッファ信号回線210Ａは、以下に記述する各々のバッファをクロスバースイッチ206と接続するための６つの接続信号回線を含んでいる。ルータ104のオペレーションについては以下で図３〜９を参考にしながらより詳細に記述されている。
図10は、本発明の好ましい実施形態に従った発信元ノードルーチングネットワーク内の例えばノードＡ102Ａといったノードをより詳しく示している。図10には、トポロジー探査プロセスに関与するノードＡ102Ａの部分が含まれる。ノードは、以上で記述された２重通信信号回線106Ａに結合されている。フレームがポート１  1006により受信される。ポート１  1006のオペレーションは、以下で記述するポート202のオペレーションに類似している。ポート１  1006は、受信したフレームが以下で記述するようにデータフレーム、ピンフレーム又はエコーフレームのいずれであるかを決定する。フレームがピンフレームであるならば、そのフレームは制御フレームハンドラ310に送られる。制御フレームハンドラ310は、以下でより詳細に記述されている。フレームがデータフレームである場合には、そのフレームはデータユニット1002に送られる。フレームがエコーフレームである場合、フレームはピンユニット1004に送られる。ピンユニット1004はエコーフレーム内に含まれた情報を読取りこの情報に基づいてルーチングテーブルを更新する。さらに、ピンユニット1004はピンフレームを生成する。制御フレームハンドラ310及びピンユニット1004は、ハードウェア又はソフトウェアのいずれででも実施できる。ピンユニット1004のオペレーションについては以下でさらに詳しく記述する。
図３は、本発明の好ましい実施形態に従ったルータ104及びクロスポイントマトリクス206のさらに詳しい図である。ルータ104の各々のポート202はポート入力端302、例えばポート１入力端302Ａを内含する。各々のポート入力端302は、例えば、ポート入力端302で受信されたフレームを記憶する６つのバッファ（図示せず）を内含する。各バッファは、クロスバースイッチ206に結合される。図３を簡略化する目的で、各々のポート302をクロスバースイッチ206に結合するバッファ信号回線210のみが示されている。上述の通り、各ポートは６つのバッファを有し、各々のバッファはバッファ信号回線210を介してクロスバースイッチ206に接続される。従って、６つのポート202の各々は、合計36のバッファ信号回線210について６つの接続を含む。同様にして、36のバッファ信号回線210の各々は、７つのクロスポイント回線306に結合される。図３を簡略にする目的で、各ポート202について７つのクロスポイント回路306だけが示されている。
ルータ104は、７つのアービトレーションユニット304を内含する。これらのアービトレーションユニットのうちの６つの304Ａ〜Ｆはクロスバースイッチ出力信号回線312Ａ−Ｆを介して出力信号回線212Ａ−Ｆに結合されている。７番目のアービトレーションユニットは、クロスバースイッチ出力信号回線312Ｇを介して制御フレームハンドラ310に結合される。さらに第７のアービトレーションユニット304Ｇは制御回線308を介して制御フレームハンドラ310に直接結合される。クロスバースイッチ出力信号回線312Ａ−Ｇは、クロスポイント回路306を介して各々の出力信号回線212に接続される。
ここでルータ108のオペレーションの全体的概観を記す。ルータ104のポート202、例えばポート１  202Ａの中でフレームが受信される。このフレームは、フレームヘッダの中の情報に基づいて受信したフレームがデータフレームであるかピンフレームであるかを見極めるデータシンクロナイザ（図示せず）によって受信される。受信したフレームがデータフレームである場合、このデータフレームは、ポート１入力端302Ａ内のバッファの中に記憶される。アービトレーションユニット304は、各バッファ内のデータがポート202を通してもう１つのノード又はバッファまで伝送され得るか否かを決定する。ポート１  202Ａにてデータフレームが受信された場合、データフレームが送られるべき出力ポートはアービトレーションユニット304によって決定される。データフレームを出力ポート上で送ることができるということをアービトレーションユニット304が表示した時点で、アービトレーションユニットはデータフレームをもつバッファをクロスバースイッチ206を用いて適切な出力ポートに結合する。クロスバースイッチ206のオペレーションのより詳細な説明については、先に引用したAlbert Mu及びJeffrey D.Larsonにより1996年２月22日に提出された「電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法」という題の特許出願の中に提供されている。アービトレーションユニット304のオペレーションのより詳しい記述については、先に引用したJeffrey D.Larson、Albert Mu及びThomas M.Wickiにより1996年２月22日に提出された「パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置」という題の特許出願の中で提供されている。
受信したフレームがピンフレームである場合、そのピンフレームはバッファ内に記憶され、７番目のアービトレーションユニット304Gがクロスポイント回路306を介して制御フレームハンドラ310にピンフレームを接続する。従って、クロスバースイッチ208は、データフレームと同じ要領で交換されることから、ピンフレームをトランスペアレントに取扱う。しかしながら、出力ポートに交換される代りに、ピンフレームは制御フレームハンドラ310に交換され、クロスバースイッチ208は同時に、適切な出力信号回線212へとその他のバッファ内に記憶されたその他のフレームを交換することができる。ピンフレームは、制御フレームハンドラ310により受信される。制御フレームハンドラ310は、ルータ情報、受信ポート情報及び接続情報を含むエコーフレームを作り出す。このとき、制御フレームハンドラ310はエコーフレームを発信元ノードに送り返す。制御フレームハンドラ310のオペレーション及びピンフレームを受信しエコーフレームを送信するときのルータのオペレーションについては、以下で図４−９を参照しながら記述する。
図４は、本発明の好ましい実施形態に従った制御フレームハンドラ310のさらに詳しい図である。制御フレームハンドラ310は、ルータ情報モジュール402、接続モジュール404、エコーフレームヘッダレジスタ406及びエコーフレーム発生器408を含む。ルータ情報モジュール402は、ルータIDコードを内含する。接続モジュール404は、各ポート202がいかに接続されるかすなわち、ポート202がもう１つのポート又はノードに接続されるか又はポートが接続されていないか（開放）を記述する情報を含んでいる。エコーフレームヘッダレジスタ406は、エコーフレームヘッダ情報を記憶する。以下で記述する通り、エコーフレームヘッダレジスタ406は、ピンフレーム本体内の最初の8.5バイトの情報を、つまりピンフレームヘッダ後の最初の8.5バイトを内含している。エコーフレーム発生器408はピンフレームに応答してエコーフレームを生成する。エコーフレームヘッダレジスタ406はクロスバースイッチ信号回線312Ｇを介してピンフレームを受信し、ルータ情報モジュール402、接続モジュール404及びエコーフレームヘッダレジスタ406からの情報を受信する。さらに、エコーフレーム発生器408は、受信ポート識別子を含む７番目のアービトレーションユニット304Ｇから制御信号308を受信する。受信ポート識別子は、ピンフレームが受信されるポートを特定する。７番目のアービトレーションユニット304Ｇは受信ポート識別子をエコーフレーム発生器408に伝送し、この発生器はこの情報をエコーフレームヘッダ内に入れ、かくしてフレームはピンフレームと同じルートを用いて発信元ノードへと伝送し戻される。さらに、受信ポート識別子はエコーフレーム内に記憶され、受信ポート識別子は、ピンフレーム本体内に記憶されているようなエコーノードのための将来のルーチング情報を決定する際に、発信元ノードによって利用される。エコーフレーム発生器のオペレーションについては、図５〜９を参照してより詳しく説明する。
図５は、本発明の好ましい実施形態のトポロジー探査技術の流れ図である。この技術については、図１及び図９（ａ）〜９（ｇ）を参考にしながら記述する。図９（ａ）〜９（ｇ）は、本発明の好ましい実施形態に従ったトポロジー探査技術の例である。本発明は、例えば発信元ノード102Ａといった発信元ノード内のルーチングテーブルがシステムのブート時間で初期化される必要があるか又は正確でなく修正を要するような状況下で使用され得る。上述のようにルーチングテーブルの修正は、リンクが作動状態にない場合、もう１つのリンク、ルータ又はノードがネットワークに付加されるか又は削除される場合又は、例えばトラフィックフローが高いために単数又は複数のリンクが伝送の遅延をひき起こしている場合に起こり得る。前述の通り、ノードとルータの間、又は２つのルータの間のネットワークリンクは時として非作動状態となり、従ってこの故障したリンクを横断してのフレームトラフィックは中断される。発信元ノードルーチングネットワーク内のフレーム経路は予め定められ静的であることから、この故障したリンクを通ってルーチングされる全てのフレームは、その宛先に到達せず、失なわれたものとみなされる。発信元ノード102Ａが、発信元ノード102Ａから例えばノード102Ｆといった宛先ノードへの１つのルートのみがルーチングテーブル内に記憶されているようなルーチングテーブルを有し、このルート上のリンクが故障している場合、発信元ノード102Ａから宛先ノード102Ｆまでいかなるトラフィックもうまく伝送されない。しかしながら、伝送の成功を結果としてもたらすような代替的ルートを使用できる可能性もある。このような状況下では、発信元ノードルーチングネットワークを通しての代替的ルートを特定するようにルーチングテーブルを修正しなくてはならない。同様に、ネットワークにノード、ルータ又はリンクが付加された場合、ルーチングテーブルはこれらの付加的ネットワークエレメントを説明するように修正されなくてはならない。ルータが非作動状態になった場合、このルータ内にルーチングされた全てのトラフィックは失なわれることになる。このような状況下では、ネットワークトポロジーの変更を反映するようにルーチングテーブルを修正しなくてはならない。
本発明の１つの実施形態においては、トポロジー探査システム及び方法は、物理的に分散型であるものの論理的には共有型であるメモリのアーキテクチャをもつシステム内の発信元ノードルーチングネットワークの中で使用される。従って、１つのノード例えば処理ノードは、異なる場所に物理的に位置特定され異なるノードに結合されている記憶場所に対するアクセスを要求することができる。要求を行なっているノードすなわち発信元ノードはメモリの場所を特定し、ネットワークは迅速にデータを検索する。１つのリンクが非作動状態にある場合、データ要求は不成功に終わる。このようなシステムにおいては、従来のシステムにおいて必要とされるように単数又は複数のノード内のルーチングテーブルを修正するため又は例えばルータ104がルーチング決定を下すシステムの場合のようにネットワークの待ち時間を増大させる技術を用いてルーチングテーブルを修正するためにシステム全体をオフに切換えるのは費用が高くつくことである。本発明は、システムの実行及び待ち時間に著しく干渉することなくネットワークのトポロジーをダイナミックに決定しルーチングテーブルを更新するためのシステム及び方法である。
本発明のトポロジー探査手順は、システムブート時点で予め定められた数の連続的に伝送されたフレームを「失なう」こと、及び予め定められた時間の後に手順を実行することを含め、数多くの方法でトリガーされ得る。図９（ａ）を参照すると、最初のピンフレームを伝送する前に発信元ノード102Ａにわかっているネットワークトポロジーが示されている。すなわち、発信元ノード102Ａは、それが１つの回路エレメント例えばノード又はルータに接続されているもののこの要素を記述する特定のいかなる情報も有していないということを知っている。発信元ノードはピンフレームを生成する（502)ことによってトポロジー探査プロセスを開始する。ピンフレーム生成技術は、図６及び図９（ｂ）を参考にして以下でさらに詳しく記述されている。
図６は、本発明の好ましい実施形態に従ったピンフレーム生成技術の流れ図である。発信元ノード102Ａは、宛先エレメントを決定する（602)。図９（ｂ）に示されているように第１のピンフレーム902Ａを生成するとき、残りのネットワークエレメントに対する単一の接続のみを有する発信元ノード102Ａが、それに接続された唯一の要素を選択することになる。発信元ノード102Ａはピンフレームヘッダ904Ａを生成する（604)。ピンフレームヘッダ904Ａは、ルーチング情報及びピンフレームIDコードを含む。好ましい実施形態においては、ピンフレームIDコードは、値７の３ビット２進表示すなわち111であり、フレームヘッダの３つの最上位ビットの中に位置づけされているが、これらのビットの正確な場所は、変形実施形態において異なる可能性がある。好ましい実施形態においては、最初の３つのビットは受信ルータがフレームを送る出力ポートを特定する。これら３つのビットは、フレームを適切な出力ポートに接続するべくアービトレーションユニット304を特定する。例えば３つのビットが１の２進表示を表わしている場合、第１のアービトレーションユニット304Ａは、出力ポート１（図３中の「01」）を用いて出力されるべき特定のバッファの中にデータが記憶されるという通知を受ける。
ルーチング情報が７の２進表示である場合、これら３つのビットは７番目のアービトレーションユニット304Ｇを特定する。７番目のアービトレーションユニット304Ｇは、以下で記述するように、適切なクロスポイント回路306を活動化させることによりクロスバースイッチ206にバッファを制御フレームハンドラ310へと接続させる。ゼロの３ビット２進表示が、受信要素に対し、受信要素がノードである場合には受信したフレームがその宛先に到達したことを、又要素がルータである場合にはルーチングテーブル内のエントリ不良又は伝送エラーといったようなエラー条件が発生したことを、通知する。従って、図９（ｂ）では第１のピンフレームヘッダ904Ａが示され、111に等しい３つの最上位ビット及び000に等しい次の３つの最上位ビットを有する。発信元ノード102Ａは、以下で記述されているようにエコーフレームのためのルーチング情報を含むフレーム本体906Ａを生成する（606)。しかしながら、第１のエコーフレームはそれが受信されるのと同じポートを介して直接発信元ノードに伝送されることから、第１のピンフレームのためにこのようなルーチング情報は全く必要とされない。従って、第１のピンフレーム本体906Ａはいかなるルーチング情報も内含していない。第１のピンフレームを生成した（502)後、発信元ノードはピンフレームを伝送する（504)。
ピンフレームは宛先エレメント例えばルータ104Ａによって受信される（506)。上述のとおり、ピンフレームヘッダ904Ａは、ピンフレームが受信される７番目のアービトレーションユニット304Ｇを通知するルータ104Ａのポート３入力といったポート入力によって読み取られる。ポート３入力は、フレームヘッダ904Ａの中の３つの最上位ビットすなわち111の値によりピンフレームとしてフレームを特定する。７番目のアービトレーションユニット304Ｇは、クロスポイント回路306Ｃに対し７番目のクロスバースイッチ出力信号回線312Ｇを接続するよう命令し、入力ポート302Ｃに対しピンフレーム902Ａを伝送するように命令する。その結果として、ピンフレーム902Ａは、制御フレームハンドラ310によって受信される。制御フレームハンドラ310は、第１のピンフレームに応答して第１のエコーフレームを生成する（510)。エコーフレーム生成技術は、以下で、図７及び図９（ｂ）−（ｃ）を参考にして記述される。
図７は、本発明の好ましい実施形態に従ったエコーフレーム生成技術の流れ図である。制御フレームハンドラ310は、アービトレーションユニット304Ｇから制御信号回線308を介して、ピンフレームを受信した入力ポート302を受信する。ルータ情報モジュール402は、ルータの一意IDコードを含む。例えば第１のルータ104ＡのためのルータIDコードは20である。制御フレームハンドラ310は、ピンフレームからピンフレームヘッダを削除し（702)、エコーフレームヘッダレジスタ406の中に第１のピンフレーム本体906Ａの第１のラインを記憶する。好ましい実施形態では、エコーフレームヘッダは8.5バイトである。制御フレームハンドラ310は、接続モジュール404からルータの接続情報を検索する。接続情報は、各ポートの状態すなわちネットワーク要素がそれに接続されているか否かを特定する。例えば、最初のルータ104Ａについては、ポート１，２，３及び５がネットワーク要素に接続され、ポート４及び６は接続されていない。制御フレームハンドラ310は又、制御信号回線308上で７番目のアービトレーションユニット304Ｇからの制御信号も受信する。
制御信号を受信した後、エコーフレーム発生器408はエコーフレーム908Ａを作り出す（704)。エコーフレームヘッダ910Ａの３つの最上位ビットは、第１のピンフレームを受信したポートすなわちポート３又は011バイナリに等しい。最初のルータ104Ａは第３のポートを介して発信元ノード102Ａに直接連結されていることから、次の３つの最上位ビットは000であり、エコーフレームがその宛先に達したことを表わしている。エコーフレームヘッダ910は同様に、データフレームとは異なりエコーフレームとしてフレームを特定する。例えばエコーフレームヘッダの最下位ビット内にあるフラグ識別子をも含んでいる。このときエコーフレーム発生器はエコーフレーム本体912Ａを作り出す（706)。このエコーフレーム本体は、ルータIDコード例えば20、受信ポート識別子例えばポート３及び接続情報を含む。エコーフレーム発生器408は、エコーフレームヘッダ910Ａ内で特定されるように、ポート３を介して発信元ノードに対し第１のエコーフレーム908Ａを伝送する(512）。第１のエコーフレームは、発信元ノード102Ａによって受信され(514）、発信元ノード102Ａはそのネットワークトポロジー情報を更新する(516）。
図８は、本発明の好ましい実施形態に従ったトポロジー情報更新技術の流れ図である。発信元ノード102Ａは、あらゆるトポロジーループを特定する(802）。この特定は、ネットワーク要素IDコードを比較することによって達成される。次に発信元ノードは、ルータIDコード及び接続情報を用いてネットワークトポロジー情報を修正する(804）。図９（ｄ）は、第１のエコーフレームを受信した後に発信元ノード102Ａが知っているネットワークトポロジーを例示する。ノードＡは、それが20というIDコードをもつ第１のルータ104Ａに対してこの第１のルータ104Ａのポート３を介して接続されていることを知っている。第１のルータ104Ａのポート１，２及び５はその他のネットワークエレメントに接続され、第１のルータ104Ａのポート４及び６は接続されておらず、ポート３は発信元ノード102Ａに接続されている。発信元ノード102Ａはトポロジー情報を検査し、ネットワークの全てのネットワーク要素が探査されたか否かを決定する(518）。この例においては、第１のルータ104Ａのポート１，２及び５に接続された要素は探査されていなかった。従って、これらの未探査のエレメントの１つ、例えば第１のルータ104Ａのポート１に接続されたネットワークエレメントが選択され、ステップ502−518は、以下に記す通りに反復される。
全てのネットワークエレメントが探査されていなかったことから、発信元ノード102Ａは第２のピンフレームを生成する（502)。上述のとおり、第２のピンフレームを生成するための技術は、第１のピンフレームを生成するための技術と同じである。第１のピンフレームと第２のピンフレームの間の差には、ピンフレームヘッダ内のピンフレームルーチング情報及びピンフレーム本体内のエコーフレームルーチング情報が含まれる。第２のピンフレームを生成するための技術は、図６及び図９（ｅ）を参照して以下に記述される。発信元ノード102Ａは、更新された接続トポロジー情報に基づいてルーチング情報を決定する。発信元ノード102Ａから宛先エレメントまでのピンフレームのルートは、発信元ノードから第１のルータ104Ａ、そして次に第１のルータ104Ａのポート１を通って、この第１のルータ104Ａに接続された宛先エレメントまでである。発信元ノード102Ａは、このルーチング情報に基づいて第２のピンフレームヘッダ904Ｂを生成する（604)。特定的に言うと、第２のピンフレームヘッダ904Ｂの３つの最上位ビットは、第２のピンフレーム902Ｂが送られるときに通る第１のルータ104Ａ内のポートすなわちポート１に対応する。従って、これら３つのビットは、１の２進表示、すなわち001である。次の３つの最上位ビット、すなわち前の３つのビットが第１のルータ104Ａによって削除された後で第２のピンフレームヘッダ904Ｂの中に残ることになる３つの最上位ビットは、上述のとおり第２のネットワークエレメントがこれらのビットを読みとり受信されたフレームがピンフレームであることを決定することになることから、７の２進表示すなわち111である。発信元ノード102Ａは第２のピンフレーム本体906Ｂを生成する（606)。上述の通り、第２のピンフレーム本体906Ｂの第１のラインには、エコーフレームのためのルーチング情報が含まれる。エコーフレームルーチング情報は、宛先ノード内で必要な論理を最小限にするため、宛先ノードの代りに発信元ノード102Ａによって決定される。このラインの最初の３つのビットは、第２のエレメント内に第２のピンフレーム902Ｂが受信されるときに通るポートとなる。このポートは同様に、第２のエレメントから第１のルータ104Ａまで第２のエコーフレームを伝送することになる。発信元ノード102Ａは、まだこのポート情報を有しておらず、従ってこれらの３つのビットは「ドントケア」ビットであり「×」により表わされる。しかしながら、次の３つの最上位ビットは、第１のルータ104Ａによって受信された時点でエコーフレームがとることになるルートを表わす。エコーフレームは、第１のルータ104Ａの第１のポートによって受信され、第３のポートを通して発信元ノード102Ａまで伝送される。従って、次の３つのビットは３の２進表示すなわち011を表わす。第１のルータ104Ａがポート３を通して第２のエコーフレームをルーチングした後、このエコーフレームは、発信元ノード102Ａによって受信されることになる。上述の通り、ゼロの３ビット表示すなわち000が発信元ノードによって解釈されてフレームがその宛先に到達したことを意味する。従って第２のピンフレーム902Ｂは図９（ｅ）に示された値に等しい。第２のピンフレーム902Ｂを生成した後、発信元ノード102Ａは、この第���のピンフレーム902Ｂを第１のルータ104Ａに伝送する(504）。
第１のルータ104Ａは第２のピンフレーム902Ｂを受信し、第２のピンフレームヘッダ904Ｂを読みとる。第２のピンフレームヘッダ904Ｂの最初の３つのビットは、第２のピンフレーム902Ｂがそれを通して送られるべきポートを特定する。上述の通りこれら３つのビットは001に等しい。従って、第１のルータ104Ａはピンフレームヘッダ904Ｂからこれら３つのビットを削除し、残りのルーチングビットについて３つのビットシフトオペレーションを実行し、第１のルータ104Ａのポート１に接続されたネットワークエレメントに対し修正された第２のピンフレーム902Ｂをルーチングする。このネットワークエレメントは第２のルータ104Ｄである。第２のルータ104Ｄは、修正された第２のピンフレーム902Ｂを受信し（506)、第２のピンフレームヘッダ904Ｂを読み取る。第１の３つのビットはこのとき111に等しい。上述の通り、これらのビットは111に等しいことから、第２のピンフレームは第２のルータ104Ｄ内で制御フレームハンドラ310にルーチングされる。第２のルータ104Ｄは、上述の技術を用いて第２のエコーフレーム908Ｂを生成する。特定的には、第２のルータ104Ｄ内の７番目のアービトレーションユニット304Ｇから制御信号を受信した後、エコーフレーム発生器408は第２のピンフレームヘッダ904Ｂを削除し（702)、第２のエコーフレームヘッダ910Ｂを作り出す。第２のエコーフレームヘッダの３つの最上位ビットは、第２のエコーフレーム908Ｂが最初送られるときに通ることになるポートすなわちポート５又は２進101を表わす。３つのビットフィールドの次の２つのセットは、上述の発信元ノード102Ａによってセットされるように001及び000に等しい。第２のエコーフレームヘッダ910Ｂは、受理されたフレームがデータフレームと違ってエコーフレームであることを発信元ノード102Ａに示すフラグを同様に内含する。第２のルータ104Ｄは同様に第２のエコーフレーム本体912Ｂをも作り出す（706)。第２のエコーフレーム本体912Ｂは、第２のルータ104ＤのIDコード例えば23及び入力ポート識別子すなわちポート５を内含する。第２のエコーフレーム本体912Ｂは同様に第２のルータ104Ｄのための接続情報も内含している。特定的に言うと、接続情報は、第２のルータ104Ｄの６つのポート全てが使用中であることを表わす。
第２のルータ104Ｄは、第２のルータ104Ｄのポート５を通して第１のルータ104Ａに対し第２のエコーフレーム908Ｂを伝送する(512）。第１のルータ104Ａは上述の通り、第２のエコーフレーム908Ｂを受信し、エコーフレームヘッダ910Ｂを読み取って、第２のエコーフレーム908Ｂをルーチングすべき次のポートを特定し、第２のエコーフレームヘッダ910Ｂの第１の３ビットを削除し、残りのルータビットをシフトする。第２のルータ104Ｄは第２のエコーフレーム908Ｂをエコーフレームとして特定しない。その代り第２のエコーフレーム908Ｂは、あたかもデータフレームであるかのごとく、第１のルータ104Ａにより処理される。従って第１のルータ104Ａは、データフレームと異なるやり方で第２のピンフレーム902Ｂ又は第２のエコーフレーム908Ｂを取り扱う必要がない。この特長は、これらの機能を実行するのに付加ロジックを必要とするネットワークに比べた場合、ハードウェアの複雑性を減少させ、ネットワーク待ち時間を減少させる。第１のルータ104Ａは、第２のエコーフレームヘッダ910Ｂの中で表示されているように第１のルータ104Ａのポート３を介して発信元ノード102Ａに第２のエコーフレーム908Ｂを伝送する。発信元ノード102Ａは第２のエコーフレーム908Ｂを受信し（514)、トポロジー情報を更新する（516)。上述の通り、トポロジー情報を更新するステップ（516)については、図８にさらに詳しく記述されている。発信元ノードはあらゆるトポロジーループを特定する（802)。この例では、いかなるトポロジーループも特定されなかった。トポロジーループが存在する場合、発信元ノードは、ネットワークエレメントIDコードを比較することによってこのループを特定する。２つのIDコードが一致する場合、発信元ノード102Ａは、下記の通りこれら２つの要素を等しいと定義する。
このとき、発信元ノード102Ａは、ルータIDコード及び接続情報を用いてネットワークトポロジー情報を修正する。図９（ｇ）は、第２のエコーフレーム908Ｂを受信した後発信元ノード102Ａが知っているネットワークトポロジー情報を例示する。発信元ノード102Ａは、20に等しいIDコードをもつ第１のルータ104Ａに接続される。第１のルータ104Ａは、ポート２及び５を介して未知のネットワークエレメントに接続され、ポート４及び６においては接続されず、ポート３を介して発信元ノード102Ａに接続され、ポート５を介して第２のルータ104Ｄに接続されている。第２のルータ104Ｄは23に等しいIDコードを有し、ポート１，２，３，４及び６で５つの未知のネットワークエレメントに接続され、ポート５を介して第１のルータ104Ａに接続されている。発信元ノード102Ａは、未知のネットワークエレメント914Ａが未知のネットワークエレメント914Ｂと同じであることを理解していない。発信元ノードは、第１のルータ104Ａのポート２からの経路及び第２のルータ104Ｄのポート４からの経路を探査しこれら２つの未知のエレメント914Ａ，914ＢのIDコードが同じであることを決定した後、これら２つのエレメントが同じであることを決定することになる。同様にして、第２のエコーフレーム908Ｂを受信した後、受信元ノードは未知のエレメント914Ｃ及び914Ｄが同じであることを知らない。この決定は、発信元ノード102Ａが上述のとおりループを特定した時点で発生することになる。
このプロセスは、全てのポートが検査されるまで続く。リンク又はエレメントが非作動状態になった場合、このリンク又はエレメントは、ピンフレームに応答してエコーフレームが受信されないために特定されることになる。かかるリンク又はエレメントは、更新されたトポロジーの中には内含されない。このとき、発信元ノード102Ａは、更新されたネットワークトポロジーに基づいてルーチングテーブルを生成する（520)。更新されたルーチングテーブルは例えば非作動状態のリンクを避けるためにネットワークエレメント間に代替的経路を提供することができ、或いは又、全ての潜在的ループを回避しフレームトラフィックでリンク又はルータを過剰ロードする可能性を最小限におさえ、ネットワークデッドロックを回避するような最適な解決法を達成するべく、このルーチングテーブルをしらみつぶしに計算することが可能である。ルーチングテーブルを更新するための技術のいくつかの例は、本書にその全体が参考として内含されているR.D.RosnerのPacket Switching, Tomorrow's Communications Today（1982）の中で示されている。
上述の例は、ルータによってピンフレームが受信されエコーフレームが生成される場合を記述している。宛先エレメントが他のノードである場合でも、ピンフレームを受信しエコーフレームを生成、送信するための技術は同じである。
【図１】
0003739798.tif 000002
【図２】
0003739798.tif 000003
【図３】
0003739798.tif 000004
【図４】
0003739798.tif 000005
【図５】
0003739798.tif 000006
【図６】
0003739798.tif 000007
【図７】
0003739798.tif 000008
【図８】
0003739798.tif 000009
【図９（ａ）】
0003739798.tif 000010
【図９（ｂ）】
0003739798.tif 000011
【図９（ｃ）】
0003739798.tif 000012
【図９（ｄ）】
0003739798.tif 000013
【図９（ｅ）】
0003739798.tif 000014
【図９（ｆ）】
0003739798.tif 000015
【図９（ｇ）】
0003739798.tif 000016
【図１０】
0003739798.tif 000017