JP3813698B2 - トラフィック成形装置及びルーチン - Google Patents
トラフィック成形装置及びルーチン Download PDFInfo
- Publication number
- JP3813698B2 JP3813698B2 JP17261797A JP17261797A JP3813698B2 JP 3813698 B2 JP3813698 B2 JP 3813698B2 JP 17261797 A JP17261797 A JP 17261797A JP 17261797 A JP17261797 A JP 17261797A JP 3813698 B2 JP3813698 B2 JP 3813698B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- queue
- rate
- packets
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、パケット交換式通信ネットワーク、特に指定されたトラフィック記述子に適合するために、そのようなネットワークまたはネットワーク要素内のキューイングポイントにおいて時間多重パケットのフローを生じさせるトラフィック成形に関する。
【0002】
【従来の技術】
A.トラフィックコントラクト/定義
パケット交換式通信ネットワーク上で現在動いている殆どのアプリケーションは、ネットワークから偶然得る帯域幅が如何なるものであっても満足して動作できる。何故なら、それらのアプリケーションでは「弾性」帯域幅が条件となっているからである。これらのアプリケーションをサポートするこの種のサービスは、インターネットの世界では「ベストイフォート」サービスとして、または広帯域ISDN/ATMの世界では「アベイラブルビットレート」(ABR)として知られている。
【0003】
しかし、拘束(bounded)ジッター、即ち拘束パケット遅延変動(一般にATMの関連ではセル遅延変動と呼ばれる)を提供するネットワークサービスに対しての要求が増している。例えば、この種のサービスは、回路エミュレーションおよび映像などのリアルタイムなアプリケーションにおいて必要となる。インターネットがこのような要求に答えるか否かまたどの様にして応えるかは明確ではないが、広帯域ISDN/ATMの分野では、ユーザー−ネットワーク折衝型トラフィックコントラクトの概念を導入することで応えている。
【0004】
知られているように、ユーザー−ネットワークATMコントラクトは、トラフィックのパラメータ、トレランス、およびサービス要求の質などを含むトラフィック記述子によって定義される。関連するトラフィックパラメータの各々について適合定義(conformance definition)が特定される。したがって、ATMサービスは、サービスの質(QoS)の目標値と多重方式の異なる組み合わせをサポートするために、これらのトラフィックパラメータとそれらに対応する適合仕様を用いることができる。
【0005】
部分的にオーバーラップするATMトラフィッククラスは、インターナショナル・テレコミュニケーション・ユニオン(ITU−T)の通信標準化部門と、ATMフォーラムによって定義されている。幾つかの例では、本質的に同一の属性(attribute) を有するトラフィッククラスに対してこれらの2つのグループは異なる名称を付けており、下記の名称変換テーブルは現在使われている等価の対応名称を示す。
【0006】
【0007】
仮想回線(VC)コネクションまたは仮想パス(VP)コネクションのためのATMサービスコントラクトは、コネクションのサービスレートを記述するパラメータを複数含むことができる。これには、ピークセルレート(PCR)、維持可能(sustainable)セルレート(SCR)、固有(intrinsic)バーストトレランス(IBT)、最少セルレート(MCR)が含まれる。これらのパラメータの全てが個々のコネクションまたは個々のサービスのクラスに関連があるわけではないが、それらがサービスコントラクトの黙示的または明示的に指定された要素である場合、それらは重視しなければならない。VCコネクションが、下記の議論の中心となっているが、VPコネクションもそのように特定できることが分かるであろう。ATMコネクションのためのデータ転送単位は、通常「セル」と呼ばれる。しかし、本明細書では、データ転送単位を表すのに時として「パケット」という語が使用されている。これは、「パケット」という語は、本革新技術のより広い概念の幾つかにふさわしいより一般的な用語であるからである。
【0008】
ITU−T勧告1.371で指定されたジェネリックセルレートアルゴリズム(GCRA)は、トラフィック記述子との適合についてパケットまたはセルのフローをテストするのに非常に適している。このようなテストを行うために、GCRAは、出力(emission)間隔(即ち、フローレートの逆数)とトレランスτについての仕様を必要とする。実際には、このトレランスは、コネクション、コネクションセットアップパラメータ、またはサービスの種類などの種々の要因に依存するであろう。後で分かるように、GCRAはブール関数として採用でき、コネクション上の固定サイズのパケットまたはセルのフローの場合、GCRA(出力間隔、トレランス)は、もしフローがピークレートに従っていれば偽(false)であり、フローが最少レートに従っていれば真(true)である。例えば、もしGCRA(1/PCR,τPCR )が偽であれば、セルのソースはPCRに従う。同様に、もしGCRA(1/MCR,τMCR )が偽であれば、コネクションまたはフローはMCRに従う。後で分かるように、「出力間隔」は「セルレート」の逆数である。
【0009】
DBRトラフィックコントラクトは、コネクションが行われている間、一定量の帯域幅をコネクションに対して継続的に利用できることを予測してコネクションを確立するソースには適切である。従って、ネットワークがDBRコネクションに委ねる帯域幅は、PCR値によって特徴づけられる。さらに、そのようなコネクションでのセルまたはパケットのフローは、もしそれがGCRA(1/PCR,τPCR )に適合していれば、トラフィックコントラクトを遵守している。一方、SBRトラフィックコントラクトは、SCRとτIBT およびPCRとτpcT の通知された選択を考慮に入れた既知のトラフィック特性を有するアプリケーションに適している。SBRまたはrt−SBRフローは、もしそのフローがGCRA(1/PCR,τPCR )だけでなく、GCRA(1/SCR,τIBT )にも適合する場合、そのトラフィックコントラクトを遵守している。
【0010】
前述したように、ABRトラフィックコントラクトは、予約されていない帯域幅を使用した結果として生じる情報転送レートにおける動的な変化を許容できるアプリケーションに適している。PCRとMCRは、そのようなコネクションを確立するソースによって指定され、これらのパラメータはネットワークとの折衝の対象となる。したがって、ABRコネクションについて利用できる帯域幅はMCR(零でもよい)と、定義された割り当てポリシーにより、予約されていない帯域幅をABRコネクションの間で共用することによって生じる可変セルレートとの和である(即ち、ソースがその指定されたMCRを上回って受信する帯域幅は、折衝されたPCRだけでなく、ネットワークポリシーにも依存する)。ネットワークからのフィードバックにより、ソースアプリケーションは、ABRコネクションに対してセルまたはパケットを送るレートを動的に調整することができる。ABRフローは、GCRA(1/MCR,τMCR )に適合していれば、常にトラフィックコントラクトを遵守しており、GCRA(1/PCR,τPCR )に適合していなければ、常に非遵守である。MCRとPCRの間の領域における適合性は、ABRフードバックに依存し、従って動的に決定される。
【0011】
UBRトラフィックコントラクトは、ABRコントラクトに類似しているが、UBRコントラクトは、MCRの仕様に順応できず、また動的な適合定義を有しない。したがって、UBRフローは、もしそれがGCRA(1/PCR,τPCR )に適合していれば、トラフィックコントラクトを遵守している。
【0012】
B.トラフィック成形
ITU−T勧告1.371は、トラフィックを下記の点に関し、トラフィック記述子に適合させるためにネットワーク要素でのトラフィックの再成形の可能性について言及している:
【0013】
「トラフィック成形は、QoSの目標値を満たしながらネットワーク効率を改善するため、または後続のインターフェースでの適合を確保するために、VCCまたはVPC上のセルストリームのトラフィック特性を変更して、これらのトラフィック特性の要求される変更を達成するメカニズムである。トラフィック成形は、ATMコネクション上のセルシーケンスの完全さを維持しなければならない。成形はセルフローの特性を変更し、その結果、セルの平均転送遅れを増加させるものである。
【0014】
トラフィック成形の例は、ピークセルレートの低減、バースト長さの制限、セルの時間間隔を適切にすることによるCDVの低減、およびキューサービス方式である。
【0015】
トラフィック成形を行うか否か、またそれをどこで行うかはネットワークオペレータの選択による。例えば、ネットワークオペレータは好適なUPC/NPC機能とともにトラフィック成形を行うことを選択できる。
【0016】
分離したセルフローまたは集合的セルフローに関してトラフィック成形を行うことはオペレータが選べるオプションである。
【0017】
したがって、如何なるATMコネクションに対してもトラフィック成形を行うことができる。
【0018】
ネットワークオペレータ/サービスプロバイダが利用できるオプションには以下のものがある:
【0019】
a.成形なし
・如何なる成形機能も用いることなく、ネットワーク出口における適合性を確保しながらネットワーク入口における適合セルの任意のフローを許容できるようにネットワークの寸法又は次元(dimension) を決める。
【0020】
b.成形あり
・入口における適合セルの任意のフローが、QoS目標値を満たしながらネットワークまたはネットワークセグメントによって運ばれるようにネットワークの寸法を決めるとともに動作させ、出口における適合テストを満たすようにトラフィックの出力成形を行う。
【0021】
・ネットワークまたはネットワークセグメントの入口におけるトラフィックを成形し、QoS目標値およびネットワークまたはネットワークセグメントの出口におけるその後の適合テストを満たすとともに、成形によって得られたトラフィック特性にしたがってリソースを割り当てる。
【0022】
また、ソースによってまたはUNIにおいて発生されるセルが、使用されるATCに関する折衝トラフィックコントラクトに適合していることを確実にするために、顧客の装置内、またはソースにおいてトラフィック成形を使用してもよい(5.5章参照)。」ITU−T勧告1.371、6.2.5章。
【0023】
C.リアルタイムおよび非リアルタイムコネクションのためのスケジューリング/現存のツールおよび技術
知られているように、もし「ベストイフォート」のインターネットサービスまたはABR ATMサービスを採用するアプリケーションの間で帯域幅が「フェア」に分割されない場合、種々の好ましくない現象が生じるであろう。
【0024】
現在、殆どのATMスイッチではFIFOキューイングが実施されている。しかし、FIFOキューイングは、ABRトラフィックに使用した場合、異常な挙動を示す。また、FIFOは、正しく行動しているユーザーを誤って行動しているユーザから保護できない(アイソレーションを提供しない)。このような欠点のため、重み付けフェアキューイングなどの非FIFOキューイングメカニズム、またはラウンドロビンのようなフェアキューイングに近似した方式がしばしば提案される。
【0025】
非弾性的帯域幅を要求する種類のサービスは、時として、データが拘束ジッター(即ち、セルまたはパケットの遅延変動が制限されていること)を伴ってネットワークを介して伝送されることを要求する。知られているように、リアルタイムストリームに対して拘束ジッターを提供するために重み付けフェアキューイングを使用することができる。さらに、仮想クロックおよび自己計時型フェアキューイングの密接に関連したメカニズムを使用するシステムのために試験済の遅延制限を提供できる。
【0026】
したがって、弾性(ベストイフォート/ABR)サービスと非弾性(またはリアルタイム)サービスの何れもがフェアキューイングおよび関連するアルゴリズムを使用することによって利益を受けることが知られている。
【0027】
1.重み付けフェアキューイングおよび仮想クロック
フェアキューイングおよび関連のアルゴリズム(例えば、フレームベースのフェアキューイング、欠陥ラウンドロビンなど)はパケットまたは他のデータ転送単位(例えば、ATMセルはここでの議論においてはパケットである)のシーケンスに対して作用する。ATMの場合、これらのシーケンスはVCIまたはVPIの何れかによって認識され、この認識に適したインターネットのプロトコルは<IPアドレス、プロトコル、ポート>トリプル(IPv4)またはフロー識別子(IPv6)に基づくものである。自己計時型重み付けフェアキューイングおよび仮想クロックの何れにおいても、パケットはタイムスタンプによって順序づけられる(ソートされる)(ラウンドロビンなどの方式はタイムスタンプによってパケットの順序づけに対して近似を行う)。このタイムスタンプは仮想終了時刻を表し(またはパケットの仮想開始時刻を同様に表す)、開始時刻を得るとともに、パケット長に、特定のパケットシーケンスに対しての帯域幅の割り当てを表す重みを掛けることによって得られるオフセットを加えて計算される。
【0028】
より詳細には、仮想クロックの場合、仮想終了時刻は下記のように計算される。
【0029】
VT(f,0) = 0
VT(f,j+1) = max{到着(f,j+1), VT(f,j)}+ 長さ(f,j+1)/レート(f) (1)
但し、VT(f,j) はフロー(仮想回線)f のパケット j に関連する仮想終了時刻であり、
到着(f,j) はフロー f のパケット j の到着時刻であり、
長さ(f,j) はフロー f のパケット j の長さである。
【0030】
自己計時型重み付けフェアキューイングは、下記式に従って仮想終了時刻を指定する。
【0031】
但し、システム仮想時刻は、パケット(f,j+1) が到着する時刻において提供される(出力される)パケットに関する仮想時刻である。
【0032】
ATMの場合、セルが固定サイズ(例えば、53バイト長)であるため、パケット長は一定である。したがって、式(1)および式(2)の最右項は、フロー毎の定数になる。仮想クロックの場合、式を下記のように単純化できる。
【0033】
VT(f,j+1) = max{到着(f,j+1), VT(f,j)}+ 定数(f) (3)
【0034】
自己計時型重み付けフェアキューイングの場合、式を下記のように単純化できる。
【0035】
VT(f,j+1) = max{システム仮想時刻, VT(f,j) }+ 定数(f) (4)
【0036】
即ち、仮想クロックまたは自己計時型重み付け型フェアキューイングを実施するATMキューイングポイントは下記のステップを行う。
【0037】
1)VCについての現在の仮想時刻(a)と、セルの到着時刻i)とシステム仮想時刻ii)の何れか(b)との間の最大値を計算し、
2)上記ステップ1の結果に、帯域幅のVCの占有率を表すVC毎の定数を加え、
3)ステップ1と2によって指定した仮想タイムスタンプの値が増加する順序でセルを提供(それらを送信)する。
【0038】
2.優先権
一つのトラフィッククラスに他のものより高い優先権を与えるということは、もし高い優先順位を有するトラフィッククラスが転送の準備のできたセル群を有していれば、これらのセル群は、常に優先順位の低いトラフィッククラスのセルに優先して伝送される。
【0039】
優先権のメカニズムは先制的(preemptive)であることも非先制的であることもできる。この用語はオペレーティングシステムの文献から由来している。非先制的優先権メカニズムは、スケジューリング時刻において対象物(オペレーティングシステムの世界ではプロセスであり、ATMの世界ではVC)に対して優先順位を与え、対象物はそれが提供されるまでこの優先順位を維持する。他方、先制的優先権メカニズムは、対象物が提供されるのを待っている間に対象物の優先順位を変えることができる。例えば、先制システムでは、「このVCを優先順位3でスケジュールする」と言うことはできるが、もしそれが200マイクロ秒の間に提供されない場合には、その優先順位が2に上げられる。
【0040】
3.作業維持および非作業維持キューイング
「作業維持(work conserving)」という用語は、作業が作られることもないし破壊されることもない任意のキューイングシステムを示すために時々使用される。この用語と一致して、待機セルが与えられた時、常にセルを出力リンクに伝送するスイッチは、「作業維持スイッチ」である。純粋なFIFOを採用するスイッチ、重み付けフェアキューイングまたは仮想クロックスケジューリングアルゴリズムは全て作業維持型である。これに対し、非作業維持型スイッチは、セルが転送のために待機していても、セルを送信しないことを選択できる。後で分かるように、これを行う方法は、特定のセルを伝送する前に現時刻がそのセルに関連したタイムスタンプに等しいか大きくなるまで待つようにスイッチをプログラムすることである。
【0041】
作業維持スイッチは、伝送リンクを完全に利用しようと試みるが、必ずしもバーストを除いたり、阻止したりしない。これに対し、非作業維持スイッチは、より厳しい適合テスト(即ち、より小さいτを有するGCRA)を満たすようにトラフィックを再成形するためにセルを戦略的に遅延させることができる。さらに、所定のコネクションに指定された量のバッファリングが割り当てられるだけの非作業維持スイッチは、割り当てられたバッファ空間をオーバーフローするセルを捨てるかもしくはそれにタグを付けることによってポリーシング(policing)機能(ITUではUPC/NPCと呼ぶ)を行う。非作業維持キューイングシステムの例は、仮想時間は実時間よりも速く過ぎる(立ち往生するか、非作業維持状態になる)ことが許されない仮想クロックアルゴリズムを改造したストールド(stalled) 仮想クロックである。
【0042】
4.カレンダキュー
カレンダキューは、アクションを時間順に並べたリストで、各アクションは、実時刻がそのアクションに関連する時刻と等しいかそれを越えた時にキューから取り出されて実行される。時間間隔が制限されたカレンダキューは、「タイムホイール(time-wheel)」または「タイムライン(time-line) 」として知られている線型アレーとして表すことができる。タイムホイールはバケットに対する事象をポインタに対して相対的に割り当てるもので、ホイールサイズを算術モジュロとして使用してバケットインデックスが計算される。これらのデータ構造は、キューイングメカニズムとして文献で良く知られている。タイムホイールでは、絶対時刻は、現時刻(実時刻)に対するオフセットとして表され、アレー中の各要素は、それらが属するバケットに対して指定された時刻に実行すべき一つ以上のアクションを(典型的には、リンクされたリストの形態で)含むバケットである。そのようなタイムホイールのバケットの何れのものも空であることができる、即ちそれに関連する事象を有しなくてもよい。
【0043】
各タイムホイールについて、二つの重要な時間tearliestとtlatestがあり、これらはアレー中のアクティブエントリーについてのヘッドポインタおよびテイルポインタに対応し、tearliestは、提供すべき次のエントリー(例えば、パケットまたはセル)の時刻であり、tlatestは、スケジュールされた事象を含む最新の(時間的に最も遠い)バケットに関連する時刻である。tearliestとtlatestの間の差はタイムホイールの長さbから1を引いた長さを越えることはできない。これは、時間がモジュロbを維持していると見ることにより、そして、b−1を越えるオフセット(仮想クロックまたは重み付けフェアキューイングにおいてそれぞれレートまたは重みの何れかを掛けたパケット長)が無いことを確実にすることによって確実にされる。OC−3の速度(149.76mbps−SONETペイロードレート)で動作するATMリンクの場合、リンク上に秒当たり約353208セルが存在する。したがって、もし64Kbps(音声電話の速度)のフロー(AALタイプ1が使用される場合には、毎秒約174セル)が、サポートすべき最も遅い速度のコネクションで、最も遅い速度に対する最も早いサポートされた速度の割合は2029、切上げると211となる。この割合は、実時刻を計算する間に加算される最大オフセットである。したがって、長さが2030(2の冪乗への切上げを考慮にいれると2048)のタイムホイールは、64Kbpsから完全なOC−3リンクの速度までの間の速度の回線に関連する実時刻をコード化するのに充分である。
【0044】
タイムホイールアレーの長さは、アレー要素が2以上のタイムオフセットを含むことができるようにすることによって減少できる。例えば、もし上記のタイムホイールが2048要素から256要素に減少された場合、各バケットはその中にマップ化した8個のタイムオフセットを有するであろう。複数オフセットに及ぶ単一のバケット内のアクションは、狂った順番で行われるかも知れないが、バケットの間ではアクションは順番どおりになるであろう。これにより、カレンダキュー内のアクションの順序付けの精度が低下するという犠牲を払って、そのようなタイムホイールに割り当てる必要があるメモリの量を減少できる。
【0045】
D.複数出力チャネル上での時間多重フローのためのトラフィック成形
時間多重化されたパケットまたはセルのフローをそれらのトラフィックコントラクトに適合させるのに必要な何れのトラフィック成形は、異なった出力チャネルのためのフローを相互に分離するのに必要な切り替えまたはルーチング動作が完了した後で実施するのが好ましい。これにより、マルチプレクサのスループット効率を最適化できる。
【0046】
しかし、以前の出力待機ATMスイッチは一般に、FIFO(先入れ、先だし)出力バッファを採用していた。これらのバッファはそれらを通過するフローの何れのものの再成形の制御に関与できない。その代わり、これらのバッファから出力されるVC毎の時間多重フロー(per-VC time mutiplexed flows)は、本質的にそれらの中ににロードされる入力フローの時間多重複合物である。勿論、これらの出力フローは、バッファの固有待ち時間のために入力フローに対して時間的に遅延される。また、もし異なるフローのデータ転送制限の間でスケジューリングの衝突が発生した場合にはこれらの出力フローの一つ以上のもののセル遅延変動(CDV)が増加するであろう。何故なら、これらの干渉は、所謂「伝送衝突」を引き起こすからである。
【0047】
後で分かるように、CVDの増加は、比較的トレランスが厳しいDBRトラフィックのようなトラフィックの場合、特にやっかいなものである。したがって、もしソースとデスティネーションの間の各ホップが、上記の形式の単純なFIFO出力キューを含む場合、その指定されたトレランス内での適合性を確保するために、このCDVに敏感なトラフィックが作ることができるホップの数を制限することが必要になるであろう。
【0048】
したがって、時間多重出力の送出のために複数入力から複数出力へトラフィックを送る、ATMスイッチまたはその他のルーターのためのより効率的でより効果的なトラフィック成形メカニズムとプロセスに対するニーズがあることは明らかである。
【0049】
【発明が解決しようとする課題】
本発明は、アベイラブルビットレートサービスのためのフロー毎待機ルーチングメカニズムにおけるレート成形を提供するものである。
【0050】
【課題を解決するための手段】
本発明の請求項1の態様は、パケット交換通信システムにおいて、コントラクトを含み、それぞれのフローの個々のネットワークトラフィックコントラクトに実質的に適合するように時間多重フローのパケットを連続的に送出するトラフィック成形装置であって、前記コントラクトは、それぞれのピークパケット送出レート及び前記フローのうちいくつかの関連ピークレートトレランスを指定するとともに、相互排他的カテゴリー、即ち、それぞれがコントラクト指定の関連最小レートトレランスを有する非ゼロ最小パケット送出レートを有するカテゴリーAフローと、ゼロパケット送出レートを許容するトラフィックコントラクトを有するカテゴリーBフローのうちの1つに前記フローの各々を分類し、前記トラフィック成形装置は、待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローの未決パケットを編成するキューイングメカニズムを含み、前記キューイングメカニズムに結合され、送出のために前記アクティブフローのパケットをスケジュールするスケジューリングメカニズムを含み、前記スケジューリングメカニズムは、相対的に優先順位が高い非作業維持カレンダキューと、少なくとも1つの相対的に優先順位が低い作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューに相対して優先順位が未決定の他の非作業維持キューとを含み、前記スケジューリングメカニズムは、(i)前記優先順位の高い非作業維持カレンダキューにおいて、第1の所与のフローのための指定された最小送出レートに対してトレランスを越えるレートで前記第1フローのパケットが送出されている際に、前記第1フローのためのコントラクト指定の最小送出レートを越えるレートで送出するように、(ii)前記他の非作業維持カレンダキューにおいて、前記第1フローのパケットが前記第1フローの指定されたピーク送出レートに対してトレランスを越えるレートで送出されている際に、前記第1フローのための指定されたピーク送出レートとほぼ同一のレートで送出するように、(iii) 前記作業維持キューにおいて、前記第1フローのパケットが前記第1フローのトラフィックコントラクトに従って送出されている際に、選択した連続的サービス戦略に従って送出するようにあらゆる所与のカテゴリーAのパケットをスケジュールし、前記スケジューリングメカニズムは、(iv)前記他の非作業維持カレンダキューにおいて、第2の所与のフローのパケットが前記第2フローのための指定されたピーク送出レートに対してトレランスを越えるレートで送出されている際に、前記第2フローのための指定されたピーク送出レートとほぼ同一のレートで送出するように、(v) 前記作業維持キューにおいて、前記第2フローのパケットが前記第2フローのトラフィックコントラクトに従って送出されている際に、前記選択した戦略に従って送出するように、あらゆる所与のカテゴリーBのパケットをスケジュールする。
【0051】
本発明の請求項2の態様は、パケット交換通信システムにおいて、コントラクトを含み、それぞれのフローの個々のネットワークトラフィックコントラクトに実質的に適合するように時間多重フローのパケットを連続的に送出するトラフィック成形装置であって、前記コントラクトは、前記フローのうちいくつかにそれぞれの許容ピークパケット送出レートを委ねるとともに、相互排他的カテゴリー、即ち、それぞれの非ゼロ許容最小パケット送出レートが委ねられるカテゴリーAフローと、ゼロパケット送出レートを許容するトラフィックコントラクトを受けるカテゴリーBフローのうちの1つに前記フローの各々を分類し、前記トラフィック成形装置は、待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローのパケットを編成するキューイングメカニズムを含み、前記キューイングメカニズムに結合され、送出のために前記アクティブフローのパケットをスケジュールするスケジューリングメカニズムを含み、前記スケジューリングメカニズムは、相対的に優先順位が高い非作業維持カレンダキューと、少なくとも1つの相対的に優先順位が低い作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューに相対して優先順位が未決定の他の非作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューからの監視送出に結合して前記優先順位が高いキュー及び優先順位が低いキューにおいてスケジュールされたパケットを選択的にスケジュールしない制御メカニズムを含み、前記スケジューリングメカニズムは、(i) それぞれのフローのための最小レート委託を越えるレートで送出するように前記優先順位の高いカレンダキューの各フローのパケットをスケジュールし、かつ(ii) 所定の作業維持キューから出す戦略に従って送出するように前記パケットを前記作業維持キューに入れることによってあらゆるカテゴリーAフローのパケットを準備し、従ってこれらのカテゴリーAフローのパケットの競合状態を作り出し、前記制御メカニズムは、各パケットが前記優先順位の高いキュー及び前記作業維持キューのうちの1つによって送出に達する際に、このパケットを前記キューの他のパケットの中から取り出すことによって前記遅れているカテゴリーAフローのパケットの前記競合状態を解決し、前記スケジューリングメカニズムは、それぞれのフローに委ねられる許容ピーク送出レートを越えるレートで送出されているあらゆるカテゴリーAフロー及びカテゴリーBフローのパケットを、それぞれのフローに委ねられるピーク送出レートとほぼ同一のレートで送出するように前記他の非作業維持カレンダキューにおいてスケジュールし、前記スケジューリングメカニズムは、それぞれのフローのためのコントラクトによる委託に適合するレートで送出されているあらゆるカテゴリーBフローのパケットを、前記作業維持キューから出す戦略に従って送出するように前記作業維持キューに入れる。
【0052】
本発明の請求項3の態様は、それぞれのフローのための個々のトラフィックコントラクトに実質的に適合するように、複数の時間多重フローの固定ビット長パケットを既知の帯域幅のリンクに連続的に送出するトラフィック成形プロセスにおいて、前記フローの少なくともいくつかを、前記いくつかのフローのためにゼロよりも大きいそれぞれのピークレート及び最小パケット送出レートを指定するそれぞれのアベイラブルビットレートトラフィックコントラクトに成形するルーチンであって、前記ルーチンは、待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローのパケットを編成するステップを含み、アベイラブルビットレートトラフィックコントラクトを有するフローのために前記リンクで利用可能な帯域幅を前記既知の帯域幅のパーセントとして動的に決定するステップを含み、アベイラブルビットレートトラフィックコントラクトを有するアクティブフローの数を動的に決定するステップを含み、アベイラブルビットレートトラフィックコントラクトを受ける各フローのキューパケットの各先頭に対して、前記フローのためのコントラクト指定の最小送出レートに基づいた第1の理論的送出時刻と、アベイラブルビットレートフローのために前記リンクで利用可能な帯域幅のアクティブアベイラブルビットレートフロー毎の割り当てに基づいた第2の理論的送出時刻と、前記フローのためのコントラクト指定のピーク送出レートに基づいた第3の理論的送出時刻とを決定するステップを含み、前記第2及び第3の理論的送出時刻のうち最も早いものを放棄するステップを含み、残りの前記理論的送出時刻のうち最も早い時刻で送出するように非作業維持キューにおいて前記パケットをスケジュールすることを含む。
【0053】
【発明の実施の形態】
A.代表的な環境
図面、特に図1を参照すると、ATMスイッチ21の入力および出力ポートは、典型的には、Utopia2インターフェースを介して1個以上の物理層に結合され、第2の好適なインターフェースを介してスイッチ制御プロセッサモジュール22に接続されている。これにより、スイッチ21は、接続された任意の物理層とデータおよびコントロールセルを交換し、また制御プロセッサモジュール22と制御セルを交換する。この標準的なプラクティスと調和して、通信チャネルは一方向性であり、したがって、双方向通信には一組のチャネルが必要である。
【0054】
スイッチ21は、入力キューからVC毎出力キューへデータおよび制御セルをスイッチングするために、スイッチングファブリック24、ファブリック制御モジュール25およびリザベーションリング26を含んでいる。これらのキュー中のセルはデータメモリ27中のデータパスに記憶され、これらの入力および出力キューはキュー制御モジュール28によって管理される。典型的には、データメモリ27は、最大で約12000セルを記憶できる容量である。データおよび制御セルフローのコネクションレコードは、制御プロセッサモジュール22へのルーチングのための、レート基準エンジン/トラフィックマルチプレクサ31によって捕らえられる所定の形式の制御セルと共に制御メモリ29内の制御パス中に記憶される。制御RAM29は、最大で約8200のコネクションレコードと64Kのセルレコードを記憶できることが好ましい。制御プロセッサモジュール22とスイッチ21との間の相互作用は本発明の範囲を越えているので、本明細書では記載しない。しかし、ATMスイッチの設計に詳しい人であれば、制御プロセッサは主にコネクションの確立および終了、並びOAM(Operation and Maintenance)機能を実施する責任がある。
【0055】
スイッチ21のデータパスは所定のレート、例えば40MHzで同期的にクロック動作される。しかし、従来の同期パイプライン設計のプラクティスに合わせ、このクロック信号の位相は、一つのパイプラインのステージから次のステージへと転送される前に落ちつくために適切な時間をデータに与えるために、データ経路に沿った異なった点で異なった量だけ(図示しない手段により)遅延される。
【0056】
標準的なプラクティスに従い、デスティネーションと通信することを望むソースは、スイッチ21が存在するATMネットワークとの折衝を、ネットワークに対してSETUPメッセージを送ることによって開始する。このメッセージは、デスティネーションを識別し、要求されたコネクションのための関連トラフィックパラメータの全てを明示的または黙示的に指定する。もしネットワークが、これらのトラフィックパラメータ(または、ソースが受け入れることを希望しているパラメータの変形版)によって定義されるトラフィックコントラクトに委ねるための準備ができている場合には、ネットワークはSETUPメッセージをデスティネーションへ送る。そして、デスティネーションが、トラフィックコントラクトの条件に従ってソースからメッセージトラフィックを受信する準備ができていれば、デスティネーションはCONNECTメッセージをソースに返す。このCONNECTメッセージは、トラフィックコントラクトに適合するセルフローのための指定された仮想パス(VP)内の指定された仮想回線(VC)上にコネクションが確立されたことを確認するものである。ITU−T勧告0.2391およびATMフォーラムUNI4.0仕様を参照のこと。これらの信号伝達プロトコルを発生させることなく、供給することにより「永久」仮想コネクションを確立できる。
【0057】
コネクションが確立された後データセルが流れ始める。図2に示すように、セルの形は、スイッチ21が行う動作のためにスイッチ21を通過するにつれ変化する。マルチキャスティングのためにセルを複写してもよいが、下記の議論は、不必要に複雑になることを避けるためにユニキャストの動作に限定する。
【0058】
図2に示すように、スイッチ21が受信する各上りのセル41は、VPインデックスとVCインデックスを含むヘッダを有している。これらのインデックスは、コネクションの一つのホップについての固有アドレスを定義するために組合わさる。コネクションは複数のホップから構成することができ、したがって次のフープのためのVPおよびVCインデックスは、図2において42で示されているように、スイッチ21を通過する時にセルのヘッダーに書き込まれる。
【0059】
スイッチ21は、関連するフローのためのコネクションレコードが存在する制御RAM29内のアドレスを計算するために上りのセル(図2の41)のVPおよびVCインデックスを採用する。典型的には、このコネクションレコードは、フローがスイッチ21から出ていく出力ポート(即ち、スイッチレベルでのデスティネーション)を認識するためのビットベクトル、粒状の優先権スケール(granular priority scale)上でのフローの相対的な優先順位を識別するための優先権インデックス、およびスイッチ21内のフローを唯一的に識別する回線インデックス(「Circuit Index」)を含んでいる。図2において43で示されているように、これらのコネクションパラメータはセルヘッダ内に書き込まれる。そして、セルがデータRAMメモリー29へ書き込まれ、セルに対してのポインタが複数のFIFO入力キューの適切な一つとリンクされる。なお、キューの選択は関連するフローの優先順位に基づいて行われる。
【0060】
入力キュー内のキューセルのヘッドの相対的な優先順位が、各セルタイムの間に調べられ、最も高い優先順位を有するキューセルのヘッドが、次のアービトレーション(arbitration)セッションの間のアービトレーションのために選択される。さらに、キューセルの優先順位のより低いヘッド(即ち、キューセルの任意の選択されていないヘッド)の優先順位は(図略の手段により)一定量ずつ増加され、これによって、次のアービトレーションセッションにおけるアービトレーションのためにセルが選択される可能性を増加させる。したがって、優先権が高い入力キューは、優先権が低いキューよりも単位時間当たりのスループットが大きいが、優先権が低いキューは、キューセルのヘッドの優先順位が時間とともに増加するため、遅れが制限される。
【0061】
各アービトレーションサイクルは、スイッチ21の1セル時間を必要とし、したがってアービトレーションのために選択されるセルのルーテング情報は、アービトレーションに勝ったセルまたはセル群のペイロードがスイッチングファブリック24へ放出されるより1セル時間だけ前にリザベーションリング26に供給される。即ち、図2において44で示すように、リザベーションリング26とスイッチファブリック24によって受信されるセルは、次のアービトレーションサイクルのためのセル(即ち「現在セル」)のヘッダから構成されており、これに前のアービトレーションサイクルでアービトレーションに成功したセル(即ち「前のセル」)のボディーまたはペイロードが続いている。したがって、セルボディーがファブリック24に到着すると、これらのセルをそれらの出力ポートデスティネーションにそれぞれ送るためにファブリックがファブリック制御装置25によって既に構成されている。
【0062】
図示の実施の形態では、アービトレーションおよびルーチングのためにセルが4ビット幅のニブルに分解される。この後(スイッチングプロセスのテストを行うために提供されるであろう「アイドルセル」を除き)、セルが再び組み立てられ、(a)スイッチ21の適切な出力ポートへの時間的にスケジュールされた転送のため、および/または(b)制御プロセッサモジュール22への転送のために、データパス、制御パス、またはその両方においてキューに入れられる。スイッチ21の出力ポートへのセルの時間的にスケジュールされた転送が本発明の中心であり、以下これについて更に述べる。一方、セルの分解と再組立、テストプロセス、および制御プロセッサ22のRM(Resource Management)およびOAM(Operation and Maintenance)セルとの相互作用は深く考える必要のない付随的なトピックである。
【0063】
図3を参照すると、スイッチ21はスイッチングファブリック24の出力側、即ち送信側でファンアウトしていることが分かるであろう。したがって、スイッチ21の一つの出力チャネルのみが示されているが、このチャネルは他のチャネルを代表するものであることが分かるであろう。
【0064】
図示のように、スイッチングファブリック24からのセルボディーおよびそれらの関連する回線インデックスを受け入れるためにフィルセルモジュール51を設けることが好ましい。スイッチングファブリック24の出力側の「有効セル時間」は、通常のセルタイムの「k」増速ファクターに対する割合によって決定される。したがって、例えば、もし通常のセル時間が113クロックサイクル/セルである場合、スイッチングファブリック24の出力側での有効セル時間は、k=2であれば、56.5サイクル/セルである。
【0065】
有効なセルが受信された時、フィルセルモジュール51は、典型的に、セルをデータメモリ27へ書き込むためのデータ構造についてのリンクされ番号の付けられたフリーリスト52から出力されるセル構成を用いる。このため、フィルセルモジュール51は、要求に応じて、フリーリスト52の一番上からセル構造を読み出すためのフッチステートマシーン53を含んでいることが好ましい。これにより、フィルセルモジュール51は、セルフロー制御ユニット55にセルの到着を知らせるために送る「到着」メッセージへ、セルについての回線インデックスと、データメモリ27内のセルの位置についてのポインタを挿入することができる。回線インデックスにより、フロー制御ユニット55は、制御メモリ29内のコネクションレコードからセルが属するVCまたはフローを突き止めることができる。そして、セルフロー制御ユニット55はフローのトラフィック成形状態をチェックできる。フロー制御ユニット55がこれらの制御セルを認識し、またそれらがデータパス、制御パス、またはその両方においてキューに入れられているか否かを決定できるようにするためにOAM/RMリコグナイザ57を設けるのが有利である。
【0066】
トラフィックコントラクトコンプライアントフローのセルのためのメモリポインタは、セルフロー制御ユニット55がキュー制御ユニット58へ送る「addCell」メッセージに応答してVC毎のキュー内に入れられる。各addCellメッセージは、それが属するセルおよび関連するフローまたはVCのための回線インデックスを識別する。また、addCellメッセージは、セルがデータパス、制御パス、またはその両方においてキューに入れられるべきか否かを示す。セルが適切にキューに入れられると、新たにキューに入れられたセルを、それが属するVCについて将来行われるレート成形演算の間に考慮すべきことをフロー制御ユニット55に通知するために、キュー制御ユニット58がフロー制御ユニット55に「added」メッセージを返す。
【0067】
キュー制御ユニット58が、それぞれのキューにセットされている深さ制御の制限に関するVC毎キューの長さをモニターするのが有利である。これにより、制御ユニット58は、VC毎のキューが過剰に長くなった時、ABRフローに対してのコンゲッション制御動作を開始することができる。また、制御ユニット58は、トラフィックコントラクトを越えているフローを特定し、そのような適合しないフローのセルを削除するかまたは記録するための適切なポリーシング機能(図示略)を動作させることができる。
【0068】
アドミッションコントローラ61は、キュー制御ユニット58から返される「added」メッセージを監視し、スケジューラ62に、空でないVC毎キューのためのキューセルのヘッドがスケジュールされた時刻に転送されるようにカレンダキュー63上に組み入れる。スケジューラ62は、カレンダキュー63上へのキューセルのヘッドの組入れを、それらのためにスケジューラ62が計算するそれぞれの仮想終了時刻VT(f,j+1)(または「仮想開始時刻」)に従って行うために、VC毎の仮想クロックを採用している。上記C.1を参照。
【0069】
カレンダキュー63は、スケジュールされたセルがスケジュールされた時刻よりも前に伝送のために放出されることを阻止するため、システムの「実時刻」と「現在時刻」を追跡する。即ち、スケジューラ62とカレンダキュー63は、ストールド仮想クロックを提供し、このため伝送することがスケジュールされたセルは、システムの実時刻が各々の伝送時刻に達した時のみに、伝送のために放出される。図示のように、カレンダキュー63によって伝送のために放出されたセルを有するコネクションは、伝送リスト65上の伝送の準備ができているセルを有するコネクションのリンクリストにリンクされる。
【0070】
カレンダキュー63はフロー制御ユニット55に対して、任意の所定のコネクション上での伝送のためにセルを放出するか否かを知らせる。すると、フロー制御ユニット55は、もし所定のコネクションのためのVC毎のキュー上の次のセル(もしあれば)についてのリファレンス(即ち、キューセルの新しいヘッド)を要求し、アドミッションコントロール61に、このリファレンスをスケジューリングのためにスケジューラ62に対して認めるべきことを通知する。これにより、アドミッションコントロール61はカレンダキュー63との閉ループ通信に効果的に関与し、スケジューリングを認めたキューセルのヘッドが、VC毎のキュー内の他の全てのセルの除外に対して認められることを確実にする。したがって、カレンダキュー63は、一つ以上の時間制限されたタイムホイール、または「タイムライン」66を採用することによって実施できる。これらのタイムホイールのタイムスパンは、少なくともシステムがサポートするように設計された最低周波数のフローの周期と同じ程度にして時間ラップ(time wrap)によって引き起こされる曖昧さを阻止しなければならず、好ましくは2倍とし、これにより相対時刻を2の補数演算を使用して比較できる。
【0071】
B.固定ビット長データ転送リミットのフローの成形による指定されたピークフローレート
図4を参照すると、ストールド仮想クロック伝送制御は、出力待機ルーチングメカニズムからのATMセルなどの固定ビット長データ転送単位の時間多重フローを、DBR/CBR ATMサービスのためのPCRなどの指定されたピークのデータ単位のフローレートに成形するのに非常に適していることが分かる。前述したように、所定の出力ポートに送られるフローのデータ転送単位は、送りだされた後、フロー毎キューに入れられる。これらのキューの先頭にあるデータ転送単位は、スケジューラ62によってタイムラインカレンダキュー63に組み込むことがアドミッションコントローラ61によって認められる(他の全ての転送単位は除いて)。そして、スケジューラ62は、これらのキュー転送単位のヘッドに関してフロー毎仮想クロック演算を行い、それらの各々の理論的終了時刻VT(f,j+1)または各々の理論的開始時刻に従ってカレンダキュー63から放出するようにスケジュールする。
【0072】
実時刻は、成形された時間多重出力トラフィックが出力リンク71の帯域幅を本質的に満たすことができる速度でタイムライン63上で増加させるのが有利である。思い出されるように、スケジューラ62が各フローのキューメンバーのヘッドをマップ化することができる分解可能なタイムスロットの最大数は、これらのフローの最低許容周波数に対する最高許容周波数の比に基づく。したがって、実時刻がバケット毎にセルレートの論理的倍数で増加される。
【0073】
タイムライン63についてのリファレンスである現在の実時刻より前であるか等しい時刻を表すタイムスロットに存在するデータ転送単位は、伝送のために選ばれる資格が有り、したがって、前述のようにして転送リスト65にリンクされる。しかし、タイムライン63の遅いタイムスロットに関連するタイムスロットに存在するデータ転送単位は、システムの実時刻がこれらのタイムスロットに到達するのに充分なだけ進むまで待ちの状態になる。ロールオーバによる曖昧さを避けるために、タイムライン63は、以前にスケジュールされたデータ転送リミットに対する全てのリファレンスを、次のスキャンを見越して後からスケジュールされた転送単位に対しての任意のリファレンスが挿入される前に各タイムスロットから除去される。
【0074】
上記の構成は、適合するDBR/CBR ATMフローをそれらのトラフィックコントラクトによって指定されるPCRに効果的に成形するが、これらのフローのセル遅延変動(CDV)をそれらのトラフィックコントラクトのτPCR パラメータに適合させる上での助けにはならない。
【0075】
C.相対CDVを最少化するための複数優先レベル
本発明によれば、異なった周波数のフローによってATMスイッチの出力ポートなどの多重化ポイントへ供給されるデータ転送単位に優先権を与え、周波数が高いフローのデータ転送単位に、これと衝突する可能性がある周波数の低いフローのデータ転送単位よりも高い伝送優先順位が与えられる。図3に示すように、この伝送優先権は、ストールド仮想クロックスケジューリングメカニズム63などによるスケジュールが許可されたデータ転送単位を、これらのデータ転送単位が属するフローの周波数に基づき、優先順位で並べられた複数のタイムライン66a−66eまたは出力FIFOキューの一つまたは他のものへと導くことによって実施される。例えば、ATMスイッチの場合、5つの異なった周波数依存/サービス種類依存の出力優先順位で実施することが推奨される。この優先順位には、(1)出力リンクの最大レートの少なくとも1/16の折衝された出力レートを有するフローからのセルに対しての最も高い優先順位、(2)出力リンクレートの1/16〜1/256の範囲の折衝された出力レートを有するフローからのセルに対しての2番目の優先順位、および(3)出力リンクレートの1/256〜1/4096の範囲の折衝された出力レートを有するフローからのセルに対しての3番目の優先順位が含まれる。低い2つの優先権は、ゼロでない折衝されたMCRレートを有するABRコネクションに対して、およびMCRレートが零のURBコネクションとABRコネクションに対してそれぞれ設定するのが好ましい。
【0076】
後から分かるように、本発明は、周波数の低いフローのCDVを実質的に増加させることなく、周波数の高いフローのCDVを効果的に減少させる。一般論として、許容できるCDVは、フローの折衝されたレートに依存して変化する。例えば、100個のセルタイムのCVDは、予期されるセル10個あたり1個の出力間隔に関しては非常に大きいが、もし折衝された出力間隔がセル2029個に対して1個にすぎない場合には一般的に問題にならない。
【0077】
周波数が異なるフローのデータ転送単位またはセルの伝送をスケジュールするためにカレンダキューメカニズムを採用する場合、高周波数で優先順位の高いフローは、許容可能な低いCDVを達成するようスケジュールされ、かつ単一のセルタイムの精度に分解される必要があるが、低周波数/低優先順位のフローは、例えば、16セルタイムの精度により粗く分解できる。これは、カレンダキュー63上のタイムスロットの数を減少できることを意味する。これにより、周波数の低いフローのキューセルのヘッドのスケジューリングには一般に必要でない精度を多少犠牲にして、カレンダキュー63を実現するのに必要なメモリの量を減少できる。
【0078】
名目上相違する一定周波数のフロー間での多重化ポイントにおける伝送の衝突の問題を解消するために提供される本発明による周波数に基づく優先順序付与の技術は、そのような多重化ポイントへセルまたはその他のデータ転送単位を供給するためのフロー毎出力キューを維持する作業を有するアプリケーションなど、フローの相対ジッターを減少させるための多くの異なったアプリケシーョンにおいて採用できる。
【0079】
D.ソース・ツー・デスティネーションABR制御ループを有するネットワークにおけるABRサービスについてのMCRおよびPCRパラメータのトラフィック成形
思い出されるように、標準ABRトラフィックコントラクトは明示的または黙示的に指定されたPCRおよびMCRパラメータを予期しており、MCRは零でもよい。GCRA(1/MCR,τMCR )に適合するABRフローは有効であり提供される資格があるが、ネットワークはそのフローに対して、それに許可された帯域幅を与えていない。これに対し、GCRA(1/PCR,τPCR )に違反するフローは適合しないものである。したがって、ATMスイッチ21などによってネットワークまたはネットワーク要素の出力に送られるABRコネクションまたはフローは、(1)MCRが零でない保証(non-zero MCR guarantee)を有するABRフローは、これらの保証を効果的に満足させるための適切な出力帯域幅を受け入れること、および(2)ABRの何れもそのような出力においてそれらのPCRコミットメントに違反しないことを確実にするよう成形することが有利である。複数の多重化ポイントを有するネットワークでは、この成形を多重化ポイントの各々で行うことが有用である。
【0080】
図4は、ABRフローまたはVCコネクションをネットワークまたはネットワーク要素の出力においてそれらのトラフィックコントラクトに適合させるために成形する一つの技術を示している。図示のように、それぞれのフローが出力サービスを要求するレートを監視し、最初に85においてフローがGCRA(1/MCR,τMCR )に適合しているか否かを判断し、86においてGCRA(1/MCR,τMCR )に適合していないフローがGCRA(1/PCR,τPCR )に適合しているか否かを判断する。これらの一連のテスト85と86の結果を反映する制御信号がスケジューラ62およびそれに関連するステアリングロジック87にフィードバックされ、各フローのデータ転送単位(例えば、セル)が出力に供給される速度に対して適切なレート成形調整が行えるようにする。後で分かるように、この要求される状態は、全てのABRVフローが、GCRA(1/MCR,τMCR )に適合しておらず(またはかろうじて適合している)、かつGCRA(1/PCR,τPCR )に偽/適合であることである。なぜなら、これらのアルゴリズムは、それぞれ最低および最大の許容フローレートについてテストするからである。
【0081】
より詳しく述べると、GCRA(1/MCR,τMCR )に適合するフローは、そらのMCR保証を満たすのに必要な出力帯域幅を受け取っていないであろう。したがって、そのようなフローが85において識別されたとき、スケジューラ62とそのステアリングロジック87は、その保証されたMCRを幾分上回った速度での出力のために比較的優先順位が高いストールド仮想クロックカレンダキュー88上にそのフローのデータ転送単位(例えば、セル)に対しての引き続いて受信されるリファレンスをスケジュールするためにセットアップされる。例えば、これらの引き続いて受信されるセルまたはパケットのリファレンスは、所定の加速ファクタによってフローについてのMCRを乗算して決定される速度での出力のためにカレンダキュー88上に組み込まれる。これにより、ネットワークは、これらの追加の多分「遅れている」フローに、それらのMCR保証を満足するのに必要な追加の出力帯域幅を与える。
【0082】
GCRA(1/MCR,τMCR )非適合ABRフローは、それぞれ許容できる程度に低いかまたは許容できない程高いGCRA(1/PCR,τPCR )適合または非適合レートでの出力サービスを要求しているか否かを判断するために86において更にテストされる。このテストの結果が他の制御信号によって捕らえられ、スケジューラ62とそのステアリングロジック87にフィードバックされ、これらのGCRA(1/MCR,τMCR )非適合フローに対するその後に受信されるリファレンスを優先順位が低いキュー89上に速度に感応してキューに入れるためにスケジューラ62とそのステアリングロジック87をセットアップする。即ち、86においてGCRA(1/PCR,τPCR )適合であることが分かったフローについてのその後に受信されるリファレンスは、MCR保証を有するABRフローについての伝送リストの最後に付けられる。何故なら、それはラウンドロビンの順番で提供されるからである。これに対し、86においてフローがGCRA(1/PCR,τPCR )非適合であることが分かった場合には、そのフローについてのその後に受信されるリファレンスは、そのフローについてのPCRに従い、非作業維持型ストールド仮想クロックカレンダキュー89上にスケジューラ62によって組み込まれ、これによりPCRリミットをフローに対して課す。
【0083】
より一般的には、図4の実施の形態は下記のABRトラフィック成形アルゴリズムを実施することは明らかであろう:
もしGCRA(1/MCR,τMCR )適合であれば、MCR*加速係数の速度で優先順位の高いキューに入れ、
そうでなく、もしGCRA(1/PCR,τPCR )適合であれば、優先順位の低い作業維持型のキューに入れ、
そうでなければ、PCR出力間隔に基づき、優先順位の低い非作業維持型のキューに入れる。
【0084】
しかし、類似または異なる原理に基づく代替手段を使用できることは明らかである。
【0085】
例えば、図5に示すように、一つの魅力のある代替手段は、85と86(図4)においてGCRA(1/MCR,τMCR )適合でかつGCRA(1/PCR,τPCR )適合であることが見出されたフローのデータ転送単位、即ちセルに対するリファレンスを、(1)MCRスケジューリング間隔で優先順位の高いカレンダキュー88と、(2)優先順位の低いキューの作業維持領域との両方に入れることである。これは「競合」状態を作りだす。何故なら、そのような二重にキューに入れられたリファレンスの一つのインスタンスがキューの何れかにおいてサービスのために取り出される度に、デリンカー91は他のキューからそのリファレンスの他のインスタンスを除去するからである。これは、トレランスτに関してのより厳しい限界が維持されるであろうことを意味する。この変形例でのトラフィック成形アルゴリズムは:
キューへ入れるとき、
速度MCRで優先順位の高いキューに入れ、
もしGCRA(1/PCR,τPCR )適合であれば、優先順位の低い作業維持型のキューに入れ、
そうでなければ、PCR出力間隔に基づき、優先順位の低い非作業維持型のキューに入れ、
キューから出すとき、
もし優先順位の高いキューから出すのであれば、優先順位の低いキューからリンクを外し、そうでなければ、優先順位の低いキューからリンクを外す。
【0086】
図6は、ABRコネクションまたはフローを成形するための更に他の実施の形態を示す。この実施の形態では、MCRが零でないことの保証を有するMCR非適合ABRフローの各々に対して提供される出力帯域幅が、出力リンク(即ち、ラインインターフェースの転送側)のABRセル間の平均間隔とABR「レディーキュー」の現在の長さとに基づいて動的に調整される。このABR「レディーキュー」の現在長Lenは、93においてABR伝送リスト65eおよび65f上の作業維持キューの長さを測定することで判断される。一方、カレンダキュー上のABRセル間の平均間隔Sは、任意の非ABRフローに対して許可が与えられた後でABRフローが利用できる帯域幅を分割することによってリンクの割合として決定できる。これらの非ABRフローによって要求される帯域幅は、94において、非ABRフローのためのエントリーを伝送リスト65に提供するのに必要な全体的な帯域幅を計算することによって決定される。
【0087】
例えば、もし94において、出力リンクの帯域幅の50%がABRフローのために利用できると判断された場合、当然その時の出力リンク上のABRセルまたはデータ転送単位の間の平均間隔Sが2セルタイムとなる。この情報とABR「レディーキュー」の計算長Lenとにより、スケジューラ62に、非作業維持型カレンダキュー89上にこれらのフローについての到着するリファレンスを下記の各出力間隔Tt でスケジュールさせることによりMCR非適合ABRフローのサービスを最適化できる。
【0088】
Tt =Min(St ,Max(Pt ,R)) (3)
但し、R=予測ラウンドロビンABR
サービスタイム(R=現時刻+S*Len)、
Pt =フローtの次のセルのための最も早いサービスコントラクトコンプライアントデパーチャー(Pt =現時刻+1/PCR)、
St =フローtの次のセルのための最も遅いサービスコントラクトコンプライアントデパーチャー(St =現時刻+1/MCR)
である。
【図面の簡単な説明】
【図1】本発明を使用することが有利なATMスイッチの単純化したブロック図である。
【図2】図1に示すスイッチを横切る間にATMセルがとることが好ましい種々の形を追跡した図である。
【図3】図1に示すチップの出力側、即ち送信側における代表的なチャネルのより詳細なブロック図である。
【図4】本発明のストールド仮想クロックカレンダキューの実施を示す概略図である。
【図5】本発明の他のストールド仮想クロックカレンダキューの実施を示す概略図である。
【図6】本発明の更に他のストールド仮想クロックカレンダキューの実施を示す概略図である。
【符号の説明】
58 キュー制御ユニット
62 スケジューラ
63 カレンダキュー
66 タイムライン
87 ステアリングロジック
88 優先順位の高いカレンダキュー
89 優先順位の低いカレンダキュー
Claims (3)
- パケット交換通信システムにおいて、コントラクトを含み、それぞれのフローの個々のネットワークトラフィックコントラクトに実質的に適合するように時間多重フローのパケットを連続的に送出するトラフィック成形装置であって、前記コントラクトは、それぞれのピークパケット送出レート及び前記フローのうちいくつかの関連ピークレートトレランスを指定するとともに、相互排他的カテゴリー、即ち、それぞれがコントラクト指定の関連最小レートトレランスを有する非ゼロ最小パケット送出レートを有するカテゴリーAフローと、ゼロパケット送出レートを許容するトラフィックコントラクトを有するカテゴリーBフローのうちの1つに前記フローの各々を分類し、前記トラフィック成形装置は、
待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローの未決パケットを編成するキューイングメカニズムを含み、
前記キューイングメカニズムに結合され、送出のために前記アクティブフローのパケットをスケジュールするスケジューリングメカニズムを含み、前記スケジューリングメカニズムは、相対的に優先順位が高い非作業維持カレンダキューと、少なくとも1つの相対的に優先順位が低い作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューに相対して優先順位が未決定の他の非作業維持キューとを含み、
前記スケジューリングメカニズムは、(i)前記優先順位の高い非作業維持カレンダキューにおいて、第1の所与のフローのための指定された最小送出レートに対してトレランスを越えるレートで前記第1フローのパケットが送出されている際に、前記第1フローのためのコントラクト指定の最小送出レートを越えるレートで送出するように、(ii)前記他の非作業維持カレンダキューにおいて、前記第1フローのパケットが前記第1フローの指定されたピーク送出レートに対してトレランスを越えるレートで送出されている際に、前記第1フローのための指定されたピーク送出レートとほぼ同一のレートで送出するように、(iii) 前記作業維持キューにおいて、前記第1フローのパケットが前記第1フローのトラフィックコントラクトに従って送出されている際に、選択した連続的サービス戦略に従って送出するようにあらゆる所与のカテゴリーAのパケットをスケジュールし、
前記スケジューリングメカニズムは、(iv)前記他の非作業維持カレンダキューにおいて、第2の所与のフローのパケットが前記第2フローのための指定されたピーク送出レートに対してトレランスを越えるレートで送出されている際に、前記第2フローのための指定されたピーク送出レートとほぼ同一のレートで送出するように、(v) 前記作業維持キューにおいて、前記第2フローのパケットが前記第2フローのトラフィックコントラクトに従って送出されている際に、前記選択した戦略に従って送出するように、あらゆる所与のカテゴリーBのパケットをスケジュールする、
トラフィック成形装置。 - パケット交換通信システムにおいて、コントラクトを含み、それぞれのフローの個々のネットワークトラフィックコントラクトに実質的に適合するように時間多重フローのパケットを連続的に送出するトラフィック成形装置であって、前記コントラクトは、前記フローのうちいくつかにそれぞれの許容ピークパケット送出レートを委ねるとともに、相互排他的カテゴリー、即ち、それぞれの非ゼロ許容最小パケット送出レートが委ねられるカテゴリーAフローと、ゼロパケット送出レートを許容するトラフィックコントラクトを受けるカテゴリーBフローのうちの1つに前記フローの各々を分類し、前記トラフィック成形装置は、
待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローのパケットを編成するキューイングメカニズムを含み、
前記キューイングメカニズムに結合され、送出のために前記アクティブフローのパケットをスケジュールするスケジューリングメカニズムを含み、前記スケジューリングメカニズムは、相対的に優先順位が高い非作業維持カレンダキューと、少なくとも1つの相対的に優先順位が低い作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューに相対して優先順位が未決定の他の非作業維持キューと、前記優先順位が高いキュー及び優先順位が低いキューからの監視送出に結合して前記優先順位が高いキュー及び優先順位が低いキューにおいてスケジュールされたパケットを選択的にスケジュールしない制御メカニズムを含み、
前記スケジューリングメカニズムは、(i) それぞれのフローのための最小レート委託を越えるレートで送出するように前記優先順位の高いカレンダキューの各フローのパケットをスケジュールし、かつ(ii) 所定の作業維持キューから出す戦略に従って送出するように前記パケットを前記作業維持キューに入れることによってあらゆるカテゴリーAフローのパケットを準備し、従ってこれらのカテゴリーAフローのパケットの競合状態を作り出し、前記制御メカニズムは、各パケットが前記優先順位の高いキュー及び前記作業維持キューのうちの1つによって送出に達する際に、このパケットを前記キューの他のパケットの中から取り出すことによって前記遅れているカテゴリーAフローのパケットの前記競合状態を解決し、
前記スケジューリングメカニズムは、それぞれのフローに委ねられる許容ピーク送出レートを越えるレートで送出されているあらゆるカテゴリーAフロー及びカテゴリーBフローのパケットを、それぞれのフローに委ねられるピーク送出レートとほぼ同一のレートで送出するように前記他の非作業維持カレンダキューにおいてスケジュールし、
前記スケジューリングメカニズムは、それぞれのフローのためのコントラクトによる委託に適合するレートで送出されているあらゆるカテゴリーBフローのパケットを、前記作業維持キューから出す戦略に従って送出するように前記作業維持キューに入れる、
トラフィック成形装置。 - それぞれのフローのための個々のトラフィックコントラクトに実質的に適合するように、複数の時間多重フローの固定ビット長パケットを既知の帯域幅のリンクに連続的に送出するトラフィック成形プロセスにおいて、前記フローの少なくともいくつかを、前記いくつかのフローのためにゼロよりも大きいそれぞれのピークレート及び最小パケット送出レートを指定するそれぞれのアベイラブルビットレートトラフィックコントラクトに成形するルーチンであって、前記ルーチンは、
待ち行列の順番の先頭にある最も古い未決のパケットに従ってそれぞれの待ち行列中の前記いくつかのフローを含むアクティブフローのパケットを編成するステップを含み、
アベイラブルビットレートトラフィックコントラクトを有するフローのために前記リンクで利用可能な帯域幅を前記既知の帯域幅のパーセントとして動的に決定するステップを含み、
アベイラブルビットレートトラフィックコントラクトを有するアクティブフローの数を動的に決定するステップを含み、
アベイラブルビットレートトラフィックコントラクトを受ける各フローのキューパケットの各先頭に対して、前記フローのためのコントラクト指定の最小送出レートに基づいた第1の理論的送出時刻と、アベイラブルビットレートフローのために前記リンクで利用可能な帯域幅のアクティブアベイラブルビットレートフロー毎の割り当てに基づいた第2の理論的送出時刻と、前記フローのためのコントラクト指定のピーク送出レートに基づいた第3の理論的送出時刻とを決定するステップを含み、
前記第2及び第3の理論的送出時刻のうち最も早いものを放棄するステップを含み、
残りの前記理論的送出時刻のうち最も早い時刻で送出するように非作業維持キューにおいて前記パケットをスケジュールすることを含む、
ルーチン。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2064496P | 1996-06-27 | 1996-06-27 | |
US020644 | 1996-06-27 | ||
US08/872,753 US5926459A (en) | 1996-06-27 | 1997-06-11 | Rate shaping in per-flow queued routing mechanisms for available bit rate service |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10190691A JPH10190691A (ja) | 1998-07-21 |
JP3813698B2 true JP3813698B2 (ja) | 2006-08-23 |
Family
ID=37051932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17261797A Expired - Fee Related JP3813698B2 (ja) | 1996-06-27 | 1997-06-27 | トラフィック成形装置及びルーチン |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3813698B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5297337B2 (ja) * | 2009-10-27 | 2013-09-25 | 本田技研工業株式会社 | サービス処理ステム及びサービス処理方法 |
-
1997
- 1997-06-27 JP JP17261797A patent/JP3813698B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10190691A (ja) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3813696B2 (ja) | パケット交換通信システム | |
JP3813695B2 (ja) | パケット交換通信システム | |
JP3813697B2 (ja) | トラフィック成形装置 | |
US5926459A (en) | Rate shaping in per-flow queued routing mechanisms for available bit rate service | |
US6038217A (en) | Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops | |
US6064651A (en) | Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service | |
US6519595B1 (en) | Admission control, queue management, and shaping/scheduling for flows | |
EP1111858B1 (en) | A weighted round robin scheduling engine | |
US6442164B1 (en) | Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic | |
US6717912B1 (en) | Fair discard system | |
EP0981228A2 (en) | Two-component bandwidth scheduler having application in multi-class digital communication systems | |
EP0810809A2 (en) | A scheduling method and apparatus for supporting ATM connections having a guaranteed minimum bandwidth | |
EP0817433B1 (en) | Packet switched communication system and traffic shaping process | |
EP1111851B1 (en) | A scheduler system for scheduling the distribution of ATM cells | |
EP0817431B1 (en) | A packet switched communication system | |
JP3813698B2 (ja) | トラフィック成形装置及びルーチン | |
EP0817435B1 (en) | A switch for a packet communication system | |
JP3813700B2 (ja) | パケットの時間多重連続フロー成形方法 | |
EP0817434B1 (en) | A packet switched communication system and traffic shaping process | |
JP3813699B2 (ja) | パケット通信システム用スイッチ | |
EP0817432B1 (en) | A packet switched communication system | |
US6529474B1 (en) | Shaping algorithm | |
JP3177188B2 (ja) | パケットの送受信方法及び装置 | |
EP1111854A2 (en) | Minium and maximum modes for the transmission of ATM data cells through network channel banks in a communications system | |
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: 20040611 |
|
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: 20060502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060601 |
|
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: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |