JP2000506326A - フロー制御プロトコルシステムおよび方法 - Google Patents

フロー制御プロトコルシステムおよび方法

Info

Publication number
JP2000506326A
JP2000506326A JP9530318A JP53031897A JP2000506326A JP 2000506326 A JP2000506326 A JP 2000506326A JP 9530318 A JP9530318 A JP 9530318A JP 53031897 A JP53031897 A JP 53031897A JP 2000506326 A JP2000506326 A JP 2000506326A
Authority
JP
Japan
Prior art keywords
buffer
data
value
network
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.)
Granted
Application number
JP9530318A
Other languages
English (en)
Other versions
JP2000506326A5 (ja
JP3739799B2 (ja
Inventor
エム. ウィッキー,トーマス
ジェイ. ヘランド,パトリック
ディー. ラーソン,ジェフリー
ムー,アルバート
サストリー,ラグー
エル.ジュニア ショーバー,リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2000506326A publication Critical patent/JP2000506326A/ja
Publication of JP2000506326A5 publication Critical patent/JP2000506326A5/ja
Application granted granted Critical
Publication of JP3739799B2 publication Critical patent/JP3739799B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow 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)

Abstract

(57)【要約】 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(5RCFRとの論理的ORに等しく設定する。データプライオリティ制限、即ちバッファが空であり、RCFRがクリアされるまで伝送エレメントはフレームを伝送しないために、BBRによって示される受信エレメントにおいてバッファが使用可能である場合にだけ、伝送エレメントはデータを伝送するであろう。

Description

【発明の詳細な説明】 フロー制御プロトコルシステムおよび方法関連出願の相互参照 本願発明の主題は、下記に掲げる出願の主題と関連している。 出願番号 、弁護士用ドケット番号2268、“非同期パケットスイ ッチング”の名称で、Thomas M.Wicki,Patrick J.H elland, Takeshi Shimizu,Wolf−Dietric h WeberおよびWinfried W.Wilckeによって1996年 2月22日に出願、 出願番号 、弁護士用ドケット番号2269、“ダイナミックなネッ トワーク・トポロジー探査のシステムおよび方法”の名称で、Thomas M .Wicki,Patrick J.Helland,Wolf−Dietri ch WeberおよびWinfried W.Wilckeによって1996 年2月22日に出願、 出願番号 、弁護士用ドケット番号2270、“低い待ち時間,高い クロック周波数 プレジオ非同期 パケット基準 クロスバー・スイッチング・ チップ・システムおよび方法”の名称で、Thomas M.Wicki,Je ffrey D.Larson,Albert MuおよびRaghu Sas tryによって1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2271、“パケットスイッチン グネットワーク内のルーチングデバイス出力アクセス用調整装置および方法”の 名称で、Jeffrey D.Lars on,Albert MuおよびThomas M.Wicki,によって19 96年2月22日に出願、 出願番号 、弁護士用ドケット番号2272、“電圧の揺れを少なく し、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよ びその方法”の名称で、AlbertMuおよびJeffrey D.Lars onによって1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2275、“相互接続の障害検出 およびその位置特定方法および装置”の名称で、Raghu Sastry,J effrey D.Larson,Albert Mu,John R.Sli ce,Richard L.Schober,Jr.およびThomas M. Wickiによって1996年2月22日に出願、 出願番号 、弁護士用ドケット番号2277、“多重ワード通信にお けるエラー検出方法および装置”の名称で、Thomas M.Wicki,P atrick 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制御信号を伝送する。しかしながら、これら全ビットが必ずしもデータ フレーム部ではない。しばしば、ビットのいくつかはデータフレームまたは制御 信号が伝送されていないときにネットワークを介して伝送される“アイドル(id le)”ビットまたは他の“ガーベイジ(garbage)”ビットである。従って、こ れらのアイドルビットを記憶する必要はない。従って、アイドルビットが伝送さ れたときに、予約されたバッファ領域全 部が使用されるわけではない。上述のように、バッファは高価であり、RS23 2伝送プロトコルはこれらのバッファの非効率的な使用となる。 RS232伝送プロトコルおよび1本の制御信号線を使用したときは、伝送ル ータはXOFF信号の受信後にデータ伝送を終了する。受信ルータにおいて十分 なバッファが使用可能となれば、受信ルータは伝送オン(XON)信号を発生し 、XON信号を伝送ルータに伝送する。XON信号の受信後に、伝送ルータはデ ータ伝送を再開するであろう。しかしながら、このシステムはXON制御信号の 伝送と第1のデータリンク受信との間の時間に等しいネットワーク内の遅れをも たらす。 もし、別個の制御信号線の代わりに、ネットワークがレシーバにより伝送され る制御信号とトランスミッタにより伝送されるデータフレームの双方に対して一 本のデータ線を使用するならば、受信ルータが制御信号を伝送するために伝送ル ータは伝送を中止しなければならないので、システムの遅れはさらに増大する。 従って信号が伝送ルータから受信ルータへ、そしてその逆方向に伝播するために 必要な時間にほぼ等しい遅れ期間がネットワークに導入される。 必要なものは、(1)受信ルータ中のバッファを効率的に使用し、(2)制御 信号によってもたらされるネットワーク遅れを最小とし、(3)制御信号の発生 および伝送を強制可能であり、(4)同一のポートに伝送される他のフレームに 制御信号を重畳し、(5)強い、即ち伝送誤りの回復が可能であり、(6)多重 プライオリティレベル伝送フレームに適用可能であり、(7)レシーバ中のバッ ファ資源に対して適用可能なフロー制御プロトコルシステムおよび方法である。発明の概要 本発明は、2つのネットワークエレメント間のデータ伝送の制御システムおよ び方法である。伝送エレメントの第1のポートは、受信エレメントの第2のポー トに接続される。第2のポートは、データが他のエレメントに伝送され得るまで 一時的に伝送されたデータを記憶するためのバッファを含んでいる。本発明は、 受信エレメント中に、受信現状充満レジスタ(RCFR)、送信非受信レジスタ (SANRR)、バッファビジーレジスタ(BBR)を含んでいる。伝送エレメ ントは受信エレメント中のバッファが使用可能であるかを決定するために、BB Rを検査する。バッファの使用可能性は単一プライオリティプロトコルまたは多 重プライオリティプロトコルを使用して決定され得る。もしバッファが使用可能 であれば、伝送エレメントはデータフレームを受信エレメンに伝送し、フレーム が伝送されたこと(そして確認は受信されていないこと)、選択されたバッファ はいっぱいであること、およびバッファが空となるまでこのバッファには付加的 なデータフレームは伝送されるべきではないことを示すために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に接続されていると信じるメモ リ位置にアクセスをリクエストすることができる。リクエストしたノード(No deD102D)はメモリの位置を認識し、ネットワークは迅速にデータを取り 出す。分散されたメモリネットワークにおいて、重要な性能パラメータはネット ワークの待ち時間である。ネットワークの待ち時間は、メモリリクエストが転送 された時間から計測され、リクエストされたデータをリクエストノードに提供す るために必要とされる時間である。 もしNodeD102DがNodeA102A中に記憶されているデータを要 求したならば、NodeD102Dはネットワークを介してデータリクエストを 転送する。データリクエストは、例えばNodeD102Dから第3のルータ1 04E、第2のルータ104B、第1のルータ104Aを介してNodeA10 2Aに移動する。データはNodeA102Aに接続される記憶素子から取り出 され、NodeD102Dにネットワークを介して送信される。上述のように、 データはパケットとしてネットワークを介して送信される。ノード、例えばNo deA102Aはネットワークを介する通信路を決定し、このルーチング情報を 各パケットのヘッダ中に記憶する。例えば、NodeA102AからNodeD 102Dに送信されるデータは、NodeA102Aから第1のルータ104A へ、そして第1のルータ104Aから第2のルータ104Bへ、第2のルータ1 04Bから第3のルータ104Eへ、そして第3のルータ104EからNode D102Dに送信するよう各パケットに指示するルーチング情報を有することが できる。ネットワークの待ち時間はデータリクエストを送信するリクエストノー ドからデータを受信するリクエストノードの間の時間間隔であるので、各ルータ 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へ情報を転送する。望ましい実施例において、各図示された信号線21 0、212は、ポート間でデータを並列に転送する43本の信号線を含んでいる 。各ルータ104は、それぞれがクロスバースイッチ206に接続される6つの ポート202を含んでいる。さらに、各ポートは6つのアービタ204、即ちA 1−A6に接続され、各アービタ204はポートの1つの出力部と関連付けられ ている。例えば、第1のルータ104A上のアービタ2 204Aは、ポート2 202Aの出力部に接続されている。ポート2 202Aの出力部は信号線2 10に接続されている。図2に示すように、各ポート、例えば第1のルータ10 4Aのポート2 202Aおよび第2のルータ104Bのポート6 202Bは 、異なるルータ内の1つのポートだけに接続される。例えば、第1のルータ10 4Aのポート2 202Aは第2のルータ104Bのポート6 202Bに接続 されて、第1のルータ104Aのポート2 202Aは第2のルータ104Bの ポート6 202Bからのデータだけを受信し、第2のルータ104Bのポート 6 202Bへだけデータを転送し、第2のルータ104Bのポート6 202 Bは第1のルータ104Aのポート2 202Aからのデータだけを受信し、第 1のルータ104Aのポート6 202Aへだけデータを転送する。アービタ2 04、クロスバースイッチ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を含んでいる。ルータ1 04を参照して説明されているけれども、各ノード102もまたフロー制御レシ ーバ304Aおよびフロー制御トランスミッタ305B中にレジスタを含んでい る。これらポート要素の動作は、上述のデータ転送例を参照して今から説明され る。 もしNodeD102DがNodeA102Aによって制御されるメモリ素子 中に記憶されたデータをリクエストした場合は、NodeD102DはNode A102Aに要求を転送する。NodeA102Aはデータを取り出し、データ パケットがネットワークを通過する通信路を決定し、上述したように各パケット のヘッダ中にこのルーチング情報を記憶する。第1のルータ104Aは、Nod eA102Aからパケットの形式でデータを受信する。NodeA102Aは、 第1のルータ104Aのポート3に接続される。従って、各フレームは、ポート 3バッファアレイ322A中のバッファに送信される。フレームヘッダ中のルー チング情報は、データがトラバース(traverse)すべき次のルータ9104を認 識する。本実施例において、次のルータは第2のルータ104Bである。第1の ルータ104Aのポート2 202Aは、第2のルータ104Bのポート6 2 02Bに接続される。従ってフレームヘッダ中のルー チング情報は、第1のルータ104Aに対する出力ポートとしてポート2 20 2Aを認識する。この出力ポート情報は出力ポートに関連したアービタ204に よって受信される。本実施例において、アービタ2 204Aは第1のルータ1 04Aのポート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 M uおよび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のルータ104 Aが決定したかを示す。BBR312A中のビットをセットおよびリセットする 方法は、図4−9を参照して以下に説明される。第1のルータ104A中の変更 ユニット326Aは、第2のルータ104Bのポート6バッファアレイ322B 中の空のバッファのアドレスを受信する。この空のバッファは受信バッファであ る。 アービタ2 204Aがクロスバースイッチ206Aにポート3バッファアレ イ322A内の第1のバッファを変更ユニット326に接続することを命令した ときに、アービタ2 204Aはまた、フロー制御レシーバ304Aにフレーム が伝送されたことを通知する信号をフロー制御レシーバ304Aに送信する。パ ケットが受信バッファに転送されたこと、およびBSMレシーバ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の設定によるフロー制御レシーバ30 4Aによって決定されるように空でなければ、BBR312A中の全ビットは論 理1に等しく設定されるであろう。このような状況において、BSMレシーバ3 06Aはアービタ2 204Aに通知し、BBR312A中の少なくとも1つの ビットがリセットされるまでアービタ2 204Aはポート6 202Bへのい かなる追加のパケット転送を許容しない。上記の説明は全パケットに対して単一 の伝送プライオリティレベルだけが存在する状況を説明している。以下に説明す るように、本発明は多重伝送プライオリティレベルを有するパケットをもサポー トしている。 変更ユニット326Aは、ポート3バッファアレイ322Aからクロスバース イッチ206Aを介してフレームを受信し、フロー制御レシーバ304Aから受 信バッファアドレスを受信する。変更ユニット326Aは、第2のルータ104 Bのポート2 202Aを識別するルーチング情報を削除することによってフレ ームヘッダを変更し、例えばフレームヘッダ中の残存するルーチング情報をシフ トする。変更ユニット326Aは、またフレームヘッダに受信バッファアドレス を加算する。変更ユニット326Aは、2重信号線1 06Aの信号線210を介して第2のルータ104Bにパケットを転送するMU X328Aにパケットを転送する。 第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のルータ1 04Aによって送信されたフレームが受信されたという確認を含み、またポート 6バッファアレイ中のバッファの状態、即ち各バッファが空であるか否かの表示 を含む。BSMジェネレータ316Bは第2のルータ104B内のMUX328 Bの入力ポートにデータを伝送する。さらに、BSMジェネレータ316BはB SMが第1のルータ104Aに転送されることをリクエストする信号をアービタ 6 204Bに転送することができる。アービタ6 204BはMUX328B を制御する信号を発生する。この信号がアービタ6 204Bによって送信され ると、BSMが信号線212を介して第1のルータ104Aのポート2 202 Aに送信される。 ポート2 202A中のデータシンクロナイザ324Aは、BSMを受信する 。データシンクロナイザ324Aは受信されたデータがBSMであるかを決定し 、フロー制御レシーバ304A中のBSMレシーバ306Aにデータを送信する 。フロー制御レシーバ304Aは、受信されたBSMに基づいてSANRR30 8A、RCFR310AおよびBBR312Aを更新する。上述したように、こ れらのレジスタ中のビット値はBSMレシーバ306Aによって受信される。B SMレシーバ306Aは、さらなるパケットが第2のルータ104Bのポート6 202Bに送信され得るかを決定する。フロー制御レシーバ304Aおよびフ ロー制御トランスミッタ305Bの動作は、図4−9を参照して以下にさらに詳 細に記述される。 図4は、本発明の望ましい実施例による第2のルータ104B中のフロー制御 トランスミッタ305B中のNMTR318BおよびCFR320Bの双方を表 す値を含むBSMに応答する第1のルータ104A中のフロー制御レシーバ30 4A中のバッファの状態を描いた状態図である。本発明のフロー制御プロトコル の利点はそれが強いことである。即ち、フロー制御プロトコルは送信誤り、例え ば失われたBSMまたは失われたデータフレームを回復することが 可能である。フレームが第1のルータ104Aから第2のルータ104Bに転送 されたときに、本発明に係るフロー制御プロトコルは5つのレジスタを利用する 。これらのレジスタは、第1のルータ104A中のフロー制御レシーバ304A 中のSANRR308A、RCFR310AおよびBBR312Aならびに第2 のルータ104B中のフロー制御トランスミッタ305B中のNMTSR318 BおよびCFR320Bである。フロー制御プロトコルに関する以下の記述は、 これら5つのレジスタを参照するであろう。上述したように、これら5つのレジ スタのそれぞれはポート6バッファアレイ322B中の各バッファに関連したビ ットを含んでいる。1つの望ましい実施例において、ポート6バッファアレイ3 22Bは6つのバッファを含んでいる。図4および図5はこれら5つのレジスタ のそれぞれの中の1ビットに対する状態線図を示す。従って、単一のバッファに 対するフロー制御プロトコルがここに示されている。 ネットワークが初期化されたときに、フロー制御レシーバ304A中のレジス タは状態IIIに関連した値に初期化される。即ちRCFR=1、SANRR=0 およびBBR=1である。上述のように、BSMレシーバ306AはBBR31 2Aの値を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)前回のB SM内のCFR320B中の関連するビットの値にかかわらずフレームが受信バ ッファによって受信されたときは少なくとも1つのBSMに対する論理1のいず れかであるからである。状態IIIにあるときは、最後のBSM内のCFR320 Bの値は論理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およびBBR312 Aはすべて論理零に等しい。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は受信バッファがBS Mを介してフレームを受信した確認を受信していないことを示す。さらに、RC FR310Aは最新の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に伝送されたことを示す。従って、受信バッファ は空である。フレームが受信バッファによって受信されたので、SANRR30 8Aはリセットされる。受信バッファは空であるので、RCFR310Aは論理 零に等しく維持される。上述のように、状態Iにあるときは、フロー制御レシー バ304Aはアービタ2 204Aに新しいフレームをポート6バッファアレイ 322B中の受信バッファに伝送することを命令することができる。 上述したように、本発明に係るフロー制御プロトコル装置および方法は強い。 即ち、プロトコルは伝送誤りを回復することができる。フロー制御プロトコルの 時間切れ特徴は、ネットワークにBSMまたはフレーム伝送誤りがなければバッ ファアレイ322中の利用可能なバッファの数を低減することができるフレーム 伝送誤りを回復することを可能とする。フロー制御レシーバ304A中のレジス タが状態IIにあり、第2のルータ104B内のフロー制御トランスミッタ305 Bが、例えば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は、フレームが受信されなかったことを示すBS M=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に等しい値を有する、即ちBS M=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が受信されれば、状態の変化は発生しない。B SM=0は、以前のBSMの伝送以後受信バッファによってデータは受信されな かったことを示す。BSM=1は、以前のBSMの伝送以後受信バッファによっ ていくつかのフレームデータが受信されたことの確認である。従って、もしBS M=1が受信されれば、フレームが受信バッファによって受信されたのでSAN RR308Aはリセットされる。しかしながら、SANRR308Aは受信バッ ファがデータを受信後少なくとも1つのBSMに対して1に等しく設定されなけ ればならないので、フロー制御レシーバ304A中のレジスタが状態IIにあると きにBSM=1が受信された場合は、BSMが送信されたときに受信バッファが 空であるかの情報は識別され得ない。従って、SANRR308A中の関連ビッ トはリセットされ、RCFR310A中の関連ビットは論理1に設定される。B SMがNMTSR318Bだけを表すときは、BSMがNMTSR318Bおよ びCFR320Bの双方を表すときに可能なように、フロー制御レシーバ304 A中のレジスタは単一のBSMに応答して状態IIから状態Iに遷移しない。BS MがNMTSR318Bだけを表すときに状態IIから状態Iに遷移するために、 フロー制御レシーバは少なくとも2つのBSMを受信しなければならない。第1 のBSMはレジスタの状態IIから状態IIIへの遷移を可能とし、第2のBSMは レジスタの状態IIIから状態Iへの遷移を可能とする。しかしながら、もし時間 切れが発生したならば、フロー制御レシーバ304A中のレジスタは状態IIから 状態Iへの遷移が可能である。時間切れの発生は、上記の図4を参照して説明さ れる。フロー制御プロトコル装置および方法の動作は、以下に図6−9を参照し てより詳細に説明される。 図6は、本発明に係る第1のルータ104Aから第2のルータ1 04Bへのパケットの伝送に対するフロー制御プロトコルのフロー線図である。 アービタ2 204Aは、第1のルータ104Aのポート2 202Aを介して 第2のルータ104Bのポート6 202Bに送信されるデータが存在するかを 602で決定する。602における送信すべきデータが存在するかの決定後、ア ービタ2204Aはパケットのプライオリティを決定するためのフレームヘッダ を検査する。望ましい実施例において、各フレームは3つのプライオリティ、即 ち高、中、低プライオリティの1つを有している。第1のルータ104A中のフ ロー制御レシーバ304Aは606でポート6バッファアレイ322B中の空の バッファの数を決定する。1つのプライオリティプロトコルの例において、もし ただ1つのバッファが空であれば、フロー制御レシーバは608でこのバッファ を受信バッファとして選択し、上述のように受信バッファのアドレスを変更ユニ ット326Aに送信する。フロー制御レシーバ304Aは、第1のルータ104 Aから第2のルータ104Bへフレームを伝送するためにどのパケットプライオ リティが要求されるかを610で決定する。例えば、ポート6バッファアレイ中 で少なくとも1つのバッファが空であれば、フロー制御レシーバ304Aは、高 プライオリティフレームがポート6 202Bに伝送されることができることを 示す信号を高プライオリティ信号線を用いてアービタ2に伝送する。ポート6バ ッファアレイ中で少なくとも2つのバッファが空であれば、フロー制御レシーバ 304Aは、高プライオリティフレームまたは中プライオリティフレームがポー ト6 202Bに伝送されることができることを示す信号を高プライオリティ信 号線または中プライオリティ信号線を用いてアービタ2に伝送する。ポート6バ ッファアレイ中で少なくとも3つのバッファが空であれば、フロー制御レシーバ 304Aは、高プライオリティフレー ム、中プライオリティフレームまたは低プライオリティフレームがポート6 2 02Bに伝送されることができることを示す信号を高プライオリティ信号線、中 プライオリティ信号線または低プライオリティ信号線を用いてアービタ2に伝送 する。 アービタ2は614で、フレームが送信される十分なプライオリティを有する かを決定するために関連するプライオリティ信号線で受信される信号の値を有す るフレームヘッダ中でフレームプライオリティを比較する。もしプライオリティ 信号線がフレームが伝送され得ないことを示していれば、フレームは、フレーム が送信され得る時間までポート3バッファアレイ322A中に残留するであろう 。もしプライオリティ信号線がフレームが送信され得ることを示しているならば 、パケットは616において上述した方法で第2のルータ104Bのポート6 202Bに伝送される。 第2のルータ104Bは618でパケットを受信する。データシンクロナイザ 324Bがそれがデータパケットであることを決定後、データシンクロナイザ3 24Bは620で受信バッファ中のフレームを記憶する。データシンクロナイザ はデータをポート6バッファアレイ322Bに送信する。ポート6バッファアレ イ322B中のどのバッファが受信バッファであるかを決定するために、ポート 6バッファアレイ322Bはフレームヘッダ中のバッファアドレスを読むことが 可能であり、フレームヘッダ中にあるアドレスのバッファにフレームを多重化す る。他の技術において、ポート6バッファアレイ322Bはパケットが受信され る前に受信バッファを選択する。フレームが受信された時、それは直ちに予め選 択されたバッファに送信される。フレームヘッダ中のバッファアドレスはバッフ ァタグであり、624で実際のバッファアドレスと関連付けられる。BSMが発 生されたとき、NMTSR318BおよびCFR32 0B中のビットは実際のバッファアドレスの代わりにポート6バッファアレイ3 22B中のバッファのバッファタグアドレスに対応する。例えば、フロー制御レ シーバ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のルータ10 4B中のフロー制御トランスミッタ305BはBSMジェネレータ316Bに受 信バッファの状態を送信する。以前のBSMが発生され、データが受信バッファ で受信されたときに受信バッファが空であれば、NMTSR318B中の関連す るビットは626で論理1に等しく設定する。上述したように、フレームが第2 のルータ104Bによって受信されたことの確認として機能するために、NMT SR318B内のビットは少なくとも1つのBSMに対して論理1の等値を維持 する。さらに、受信バッファが空でないとき、CFR320Bはまた628で論 理1に設定される。しかしながら、もしBSMが発生される前に受信バッファが 空になれば、CFR320Bは630で受信バッファが空であることを示す論理 零にリセットされる。上述のように、NMTSR318Bおよび多分CFR32 OBの内容はBSM中に含まれる。BSMの伝送および受信に関するより詳細な 説明は図7−9を参照して以下に記述される。 図7は本発明に係るバッファ状態メッセージ発生および伝送技術のフロー線図 である。データフレームが第2のルータ104Bから第1のルータ104Aに伝 送されなかったときは常に、即ちフレームが上記例に記載されたものから反対方 向に伝送されたときは、フロー制御トランシミッタ305BはBSMを伝送する 。もし反対方向へのデータフローが重ければ、全データフレームが送信される後 まで、BSMは送信されない。しかしながら、フロー制御トランシミッタ305 Bがフロー制御レシーバ304Aに直ちにBSMを伝送することが重要である状 況がある。この状況の一例は、バッファがポート6バッファアレイ322B中で 使用可能となったときである。例えばフレームが送信されるようにポート6バッ ファアレイ322B内で十分なバッファが使用可能となることを待っている第1 のルータ104A中のバッファアレイ322中に記憶されるパケッ トが存在するので、フロー制御レシーバ304Aがバッファが使用可能となった ことを示すBSMを受信することは重要であるかもしれない。例えば、フロー制 御レシーバ304A内の情報がポート6バッファアレイ322B内で2つのバッ ファだけが使用可能であることを示していれば、上述のプライオリティプロトコ ルが使用されるならば、低プライオリティを有するフレームは第1のルータ10 4Aから第2のルータ104Bのポート6 202Bに送信され得ない。第3の バッファがポート6バッファアレイ322B内で使用可能となったときに、この 情報はBSMの形式でフロー制御レシーバ304Aに伝送され得る。迅速なBS Mの伝送のために、フロー制御トランシミッタは第2のルータ104B中のアー ビタ6 204BにBSMが可能な限り迅速に伝送されることを要求する信号を 送信する。アービタ6 204Bは第2のルータ104B上のMUX328Bを 制御する信号を発生する。この信号に応答して、例えば現在伝送中のフレームが 完全に伝送された後に、MUX328Bは信号線212上でBSMを多重化する ことが可能である。 もし702でBSMを送信すべき時間であれば、BSMジェネレータ316B は704でBSMを発生する。上述のように、BSMの内容はNMTSR318 BまたはNMTSR318BとCFR320Bの双方であり得る。もしCFR3 20Bの値が論理零であり以前のBSMが送信されて以後いくつかのデータがバ ッファ中に受信されたならば、バッファに関連するNMTSR318B内の値が 上述したようにパケットが受信されたことを示すために論理1に等しく設定され るという例外の下に、NMTSR318Bの内容は以前のBSM時のCFR32 0Bの内容に等しい。フロー制御トランシミッタ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でSANRR308 A中の各バッファに関連するビットが論理1に等しいかを決定する。もしSAN RR308Aが論理1に等しければ、BSMレシーバ306Aは808でBSM のNMTSR318B部中の各バッファに関連するビットが論理1に等しいかを 決定する。NMTSR=1であれば、SANRR308Aは810で論理零に設 定され、処理はステップ812に進む。もしSANRR308Aの値が論理零に 等しいか、もしNMTSR318Bの値が論理零に等しければ、処理はステップ 812に進む。もしBSMがNMTSR318BおよびCFR320Bの双方を 表すならば、RCFR31OA内の各ビットはステップ812でCFR320B 内の関連するビットに等しく設定される。もしBSMがNMTSR318Bだけ を表すのであれば、BSMレシーバ306Aは812でRCFR310AをBS MのNMTSR318B部内の関連するビットに等しく設定する。そしてBSM レシーバ306Aは814で、BBR312A内の各ビットをSANRR308 AおよびRCFR310A内の関連するビットの論理的ORに等しく設定する。 図9(a)−9(g)は、本発明に係るレジスタ値の例である。 図9において、RCFR310A、SANRR308AおよびBBR312Aと ラベル付けされた3つのレジスタは、パケットが第1のルータ104Aから第2 のルータ104Bに伝送されたときの、第1のルータ104A中のフロー制御レ シーバ304A中のレジスタの値に対応している。CFR320BおよびNMT SR318Bとラベル付けされた2つのレジスタは、パケットが第1のルータ1 04Aから第2のルータ104Bに伝送されたときの、第2のルータ104B中 のフロー制御トランスミッタ305B中のこれらのレジスタの値に対応している 。図9(a)は、ルータ104が初期化されたときのレジスタの値を示している 。図4および図5の状態線図に示されているように、RCFR310AおよびB BR312A内の値は論理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、 RCFR31OAおよび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内に記憶されるのでフロー制御トランスミッタ305 B中のレジスタの値もすべて零に等しい。これは、図4に示す状態IIから状態I に遷移したフロー制御レシーバ304A内のレジスタに等しい。もし第2のBS MがNMTSR318Bだけを含むときは、フロー制御レシーバ304Aが第2 のBSMを受信した後のレジスタの値は図9(f)に示すものとなる。これは、 図5に示す状態IIから状態IIIに遷移した フロー制御レシーバ304A内のレジスタに等しい。以後は、フロー制御トラン スミッタ305Bは、NMTSR318Bの値だけを含む第3のBSMを発生し 伝送するであろう。第3のBSMを受信後、レジスタの値は図9(g)に示すよ うになる。これは図5に示す状態IIIから状態Iに遷移したフロー制御レシーバ 304A内のレジスタに等しい。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラーソン,ジェフリー ディー. アメリカ合衆国,カリフォルニア 95125, サン ホセ,ロブディウェイ 1029 (72)発明者 ムー,アルバート アメリカ合衆国,カリフォルニア 95035, ミルピタス,サンダルウッド レーン 1051 (72)発明者 サストリー,ラグー アメリカ合衆国,カリフォルニア 95051, サンタ クララ,キーリー ブールバード #79 1000 (72)発明者 ショーバー,リチャード エル.ジュニア アメリカ合衆国,カリフォルニア 95014, クーパーティノ,リッジウェイ ドライブ 10139 【要約の続き】 が受信エレメントによって受信されたときに、それは使 用可能なバッファに送信される。データがバッファによ って受信されたとき、受信エレメントは現状充満レジス タ(CFR)中のビットおよび送信次メッセージ(NM TSR)中のビットを設定する。各ビットはバッファと 関連付けられる。CFR中の各ビットは関連するバッフ ァが空であるかを示している。制御信号、即ちバッファ 状態メッセージ間で常時CFRが空ではない場合には、 NMTSRは設定され、制御信号が伝送されたときにバ ッファが空であってもリセットされないという例外のも とに、NMTSR中の各ビットは前回の制御信号が伝送 されたときのCFRの値を示している。制御信号はNM TSRだけ、またはNMTSRとCFRの双方を含んで いる。制御信号はデータ受信エレメントからデータ伝送 エレメントへ伝送されるデータとして同一信号線で伝送 される。データ受信エレメントは同一方向に伝送される フレームを制御信号に重畳し得る。伝送エレメントが制 御信号を受信したとき、それは、ビットがSANRR中 で設定された場合かつ制御信号のNMTSR部中の関連 するビットが設定された場合に、SANRR中のバッフ ァに関連するビットをリセットする。RCFRの値はC FRの値または制御信号中のNMTSRの値のいずれか に等しく設定される。そして、伝送エレメントは、BB R中のビットをSANRR(5RCFRとの論理的OR に等しく設定する。データプライオリティ制限、即ちバ ッファが空であり、RCFRがクリアされるまで伝送エ レメントはフレームを伝送しないために、BBRによっ て示される受信エレメントにおいてバッファが使用可能 である場合にだけ、伝送エレメントはデータを伝送する であろう。

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータネットエアーク内における、第1のフラグを有する第1のネ ットワークエレメントから受信バッファおよび第2のフラグを有する第2のネッ トワークエレメントへのデータ伝送の制御方法であって、 (a)前記第1のフラグの値が前記受信バッファがデータを受信するために使 用可能であることを示す第1の値に等しい場合は、前記第1のネットワークエレ メントから前記第2のネットワークエレメントへデータを伝送する段階と、 (b)前記第1のフラグを、前記バッファがデータを受信するために使用可能 でないことを示す第2の値に設定する段階と、 (c)前記受信バッファ中にデータを受信する段階と、 (d)前記受信バッファがデータの受信を完了し、前記受信バッファがデータ を受信するために使用可能である場合、前記第2のフラグを前記第1の値に設定 する段階と、 (e)前記第2のフラグの値に等しい値を有する制御信号を発生する段階と、 (f)前記制御信号を前記第2のネットワークから前記第1のネットワークに 伝送する段階と、 (g)前記第1のフラグを前記制御信号に値に等しく設定する段階と、からな るデータ伝送の制御方法。 2.さらに、 (h)段階(a)から(g)を繰り返す段階、 を含む請求項1に記載のデータ伝送の制御方法。 3.コンピュータネットエアークが、データ伝送エレメントによって決定され る全ネットワークルーチング情報を有する発信元ノー ドルーチングネットワークである請求項1に記載のデータ伝送の制御方法。 4.第1のネットワークエレメントおよび第2のネットワークエレメントがル ータである請求項1に記載のデータ伝送の制御方法。 5.前記段階(b)が、 第1のレジスタを、前記第1のネットワークエレメントが前記第2のネットワ ークエレメントにデータ伝送を完了したが、データが前記第2のネットワークエ レメントによって受信されたことを示す制御信号を受信しなかったことを示す第 3の値に設定する段階と、 前記第1のレジスタが前記第3の値に等しいときに、前記第1のフラグを前記 第2の値に設定する段階と、 をさらに含む請求項1に記載のデータ伝送の制御方法。 6.前記段階(d)が、 第2のレジスタを、前記第1のネットワークエレメントによって送信されたデ ータを前記第2のネットワークエレメントが受信したことを示す第4の値に設定 する段階と、 第3のレジスタを、バッファがデータを受信するために使用可能であることを 示す第5の値に設定する段階と、 前記第2のレジスタが前記第4の値に等しく、かつ前記第3のレジスタが前記 第5の値に等しい場合は、前記第2のフラグを前記第1の値に設定する段階と、 をさらに含む請求項1に記載のデータ伝送の制御方法。 7.前記第3のレジスタを、バッファがデータを受信するために使用可能でな いことを示す第6の値に設定する段階を、さらに含む請求項6に記載のデータ伝 送の制御方法。 8.前記第2のレジスタが前記第4の値に等しく、かつ前記第3 の値が前記第6の値に等しい場合は、前記第2のフラグを前記第2の値に等しく 設定する段階を、さらに含む請求項7に記載のデータ伝送の制御方法。 9.前記段階(g)が、 前記第2のフラグを、前記第2のフラグが前記第2の値に等しい場合は、前記 第1のネットワークエレメントによって送信されたデータを前記第2のネットワ ークエレメントが受信したことを示す第8の値に設定する段階と、 前記第2のフラグが前記第2の値に等しい場合は、第4のレジスタを第7の値 に設定する段階を、さらに含む請求項8に記載のデータ伝送の制御方法。 10.前記段階(f)が、 前記第2のネットワークエレメント中のマルチプレクサの入力に前記制御信号 を伝送する段階と、 前記第2のネットワークエレメントから前記第1のネットワークエレメントへ 1つのデータも伝送されておらず、かつ前記制御信号が前記第2のネットワーク エレメントから前記第1のネットワークエレメントに伝送されたデータよりも高 プライオリティを有しているときには第3の値を有する第1の信号を発生する段 階と、 前記第1の信号が前記第3の値を有する場合は、前記第2のネットワークエレ メントから前記第1のネットワークエレメントに前記制御信号を伝送する段階と 、 前記第1の信号が前記第3の値を有しない場合は、前記第2のネットワークエ レメントから前記第1のネットワークエレメントに前記データを伝送する段階と 、 をさらに含む請求項1に記載のデータ伝送の制御方法。 11.コンピュータネットエアーク内における、第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のフラグを前記制御信号の値に等しく設定する段階と、 からなるデータ伝送の制御方法。 12.さらに、 (1)段階(a)から(k)を繰り返す段階、 を含む請求項11に記載のデータ伝送の制御方法。 13.コンピュータネットエアークが、データ伝送エレメントによって決定さ れる全ネットワークルーチング情報を有する発信元ノードルーチングネットワー クである請求項11に記載のデータ伝送の制御方法。 14.第1のネットワークエレメントおよび第2のネットワークエレメントが ルータである請求項11に記載のデータ伝送の制御方法。 15.前記段階(b)が、 第1のレジスタを、前記第1のネットワークエレメントが前記第2のネットワ ークエレメントにデータ伝送を完了したが、データが前記第2のネットワークエ レメントによって受信されたことを示す制御信号を受信しなかったことを示す第 3の値に設定する段階と、 前記第1のレジスタが前記第3の値に等しいときに、前記第1のフラグを前記 第2の値に設定する段階と、 をさらに含む請求項11に記載のデータ伝送の制御方法。 16.コンピュータネットワーク内におけるデータ伝送制御システムであって 、 第1のフラグを有する第1のネットワークと、 受信バッファと第2のフラグを有し、前記第1のネットワークに接続される第 2にネットワークと、 を具備し、 前記第1のネットワークが、 前記第1のフラグの値が前記受信バッファがデータ受信のために使用可能であ ることを示す第1の値に等しい場合に、前記第1のネットワークからデータを伝 送するための第1の伝送ユニットと、 第1のフラグを、バッファがデータを受信するために利用できない場合の第2 の値とバッファがデータを受信するために利用できる場合の第1の値との一方に 設定するための、前記伝送ユニットに接続される第1のバッファ状態ユニットと 、 を含み、前記第2のネットワークが、 第1のネットワークから伝送されるデータを受信するための、前記伝送ユニッ トに接続される受信ユニットと、 受信バッファがデータ受信を完了し、受信バッファがデータを受信するために 利用可能である場合に、前記第2のフラグを前記第1の値に設定するための、前 記バッファに接続され、かつ前記受信エネメントに接続される第2のバッファ状 態ユニットと、 前記第2のフラグの値に等しい値を有する制御信号を発生するための、前記第 2のバッファ状態ユニットに接続される制御信号ジェネレータと、 前記第2のネットワークエレメントから前記第1のネットワークエレメントへ 前記制御信号を伝送するための、前記制御信号ジェネレータに接続される第2の 伝送ユニットと、 を含むデータ伝送制御システム。 17.前記コンピュータネットワークが、データ伝送エネメント中の全ネット ワークルーチング情報を有する発信元ノードルーチングネットワークである請求 項16に記載のシステム。 18.前記第1のネットワークエレメントおよび前記第2のネットワークエレ メントがルータである請求項16に記載のシステム。
JP53031897A 1996-02-22 1997-02-21 フロー制御プロトコルシステムおよび方法 Expired - Fee Related JP3739799B2 (ja)

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 true JP2000506326A (ja) 2000-05-23
JP2000506326A5 JP2000506326A5 (ja) 2004-11-11
JP3739799B2 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 (32)

* Cited by examiner, † Cited by third party
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
JP2003506779A (ja) * 1999-08-03 2003-02-18 ソニー エレクトロニクス インク 電子ネットワークにおける機器モデルの実現システム及び方法
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
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
US7054330B1 (en) 2001-09-07 2006-05-30 Chou Norman C Mask-based round robin arbitration
US6763418B1 (en) 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
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
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
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
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
US7206856B1 (en) 2002-04-15 2007-04-17 Juniper Networks, Inc. Routing instances for network system management and control
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
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
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
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

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
EP0477448B1 (en) * 1990-09-28 1995-07-12 Hewlett-Packard Company Network monitoring device and system
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

Also Published As

Publication number Publication date
WO1997031459A1 (en) 1997-08-28
DE69732274T2 (de) 2005-07-28
US6003064A (en) 1999-12-14
JP3739799B2 (ja) 2006-01-25
DE69732274D1 (de) 2005-02-24
EP0823166B1 (en) 2005-01-19
EP0823166A1 (en) 1998-02-11

Similar Documents

Publication Publication Date Title
JP2000506326A (ja) フロー制御プロトコルシステムおよび方法
JP3517245B2 (ja) パケットスイッチングネットワーク内のルーチングデバイス出力アクセス用調整方法および装置
US6393023B1 (en) System and method for acknowledging receipt of messages within a packet based communication network
JP4040762B2 (ja) 媒体アクセスコントローラからのパケットデータを伝送するための方法および装置
JP2540930B2 (ja) 輻輳制御装置
US6882656B2 (en) Speculative transmit for system area network latency reduction
EP0995333B1 (en) Interface for a highly integrated ethernet network element
JP3412825B2 (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
US4939724A (en) Cluster link interface for a local area network
JP4074304B2 (ja) パケット転送方法及びパケット転送装置
US6661773B1 (en) Method for detection of stale cells following route changes in a data communication
US5450578A (en) Method and apparatus for automatically routing around faults within an interconnect system
US20040100944A1 (en) Serial ATA frame structure routing circuitry and protocols
US7496700B1 (en) Serial tunneling protocol (STP) flow control in SAS expanders without SATA link state machine
US9118586B2 (en) Multi-speed cut through operation in fibre channel switches
WO2006006632A1 (ja) パケット転送方法及びパケット転送装置
US20030202520A1 (en) Scalable switch fabric system and apparatus for computer networks
JP4074268B2 (ja) パケット転送方法及び転送装置
US20040030766A1 (en) Method and apparatus for switch fabric configuration
JPH0787466B2 (ja) 通信端末の挿入制御方法
JP2004537871A (ja) 高性能ネットワーク・スイッチ
US6195334B1 (en) Apparatus and method for terminating a data transfer in a network switch in response to a detected collision
JP3152965B2 (ja) 非同期形時分割多重方式パケット交換のためのパケットオートルーチング及び多重経路方式交換ネットワーク
US7583597B2 (en) Method and system for improving bandwidth and reducing idles in fibre channel switches
Qu et al. PARING: a token ring local area network with concurrency

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