JPH10190691A - Traffic forming device and routine - Google Patents

Traffic forming device and routine

Info

Publication number
JPH10190691A
JPH10190691A JP17261797A JP17261797A JPH10190691A JP H10190691 A JPH10190691 A JP H10190691A JP 17261797 A JP17261797 A JP 17261797A JP 17261797 A JP17261797 A JP 17261797A JP H10190691 A JPH10190691 A JP H10190691A
Authority
JP
Japan
Prior art keywords
flow
queue
rate
flows
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.)
Granted
Application number
JP17261797A
Other languages
Japanese (ja)
Other versions
JP3813698B2 (en
Inventor
Joseph B Lyles
ビー.ライルズ ジョセフ
Landis C Rogers
シー.ロジャーズ ランディス
Christopher J Kappler
ジェイ.カプラー クリストファー
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.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/872,753 external-priority patent/US5926459A/en
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH10190691A publication Critical patent/JPH10190691A/en
Application granted granted Critical
Publication of JP3813698B2 publication Critical patent/JP3813698B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a rate forming device for a flow-based standby routine mechanism by preparing a queuing mechanism which exclusively sorts the peak packet sending rates and the flows from each other and organizes an undecided packet of active flows included in a queue and also a scheduling mechanism for the transmission. SOLUTION: The flows are sorted into the category A flows which have the non-zero minimum packet sending rates having the contact designated relative minimum rate tolerance and the category B flows which have the traffic contracts that allow the zero packet sending rates respectively. A scheduling mechanism includes a non-work maintenance calendar queue having a relatively high priority, a work maintenance queue having a relatively low priority and other non-work maintenance queues having the undecided priorities with respect to the said two queues. Then the sending process strategy of every queue is given to the scheduling mechanism.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、パケット交換式通
信ネットワーク、特に指定されたトラフィック記述子に
適合するために、そのようなネットワークまたはネット
ワーク要素内のキューイングポイントにおいて時間多重
パケットのフローを生じさせるトラフィック成形に関す
る。
The present invention relates to a packet-switched communication network, and more particularly, to creating a flow of time-multiplexed packets at queuing points in such networks or network elements to conform to specified traffic descriptors. Related to traffic shaping.

【0002】[0002]

【従来の技術】A.トラフィックコントラクト/定義 パケット交換式通信ネットワーク上で現在動いている殆
どのアプリケーションは、ネットワークから偶然得る帯
域幅が如何なるものであっても満足して動作できる。何
故なら、それらのアプリケーションでは「弾性」帯域幅
が条件となっているからである。これらのアプリケーシ
ョンをサポートするこの種のサービスは、インターネッ
トの世界では「ベストイフォート」サービスとして、ま
たは広帯域ISDN/ATMの世界では「アベイラブル
ビットレート」(ABR)として知られている。
2. Description of the Related Art Traffic Contract / Definition Most applications currently running on packet-switched communication networks can operate satisfactorily with whatever bandwidth accidentally comes from the network. This is because those applications require "elastic" bandwidth. This type of service that supports these applications is known as the "best effort" service in the Internet world or "Available Bit Rate" (ABR) in the broadband ISDN / ATM world.

【0003】しかし、拘束(bounded)ジッター、即ち
拘束パケット遅延変動(一般にATMの関連ではセル遅
延変動と呼ばれる)を提供するネットワークサービスに
対しての要求が増している。例えば、この種のサービス
は、回路エミュレーションおよび映像などのリアルタイ
ムなアプリケーションにおいて必要となる。インターネ
ットがこのような要求に答えるか否かまたどの様にして
応えるかは明確ではないが、広帯域ISDN/ATMの
分野では、ユーザー−ネットワーク折衝型トラフィック
コントラクトの概念を導入することで応えている。
However, there is an increasing demand for network services that provide bounded jitter, or bounded packet delay variation (generally referred to as cell delay variation in the context of ATM). For example, such services are needed in real-time applications such as circuit emulation and video. It is not clear whether or not the Internet will respond to such demands and how it will respond, but in the field of broadband ISDN / ATM it has responded by introducing the concept of a user-network negotiated traffic contract.

【0004】知られているように、ユーザー−ネットワ
ークATMコントラクトは、トラフィックのパラメー
タ、トレランス、およびサービス要求の質などを含むト
ラフィック記述子によって定義される。関連するトラフ
ィックパラメータの各々について適合定義(conformanc
e definition)が特定される。したがって、ATMサー
ビスは、サービスの質(QoS)の目標値と多重方式の
異なる組み合わせをサポートするために、これらのトラ
フィックパラメータとそれらに対応する適合仕様を用い
ることができる。
[0004] As is known, user-network ATM contracts are defined by traffic descriptors, including traffic parameters, tolerances, and quality of service requirements. Conformance definitions (conformanc) for each of the relevant traffic parameters
e definition) is specified. Thus, ATM services can use these traffic parameters and their corresponding conformance specifications to support different combinations of quality of service (QoS) targets and multiplexing schemes.

【0005】部分的にオーバーラップするATMトラフ
ィッククラスは、インターナショナル・テレコミュニケ
ーション・ユニオン(ITU−T)の通信標準化部門
と、ATMフォーラムによって定義されている。幾つか
の例では、本質的に同一の属性(attribute) を有するト
ラフィッククラスに対してこれらの2つのグループは異
なる名称を付けており、下記の名称変換テーブルは現在
使われている等価の対応名称を示す。
[0005] Partially overlapping ATM traffic classes have been defined by the International Telecommunication Union (ITU-T) communication standards department and the ATM Forum. In some examples, these two groups have different names for traffic classes that have essentially the same attributes, and the following name translation tables are equivalent to the currently used equivalent names. Is shown.

【0006】 [0006]

【0007】仮想回線(VC)コネクションまたは仮想
パス(VP)コネクションのためのATMサービスコン
トラクトは、コネクションのサービスレートを記述する
パラメータを複数含むことができる。これには、ピーク
セルレート(PCR)、維持可能(sustainable)セル
レート(SCR)、固有(intrinsic)バーストトレラ
ンス(IBT)、最少セルレート(MCR)が含まれ
る。これらのパラメータの全てが個々のコネクションま
たは個々のサービスのクラスに関連があるわけではない
が、それらがサービスコントラクトの黙示的または明示
的に指定された要素である場合、それらは重視しなけれ
ばならない。VCコネクションが、下記の議論の中心と
なっているが、VPコネクションもそのように特定でき
ることが分かるであろう。ATMコネクションのための
データ転送単位は、通常「セル」と呼ばれる。しかし、
本明細書では、データ転送単位を表すのに時として「パ
ケット」という語が使用されている。これは、「パケッ
ト」という語は、本革新技術のより広い概念の幾つかに
ふさわしいより一般的な用語であるからである。
[0007] An ATM service contract for a virtual circuit (VC) connection or a virtual path (VP) connection can include a plurality of parameters describing the service rate of the connection. This includes peak cell rate (PCR), sustainable cell rate (SCR), intrinsic burst tolerance (IBT), and minimum cell rate (MCR). Not all of these parameters are relevant to individual connections or individual service classes, but if they are implicit or explicitly specified elements of a service contract, they must be respected . Although VC connections are the focus of the discussion below, it will be appreciated that VP connections can be so specified. A data transfer unit for an ATM connection is usually called a "cell". But,
In this specification, the term "packet" is sometimes used to represent a unit of data transfer. This is because the term "packet" is a more general term for some of the broader concepts of the subject innovation.

【0008】ITU−T勧告1.371で指定されたジ
ェネリックセルレートアルゴリズム(GCRA)は、ト
ラフィック記述子との適合についてパケットまたはセル
のフローをテストするのに非常に適している。このよう
なテストを行うために、GCRAは、出力(emission)
間隔(即ち、フローレートの逆数)とトレランスτにつ
いての仕様を必要とする。実際には、このトレランス
は、コネクション、コネクションセットアップパラメー
タ、またはサービスの種類などの種々の要因に依存する
であろう。後で分かるように、GCRAはブール関数と
して採用でき、コネクション上の固定サイズのパケット
またはセルのフローの場合、GCRA(出力間隔、トレ
ランス)は、もしフローがピークレートに従っていれば
偽(false)であり、フローが最少レートに従っていれ
ば真(true)である。例えば、もしGCRA(1/PC
R,τPCR )が偽であれば、セルのソースはPCRに従
う。同様に、もしGCRA(1/MCR,τMCR )が偽
であれば、コネクションまたはフローはMCRに従う。
後で分かるように、「出力間隔」は「セルレート」の逆
数である。
[0008] The Generic Cell Rate Algorithm (GCRA) specified in ITU-T Recommendation 1.371 is well suited for testing the flow of packets or cells for conformance with traffic descriptors. In order to perform such a test, the GCRA requires an emission
It requires specifications for the interval (ie, the reciprocal of the flow rate) and the tolerance τ. In practice, this tolerance will depend on various factors such as connection, connection setup parameters, or type of service. As will be seen, GCRA can be employed as a Boolean function, and for fixed-size packet or cell flows on a connection, GCRA (output interval, tolerance) is false if the flow follows a peak rate. Yes, true if the flow follows the minimum rate. For example, if GCRA (1 / PC
If R, τ PCR ) is false, the cell source follows PCR. Similarly, if GCRA (1 / MCR, τ MCR ) is false, the connection or flow follows the MCR.
As will be seen later, "output interval" is the reciprocal of "cell rate".

【0009】DBRトラフィックコントラクトは、コネ
クションが行われている間、一定量の帯域幅をコネクシ
ョンに対して継続的に利用できることを予測してコネク
ションを確立するソースには適切である。従って、ネッ
トワークがDBRコネクションに委ねる帯域幅は、PC
R値によって特徴づけられる。さらに、そのようなコネ
クションでのセルまたはパケットのフローは、もしそれ
がGCRA(1/PCR,τPCR )に適合していれば、
トラフィックコントラクトを遵守している。一方、SB
Rトラフィックコントラクトは、SCRとτIBT および
PCRとτpcTの通知された選択を考慮に入れた既知の
トラフィック特性を有するアプリケーションに適してい
る。SBRまたはrt−SBRフローは、もしそのフロ
ーがGCRA(1/PCR,τPCR )だけでなく、GC
RA(1/SCR,τIBT )にも適合する場合、そのト
ラフィックコントラクトを遵守している。
A DBR traffic contract is appropriate for a source that establishes a connection in anticipation that a certain amount of bandwidth is continuously available for the connection while the connection is being made. Therefore, the bandwidth that the network entrusts to the DBR connection is
It is characterized by an R value. Furthermore, the flow of the cells or packets in such connection, if it GCRA (1 / PCR, τ PCR ) if adapted to,
Comply with traffic contracts. On the other hand, SB
The R traffic contract is suitable for applications with known traffic characteristics that take into account the signaled selection of SCR and τ IBT and PCR and τ pcT . SBR or rt-SBR flow, if the flow is GCRA (1 / PCR, τ PCR ) as well, GC
If conforming to RA (1 / SCR, τ IBT ), the traffic contract is complied with.

【0010】前述したように、ABRトラフィックコン
トラクトは、予約されていない帯域幅を使用した結果と
して生じる情報転送レートにおける動的な変化を許容で
きるアプリケーションに適している。PCRとMCR
は、そのようなコネクションを確立するソースによって
指定され、これらのパラメータはネットワークとの折衝
の対象となる。したがって、ABRコネクションについ
て利用できる帯域幅はMCR(零でもよい)と、定義さ
れた割り当てポリシーにより、予約されていない帯域幅
をABRコネクションの間で共用することによって生じ
る可変セルレートとの和である(即ち、ソースがその指
定されたMCRを上回って受信する帯域幅は、折衝され
たPCRだけでなく、ネットワークポリシーにも依存す
る)。ネットワークからのフィードバックにより、ソー
スアプリケーションは、ABRコネクションに対してセ
ルまたはパケットを送るレートを動的に調整することが
できる。ABRフローは、GCRA(1/MCR,τ
MCR )に適合していれば、常にトラフィックコントラク
トを遵守しており、GCRA(1/PCR,τPCR )に
適合していなければ、常に非遵守である。MCRとPC
Rの間の領域における適合性は、ABRフードバックに
依存し、従って動的に決定される。
[0010] As mentioned above, ABR traffic contracts are suitable for applications that can tolerate dynamic changes in information transfer rates as a result of using unreserved bandwidth. PCR and MCR
Is specified by the source establishing such a connection, and these parameters are subject to negotiation with the network. Thus, the available bandwidth for an ABR connection is the sum of the MCR (which may be zero) and the variable cell rate caused by sharing unreserved bandwidth between ABR connections according to a defined allocation policy ( That is, the bandwidth a source receives above its designated MCR depends not only on the negotiated PCR but also on the network policy). Feedback from the network allows the source application to dynamically adjust the rate at which cells or packets are sent for the ABR connection. The ABR flow is GCRA (1 / MCR, τ
If compatible with the MCR), always in compliance with the traffic contract, if not conform to GCRA (1 / PCR, τ PCR ), it is always non-compliance. MCR and PC
The suitability in the region between R depends on ABR feedback and is thus determined dynamically.

【0011】UBRトラフィックコントラクトは、AB
Rコントラクトに類似しているが、UBRコントラクト
は、MCRの仕様に順応できず、また動的な適合定義を
有しない。したがって、UBRフローは、もしそれがG
CRA(1/PCR,τPCR)に適合していれば、トラ
フィックコントラクトを遵守している。
[0011] The UBR traffic contract is AB
Similar to the R contract, but the UBR contract is not adaptable to the MCR specification and has no dynamic conformance definition. Therefore, if the UBR flow is G
CRA (1 / PCR, τ PCR ) if adapted to, in compliance with traffic contract.

【0012】B.トラフィック成形 ITU−T勧告1.371は、トラフィックを下記の点
に関し、トラフィック記述子に適合させるためにネット
ワーク要素でのトラフィックの再成形の可能性について
言及している:
B. Traffic shaping ITU-T Recommendation 1.371 addresses the possibility of reshaping traffic at network elements in order to adapt traffic to traffic descriptors with respect to:

【0013】「トラフィック成形は、QoSの目標値を
満たしながらネットワーク効率を改善するため、または
後続のインターフェースでの適合を確保するために、V
CCまたはVPC上のセルストリームのトラフィック特
性を変更して、これらのトラフィック特性の要求される
変更を達成するメカニズムである。トラフィック成形
は、ATMコネクション上のセルシーケンスの完全さを
維持しなければならない。成形はセルフローの特性を変
更し、その結果、セルの平均転送遅れを増加させるもの
である。
"Traffic shaping is used to improve network efficiency while meeting QoS targets, or to ensure adaptation at subsequent interfaces.
A mechanism that changes the traffic characteristics of the cell stream on the CC or VPC to achieve the required changes in these traffic characteristics. Traffic shaping must maintain the integrity of the cell sequence on the ATM connection. Shaping alters the characteristics of the cell flow, thereby increasing the average transfer delay of the cell.

【0014】トラフィック成形の例は、ピークセルレー
トの低減、バースト長さの制限、セルの時間間隔を適切
にすることによるCDVの低減、およびキューサービス
方式である。
Examples of traffic shaping are peak cell rate reduction, burst length limitation, CDV reduction by appropriate cell time intervals, and queue service schemes.

【0015】トラフィック成形を行うか否か、またそれ
をどこで行うかはネットワークオペレータの選択によ
る。例えば、ネットワークオペレータは好適なUPC/
NPC機能とともにトラフィック成形を行うことを選択
できる。
Whether or not to perform traffic shaping and where to perform it depends on the choice of the network operator. For example, a network operator may select a suitable UPC /
You can choose to perform traffic shaping with the NPC function.

【0016】分離したセルフローまたは集合的セルフロ
ーに関してトラフィック成形を行うことはオペレータが
選べるオプションである。
Performing traffic shaping on separate or collective cell flows is an option for the operator.

【0017】したがって、如何なるATMコネクション
に対してもトラフィック成形を行うことができる。
Therefore, traffic shaping can be performed for any ATM connection.

【0018】ネットワークオペレータ/サービスプロバ
イダが利用できるオプションには以下のものがある:
Options available to the network operator / service provider include:

【0019】a.成形なし ・如何なる成形機能も用いることなく、ネットワーク出
口における適合性を確保しながらネットワーク入口にお
ける適合セルの任意のフローを許容できるようにネット
ワークの寸法又は次元(dimension) を決める。
A. No shaping-Determine the size or dimension of the network so as to allow any flow of conforming cells at the network entrance while ensuring compatibility at the network exit without using any shaping functions.

【0020】b.成形あり ・入口における適合セルの任意のフローが、QoS目標
値を満たしながらネットワークまたはネットワークセグ
メントによって運ばれるようにネットワークの寸法を決
めるとともに動作させ、出口における適合テストを満た
すようにトラフィックの出力成形を行う。
B. Shape and operate the network such that any flow of conforming cells at the ingress is carried by the network or network segment while meeting the QoS targets, and shape the output of traffic to meet the conformance test at the egress. Do.

【0021】・ネットワークまたはネットワークセグメ
ントの入口におけるトラフィックを成形し、QoS目標
値およびネットワークまたはネットワークセグメントの
出口におけるその後の適合テストを満たすとともに、成
形によって得られたトラフィック特性にしたがってリソ
ースを割り当てる。
Shape traffic at the entrance of the network or network segment, satisfy QoS targets and subsequent conformance tests at the exit of the network or network segment, and allocate resources according to the traffic characteristics obtained by the shaping.

【0022】また、ソースによってまたはUNIにおい
て発生されるセルが、使用されるATCに関する折衝ト
ラフィックコントラクトに適合していることを確実にす
るために、顧客の装置内、またはソースにおいてトラフ
ィック成形を使用してもよい(5.5章参照)。」IT
U−T勧告1.371、6.2.5章。
Also, use traffic shaping in the customer's equipment or at the source to ensure that cells generated by the source or at the UNI comply with the negotiated traffic contract for the ATC used. (See Section 5.5). "IT
UT Recommendation 1.371, Chapter 6.2.5.

【0023】C.リアルタイムおよび非リアルタイムコ
ネクションのためのスケジューリング/現存のツールお
よび技術 知られているように、もし「ベストイフォート」のイン
ターネットサービスまたはABR ATMサービスを採
用するアプリケーションの間で帯域幅が「フェア」に分
割されない場合、種々の好ましくない現象が生じるであ
ろう。
C. Scheduling / Existing Tools and Techniques for Real-Time and Non-Real-Time Connections As is known, bandwidth is "fair" split between applications employing "best effort" Internet services or ABR ATM services If not, various undesirable phenomena will occur.

【0024】現在、殆どのATMスイッチではFIFO
キューイングが実施されている。しかし、FIFOキュ
ーイングは、ABRトラフィックに使用した場合、異常
な挙動を示す。また、FIFOは、正しく行動している
ユーザーを誤って行動しているユーザから保護できない
(アイソレーションを提供しない)。このような欠点の
ため、重み付けフェアキューイングなどの非FIFOキ
ューイングメカニズム、またはラウンドロビンのような
フェアキューイングに近似した方式がしばしば提案され
る。
At present, most ATM switches use FIFOs.
Queuing has been implemented. However, FIFO queuing behaves abnormally when used for ABR traffic. Also, FIFOs cannot protect a user who is acting correctly from a user who is acting incorrectly (does not provide isolation). Because of these drawbacks, non-FIFO queuing mechanisms such as weighted fair queuing or schemes that approximate fair queuing such as round robin are often proposed.

【0025】非弾性的帯域幅を要求する種類のサービス
は、時として、データが拘束ジッター(即ち、セルまた
はパケットの遅延変動が制限されていること)を伴って
ネットワークを介して伝送されることを要求する。知ら
れているように、リアルタイムストリームに対して拘束
ジッターを提供するために重み付けフェアキューイング
を使用することができる。さらに、仮想クロックおよび
自己計時型フェアキューイングの密接に関連したメカニ
ズムを使用するシステムのために試験済の遅延制限を提
供できる。
Services of the type that require inelastic bandwidth sometimes require that data be transmitted over the network with constrained jitter (ie, limited cell or packet delay variation). Request. As is known, weighted fair queuing can be used to provide constrained jitter for real-time streams. In addition, tested delay limits can be provided for systems that use the closely related mechanisms of virtual clocks and self-timed fair queuing.

【0026】したがって、弾性(ベストイフォート/A
BR)サービスと非弾性(またはリアルタイム)サービ
スの何れもがフェアキューイングおよび関連するアルゴ
リズムを使用することによって利益を受けることが知ら
れている。
Therefore, the elasticity (best effort / A
It is known that both BR) and inelastic (or real-time) services benefit from using fair queuing and related algorithms.

【0027】1.重み付けフェアキューイングおよび仮
想クロック フェアキューイングおよび関連のアルゴリズム(例え
ば、フレームベースのフェアキューイング、欠陥ラウン
ドロビンなど)はパケットまたは他のデータ転送単位
(例えば、ATMセルはここでの議論においてはパケッ
トである)のシーケンスに対して作用する。ATMの場
合、これらのシーケンスはVCIまたはVPIの何れか
によって認識され、この認識に適したインターネットの
プロトコルは<IPアドレス、プロトコル、ポート>ト
リプル(IPv4)またはフロー識別子(IPv6)に
基づくものである。自己計時型重み付けフェアキューイ
ングおよび仮想クロックの何れにおいても、パケットは
タイムスタンプによって順序づけられる(ソートされ
る)(ラウンドロビンなどの方式はタイムスタンプによ
ってパケットの順序づけに対して近似を行う)。このタ
イムスタンプは仮想終了時刻を表し(またはパケットの
仮想開始時刻を同様に表す)、開始時刻を得るととも
に、パケット長に、特定のパケットシーケンスに対して
の帯域幅の割り当てを表す重みを掛けることによって得
られるオフセットを加えて計算される。
1. Weighted fair queuing and virtual clocks Fair queuing and related algorithms (eg, frame-based fair queuing, defective round robin, etc.) may be packets or other data transfer units (eg, ATM cells may be packets in the discussion herein). ). In the case of ATM, these sequences are recognized by either VCI or VPI, and suitable Internet protocols for this recognition are based on <IP address, protocol, port> triples (IPv4) or flow identifiers (IPv6). . In both self-timed weighted fair queuing and virtual clocks, packets are ordered (sorted) by time stamp (round-robin and similar schemes approximate packet ordering by time stamp). This timestamp represents the virtual end time (or similarly the virtual start time of the packet), gets the start time, and multiplies the packet length by a weight that represents the bandwidth allocation for a particular packet sequence. Calculated by adding the offset obtained by

【0028】より詳細には、仮想クロックの場合、仮想
終了時刻は下記のように計算される。
More specifically, in the case of a virtual clock, the virtual end time is calculated as follows.

【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 の長さである。
VT (f, 0) = 0 VT (f, j + 1) = max {arrival (f, j + 1), VT (f, j)} + length (f, j + 1) / rate (f) (1) where VT (f, j) is the packet j of the flow (virtual line) f
Is the virtual end time associated with, and the arrival (f, j) is the flow f
Is the arrival time of packet j, and the length (f, j) is
The length of packet j in f.

【0030】自己計時型重み付けフェアキューイング
は、下記式に従って仮想終了時刻を指定する。
The self-timed weighted fair queuing specifies a virtual end time according to the following equation.

【0031】 VT(f,0) = 0 VT(f,j+1) = max{システム仮想時刻, VT(f,j) }+ 長さ(f,j+1)*重み(f) (2) 但し、システム仮想時刻は、パケット(f,j+1) が到着す
る時刻において提供される(出力される)パケットに関
する仮想時刻である。
VT (f, 0) = 0 VT (f, j + 1) = max {system virtual time, VT (f, j)} + length (f, j + 1) * weight (f) (2 However, the system virtual time is a virtual time relating to the packet provided (output) at the time when the packet (f, j + 1) arrives.

【0032】ATMの場合、セルが固定サイズ(例え
ば、53バイト長)であるため、パケット長は一定であ
る。したがって、式(1)および式(2)の最右項は、
フロー毎の定数になる。仮想クロックの場合、式を下記
のように単純化できる。
In the case of ATM, since the cell has a fixed size (for example, 53 bytes in length), the packet length is constant. Therefore, the rightmost terms of Equations (1) and (2) are
It becomes a constant for each flow. For virtual clocks, the equation can be simplified as follows:

【0033】 VT(f,j+1) = max{到着(f,j+1), VT(f,j)}+ 定数(f) (3)VT (f, j + 1) = max {arrival (f, j + 1), VT (f, j)} + constant (f) (3)

【0034】自己計時型重み付けフェアキューイングの
場合、式を下記のように単純化できる。
For self-timed weighted fair queuing, the equation can be simplified as follows:

【0035】 VT(f,j+1) = max{システム仮想時刻, VT(f,j) }+ 定数(f) (4)VT (f, j + 1) = max {system virtual time, VT (f, j)} + constant (f) (4)

【0036】即ち、仮想クロックまたは自己計時型重み
付け型フェアキューイングを実施するATMキューイン
グポイントは下記のステップを行う。
That is, the ATM queuing point that performs the virtual clock or the self-timed weighted fair queuing performs the following steps.

【0037】1)VCについての現在の仮想時刻(a)
と、セルの到着時刻i)とシステム仮想時刻ii)の何れ
か(b)との間の最大値を計算し、 2)上記ステップ1の結果に、帯域幅のVCの占有率を
表すVC毎の定数を加え、 3)ステップ1と2によって指定した仮想タイムスタン
プの値が増加する順序でセルを提供(それらを送信)す
る。
1) Current virtual time for VC (a)
And the maximum value between the cell arrival time i) and any one of the system virtual times ii) (b) is calculated. 2) In the result of the above step 1, for each VC indicating the occupancy of the bandwidth VC 3) Provide (send) the cells in the order in which the values of the virtual timestamps specified by steps 1 and 2 increase.

【0038】2.優先権 一つのトラフィッククラスに他のものより高い優先権を
与えるということは、もし高い優先順位を有するトラフ
ィッククラスが転送の準備のできたセル群を有していれ
ば、これらのセル群は、常に優先順位の低いトラフィッ
ククラスのセルに優先して伝送される。
2. Priority To give one traffic class higher priority than the other means that if the higher priority traffic class has cells ready for transmission, these cells will always be It is transmitted in priority to cells of a traffic class with a lower priority.

【0039】優先権のメカニズムは先制的(preemptiv
e)であることも非先制的であることもできる。この用
語はオペレーティングシステムの文献から由来してい
る。非先制的優先権メカニズムは、スケジューリング時
刻において対象物(オペレーティングシステムの世界で
はプロセスであり、ATMの世界ではVC)に対して優
先順位を与え、対象物はそれが提供されるまでこの優先
順位を維持する。他方、先制的優先権メカニズムは、対
象物が提供されるのを待っている間に対象物の優先順位
を変えることができる。例えば、先制システムでは、
「このVCを優先順位3でスケジュールする」と言うこ
とはできるが、もしそれが200マイクロ秒の間に提供
されない場合には、その優先順位が2に上げられる。
The priority mechanism is preemptive.
e) can be non-preemptive. This term comes from the operating system literature. The non-preemptive priority mechanism gives priority to objects (processes in the operating system world, VCs in the ATM world) at scheduling time, and the object gives this priority until it is provided. maintain. On the other hand, a preemptive priority mechanism can change the priority of an object while waiting for the object to be provided. For example, in a preemptive system,
It can be said that "schedule this VC with priority 3", but if it is not provided within 200 microseconds, its priority is raised to 2.

【0040】3.作業維持および非作業維持キューイン
グ 「作業維持(work conserving)」という用語は、作業
が作られることもないし破壊されることもない任意のキ
ューイングシステムを示すために時々使用される。この
用語と一致して、待機セルが与えられた時、常にセルを
出力リンクに伝送するスイッチは、「作業維持スイッ
チ」である。純粋なFIFOを採用するスイッチ、重み
付けフェアキューイングまたは仮想クロックスケジュー
リングアルゴリズムは全て作業維持型である。これに対
し、非作業維持型スイッチは、セルが転送のために待機
していても、セルを送信しないことを選択できる。後で
分かるように、これを行う方法は、特定のセルを伝送す
る前に現時刻がそのセルに関連したタイムスタンプに等
しいか大きくなるまで待つようにスイッチをプログラム
することである。
3. Work Conservation and Non-Work Conservation Queuing The term "work conserving" is sometimes used to describe any queuing system in which work is neither created nor destroyed. Consistent with this term, a switch that always transmits a cell to an output link when a standby cell is provided is a "work maintenance switch". Switches employing pure FIFO, weighted fair queuing or virtual clock scheduling algorithms are all work-maintaining. In contrast, a non-working switch can choose not to send a cell even if the cell is waiting for a transfer. As will be seen, a way to do this is to program the switch to wait until the current time is equal to or greater than the time stamp associated with that particular cell before transmitting it.

【0041】作業維持スイッチは、伝送リンクを完全に
利用しようと試みるが、必ずしもバーストを除いたり、
阻止したりしない。これに対し、非作業維持スイッチ
は、より厳しい適合テスト(即ち、より小さいτを有す
るGCRA)を満たすようにトラフィックを再成形する
ためにセルを戦略的に遅延させることができる。さら
に、所定のコネクションに指定された量のバッファリン
グが割り当てられるだけの非作業維持スイッチは、割り
当てられたバッファ空間をオーバーフローするセルを捨
てるかもしくはそれにタグを付けることによってポリー
シング(policing)機能(ITUではUPC/NPCと
呼ぶ)を行う。非作業維持キューイングシステムの例
は、仮想時間は実時間よりも速く過ぎる(立ち往生する
か、非作業維持状態になる)ことが許されない仮想クロ
ックアルゴリズムを改造したストールド(stalled) 仮想
クロックである。
The maintenance switch attempts to make full use of the transmission link, but does not necessarily eliminate bursts,
Do not block. In contrast, non-work-maintaining switches can strategically delay cells to reshape traffic to meet more stringent conformance tests (ie, GCRA with smaller τ). In addition, non-work-maintaining switches, where only a specified amount of buffering is allocated to a given connection, can be provided with a policing function (by discarding or tagging cells that overflow the allocated buffer space). In the ITU, this is called UPC / NPC). An example of a non-work keeping queuing system is a stalled virtual clock that adapts a virtual clock algorithm where virtual time is not allowed to be too fast (real or stuck in work) than real time.

【0042】4.カレンダキュー カレンダキューは、アクションを時間順に並べたリスト
で、各アクションは、実時刻がそのアクションに関連す
る時刻と等しいかそれを越えた時にキューから取り出さ
れて実行される。時間間隔が制限されたカレンダキュー
は、「タイムホイール(time-wheel)」または「タイムラ
イン(time-line) 」として知られている線型アレーとし
て表すことができる。タイムホイールはバケットに対す
る事象をポインタに対して相対的に割り当てるもので、
ホイールサイズを算術モジュロとして使用してバケット
インデックスが計算される。これらのデータ構造は、キ
ューイングメカニズムとして文献で良く知られている。
タイムホイールでは、絶対時刻は、現時刻(実時刻)に
対するオフセットとして表され、アレー中の各要素は、
それらが属するバケットに対して指定された時刻に実行
すべき一つ以上のアクションを(典型的には、リンクさ
れたリストの形態で)含むバケットである。そのような
タイムホイールのバケットの何れのものも空であること
ができる、即ちそれに関連する事象を有しなくてもよ
い。
4. Calendar Queue A calendar queue is a chronological list of actions, each action being taken from the queue and executed when the actual time is equal to or greater than the time associated with the action. A calendar cue with a limited time interval can be represented as a linear array known as a "time-wheel" or "time-line". The time wheel assigns events for the bucket relative to the pointer,
The bucket index is calculated using the wheel size as an arithmetic modulo. These data structures are well known in the literature as queuing mechanisms.
In the time wheel, the absolute time is represented as an offset from the current time (actual time), and each element in the array is
A bucket that contains one or more actions (typically in the form of a linked list) to be performed at a specified time on the bucket to which they belong. Any of such time wheel buckets can be empty, i.e., have no events associated with them.

【0043】各タイムホイールについて、二つの重要な
時間tearliestとtlatestがあり、これらはアレー中の
アクティブエントリーについてのヘッドポインタおよび
テイルポインタに対応し、tearliestは、提供すべき次
のエントリー(例えば、パケットまたはセル)の時刻で
あり、tlatestは、スケジュールされた事象を含む最新
の(時間的に最も遠い)バケットに関連する時刻であ
る。tearliestとtlate stの間の差はタイムホイールの
長さbから1を引いた長さを越えることはできない。こ
れは、時間がモジュロbを維持していると見ることによ
り、そして、b−1を越えるオフセット(仮想クロック
または重み付けフェアキューイングにおいてそれぞれレ
ートまたは重みの何れかを掛けたパケット長)が無いこ
とを確実にすることによって確実にされる。OC−3の
速度(149.76mbps−SONETペイロードレ
ート)で動作するATMリンクの場合、リンク上に秒当
たり約353208セルが存在する。したがって、もし
64Kbps(音声電話の速度)のフロー(AALタイ
プ1が使用される場合には、毎秒約174セル)が、サ
ポートすべき最も遅い速度のコネクションで、最も遅い
速度に対する最も早いサポートされた速度の割合は20
29、切上げると211となる。この割合は、実時刻を計
算する間に加算される最大オフセットである。したがっ
て、長さが2030(2の冪乗への切上げを考慮にいれ
ると2048)のタイムホイールは、64Kbpsから
完全なOC−3リンクの速度までの間の速度の回線に関
連する実時刻をコード化するのに充分である。
For each time wheel, there are two important times, earliest and t latest , which correspond to the head and tail pointers for the active entry in the array, and the earliest is the next entry to provide ( (Eg, packet or cell) time, and t latest is the time associated with the latest (farthest in time) bucket that contains the scheduled event. The difference between earliest and t late st cannot exceed one time wheel length b minus one. This is due to the fact that time is maintaining modulo b, and that there is no offset (packet length multiplied by either rate or weight in virtual clock or weighted fair queuing, respectively) greater than b-1. Is ensured by ensuring that For an ATM link operating at OC-3 speed (149.76 Mbps-SONET payload rate), there are about 353208 cells per second on the link. Thus, a 64 Kbps (voice phone speed) flow (approximately 174 cells per second if AAL type 1 is used) is the slowest connection to be supported and the fastest supported for the slowest speed. Speed ratio is 20
29, rounded up to 2 11 . This ratio is the maximum offset that is added while calculating the actual time. Thus, a timewheel of length 2030 (2048 when considering rounding to the power of two) encodes the actual time associated with the line at speeds between 64 Kbps and the speed of the full OC-3 link. Is enough to make

【0044】タイムホイールアレーの長さは、アレー要
素が2以上のタイムオフセットを含むことができるよう
にすることによって減少できる。例えば、もし上記のタ
イムホイールが2048要素から256要素に減少され
た場合、各バケットはその中にマップ化した8個のタイ
ムオフセットを有するであろう。複数オフセットに及ぶ
単一のバケット内のアクションは、狂った順番で行われ
るかも知れないが、バケットの間ではアクションは順番
どおりになるであろう。これにより、カレンダキュー内
のアクションの順序付けの精度が低下するという犠牲を
払って、そのようなタイムホイールに割り当てる必要が
あるメモリの量を減少できる。
The length of the time wheel array can be reduced by allowing the array elements to include more than one time offset. For example, if the above time wheel was reduced from 2048 elements to 256 elements, each bucket would have eight time offsets mapped into it. Actions within a single bucket spanning multiple offsets may be performed out of order, but between buckets the actions will be in order. This can reduce the amount of memory that needs to be allocated to such a time wheel at the expense of reducing the accuracy of the ordering of the actions in the calendar queue.

【0045】D.複数出力チャネル上での時間多重フロ
ーのためのトラフィック成形 時間多重化されたパケットまたはセルのフローをそれら
のトラフィックコントラクトに適合させるのに必要な何
れのトラフィック成形は、異なった出力チャネルのため
のフローを相互に分離するのに必要な切り替えまたはル
ーチング動作が完了した後で実施するのが好ましい。こ
れにより、マルチプレクサのスループット効率を最適化
できる。
D. Traffic shaping for time multiplexed flows on multiple output channels Any traffic shaping necessary to adapt the time multiplexed packet or cell flows to their traffic contracts is the flow for the different output channels. It is preferably performed after the switching or routing operations required to separate the two from each other are completed. Thereby, the throughput efficiency of the multiplexer can be optimized.

【0046】しかし、以前の出力待機ATMスイッチは
一般に、FIFO(先入れ、先だし)出力バッファを採
用していた。これらのバッファはそれらを通過するフロ
ーの何れのものの再成形の制御に関与できない。その代
わり、これらのバッファから出力されるVC毎の時間多
重フロー(per-VC time mutiplexed flows)は、本質的
にそれらの中ににロードされる入力フローの時間多重複
合物である。勿論、これらの出力フローは、バッファの
固有待ち時間のために入力フローに対して時間的に遅延
される。また、もし異なるフローのデータ転送制限の間
でスケジューリングの衝突が発生した場合にはこれらの
出力フローの一つ以上のもののセル遅延変動(CDV)
が増加するであろう。何故なら、これらの干渉は、所謂
「伝送衝突」を引き起こすからである。
However, previous output standby ATM switches generally employed FIFO (first in, first out) output buffers. These buffers cannot participate in controlling the reshaping of any of the flows passing through them. Instead, the per-VC time mutiplexed flows output from these buffers are essentially a time multiplex of the input flows loaded into them. Of course, these output flows are delayed in time with respect to the input flows due to the inherent latency of the buffer. Also, if a scheduling conflict occurs between the data transfer restrictions of different flows, the cell delay variation (CDV) of one or more of these output flows
Will increase. This is because these interferences cause so-called "transmission collisions".

【0047】後で分かるように、CVDの増加は、比較
的トレランスが厳しいDBRトラフィックのようなトラ
フィックの場合、特にやっかいなものである。したがっ
て、もしソースとデスティネーションの間の各ホップ
が、上記の形式の単純なFIFO出力キューを含む場
合、その指定されたトレランス内での適合性を確保する
ために、このCDVに敏感なトラフィックが作ることが
できるホップの数を制限することが必要になるであろ
う。
As will be seen, the increase in CVD is particularly troublesome for traffic with relatively tight tolerances, such as DBR traffic. Thus, if each hop between the source and the destination includes a simple FIFO output queue of the above type, this CDV-sensitive traffic must be passed to ensure conformance within its specified tolerance. It will be necessary to limit the number of hops that can be made.

【0048】したがって、時間多重出力の送出のために
複数入力から複数出力へトラフィックを送る、ATMス
イッチまたはその他のルーターのためのより効率的でよ
り効果的なトラフィック成形メカニズムとプロセスに対
するニーズがあることは明らかである。
Thus, there is a need for more efficient and more effective traffic shaping mechanisms and processes for ATM switches or other routers that send traffic from multiple inputs to multiple outputs for the delivery of time multiplexed outputs. Is clear.

【0049】[0049]

【発明が解決しようとする課題】本発明は、アベイラブ
ルビットレートサービスのためのフロー毎待機ルーチン
グメカニズムにおけるレート成形を提供するものであ
る。
SUMMARY OF THE INVENTION The present invention provides for rate shaping in a per-flow wait routing mechanism for available bit rate services.

【0050】[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のパケットをスケジュールす
る。
SUMMARY OF THE INVENTION An aspect of the present invention includes a contract in a packet-switched communication system, wherein a time multiplexed flow is adapted to substantially match the individual network traffic contract of each flow. A traffic shaping device for continuously transmitting packets, wherein the contract specifies a respective peak packet transmission rate and an associated peak rate tolerance of some of the flows and has mutually exclusive categories, ie, each has a mutually exclusive category. Classifying each of said flows into one of a Category A flow having a non-zero minimum packet delivery rate with an associated minimum rate tolerance specified in the contract and a Category B flow having a traffic contract allowing a zero packet delivery rate; Said The traffic shaping device includes a queuing mechanism for organizing pending packets of an active flow including the number of flows in each queue according to the oldest pending packet at the head of the queue, wherein the queuing mechanism And a scheduling mechanism for scheduling the packets of the active flow for transmission, the scheduling mechanism comprising a relatively high priority non-work maintenance calendar queue and at least one relatively low priority calendar queue. A work maintenance queue and another non-work maintenance queue whose priority is not determined with respect to the high-priority queue and the low-priority queue, wherein the scheduling mechanism comprises: (i) the high-priority queue; In the non-work maintenance calendar queue, A contract-specified minimum transmission rate for the first flow when packets of the first flow are being transmitted at a rate that exceeds a tolerance for a specified minimum transmission rate for one given flow. To send at a rate exceeding
(ii) in the other non-work maintenance calendar queue, when a packet of the first flow is transmitted at a rate exceeding a tolerance of a designated peak transmission rate of the first flow, the first flow (Iii) in the work maintenance queue, when the packets of the first flow are being transmitted according to the traffic contract of the first flow, so as to transmit at substantially the same rate as the specified peak transmission rate for Schedules any given Category A packet for delivery according to the selected continuous service strategy, the scheduling mechanism comprising: (iv) in the other non-work keeping calendar queue the second given flow The rate at which packets exceed the tolerance for the specified peak delivery rate for the second flow. (V) in the work maintenance queue, the packet of the second flow is transmitted at the same rate as the specified peak transmission rate for the second flow when the second flow is transmitted. Schedule any given Category B packet to be sent according to the selected strategy as it is being sent according to the two-flow traffic contract.

【0051】本発明の請求項2の態様は、パケット交換
通信システムにおいて、コントラクトを含み、それぞれ
のフローの個々のネットワークトラフィックコントラク
トに実質的に適合するように時間多重フローのパケット
を連続的に送出するトラフィック成形装置であって、前
記コントラクトは、前記フローのうちいくつかにそれぞ
れの許容ピークパケット送出レートを委ねるとともに、
相互排他的カテゴリー、即ち、それぞれの非ゼロ許容最
小パケット送出レートが委ねられるカテゴリーAフロー
と、ゼロパケット送出レートを許容するトラフィックコ
ントラクトを受けるカテゴリーBフローのうちの1つに
前記フローの各々を分類し、前記トラフィック成形装置
は、待ち行列の順番の先頭にある最も古い未決のパケッ
トに従ってそれぞれの待ち行列中の前記いくつかのフロ
ーを含むアクティブフローのパケットを編成するキュー
イングメカニズムを含み、前記キューイングメカニズム
に結合され、送出のために前記アクティブフローのパケ
ットをスケジュールするスケジューリングメカニズムを
含み、前記スケジューリングメカニズムは、相対的に優
先順位が高い非作業維持カレンダキューと、少なくとも
1つの相対的に優先順位が低い作業維持キューと、前記
優先順位が高いキュー及び優先順位が低いキューに相対
して優先順位が未決定の他の非作業維持キューと、前記
優先順位が高いキュー及び優先順位が低いキューからの
監視送出に結合して前記優先順位が高いキュー及び優先
順位が低いキューにおいてスケジュールされたパケット
を選択的にスケジュールしない制御メカニズムを含み、
前記スケジューリングメカニズムは、(i) それぞれのフ
ローのための最小レート委託を越えるレートで送出する
ように前記優先順位の高いカレンダキューの各フローの
パケットをスケジュールし、かつ(ii) 所定の作業維持
キューから出す戦略に従って送出するように前記パケッ
トを前記作業維持キューに入れることによってあらゆる
カテゴリーAフローのパケットを準備し、従ってこれら
のカテゴリーAフローのパケットの競合状態を作り出
し、前記制御メカニズムは、各パケットが前記優先順位
の高いキュー及び前記作業維持キューのうちの1つによ
って送出に達する際に、このパケットを前記キューの他
のパケットの中から取り出すことによって前記遅れてい
るカテゴリーAフローのパケットの前記競合状態を解決
し、前記スケジューリングメカニズムは、それぞれのフ
ローに委ねられる許容ピーク送出レートを越えるレート
で送出されているあらゆるカテゴリーAフロー及びカテ
ゴリーBフローのパケットを、それぞれのフローに委ね
られるピーク送出レートとほぼ同一のレートで送出する
ように前記他の非作業維持カレンダキューにおいてスケ
ジュールし、前記スケジューリングメカニズムは、それ
ぞれのフローのためのコントラクトによる委託に適合す
るレートで送出されているあらゆるカテゴリーBフロー
のパケットを、前記作業維持キューから出す戦略に従っ
て送出するように前記作業維持キューに入れる。
A second aspect of the present invention, in a packet switched communication system, includes a contract and continuously sends out packets of a time multiplexed flow to substantially match individual network traffic contracts of each flow. A traffic shaping device, wherein the contract entrusts each of the allowed peak packet transmission rates to some of the flows,
Classifying each of the flows into one of a mutually exclusive category, ie, a Category A flow to which a respective non-zero allowable minimum packet transmission rate is committed and a Category B flow to receive a traffic contract allowing a zero packet transmission rate. And said traffic shaping device includes a queuing mechanism for organizing packets of active flows including said several flows in respective queues according to the oldest pending packet at the head of the queue order; A scheduling mechanism coupled to the scheduling mechanism for scheduling the packets of the active flow for transmission, the scheduling mechanism including a relatively high priority non-work maintenance calendar queue, and at least one relatively superior calendar queue. Low-priority work maintenance queues, other non-work maintenance queues whose priorities have not been determined relative to the high-priority queues and low-priority queues, and the high-priority queues and low-priority queues A control mechanism that selectively couples the scheduled packets in the high priority queue and the low priority queue in combination with the monitoring transmission from
The scheduling mechanism comprises: (i) scheduling packets for each flow in the high priority calendar queue to be sent at a rate that exceeds a minimum rate commitment for each flow; and (ii) a predetermined work maintenance queue. Preparing packets of any category A flows by placing them in the work queue to be sent according to the outgoing strategy, thus creating a race condition for the packets of these category A flows, the control mechanism comprising: When arriving at one of the high-priority queue and the maintenance queue, this packet is taken out of the other packets of the queue by removing the packet of the delayed category A flow. Resolve the race condition and The forwarding mechanism sends all Category A and Category B flow packets that are sent at a rate that exceeds the allowable peak sending rate entrusted to each flow at a rate approximately the same as the peak sending rate entrusted to each flow. Scheduling in the other non-work-keeping calendar queue, the scheduling mechanism arbitrates packets of any category B flow that are being sent at a rate compatible with contracting for the respective flow. Queued for delivery according to the outgoing strategy.

【0052】本発明の請求項3の態様は、それぞれのフ
ローのための個々のトラフィックコントラクトに実質的
に適合するように、複数の時間多重フローの固定ビット
長パケットを既知の帯域幅のリンクに連続的に送出する
トラフィック成形プロセスにおいて、前記フローの少な
くともいくつかを、前記いくつかのフローのためにゼロ
よりも大きいそれぞれのピークレート及び最小パケット
送出レートを指定するそれぞれのアベイラブルビットレ
ートトラフィックコントラクトに成形するルーチンであ
って、前記ルーチンは、待ち行列の順番の先頭にある最
も古い未決のパケットに従ってそれぞれの待ち行列中の
前記いくつかのフローを含むアクティブフローのパケッ
トを編成するステップを含み、アベイラブルビットレー
トトラフィックコントラクトを有するフローのために前
記リンクで利用可能な帯域幅を前記既知の帯域幅のパー
セントとして動的に決定するステップを含み、アベイラ
ブルビットレートトラフィックコントラクトを有するア
クティブフローの数を動的に決定するステップを含み、
アベイラブルビットレートトラフィックコントラクトを
受ける各フローのキューパケットの各先頭に対して、前
記フローのためのコントラクト指定の最小送出レートに
基づいた第1の理論的送出時刻と、アベイラブルビット
レートフローのために前記リンクで利用可能な帯域幅の
アクティブアベイラブルビットレートフロー毎の割り当
てに基づいた第2の理論的送出時刻と、前記フローのた
めのコントラクト指定のピーク送出レートに基づいた第
3の理論的送出時刻とを決定するステップを含み、前記
第2及び第3の理論的送出時刻のうち最も早いものを放
棄するステップを含み、残りの前記理論的送出時刻のう
ち最も早い時刻で送出するように非作業維持キューにお
いて前記パケットをスケジュールすることを含む。
An aspect of claim 3 of the present invention is to link fixed bit length packets of a plurality of time multiplexed flows to a link of known bandwidth so as to substantially conform to the individual traffic contract for each flow. In a continuously transmitting traffic shaping process, at least some of the flows are sent to respective available bit rate traffic contracts specifying respective peak rates and minimum packet transmission rates greater than zero for the some flows. A shaping routine, comprising the step of organizing packets of active flows including the number of flows in each queue according to the oldest pending packet at the head of the queue order; Bit rate traffic co Dynamically determining the available bandwidth on the link as a percentage of the known bandwidth for flows having tracts, and dynamically determining the number of active flows having available bit rate traffic contracts. Including steps
For each head of a queue packet of each flow receiving an available bit rate traffic contract, a first theoretical delivery time based on a contract specified minimum delivery rate for the flow, and A second theoretical delivery time based on an active available bit rate per-flow allocation of bandwidth available on the link, and a third theoretical delivery time based on a contract-specified peak delivery rate for said flow; And discarding the earliest of the second and third theoretical sending times, and maintaining the non-operation so as to send at the earliest of the remaining theoretical sending times. Scheduling the packets in a queue.

【0053】[0053]

【発明の実施の形態】A.代表的な環境 図面、特に図1を参照すると、ATMスイッチ21の入
力および出力ポートは、典型的には、Utopia2イ
ンターフェースを介して1個以上の物理層に結合され、
第2の好適なインターフェースを介してスイッチ制御プ
ロセッサモジュール22に接続されている。これによ
り、スイッチ21は、接続された任意の物理層とデータ
およびコントロールセルを交換し、また制御プロセッサ
モジュール22と制御セルを交換する。この標準的なプ
ラクティスと調和して、通信チャネルは一方向性であ
り、したがって、双方向通信には一組のチャネルが必要
である。
DETAILED DESCRIPTION OF THE INVENTION Exemplary Environment Referring to the drawings, and in particular to FIG. 1, the input and output ports of the ATM switch 21 are typically coupled to one or more physical layers via a Utopia2 interface,
It is connected to the switch control processor module 22 via a second suitable interface. As a result, the switch 21 exchanges data and control cells with any connected physical layer, and exchanges control cells with the control processor module 22. Consistent with this standard practice, communication channels are one-way, so two-way communication requires a set of channels.

【0054】スイッチ21は、入力キューからVC毎出
力キューへデータおよび制御セルをスイッチングするた
めに、スイッチングファブリック24、ファブリック制
御モジュール25およびリザベーションリング26を含
んでいる。これらのキュー中のセルはデータメモリ27
中のデータパスに記憶され、これらの入力および出力キ
ューはキュー制御モジュール28によって管理される。
典型的には、データメモリ27は、最大で約12000
セルを記憶できる容量である。データおよび制御セルフ
ローのコネクションレコードは、制御プロセッサモジュ
ール22へのルーチングのための、レート基準エンジン
/トラフィックマルチプレクサ31によって捕らえられ
る所定の形式の制御セルと共に制御メモリ29内の制御
パス中に記憶される。制御RAM29は、最大で約82
00のコネクションレコードと64Kのセルレコードを
記憶できることが好ましい。制御プロセッサモジュール
22とスイッチ21との間の相互作用は本発明の範囲を
越えているので、本明細書では記載しない。しかし、A
TMスイッチの設計に詳しい人であれば、制御プロセッ
サは主にコネクションの確立および終了、並びOAM
(Operation and Maintenance)機能を実施する責任が
ある。
The switch 21 includes a switching fabric 24, a fabric control module 25, and a reservation ring 26 for switching data and control cells from an input queue to a per-VC output queue. Cells in these queues are stored in data memory 27.
Stored in the data path inside, these input and output queues are managed by the queue control module 28.
Typically, the data memory 27 has a maximum of about 12000
This is the capacity that can store cells. Data and control cell flow connection records are stored in the control path in control memory 29 along with certain types of control cells captured by rate based engine / traffic multiplexer 31 for routing to control processor module 22. The control RAM 29 has a maximum of about 82
Preferably, a connection record of 00 and a cell record of 64K can be stored. The interaction between the control processor module 22 and the switch 21 is beyond the scope of the present invention and will not be described herein. But A
If you are familiar with the design of TM switches, the control processor is mainly responsible for establishing and terminating connections, OAM
(Operation and Maintenance) function.

【0055】スイッチ21のデータパスは所定のレー
ト、例えば40MHzで同期的にクロック動作される。
しかし、従来の同期パイプライン設計のプラクティスに
合わせ、このクロック信号の位相は、一つのパイプライ
ンのステージから次のステージへと転送される前に落ち
つくために適切な時間をデータに与えるために、データ
経路に沿った異なった点で異なった量だけ(図示しない
手段により)遅延される。
The data path of the switch 21 is synchronously clocked at a predetermined rate, for example, 40 MHz.
However, in line with traditional synchronous pipeline design practices, the phase of this clock signal must be set so that the data has the appropriate time to settle before being transferred from one pipeline stage to the next. Delayed by different amounts (by means not shown) at different points along the data path.

【0056】標準的なプラクティスに従い、デスティネ
ーションと通信することを望むソースは、スイッチ21
が存在するATMネットワークとの折衝を、ネットワー
クに対してSETUPメッセージを送ることによって開
始する。このメッセージは、デスティネーションを識別
し、要求されたコネクションのための関連トラフィック
パラメータの全てを明示的または黙示的に指定する。も
しネットワークが、これらのトラフィックパラメータ
(または、ソースが受け入れることを希望しているパラ
メータの変形版)によって定義されるトラフィックコン
トラクトに委ねるための準備ができている場合には、ネ
ットワークはSETUPメッセージをデスティネーショ
ンへ送る。そして、デスティネーションが、トラフィッ
クコントラクトの条件に従ってソースからメッセージト
ラフィックを受信する準備ができていれば、デスティネ
ーションはCONNECTメッセージをソースに返す。
このCONNECTメッセージは、トラフィックコント
ラクトに適合するセルフローのための指定された仮想パ
ス(VP)内の指定された仮想回線(VC)上にコネク
ションが確立されたことを確認するものである。ITU
−T勧告0.2391およびATMフォーラムUNI
4.0仕様を参照のこと。これらの信号伝達プロトコル
を発生させることなく、供給することにより「永久」仮
想コネクションを確立できる。
According to standard practice, the source that wants to communicate with the destination is the switch 21
Initiates negotiations with an existing ATM network by sending a SETUP message to the network. This message identifies the destination and specifies, explicitly or implicitly, all of the relevant traffic parameters for the requested connection. If the network is ready to commit to the traffic contract defined by these traffic parameters (or a variant of the parameters that the source wants to accept), the network sends a SETUP message to the destination. Send to Nation. Then, if the destination is ready to receive message traffic from the source according to the conditions of the traffic contract, the destination returns a CONNECT message to the source.
This CONNECT message confirms that a connection has been established on the specified virtual circuit (VC) in the specified virtual path (VP) for the cell flow conforming to the traffic contract. ITU
-T Recommendation 0.2391 and ATM Forum UNI
See the 4.0 specification. By supplying these signaling protocols without generating them, a "permanent" virtual connection can be established.

【0057】コネクションが確立された後データセルが
流れ始める。図2に示すように、セルの形は、スイッチ
21が行う動作のためにスイッチ21を通過するにつれ
変化する。マルチキャスティングのためにセルを複写し
てもよいが、下記の議論は、不必要に複雑になることを
避けるためにユニキャストの動作に限定する。
After the connection is established, the data cell starts to flow. As shown in FIG. 2, the shape of the cell changes as it passes through switch 21 for the actions performed by switch 21. Cells may be duplicated for multicasting, but the discussion below is limited to unicast operation to avoid unnecessary complications.

【0058】図2に示すように、スイッチ21が受信す
る各上りのセル41は、VPインデックスとVCインデ
ックスを含むヘッダを有している。これらのインデック
スは、コネクションの一つのホップについての固有アド
レスを定義するために組合わさる。コネクションは複数
のホップから構成することができ、したがって次のフー
プのためのVPおよびVCインデックスは、図2におい
て42で示されているように、スイッチ21を通過する
時にセルのヘッダーに書き込まれる。
As shown in FIG. 2, each upstream cell 41 received by the switch 21 has a header including a VP index and a VC index. These indices are combined to define a unique address for one hop of the connection. A connection can be made up of multiple hops, so the VP and VC indexes for the next hoop are written in the header of the cell as it passes through the switch 21, as shown at 42 in FIG.

【0059】スイッチ21は、関連するフローのための
コネクションレコードが存在する制御RAM29内のア
ドレスを計算するために上りのセル(図2の41)のV
PおよびVCインデックスを採用する。典型的には、こ
のコネクションレコードは、フローがスイッチ21から
出ていく出力ポート(即ち、スイッチレベルでのデステ
ィネーション)を認識するためのビットベクトル、粒状
の優先権スケール(granular priority scale)上での
フローの相対的な優先順位を識別するための優先権イン
デックス、およびスイッチ21内のフローを唯一的に識
別する回線インデックス(「Circuit Inde
x」)を含んでいる。図2において43で示されている
ように、これらのコネクションパラメータはセルヘッダ
内に書き込まれる。そして、セルがデータRAMメモリ
ー29へ書き込まれ、セルに対してのポインタが複数の
FIFO入力キューの適切な一つとリンクされる。な
お、キューの選択は関連するフローの優先順位に基づい
て行われる。
The switch 21 calculates the V of the upstream cell (41 in FIG. 2) to calculate the address in the control RAM 29 where the connection record for the related flow exists.
Adopt P and VC indexes. Typically, this connection record is a bit vector for recognizing the output port from which the flow exits the switch 21 (ie, the destination at the switch level), on a granular priority scale. And a line index (“Circuit Index”) that uniquely identifies a flow in the switch 21.
x "). These connection parameters are written in the cell header, as shown at 43 in FIG. The cell is then written to data RAM memory 29, and a pointer to the cell is linked to an appropriate one of the plurality of FIFO input queues. The selection of the queue is performed based on the priority of the related flow.

【0060】入力キュー内のキューセルのヘッドの相対
的な優先順位が、各セルタイムの間に調べられ、最も高
い優先順位を有するキューセルのヘッドが、次のアービ
トレーション(arbitration)セッションの間のアービ
トレーションのために選択される。さらに、キューセル
の優先順位のより低いヘッド(即ち、キューセルの任意
の選択されていないヘッド)の優先順位は(図略の手段
により)一定量ずつ増加され、これによって、次のアー
ビトレーションセッションにおけるアービトレーション
のためにセルが選択される可能性を増加させる。したが
って、優先権が高い入力キューは、優先権が低いキュー
よりも単位時間当たりのスループットが大きいが、優先
権が低いキューは、キューセルのヘッドの優先順位が時
間とともに増加するため、遅れが制限される。
The relative priority of the heads of the cue cells in the input queue is examined during each cell time, and the head of the cue cell with the highest priority is determined for the arbitration session during the next arbitration session. Selected for. In addition, the priority of the lower priority head of the cue cell (ie, any unselected head of the cue cell) is increased by a fixed amount (by means not shown), thereby increasing the arbitration of the next arbitration session. To increase the likelihood that a cell will be selected. Thus, higher priority input queues have higher throughput per unit time than lower priority queues, but lower priority queues are limited in delay because the priority of the queue cell heads increases over time. You.

【0061】各アービトレーションサイクルは、スイッ
チ21の1セル時間を必要とし、したがってアービトレ
ーションのために選択されるセルのルーテング情報は、
アービトレーションに勝ったセルまたはセル群のペイロ
ードがスイッチングファブリック24へ放出されるより
1セル時間だけ前にリザベーションリング26に供給さ
れる。即ち、図2において44で示すように、リザベー
ションリング26とスイッチファブリック24によって
受信されるセルは、次のアービトレーションサイクルの
ためのセル(即ち「現在セル」)のヘッダから構成され
ており、これに前のアービトレーションサイクルでアー
ビトレーションに成功したセル(即ち「前のセル」)の
ボディーまたはペイロードが続いている。したがって、
セルボディーがファブリック24に到着すると、これら
のセルをそれらの出力ポートデスティネーションにそれ
ぞれ送るためにファブリックがファブリック制御装置2
5によって既に構成されている。
Each arbitration cycle requires one cell time of switch 21, so the routing information of the cell selected for arbitration is:
The payload of the cell or cells that have won the arbitration is provided to the reservation ring 26 one cell time before being released to the switching fabric 24. That is, as indicated at 44 in FIG. 2, the cells received by the reservation ring 26 and the switch fabric 24 comprise the header of the cell for the next arbitration cycle (ie, the “current cell”), The body or payload of the cell that has been successfully arbitrated in the previous arbitration cycle (ie, the “previous cell”) follows. Therefore,
When the cell bodies arrive at the fabric 24, the fabric is controlled by the fabric controller 2 to send these cells to their respective output port destinations.
5 is already configured.

【0062】図示の実施の形態では、アービトレーショ
ンおよびルーチングのためにセルが4ビット幅のニブル
に分解される。この後(スイッチングプロセスのテスト
を行うために提供されるであろう「アイドルセル」を除
き)、セルが再び組み立てられ、(a)スイッチ21の
適切な出力ポートへの時間的にスケジュールされた転送
のため、および/または(b)制御プロセッサモジュー
ル22への転送のために、データパス、制御パス、また
はその両方においてキューに入れられる。スイッチ21
の出力ポートへのセルの時間的にスケジュールされた転
送が本発明の中心であり、以下これについて更に述べ
る。一方、セルの分解と再組立、テストプロセス、およ
び制御プロセッサ22のRM(Resource Management)
およびOAM(Operation and Maintenance)セルとの
相互作用は深く考える必要のない付随的なトピックであ
る。
In the illustrated embodiment, cells are broken into 4-bit wide nibbles for arbitration and routing. After this (except for the "idle cells" that would be provided to test the switching process), the cells are reassembled and (a) time-scheduled transfer to the appropriate output port of switch 21 And / or (b) queued in the data path, control path, or both, for transfer to the control processor module 22. Switch 21
The time-scheduled transfer of cells to the output ports of a is central to the present invention and is further described below. On the other hand, cell disassembly and reassembly, test process, and RM (Resource Management) of control processor 22
And interaction with OAM (Operation and Maintenance) cells is an incidental topic that does not need to be considered in depth.

【0063】図3を参照すると、スイッチ21はスイッ
チングファブリック24の出力側、即ち送信側でファン
アウトしていることが分かるであろう。したがって、ス
イッチ21の一つの出力チャネルのみが示されている
が、このチャネルは他のチャネルを代表するものである
ことが分かるであろう。
Referring to FIG. 3, it can be seen that switch 21 is fanning out on the output side, ie, the transmission side, of switching fabric 24. Thus, although only one output channel of switch 21 is shown, it will be appreciated that this channel is representative of the other channels.

【0064】図示のように、スイッチングファブリック
24からのセルボディーおよびそれらの関連する回線イ
ンデックスを受け入れるためにフィルセルモジュール5
1を設けることが好ましい。スイッチングファブリック
24の出力側の「有効セル時間」は、通常のセルタイム
の「k」増速ファクターに対する割合によって決定され
る。したがって、例えば、もし通常のセル時間が113
クロックサイクル/セルである場合、スイッチングファ
ブリック24の出力側での有効セル時間は、k=2であ
れば、56.5サイクル/セルである。
As shown, fill cell module 5 to accept cell bodies from switching fabric 24 and their associated line indexes
1 is preferably provided. The "effective cell time" at the output of the switching fabric 24 is determined by the ratio of the normal cell time to the "k" acceleration factor. Thus, for example, if the normal cell time is 113
In the case of clock cycles / cell, the effective cell time at the output of the switching fabric 24 is 56.5 cycles / cell if k = 2.

【0065】有効なセルが受信された時、フィルセルモ
ジュール51は、典型的に、セルをデータメモリ27へ
書き込むためのデータ構造についてのリンクされ番号の
付けられたフリーリスト52から出力されるセル構成を
用いる。このため、フィルセルモジュール51は、要求
に応じて、フリーリスト52の一番上からセル構造を読
み出すためのフッチステートマシーン53を含んでいる
ことが好ましい。これにより、フィルセルモジュール5
1は、セルフロー制御ユニット55にセルの到着を知ら
せるために送る「到着」メッセージへ、セルについての
回線インデックスと、データメモリ27内のセルの位置
についてのポインタを挿入することができる。回線イン
デックスにより、フロー制御ユニット55は、制御メモ
リ29内のコネクションレコードからセルが属するVC
またはフローを突き止めることができる。そして、セル
フロー制御ユニット55はフローのトラフィック成形状
態をチェックできる。フロー制御ユニット55がこれら
の制御セルを認識し、またそれらがデータパス、制御パ
ス、またはその両方においてキューに入れられているか
否かを決定できるようにするためにOAM/RMリコグ
ナイザ57を設けるのが有利である。
When a valid cell is received, fill cell module 51 typically outputs a cell from linked, numbered free list 52 for a data structure for writing the cell to data memory 27. Use the configuration. For this reason, it is preferable that the fill cell module 51 includes a footch state machine 53 for reading a cell structure from the top of the free list 52 on demand. Thereby, the fill cell module 5
1 can insert a line index for the cell and a pointer to the location of the cell in the data memory 27 into an "arrival" message sent to inform the cell flow control unit 55 of the arrival of the cell. From the connection record in the control memory 29, the flow control unit 55
Or the flow can be ascertained. Then, the cell flow control unit 55 can check the traffic shaping state of the flow. An OAM / RM recognizer 57 is provided to allow the flow control unit 55 to recognize these control cells and determine whether they are queued in the data path, control path, or both. Is advantageous.

【0066】トラフィックコントラクトコンプライアン
トフローのセルのためのメモリポインタは、セルフロー
制御ユニット55がキュー制御ユニット58へ送る「a
ddCell」メッセージに応答してVC毎のキュー内
に入れられる。各addCellメッセージは、それが
属するセルおよび関連するフローまたはVCのための回
線インデックスを識別する。また、addCellメッ
セージは、セルがデータパス、制御パス、またはその両
方においてキューに入れられるべきか否かを示す。セル
が適切にキューに入れられると、新たにキューに入れら
れたセルを、それが属するVCについて将来行われるレ
ート成形演算の間に考慮すべきことをフロー制御ユニッ
ト55に通知するために、キュー制御ユニット58がフ
ロー制御ユニット55に「added」メッセージを返
す。
The memory pointer for the cell of the traffic contract compliant flow is transmitted by the cell flow control unit 55 to the queue control unit 58 as “a”.
Queued per VC in response to the "ddCell" message. Each addCell message identifies the cell to which it belongs and the line index for the associated flow or VC. The addCell message also indicates whether the cell should be queued on the data path, control path, or both. Once the cells are properly queued, the newly queued cells are queued to inform the flow control unit 55 that consideration should be taken during future rate shaping operations for the VC to which it belongs. The control unit 58 returns an "added" message to the flow control unit 55.

【0067】キュー制御ユニット58が、それぞれのキ
ューにセットされている深さ制御の制限に関するVC毎
キューの長さをモニターするのが有利である。これによ
り、制御ユニット58は、VC毎のキューが過剰に長く
なった時、ABRフローに対してのコンゲッション制御
動作を開始することができる。また、制御ユニット58
は、トラフィックコントラクトを越えているフローを特
定し、そのような適合しないフローのセルを削除するか
または記録するための適切なポリーシング機能(図示
略)を動作させることができる。
Advantageously, the queue control unit 58 monitors the per-VC queue length for the depth control limits set for each queue. Thus, the control unit 58 can start the congruence control operation for the ABR flow when the queue for each VC becomes excessively long. The control unit 58
Can activate the appropriate policing function (not shown) to identify flows that are exceeding the traffic contract and to delete or record cells for such non-conforming flows.

【0068】アドミッションコントローラ61は、キュ
ー制御ユニット58から返される「added」メッセ
ージを監視し、スケジューラ62に、空でないVC毎キ
ューのためのキューセルのヘッドがスケジュールされた
時刻に転送されるようにカレンダキュー63上に組み入
れる。スケジューラ62は、カレンダキュー63上への
キューセルのヘッドの組入れを、それらのためにスケジ
ューラ62が計算するそれぞれの仮想終了時刻VT
(f,j+1)(または「仮想開始時刻」)に従って行
うために、VC毎の仮想クロックを採用している。上記
C.1を参照。
The admission controller 61 monitors the "added" message returned from the queue control unit 58 so that the scheduler 62 transfers the queue cell head for the non-empty per-VC queue at the scheduled time. Put it on the calendar queue 63. The scheduler 62 determines the incorporation of the heads of the queue cells onto the calendar queue 63 and the respective virtual end times VT for which the scheduler 62 calculates.
In order to perform according to (f, j + 1) (or “virtual start time”), a virtual clock for each VC is employed. C. above. See 1.

【0069】カレンダキュー63は、スケジュールされ
たセルがスケジュールされた時刻よりも前に伝送のため
に放出されることを阻止するため、システムの「実時
刻」と「現在時刻」を追跡する。即ち、スケジューラ6
2とカレンダキュー63は、ストールド仮想クロックを
提供し、このため伝送することがスケジュールされたセ
ルは、システムの実時刻が各々の伝送時刻に達した時の
みに、伝送のために放出される。図示のように、カレン
ダキュー63によって伝送のために放出されたセルを有
するコネクションは、伝送リスト65上の伝送の準備が
できているセルを有するコネクションのリンクリストに
リンクされる。
The calendar queue 63 keeps track of the "real time" and "current time" of the system to prevent scheduled cells from being released for transmission prior to the scheduled time. That is, the scheduler 6
2 and the calendar queue 63 provide a stalled virtual clock, so that cells scheduled for transmission are released for transmission only when the real time of the system reaches the respective transmission time. As shown, connections having cells released for transmission by the calendar queue 63 are linked to a linked list of connections having cells ready for transmission on the transmission list 65.

【0070】カレンダキュー63はフロー制御ユニット
55に対して、任意の所定のコネクション上での伝送の
ためにセルを放出するか否かを知らせる。すると、フロ
ー制御ユニット55は、もし所定のコネクションのため
のVC毎のキュー上の次のセル(もしあれば)について
のリファレンス(即ち、キューセルの新しいヘッド)を
要求し、アドミッションコントロール61に、このリフ
ァレンスをスケジューリングのためにスケジューラ62
に対して認めるべきことを通知する。これにより、アド
ミッションコントロール61はカレンダキュー63との
閉ループ通信に効果的に関与し、スケジューリングを認
めたキューセルのヘッドが、VC毎のキュー内の他の全
てのセルの除外に対して認められることを確実にする。
したがって、カレンダキュー63は、一つ以上の時間制
限されたタイムホイール、または「タイムライン」66
を採用することによって実施できる。これらのタイムホ
イールのタイムスパンは、少なくともシステムがサポー
トするように設計された最低周波数のフローの周期と同
じ程度にして時間ラップ(time wrap)によって引き起
こされる曖昧さを阻止しなければならず、好ましくは2
倍とし、これにより相対時刻を2の補数演算を使用して
比較できる。
The calendar queue 63 informs the flow control unit 55 whether to release cells for transmission on any given connection. The flow control unit 55 then requests a reference (ie, the new head of the queue cell) for the next cell (if any) on the per-VC queue for the given connection, and This reference is used by scheduler 62 for scheduling.
Notify to This ensures that the admission control 61 is effectively involved in closed loop communication with the calendar queue 63, and that the head of the queue cell that has granted scheduling is allowed to exclude all other cells in the queue per VC. To ensure.
Thus, the calendar queue 63 contains one or more time-limited time wheels, or “timelines” 66.
Can be implemented. The time span of these time wheels must be at least as large as the period of the lowest frequency flow designed to support the system to prevent ambiguity caused by time wrap, and Is 2
Times so that the relative times can be compared using two's complement arithmetic.

【0071】B.固定ビット長データ転送リミットのフ
ローの成形による指定されたピークフローレート 図4を参照すると、ストールド仮想クロック伝送制御
は、出力待機ルーチングメカニズムからのATMセルな
どの固定ビット長データ転送単位の時間多重フローを、
DBR/CBR ATMサービスのためのPCRなどの
指定されたピークのデータ単位のフローレートに成形す
るのに非常に適していることが分かる。前述したよう
に、所定の出力ポートに送られるフローのデータ転送単
位は、送りだされた後、フロー毎キューに入れられる。
これらのキューの先頭にあるデータ転送単位は、スケジ
ューラ62によってタイムラインカレンダキュー63に
組み込むことがアドミッションコントローラ61によっ
て認められる(他の全ての転送単位は除いて)。そし
て、スケジューラ62は、これらのキュー転送単位のヘ
ッドに関してフロー毎仮想クロック演算を行い、それら
の各々の理論的終了時刻VT(f,j+1)または各々
の理論的開始時刻に従ってカレンダキュー63から放出
するようにスケジュールする。
B. Specified peak flow rate by shaping the flow of fixed bit length data transfer limit Referring to FIG. 4, the stalled virtual clock transmission control is a time multiplexed flow of fixed bit length data transfer units such as ATM cells from the output waiting routing mechanism. To
It can be seen that it is very suitable for shaping to a flow rate of a specified peak data unit, such as PCR for DBR / CBR ATM service. As described above, a data transfer unit of a flow sent to a predetermined output port is put into a queue for each flow after being sent.
The admission controller 61 recognizes that the data transfer unit at the head of these queues is incorporated into the timeline calendar queue 63 by the scheduler 62 (except for all other transfer units). Then, the scheduler 62 performs a virtual clock operation for each flow with respect to the heads of these queue transfer units, and releases them from the calendar queue 63 according to their respective theoretical end times VT (f, j + 1) or their respective theoretical start times. To schedule.

【0072】実時刻は、成形された時間多重出力トラフ
ィックが出力リンク71の帯域幅を本質的に満たすこと
ができる速度でタイムライン63上で増加させるのが有
利である。思い出されるように、スケジューラ62が各
フローのキューメンバーのヘッドをマップ化することが
できる分解可能なタイムスロットの最大数は、これらの
フローの最低許容周波数に対する最高許容周波数の比に
基づく。したがって、実時刻がバケット毎にセルレート
の論理的倍数で増加される。
The actual time is advantageously increased on the timeline 63 at such a rate that the shaped time multiplexed output traffic can essentially fill the bandwidth of the output link 71. As will be recalled, the maximum number of resolvable timeslots to which scheduler 62 can map the queue member head of each flow is based on the ratio of the highest to the lowest allowable frequency of these flows. Therefore, the actual time is increased by a logical multiple of the cell rate for each bucket.

【0073】タイムライン63についてのリファレンス
である現在の実時刻より前であるか等しい時刻を表すタ
イムスロットに存在するデータ転送単位は、伝送のため
に選ばれる資格が有り、したがって、前述のようにして
転送リスト65にリンクされる。しかし、タイムライン
63の遅いタイムスロットに関連するタイムスロットに
存在するデータ転送単位は、システムの実時刻がこれら
のタイムスロットに到達するのに充分なだけ進むまで待
ちの状態になる。ロールオーバによる曖昧さを避けるた
めに、タイムライン63は、以前にスケジュールされた
データ転送リミットに対する全てのリファレンスを、次
のスキャンを見越して後からスケジュールされた転送単
位に対しての任意のリファレンスが挿入される前に各タ
イムスロットから除去される。
The data transfer units present in the time slot representing a time before or equal to the current actual time, which is a reference for the timeline 63, are eligible to be selected for transmission, and therefore, as described above. To the transfer list 65. However, the data transfer units present in the time slots associated with the later time slots of the time line 63 will wait until the actual time of the system has advanced enough to reach these time slots. To avoid ambiguity due to rollover, the timeline 63 shows that all references to previously scheduled data transfer limits are replaced by any reference to later scheduled transfer units in anticipation of the next scan. It is removed from each time slot before it is inserted.

【0074】上記の構成は、適合するDBR/CBR
ATMフローをそれらのトラフィックコントラクトによ
って指定されるPCRに効果的に成形するが、これらの
フローのセル遅延変動(CDV)をそれらのトラフィッ
クコントラクトのτPCR パラメータに適合させる上での
助けにはならない。
The above structure is adapted to DBR / CBR
Although effectively shaping ATM flows into PCRs specified by their traffic contracts, they do not help in adapting the cell delay variation (CDV) of these flows to the τ PCR parameters of their traffic contracts.

【0075】C.相対CDVを最少化するための複数優
先レベル 本発明によれば、異なった周波数のフローによってAT
Mスイッチの出力ポートなどの多重化ポイントへ供給さ
れるデータ転送単位に優先権を与え、周波数が高いフロ
ーのデータ転送単位に、これと衝突する可能性がある周
波数の低いフローのデータ転送単位よりも高い伝送優先
順位が与えられる。図3に示すように、この伝送優先権
は、ストールド仮想クロックスケジューリングメカニズ
ム63などによるスケジュールが許可されたデータ転送
単位を、これらのデータ転送単位が属するフローの周波
数に基づき、優先順位で並べられた複数のタイムライン
66a−66eまたは出力FIFOキューの一つまたは
他のものへと導くことによって実施される。例えば、A
TMスイッチの場合、5つの異なった周波数依存/サー
ビス種類依存の出力優先順位で実施することが推奨され
る。この優先順位には、(1)出力リンクの最大レート
の少なくとも1/16の折衝された出力レートを有する
フローからのセルに対しての最も高い優先順位、(2)
出力リンクレートの1/16〜1/256の範囲の折衝
された出力レートを有するフローからのセルに対しての
2番目の優先順位、および(3)出力リンクレートの1
/256〜1/4096の範囲の折衝された出力レート
を有するフローからのセルに対しての3番目の優先順位
が含まれる。低い2つの優先権は、ゼロでない折衝され
たMCRレートを有するABRコネクションに対して、
およびMCRレートが零のURBコネクションとABR
コネクションに対してそれぞれ設定するのが好ましい。
C. Multiple Priority Levels to Minimize Relative CDV According to the present invention, different frequencies of AT
Give priority to data transfer units supplied to multiplexing points such as the output port of the M switch, and give higher priority to data transfer units of high-frequency flows than data transfer units of low-frequency flows that may collide Is also given a higher transmission priority. As shown in FIG. 3, the transmission priority is obtained by arranging data transfer units for which scheduling is permitted by the stalled virtual clock scheduling mechanism 63 or the like on the basis of the frequency of the flow to which these data transfer units belong. Implemented by leading to one or other of a plurality of timelines 66a-66e or output FIFO queues. For example, A
In the case of TM switches, it is recommended to implement with five different frequency dependent / service type dependent output priorities. This priority includes (1) the highest priority for cells from flows that have a negotiated output rate of at least 1/16 of the maximum rate of the output link; (2)
A second priority for cells from flows having a negotiated output rate in the range of 1/16 to 1/256 of the output link rate, and (3) one of the output link rates
A third priority for cells from flows with negotiated output rates in the range of / 256 to 1/4096 is included. The two lower priorities are for ABR connections with a non-zero negotiated MCR rate,
URB connection and ABR with zero MCR rate
It is preferable to set each for the connection.

【0076】後から分かるように、本発明は、周波数の
低いフローのCDVを実質的に増加させることなく、周
波数の高いフローのCDVを効果的に減少させる。一般
論として、許容できるCDVは、フローの折衝されたレ
ートに依存して変化する。例えば、100個のセルタイ
ムのCVDは、予期されるセル10個あたり1個の出力
間隔に関しては非常に大きいが、もし折衝された出力間
隔がセル2029個に対して1個にすぎない場合には一
般的に問題にならない。
As will be seen, the present invention effectively reduces the CDV of high frequency flows without substantially increasing the CDV of low frequency flows. In general terms, the acceptable CDV varies depending on the negotiated rate of the flow. For example, a CVD of 100 cell times is very large for one output interval per 10 expected cells, but if the negotiated output interval is only one for 2029 cells. Does not generally matter.

【0077】周波数が異なるフローのデータ転送単位ま
たはセルの伝送をスケジュールするためにカレンダキュ
ーメカニズムを採用する場合、高周波数で優先順位の高
いフローは、許容可能な低いCDVを達成するようスケ
ジュールされ、かつ単一のセルタイムの精度に分解され
る必要があるが、低周波数/低優先順位のフローは、例
えば、16セルタイムの精度により粗く分解できる。こ
れは、カレンダキュー63上のタイムスロットの数を減
少できることを意味する。これにより、周波数の低いフ
ローのキューセルのヘッドのスケジューリングには一般
に必要でない精度を多少犠牲にして、カレンダキュー6
3を実現するのに必要なメモリの量を減少できる。
When employing a calendar queuing mechanism to schedule the transmission of data transfer units or cells for flows of different frequencies, high frequency, high priority flows are scheduled to achieve an acceptable low CDV, And while low frequency / low priority flows need to be decomposed to a single cell time accuracy, they can be coarsely decomposed with, for example, 16 cell time accuracy. This means that the number of time slots on the calendar queue 63 can be reduced. This allows the scheduling of the heads of the queue cells of low frequency flows at the expense of some accuracy which is generally not needed.
3 can be reduced in the amount of memory required to implement the third method.

【0078】名目上相違する一定周波数のフロー間での
多重化ポイントにおける伝送の衝突の問題を解消するた
めに提供される本発明による周波数に基づく優先順序付
与の技術は、そのような多重化ポイントへセルまたはそ
の他のデータ転送単位を供給するためのフロー毎出力キ
ューを維持する作業を有するアプリケーションなど、フ
ローの相対ジッターを減少させるための多くの異なった
アプリケシーョンにおいて採用できる。
The frequency-based prioritization technique according to the present invention, which is provided to eliminate the problem of transmission collisions at multiplex points between flows of nominally different constant frequencies, is disclosed in the accompanying US Pat. It can be employed in many different applications to reduce the relative jitter of a flow, such as an application having the task of maintaining a per-flow output queue to supply cells or other data transfer units.

【0079】D.ソース・ツー・デスティネーションA
BR制御ループを有するネットワークにおけるABRサ
ービスについてのMCRおよびPCRパラメータのトラ
フィック成形 思い出されるように、標準ABRトラフィックコントラ
クトは明示的または黙示的に指定されたPCRおよびM
CRパラメータを予期しており、MCRは零でもよい。
GCRA(1/MCR,τMCR )に適合するABRフロ
ーは有効であり提供される資格があるが、ネットワーク
はそのフローに対して、それに許可された帯域幅を与え
ていない。これに対し、GCRA(1/PCR,
τPCR )に違反するフローは適合しないものである。し
たがって、ATMスイッチ21などによってネットワー
クまたはネットワーク要素の出力に送られるABRコネ
クションまたはフローは、(1)MCRが零でない保証
(non-zero MCR guarantee)を有するABRフローは、
これらの保証を効果的に満足させるための適切な出力帯
域幅を受け入れること、および(2)ABRの何れもそ
のような出力においてそれらのPCRコミットメントに
違反しないことを確実にするよう成形することが有利で
ある。複数の多重化ポイントを有するネットワークで
は、この成形を多重化ポイントの各々で行うことが有用
である。
D. Source to destination A
Traffic shaping of MCR and PCR parameters for ABR service in a network with a BR control loop As will be recalled, the standard ABR traffic contract is an explicit or implicitly specified PCR and M
Expected CR parameter, MCR may be zero.
An ABR flow that conforms to GCRA (1 / MCR, τ MCR ) is valid and eligible to be offered, but the network has not granted it the allowed bandwidth. In contrast, GCRA (1 / PCR,
Flows that violate τ PCR ) are incompatible. Thus, an ABR connection or flow sent to the output of a network or network element, such as by the ATM switch 21, may be: (1) ABR flows with a non-zero MCR guarantee of MCR:
Accepting the appropriate output bandwidth to effectively satisfy these guarantees, and (2) shaping to ensure that none of the ABRs violate their PCR commitment at such output It is advantageous. In networks with multiple multiplexing points, it is useful to perform this shaping at each of the multiplexing points.

【0080】図4は、ABRフローまたはVCコネクシ
ョンをネットワークまたはネットワーク要素の出力にお
いてそれらのトラフィックコントラクトに適合させるた
めに成形する一つの技術を示している。図示のように、
それぞれのフローが出力サービスを要求するレートを監
視し、最初に85においてフローがGCRA(1/MC
R,τMCR )に適合しているか否かを判断し、86にお
いてGCRA(1/MCR,τMCR )に適合していない
フローがGCRA(1/PCR,τPCR )に適合してい
るか否かを判断する。これらの一連のテスト85と86
の結果を反映する制御信号がスケジューラ62およびそ
れに関連するステアリングロジック87にフィードバッ
クされ、各フローのデータ転送単位(例えば、セル)が
出力に供給される速度に対して適切なレート成形調整が
行えるようにする。後で分かるように、この要求される
状態は、全てのABRVフローが、GCRA(1/MC
R,τMCR )に適合しておらず(またはかろうじて適合
している)、かつGCRA(1/PCR,τPCR )に偽
/適合であることである。なぜなら、これらのアルゴリ
ズムは、それぞれ最低および最大の許容フローレートに
ついてテストするからである。
FIG. 4 illustrates one technique for shaping ABR flows or VC connections at the output of a network or network element to conform to their traffic contracts. As shown,
Each flow monitors the rate at which it requires an egress service, and first at 85 the flow receives a GCRA (1 / MC
R, τ MCR ) is determined, and at 86, the flow not conforming to GCRA (1 / MCR, τ MCR ) conforms to GCRA (1 / PCR, τ PCR ). Judge. These series of tests 85 and 86
Is reflected back to the scheduler 62 and its associated steering logic 87 so that appropriate rate shaping adjustments can be made to the rate at which the data transfer units (eg, cells) of each flow are provided at the output. To As will be seen, this required state is such that all ABRV flows have GCRA (1 / MC
R, τ MCR ) (or barely fit) and false / match to GCRA (1 / PCR, τ PCR ). This is because these algorithms test for the minimum and maximum allowable flow rate, respectively.

【0081】より詳しく述べると、GCRA(1/MC
R,τMCR )に適合するフローは、そらのMCR保証を
満たすのに必要な出力帯域幅を受け取っていないであろ
う。したがって、そのようなフローが85において識別
されたとき、スケジューラ62とそのステアリングロジ
ック87は、その保証されたMCRを幾分上回った速度
での出力のために比較的優先順位が高いストールド仮想
クロックカレンダキュー88上にそのフローのデータ転
送単位(例えば、セル)に対しての引き続いて受信され
るリファレンスをスケジュールするためにセットアップ
される。例えば、これらの引き続いて受信されるセルま
たはパケットのリファレンスは、所定の加速ファクタに
よってフローについてのMCRを乗算して決定される速
度での出力のためにカレンダキュー88上に組み込まれ
る。これにより、ネットワークは、これらの追加の多分
「遅れている」フローに、それらのMCR保証を満足す
るのに必要な追加の出力帯域幅を与える。
More specifically, GCRA (1 / MC
R, τ MCR ) will not have received the required output bandwidth to meet their MCR guarantee. Thus, when such a flow is identified at 85, the scheduler 62 and its steering logic 87 will provide a relatively high priority stall virtual clock calendar for output at a speed somewhat above its guaranteed MCR. Set up on queue 88 to schedule subsequently received references to the data transfer unit (eg, cell) of the flow. For example, these subsequently received cell or packet references are incorporated on a calendar queue 88 for output at a rate determined by multiplying the MCR for the flow by a predetermined acceleration factor. This allows the network to give these additional, possibly "lagging" flows the additional output bandwidth needed to meet their MCR guarantee.

【0082】GCRA(1/MCR,τMCR )非適合A
BRフローは、それぞれ許容できる程度に低いかまたは
許容できない程高いGCRA(1/PCR,τPCR )適
合または非適合レートでの出力サービスを要求している
か否かを判断するために86において更にテストされ
る。このテストの結果が他の制御信号によって捕らえら
れ、スケジューラ62とそのステアリングロジック87
にフィードバックされ、これらのGCRA(1/MC
R,τMCR )非適合フローに対するその後に受信される
リファレンスを優先順位が低いキュー89上に速度に感
応してキューに入れるためにスケジューラ62とそのス
テアリングロジック87をセットアップする。即ち、8
6においてGCRA(1/PCR,τPCR )適合である
ことが分かったフローについてのその後に受信されるリ
ファレンスは、MCR保証を有するABRフローについ
ての伝送リストの最後に付けられる。何故なら、それは
ラウンドロビンの順番で提供されるからである。これに
対し、86においてフローがGCRA(1/PCR,τ
PCR )非適合であることが分かった場合には、そのフロ
ーについてのその後に受信されるリファレンスは、その
フローについてのPCRに従い、非作業維持型ストール
ド仮想クロックカレンダキュー89上にスケジューラ6
2によって組み込まれ、これによりPCRリミットをフ
ローに対して課す。
GCRA (1 / MCR, τ MCR ) non-conforming A
BR flow, high GCRA (1 / PCR, τ PCR ) than can be low or acceptable to the extent that allowed each further tested in 86 to determine whether the requesting output service in compliance or non-compliance rate Is done. The results of this test are captured by other control signals and the scheduler 62 and its steering logic 87
Are fed back to these GCRAs (1 / MC
(R, τ MCR ) Set up scheduler 62 and its steering logic 87 to queue subsequently received references to non-conforming flows onto lower priority queue 89 in a speed sensitive manner. That is, 8
Subsequent received references for flows found to be GCRA (1 / PCR, τ PCR ) compliant at 6 are appended to the transmission list for ABR flows with MCR guarantee. Because it is provided in round robin order. On the other hand, at 86, the flow is GCRA (1 / PCR, τ
PCR ) If found to be non-conforming, then a subsequently received reference for that flow will follow the PCR for that flow and place the scheduler 6 on the non-work-maintained stalled virtual clock calendar queue 89.
2 thereby imposing a PCR limit on the flow.

【0083】より一般的には、図4の実施の形態は下記
のABRトラフィック成形アルゴリズムを実施すること
は明らかであろう:もしGCRA(1/MCR,
τMCR )適合であれば、MCR*加速係数の速度で優先
順位の高いキューに入れ、そうでなく、もしGCRA
(1/PCR,τPCR )適合であれば、優先順位の低い
作業維持型のキューに入れ、そうでなければ、PCR出
力間隔に基づき、優先順位の低い非作業維持型のキュー
に入れる。
More generally, it will be apparent that the embodiment of FIG. 4 implements the following ABR traffic shaping algorithm: if GCRA (1 / MCR,
τ MCR ) if enqueued, queue to higher priority at MCR * acceleration factor rate; otherwise, if GCRA
(1 / PCR, τ PCR) if compatible, queued low work conserving priority, otherwise, based on the PCR output interval, put in a non-work conserving lower priority queue.

【0084】しかし、類似または異なる原理に基づく代
替手段を使用できることは明らかである。
However, it is clear that alternatives based on similar or different principles can be used.

【0085】例えば、図5に示すように、一つの魅力の
ある代替手段は、85と86(図4)においてGCRA
(1/MCR,τMCR )適合でかつGCRA(1/PC
R,τPCR )適合であることが見出されたフローのデー
タ転送単位、即ちセルに対するリファレンスを、(1)
MCRスケジューリング間隔で優先順位の高いカレンダ
キュー88と、(2)優先順位の低いキューの作業維持
領域との両方に入れることである。これは「競合」状態
を作りだす。何故なら、そのような二重にキューに入れ
られたリファレンスの一つのインスタンスがキューの何
れかにおいてサービスのために取り出される度に、デリ
ンカー91は他のキューからそのリファレンスの他のイ
ンスタンスを除去するからである。これは、トレランス
τに関してのより厳しい限界が維持されるであろうこと
を意味する。この変形例でのトラフィック成形アルゴリ
ズムは:キューへ入れるとき、速度MCRで優先順位の
高いキューに入れ、もしGCRA(1/PCR,
τPCR )適合であれば、優先順位の低い作業維持型のキ
ューに入れ、そうでなければ、PCR出力間隔に基づ
き、優先順位の低い非作業維持型のキューに入れ、キュ
ーから出すとき、もし優先順位の高いキューから出すの
であれば、優先順位の低いキューからリンクを外し、そ
うでなければ、優先順位の低いキューからリンクを外
す。
For example, as shown in FIG. 5, one attractive alternative is to use GCRA at 85 and 86 (FIG. 4).
(1 / MCR, τ MCR ) compliant and GCRA (1 / PC
R, τ PCR ) The data transfer unit of the flow found to be conforming, ie, the reference to the cell, is (1)
In the MCR scheduling interval, it is to be placed in both the calendar queue 88 with high priority and the (2) work maintenance area of the queue with low priority. This creates a "race" situation. Because each time one instance of such a doubly queued reference is removed for service in any of the queues, the delinker 91 removes another instance of that reference from the other queue. Because. This means that a tighter limit on the tolerance τ will be maintained. The traffic shaping algorithm in this variant is as follows: when enqueuing, enqueue at higher priority with speed MCR, if GCRA (1 / PCR,
τ PCR ) if acceptable, put into low priority work-maintaining queue; otherwise, based on PCR output interval, put into low priority non-work-maintaining queue and leave queue If leaving the queue with the higher priority, remove the link from the queue with the lower priority; otherwise, remove the link from the queue with the lower priority.

【0086】図6は、ABRコネクションまたはフロー
を成形するための更に他の実施の形態を示す。この実施
の形態では、MCRが零でないことの保証を有するMC
R非適合ABRフローの各々に対して提供される出力帯
域幅が、出力リンク(即ち、ラインインターフェースの
転送側)のABRセル間の平均間隔とABR「レディー
キュー」の現在の長さとに基づいて動的に調整される。
このABR「レディーキュー」の現在長Lenは、93
においてABR伝送リスト65eおよび65f上の作業
維持キューの長さを測定することで判断される。一方、
カレンダキュー上のABRセル間の平均間隔Sは、任意
の非ABRフローに対して許可が与えられた後でABR
フローが利用できる帯域幅を分割することによってリン
クの割合として決定できる。これらの非ABRフローに
よって要求される帯域幅は、94において、非ABRフ
ローのためのエントリーを伝送リスト65に提供するの
に必要な全体的な帯域幅を計算することによって決定さ
れる。
FIG. 6 shows yet another embodiment for shaping an ABR connection or flow. In this embodiment, MC has a guarantee that MCR is not zero.
The output bandwidth provided for each of the R non-conforming ABR flows is based on the average spacing between ABR cells on the output link (ie, the forwarding side of the line interface) and the current length of the ABR "ready queue". Adjusted dynamically.
The current length Len of this ABR “Lady Queue” is 93
Is determined by measuring the length of the work maintenance queue on the ABR transmission lists 65e and 65f. on the other hand,
The average spacing S between ABR cells on the calendar queue is ABR after grant for any non-ABR flow
By dividing the bandwidth available for the flow, it can be determined as the ratio of the link. The bandwidth required by these non-ABR flows is determined at 94 by calculating the overall bandwidth required to provide an entry for the non-ABR flows to transmission list 65.

【0087】例えば、もし94において、出力リンクの
帯域幅の50%がABRフローのために利用できると判
断された場合、当然その時の出力リンク上のABRセル
またはデータ転送単位の間の平均間隔Sが2セルタイム
となる。この情報とABR「レディーキュー」の計算長
Lenとにより、スケジューラ62に、非作業維持型カ
レンダキュー89上にこれらのフローについての到着す
るリファレンスを下記の各出力間隔Tt でスケジュール
させることによりMCR非適合ABRフローのサービス
を最適化できる。
For example, if at 94 it is determined that 50% of the output link bandwidth is available for the ABR flow, then naturally the average spacing S between ABR cells or data transfer units on the current output link is considered. Becomes 2 cell times. With this information and the calculation length Len of the ABR "ready queue", the scheduler 62 schedules the arriving references for these flows on the non-work keeping calendar queue 89 at each of the output intervals Tt described below. Services of non-conforming ABR flows can be optimized.

【0088】 Tt =Min(St ,Max(Pt ,R)) (3) 但し、R=予測ラウンドロビンABR サービスタイム(R=現時刻+S*Len)、 Pt =フローtの次のセルのための最も早いサービスコ
ントラクトコンプライアントデパーチャー(Pt =現時
刻+1/PCR)、 St =フローtの次のセルのための最も遅いサービスコ
ントラクトコンプライアントデパーチャー(St =現時
刻+1/MCR) である。
T t = Min ( St , Max (P t , R)) (3) where R = predicted round robin ABR service time (R = current time + S * Len), P t = next to flow t the earliest service contract compliant with Dinner Departure (P t = the current time + 1 / PCR), S t = flow t of the slowest service contract compliant with Dinner Departure (S t = current time + 1 / MCR for the next cell for the cell ).

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を使用することが有利なATMスイッチ
の単純化したブロック図である。
FIG. 1 is a simplified block diagram of an ATM switch in which it is advantageous to use the present invention.

【図2】図1に示すスイッチを横切る間にATMセルが
とることが好ましい種々の形を追跡した図である。
FIG. 2 illustrates various forms that ATM cells preferably take while traversing the switch shown in FIG. 1;

【図3】図1に示すチップの出力側、即ち送信側におけ
る代表的なチャネルのより詳細なブロック図である。
FIG. 3 is a more detailed block diagram of an exemplary channel at the output side of the chip shown in FIG.

【図4】本発明のストールド仮想クロックカレンダキュ
ーの実施を示す概略図である。
FIG. 4 is a schematic diagram illustrating an implementation of a stalled virtual clock calendar queue of the present invention.

【図5】本発明の他のストールド仮想クロックカレンダ
キューの実施を示す概略図である。
FIG. 5 is a schematic diagram illustrating an implementation of another stalled virtual clock calendar queue of the present invention.

【図6】本発明の更に他のストールド仮想クロックカレ
ンダキューの実施を示す概略図である。
FIG. 6 is a schematic diagram illustrating an implementation of yet another stalled virtual clock calendar queue of the present invention.

【符号の説明】[Explanation of symbols]

58 キュー制御ユニット 62 スケジューラ 63 カレンダキュー 66 タイムライン 87 ステアリングロジック 88 優先順位の高いカレンダキュー 89 優先順位の低いカレンダキュー 58 Queue Control Unit 62 Scheduler 63 Calendar Queue 66 Timeline 87 Steering Logic 88 High Priority Calendar Queue 89 Low Priority Calendar Queue

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ランディス シー.ロジャーズ アメリカ合衆国 03848 ニューハンプシ ャー州 キングストン ロックリモン ロ ード 61 (72)発明者 クリストファー ジェイ.カプラー アメリカ合衆国 02129 マサチューセッ ツ州チャールズタウン サーティーンス ストリート 106 アパートメント 230 ──────────────────────────────────────────────────続 き Continuation of front page (72) Inventor Landis See. Rogers United States 03848 Kingston, Hampshire Rock Limon Road 61 (72) Inventor Christopher Jay. Coupler United States 02129 Charlestown, Massachusetts 13th Street 106 apartments 230

Claims (3)

【特許請求の範囲】[Claims] 【請求項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のパケットを
スケジュールする、トラフィック成形装置。
1. In a packet switched communication system, a traffic shaping device that includes a contract and continuously sends out packets of a time multiplexed flow to substantially match individual network traffic contracts of each flow, The contract specifies a respective peak packet transmission rate and an associated peak rate tolerance for some of the flows, and a mutually exclusive category, i.e., non-zero minimum packet transmissions, each having an associated minimum rate tolerance specified by the contract. A category A flow having a rate;
Classifying each of the flows into one of the category B flows having a traffic contract that allows a zero packet transmission rate, the traffic shaping device determines each of the flows according to the oldest pending packet at the head of the queue order; A queuing mechanism for organizing pending packets of the active flow including the number of flows in a queue; a scheduling mechanism coupled to the queuing mechanism for scheduling the packets of the active flow for transmission; The scheduling mechanism may include a relatively high priority non-work maintenance calendar queue, at least one relatively low priority work maintenance queue, and the high priority queue and the low priority queue. Priority And a non-work-maintaining queue of decisions, said scheduling mechanism comprising: (i) in said high-priority non-work-maintaining calendar queue, a specified minimum delivery rate for a first given flow; (Ii) transmitting the packet of the first flow at a rate exceeding a contract-specified minimum transmission rate for the first flow when the packet of the first flow is transmitted at a rate exceeding the tolerance. In a maintenance calendar queue, when a packet of the first flow is being sent at a rate that exceeds a tolerance of a specified peak sending rate of the first flow, a designated peak transmission for the first flow is performed. (Iii) in the work maintenance queue, the packets of the first flow are transmitted so as to be transmitted at substantially the same rate as the first flow. Scheduling any given Category A packet to be sent according to the selected continuous service strategy when being sent according to the traffic contract, the scheduling mechanism comprising: (iv) at the other non-work keeping calendar queue , A specified peak for the second flow when packets of a second given flow are being sent at a rate that exceeds a tolerance relative to a specified peak delivery rate for the second flow. (V) To send at almost the same rate as the sending rate,
Scheduling any given category B packets to be sent according to the selected strategy in the work maintenance queue when the packets of the second flow are being sent according to the traffic contract of the second flow; Traffic shaping device.
【請求項2】 パケット交換通信システムにおいて、コ
ントラクトを含み、それぞれのフローの個々のネットワ
ークトラフィックコントラクトに実質的に適合するよう
に時間多重フローのパケットを連続的に送出するトラフ
ィック成形装置であって、前記コントラクトは、前記フ
ローのうちいくつかにそれぞれの許容ピークパケット送
出レートを委ねるとともに、相互排他的カテゴリー、即
ち、それぞれの非ゼロ許容最小パケット送出レートが委
ねられるカテゴリーAフローと、ゼロパケット送出レー
トを許容するトラフィックコントラクトを受けるカテゴ
リーBフローのうちの1つに前記フローの各々を分類
し、前記トラフィック成形装置は、 待ち行列の順番の先頭にある最も古い未決のパケットに
従ってそれぞれの待ち行列中の前記いくつかのフローを
含むアクティブフローのパケットを編成するキューイン
グメカニズムを含み、 前記キューイングメカニズムに結合され、送出のために
前記アクティブフローのパケットをスケジュールするス
ケジューリングメカニズムを含み、前記スケジューリン
グメカニズムは、相対的に優先順位が高い非作業維持カ
レンダキューと、少なくとも1つの相対的に優先順位が
低い作業維持キューと、前記優先順位が高いキュー及び
優先順位が低いキューに相対して優先順位が未決定の他
の非作業維持キューと、前記優先順位が高いキュー及び
優先順位が低いキューからの監視送出に結合して前記優
先順位が高いキュー及び優先順位が低いキューにおいて
スケジュールされたパケットを選択的にスケジュールし
ない制御メカニズムを含み、 前記スケジューリングメカニズムは、(i) それぞれのフ
ローのための最小レート委託を越えるレートで送出する
ように前記優先順位の高いカレンダキューの各フローの
パケットをスケジュールし、かつ(ii) 所定の作業維持
キューから出す戦略に従って送出するように前記パケッ
トを前記作業維持キューに入れることによってあらゆる
カテゴリーAフローのパケットを準備し、従ってこれら
のカテゴリーAフローのパケットの競合状態を作り出
し、前記制御メカニズムは、各パケットが前記優先順位
の高いキュー及び前記作業維持キューのうちの1つによ
って送出に達する際に、このパケットを前記キューの他
のパケットの中から取り出すことによって前記遅れてい
るカテゴリーAフローのパケットの前記競合状態を解決
し、 前記スケジューリングメカニズムは、それぞれのフロー
に委ねられる許容ピーク送出レートを越えるレートで送
出されているあらゆるカテゴリーAフロー及びカテゴリ
ーBフローのパケットを、それぞれのフローに委ねられ
るピーク送出レートとほぼ同一のレートで送出するよう
に前記他の非作業維持カレンダキューにおいてスケジュ
ールし、 前記スケジューリングメカニズムは、それぞれのフロー
のためのコントラクトによる委託に適合するレートで送
出されているあらゆるカテゴリーBフローのパケット
を、前記作業維持キューから出す戦略に従って送出する
ように前記作業維持キューに入れる、トラフィック成形
装置。
2. A packet shaping communication system, comprising: a traffic shaping device that includes a contract and continuously sends out packets of a time multiplexed flow to substantially conform to individual network traffic contracts of each flow, The contract entrusts each of the flows with a respective allowable peak packet transmission rate and a mutually exclusive category, ie, a category A flow to which each non-zero allowable minimum packet transmission rate is entrusted, and a zero packet transmission rate. Classifying each of the flows into one of the category B flows that receive a traffic contract that allows the traffic shaping device to receive a traffic contract according to the oldest pending packet at the head of the queue. Go above A queuing mechanism for organizing packets of the active flow including the flows, and a scheduling mechanism coupled to the queuing mechanism for scheduling the packets of the active flow for transmission; A high-priority non-work maintenance calendar queue, at least one relatively low-priority work maintenance queue, and a priority not yet determined for the high-priority queue and the low-priority queue. Not to selectively schedule packets scheduled in the high-priority queue and the low-priority queue in combination with monitoring and sending from the high-priority queue and the low-priority queue. Including a control mechanism; The juling mechanism includes: (i) scheduling packets for each flow in the high priority calendar queue to be sent at a rate exceeding the minimum rate commitment for each flow; and (ii) defining a predetermined work maintenance queue. Preparing packets of any category A flows by placing them in the work queue to be sent according to the outgoing strategy, thus creating a race condition for the packets of these category A flows, the control mechanism comprising: When arriving at one of the high-priority queue and the maintenance queue, this packet is taken out of the other packets of the queue by removing the packet of the delayed category A flow. Resolve the race condition and The Nism sends out all Category A and Category B flow packets that are sent at a rate that exceeds the allowable peak sending rate entrusted to each flow at approximately the same rate as the peak sending rate entrusted to each flow. Scheduling in the other non-work maintenance calendar queue such that the scheduling mechanism removes from the work maintenance queue any Category B flow packets that are being sent at a rate that is compatible with the contract delegation for each flow. A traffic shaping device, wherein the traffic shaping device queues the work maintenance queue for delivery according to a delivery strategy.
【請求項3】 それぞれのフローのための個々のトラフ
ィックコントラクトに実質的に適合するように、複数の
時間多重フローの固定ビット長パケットを既知の帯域幅
のリンクに連続的に送出するトラフィック成形プロセス
において、前記フローの少なくともいくつかを、前記い
くつかのフローのためにゼロよりも大きいそれぞれのピ
ークレート及び最小パケット送出レートを指定するそれ
ぞれのアベイラブルビットレートトラフィックコントラ
クトに成形するルーチンであって、前記ルーチンは、 待ち行列の順番の先頭にある最も古い未決のパケットに
従ってそれぞれの待ち行列中の前記いくつかのフローを
含むアクティブフローのパケットを編成するステップを
含み、 アベイラブルビットレートトラフィックコントラクトを
有するフローのために前記リンクで利用可能な帯域幅を
前記既知の帯域幅のパーセントとして動的に決定するス
テップを含み、 アベイラブルビットレートトラフィックコントラクトを
有するアクティブフローの数を動的に決定するステップ
を含み、 アベイラブルビットレートトラフィックコントラクトを
受ける各フローのキューパケットの各先頭に対して、前
記フローのためのコントラクト指定の最小送出レートに
基づいた第1の理論的送出時刻と、アベイラブルビット
レートフローのために前記リンクで利用可能な帯域幅の
アクティブアベイラブルビットレートフロー毎の割り当
てに基づいた第2の理論的送出時刻と、前記フローのた
めのコントラクト指定のピーク送出レートに基づいた第
3の理論的送出時刻とを決定するステップを含み、 前記第2及び第3の理論的送出時刻のうち最も早いもの
を放棄するステップを含み、 残りの前記理論的送出時刻のうち最も早い時刻で送出す
るように非作業維持キューにおいて前記パケットをスケ
ジュールすることを含む、 ルーチン。
3. A traffic shaping process for continuously sending fixed bit length packets of a plurality of time multiplexed flows over a link of known bandwidth to substantially conform to an individual traffic contract for each flow. A routine for shaping at least some of said flows into respective available bit rate traffic contracts specifying respective peak rates and minimum packet transmission rates greater than zero for said some flows, The routine includes the steps of organizing the packets of the active flow including the number of flows in each queue according to the oldest pending packet at the head of the queue, the flow having an available bit rate traffic contract. Dynamically determining the number of active flows with available bit rate traffic contracts, comprising dynamically determining the bandwidth available on the link as a percentage of the known bandwidth for For each head of a queue packet of each flow that receives a bit rate traffic contract, a first theoretical delivery time based on a contract specified minimum delivery rate for the flow and the link for an available bit rate flow A second theoretical transmission time based on an active available bit rate per-flow allocation of available bandwidth and a third theoretical transmission time based on a contract-specified peak transmission rate for said flow. Deciding, the second Discarding the earliest of the third theoretical transmission times, and scheduling the packet in the non-work-maintaining queue to transmit at the earliest of the remaining theoretical transmission times. , Routine.
JP17261797A 1996-06-27 1997-06-27 Traffic shaping apparatus and routine Expired - Fee Related JP3813698B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2064496P 1996-06-27 1996-06-27
US020644 1997-06-10
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 true JPH10190691A (en) 1998-07-21
JP3813698B2 JP3813698B2 (en) 2006-08-23

Family

ID=37051932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17261797A Expired - Fee Related JP3813698B2 (en) 1996-06-27 1997-06-27 Traffic shaping apparatus and routine

Country Status (1)

Country Link
JP (1) JP3813698B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097174A (en) * 2009-10-27 2011-05-12 Honda Motor Co Ltd System and method of processing service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097174A (en) * 2009-10-27 2011-05-12 Honda Motor Co Ltd System and method of processing service

Also Published As

Publication number Publication date
JP3813698B2 (en) 2006-08-23

Similar Documents

Publication Publication Date Title
JP3813696B2 (en) Packet switched communication system
JP3813695B2 (en) Packet switched communication system
JP3813697B2 (en) Traffic molding equipment
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6519595B1 (en) Admission control, queue management, and shaping/scheduling for flows
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
US6434155B1 (en) Weighted round robin engine used in scheduling the distribution of ATM cells
US5818815A (en) Method and an apparatus for shaping the output traffic in a fixed length cell switching network node
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
EP0817433B1 (en) Packet switched communication system and traffic shaping process
EP1111851B1 (en) A scheduler system for scheduling the distribution of ATM cells
US6542509B1 (en) Virtual path level fairness
EP0817431B1 (en) A packet switched communication system
EP0817435B1 (en) A switch for a packet communication system
JP3813698B2 (en) Traffic shaping apparatus and routine
JP3813700B2 (en) Packet time-multiplexed continuous flow shaping method
EP0817434B1 (en) A packet switched communication system and traffic shaping process
EP0817432B1 (en) A packet switched communication system
JP3813699B2 (en) Switch for packet communication system
JP3177188B2 (en) Packet transmitting / receiving method and apparatus
JP2000165394A (en) Cell receiver and traffic control 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