JPH1084383A - パケットスケジューリング装置及びパケット転送方法 - Google Patents

パケットスケジューリング装置及びパケット転送方法

Info

Publication number
JPH1084383A
JPH1084383A JP23915996A JP23915996A JPH1084383A JP H1084383 A JPH1084383 A JP H1084383A JP 23915996 A JP23915996 A JP 23915996A JP 23915996 A JP23915996 A JP 23915996A JP H1084383 A JPH1084383 A JP H1084383A
Authority
JP
Japan
Prior art keywords
packet
queue
scheduling
length
output
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
JP23915996A
Other languages
English (en)
Other versions
JP3435293B2 (ja
Inventor
Yoshihiro Oba
義洋 大場
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.)
Toshiba Corp
Original Assignee
Toshiba 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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP23915996A priority Critical patent/JP3435293B2/ja
Priority to US08/926,474 priority patent/US6101193A/en
Publication of JPH1084383A publication Critical patent/JPH1084383A/ja
Application granted granted Critical
Publication of JP3435293B2 publication Critical patent/JP3435293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • 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/621Individual queue per connection or flow, e.g. per VC
    • 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/622Queue service order
    • H04L47/6235Variable service order
    • 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/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

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

Abstract

(57)【要約】 【課題】 重み付け公平スケジューリングアルゴリズム
の一方式であるDRRよりもトラヒックのバースト性を
抑え、短い時間スケールでのフェアネス性能を向上させ
ることが可能なパケットスケジューリング装置を提供す
ること。 【解決手段】 パケットを保持する複数のパケットキュ
ーと、受信したパケットを所定のパケットキューに入力
する入力手段と、前記パケットキューごとの送信可能な
パケット量を保持するカウンタ手段と、前記送信可能な
パケット量が所定の値以上であるパケットキューを選択
するスケジューリング手段と、選択されたパケットキュ
ーから所定のパケットを出力する出力手段とを備え、前
記スケジューリング手段は、前記パケットキューをイン
ターリーブに選択する手段を含むことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソーティング処理
を伴わずにパケット出力のパケットスケジューリングを
行うパケットスケジューリング装置およびパケット転送
方法に関する。
【0002】
【従来の技術】IP(Internet Protoc
ol)プロトコルをベースにした従来のインターネット
は、ベストエフォート、すなわち、ネットワーク遅延な
どの通信品質(QOS;Quality Of Ser
vice)の保証は行なわず、宛先にパケットを誤りな
く届けることを目的としたネットワークであった。しか
しながら、近年のインターネットではQOSの保証まで
考慮したアーキテクチャへ移行しつつある。この場合、
QOSは、IPパケットヘッダ中のソースアドレス、宛
先アドレス、プロトコル番号、TCP/UDPのポート
番号などから定義される「フロー」単位に保証される。
【0003】パケット転送レベルでは、フロー別にパケ
ットキューを設け、パケットキューのスケジューリング
が行なわれる。パケットキューのスケジューリングは方
式として、フローごとに異なる使用帯域に関する重みを
与え、重みに応じた割合でパケット長を考慮してキュー
のサービスを行なう重み付け公平スケジューリングアル
ゴリズムとして、Self Clocked Fair
Queueing(SCFQ)が、文献「S.Gol
estani,“A Self−Clocked Fa
ir Queueing Scheme for Br
oadbandApplications”,In P
roc. of INFOCOM’94.pp.636
−646,1994.」で提案されている。また、Vi
rtual Clockと呼ばれる同様のアルゴリズム
が、文献「L.Zhang.“Virtual Clo
ck: A New Traffic Control
Algorithm for Packet Swi
tching Networking”,In Pro
c. of SIGCOMM’90.pp.19−2
9,1990.」で提案されている。
【0004】一般に、重み付け公平スケジューリングに
おいては、パケットまたはパケットキューに対して、重
みや到着パケット長に基づいて計算されるタイムスタン
プが付加され、タイムスタンプの小さいパケットもしく
はパケットキューから順にパケットを出力していくこと
を基本とする。この際、出力候補の中からタイムスタン
プが最小のものを選ぶために、ソーティング処理や半順
序木の管理が必要となるが、これらの計算量は、log
2 Nのオーダーとなる。ここで、Nはフロー数である。
【0005】そこで、DRR(Deficit Rou
nd Robin)と呼ばれる、ソーティングを行なわ
ないタイプのスケジューリングアルゴリズムが文献
「M.Shreedhar and George V
arghese,“Efficient Fair Q
ueueing using Deficit Rou
nd Robin”,Proceedings of
SIGCOMM’95.pp.231−242,199
5.」で提案されている。
【0006】以下、DRRについて説明する。DRRで
は、図8に示されるようにフロー別のパケットキュー1
20の他に、現在パケットが溜まっている(アクティブ
な)パケットキューのフローIDが保持されるアクティ
ブリストと、現在、各フローが現在送信可能なバイト数
を表すカウンタを使用する。図8において、各フロー
a,b,c,dの重みをそれぞれ、wa ,wb ,wc
d (バイト)とする。ただし、これらの重みは最大パ
ケット長以上であるものとする。
【0007】図8においては、パケット内の文字はパケ
ットの識別情報を表す。例えば、b3(200)で表さ
れるパケットは、フローbの3番目の到着パケットで、
パケット長は200バイトである。ここでは、a,b,
c,dの4つのフローが存在するのとする。
【0008】アクティブリストのNextフィールド
は、次のアクティブなパケットキューのフローIDが入
る。また、アクティブリストは、アクティブなフローの
先頭、最後、現在選択中のテーブルエントリのフローI
Dを示すポインタも持っており、それぞれ、Head,
Tail,Nowで表される。図8では、フローa,
b,dのエントリがこの順につながっており、Head
はa、Tailはb、Nowはaを指している。Now
の値は、最初Headにセットされ、Tailまで達す
るとHeadに戻る。NowがHeadからTailま
で一巡するまでの時間をラウンドと呼ぶ。
【0009】wa =wb =wc =wd =500とする
と、カウンタには、初期値として重み500が入る。パ
ケット出力部130は、アクティブリストのNowで示
されるエントリからフローIDfを取り出して(この場
合f=a)、対応するカウンタと対応するパケットキュ
ー120の先頭パケットのパケット長との差が0以上で
あり、かつ、対応するパケットキュー120がアクティ
ブである間、対応するパケットキュー120からパケッ
トを出力し、対応するカウンタの値を出力したパケット
のパケット長だけデクリメントすることを繰り返す。そ
の後、パケットキュー120がまだアクティブであれば
対応するカウンタの値をwf だけインクリメントし、そ
うでなければ対応するカウンタの値をwf にセットす
る。次にNowを更新する。NowがTailに達して
いれば、NowはHeadにセットされ、その他の場合
にはNowの次のエントリにセットされる。そして、新
しいNowが指すエントリについて同様の処理が繰り返
される。
【0010】また、パケットの到着により新たにパケッ
トキュー120がアクティブとなった場合には、直ちに
アクティブリストが更新される。例えば図8において、
フローcのパケットキュー120がアクティブになる
と、フローbのテーブルエントリのNextフィールド
がdからcに変更され、また、エントリcのNextフ
ィールドはdに設定される。
【0011】図8において、新たにパケット到着がない
場合に1ラウンド内のパケット出力系列は、a1(10
0),b1(300),b2(200),d1(30
0),d2(100)となり、1ラウンド終了時点での
フローa,b,c,dのカウンタの値は、それぞれ、9
00,600,500,500となる。すなわち、DR
Rでは、前のラウンドでパケット長がカウンタ値より大
きいために出力できなかったフローについては、出力さ
れなかったバイト数を記憶しておき、次のラウンドでそ
の分だけ重みよりも多く送るようにする。
【0012】この方式では、パケット出力部130が次
の出力パケットを選択するのにかかる時間はフロー数に
依存せずに一定となる。また、フローの入力トラヒック
が申告トラヒックパラメータに従う場合の遅延の最大値
や、ラウンドよりも大きい時間スケールでみたときのフ
ェアネスが保証される。
【0013】しかしながら、DRRでは、フローが一旦
選択されると、カウンタがデクリメントできなくなる
か、パケットキューが空になるまで同じフローのパケッ
トが選択され続けるために、ラウンドより小さい時間に
おいてフロー単位のバースト性が大きくなるため、フェ
アネス特性が劣化することである。この傾向は、最大パ
ケット長が大きくなるほど、すなわち、重みの最小値が
大きくなるほど顕著になる。
【0014】
【発明が解決しようとする課題】従来の重み付け公平ス
ケジューリングアルゴリズムの一方式であるDRRで
は、ラウンドより小さい時間においてフロー単位のバー
スト性が大きくなるため、フェアネス特性が劣化する問
題点があった。
【0015】本発明は、上記事情を考慮してなされたも
ので、重み付け公平スケジューリングアルゴリズムの一
方式であるDRRよりもトラヒックのバースト性を抑
え、短い時間スケールでのフェアネス性能を向上させる
ことが可能なパケットスケジューリング装置およびパケ
ット転送方法を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明(請求項1)に係
るパケットスケジューリング装置は、パケットを保持す
る複数のパケットキューと、受信したパケットを所定の
パケットキュー(例えばパケットの持つフローIDで定
まるもの)に入力する入力手段と、前記パケットキュー
ごとの送信可能なパケット量(例えばバイト数)を保持
するカウンタ手段と、前記送信可能なパケット量が所定
の値以上であるパケットキューを選択するスケジューリ
ング手段と、選択されたパケットキューから所定のパケ
ットを出力する出力手段とを備え、前記スケジューリン
グ手段は、前記パケットキューをインターリーブに選択
する手段を含むことを特徴とする。
【0017】送信可能なパケット量が所定の値以上であ
るパケットキューは、例えばつぎのようにして選択す
る。空でないパケットキューの中で対応する送信可能な
パケット量から対応するパケットキューの先頭パケット
のパケット長を減じた値が0以上であるものを選択候補
パケットキューとする。パケット出力時に選択候補パケ
ットキューが存在する場合には、選択候補パケットキュ
ーの中から1つのパケットキューを選択する。
【0018】送信可能なパケット量は、例えば以下のよ
うにして設定される。まず、パケットキューには、パケ
ットを出力するための重みを割り付ける。重み値は、全
パケットキューについて同一にしても良いし、個別に割
り当て可能にしても良い。重み値は、対応するパケット
キューに入力されるパケットの最大パケット長以上の値
に設定する。
【0019】空であったパケットキューに新たにパケッ
トが入力された場合には、該パケットキューに対応する
送信可能なパケット量の値は、対応する重み値とする。
パケット出力時には、このパケット出力によって対応す
るパケットキューが空になる場合には送信可能なパケッ
ト量の値を0とする。
【0020】パケット出力によって対応するパケットキ
ューが空にならない場合には、送信可能なパケット量の
値から対応するパケットキューの先頭パケットのパケッ
ト長を減じる。選択できるパケットキューがなくなった
場合に、空でない各パケットキューに対応する送信可能
なパケット量を対応する重みの分だけインクリメントす
る。
【0021】ここで、本発明では、選択できるパケット
キューがなくなるまでの1ラウンドの間で、選択可能な
パケットキューが複数ある場合には、インターリーブに
すなわち前回に選択したパケットキューとは相違するも
のを選択する(ただし、そのときの状況によっては結果
的にインターリーブにパケットキューを選択しないこと
もあり得る)。
【0022】したがって本発明によれば、従来のDRR
とは異なって、ラウンドより小さい時間スケールのバー
スト性が小さくなり、フェアネスに関する性能が向上す
る。本発明(請求項2)は、パケットを出力するための
重みを個別に割り当て可能な複数のパケットキューと、
受信したパケットを所定のパケットキュー(例えばパケ
ットの持つフローIDで定まるもの)に入力するパケッ
ト入力手段と、前記パケットキューごとの送信可能なパ
ケット量(例えばバイト数)を示すカウンタ値を保持す
るカウンタ手段と、前記パケットキューに保持されてい
るパケットを出力するためのスケジューリング情報(例
えばフローID)を保持するとともに、該スケジューリ
ング情報をもとに先頭パケットを出力すべきパケットキ
ューを選択するスケジューリング手段と、前記スケジュ
ーリング手段により選択されたパケットキューから先頭
パケットを出力するパケット出力手段とを備え、前記ス
ケジューリング手段は、空でないパケットキューの先頭
パケットの各々に対応するスケジューリング情報を保持
する第1および第2のスケジューリングキューを有し、
第1のスケジューリングキューには、対応するカウンタ
値から先頭パケットのパケット長を減じた値が0以上と
なるパケットキューのスケジューリング情報を保持し、
第2のスケジューリングキューには、対応するカウンタ
値から先頭パケットのパケット長を減じた値が0未満と
なるパケットキューのスケジューリング情報を保持し、
パケット出力時には、前記第1のスケジューリングキュ
ーから前記スケジューリング情報を取り出すとともに、
対応するパケットキューがパケット出力によって空にな
る場合には対応するカウンタ値を重みの値に設定し、対
応するパケットキューがパケット出力後に空にならず、
かつ、新たな先頭パケットに対応するスケジューリング
情報を入力すべきスケジューリングキューが前記第1の
スケジューリングキューの場合には対応するカウンタ値
をパケット出力に係るパケットのパケット長だけデクリ
メントし、対応するパケットキューがパケット出力後に
空にならず、かつ、新たな先頭パケットに対応するスケ
ジューリング情報を入力すべきスケジューリングキュー
が前記第2のスケジューリングキューの場合には対応す
るカウンタの値を対応する重みの値だけインクリメント
し、前記第1のスケジューリングキューが空になった場
合には、前記第1のスケジューリングキューと前記第2
のスケジューリングキューを切り換えることを特徴とす
る。
【0023】本発明では、スケジューリング情報を保持
するスケジューリングキューとして、現在送信可能なパ
ケットキューに対するものと、そうでないパケットキュ
ーに対して別々のものを用意するため、1つのスケジュ
ーリングキューからスケジューリング情報を出力してい
る期間をラウンドと考えると、DRRと同様にラウンド
を基準とした重み付け公平なスケジューリングとなる。
また、DRRと同様、スケジューリングの計算量もフロ
ー数によらず一定となる。
【0024】さらに、スケジューリング手段により管理
される各々のスケジューリング情報は、対応するパケッ
トキューの先頭パケット1個の出力に用いられるため、
DRRとは異なり、カウンタがデクリメントできなくな
るかパケットキューが空になるまで同じフローのパケッ
トが選択され続けるということがなくなり、ラウンドよ
り小さい時間スケールのバースト性が小さくなり、フェ
アネスに関する性能が向上する。
【0025】本発明(請求項3)は、請求項2に記載の
パケットスケジューリング装置において、前記第1およ
び第2のスケジューリングキューの各々は、パケットキ
ューの先頭パケットのパケット長に応じて前記スケジュ
ーリング情報を保持する複数のパケット長別キューと、
より長いパケット長を持つ先頭パケットに対応するスケ
ジューリング情報の保持を割り当てられたパケット長別
キューほどより高い割合でスケジューリング情報を取り
出すようにしたパケット長スケジューリング手段とを有
することを特徴とする。
【0026】例えば、各パケット長別キューに割り当て
られたパケット長範囲の代表値(例えば最大値)の逆数
に応じた割合でスケジューリング情報を取り出す。本発
明では、パケット長の大小に応じてスケジューリング情
報が入るキューが異なったものとなり、パケット長が大
きいパケットは、パケット長が小さいパケットに比べて
相対的に出力されにくくなるため、パケット長の違いに
よるフェアネス特性が向上する。
【0027】本発明(請求項4)は、請求項1ないし3
のいずれか1項に記載のパケットスケジューリング装置
において、前記スケジューリング手段を階層的に構成し
たことを特徴とする。
【0028】本発明では、請求項1〜3のスケジューリ
ングを、クラス別に行なうことができる。これにより、
例えば、リアルタイムクラス、ノンリアルタイムクラス
のフローを別々に扱うことが可能になる。
【0029】本発明(請求項5)に係るパケット転送方
法は、受信したパケットを複数のパケットキューのうち
所定のものに一旦保持するステップと、前記パケットキ
ューごとに保持している送信可能なパケット量(バイト
数)が所定の値以上であるパケットキューを選択するス
テップと、選択されたパケットキューから先頭パケット
を出力するとともに、前記パケットキューごとに保持し
ている送信可能なパケット量を更新するステップとを有
し、前記選択するステップでは、選択可能なパケットキ
ューが複数ある場合には、前回に選択したパケットキュ
ーとは相違するものを選択することを特徴とする。
【0030】なお、以上の各装置に係る発明は、方法に
係る説明としても成立する。また、上記の発明は、相当
する手順あるいは手段をコンピュータに実行させるため
のプログラムを記録した機械読取り可能な媒体としても
成立する。
【0031】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。 (第1の実施形態)まず、本発明の第1の実施形態に係
るパケットスケジューリング装置について説明する。
【0032】図1に、本実施形態に係るパケットスケジ
ューリング装置の構成を示す。本パケットスケジューリ
ング装置は、パケット入力部10、所定数のパケットキ
ュー20、パケット出力部30、制御部40を備えてい
る。
【0033】制御部40は、パケット出力をスケジュー
リングするものであり、スケジューリング部42、各フ
ローIDに対するカウンタ値や重み値を保持する記憶部
(図示せず)を備えている。スケジューリング部42
は、2つのスケジューリングキュー44を持つ。
【0034】パケット入力部10は、到着したパケット
のヘッダからパケットを入れるべきパケットキュー20
を選択してパケットを入力するとともに、スケジューリ
ング部42にスケジューリング情報を入力する。
【0035】スケジューリング部42は、2つのスケジ
ューリングキュー44のうちスケジューリング情報の出
力用に選択されている方からスケジューリング情報を取
り出してパケット出力部30に渡す。
【0036】パケット出力部30は、スケジューリング
部42から渡されたスケジューリング情報により示され
るパケットキュー20から先頭パケットを出力する。パ
ケットキュー20にはパケットを出力するための重みを
個別に割り当て可能であり、各パケットキューごとに、
重み値や出力パケットのパケット長をもとにして定まる
現在送信可能なパケット量をカウンタの値として保持す
る。
【0037】次に、スケジューリング部42の動作を説
明する。スケジューリング部42は、パケット入力時に
パケット入力部10からスケジューリング情報が入力さ
れると、同一のスケジューリング情報がいずれのスケジ
ューリングキュー44にも入っていない場合に、現在ス
ケジューリング情報の出力用に選択されていないスケジ
ューリングキュー44にスケジューリング情報を入力す
る(スケジューラの動作開始後は選択されているスケジ
ューリングキュー44に入力する)。入力パケットに対
応するカウンタには、重み値を設定する。
【0038】また、スケジューリング部42は、パケッ
ト出力時に次の動作を取る。 (1)パケット出力によってそのパケットキューが空に
なる場合、対応するカウンタの値を重み値に設定する。
【0039】(2)パケット出力によってそのパケット
キューが空にならない場合、カウンタの値から新たな先
頭パケットのパケット長を減じた値が0以上であると
き、カウンタの値から出力パケットのパケット長を減
じ、スケジューリング情報の出力用に選択されているス
ケジューリングキューにスケジューリング情報を入力す
る。
【0040】(3)パケット出力によってそのパケット
キューが空にならない場合、カウンタの値から新たな先
頭パケットのパケット長を減じた値が0未満であると
き、カウンタの値に重みの値を加え、スケジューリング
情報の出力用に選択されていないスケジューリングキュ
ーにスケジューリング情報を入力する。
【0041】また、スケジューリング部42は、現在ス
ケジューリング情報の出力用に選択されている方のスケ
ジューリングキューが空になった場合には、他方のスケ
ジューリングキューを以降スケジューリング情報の出力
用として選択する(すなわち、2つのスケジューリング
キューを切り換える)。
【0042】図1において、パケット内の文字はパケッ
トの識別情報を表す。例えば、b3(200)で表され
るパケットは、フローbの3番目の到着パケットで、パ
ケット長は200バイトである。パケットは可変長でも
良い。ここで、フローは、IPパケットの場合には通
常、IPパケットのソースアドレス、宛先アドレス、プ
ロトコル番号、TCP/UDPのポート番号などから定
義されるが、本発明では、フローはどのように定義して
も構わない。
【0043】本実施形態では、最大パケット長は500
(バイト)であるとし、各フローa,b,c,dの重み
a ,wb ,wc ,wd はすべて等しいものとして説明
する。ここでは、wa =wb =wc =wd =500(バ
イト)となる。
【0044】本実施形態では、カウンタの値(パケット
量)、パケットのパケット長および重み値は、バイト単
位で表しているが、任意の単位で表して良い。また、本
実施形態では、スケジューリング情報としてフローID
を使用するものとする。
【0045】次に、本実施形態の動作について具体例を
用いて説明する。図1は、スケジューラの動作開始後、
フローaから4個、フローbから4個、フローdから2
個のパケットが到着し、パケットが1個も出力されてい
ないときの状態を示す。ここでは、スケジューリング情
報の出力のためにスケジューリングキューBが選択され
ているものとする。
【0046】このとき、カウンタの値はすべて500で
あり、パケット長は500バイト以下なので、パケット
キューが空でないフローa,b,dのフローIDa,
b,dが現在スケジューリング情報の出力がなされてい
ないスケジューリングキューAに入る。スケジューリン
グキューBは空である。
【0047】ここで、パケット出力のタイミングがやっ
てくるとラウンドが開始する。スケジューリング部42
は、スケジューリングキューAからフローIDaを取り
出してパケット出力部30に渡す。パケット出力部30
は、パケットキューaから先頭のパケットa1(10
0)を出力する。さらに、スケジューリング部42は、
フローaのカウンタを出力パケットのパケット長100
バイト分だけデクリメントする。この場合、フローaの
カウンタ値は400となる。また、フローaのパケット
キューの新しい先頭はパケットa2(500)となる
が、現在のカウンタ値400からこのパケットのパケッ
ト長をデクリメントすると0未満となるので、パケット
a2(500)を出力するためのフローIDaは、スケ
ジューリングキューBに入れられる。
【0048】次に、スケジューリングキューAからは、
フローIDbが取り出され、その結果、パケットb1
(300)が出力される。さらに、スケジューリング部
42は、フローbのカウンタを出力パケットのパケット
長300バイト分だけデクリメントする。この場合、フ
ローbのカウンタ値は200となる。また、フローbの
パケットキューの新しい先頭はパケットb2(100)
となるが、現在のカウンタ値300からこのパケットの
パケット長100をデクリメントすると0以上となるの
で、パケットb2(100)を出力するためのフローI
Dbは、スケジューリングキューAに入れられる。
【0049】同様の動作を繰り返すと、スケジューリン
グキューAが空になるまで、a1(100),b1(3
00),d1(300),b2(200),d2(10
0)の順番でパケットが出力される。ただし、これらの
パケットの出力中に新たなパケットの到着はないものと
する。もし、これらのパケットの出力中に、新しくフロ
ーcのパケットが到着した場合には、スケジューリング
キューAにフローIDcが入れられる。
【0050】パケットd2(100)出力後、フローd
のパケットキューは空になるため、スケジューリングキ
ューにはフローIDdは、スケジューリングキューAに
もBにも入れられない。また、フローdのカウンタ値に
は500が設定される。
【0051】図1の状態から状態遷移してスケジューリ
ングキューAが空になった(ラウンドが終わった)状態
を図2に示す。図2において、フローa,bに対するカ
ウンタ値が500以上になっているのは、前回のラウン
ドで送信可能だったバイト数(500)のうちパケット
長がカウンタ値よりも大きかったために出力できなかっ
た分を新しいラウンドに繰り越して使用できるようにす
るためである。
【0052】図2の状態になると、ただちに、パケット
出力のためにフローIDが取り出されるキューとしてス
ケジューリングキューBが選択され、新しいラウンドが
開始する。ラウンド開始後、新しくフローc,dのパケ
ットが到着した場合には、スケジューリングキューBに
フローc,dが入れられる。
【0053】以上のように本実施形態によれば、スケジ
ューリング情報を保持するスケジューリングキューとし
て、現在送信可能なパケットキューに対するものと、そ
うでないパケットキューに対して別々のものを用意する
ため、1つのスケジューリングキューからスケジューリ
ング情報を出力している期間をラウンドと考えると、従
来のDRRと同様にラウンドを基準とした重み付け公平
なスケジューリングとなる。また、DRRと同様、スケ
ジューリングの計算量もフロー数によらず一定となる。
【0054】さらに、各々のスケジューリング情報は、
対応するパケットキューの先頭パケット1個の出力に用
いられるため、従来のDRRとは異なり、カウンタがデ
クリメントできなくなるかパケットキューが空になるま
で同じフローのパケットが選択され続けるということが
なくなり、ラウンドより小さい時間スケールのバースト
性が小さくなり、フェアネスに関する性能が向上する。
【0055】(第2の実施形態)次に、本発明の第2の
実施形態に係るパケットスケジューリング装置について
説明する。
【0056】図3に、本実施形態に係るパケットスケジ
ューリング装置の構成を示す。本パケットスケジューリ
ング装置は、パケット入力部10、所定数のパケットキ
ュー20、パケット出力部30、制御部40を備えてい
る。
【0057】制御部40は、スケジューリング部42、
各フローIDに対するカウンタ値や重み値を保持する記
憶部(図示せず)を備えている。スケジューリング部4
2は、AとBの2つのスケジューリングキュー44を持
つ。
【0058】また、本実施形態では、スケジューリング
キュー44のそれぞれは、所定数(ここでは3つ)のパ
ケット長別キュー46、パケット長スケジューラ48を
持つ。
【0059】本実施形態は、このスケジューリングキュ
ー44の内部構成が相違する以外は第1の実施形態と同
様の構成であり、対応する部分の説明は省略する。本実
施形態では、スケジューリングキューA(B)を、3個
のパケット長別キューA1,A2,A3(B1,B2,
B3)、および3個のパケット長別キューをスケジュー
リングするためのパケット長スケジューラSA (SB
によって構成する。
【0060】ここでは、パケット長別キューA1および
B1には、パケットキューの先頭のパケットのうちパケ
ット長が100バイト以下のパケットに対するフローI
Dが、パケット長別キューA2およびB2には、パケッ
トキューの先頭のパケットのうちパケット長が100バ
イトを越え300バイト以下のパケットに対するフロー
IDが、パケット長別キューA3およびB3には、パケ
ットキューの先頭のパケットのうちパケット長が300
バイトを越え500バイト以下のパケットに対するフロ
ーIDが入るものとする。
【0061】パケット長スケジューラSA は、パケット
長別キューA1,A2,A3を、1/100:1/30
0:1/500=15:5:3で重みづけ公平にスケジ
ューリングを行なう。同様に、パケット長スケジューラ
B は、パケット長別キューB1,B2,B3を、1/
100:1/300:1/500=15:5:3で重み
づけ公平にスケジューリングを行なう。なお、パケット
長スケジューラのスケジューリングアルゴリズムは、ど
のような重みづけ公平アルゴリズムでも良い。
【0062】第1の実施形態と同様、パケット内の文字
はパケットの識別情報を表す。例えば、b3(200)
で表されるパケットは、フローbの3番目の到着パケッ
トで、パケット長は200バイトである。パケットは可
変長でも良い。ここでは、a,b,c,dの4つのフロ
ーが存在するものとする。また、最大パケット長は50
0(バイト)であるとし、各フローa,b,c,dの重
みwa ,wb ,wc ,wd はすべて等しいものとする。
このとき、wa =wb =wc =wd =500(バイト)
となる。ここでも、パケット長および重みはバイト単位
で表しているが、任意の単位で表して良い。
【0063】図3は、スケジューラの動作開始後、フロ
ーaから4個、フローbから4個、フローdから2個の
パケットが到着し、パケットが1個も出力されていない
ときの状態を表す。
【0064】このとき、カウンタの値はすべて500で
あり、パケット長は500バイト以下なので、パケット
キューが空でないフローa,b,dのフローIDa,
b,dがスケジューリングキューAに入る。さらに、ス
ケジューリングキューAの中で、フローIDaはパケッ
トキューの先頭パケットのパケット長が100バイトで
あるため、パケット長別キューA1に、フローIDb,
dはパケットキューの先頭パケットのパケット長が30
0バイトであるためパケット長別キューA2に入る。
【0065】ここで、パケット出力のタイミングがやっ
てくるとラウンドが開始する。スケジューリング部42
内のパケット長スケジューラ48が所定のアルゴリズム
により、空でないパケット長別キュー46のどれかを選
択する。ここでは、パケット長別キューA1が選択され
るものとすると、スケジューリング部42は、パケット
長別キューA1からフローIDaを取り出してパケット
出力部30に渡す。パケット出力部30は、パケットキ
ューaから先頭のパケットa1(100)を出力する。
さらに、スケジューリング部30は、フローaのカウン
タを出力パケットのパケット長100バイト分だけデク
リメントする。この場合、フローaのカウンタ値は40
0となる。また、フローaのパケットキューの新しい先
頭はパケットa2(500)となるが、現在のカウンタ
値400からこのパケットのパケット長をデクリメント
すると0未満となるので、パケットa2(500)を出
力するためのフローIDaは、スケジューリングキュー
Bのパケット長別キューB3に入れる。
【0066】次に、スケジューリングキューAのパケッ
ト長別キューA2から、フローIDbが取り出され(こ
の場合には、パケット長別キューA2以外は空であるた
め、パケット長スケジューラは必ずA2を選択する)、
その結果、パケットb1(300)が出力される。さら
に、スケジューリング部42は、フローbのカウンタを
す出力パケットのパケット長300バイト分だけデクリ
メントする。この場合、フローbのカウンタ値は200
となる。また、フローbのパケットキューの新しい先頭
はパケットb2(100)となるが、現在のカウンタ値
300からこのパケットのパケット長100をデクリメ
ントすると0以上となるので、パケットb2(100)
を出力するためのフローIDbは、スケジューリングキ
ューAのパケット長別キューA1に入れられる。
【0067】同様の動作を繰り返すと、スケジューリン
グキューAが空になるまで、a1(100),b1(3
00),d1(300),b2(200),d2(10
0)の順番でパケットが出力される。ただし、これらの
パケットの出力中に新たなパケットの到着はないものと
する。もし、これらのパケットの出力中に、新しくフロ
ーc,dのパケットが到着した場合には、スケジューリ
ングキューAの中の、到着パケット長に対応する所定の
パケット長別キューにフローIDc,dが入れられる。
【0068】パケットd2(100)出力後、フローd
のパケットキューは空になるため、スケジューリングキ
ューにはフローIDdは、スケジューリングキューAに
もBにも入れられない。また、フローdのカウンタ値に
は500が設定される。
【0069】図3の状態から状態遷移してスケジューリ
ングキューAが空になった(ラウンドが終わった)状態
を図4に示す。図4において、フローa,bに対するカ
ウンタ値が500以上になっているのは、前回のラウン
ドで送信可能だったバイト数(500)のうちパケット
長がカウンタ値よりも大きかったために出力できなかっ
た分を新しいラウンドに繰り越して使用できるようにす
るためである。
【0070】図4の状態になると、ただちに、パケット
出力のためにフローIDが取り出されるキューとしてス
ケジューリングキューBが選択され、新しいラウンドが
開始する。
【0071】ラウンド開始後、まず、スケジューリング
部42内のパケット長スケジューラ36が所定のアルゴ
リズムにより、空でないパケット長別キュー46のどれ
かを選択する。ここでは、パケット長別キューB2が選
択されるものとすると、スケジューリング部42は、パ
ケット長別キューB2からフローIDbを取り出してパ
ケット出力部に渡す。パケット出力部30は、パケット
キューbから先頭のパケットb3(200)を出力す
る。次に、新しくフローcのパケットc1(100)が
到着すると、スケジューリングキューBのパケット長別
キューB1にフローIDcが入れられる。
【0072】本パケットスケジューリング装置では、こ
れらの動作が繰り返される。次に、本実施形態で使用す
るパケット長スケジューラのスケジューリングアルゴリ
ズムの一例を示す。
【0073】図5にはスケジューリング情報入力時の動
作を示す、図6にはスケジューリング情報出力時の動作
を示す。ここで、スケジューリング情報として、フロー
IDを用いる。また、パケット長スケジューラは、スケ
ジューリングのためにパケット長別キューの番号を保持
するための図示しない1個のFIFOキューを持つ。
【0074】まず、スケジューリング情報入力時の動作
について説明する。iを入力フローID、qをパケット
長別キューiのキュー長(パケット長別キューi内のフ
ローID数)、w(≧1)をパケット長別キューiの重
みとする。q≦wであれば、パケット長別キューの番号
iをFIFOキューに入れる。これをenqueue
(i)で表す。次に、qの値をインクリメントした結果
を、新しいパケット長別キューiのキュー長とする。
【0075】次に、スケジューリング情報出力時の動作
について説明する。まず、FIFOキューの先頭のパケ
ット長別キューの番号を取り出し、これをiとする。こ
れはdequeueにより行なわれる。次に、パケット
長別キューiのキュー長をデクリメントしてqに代入す
る。qが0未満になったらq=0とする。もし、q≧w
であれば、パケット長別キューの番号iをFIFOキュ
ーに入れる。次に、qの値をパケット長別キューiのキ
ュー長とする。
【0076】以上のように本実施形態によれば、パケッ
ト長の大小に応じてスケジューリング情報が入るキュー
が異なったものとなり、パケット長が大きいパケット
は、パケット長が小さいパケットに比べて相対的に出力
されにくくなるため、第1の実施形態の作用効果に加
え、さらにパケット長の違いによるフェアネス特性も向
上させることができる。
【0077】(第3の実施形態)次に、本発明の第3の
実施形態に係るパケットスケジューリング装置について
説明する。
【0078】本実施形態は、第1の実施形態や第2の実
施形態のスケジューリング部を複数持ち、それらを上位
のスケジューラで切り換え使用するものである。図7
に、本実施形態に係るパケットスケジューリング装置の
構成を示す。
【0079】本パケットスケジューリング装置は、パケ
ット入力部10、所定数のパケットキュー20、パケッ
ト出力部30、制御部40を備えている。制御部40
は、スケジューリング部42、各フローIDに対するカ
ウンタ値や重み値を保持する記憶部(図示せず)を備え
ている。
【0080】スケジューリング部42は、所定数(ここ
では2)のクラス別スケジューリング部50、クラスス
ケジューラ52を持つ。ここでは、階層数2で下位層は
サービスクラス別にスケジューリングキューを設ける場
合の例を示す。サービスクラス数は2とする。
【0081】図7において、スケジューリング部50
は、2個のクラス別スケジューリング部52と、1個の
クラススケジューラ52とから構成される。クラス別ス
ケジューリング部C1には、リアルタイムクラスのフロ
ーIDがスケジューリング情報として保持され、クラス
別スケジューリング部C2には、ノンリアルタイムクラ
スのフローIDがスケジューリング情報として保持され
る。
【0082】各クラス別スケジューリング部50の構成
は、第1の実施形態(図1)または第2の実施形態(図
3)のスケジューリング部の構成と同じである。また、
パケットキュー、パケット入力部、パケット出力部の構
成や動作も第1の実施形態または第2の実施形態と同じ
である。
【0083】本実施形態では、パケットが到着したと
き、スケジューリング部42は、パケット入力部10か
ら入力されたスケジューリング情報を入力するためのク
ラス別スケジューリング部50を選択して入力する。ク
ラススケジューラ52は、クラス別スケジューリング部
C1に1個でもスケジューリング情報が保持されていれ
ば、クラス別スケジューリング部C1から、そうでなけ
ればクラス別スケジューリング部C2から、スケジュー
リング情報を取り出してパケット出力部30に出力す
る。
【0084】なお、クラススケジューラ52のスケジュ
ーリングアルゴリズムは、クラスのサービスポリシーに
応じて任意のアルゴリズムを使用しても良い。以上のよ
うに本実施形態によれば、第1の実施形態あるいは第2
の実施形態のスケジューリングを、クラス別に行なうこ
とができる。これにより、例えば、リアルタイムクラ
ス、ノンリアルタイムクラスのフローを別々に扱うこと
が可能になる。本発明は、上述した実施の形態に限定さ
れるものではなく、その技術的範囲において種々変形し
て実施することができる。
【0085】
【発明の効果】本発明によれば、パケットキューをイン
ターリーブに選択できるようにしたので、例えば、各パ
ケットキューの先頭パケットのパケット長を考慮してス
ケジューリングを行うことで、同じパケットキュー(フ
ロー)のパケットが選択され続けるということを回避で
きるようにしたので、従来のDRRとは異なり、ラウン
ドより小さい時間スケールのバースト性が小さくなり、
フェアネスに関する性能を向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るパケットスケジ
ューリング装置の基本構成を示す図
【図2】本実施形態のパケットスケジューリングを説明
するための図
【図3】本発明の第2の実施形態に係るパケットスケジ
ューリング装置の基本構成を示す図
【図4】本実施形態のパケットスケジューリングを説明
するための図
【図5】スケジューリング情報入力時のパケット長スケ
ジューラのアルゴリズムの一例を示す図
【図6】スケジューリング情報出力時のパケット長スケ
ジューラのアルゴリズムの一例を示す図
【図7】本発明の第3の実施形態に係るパケットスケジ
ューリング装置の基本構成を示す図
【図8】従来のパケットスケジューリング装置の構成を
示す図
【符号の説明】
10…パケット入力部 20…パケットキュー 30…パケット出力部 40…制御部 42…スケジューリング部 44…スケジューリングキュー 46…パケット長別キュー 48…パケット長スケジューラ 50…クラス別スケジューリング部 52…クラススケジューラ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】パケットを保持する複数のパケットキュー
    と、 受信したパケットを所定のパケットキューに入力する入
    力手段と、 前記パケットキューごとの送信可能なパケット量を保持
    するカウンタ手段と、 前記送信可能なパケット量が所定の値以上であるパケッ
    トキューを選択するスケジューリング手段と、 選択されたパケットキューから所定のパケットを出力す
    る出力手段とを備え、 前記スケジューリング手段は、前記パケットキューをイ
    ンターリーブに選択する手段を含むことを特徴とするパ
    ケットスケジューリング装置。
  2. 【請求項2】パケットを出力するための重みを個別に割
    り当て可能な複数のパケットキューと、 受信したパケットを所定のパケットキューに入力するパ
    ケット入力手段と、 前記パケットキューごとの送信可能なパケット量を示す
    カウンタ値を保持するカウンタ手段と、 前記パケットキューに保持されているパケットを出力す
    るためのスケジューリング情報を保持するとともに、該
    スケジューリング情報をもとに先頭パケットを出力すべ
    きパケットキューを選択するスケジューリング手段と、 前記スケジューリング手段により選択されたパケットキ
    ューから先頭パケットを出力するパケット出力手段とを
    備え、 前記スケジューリング手段は、 空でないパケットキューの先頭パケットの各々に対応す
    るスケジューリング情報を保持する第1および第2のス
    ケジューリングキューを有し、第1のスケジューリング
    キューには、対応するカウンタ値から先頭パケットのパ
    ケット長を減じた値が0以上となるパケットキューのス
    ケジューリング情報を保持し、第2のスケジューリング
    キューには、対応するカウンタ値から先頭パケットのパ
    ケット長を減じた値が0未満となるパケットキューのス
    ケジューリング情報を保持し、 パケット出力時には、前記第1のスケジューリングキュ
    ーから前記スケジューリング情報を取り出すとともに、
    対応するパケットキューがパケット出力によって空にな
    る場合には対応するカウンタ値を重みの値に設定し、対
    応するパケットキューがパケット出力後に空にならず、
    かつ、新たな先頭パケットに対応するスケジューリング
    情報を入力すべきスケジューリングキューが前記第1の
    スケジューリングキューの場合には対応するカウンタ値
    をパケット出力に係るパケットのパケット長だけデクリ
    メントし、対応するパケットキューがパケット出力後に
    空にならず、かつ、新たな先頭パケットに対応するスケ
    ジューリング情報を入力すべきスケジューリングキュー
    が前記第2のスケジューリングキューの場合には対応す
    るカウンタの値を対応する重みの値だけインクリメント
    し、 前記第1のスケジューリングキューが空になった場合に
    は、前記第1のスケジューリングキューと前記第2のス
    ケジューリングキューを切り換えることを特徴とするパ
    ケットスケジューリング装置。
  3. 【請求項3】前記第1および第2のスケジューリングキ
    ューの各々は、パケットキューの先頭パケットのパケッ
    ト長に応じて前記スケジューリング情報を保持する複数
    のパケット長別キューと、より長いパケット長を持つ先
    頭パケットに対応するスケジューリング情報の保持を割
    り当てられたパケット長別キューほどより高い割合でス
    ケジューリング情報を取り出すようにしたパケット長ス
    ケジューリング手段とを有することを特徴とする請求項
    2に記載のパケットスケジューリング装置。
  4. 【請求項4】前記スケジューリング手段を階層的に構成
    したことを特徴とする請求項1ないし3のいずれか1項
    に記載のパケットスケジューリング装置。
  5. 【請求項5】受信したパケットを複数のパケットキュー
    のうち所定のものに一旦保持するステップと、 前記パケットキューごとに保持している送信可能なパケ
    ット量が所定の値以上であるパケットキューを選択する
    ステップと、 選択されたパケットキューから先頭パケットを出力する
    とともに、前記パケットキューごとに保持している送信
    可能なパケット量を更新するステップとを有し、 前記選択するステップでは、選択可能なパケットキュー
    が複数ある場合には、前回に選択したパケットキューと
    は相違するものを選択することを特徴とするパケット転
    送方法。
JP23915996A 1996-09-10 1996-09-10 パケットスケジューリング装置及びパケット転送方法 Expired - Fee Related JP3435293B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23915996A JP3435293B2 (ja) 1996-09-10 1996-09-10 パケットスケジューリング装置及びパケット転送方法
US08/926,474 US6101193A (en) 1996-09-10 1997-09-10 Packet scheduling scheme for improving short time fairness characteristic in weighted fair queueing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23915996A JP3435293B2 (ja) 1996-09-10 1996-09-10 パケットスケジューリング装置及びパケット転送方法

Publications (2)

Publication Number Publication Date
JPH1084383A true JPH1084383A (ja) 1998-03-31
JP3435293B2 JP3435293B2 (ja) 2003-08-11

Family

ID=17040623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23915996A Expired - Fee Related JP3435293B2 (ja) 1996-09-10 1996-09-10 パケットスケジューリング装置及びパケット転送方法

Country Status (2)

Country Link
US (1) US6101193A (ja)
JP (1) JP3435293B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425061B1 (ko) * 2000-09-29 2004-03-30 잘링크 세미콘덕터 브이.엔. 아이엔씨. 에뮬레이티드 가중치화 공평 큐 기술을 이용하는 대역공유 방법 및 장치
US6754215B1 (en) 1999-08-17 2004-06-22 Nec Corporation Packet scheduling device
KR100461539B1 (ko) * 2002-11-26 2004-12-17 한국전자통신연구원 이동통신 시스템에서 누적 카운터 값을 기준으로 하는패킷 스케줄링 방법
WO2005006672A1 (ja) * 2003-07-10 2005-01-20 Mitsubishi Denki Kabushiki Kaisha 階層型スケジューリング装置
US7106752B2 (en) 2001-05-22 2006-09-12 Nec Corporation Apparatus for scheduling packets and method of doing the same
JP2007184941A (ja) * 2006-01-05 2007-07-19 Samsung Electronics Co Ltd 不足ラウンドロビン方式のデータパケットスケジューリングのインスタントサービス方法
CN100401698C (zh) * 1999-01-13 2008-07-09 高通股份有限公司 通信系统中的资源调度器和资源调度方法
US7406098B2 (en) 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US7453801B2 (en) 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
JP2009022038A (ja) * 1998-04-01 2009-01-29 Hitachi Ltd 可変長パケット交換機および交換方法
JP2010041458A (ja) * 2008-08-06 2010-02-18 Toshiba Corp 送信装置、受信装置、及び通信システム
EP2230804B1 (en) * 1998-07-09 2014-11-19 Hitachi Ltd. Communication device
JP2022524423A (ja) * 2019-03-12 2022-05-02 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 送信機と受信機、および、シリアライザとデシリアライザ、および、送信と受信のための方法、および、シリアライズ化とデシリアライズ化のための方法

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389031B1 (en) 1997-11-05 2002-05-14 Polytechnic University Methods and apparatus for fairly scheduling queued packets using a ram-based search engine
US6526060B1 (en) * 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US6618391B1 (en) * 1998-03-27 2003-09-09 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using discrete data transfer rates
US6359900B1 (en) * 1998-04-09 2002-03-19 Novell, Inc. Method and system for controlling access to a resource
US6654374B1 (en) * 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
US6714517B1 (en) * 1998-11-10 2004-03-30 Extreme Networks Method and apparatus for interconnection of packet switches with guaranteed bandwidth
JP3684308B2 (ja) * 1998-12-15 2005-08-17 富士通株式会社 スケジューリング制御装置および交換機
US6480911B1 (en) * 1999-09-23 2002-11-12 At&T Corp. Grouping class sensitive queues
US6888842B1 (en) * 1999-10-05 2005-05-03 Nortel Networks Limited Scheduling and reservation for dynamic resource control systems
WO2001031860A1 (en) * 1999-10-29 2001-05-03 FORSKARPATENT I VäSTSVERIGE AB Method and arrangements for congestion control in packet networks using thresholds and demoting of packet flows
CA2393740A1 (en) * 1999-12-08 2001-06-14 The University Of British Columbia Weighted fair queuing scheduler
US6862292B1 (en) * 2000-04-13 2005-03-01 International Business Machines Corporation Method and system for network processor scheduling outputs based on multiple calendars
US6952424B1 (en) * 2000-04-13 2005-10-04 International Business Machines Corporation Method and system for network processor scheduling outputs using queueing
US6904045B1 (en) * 2000-06-02 2005-06-07 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and delays in asynchronous transfer mode networks using pivot sessions
US7136382B1 (en) * 2000-08-25 2006-11-14 Novell, Inc. System and method for providing quality of service operations using IP addresses
US7424299B1 (en) * 2000-09-11 2008-09-09 Nokia Corporation System and method for slot allocation with reduced need for measurement
US6914881B1 (en) * 2000-11-28 2005-07-05 Nortel Networks Ltd Prioritized continuous-deficit round robin scheduling
WO2002045013A2 (en) * 2000-11-30 2002-06-06 Allot Communications Ltd. Network resource allocation and monitoring system
IT1319611B1 (it) * 2000-12-22 2003-10-20 Siemens Inf & Comm Networks Procedimento di schedulazione dei permessi di trasmissione dei dati apacchetto sui canali radio condivisi dalle stazioni mobili in sistemi
US6957267B2 (en) * 2000-12-28 2005-10-18 Intel Corporation Data packet processing
US7149212B2 (en) * 2001-03-21 2006-12-12 International Business Machines Corporation Apparatus, method and limited set of messages to transmit data between scheduler and a network processor
US6807426B2 (en) * 2001-04-12 2004-10-19 Qualcomm Incorporated Method and apparatus for scheduling transmissions in a communication system
US6978144B1 (en) * 2001-04-19 2005-12-20 Cisco Technology, Inc. Method and system for managing real-time bandwidth in a wireless network
US7729302B2 (en) * 2001-05-15 2010-06-01 The United States Of America As Represented By The Secretary Of The Navy Adaptive control of multiplexed input buffer channels
US6891846B2 (en) * 2001-06-18 2005-05-10 Freescale Semiconductor, Inc. Method and apparatus for a traffic shaper
US7120113B1 (en) 2001-07-16 2006-10-10 Juniper Networks, Inc. Systems and methods for limiting low priority traffic from blocking high priority traffic
FR2830162B1 (fr) * 2001-09-27 2003-12-05 Streamcore Dispositif de gestion partagee
US7020080B1 (en) * 2001-10-09 2006-03-28 Cisco Technology, Inc. Method and apparatus for prevention of flow starvation with weighted fair queuing
US7447197B2 (en) * 2001-10-18 2008-11-04 Qlogic, Corporation System and method of providing network node services
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7310345B2 (en) * 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US7103051B2 (en) * 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US6973036B2 (en) 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7187684B2 (en) * 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7280474B2 (en) * 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7046676B2 (en) * 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US6982986B2 (en) * 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
KR100431191B1 (ko) * 2001-12-03 2004-05-12 주식회사 케이티 크레딧 기반 라운드 로빈을 이용한 패킷 스케쥴링장치 및방법
US7079545B1 (en) 2001-12-17 2006-07-18 Applied Microcircuits Corporation ( Amcc) System and method for simultaneous deficit round robin prioritization
US7424013B1 (en) * 2001-12-20 2008-09-09 Applied Micro Circuits Corporation System and method for granting arbitrated bids in the switching of information
US8418129B1 (en) 2001-12-14 2013-04-09 Qualcomm Incorporated Method for automatically generating code to define a system of hardware elements
US7352694B1 (en) * 2001-12-14 2008-04-01 Applied Micro Circuits Corporation System and method for tolerating data link faults in a packet communications switch fabric
US7164652B2 (en) * 2001-12-17 2007-01-16 Alcatel Canada Inc. System and method for detecting failures and re-routing connections in a communication network
US7586909B1 (en) 2002-03-06 2009-09-08 Agere Systems Inc. Striping algorithm for switching fabric
US7319695B1 (en) 2002-03-06 2008-01-15 Agere Systems Inc. Deficit-based striping algorithm
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7257124B2 (en) * 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7110411B2 (en) * 2002-03-25 2006-09-19 Erlang Technology, Inc. Method and apparatus for WFQ scheduling using a plurality of scheduling queues to provide fairness, high scalability, and low computation complexity
US7342936B2 (en) * 2002-06-17 2008-03-11 Integrated Device Technology, Inc. Method of performing deficit round-robin scheduling and structure for implementing same
KR100896616B1 (ko) * 2002-06-27 2009-05-08 주식회사 케이티 큐를 이용한 트래픽 혼잡 제어 장치 및 방법
US7301943B2 (en) * 2002-07-31 2007-11-27 Industrial Technology Research Institute QoS-oriented burstification method supporting various grades of burstification delay guarantee
CN100471337C (zh) * 2003-03-21 2009-03-18 北京邮电大学 一种适用于无线分组系统的调度方法
US7477604B2 (en) * 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
US7580355B2 (en) 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US7317706B1 (en) * 2003-12-11 2008-01-08 Nortel Networks Limited Fair share scheduling method in a CDMA paging system
US7916638B2 (en) * 2003-12-24 2011-03-29 Alcatel Lucent Time-independent deficit round robin method and system
NO327563B1 (no) * 2004-01-20 2009-08-17 Telenor Asa En fremgangsmate og anordning for en forbedret bufferlosning i en svitsj for kommunikasjonsnettverk
US7426215B2 (en) * 2004-04-06 2008-09-16 Intel Corporation Method and apparatus for scheduling packets
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US7646717B1 (en) * 2004-10-29 2010-01-12 Marvell International Ltd. Method and apparatus for packet scheduling
US7506140B2 (en) * 2005-02-04 2009-03-17 Mips Technologies, Inc. Return data selector employing barrel-incrementer-based round-robin apparatus
US7657891B2 (en) 2005-02-04 2010-02-02 Mips Technologies, Inc. Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency
US7853777B2 (en) * 2005-02-04 2010-12-14 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions
US7657883B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor
US7664936B2 (en) * 2005-02-04 2010-02-16 Mips Technologies, Inc. Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages
US7490230B2 (en) * 2005-02-04 2009-02-10 Mips Technologies, Inc. Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US7752627B2 (en) * 2005-02-04 2010-07-06 Mips Technologies, Inc. Leaky-bucket thread scheduler in a multithreading microprocessor
US7681014B2 (en) * 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US7613904B2 (en) * 2005-02-04 2009-11-03 Mips Technologies, Inc. Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler
KR100745679B1 (ko) * 2005-12-08 2007-08-02 한국전자통신연구원 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치
US7760748B2 (en) * 2006-09-16 2010-07-20 Mips Technologies, Inc. Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch
US7961745B2 (en) * 2006-09-16 2011-06-14 Mips Technologies, Inc. Bifurcated transaction selector supporting dynamic priorities in multi-port switch
US7990989B2 (en) 2006-09-16 2011-08-02 Mips Technologies, Inc. Transaction selector employing transaction queue group priorities in multi-port switch
US7773621B2 (en) * 2006-09-16 2010-08-10 Mips Technologies, Inc. Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch
JP4899961B2 (ja) * 2007-03-19 2012-03-21 富士通株式会社 通信装置および出力制御方法
US7936695B2 (en) * 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US8190750B2 (en) * 2007-08-24 2012-05-29 Alcatel Lucent Content rate selection for media servers with proxy-feedback-controlled frame transmission
WO2009096332A1 (ja) * 2008-01-29 2009-08-06 Sony Corporation マルチホップ無線端末およびそのマルチホップ無線端末におけるトラヒック制御方法
US8619787B2 (en) * 2010-05-18 2013-12-31 Lsi Corporation Byte-accurate scheduling in a network processor
KR101737516B1 (ko) 2010-11-24 2017-05-18 한국전자통신연구원 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
US10291540B2 (en) * 2014-11-14 2019-05-14 Cavium, Llc Method and apparatus for performing a weighted queue scheduling using a set of fairness factors

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5706288A (en) * 1996-03-27 1998-01-06 Pmc-Sierra, Inc. Available bit rate scheduler

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010141937A (ja) * 1998-04-01 2010-06-24 Hitachi Ltd パケット交換機、パケット交換方法およびパケット処理回路
JP4685909B2 (ja) * 1998-04-01 2011-05-18 株式会社日立製作所 パケット交換機、パケット交換方法およびパケット処理回路
JP2011024275A (ja) * 1998-04-01 2011-02-03 Hitachi Ltd 可変長パケット交換機
JP2010154561A (ja) * 1998-04-01 2010-07-08 Hitachi Ltd パケット交換機、パケット交換方法およびパケット処理回路
JP2009022038A (ja) * 1998-04-01 2009-01-29 Hitachi Ltd 可変長パケット交換機および交換方法
EP2230804B1 (en) * 1998-07-09 2014-11-19 Hitachi Ltd. Communication device
CN100401698C (zh) * 1999-01-13 2008-07-09 高通股份有限公司 通信系统中的资源调度器和资源调度方法
US7406098B2 (en) 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US6754215B1 (en) 1999-08-17 2004-06-22 Nec Corporation Packet scheduling device
KR100425061B1 (ko) * 2000-09-29 2004-03-30 잘링크 세미콘덕터 브이.엔. 아이엔씨. 에뮬레이티드 가중치화 공평 큐 기술을 이용하는 대역공유 방법 및 장치
US7106752B2 (en) 2001-05-22 2006-09-12 Nec Corporation Apparatus for scheduling packets and method of doing the same
US7453801B2 (en) 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
KR100461539B1 (ko) * 2002-11-26 2004-12-17 한국전자통신연구원 이동통신 시스템에서 누적 카운터 값을 기준으로 하는패킷 스케줄링 방법
WO2005006672A1 (ja) * 2003-07-10 2005-01-20 Mitsubishi Denki Kabushiki Kaisha 階層型スケジューリング装置
JP2007184941A (ja) * 2006-01-05 2007-07-19 Samsung Electronics Co Ltd 不足ラウンドロビン方式のデータパケットスケジューリングのインスタントサービス方法
JP2010041458A (ja) * 2008-08-06 2010-02-18 Toshiba Corp 送信装置、受信装置、及び通信システム
JP2022524423A (ja) * 2019-03-12 2022-05-02 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 送信機と受信機、および、シリアライザとデシリアライザ、および、送信と受信のための方法、および、シリアライズ化とデシリアライズ化のための方法

Also Published As

Publication number Publication date
JP3435293B2 (ja) 2003-08-11
US6101193A (en) 2000-08-08

Similar Documents

Publication Publication Date Title
JPH1084383A (ja) パケットスケジューリング装置及びパケット転送方法
US7016366B2 (en) 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
US6810426B2 (en) Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
JP3733784B2 (ja) パケット中継装置
Semeria Supporting differentiated service classes: queue scheduling disciplines
US7317727B2 (en) Method and systems for controlling ATM traffic using bandwidth allocation technology
JP3683133B2 (ja) パケットスケジューリング装置
US7619969B2 (en) Hardware self-sorting scheduling queue
US7855960B2 (en) Traffic shaping method and device
US8000247B2 (en) Bandwidth management apparatus
US7349405B2 (en) Method and apparatus for fair queueing of data packets
US20050163049A1 (en) Packet shaper
US7580355B2 (en) Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US20020114277A1 (en) Communication device and communication method
WO2000025220A1 (en) Network to network priority frame dequeuing
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
US7342936B2 (en) Method of performing deficit round-robin scheduling and structure for implementing same
JP4087279B2 (ja) 帯域制御方法およびその帯域制御装置
JP3431484B2 (ja) パケット送出装置及びパケット送出方法
JP2005354738A (ja) Atmセル転送装置
Yen et al. Sliding weighted fair queueing scheme for real-time applications
Jiwasurat et al. A class of shaped deficit round-robin (SDRR) schedulers
Newman Anatomy of a Gigabit Router
JPH11146013A (ja) パケットバッファ装置及びパケット廃棄制御方法
JPH11234285A (ja) セル送出装置、スケジューラ装置及びセル送出レート制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees