(57)【特許請求の範囲】
【請求項１】
複数のノードを有すると共にデータフローを制御するための状態メッセージが転送される制御プロトコルを使用するパケット交換網の中の障害を検出する方法であって、
第１のノードにおいて前記状態メッセージを生成し、
該状態メッセージに対応する誤り検査コードを生成し、
該第１のノードから第２のノードまで該状態メッセージを送信し、
該第１のノードから該第２のノードまで該誤り検査コードを送信し、および
障害を検出すべく該第２のノードで受信した該状態メッセージと該誤り検査コードを比較する段階を含んでなる方法。
【請求項２】
前記誤り検査コードが１ビットパリティーチェックコードである請求項１に記載の方法。
【請求項３】
前記の状態メッセージに対応する誤り検査コードを生成する段階は、反転状態メッセージを生成する段階を含む請求項２に記載の方法。
【請求項４】
障害を検出すべく、前記第２のノードで受信した前記状態メッセージおよび誤り検査コードを比較する前記の段階は、
前記誤り検査コードを用いて前記状態メッセージの複数のビットについて、１ビットパリティーチェックを実行し、
いずれかのパリティーチェックが偶数パリティーであると決定した場合に、障害状態を第１の状態にセットし、および
各々のパリティーチェックが奇数パリティーであると決定した場合に、障害状態を第２の状態にセットする段階を含む請求項２に記載の方法。
【請求項５】
前記第１のノードおよび前記第２のノードは隣接するノードである請求項１に記載の方法。
【請求項６】
複数のノードを有すると共にデータフローを制御するための状態メッセージが転送される制御プロトコルを使用するパケット交換網におけるノードリンク内の障害を隔離するための方法であって、
１つのノードにおいて、障害情報を記憶し、
１つのリンクに亘って前記状態メッセージを受信し、
１つの該リンクに亘って誤り検査コードを受信し、
障害を検出すべく、該状態メッセージおよび該誤り検査コードを比較し、および
障害の検出に応答して障害情報を更新する段階を含んでなる方法。
【請求項７】
前記誤り検査コードが１ビットパリティーチェックコードである請求項６に記載の方法。
【請求項８】
障害を検出すべく、前記状態メッセージと前記誤り検査コードを比較する段階は、
前記誤り検査コードを用いて前記状態メッセージの複数のビットについて１ビットパリティーチェックを実行し、
いずれかのパリティーチェックが偶数パリティーであると決定した場合に、障害状態を第１の状態にセットし、および
各々のパリティーチェックが奇数パリティーであると決定した場合に、障害状態を第２の状態にセットする段階を含む請求項６に記載の方法。
【請求項９】
データパケットと、所定の制御プロトコルのもとでそのデータフローを制御するための状態メッセージとが送受信される複数のノードを有するパケット交換網内の障害を隔離するための障害検出装置であって、
データパケットおよび前記状態メッセージを受信するためのリンクインタフェース、
該リンクインタフェースに結合され、前記状態メッセージを検出する状態メッセージ検出器、および
前記状態メッセージが検出された時、該状態メッセージ上の障害検出を実行するため、前記リンクインタフェースに結合された障害検出器を含んでなる障害検出装置。
【請求項１０】
前記障害検出器は、１ビットパリティーチェッカを含む請求項９に記載の装置。
【請求項１１】
状態メッセージベースのリンクフロー制御プロトコルを有するパケット交換網内の１つのノードで障害検出状態メッセージを生成するための装置であって、該ノードは状態情報発生器を有し、該装置は
前記状態メッセージに対応する誤りコードを生成するため前記状態情報発生器に結合された誤りコード発生器、および
前記状態メッセージおよび前記誤りコードをリンクに逐次的に結合するため該誤りコード発生器および該状態メッセージに結合されたリンクインタフェースを含む装置。
【請求項１２】
前記誤りコードが１ビットパリティーチェックコードである請求項11に記載の装置。
【請求項１３】
データパケットと、所定の制御プロトコルのもとでそのデータフローを制御するための状態メッセージとが送受信される複数のノードを有するパケット交換網内で相互接続の障害を検出するためのシステムであって、
状態発生器出力にて前記状態メッセージを生成するための状態発生器と、
出力にて該状態メッセージに応答して誤りコードを生成するため、前記状態発生器出力に結合された誤りコード発生器、および
該状態発生器出力および該誤りコード発生器出力に結合された入力を有し、かつ、該相互接続に結合された出力を有するメッシュインタフェースを備える第１のノード、および
メッシュに結合された入力を有するメッシュインタフェースおよび
前記メッシュインタフェースに結合された障害検出器、を有する第２のノードを含んでなるシステム。
【請求項１４】
前記誤りコード発生器はパリティーチェック生成回路を含み、前記障害検出器はパリティーチェッカを有する請求項13に記載のシステム。
【発明の詳細な説明】
関連出願の相互参照
本願発明の主題は、下記に掲げる出題の主題と関連している。
米国特許出願番号08／605,677：特願平９−530406（特表平11−511634）、弁護士用ドケット番号2268、“非同期パケット交換”の名称で、Thomas M. Wicki, Patrick J. Helland, Takeshi Shimizu, Wolf-Dietrich WeberおよびWinfried W. Wilckeによって1996年２月22日に出願、
米国特許出願番号08／605,676：特願平９−530304（特表平11−504494）、弁護士用ドケット番号2269、“ダイナミックなネットワーク・トポロジー探査のシステムおよび方法”の名称で、Thomas M. Wicki, Patrick J. Helland, Wolf-Dietrich WeberおよびWinfried W. Wilckeによって1996年２月22日に出願、
米国特許出願番号08／603,926：特願平９−530403（特表平11−504496）、弁護士用ドケット番号2270、“低い待ち時間、高いクロック周波数  プレジオ非同期  パケットベース  クロスバー・スイッチング・チップ・システムおよび方法”の名称で、Thomas M. Wicki, Jeffrey D. Larson, Albert MuおよびRaghu Sastryによって1996年２月22日に出願、
米国特許出願番号08／603,880：特願平９−530328（特表平11−504781）、弁護士用ドケット番号2271、“パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置”の名称で、Jeffrey D. Larson, Albert MuおよびThomas M. Wickiによって1996年２月22日に出願、
米国特許出願番号08／604,920：特願平９−530405（特表平11−511633）、弁護士用ドケット番号2272、“電圧のスイングを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法”の名称で、Albert MuおよびJeffrey D. Larsonによって1996年２月22日に出願、
米国特許出願番号08／603,913：特願平９−530318（特表2000−506326）、弁護士用ドケット番号2274、“フロー制御プロトコル・システムおよび方法”の名称で、Thomas M. Wicki, Patrick J. Helland, Jeffrey D. Larson, Albert Mu, Raghu SastryおよびRichard L. Schober, Jr.によって1996年２月22日に出願、
米国特許出願番号08／603,923：特願平９−530217（特表2000−503498）、弁護士用ドケット番号2277、“多重ワード通信におけるエラー検出方法および装置”の名称で、Thomas M. Wicki, Patrick J. HellandおよびTakeshi Shimizuによって1996年２月22日に出願、
米国特許出願番号08／603,882：特願平９−530202（特表2000−503449）、弁護士用ドケット番号2278、“正のソース帰還をそなえたクロック動作されるセンス増幅器”の名称で、Albert Muによって1996年２月22日に出願、
参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。
１．発明の分野
本発明は、パケット交換網における障害検出、特に状態メッセージベースのリンク制御プロトコルを用いるパケット交換網内における相互接続障害の検出および位置特定に関する。
２．関連技術の記述
効率の良いパケット交換網は、ネットワーク内のノード間の信頼性ある電気接続を必要とする。ネットワーク内のノードを物理的にリンクする導体（例えば電線）が「縮退」（stuck-at）または「開放」状態のいずれかにある場合に、ネットワークの誤り（障害）が発生し得る。結合リンクが誤って特定的電圧レベルまで引き上げまたは引き下げられた場合に、導体は「縮退」状態にある。かくして、導体は、物理リンクに適用される信号のレベルの如何に拘わらず、引き上げまたは引き下げられたレベルに縮退される。「開放」状態は、リンクが信号に結合されずその代わりに信号を全く転送しておらず、かくして中間電圧レベルで「浮動している」ことを意味する。電気リンク内の「縮退」および「開放」条件は共に、パケット交換網内で障害条件を引き起こす。障害の検出および位置特定は、ネットワークメンテナンスにおいてネットワーク管理者を補助する上で重要であり、運用中における障害の検出および位置特定は、許容することのできない程の数の障害をもつネットワークエリアを回避するため、ソースノードがパケットを再度ルーチングすることを可能にする。かくして、障害の検出および位置特定は、信頼性の高いパケット交換網を維持する上で重要である。従来の障害検出方法の１つは、パケット交換網上を伝送される各々のパケットに含ませた巡回冗長検査コード（CRC）といった誤りコードを使用している。この従来の方法では、パケットを発信するノードは、誤り検出コードを生成し、伝送されるパケットにそのコードを追加する。受信ノード（宛先）はこのとき、従来通りであれば、受信したデータパケットについての誤り検査を実行して、そのパケットが何らかの伝送エラーを受けたか否かを見極める。この障害検出方式は、誤り検出をデータ伝送と一体化させ、かくしてデータパケットが宛先ノードで受信された後で初めて障害が検出されることになるという欠点をもつ。この従来の方式はさらに、障害が検出されるだけで、特定の物理リンクに隔離されることはないという欠点も有している。この検出方式の従来の変形形態では、障害をネットワーク内の１つの領域に隔離すべくネットワーク内の中間ノードで、パケットについての障害テストが行われる。しかしながらこの方式は、１つのパケットの合計伝送時間に待ち時間を付加することになり、かくしてネットワーク性能を劣化させる。
もう１つの従来の障害検出方式は、ネットワーク内のノード経路に沿ってテストソースからテストパケットを伝送する。経路（パス）に沿った各々のノードは、テストパケットを伝送し、受信ノードからの肯定応答（アクノリッジ）を待機する。いかなる肯定応答も受信されない場合、ノードはノード経路に沿ってテストソースまで、誤り位置情報と共に誤りを報告する。このようにして、テストモードの動作中に障害が検出され隔離される。この方式を用いると、テスト動作モードの間だけ障害が検出され位置特定されるので、専用テストパケットの使用が必要とされる。この従来の障害検出方式は、場合によっては、ネットワーク全体をテストするのに数多くのテストパケットが必要となるというさらなる欠点も有している。
かくして、テストモード中に専用テストパケットの生成を必要とせず、データパケットが送られていない場合でさえ障害を検出するようにして、パケット交換網内の障害を効率良く検出し位置特定するための方法および装置に対するニーズに存在する。
発明の要約
本発明によると、データフローを制御するために状態メッセージベースのリンク制御プロトコルを使用する、パケット交換網内の障害を効率良く検出し位置特定するための装置および方法が提供される。このプロトコルに従うと、受信ノード内のバッファ利用可能性について送信ノードに知らせるため、隣接ノード間で状態メッセージが伝送される。本発明によると、各々の状態メッセージに対して１つの誤りコードが生成される。具体的には、第１のノードは状態メッセージおよび対応する誤りコードを生成する。好ましくは、誤りコードは、１ビットパリティーチェックコードであり、したがって状態メッセージの反転（相補）バージョンである。状態メッセージは、リンクを用いて第１のノードから第２の隣接するノードへと送られる。誤り検査コードは同様に、状態メッセージを送るのに使用されたものと同じリンクを用いて、第１のノードから第２のノードまで送られる。好ましくは、状態メッセージおよび誤りコードは各々データリンクのビット幅に等しいビット幅をもつ。第２のノードでは、障害検出器が状態メッセージと誤り検査コードとを比較して、相互接続障害が発生したか否かを決定する。好ましくは、この比較は、パリティーチェックコードとして誤りコードを用いた受信状態メッセージの各ビットの１ビットパリティーチェックである。１つの実施形態においては、パリティーは、複数の「排他的論理和」ゲートおよび「論理積」ゲートツリーを含む論理ネットワークを用いて検査される。
好ましくは、障害が検出された場合で、ネットワークノードにあるエラーモニタ内のカウンタがカウントアップされる。エラーモニタは、障害情報を記憶しており、処理ノードによってアクセスされ得る。
【図面の簡単な説明】
図１は、本発明によるパケット交換網を例示するダイヤグラムである。
図２は、本発明によるルータノードの機能的ブロックダイヤグラムである。
図３は、本発明によるルータチップ上のポートの機能的ブロックダイヤグラムである。
図４Ａは、本発明による中間状態ワードのビット配列を例示する。
図４Ｂは、本発明による、自身のパリティーチェックコードを含む状態メッセージのビット配列を例示する。
図５は、本発明による障害検出器回路の概略図である。
好ましい実施形態の説明
図１は、ノード間相互接続（リンク）104により相互接続された複数のルータノード103をもつメッシュ上で相互接続された複数の入出力（Ｉ／Ｏ）ノード102および中央処理ユニット（CPU）ノード101を有するパケット交換網100を例示するダイヤグラムである。動作中、データパケットは、１つのルータ103または一連のルータ103を通してパケットを（データフレーム内で）交換（スイッチ）することによって、発信（ソース）ノードから宛先ノードまで送られる。各々の相互接続104は、標準的には長さ約数メートルのケーブルであり、86本の電線を持つ。86本の電線は、データ用の34本の電線を２セット（すなわち２つのノード間の各方向について１つずつの、２つの34ビット幅のデータ経路）、フレーム指示および制御情報の伝送専用の２本の電線、差動クロック信号を伝送するための２本の電線およびデータのための電圧基準（voltage reference）信号用の５本の電線を含む。
本発明の原理は、さまざまなルーチング方法を用いるパケット交換網に適用されるが、例示された実施例で用いられるルーチング方法は、１つのパケットの経路全体（ネットワークを通してのルート）がパケットのソースにて決定されフレームヘッダを持つデータフレーム内に符号化されるソースルーチング技法である。かくして各々のパケットは、データフレームのヘッダ内にて規定された経路に沿ってソースノードから宛先ノードまで送られる。
本発明によると、CPUノード101、Ｉ／Ｏノード102およびルータノード103は、そのリンクプロトコル用状態メッセージベース（クレジットベース）のフロー制御メカニズムを使用する。このプロトコルによると、データフレームは、下流近辺（隣接ノード）において空のバッファが利用可能である場合のみ、CPUノード101、Ｉ／Ｏノード102およびルータノード103の間で伝送される。受信（宛先）ルータノード103（つまりCPUノード101またはＩ／Ｏノード102）が、状態メッセージを送信（ソース）ルータノード103（つまりCPUノード101またはＩ／Ｏノード102）まで送る。状態メッセージは、受信ノード101，102または103にある各々の入力バッファ313（図３に例示）の状態（満杯または空）を表示する。状態メッセージはデータパケットとインタリーブされているため、そして状態メッセージは使用中でない相互接続104上のデフォルトトラフィックであるために、状態メッセージは、高いパーセンテージの時間、相互接続104上に送られている。本発明の障害検出および位置特定方法は、状態メッセージのパリティーチェックを用いることから、本発明は有利にも、正常なネットワーク動作中および使用されていない時間中ともに、障害情報を収集する。かくして、本発明によると、ネットワークまたはその一部が専用テストモードで動作することを必要とすることなく、障害検出および位置特定情報が累積される。
図２には、本発明によるルータノード103の機能的ブロックタイヤグラムが例示されている。ルータノード103は、走査ポートによって診断プロセッサ203に結合されたルータチップ201を有する。診断プロセッサ203は同様に外部ポートにも結合されている。外部ポートは、誤りおよび性能情報を読取る目的で、処理ノード（例えばCPUノード101）によりアクセスされ得る。診断プロセッサ203に結合された外部ポートは、RS232Cシリアルポートといったような標準的インタフェースポートあるいはこのようなインタフェースポートの修正バーションである。
ルータチップ201は、パケット交換網100内の6つの相互接続104に結合するための6つの双方向ポート205を有する。ルータチップ201は付加的に、各ポート205に結合されたクロスバースイッチ207を有する。
ポート205は各々、クロスバースイッチ207を相互接続104に結合し、各々送信および受信の両方の機能を果す。各ポート205は、隣接ノードからデータパケット（データフレーム内の）を受信し、次のノードに送る（結合させる）ためフレームをクロスバースイッチ207を通して、選択されたポート205へとルーチングする。図３は、ポート205の機能的ブロックダイヤグラムである。ポート205はデータシンクロナイザ301、入力バッファ部302、制御装置303、出力セレクタ／誤りコード発生器304、メッシュ（mesh）インタフェース305およびエラーモニタ306を有する。
データシンクロナイザ301は相互接続104に結合され、隣接ノードからワード（34ビット幅）を受信する。受信したワードはデータフレームまたは状態メッセージの一部分である。データシンクロナイザ301はデータフレーム上でクロック同期を行い、受信したワードがデータフレームまたは状態メッセージのいずれの一部分であるかを決定する。データシンクロナイザ301が、受信したワードがデータフレームの一部分であると決定した場合には、データシンクロナイザ301は受信したワードを入力バッファ部302に結合する。しかしデータシンクロナイザ301が、受信したワードが状態メッセージであると決定した場合には、受信したワードは制御装置303および障害検出器307（データシンクロナイザ301の中にある）に結合される。
入力バッファ部302は、データシンクロナイザ301およびクロスバースイッチ207に結合されたデータ経路を有し、制御装置303から制御信号を受信する。入力バッファ部302は複数のデータフレームを受信し、それを記憶する。入力バッファ部302は、各々がデータフレーム全体を記憶するのに充分大きい６つのバッファ313を有しているので、この入力バッファ部302は、出力ポートの回線争奪（contension）の期間中、最高６つのデータフレームを記憶するための容量を持つことになる。
論述したとおり、ポート205は、データシンクロナイザ301、入力バッファ部302および出力セレクタ／誤りコード発生器304に結合された制御装置303をも含んでいる。好ましくは制御装置303は、入力バッファ部302内のデータフレームに対して優先性を割当てるためのアービトレーション部を有する。制御装置303は、入力バッファ部302および相互接続104に対する状態メッセージまたはデータフレームのいずれかの結合を選択するためのセレクタ304に結合された制御信号も生成する。
セレクタ304は、制御装置303からの制御信号および中間状態ワード（図４Ａを参照して以下に記述される通り）を受信して、受信された制御信号に応答して、（ｉ）誤り検査部分を有する状態メッセージまたは（ii）クロスバースイッチ207から受信したフレームのいずれかを、その出力端で生成する。出力セレクタ304は、メッシュインタフェース305に結合される。
制御装置303によって生成される中間状態ワード（Buff_Stat〔15：０〕）は、もし存在するならば、入力バッファ部302の６つの入力バッファ313のいずれが現在満杯（Currently_Full）である（利用できない）か、また最後の状態メッセージが隣接ノードに送られて以降どの入力バッファが使用されたか、を示すバッファ状態情報を含む。図４Ａは、本発明による中間状態ワードのビット配列を例示する。中間状態ワード400は、16ビットのワードである。ビット０〜５はNext_Msg_To_Sendビット401であり、ビット６および７は予約されたビット402であり（例示された実施例においてはデジタル「１」にセットされている）、ビット８〜13はCurrently_Fullビット403であり、ビット14および15は予約されたビット404（例示された実施例ではデジタル「１」にセットされている）である。Next_Msg_To＿Sendビット401は、各々６つの入力バッファ313（入力バッファ部302内にある）のうちの１つに結びつけられて（associated）おり、最後の状態メッセージが隣接ノードに送られた後、結びつけられた入力バッファ313が１つの入力フレームを受信していたならば、「１」にセットされる。かくしてNext_Msg_To_Sendビット401は各々、各状態メッセージの送信の間の入力バッファ313の状態に関する累積情報を含んでいる。予約ビット402は、例示された実施例にて用いられた６つのバッファに代えて最高８つのバッファをもつ構成とするときのために、予約される。Currentrly_Fullビット403は各々６つの入力バッファ313のうちの１つに結びつけられ、対応する入力バッファが現在満杯であり従って利用不可能である場合「１」にセットされる。予約ビット404は、例示された実施例において用いられた６つのバッファに代えて最高８つの入力バッファを有する構成とするときのために、予約される。
ここで再び図３を参照すると、セレクタ304は、インバータバンク（inv）310，311およびマルチプレクサ312を有する。マルチプレクサ312は、各々が68ビットの幅を有する第１および第２の入力、単一の68ビット幅の出力および第１または第２の入力のいずれかを選択するための選択制御信号を有する。第１のマルチプレクサ入力は、34ビットからなる下位部分と34ビットからなる上位部分とを有する。インバータバンク310，311は各々、中間状態ワードの一部分に結合されている。好ましくは、インバータバンク310は、Next_Msg_To_Sendビット401を含む下位８ビットに結合され、インバータ311はCurrently_Fullビット403に結合される。インバータバンク310，311は、中間状態ワード400に対応する１ビットパリティーチェックコードを生成すべく、中間状態ワードの各ビットを反転させる。インバータバンク310，311の出力は、第１のマルチプレクサ入力の上位部分に結合される。中間状態ワード400は、マルチプレクサ312の第１の入力の下位部分に結合される。第１のマルチプレクサ入力の下位部分に結びつけられた付加的な入力ビット（15−８，33−24）は、望むとおりに、満杯バッファ、ルータバージョン情報、状態情報またはその他のシステム情報を示すべく、「高」（デジタル「１」）電圧源または大地（デジタル「０」）のいずれかに結合される。第１のマルチプレクサビットの上位部分に結びつけられた対応する付加的入力ビット（49−42，67−58）は、下位部分と共に１ビットのパリティーチェックコードを形成するように選択される。かくして、第１のマルチプレクサ入力が選択された時点で、マルチプレクサ312は、状態情報を含む状態メッセージおよび対応する１ビットパリティーチェックコードを生成する。
図４Ｂは、セレクタ304によって生成される68ビットの状態メッセージを例示する。状態メッセージ410は68ビット幅であり、下位34ビット411内の状態情報および上位34ビット412内のパリティーチェックコードを有する。かくして、上位ビット412（ビット67〜34）は、状態メッセージの下位34ビット（ビット33〜０）の反転（相補）バージョンである。
セレクタ304は、制御装置303によって選択される通りに、状態モードまたはデータフローモードで作動する。制御装置303がデータフローモードを選択すると、セレクタ304は、クロスバースイッチ207から受信したデータをメッシュインタフェース305に結合する。しかしながら、制御装置303が状態モードを選択した場合、セレクタ304は、パリティーチェックコードを含む状態メッセージを生成し、この状態メッセージをメッシュインタフェース305に結合する。
メッシュインタフェース305は、マルチプレクサ312の68ビット幅出力を、相互接続104に結合する。メッシュインタフェース305は、相互接続104を用いた逐次伝送（sequential transmission）のために、マルチプレクサ312出力のパリティーチェックコード部分（下位34ビット）から、マルチプレクサ312出力の状態メッセージ部分（下位34ビット）を分離する。かくして、メッシュインタフェース305は、68ビット幅のデータワードを受信し、68ビットのワードの上位および下位部分を多重化して２つの逐次的34ビットワードを生成する。メッシュインタフェース305は次に、相互接続104の34ビット幅のデータ部分を用いて、隣接ノードに対し順次２つの34ビットのデータワードを送る。こうして、伝送されたデータビットに対応する各電線（導体）が、その付随するパリティーチェックコードを伴う１つのバッファ状態メッセージの送信中に、１つの遷移を有することが保証される。
好ましい実施例においては、メッシュインタフェース305は、相互接続104の帯域幅を最大限にすべく１クロックサイクル当り、１本の電線につき、２つのビットを転送する。この増大した帯域幅を利用することは、第１のクロック位相中第１のデータビットを、また第２のクロック位相中第２のデータビットを多重化することによって、達成される。かくして、隣接するノードの間の物理リンク（相互接続104）は、幅がわずか34ビットであるものの、有効な帯域幅は、全クロックサイクルに亘り68ビットである。しかしながら本発明の原理によれば、上述のように増大した帯域幅の利用（クロックの２つの位相を用いた）を伴う相互接続を使うことを必要としない。その代わり、状態メッセージおよび誤り検査コードは、各々逐次クロックサイクル上のクロックの同じ位相で、または異なる時点で同じ物理リンク上に状態メッセージおよび誤り検査コードの両方を転送すべくその他のあらゆるクロック方式を用いて、隣接するノードに対し順次送信することができる。
ここで再び第３図を参照すると、ポート205は、エラーモニタ306に対し相互接続障害を検出し報告するための障害検出器307（データシンクロナイザ301内にある）を有している。図５は、本発明による障害検出器307の概略図である。障害検出器307は、68ビットの立下りエッジトリガー形レジスタ（Reg）502に結合された。34ビット幅の立上りエッジトリガー形レジスタ（Reg）501を有する。レジスタ501は立上りエッジでトリガーされており、レジスタ502は立下りエッジでトリガーされていることから、レジスタ502は、逆クロック位相を用いて、単一のクロックサイクル全体にわたり、状態メッセージおよび誤り検査コードを含む68ビットをラッチする。かくしてレジスタ502は、下位34ビット内に状態メッセージを、そして上位34ビット内に誤りコード（１ビットのパリティーチェックコード）をそれぞれラッチする。障害検出器307はまた、状態メッセージのビット的な（bitwise）パリティーチェックを実行するため、レジスタ502に結合された論理ネットワーク503も有している。例示した実施例においては、論理ネットワーク503は、反転出力を有する「論理積ツリー」に直列に結合された「排他的論理和」（EXOR）論理ネットワーク504を含んでいる。この実施例では、論理ネットワーク503は、障害が検出されたか否か（状態メッセージビットのいずれかでパリティーエラーが発生したか否か）を示す障害状態信号（Buff_Stat_Err）を生成する。一変形例では、「排他的論理和」論理ネットワーク504の出力はさらに、相互接続104上のデータリンクの各ビットに結びつけられた障害情報を記憶するため、レジスタ（図示せず）またはその他の記憶装置に結合される。この構成では、検出された障害は、具体的なビット障害にまで隔離される。
第１のクロック位相中に状態メッセージをまた第２のクロック位相中に対応する１ビットのパリティーチェックコードを、同じ物理リンク（同じ34本の電線）上で送信することによって、障害検出器307は、相互接続104上に存在し得る「縮退」および「開放」誤りの両方共識別し隔離することができる。本発明の障害検出および位置特定方式は、例えば無線リンクまたはその他のあらゆる非配線リンクを用いるネットワーク内といったように、非物理リンクの中で発生する障害をも同様に隔離できる、ということも理解すべきである。
ここで再び図３を参照すると、ポート205はまた、エラーモニタ部306を含んでいる。エラーモニタ部306は障害検出器307に結合され、診断プロセッサ203による検索および処理のため誤りデータを収集する。エラーモニタ部306は、与えられた相互接続104上で検出された障害の現状カウントを保持するため、障害検出器307によって障害が検出される毎にカウントアップされるカウンタを有する。現状カウントは、診断プロセッサ203によるアクセスのために、エラーレジスタの中に記憶される。
好ましくは、カウンタ値は、エラーモニタ部306から検索されたカウンタ値を蓄積する診断プロセッサ203によって、定期的に読取られる（そしてその後クリアされる）。１つの実施例においては、診断プロセッサ203は、過渡的ネットワーク条件（transient network conditions）つまり「グリッチ」（glitches）の結果として検出された障害を識別すべく、しきい値解析を実行し、この情報を蓄積する。これに代えてまたは付加的に、CPUノード101より走らされた診断プログラムによりしきい値処理解析を実行することができる。
１つの実施例においては、エラーモニタ部306内のカウンタは、ひとたび最大に達した時点で最大カウント値（例えば、全ての「1s」）を保持する10ビットカウンタである。かくして、リンクが特に高い障害率を生じさせた場合、カウンタは「ラップアラウンド」（wrap araound）してゼロから計数し始めることはせず、代わりにカウンタ最大値を超えて、１つの誤り（障害）率をシグナリングする最大状態を維持することになる。
本発明の障害検出方法および装置は、特定のノードにおける相互接続104の特定のセットに専用のものとなっていることから、エラーモニタ部306の有利なこととして、診断プログラムまたはその他のタイプのネットワークモニタプログラム用の局所化された障害検出情報をエラーモニタ部306は提供し、エラーモニタ部306および診断プロセッサ203の中に蓄積された障害データをアクセスする。かくして、このような診断およびネットワークプログラムにより、高い障害率をもつ相互接続104を用いるのを避けるべく、ネットワークを再構成しルーチングテーブルを更新することができる。さらに、この障害検出および位置特定方法は、リンク制御プロトコルに使用される状態メッセージに基礎を置くことから、テストパケットまたはテスト動作モードもさらにはデータパケットの伝送さえも用いる必要なく、障害の検出および位置特定がなされる。
かくして、本発明の方法および装置は、状態メッセージベースのリンクフロー制御プロトコルを用いるパケット交換網内での、効率の良い障害検出および位置特定を実現する。
【図１】
0003816529.tif 000002
【図２】
0003816529.tif 000003
【図３】
0003816529.tif 000004
【図４】
0003816529.tif 000005
【図５】
0003816529.tif 000006