(57)【特許請求の範囲】
【請求項１】
ノードをネットワークループに接続するためのポートであって；
（ａ）ノードからのデータを監視し無効データが前記ポートで受信されたときにエラーフラグを立てる検出要素；
（ｂ）フレーム終了プリミティブを生成するフレーム終了ジェネレータ；
（ｃ）バッファデータを生成するバッファデータジェネレータ；
（ｄ）制御入力、出力および複数のデータ入力を有する切換要素であって、ノード、上流のノード、前記フレーム終了ジェネレータおよび前記バッファジェネレータの各出力が、対応するデータ入力に接続されている切換要素；ならびに
（ｅ）前記検出要素と、前記切換要素の制御入力とに接続されている制御要素であって、前記エラーフラグにしたがって、前記切換要素のデータ入力のうちの一つを選択して、前記ポートによって下流ノードに出力される切換要素の出力に接続し、そして、現データフレームが無効データを含むことをエラーフラグが示したとき、前記フレーム終了ジェネレータに対応するデータ入力を選択することによって現データフレームを終了し、その結果、前記無効データの第一ワードを前記フレーム終了プリミティブで置換し、次いで、前記無効データの次のワードを、前記バッファデータジェネレータからの前記バッファデータで置換する制御要素；
を含んでなるポート。
【請求項２】
ファイバーチャネルアービトレーテッドループ内のハブポートである請求項１に記載のポート。
【請求項３】
無効データが、無効送信ワード内の無効キャラクタである請求項１に記載のポート。
【請求項４】
無効データが、無効送信ワード内の不整合の特殊キャラクタである請求項１に記載のポート。
【請求項５】
無効データが、ノードから受信したデータフレーム内にある請求項１に記載のポート。
【請求項６】
フレーム終了プリミティブが、ＦＣ−ＡＬ  ＥＯＦＡの順序セットである請求項１に記載のポート。
【請求項７】
バッファデータが、ＦＣ−ＡＬの現充填ワードである請求項１に記載のポート。
【請求項８】
バッファデータが、無効データを含むフレームの直前に受信された現充填ワードと同じＦＣ−ＡＬの現充填ワードである請求項１に記載のポート。
【請求項９】
制御要素が、切換要素に、エラーフラグが立てられた後は、ノードからのデータに対応するデータ入力を接続することから、異なるデータ入力を接続することに変更させる請求項１に記載のポート。
【請求項１０】
エラーフラグが立てられた後、制御要素が、切換要素に、ノードからのデータに対応するデータ入力を接続することから、フレーム終了ジェネレータに対応するデータ入力を接続することに変更させ、次いでバッファデータジェネレータに対応するデータ入力に接続させる請求項１に記載のポート。
【請求項１１】
フレーム終了プリミティブでないプリミティブがポートで受信されると、検出要素がフレーム間フラグを立てる請求項１に記載のポート。
【請求項１２】
エラーフラグが立てられた後、制御要素が、切換要素に、ノードからのデータに対応するデータ入力を接続することから、フレーム終了ジェネレータに対応するデータ入力を接続することに変更させ、次にフレーム間フラグが立てられるまで、バッファデータジェネレータに対応するデータ入力を接続させ次いでノードからのデータに対応するデータ入力を接続させる請求項１１に記載のポート。
【請求項１３】
ノードをファイバーチャネルアービトレーテッドループに接続するハブポートであって；
（ａ）ノードの出力に接続されたノードポート入力；
（ｂ）ノードポート入力に接続された検出回路であって、その順序セット検出回路がノードからのデータを監視して、無効送信ワードがハブポートにおいてノードから受信されたときエラーフラグを立て、およびフレーム終了の順序セットでない順序セットがハブポートにおいてノードから受信されたときフレーム間フラグを立てる検出回路；
（ｃ）フレーム打切り終了の順序セットを生成するフレーム終了ジェネレータ；
（ｄ）現充填ワードの順序セットを生成する現充填ワードジェネレータ；
（ｅ）ハブポート出力；
（ｆ）ハブポート入力；
（ｇ）マルチプレクサ制御入力、マルチプレクサ出力および複数のマルチプレクサ入力を有するマルチプレクサであって、そのマルチプレクサ出力がハブポート出力に接続され、そしてノードポート入力、ハブポート入力、フレーム終了ジェネレータおよび現充填ワードジェネレータが各々、対応するマルチプレクサ入力に接続されているマルチプレクサ；ならびに
（ｈ）前記検出回路と前記マルチプレクサ制御入力に接続された出力制御回路であって、前記エラーフラグとフレーム間フラグにしたがって、どのマルチプレクサ入力をマルチプレクサ出力に接続するかを制御し、そして、現データフレームが無効送信ワードを含んでいることをエラーフラグとフレーム間フラグが示したとき、フレーム終了ジェネレータに対応するマルチプレクサ入力を選択することによって現データフレームを終了し、その結果、前記無効送信ワードを前記フレーム打切り終了の順序セットで置換し、次いで、次のワードを、前記現充填ワード順序セットで置換する出力制御回路；
を備えてなるハブポート。
【請求項１４】
無効送信ワードが、不整合の特殊キャラクタを含んでいる請求項１３に記載のハブポート。
【請求項１５】
ネットワークループ内の第１のノードからのデータフレームを浄化する方法であって：
第１のノードからデータフレームを受信し；そして
前記データフレームを前記ネットワークループ内の前記第１のノードから下流の第２のノードへ送信する；
ことを含み、
前記受信したデータフレームが無効データを含むとき、前記データフレームを前記第２のノードへ送信する前に、前記無効データの最初のワードをフレーム終了プリミティブで置換するとともに、これに続く前記データフレームのデータの総てのワードをバッファデータで置換すること、を含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子ネットワーク通信システムに関し、より具体的に述べるとネットワークループのポート間のデータ流の浄化（ｓａｎｉｔｉｚｉｎｇ）に関する。
【０００２】
【従来の技術と発明が解決しようとする課題】
電子データシステムは、ネットワーク通信システムを使用して相互に接続されることが多い。広域のネットワークとチャネルは、コンピュータネットワークのアーキテクチャのために開発された二つの方法である。伝統的なネットワーク（例えば、ＬＡＮおよびＷＡＮのネットワーク）は、非常に大きな柔軟性と比較的長い距離の通信能力を提供する。ｔｈｅ Ｅｎｔｅｒｐｒｉｚｅ Ｓｙｓｔｅｍ Ｃｏｎｎｅｃｔｉｏｎ （ＥＳＣＯＮ） およびｔｈｅ Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ （ＳＣＳＩ） などのチャネルが、高性能と高い信頼性を求めて開発されている。チャネルは、一般に、コンピュータ間またはコンピュータと周辺装置との間に専用の短距離接続を使用している。
【０００３】
チャネルおよびネットワークの両者の特徴が、「ファイバーチャネル（Ｆｉｂｅｒ Ｃｈａｎｎｅｌ）」として知られている新しいネットワークの標準中に組みこまれている。ファイバーチャネルシステムは、チャネルの速度と信頼性およびネットワークの柔軟性と接続性を兼ね備えている。ファイバーチャネルの製品は現在、１０６２Ｍｂｐｓといった非常に高いデータ速度で作動できる。このような速度は、要求がかなり過大な用途、例えば非圧縮でフルモーションの高品質ビデオを扱うのに十分な速度である。ＡＮＳＩの仕様書、例えばＸ３．２３０−１９９４は、ファイバーチャネルを定義している。この仕様書は、ファイバーチャネルの機能を五つの層に分配している。ファイバーチャネルのこれら五つの機能層は、ＦＣ−０−層：物理的媒体層；ＦＣ−１−層：コーディングとエンコーディングを行う層；ＦＣ−２−層：ノード間のフレーミングプロトコルとフロー制御を含む実トランスポート機構；ＦＣ−３−層：共通サービス層；およびＦＣ−４−層：上層プロトコルである。
【０００４】
ファイバーチャネルのネットワークを配置する方法は一般に三つある。すなわち単純なポイントツーポイント接続；アービトレーテッドループ（ａｒｂｉｔｒａｔｅｄ ｌｏｏｐ）；および交換ファブリック（ｓｗｉｔｃｈｅｄ ｆａｂｒｉｃ）である。最も単純なトポロジーはポイントツーポイントの配置構成であり、この場合、任意の二つのファイバーチャネルシステムが単純に直接、接続されている。アービトレーテッドループは、アービトレーションによって帯域幅に対する共用アクセスを提供するファイバーチャネルリングの接続である。切換ファイバーチャネルのネットワーク（「ファブリック」と呼称されている）は、クロスポイント切換（ｃｒｏｓｓ−ｐｏｉｎｔ ｓｗｉｔｃｈｉｎｇ）の形態である。
【０００５】
従来のファイバーチャネルアービトレーテッドループ（「ＦＣ−ＡＬ」）のプロトコルは、装置またはループセグメントを、ノードポートを通じて相互に接続する際のループの機能に関するプロトコルである。しかし、ノードポートを、直接、相互接続することは、一つのループ内の一つのノードポートが故障すると、一般に、ループ全体が故障するという点が問題である。この難点は、ハブを使用することによって、従来のファイバーチャネルの技法で克服されている。ハブは、ループトポロジィで相互に接続されたいくつものハブポートを備えている。ノードポートは、ハブポートに接続され、中央のハブとスタートポロジィを形成している。ノードポートに接続されていないか、または故障したノードポートに接続されているハブポートはバイパスされる。このように、前記ループは、ノードポートが外されているかまたは故障しているかにかかわらず維持される。
【０００６】
さらに詳しく述べると、ＦＣ−ＡＬネットワークは、一般に、単一のデータ経路を形成するループ配置構成で共に連結されている二つ以上のノードポートで構成されている。ノードポートツーノードポートループのこのような配置構成を、図１に示す。図１において、六つのノードポート１０２、１０４、１０６、１０８、１１０、１１２は、データチャネル１１４、１１６、１１８、１２０、１２２、１２４によってともに連結されている。このように、一つのループが、データチャネル１１４を通じてノードポート１０２からノードポート１０４までのデータ経路、次にデータチャネル１１６を通じてノードポート１０４からノードポート１０６までのデータ経路などおよびデータチャネル１２４を通じてノードポート１０２までのデータ経路で形成されている。
【０００７】
上記ループのどこかのポイントに故障があると、ループのデータ経路は切断されてループの全通信は停止する。例えば、ノードポート１０４が故障すると、データはもはやノードポート１０４を通過しない。また故障は例えば電線の物理的切断または電磁干渉などによってノードポート間のデータチャネル間に起こることがあり、そのポイントで有意なデータの破壊または損失が生じる。このポイントでループ１００は切断されている。データはもはや円形経路を流れず、ノードポートはもはや互いに接続されない。上記ループは、事実上、ノードポートの一方向に連結されたリストになっている。
【０００８】
ノードポートツーノードポートのループのデータ経路が切断されるのを避けるための従来の方法では、ループ内にハブが導入される。ハブは、スターパターンの、ノードポートの物理的配置構成をつくるが、これらノードポートの実際の作動はループパターンで続く。ハブとの接続プロセス（すなわちノードポート間でデータを送るプロセス）および相互作用は、ハブに接続されたノードポートに対して有効に透過性なので、これらノードポートは、その関連を標準のファイバーチャネルアービトレーテッドループの配置構成と認識する。
【０００９】
図２は中央にハブを接続されたアービトレーテッドループ２００を示している。図１に示したループ１００と同様に、ループ２００は六つのノードポート２０２、２０４、２０６、２０８、２１０、２１２を有し、これらノードポートは各々ハブ２１４に連結されている。ハブ２１４は六つのハブポート２１６、２１８、２２０、２２２、２２４、２２６を有し、各ハブポートは、一連の内部ハブリンクによって、ループトポロジーで他のハブポートに接続されている。このようにして、ノードポート２０２〜２１２は各々、対応するハブポート２１６〜２２６に接続されている。したがって、ノードポート２０２〜２１２は、あたかも図１に例示されているようなループ式で接続されているように作動する。データは一般に、一つのハブポートに上流のハブポートから流入し、連結されているノードポートに入り、そのノードポートからハブポートに戻り、次いでそのハブポートから下流のハブポートに流入する。
【００１０】
ノードポートまたはデータチャネルが故障するかまたは切断されると、ループは、その故障したノードポートをバイパスすることによって維持される。従来のハブの場合、ハブポートがもはやデータをノードポートから受信しない場合、そのハブポートはバイパスモードになる。そのバイパスモードで、ハブポートは、データチャネルでノードポートから受信したデータを送るのではなくて、内部ハブリンクにそって前の上流ハブポートから受信したデータを送る。したがって、対応するハブポートをバイパスモードにおよびバイパスモードから変えることによって、ノードを取り外したりループに挿入する。
【００１１】
ＦＣ−ＡＬネットワークのデータ流の内容は、ＦＣ−ＡＬプロトコルによって定義されている。キャラクタが、ループを通じて一つのポートから次のポートへ常に移動している。これらのキャラクタは実データかまたはループ制御信号である。ループ制御信号は、データフレームがソースノードポートから宛先ノードポートに送られているときを除いて、データ流中に常に存在している。ＦＣ−ＡＬプロトコルのもとでは、このループ制御信号は順序セットであり、プリミティブ信号とプリミティブシーケンスを含んでいる。順序セットは、一般に、順序セットの開始を示す特殊キャラクタ、例えばＫ２８．５で始まる。
【００１２】
データフレームは、フレーム開始プリミティブ（ｆｒａｍｅ ｉｎｉｔｉａｔｉｏｎ ｐｒｉｍｉｔｉｖｅ）が先行しかつフレーム終了プリミティブが続いている一連の一つ以上のデータワードを含んでいる。ＦＣ−ＡＬのデータフレームは、フレーム開始（「ＳＯＦ」）と呼称される特定の順序セットが先行しかつフレーム終了（「ＥＯＦ」）と呼称される特定の順序セットが続く中断なしのデータの流れを含んでいる。フレーム打切り終了（Ｅｎｄ ｏｆ Ｆｒａｍｅ Ａｂｏｒｔ）（「ＥＯＦＡ」）は、フレームを打切るための特定のタイプのＥＯＦ順序セットである。フレーム間ギャップが、フレーム終了プリミティブの後で次のフレーム開始プリミティブの前に生じる。ＦＣ−ＡＬプロトコルのもとでは、フレーム間ギャップは、省略時（デフォルトで）、六つの順序セットを含むと定義されている。
【００１３】
符号化されたキャラクタのデータ流が、有効な「ランニングディスパリティ（ｒｕｎｎｉｎｇ ｄｉｓｐａｒｉｔｙ）」を常に有していることが理想的である。符号化キャラクタは、ファイバーチャネルプロトコルに定義されている通常の８Ｂ／１０Ｂ符号化方式によって定義される。データ流中のキャラクタの末尾のランニングディスパリティは、そのキャラクタを符号化するビット中の１と０の数の差である。０より多い数の１を有するキャラクタは正のランニングディスパリティを有している。１より多い数の０を有するキャラクタは負のランニングディスパリティを有している。１と０の数が等しいキャラクタは中性のランニングディスパリティを有している。符号器は、正、負または中性のディスパリティの符号化キャラクタを送信する。中性キャラクタは、データ流のランニングディスパリティに影響しない。正のキャラクタはランニングディスパリティを負から正に変化させ、そして負のキャラクタはランニングディスパリティを正から負に変化させる。
【００１４】
各ワードが同様に全ランニングディスパリティを有している。ワードのランニングディスパリティが、データ流のランニングディスパリティに対してワードのもっている効果を決定する。キャラクタの場合と同様に、正のランニングディスパリティを有するワードは、ワードの末尾のランニングディスパリティを正に変える。同様に負のディスパリティを有するワードはランニングディスパリティを負に変え、そして中性のディスパリティを有するワードは、ランニングディスパリティをそのワードの前のランニングディスパリティと同じままにする。
【００１５】
フレーム間ギャップを形成するワード間のランニングディスパリティは負のディスパリティと定義される。フレームの最後のワードすなわちＥＯＦはそのランニングディスパリティが負であることを保証する。フレーム間ギャップ中の各順序セットは、中性の全ランニングディスパリティを有しているので、各ワードの末尾のランニングディスパリティは負のままである。
【００１６】
ランニングディスパリティが負の場合、符号器が負のディスパリティの符号化キャラクタを送るとき、またはランニングディスパリティが正の場合、符号器が正のディスパリティの符号化キャラクタを送るとき、ランニングディスパリティのエラーが起こる。このエラーによって一般に、無効キャラクタがループに導入される。
【００１７】
ループ中の全データが有効なデータキャラクタであり、すべての制御信号が有効な順序セットであり、ランニングディスパリティのエラーが全くなく、データがデータフレーム中に適正にフォーマットされ、そして順序セットだけがデータフレーム間に存在していることが理想的である。しかし、例えば装置がループ中に挿入されるとき、不良ケーブルが使用されるとき、または装置がＦＣ−ＡＬプロトコルにしたがわない場合などの各種の理由のため、エラーは時々ループ中に導入される。これらのエラーは無効のキャラクタをつくり、その結果、無効送信ワードをデータフレーム内につくる。無効送信ワードは、ワードすなわちデータワードまたは順序セットが無効キャラクタを含んでいるとき；順序セットが正しい開始ランニングディスパリティをもっていないとき；またはワードが不整合の特殊キャラクタ（ｍｉｓａｌｉｇｎｅｄ ｓｐｅｃｉａｌ ｃｈａｒａｃｔｅｒ）を含んでいるときに生じる。
【００１８】
無効送信ワードを受信した時の通常の解決策は、無効送信ワード中の無効キャラクタを、有効送信キャラクタで置換する方法である。この置換は一般に、無効ワードがデコードされるときに行われる。デコーダは、受信したワード中の無効キャラクタを、疑似ランダム有効キャラクタで置換することによって有効ワードを生成する。したがって、この置換は、表面上有効なワード中にエラーを「かくしている」だけである。その上に、この置換は、無効特殊キャラクタの配列によって起こる無効送信ワードを修正しない。これらのエラーは、修正されないままであるから、実際にかくされている。したがって、かくされたエラーを含むデータフレームはループ全体を通じて伝播する。下流のポートには、フレームが誤って受信されたという指示がない。表面上有効なワードが、後に、下流のハブポートで符号化されると、そのかくされたエラーは符号化されたワード中に含まれ、さらにエラーを複合する。これらのエラーはかくされているので、宛先ノードは、各フレームについて、ＣＲＣ（すなわち巡回冗長検査）コードをチェックして、フレームがこのようなかくされたエラーを含まないことを保証する必要がある。
【００１９】
本発明の発明者は、誤って受信されるフレームを明確に識別し、かつかくされたエラーを含むデータフレームの伝播を避ける装置と方法を提供することが望ましいことを確認した。
【００２０】
【概要】
本発明は、ネットワークループ中のデータフレームを浄化する（ｓａｎｉｔｉｚｅ）技法を実行する方法と装置を提供するものである。好ましい実施態様では、ノードをネットワークループに接続するためのポートが、ノードからのデータを監視し無効データが前記ポートで受信されたときにエラーフラグを立てる検出要素；フレーム終了プリミティブを生成するフレーム終了ジェネレータ；バッファデータを生成するバッファデータジェネレータ；制御入力、出力および複数のデータ入力を有する切換要素であって、ノード、上流のノード、前記フレーム終了ジェネレータおよび前記バッファジェネレータの各出力が対応するデータ入力に接続されている切換要素；ならびに前記検出要素と、前記切換要素の制御入力とに接続されている制御要素であって、前記エラーフラグにしたがって、前記切換要素のデータ入力のうちの一つを選択して、前記ポートによって下流ノードに出力される切換要素の出力に接続し、そして現データフレームが無効データを含んでいることをエラーフラグが示したとき、前記フレーム終了ジェネレータに対応するデータ入力を選択することによって現データフレームを終了する制御要素を備えている。
【００２１】
ＦＣ−ＡＬの実施態様では、ノードをネットワークループに接続するハブポートが、ノードの出力に接続されたノードポート入力；ノードポート入力に接続された検出回路であって、その順序セット検出回路がノードからのデータを監視して、無効キャラクタが前記ハブポートでノードから受信されたときエラーフラグを立て、およびフレーム終了の順序セットでない順序セットが前記ハブポートでノードから受信されたときフレーム間フラグを立てる検出回路；フレーム打切り終了の順序セットを生成するフレーム終了ジェネレータ；現充填ワードの順序セットを生成する現充填ワードジェネレータ；ハブポート出力；ハブポート入力；マルチプレクサ制御入力、マルチプレクサ出力および複数のマルチプレクサ入力を有するマルチプレクサであって、マルチプレクサの出力がハブポート出力に接続され、そしてノードポート入力、ハブポート入力、フレーム終了ジェネレータ、および現充填ワードジェネレータが対応するマルチプレクサ入力に接続されているマルチプレクサ；ならびに、前記検出回路と前記マルチプレクサ制御入力に接続された出力制御回路であって、前記エラーフラグと前記フレーム間フラグにしたがってどのマルチプレクサ入力をマルチプレクサの出力に接続するかを制御する出力制御回路を備えている。
【００２２】
他の実施態様では、ノードデータをノードから受信する。そのノードデータが無効データである場合、フレーム終了プリミティブが下流のノードに送信される。フレーム終了プリミティブを送信した後、バッファデータが、無効データを含むノードからのデータフレームが終了するまで下流ノードに送信される。そのノードは、ＦＣ−ＡＬなどのネットワークループ内にあってもよい。ＦＣ−ＡＬの実施態様において、フレーム終了プリミティブはフレーム打切り終了の順序セットであり、そしてバッファデータは現充填ワードである。
【００２３】
本発明の技法はいくつもの利点を提供する。エラーを含んだデータフレームは、フレームがループを流れるとき確実に識別される。受信された無効送信ワードは、結果として起こるエラーを、下流のノードポートやハブポートに、不必要に記録させない。フレーム中に最初に検出された無効送信ワードが、実際に、フレーム中の一連の無効送信ワード中の最初のワードである場合、これに続く無効ワードはすべて充填ワードで置換される。
【００２４】
【発明の実施の形態】
本発明は、ネットワークループ内のデータフレームを浄化する装置と方法を提供するものである。ファイバーチャネルアービトレーテッドループ（「ＦＣ−ＡＬ」）ネットワークを、好ましい実施態様の例示として関連させて、本発明を以下に説明する。しかし、本発明は、ＦＣ−ＡＬネットワークに類似の特性を有するネットワークに適用できる。
【００２５】
好ましい実施態様で、ネットワークループ中のハブの各ハブポートは、連結されたノードポートをループに接続している（図２を想起せよ）。すべてのハブポートが、必ずしもノードポートに常時連結されているわけではない。各ハブポートは、無効データ、ネットワークプリミティブおよびフレーム終了プリミティブを検出するための要素を備えている。これらの検出要素を使用して、ハブポートは、ハブポートに接続されたノードポートからのデータ流を監視する。ハブポートは、接続されたノードポートから受信したデータフレーム中の無効ワードを検出する。ハブポートは、フレーム中の最初の無効ワードを、フレーム終了プリミティブで置換する。ハブポートは、フレーム中の残りのワードを、フレームの末端にフレーム終了プリミティブを有するバッファデータで置換する。ＦＣ−ＡＬの実施態様では、無効ワードはＥＯＦＡ順序セットで置換され、そしてフレーム中の残りのワードは現充填ワードで置換される。そのフレームが終了した後、ハブポートは、元に戻って、ノードポートからのデータを下流のハブポートに送る。
【００２６】
無効ワードをフレーム終了プリミティブで置換することによって、無効ワードを含むフレームは終了して、その無効ワードはループ全体に伝播することはない。エラーを含んだデータフレームは、フレームがループを通じて流れるときに、確実に識別される。受信された無効送信ワードは、結果として起こるエラーを、下流のノードポートやハブポートに記録させない。その上にフレーム中に最初に検出された無効送信ワードが、実際に、フレーム中の一連の無効送信ワードの最初のワードである場合、これに続く無効ワードはすべてバッファデータで置換される。
【００２７】
図３Ａは好ましい実施態様のハブポート３００を示す。ハブポート３００は、送信回路３０４に接続された入力内部ハブリンク３０２を備えている。入力内部ハブリンク３０２は、上流ハブポート（図示せず）からのデータを、ハブポート３００に次いで送信回路３０４に運ぶ。送信回路３０４は、データを、ノードポート３０８で利用可能な形態で、ノードポート３０８にデータチャネル３０６で送る。ノードポート３０８は、ノードまたはループセグメント（図示せず）への接続部分である。ＦＣ−ＡＬの実施態様では、送信回路３０４は、好ましくは、データをノードポート３０８に送る前に、データを、符号化し（好ましくは８Ｂ／１０Ｂ符号化方式を使用して）次に直列化する。送信回路３０４はデータを符号化して、正しいランニングディスパリティを維持する。
【００２８】
ノードポート３０８は、ノードからのデータを、データチャネル３１０でハブポート３００に送り戻す。データチャネル３１０は受信回路３１２に接続されている。ＦＣ−ＡＬの実施態様では、受信回路３１２は、好ましくは１０Ｂ／８Ｂ復号方式を使用して、ノードポート３０８からのデータを非直列化して復号することが好ましい。受信回路３１２は検出回路３１４と出力制御回路３１６を備えている。また、検出回路３１４は、入力内部ハブリング３０２にも接続され得る。検出回路３１４はノードポート３０８からのデータ流の内容を監視し、フラグを出力制御回路３１６に送る。これについては以下により詳細に説明する。別の実施態様では、検出回路３１４が生成する個別のフラグに応答する代わりに、制御回路３１６は、受信回路３１２が出力するデータ流を直接監視する。あるいは、検出回路３１４と制御回路３１６を組み合わせて単一の要素にする。
【００２９】
マルチプレクサ３１８などの切換装置は、出力制御回路３１６からの制御信号に応答してハブポート３００の出力を制御する。受信回路３１２は、ノードポート３０８からのデータを、マルチプレクサ３１８の第一データ入力Ａに送る。入力内部ハブリンク３０２がマルチプレクサ３１８の第二データ入力Ｂに接続されている。フレーム終了ジェネレータ３２０はマルチプレクサ３１８の第三データ入力Ｃに接続されている。フレーム終了ジェネレータ３２０は好ましくはフレーム終了プリミティブを生成する。ＦＣ−ＡＬの一実施態様では、フレーム終了ジェネレータ３２０は好ましくはＥＯＦＡ順序セットを生成する。上記のように、ＥＯＦＡ順序セットは、現フレームの打切りを示す特別タイプのＥＯＦ順序セットである。バッファデータジェネレータ３２２がマルチフレクサ３１８の第四データ入力Ｄに接続されている。バッファデータジェネレータ３２２は好ましくはバッファデータを生成する。ＦＣ−ＡＬの一実施態様では、バッファデータジェネレータ３２２は好ましくは、ＦＣ−ＡＬプロトコルにしたがって現充填ワードを生成する。一実施態様で、バッファデータジェネレータ３２２は、現フレームが始まる前に、ハブポートがノードポートから受信した最後の充填ワードと同じ現充填ワードを生成する。
【００３０】
マルチプレクサ３１８の出力は出力内部ハブリンク３２４に接続されている。出力制御回路３１６は、マルチプレクサ３１８の制御入力に接続されて、マルチプレクサ３１８のデータ入力を選択し出力内部ハブリンク３２４に接続する。出力内部ハブリンク３２４は、データを、ループ内の下流ハブポート（図示せず）に送る。
【００３１】
作動中、ハブポート３００がバイパスモードであるとき、例えばノードがハブポート３００に接続されていないか、またはノードが故障しているとき、出力制御回路３１６は、データ入力Ｂを出力内部ハブリンク３２４に接続させる。ハブポート３００がバイパスモードでないとき、出力制御回路３１６は、データ入力Ａを、出力内部ハブリンク３２４に接続させる。
【００３２】
図３Ｂは上流ノードポートへの接続部分を備えていない別の実施態様を示す。図３Ｂに示す要素は、図３Ａについて先に説明した要素と同様に作動する。浄化要素３５０が、先に述べたのと同様に、ノードポート３５８からデータを受信し、データを処理して出力リンク３７４上に出力する。浄化要素３５０は、ハブ内、またはノードポート３５８と、ノードポート３５８が接続されている装置、例えばハブまたは別のノードポートとの間に配置してもよい。
【００３３】
図４は、ノードポート３０８からのデータを浄化するプロセス４００示す。ハブポート３００が上流ノードからのデータ流を検査する（ステップ４０５）。検出回路３１４がデータ流中の各ワードを検査する。検出回路３１４が、無効キャラクタによって示される無効送信ワードをデータフレーム中に検出すると、検出回路３１４はエラーフラグを立てる（ステップ４１０）。そのエラーフラグは、ノードポート３０８からのデータ流中の現ワードが無効であることを出力制御回路３１６に示す。応答して、出力制御回路３１６が、マルチプレクサ３１８に、データ入力Ｃを出力内部ハブリンク３２４に接続させ（ステップ４１５）、その結果、ノードポート３０８からの無効データが、フレーム終了ジェネレータ３２０からのフレーム終了プリミティブによって置換される。その結果、挿入されたフレーム終了プリミティブが現フレームを終了させる。一つのフレーム終了プリミティブが、下流ハブポートに送られたデータ流中に挿入された後、出力制御回路３１６は、マルチプレクサ３１８に、データ入力Ｄを、出力内部ハブリンク３２４に接続させ、その結果、バッファデータジェネレータ３２２からのバッファデータがデータ流中に挿入され、下流のハブポートに送られる（ステップ４２０）。検出回路は、ノードポート３０８からのデータ流の監視を続けて、現フレームの終了を確認する。検出回路３１４がフレーム終了プリミティブでないプリミティブを検出すると、検出回路３１４はフレーム間フラグを立てる。このフレーム間フラグは、出力制御回路３１６に、ノードポート３０８からのデータ流中の現フレームが終了したことを示す。出力制御回路３１６は、応答して、マルチプレクサ３１８に、データ入力Ａを出力内部ハブリンク３２４に接続させ（ステップ４２５）、その結果、ノードポート３０８からのデータが下流のハブポートに送られる。
【００３４】
図５Ａと５Ｂは、本発明のハブポートによって起こる、ＦＣ−ＡＬデータ流の変化を示す。図５Ａは、ノードポートから受信した、無効送信ワード５０５を含むＦＣ−ＡＬデータ流５００を示す。この受信したデータ流５００は、順に、充填ワード５１０、ＳＯＦ順序セット５１５、ゼロ以上のデータワード５２０、無効送信ワード５０５、ゼロ以上のデータワード５２５、ＥＯＦ順序セット５３０および順序セット５３５を含んでいる。図５Ｂは、図５Ａに示すデータ流５００の受信に応答して、ハブポートが出力するデータ流５５０を示す。ハブポートは、充填ワード５１０、ＳＯＦ５１５およびデータワード５２０を、ハブポートが、無効送信ワード５０５の前に、受信したとおりに変更なしで出力する。ハブポートは、無効送信ワード５０５をＥＯＦＡ順序セット５５５で置換して、現フレームを打切る。ハブポートは、データワード５２５とＥＯＦ５３０を、現充填ワード５６０で置換する。現充填ワード５６０は、好ましくは、現フレームの直前を先行している充填ワード５１０と同じ充填ワードである。ハブポートは、現フレームの終了に続く順序セット５３５を、変更なしに出力する。
【００３５】
上記浄化プロセスは、各種の別の方式で実施することができる。一つの別の実施態様では、浄化プロセスが、ハブポート内ではなくて、ノード自体内で行われる。このようなノードは、他のノードに直接、接続することができる。そのノード接続回路は、上記技法を再び使用して、ノードによって出力されるデータ流を変えることができる。他の実施態様では、ノードが直接、相互に接続され、そして前記浄化プロセスが、ノード間の接続部またはリンク中に導入された要素によって実施される。別個の浄化要素を、ノードのループ内の隣接ノードの各対の間に導入することができる。他の実施態様では、集中型浄化要素を、ハブと同様に、各ノードに接続することができる。
【００３６】
本発明の各種の実施態様を説明してきた。しかし、本願の特許請求の範囲の範囲内に入る変形は本発明の範囲内に含まれる。例えば、検出回路と出力制御回路は、ハブポートの受信回路の外側に配置してもよい。あるいは、切換装置（例えば図３Ａのマルチプレクサ３１８）は、クロスポイントスイッチでもよい。他の実施態様で、前記技法は、プログラム可能なハードウェアまたはソフトウェアで実施することができる。したがって、本発明は上記諸実施態様に限定されず、本願の特許請求の範囲の範囲にのみ限定される。
【図面の簡単な説明】
【図１】直接、相互に接続されたノードポートからなる従来技術のループを示す。
【図２】ハブを含む従来技術のループを示す。
【図３Ａ】本発明のハブポートのブロック図を示す。
【図３Ｂ】本発明の浄化要素のブロック図を示す。
【図４】データフレームを浄化するプロセスの流れ図である。
【図５Ａ】ハブポートが受信したデータ流を示す。
【図５Ｂ】好ましい実施態様のハブポートによって出力される浄化されたデータ流を示す。
【図１】
0003554728.tif 000002
【図２】
0003554728.tif 000003
【図３Ａ】
0003554728.tif 000004
【図３Ｂ】
0003554728.tif 000005
【図４】
0003554728.tif 000006
【図５Ａ】
0003554728.tif 000007
【図５Ｂ】
0003554728.tif 000008