JP4504606B2 - ネットワークスイッチにおいてトラフィックを成形する装置及び方法 - Google Patents
ネットワークスイッチにおいてトラフィックを成形する装置及び方法 Download PDFInfo
- Publication number
- JP4504606B2 JP4504606B2 JP2001500501A JP2001500501A JP4504606B2 JP 4504606 B2 JP4504606 B2 JP 4504606B2 JP 2001500501 A JP2001500501 A JP 2001500501A JP 2001500501 A JP2001500501 A JP 2001500501A JP 4504606 B2 JP4504606 B2 JP 4504606B2
- Authority
- JP
- Japan
- Prior art keywords
- shape
- processing block
- cell
- list
- unit
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 18
- 238000007493 shaping process Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims description 56
- 238000012546 transfer Methods 0.000 claims description 25
- 239000000872 buffer Substances 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 13
- 238000000465 moulding Methods 0.000 claims description 7
- 235000006679 Mentha X verticillata Nutrition 0.000 claims description 5
- 235000002899 Mentha suaveolens Nutrition 0.000 claims description 5
- 235000001636 Mentha x rotundifolia Nutrition 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 20
- 239000004744 fabric Substances 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101000695686 Bacteroides fragilis Metallo-beta-lactamase type 2 Proteins 0.000 description 1
- 230000006727 cell loss Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5636—Monitoring or policing, e.g. compliance with allocated rate, corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/568—Load balancing, smoothing or shaping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
(技術分野)
本発明は、一般的にはネットワーク通信の分野に関し、特定的にはネットワークスイッチにおけるトラフィックを成形する(シェーピング)装置及び方法に関する。
【0002】
(従来の技術)
一般的に、ネットワーク通信システムは、ネットワーク内の多くのユーザを相互接続する。各ユーザは、ポートにおいてネットワークに接続される。ネットワークは多くのノードの相互接続によって形成され、源(ソース)の1ユーザからの入力ポートへの情報入力はネットワークを通してノードからノードへ、出力ポートへ、そして行先(デスティネーション)の別のユーザへ渡される。源から行先へ転送される情報はパケット化され、各ノードは入力ポートにおける入力パケットを出力ポートにおける出力パケットにスイッチする。ATM(非同期転送モード)ネットワークの場合には、パケットは更にセルに分割される。
【0003】
現在の技術では、高速パケットスイッチは、各スイッチポートにおいて毎秒数十万パケットを転送する。各スイッチポートは、広帯域統合サービスデジタル回路網(BISDN)の場合、典型的には50Mビット/秒から2.4Gビット/秒のレートで情報を転送するように設計されている。スイッチサイズは、数ポートから数千ポートまでの範囲である。
【0004】
“高速パケットスイッチ”なる用語は、可変長パケット及び固定長パケットの両方を取扱うことができるスイッチを含む。固定長パケットの使用は、スイッチ設計を簡易化することができる。短い固定長パケット(セル)を使用する高速パケットスイッチを、ATMスイッチと呼ぶ。高速パケットスイッチは、単一の統合回路網内で異なる型の通信サービスを取扱う。これらのサービスは、音声、ビデオ、及びデータ通信を含むことができる。ネットワークを通して伝送される音声及びビデオサービスが許容できる遅延及び遅延変動は制限されるから、ATMスイッチはこれらのサービスに適している。広帯域ISDNのためのATM標準は、5バイトのヘッダー及び48バイトのデータの53バイトの長さを有するセルを定義している。ATMフォーラムトラフィック管理仕様は、以下のような多くのサービスクラス定義を指定している。
CBR:連続ビットレート。音声及びビデオのような厳密に制約された遅延及び遅延変動を要求する実時間応用のために。CBRサービスクラスは、一貫して使用可能な固定された量の帯域幅を要求する。
RT−VBR:実時間可変ビットレート。源が、時間に伴って変化するレートで伝送し(当分野においては“バースティ”という)、しかも厳密に制約された遅延及び遅延変動で受信しなければならないような応用用。
NRT−VBR:非実時間可変ビットレート。遅延またはその変動に関してのサービスは要求しないが、損失に対して感応性を有するバースティ応用用。
UBR:無指定ビットレート。ファイル転送及びeメールのような非実時間応用用。これは、関連するサービスを保証せず、従って割振られた帯域幅資源を用いず、セル損失比またはセル転送遅延に関して保証せず、そして現在のネットワーク輻輳レベルに関する明示フィードバックを用いずに、セルの非連続バーストを伝送する
GFR:保証(された)フレームレート。これも非実時間応用用。このサービスカテゴリは、契約した最小レートで、またはそれ以下でトラフィックを伝送する源のために損失保証を与える。源が契約した最小レートを超えれば、そのレートより上のトラフィックはどのような損失保証も受けられない。
ABR:使用可能ビットレート。ネットワーク内で使用可能な帯域幅の量に依存して、情報転送レートを変化させることができる非実時間応用用。
【0005】
典型的なATMスイッチにおいては、セル処理機能はネットワークのノード内で遂行される。各ノードはATMスイッチであり、入力コントローラ(IC)、スイッチファブリック(SF)、出力コントローラ(OC)、及びノード制御(C)を含む。ノード制御は、接続の確立及び解放、帯域幅予約、バッファリング制御、輻輳制御、保守、及びネットワーク管理を含む機能のために使用される。
【0006】
各スイッチにおいては、入力コントローラは典型的に同期しているので、入力コントローラからの全てのセルは同時にスイッチファブリックに到着し、セルはそれらの優先順位に従って受入れられたり、または拒絶されたりすることができる。スイッチファブリックを通るトラフィックはスロットされ、スイッチファブリック遅延は、タイムスロット持続時間、パイプライン遅延、及びキューイング遅延の合計に等しい。
【0007】
ノード制御は、スイッチファブリックをバイパスする直接通信経路によって、またはスイッチファブリックを通して伝送される制御セルを介しての何れかによって、入力コントローラ及び出力コントローラと通信する。
【0008】
スイッチへの外部接続は、一般的に双方向である。双方向接続は、入力コントローラ(C)及び出力コントローラ(OC)を互いにグループにしてポートコントローラ(PC)を形成させることによって形成する。
【0009】
仮想チャンネル内のセルの入力シーケンスはスイッチファブリックにまたがって保存されるので、各仮想チャンネル内のセルの出力シーケンスは入力シーケンスと同一である。セルは、セルヘッダー内にそのセルが属している接続を識別する仮想チャンネル識別子(VCI)を含んでいる。各セルのヘッダー内の各入力VCIは入力コントローラにおいて変換され、出力識別子を指定する。この変換は入力コントローラにおいて、典型的には、入力VCIを使用してテーブルを表引きし、接続テーブルをアドレスすることによって遂行される。この接続テーブルは、その接続がルートされているスイッチファブリックの出力ポートを指定するルート指定フィールドをも含んでいる。接続の優先順位、サービスのクラス、及びトラフィックの型のような他の情報も、接続毎に接続テーブル内に含ませることができる。
【0010】
ATMスイッチにおいては、セルの到着はスケジュールされていない。典型的な動作では、同一の出力ポートを各々が要求している複数のセルが異なる入力ポートに同時に到着するかも知れない。これらの要求が出力ポートの出力容量を超えるような動作を、出力競合(回線争奪)と称する。出力ポートは一時に固定された数(例えば、1つ)のセルしか伝送できないから、伝送のためには固定された数のセルだけしか受入れることができず、従ってそのポートへルートされた他のセルは破棄するか、または待ち行列内にバッファしなければならない。スイッチモジュールを通るセルをルート指定するために、例えば自己ルート指定及びラベルルート指定のような、異なる方法が使用される。
【0011】
自己ルート指定ネットワークは、各セルにルート指定タグをプレフィックスする入力コントローラと共に動作する。典型的には、入力コントローラはルート指定テーブルからルート指定タグを入手する表引きを使用する。ルート指定タグはセルが送給される出力ポートを指定する。各スイッチング要素は、ルート指定タグを検査することによって迅速にルート指定決定を行うことができる。自己ルート指定ネットワークは、セルが入るスイッチポートには無関係に、要求された行先へ各セルが到着することを保証する。
【0012】
ラベルルート指定ネットワークは、各スイッチング要素内の変換テーブルを参照する各セル内のラベルと共に動作する。ラベルは各スイッチング要素内で変換され、従ってスイッチング要素の任意のネットワークを使用することができる。
【0013】
スイッチは2つの主要設計、即ち時分割、及び空間分割を有している。時分割スイッチングファブリックでは、全てのセルは、全ての入力及び出力ポートによって共通に共用される単一の通信チャンネルを通って流れる。空間分割スイッチングでは、入力ポートと出力ポートとの間に複数の経路が設けられている。これらの経路は同時に動作するので、スイッチファブリックを横切って同時に多くのセルを伝送することができる。従って、スイッチファブリックの合計容量は、各経路の帯域幅と、セルを同時に伝送できる経路の平均数との積である。
【0014】
トラフィックロードがネットワーク内の使用可能なシステム資源を越えると、輻輳が発生して性能が劣化する。セルの数がネットワークの輸送容量内にある時には、送給されるセルの数が、輻輳を生じさせずに送られるセルの数に等しいように、全てのセルを送給することができる。しかしながら、もしノードがトラフィックを処理できないレベルまでトラフィックが増加すれば、輻輳が発生する。
【0015】
輻輳は、幾つかの要因によって惹起される。もしネットワーク内のノードがそれらに要求される種々のタスク(キューイングバッファ、更新テーブル等)を遂行するのに遅過ぎれば、たとえ余分なライン容量が存在しているとしても、待ち行列が累積する。一方、たとえノードが無限に速いとしても、入力トラフィックレートが何等かの出力の特定グループのための出力トラフィックレートの容量を超えれば、待ち行列が累積する。
【0016】
もしノードがキューイングセルのための自由バッファを有していなければ、ノードは新たに到着するセルを破棄しなければならない。パケットデータトラフィックの場合、あるセルが破棄されると、破棄されたセルを含んでいたパケットが多分多数回伝送され、輻輳エポックを更に拡張させる。
【0017】
ATMスイッチにおいては、あるサービスレートを保証するためにセルの到着をスケジュールする必要はなく、それによって設計者は十分なバッファ空間を設けることができる。惹起される1つの問題は、セルが均一な分布で到着しないことである。事実、殆どのトラフィックは、それらの間にランダムな持続時間の遅延を設けて伝送される“バースト”(ランダムなサイズを有するセルのグループ)で到着する。より予測可能なデータストリームを形成させるために、セルバーストは、当分野においては“成形器”(シェーパー)として知られているデバイスによって成形される。成形器はセルバーストを受入れて、所定の“形状”に従ってセルを均一に分散させる。異なる形状には異なる仮想チャンネル(VC)が必要であり、従って各VCを独立的に成形する成形器を有することが望ましい。
【0018】
(発明の概要)
一般的に言えば、本発明は、接続毎に成形を行うような、ネットワークスイッチにおいてトラフィックを成形するための装置、及び方法に関する。本発明による成型器は、2つの基本ブロック、即ちセル記述子(CD)処理ブロック、及び形状ID処理ブロックを備えている。CD処理ブロック及び形状ID処理ブロックは、CDの管理をCD出力時点のスケジューリングから切り離すように動作する。CD処理ブロックは、トークン(形状ID)を、形状IDブロックへ出力する。もしこのトークンが確認されれば、それは直ちにCD処理ブロックへ返送され、確認されなければそれは処理されない。トークンが“成熟”していれば、そのトークンはCD処理ブロックへ返送される。次いで、CD処理ブロックはCDを出力する。
【0019】
接続毎の形状IDと共に“今”及び“後刻”リストを使用し、それぞれ仮想接続(VC)及び仮想経路(VP)内の優先権を与える。これは、VP内で成形中の接続の相対的優先順位を保存する。換言すれば、たとえより高い優先順位のVCがトークンを生成しなくとも、それを最初に送ることができ、それによってセルの優先順位が保存される。また、カレンダー待ち行列を使用することによって“仮想終了時”(VFT)計算の複雑さが減少する。
【0020】
(実施の形態)
本発明は、以下の添付図面に基づく詳細な説明から容易に理解されよう。なお、類似構造的要素に対しては類似参照番号を付してある。
【0021】
以下の説明は、当分野に精通している者が本発明を製造し、使用できるようになされるものであり、本発明を遂行するために発明者が企図した最良モードを記述している。しかしながら、以下に本発明の基本的原理を詳細に記載してネットワークスイッチにおいてトラフィックを成形する装置及び方法を説明するので、当分野に精通していれば種々の変更は容易に明白であろう。これら全ての変更、等価、及び代替は、本発明の思想及び範囲内にあることを意図している。
【0022】
先ず図1を参照する。複数のネットワークユーザが、源/行先(S/D)4で表されている。各ユーザは、典型的に、源(S)として情報を送り、行先(D)として情報を受信する。S/Dユニット4の源(S)は、他のS/Dユニット4の行先(D)へ情報を送る。情報を源から行先へ転送するために、各S/Dユニット4はマルチノード(N)ネットワーク1を通して接続されている。ネットワーク1は、多くのノード(N)5を含んでいる。ノードは、ノードからノードへ接続されているから、一般的に、ネットワーク1内にノード5のチェーンを形成することによって、S/Dユニット4のどの特定の1つをも、他のS/Dユニット4のどの1つへも接続することができる。一般的に、S/Dユニット4とノード5との間の接続、及びノード5間の接続は、情報を両方向に転送することを可能にする双方向リンク8によっている。
【0023】
明瞭化のために、図1に図示したノード(N)5の数は比較的少数であるが、ネットワークは数百またはそれ以上のノードを含むことができる。またS/Dユニット4は、Sユーザ、即ち4-0、4-1、4-2、4-3、4-4、…、4-(S−2)、4-(S−1)を含む。Sの値はどのような整数であることもできるが、典型的にはSは数百またはそれ以上である。
【0024】
典型的な実施の形態では、図1の通信システムはATMネットワークであり、情報転送の単位はセルである。複数のセルが、情報のパケットを形成する。ネットワーク1は、画像、音声、及びデータを含む異なる型の情報を支援するようにセル及びパケットと通信する。
【0025】
図2において、S/Dユニット4-xは、複数Cのノード(N)5-0、5-1、…、5-(C−1)を通してS/Dユニット4-yに接続されている。
【0026】
図2に示すS/Dユニット4-xは、図1のS/Dユニット4の何れかの典型である。例えば、S/Dユニット4-xは、図1のS/Dユニット4-2を表すことができる。同様に、図2のS/Dユニット4-yは、図1のS/Dユニット4の何れかを表すことができる。例えば、図2のS/Dユニット4-yは、図1のS/Dユニット4-4を表すことができる。この例では、ノード5-0、5-1、…、5-(C−1)は、図1のS/Dユニット4-2をS/Dユニット4-4に接続するために使用されているネットワーク1内のCノードを表している。
【0027】
図2において、双方向リンク8-0、8-1、…、8-(C−1)、8-(C)は、複数Cのノード(N)5-0、5-1、…、5-(C−1)を通してS/Dユニット4-xからS/Dユニット4-yに接続されている。図2において、情報は、S/Dユニット4-x内の源(S)からS/Dユニット4-y内の行先(D)へ転送することができる。同様に、情報をS/Dユニット4-y内の源(S)からS/Dユニット4-x内の行先(D)へ転送することができる。情報は、図2の何れの方向へも転送することはできるが、説明の目的から、源(S)と行先(D)との間の転送が、S/Dユニット4-xからS/Dユニット4-yへであるのか、またはS/Dユニット4-yからS/Dユニット4-xへであるのかを考えると便利である。方向には関係なく、各転送は源(S)から行先(D)へである。
【0028】
図3に、図2の仮想チャンネル内での源(S)から行先(D)への転送に使用される回路を示す。図3において、図2のS/Dユニット4-x内の源ユニット4-(S)は、図2のS/Dユニット4-y内の源ユニット4-(D)に接続されている。
【0029】
図3において、各リンク8-0、8-1、…、8-(C−1)、8-(C)は、情報を順方向に転送するための順方向(F)チャンネルと、情報を逆方向に転送するための逆方向(R)チャンネルとを含んでいる。図3の逆方向チャンネルは、源ユニット4-(S)から行先ユニット4-(D)への情報の転送に関している。図3の逆方向チャンネルは、図1のネットワークに関連して使用される制御情報を送る目的のためのものである。逆方向チャンネル(R)は、図2に関連して説明したS/Dユニット4-yからS/Dユニット4-xへの情報の順方向の転送に使用される順方向チャンネル(F)とは区別される。順方向(F)及び逆方向(R)の両チャンネルは、源ユニット4-(S)から行先ユニット4-(D)への転送に関している。図3の各ノードは、順方向(F)回路6及び逆方向(R)回路7を含んでいる。図3において、順方向チャンネル8-0P、8-1F、…、8-(C−1)Fは、入力としてそれぞれ順方向回路6-0、6-1、…、6-(C−1)に接続されている。順方向チャンネル8-(C)Fは、ノード6-(C−1)からユニット4-(D)まで接続されている。同様に、逆方向チャンネル8-0R、8-1R、…、8-(C−1)Rは、逆方向回路7-0、7-1、…、7-(C−1)から接続されている。逆方向チャンネル8-(C)Rは、Dユニット-(D)から逆方向回路7-(C−1)まで接続されている。
【0030】
図3において、各ノード5は、順方向(F)回路6から逆方向(R)回路7まで接続されているフィードバック接続9を有している。詳述すれば、フィードバックチャンネル9-0、9-1、…、9-(C−1)は、それぞれノード5-0、5-1、…、5-(C−1)内の順方向(F)回路6から逆方向(R)回路7まで接続されている。図3の回路においては、仮想チャンネル接続は、順方向チャンネルセッティングアップに沿って、Sユニット4-(S)とDユニット4-(D)との間に順方向の通信経路を作っている。図1のネットワーク1内には他の仮想チャンネルも確立されているので、各ノード、及び図3のノードを含む行先においてバッファリングが必要である。
【0031】
図4に、図3の信号経路を有するノードの1つの典型的な実施の形態を示す。図4において、ノード5は、Nリンク18-0、18-1、…、18-n、…、18-(N−1)を含む。図4の各リンク18は、図2の双方向リンク8に類似している。図4では、リンク18-0、18-1、…、18-n、…、18-(N−1)は、ポートコントローラ11-0、11-1、…、11-n、…、11-(N−1)に接続されている。
【0032】
図4のノードは、例えば、リンク18の1つ(例えば、図4の入力リンク18-0)を、スイッチファブリック10を通して別のリンク18の1つ(例えば、リンク18-n)に接続することによって、図3の情報転送に関連して使用される。この例では、スイッチファブリック10は、リンク18-0をリンク18-nに接続するように機能する。
【0033】
図4のノードが図2のノード5-1を表すような例では、図2のリンク8-1は図4のリンク18-0であり、図2のリンク8-2は図4のリンク18-nである。
このような接続では、図4のノードは、情報を例えばリンク18-0からリンク18-nへ接続し、また情報を逆方向にリンク18-nからリンク18-0へ接続する。リンク18-0及び18-nは、説明のために任意に選択したものである。Nリンク18の何れかを、他の何れかのリンク18へ接続するために、図2の回路内で選択することができる。
【0034】
図4のノードを図3の仮想チャンネル接続(源(S)が左側、行先(D)が右側)に使用する場合、説明の目的からリンク18-0がノード5への順方向入力であり、リンク18-nがノードからの順方向出力であるものとする。
【0035】
図4において、ポートコントローラ(PC)11-0、11-1、…、11-n、…、11-(N−1)は、それぞれ入力コントローラ14-0、14-1、…、14-n、…、14-(N−1)を有し、またそれぞれ出力コントローラ15-0、15-1、…、15-n、…、15-(N−1)を有している。図4において、順方向情報セルは、図3の源4-Sからバス18-01、入力コントローラ14-0、バス20-n0、スイッチファブリック10、バス20-n1、コントローラ15-n、及びバス18-n0を通して図3の行先4-(D)へ送られる。ポートコントローラは、共用キューイングユニット51内に配置されている共通バッファ記憶装置を共用し、バス41-0、41-、41-n、…、41-(N−1)を通してユニット51に双方向に接続されている。
【0036】
図5に、図4のキューイングユニット51の詳細を示す。キューイングユニット51は、データ待ち行列ユニット52及び待ち行列制御ユニット53を含む。データ待ち行列ユニット52及び待ち行列制御ユニット53は、各々双方向バス41-0、41-1、…、41-n、…、41-(N−1)に接続されている。バス41上の制御情報は待ち行列ユニット53へ接続され、バス41上のデータはデータ待ち行列ユニット52へ接続される。
【0037】
図5に示す待ち行列制御ユニット53は、データ待ち行列ユニット52及びキューイングユニット51の総合動作を制御する待ち行列管理者54を含んでいる。待ち行列管理者は、典型的に、ソフトウェアを実行することができる処理ユニットを含む。バス41上の入力情報がデータ待ち行列ユニット52内への格納を要求すると、待ち行列管理者54は自由バッファリストユニット59から使用可能なバッファ位置を検出し、その使用可能なデータ位置をデータ待ち行列ユニット52に割当てる。待ち行列管理者の一般的機能及び動作は公知である。キューイングに加えて、及び本発明の方法で動作させるために、総合通信ネットワークの効率的な動作を促進するように若干のセルを時折破棄する必要があり得る。待ち行列管理者54の制御の下にある破棄ユニット55は、先に割振られた待ち行列割当てを破棄する時点を決定する。キューイング動作の結果は、ポート毎の待ち行列ユニット56内に格納され、ユニット56自体はデキューユニット57を活動させ、ユニット57自体はマルチキャストサーバーを通して動作して先に割振られたバッファ位置を除去する。除去されると、デキューされたバッファ位置はユニット59内の自由バッファリストへ戻されて追加され、再割当てのために使用可能になる。
【0038】
破棄ユニット55は、3つのユニット、即ちFIFOユニット61(サブユニット61-1及び61-2を含む)、破棄ユニット62、及びポインタ完全性ユニット63からなる。破棄ユニット55は、
1.全ての接続の契約されたサービス品質(QoS)を保証(損なう接続を破棄することによって)
2.バッファ輻輳の監視及び制御
3.バッファが輻輳し始めるとATMヘッダー内に明示順方向輻輳指示(EFCI)のタグ付けを遂行
4.輻輳が過大になると接続毎にセル及びフレームの破棄を遂行
5.非保証接続(ABR、GFR、及びUBR)間の公平さの保証
6.種々のEFCI及び破棄しきい値を支援することによって、ABR、GFR、及びUBRの異なる品質の提供
7.ポインタ完全性検証(ポインタの重複が発生していないことを確認する)に責を負う。
【0039】
前述したように、成型器ブロック60はセルバーストを離間させ、セルを均一に分散させる。図6(A)は、サンプル伝送ストリームを示している。セルは1ms離間し、これらがバーストとして知られるグループに束ねられ、バースト間には不規則な遅延が存在している。成形器はセルバーストを受入れて、図6(B)に示すように、セルが均一な3ms間隔で伝送されるようにセルを均一に分配する。
【0040】
一般的に言えば、図7に示すように、本発明により構成された成型器60は、2つの基本ブロック、即ちセル記述子(CD)処理ブロック70、および形状ID処理ブロック72を備えている。これらの機能ブロックは、分離したASICとして実現することも、または同一チップ上に実現することもできる。以下に、CD処理ブロック70をDALEK70と称し、また形状ID処理ブロック72をTARDIS72と称する。公知のように、セル記述子(CD)は、各セルを表す記述子である。より効率的な処理を行うために、各セルの代わりに各セル毎のCDが制御経路を通してルートされる。破棄サブシステム55及び成型器60がCDを処理すると、対応するセルがメモリから出力される。CDフォーマットの例を図8に示す。
【0041】
DALEK70はCDを格納し、トークン(形状ID)を生成する。形状IDは基本的には、セルの伝送可能なレートを指定する所定の“形状”である。動作中本発明の成型器は、成形されたセルレートをユーザが指定することを可能にし、またはユーザはソフトウェア制御の決定を据え置くことができる。トークンはDALEK70からTARDIS72へ出力される。TARDIS72は形状IDを処理し、トークンをDALEK70へ戻す。詳細を後述するように、DALEK70自体は適切なCDを出力する。
【0042】
各セル毎のCD内の接続識別子(接続ID)から、DALEK70は適切な形状IDを決定する。TARDIS72は、各独自の形状ID毎にセル間の最小時間間隔を指定するテーブルを含んでいる。トークンが“成熟”する(即ち、セルが特定の接続のために出て行くことができるようになる)と、トークンがDALEK70へ返送される。次いで、DALEKはどのVCが優先順位を有しているのかを正確に決定し、セルを送出する。即ち、たとえより高い優先順位のVC上のセルが始めにトークンを生成しなくとも、それが送られる。本発明によれば、特定の接続を、他の接続には無関係に成形することができる。また、多数の異なる接続を、同一の形状IDに従って成形することができる。従って、高及び低優先順位トラフィックを同一の物理的接続内へ送ることができる。
【0043】
図9は、本発明の1実施の形態のより詳細なブロック図である。DALEK70は3つの分離したメモリアレイ、即ち形状RAM701、COIN RAM702、及びデータRAM703を使用する。同様に、TARDISは3つのアレイ、即ちGCRA(総称セルレートアルゴリズム)RAM721、リンクRAM722、及びMINT RAM723と対話する。DALEK70及びTARDIS72は、それらの関連RAMアレイと共に、成型器60の完全論理機能を実現している。
【0044】
TARDIS72とDALEK70との間の関係は、それぞれマスター及びスレーブの一方である。TARDIS72は2つのブロックを接続するインタフェースを制御し、主タイミングシーケンス信号をDALEK70へ供給する。対話は、形状ID及び管理データを含む。形状IDはTARDIS72とDALEK70との間で交換され、CDの管理をCD出力時点のスケジューリングから切り離す。前者はDALEK70の責任であり、後者はTARDIS72の責任である。6つ(各方向に3つ)の形状IDを、各主タイミングシーケンスでDALEK70とTARDIS72との間で渡すことができる。
【0045】
DALEK70は、TARDIS72を介して外部CPUによって管理される。TARDIS72は、各主タイミングシーケンス毎に1回、全てのDALEK70読出しレジスタを読出してローカルコピーを維持し、これらのコピーはCPUによって読出される。同様に、DALEK70のために意図されているCPU書込みデータは、CPUから到着する1主タイミングシーケンス中にTARDIS72からDALEK70へ転送される。DALEK70状態レジスタの若干のビットは、TARDIS72の割込み出力を表明することができる。これらの各割込み源は、個々に動作可能にされる。TARDIS72からDALEK70へ転送される全てのイベントフラグはCPUによって読出されるまで捕捉され、保持される。DALEK70とTARDIS72との間の通信は、共用データバス+制御信号を使用して達成される。形状ID及び管理データの両者は、同一のバスを共用する。主タイミングシーケンスに基づく時分割多重化が、全ての要求されたデータの転送のために必要なタイミング及び帯域幅を保証する。
【0046】
TARDIS ブロック
図10は、TARDIS72(及び関連RAM)のブロック図であって、このブロックを通る形状IDトークンのデータの流れを示している。先ず、形状IDトークンがDALEK70から受信され、その適合性が調べられる。適合する形状IDトークンは直ちにDALEK70へ返送され、一方適合しない形状IDトークンはカレンダー待ち行列内へ挿入される。形状IDトークンはカレンダー待ち行列から“成熟”リストへ転送され、次いで形状IDトークンはDALEK70へ伝送される。TARDIS72は、主タイミングシーケンスに同期しているシーケンス(後述)を使用して動作し、シーケンス同期をDALEK70へ供給する。TARDIS72によって管理されるデータ構造は、DALEK70へ直ちに出力するための、1組のGCRA構成及び状態データ、スケジュールされた形状IDのカレンダー待ち行列リンクド(リンクされた)リストアレイ、及び形状IDの“成熟”リンクドリストを含む。
【0047】
形状毎のGCRA構成及び状態データは、TARDIS72によってGCRA RAM721内に維持される。構成データは、形状のレートを定義する最小セル間隔を含む。状態データは、スケジュール時及びカウントフィールドを含む。スケジュール時は、次の形状IDトークンの出力時点である。カウントは、現在TARDIS72内に存在している形状IDトークンの数である。最小セル間隔は、主CPUからアクセス可能である。GCRAデータは、各主タイミングシーケンス中に6回まで、形状IDトークンの出力時点をスケジュールするために使用される。若干のスケジュールされた形状IDトークンは、後述するように、カレンダー待ち行列へ挿入され、他の形状IDトークンは形状のカウントフィールド内に保持される。
【0048】
カレンダー待ち行列リンクドリストアレイは、TARDIS72によってMINT RAM723及びリンクRAM722内に維持される。この構造は、各カレンダー時毎に1つの64Kリンクドリストのアレイである。カレンダ待ち行列をリンクされたリストのアレイとして実現すると、複数の形状の形状IDトークンを同時にスケジュールすることができる。MINT RAM723はリンクされたリストの先頭と末尾を保持する。各スケジュールされた形状IDトークンは、通常は、計算されたスケジュール時のためのカレンダー待ち行列に添付される。若干の環境の下では、形状IDは現時点+1のためのリストに添付される。
【0049】
各主タイミングシーケンス中に、カレンダー時が前進する。新しい現時点のためのカレンダー待ち行列リストは、“成熟”リンクドリストの末尾に転送される。このようにすると、“古い”カレンダー時のためのカレンダー待ち行列リストは自動的に空にされる。“成熟”リンクドリストは、内部論理及びリンクRAM722を使用するTARDIS72によって維持される。この構造は、直ちにDALEK70へ出力するために待ち行列に入れられた形状IDの単一のリンクされたリストである。
【0050】
各主タイミングシーケンス中に、3つまでの形状IDトークンをDALEK70へ転送することができる。シーケンス中に受信された適合形状IDトークンに優先順位が与えられ、次の順位は“成熟”リンクドリストからの形状IDトークンである。これにより、適合セルのストリームに対して輻輳が与える衝撃を最小にすることができる。カレンダー待ち行列及び“成熟”リンクドリストのためのリンクは、共にリンクRAM722を使用する。各形状からは、単一の形状IDトークンだけしかスケジュールすることができないから、即ちこれらのリスト構造の何れにも1つしか存在しないから、16Kリンクだけでよい。リンクRAM722のアドレスは形状IDであり、戻されるデータは同一リスト内の次の形状IDトークンである。図11はカレンダー待ち行列を示し、図12は“成熟”リンクドリスト構造を示している。
【0051】
TARDIS72内では、時間は、1主タイミングシーケンスの分解能及び64K主タイミングシーケンスの範囲を与える16ビット2進フィールドで表される。現時点は各主タイミングシーケンスの開始時に1回インクリメントされる。最小セル間隔は、主タイミングシーケンスの1/256の分解能、及び64K主タイミングシーケンスの範囲を与える24ビット2進フィールドで表される。間隔の16の最上位ビットは、“整数部”として知られている。間隔の8つの最下位ビットは、“小数部”として知られている。各形状のピークセルレート(PCR)は、レートの逆数である最小セル間隔として定義されている。最小及び最大許容レートを、図13のテーブルに示す。
【0052】
高帯域幅限界は、TARDIS72によって強化されてはいない。従って、より高い帯域幅(即ち、より小さい最小セル間隔)を有する形状IDが正しく成形される保証はない。成型器60の出力帯域幅が制限されているので、他の成形された接続が存在する場合には、このような形状IDは重大なセル遅延変動を受ける恐れがある。低帯域幅限界は、TARDIS72によって強化されている。この限界よりも大きい最小セル間隔を有するように構成された形状IDは成形されない(即ち、それはあたかも最小セル間隔が0.001:00であるかのように処理される)。図14は、本発明の1実施の形態により、TARDIS72内で構成することができる最小セル間隔の例を示している。
【0053】
TARDIS72内のスケジューリングは、
1.DALEK70から形状IDトークンを受信した時(主タイミングシーケンス内で3つまで)、
2.“成熟”リストの先頭の形状IDトークンがDALEK70へ伝送される時(主タイミングシーケンス内で3つまで)、
に遂行される。図15は、スケジュール動作のための真理値表である。この表の以下の説明では、上述した形状IDトークンが単一の形状に属していることに注目されたい。TARDIS72によって支援される16K形状は独立的に処理される。
【0054】
形状IDトークンがDALEK70から受信され、TARDIS72内に形状IDトークンが存在しない(カウント0によって指示される)場合に、スケジューラの“最初のイン”結果が発生する。“最初のイン”は、形状IDトークンをDALEK70へ戻させ(それが適合している場合)、またカレンダー待ち行列内へ挿入させる。更に、カウントがインクリメントされる。これは、TARDIS72内に“実”形状IDが存在しないにも拘わらず、“ゴースト”形状IDトークンがTARDIS72内に存在し続けるという、このアルゴリズムの重要な特性を示している。カウントは、実際に、“実”形状IDトークンの数+1“ゴースト”である。
【0055】
“次のイン”のスケジューラ結果は、DALEK70から1つまたは複数の形状IDトークンが受信され、TARDIS72内に既に形状IDトークンが存在している(非0カウントによって指示される)場合に発生する。形状IDトークン内の“次のイン”結果は、カウントに対するインクリメントの形状でTARDIS72内に保持される。この形状は、現在は適合していないので、形状IDトークンはDALEK70へは戻されない。また、形状IDトークンが既に存在しているので、それはカレンダー待ち行列内へ挿入もされない。
【0056】
“次のアウト”のスケジューラ結果は、“成熟”リストの先頭の形状IDトークンがDALEK70へ送られ、TARDIS72内に複数の形状IDトークンが存在している(1より大きいカウントによって指示される)場合に発生する。“次のアウト”により、カレンダー待ち行列内へ形状IDトークンが挿入され、カウントがデクレメントされる。“ゴーストアウト”のスケジューラ結果は、“成熟”リストの先頭の形状IDトークンがDALEK70へ送られ、TARDIS72内に“ゴースト”形状IDトークンだけが存在している(1のカウントによって指示される)場合に発生する。“ゴーストアウト”により、カウントは0にセットされる。この特別な“ゴースト”形状IDは、システムへ出力すべきCDが見出されないのでDALEK70によって無視される。
【0057】
形状IDトークン内の“最初のイン”及び“次のアウト”スケジューリング結果は、カレンダー待ち行列リスト(スケジュール時のためのリスト)に添付しなければならない。各形状IDを配置するのは正確に何処であるかの決定は、以下の2つの要因によって複雑にされる。
1.カレンダー待ち行列が64Kのエントリを有しているので、ポインタは規則的に循環(ラップアラウンド)する。
2.“成熟”リストにおける輻輳が、スケジュール時を“過去”に配置することができる。
図16のテーブルは、カレンダー待ち行列挿入時計算のための真理値表を定義している。もし“現時点”が選択されれば、形状IDトークンは(現時点+1)カレンダー待ち行列に配置される。次いで、それは、次の主タイミングシーケンスにおいて“成熟”リストに添付される。
【0058】
TARDIS72によって遂行される動作シーケンスは、主タイミングシーケンスに密に結合されている。これらのシーケンスを、スケジュール、成熟、及び管理と名付ける。
【0059】
スケジュールシーケンス
このシーケンスは、形状IDのスケジューリングを遂行する。このシーケンスは、DALEK70から形状IDトークンを受信することによって、または形状IDトークンを“成熟”リストからDALEK70へ伝送することによって開始される。このシーケンスは、形状IDエントリをカレンダー待ち行列内へ挿入し、据置きカウントを更新する。図17のテーブルは、このシーケンスを示している。
1.GCRA RAM:形状IDのための現在のGCRA構成及び状態を読出せ。
2.内部論理内のスケジューリングアルゴリズムの実行せよ。
3.GCRA RAM:更新されたGCRA構成及び状態の書込め。
4.MINT RAM:スケジュール時カレンダー待ち行列の現在の先頭/末尾を読出せ。
5.MINT RAM:スケジュール時カレンダー待ち行列の更新されたの先頭/末尾を書込め。
6.リンクRAM:古いカレンダー待ち行列末尾からリンクを新しい末尾に書込め。
MINT RAM及びリンクRAM動作は、スケジューリングアルゴリズムが“最初のイン”または“次のアウト”の結果を戻した時に限って遂行される。
【0060】
成熟シーケンス
このシーケンスは、形状IDトークンのリストを、現時点カレンダー待ち行列から“成熟”リンクドリストの末尾へ転送し、最初の3つの形状IDをTARDIS72内へロードする。それは、各主タイミングシーケンス中に1回開始される。図18のテーブルは、
MINT RAM:カレンダー待ち行列から現時点リストを読出せ、
MINT RAM:カレンダー待ち行列内の現時点リストをクリアせよ、
リンクRAM:現時点リストを“成熟”リストの末尾へリンクせよ、
リンクRAM:“成熟”リスト内の次の(第2の)形状IDトークンを読出せ、
リンクRAM:“成熟”リスト内の次の(第3の)形状IDトークンを読出せ、
のシーケンスを示している。
【0061】
管理シーケンス
このシーケンスは、最小セル間隔をCCRA RAMへ/から書込む、または読出す。これらの動作により、CPUは最小セル間隔を構成し、監視することができる。図19のテーブルはこのシーケンスを示している。テーブルは、次のシーケンスを示している。
1.書込みレジスタWR SIDによって指し示されたアドレス(形状ID)が読出され、データ(MCI)が読出しレジスタRR MCI INT及びRR MCI FRA内に配置される。読出しレジスタは、読出し要求に関してだけロードされる。
2.書込みレジスタWR SIDによって指し示されたアドレス(形状ID)が、データ(MCI)を使用して書込みレジスタWR MCI INT及びWR MCI FRA内に書込まれる。このステップは、書込み要求に関してだけ発生する。
【0062】
総合シーケンス例
TARDIS72が遂行する総合シーケンスの例を図20に示す。このようなシーケンスは、各主タイミングシーケンス中に走る。各総合シーケンスは、上述したスケジュール、成熟、及び監視シーケンスを組合わせる。図20の例は、
1. DALEK70からの3つの形状IDトークンが、全てスケジュール“最初のイン”を有している、
2. DALEK70からの3つの“成熟”形状IDトークンが、全て“次のアウト”スケジュール結果を有している、
3. CPUがGCRA RAM構成書込みを要求している、
という最悪シナリオを示している。
【0063】
DALEK ブロック
DALEKは、成型器内に現在存在しているセル記述子(CD)の格納を制御する(各接続ID毎のリンクされたリストの管理を含む)。図21は、CD処理機能ブロック、即ちDALEK70内へ、及びそれからのCD及び関連形状IDトークンの流れを示している。システムからCDを受信すると、形状IDの表引きが先ず遂行される。CDは“後刻”リスト内に格納され、形状IDトークンはTARDIS72へ出力される。形状が確認されると、形状IDトークンがTARDIS72からDALEK70へ入力される。CDは“今”リストへ移動し、CDはシステムへ返送される。
【0064】
DALEK70は、システム主タイミングシーケンスに同期しているシーケンスを使用して動作する。シーケンス同期は、TARDIS72によって与えられる。主タイミングシーケンスは、37クロック期間の長さである。これは約685ns、またはSTS−12Cをベースとするシステムにおいては1セル時間である。接続ID毎の構成可能なCLPオプションフィールドにより、各CDは“CLPクリア”か、“CLP不変”の何れかとして処理することができる。“CLPクリア”接続ID上のCDは、DALEK70へエントリされるとリセットされるCLPビットを有している。“CLP不変”接続ID上のCDは、不変のまま渡されるCLPビットを有している。CLP及びその関連パリティビットは、DALEK70によって変更される唯一のCDのフィールドである。
【0065】
DALEK70によって管理されているデータ構造、及びDALEK70を通るデータの流れを以下に説明する。任意の時点に、DALEK70内の各CDは、2つのリンクされたリスト構造の一方内に格納される。各形状ID毎に1つの、1組の“後刻”リンクドリストは、CDを受信した時からそれらが伝送のための準備が整うまで、CDを保持する。“今”リンクドリストは、伝送のための準備が整っている全てのCDを保持する。
【0066】
各主タイミングシーケンス中に、3つまでのCDをシステムから受信することができる。各CDは、ToShapeビット及び接続IDフィールドを含む。ToShapeビットがセットされている(形状IDマッピングに対する有効接続IDが存在している)各CDは、DALEK70によって外部RAMアレイ(即ち、データバッファ703)内に格納される。一旦格納されたCDはリスト間で転送されても移動せず、代わりにリンクが操作される。リンクは、CDの一部としてデータバッファ703内に格納される。
【0067】
形状RAM701と呼ばれる外部RAMアレイは、接続IDから形状IDへのマッピングテーブルを保持している。成形は、形状IDに対して遂行される。複数の接続IDを単一の形状IDへマップすることができる。接続IDのためのCLPオプションフィールドは、その形状IDと共に形状RAM701内に格納される。ToShapeビットがセットされているCDは、16K“後刻”リンクドリストの1つに添付される。“後刻”リストは、CD内のフィールドから4レベルの優先順位を適用する優先順序をベースとしている。このフィールドは、成形された接続内の優先順位(通常は、VC優先順位)を定義する。“後刻”リストの先頭及び末尾は、COIN RAM702と呼ばれる分離した外部RAM内に格納される。
【0068】
受信したCDの格納と同時に、DALEK70は、GCRA評価のために形状IDをTARDIS72へ送る。そのCDはそれがリストの先頭に到達し、形状IDがTARDIS72から入力されるまで“後刻”リスト内に留まる。TARDIS72から入力される形状IDトークンは、その形状IDを有するCDをシステムへ出力できることを指示する。CD選択は、最高優先順位においてその形状IDのためのリストを占有することである。それは、“後刻”リストの先頭から“今”リストの末尾へ転送される。
【0069】
“今”リストは、直ちに出力する準備が整っているCDを受入れるための出力待ち行列を提供する。各主タイミングシーケンス中に1つのCDしか出力することができないにも拘わらず、3つまでの形状IDをTARDIS72から入力することができるので、このリストが必要である。“今”リストは、CD内のフィールドから4レベルの優先順位を適用する優先順序をベースとしている。このフィールドは、成形された接続間の優先順位(通常は、VP優先順位)を定義する。“今”リストの先頭及び末尾は、1つの“今”リストだけが存在しているので、DALEK70内に格納される。
【0070】
3つの全ての外部RAMアレイ内に保持されているデータは、パリティビットによって保護される。全メモリ読出し動作に続いてパリティが調べられ、エラーがあればフラグが立てられる。同様に、システムから受信したCDのパリティが調べられ、エラーにフラグが立てられる。図22は、これらのデータ構造及びDALEK70を通るデータの流れを示している。
【0071】
DALEK70によって遂行される動作シーケンスは、主タイミングシーケンスと密に結合されている。これらのシーケンスには、受信、転送、伝送、及び管理と命名されている。
【0072】
受信シーケンス
このシーケンスは、システムからCDを受入れ、形状IDをデコードし、そしてそのCDを形状ID“後刻”リンクドリストに添付する。形状IDトークンは、このシーケンス中にTARDIS72へ渡される。図のテーブルはこのシーケンスを示している。
1.形状RAM:CD接続IDフィールドからデコードされた形状IDを読出せ。
2.COIN RAM:形状ID/優先順位リストの先頭/末尾を読出し、次いで更新されたデータを書込め。
3.データバッファ:CD及びヌルリンクを書込み、次いでリストの古い末尾へのリンクを書込め。
【0073】
転送シーケンス
このシーケンスは、CDを“後刻”リンクドリストから“今”リンクドリストへ転送する。転送は、TARDIS72から形状IDトークンを受信することによって開始される。図24のテーブルはこのシーケンスを示している。
1.COIN RAM:全ての4優先順位“後刻”リストの先頭/末尾を読出せ。
2.データバッファ:“今”優先順位、及び選択された“後刻”リストの先頭のリンクを読出せ。
3.COIN RAM:“後刻”リストの新しい先頭/末尾を書込め(データバッファリンクから)。
4.データバッファ:“今”リストの新しい末尾へのリンクを書込め。
【0074】
伝送シーケンス
このシーケンスは、“今”リンクドリストからCDを読出し、システムへそのCDを出力する。図25はこのシーケンスを示している。
1. データバッファ:CDをワード毎に読出せ。
2. CD データバス駆動。
3. CD SHP RDY表明。
【0075】
管理シーケンス
このシーケンスは、形状IDを形状RAMへ書込み(もし要求されれば)、形状RAMから形状IDを読出す。これらの動作により、DALEK70内の形状IDマッピングへの接続IDの構成及び監視が可能になる。図26のテーブルはこのシーケンスを示している。
1.書込みレジスタCPU WR CIDによって指し示されているアドレス(接続ID)が書込みレジスタ内のデータ(形状ID)を使用して書込まれる。
2.CPU WR CIDによって指し示されているアドレス(接続ID)が読出され、そのデータ(形状ID)が読出しレジスタCPU RD CID内に配置される。
【0076】
総合シーケンス例
図27に、DALEK70が遂行する総合シーケンスの例を示す。このようなシーケンスは、各主タイミングシーケンス中に走る。各総合シーケンスは、前項に記載した受信、転送、伝送、及び管理シーケンスを組合わせる。ここで選択した総合シーケンスの例は、次の最悪シナリオである。
1.システムから3つのCDを受信して3つの受信シーケンスが開始される。
2.TARDIS72から3つの形状IDトークンを受信して3つの転送シーケンスが開始される。
3.“今”リストが占有されて伝送シーケンスが開始される。
4.CPU SR WRREQビットが表明されて管理シーケンスが開始される。
【0077】
先に定義したように、接続毎の形状IDと共に“今”及び“後刻”を本発明に使用する場合には、それぞれ仮想接続(VC)及び仮想経路(VP)内に優先順位を与える。これにより、VP内で成形されている接続のための相対優先順位が効果的に保存される。また、カレンダー待ち行列を使用すると、“仮想終了時間”(VFT)計算の複雑さが減少し、得られたVFTはそのアルゴリズムの複雑さ[O(1)対O(N log N)]と境を接する一定の時間を有している。最後に、“活動リスト”を使用することにより、接続毎のスケジューリングの複雑さが減少する。
【0078】
当分野に精通していれば、本発明の範囲及び思想から逸脱することなく本発明に種々の変更をなしえることが理解されよう。特許請求の範囲内で上述した以外に実施できることは明白である。
【図面の簡単な説明】
【図1】 マルチノードネットワークを通して接続されている複数の源/行先(S/D)ユーザの概要ブロック図である。
【図2】 図1のネットワーク内のノードのシーケンスを通して1つのS/Dユーザを別のS/Dユーザに接続する回路の概要図である。
【図3】 情報を源(S)から順方向(F)に行先(D)へ送り、制御信号を逆方向(R)へ源(S)に伝送する仮想チャンネル接続を有する図2の回路の概要図である。
【図4】 図1のネットワーク内のノード(N)の典型的な1つの概要図である。
【図5】 図4のノード内のキューイングユニットの概要図である。
【図6A】 各セルが1ms離間し、トラフィックの“バースト”がランダムに離間しているセルトラフィックを示す図である。
【図6B】 セルが3msの均一間隔に“成形”された後の図6Aのセルトラフィックを示す図である。
【図7】 本発明により構成された成型器の機能ブロックのブロック図である。
【図8】 セル記述子(CD)フォーマットの例である。
【図9】 本発明により構成された成型器の一例のブロック図である。
【図10】 形状ID処理ブロックを通る形状IDのデータの流れを示す図である。
【図11】 本発明により構成されたカレンダー待ち行列を示す図である。
【図12】 形状IDの“成熟”リンクドリストを示す図である。
【図13】 本発明の一実施の形態による最小及び最大セル間隔のテーブルである。
【図14】 最小セル間隔の例のテーブルである。
【図15】 スケジューリング動作のための真理値表である。
【図16】 カレンダー待ち行列挿入時点計算の真理値表である。
【図17】 形状IDをスケジュールするためのスケジュールシーケンスを示す図である。
【図18】 形状ID処理ブロックの“成熟”シーケンスの動作を示す図である。
【図19】 形状ID処理ブロックの管理シーケンスの動作を示す図である。
【図20】 形状ID処理ブロックが遂行する総合シーケンスの例を示す図である。
【図21】 CD処理ブロックを通るCD及び形状IDのデータの流れを示す図である。
【図22】 CD処理ブロック内のデータ構造及びデータの流れを示す図である。
【図23】 CD処理ブロックにおける受信シーケンスの動作を示す図である。
【図24】 CD処理ブロックにおける転送シーケンスの動作を示す図である。
【図25】 CD処理ブロックにおける伝送シーケンスの動作を示す図である。
【図26】 CD処理ブロックにおける管理シーケンスの動作を示す図である。
【図27】 CD処理ブロックによって遂行される総合シーケンスの例を示す図である。
Claims (9)
- 成型器ユニットであって、
複数のセル記述子を受信し処理する処理ブロックと、接続IDから形状IDへのマッピングテーブルを保持している形状RAMと、“後刻”リストの先頭及び末尾を格納しているCOIN RAMと、当該複数のセル記述子を格納するデータバッファアレイとを具備するセル記述子(CD)処理ブロックと、
複数の形状IDを処理する処理ブロックと、形状毎のGCRA構成及び状態データを格納する総称セルレートアルゴリズム(GCRA)RAMと、カレンダー待ち行列リンクドリストアレイを格納するリンクRAMとを具備する形状ID処理ブロックと、
を備え、
上記セル記述子処理ブロックは、受信した上記複数のセル記述子に対応する上記複数の形状IDを上記形状ID処理ブロックへ出力し、
上記形状ID処理ブロックは、上記複数の形状IDそれぞれの適合性を検査し、適合した形状IDを上記セル記述子処理ブロックへ返送し、そして、適合していない形状IDをカレンダー待ち行列内へ挿入し、さらに、成熟した形状IDを当該カレンダー待ち行列から当該セル記述子処理ブロックへ返送するよう構成されていることを特徴とする成型器ユニット。 - 上記形状ID処理ブロックは、上記カレンダー待ち行列を格納するMINT RAMを更に備えていることを特徴とする請求項1に記載の成型器ユニット。
- ネットワークスイッチ内でセルトラフィックを成形する方法であって、
セル記述子処理ブロックにおいてセル記述子(CD)を受信するステップと、
上記セル記述子から形状IDをデコードし、上記セル記述子を“後刻”リスト内に格納するステップと、
上記形状IDを形状ID処理ブロックへ出力するステップと、
上記形状IDの適合性を検査するステップと、
もし上記形状IDが適合していれば、上記形状IDを上記セル記述子処理ブロックへ返送するステップと、
もし上記形状IDが適合していなければ、上記形状IDをカレンダー待ち行列内へ挿入し、上記形状IDが成熟した時に、上記形状IDを当該カレンダー待ち行列から成熟リストへ転送し、次いで上記形状IDを上記セル記述子処理ブロックへ返送するステップと、
上記セル記述子処理ブロックが上記形状IDを受信した時に、上記セル記述子を“今”リストへ移動させるステップと、
上記セル記述子を上記セル記述子処理ブロックから出力するステップと、
を含むことを特徴とする方法。 - 各形状IDは異なる接続に対応し、上記“今”及び“後刻”リストは、仮想接続(VC)の優先順位を特定することを特徴とする請求項3に記載の方法。
- 上記形状IDが成熟した時には、たとえより高い優先順位のVCが当該形状IDを生成しなくても、上記セル記述子処理ブロックがVCを決定して送出し、これにより、高い優先順位のVCがより低い優先順位のVCの前に送られることを特徴とする請求項4に記載の方法。
- 各接続は、異なるレートで成形されることを特徴とする請求項3に記載の方法。
- 複数の接続は全て同一の形状IDにセットされることを特徴とする請求項3に記載の方法。
- 通信システムであって、
情報を供給する複数の源と、
上記複数の源からの上記情報を受信する複数の行先と、
上記複数の源と上記複数の行先とを接続するネットワークを形成する1つまたはそれ以上のノードと、
を備え、
上記ネットワークは、上記情報を輸送するための複数のチャンネルを有し、上記ノードのそれぞれはキューイング制御ユニットを含み、上記キューイング制御ユニットは、
待ち行列管理部と、
破棄ブロックと、
成型器と、
を含み、上記成形器は、
セル記述子(CD)処理ブロックと、
形状ID処理ブロックと、
を含み、
上記セル記述子処理ブロックは、
複数のセル記述子(CD)を受信し、
上記複数のセル記述子から対応する複数の形状IDをデコードし、そして、当該複数のセル記述子を“後刻”リスト内に格納し、
上記複数の形状IDを上記形状ID処理ブロックに出力し、
上記形状ID処理ブロックは、
上記複数の形状IDそれぞれの適合性を検査し、
適合した形状IDを上記セル記述子処理ブロックへ直接返送し、
適合していない形状IDをカレンダー待ち行列へ挿入し、成熟した形状IDを当該カレンダー待ち行列から上記セル記述子処理ブロックへ返送することを特徴とし、
上記キューイング制御ユニットは、更に、
上記成型器によって出力された上記複数のセル記述子を受信及び処理するポート毎の待ち行列ユニットと、
上記ポート毎の待ち行列ユニットからの出力を受信及び処理するデキューユニットと、
上記デキューユニットからの出力を受信及び処理するマルチキャストサーバーと、
上記マルチキャストサーバーからの出力を受信及び記憶する自由バッファリストユニットと、
を含むことを特徴とする通信システム。 - 上記セル記述子処理ブロックが上記形状IDを上記形状ID処理ブロックから受信した時に、上記セル記述子処理ブロックは、上記形状IDに対応するセル記述子を“今”リストへ移動させ、そして上記形状IDに対応するセル記述子を出力することを特徴とする請求項8に記載の通信システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13695399P | 1999-05-28 | 1999-05-28 | |
US60/136,953 | 1999-05-28 | ||
PCT/US2000/014549 WO2000074321A1 (en) | 1999-05-28 | 2000-05-26 | Apparatus and method for traffic shaping in a network switch |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003501885A JP2003501885A (ja) | 2003-01-14 |
JP4504606B2 true JP4504606B2 (ja) | 2010-07-14 |
Family
ID=22475176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001500501A Expired - Lifetime JP4504606B2 (ja) | 1999-05-28 | 2000-05-26 | ネットワークスイッチにおいてトラフィックを成形する装置及び方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1183833A1 (ja) |
JP (1) | JP4504606B2 (ja) |
AU (1) | AU5589800A (ja) |
IL (2) | IL146767A0 (ja) |
RU (1) | RU2001135829A (ja) |
WO (1) | WO2000074321A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379420B2 (en) * | 2001-12-28 | 2008-05-27 | Network Equipment Technologies, Inc. | Method and apparatus for multiple qualities of service to different network connections of a single network path |
US7583664B2 (en) | 2004-12-28 | 2009-09-01 | Michael Ho | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3157113B2 (ja) * | 1996-10-25 | 2001-04-16 | 沖電気工業株式会社 | トラヒックシェイパー装置 |
JPH1155276A (ja) * | 1997-08-01 | 1999-02-26 | Oki Electric Ind Co Ltd | シェーピング装置 |
JPH1168771A (ja) * | 1997-08-08 | 1999-03-09 | Nec Corp | グルーピングupc方式 |
US6011798A (en) * | 1997-08-15 | 2000-01-04 | Intel Corporation | Adaptive transmit rate control scheduler |
-
2000
- 2000-05-26 WO PCT/US2000/014549 patent/WO2000074321A1/en not_active Application Discontinuation
- 2000-05-26 AU AU55898/00A patent/AU5589800A/en not_active Abandoned
- 2000-05-26 JP JP2001500501A patent/JP4504606B2/ja not_active Expired - Lifetime
- 2000-05-26 IL IL14676700A patent/IL146767A0/xx active IP Right Grant
- 2000-05-26 RU RU2001135829/09A patent/RU2001135829A/ru not_active Application Discontinuation
- 2000-05-26 EP EP00941149A patent/EP1183833A1/en not_active Withdrawn
-
2001
- 2001-11-27 IL IL146767A patent/IL146767A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2000074321A1 (en) | 2000-12-07 |
IL146767A (en) | 2007-05-15 |
AU5589800A (en) | 2000-12-18 |
EP1183833A1 (en) | 2002-03-06 |
RU2001135829A (ru) | 2003-08-27 |
IL146767A0 (en) | 2002-07-25 |
JP2003501885A (ja) | 2003-01-14 |
WO2000074321A9 (en) | 2002-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6768717B1 (en) | Apparatus and method for traffic shaping in a network switch | |
US6122279A (en) | Asynchronous transfer mode switch | |
US7023841B2 (en) | Three-stage switch fabric with buffered crossbar devices | |
US6434155B1 (en) | Weighted round robin engine used in scheduling the distribution of ATM cells | |
EP0785698B1 (en) | Buffering of multicast cells in switching networks | |
JP4006205B2 (ja) | 別々の出力バッファを備えたスイッチング構成および方法 | |
US7161906B2 (en) | Three-stage switch fabric with input device features | |
US5850395A (en) | Asynchronous transfer mode based service consolidation switch | |
CA2271883C (en) | Many dimensional congestion detection system and method | |
US5278828A (en) | Method and system for managing queued cells | |
JP4024904B2 (ja) | データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機 | |
US6717912B1 (en) | Fair discard system | |
JP2000501260A (ja) | 情報パケット交換機のためのスケジューラ | |
JPH09512683A (ja) | Atmアーキテクチャ及びスイッチング要素 | |
JPH10242999A (ja) | トラフィック成形装置 | |
JPH07321823A (ja) | マルチキャスティング機能を備えた装置 | |
US6430152B1 (en) | Scheduler system for scheduling the distribution of ATM cells | |
JP3602893B2 (ja) | Atmインタフェースおよびシェーピング方法 | |
JP4504606B2 (ja) | ネットワークスイッチにおいてトラフィックを成形する装置及び方法 | |
EP1198098B1 (en) | Switching arrangement and method with separated output buffers | |
EP0604538A4 (en) | Method and apparatus for asynchronous transfer mode (atm) network. | |
CA2233555A1 (en) | Asynchronous transfer mode switch | |
JPH11510327A (ja) | 非同期転送モードベースドサービス統合交換機 | |
CHEN | SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF ELECTRICAL ENGINEERING | |
EP1111853A2 (en) | A method of providing a guaranteed frame rate in a hierarchical scheduler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090917 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091216 |
|
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: 20100401 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4504606 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |