JP3739799B2 - フロー制御プロトコルシステムおよび方法 - Google Patents
フロー制御プロトコルシステムおよび方法 Download PDFInfo
- Publication number
- JP3739799B2 JP3739799B2 JP53031897A JP53031897A JP3739799B2 JP 3739799 B2 JP3739799 B2 JP 3739799B2 JP 53031897 A JP53031897 A JP 53031897A JP 53031897 A JP53031897 A JP 53031897A JP 3739799 B2 JP3739799 B2 JP 3739799B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- buffer
- data
- network element
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本願発明の主題は、下記に掲げる出願の主題と関連している。
出願番号_____、弁護士用ドケット番号2268、“非同期パケットスイッチング”の名称で、Thomas M.Wicki,Patrick J.Helland,Takeshi Shimizu,Wolf−Dietrich WeberおよびWinfried W.Wilckeによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2269、“ダイナミックなネットワーク・トポロジー探査のシステムおよび方法”の名称で、Thomas M.Wicki,Patrick J.Helland,Wolf−Dietrich WeberおよびWinfried W.Wilckeによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2270、“低い待ち時間,高いクロック周波数 プレジオ非同期 パケット基準 クロスバー・スイッチング・チップ・システムおよび方法”の名称で、Thomas M.Wicki,Jeffrey D.Larson,Albert MuおよびRaghu Sastryによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2271、“パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整装置および方法”の名称で、Jeffrey D.Larson,Albert MuおよびThomas M.Wicki,によって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2272、“電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法”の名称で、Albert MuおよびJeffrey D.Larsonによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2275、“相互接続の障害検出およびその位置特定方法および装置”の名称で、Raghu Sastry,Jeffrey D.Larson,Albert Mu,John R.Slice,Richard L.Schober,Jr.およびThomas M.Wickiによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2277、“多重ワード通信におけるエラー検出方法および装置”の名称で、Thomas M.Wicki,Patrick J.HellandおよびTakeshi Shimizuによって1996年2月22日に出願、
出願番号_____、弁護士用ドケット番号2278、“正のソース帰還をそなえたクロック動作されるセンス増幅器”の名称で、Albert Muによって1996年2月22日に出願、
参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。
発明の背景
1.発明の分野
この発明は一般的にはネットワークデータ伝送の分野に係わり、特に分散型ネットワーク伝送プロトコルシステムおよび方法の分野に関する。
2.発明の背景の説明
コンピュータの端末(ノード)の間の効率的な信頼性のある情報の伝送に対しては種々の技術がある。このような1つの技術はパケットスイッチングである。パケットスイッチングにおいては、伝送(発信元)ノードはメッセージを(宛先)受信ノードに送信する。このメッセージは多数の可変サイズ部分に分割される。これらの部分はパケットと呼ばれる。各パケットはデータ部分、パケットヘッダおよびしばしば誤り検出情報、例えばパリティ情報を含む。データ部分は、ネットワーク中のより高いプロトコルレイヤ、例えばOSI参照モデルに記述されているようなアプリケーションレイヤ、プレゼンテイションレイヤ、セッションレイヤから他のプロトコル情報とともに送信されるべきメッセージ中の情報を含んでいる。パケットヘッダは、他の情報の間にパケットシーケンス中におけるパケットに位置に関する情報を含んでいる。
ネットワークのノード間でパケットを伝送するために、付加的な情報が要求される。この付加的な情報は、しばしばフレームヘッダ中に記憶される。フレームヘッダはパケットおよびパケットの結合に付加され、フレームヘッダはフレームと呼ばれる。各ネットワークはフレームのサイズを制限しているので、もしメッセージが単一のフレーム中に挿入するには大きすぎるときは、メッセージは2またはそれ以上のフレーム中に分離されることになる。フレームヘッダ中に含まれる情報はフレームに対する最終的な宛先ノードを識別するための情報を含んでいる。
フレームはルータを使用してネットワークを介して伝送される。例えば、フレームは第1のルータから第2のルータへ、第2のルータから第3のルータへ、そして第3のルータから宛先のノードへ伝送され得る。もし第1のルータにおける入力トラヒックの速度が第1のルータの最大フレーム伝送速度よりも大きければ、第1のルータ内のフレームバッファはいっぱいとなり、結局、第2のルータは第1のルータに一時的にデータの伝送を中止することを命令するか、受信されたフレームはバッファに以前に記憶されたフレームに上書きし、この上書きされたフレームは失われてしまうかのいずれかである。多くのシステムは、受信ルータ、例えば第2のルータが、伝送ルータに一時的に伝送を中止させる制御信号を伝送ルータに送信し得る伝送制御システムを採用する。
従来の伝送制御システムは、データフレームおよび制御信号の双方に対する単一の信号線または別個の制御信号線のいずれかを使用している。従来の伝送制御システムの例は、RS232伝送プロトコルである。RS232伝送プロトコルにおいて、伝送ネットワークエレメント、即ちルータは受信ネットワークエレメントに対してフレーム信号線を介してフレームを伝送する。もし受信ルータが伝送ルータにフレームの伝送を中止することを要求すれば、受信ルータは伝送オフ(XOFF)制御信号を発生し、フレーム信号線を介して伝送ルータにこの制御信号を送信する。
高周波数ネットワーク、例えば500MHzにおいては、制御信号が伝送ルータに到達するために必要な時間はシステムに顕著な遅れをもたらす。特に、もし1本の信号線が受信ルータから伝送ルータへの制御信号の伝送に使用されたならば、もたらされる遅れは、ほぼ伝送ルータと受信ルータとの間の結合距離を伝播するために信号よって要求される時間に等しい。もし各クロックサイクルに対して1データビットが結合中の各信号線上に送信され、結合距離が約2メートル(2m)であり、クロック周波数が500MHzであれば、約3.3ビット(3.3ビット=500MHz/300km/s*2m)が、受信ルータが制御信号を送信する時間と伝送ルータが信号を受信する時間の間に伝送ルータによって各信号線上に送信される。さらに、信号線上に同数のビットが存在し、さらにXOFF制御信号を伝送した後に約6.6ビットが受信ルータによって受信される。もし多数、例えば32の信号線が接続上に存在すれば、伝送ルータに伝送の中止を命令した後に受信ルータによって約212ビット(6.6ビット*32信号線)が受信され得る。この212ビットは受信ルータ中のバッファに記憶されねばならず、そうでなければデータは失われるであろう。これらのビットを記憶するために、受信ルータはこれらのビットすべてを獲得するために余分のバッファを保持しなければならない。バッファは高価であり、バッファの非効率的な使用はネットワークの性能に対して重大な影響を有し得る。従って、少なくとも212ビットを記憶するために十分なバッファ領域を考慮しない設定は、システム資源の非効率的な使用である。この例においては、212バッファ領域は予約されており、受信ルータ中の残りのバッファ領域がいっぱいであるとき、データ受信ルータによるXOFF制御信号の送信とデータ伝送ルータによるXOFF制御信号の受信の間にデータ伝送ルータによって送信される全データを獲得し、バッファ領域に記憶することを確実にするために、受信ルータはXOFF制御信号を伝送する。しかしながら、これら全ビットが必ずしもデータフレーム部ではない。しばしば、ビットのいくつかはデータフレームまたは制御信号が伝送されていないときにネットワークを介して伝送される“アイドル(idle)”ビットまたは他の“ガーベイジ(garbage)”ビットである。従って、これらのアイドルビットを記憶する必要はない。従って、アイドルビットが伝送されたときに、予約されたバッファ領域全部が使用されるわけではない。上述のように、バッファは高価であり、RS232伝送プロトコルはこれらのバッファの非効率的な使用となる。
RS232伝送プロトコルおよび1本の制御信号線を使用したときは、伝送ルータはXOFF信号の受信後にデータ伝送を終了する。受信ルータにおいて十分なバッファが使用可能となれば、受信ルータは伝送オン(XON)信号を発生し、XON信号を伝送ルータに伝送する。XON信号の受信後に、伝送ルータはデータ伝送を再開するであろう。しかしながら、このシステムはXON制御信号の伝送と第1のデータリンク受信との間の時間に等しいネットワーク内の遅れをもたらす。
もし、別個の制御信号線の代わりに、ネットワークがレシーバにより伝送される制御信号とトランスミッタにより伝送されるデータフレームの双方に対して一本のデータ線を使用するならば、受信ルータが制御信号を伝送するために伝送ルータは伝送を中止しなければならないので、システムの遅れはさらに増大する。従って信号が伝送ルータから受信ルータへ、そしてその逆方向に伝播するために必要な時間にほぼ等しい遅れ期間がネットワークに導入される。
必要なものは、(1)受信ルータ中のバッファを効率的に使用し、(2)制御信号によってもたらされるネットワーク遅れを最小とし、(3)制御信号の発生および伝送を強制可能であり、(4)同一のポートに伝送される他のフレームに制御信号を重畳し、(5)強い、即ち伝送誤りの回復が可能であり、(6)多重プライオリティレベル伝送フレームに適用可能であり、(7)レシーバ中のバッファ資源に対して適用可能なフロー制御プロトコルシステムおよび方法である。
発明の概要
本発明は、2つのネットワークエレメント間のデータ伝送の制御システムおよび方法である。伝送エレメントの第1のポートは、受信エレメントの第2のポートに接続される。第2のポートは、データが他のエレメントに伝送され得るまで一時的に伝送されたデータを記憶するためのバッファを含んでいる。方法は、受信エレメント中に、受信現状充満レジスタ(RCFR)、送信非受信レジスタ(SANRR)、バッファビジーレジスタ(BBR)を含んでいる。伝送エレメントは受信エレメント中のバッファが使用可能であるかを決定するために、BBRを検査する。バッファの使用可能性は単一プライオリティプロトコルまたは多重プライオリティプロトコルを使用して決定され得る。もしバッファが使用可能であれば、伝送エレメントはデータフレームを受信エレメントに伝送し、フレームが伝送されたこと(そして確認は受信されていないこと)、選択されたバッファはいっぱいであること、およびバッファが空となるまでこのバッファには付加的なデータフレームは伝送されるべきではないことを示すためにSANRRおよびBBRを設定する。
データが受信エレメントで受信されたとき、これは使用可能なバッファに伝送される。データがバッファによって受信されたとき、受信エレメントは、現状充満レジスタ(CFR)中のビットおよび送信次メッセージレジスタ(NMTSR)のビットを設定する。各ビットはバッファに関連づけられている。CFR中の各ビットは関連バッファが空であるかを示す。制御信号、即ちバッファ状態メッセージ間で常時CFRが空でないならば、制御信号が伝送されたときに、仮にバッファが空であってもNMTSRは設定されリセットされないという例外のもとに、NMTSR中の各ビットは、前回の制御信号が伝送された時のCFRレジスタの値を示す。制御信号は、NMTSRだけ、またはNMTSRとCFRの双方を含み得る。制御信号は、データ受信エレメントからデータ伝送エレメントに送信されるデータのように同一の信号線上に伝送される。データ受信エレメントは、同一の方向に送信されるフレームを制御信号に多重化することができる。
伝送エレメントが制御信号を受信したときに、ビットがSANRR中で設定されたならば、そして制御信号のNMTSR部中の関連するビットが設定されたならば、伝送エレメントはSANRR中のバッファに関連するビットをリセットする。RCFRの値は、制御信号中のCFRまたはNMTSRのいずれかの値に等しく設定される。従って、伝送エレメントは、BBR中の関連するビットの値をSANRRおよびRCFRの論理的ORに等しく設定する。伝送エレメントは、データプライオリティの制限を条件としてBBRによって示される受信エレメントにおいてバッファが使用可能であるときだけ、データを送信する、即ち伝送エレメントは、バッファが空であり、RCFRがクリアされるまでデータを伝送しないであろう。
【図面の簡単な説明】
図1は、本発明の望ましい実施例による、ノード、ルータおよびリンクを含むネットワークの図である。
図2は、本発明の望ましい実施例による図1に描かれたネットワーク内の2つのルータの詳細図である。
図3は、本発明の望ましい実施例による図1に描かれたルータのより詳細な図である。
図4は、本発明の望ましい実施例によるデータ受信ルータ内の2つのレジスタを表す値を含むバッファ状態メッセージに応答するデータ伝送ルータ内のバッファの状態を示す状態線図である。
図5は、本発明の第2の実施例によるデータ受信ルータ中の1つのレジスタを表す値を含むバッファ状態メッセージに応答するデータ伝送ルータ内のバッファの状態を示す状態線図である。
図6は、本発明の望ましい実施例による伝送プロトコル技術のフロー線図である。
図7は、本発明の望ましい実施例によるバッファ状態メッセージ発生、伝送技術のフロー線図である。
図8は、本発明の望ましい実施例によるバッファ状態メッセージ受信技術のフロー線図である。
図9(a)−9(g)は、本発明の望ましい実施例によるレジスタの値の例である。
望ましい実施例の詳細な説明
本発明の望ましい実施例は、図面を参照しつつ以下に説明されるが、同一の参照符号は同一のまたは機能的に同一のエレメントを表す。また図において、各参照符号の左側の数字は、その参照符号が最初に使用された図に対応する。
本発明は、(1)受信ルータ中のバッファを効率的に使用し、(2)制御信号によってもたらされるネットワーク遅れを最小とし、(3)制御信号の発生および伝送を強制することが可能であり、(4)同一ポートに伝送される他のデータフレームに制御信号を多重化し、(5)強い、即ち伝送誤りを回復することができ、(6)多重プレイオリティレベル伝送フレームに適用可能であり、(7)レシーバ中のバッファ資源装備に適用可能であるフロー制御プロトコルシステムおよび方法である。
図1は、本発明のノード、ルータおよびリンクを含むネットワークを示している。図1に示されているネットワークは8つのノード102、即ちNodeA−H102A−H、および7つのルータ104A−Gを含んでいる。本発明の望ましい実施例によれば、ネットワークは分散メモリシステムである。即ち、このシステムは物理的に分散されているアーキテクチャを有しているが、メモリ(記憶素子)は論理的に共有されている。例えば、1つのノード、例えば102DはNodeD102Dが局所的であるが実際物理的に異なる場所に配置され、異なるノード、例えばNodeA102Aに接続されていると信じるメモリ位置にアクセスをリクエストすることができる。リクエストしたノード(NodeD102D)はメモリの位置を認識し、ネットワークは迅速にデータを取り出す。分散されたメモリネットワークにおいて、重要な性能パラメータはネットワークの待ち時間である。ネットワークの待ち時間は、メモリリクエストが転送された時間から計測され、リクエストされたデータをリクエストノードに提供するために必要とされる時間である。
もしNodeD102DがNodeA102A中に記憶されているデータを要求したならば、NodeD102Dはネットワークを介してデータリクエストを転送する。データリクエストは、例えばNodeD102Dから第3のルータ104E、第2のルータ104B、第1のルータ104Aを介してNodeA102Aに移動する。データはNodeA102Aに接続される記憶素子から取り出され、NodeD102Dにネットワークを介して送信される。上述のように、データはパケットとしてネットワークを介して送信される。ノード、例えばNodeA102Aはネットワークを介する通信路を決定し、このルーチング情報を各パケットのヘッダ中に記憶する。例えば、NodeA102AからNodeD102Dに送信されるデータは、NodeA102Aから第1のルータ104Aへ、そして第1のルータ104Aから第2のルータ104Bへ、第2のルータ104Bから第3のルータ104Eへ、そして第3のルータ104EからNodeD102Dに送信するよう各パケットに指示するルーチング情報を有することができる。ネットワークの待ち時間はデータリクエストを送信するリクエストノードからデータを受信するリクエストノードの間の時間間隔であるので、各ルータ104によってもたらされる遅れの低減はネットワークの待ち時間を低減する。上述したように、各ルータ104は受信されるべきデータを一時的に記憶するためのバッファを含んでいる。ある実施例においては、ルータのポート当たり6つのバッファが存在し、ルータ上に6つのポートが存在する。各バッファの大きさは、最大パケット長さ、例えば1292ビットに等しい。しかしながら、上述のようにルータ104を設計したときに、価格は重要な考慮点である。各ルータ内でバッファの数の増加は高価なものであり、バッファが存在する集積回路上に大きさの制限があるのである状況においては不可能である。
ルータは相互に2重信号ライン106によって接続されている。各2重信号線106Aは双方向への、即ち、第1のルータ104Aの第2のポートから第1のルータ104Aの第2のポートへのデータの同時転送を可能としている。2重信号線106Aは、図2を参照しつつ以下により詳細に説明される。
図2は、図1に示されたネットワークにおける本発明の望ましい実施例にかかる2つのルータ104のより詳細な図である。2重信号線106Aは、2つの信号線210、212によって表されている。各信号線は一方向性である。第1の信号線210は、第1のルータ104Aのポート2 202Aから第2のルータ104Bのポート6 202Bへ情報を転送する。第2の信号線212は、第2のルータ104Bのポート6 202Bから第1のルータ104Aのポート2 202Aへ情報を転送する。望ましい実施例において、各図示された信号線210、212は、ポート間でデータを並列に転送する43本の信号線を含んでいる。各ルータ104は、それぞれがクロスバースイッチ206に接続される6つのポート202を含んでいる。さらに、各ポートは6つのアービタ204、即ちA1−A6に接続され、各アービタ204はポートの1つの出力部と関連付けられている。例えば、第1のルータ104A上のアービタ2 204Aは、ポート2 202Aの出力部に接続されている。ポート2 202Aの出力部は信号線210に接続されている。図2に示すように、各ポート、例えば第1のルータ104Aのポート2 202Aおよび第2のルータ104Bのポート6 202Bは、異なるルータ内の1つのポートだけに接続される。例えば、第1のルータ104Aのポート2 202Aは第2のルータ104Bのポート6 202Bに接続されて、第1のルータ104Aのポート2 202Aは第2のルータ104Bのポート6 202Bからのデータだけを受信し、第2のルータ104Bのポート6 202Bへだけデータを転送し、第2のルータ104Bのポート6 202Bは第1のルータ104Aのポート2 202Aからのデータだけを受信し、第1のルータ104Aのポート6 202Aへだけデータを転送する。アービタ204、クロスバースイッチ206およびポート202の動作は、図3−9を参照して以下により詳細に説明さされる。
図3は図1および2に図示された本発明の望ましい実施例にかかる第1のルータ104Aおよび第2のルータ104Bのより詳細な図である。各ルータ104内の各ポート202はフロー制御レシーバ304、バッファアレイ322、変更ユニット326、マルチプレクサ(MUX)328、データシンクロナイザ324、およびフロー制御トランスミッタ305を含んでいる。各フロー制御レシーバ304は、送信用非受信レジスタ(SANRR)308、受信現状充満レジスタ(RCFR)310およびバッファビジーレジスタ(BBR)312に接続されるバッファ状態メッセージ(BSM)レシーバ306を含んでいる。各フロー接続トランスミッタ305は次回送信メッセージレジスタ(NMTSR)318および現状充満レジスタ(CFR)320に接続されたBSMジェネレータ316を含んでいる。ルータ104を参照して説明されているけれども、各ノード102もまたフロー制御レシーバ304Aおよびフロー制御トランスミッタ305B中にレジスタを含んでいる。これらポート要素の動作は、上述のデータ転送例を参照して今から説明される。
もしNodeD102DがNodeA102Aによって制御されるメモリ素子中に記憶されたデータをリクエストした場合は、NodeD102DはNodeA102Aに要求を転送する。NodeA102Aはデータを取り出し、データパケットがネットワークを通過する通信路を決定し、上述したように各パケットのヘッダ中にこのルーチング情報を記憶する。第1のルータ104Aは、NodeA102Aからパケットの形式でデータを受信する。NodeA102Aは、第1のルータ104Aのポート3に接続される。従って、各フレームは、ポート3バッファアレイ322A中のバッファに送信される。フレームヘッダ中のルーチング情報は、データがトラバース(traverse)すべき次のルータ9104を認識する。本実施例において、次のルータは第2のルータ104Bである。第1のルータ104Aのポート2 202Aは、第2のルータ104Bのポート6 202Bに接続される。従ってフレームヘッダ中のルーチング情報は、第1のルータ104Aに対する出力ポートとしてポート2 202Aを認識する。この出力ポート情報は出力ポートに関連したアービタ204によって受信される。本実施例において、アービタ2 204Aは第1のルータ104Aのポート2 202Aと関連付けられる。アービタ2 204Aはフロー制御レシーバ304Aから受信ポートへのデータ伝送が実行されるかを示す信号を受信する。本実施例において、受信ポートは、第2のルータ104Bのポート6 202Bである。そして、アービタ2 204Aは、ポート3バッファアレイ322A中の第1のバッファに第1のバッファ中のデータをクロスバーマトリックス206に送信することをポート3のバッファアレイ322Aに命令する信号を伝送する。アービタ2 204Aはまた、クロスバーマトリックス206にポート3バッファアレイ322A中の第1のバッファを第1のルータ104Aのポート2 202Aに接続させる信号をクロスバーマトリックス906に送信する。各アービタ204の動作は、全体として参照によって識別され組み込まれる1996年2月22日にJeffrey D.Larson、Albert MuおよびThomas M.Wickiによって出願された“パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置”と名付けられた系属中の特許出願により詳細に記述されている。同様に、各クロスバーマトリックス9206の動作は、全体として参照によって識別され組み込まれる1996年2月22日にAlbert MuおよびJeffrey D.Larsonによって出願された“電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法”と名付けられた系属中の特許出願により詳細に記述されている。
受信ポート(第2のルータ104Bのポート6 202B)へのデータ伝送を実行し得るかを示すアービタ2 204Aへの信号の送信前に、フロー制御レシーバ304Aは、変更ユニット326Aにポート6バッファアレイ322B中の空のバッファ(受信バッファ)のアドレスを識別する信号を伝送する。フロー制御レシーバ304A中のBBR312Aは、第2のルータ104Bのポート6バッファアレイ322B中の各バッファに対する1ビットを含んでいる。BBR312A中の各ビットの値は、第2のルータ104Bのポート6バッファアレイ322B中の関連するバッファが空であることを第1のルータ104Aが決定したかを示す。BBR312A中のビットをセットおよびリセットする方法は、図4−9を参照して以下に説明される。第1のルータ104A中の変更ユニット326Aは、第2のルータ104Bのポート6バッファアレイ322B中の空のバッファのアドレスを受信する。この空のバッファは受信バッファである。
アービタ2 204Aがクロスバースイッチ206Aにポート3バッファアレイ322A内の第1のバッファを変更ユニット326に接続することを命令したときに、アービタ2 204Aはまた、フロー接続レシーバ304Aにフレームが伝送されたことを通知する信号をフロー制御レシーバ304Aに送信する。パケットが受信バッファに転送されたこと、およびSBMレシーバ306Aがパケットの受信を認める信号を受信していないことを示すために、フロー制御レシーバ304A中のBSMレシーバ306Aはポート6バッファアレイ322B中の受信バッファに関連するSANRR308A中のビットの値を変更する。以下に説明するように、BBR312の値はSANRR308AとCFR9310Aの論理的ORと等しい。ポート6バッファアレイ322B中の受信バッファに関連するビットの値は論理1に等しく設定されるので、BBR312A中の関連ビットもまた論理1に等しく設定される。このビットが論理1に等しいとき、BBR9312A中のこのビットがリセットされるまでフロー制御レシーバ304Aから第1のルータ104Aの変更ユニット326Aに送信されるバッファアドレス信号は受信バッファを識別しない、即ちBBR312Aがリセットされるまで受信バッファは“ビジー”として認識される。ポート6バッファアレイ322B中のすべてのバッファが、最近のBSM中の情報によって決定されたように、あるいは第1のルータ104Aがパケットを第2のルータに転送したときにSANRR308AとBBR312Aの設定によるフロー制御レシーバ304Aによって決定されるように空でなければ、BBR312A中の全ビットは論理1に等しく設定されるであろう。このような状況において、BSMレシーバ306Aはアービタ2 204Aに通知し、BBR312A中の少なくとも1つのビットがリセットされるまでアービタ2 204Aはポート6 202Bへのいかなる追加のパケット転送を許容しない。上記の説明は全パケットに対して単一の伝送プライオリティレベルだけが存在する状況を説明している。以下に説明するように、本発明は多重伝送プライオリティレベルを有するパケットをもサポートしている。
変更ユニット326Aは、ポート3バッファアレイ322Aからクロスバースイッチ206Aを介してフレームを受信し、フロー制御レシーバ304Aから受信バッファアドレスを受信する。変更ユニット326Aは、第2のルータ104Bのポート2 202Aを識別するルーチング情報を削除することによってフレームヘッダを変更し、例えばフレームヘッダ中の残存するルーチング情報をシフトする。変更ユニット326Aは、またフレームヘッダに受信バッファアドレスを加算する。変更ユニット326Aは、2重信号線106Aの信号線210を介して第2のルータ104Bにパケットを転送するMUX328Aにパケットを転送する。
第2のルータ104B中のデーターシンクロナイザ324Bは、第1のルータ104Aのポート2 202Aからデータを受信する。各ルータ104はクロック(図示せず)を含んでいる。データーシンクロナイザ324Bの1つの機能は、受信データを第2のルータ104B中の内部クロックと同期させることである。データーシンクロナイザ324Bの他の機能は、データパケットとデータ/状態制御信号を使用して第1のルータ104Aから受信されるバッファ状態メッセージを区別することである。フレームヘッダ受信後、第2のルータは上述の方法によって第3のルータ104Eへの伝送を開始することができる。しかしながら、第3のルータ9104E中のポート4バッファアレイ中の全バッファが空でなければ、第2のルータ9104Bはポート6バッファアレイ9322B内に第1のルータ9104Aから受信したデータの記憶を継続する。
データがポート6バッファアレイ322B内の受信バッファによって受信されたとき、BSMトランスミッタ305B中のBSMジェネレータ316Bに通知される。フレームの一部が受信バッファによって受信されたことを示すために、BSMジェネレータ316Bは受信バッファに関連するNMTSR318B内のビットを論理1にセットする。さらに、受信バッファは空ではないことを示すために、BSMジェネレータ316BはCFR320B内の関連するビットを論理1にセットする。BSMトランスミッタ305BはBSMを発生し、転送する。BSMの内容は図4−9を参照して以下に説明される。BSMは第1のルータ104Aによって送信されたフレームが受信されたという確認を含み、またポート6バッファアレイ中のバッファの状態、即ち各バッファが空であるか否かの表示を含む。BSMジェネレータ316Bは第2のルータ104B内のMUX328Bの入力ポートにデータを伝送する。さらに、BSMジェネレータ316BはBSMが第1のルータ104Aに転送されることをリクエストする信号をアービタ6 204Bに転送することができる。アービタ6 204BはMUX328Bを制御する信号を発生する。この信号がアービタ6 204Bによって送信されると、BSMが信号線212を介して第1のルータ104Aのポート2 202Aに送信される。
ポート2 202A中のデータシンクロナイザ324Aは、BSMを受信する。データシンクロナイザ324Aは受信されたデータがBSMであるかを決定し、フロー制御レシーバ304A中のBSMレシーバ306Aにデータを送信する。フロー制御レシーバ304Aは、受信されたBSMに基づいてSANRR308A、RCFR310AおよびBBR312Aを更新する。上述したように、これらのレジスタ中のビット値はBSMレシーバ306Aによって受信される。BSMレシーバ306Aは、さらなるパケットが第2のルータ104Bのポート6 202Bに送信され得るかを決定する。フロー制御レシーバ304Aおよびフロー制御トランスミッタ305Bの動作は、図4−9を参照して以下にさらに詳細に記述される。
図4は、本発明の望ましい実施例による第2のルータ104B中のフロー制御トランスミッタ305B中のNMTR318BおよびCFR320Bの双方を表す値を含むBSMに応答する第1のルータ104A中のフロー制御レシーバ304A中のバッファの状態を描いた状態図である。本発明のフロー制御プロトコルの利点はそれが強いことである。即ち、フロー制御プロトコルは送信誤り、例えば失われたBSMまたは失われたデータフレームを回復することが可能である。フレームが第1のルータ104Aから第2のルータ104Bに転送されたときに、本発明に係るフロー制御プロトコルは5つのレジスタを利用する。これらのレジスタは、第1のルータ104A中のフロー制御レシーバ304A中のSANRR308A、RCFR310AおよびBBR312Aならびに第2のルータ104B中のフロー制御トランスミッタ305B中のNMTSR318BおよびCFR320Bである。フロー制御プロトコルに関する以下の記述は、これら5つのレジスタを参照するであろう。上述したように、これら5つのレジスタのそれぞれはポート6バッファアレイ322B中の各バッファに関連したビットを含んでいる。1つの望ましい実施例において、ポート6バッファアレイ322Bは6つのバッファを含んでいる。図4および図5はこれら5つのレジスタのそれぞれの中の1ビットに対する状態線図を示す。従って、単一のバッファに対するフロー制御プロトコルがここに示されている。
ネットワークが初期化されたときに、フロー制御レシーバ304A中のレジスタは状態IIIに関連した値に初期化される。即ちRCFR=1、SANRR=0およびBBR=1である。上述のように、BSMレシーバ306AはBBR312Aの値をRDFR310AとSANRR308Aの論理的ORに等しく設定する。フロー制御レシーバレジスタ、即ちSANRR308A、RCFR310AおよびBBR312Aは、それが最も保守的なフロー制御推定であるので、状態IIIに示された値に設定される。即ち、フロー制御レシーバレジスタが状態IIIにあるとき、状態IIIにあるときはBBR312Aが受信バッファが空でないことを示す論理1に等しく設定されるので、フロー制御レシーバ304Aはあらゆるデータが第2のルータ104Aのポート6 202Bに送信されることを防止する。以下に説明するように、もし受信バッファが空であれば、フロー制御プロトコルはフロー制御レシーバレジスタの状態を適切な状態を示すために変更する。上述のように、BSMはNMTSR318BおよびCFR320B内のビット値を含んでいる。この例に対して、BSM=1,0は、受信バッファに関連するNMTSR318B中のビットは論理1に等しい値を有し、受信バッファに関連するCFR320B中のビットは論理零に等しい値を有していることを示す。状態IIから状態IIIへ遷移後は、許容される2つのBSM値、即ちBSM=1,1およびBSM=1,0だけが存在する。この理由は、NMTSR318Bは、(1)前回のBSMで伝送されたCFR320Bの値、または(2)前回のBSM内のCFR320B中の関連するビットの値にかかわらずフレームが受信バッファによって受信されたときは少なくとも1つのBSMに対する論理1のいずれかであるからである。状態IIIにあるときは、最後のBSM内のCFR320Bの値は論理1に等しいが、これはRCFR310Aがこの値を記憶するからである。従って次のBSM内のNMTSR318Bの値は、上記(1)および(2)に基づいて論理1に等しくなければならない。しかしながら、初期化手続の結果レジスタが状態IIIにあれば、BSM=0,0は有効であり、フロー制御レシーバ304A中のレジスタを状態IIIから状態Iに遷移させる。
BSM=1,1は受信バッファが空ではないことを示す。従って、もしBSM=1,1がフロー制御レシーバ304Aによって受信されたならば、フロー制御レシーバ304A内のレジスタは同一状態を維持する。BSM=1,0はフレームがポート6バッファアレイ322B内の受信バッファによって受信されたこと、第3のルータ104Eに伝送されたことを示す。従って、受信バッファは現在空である。もしBSM=1,0が受信されれば、フロー制御レシーバ304A内のレジスタは状態IIIから状態Iに遷移する。
状態Iにおいて、SANRR308A、RCFR310AおよびBBR312Aはすべて論理零に等しい。BBR312Aが論理零に等しいので、フロー制御レシーバ304Aはアービタ2 204Aに受信バッファが空であることを通知する。以下に説明されるプライオリティの制限によって、フレームがポート3 202Aにおいて第2のルータ104Bのポート6 202Bに伝送されることが可能であれば、アービタ2 204Aは、クロスバーマトリックス206Aに対してポート3バッファアレイ322A中の伝送バッファをポート2 202Aの変更ユニット326Aに接続することを命じる。上述したように、アービタ2 204Aは、フロー制御レシーバ304Aにデータは送信されていることを伝える信号もフロー制御レシーバ304Aに伝送する。このとき、BSMレシーバ306AはSANRR308Aを論理1に等しく設定し、従ってBBR312Bを論理1に設定する。RCFR310Aは変更されない。従って、データが第2のルータ104Bに伝送されたならば、フロー制御レシーバ304A中のレジスタは状態IIに遷移する。状態Iである間にデータが送信されなければ、フロー制御レシーバ304A中のレジスタは状態Iに維持される。
状態IIにおいて、SANRR308AおよびBBR312Aが論理1に等しければ、RCFR310Aは論理零に等しい。この状態において、フロー制御レシーバ304A中のレジスタは、フレームがポート6バッファアレイ322B中の受信バッファに送信されたがフロー制御レシーバ304Aは受信バッファがBSMを介してフレームを受信した確認を受信していないことを示す。さらに、RCFR310Aは最新のBSMに基づき受信バッファが空であることを示す論理零に等しい。状態IIにあるとき、フロー制御レシーバ304Aは、他のフレームが受信バッファに送信されることを許容しないであろう。もしBSM=0,0が受信されれば、BSMは以前のBSMが伝送されて以来データは受信バッファ内に受信されていないことを示すので、フロー制御レシーバ304A中のレジスタは状態IIを維持する。もしBSM=1,1が受信されれば、フロー制御レシーバ304A中のレジスタは状態IIIに遷移する。BSM=1,1はいくらかのフレームデータが受信レジスタによって受信され、受信レジスタは空ではないことを示している。いくらかのフレームデータが受信されたので、SANRR308Aは論理零にリセットされる。受信バッファが空なでのでRCFR310Aは論理1に設定される。状態IIIについての説明は、上記に与えられている。もしBSM=1,0が受信されれば、フロー制御レシーバ304A中のレジスタは状態Iに遷移する。状態IIにあれば、BSM=1,0はフレームデータは受信バッファによって受信されたこと、およびフレームはすでに第3のルータ104Eに伝送されたことを示す。従って、受信バッファは空である。フレームが受信バッファによって受信されたので、SANRR308Aはリセットされる。受信バッファは空であるので、RCFR310Aは論理零に等しく維持される。上述のように、状態Iにあるときは、フロー制御レシーバ304Aはアービタ2 204Aに新しいフレームをポート6バッファアレイ322B中の受信バッファに伝送することを命令することができる。
上述したように、本発明に係るフロー制御プロトコル装置および方法は強い。即ち、プロトコルは伝送誤りを回復することができる。フロー制御プロトコルの時間切れ特徴は、ネットワークにBSMまたはフレーム伝送誤りがなければバッファアレイ322中の利用可能なバッファの数を低減することができるフレーム伝送誤りを回復することを可能とする。フロー制御レシーバ304A中のレジスタが状態IIにあり、第2のルータ104B内のフロー制御トランスミッタ305Bが、例えばB=1,0を発生すれば、フロー制御レシーバ304A中のレジスタは状態Iに遷移し、受信バッファは上述したように付加的なパケットを受信することが可能となる。しかしながら、BSMがフロー制御レシーバ304Aによって受信されなかったならば、問題が発生する。フロー制御レシーバ304A中のレジスタは状態IIにあるが、フロー制御トランスミッタ305Bはフロー制御レシーバ304A中のレジスタは状態Iにあると考える。即ち、フロー制御トランスミッタ305Bは受信バッファが伝送されたフレームを受信したことおよび受信バッファが付加的なフレームを受信することが可能であることを示すBSM(BSM=1,0)を発生し、伝送した。受信バッファは空であり、新しいフレームが送信されないので、フロー制御トランスミッタ305BはBSM=0,0に等しいBSMだけを発生する。フロー制御レシーバ304A中のレジスタは状態IIにあるので、BSM=0,0はこれらのレジスタの状態を変更しないであろう。従って、第1のルータ104A中のフロー制御レシーバ304Aは最早受信バッファを使用しないであろう。同様に、もし第1のルータ104Aから伝送されたフレームが第2のルータ104Bによって受信されなければ、フロー制御レシーバ304A中のレジスタは状態IIにあるが、第2のルータ104B中のフロー制御トランスミッタ305Bは、フレームが受信されなかったことを示すBSM=0,0に等しいBSMだけを発生する。
上述したように、バッファは高価な貴重な資源である。1つのバッファの喪失はネットワークの効率を低減する。本発明に係るフロー制御プロトコルは、バッファの喪失を避けるために時間切れ機構を導入する。時間切れ機構は、フロー制御レシーバ304A中のレジスタが状態IIにある間に予め定めた最小量のクロックサイクルが発生したかを決定する。もし少なくともこの最小時間長の間レジスタが状態IIにあれば、フロー制御レシーバ304Aはこのレジスタを状態Iにリセットし、誤りが発生したことを識別するために誤りカウンタ(図示せず)をインクリメントする。予め定められた数のクロックサイクルが発生したかを決定する1つの技術は、各バッファアレイ322中の各バッファに対するカウンタを使用することである。例えば、カウンタが受信バッファに対して満期となれば、フロー制御レシーバ304Aはそのレジスタを状態IIから状態Iに遷移する。しかしながら、各カウンタに要求されるビット数は約10または11ビットである。各ルータ104が各関連バッファに対して11ビットカウンタを有する要求は価格を増大し、ルータ104の潜在能力を減少する。望ましい実施例において、36以上のバッファが各ルータ104に設置され得る。本発明は、特定のルータに設定されるすべてのバッファに対して1つの10ビットカウンタを使用することによって、各バッファのそれぞれに対して1ビットフラグだけを使用することによってこの課題を解決する。10ビットカウンタが、例えば、全論理1から全論理零に遷移し、フロー制御レシーバ104A中の関連レジスタが状態IIにある各バッファに対してビットフラグが論理1に設定されたときに、10ビットカウンタは連続的にクロックサイクルをカウントする。もしフロー制御レシーバ104A中のレジスタが状態を変更したならば、1ビットフラグは論理零にリセットされる。しかしながら、レジスタの状態が次の10ビットカウンタによる全論理零の遷移を変更しなければ、時間切れが発生するであろう。上述のように、時間切れが発生したときに、フロー制御レシーバ104Aはそのレジスタを状態Iに遷移する。
図5は、本発明の第2の実施例に係る第2のルータ104B内のフロー制御トランスミッタ305B中のNMTSR9318Bだけを表す値を含むBSMに応答する第1のルータ104A内のフロー制御レシーバ304A内のバッファ状態を示す状態図である。フロー制御レシーバ304Aがどのように状態I、状態IIおよび状態IIIを解釈するかは上記図4を参照して記述される。もしBSMがNMTSR318B内に値だけを表すならば、本発明に係るフロー制御プトコルは、BSMがNMTSR318BおよびCFR320Bの双方の値を表す状況とは相違して、BSMを解釈する。フロー制御レシーバ304Aが初期化されたとき、フロー制御レシーバ304A内のレジスタは状態IIIを示す値に設定される。もしNMTSR318B内の受信レジスタに関連するビットがBSMに発生されたときに論理1に等しければ、BSMは論理1に等しい値を有する、即ちBSM=1である。BSM=1は(1)以前のBSMが送信されてからフレームデータが受信バッファによって受信されたこと、または(2)CFR320Bによって示されるように以前のBSMの送信時に受信バッファが空ではなかったことのいずれかを示す。もしBSM=1がフロー制御レシーバ304Aによって、そのレジスタが状態IIIにあるときに受信されたならば、これらのレジスタの値は変化しない。BSM=0は受信バッファが空であることを示す。BSM=0がフロー制御レシーバ304Aによって受信されたときに、レジスタの状態は状態IIIから他のフレームが受信バッファに送信され得ることを示す状態Iに遷移する。
フロー制御レシーバ104A中のレジスタの状態は、フレームがポート6バッファアレイ322B内の受信バッファに伝送されるまで状態Iを維持する。フレームが送信されたとき、フロー制御レシーバ304A中のレジスタの状態は状態Iから状態IIに遷移する。もし状態IIである間にBSM=0が受信されれば、状態の変化は発生しない。BSM=0は、以前のBSMの伝送以後受信バッファによってデータは受信されなかったことを示す。BSM=1は、以前のBSMの伝送以後受信バッファによっていくつかのフレームデータが受信されたことの確認である。従って、もしBSM=1が受信されれば、フレームが受信バッファによって受信されたのでSANRR308Aはリセットされる。しかしながら、SANRR308Aは受信バッファがデータを受信後少なくとも1つのBSMに対して1に等しく設定されなければならないので、フロー制御レシーバ304A中のレジスタが状態IIにあるときにBSM=1が受信された場合は、BSMが送信されたときに受信バッファが空であるかの情報は識別され得ない。従って、SANRR308A中の関連ビットはリセットされ、RCFR301A中の関連ビットは論理1に設定される。BSMがNMTSR318Bだけを表すときは、BSMがNMTSR318BおよびCFR320Bの双方を表すときに可能なように、フロー制御レシーバ304A中のレジスタは単一のBSMに応答して状態IIから状態Iに遷移しない。BSMがNMTSR318Bだけを表すときに状態IIから状態Iに遷移するために、フロー制御レシーバは少なくとも2つのBSMを受信しなければならない。第1のBSMはレジスタの状態IIから状態IIIへの遷移を可能とし、第2のBSMはレジスタの状態IIIから状態Iへの遷移を可能とする。しかしながら、もし時間切れが発生したならば、フロー制御レシーバ304A中のレジスタは状態IIから状態Iへの遷移が可能である。時間切れの発生は、上記の図4を参照して説明される。フロー制御プロトコル装置および方法の動作は、以下に図6−9を参照してより詳細に説明される。
図6は、本発明に係る第1のルータ104Aから第2のルータ104Bへのパケットの伝送に対するフロー制御プロトコルのフロー線図である。アービタ2 204Aは、第1のルータ104Aのポート2 202Aを介して第2のルータ104Bのポート6 202Bに送信されるデータが存在するかを602で決定する。602における送信すべきデータが存在するかの決定後、アービタ2 204Aはパケットのプライオリティを決定するためのフレームヘッダを検査する。望ましい実施例において、各フレームは3つのプライオリティ、即ち高、中、低プライオリティの1つを有している。第1のルータ104A中のフロー制御レシーバ304Aは606でポート6バッファアレイ322B中の空のバッファの数を決定する。1つのプライオリティプロトコルの例において、もしただ1つのバッファが空であれば、フロー制御レシーバは608でこのバッファを受信バッファとして選択し、上述のように受信バッファのアドレスを変更ユニット326Aに送信する。フロー制御レシーバ304Aは、第1のルータ104Aから第2のルータ104Bへフレームを伝送するためにどのパケットプライオリティが要求されるかを610で決定する。例えば、ポート6バッファアレイ中で少なくとも1つのバッファが空であれば、フロー制御レシーバ304Aは、高プライオリティフレームがポート6 202Bに伝送されることができることを示す信号を高プライオリティ信号線を用いてアービタ2に伝送する。ポート6バッファアレイ中で少なくとも2つのバッファが空であれば、フロー制御レシーバ304Aは、高プライオリティフレームまたは中プライオリティフレームがポート6 202Bに伝送されることができることを示す信号を高プライオリティ信号線または中プライオリティ信号線を用いてアービタ2に伝送する。ポート6バッファアレイ中で少なくとも3つのバッファが空であれば、フロー制御レシーバ304Aは、高プライオリティフレーム、中プライオリティフレームまたは低プライオリティフレームがポート6 202Bに伝送されることができることを示す信号を高プライオリティ信号線、中プライオリティ信号線または低プライオリティ信号線を用いてアービタ2に伝送する。
アービタ2は614で、フレームが送信される十分なプライオリティを有するかを決定するために関連するプライオリティ信号線で受信される信号の値を有するフレームヘッダ中のフレームプライオリティを比較する。もしプライオリティ信号線がフレームが伝送され得ないことを示していれば、フレームは、フレームが送信され得る時間までポート3バッファアレイ322A中に残留するであろう。もしプライオリティ信号線がフレームが送信され得ることを示しているならば、パケットは616において上述した方法で第2のルータ104Bのポート6 202Bに伝送される。
第2のルータ104Bは618でパケットを受信する。データシンクロナイザ324Bがそれがデータパケットであることを決定後、データシンクロナイザ324Bは620で受信バッファ中のフレームを記憶する。データシンクロナイザはデータをポート6バッファアレイ322Bに送信する。ボール6バッファアレイ322B中のどのバッファが受信バッファであるかを決定するために、ポート6バッファアレイ322Bはフレームヘッダ中のバッファアドレスを読むことが可能であり、フレームヘッダ中にあるアドレスのバッファにフレームを多重化する。他の技術において、ポート6バッファアレイ322Bはパケットが受信される前に受信バッファを選択する。フレームが受信された時、それは直ちに予め選択されたバッファに送信される。フレームヘッダ中のバッファアドレスはバッファタグであり、624で実際のバッファアドレスと関連付けられる。BSMが発生されたとき、NMTSR318BおよびCFR320B中のビットは実際のバッファアドレスの代わりにポート6バッファアレイ322B中のバッファのバッファタグアドレスに対応する。例えば、フロー制御レシーバ304Aが受信バッファとして001に等しいアドレスを有するバッファ1を選択したならば、このアドレスはフレームヘッダ中に記憶される。このフレームが第2のルータ104Bに伝送されたとき、データシンクロナイザ324Bはこのフレームをポート6バッファアレイ322Bに送信する。ポート6バッファアレイ322Bは、受信バッファとしてアドレス011を有するバッファ3を選択してもよい。フレーム中のデータはバッファ3に記憶される。しかしながら、BSMジェネレータ316BがNMTSR318BおよびCFR320Bを記憶したときに、バッファの状態はタグアドレス、即ち001に対応したビット位置内に記憶される。従って、BSMが第1のルータ104A中のフロー制御レシーバ304Aによって受信されたときに、BSM中のNMTSR318Bの値およびCFR320Bの値は、BSMレシーバ306Aによって発生されたタグ値に対応している。
望ましい実施例において、フレームが第3のルータ104Eに送られることが可能でない限り、全フレームは受信バッファ内に記憶されない。このバーチャル・カット・スルー技術はフレームヘッダ内に全ルーチング情報を有することによって達成される。従って、いったん第2のルータ104Bがフレームヘッダを受信すると、第3のルータ104Eに接続される第2のルータ104B内の出力ポート、例えばポート2は既知であり、第2のルータ9104Bが全パケット体を受信する前に第2のルータ104Bは第3のルータ104Eに対するフレームヘッダの伝送を開始することが可能となる。
受信バッファがフレームの一部を受信した後、第2のルータ104B中のフロー制御トランスミッタ305BはBSMジェネレータ316Bに受信バッファの状態を送信する。以前のBSMが発生され、データが受信バッファで受信されたときに受信バッファが空であれば、NMTSR318B中の関連するビットは626で論理1に等しく設定する。上述したように、フレームが第2のルータ104Bによって受信されたことの確認として機能するために、NMTSR318B内のビットは少なくとも1つのBSMに対して論理1の等値を維持する。さらに、受信バッファが空でないとき、CFR320Bはまた628で論理1に設定される。しかしながら、もしBSMが発生される前に受信バッファが空になれば、CFR320Bは630で受信バッファが空であることを示す論理零にリセットされる。上述のように、NMTSR318Bおよび多分CFR320Bの内容はBSM中に含まれる。BSMの伝送および受信に関するより詳細な説明は図7−9を参照して以下に記述される。
図7は本発明に係るバッファ状態メッセージ発生および伝送技術のフロー線図である。データフレームが第2のルータ104Bから第1のルータ104Aに伝送されなかったときは常に、即ちフレームが上記例に記載されたものから反対方向に伝送されたときは、フロー制御トランシミッタ305BはBSMを伝送する。もし反対方向へのデータフローが重ければ、全データフレームが送信される後まで、BSMは送信されない。しかしながら、フロー制御トランシミッタ305Bがフロー制御レシーバ304Aに直ちにBSMを伝送することが重要である状況がある。この状況の一例は、バッファがポート6バッファアレイ322B中で使用可能となったときである。例えばフレームが送信されるようにポート6バッファアレイ322B内で十分なバッファが使用可能となることを待っている第1のルータ104A中のバッファアレイ322中に記載されるパケットが存在するので、フロー制御レシーバ304Aがバッファが使用可能となったことを示すBSMを受信することは重要であるかもしれない。例えば、フロー制御レシーバ304A内の情報がポート6バッファアレイ322B内で2つのバッファだけが使用可能であることを示していれば、上述のプライオリティプロトコルが使用されるならば、低プライオリティを有するフレームは第1のルータ104Aから第2のルータ104Bのポート6 202Bに送信され得ない。第3のバッファがポート6バッファアレイ322B内で使用可能となったときに、この情報はBSMの形式でフロー制御レシーバ304Aに伝送され得る。迅速なBSMの伝送のために、フロー制御トランシミッタは第2のルータ104B中のアービタ6 204BにBSMが可能な限り迅速に伝送されることを要求する信号を送信する。アービタ6 204Bは第2のルータ104B上のMUX328Bを制御する信号を発生する。この信号に応答して、例えば現在伝送中のフレームが完全に伝送された後に、MUX328Bは信号線212上でBSMを多重化することが可能である。
もし702でBSMを送信すべき時間であれば、BSMジェネレータ316Bは704でBSMを発生する。上述のように、BSMの内容はNMTSR318BまたはNMTSR318BとCFR320Bの双方であり得る。もしCFR320Bの値が論理零であり以前のBSMが送信されて以後いくつかのデータがバッファ中に受信されたならば、バッファに関連するNMTSR318B内の値が上述したようにパケットが受信されたことを示すために論理1に等しく設定されるという例外の下に、NMTSR318Bの内容は以前のBSM時のCFR320Bの内容に等しい。フロー制御トランシミッタ305Bは、706でBSMパケットをMUX328Bに伝送する。そしてMUX328Bは708でBSMを第1のルータ104Aに伝送する。706でBSMをMUX328Bに伝送した後、フロー制御トランシミッタ305Bは710でNMTSR318BをCFR320Bに等しく設定する。
図8は、本発明に係るバッファ状態メッセージ受信技術のフロー線図である。データシンクロナイザ324AがBSMを受信し、BSMがデータフレームでなくバッファ状態メッセージであることを802で決定し、BSMをフロー制御レシーバ304Aに送信する。フロー制御レシーバ304Aは804で各バッファを選択し、各バッファに対して並列に図8の残りのステップを実行する。フロー制御レシーバ304A中のBSMレシーバ306Aは806でSANRR308A中の各バッファに関連するビットが論理1に等しいかを決定する。もしSANRR308Aが論理1に等しければ、BSMレシーバ306Aは808でBSMのNMTSR318B部中の各バッファに関連するビットが論理1に等しいかを決定する。NMTSR=1であれば、SANRR308Aは810で論理零に設定され、処理はステップ812に進む。もしSANRR308Aの値が論理零に等しいか、もしNMTSR318Bの値が論理零に等しければ、処理はステップ812に進む。もしBSMがNMTSR318BおよびCFR320Bの双方を表すならば、RCFR310A内の各ビットはステップ812でCFR320B内の関連するビットに等しく設定される。もしBSMがNMTSR318Bだけを表すのであれば、BSMレシーバ306Aは812でRCFR310AをBSMのNMTSR318B部内の関連するビットに等しく設定する。そしてBSMレシーバ306Aは814で、BBR312A内の各ビットをSANRR308AおよびRCFR310A内の関連するビットの論理的ORに等しく設定する。
図9(a)−9(g)は、本発明に係るレジスタ値の例である。図9において、RCFR310A、SANRR308AおよびBBR312Aとラベル付けされた3つのレジスタは、パケットが第1のルータ104Aから第2のルータ104Bに伝送されたときの、第1のルータ104A中のフロー制御レシーバ304A中のレジスタの値に対応している。CFR320BおよびNMTSR318Bとラベル付けされた2つのレジスタは、パケットが第1のルータ104Aから第2のルータ104Bに伝送されたときの、第2のルータ104B中のフロー制御トランスミッタ305B中のこれらのレジスタの値に対応している。図9(a)は、ルータ104が初期化されたときのレジスタの値を示している。図4および図5の状態線図に示されているように、RCFR310AおよびBBR312A内の値は論理1に等しく設定されるが、残りのレジスタの値は論理零に設定されたままである。フロー制御トランスミッタ305Bは、上述したように第1のBSMを発生し、それをフロー制御レシーバ304Aに伝送する。第1のBSM受信後のレジスタの値は図9(b)に示されている。第1のBSMは、BSMのサイズに応じてBSM=0,0またはBSM=0のいずれかに等しい。いずれの状況であっても、フロー制御レシーバ304Aのレジスタは状態IIIから状態Iに遷移する。この例の残りの部分は、上述したようにポート6バッファアレイ322B中の第1のバッファまたはタグ001に関連するバッファを含む。第1のルータ104Aはフレームを第2のルータ104Bに伝送する。フレーム伝送後のレジスタの状態は、図9(c)に示されている。図9(c)において、第1のルータ104Aはフレームを送信したが確認信号を受信しなかったのでSANRR308Aは論理1に等しく設定される。SANRR308Aは論理1に等しく設定されているので、BBR312Aもまた論理1に設定される。
フレームがポート6バッファアレイ322Bによって受信され、フロー制御トランスミッタはNMTSR318BおよびRCFR320Bを更新した後、レジスタの値は図9(d)に示される値となる。図9(d)において、BSMがフロー制御レシーバ304Aによって受信されていないので、SANRR308A、RCFR310AおよびBBR312Aの値は変化しなかった。しかしながら、第1のBSMが送信された後にデータがポート6バッファアレイ322Bによって受信されたので、NMTSR318B内の第1ビットは論理1に等しい。第1のバッファは空ではないので、CFR320B内の第1ビットもまた論理1に設定される。しかしながら、第2のBSMが送信される前に、パケットが第3のルータ104Eに伝送され、第1のバッファは空となる。従って、第2のBSMが発生されたときのCFR320Bの値は、論理零に等しい。これは図9(e)に示されている。レジスタの値が図9(e)に示されているようであるときは、フロー制御トランスミッタ305Bは第2のBSMを発生し伝送する。もし第2のBSMがNMTSR318BおよびCFR320Bの双方を含むならば、フロー制御レシーバ304A内のレジスタの値は第2のBSMの受信後、図9(g)に示すものとなる。図9(g)において、SANRR308A、RCFR310AおよびBBR312A内の全ビットの値は論理零に等しくなる。CFR320Bの値がNMTSR318B内に記憶されるのでフロー制御トランスミッタ305B中のレジスタの値もすべて零に等しい。これは、図4に示す状態IIから状態Iに遷移したフロー制御レシーバ304A内のレジスタに等しい。もし第2のBSMがNMTSR318Bだけを含むときは、フロー制御レシーバ304Aが第2のBSMを受信した後のレジスタの値は図9(f)に示すものとなる。これは、図5に示す状態IIから状態IIIに遷移したフロー制御レシーバ304A内のレジスタに等しい。以後は、フロー制御トランスミッタ305Bは、NMTSR318Bの値だけを含む第3のBSMを発生し伝送するであろう。第3のBSMを受信後、レジスタの値は図9(g)に示すようになる。これは図5に示す状態IIIから状態Iに遷移したフロー制御レシーバ304A内のレジスタに等しい。
Claims (18)
- コンピュータネットワーク内における、第1のフラグを有する第1のネットワークエレメントから受信バッファおよび第2のフグを有する第2のネットワークエレメントへのデータ伝送の制御方法であって、
(a)前記第1のフラグの値が前記受信バッファがデータを受信するために使用可能であることを示す第1の値に等しい場合は、前記第1のネットワークエレメントから前記第2のネットワークエレメントへデータを伝送する段階と、
(b)前記第1のフラグを、前記バッファがデータを受信するために使用可能でないことを示す第2の値に設定する段階と、
(c)前記受信バッファ中にデータを受信する段階と、
(d)前記受信バッファがデータの受信を完了し、前記受信バッファがデータを受信するために使用可能である場合、前記第2のフラグを前記第1の値に設定する段階と、
(e)前記第2のフラグの値に等しい値を有する制御信号を発生する段階と、
(f)前記制御信号を前記第2のネットワークから前記第1のネットワークに伝送する段階と、
(g)前記第1のフラグを前記制御信号の値に等しく設定する段階と、を備えるデータ伝送の制御方法。 - さらに、
(h)段階(a)から(g)を繰り返す段階、
を含む請求項1に記載のデータ伝送の制御方法。 - コンピュータネットワークが、データ伝送エレメントによって決定される全ネットワークルーチング情報を有する発信元ノードルーチングネットワークである請求項1に記載のデータ伝送の制御方法。
- 第1のネットワークエレメントおよび第2のネットワークエレメントがルータである請求項1に記載のデータ伝送の制御方法。
- 前記段階(b)が、
第1のレジスタを、前記第1のネットワークエレメントが前記第2のネットワークエレメントにデータ伝送を完了したが、データが前記第2のネットワークエレメントによって受信されたことを示す制御信号を受信しなかったことを示す第3の値に設定する段階と、
前記第1のレジスタが前記第3の値に等しいときに、前記第1のフラグを前記第2の値に設定する段階と、
をさらに含む請求項1に記載のデータ伝送の制御方法。 - 前記段階(d)が、
第2のレジスタを、前記第1のネットワークエレメントによって送信されたデータを前記第2のネットワークエレメントが受信したことを示す第4の値に設定する段階と、
第3のレジスタを、バッファがデータを受信するために使用可能であることを示す第5の値に設定する段階と、
前記第2のレジスタが前記第4の値に等しく、かつ前記第3のレジスタが前記第5の値に等しい場合は、前記第2のフラグを前記第1の値に設定する段階と、をさらに含む請求項1に記載のデータ伝送の制御方法。 - 前記第3のレジスタを、バッファがデータを受信するために使用可能でないことを示す第6の値に設定する段階を、さらに含む請求項6に記載のデータ伝送の制御方法。
- 前記第2のレジスタが前記第4の値に等しく、かつ前記第3の値が前記第6の値に等しい場合は、前記第2のフラグを前記第2の値に等しく設定する段階を、さらに含む請求項7に記載のデータ伝送の制御方法。
- 前記段階(g)が、
前記第2のフラグを、前記第2のフラグが前記第2の値に等しい場合は、前記第1のネットワークエレメントによって送信されたデータを前記第2のネットワークエレメントが受信したことを示す第8の値に設定する段階と、
前記第2のフラグが前記第2の値に等しい場合は、第4のレジスタを第7の値に設定する段階を、さらに含む請求項8に記載のデータ伝送の制御方法。 - 前記段階(f)が、
前記第2のネットワークエレメント中のマルチプレクサの入力に前記制御信号を伝送する段階と、
前記第2のネットワークエレメントから前記第1のネットワークエレメントへ1つのデータも伝送されておらず、かつ前記制御信号が前記第2のネットワークエレメントから前記第1のネットワークエレメントに伝送されたデータよりも高プライオリティを有しているときには第3の値を有する第1の信号を発生する段階と、
前記第1の信号が前記第3の値を有する場合は、前記第2のネットワークエレメントから前記第1のネットワークエレメントに前記制御信号を伝送する段階と、
前記第1の信号が前記第3の値を有しない場合は、前記第2のネットワークエレメントから前記第1のネットワークエレメントに前記データを伝送する段階と、
をさらに含む請求項1に記載のデータ伝送の制御方法。 - コンピュータネットワーク内における、第1のフラグを有する第1のネットワークエレメントから受信バッファおよび第2のフラグを有する第2のネットワークエレメントへのデータ伝送の制御方法であって、
(a)もし前記第1のフラグが前記受信バッファがデータを受信するために使用可能であることを示す第1の値に等しい場合は、前記第1のネットワークエレメントから前記第2のネットワークエレメントへデータを伝送する段階と、
(b)前記第1のフラグを、前記バッファがデータを受信するために使用可能でないことを示す第2の値に設定する段階と、
(c)前記受信バッファ中にデータを受信する段階と、
(d)前記受信バッファがデータの受信を完了した場合は、前記第2のフラグを第2の値に設定する段階と、
(e)前記第2のフラグの値に等しい値を有する制御信号を発生する段階と、
(f)前記制御信号を前記第2のネットワークから前記第1のネットワークに伝送する段階と、
(g)前記第1のフラグを前記制御信号の値に等しく設定する段階と、
(h)前記第2のフラグが前記第2の値に等しく、かつバッファがデータを受信するために使用可能である場合は、前記第2のフラグを前記第1の値に設定する段階と、
(i)前記第2のフラグの値に等しい値を有する前記制御信号を発生する段階と、
(j)前記制御信号を前記第2のネットワークから前記第1のネットワークに伝送する段階と、
(k)前記第1のフラグを前記制御信号の値に等しく設定する段階と、
からなるデータ伝送の制御方法。 - さらに、
(l)段階(a)から(k)を繰り返す段階、
を含む請求項11に記載のデータ伝送の制御方法。 - コンピュータネットワークが、データ伝送エレメントによって決定される全ネットワークルーチング情報を有する発信元ノードルーチングネットワークである請求項11に記載のデータ伝送の制御方法。
- 第1のネットワークエレメントおよび第2のネットワークエレメントがルータである請求項11に記載のデータ伝送の制御方法。
- 前記段階(b)が、
第1のレジスタを、前記第1のネットワークエレメントが前記第2のネットワークエレメントにデータ伝送を完了したが、データが前記第2のネットワークエレメントによって受信されたことを示す制御信号を受信しなかったことを示す第3の値に設定する段階と、
前記第1のレジスタが前記第3の値に等しいときに、前記第1のフラグを前記第2の値に設定する段階と、
をさらに含む請求項11に記載のデータ伝送の制御方法。 - コンピュータネットワーク内におけるデータ伝送制御システムであって、
第1のフラグを有する第1のネットワークと、
受信バッファと第2のフラグを有し、前記第1のネットワークに接続される第2にネットワークと、
を具備し、
前記第1のネットワークが、
前記第1のフラグの値が前記受信バッファがデータ受信のために使用可能であることを示す第1の値に等しい場合に、前記第1のネットワークからデータを伝送するための第1の伝送ユニットと、
第1のフラグを、バッファがデータを受信するために利用できない場合の第2の値とバッファがデータを受信するために利用できる場合の第1の値との一方に設定するための、前記伝送ユニットに接続される第1のバッファ状態ユニットと、
を含み、前記第2のネットワークが、
第1のネットワークから伝送されるデータを受信するための、前記伝送ユニットに接続される受信ユニットと、
受信バッファがデータ受信を完了し、受信バッファがデータを受信するために利用可能である場合に、前記第2のフラグを前記第1の値に設定するための、前記バッファに接続され、かつ前記受信エレメントに接続される第2のバッファ状態ユニットと、
前記第2のフラグの値に等しい値を有する制御信号を発生するための、前記第2のバッファ状態ユニットに接続される制御信号ジェネレータと、
前記第2のネットワークエレメントから前記第1のネットワークエレメントへ前記制御信号を伝送するための、前記制御信号ジェネレータに接続される第2の伝送ユニットと、
を含むデータ伝送制御システム。 - 前記コンピュータネットワークが、データ伝送エレメント中の全ネットワークルーチング情報を有する発信元ノードルーチングネットワークである請求項16に記載のシステム。
- 前記第1のネットワークエレメントおよび前記第2のネットワークエレメントがルータである請求項16に記載のシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/603,913 | 1996-02-22 | ||
| US08/603,913 US6003064A (en) | 1996-02-22 | 1996-02-22 | System and method for controlling data transmission between network elements |
| PCT/US1997/002664 WO1997031459A1 (en) | 1996-02-22 | 1997-02-21 | Flow control protocol system and method |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2000506326A JP2000506326A (ja) | 2000-05-23 |
| JP2000506326A5 JP2000506326A5 (ja) | 2004-11-11 |
| JP3739799B2 true JP3739799B2 (ja) | 2006-01-25 |
Family
ID=24417428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP53031897A Expired - Fee Related JP3739799B2 (ja) | 1996-02-22 | 1997-02-21 | フロー制御プロトコルシステムおよび方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6003064A (ja) |
| EP (1) | EP0823166B1 (ja) |
| JP (1) | JP3739799B2 (ja) |
| DE (1) | DE69732274T2 (ja) |
| WO (1) | WO1997031459A1 (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3006555B2 (ja) * | 1997-08-05 | 2000-02-07 | 日本電気株式会社 | 遠隔地モジュール制御方式 |
| US6756974B2 (en) * | 1997-09-24 | 2004-06-29 | Canon Kabushiki Kaisha | Display control apparatus and method |
| US6163819A (en) * | 1998-07-21 | 2000-12-19 | Micron Technology, Inc. | Sequential data transfer circuit |
| US6978312B2 (en) * | 1998-12-18 | 2005-12-20 | Microsoft Corporation | Adaptive flow control protocol |
| WO2001009740A1 (en) * | 1999-08-03 | 2001-02-08 | Sony Electronics Inc. | System and method for implementing device models in an electronic network |
| US6917985B2 (en) * | 2000-03-10 | 2005-07-12 | The Regents Of The University Of California | Core assisted mesh protocol for multicast routing in ad-hoc Networks |
| US6799218B1 (en) * | 2000-04-07 | 2004-09-28 | Motorola, Inc. | Device and method for managing communications between data communications systems |
| US20020120751A1 (en) * | 2001-02-23 | 2002-08-29 | Chris Del Sordo | Control channel protocol and hardware-independent downstream services software design for broadband devices |
| US6950893B2 (en) * | 2001-03-22 | 2005-09-27 | I-Bus Corporation | Hybrid switching architecture |
| US6950394B1 (en) | 2001-09-07 | 2005-09-27 | Agilent Technologies, Inc. | Methods and systems to transfer information using an alternative routing associated with a communication network |
| US7054330B1 (en) | 2001-09-07 | 2006-05-30 | Chou Norman C | Mask-based round robin arbitration |
| US6920106B1 (en) | 2001-09-07 | 2005-07-19 | Agilent Technologies, Inc. | Speculative loading of buffers within a port of a network device |
| US7237016B1 (en) | 2001-09-07 | 2007-06-26 | Palau Acquisition Corporation (Delaware) | Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device |
| US6763418B1 (en) | 2001-09-07 | 2004-07-13 | Agilent Technologies, Inc. | Request bus arbitration |
| US6839794B1 (en) | 2001-10-12 | 2005-01-04 | Agilent Technologies, Inc. | Method and system to map a service level associated with a packet to one of a number of data streams at an interconnect device |
| US6922749B1 (en) | 2001-10-12 | 2005-07-26 | Agilent Technologies, Inc. | Apparatus and methodology for an input port of a switch that supports cut-through operation within the switch |
| US7209476B1 (en) | 2001-10-12 | 2007-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus for input/output port mirroring for networking system bring-up and debug |
| JP2003196166A (ja) * | 2001-10-19 | 2003-07-11 | Kawasaki Microelectronics Kk | データ転送装置 |
| US8090866B1 (en) * | 2002-01-18 | 2012-01-03 | Cisco Technology, Inc. | TCP proxy connection management in a gigabit environment |
| US7206856B1 (en) * | 2002-04-15 | 2007-04-17 | Juniper Networks, Inc. | Routing instances for network system management and control |
| US7016996B1 (en) | 2002-04-15 | 2006-03-21 | Schober Richard L | Method and apparatus to detect a timeout condition for a data item within a process |
| US8190766B2 (en) * | 2002-05-09 | 2012-05-29 | Broadcom Corporation | Across-device communication protocol |
| US7603449B1 (en) * | 2002-06-10 | 2009-10-13 | Crossroads Systems, Inc. | System and method for inquiry caching |
| JP4201550B2 (ja) * | 2002-08-30 | 2008-12-24 | 富士通株式会社 | 負荷分散装置 |
| US6859437B2 (en) * | 2002-11-05 | 2005-02-22 | Nortel Networks Limited | Method and system for extending the reach of a data communication channel using a flow control interception device |
| US20050091383A1 (en) * | 2003-10-14 | 2005-04-28 | International Business Machines Corporation | Efficient zero copy transfer of messages between nodes in a data processing system |
| US20050080869A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer |
| US20060059269A1 (en) * | 2004-09-13 | 2006-03-16 | Chien Chen | Transparent recovery of switch device |
| US20060056424A1 (en) * | 2004-09-15 | 2006-03-16 | Yolin Lih | Packet transmission using output buffer |
| US20090100148A1 (en) * | 2006-04-24 | 2009-04-16 | Koninklijke Philips Electronics N.V. | Electronic device with end-to-end flow control of messages |
| US20090182798A1 (en) * | 2008-01-11 | 2009-07-16 | Mediatek Inc. | Method and apparatus to improve the effectiveness of system logging |
| US11741050B2 (en) | 2021-01-29 | 2023-08-29 | Salesforce, Inc. | Cloud storage class-based variable cache availability |
| US12034570B2 (en) | 2022-03-14 | 2024-07-09 | T-Mobile Usa, Inc. | Multi-element routing system for mobile communications |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4975905A (en) * | 1984-06-01 | 1990-12-04 | Digital Equipment Corporation | Message transmission control arrangement for node in local area network |
| JP2679983B2 (ja) * | 1987-03-06 | 1997-11-19 | 株式会社日立製作所 | 通信網における制御情報伝送方法 |
| AU1199888A (en) * | 1987-03-13 | 1988-09-15 | Northern Telecom Limited | Communications system and components and methods for use therein |
| US5377327A (en) * | 1988-04-22 | 1994-12-27 | Digital Equipment Corporation | Congestion avoidance scheme for computer networks |
| US4995056A (en) * | 1989-01-13 | 1991-02-19 | International Business Machines Corporation | System and method for data communications |
| US5594866A (en) * | 1989-01-18 | 1997-01-14 | Intel Corporation | Message routing in a multi-processor computer system with alternate edge strobe regeneration |
| US4965793A (en) * | 1989-02-03 | 1990-10-23 | Digital Equipment Corporation | Method and apparatus for interfacing a system control unit for a multi-processor |
| DE69020899T2 (de) * | 1990-09-28 | 1995-12-07 | Hewlett Packard Co | Netzüberwachungssystem und -vorrichtung. |
| US5473755A (en) * | 1992-06-01 | 1995-12-05 | Intel Corporation | System for controlling data stream by changing fall through FIFO last cell state of first component whenever data read out of second component last latch |
| JP3057591B2 (ja) * | 1992-12-22 | 2000-06-26 | 富士通株式会社 | マルチプロセッサシステム |
| US5613067A (en) * | 1993-12-30 | 1997-03-18 | International Business Machines Corporation | Method and apparatus for assuring that multiple messages in a multi-node network are assured fair access to an outgoing data stream |
| JP3639319B2 (ja) * | 1994-01-25 | 2005-04-20 | 富士通株式会社 | 並列計算機システム,データ転送制御方法および送受信制御装置 |
| US5619544A (en) * | 1994-06-03 | 1997-04-08 | Texas Instruments Incorporated | Universal asynchronous receive/transmit circuit with flow control |
-
1996
- 1996-02-22 US US08/603,913 patent/US6003064A/en not_active Expired - Fee Related
-
1997
- 1997-02-21 EP EP97907725A patent/EP0823166B1/en not_active Expired - Lifetime
- 1997-02-21 WO PCT/US1997/002664 patent/WO1997031459A1/en not_active Ceased
- 1997-02-21 JP JP53031897A patent/JP3739799B2/ja not_active Expired - Fee Related
- 1997-02-21 DE DE69732274T patent/DE69732274T2/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0823166B1 (en) | 2005-01-19 |
| DE69732274D1 (de) | 2005-02-24 |
| DE69732274T2 (de) | 2005-07-28 |
| US6003064A (en) | 1999-12-14 |
| EP0823166A1 (en) | 1998-02-11 |
| WO1997031459A1 (en) | 1997-08-28 |
| JP2000506326A (ja) | 2000-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3739799B2 (ja) | フロー制御プロトコルシステムおよび方法 | |
| US5892766A (en) | Method and apparatus for coordinating access to an output of a routing device in a packet switching network | |
| US5790530A (en) | Message-passing multiprocessor system | |
| US6882656B2 (en) | Speculative transmit for system area network latency reduction | |
| US7512067B2 (en) | Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch | |
| US5815501A (en) | ATM-ethernet portal/concentrator | |
| US6950428B1 (en) | System and method for configuring adaptive sets of links between routers in a system area network (SAN) | |
| US9118586B2 (en) | Multi-speed cut through operation in fibre channel switches | |
| US8081650B2 (en) | Method and system for selecting virtual lanes in fibre channel switches | |
| US8072988B2 (en) | Method and system for buffer-to-buffer credit recovery in fibre channel systems using virtual and/or pseudo virtual lanes | |
| US20040030766A1 (en) | Method and apparatus for switch fabric configuration | |
| US20030202520A1 (en) | Scalable switch fabric system and apparatus for computer networks | |
| US20030202510A1 (en) | System and method for scalable switch fabric for computer network | |
| US20090080428A1 (en) | System and method for scalable switch fabric for computer network | |
| US20020167950A1 (en) | Fast data path protocol for network switching | |
| JPH021665A (ja) | 輻輳制御装置 | |
| JPH11504494A (ja) | ダイナミックなネットワークトポロジー探査のシステム及び方法 | |
| CN103098428A (zh) | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 | |
| JPH0662053A (ja) | パケツト伝送システム | |
| US20060053331A1 (en) | Slave device having independent error recovery | |
| US20050030893A1 (en) | Method and system for detecting congestion and over subscription in a fibre channel network | |
| US6741561B1 (en) | Routing mechanism using intention packets in a hierarchy or networks | |
| JP3152965B2 (ja) | 非同期形時分割多重方式パケット交換のためのパケットオートルーチング及び多重経路方式交換ネットワーク | |
| CN118200767B (zh) | 一种光纤网络的数据交换与监听方法 | |
| US7583597B2 (en) | Method and system for improving bandwidth and reducing idles in fibre channel switches |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040122 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040122 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051004 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051104 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081111 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091111 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |