JP2000183886A - 通信装置 - Google Patents

通信装置

Info

Publication number
JP2000183886A
JP2000183886A JP36023298A JP36023298A JP2000183886A JP 2000183886 A JP2000183886 A JP 2000183886A JP 36023298 A JP36023298 A JP 36023298A JP 36023298 A JP36023298 A JP 36023298A JP 2000183886 A JP2000183886 A JP 2000183886A
Authority
JP
Japan
Prior art keywords
queue
flow
cell
packet
back pressure
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.)
Pending
Application number
JP36023298A
Other languages
English (en)
Inventor
Kazuhisa Yamashita
和寿 山下
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP36023298A priority Critical patent/JP2000183886A/ja
Publication of JP2000183886A publication Critical patent/JP2000183886A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 一部の選択されたフローに関してのみバック
プレッシャに基づくフロー制御を効率良く行う選択的バ
ックプレッシャを実現する。 【解決手段】 スイッチコア41の入力ポートから入力
されたパケット又はセルは、フロー毎に設けたキューに
一旦記憶された後、マルチプレクサを経て出力ポートか
ら出力される。本通信装置の後段の装置からフローの停
止要求があると、バックプレッシャモジュール11は、
「キューが空になった」旨の通知をスケジューラ43に
送ることでフローを止める。後段の装置からフローの再
開要求があると、バックプレッシャモジュール11は、
「キューが空でなくなった」旨の通知をスケジューラ4
3に送ることでフローを再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタルデータ
を伝送する際のパケットやATM(AsynchronousTransfe
r Mode:非同期転送モード)セルを中継する通信装置に
関する。
【0002】
【従来の技術】コンピュータやデータ端末などを通信装
置で接続してネットワークを形成し、各コンピュータ間
でデータを伝送することが行われている。図3にその構
成を例示する。コンピュータ31〜34は、直接的には
通信装置35〜37に接続されている。通信は双方向に
行われるので、接続には少なくとも一対の伝送路が必要
である。接続は、複数対の伝送路を用いても良く、ネッ
トワーク全体として迂回路やループがあっても良い。後
の説明の都合上、図3の通信装置では、左側に入力ポー
トを、右側に出力ポートを記載している。通信装置35
〜37は、互いに接続されており、コンピュータからの
通信を他のコンピュータ又は通信装置に伝送する。この
様に通信装置で中継することにより、コンピュータ間で
の通信を可能にする。通信は、データをパケットに区切
り、パケットを単位として伝送することで行う。ATM
技術を使う場合は、パケットをさらに細分化したセルを
単位として伝送する。本発明に関する通信装置は、パケ
ットを伝送する場合でもセルを伝送する場合でも適用可
能である。パケットとセルと特に区別して説明する必要
がないので、以下では、「パケット又はセル」を「パケ
ット/セル」と表記する。
【0003】図3のネットワークでは、通信装置を介し
てコンピュータとコンピュータの間で通信が行われる。
この通信の流れをフローと呼ぶ。通信の対象となるデー
タには、リアルタイムの動画や音声の様に、通信の遅延
や伝送レートが一定以下に劣化すると困るものがある。
また、一方、ファイル転送の様になるべく高い伝送レー
トで送りたいが、遅延や伝送レートの劣化があっても差
し支えないものがある。前者は、QoS(Quality of S
ervice:サービス品質)が一定以上に保たれる必要があ
る。後者は、QoSを一定以上に保つ必要がない。一
方、ネットワークの使用効率はなるべく高めたい。すな
わち、通信できる最大の伝送レート(伝送帯域)で、通
信したい。
【0004】そこで、通信装置においては、まずQoS
を一定以上に保つべき通信に伝送レートを割り当てた
後、残る伝送帯域についてはQoSを保たなくて良い通
信に伝送レートを割り当てる。この様に、通信の対象と
なるデータの性質に合わせて伝送レートを割り当てるこ
とで、ネットワークの使用効率を高めることができる。
【0005】さて、途中でパケット/セルが廃棄される
ことなく装置間で通信が行われるためには、後段の装置
が受け取ることができる量に合わせて前段の装置が送信
を行わなければならない。これをフロー制御と呼ぶ。具
体的には、後段の装置がパケットを受け取れるか否かを
その前段の装置に通知することで行う。例えば、後段の
装置内に設けてあるパケット/セルを受け取るバッファ
(一時的な記憶領域)に溜まっているパケット/セルの
量を監視し、所定の閾値以上になれば、後段の装置から
前段の装置へ送信を停止するよう通知する。逆に、バッ
ファに溜まっているパケットの量が、別の所定の閾値以
下になれば、後段の装置から前段の装置へ送信を再開す
るよう通知する。この様な、後段の状態による前段の送
信の制御をバックプレッシャと呼ぶ。
【0006】ところで、通信装置の間をつなぐ伝送路に
は、コンピュータ間の通信が複数含まれる。フローに必
要なQoSは前述した様に種々に異なりうる。すなわ
ち、QoSの異なる複数のフローが同じ通信装置の経路
を通る。また、バックプレッシャの生じ方は個々のフロ
ー毎に異なる。従って、フロー毎にバックプレッシャを
制御できる必要がある。これを選択的バックプレッシャ
と呼ぶ。
【0007】従来技術により選択的バックプレッシャを
行う通信装置36の構成を図4に示す。通信装置36
は、n本の入力ポートとn本の出力ポートを備えてお
り、n個の別の装置と通信を行うことができる。
【0008】41はスイッチコアであり、n+1本の入
力ポートとn+1本の出力ポートを備える。n+1番目
の入力ポート(入力ポートx)と出力ポート(出力ポー
トz)は、この通信装置36自身が、別の装置と通信す
るために用いる。例えば、選択的バックプレッシャに基
づくフロー制御のためには、この通信装置と別の装置の
間での連携が必要である。この入力ポートxと出力ポー
トzを使って制御用パケット/セルを通信することで、
この連携を取る。
【0009】スイッチコア41に入ってから出るまでの
パケットの流れを図5に模式的に示す。入力されたパケ
ット/セルは、クラシフィケーション51〜53によっ
て、どのフローに対応するものかが特定され、どの出力
ポートから出力すべきかが定められる。クラシフィケー
ション51〜53で特定されたフローは、本通信装置内
ではフローID(Identifier)を付して表すことにす
る。パケット/セルは、フロー毎に設けたキュー(待ち
行列)55〜59に一旦蓄えられる。キューは、FIF
O(First In First Out:先に入れたものから先に取り
出される)形式で動作する記憶手段で実施される。スイ
ッチマトリックス54は、フローIDに基づいてパケッ
ト/セルをそれぞれのキューに割り振って書き込む。マ
ルチプレクサ61は、フロー毎に設けたキュー55〜5
7から、逐次的にパケット/セルを取り出すことで時分
割多重化して出力する機能を有する。マルチプレクサと
フロー毎のキューは、出力ポートそれぞれに対して用意
されている(64〜66)。
【0010】図4のキューコントローラ42は、スイッ
チマトリックス54を経てキューにパケット/セルを入
れる操作や、マルチプレクサがキューからパケット/セ
ルを取り出す操作を指示する。すなわち、キューコント
ローラ42からは、どのキューに入れるべきかが伝えら
れ、これに基づいてパケット/セルがキューに入れられ
る。また、キューコントローラ42は、出力すべきパケ
ット/セルをスイッチコア41に伝える。これらに基づ
いて、スイッチコア41内部のマルチプレクサ61〜6
6は、パケット/セルをキュー55〜59から取り出し
て所定の出力ポートから出力する。
【0011】図5で模式的に示した様に、パケット/セ
ルの全体をキューに入れる構成も可能である。しかし、
キューの記憶場所の節約やキューの処理を容易にするた
め、パケット/セルの順序を記憶するキューとは別に、
パケット/セルを記憶する共用メモリを設けるのでも良
い。この場合の構成を図6に示す。図6において、共用
メモリ71は、共用メモリコントローラ72によって書
き込みと読み出しが制御されている。共用メモリ71の
どこにパケット/セルを記憶したかは、共用メモリコン
トローラ72が生成するパケット識別子で表すこととす
る。キューコントローラ42の内部には、フロー毎に対
応したキューを設けておき、このキューにパケット識別
子を記憶する。パケット識別子の大きさ(バイト数)
は、パケット/セル全体に比べて小さいので、パケット
/セル全体をキューに記憶する場合に比べて、キューの
記憶や操作が容易である。
【0012】図6において、クラシフィケーション51
〜53によってフローが特定されたパケット/セルがス
イッチマトリックス54に入力されたら、スイッチマト
リックス54はそのフローIDをキューコントローラに
通知する。一方では、スイッチマトリックス54は、共
用メモリコントローラ72を制御してそのパケット/セ
ルを共用メモリ71に書き込む。そして、共用メモリコ
ントローラ72は、パケット識別子をキューコントロー
ラ42に通知する。キューコントローラ42は、フロー
IDとパケット識別子を受け取って、フローIDで示さ
れるキューにパケット識別子を書き込む。キューからパ
ケット識別子が取り出されるときは、そのパケット識別
子とキューに付されたフローIDがキューコントローラ
42から共用メモリコントローラ72に通知され、共用
メモリ71から該当するパケット/セルが取り出され
る。取り出されたパケット/セルはフローIDに基づい
て対応する出力バッファ73〜75に一旦書き込まれた
後、出力される。
【0013】以下では、説明の容易化のために、パケッ
ト/セルを図5のキュー55〜59に記憶する場合では
なく、図6の共有メモリ71に記憶する場合を代表して
説明する。
【0014】図4のキューコントローラ42とスケジュ
ーラ43の間の通信は、双方向の信号線であるフローI
D信号44、この信号線を制御するQバリッド信号4
5、Sバリッド信号46、及び、エンプティ信号47に
よって、行われる。キューコントローラ42からスケジ
ューラへフローIDを伝えるときは、キューコントロー
ラ42がフローIDを双方向の信号線である44に出力
し、Qバリッド信号45をアサートする。逆に、スケジ
ューラからキューコントローラ42にフローIDを伝え
るときは、キューコントローラ42がフローIDを双方
向の信号線である44に出力し、Sバリッド信号46を
アサートする。
【0015】キューコントローラ42は、キューに入っ
ているパケット識別子の状態の変化をスケジューラ43
に伝える。キューが空(キューに記憶されているパケッ
ト識別子がない状態)のときに、新たなパケット識別子
がキューに入れられたなら、キューコントローラ42は
スケジューラ43にその旨を通知する。具体的には、フ
ローIDを双方向の信号線である44に出力し、Qバリ
ッド信号45をアサートする。
【0016】スケジューラ43はキューコントローラ4
2に、出力すべきフローに対応したフローIDを伝え
る。具体的には、フローIDを双方向の信号線である4
4に出力し、Sバリッド信号46をアサートする。キュ
ーコントローラ42は、キューからパケット識別子を取
り出して、フローIDと共に共用メモリコントローラ7
2に送り、そのパケット/セルを共用メモリ71から取
り出して出力バッファ73を経て出力させる。キューか
らパケット識別子を取り出すことでキューが空になった
場合は、キューコントローラ42はスケジューラ43に
その旨を通知する。具体的には、キューコントローラ4
2は、エンプティ信号47をアサートする。
【0017】本例では、一組のキューコントローラ42
とスケジューラ43が、全ての出力ポートに対応する、
キューを管理する場合を示している。キューそれぞれに
パケット識別子を入れたり取り出したりする指示は、決
められた周期で逐次的に行っている。すなわち、キュー
コントローラ42とスケジューラ43は、時分割で各ポ
ートに対するサービスを行っている。共用メモリ71か
ら出力バッファ73〜75へのパケット/セルの転送
は、出力バッファ73〜75からパケット/セルが出力
ポートに送出されるよりも速く行われる。つまり、共用
メモリ71から出力バッファ73〜75への転送は時分
割で行われるが、出力バッファ73〜75からパケット
/セルが送出されるのは伝送路に対して定められた速度
で連続して行われる。なお、出力ポートからパケット/
セルを出力する動作は、互いに独立しているので、キュ
ーコントローラ及びスケジューラは出力ポート毎に用意
しても良い。
【0018】スケジューラ43の機能について、より詳
しく説明する。スケジューラ43は、フローIDと出力
ポートとの対応、出力ポートの有する伝送帯域から各フ
ローにどれだけの伝送帯域を割り当てるか、を管理する
機能を有している。スケジューラ43は、キューコント
ローラ42からフローIDを受け取ることで「キューが
空でなくなった」ことを知ると、そのフローIDで示さ
れるキューに対する指示(サービス)を、スケジューラ
43の処理対象に加える。サービスの対象となっている
キューに関しては、伝送帯域を割り当てる所定の方針
(ポリシー)に従って、パケット/セルを取り出すタイ
ミングをスケジューラ43は決める。このタイミングに
なれば、対応するフローIDをスケジューラ43はキュ
ーコントローラ42に伝え、これによりスイッチコア4
1ではキューからパケット/セルが取り出される。この
際、もし、キューコントローラ42からのエンプティ信
号47がアサートされたなら、「キューが空になった」
ことをスケジューラ43が知り、このキューはサービス
の対象から除外される。
【0019】伝送帯域を割り当てるポリシーの代表的な
ものとして、パケットの場合はDDR(Deficit Round R
obin)が、セルの場合はWRR(Weighted Round Robin)
がある。これらは、各フローに重みを設定し、その重み
の割合に従って、出力ポートの伝送帯域をフローの間で
分け合うというものである。ラウンドロビンによる伝送
帯域の割り当ては、例えば、サービスの対象となってい
る全てのキューを循環的に検査し、それぞれのキューか
らはフローの重みに比例した数だけパケット/セルを出
力させることで実現する。
【0020】図4のCPU(Central Processing Uni
t:マイクロコンピュータ等により実施される中央処理
装置)48は、通信装置36全体を管理する。特に、バ
ックプレッシャに関しては、ポートzから受けた制御用
パケット/セルを解釈してフローを制御する機能を有す
る。すなわち、出力先からバックプレッシャを受けて出
力を停止するフローは、スケジューラ43に設けてある
制御ポートを通して、CPU48がそのフローの重みを
0にする。出力先のバックプレッシャが解除されて出力
を再開するフローについては、CPU48がそのフロー
の重みを通常の値に戻す。この様に、スケジューラ43
内部にあるフローの重みをCPU48が書き換えること
で、バックプレッシャによるフローの停止・再開を制御
する。
【0021】図4の制御パケット/セル生成部49は、
通信装置36が他の機器に出力する制御用パケット/セ
ルを生成する。例えば、通信装置36内のキューに記憶
されているパケット/セルの量に応じてバックプレッシ
ャによるフローの停止・再開を、本通信装置36の入力
先へ伝えるための制御用パケット/セルを生成する。制
御パケット/セル生成部49を別に設けずに、CPU4
8がこの働きを兼ね備える構成も、もちろん可能であ
る。
【0022】
【発明が解決しようとする課題】かかる構成の通信装置
では、各フローの停止・再開によって選択的バックプレ
ッシャを実現しようとすると、後段の通信装置には、大
きなバッファ(例えば、キューや共用メモリ)が必要で
ある。以下に、より詳述する。
【0023】もし、後段の通信装置からのフローの停止
要求が即応されず、パケット/セルの出力が続くと、後
段の通信装置はそれだけ余分なパケット/セルを一時的
に受け取らなければならない。さもないと、バッファの
オーバーフローのため、パケット/セルの廃棄が生じ
る。これを避けるためには、バッファの容量を大きくす
る必要がある。
【0024】一般に、フローiの伝送レートをRi
し、後段の通信装置がフロー停止又は再開を要求する制
御用パケット/セルを送信して、本通信装置から実際に
フローが停止又は再開するまでのラウンドトリップ時間
をTrttとする。後段の通信装置のバッファがバックプ
レッシャすべきと判断する閾値(停止閾値)を越えた後
フロー停止を要求する制御用パケット/セルを生成して
本通信装置に送信するまでに必要な処理時間をTprocN
とし、本通信装置でフロー停止を要求する制御用パケッ
ト/セルを受信してから、実際にフローを止めるまでに
必要な処理時間をTprocSとする。すると、後段の装置
においてはフローiのキューをオーバーフローさせない
ためには、停止閾値の上に、 Ri×(Trtt+TprocN+TprocS) (1) だけのバッファが必要である。
【0025】逆に、後段の通信装置からのフローの再開
要求に即応できずにパケット/セルを停止し続けると、
後段の通信装置のバッファにあったパケット/セルはさ
らに次段の通信装置に送られて一時的に減ってしまう。
もし、この後段の通信装置のバッファが空になったな
ら、フローが一時的に止まってしまう。すなわち、アン
ダーランが生じて、パケット/セルの流れのQoSが保
てないことになる。これを避けるためには、後段の通信
装置のバッファの容量を大きくし、パケット/セルが常
に多めに残っている様にしなければならない。
【0026】一般に、本通信装置でフロー再開を要求す
る制御用パケット/セルを受信してから、実際にフロー
を再開するまでに必要な処理時間をTprocRとする。す
ると、次段の装置においてはフローiを途切れさせない
ためには、再開閾値の下に、 Ri×(Trtt+TprocN+TprocR) (2) だけのバッファが必要である。
【0027】選択的バックプレッシャは、従来技術にお
いては、スケジューラ43の帯域割り当ての設定を帯域
0(バックプレッシャによるフロー停止時)、本来の帯
域(フローを停止していない時)のいずれかに変更する
ことで実現している。重みを変更するには、スケジュー
ラ43から変更前の重みを読み取って記憶した後に、変
更後の重みを書き込む等の処理を行う時間や、重みを書
き換えるタイミングと重みを検査で参照するタイミング
とが重ならない様にタイミングを制御する時間等が必要
である。すなわち、各フローの重み付けの設定変更には
時間がかかる。つまり、TprocSとTprocRが大きく、従
来技術による通信装置は後段の通信装置からのバックプ
レッシャに即応することができない。そのため、従来技
術による通信装置では、フローの停止・再開の応答性が
悪く、次段の通信装置には大きなバッファ容量を必要と
していた。
【0028】また、ラウンドロビンによる伝送帯域の割
り当てのため、前述の様にサービスの対象となっている
全てのキューを循環的に検査すると、重みが0のフロー
に対しても検査が行われることになり、その検査時間が
無駄である。重み0のフローが多くなると、実際には出
力しないフローの検査にスケジューラ43の時間が使わ
れてしまい、本来出力すべきフローを十分には処理でき
なくなってしまう。
【0029】本発明は、これらの点を解決するために創
作されたものであり、選択的バックプレッシャによるフ
ローの停止・再開を効率良く行うことを目的としてい
る。
【0030】
【課題を解決するための手段】かかる目的に対して、請
求項1の通信装置は、パケット又はセルを入力し、複数
のフローそれぞれに対応して設けてあるキューに一旦記
憶した後に出力する通信装置において、前記キューの実
際の状態を通知するキューコントローラと、前記キュー
の擬似的な状態を通知するバックプレッシャモジュール
であって、出力先から前記フローのパケット又はセルの
出力を停止する要求があれば擬似的な状態を空とし、出
力先から前記フローのパケット又はセルの出力を再開す
る要求があれば擬似的な状態を空でないとする、バック
プレッシャモジュールと、前記キューコントローラ及び
前記バックプレッシャモジュールから通知を受け、前記
実際の状態又は前記擬似的な状態が空の場合はパケット
又はセルをキューから取り出さず、前記実際の状態及び
前記擬似的な状態が空でない場合はパケット又はセルを
キューから取り出す制御を行うスケジューラと、を有す
ることを特徴とする。
【0031】かかる様に構成されているので、スケジュ
ーラはキューコントローラからの通知と同様にバックプ
レッシャモジュールからの通知にも従う。これにより、
キューコントローラの通知による場合と同様のやり方
で、バックプレッシャモジュールの通知によるパケット
又はセルの出力の停止・再開が制御できる。
【0032】請求項2の通信装置は、パケット又はセル
を入力し、複数のフローそれぞれに対応して設けてある
キューに一旦記憶した後に出力する通信装置において、
前記キューの状態をバックプレッシャモジュールへ通知
するキューコントローラと、出力先から前記フローのパ
ケット又はセルの出力を停止する要求があれば、キュー
が空の状態をスケジューラに通知し、出力先から前記フ
ローのパケット又はセルの出力を再開する要求があれ
ば、前記キューコントローラからの前記キューの状態を
スケジューラへ通知するバックプレッシャモジュール
と、前記バックプレッシャモジュールから受けた通知に
よりキューの状態が空の場合はパケット又はセルをキュ
ーから取り出さず、前記バックプレッシャモジュールか
ら受けたキューの状態が空でない場合はパケット又はセ
ルをキューから取り出す制御を行うスケジューラと、を
有することを特徴とする。
【0033】かかる様に構成されているので、スケジュ
ーラはキューコントローラの発する通知と共にバックプ
レッシャモジュールの発する通知を、バックプレッシャ
モジュールから受け取る。これにより、キューコントロ
ーラの通知による場合と同様のやり方で、バックプレッ
シャモジュールの通知によるパケット又はセルの出力の
停止・再開が制御できる。さらに、キューコントローラ
から通知を受ける信号線とは別にバックプレッシャモジ
ュールから通知を受ける信号線をスケジューラに設ける
必要がない。
【0034】請求項3の通信装置は、請求項1又は2に
記載の通信装置において、出力先から前記フローのパケ
ット又はセルの出力を停止又は再開する要求が、パケッ
ト又はセルによって送付されるものであり、このパケッ
ト又はセルをバックプレッシャモジュールが受け取って
前記要求を判断することを特徴とする。
【0035】かかる様に構成されているので、バックプ
レッシャモジュールは出力先からフローの停止・再開要
求をパケットで受け取ってすみやかに判断することがで
きる。
【0036】
【発明の実施の形態】本発明の実施例を図1に示す。こ
の実施例は、従来のキューコントローラ及びスケジュー
ラが有していた信号線を利用して、選択的バックプレッ
シャによるフローの停止及び再開を行っている。そのた
め、従来のキューコントローラ及びスケジューラを変更
する必要がなく、装置の設計が容易である。
【0037】図1において、36以上の符号を付した部
分は、図4における同符号の部分と同じ機能構成であ
る。すなわち、41はスイッチコアであり、入力ポート
からパケット/セルを入力し、フロー毎に設けたキュー
に蓄えた後、マルチプレクサによる時分割多重を経て、
出力ポートから出力する。図5の様にスイッチコア41
内部にパケット/セル全体を記憶するキューを設ける
他、図6に示した様に、パケット/セルを示すパケット
識別子を作成してキューコントローラ42内に設けたキ
ューにパケット識別子を記憶することでも本発明は実施
できる。キューコントローラ42とスケジューラ43を
つなぐ信号線には途中にバックプレッシャモジュール1
1を設けてある。
【0038】図6のキューコントローラ42は、内部に
設けたフロー毎のキューにパケット識別子を記憶し、ス
イッチコア41(具体的には、図6の共用メモリコント
ローラ72)に対してパケット/セルの出力を指示す
る。さらに、キューコントローラ42は、キューの状態
を図1のバックプレッシャモジュール11を経てスケジ
ューラ43へ伝える。スケジューラ43は、各フローに
対して設定した重み付けに従って出力ポートの伝送帯域
を各フローに割り当て、キューからパケット/セルを取
り出すタイミングをバックプレッシャモジュール11を
経てキューコントローラ42へ伝える。制御パケット/
セル生成部49は、通信装置36から他の機器に伝送す
る制御のためのパケット/セルを生成する。
【0039】選択的バックプレッシャによるフローの停
止・再開を行わない時は、バックプレッシャモジュール
11は、キューコントローラ42とスケジューラ43の
間の通知を素通しする(信号をそのまま通す場合の他
に、通知を一旦受け取ってから送る場合も含む)。選択
的バックプレッシャを行うために、バックプレッシャモ
ジュール11は、出力ポートzから制御用パケット/セ
ルを受け取り、フローを停止・再開させるべきキューを
判断する。
【0040】従来技術で述べた様に、キューコントロー
ラ42は、スケジューラ43からフローIDを受け取る
と、キューコントローラ42内部の対応するキューから
パケット識別子を取り出し、スイッチコア41に指示し
てパケット/セルを出力させる。この時、キューが空で
なければキューコントローラ42はエンプティ信号13
をアサートしないが、キューが空になればエンプティ信
号13をアサートする。
【0041】バックプレッシャモジュール11は、受け
取った制御用パケット/セルに基づいてフローを停止す
べきと判断したときは、キューコントローラ42がスケ
ジューラ43からフローIDを次に受け取るタイミング
に合わせて、エンプティ信号14をアサートする。すな
わち、実際のキューが空でなくても(エンプティ信号1
3がアサートされなくても)、バックプレッシャモジュ
ール11は「キューは空になった」という通知をスケジ
ューラ43に送る。すると、スケジューラ43は、その
フローをサービス対象から除外するので、以降はそのフ
ローの出力が行われなくなる。
【0042】キューコントローラ42とスケジューラ4
3の間の通信は、双方向の信号線であるフローID信号
15と16、Qバリッド信号17と18、Sバリッド信
号19と20を用いて、時分割で行われる。この通信
は、パケット/セルのタイミングに同期して生じるの
で、時間的な隙間がある。
【0043】バックプレッシャモジュール11は、受け
取った制御用パケット/セルに基づいてフローを再開す
べきと判断したときは、この隙間を使って、スケジュー
ラ43に、フローIDを通知する。すなわち、キューコ
ントローラ42からの双方向の信号線である15にはフ
ローIDが示されず、Qバリッド信号17がアサートさ
れていないにも拘わらず、バックプレッシャモジュール
11は、フローIDを双方向の信号線である16に示
し、Qバリッド信号18をアサートする。
【0044】すると、バックプレッシャモジュール11
は、「キューは空でなくなった」と判断してそのフロー
をサービス対象に加えるので、以降はそのフローの出力
が行われる。
【0045】この様に、バックプレッシャモジュール1
1は、選択的バックプレッシャによるフローの停止・再
開の操作を、スケジューラ43への「キューは空になっ
た」・「キューは空でなくなった」という擬似的な通知
によって実現する。
【0046】なお、選択的バックプレッシャによりフロ
ーの停止・再開の操作を行う以外の時は、バックプレッ
シャモジュール11は、スケジューラ43からの通知を
そのままキューコントローラ42に送り、キューコント
ローラ42からの通知はそのままスケジューラ43に送
る。すなわち、通知を素通しするので、従来技術と同様
に「キューは空になった」・「キューは空でなくなっ
た」という実際の通知に応じてフローの制御は行われ
る。
【0047】以上を整理して説明する。バックプレッシ
ャモジュール11からスケジューラ43に通知される擬
似的な状態が「キューは空である」又は、キューコント
ローラ42からスケジューラ43に通知される実際の状
態が「キューは空である」ならば、スケジューラ43は
そのフローを制御対象から除外しているので、そのフロ
ーのパケット/セルは出力されない。逆に、バックプレ
ッシャモジュール11からスケジューラ43に通知され
る擬似的な状態が「キューは空でない」かつ、キューコ
ントローラ42からスケジューラ43に通知される実際
の状態が「キューは空でない」ならば、スケジューラ4
3はそのフローを制御対象に含めているので、そのフロ
ーのパケット/セルは出力されうる。
【0048】ここで、「キューは空である」あるいは
「キューは空でない」という状態は、「キューは空にな
った」あるいは「キューは空でなくなった」という通知
を受けることによってスケジューラは把握している。キ
ューコントローラ42からのこの通知は、バックプレッ
シャモジュール11を経てスケジューラ43に伝えられ
る。フローの停止・再開のためのこの通知はバックプレ
ッシャモジュール11からスケジューラ43に伝えられ
る。
【0049】なお、キューコントローラ42内のキュー
が空になった直後に、フローの再開を要求する制御用パ
ケット/セルをバックプレッシャモジュール11が受け
取る場合がある。この場合は、キューの実際の状態に鑑
みて、「キューは空でなくなった」という通知をバック
プレッシャモジュール11は発行しなくても良い。ある
いは、あえてバックプレッシャモジュール11からスケ
ジューラ43に「キューは空でなくなった」と通知して
おき、スケジューラ43がそのキューからのパケット識
別子の取り出しをキューコントローラ42に指示したと
きに、キューコントローラ42がこの指示を無視する一
方「キューは空になった」ことをスケジューラ43へ通
知し直すのでも良い。
【0050】12は装置全体を管理するCPUである。
本実施例の場合は、初期設定を除いて、バックプレッシ
ャによるフローの停止・再開処理を装置の稼働時にCP
U12が行う必要はない。CPU12の処理すべき事項
が図4に比べて少ないので、このCPUを他の用途にも
用いることが可能である。また、制御パケット/セル生
成部49が行う制御用パケット/セルの生成処理をこの
CPU12に行わせる実施例も可能である。
【0051】以上の説明において、キューコントローラ
42、バックプレッシャモジュール11、スケジューラ
43間のフローID信号15と16は、双方向の信号線
になっている。これは、キューコントローラ42からバ
ックプレッシャモジュール11を経てスケジューラ43
へフローIDが通知される期間と、逆にスケジューラ4
3からバックプレッシャモジュール11を経てキューコ
ントローラ42へフローIDが通知される期間が明瞭に
分離されている場合の実施例である。もちろん、これ以
外に、フローIDの信号を方向別に分け、両方向の通知
を同時に行いうる様にしても良い。
【0052】他の実施例として、出力ポートzからの制
御パケット/セルを一旦CPUで解釈し、CPUが動作
をバックプレッシャモジュールに通知する構成もある。
また、図1の実施例ではバックプレッシャモジュール1
1がキューコントローラ42とスケジューラ43間の信
号すべてを分断している様に見えるが、バックプレッシ
ャモジュール11が変更しなくて良い信号は、キューコ
ントローラ42とスケジューラ43とを直接接続しても
良い。例えば、Sバリッド信号をバックプレッシャモジ
ュール11は変更しない。これらを考慮した実施例を図
2に示す。
【0053】図2において、バックプレッシャモジュー
ル21はSバリッド信号46を参照のみ行う。CPU2
2は、出力ポートzからの制御パケット/セルを受け取
って、フローの停止・再開をすべきフローIDをバック
プレッシャモジュール21に通知する。スケジューラ4
3に対しては、CPU22は図1のCPU12と同様の
装置起動時の初期設定を行う。
【0054】また、出力ポートzからの制御パケット/
セルにフローの停止・再開要求が複数含まれている場合
は、CPU22からバックプレッシャモジュール21へ
は、フローを停止する複数のフローIDや、フローを再
開する複数のフローIDをリスト形式に整理し、一括し
て通知する実施例も可能である。すると、CPU22か
らバックプレッシャモジュール21への通知が効率良く
行える。
【0055】また、従来技術で述べた様に、出力ポート
からパケット/セルを出力する動作は、互いに独立して
いる。従って、出力ポート毎に、キューコントローラと
バックプレッシャモジュールとスケジューラを設ける実
施例も可能である。
【0056】
【発明の効果】本発明では、フローの停止及び再開を、
スケジューラの重み設定を変更することなく、キューの
状態を擬似的に変更することで行う。そのため、フロー
停止を要求する制御用パケット/セルを受信してから実
際にフローを止めるまでに必要な処理時間TprocS、及
び、フロー再開を要求する制御用パケット/セルを受信
してから実際にフローを再開するまでに必要な処理時間
procRを小さくすることができる。つまり、(1)式のT
procS及び(2)式のTprocRが小さくなるので、本通信装
置の出力先に繋がる後段の装置が用意すべきバッファ量
を小さくできる。
【0057】また、ラウンドロビンにより循環的にサー
ビスの対象となるフローを検査する場合には、重みを0
に設定したフローを含めることがないので、スケジュー
ラの時間が無駄に使われることがない。
【0058】キューコントローラからバックプレッシャ
モジュールを経由してスケジューラへの通知を行う構成
においては、キューコントローラから通知を受ける信号
線とは別にバックプレッシャモジュールから通知を受け
る信号線をスケジューラに設ける必要がない。そのた
め、従来技術で用いていたスケジューラをそのまま使う
ことができるので、設計が容易となる。
【0059】フローの停止及び再開のパケット/セル
を、CPUが介在することなく直接バックプレッシャモ
ジュールが受け取る場合には、CPUの処理が不要とな
ってより高速に処理できるので、さらにTprocS及びT
procRを小さくすることができる。そのため、後段の装
置が用意すべきバッファ量をさらに小さくできる。
【図面の簡単な説明】
【図1】本発明による通信装置の実施例を示す図であ
る。
【図2】本発明による通信装置の他の実施例を示す図で
ある。
【図3】通信ネットワークの例を示す図である。
【図4】従来技術による通信装置の構成を示す図であ
る。
【図5】パケットの流れを示す模式図である。
【図6】スイッチコア41の内部構成の例を示す図であ
る。
【符号の説明】
11、21……バックプレッシャモジュール 12、22、48……CPU 13、14、47……エンプティ信号 15、16、44……フローID信号 17、18、45……Qバリッド信号 19、20、46……Sバリッド信号 31、32、33、34……コンピュータ 35、36、37……通信装置 41……スイッチコア 42……キューコントローラ 43……スケジューラ 49……制御パケット/セル生成部 51、52、53……クラシフィケーション 54……スイッチマトリックス 55、56、57、58、59……キュー 61、62、63……マルチプレクサ 64、65、66……キューとマルチプレクサの組み合
わせ 71……共用メモリ 72……共用メモリコントローラ 73、74、75……出力バッファ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 パケット又はセルを入力し、複数のフロ
    ーそれぞれに対応して設けてあるキューに一旦記憶した
    後に出力する通信装置において、前記キューの実際の状
    態を通知するキューコントローラと、前記キューの擬似
    的な状態を通知するバックプレッシャモジュールであっ
    て、出力先から前記フローのパケット又はセルの出力を
    停止する要求があれば擬似的な状態を空とし、出力先か
    ら前記フローのパケット又はセルの出力を再開する要求
    があれば擬似的な状態を空でないとする、バックプレッ
    シャモジュールと、前記キューコントローラ及び前記バ
    ックプレッシャモジュールから通知を受け、前記実際の
    状態又は前記擬似的な状態が空の場合はパケット又はセ
    ルをキューから取り出さず、前記実際の状態及び前記擬
    似的な状態が空でない場合はパケット又はセルをキュー
    から取り出す制御を行うスケジューラと、を有すること
    を特徴とする通信装置。
  2. 【請求項2】 パケット又はセルを入力し、複数のフロ
    ーそれぞれに対応して設けてあるキューに一旦記憶した
    後に出力する通信装置において、前記キューの状態をバ
    ックプレッシャモジュールへ通知するキューコントロー
    ラと、出力先から前記フローのパケット又はセルの出力
    を停止する要求があれば、キューが空の状態をスケジュ
    ーラに通知し、出力先から前記フローのパケット又はセ
    ルの出力を再開する要求があれば、前記キューコントロ
    ーラからの前記キューの状態をスケジューラへ通知する
    バックプレッシャモジュールと、前記バックプレッシャ
    モジュールから受けた通知によりキューの状態が空の場
    合はパケット又はセルをキューから取り出さず、前記バ
    ックプレッシャモジュールから受けたキューの状態が空
    でない場合はパケット又はセルをキューから取り出す制
    御を行うスケジューラと、を有することを特徴とする通
    信装置。
  3. 【請求項3】 請求項1又は2に記載の通信装置におい
    て、出力先から前記フローのパケット又はセルの出力を
    停止又は再開する要求が、パケット又はセルによって送
    付されるものであり、このパケット又はセルをバックプ
    レッシャモジュールが受け取って前記要求を判断するこ
    とを特徴とする通信装置。
JP36023298A 1998-12-18 1998-12-18 通信装置 Pending JP2000183886A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36023298A JP2000183886A (ja) 1998-12-18 1998-12-18 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36023298A JP2000183886A (ja) 1998-12-18 1998-12-18 通信装置

Publications (1)

Publication Number Publication Date
JP2000183886A true JP2000183886A (ja) 2000-06-30

Family

ID=18468490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36023298A Pending JP2000183886A (ja) 1998-12-18 1998-12-18 通信装置

Country Status (1)

Country Link
JP (1) JP2000183886A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447395B1 (ko) * 2001-12-22 2004-09-04 엘지전자 주식회사 메모리 엑세스 제어용 라운드 로빈 스케쥴러
US6973036B2 (en) 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US6982986B2 (en) 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
US7046676B2 (en) 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US7103051B2 (en) 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US7187684B2 (en) 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7257124B2 (en) 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7280474B2 (en) 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7310345B2 (en) 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US7317683B2 (en) 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7680043B2 (en) 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
JP2011137808A (ja) * 2009-12-27 2011-07-14 Advantest Corp 試験装置および試験方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7317683B2 (en) 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7310345B2 (en) 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US6982986B2 (en) 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
US7046676B2 (en) 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US7103051B2 (en) 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US7187684B2 (en) 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US6973036B2 (en) 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US7280474B2 (en) 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7929548B2 (en) 2001-11-01 2011-04-19 International Business Machines Corporation Weighted fair queue serving plural output ports
KR100447395B1 (ko) * 2001-12-22 2004-09-04 엘지전자 주식회사 메모리 엑세스 제어용 라운드 로빈 스케쥴러
US7680043B2 (en) 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7257124B2 (en) 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
JP2011137808A (ja) * 2009-12-27 2011-07-14 Advantest Corp 試験装置および試験方法
US8706439B2 (en) 2009-12-27 2014-04-22 Advantest Corporation Test apparatus and test method
TWI451107B (zh) * 2009-12-27 2014-09-01 Advantest Corp Test apparatus and test method

Similar Documents

Publication Publication Date Title
US5446726A (en) Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
US5802287A (en) Single chip universal protocol multi-function ATM network interface
US5838904A (en) Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network
US5668809A (en) Single chip network hub with dynamic window filter
US5640399A (en) Single chip network router
JP2753294B2 (ja) パケット輻輳制御方法およびパケット交換装置
CA2329542C (en) System and method for scheduling message transmission and processing in a digital data network
JP4576454B2 (ja) 通信リンクのキューの監視
KR100328642B1 (ko) 패킷흐름제어에관한장치및방법
KR100229558B1 (ko) 비동기 전송방식용 저지연 또는 저손실 스위치
US6792002B2 (en) Packet transfer system
US7633861B2 (en) Fabric access integrated circuit configured to bound cell reorder depth
JPH07321822A (ja) マルチキャスティング機能を備えた装置
JPH0897832A (ja) 固定長セル交換ネットワーク・ノード内の出力トラフィックをシェーピングするための方法および装置
JPH08504554A (ja) パケットスイッチの流れ制御システム
JP2002533994A (ja) データ交換方法およびその装置
JPH07321823A (ja) マルチキャスティング機能を備えた装置
JP2000183886A (ja) 通信装置
JP2013070376A (ja) 優先フロー制御を有するパラレルトラフィックジェネレータ
US20070140282A1 (en) Managing on-chip queues in switched fabric networks
US6172963B1 (en) Flow control for switching
CN116192772A (zh) 一种基于空间缓存的cpu收发包调度装置及方法
US6735204B1 (en) ATM cell multiplexing apparatus and ATM cell multiplexing method
US7342881B2 (en) Backpressure history mechanism in flow control
JP2760343B2 (ja) Atmセル化回路