[go: up one dir, main page]

JP4879382B2 - パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置 - Google Patents

パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置 Download PDF

Info

Publication number
JP4879382B2
JP4879382B2 JP2000124667A JP2000124667A JP4879382B2 JP 4879382 B2 JP4879382 B2 JP 4879382B2 JP 2000124667 A JP2000124667 A JP 2000124667A JP 2000124667 A JP2000124667 A JP 2000124667A JP 4879382 B2 JP4879382 B2 JP 4879382B2
Authority
JP
Japan
Prior art keywords
packet
length
value
variable
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000124667A
Other languages
English (en)
Other versions
JP2001339427A (ja
Inventor
健一 瓦井
博 朝永
直樹 松岡
次雄 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000124667A priority Critical patent/JP4879382B2/ja
Priority to US09/813,226 priority patent/US7016366B2/en
Priority to EP20060000474 priority patent/EP1646192B1/en
Priority to EP01106433A priority patent/EP1137227A3/en
Publication of JP2001339427A publication Critical patent/JP2001339427A/ja
Application granted granted Critical
Publication of JP4879382B2 publication Critical patent/JP4879382B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/627Queue scheduling characterised by scheduling criteria for service slots or service orders policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/608ATM switches adapted to switch variable length packets, e.g. IP packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、IP(Internet Protocol )パケットのような可変長パケット(またはフレーム)のルーチングを行なうパケットスイッチ、特に、可変長パケットに対するQoS(Quality of Service)制御、廃棄制御、マルチキャスト制御といった複雑な制御を実現する大容量パケットスイッチ、それに用いることの可能なスケジューリング装置、廃棄制御回路、マルチキャスト制御回路およびQoS制御装置に関する。
【0002】
【従来の技術】
近年、インターネットの急速な普及により、通信トラヒック需要が急増しており、Tbps(テラビット/秒)クラス以上の高速・大容量のルータやスイッチの実現が望まれている。
従来、IPパケットのような可変長パケットを処理するルータ装置において、パケットフォワーディング処理をハードウェア化することにより、高速化を図るアプローチが行われているが、QoS制御、廃棄制御、マルチキャスト制御といった複雑な処理については、ソフトウェア処理、またはハードウェアで行う場合にも低速での処理に限られていた。またATM(Asynchronous Transfer Mode)交換機においては、基本的に固定長パケット毎にQoS制御、廃棄制御、マルチキャスト制御が行われていた。
【0003】
前者のルータ装置のようにソフトウェアベースの方式では、複雑な処理を実装することができるが、回線速度の高速化にともない、回線速度と同等の速度でソフトウェアの処理を実現することは困難となってきており、より高速・大容量の処理は困難となっていた。
後者のATM交換機では、固定長パケット毎にQoS制御、廃棄制御、マルチキャスト制御を行うため、IPパケットのような可変長パケット毎にQoS制御、廃棄制御、マルチキャスト制御する機能を持たない。またGFR(Guaranteed Frame Rate )というATMにおいてAAL5の可変長パケット識別を利用して、可変長パケットレベルのQoS保証、廃棄制御を行うという試みも行われているが、この方式でも、パケットのスイッチング、転送単位はセルと呼ばれる固定長パケット単位であり、ネットワークを構成する全ノードをATM交換機で実現する必要があり、IPパケット単位でスイッチング、転送処理を行うパケットスイッチとして適用することはできない。
【0004】
次に、QoS制御に関しては、主に、使用帯域が予め規定されないベストエフォートクラスの可変長パケット間での公平な帯域分配方法として、WFQ(Weighted Fair Queueing)が知られている(A.K.Parekh, R.G.Gallager, "A Generalized Processor Sharing Approach to Flow Control in Integrated Service Networks: The Single-Node Case", IEEE/ACM trans. On Networking, Vol 1, No.3, pp.344-357, Jun. 1993; A.K.Parekh, R.G.Gallager, "A Generalized Processor Sharing Approach to Flow Control in Integrated Service Networks: The Multiple-Node Case", IEEE/ACM trans. On Networking, Vol 2, No.2, pp.137-150, Jun. 1993)。
【0005】
WFQは、キューイングされているコネクションに設定されているウェイトに比例して余剰帯域を分配するGPS(Generalized Processor sharing )を基本にしている。GPSでは、アクティブな(キューを使用している)任意のコネクション(i)(j)について常に式(1)が成立するように読出しデータ量を分配する帯域割り当て方式である。
【0006】
S(i,τ,t)/S(j,τ,t)≧Φ(i)/Φ(j) …(1)
ここで、Φ(N)はコネクションNに対するウェイト、S(N,τ,t)はコネクションNに対して時間〔τ,t〕の間にサービスされるデータ量である。また式(1)で等号が成り立つのはコネクション(i)と(j)のデータがともにキューイングされているときである。例えば、各コネクション#0,#1,#2,#3にそれぞれ、ウェイトを0.1:0.2:0.4:0.3の割合で与えておき、もし仮にコネクション#3のみノンアクティブ(パケットがキューイングされていない)で、それ以外のコネクションがアクティブであるとき、コネクション#3を除くコネクション#0〜#2のコネクションで、各々読出し帯域が0.1:0.2:0.4になるように帯域を分配する。
【0007】
GPSは基本的に無限小のビット単位での帯域分配を意味するが、現実には分配単位が可変長パケット(フレーム)毎であるため、WFQではGPSをフレームレベルの公平な帯域分配に拡張している。
WFQでは、フレーム到着時にフローiのk番目のパケットが時刻t(i,k)に到着し、そのフレーム長をL(i,k)としたときの終了予定時刻F(i,k)を式(2)で計算し、Fの小さい順から読み出す。
【0008】
F(i,k)=max{F(i,k−1),t(i,k)}+L(i,k)/r(i,k) …(2)
但し、r(i)=Φ(i)/ΣΦ×R、ここでΣΦはキューイングされているコネクションのウェイトの合計であり、Rは出力リンクのレートである。
ここで、r(i,k)はパケットがキューから読み出される度に変化するため、全コネクションについてF(i,k)の再計算が必要となり、また、キューイングされている全パケットについて、終了予定時刻F(i,k)を保持しなければならないため、ハード規模が大きくなるという問題があった。そのため実時間の代わりにVirtual Time(キューイングされているコネクション数に応じて刻みの変化する時間カウンタ)を式(3)のように定義し、F(i,k)を式(4)のように再定義し、Virtual TimeをΣΦとRが変化するたびに再計算し、F(i,k)については、パケット到着時に1回計算するのみで実現する方式が提案されている。
【0009】
Vt=V(τ)+(R/ΣΦ)(t−τ) …(3)
F(i,k)=max{F(i,k−1),Vt(i,k)}+L(i,k)/Φ(i) …(4)
しかしながら、Virtual timeを用いると、演算量の削減が図れるが、実時間で処理する必要のある、転送レートが規定された帯域保証クラスのパケットとの間の優先度制御が困難となるという問題が生じていた。
【0010】
廃棄制御に関しては、アダプティブな廃棄方式としてRED(Random Early Detection)が知られている(Internet Society RFC2309)。これは、輻輳状態が同期してしまうことを防ぐため、輻輳状態になったらバッファが溢れる前に輻輳状態に応じた確率でランダムに廃棄を行う方式である。これにより、TCP(Transmission Control Protocol)のような輻輳制御機能を持つプロトコルでは早めに送信レートを落とすことが出来、かつ全端末の動作が同期しないので安定したスループットが出るという特長を持つ。
【0011】
しかしながら、REDは、廃棄をランダムに行う必要があるためアルゴリズムが複雑でソフトウェアにより実装されており、高速化には向いていなかった。また、基本的に廃棄はフレーム(可変長パケット)到着時に行うため、その時点でバッファに溜まっているデータが全て掃けた後でないと廃棄が端末に通知されないという問題があった。
【0012】
マルチキャスト制御に関しては、バッファアドレス管理方式として、従来では固定長パケットに対するパケットbyパケットの動作のみが実現されており、複数の固定長パケットの連続からなる可変長パケットを意識した制御は実現されていない。
【0013】
【発明が解決しようとする課題】
したがって本発明の目的は、可変長パケットに対して、高速かつ少ないハードウェア規模でQoS制御、廃棄制御、マルチキャスト制御といった複雑な制御を実現する大容量パケットスイッチ、それに用いることの可能なスケジューリング装置、廃棄制御回路、マルチキャスト制御回路およびQoS制御装置を提供することにある。
【0014】
【課題を解決するための手段】
本発明によれば、複数の入力回線からの可変長パケットを固定長パケットに分割するパケット分割部と、複数の入力回線のそれぞれに対して設けられ、その各々が、複数の出力回線の各々について、指定可能なQoS(Quality of Service)クラス数よりも少数の相異なる優先度が与えられたキューを有し、対応する入力回線からの固定長パケットを、出力回線およびQoSクラスに従って該キューのいずれかに格納する複数の入力バッファ部と、入力バッファ部のキューに格納された固定長パケットを、キューに与えられた優先度に従って単位時間内では出力回線が同じである2以上の固定長パケットが読み出されないように読み出すスケジューラと、スケジューラが読み出した固定長パケットの各々を複数の出力回線のうちの指定された1つにルーチングするスイッチと、複数の出力回線のそれぞれに対して設けられ、スイッチから出力される固定長パケットからの可変長パケットの組み立ておよびQoSクラスに基づく優先制御を行なうための複数の出力バッファ部とを具備するパケットスイッチが提供される。
【0015】
本発明によれば、指定可能なQoSクラス数と同数のキューであって、可変長パケットをQoSクラスに応じてそれぞれに登録し得るものと、可変長パケットがキューの先頭に達したとき第1の値を対応するトークンに加算する手段と、単位時間が経過するごとにアクティブなQoSクラスのトークンから第2の値を減算する手段と、出力回線へのパケット装置が可能なとき、アクティブなQoSクラスの中で、対応するトークンが最小もしくは0であるものの可変長パケットの読み出しを開始する手段とを具備するスケジューリング装置もまた提供される。
【0016】
本発明によれば、指定可能なQoSクラス数と同数のキューであって、可変長パケットをQoSクラスに応じてそれぞれに登録し得るものと、帯域保証クラスの可変長パケットおよび指定帯域内で入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第1のカウンタと、ベストエフォートクラスの可変長パケットおよび指定帯域を超えて入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第2のカウンタと、第1のカウンタについて0でないカウント値を有するQoSクラスおよび第2のカウンタについて0でないカウント値を有するQoSクラスを対象としてパケット長一定として優先して出力すべきパケットのQoSクラスを決定して通知する優先制御部と、優先制御部からの通知をQoSクラスごとにカウントし、カウント値が対応するキューの先頭の可変長パケットのパケット長に相当する値に達したQoSクラスについて、可変長パケットを読み出して出力回線へ送出する可変長パケット管理部とを含むスケジューリング装置もまた提供される。
【0017】
本発明によれば、バッファ内に格納されているパケットの量のその閾値との差分にバッファの先頭に存在する可変長パケットのパケット長を乗じてその結果を出力する演算回路と、カウンタと、演算回路の演算結果をカウンタに加算する加算回路と、カウンタの値が所定値を超えているときバッファの先頭に存在する可変長パケットを一度に廃棄し、前記パケット長に所定値を乗じた値をカウンタから減算する制御回路とを具備する可変長パケットの廃棄制御回路もまた提供される。
【0018】
本発明によれば、バッファ内に格納されているパケットの量のその閾値との差分を出力する演算回路と、カウンタと、演算回路の演算結果をカウンタに加算する加算回路と、カウンタの値が所定値を超えているときバッファの先頭に存在する固定長パケットを廃棄し、所定値をカウンタから減算する制御回路とを具備する可変長パケットの廃棄制御回路もまた提供される。
【0019】
本発明によれば、バッファに格納されている、マルチキャスト制御すべき可変長パケットのアドレスを格納するマルチキャストキューと、複数の出力回線のそれぞれに対して設けられた複数の出力バッファキューと、バッファに格納されている可変長パケットのアドレスを管理するアドレス管理テーブルと、マルチキャスト制御すべき可変長パケットのアドレスがマルチキャストキューに格納されたとき、該可変長パケットのアドレスを含むレコードをその出力先の数だけアドレス管理テーブルに格納し、その出力先に対応する出力バッファキューに、該レコードのアドレスをそれぞれ格納する制御手段とを具備するマルチキャスト制御回路もまた提供される。
【0020】
本発明によれば、QoSクラスを有する可変長パケットをスイッチングするパケットスイッチにおいて、複数のQoSクラスを簡易な優先度クラスにマッピングする手段と、簡易な優先度クラスに基づいて、前記可変長パケットの読み出し制御を行う手段を備えたことを特徴とするパケットスイッチもまた提供される。
本発明によれば、QoSクラスを有するIPパケットを固定長パケットへ変換し、固定長パケット単位でスイッチングするパケットスイッチにおいて、IPパケットの優先度クラスを、IPパケットに割り当てられるQoSクラスの数より少ない数の簡易な優先度クラスにマッピングする手段と、簡易な優先度クラスに基づいて、前記固定長パケットの読み出し制御を行う手段を備えたことを特徴とするパケットスイッチもまた提供される。
【0021】
本発明によれば、QoSクラスを有するIPパケットを固定長パケットへ変換し、固定長パケット単位でスイッチングするパケットスイッチにおいて、IPパケットの優先度クラスを、IPパケットに割り当てられるQoSクラスの数より少ない数の簡易な優先度クラスにマッピングする手段と、簡易な優先度クラスに基づいて、前記固定長パケットをスイッチへ読み出し制御を行う手段と、スイッチング後の前記固定長パケットを、IPパケットに割り当てられるQoSクラスに基づいて読み出し制御する手段を備えたことを特徴とするパケットスイッチもまた提供される。
【0022】
本発明によれば、高優先グループに属する1つ以上のQoSクラスの中からパケットを読み出すべき1つのQoSクラスを選択する第1の選択部と、低優先グループに属する1つ以上のQoSクラスの中からパケットを読み出すべき1つのQoSクラスを選択する第2の選択部と、高優先グループと低優先グループのいずれか一方を選択し、それによって第1または第2の選択部が選択したQoSクラスのパケットを選択する第3の選択部とを具備するQoS制御装置もまた提供される。
【0023】
【発明の実施の形態】
図1に本発明の一実施形態に係るパケットスイッチを概念的に示す。入力回線から入力された可変長パケットは、パケット分割部10において固定長パケットに分割され入力バッファ部12にバッファリングされる。入力バッファ部12は、N本の入力回線数分あり、各入力バッファは論理的にM本の出力回線毎、およびQoS毎(帯域保証クラス11、ベストエフォートクラス17)に分かれている。各入力回線より入力バッファ部12へ入力されたパケットは各々対応する出力回線毎、QoS毎にバッファリングされる。この際、QoSクラスを予め契約や呼受け付け制御により入力トラヒック量の予想可能な帯域保証クラスと、契約や呼受け付け制御がなく入力トラヒック量の予想ができないベストエフォートクラスの2クラスのいずれかに縮退して割り当てる。
【0024】
入力バッファ部12にバッファリングされた各パケットは、回線間スケジューラ14により、スイッチ部16への送出タイミングが調整される。この際、回線間スケジューラ14では、はじめに出力回線毎にバッファリングされたパケットのうち帯域保証クラスのパケットについて、複数の入力回線で同一の出力回線を選択しないように出力回線を選択する、競合制御を行う(図1:13)。次にベストエフォートクラスのパケットについて、このとき選択されなかった出力回線について、同様に複数の入力回線で同一の出力回線を選択しないように競合制御を行う(図1:15)。以上のような回線間スケジューリング動作を単位時間内、例えば、1つの出力回線で固定長パケット1個に相当するデータを送出するに要する時間内で実施する。これにより、各入力回線間の論理出力バッファ毎、QoSクラス毎の競合制御のもとで各入力バッファから出力されるパケットが選択され、スイッチ部16へ転送される。転送されたパケットはスイッチ部16でパケットに付与されたあて先情報を元に各出力バッファ部18へスイッチングされる。
【0025】
出力バッファ部18に入力した各パケットは、実際のQoSクラス毎(通常3クラス以上)にバッファリングされる。出力バッファ部18では、各出力回線内の各QoSクラス毎のQoS制御(設定レートや優先順位に応じた読み出し順序制御)を行い、各出力回線にパケットを出力する。
ここでは、入力バッファ部12でのQoSクラス数を帯域保証クラスとベストエフォートクラスの2クラスに縮退させている。これにより、多数のキュー間(入力回線数×出力回線数×QoSクラス数(3以上))での競合制御を入力回線数×出力回線数×2に削減できる。
【0026】
一般にQoS制御としては、単純な優先制御だけでなく、読み出しレートなどの複雑な読み出し順序の制御が必要であるが、QoSクラスを帯域保証クラスとベストエフォートクラスに縮退させ、帯域保証クラスをスケジューリングしてからベストエフォートクラスをスケジューリングすることによりスケジューリング処理を簡単化している。
【0027】
さらに、スイッチの内部動作速度を入力バッファの到着速度より高め、スイッチング後の出力バッファ18において、実際のQoSクラス毎のQoS制御を行うことにより、パケットスイッチトータルとしてのQoS制御ポイントを出力バッファ部のQoS制御に集約できる。この際、出力バッファ部では、各出力回線毎のQoSクラス制御のみ行えば良いことから、スイッチ全体のQoS制御が必要な入力バッファ部で行う場合に比べ、必要なハードウェアの量は少ない。
【0028】
図1のパケットスイッチで採用されている、出力回線毎の論理キューを持つ入力バッファ型スイッチでは、ほぼ100%のスループットが実現されるので、予めトラヒック量が予想できるクラスに対しては、入力バッファ側におけるパケットの廃棄率や遅延時間を出力バッファ側におけるQoS制御によって生じるパケット廃棄率や遅延時間に比べて非常に小さくできる。スイッチ内部の動作速度を高めることにより、これらはさらに小さくすることができる。したがって、入力側で複数のQoSクラスを2クラスにマッピングしても実質的に問題ない。
【0029】
図2および図3にそれぞれ本発明における可変長パケットフォーマットの一例、および可変長パケットを複数の固定長パケットに分離するときの固定長パケットのフォーマットの一例を示す。また、表1および表2にはそれぞれ、図2および図3における各フィールドの説明を示す。ここでは、可変長パケットとしてIPv4フォーマット(Internet Society RFC791 )を用いている。但し、宛先アドレスのような、それによって各パケットのフローまたはコネクションを識別できる情報要素、およびQoSクラス値が含まれているパケットであれば、どのようなフォーマットでも良い。ここでQoSクラス値は、パケット中に記述されたQoSクラス値ではなく、フローやコネクションに対して予め設定されたテーブルからQoSクラスを変換して求めても良い。固定長パケットも同様に装置内部ローカルなパケットであるため、必要な情報要素が含まれていれば、フォーマットはどのようなフォーマットでも良い。
表1
Vers バージョン番号
IHL ヘッダ長
Type of Service 優先度
Total Length IPv4ペイロード長
Identification フラグメントID
Flags フラグ
Flagment Offset フラグメントオフセット
Time to Live ホップ期限
Protocol プロトコル
Header Checksum ヘッダチェックサム
Source Address 送信元アドレス
Destination Address あて先アドレス
Payload ペイロード
表2
EN 空きセル識別子(0:空きセル、1:有効セル)
C マルチキャスト識別子
QCP Ouality of Service:品質クラス識別子
CID コネクション識別子
PKL ペイロード長
F タギングフラグ(0:高優先クラス、1:低優先クラス)
FRI フレームタイプ(00:中間、01:先頭、10:最終、11:先頭&最終)
図4に図1のスイッチ部16の入力側におけるスケジューリングを実現する具体的な構成を示す。図4の入力バッファ部のスケジューラ構成において、入力されたフレームは、ポリシング制御部20において、予め設定されたレート以上のものについてはタギングされる。タギング情報はフレーム毎に付与され、別線、または図2の可変長パケットフォーマットに内部ヘッダを追加してそこにビットを付与することにより後段に転送される。パケット分割部10では入力された可変長パケットを一定長のセグメントに分割する。ヘッダ付与部22では、ヘッダ変換テーブル24の情報をもとに各セグメントに各種ヘッダ情報を付与して図3の固定長パケットを組み上げる。
【0030】
ここで、QoSクラスに関しては、予めコネクション毎、またはフロー毎に設定されたQoSクラス(例えば4クラス)のテーブルを参照しQCPビットに0〜3の値を付与するとともに、これらのQoSクラスをさらに帯域保証クラスとベストエフォートクラスの2クラスにマッピングする。この2クラスにマッピングされたQoSクラスを縮退QoSクラスと呼ぶことにする。入力バッファ部12、およびスケジューラ部25ではこの縮退QoSクラスと出力回線番号情報に基づき、それぞれパケットのキューイング、パケット読み出しのスケジューリングを行う。
【0031】
ここで、スケジューラ部25では、後段のマトリックススイッチ部へ入力される全パケットについて、効率良くしかも同一の出力回線を持つパケットが同時に転送されないようにスケジューリングを行う。さらにこの競合制御時に縮退QoSクラスに応じて、初めに帯域保証クラスについてスケジューリングを行い、次に帯域保証クラスのスケジューリングで選択されなかった入力回線と出力回線についてベストエフォートクラスについてスケジューリングを行う。スケジューリング処理の具体的な例については後に詳しく説明する。
【0032】
図5は、スケジューラの正順、逆順を考慮したパイプラインの8回線について帯域保証クラス、ベストエフォートクラスをスケジューリングした場合のパイプラインのシーケンスである。
図5に示した例では、パイプラインのシーケンス順序を入れ替えることにより、1周期に正順、逆順を考慮したパイプラインと同じパターンが同数現れるようになっており、入力回線間の公平性を保証している。さらに同一時間に同一入力回線に対する処理の競合を避けることになり、同じ処理をしなければならないハード処理量を削減している。
【0033】
尚、スケジューリングアルゴリズムについては、帯域保証クラスの方がベストエフォートクラスより優先度が高くなれば、他のアルゴリズムを用いても良い。
以上のようなスケジューリング処理により決定されたパケットは入力バッファ部からよみだされ、マトリックススイッチにおいて、出回線情報にもとづいてスイッチングされる。このとき、マトリックススイッチのスイッチング速度を各回線のデータレートの総和より大きく(内部速度アップという)することにより、入力バッファ部の廃棄遅延特性の向上を図り、入力バッファ部における競合によりスイッチトータルとしての品質が劣化するのを抑制してもよい。
【0034】
スイッチングされた固定長パケットは一旦出力バッファ部にキューイングされる(図1:18)。この際、後に説明するように、可変長パケットへ戻してからQoS制御を行なうか、または先に固定長パケットのままでQoS制御を行ってから可変長パケット組立てを行っても良い。
以上のような一連の処理により、入力バッファ側では、縮退した2クラスのみ簡易なQoS制御を行いながら、出力バッファ側で3クラス以上のQoS制御を行うことにより、スイッチトータルとして、3クラス以上のQoS制御を可能としている。
【0035】
上記は、入力可変長パケットを一旦固定長パケットに分割して行っているが、スケジューラ部において、可変長パケットの連続性を崩さない選択を行うことにより、実質的に可変長パケットのままでスイッチング処理を行なうようにしても良い。
図6は、入力バッファ部12において、1 QoSクラス内に帯域保証が必要な最低保証レート分と帯域保証が不要だがトラヒック量が予測できないベストエフォート分を合わせ持つ、最低帯域保証クラスを収容する手法の一例を示す。最低帯域保証クラスを収容する際、最低帯域保証クラスのパケットもベストエフォートクラスのキュー17にバッファリングする。但し、キューの前段のポリシング制御部26において、最低帯域保証クラスに対して、最低保証レートを超えて入力されるパケットに対してはタギングを行っておき、タギングなしのパケットの廃棄閾値θ3 に対して、タギングありのパケットとベストエフォートクラスのパケットに対する、使用可能なキューのしきい値θ2 を低く設定する。
【0036】
これにより最低帯域保証クラスを含む場合についても2クラスにマッピングすることが可能になる。この際、最低帯域保証クラスの最低保証レート内で入力されるパケットの廃棄閾値θ3 を帯域保証クラスのパケットの廃棄閾値θ1 と等しく設定して、帯域保証クラスと同等の品質保証を可能としても良い。また最低帯域保証クラスの最低保証レートを超えて入力されるパケットについては、同じベストエフォートクラスにマッピングされる。
【0037】
図7にフローチャートを示す。入力バッファ部において、到着パケットが最低帯域保証クラスのときに、ベストエフォートクラスとしてキューイングしておき、その際図7のようにタギング情報に基づいた廃棄制御を行うことにより、扱うクラス数を増やさずに帯域保証クラスの品質保持を可能としている。
図8および9に出力バッファ部18の構成の2つの例を示す。出力バッファ部18には複数の入力回線からのパケットが混在した状態で到着する。この混在した状態をパケットインタリーブまたは単にインタリーブという。従って、出力バッファ部18でこのインタリーブされた複数の固定長パケットを組立て、元の可変長パケットに戻してから、出力回線よりパケットを送出する必要がある。さらにQoS保証するためには、予め設定されたレートや優先度に応じた順序でパケットが送出されなければならない。
【0038】
図8の例では、出力バッファ部にインタリーブして到着した固定長パケットを可変長パケット組立てバッファ28に一旦バッファリングし、元の可変長パケットに戻す。この際インタリーブして到着したパケットは、複数の入力回線のものからのものが混在しており、さらに同一入力回線内でも入力回線側でQoSクラス制御をした場合には、複数のクラスからのパケットが混在する。前述の例ではこのQoSクラス数は2クラスとなる。従って、入力回線数(N)×入力回線側のQoSクラス数(ex.2)個のキューを用意し、インタリーブして到着した固定長パケットを一旦バッファリングし、元の可変長パケットを組立てる。
【0039】
可変長パケットが組立て終わったら、QoSクラス(ex.4クラス)に応じて、可変長ベースQoS制御部30に転送し、可変長ベースQoS制御部30において、パケット長を考慮したQoS制御を行うことにより、予め設定されたレートや優先度に応じた順序でパケットを出力回線より転送する。
図9の例では、出力バッファ部にインタリーブして到着した固定長パケットのままで、固定長ベースQoS制御部32においてバッファリングし、予め設定されたレートや優先度に応じた順序でパケットを後段の可変長パケット組立て部に転送する。この場合のQoS制御はパケット長が固定であるので容易である。
【0040】
後段の可変長パケット組立てバッファ34には入力回線毎および、出側でのQoSクラス毎にパケットがインタリーブされた状態で到着するので、入力回線数(N)×出側のQoSクラス数(ex.4)個のキューを用意し、インタリーブして到着した固定長パケットを一旦バッファリングし、元の可変長パケットを組立て、パケットが組みあがった順番に出力回線より可変長パケットを転送する。
【0041】
図10は図8をより詳しくした図である。可変長パケット組立てバッファ28に到着するパケットは、異なる入力回線、異なる縮退QoSクラスのものがインタリーブして到着するので、可変長パケット組立てバッファ28では、入力回線毎、縮退QoSクラス毎にキューイングする。可変長パケット管理部36では、各パケットに付与された可変長パケットの先頭、末尾の情報より1可変長パケット分のパケットを監視し、1可変長パケット分が組みあがったら、可変長パケット送信通知をだし、1可変長パケット分連続的に後段へ転送する。この際、実際のパケット内の情報を転送するのではなく、バッファに書きこまれたアドレス、およびアドレスチェーン情報のみをコピーしてもよい。さらに後段のQoS制御部30では、QoSクラス数分のバッファを用意しておき、到着パケットをQoSクラス(ex.4クラス)毎にキューイングする。QoSスケジューリング部38では、キューへ書きこまれた、パケットのQoSクラスやフレーム長を監視し、パケット長や予め設定されたレートやウェイト、優先度に応じて読み出し順序の競合制御を行い、読み出し可能となったQoSクラスに対して出力回線への送出を指示する。
【0042】
図11は出力回線がさらに複数の低速回線へDMUX(分離)される場合を示す。可変長パケット組立てバッファ28の処理は同じであるが、QoS制御部30において、QoSクラス毎のキューを論理出方路(DMUX)分保持しており、QoSスケジューリング部38において、各DMUX中の各QoSクラスキューからの読み出しがDMUXの帯域を超えないように制御する。ここで、各DMUXへのタイムスロットを割り当て、タイムスロットに対応するDMUXキュー内の各QoSクラスについてQoSスケジューリングを行う。
【0043】
図12では図9の構成において、図11と同様に複数の低速回線へDMUX(分離)されるとともに、QoS制御部と可変長パケット組立てバッファの論理的な配備位置が逆になっている。このため、QoS制御部32では、QoSクラス毎、DMUX毎にキューイングし、固定長パケットのまま各DMUX中の各QoSクラスキューからの読み出しがDMUXの帯域を超えないように行なわれてQoSスケジューリングを行う。また可変長パケット組立て部34には、入力回線毎、QoSクラス毎、DMUX毎にキューイングしておき、1可変長パケット分組みあがった時点で出力回線へ1可変長パケット分連続的に出力する。
【0044】
出力バッファ部18での処理を考慮すると、スイッチ部16の各出力回線から出力される固定長パケットの並びが、複数の入力回線からのパケットが混在した状態であるとしても、同じ可変長パケットから生じた固定長パケットができるだけ連続するように入力側でスケジューリングすることが望ましい。図13は、この点を考慮した回線間スケジューラ14の構成を示す。スケジューラ部の可変長パケット管理部40は、各論理出方路毎の可変長パケット送出状態を管理するものであり、可変長パケットを構成する最初の固定長パケットを送出したときフラグをセットし、最終パケットを送出したときクリアすることにより、可変長パケット送出状態を識別する。また、未確定管理部42は、他の入力回線によって読み出しが確定している回線を管理するもの、要求管理部44は、入力バッファ部からの読み出し要求数を管理するもの、スケジューリング処理部46は、要求情報、未確定情報、可変長パケット送出状態をもとに送出論理出方路を決定するものである。
【0045】
スケジューリング処理部46は、各論理出力回線毎に、現在可変長パケットを構成する固定長パケットを送出中であるかを判定し、スケジューリングの際に送出中の論理出力回線を優先的に選択する。これにより、1つの可変長パケットを構成する固定長パケットがまとめて読み出されやすくなるため、出力側の可変長パケットバッファでの待ち合わせ時間を低減することが可能となり、出力側の可変長パケット組み立てバッファ量を削減することができる。
【0046】
以下にスケジューリング動作の具体的な例を図14および図15を参照して説明する。ここでは、簡略化のため3×3スイッチを例にとり動作を説明する。各入力回線は、論理的に出力方路毎に分割された論理キュー(以下、VOQ:Virtual Output Queueと記す)47を有している。また、可変長パケット送出状態を示す可変長パケット状態レジスタ48を各VOQ毎に備える。各VOQはさらに複数のQoSクラスごとに分割されているがここでは図示が省略されている。
【0047】
上記可変長パケット状態レジスタ48は、可変長パケット送出中のVOQを識別するためのレジスタであり、バッファからパケットを読み出したとき、そのパケットのパケット種別を識別し、可変長パケットエンドパケットで無いとき、“1”にセットされ、可変長パケットエンドパケットのときにリセットされる。スケジューラでは、本レジスタが“1”に設定されている状態を可変長パケット送出状態として扱う。読み出したパケットが可変長パケットエンドパケットであるか否かは、パケットヘッダのパケット識別ビットを参照することにより判定可能である。
【0048】
スケジューリング処理部46は、上記可変長パケット状態レジスタ48を参照して、各入力回線について以下の2つのSTEPに沿って読み出しVOQを決定する。
STEP1:可変長パケット送出中のVOQのみをスケジューリング対象としてスケジューリング処理を実施。
【0049】
STEP2:STEP1において読み出しVOQが確定しなかった場合に限り、可変長パケット未送出状態のVOQを対象としてスケジューリングを実施。
まず、初期状態として図14(左側)に示すようなパケットが蓄積されており、スケジューリング順序として、入力回線#0から順に入力回線#1→#2の順でスケジューリングが実行されるとする。スケジューリングの開始入力回線(図中●印)は、スケジューリング周期毎に所定の規則に従って更新される。
(1) T=0におけるスケジューリング動作
入力回線#0では全てのVOQが可変長パケット未送出状態であるため、上記STEP1ではどのVOQも確定されない。従って、STEP2として可変長パケット未送出回線(この例では全てのVOQ)の中からラウンドロビン方式により読み出しVOQを決定する。ここでは、VOQ#0が選択されたとする。(図中、読み出しVOQを★印で示す)入力回線#1でも同様の手順でスケジューリングが実行されるが、既に入力回線#0によってVOQ#0が選択されているため、T=0ではどのVOQも選択することが出来ない。入力回線#2では、VOQ#1が選択されたとする。
(2) T=0における可変長パケット状態レジスタ更新
スケジューリング処理によって決定されたVOQからパケットを読み出し、読み出したパケット種別に応じて可変長パケット状態レジスタを更新する。
【0050】
T=0では、入力回線#0−VOQ#0と、入力回線#2−VOQ#1からパケットが読み出される。これら読み出しパケットはいずれも、可変長パケットエンドパケットでないため、可変長パケット状態レジスタを“1”に設定する。(図14の右側参照)これにより、次回のスケジューリング周期では、入力回線#0−VOQ#0と、入力回線#2−VOQ#1は、可変長パケット送出中VOQとして扱われ、優先的にスケジューリングされるようになる。
【0051】
次に図15を参照してT=1におけるスケジューリング動作を示す。T=1では、開始入力回線が更新され、入力回線#1→#2→#0の順でスケジューリングが実行される。
(3) T=1におけるスケジューリング処理
入力回線#1では、全ての可変長パケット状態レジスタ48が“0”であるため、可変長パケット未送出VOQの中から選択を行いVOQ#0を読み出しVOQとする。
【0052】
入力回線#2では、可変長パケット送出中のVOQがあるため、そのVOQを優先的に選択する。この例では、可変長パケット送出VOQはVOQ#1しかないため、VOQ#1を読み出しVOQとする。複数のVOQが存在する場合は、ラウンドロビン方式で選択する。
次に入力回線#0でも、可変長パケット送出中のVOQがあるため、同様に優先的に可変長パケット送出中のVOQの中から読み出しVOQを決定しようとするが、既にVOQ#0は入力回線#1によって選択されているため、選択することが出来ない。従って、可変長パケット未送出回線の中から読み出しVOQを決定する。この例では、VOQ#1とVOQ#2が可変長パケット未送出であり、ラウンドロビンによりVOQ#1を選択する。このように、可変長パケット送出中のVOQがある場合でも、他の入力回線によって選択されている場合で、可変長パケット送出中のVOQが選択できない場合には、可変長パケット未送出VOQを選択する。
(4) T=1における可変長パケット状態レジスタ更新
スケジューリング処理によって決定されたVOQからパケットを読み出し、読み出したパケット種別に応じて可変長パケット状態レジスタを更新する。
【0053】
T=1では、入力回線#0−VOQ#1、入力回線#1−VOQ#0および入力回線#2−VOQ#1からパケットが読み出される。
入力回線#0−VOQ#1、入力回線#1−VOQ#0から読み出されたパケットは共に可変長パケットエンドパケットで無いため可変長パケット送出レジスタを“1”に設定する。これにより、これらのVOQは次のスケジューリング周期では、可変長パケット送出中VOQとして扱われ、優先的にスケジューリングされる。
【0054】
一方、入力回線#2−VOQ#1から読み出されたパケットは、可変長パケットエンドパケットであるため、可変長パケット状態レジスタを“0”にクリアする。従って、本VOQは次のスケジューリング周期では、可変長パケット未送出VOQとして扱われる。
このように、可能な限り可変長パケット送出中のVOQを優先的にスケジューリングすることにより、1つの入力回線から送出されるパケットは、VOQ毎に連続して読み出されやすくなるため、出力側の可変長パケット待ち合わせ時間を短くすることが可能となる。
【0055】
図16にこのスケジューリング処理のフローを示す。本フローは、1つの入力回線におけるスケジューリング処理フローである。
ステップ1001〜1004はスケジューリングプロセスである。まず、ステップ1001において、優先的に可変長パケット送出中のVOQについてスケジューリングを行う。ここで、未確定とは、他の入力回線によって選択されていないVOQを意味し、要求ありとは、バッファにパケットが蓄積されていることを意味し、可変長パケット送出中とは、可変長パケット状態レジスタに“1”が設定されていることを意味する。次にステップ1002において、上記ステップ1001の処理によって、読み出しVOQが確定したかを判定し、確定した場合には、可変長パケット状態レジスタの更新プロセスへ、未確定の場合には、可変長パケット未送出VOQのスケジューリングプロセスに移る。
【0056】
ステップ1003は、ステップ1001において、VOQが確定されなかった場合にのみ実行され、可変長パケット未送出(可変長パケット状態レジスタ=0)のVOQについてスケジューリングを行う。ステップ1004は、上記ステップ1003において、読み出しVOQが確定したかを判定するプロセスであり、未確定の場合にはスケジューリング処理を終了し、確定時は可変長パケット状態レジスタ更新プロセスに移る。
【0057】
ステップ1005〜1007は、可変長パケット状態レジスタの更新プロセスである。ステップ1001/1003のスケジューリング処理によって決定されたVOQからパケットを読み出し、読み出したパケット種別を判定し、可変長パケットエンドパケットで無いときには、可変長パケット状態レジスタを“1”に設定し、可変長パケットエンドパケットのときに同レジスタをクリアする。
【0058】
図8,10,11の可変長ベースQoS制御部30ではパケット長を考慮したQoS制御が必要になる。図17は、このパケット長を考慮したQoS制御を実現する手法の一例を概念的に示す。図8の可変長ベースQoS制御部30において、各QoSクラス毎にバッファリングされた先頭のパケットのパケット長に対応するカウンタ値(ここではトークンと呼ぶことにする)を設定する。この際トークン値は、例えば、各QoSクラスに対するウェイト値(Φi )として式(5)のような正規化した値を使用すれば、パケット長をそのまま使用できる。
【0059】
Φi =R×τ×Φis/ΣΦis …(5)
ここでRは全体の目標リンクレート、τは内部処理の単位時間(ex.固定長パケット時間)、Φisは各QoSクラスに割り当てられたウェイト値、ΣΦisはアクティブなQoSクラスに対するΦisの総和である。また添え字のiは、QoSクラスに付された番号に対応している。なお、式(5)中のR×τ/ΣΦisの値は一定であるので、(5)式から計算されるΦi の代わりに各QoSクラスのウェイト値Φisを使うことができる。
【0060】
図17に示すように、各QoSクラスの先頭パケットに対応するトークン値(Ti )を単位時間(τ)毎、Φi /ΣΦi ずつ減算していき、回線にパケットが読出し可能なとき、各トークン値の中で最小値(ベストエフォートクラスのパケットのとき)または0(レートが規定される帯域保証クラスのパケットのとき)のトークン値を持つQoSクラスのパケットを読み出す。
【0061】
この手法では、WFQのようにウェイト値に応じて各QoSクラスの帯域をアクティブなQoSクラスで比例分配することが可能である。またWFQようにキューイングされている全パケットについて、終了予定時刻F(i,k)を保持しなくて良いため、ハード規模が削減できる。さらに、実時間でスケジューリングするための、読出しレートを規定する帯域保証型のQoSスケジューリングとの間の優先度制御が可能である。また、ΣΦi をアクティブなキューの数によらず一定とすることにより、そのまま、読出しレートを規定する帯域保証型のQoSスケジューラとして使用できるため、回路を共通化してハード規模の削減や設計工数の削減が図れる。また、トークンを加算する処理とトークンから減算値を減算する処理と各QoSクラスのトークンを比較し、最も小さいまたは0のトークンを持つQoSクラスのキューを選択して読み出す処理は、パイプライン化することも可能であり、高速なQoS制御を行うことも可能である。
【0062】
図18に実際のハードウェア構成の例、図19にフローチャートを示す。図示した例は、可変長ベースQoS制御部において、可変長パケット組立てバッファ部とQoS制御部でパケットバッファは共通でバッファへの書きこみアドレスのみを転送する場合の構成に対応している。出力回線部に入力された固定長パケットは、パケットバッファ50へ書きこまれるとともに、アドレス管理FIFO52において、入力回線毎、縮退QoS毎にアドレスのFIFOチェーンを構成する。可変長パケット組立て部54では、各キューへの1可変長パケット分の到着を管理し、1可変長パケット分到着した可変長パケットについて、対応するパケットバッファのアドレスをコピーし、QoSクラス毎、DMUX毎のアドレスFIFOを構成する。さらに、ヘッダ情報をパケット識別部56に転送する。パケット識別部56ではパケットヘッダからQoSクラス、DMUX番号やパケット長といったQoSスケジューリングに必要な情報を抽出し、後で詳述する図19の処理フローに従い、読み出しQoSクラスの選択を行い、DMUX読み出し部58より対応するパケットをパケットバッファから出力パケットハイウェイへ読み出す。このときDMUX読み出し部58では、各DMUX毎の固定的なタイムスロットを管理しておき、各タイムスロットのタイミングにおいてスケジューリングすべきDMUXの番号を通知し、対応するDMUXについて図19の処理フローを実行する。
【0063】
図19の処理フローでは、3つのプロセスが連携して動作する。パケット到着処理プロセスでは、可変長パケットが到着したとき、または前述のアドレス管理FIFO52において、可変長パケットがFIFOの先頭に来たとき、対応する可変長パケットのQoSクラスごとにトークン値の加算(ステップ1100)、および、ウェイト値総和ΣΦi への加算を行う(ステップ1102)。またパケット読み出しプロセスでは、前可変長パケットの読み出しが終了し、次の可変長パケットを選択する前、もしくは初期状態において、可変長パケットの選択が行われていないとき、各QoS毎のトークン値(i)を比較し、最小トークン値を持つQoSクラスを選択し(ステップ1104)、当該QoSクラスのパケットの読み出しを開始する(ステップ1106)。このとき、同一QoSクラスにキューイングされている他のパケットが無く、キューが空になるときは、ΣΦi からの減算処理を行う(ステップ1108)。一方、減算値処理プロセスでは、単位時間毎に、全QoSクラスの減算値を計算し(ステップ1110)、全QoSクラスのトークン値から減算値の減算を行う(ステップ1112)。
【0064】
図20は、パケット長を考慮したQoS制御の第2の例を概念的に示す図である。トークン値(Ti )をトークン値×ΣΦi に置き換え、さらに単位時間毎の減算値としてΦi を使用する。
この手法では、一般に処理時間がかかるΦi /ΣΦi の除算処理をなくすことができる。但し、QoSクラスキューの状態を反映するΣΦi の更新が、前述の手法では1単位時間毎に可能であるのに対して、パケットの先頭を読出してトークン値を積みあげるときのみになるため、多少公平性に関して特性的な劣化が生じる。
【0065】
図21にフローチャートを示す。パケット到着処理プロセスにおけるトークン値の加算値にパケット長の代わりにパケット長×ΣΦi を用い、また減算値処理プロセスにおいて、減算値をΦi /ΣΦi の代わりにΦi としている。
図22は、パケット長を考慮したQoS制御の第3の例を示す。この手法では、トークン値をトークン値×ΣΦi に置き換える代わりに、ΣΦi の加算をパケット長に相当する回数だけ繰返すことに置き換えている。
【0066】
トークン回数を管理するカウンタが必要となるため多少複雑になるが、乗算処理をなくすことができるためハード量の削減が図れる。またパケット長に相当する回数分のΣΦi の加算の際に、逐次最新のΣΦi を使用することにより、QoSクラスキューの状態を反映する頻度が多くなり、公平性に関して特性的な向上が図れる。
【0067】
図23にフローチャートを示す。パケット到着処理プロセスにおけるトークン値の加算値にパケット長の代わりにΣΦi を用い、累積パケット長カウンタによって、加算したΣΦi の回数を管理する。また減算値処理プロセスにおいて、累積パケット長カウンタが0になるまで、トークン値のフレームへの加算処理を繰返し、減算値をΦi /ΣΦi の代わりにΦi としている。
【0068】
図24は、最低帯域が保証されさらに余剰帯域の使用が許される最低帯域保証クラスの可変長パケットについてのパケット長を考慮した制御が可能なQoS制御の一例を概念的に示す。入力された最低帯域保証クラスの可変長パケットについては通常はスイッチ部14の前段に設けられるポリシング制御部20において、最低保証帯域を超えて到着したパケットにタギングを行うことにより、帯域保証のパケットとベストエフォート分のパケットが識別される。スイッチ部14の後段のQoS制御部58では到着した可変長パケットを構成する固定長パケットの数をQoSクラス(ex16クラス)別にカウンタする。すべてのQoSクラスのそれぞれについて帯域保証クラス用のカウンタとベストエフォートクラス用のカウンタを用意し、最低帯域保証クラスについてはそれらの双方を使用し、ベストエフォートクラスについてはベストエフォートクラスのカウンタのみを使用し、帯域保証クラスについては帯域保証クラスのカウンタのみを使用するようにすることが好ましい。この様にすることにより、システムの柔軟性が向上する。
【0069】
ここでQoS制御部58では、カウンタ値が正の値のものについて、前述した重み付けによる読出し制御を行う。トークン演算のアルゴリズムは前述の3通りのいずれでも良い。但し、この際、可変長パケットのパケット長の代わりに固定長パケットのパケット長を用い、また帯域保証クラスについては設定レートに従う読出しを行う。また帯域保証クラスとベストエフォートクラスからの要求の競合時は単純に帯域保証クラスを高くするかラウンドロビンや予め設定された優先度に応じて読み出す。このようなスケジューリング処理は固定長パケット毎に行い、選択されたQoSクラスのカウンタ値を1減算するとともに、可変長バッファ部60へ選択されたQoSクラスを通知する。
【0070】
可変長バッファ部60では、通知数をQoSクラス毎に計数し、累積数が各キューの先頭のパケット長に達したら、1可変長パケットの読み出しを行なう。
上記の制御により、1QoSクラス内に帯域保証分とベストエフォート分が含まれる最低帯域保証クラスに対して可変長パケットに対するQoS制御が可能となる。図6,7を参照して説明した制御のように同一キューにマッピングしてキューしきい値で制御する方法だとベストエフォート分のパケットが使用できるキュー領域は帯域保証クラスが利用できるキュー領域より小さくなるという制限が生じるが、このような問題が解消される。また、単純に1QoSクラスのキューを帯域保証分とベストエフォート分とで2つに分けると生じるパケットの順序逆転も起きない。
【0071】
さらに、帯域保証クラスのスケジューリングとベストエフォートクラスのスケジューリングを別々に行うことができるので単純に帯域保証クラスの優先度を高くするような優先制御だけでなく、ラウンドロビンにしたり予め優先度を設定しておくなどより複雑な優先制御が可能となる。
図25に具体的な構成を示す。ここでは、固定長パケット単位にパケットバッファへのキューイングを管理しているが、連続する固定長パケットを可変長パケットと置き換え、可変長パケットの先頭と末尾を管理し、1可変長パケット分連続的に読み出すことにより、可変長パケットにおいても全く同様に当てはまる。
【0072】
QoSスケジューラ62において、到着した可変長パケットを構成する固定長パケットの数がカウントされる。この際、最低帯域保証クラスについては、当該フレームがタギングされているか否かによって、適合パケット数カウンタにカウントするか、不適合パケット数カウンタにカウントするかに分かれる。前述のように帯域保証クラスおよびベストエフォートクラスについては一方のカウンタのみが使用される。QoSスケジューラ62では各カウンタ値が0で無いものについて、予め設定されたレートやウェイト、優先度に応じて、1つのQoSクラスを選択する。選択されたQoSクラスは可変長パケット管理部64に通知される。可変長パケット管理部64では、通知された選択QoSクラス数を管理しており、累積数をパケット長に換算して、各QoSクラス毎のキューの先頭パケットのパケット長より大きくなった場合には、当該可変長パケットを出力ハイウェイから出力する。
【0073】
このとき、固定長パケットサイズやフォーマットは、どのようなものでもよく、可変長パケットの先頭と末尾を管理できれば、ここでの固定長パケットにヘッダを付与する必要はない。
図26は、最低保証帯域クラスの可変長パケットの制御が可能なQoS制御の他の例の原理を説明する図である。図26は或るQoSクラスに対するトークン値の動作を示している。ここで、入力された可変長パケットはQoSクラスごとにキューイングされている。Φigは帯域保証クラス用に設定された読出しレート値である。またΦibはベストエフォートクラス用に設定されたウェイト値である。ベストエフォート分を含まない帯域保証クラスのΦibはゼロに、帯域保証分を含まないベストエフォートクラスのΦigはゼロに設定される。最低帯域保証クラスについては、ΦigとΦibにゼロでない値が設定される。
【0074】
ここでは、1単位時間内にトークン減算処理を帯域保証クラスサイクル用とベストエフォートクラスサイクル用の2回行う。このとき、いずれのQoSクラスにおいても帯域保証クラスのパケットの読み出しが無いときは、ベストエフォートクラスサイクル用のトークン減算処理も行うが、帯域保証クラスの可変長パケットの読み出しがあるときまたは帯域保証クラスの可変長パケットの読み出しが続いているときは、ベストエフォートクラスサイクル用のトークン減算処理を行わない。最低帯域保証クラスのパケットには予め前段のポリシング制御部において、最低保証帯域を超えたフレームにタギングをしておく。帯域保証クラスサイクル用のスケジューリングを行い読み出すべきフームの有無を判定する際、タギングのない最低保証帯域以下のパケットについてのみ読み出すべきパケットが有りとして処理し、タギングがある場合は読み出すべきパケットが無しとして処理する。
【0075】
もしくは、帯域保証クラスの読み出しパケットの有り無しに関わらず、常にベストエフォートクラスサイクル用のトークン減算処理を行い、ΣΦibの代わりにΣΦiall(アクティブなコネクションについてのΦigとΦibの総和)を使用することもできる。
このようにすれば、可変長パケットの状態のままで、スケジューリングができ、帯域保証クラスのスケジューリングを行ってからベストエフォートクラスのスケジューリングを行うという簡単な制御で最低帯域保証クラスの収容が可能となる。但し、一般にΣΦigとΣΦibは異なる値であるため、前記の3通りのトークン演算アルゴリズムのうち、トークンとしてどちらのクラスにも共通であるパケット長を用いる第1番目の演算アルゴリズムのみが適用できる。
【0076】
図27に処理のフローチャートを示す。可変長パケット到着処理プロセスにおいて、帯域保証クラスとベストエフォートクラスで、ΣΦi を各々ΣΦigとΣΦibとして別々に管理する(ステップ1200)。また同様に減算値更新プロセスにおいても減算値Φi /ΣΦi の代わりにΦig/ΣΦigとΦib/ΣΦibを別々に管理し(ステップ1202)、トークンの減算処理を帯域保証クラスからパケットが読み出されているときと、そうでないときに分けて行う(ステップ1204)。また可変長パケット読み出しプロセスにおいて、先に帯域保証クラスのパケットまたはタギングのない最低帯域保証クラスのパケットがキューイングされているキューの中からの可変長パケットの選択を行い(ステップ1206)、次にベストエフォートクラスのパケットまたはタギングされている最低帯域保証クラスのパケットがキューイングされているキューの中からの可変長パケットの選択を行う(ステップ1208)。またΣΦの減算についても同様に帯域保証クラスとベストエフォートクラスで別々に行う(ステップ1210)。なお、図27に示した例では、帯域保証クラスについては、Φibがゼロに設定され、ベストエフォートクラスについては、Φigがゼロに設定されるものとする。その代わりとして、減算値更新プロセスにおいて、帯域保証クラスについては、Φibの減算を行なわず、ベストエフォートクラスについては、Φigの減算を行なわないようにしても良い。
【0077】
図28は、最低帯域保証クラスの可変長パケットの制御が可能なQoS制御のさらに他の例の原理を説明する図である。図28は図26と同様に前述の第1番目の演算アルゴリズムを適用した場合の、或るQoSクラスに対するトークン値の動作を示している。この例では、最低帯域保証クラスのパケットは、帯域保証クラス用とベストエフォートクラス用の2つのスケジューラにより並列に処理する。但し、トークン値はQoSクラス毎のキューの先頭パケットのパケット長に対応する同一のトークン値を使用する。このとき、ベストエフォートクラス用のスケジューラでは、ΣΦibの代わりにΣΦiallを使用する。
【0078】
最低帯域保証クラスについては、帯域保証クラス用とベストエフォートクラス用の2つのスケジューラによるスケジューリングが行なわれる。それらの読出し処理により、いずれか先に読出しが行われたときは、読出しが行われなかった方の読み出された可変長パケットに対して行われた累積トークン減算値を繰り越し分として、次の可変長パケットのトークン値を計算する際に減算する。
【0079】
この手法では、帯域保証クラス用とベストエフォートクラス用で別々にトークンの減算処理が必要となるため、ハード規模が増加する。但し、帯域保証クラス用とベストエフォートクラス用を並列に処理できるので、高速なスケジューリングが可能となる。また、ΣΦigとΣΦiallが一致する必要がないので、前述した3つの演算アルゴリズムのいずれもが適用可能である。
【0080】
図29にフローチャートを示す。この例では、フレーム到着処理プロセスにおいて、1つのQoSクラスiについてトークン値を帯域保証クラスとベストエフォートクラスでトークン値(ig)、トークン値(ib)として別々に管理する(ステップ1300)。さらに、減算値更新プロセスにおいて、トークン値(ig)とトークン値(ib)からそれぞれΦ(ig)/ΣΦ(ig)とΦ(ib)/ΣΦ(isll)を減算するときに、減算量をそれぞれ繰越分(ig)と繰越分(ib)として記憶しておく(ステップ1302)。読み出しパケットの選択の際には、可変長パケット読出プロセスにおいて、まず、可変長パケットが存在するすべてのQoSクラスの中からトークン値(ig)がゼロになっているクラスを選択する(ステップ1304)。このとき、帯域保証分を持たないベストエフォートクラスについては、Φigをゼロに設定すれば、ステップ1302におけるトークン値(ig)の減算が実質的に行なわれないので、ここで選択されることはない。次に、可変長パケットが存在するすべてのQoSクラスの中からトークン値(ib)が最小であるものを選択する(ステップ1306)。このとき同様に、ベストエフォート分を持たない帯域保証クラスについては、Φibをゼロに設定すれば、ステップ1302におけるトークン値(ib)の減算が実質的に行なわれないので、ここで選択されることはない。帯域保証分とベストエフォート分を併せ持つ最低帯域保証クラスについては、両者のいずれかとして選択され、選択されなかった方の繰越分を次のパケットの選択に反映させるため、選択されなかった方のトークン値に−(繰越分)を設定する(ステップ1308)。
【0081】
次に、本発明の一実施形態に係るパケット廃棄の手法を説明する。なお、以下の記述において、「可変長パケット」は「フレーム」と、「固定長パケット」は単に「パケット」と称される。本発明において、廃棄はランダムでなく周期的に行い、その周期をキュー長の状態に応じて変えることにより、確率的な廃棄を実現する。また、廃棄を読み出し時に行うことにより、キューの先頭から廃棄することが出来るため、廃棄を早く端末に通知することが出来る。廃棄判定はキューの先頭パケット読み出し時に行う。図30および式(6)に示すように、キュー長に応じた廃棄確率を決定し、式(7)で決定される周期で廃棄を行う。これにより、長いフレームはそれだけ高い確率で廃棄することが出来る。廃棄時は、1フレーム分のパケットを1パケット時間に廃棄することにより、スループットの低下を防ぐことが出来る。
【0082】
廃棄確率=(平均キュー長−THmin )/(THv −THmin ) …(6)
廃棄周期=1/(廃棄確率×パケット長) …(7)
具体的な回路構成を図31に、動作フローを図32に、動作の一例を図33に示す。バッファ内のキュー長を管理するキュー長カウンタ66、設定されたしきい値を保持するしきい値レジスタ68、設定された読み出し間隔パラメータを保持する読み出し間隔レジスタ70、読み出し間隔制御に用いるLBカウンタ72、バッファの先頭のフレームのフレーム長を管理するフレーム長カウンタ74、LBカウンタ動作を制御するカウンタ制御76、その他演算器より構成される。
【0083】
フレームの先頭のパケットを読み出す時、平均キュー長としきい値を比較する。平均キュー長がしきい値を越えていない場合はそのまま読み出しを行う。しきい値を越えた場合、しきい値と平均キュー長との差分にフレーム長を掛け合わせた値を、LBカウンタ72に加算する。そして加算結果が0を越えていた場合、該当フレームに属するパケットを全て廃棄し(具体的な方法は後述)、LBカウンタ値から、読み出し間隔レジスタ70の値にフレーム長を掛け合わせた値を減算する。加算結果が0を越えていない場合は、そのまま読み出しを行う。LBカウンタに加算する値が大きいほど、カウンタ値が0を越える確率が高くなる。よって本動作により、輻輳度合いとフレーム長に応じた確率でフレームを廃棄することが出来る。
【0084】
ここで、平均キュー長はその時点での値を用いることも、移動平均を取った値を用いることも可能である。一時的な輻輳ではなく、長期的な輻輳時のみ廃棄制御をかけるため、移動平均を取った値を用いることが有効であるが、バッファを大きく取ることができれば、しきい値を大きく設定し実キュー長がしきい値越えとなった時点で長期輻輳と判断することも可能である。また、読み出し時に廃棄することで、バッファの先頭のフレームに対し廃棄することが出来る。
【0085】
図34および図35に1フレームに属するすべてのパケットの廃棄を1パケット時間内に行なう手法の一例を示す。図の左上に概念的に表されるアドレス管理FIFOは、実際には各キューのスタート/エンドポインタ92とアドレス管理テーブル94により構成される。アドレス管理テーブル94には、次のアドレスを示す次アドレス、フレーム最終パケットのアドレスを示すENDアドレス、キューに次のフレームが存在することを示す次先頭アドレスイネーブル、次のフレームの先頭アドレスを示す次先頭アドレス、フレームの先頭を示すフレーム先頭フラグ、フレーム長のフィールドを有するレコードが格納される。
【0086】
図34において、廃棄するフレームを空きアドレスキューにつなぎ替えるため、空きアドレスキューのエンドポインタによって示される最終アドレス(アドレス9)のレコードの次アドレスの値をつなぎ替えるフレームの先頭アドレス(アドレス5)に書き替える(ステップA)。そして空きアドレスキューのエンドポインタをつなぎ替えるフレームのENDアドレス値(アドレス1)に書き替える(ステップB)。次に廃棄が行われたキューから廃棄フレームを取り除くため、キューのスタートポインタを次先頭アドレス(アドレス13)に書き替える(ステップC)。以上のようにアドレスリンクを書き替えることにより図35に示すようになり、1パケット時間内に1フレーム分の廃棄を行うことが出来る。
【0087】
パケット廃棄方式の他の例として、基本的な考えは前述と同じであるが、廃棄判定は各パケット読み出し毎に行い、廃棄確率は、平均キュー長がしきい値を越えた量のみに比例させ、それに見合った周期で廃棄を行う。パケット毎に廃棄判定を行うため、結果的に長いフレームはそれだけ高い確率で廃棄することが出来る。1パケット廃棄したら同一フレームに属する以降のパケットの読み出し毎に廃棄する。廃棄に廃棄パケット数分の時間掛かるため特性的に前述の手法に劣るが、逆にパケットbyパケットの動作のため回路構成が簡単になるため、より高速動作が必要なバッファ制御に適する。
【0088】
以上の廃棄方式はキュー毎に制御される。また、複数のしきい値を持たせることにより廃棄に対するプライオリティを持たせることが出来る。
このパケット廃棄方式の具体的な構成の例を、図36に示す。キュー長を管理するキュー長カウンタ78、設定されたしきい値を保持するしきい値レジスタ80、設定された読み出し間隔パラメータを保持する読み出し間隔レジスタ82、読み出し間隔制御に用いるLBカウンタ84、フレーム廃棄中であることを示す廃棄フラグ86、LBカウンタを制御するカウンタ制御部88、その他演算器より構成される。各パケットの読み出し時、平均キュー長としきい値を比較する。平均キュー長がしきい値を越えていない場合はそのまま読み出しを行う。しきい値を越えた場合、しきい値とキュー長との差分を、LBカウンタに加算する。そして加算結果が0を越えていた場合、該当パケットを廃棄、廃棄LBカウンタ値から読み出し間隔レジスタ値を減算し、廃棄フラグを立てる。加算結果が0を越えていない場合は、そのまま読み出しを行う。パケット廃棄を行った場合、同一フレームの以降のパケット読み出し時に廃棄を行い、LBカウンタ値に対し、LBしきい値とキュー長との差分値の加算と、カウンタ値から読み出し間隔レジスタ値を減算する。同一フレームの最終になったら、フラグをクリアする。(先頭フレーム到着時、廃棄フラグをクリアしてから廃棄判定をしても良い。)最終パケットは廃棄しないことで、廃棄フレームと次のフレームとを識別させることが出来る。パケット毎に廃棄判定を行うため、廃棄確率はフレームが長いほど高くなる。よって本動作により、輻輳度合いとフレーム長に応じた確率でフレームを廃棄することが出来る。以上の動作フローを図37に、LBカウンタ動作例を図38に示す。ここで、平均キュー長はその時点での値を用いることも、移動平均を取った値を用いることも可能である。一時的な輻輳ではなく、長期的な輻輳時のみ廃棄制御をかけるため、移動平均を取った値を用いることが有効であるが、バッファが大きく取れれば、しきい値を大きく設定し実キュー長がしきい値越えとなった時点で長期輻輳と判断することも可能である。また、読み出し時に廃棄することで、バッファの先頭のフレームに対し廃棄することが出来る。パケットの廃棄に1フレーム時間かかるため、前述の方式より特性的には劣化するが、回路構成が簡単になるため、より高速な動作が必要なところに適する。
【0089】
LBカウンタ制御については、正負を逆転したり、廃棄判定を0でなくしきい値を用いて行っても良い。
可変長パケットであるフレームをスイッチングするパケットスイッチにおいては、1つのフレームを複数の低速回線へマルチキャストする場合に次の様な解決すべき問題がある。図39に示すように、スイッチ部16からフレーム組立バッファ28に1フレーム分のパケットが溜まった後にDMUX90にパケットが移し替えられるが、その移し替えを1パケットづつ行うと、マルチキャストを行う場合、図40に示すように複数の低速回線に同時に複製するためにはマルチキャスト数分のアドレス更新を1パケット時間内に行う必要があり高速動作には適さない。また図41に示すように、マルチキャスト用として別のキュー91を設ける場合、フレーム連続性を保証するためにマルチキャストを行なわないパケットとマルチキャストの複製先が競合しないように制御する必要がある。更に、フレーム長に比例してマルチキャストに時間がかかる問題もある。
【0090】
そこで、図42に示すように、フレーム組立てバッファ28からDMUX90への移動を1パケットずつでなく1フレーム分のパケットをまとめて移動するようにすれば、フレーム組立てバッファ28での読み出し競合の問題は解消される。1フレーム分のパケットの移動は、以下に説明するように、パケットのデータを実際に移動するのでなく、パケットバッファ内の格納アドレスを移動するようにすれば、1パケット時間内で可能になる。
【0091】
フレーム単位でのパケットの移動の具体例を図43,44を参照して説明する。図の左上に概念的に示されるアドレス管理FIFOは、実際には、各キューのスタート/エンドポインタ92とアドレス管理テーブル94により構成される。アドレス管理テーブル94には、次のアドレスを示す次アドレス、フレーム最終パケットのアドレスを示すENDアドレス、キューに次のフレームが存在することを示す次先頭アドレスイネーブル、次のフレームの先頭アドレスを示す次先頭アドレス、フレームの先頭を示すフレーム先頭フラグ、及びフレーム長のフィールドを有するレコードが格納される。
【0092】
ここで、図43において、1フレーム分のパケットがフレーム組立バッファに溜まった場合、まずフレームを出力バッファキューにつなぐために、出力バッファのエンドポインタが示す最終アドレス(アドレス2)のレコードの次アドレスの値を、フレームの先頭アドレス(アドレス5)に書き替える(ステップA)。そして出力バッファのエンドポインタを、つなぎ替えるフレームのENDアドレス値(アドレス1)に書き替える(ステップB)。次にフレーム組立キューを更新するために、フレーム組立キューのスタートポインタを次先頭アドレス(アドレス13)に書き替える(ステップC)。以上により、図44に示すようになり、1パケット時間内にフレーム組立バッファから出力バッファに移動することが出来る。
【0093】
図45に本発明におけるマルチキャストの処理を概念的に示す。マルチキャストすべきフレームはまずDMUX90を経てマルチキャストキュー96に移動される。勿論、この移動もアドレスの書き替えのみによって行なわれる。マルチキャストキュー96からDMUX90の各出力回線に複製する際、複製フレーム毎に1つのマルチキャストアドレス98を付与する。そしてアドレスリンクにはマルチキャストアドレス98をつなぎ変える。これにより、1フレーム分を1パケット時間で仮想的に複製できるため、ユニキャストパケットとの間でフレーム連続性が保証され競合制御が不要になる。同時に複製に掛かる時間が複製数×パケット時間のみで可能となる。
【0094】
マルチキャスト処理の具体例を図46〜図53に示す。図43,44の構成に加え、出力バッファは更に複数の出力回線に対するキューを含むので、複数の出力回線へのキューとマルチキャストキュー96のスタート/エンドアドレスポインタとコネクション管理テーブル100を用意する。また、アドレス管理テーブル94には、マルチキャスト識別ビット、マルチキャストコネクションを識別するCID、マルチキャストキューからの再配置完了を示す振分完了フラグ、フレームのマルチキャスト出力数を管理するマルチキャスト数カウンタ、及びマルチキャストアドレスに対応するフレームのアドレスを示すフレームアドレスのフィールドが追加される。コネクション管理テーブルには、マルチキャストされるコネクションのCIDが実際の出力回線の番号とともに格納される。図示されている例は、CIDの2と1がこの順で登録され、それらに対応する出力回線はそれぞれ1と4であることを示す。
【0095】
マルチキャストフレームのフレーム組立が完了すると、出力バッファではなくマルチキャストキューに移動する(図46)。出力回線別のキューに同一のアドレスを使用できないため、複製時に新たな空きアドレス(アドレス3,11)を確保し、そのアドレスをフレームの代理として該当する出力バッファキュー(キュー1,4)につなぎ変える。同時にアドレス管理テーブルのマルチキャストアドレス(アドレス3,11)に対し、フレームアドレスのフィールドに実際のフレームのスタートアドレス(アドレス5)を、そのアドレスのENDアドレスのフィールドにフレームのエンドアドレス(アドレス1)を保持する。また、フレームがコピーされる毎にそのアドレスのマルチキャストカウンタをインクリメントし、同一フレームの最終コピー時(コネクション管理テーブルのENDフラグで識別)に再配置完了フラグを立てる(図47〜図49)。
【0096】
DMUXからの読み出し時は、マルチキャストアドレス(アドレス3,11)のフレームアドレス(アドレス5)からENDアドレス(アドレス1)までのパケットを読み出す。1フレーム分のパケット読み出し完了後、マルチキャストアドレスを空きアドレスキューに返却し、マルチキャストカウンタをデクリメントする。その結果が0で且つ再配置完了フラグが立っていれば、リンクとポインタの書き換えにより1フレーム分のアドレスを空きアドレスに返却する(図50〜図53)。ここで、第一回目のコピーではマルチキャストアドレスを用いずリンクとエンドポインタの書き換えにより再配置することで、制御が複雑になるものの使用アドレスを削減することも出来る。
【0097】
図54には、スイッチ16の入力側および出力側のいずれにも適用可能なQoS制御の他の例を概念的に示す。
選択部200は、所定の規則に従って高優先グループに属するQoSクラスの中から1つを選択する。選択部202は、所定の規則に従って低優先グループに属するQoSクラスの中から1つを選択する。選択部204は選択部200が選択したQoSクラスおよび選択部202が選択したQoSのいずれか一方を選択する。
【0098】
このQoS制御は、単純な優先度選択回路のみで実現でき、予め各QoSクラスにレートや読み出し比を設定して競合制御を行う場合に比べて、ハード規模の削減が可能となる。
このQoS制御はパケット廃棄などによる品質劣化が少ない入力側に適用可能であるが、品質劣化ポイントでなければ出力側にも適用可能である。
【0099】
図55は図54のQoS制御を図1のスイッチ16の入力側の入力バッファ部12および回線間スケジューラ14に適用した例を示す。図55において、入力回線の各々について、入力バッファ部12はM個のVoQ毎にQoSクラス毎のキューを保持している。スケジューリング部14は全VoQ×QoS個のキューについて、1単位時間には同じVoQを選択しないように競合制御する。このとき、各スケジューリング部14は、未確定管理部206において、確定していないVoQ情報を交換することにより競合制御を実施する。
【0100】
入力バッファ部12のVoQ毎のQoSキューに固定長パケットが到着した際、スケジューリング部14に対して、対応するVoQ番号と当該パケットのQoSクラスが属する優先グループを通知し、スケジューリング部14の各要求数カウンタ208,210で要求数を管理する。この際、例えば、帯域保証クラスのパケットは高優先グループとして通知し、ベストエフォートクラスのパケットは低優先グループとして通知する。
【0101】
次に1つのスケジューリング部14内の高優先グループの選択部212において、要求カウンタ数が0でないものの中から1つのVoQを選択し、隣接するスケジューリング部14へは未確定管理部206を経由して、確定していないVoQを通知する。未確定VoQを受信したスケジューリング部14は未確定VoQの中から同様の手順で1つのVoQを選択し、順次この操作を繰り返し、全入力回線について高優先グループに対するスケジューリングが完了する。
【0102】
次に、高優先グループに対してVoQが選択されなかった入力回線について、選択されなかったVoQを対象として、各スケジューラ部14の低優先グループ選択部214で高優先グループのときと同じ手順でVoQが順次選択される。
以上の処理により全入力回線について、高優先グループまたは低優先グループに対応するユニークなVoQ値が選択される。以上の機能が図54の選択部204に対応する。
【0103】
次にスケジューラ部14は決定したVoQ値、および優先グループを入力バッファ部12に通知し、入力バッファ部12では図56の処理を行い、高優先グループまたは低優先グループの中から1つのQoSキューを選択する。またこのとき、1可変長パケットの連続性を維持するように選択を管理することにより、同一QoSクラス内のフレームの連続性が保証される。
【0104】
図57は、図54のQoS制御を図8のQoS制御部30におけるQoS制御に適用した例を示す。入力バッファ部12における制御との違いは、高優先グループか低優先グループかの選択を競合制御によって行うのではなく、高優先グループに対応するパケットの有無で判定している。すなわち、図57のステップ2000,2002、および2004の処理が図54の選択部204,200、および202にそれぞれ相当する。
【0105】
図58は図54のQoS制御において、各QoSクラスを高優先グループおよび低優先グループのいずれかへ割り当てる手法の一例を示す。
図58に示した例では、帯域保証クラスのキューを高優先グループにマッピングし、ベストエフォートクラスのキューを低優先グループにマッピングする。最低レートまでは帯域保証し、最低レート以上は帯域の余剰がある場合のみ読み出し可能とする最低帯域保証クラスに関しては、高優先グループと低優先グループの両方にマッピングし、帯域保証分の読み出しを高優先グループとして、余剰帯域分の読み出しを低優先グループとして読み出すことにより最低帯域保証クラスのQoS制御を実現する。
【0106】
これにより、単純な優先度選択のみで最低帯域保証クラスの帯域保証分をベストエフォートクラスより優先度を高くし、帯域保証クラスと同等の優先度に設定し、最低帯域保証クラスの余剰帯域分を帯域保証クラスより優先度を低くし、ベストエフォートクラスと同等の優先度に設定できるため、帯域保証クラスやベストエフォートクラスに影響を与えずに最低帯域保証クラスを収容することが可能となる。
【0107】
図59に図58の手法をスイッチ16の入力側のQoS制御に適用した場合の、入力バッファ部12およびスケジューリング部14の具体的な回路構成を示す。最低帯域保証クラスを高優先グループ、または低優先グループにマッピングするために、前段のポリシング制御部220において、到着するパケットのトラヒックを監視し、予め規定された最低保証レート以下のパケットに対してはタギングを行わず、最低保証レートより上のパケットについてはタギングを行う。
【0108】
そしてタギングなしのパケットが到着した際は高優先グループとしてスケジューリング部14へ通知し、タギングありのパケットが到着した際はスケジューリング部14へ低優先パケットとして通知する。この際、どちらのパケットも同一のQoSキュー222に保持する。図示されていないが、帯域保証クラスおよびベストエフォートクラスのパケットの到着はポリシング制御部20の処理を経ることなく、それぞれ高優先グループおよび低優先グループとして通知される。
【0109】
各スケジューリング部14において、VoQ、および優先グループが決定され、入力バッファ部12に通知されると、当該VoQに対する通知された優先グループ内のQoSクラス選択部224または226において、1つのQoSクラスを選択し、対応するQoSキュー222から1パケットを読み出す。この際、最低帯域保証クラスについては、高優先グループの中から選択されたとしても低優先グループの中から選択されたとしても、タギングの有無にかかわらず対応するキューの先頭からパケットが読み出される。
【0110】
高優先グループ内および低優先グループ内での1つのQoSクラスの選択は、例えば図60に示すように単純なラウンドロビン方式を適用することができる。ラウンドロビン方式の場合、小さなハードウェアの規模で帯域を各QoSクラスで公平に配分することができる。しかしながら、QoSクラス間で到着トラヒック量に偏りがあると、トラヒック量の増加に比例して遅延時間が増加して遅延時間に不公平を生じるという問題がある。
【0111】
グループ内での選択をパケットの到着順に行なえば、遅延時間の不公平は解消される。これを実現するためには、例えば、図61に示すように、QoSクラス選択部224,226のキューに格納されるデータに、到着順を示すタイムスタンプを付し、この順で選択すれば良い。図61において、巡回カウンタ240,242は各優先グループ内のQoSクラスのパケットの情報を登録する度に1だけインクリメントされ、入力バッファ量に対応するパケット数までカウントしたら0に戻るカウンタであり、このカウンタの値がパケットの情報に付加される。またカウンタ値検索部244,246もパケットを選択する毎に1づつインクリメントされる内部カウンタを有し、この値に一致する巡回カウンタ値を有する情報を検索する。
【0112】
別の方法として、図62に示すように、それぞれのグループ内において、パケットが到着したQoSクラスの番号をFIFO230およびFIFO232に格納する。選択の際に、FIFOから読み出された番号に対応するパケットを選択するようにすれば、到着順に選択することができる。
図63は遅延時間が比較的公平なさらに他のグループ内選択方法を示す。まず、カウンタ234により、到着したパケットの数がQoSクラスごとにカウントされる。パケットが選択されるとカウント値がデクリメントされる。一定の観測周期が経過するごとに、選択されずに残ったパケット数がQoSクラスごとにカウンタ236に加算される。すなわち、カウンタ236では前周期とそれ以前の周期で到着し未だ選択されていないパケットの数がカウントされる。セレクタ238による選択の際に、カウンタ236の値がすべてゼロであるときは、カウンタ234の中でゼロでない値を持つQoSクラスの中からラウンドロビン方式で1つのQoSクラスが選択される。カウンタ236の中にゼロでない値を持つQoSクラスがあればそちらを優先してラウンドロビン方式で1つのQoSクラスが選択される。図63に示した例では、現周期に到着した未選択のパケットをカウントするカウンタ234と、前周期およびそれ以前の周期で到着した未選択のパケットをカウントするカウンタ236の2組のカウンタが使用されているが、前周期のパケット数と前々周期およびそれ以前の周期のパケット数を別々にカウントするといったように、履歴をさらに細分化してカウントすれば、一層公平性が向上する。
【0113】
この手法は到着パケット数をカウントするだけなので、到着パケットごとにタイムスタンプまたはQoSクラスの番号を記憶する手法と比べてハードウェアの量が少なくて済む。
図64はグループ内選択のさらに他の手法を示す。図64において、キュー長カウンタ240,242は各QoSクラスごとに未選択の固定長パケットのパケット数をカウントする。比較器244,246はキュー長カウンタ240,242の中でカウント値が最大のものを選択する。
【0114】
キュー長が長いことと到着トラヒック比が高いことは必ずしも一致しないが、ほぼ同様の傾向をもつため、ラウンドロビン方式の場合に比べより公平な遅延特性となることが期待できる。またキュー長はキュー長による廃棄制御等に利用するためのものと共用可能であるため、比較的ハード規模を小さく実現できる。
【0115】
【発明の効果】
以上説明したように本発明によれば、高速かつ少ないハードウェア規模で、可変長パケットのQoS制御、廃棄制御およびマルチキャスト制御を実現する大容量パケットスイッチが提供される。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る大容量パケットスイッチを概念的に示す図である。
【図2】可変長パケットの一例としてのIPv4のフレーム形式を示す図である。
【図3】固定長パケットの形式の一例を示す図である。
【図4】スイッチ部16の入力例におけるスケジューリングを実現する具体的な構成を示す図である。
【図5】パイプライン処理によるスケジューリングの一例を示す図である。
【図6】入力側における最低帯域保証クラスのパケットのスケジューリングの一例を示す図である。
【図7】図6のスケジューリング処理のフローチャートである。
【図8】出力バッファ部18の構成の第1の例を示す図である。
【図9】出力バッファ部18の構成の第2の例を示す図である。
【図10】図8の例の詳細な構成を示す図である。
【図11】図8および図10の構成において、出力回線がさらに複数の低速回線へ分離される場合を示す図である。
【図12】図9の構成において、出力回線がさらに複数の低速回線へ分離される場合を示す図である。
【図13】出力側の処理を考慮した入力側のスケジューラの構成を示す図である。
【図14】図13のスケジューラの動作の一例を示す図である。
【図15】図13のスケジューラの動作の一例を示す図である。
【図16】図13のスケジューラの動作のフローチャートである。
【図17】本発明における可変長パケットのQoS制御の第1の例を概念的に示す図である。
【図18】図17のQoS制御を実現する回路構成の一例を示す図である。
【図19】図17のQoS制御の動作のフローチャートである。
【図20】可変長パケットのQoS制御の第2の例を概念的に示す図である。
【図21】図20のQoS制御の動作のフローチャートである。
【図22】可変長パケットのQoS制御の第3の例を概念的に示す図である。
【図23】図22のQoS制御の動作のフローチャートである。
【図24】最低帯域保証クラスの可変長パケットの制御が可能なQoS制御の第1の例を示す図である。
【図25】図24のQoS制御を実現する具体的な構成を示す図である。
【図26】最低帯域保証クラスの可変長パケットの制御が可能なQoS制御の第2の例を示す図である。
【図27】図26のQoS制御の動作のフローチャートである。
【図28】最低帯域保証クラスの可変長パケットの制御が可能なQoS制御の第3の例を示す図である。
【図29】図26のQoS制御の動作のフローチャートである。
【図30】本発明のパケット廃棄制御における平均キュー長と廃棄確率の関係を示す図である。
【図31】本発明のパケット廃棄制御の第1の例の構成を示すブロック図である。
【図32】図31の廃棄制御の処理のフローチャートである。
【図33】図31の廃棄制御におけるLBカウンタの動作の一例を示すグラフである。
【図34】本発明の廃棄制御の動作の一例を示す図である。
【図35】本発明の廃棄制御の動作の一例を示す図である。
【図36】本発明のパケット廃棄制御の第2の例の構成を示すブロック図である。
【図37】図36の廃棄制御の処理のフローチャートである。
【図38】図36の廃棄制御におけるLBカウンタの動作の一例を示す図である。
【図39】可変長パケットのマルチキャスト制御において解決すべき課題を説明する図である。
【図40】可変長パケットのマルチキャスト制御において解決すべき課題を説明する図である。
【図41】可変長パケットのマルチキャスト制御において解決すべき課題を説明する図である。
【図42】本発明における、フレーム組立てバッファからDMUXのフレーム単位での移動を概念的に示す図である。
【図43】フレーム単位での移動の具体例を示す図である。
【図44】フレーム単位での移動の具体例を示す図である。
【図45】本発明の一実施例に係るマルチキャスト制御を概念的に示す図である。
【図46】マルチキャスト制御の具体例を示す図である。
【図47】マルチキャスト制御の具体例を示す図である。
【図48】マルチキャスト制御の具体例を示す図である。
【図49】マルチキャスト制御の具体例を示す図である。
【図50】マルチキャスト制御の具体例を示す図である。
【図51】マルチキャスト制御の具体例を示す図である。
【図52】マルチキャスト制御の具体例を示す図である。
【図53】マルチキャスト制御の具体例を示す図である。
【図54】本発明の他のQoS制御を概念的に示す図である。
【図55】図54のQoS制御をスイッチの入力側に適用した例を示す図である。
【図56】図55の回路の動作のフローチャートである。
【図57】図54のQoS制御をスイッチの出力側に適用した例を示す図である。
【図58】図54のQoS制御において各QoSクラスのアービングの例を示す図である。
【図59】最低帯域保証クラスに対するQoS制御を実現する構成の例を示す図である。
【図60】優先グループ内のQoSクラスの選択をラウンドロビン方式で行なう場合を示す図である。
【図61】優先グループ内のQoSクラスの選択をタイムスタンプにより行なう場合を示す図である。
【図62】優先グループ内のQoSクラスの選択を到着順序管理FIFOにより行なう場合を示す図である。
【図63】優先グループ内のQoSクラスの選択を観測周期内パケット数の履歴により行なう場合を示す図である。
【図64】優先グループ内のQoSクラスの選択をキュー長により行なう場合を示す図である。
【符号の説明】
10…パケット分割部
12…入力バッファ部
14…回線間スケジューラ
16…スイッチ部
18…出力バッファ部

Claims (23)

  1. 複数の入力回線からの可変長パケットを固定長パケットに分割するパケット分割部と、
    複数の入力回線のそれぞれに対して設けられ、その各々が、複数の出力回線の各々について、指定可能なQoS(Quality of Service)クラス数よりも少数の相異なる優先度が与えられたキューを有し、対応する入力回線からの固定長パケットを、出力回線およびQoSクラスに従って該キューのいずれかに登録する複数の入力バッファ部と、
    入力バッファ部のキューに登録された固定長パケットを、キューに与えられた前記優先度に従って単位時間内では出力回線が同じである2以上の固定長パケットが読み出されないように読み出すスケジューラと、
    スケジューラが読み出した固定長パケットの各々を複数の出力回線のうちの指定された1つにルーチングするスイッチと、
    複数の出力回線のそれぞれに対して設けられ、スイッチから出力される固定長パケットからの可変長パケットの組み立ておよびQoSクラスに基づく優先制御を行なうための複数の出力バッファ部とを具備し、
    前記スケジューラは前記複数の入力回線の各々に対応させた複数のスケジューラ部からなり、単位時間内で、前記複数の入力バッファ部内のすべてのキューを、キューに与えられた優先度の順、入力回線の所定の順番、および出力回線の所定の順番で調べて、各出力回線へ出力する固定長パケットを該複数のスケジューラ部から1つずつ選択するものであって該複数のスケジューラ部の間で行うパイプライン制御は、1周期に該スケジューラ部の正順および逆順を考慮したパイプライン制御であって、かつ複数のパイプラインのシーケンス順序を入れ替えることによりそのパイプラインと同じパターンが同数現れるように行い
    同一の優先度、同一の入力回線のキューの中から固定長パケットを送出する出力回線を選択するにあたり、可変長パケットを構成する複数の固定長パケットの一部が送出済である出力回線に対応するキュー内の固定長パケットを他に優先して選択することを特徴とするパケットスイッチ。
  2. 前記入力バッファ部の各々は、各出力回線について第1の優先度のキューおよび第2の優先度のキューを有し、
    帯域保証クラスのパケットは第1の優先度のキューに登録され、
    ベストエフォートクラスのパケットは第2の優先度のキューに登録され、
    最低帯域保証クラスのパケットは第2の優先度のキューに登録され、
    第2の優先度のキューは、最低保証帯域を超えて入力された最低帯域保証クラスのパケットとベストエフォートクラスのパケットとを廃棄するための第1の廃棄レベルと、第1の廃棄レベルより高く設定され最低保証帯域内で入力された最低帯域保証クラスのパケットを廃棄するための第2の廃棄レベルとを有する請求項1記載のパケットスイッチ。
  3. 前記出力バッファ部の各々は、
    入力回線の各々について、前記入力バッファ部における各出力回線に対するキューの数と同数のキューを有し、スイッチから出力される固定長パケットを入力回線に応じていずれかのキューに格納することによって固定長パケットから可変長パケットを組み立てる可変長パケット組立てバッファと、
    指定可能なQoSクラス数と同数のキューを有し、可変長パケット組立てバッファで組み立てられた可変長パケットをQoSクラスに応じて対応するキューに登録し、パケット長およびQoSクラスに応じて可変長パケットを順次読み出して対応する出力回線へ出力するQoS制御部とを含む請求項1記載のパケットスイッチ。
  4. 前記出力バッファ部の各々は、
    指定可能なQoSクラス数と同数のキューを有し、スイッチから出力される固定長パケットをQoSクラスに従っていずれかのキューに登録する固定長ベースQoS制御部と、
    入力回線の各々について、指定可能なQoSクラス数と同数のキューを有し、固定長ベースQoS制御部から出力される固定長パケットを入力回線およびQoSクラスに従って対応するキューに登録して可変長パケットを組み立て、対応する出力回線へ送出する可変長パケット組立てバッファとを含む請求項1記載のパケットスイッチ。
  5. 前記QoS制御部は、
    可変長パケットがキューの先頭に達したとき該キューの先頭に達した該可変長パケットのパケット長である第1の値を対応するトークンに加算する手段と、
    単位時間が経過するごとにアクティブなQoSクラスのトークンから第2の値を減算する手段と、
    出力回線へのパケット送出が可能なとき、アクティブなQoSクラスの中で、対応するトークンが最小もしくは0であるものの可変長パケットの読み出しを開始する手段とを含む請求項3記載のパケットスイッチ。
  6. 前記第2の値は、アクティブなQoSクラスのウェイトの総和に対する、個々のアクティブなQoSクラスのウェイトの比に対応する値である請求項5記載のパケットスイッチ。
  7. 前記第1の値は、キューの先頭に達した可変長パケットのパケット長とアクティブなQoSクラスのウェイトの総和との積に対応する値であり、前記第2の値は、個々のアクティブなQoSクラスのウェイトに対応する値である請求項5記載のパケットスイッチ。
  8. 前記第1の値加算手段は、アクティブなQoSクラスのウェイトの総和を単位時間が経過するごとにトークンに加算し、これをパケット長に対応する回数だけ繰り返すことによって第1の値の加算を達成する請求項7記載のパケットスイッチ。
  9. 前記QoS制御部は、
    可変長パケットの固定長パケット数をQoSクラスごとにカウントするカウンタと、
    0でないカウント値を有するQoSクラスを対象としてパケット長一定として優先して出力すべきパケットのQoSクラスを決定して通知する優先制御部と、
    優先制御部からの通知をQoSクラスごとにカウントし、カウント値が対応するキューの先頭の可変長パケットのパケット長に相当する値に達したQoSクラスについて、可変長パケットを読み出して出力回線へ送出する可変長パケット管理部とを含む請求項3記載のパケットスイッチ。
  10. 前記QoS制御部は、
    帯域保証クラスの可変長パケットおよび最低保証帯域内で入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第1のカウンタと、
    ベストエフォートクラスの可変長パケットおよび最低保証帯域を超えて入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第2のカウンタと、
    第1のカウンタについて0でないカウント値を有するQoSクラスおよび第2のカウンタについて0でないカウント値を有するQoSクラスを対象としてパケット長一定として優先して出力すべきパケットのQoSクラスを決定して通知する優先制御部と、
    優先制御部からの通知をQoSクラスごとにカウントし、カウント値が対応するキューの先頭の可変長パケットのパケット長に相当する値に達したQoSクラスについて、可変長パケットを読み出して出力回線へ送出する可変長パケット管理部とを含む請求項3記載のパケットスイッチ。
  11. 前記第2の値は、帯域保証分の第2の値とベストエフォート分の第2の値とを含み、
    前記第2の値減算手段は、帯域保証クラスからのパケットの読出しがあるときトークンから帯域保証分の第2の値のみを減算し、帯域保証クラスからの読出しがないときトークンから帯域保証分の第2の値とベストエフォート分の第2の値を減算する請求項5記載のパケットスイッチ。
  12. 前記トークンは、帯域保証分のトークンとベストエフォート分のトークンを含み、前記第2の値は、帯域保証分の第2の値とベストエフォート分の第2の値を含み、
    前記第2の値減算手段は、帯域保証分のトークンとベストエフォート分のトークンとから帯域保証分の第2の値とベストエフォート分の第2の値をそれぞれ減算し、
    帯域保証分のトークンおよびベストエフォート分のトークンのいずれか一方に基づき読み出すパケットが選ばれたとき、選ばれたパケットについて他方のトークンに対して行なわれた減算量が次のパケットのトークンに繰り越される請求項5記載のパケットスイッチ。
  13. 請求項1に記載のパケットスイッチの前記出力バッファ部におけるスケジューリング装置であって、
    指定可能なQoSクラス数と同数のキューであって、可変長パケットをQoSクラスに応じてそれぞれに登録し得るものと、
    可変長パケットがキューの先頭に達したとき該キューの先頭に達した該可変長パケットのパケット長である第1の値を対応するトークンに加算する手段と、
    単位時間が経過するごとにアクティブなQoSクラスのトークンから第2の値を減算する手段と、
    出力回線へのパケット送出が可能なとき、アクティブなQoSクラスの中で、対応するトークンが最小もしくは0であるものの可変長パケットの読み出しを開始する手段とを具備するスケジューリング装置。
  14. 前記第2の値は、アクティブなQoSクラスのウェイトの総和に対する、個々のアクティブなQoSクラスのウェイトの比に対応する値である請求項13記載のスケジューリング装置。
  15. 前記第1の値は、キューの先頭に達した可変長パケットのパケット長とアクティブなQoSクラスのウェイトの総和との積に対応する値であり、前記第2の値は、個々のアクティブなQoSクラスのウェイトに対応する値である請求項13記載のスケジューリング装置。
  16. 前記第1の値加算手段は、アクティブなQoSクラスのウェイトの総和を単位時間が経過するごとにトークンに加算し、これをパケット長に対応する回数だけ繰り返すことによって前記第1の値の加算を達成する請求項15記載のスケジューリング装置。
  17. 請求項1に記載のパケットスイッチの前記出力バッファ部におけるスケジューリング装置であって、
    指定可能なQoSクラス数と同数のキューであって、可変長パケットをQoSクラスに応じてそれぞれに登録し得るものと、
    可変長パケットの固定長パケット数をQoSクラスごとにカウントするカウンタと、
    0でないカウント値を有するQoSクラスを対象としてパケット長一定として優先して出力すべきパケットのQoSクラスを決定して通知する優先制御部と、
    優先制御部からの通知をQoSクラスごとにカウントし、カウント値が対応するキューの先頭の可変長パケットのパケット長に相当する値に達したQoSクラスについて、可変長パケットを読み出して出力回線へ送出する可変長パケット管理部とを含むスケジューリング装置。
  18. 請求項1に記載のパケットスイッチの前記出力バッファ部におけるスケジューリング装置であって、
    指定可能なQoSクラス数と同数のキューであって、可変長パケットをQoSクラスに応じてそれぞれに登録し得るものと、
    帯域保証クラスの可変長パケットおよび最低保証帯域内で入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第1のカウンタと、
    ベストエフォートクラスの可変長パケットおよび最低保証帯域を超えて入力された最低帯域保証クラスの可変長パケットの固定長パケット数をQoSクラスごとにカウントする第2のカウンタと、
    第1のカウンタについて0でないカウント値を有するQoSクラスおよび第2のカウンタについて0でないカウント値を有するQoSクラスを対象としてパケット長一定として優先して出力すべきパケットのQoSクラスを決定して通知する優先制御部と、
    優先制御部からの通知をQoSクラスごとにカウントし、カウント値が対応するキューの先頭の可変長パケットのパケット長に相当する値に達したQoSクラスについて、可変長パケットを読み出して出力回線へ送出する可変長パケット管理部とを含むスケジューリング装置。
  19. 前記第2の値は、帯域保証分の第2の値とベストエフォート分の第2の値とを含み、
    前記第2の値減算手段は、帯域保証クラスからのパケットの読出しがあるときトークンから帯域保証分の第2の値のみを減算し、帯域保証クラスからの読出しがないときトークンから帯域保証分の第2の値とベストエフォート分の第2の値を減算する請求項13記載のスケジューリング装置。
  20. 前記トークンは、帯域保証分のトークンとベストエフォート分のトークンを含み、前記第2の値は、帯域保証分の第2の値とベストエフォート分の第2の値を含み、
    前記第2の値減算手段は、帯域保証分のトークンとベストエフォート分のトークンとから帯域保証分の第2の値とベストエフォート分の第2の値をそれぞれ減算し、
    帯域保証分のトークンおよびベストエフォート分のトークンのいずれか一方に基づき読み出すパケットが選ばれたとき、選ばれたパケットについて他方のトークンに対して行なわれた減算量が次のパケットのトークンに繰り越される請求項13記載のスケジューリング装置。
  21. 前記入力バッファ部および出力バッファ部の少なくとも一方のバッファ内に格納されているパケットの量のその閾値との差分にバッファの先頭に存在する可変長パケットのパケット長を乗じてその結果を出力する演算回路と、
    カウンタと、
    演算回路の演算結果をカウンタに加算する加算回路と、
    カウンタの値が所定値を超えているときバッファの先頭に存在する可変長パケットを一度に廃棄し、前記パケット長に所定値を乗じた値をカウンタから減算する制御回路とを具備する可変長パケットの廃棄制御回路をさらに有する請求項1記載のパケットスイッチ。
  22. 前記入力バッファ部および出力バッファ部の少なくとも一方のバッファ内に格納されているパケットの量のその閾値との差分を出力する演算回路と、
    カウンタと、
    演算回路の演算結果をカウンタに加算する加算回路と、
    カウンタの値が所定値を超えているときバッファの先頭に存在する固定長パケットを廃棄し、所定値をカウンタから減算する制御回路とを具備する可変長パケットの廃棄制御回路をさらに有する請求項1記載のパケットスイッチ。
  23. 前記複数の出力回線毎の出力バッファ部のバッファにおいて、
    バッファに格納されている、マルチキャスト制御すべき可変長パケットのアドレスを登録するマルチキャストキューと、
    複数の出力回線のそれぞれに対して設けられた複数の出力バッファキューと、
    バッファに格納されている可変長パケットのアドレスを管理するアドレス管理テーブルと、
    マルチキャスト制御すべき可変長パケットのアドレスがマルチキャストキューに登録されたとき、該可変長パケットのアドレスを含むレコードをその出力先の数だけアドレス管理テーブルに格納し、その出力先に対応する出力バッファキューに、該レコードのアドレスをそれぞれ登録する制御手段とを具備するマルチキャスト制御回路を有する請求項1記載のパケットスイッチ。
JP2000124667A 2000-03-22 2000-04-25 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置 Expired - Fee Related JP4879382B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000124667A JP4879382B2 (ja) 2000-03-22 2000-04-25 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置
US09/813,226 US7016366B2 (en) 2000-03-22 2001-03-20 Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues
EP20060000474 EP1646192B1 (en) 2000-03-22 2001-03-22 Packet switch, scheduling device, drop control circuit, multicast control circuit and QOS control device
EP01106433A EP1137227A3 (en) 2000-03-22 2001-03-22 Packet switch, scheduling device, drop control circuit, multicast control circuit and Qos control device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000080383 2000-03-22
JP2000080383 2000-03-22
JP2000-80383 2000-03-22
JP2000124667A JP4879382B2 (ja) 2000-03-22 2000-04-25 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置

Publications (2)

Publication Number Publication Date
JP2001339427A JP2001339427A (ja) 2001-12-07
JP4879382B2 true JP4879382B2 (ja) 2012-02-22

Family

ID=26588072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000124667A Expired - Fee Related JP4879382B2 (ja) 2000-03-22 2000-04-25 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置

Country Status (3)

Country Link
US (1) US7016366B2 (ja)
EP (2) EP1137227A3 (ja)
JP (1) JP4879382B2 (ja)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3475900B2 (ja) 2000-03-29 2003-12-10 日本電気株式会社 調停方式及びそれを用いたアービタ回路
US6845100B1 (en) * 2000-08-28 2005-01-18 Nokia Mobile Phones Ltd. Basic QoS mechanisms for wireless transmission of IP traffic
JP3443093B2 (ja) * 2000-12-27 2003-09-02 株式会社東芝 ディジタル記録再生装置
DE60008265T2 (de) * 2000-12-28 2004-07-22 Alcatel Methode zur Bandbreitenzuteilung für Netzwerkendgeräte in einem Kommunikationsnetzwerk mit einen Medienzugriffssteuerungsgerät zur Ausführung dieser Methode
US7042883B2 (en) * 2001-01-03 2006-05-09 Juniper Networks, Inc. Pipeline scheduler with fairness and minimum bandwidth guarantee
US7486686B2 (en) * 2001-02-26 2009-02-03 Vitesse Semiconductor Corporation Method and apparatus for scheduling data on a medium
WO2002079758A1 (en) * 2001-03-29 2002-10-10 Circadiant Systems, Inc. Error function analysis of optical components with uncertainty ranges
US7627870B1 (en) * 2001-04-28 2009-12-01 Cisco Technology, Inc. Method and apparatus for a data structure comprising a hierarchy of queues or linked list data structures
JP3705353B2 (ja) * 2001-05-22 2005-10-12 日本電気株式会社 パケットスケジューリング装置及び方法
KR20040003052A (ko) * 2001-06-05 2004-01-07 노오텔 네트웍스 리미티드 상대적 스루풋 산포도에 기초하여 이동 단말기로의 데이타패킷 송신을 스케쥴링하는 다중 임계 스케쥴러
US7724760B2 (en) * 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch
JP3622843B2 (ja) * 2001-07-11 2005-02-23 日本電気株式会社 可変長パケットスイッチ方法及びシステム
US20030014532A1 (en) * 2001-07-16 2003-01-16 Shean-Guang Chang Method and apparatus for multicast support
US7158480B1 (en) * 2001-07-30 2007-01-02 Nortel Networks Limited Feedback output queuing system, apparatus, and method
US8271672B1 (en) 2001-08-31 2012-09-18 Juniper Networks, Inc. Guaranteed bandwidth memory apparatus and method
US7089257B2 (en) * 2001-09-27 2006-08-08 Qualcomm, Inc. Method and system for providing a unified data exchange and storage format
GB2381406A (en) * 2001-10-24 2003-04-30 Ipwireless Inc Packet data queuing and processing
JP2003134160A (ja) * 2001-10-25 2003-05-09 Matsushita Electric Ind Co Ltd 帯域保証システム、中継装置、及び、ネットワーク管理サーバ
US7698454B1 (en) * 2001-11-26 2010-04-13 Juniper Networks, Inc. Interfacing with streams of differing speeds
US7023856B1 (en) * 2001-12-11 2006-04-04 Riverstone Networks, Inc. Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US7212528B2 (en) 2001-12-21 2007-05-01 Alcatel Canada Inc. System and method for reassembling packets in a network element
CA2440236C (en) * 2001-12-28 2008-02-12 Nokia Corporation Packet scheduling method and apparatus
CA2369432A1 (en) 2002-01-24 2003-07-24 Alcatel Canada Inc. System and method for reassembling packets in a network element
EP1331770A1 (en) * 2002-01-24 2003-07-30 Alcatel Canada Inc. System and method for reassembling packets in a network element
US7085849B1 (en) * 2002-03-08 2006-08-01 Juniper Networks, Inc. Scheduler systems and methods for transmit system interfaces
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
GB0207507D0 (en) * 2002-03-28 2002-05-08 Marconi Corp Plc An apparatus for providing communications network resource
US7151777B2 (en) * 2002-04-04 2006-12-19 Fujitsu Limited Crosspoint switch having multicast functionality
TWI244349B (en) * 2002-05-01 2005-11-21 Interdigital Tech Corp Point to multi-point services using high speed shared channels in wireless communication systems
CN103596270B (zh) * 2002-05-01 2017-04-19 美商内数位科技公司 无线通信中使用的用户设备以及网络装置
JP3857183B2 (ja) * 2002-05-24 2006-12-13 株式会社日立コミュニケーションテクノロジー アドレス変換機能を備えたパケット転送装置
CN1656754A (zh) * 2002-05-30 2005-08-17 松下电器产业株式会社 分组传送电路和分组传送方法
US7292580B2 (en) * 2002-06-10 2007-11-06 Lsi Corporation Method and system for guaranteeing quality of service in a multi-plane cell switch
CA2393373A1 (en) 2002-07-15 2004-01-15 Anthony Gerkis Apparatus, system and method for the transmission of data with different qos attributes.
US7633971B1 (en) * 2002-09-13 2009-12-15 Ceterus Networks, Inc. Method and system for transport of packet-based datastreams over frame-based transport systems employing physically diverse transmission channels
FI112421B (fi) * 2002-10-29 2003-11-28 Tellabs Oy Menetelmä ja laitteisto siirtoyhteyskapasiteetin vuorottamiseksi pakettikytkentäisten tietoliikennevoiden kesken
EP1416681A1 (en) * 2002-10-29 2004-05-06 Alcatel Method for traffic engineering and ingress router adapted to perform such a method
US8520520B2 (en) * 2002-11-06 2013-08-27 Avaya, Inc. System and method for per flow guaranteed throughput, multiple TCP flow bandwidth provisioning, and elimination of packet drops for transmission control protocol (TCP) and TCP-friendly protocols
US20040090964A1 (en) * 2002-11-07 2004-05-13 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control II
US7599287B2 (en) * 2002-11-15 2009-10-06 Cisco Technology, Inc. Tokens in token buckets maintained among primary and secondary storages
US7304942B1 (en) * 2002-11-15 2007-12-04 Cisco Technology, Inc. Methods and apparatus for maintaining statistic counters and updating a secondary counter storage via a queue for reducing or eliminating overflow of the counters
US7307949B1 (en) * 2002-11-19 2007-12-11 Juniper Networks, Inc. Hierarchical policers for enforcing differentiated traffic behavior
JP3643827B2 (ja) * 2002-12-17 2005-04-27 株式会社半導体理工学研究センター ルータ装置とその出力ポート回路及びその制御方法
KR100564743B1 (ko) * 2002-12-18 2006-03-27 한국전자통신연구원 다기능 스위치 패브릭 장치 및 그 제어 방법
US20060129525A1 (en) * 2002-12-19 2006-06-15 Edwin Rijpkema Combined best effort and contention free guaranteed throughput data scheduling
JPWO2004066570A1 (ja) * 2003-01-17 2006-05-18 富士通株式会社 ネットワークスイッチ装置およびネットワークスイッチ方法
US20040156381A1 (en) * 2003-02-10 2004-08-12 Fischer Michael Andrew Partial queuing using an interface with bounded latency
DE10308954A1 (de) * 2003-02-28 2004-09-09 Siemens Ag Übertragung von Daten in einem schaltbaren Datennetz
CN1300714C (zh) * 2003-03-10 2007-02-14 华为技术有限公司 对数据通信中交换芯片外挂存储器优化管理的方法
FI115100B (fi) 2003-10-14 2005-02-28 Tellabs Oy Menetelmä ja laitteisto ruuhkanhallinnan sekä siirtoyhteyskapasiteetin vuorottamisen ohjaamiseksi pakettikytkentäisessä tietoliikenteessä
EP1683310A1 (en) * 2003-10-31 2006-07-26 Koninklijke Philips Electronics N.V. Integrated circuit and method for avoiding starvation of data
WO2005048614A1 (fr) * 2003-11-14 2005-05-26 Zte Corporation Procede de programmation de paquets pour systeme de communication sans fil
JP2005204002A (ja) * 2004-01-15 2005-07-28 Fujitsu Ltd パケット中継装置
US7304944B2 (en) * 2004-05-03 2007-12-04 Lucent Technologies Inc. Unified scheduling and queueing architecture for a multiservice switch
JP4632245B2 (ja) * 2005-02-23 2011-02-16 株式会社エヌ・ティ・ティ・ドコモ 送信局、移動通信システムおよび送信電力制御方法
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム
WO2007002034A2 (en) * 2005-06-20 2007-01-04 Comcast Cable Holdings, Llc Method and system of managing and allocating communication related resources
JP4524656B2 (ja) * 2005-08-04 2010-08-18 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9521584B2 (en) * 2005-10-17 2016-12-13 Qualcomm Incorporated Method and apparatus for managing data flow through a mesh network
US8730982B2 (en) * 2005-11-10 2014-05-20 Broadcom Corporation Scheduling of data transmission with minimum and maximum shaping of flows in a network device
JP4648833B2 (ja) * 2005-12-28 2011-03-09 富士通株式会社 帯域管理装置
US20070165647A1 (en) * 2006-01-19 2007-07-19 Tellabs Operations, Inc. Apparatus, method, and computer program for data packet scheduling
US8018845B2 (en) * 2006-01-25 2011-09-13 Cisco Technology, Inc Sampling rate-limited traffic
WO2007099644A1 (ja) * 2006-03-03 2007-09-07 Hitachi, Ltd. クロスバスイッチ
JP4659657B2 (ja) * 2006-03-28 2011-03-30 富士通株式会社 フレーム多重装置
US8255599B2 (en) * 2006-03-28 2012-08-28 Integrated Device Technology Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities
DE102006015239B3 (de) * 2006-03-30 2007-08-23 Siemens Ag Netzzugangssteuerung mit zusätzlicher Verkehrsklasse in einem Kommunikationsnetz
US20080123649A1 (en) * 2006-07-20 2008-05-29 Via Technologies, Inc. Systems and methods for broadcast storm control
US8077611B2 (en) * 2006-07-27 2011-12-13 Cisco Technology, Inc. Multilevel coupled policer
US7899079B2 (en) * 2006-08-24 2011-03-01 Futurewei Technologies, Inc. System for managing reserved bits in a variable-length message and optimizing message decoding utilizing the same
JP4701152B2 (ja) * 2006-10-20 2011-06-15 富士通株式会社 データ中継装置、データ中継方法およびデータ中継プログラム
US7697435B1 (en) * 2007-02-02 2010-04-13 Sprint Communications Company L.P. Dynamic backhaul delay determination
JP4899961B2 (ja) * 2007-03-19 2012-03-21 富士通株式会社 通信装置および出力制御方法
US7710953B2 (en) * 2007-03-30 2010-05-04 Alcatel-Lucent Usa Inc. Method and apparatus for operating fast switches using slow schedulers
US9209982B2 (en) * 2007-05-18 2015-12-08 Cisco Technology, Inc. Charging for network services based on delivered quality of service
US8284792B2 (en) * 2007-06-01 2012-10-09 Apple Inc. Buffer minimization in interface controller
KR101075724B1 (ko) * 2007-07-06 2011-10-21 삼성전자주식회사 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법
US20100195492A1 (en) * 2007-07-23 2010-08-05 Janos Harmatos Controlling Traffic in a Packet Switched Communications Network
US7889739B2 (en) * 2007-10-22 2011-02-15 Verizon Patent And Licensing Inc. Label and exp field based MPLS network device
US8045563B2 (en) * 2007-12-27 2011-10-25 Cellco Partnership Dynamically adjusted credit based round robin scheduler
US9013999B1 (en) * 2008-01-02 2015-04-21 Marvell International Ltd. Method and apparatus for egress jitter pacer
US20090232160A1 (en) * 2008-03-17 2009-09-17 Nokia Corporation Bandwidth Requests of Scheduling Services
JP5428203B2 (ja) * 2008-05-30 2014-02-26 富士通株式会社 データ出力装置および通信装置ならびにスイッチ装置
US8468426B2 (en) * 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
JP2008295070A (ja) * 2008-07-03 2008-12-04 Ntt Docomo Inc 適応無線パラメータ制御方法、QoS制御装置、基地局及び無線通信システム
US7800519B2 (en) * 2008-09-30 2010-09-21 Apple Inc. Method and apparatus for compressing and decompressing data
GB2464310B (en) 2008-10-10 2012-10-17 Micron Technology Inc Switching device
IL201774A0 (en) * 2009-10-27 2010-06-16 Eci Telecom Ltd Technique of throughput control for packer switches
US20110194426A1 (en) * 2010-02-09 2011-08-11 Chien Fang Hierarchical queuing and scheduling
US8773992B2 (en) 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
GB201101709D0 (en) 2011-02-01 2011-03-16 Transpacket As A method and a node arrangement for optimizing traffic processing in integrated hybrid networks
CN102118314A (zh) * 2011-02-28 2011-07-06 华为技术有限公司 流量管理的方法和管理装置
JP5682391B2 (ja) * 2011-03-22 2015-03-11 富士通株式会社 データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
US9258248B2 (en) * 2011-04-01 2016-02-09 Alcatel Lucent Energy-efficient network device with coordinated scheduling and processor rate control
JP5416168B2 (ja) * 2011-05-19 2014-02-12 富士通テレコムネットワークス株式会社 通信装置
GB201111106D0 (en) * 2011-06-30 2011-08-10 Xelerated Ab Method, network device, computer program and computer program product for communication queue state
US8908711B2 (en) * 2011-11-01 2014-12-09 Hewlett-Packard Development Company, L.P. Target issue intervals
US8879571B2 (en) * 2011-11-01 2014-11-04 Hewlett-Packard Development Company, L.P. Delays based on packet sizes
CN102377682B (zh) * 2011-12-12 2014-07-23 西安电子科技大学 基于定长单元存储变长分组的队列管理方法及设备
WO2014017069A1 (ja) * 2012-07-24 2014-01-30 パナソニック株式会社 バスシステムおよび中継器
US8867559B2 (en) * 2012-09-27 2014-10-21 Intel Corporation Managing starvation and congestion in a two-dimensional network having flow control
JP6127857B2 (ja) * 2013-09-17 2017-05-17 富士通株式会社 トラフィック制御装置
JP2016208241A (ja) * 2015-04-21 2016-12-08 富士通株式会社 伝送装置及びパケット制御方法
KR102492234B1 (ko) * 2016-02-16 2023-01-27 주식회사 쏠리드 분산 안테나 시스템, 이의 프레임 처리 방법, 및 이의 혼잡 회피 방법
US10587526B2 (en) * 2016-05-30 2020-03-10 Walmart Apollo, Llc Federated scheme for coordinating throttled network data transfer in a multi-host scenario
US10826715B2 (en) * 2016-12-02 2020-11-03 Datalogic Ip Tech S.R.L. Simple device replacement in a Profinet IO conformance class A (CCA) network through ubiquitous computing paradigm and combining a token ring approach with a ubicomp paradigm to prevent real-time performance drop
JP2018132189A (ja) * 2017-02-14 2018-08-23 イートン インテリジェント パワー リミテッド 流体制御システムのための制御システムネットワークアーキテクチャ
US11051319B2 (en) * 2018-09-04 2021-06-29 Qualcomm Incorporated Techniques for low latency communications in wireless local area networks
US11599644B2 (en) 2019-05-17 2023-03-07 Walmart Apollo, Llc Blocking insecure code with locking
JP7652582B2 (ja) 2021-02-17 2025-03-27 日本放送協会 ネットワークスイッチおよびプログラム
US20230344774A1 (en) * 2022-04-21 2023-10-26 Verizon Patent And Licensing Inc. User plane congestion control service

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003657A1 (fr) 1993-07-21 1995-02-02 Fujitsu Limited Central mta
JP3601078B2 (ja) * 1993-08-05 2004-12-15 富士通株式会社 ルータ、フレームリレー交換機、及びフレームリレー優先通信方式
JP3354689B2 (ja) 1994-02-28 2002-12-09 富士通株式会社 Atm交換機、交換機及びそのスイッチングパス設定方法
EP0706297A1 (en) * 1994-10-07 1996-04-10 International Business Machines Corporation Method for operating traffic congestion control in a data communication network and system for implementing said method
CA2150967C (en) * 1994-12-22 2001-04-03 Jon C. R. Bennett Method and a scheduler for controlling when a server provides service with rate control to an entity
JP2856104B2 (ja) * 1995-04-18 1999-02-10 日本電気株式会社 Atmスイッチ
US5809024A (en) * 1995-07-12 1998-09-15 Bay Networks, Inc. Memory architecture for a local area network module in an ATM switch
JPH09116551A (ja) * 1995-10-18 1997-05-02 Toshiba Corp データパケット転送方法及びデータパケット転送装置
JPH09321768A (ja) * 1996-05-28 1997-12-12 Matsushita Electric Ind Co Ltd Atm交換機
JP3537991B2 (ja) 1996-05-29 2004-06-14 日本電信電話株式会社 Atmセル伝送装置
JPH1075251A (ja) * 1996-08-29 1998-03-17 Mitsubishi Electric Corp Atm交換装置
JP3435293B2 (ja) * 1996-09-10 2003-08-11 株式会社東芝 パケットスケジューリング装置及びパケット転送方法
JPH10126419A (ja) * 1996-10-23 1998-05-15 Nec Corp Atm交換機システム
JPH1141241A (ja) 1997-07-18 1999-02-12 Hitachi Ltd Atmスイッチ及びそのセル出力優先制御方法
JP3382517B2 (ja) 1997-08-04 2003-03-04 日本電信電話株式会社 優先制御回路
US6072772A (en) * 1998-01-12 2000-06-06 Cabletron Systems, Inc. Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
JP3011172B2 (ja) * 1998-01-28 2000-02-21 日本電気株式会社 Atm交換機及びそのスイッチ制御方法並びにその制御プログラムを記録した記録媒体
US6044061A (en) * 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6160812A (en) * 1998-05-04 2000-12-12 Cabletron Systems, Inc. Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US6052368A (en) * 1998-05-22 2000-04-18 Cabletron Systems, Inc. Method and apparatus for forwarding variable-length packets between channel-specific packet processors and a crossbar of a multiport switch
JP3506612B2 (ja) * 1998-08-31 2004-03-15 富士通株式会社 スケジューリング制御装置
JP3704438B2 (ja) * 1998-12-09 2005-10-12 株式会社日立製作所 可変長パケット通信装置
JP3732989B2 (ja) * 2000-01-12 2006-01-11 富士通株式会社 パケットスイッチ装置及びスケジューリング制御方法

Also Published As

Publication number Publication date
US20010033581A1 (en) 2001-10-25
EP1646192A2 (en) 2006-04-12
EP1646192A3 (en) 2007-10-31
EP1646192B1 (en) 2015-05-20
JP2001339427A (ja) 2001-12-07
EP1137227A2 (en) 2001-09-26
US7016366B2 (en) 2006-03-21
EP1137227A3 (en) 2004-10-06

Similar Documents

Publication Publication Date Title
JP4879382B2 (ja) パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置
JP3732989B2 (ja) パケットスイッチ装置及びスケジューリング制御方法
US8189597B2 (en) Pipeline scheduler with fairness and minimum bandwidth guarantee
JP4070610B2 (ja) データ・ストリーム・プロセッサにおけるデータ・ストリームの操作
US5278828A (en) Method and system for managing queued cells
US7457297B2 (en) Methods and apparatus for differentiated services over a packet-based network
AU736406B2 (en) Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
US7177317B2 (en) Flexible scheduler in an asynchronous transfer mode (ATM) switch
KR100933917B1 (ko) 네트워크 스위치에서의 대역폭 보장 및 과부하 보호 방법및 장치
JP3435293B2 (ja) パケットスケジューリング装置及びパケット転送方法
US7649882B2 (en) Multicast scheduling and replication in switches
EP0872988A2 (en) A method for supporting per-connection queuing for feedback-controlled traffic
US7113510B2 (en) Hardware self-sorting scheduling queue
US7580355B2 (en) Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
US6246687B1 (en) Network switching system supporting guaranteed data rates
CA2462793C (en) Distributed transmission of traffic streams in communication networks
Hu et al. Feedback-based scheduling for load-balanced two-stage switches
JP4072315B2 (ja) パケットスイッチ
HUP0203928A2 (en) Method and system for controlling transmission of packets in computer networks
Benet et al. Providing in-network support to coflow scheduling
KR100369562B1 (ko) 고속 통합 서비스망에서 wfq의 에뮬레이션을 통한 공정패킷 스케쥴링 방법 및 그 공정 패킷 스케쥴러
US20070133561A1 (en) Apparatus and method for performing packet scheduling using adaptation round robin
Prasanth et al. Performance analysis of buffered crossbar switch scheduling algorithms
JP2000165447A (ja) 電気通信網においてデータパケットをスケジューリングする方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091216

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110927

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111130

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees