JP3846710B2 - フロー制御装置 - Google Patents

フロー制御装置 Download PDF

Info

Publication number
JP3846710B2
JP3846710B2 JP2002105983A JP2002105983A JP3846710B2 JP 3846710 B2 JP3846710 B2 JP 3846710B2 JP 2002105983 A JP2002105983 A JP 2002105983A JP 2002105983 A JP2002105983 A JP 2002105983A JP 3846710 B2 JP3846710 B2 JP 3846710B2
Authority
JP
Japan
Prior art keywords
transmission
node
buffer
data
addressed
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
Application number
JP2002105983A
Other languages
English (en)
Other versions
JP2003304267A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002105983A priority Critical patent/JP3846710B2/ja
Publication of JP2003304267A publication Critical patent/JP2003304267A/ja
Application granted granted Critical
Publication of JP3846710B2 publication Critical patent/JP3846710B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はフロー制御装置に関し、特にループトポロジでのフロー制御装置に関する。
【0002】
【従来の技術】
LAN(ローカルエリアネットワーク)等のデータ通信において、自ノードおよび他ノード間でデータ送受信する場合に、フロー制御が行われる。当業者には周知の如く、フロー制御は、データ送信装置および受信装置の間で安定したデータの授受が行われるようにデータの流れを制御することをいう。受信装置の受信バッファメモリに空きがなくなった状態で送信装置がデータの送信を続けると、受信異常が発生する。この受信異常を防ぐために、受信装置は、受信バッファメモリの空き状態を送信装置に知らせる。送信装置は、受信装置の状態を知って、適量のデータを送信する。フロー制御が適切に行われないと、データ転送性能が著しく低下することになる。効率的なデータ転送のために、受信バッファメモリの空き状態を動的に管理して送信装置に知らせるスライディング・ウィンドウ方式が広く使用されている。
【0003】
斯かるフロー制御に関する又は関連する従来技術は、例えば特開2000-232470号公報の「スイッチングハブ」、特開2000-244521号公報の「通信方法及び通信装置」および特開平4-291851号公報の「ループ型LANにおけるノード状態通知方法」等に開示されている。
【0004】
図3は、典型的な従来のフロー制御装置の構成を示すブロック図である。ノードA〜Dで示す複数のノード1〜4が、双方向ケーブル5により順次接続されループを構成する。これらノード1〜4は、それぞれ受信バッファ1A〜4Aおよび送信バッファ1B〜4Bを有する。これら受信バッファ1A〜4Aは、それぞれ自ノード送信されるデータを格納する。一方、送信バッファ1B〜4Bは、それぞれ他ノードへ送信されるデータを格納する。双方向ケーブル5は、各ノード1〜4間でデータ送受信を行う。
【0005】
【発明が解決しようとする課題】
上述の如きフロー制御装置では、各ノード1〜4は、自ノードへの受信バッファ1A〜4Aと他ノード宛の送信バッファ1B〜4Bのみの制御である。従って、自ノード、例えばノード1の受信バッファ1Aにバッファフルが発生した場合には、隣接するノード2の送信停止要求セルを送信する。このフル期間が長いと、ノード2はデータの送信ができないので、その送信バッファ2Bもやがてフルになってしまい、ノード3に送信停止要求を通知し送信停止する。続いてノード4の送信バッファ4Bおよびノード1の送信バッファ1Bもフルになってしまう。この際に、送信バッファ1Bに格納されているデータが全て隣接ノード宛ではない場合には、バッファフルを起こした受信バッファ1Aが処理され空きエントリができても、送信バッファ1Bは中継ノード宛データしかないため、何れのノードも送信を再開できず、デッドロック又はデータロストが発生する可能性がある。また、受信バッファ1A〜4Aがフルのときには、隣接ノード宛データしか送信しないように制御すれば、上述したトラブルが回避可能であるが、レイテンシ、スループット等の性能を落としてしまう。
【0006】
【発明の目的】
本発明は、従来技術の上述した課題に鑑みみなされたものであり、上述の如きデッドロックの発生を回避可能にするフロー制御装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
前述の課題を解決するため、本発明によるフロー制御装置は次のような特徴的な構成を採用している。
【0008】
(1)ループ状に接続された複数のノードを有し、該複数のノードがそれぞれ他ノードとの間の送受信データを格納する送信バッファおよび受信バッファを含むフロー制御装置において、
前記送信バッファ接ノードへの送信データを格納する隣接ノード宛送信バッファおよび前記隣接ノード以外のノードへの送信データを格納する中継ノード宛送信バッファを備え、前記隣接ノード宛送信バッファおよび前記中継ノード宛送信バッファのトラフィック情報を他のノードへ送出して、前記他のノードでは自ノード宛受信バッファフルを受信した場合には隣接データ送信を停止し、隣接送信データフルを受信した場合には中継データ送信を停止し、中継データ送信フルを受信した場合には中継データ送信を停止するフロー制御回路を備えるフロー制御装置。
【0009】
(2)前記受信バッファおよび送信バッファは複数段のバッファで構成され、前記各バッファの空き状態は残バッファカウンタにより残り段数をカウントして監視する上記(1)に記載のフロー制御装置。
【0010】
(3)ループ状に接続された複数のノードを有し、該複数のノードがそれぞれ他のノード間で送受信するデータのフローを制御するフロー制御装置において、
前記各ノードの受信ポートに接続されデータの宛先を制御する宛先制御回路と、該宛先制御回路に接続され、自ノード宛のデータを格納する自ノード宛受信バッファと、前記宛先制御回路に接続され、隣接ノード宛送信データを格納する隣接ノード宛送信バッファと、前記宛先制御回路に接続され、隣接ノード以外のノードへの送信データを格納する中継ノード宛送信バッファと、それぞれ前記受信バッファおよび送信バッファに接続され対応するバッファの空き情報を得る残バッファカウンタと、該残バッファカウンタに接続され、他ノードにトラフィック情報を送出して隣接データの送信および中継データの送信の停止を制御するフロー制御回路とを備えるフロー制御装置。
【0011】
(4)それぞれ前記隣接ノード宛送信バッファおよび前記中継ノード宛送信バッファに接続され、他のノードからのトラフィック情報と共に送信ポートへ送信制御情報を送出する隣接ノード宛送信制御回路および中継ノード宛送信制御回路を含む上記(3)に記載のフロー制御装置。
【0015】
【発明の実施の形態】
以下、本発明によるフロー制御装置の好適実施形態の構成および動作を、添付図面を参照して詳細に説明する。
【0016】
先ず、図1は、本発明によるフロー制御装置におけるループトポロジの接続状態を示すブロック図である。図1の特定例にあっては、ノードA〜Dの4個のノード1〜4が双方向ケーブル5により順次ループ状に接続されている。双方向ケーブル5は、これら各ノード1〜4間のデータの転送を行う。
【0017】
次に、図2は、図1における各ノード1〜4のフロー制御装置のブロック図である。このフロー制御装置10は、宛先制御回路11、隣接ノード宛送信バッファ21、中継ノード宛送信バッファ23、自ノード宛受信バッファ25、これら各バッファ21、23および25にそれぞれ接続された残バッファカウンタ22、24および26、これら残バッファカウンタ22、24および26にそれぞれ接続されたフロー制御回路31、32および33、隣接ノード宛送信制御回路41および中継ノード宛送信制御回路42により構成される。
【0018】
図1の各ノード1〜4に設けられたフロー制御装置10は、他ノードから受信した自ノード宛データのオーバーフローを防ぐため、複数段の自ノード宛受信バッファ25を有しており、このバッファ25の残り段数を残バッファカウンタ26でカウントする。そして、この残バッファカウンタ26でカウントした残バッファに応じて、フロー制御回路33よりトラフィック情報セルを送出する。
【0019】
上述の如く、本発明によるフロー制御装置10では、自ノード宛受信バッファ25に加えて、ポート毎に隣接ノード宛送信バッファ21、中継ノード宛送信バッファ23の3種類の信バッファを有している。また、各送信バッファ21、23の残り段数をそれぞれ残バッファカウンタ22、24でカウントする。そして、残バッファカウント値により、それぞれトラフィック情報をフロー制御回路31、32で生成し、他ノードに通知することによりデータのオーバーフローを防止している。
【0020】
この際に、送信側ノードでは、他ノードでの自ノード宛受信バッファフルを受信した場合には、隣接データ送信を停止する。隣接送信データフルを受信した場合には、中継データ送信を停止する。また、中継データ送信フルを受信した場合にも、中継データ送信を停止することを特徴とする。
【0021】
次に、図1および図2を参照して本発明によるフロー制御装置10の動作を詳細に説明する。自ノード宛受信バッファ25は、他ノードからの受信データのオーバーフローを防止するため、複数段のバッファを有している。このバッファの残り段数を残バッファカウンタ26でカウントし、残バッファ数に応じて、バックプレッシャ方式又はクレジット方式でトラフィック情報をフロー制御回路33より送出するよう構成されている。それに加え、ポート毎に隣接ノード宛送信バッファ21および中継ノード宛送信バッファ23と、これらバッファ21、23の残バッファカウンタ22、24と、フロー制御回路31、32とを備えており、他ノードにトラフィック情報を送信する。また、他ノードより受信したトラフィック情報は、隣接ノード宛送信制御回路41および中継ノード宛送信制御回路42に送り、送信データの制御を行う。
【0022】
図1は、本発明によるフロー制御装置10が適用されるループトポロジの接続図であり、図2に示すフロー制御装置10は、各ノード1〜4に設けられ、1つのノード、例えばノード1と隣接ノード2間でデータの送受信を双方向ケーブル5を介して行う。また、その他のノード(中継ノード)である例えばノード3とのデータを中継(又は転送)する。ここでは、片方のポートに着目し説明する。受信したデータは、自ノード宛データであるか、隣接ノード宛データであるか又は中継ノード宛データであるかの判別を宛先制御回路11で行う。宛先が自ノード宛であった場合には、自ノード宛受信バッファ25に格納される。
【0023】
自ノード宛受信バッファ25は、データのオーバーフローを防止するため、複数段のバッファを有しており、そのバッファの残り段数を残バッファカウンタ26でカウントする。上位バスが混んでいて残バッファが少なくなると、フロー制御装置10に通達し、受信バッファフルのトラフィック情報セルを該当送信ポートより他ノードに向けて送信する。これによりデータロストを防止する。
【0024】
また、各ノード1〜4のポートにより受信したデータが他ノード宛で隣接するノードが受け取るような場合には、隣接ノード宛送信バッファ21より送信を行う。隣接ノードが中継のみを行うようなデータを受信した場合には、中継ノード宛送信バッファ23を介して送信を行う。この際に、隣接ノード宛送信バッファ21が一杯になった場合には、隣接ノードデータフルのトラフィック情報を、そのデータを受けた受信ポートとペアとなる送信ポートから送信する。中継ノード宛送信バッファ23が一杯になった場合には、中継ノード宛送信バッファフルのトラフィック情報を、そのデータを受けた受信ポートとペアとなる送信ポートから送信し、データのロストを防止する。
【0025】
一方、他ノード側では、自ノード宛受信バッファフルを受け取った場合には、隣接データ送信を停止するため、隣接ノード宛送信制御回路41に報告して送信データを、再開のトラフィック情報を受け取るまで一時停止する。また、隣接データ送信バッファフルの中継データを受け取った場合には、中継ノード宛送信制御回路42に通達して中継ノード宛送信を、再開のトラフィック情報を受け取るまで一時停止する。また、中継ノード宛送信バッファフルを受け取った場合にも、中継ノード宛送信制御回路42に通達して中継ノード宛送信を、再開のトラフィック情報を受け取るまで一時停止する。以上の制御によりデータロスト、デットロックの発生しないフロー制御を実現する。
【0026】
尚、上述した本発明によるフロー制御装置の好適実施形態では、フロー制御をバックプレッシャ方式であったが、本発明はこれに限定されない。例えば、クレジット方式への適用も可能である。
【0027】
以上、本発明によるフロー制御装置の好適実施形態の構成および動作を詳述した。しかし、斯かる実施形態は本発明の単なる例示に過ぎず、何ら本発明を限定するものではない。本発明の要旨を逸脱することなく、特定用途に応じて変形変更が可能であること、当業者には容易に理解できよう。
【0028】
【効果の説明】
以上の説明から理解される如く、本発明のフロー制御装置によると、次の如き実用上の顕著な効果が得られる。即ち、本発明のフロー制御装置によると、自ノード宛の受信バッファフル検出に加えて、送信バッファフルを隣接ノード用および中継ノード用に分けていると共にトラフィック情報セルにどのバッファがフルであるかを通達するため、中継ノード同士の送信バッファフルによるデッドロック回避することが可能である。
【図面の簡単な説明】
【図1】本発明のフロー制御装置が適用可能なループトポロジの1例である。
【図2】本発明によるフロー制御装置の好適実施形態の構成を示すブロック図である。
【図3】一般的なフロー制御装置の構成図である。
【符号の説明】
1、2、3、4 ノード
5 双方向ケーブル
10 フロー制御装置
11 宛先制御回路
21 隣接ノード宛送信バッファ
23 中継ノード宛送信バッファ
25 自ノード宛受信バッファ
22、24、26 残バッファカウンタ
31、32、33 フロー制御回路
41 隣接ノード宛送信制御回路
42 中継ノード宛送信制御回路

Claims (4)

  1. ループ状に接続された複数のノードを有し、該複数のノードがそれぞれ他ノードとの間の送受信データを格納する送信バッファおよび受信バッファを含むフロー制御装置において、
    前記送信バッファ接ノードへの送信データを格納する隣接ノード宛送信バッファおよび前記隣接ノード以外のノードへの送信データを格納する中継ノード宛送信バッファを備え、前記隣接ノード宛送信バッファおよび前記中継ノード宛送信バッファのトラフィック情報を他のノードへ送出して、前記他のノードでは自ノード宛受信バッファフルを受信した場合には隣接データ送信を停止し、隣接送信データフルを受信した場合には中継データ送信を停止し、中継データ送信フルを受信した場合には中継データ送信を停止するフロー制御回路を備えることを特徴とするフロー制御装置。
  2. 前記受信バッファおよび送信バッファは複数段のバッファで構成され、前記各バッファの空き状態は残バッファカウンタにより残り段数をカウントして監視することを特徴とする請求項1に記載のフロー制御装置。
  3. ループ状に接続された複数のノードを有し、該複数のノードがそれぞれ他のノード間で送受信するデータのフローを制御するフロー制御装置において、
    前記各ノードの受信ポートに接続されデータの宛先を制御する宛先制御回路と、該宛先制御回路に接続され、自ノード宛のデータを格納する自ノード宛受信バッファと、前記宛先制御回路に接続され、隣接ノード宛送信データを格納する隣接ノード宛送信バッファと、前記宛先制御回路に接続され、隣接ノード以外のノードへの送信データを格納する中継ノード宛送信バッファと、それぞれ前記受信バッファおよび送信バッファに接続され対応するバッファの空き情報を得る残バッファカウンタと、該残バッファカウンタに接続され、他ノードにトラフィック情報を送出して隣接データの送信および中継データの送信の停止を制御するフロー制御回路とを備えることを特徴とするフロー制御装置。
  4. それぞれ前記隣接ノード宛送信バッファおよび前記中継ノード宛送信バッファに接続され、他のノードからのトラフィック情報と共に送信ポートへ送信制御情報を送出する隣接ノード宛送信制御回路および中継ノード宛送信制御回路を含むことを特徴とする請求項3に記載のフロー制御装置。
JP2002105983A 2002-04-09 2002-04-09 フロー制御装置 Expired - Fee Related JP3846710B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002105983A JP3846710B2 (ja) 2002-04-09 2002-04-09 フロー制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002105983A JP3846710B2 (ja) 2002-04-09 2002-04-09 フロー制御装置

Publications (2)

Publication Number Publication Date
JP2003304267A JP2003304267A (ja) 2003-10-24
JP3846710B2 true JP3846710B2 (ja) 2006-11-15

Family

ID=29390438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002105983A Expired - Fee Related JP3846710B2 (ja) 2002-04-09 2002-04-09 フロー制御装置

Country Status (1)

Country Link
JP (1) JP3846710B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6882681B2 (ja) * 2017-07-12 2021-06-02 富士通株式会社 情報処理システム、情報処理装置、及び情報処理システムの制御方法

Also Published As

Publication number Publication date
JP2003304267A (ja) 2003-10-24

Similar Documents

Publication Publication Date Title
US7239636B2 (en) Multiple virtual channels for use in network devices
Bux et al. Flow control in local-area networks of interconnected token rings
EP0823167B1 (en) Method and apparatus for coordinating access to an output of a routing device in a packet switching network
JP3606941B2 (ja) フロー制御装置及びフロー制御方法
TWI227080B (en) Network switch providing congestion control and method thereof
EP2051459B1 (en) A backpressure method, system and intermediate stage switch node
WO2009107089A2 (en) Apparatus and method for shared buffering between switch ports
CN101682442A (zh) 用于第2层链路聚合的动态负载均衡
US20080028090A1 (en) System for managing messages transmitted in an on-chip interconnect network
CN102090030A (zh) 通过网络传输数据的方法
WO1994018766A1 (en) High-speed packet bus
JPH0821944B2 (ja) 多重アクセス・デイジタル伝送システム
JP2004518381A (ja) モジュラおよびスケーラブルスイッチならびに高速イーサネット(r)データフレームを分配するための方法
US7649844B2 (en) In-order fibre channel packet delivery
JP3273790B2 (ja) フレーム中継ネットワーク内の渋滞管理方法及びフレーム中継ネットワークのノード
US7324441B1 (en) Methods and apparatus for alleviating deadlock in a fibre channel network
Ichikawa et al. High-speed packet switching systems for multimedia communications
JP3846710B2 (ja) フロー制御装置
JPH11239163A (ja) Lan間フロー制御方法及びスイッチ
EP1106003A1 (en) Method and system for prioritised congestion control in a switching hub
JPS6324742A (ja) パケツト交換輻輳抑止方式
US11632334B2 (en) Communication apparatus and communication method
JPH09191321A (ja) 適応クレジット制御型転送方法
JPS63209247A (ja) パケツト交換方式
JP2007325178A (ja) パケット処理システム、パケット処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060620

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: 20060804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060817

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: 20090901

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees