JP3306705B2 - パケット転送制御装置及びそのスケジューリング方法 - Google Patents

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

Info

Publication number
JP3306705B2
JP3306705B2 JP26767398A JP26767398A JP3306705B2 JP 3306705 B2 JP3306705 B2 JP 3306705B2 JP 26767398 A JP26767398 A JP 26767398A JP 26767398 A JP26767398 A JP 26767398A JP 3306705 B2 JP3306705 B2 JP 3306705B2
Authority
JP
Japan
Prior art keywords
packet
transfer
cluster
time
queue
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
JP26767398A
Other languages
English (en)
Other versions
JP2000101637A (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 JP26767398A priority Critical patent/JP3306705B2/ja
Priority to DE1999604899 priority patent/DE69904899T2/de
Priority to EP19990118019 priority patent/EP0989770B1/en
Publication of JP2000101637A publication Critical patent/JP2000101637A/ja
Application granted granted Critical
Publication of JP3306705B2 publication Critical patent/JP3306705B2/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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • 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/521Static queue service slot or fixed bandwidth allocation
    • 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/525Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • 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/6215Individual queue per QOS, rate or priority
    • 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/623Weighted 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/6265Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
    • 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
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケットを格納す
る複数のキューを備えたマルチキュー構成のパケット転
送制御装置及びそのスケジューリング方法に関し、特
に、各キューの先頭パケットの中から最も早く転送終了
することができるパケットを効率的に選出して出力する
パケット転送制御装置及びそのスケジューリング方法に
関する。
【0002】パケット転送ネットワークにおいて、フロ
ー(ユーザが転送要求する複数の連続したパケット)毎
にサービス品質(QoS)を保証するとともに、伝送路
等のリソース(伝送可能なバンド幅)を最大限に利用し
てサービスの向上を図るため、パケット転送制御装置
は、フロー対応に複数のキューを備え、各キューに転送
順序の重み付けを行なって、各キュー間で公平なパケッ
ト転送が行われるように制御する重み付けマルチプルキ
ューイング、及び一時的に剰余リソース(余ったバンド
幅)を各々のフロー間で公平に配分してリソースを有効
利用する公平キューイング(Fair Queueing )の機能を
具備することが要求されている。
【0003】例えば、FTP(File Transfer Protoco
l)データ又はWWW(World Wide Web)データのよう
なトラヒックデータに対しては、各々のフローのデータ
を最大限のリソースを利用し、高速かつ公平に転送する
ことが重要視され、ネットワークのゲートウェイのルー
タ等には、それらのフロー(あるいはフローの集合)毎
に予約されたバンド幅を、各フローに割り当てて保証す
ると同時に、出力リンクにおいて余ったリソースを、そ
れらの各フロー間で公平に再配分する制御を、高速の出
力リンクに応じて高速処理することが要求されている。
【0004】一方、VoIP(Voice over IP)のような
音声トラヒックデータに対しては、リンクのバンド幅を
最大かつ公平に利用するより、むしろ固定の転送レー卜
を保証し、遅延ジッタを最小にすることが重要である。
【0005】本発明は、このように要求されるサービス
品質(QoS)が異なるパケットの転送を対象とし、
1)トラヒックデータの種類毎に異なるサービス品質の
要求に応じた個々のパケットの転送順序制御( スケジュ
ーリング) を高速に処理する構成と、2)これらの個々
の構成を連携し、かつ全体のバンド幅を有効に利用する
構成とに係り、今後の高速マルチメデイアネットワーク
へ適用されるものである。
【0006】
【従来の技術】公平キューイング(Fair Queueing )技
術として、重み付け公平キューイング(WFQ:Weight
ed Fair Queueing)及び開始時間公平キューイング(S
FQ:Start-time Fair Queueing)がよく知られてい
る。
【0007】重み付け公平キューイング(WFQ)を基
本とする公平キューイング(Fair Queueing )の原理を
図5を用いて説明する。同図において、5−1はパケッ
ト転送のスケジューラ、5−2は各キュー対応に備えら
れたメータ、5−3はそれぞれのフローに対応したN個
のキュー(Q1 〜QN )から成るマルチキューである。
【0008】各々のキュー5−3にはフロー毎にパケッ
トが格納され、各キュー内においてはFIFOで処埋さ
れるものとし、スケジューラ5−1は各キュー5−3に
格納された先頭パケットの中から、最も早く転送を終え
ることができるパケットを選択して該パケットを出力リ
ンクに出力する処理を行なう。
【0009】このように重み付け公平キューイング(W
FQ)による転送制御は、各キューQi (i=1,2,
・・・,N)のそれぞれの先頭パケットに対して、転送
終了予定時刻Fi,1 を算出し、その値により出力順序に
優先度を付け、各フロー間のパケット転送の公平性とリ
ソースの有効利用を図っている。
【0010】各キューQi のそれぞれの先頭パケットの
転送終了予定時刻Fi,1 は、次の(式1)により算出さ
れる。 Fi,1 =max{Si,0 +Li,0 /ri,0 ;ti,1 }+Li,1 /ri,1 ・・・(式1)
【0011】ここで、max{ ; }は、{ }内
の;で区切られた二つの値のうちの最大値を意味し、ま
た、Si,0 等は以下のとおりである。なお、下付き文字
の1つ目はキュー(フロー)の番号、2つ目はキューの
中での順番を意味している。
【0012】Si,0 は、キューQi の現在の先頭パケッ
トの一つ前のパケット(以下、直前パケットという。)
の転送開始時刻、Li,0 は、キューQi の直前パケット
のパケット長、ri,0 は、キューQi の直前パケットの
転送時にキューQi に割り当てられるバンド幅、ti,1
は、キューQi の先頭パケットがキューQi に到着した
(格納された)時刻、Li,1 は、キューQi の先頭パケ
ットのパケット長、ri,1 は、キューQi の先頭パケッ
トの転送時にキューQi に割り当てられるバンド幅であ
る。
【0013】前述のSi,0 、Li,0 、Li,1 、t
i,1 は、パケット転送開始時又はパケット到着時に定ま
る固定的な値であり、各キューQi 対応のメータ5−2
に記憶保持されるが、前述のri,0 、ri,1 は、以下の
ように計算によって算出しなければならない。 ri,0 =(Φi /Φb(0))×R ・・・(式2) ri,1 =(Φi /Φb(1))×R ・・・(式3)
【0014】ここで、Φi は、キューQi の予約バンド
幅であり、キューQi のパケット転送に割り当てられる
バンド幅である。Φb(0)は、直前パケット転送時におけ
る、バックログキューの予約バンド幅の合計値、即ちΦ
b(0)=ΣΦj (j∈直前パケット転送時のバックログキ
ュー)であり、Φb(1)は、先頭パケット転送時におけ
る、バックログキューの予約バンド幅の合計値、即ちΦ
b(1)=ΣΦj (j∈先頭パケット転送時のバックログキ
ュー)であり、Rは、リソースの全出力バンド幅であ
り、Φb(0)≦R、Φb(1)≦Rである。
【0015】また、前述の「バックログキュー」とは、
未転送パケット(バックログ)が少なくとも1つ格納さ
れているキューを意味し、転送動作を必要とするパケッ
トが少なくとも1つ格納されているキューであるので
「アクティブキュー」とも称される。
【0016】各キューQi に割り当てられるバンド幅r
i は、バックログキューの数によって変動し、(式2)
又は(式3)から明らかなように、Φb =Rのときバン
ド幅Φi となり、Φb =Φi のとき最大限のバンド幅R
となる。
【0017】ここで、(式1)の右辺第1項は、キュー
i の先頭パケットの転送開始基準時刻を表し、その直
前パケットの転送終了時刻(Si,0 +Li,0 /ri,0
と先頭パケット到着時刻ti,1 のうち、大きい方の値を
転送開始基準時刻として与える。(式1)の右辺第2項
は、先頭パケットの転送に要する時間である。
【0018】そして、スケジューラ5−1は、転送終了
予定時刻Fi,1 の値の小さい順にパケットを選択して転
送する制御を行う。従って、直前パケットの転送に長時
間を要したキューや、転送に長時間を要する先頭パケッ
トのキューに対しては、転送順序の優先順位が下がり、
キュー間での公平なパケット転送が行われる。
【0019】このように、重み付け公平キューイング
(WFQ)は、各キュー間のパケットに対して、転送終
了予定時刻Fi,1 による転送順序の重み付け制御を行っ
て、キュー間の公平パケット転送を図るとともに、使用
されていない予約バンド幅(剰余リソース)を、アクテ
ィブキューにその予約バンド幅に応じて公平に割り当て
てリソースを有効利用し、アクティブキューのパケット
をより高速に転送し、サービスの向上を図っている。
【0020】しかし、バックログキューの数は常時変動
するため、各キューQi に割り当てられるバンド幅ri
も常に変動し、各キューQi の先頭パケットの転送終了
予定時刻Fi,1 も変動することとなる。
【0021】したがって、スケジューラ5−1は、一つ
のパケットを出力するごとに、バックログキューの全て
の先頭パケットに対して、前述の(式1)、(式2)及
び(式3)によりそれぞれの先頭パケットの転送終了予
定時刻Fi,1 を算出し、そして、以下の(式4)に記す
ように、それらの中から、最小の値の転送終了予定時刻
Out,1 となるキューQOut の先頭パケットを選択して
転送出力する処理を行なっていた。 FOut,1 =min{Fi,1 |i∈バックログキュー} ・・・(式4)
【0022】
【発明が解決しようとする課題】前述の(式1)の計算
は、各キューQi に割り当てられるバンド幅ri,0 、r
i,1 の計算を含み、それらは(式2)及び(式3)に示
されるように、一つのパケットの転送のたびにバックロ
グキューの変化により変動し、直前のパケットの出力処
理を終わった後でないと、次の先頭パケットの割り当て
バンド幅ri,1 を正確に算出することができない。
【0023】すなわち、毎回新しい先頭パケットを出力
するたびに、上記の計算をやり直さなければならず、し
かも前回のパケット出力のときに計算した各キューの先
頭パケット転送終了予定時刻Fi,1 は、選択されずにキ
ューQi に残されたままとなった先頭パケットについて
も、次のパケット出力においてその計算結果を全く流用
することができず、計算量の増大を招いていた。
【0024】一方、前述の割り当てバンド幅ri,1 の変
化による計算量増大の問題を解決するために、バーチャ
ルタイムを導入する技術が知られている。バーチャルタ
イムを利用することにより、前述の( 式1)は、 Fi,1 =max{Fi,0 ;V(ti,1 )}+Li,1 /Φi,1 ・・・(式1′) 但し、V(ti,1 )=V(ti,0 )+(R/Φb )・
(ti,1 −ti,0 ) V(0)=0 のように解釈することができる。
【0025】バーチャルタイムV(t)は、バックログ
キューの予約バンド幅の合計値Φbとリソースバンド幅
Rとが変化するたびに再計算するが、パケットの到着時
に転送終了予定時刻Fi,1 を決定することができるの
で、実装が容易である。
【0026】しかし、バーチャルタイムを導入すると、
転送終了予定時刻Fi,1 の時間軸が実時間とは異なる独
自のものとなってしまうので、パケットの転送順序制御
を行なうスケジューラを、サービス品質要求(QoS)
に応じて複数設けた場合、それぞれのスケジューラ間の
時間軸が異なってしまい、スケジューラ間での最優先出
力パケットの選択を行なう処理等、スケジューラー間の
連携が困難となる欠点がある。
【0027】また、バーチャルタイムを採用せずに、重
み付け公平キューイング(WFQ)のようなリソース公
平再配分によるパケット転送制御を行なうには、転送順
位決定(スケジューリング)のための計算量がきわめて
多くなってしまい、高速リンクに適用することが困難で
あるとしばしば指摘されている。
【0028】本発明は、フロー毎に異なるサービス品質
(QoS)を保証するとともに、伝送路のリソースを最
大限に利用する公平キューイング(Fair Queueing )に
おいて、パケット転送のスケジューリングのための計算
量を大幅に削減し、高速パケット転送処理を可能にし、
しかも要求されるサービス品質(QoS)に応じて複数
設けたスケジューラ間での連携が容易な、パケット転送
制御装置及びそのスケジューリング方法を提供すること
を目的とする。
【0029】更に具体的に詳述すると、前述の問題点に
対して、転送出力する最優先のパケットを選出する計算
において、キューQi に割り当てられるバンド幅ri,1
の変化によって、直接影響を受けるパケットの範囲を限
定化し、限定化したパケットのみに対して転送終了予定
時刻Fi,1 を計算し、その外のパケットに対しては過去
に計算した計算結果を再利用して計算を行なわず、重み
付け公平キューイング(WFQ)の計算量の削減を図る
ものである。
【0030】
【課題を解決するための手段】本発明のパケット転送制
御装置は、(1)予め個々に定められた予約バンド幅が
割り当てられる複数のキューに格納されたパケットに対
して、各キューの先頭パケットに、転送終了予定時刻の
早い順に転送順序の重み付けを行うとともに、転送すべ
きパケットが格納されたアクティブキューの全てに、伝
送システム全体のリソ−ス(バンド幅)を割り当てて転
送制御を行うスケジューラを少なくとも備えたパケット
転送制御装置において、前記スケジューラは、各キュー
の先頭パケットのパケット長と前記予約バンド幅との比
(以下、リソース占有予定時間という。)に応じて、各
キューの先頭パケットをクラスタに分けるクラスタ分け
手段と、前記クラスタ内のパケットのうちで転送終了予
定時刻の最も早いパケットを第1順位パケットとして、
各クラスタ毎に保持するクラスタ管理手段と、前記クラ
スタ内にパケットの削除又は追加があったときに、該ク
ラスタに対して転送終了予定時刻の最も早いパケットを
第1順位パケットとして選出し、前記クラスタ管理手段
に保持させるクラスタ内選択手段と、前記各クラスタの
第1順位パケットの中から、転送終了予定時刻の最も早
いパケットを最優先転送パケットとして選出するクラス
タ間選択手段とを備えたものである。
【0031】また、(2)前記スケジューラは、前記ア
クティブキューの予約バンド幅の累計値と前記伝送シス
テム全体のリソ−ス(バンド幅)との比(以下、予約バ
ンド幅使用率という。)を算出する予約バンド幅使用率
計算手段を備え、前記クラスタ間選択手段は、前記転送
終了予定時刻を、前記各第1順位パケットの転送開始基
準時刻と前記リソース占有予定時間と前記予約バンド幅
使用率とを基にして算出する構成を有するものである。
【0032】また、(3)前記クラスタ内選択手段は、
クラスタ内のパケットを、転送終了予定時刻の早い順に
ソートする構成を有し、前記クラスタ管理手段は、転送
終了予定時刻の早い順にソートされたパケットを、各ク
ラスタ毎に保持する構成を有するものである。
【0033】また、(4)前記クラスタ内選択手段は、
クラスタ内のパケットに対し、転送終了予定時刻の最も
早い第1順位パケットのみを選出する処理と、転送終了
予定時刻の早い順にソートする処理とを切り替えて行う
構成を有し、送出中のパケットの転送時間が所定時間以
上要する場合は、転送終了予定時刻の早い順にソートす
る処理を行ない、送出中のパケットの転送時間が所定時
間以下の場合は、転送終了予定時刻の最も早い第1順位
パケットのみを選出する処理を行なう構成を有するもの
である。
【0034】また、(5)前記クラスタ内選択手段は、
クラスタ内の各パケットの前記転送開始基準時刻のみ又
は前記転送開始基準時刻及び前記リソース占有予定時間
を基にして、前記転送終了予定時刻の最も早いパケット
を選出する構成を有するものである。
【0035】また、(6)前記クラスタ内選択手段は、
クラスタ内の各パケットの前記転送開始基準時刻のみ又
は前記転送開始基準時刻及び前記リソース占有予定時間
を基にして、前記転送終了予定時刻の早い順に、クラス
タ内パケットをソートする構成を有するものである。
【0036】また、(7)前記クラスタ分け手段は、前
記リソース占有予定時間が特定されるトラフィック特性
を有するアプリケーションパケットの種別を識別して、
各キューの先頭パケットをクラスタに分ける構成を有す
るものである。
【0037】また、(8)前記パケット転送制御装置
は、サービス品質のクラスに応じて異なるマルチキュー
に格納されるパケットに対して、該マルチキュー毎にそ
れぞれ伝送システム全体のリソ−スの割り当て処理が異
なるスケジューラを複数備え、それぞれのスケジューラ
は、各マルチキューの先頭パケットの中から転送終了予
定時刻の最も早いパケットを選出する手段を備え、更に
前記マルチキュー対応のスケジューラにより選出された
パケットの中から、その転送終了予定時刻の最も早いパ
ケットを選出するスケジューラを備えたものである。
【0038】また、(9)前記マルチキュー対応のスケ
ジューラのうち少なくとも一つのスケジューラは、対応
するマルチキュー内の各キューに固定レートのバンド幅
を割り当て、転送終了予定時刻の最も早いパケットを選
出する手段を備えたものである。
【0039】また、本発明のパケット転送スケジューリ
ング方法は、(10)予め個々に定められた予約バンド
幅が最小限割り当てられる複数のキューに格納されたパ
ケットに対して、各キューの先頭パケットに、転送終了
予定時刻の早い順に転送順序の重み付けを行うととも
に、転送すべきパケットが格納されたアクティブキュー
の全てに、伝送システム全体のリソ−ス(バンド幅)を
割り当てて転送するパケット転送スケジューリング方法
において、各キューの先頭パケットの前記リソース占有
予定時間に応じて、各キューの先頭パケットをクラスタ
に分ける過程と、前記クラスタ内のパケットに削除又は
追加があったときに、該クラスタに対して転送終了予定
時刻の最も早いパケットを第1順位パケットとして選出
し、保持する過程と、クラスタ間において、前記各クラ
スタの第1順位パケットの中から、転送終了予定時刻の
最も早いパケットを最優先転送パケットとして選出する
過程とを含むものである。
【0040】また、(11)前記パケット転送スケジュ
ーリング方法において、前記アクティブキューの予約バ
ンド幅使用率を算出する過程を含み、前記クラスタ間の
選択における前記転送終了予定時刻の計算を、前記各第
1順位パケットの転送開始基準時刻と前記リソース占有
予定時間と前記予約バンド幅使用率とを基にして算出す
る過程を含むものである。
【0041】また、(12)前記クラスタ内の選択にお
いて、クラスタ内のパケットを、転送終了予定時刻の早
い順にソートして保持する過程を含むものである。
【0042】また、(13)前記クラスタ内の選択にお
いて、送出中のパケットの転送時間が所定時間以上要す
る場合は、転送終了予定時刻の早い順にソートする処理
を行ない、送出中のパケットの転送時間が所定時間以下
の場合は、転送終了予定時刻の最も早い第1順位パケッ
トのみを選出する処理を行なう過程を含むものである。
【0043】また、(14)前記クラスタ内の選択にお
いて、クラスタ内の各パケットの前記転送開始基準時刻
のみ又は前記転送開始基準時刻及び前記リソース占有予
定時間を基にして、前記転送終了予定時刻の最も早いパ
ケットを選出する過程を含むものである。
【0044】また、(15)前記クラスタ内の選択にお
いて、クラスタ内の各パケットの前記転送開始基準時刻
のみ又は前記転送開始基準時刻及び前記リソース占有予
定時間を基にして、前記転送終了予定時刻の早い順に、
クラスタ内パケットをソートする過程を含むものであ
る。
【0045】また、(16)前記クラスタ分けにおい
て、前記リソース占有予定時間が特定されるトラフィッ
ク特性を有するアプリケーションパケットの種別を識別
して、各キューの先頭パケットをクラスタに分ける過程
を含むものである。
【0046】
【発明の実施の形態】図1は本発明の重み付け公平キュ
ーイング(WFQ)によるパケット転送制御の原理説明
図である。同図において、1−1はパケットをクラスタ
化して転送制御するスケジューラ、1−2は各フロー対
応にパケットを格納するN個のキュー(Q1 〜QN )か
ら成るマルチキューである。
【0047】各キューQi (i=1,2,・・・,N)
の内部構成は、本発明のパケット転送制御に直接影響が
ないので、各キューQi は、一般的なFIFO(First
In First Out)によるパケット格納処理を行う構成を有
するものと仮定する。
【0048】スケジューラ1−1は、各キューQi の先
頭パケット(図の網掛け部分A)に対して、各パケット
の転送に要するリソース占有予定時間βi,1 をもとに、
クラスタ分けを行なう。同図は、各キューQi の先頭パ
ケットをM個のクラスタC1〜CM に分けて転送制御す
る例を示している。
【0049】各パケット転送に要するリソース占有予定
時間βi,1 は、各キューQi の先頭パケットのパケット
長Li,1 と、各キューQi の予約バンド幅Φi とから、
以下の式 βi,1 =Li,1 /Φi により算出されるもので、キューQi に最低限割り当て
られる予約バンド幅Φiで、パケット長Li,1 のパケッ
トを転送するのに要する時間である。
【0050】実際には、前述したように重み付け公平キ
ューイング(WFQ)により、不使用の予約バンド幅が
あれば、そのバンド幅も所定の比率でアクティブキュー
に割り当てるため、リソース占有時間は上記のβi,1
り短縮されることとなるので、上記のβi,1 をリソース
占有予定時間と称する。
【0051】スケジューラ1−1は、各先頭パケットの
リソース占有予定時間βi,1 の値に応じて、各先頭パケ
ットをそれぞれM個のクラスタC1 〜CM にクラスタ分
けする。同図は、クラスタC1 にキューQ5 の先頭パケ
ットP5,1 とキューQ3 の先頭パケットP3,1 とがクラ
スタ化され、クラスタC2 にキューQ2 の先頭パケット
2,1 とキューQ4 の先頭パケットP4,1 とがクラスタ
化され、クラスタCMにキューQ1 の先頭パケットP
1,1 がクラスタ化された場合の例を示している。
【0052】スケジューラ1−1は、クラスタ内に新た
にキューの先頭パケットを組み入れる際、そのクラスタ
内で最も小さな値の転送終了予定時刻Fi,1 を持つ先頭
パケットを、このクラスタ内で最優先に出力すべき第1
順位パケットとして登録する。
【0053】また、クラスタ内の第1順位パケットが転
送パケットとして選出され、出力リンクへ送出された際
も、クラスタ内の残りのパケットの中から最も小さな値
の転送終了予定時刻Fi,1 を持つパケットを、クラスタ
内の第1順位パケットとして登録する。
【0054】図1では、クラスタC2 からパケットP
2,1 が送出され、キューQ2 から次のパケットP
2,2 が、先頭パケットとして同じクラスタC2 に組み込
まれた例を示しているが、このように一つのクラスタを
構成するパケットが変動したとき、そのクラスタ内のパ
ケット間(図の網掛け部分B)で、転送終了予定時刻F
i,1 の値の最も小さいパケットを、第1順位パケットと
して登録する。
【0055】そして、スケジューラ1−1は、それぞれ
のクラスタの第1順位パケット(図の例においては網掛
け部分CのパケットP5,1 、P2,1 、・・・、P1,1
に対して、転送終了予定時刻Fi,1 を計算し、その値が
最も小さいパケットを最優先に転送するパケットとして
選出し、該パケットを出力リンクから送出する制御を行
なう。
【0056】本発明のパケット転送制御の原理について
更に詳しく説明する。図1に示したスケジューラ1−1
は、各キューQi に対応したメータ(図示省略)を備
え、その各メータには、キューの先頭パケットの転送終
了予定時刻Fi,1 を計算するために必要なパラメータが
設定される。
【0057】キューQi のメータに設定されるパラメー
タは、先頭パケットの転送開始基準時刻αi,1 とリソー
ス占有予定時間βi,1 である。先頭パケットの転送開始
基準時刻αi,1 は、以下の式により算出される。 αi,1 =max{Si,0 +Li,0 /ri,0 ;ti,1 } ・・・(式5)
【0058】ここで、Si,0 +Li,0 /ri,0 は、先頭
パケットの一つ前のパケット(直前パケット)の転送終
了予定時刻、ti,1 は当該先頭パケットの到着時刻であ
る。当該先頭パケットの転送開始基準時刻αi,1 は、直
前パケットの転送終了予定時刻と当該先頭パケットの到
着時刻の値のうち、大きい方の値となる。
【0059】リソース占有予定時間βi,1 は前述したと
おり、 βi,1 =Li,1 /Φi ・・・(式6) により計算される。リソース占有予定時間βi,1 は、キ
ューQi のパケットを、その最低限の割り当てバンド幅
である予約バンド幅Φi で転送するとした場合、転送に
要するリソース占有時間である。キューQi に割り当て
られるバンド幅は、バックログキューの変化により変動
するため、該リソース占有時間も変動する。したがっ
て、リソース占有予定時間βi,1 は、実際のリソース占
有の予定時間ではなく、以下に述べるように、転送終了
予定時刻Fi,1 の計算に用いられる基準値の一つであ
る。
【0060】スケジューラ1−1は、更に先頭パケット
の転送終了予定時刻Fi,1 を計算するためのパラメータ
であるバックログキューによる予約バンド幅使用率γを
計算する。予約バンド幅使用率γは、リソース(全出力
リンクのバンド幅)Rに対する、各バックログキュー
(アクティブキュー)により使用されるそれぞれの予約
バンド幅の合計値Φb(1)の比率であり、以下の式により
算出される。 γ=Φb(1)/R ・・・(式7)
【0061】前述した(式1)の先頭パケットの転送終
了予定時刻Fi,1 は、(式3)、(式5)、(式6)及
び(式7)により、パラメータαi,1 、βi,1 及びγを
用いた以下の(式8)のように変形することができる。 Fi,1 =αi,1 +Li,1 /{(Φi /Φb(1))×R} =αi,1 +(Li,1 /Φi )×(Φb(1)/R) =αi,1 +βi,1 ×γ ・・・(式8)
【0062】ここで、転送開始基準時刻αi,1 とリソー
ス占有予定時間βi,1 は、該パケットがキューの先頭に
なった時点で算定され、以降、変化することのない固定
値であるが、予約バンド幅使用率γは、バックログキュ
ーの変化により変動する値である。
【0063】上記の(式8)による転送終了予定時刻F
i,1 と予約バンド幅使用率γとの関係をグラフに表す
と、図2の(A)の斜線で示すように、転送終了予定時
刻Fi, 1 はγの変動に対して直線的に変動する。
【0064】図2の(A)は、キューQi (i=1〜
4)の各先頭パケットの転送終了予定時刻Fi,1 (i=
1〜4)を例示的に示している。図の斜線と縦軸の交点
がαi, 1 であり、斜線の勾配がβi,1 である。
【0065】図2の(A)から分かるように、斜線の勾
配βi,1 に大きな差がないパケット同士の転送終了予定
時刻Fi,1 は、予約バンド幅使用率γが変化しても、そ
れらの転送終了予定時刻Fi,1 の順序が入れ替わる確率
が低く、仮に入れ替わってもその時刻差は微小なもので
ある。
【0066】図2(A)において、i=1とi=3のF
i,1 の勾配βi,1 に大差がなく、またi=2とi=4の
i,1 の勾配βi,1 に大差がない。このような場合、予
約バンド幅使用率γの変化に対し、i=2とi=4のF
i,1 の大小関係は変化せず、また、i=1とi=3のF
i,1 の大小関係は、途中で交差して入れ替わっている
が、勾配βi,1 が近似しているため、i=1とi=3の
i,1 の値自体に、大きな差異は生じない。
【0067】図2の(B)は勾配βi,1 のみを表した図
である。この勾配βi,1 に関して幾つか(例えばM個)
レンジを予め定め、(式6)によって計算した勾配β
i,1 がどのレンジに属するかによって、前述したように
各キューの先頭パケットに対してクラスタリングを行な
う。
【0068】このように先頭パケットのクラスタリング
を行なうと、同一クラスタ内に属するパケットの転送終
了予定時刻Fi,1 の順序に関して、γの変化に対する依
存度を微小なものとすることができる。
【0069】例えば、図2において、i=1とi=3の
キューの先頭パケットを同一クラスタとし、また、i=
2とi=4のキューの先頭パケットを同一クラスタとし
てクラスタリングを行なうと、γ=γ1 のときに計算し
た各キューQi のパケットの転送終了予定時刻F
i,1 は、γ=γ2 となった時点でも、各クラスタ内のそ
れぞれのパケットの転送終了予定時刻Fi,1 の順序が変
化する確率は低いし、たとえ変化があってもその時刻差
は小さいので、転送順序に誤差を生じたとしてもその影
響は小さい。
【0070】毎回のパケット転送出力時のパケット選択
処埋は、 直前にパケットを出力したクラスタ又は新たな先頭パ
ケットが追加されたクラスタ(図1の網掛け部分B)内
の全てのパケットに対し、前述の(式8)による転送終
了予定時刻Fi,1 を計算して転送終了予定時刻Fi,1
最小となる第1順位パケットを選出する処理(クラスタ
内選択処理)と、 各クラスタの第1順位パケット間(図1の網掛け部分
C)に対して、同様に(式8)による転送終了予定時刻
i,1 を計算し、前述の(式4)によりその値が最小と
なパケットを選出する処理(クラスタ間選択処理)とを
行う。
【0071】そして、クラスタ間選択処理により選出さ
れたパケットを、最優先転送パケットとして出力リンク
へ送出する処理を行うだけで済むので、従来、全てのバ
ックログキューの先頭パケットに対して(式8)の計算
を行ったのに比し、計算量を大幅に削減することができ
る。
【0072】例えば、バックログキューの数が100個
あったとすると、それらの先頭パケットは100個有
り、従来は、100個のパケットに対して(式8)によ
る転送終了予定時刻Fi,1 を計算して、その最小な値の
パケットを選出する処理を行っていたのに対し、本発明
では、100個の先頭パケットが10個のクラスタにそ
れぞれ平均して10個ずつクラスタ化されたとすると、
平均10個のパケットのクラスタ内選択処理と、10個
のクラスタについてのクラスタ間選択処理とを行えばよ
く、すなわち、20個のパケットに対してのみ(式8)
による転送終了予定時刻Fi,1 を計算すればよく、計算
量を大幅に削減することができるとともに、その最小な
ものを選択する処理においても、選択対象の個数が大幅
に減少化されているので、選択処理における処理量も低
減化することができる。
【0073】一般に、キューの数をNとし、クラスタの
数をMとすると、クラスタ内のパケットの数は平均でN
/Mとなる。すなわち、本発明のようにクラスタ分けを
行なうことにより、従来N個のパケットに対して行なっ
ていた計算を、N/M個のパケットに対するクラスタ内
処理と、M個にのパケット対するクラスタ間処理のみで
済み、(N/M+M)個のパケットに対して計算を行な
えばよく、計算量を大きく削減することができる。
【0074】なお、前述のクラスタ内選択処理におい
て、(式8)によるαi,1 、βi,1 及びγを用いた転送
終了予定時刻Fi,1 の計算によって第1順位パケットを
選出する処理に替えて、クラスタ内では各パケットのリ
ソース占有予定時間βi,1 が近似した値であり、予約バ
ンド幅使用率γに対する依存性は低いことから、転送開
始基準時刻αi,1 の値を第1ソートキーとして小さい順
にパケットをソートし、次に、同一又は近似した値の転
送開始基準時刻αi,1 を持つパケットに対して、リソー
ス占有予定時間βi,1 を第2ソートキーとして小さい順
にソートすることにより、予約バンド幅使用率γを使用
することなく、最小値付近の転送終了予定時刻Fi,1
パケットを簡易な処理で選出することができる。
【0075】更に、転送開始基準時刻αi,1 の値のみを
用い、その値の最も小さいパケットを第1順位パケット
として選出しても、選出結果に大きな誤差を生じること
はなく、最小値付近の転送終了予定時刻Fi,1 のパケッ
トを、更に簡易な処理で選出することができる。この場
合は、β×γの計算を行なわないので、クラスタ内の計
算量を大幅に削減することができる。
【0076】また、クラスタ内選択処理において、前述
のαi,1 、βi,1 及びγを用いた選出又はαi,1 及びβ
i,1 のみを用いた選出を行った際、選出された第1順位
パケットのみを登録しておき、クラスタに新たなパケッ
トが追加されたときに、登録済みの第1順位パケットと
新たなパケットが追加されたパケットとの転送終了予定
時刻Fi,1 に関する大小比較を行って新たな第1順位パ
ケットを決定して登録する手法と、クラスタ内のパケッ
ト全てに対して転送終了予定時刻Fi,1 の小さい順にソ
ートしておく手法と、更にそれらの手法をクラスタ内選
択処理に許容される処理時間に応じて、切り替える手法
を適用することができる。
【0077】一般に、パケットの長さにばらつきがあ
り、この特性を利用し、長いパケットなど転送に多くの
時間を要するパケットを送出しているとき、次の出力パ
ケットを選出する計算を行う時間も多く与えられるの
で、その間に各クラスタ内のパケットをソートしてお
き、短いパケットを高速に送出するときや、削除のみで
追加パケットがないクラスタにおける選択処理では、過
去にソートした結果をそのまま流用するか、又は第1順
位パケットだけを選ぶ処理に切り替え、処理量を低減
し、連続する短いパケットを出力する場合でも、高速な
選択処理を、精度の劣化なく又は僅かな精度の低下を伴
うだけで行うことができる。
【0078】なお、ソート処理を開始するに先立って、
転送に長時間を要するパケットかどうかの判定は、パケ
ット長Lと全出力バンド幅Rとの割算L/Rを計算し、
その値と閾値との比較により判定することができ、また
パケット長のみとに閾値との比較により簡易な判定を行
ってもよい。
【0079】更に、クラスタ内選択処理において、第1
順位パケットを選出する際に、その転送終了予定時刻F
i,1 を算出する場合は、クラスタ間選択処理において
は、クラスタ内選択処理を行ったクラスタを除いて、そ
の他のクラスタの第1順位パケットに対してのみ転送終
了予定時刻Fi,1 を計算し、それらの値のうちの最小な
ものとクラスタ内選択処理において算出した転送終了予
定時刻Fi,1 とを比較して、転送すべき最優先のパケッ
トを選出することができる。
【0080】更に、音声やビデオ情報のようなマルチメ
ディアのアプリケーションパケットの転送においては、
一般的に、その品質要求に応じて、パケットを幾つかの
グレードに分けて転送する。
【0081】そして、各グレードでは予約バンド幅Φi
とパケット長Li といったトラヒック特性が均一であ
り、アプリケーションの種類を識別することによって、
リンク占有予定時間βi (βi =Li /Φi )が一義的
に定まる場合が有る。このような場合は、アプリケーシ
ョンパケットのトラヒック特性種別を識別してパケット
のクラスタ化を簡易かつ正確に行うことができる。
【0082】次に、本発明の重み付け公平キューイング
(WFQ)によるパケット転送制御装置の具体的な構成
について説明する。ここで、パケット転送制御装置は、
フロー毎にキューイングを行なうものとし、各キューの
内部ではFIFOによりパケットの格納処理を行い、更
に、パケットデータの本体は、図示を省略したバッファ
に保存され、以下に説明するパケット転送制御装置は、
パケットデータ本体へのポインタと転送制御に関連する
パラメータだけを処理の対象とするものとする。
【0083】図3は本発明のパケット転送制御装置の構
成を示す図である。同図において、3−1はマルチキュ
ー管理手段、3−2は予約バンド幅使用率γ計算手段、
3−3はクラスタ分け手段、3−4はクラスタ管理手
段、3−5はクラスタ内選択手段、3−6はクラスタ間
選択手段、3−7は出力制御手段である。
【0084】マルチキュー管理手段3−1は、フロー対
応のキューQi (i=1〜N)と各キューQi 対応のメ
ータとを備える。各キューQi には、受信したパケット
のフロー番号FlowNo.(j)とパケット長Pac
ketLen.(L)と到着時間(t)とパケットデー
タ本体を記憶するバッファのアドレスのポインタPoi
nterとから成るパケットタグを到着順に格納する。
【0085】各キューQi 対応のメータには、そのキュ
ーQi の先頭パケットの転送開始基準時刻αi,1 とその
キューQi が予約しているバンド幅Φi とを保存する。
マルチキュー管理手段3−1は、未転送パケット(バッ
クログ)が少なくとも1つ格納されているアクティブ状
態のキューQi と各キュー対応のメータとを管理する機
能を備え、出力要求によって、対応するキューの先頭パ
ケットのタグ及びそのメータに記憶されているパラメー
タを出力する機能を備える。
【0086】更に、キューのアクティブ状態が変化した
時、変化した予約バンド幅(±Φ)を出力する機能を備
える。例えば、キューQi が非アクティブ状態からアク
ティブ状態へ変化したときは、その予約バンド幅Φi
増加分(+Φi )、逆にアクティブ状態から非アクティ
ブ状態へ変化したときは、その予約バンド幅Φi の減少
分(−Φi )を、予約バンド幅使用率γ計算手段3−2
に出力する。
【0087】予約バンド幅使用率γ計算手段3−2は、
Φb 計算部とγ計算部とを備える。Φb 計算部はマルチ
キュー管理手段3−1から、変化した予約バンド幅(±
Φ)を入力し、アクティブキュー(バックログキュー)
の予約バンド幅の累計値Φb(Φb =Φb ±Φ)を計算
する。
【0088】γ計算部は、アクティブキュー(バックロ
グキュー)の予約バンド幅の累計値Φb を、リソース
(出力リンク)全体のバンド幅Rで除算し、アクティブ
キュー(バックログキュー)全体により使用される予約
バンド幅Φb の、バンド幅Rに対する比率γを計算す
る。
【0089】クラスタ分け手段3−3は、βi 計算部と
クラスタ分け処理部とを備える。βi 計算部は、キュー
i の先頭のパケットのパケット長Li をキューQi
予約バンド幅Φi で除算し(Li /Φi )、該先頭パケ
ットのリソース占有予定時間βi を計算する。
【0090】クラスタ分け処理部は、当該パケットのリ
ソース占有予定時間βi の値に基づき、その値の属する
レンジに対応して当該パケットをクラスタC1 〜CM
振り分ける処理を行う。
【0091】クラスタ管理手段3−4は、クラスタ内選
択手段3−5と連携し、各クラスタCj (j=1〜M)
において、クラスタ内の各パケットの転送終了予定時刻
iのうち、その値の一番小さいパケットがそのクラス
タの第1順位パケットとして選択されている状態を維持
する。
【0092】また、クラスタ内のパケットを、転送終了
予定時刻Fi の値の小さい順にソートされた状態に維持
するための、次の順位のパケットのポインタを示すパラ
メータNCP(Next Cluster Pointer)をクラスタ内
のパケットに付加し、該パラメータNCPにより、クラ
スタ内においてパケットをソート順にリンクさせておく
ことができる。
【0093】クラスタ内選択手段3−5は、クラスタ管
理手段3−4に保管されているクラスタの一つに対し
て、クラスタ管理手段3−4からの要求により、該クラ
スタ内の各パケットの転送終了予定時刻Fi (=αi
βi ×γ)を計算し、各パケットの転送終了予定時刻F
i のうち、その値の一番小さいパケットを第1順位パケ
ットとして選出し、クラスタ管理手段3−4に返送する
機能を有する。また、その第1順位パケットの転送終了
予定時刻Fi を出力制御手段3−7に出力する機能を有
する。
【0094】クラスタ内選択手段3−5は、前述したよ
うにαi とβi とから選出する手法や、ソートする手
法、又はそれらを処理時間に応じて適宜切り替える手法
を適用することができる。
【0095】クラスタ間選択手段3−6は、前述のクラ
スタC1 〜CM (ただし、直前に出力したクラスタを除
く。)のそれぞれの第1順位パケットの中から、転送終
了予定時刻Fi (=αi +βi ×γ)の一番小さい値の
パケットを計算して選出し、その転送終了予定時刻Fi
を出力制御手段3−7に出力する。
【0096】出力制御手段3−7は、クラスタ内選択手
段3−5及びクラスタ間選択手段3−6から入力される
転送終了予定時刻Fi を比較し、その値の小さいパケッ
トを転送すべき最優先パケットとして選出し、そのパケ
ットタグを出力する。
【0097】そして、転送されることとなったパケット
のタグが格納されていたキューQiに対して、次のパケ
ットを先頭パケットとして同様の処理を行なうために、
出力制御手段3−7は、マルチキュー管理手段3−1、
予約バンド幅使用率γ計算手段3−2及びクラスタ分け
手段に対して、次の先頭パケットに対する処理を起動す
る。
【0098】以上、本発明のパケット転送制御装置の各
機能手段について説明したが、その処理動作について、
パケット出力処理とパケット入力処理とに分けて、以下
に同じ図3を参照して説明する。なお図中、○印内の番
号は、以下の説明における処理動作に付した( )内の
番号に対応し、当該処理動作に関連する情報が入出力さ
れる機能モジュール間のリンク位置を表している。更
に、図中、各リンク又は機能モジュールで入出力又は保
持される情報の内容を、a)〜h)の枠内に引き出し線
を付して記している。
【0099】〔1〕パケット出力処理について 出力制御手段3−7によるパケット出力終了(10)と
次のパケットの出力許可(11)の条件が満足される
と、出力制御手段3−7から、マルチキュー管理手段3
−1、予約バンド幅使用率γ計算手段3−2及びクラス
タ分け手段3−3に、直前に出力したパケットが属して
いたキューQi の次のパケットを先頭パケットとして処
理する要求(12)を送出する。
【0100】マルチキュー管埋手段3−1は、キューQ
i に未転送パケットが格納されていれば、その新たな先
頭パケットを呼び出し、該先頭パケットの転送開始基準
時刻αi を計算し、メータに保存する。ただし、もし当
該キューQi が空となっていれば、マルチキュー管埋手
段3−1はなにも出力しない。
【0101】転送開始基準時刻αi は、このパケットの
到着時刻tと直前に送出されたパケットの転送終了予定
時刻Fi,0 とを比較し、t≧Fi,0 であれば、αi =t
として設定され、t<Fi,0 であれば、αi =Fi,0
して設定される。
【0102】マルチキュー管埋手段3−1は、パケット
長Li 及び予約バンド幅Φi のパラメータをクラスタ分
け手段3−3に出力する(15)。また、マルチキュー
管埋手段1−3は、キューのアクティブ状態変化によっ
て引き起こされた使用予約バンド幅の変化(±Φ)を、
予約バンド幅使用率γ計算手段3−2に出力する(1
4)。
【0103】クラスタ分け手段3−3は、パラメータが
入力されると、リソース占有予定時間βを計算し
(2)、この値に応じて新たな先頭パケットのクラスタ
分け処理(3)を行ない、クラスタ管理手段3−4に出
力する。
【0104】予約バンド幅使用率γ計算手段3−2は、
バックログキューの予約バンド幅の累計値Φb を計算し
(13)、出力制御手段から3−7から出力要求(1
2)があるとき、予約バンド幅の累計値Φb をγ計算部
へ出力し、γ計算部は、予約バンド幅の累計値Φb とリ
ソース全体のバンド幅Rとの比率である予約バンド幅使
用率γを計算し(4)、クラスタ内選択手段3−5及び
クラスタ間選択手段3−6に出力する。
【0105】クラスタ管理手段3−4は、最優先出力パ
ケットとして選出されたパケットが属していたクラスタ
j が出力制御手段3−7から通知されると、次の先頭
パケットのクラスタ分け処理が完了する期間だけ待っ
て、そのクラスタCj に属する全てのパケットを、クラ
スタ内選択手段3−5に送出し(7)、クラスタ内選択
手段3−5は、それらのパケットの中から、新たに第1
順位パケットを選出してクラスタ管理手段に返送する
(9)。
【0106】また、次の先頭パケットが他のクラスタC
k にクラスタ化された場合には、他のクラスタCk に対
しても同様に、クラスタ内選択手段3−5に送出し
(7)、クラスタ内選択手段3−5は、それらのパケッ
トの中から、新たに第1順位パケットを選出してクラス
タ管理手段に返送する(9)。
【0107】クラスタ管理手段3−4は、クラスタ内選
択手段3−5に最後に送出したクラスタCj 以外の各ク
ラスタの第1順位パケットのパラメータ(αi 、βi
を、クラスタ間選択手段3−6に出力する(5)。
【0108】クラスタ内選択手段3−5は、クラスタ管
理手段3−4から入力(7)したパケットのパラメータ
αi 、βi 及び新たな予約バンド幅使用率γによって、
各パケットの転送終了予定時刻Fi (=αi +βi ×
γ)を計算して、その中から転送終了予定時刻Fi が最
小となるパケットを第1順位パケットとして選出し、出
力制御手段3−7に出力する(8)とともに、クラスタ
管理手段にも返送する(9)。
【0109】クラスタ間選択手段3−6は、入力された
各クラスタの第1順位のパケットのパラメータ(αi
βi )及び新たな予約バンド幅使用率γによって、転送
終了予定時刻Fi (=αi +βi ×γ)を計算し、その
中から最小のFi のパケットを最優先候補パケットとし
て選出し、この最優先候補パケットを出力制御手段3−
7に出力する(6)。
【0110】出力制御手段3−7は、クラスタ間選択手
段3−6及びクラスタ内選択手段3−5から入力(6)
(8)された転送終了予定時刻Fi のうち、一番小さい
値のパケットを最優先転送パケットとして選択して出力
する(10)と同時に、次の出力パケットに対する処理
要求を行なう(12)。
【0111】〔2〕パケット入力処理 マルチキュー管理手段3−1は、転送サービスを行なう
パケットのパケットタグを受信し(1)、該パケットタ
グをフロー対応のキューQi に格納する。このとき、該
キューQi が、アクティブ状態のキューであった場合
は、既に先頭パケットが存在しているので、新たに受信
したパケットのタグを該キューQi に追加するだけで入
力処理を終了する。
【0112】空の状態のキューQi にパケットが到着し
たときは、このパケットが先頭パケットとなるので、マ
ルチキュー管理手段3−1は、該キューQi のメータに
パケットの転送開始基準時刻αi を計算して設定し、そ
のパケット長Li 及びキューQi の予約バンド幅Φi
クラスタ分け手段3−3に出力し(15)し、使用予約
バンド幅の変動分(増加分Φi )を、予約バンド使用率
γ計算手段3−2に出力する。
【0113】クラスタ分け手段3−3は、β計算部でL
i /Φi によりリソース占有予定時間βi を計算し、ク
ラスタ分け処理部でリソース占有予定時間βi の値に従
ってパケットのクラスタ分けを行い、クラスタ管理手段
3−4に出力する(3)。
【0114】クラスタ管理手段3−4では、新たにパケ
ットが追加されたクラスタCj に対して、クラスタ内選
択手段3−5と連携して該クラスタCj の第1順位パケ
ットと、新たに追加されたパケットとのパラメータ
(α、β)と予約バンド使用率γとを基に、転送終了予
定時刻Fi を計算し、転送終了予定時刻Fi の最も小さ
いパケットを新たな第1順位パケットとして選択して保
持する。
【0115】図4は、本発明における複数のスケジュー
ラによるパケット転送制御の説明図である。同図におい
て、4−1は入力リンク、4−2はルータ(クラシファ
イヤ)、4−3は第1のマルチキュー、4−4は第2の
マルチキュー、4−5は第1のサブスケジューラ、4−
6は第2のサブスケジューラ、4−7はその上位のメイ
ンスケジューラである。
【0116】図4は、低ジッタ(Low jitte
r)であることが重要視される音声パケット等の転送
と、低遅延(Low Delay)及び最大転送能力が
重要視されるWWWやFTP等のデータパケットの転送
のように、異なるサービス品質(QoS)が要求される
アプリケーションのトラヒックパケットが混在した場合
のパケットスケジューリングについての説明図である。
【0117】入力リンク4−1から入力される音声パケ
ット(Voice)、画像パケット(Video)、デ
ータパケット(Data)等、サービス品質(QoS)
クラスの異なるトラヒックデータが入力され、ルータ4
−2は、入力されたパケットのヘッダ情報を解析するこ
とによって、そのパケットが属するフローに分類し、対
応するキューに格納する。
【0118】各キューは、対応する各フローの要求する
サービス品質に応じて、それぞれ異なるスケジューラに
よって制御される複数のマルチキューとして構成され
る。その第1のマルチキュー4−3は、音声パケット
(Voice)、画像パケット(Video)のよう
に、低ジッタが要求されるパケットを格納し、第1のサ
ブスケジュ−ラ(S1)4−5によって、所定の出力レ
ートが保証されるようにスケジューリング制御される。
【0119】第1のサブスケジュ−ラ(S1)4−5
は、キュー間で余ったバンド幅を再配分する必要はない
ので、前述の(式1)において、ri,0 =ri,1 =Φi
として固定し、各キューの先頭パケットの転送終了予定
時刻Fi,1 を計算することにより、その値の最も小さい
パケットを最優先出力パケットとして選出する。
【0120】第1のサブスケジュ−ラ(S1)4−5
は、割り当てバンド幅ri,1 が固定値であるため、計算
処理の負担が軽く、音声パケットのような短いパケット
で構成されるフローの処理に対しても、高速に追随して
優先選択処理を行なうことができる。
【0121】一方、データパケットのように、低遅延が
要求されるパケットは、第2のマルチキュー4−4に格
納され、第2のサブスケジュ−ラ(S1)4−6によっ
て、重み付け公平キューイング(WFQ)により余剰バ
ンド幅が公平に割り当てられスケジューリング制御され
る。
【0122】重み付け公平キューイング(WFQ)は、
前述したようにパケットの最小遅延保証及びフロー間で
の余剰バンド幅の公平再分配において優れた特長を持っ
ている。第2のサブスケジュ−ラ(S1)4−6は、各
キューの先頭パケットの転送終了予定時刻Fi,1 の計算
において、前述したようにクラスタ化を行い、計算対象
の先頭パケットを限定化して高速に計算処理を行い、そ
の値の最も小さいパケットを最優先出力パケットとして
選出する。
【0123】上位のメインスケジューラ(S)4−7
は、第1及び第2のサブスケジューラ(S1,S2)間
の連携を行い、その両者から選出されたパケットの出力
候補に対して、さらにその転送終了予定時刻Fi,1 の最
も小さいパケットを出力パケットとして選択して出力す
る。
【0124】このような処理によって、各々のフローに
対して、その要求するサービス品質(QoS)に応じ、
低ジッタ保証、低遅延保証を行なうとともに、フロー間
で公平にかつ出力リンクを最大に有効利用してパケット
転送を行なうことができる。
【0125】
【発明の効果】以上説明したように、本発明によれば、
バックログキューにより使用される予約バンド幅の合計
値の変化によって転送終了予定時刻が変動する各キュー
の先頭パケットに対して、転送終了予定時刻の最も早い
先頭パケットを選択して転送する重み付け公平キューイ
ング(WFQ)の処理において、バックログキューの予
約バンド幅の合計値の変動に対する該転送終了予定時刻
の相対的な順位変動の依存性の低い先頭パケット同士を
クラスタ化し、過去に計算した各クラスタ内の出力優先
順位をそのまま再利用して、各クラスタの第1順位パケ
ットのみに対して転送終了予定時刻の計算を行ない、最
優先パケットを選出することにより、重み付け公平キュ
ーイング(WFQ)処理における計算量を大幅に削減す
ることができる。
【0126】また、転送終了予定時刻の計算において、
時間軸が実時間軸であるため、複数のスケジューラで個
々に選出された第1優先のパケットに対する選択処理が
容易となり、複数のスケジューラによる選択処理を容易
に連携することができる。
【0127】
【図面の簡単な説明】
【図1】本発明のパケット転送制御の原理説明図であ
る。
【図2】転送終了予定時刻Fi,1 と予約バンド幅使用率
γとの関係を表したグラフである。
【図3】本発明のパケット転送制御装置の構成を示す図
である。
【図4】本発明における複数のスケジューラによるパケ
ット転送制御の説明図である。
【図5】重み付け公平キューイング(WFQ)の原理説
明図である。
【符号の説明】
1−1 パケットをクラスタ化して転送制御するスケジ
ューラ 1−2 各フロー対応にパケットを格納するN個のキュ
ー(Q1 〜QN )から成るマルチキュー
フロントページの続き (56)参考文献 特開 平9−83547(JP,A) 特開 平8−213992(JP,A) 信学技報,IN98−59 IEEE/ACM Trans.on Networking,Vol.3 No.4,p365−386 (58)調査した分野(Int.Cl.7,DB名) H04L 12/56

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 予め個々に定められた予約バンド幅が割
    り当てられる複数のキューに格納されたパケットに対し
    て、各キューの先頭パケットに、転送終了予定時刻の早
    い順に転送順序の重み付けを行うとともに、転送すべき
    パケットが格納されたアクティブキューの全てに、リソ
    −ス(バンド幅)を割り当てて転送制御を行うスケジュ
    ーラを少なくとも1つ備えたパケット転送制御装置にお
    いて、前記スケジューラは、 各キューの先頭パケットのパケット長と前記予約バンド
    幅との比(以下、リソース占有予定時間という。)に応
    じて、各キューの先頭パケットをクラスタに分けるクラ
    スタ分け手段と、 前記クラスタ内のパケットのうちで転送終了予定時刻の
    最も早いパケットを第1順位パケットとして、各クラス
    タ毎に保持するクラスタ管理手段と、 前記クラスタ内にパケットの削除又は追加があったとき
    に、該クラスタに対して転送終了予定時刻の最も早いパ
    ケットを第1順位パケットとして選出し、前記クラスタ
    管理手段に保持させるクラスタ内選択手段と、 前記各クラスタの第1順位パケットの中から、転送終了
    予定時刻の最も早いパケットを最優先転送パケットとし
    て選出するクラスタ間選択手段とを備えたことを特徴と
    するパケット転送制御装置。
  2. 【請求項2】 前記スケジューラは、前記アクティブキ
    ューの予約バンド幅の累計値と前記リソ−ス(バンド
    幅)との比(以下、予約バンド幅使用率という。)を算
    出する予約バンド幅使用率計算手段を備え、前記クラス
    タ間選択手段は、前記転送終了予定時刻を、前記各第1
    順位パケットの転送開始基準時刻と前記リソース占有予
    定時間と前記予約バンド幅使用率とを基にして算出する
    構成を有することを特徴とする請求項1記載のパケット
    転送制御装置。
  3. 【請求項3】 前記クラスタ内選択手段は、クラスタ内
    のパケットを、転送終了予定時刻の早い順にソートする
    構成を有し、前記クラスタ管理手段は、転送終了予定時
    刻の早い順にソートされたパケットを、各クラスタ毎に
    保持する構成を有することを特徴とする請求項1又は2
    記載のパケット転送制御装置。
  4. 【請求項4】 前記クラスタ内選択手段は、クラスタ内
    のパケットに対し、転送終了予定時刻の最も早い第1順
    位パケットのみを選出する処理と、転送終了予定時刻の
    早い順にソートする処理とを切り替えて行う構成を有
    し、 送出中のパケットの転送時間が所定時間以上要する場合
    は、転送終了予定時刻の早い順にソートする処理を行な
    い、送出中のパケットの転送時間が所定時間以下の場合
    は、転送終了予定時刻の最も早い第1順位パケットのみ
    を選出する処理を行なう構成を有することを特徴とする
    請求項1又は2記載のパケット転送制御装置。
  5. 【請求項5】 前記クラスタ内選択手段は、クラスタ内
    の各パケットの前記転送開始基準時刻のみ又は前記転送
    開始基準時刻及び前記リソース占有予定時間を基にし
    て、前記転送終了予定時刻の最も早いパケットを選出す
    る構成を有することを特徴とする請求項1、2又は4記
    載のパケット転送制御装置。
  6. 【請求項6】 前記クラスタ内選択手段は、クラスタ内
    の各パケットの前記転送開始基準時刻のみ又は前記転送
    開始基準時刻及び前記リソース占有予定時間を基にし
    て、前記転送終了予定時刻の早い順に、クラスタ内パケ
    ットをソートする構成を有することを特徴とする請求項
    3又は4記載のパケット転送制御装置。
  7. 【請求項7】 前記クラスタ分け手段は、前記リソース
    占有予定時間が特定されるトラフィック特性を有するア
    プリケーションパケットの種別を識別して、各キューの
    先頭パケットをクラスタに分ける構成を有することを特
    徴とする請求項1乃至6のいずれか1項に記載のパケッ
    ト転送制御装置。
  8. 【請求項8】 前記パケット転送制御装置は、サービス
    品質のクラスに応じて異なるマルチキューに格納される
    パケットに対して、該マルチキュー毎にそれぞれ伝送シ
    ステム全体のリソ−スの割り当て処理が異なるスケジュ
    ーラを複数備え、 それぞれのスケジューラは、各マルチキューの先頭パケ
    ットの中から転送終了予定時刻の最も早いパケットを選
    出する手段を備え、 更に前記マルチキュー対応のスケジューラにより選出さ
    れたパケットの中から、その転送終了予定時刻の最も早
    いパケットを選出するスケジューラを備えたことを特徴
    とする請求項1乃至7いずれか1項記載のパケット転送
    制御装置。
  9. 【請求項9】 前記マルチキュー対応のスケジューラの
    うち少なくとも一つのスケジューラは、対応するマルチ
    キュー内の各キューに固定レートのバンド幅を割り当
    て、転送終了予定時刻の最も早いパケットを選出する手
    段を備えたことを特徴とする請求項8記載のパケット転
    送制御装置。
  10. 【請求項10】 予め個々に定められた予約バンド幅が
    最小限割り当てられる複数のキューに格納されたパケッ
    トに対して、各キューの先頭パケットに、転送終了予定
    時刻の早い順に転送順序の重み付けを行うとともに、転
    送すべきパケットが格納されたアクティブキューの全て
    に、リソ−ス(バンド幅)を割り当てて転送するパケッ
    ト転送スケジューリング方法において、 各キューの先頭パケットの前記リソース占有予定時間に
    応じて、各キューの先頭パケットをクラスタに分ける過
    程と、 前記クラスタ内にパケットの削除又は追加があったとき
    に、該クラスタに対して転送終了予定時刻の最も早いパ
    ケットを第1順位パケットとして選出し、保持する過程
    と、 クラスタ間において、前記各クラスタの第1順位パケッ
    トの中から、転送終了予定時刻の最も早いパケットを最
    優先転送パケットとして選出する過程とを含むことを特
    徴とするパケット転送スケジューリング方法。
  11. 【請求項11】 前記パケット転送スケジューリング方
    法において、前記アクティブキューの予約バンド幅使用
    率を算出する過程を含み、前記クラスタ間の選択におけ
    る前記転送終了予定時刻の計算を、前記各第1順位パケ
    ットの転送開始基準時刻と前記リソース占有予定時間と
    前記予約バンド幅使用率とを基にして算出する過程を含
    むことを特徴とする請求項10記載のパケット転送スケ
    ジューリング方法。
  12. 【請求項12】 前記クラスタ内の選択において、クラ
    スタ内のパケットを、転送終了予定時刻の早い順にソー
    トして保持する過程を含むことを特徴とする請求項10
    又は11記載のパケット転送スケジューリング方法。
  13. 【請求項13】 前記クラスタ内の選択において、送出
    中のパケットの転送時間が所定時間以上要する場合は、
    転送終了予定時刻の早い順にソートする処理を行ない、
    送出中のパケットの転送時間が所定時間以下の場合は、
    転送終了予定時刻の最も早い第1順位パケットのみを選
    出する処理を行なう過程を含むことを特徴とする請求項
    10又は11記載のパケット転送スケジューリング方
    法。
  14. 【請求項14】 前記クラスタ内の選択において、クラ
    スタ内の各パケットの前記転送開始基準時刻のみ又は前
    記転送開始基準時刻及び前記リソース占有予定時間を基
    にして、前記転送終了予定時刻の最も早いパケットを選
    出する過程を含むことを特徴とする請求項10、11又
    は13記載のパケット転送スケジューリング方法。
  15. 【請求項15】 前記クラスタ内の選択において、クラ
    スタ内の各パケットの前記転送開始基準時刻のみ又は前
    記転送開始基準時刻及び前記リソース占有予定時間を基
    にして、前記転送終了予定時刻の早い順に、クラスタ内
    パケットをソートする過程を含むことを特徴とする請求
    項12又は13記載のパケット転送スケジューリング方
    法。
  16. 【請求項16】 前記クラスタ分けにおいて、前記リソ
    ース占有予定時間が特定されるトラフィック特性を有す
    るアプリケーションパケットの種別を識別して、各キュ
    ーの先頭パケットをクラスタに分ける過程を含むことを
    特徴とする請求項10乃至15のいずれか1項に記載の
    パケット転送スケジューリング方法。
JP26767398A 1998-09-22 1998-09-22 パケット転送制御装置及びそのスケジューリング方法 Expired - Fee Related JP3306705B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP26767398A JP3306705B2 (ja) 1998-09-22 1998-09-22 パケット転送制御装置及びそのスケジューリング方法
DE1999604899 DE69904899T2 (de) 1998-09-22 1999-09-21 Vorrichtung und Verfahren zur Kontrolle der Paketübertragung und der Planung der Reihenfolge der Übertragung der Pakete
EP19990118019 EP0989770B1 (en) 1998-09-22 1999-09-21 Packet transfer control apparatus and scheduling method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26767398A JP3306705B2 (ja) 1998-09-22 1998-09-22 パケット転送制御装置及びそのスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2000101637A JP2000101637A (ja) 2000-04-07
JP3306705B2 true JP3306705B2 (ja) 2002-07-24

Family

ID=17447943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26767398A Expired - Fee Related JP3306705B2 (ja) 1998-09-22 1998-09-22 パケット転送制御装置及びそのスケジューリング方法

Country Status (3)

Country Link
EP (1) EP0989770B1 (ja)
JP (1) JP3306705B2 (ja)
DE (1) DE69904899T2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2393740A1 (en) 1999-12-08 2001-06-14 The University Of British Columbia Weighted fair queuing scheduler
EP1235405A4 (en) 2000-10-06 2005-08-10 Mitsubishi Electric Corp DATA TRANSMISSION METHOD AND DATA TRANSMISSION DEVICE
US7187684B2 (en) 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7317683B2 (en) 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7310345B2 (en) 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US7280474B2 (en) 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
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
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
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
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
JP4168633B2 (ja) 2002-01-17 2008-10-22 日本電気株式会社 無線基地局におけるパケットスケジューリング方法、パケット転送装置およびパケットスケジューリングプログラム
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
JP3872716B2 (ja) 2002-04-30 2007-01-24 富士通株式会社 パケット出力制御装置
EP1505779A1 (en) * 2002-05-15 2005-02-09 Mitsubishi Denki Kabushiki Kaisha Packet scheduling system and packet scheduling method
JP4483535B2 (ja) 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置
JP4643473B2 (ja) * 2006-03-07 2011-03-02 アラクサラネットワークス株式会社 ネットワーク伝送装置
JP4985652B2 (ja) 2006-11-01 2012-07-25 富士通株式会社 無線通信装置、無線通信方法および無線通信システム
WO2009053774A1 (en) * 2007-10-23 2009-04-30 Freescale Semiconductor, Inc. Method, integrated circuit, and communication unit for scheduling a processing of packet stream channels
US9558147B2 (en) 2014-06-12 2017-01-31 Nxp B.V. Fine-grained stream-policing mechanism for automotive ethernet switches
EP3136678B1 (en) * 2015-08-27 2019-11-27 Tata Consultancy Services Limited System and method for real-time transfer of audio and/or video streams through an ethernet avb network
CN105376177B (zh) * 2015-12-12 2018-07-03 中国航空工业集团公司西安航空计算技术研究所 一种可配置多优先级调度方法
CN114640638A (zh) * 2020-12-16 2022-06-17 华为技术有限公司 一种报文传输方法及发送端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
EP1635520A3 (en) * 1995-09-18 2009-03-18 Kabushiki Kaisha Toshiba Packet transfer method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE/ACM Trans.on Networking,Vol.3 No.4,p365−386
信学技報,IN98−59

Also Published As

Publication number Publication date
DE69904899T2 (de) 2003-07-24
DE69904899D1 (de) 2003-02-20
EP0989770B1 (en) 2003-01-15
JP2000101637A (ja) 2000-04-07
EP0989770A1 (en) 2000-03-29

Similar Documents

Publication Publication Date Title
JP3306705B2 (ja) パケット転送制御装置及びそのスケジューリング方法
KR100323258B1 (ko) 버퍼 관리를 통한 속도 보증
JP3715098B2 (ja) 通信ネットワークにおけるパケットの配送装置とその方法
US8259738B2 (en) Channel service manager with priority queuing
US8638664B2 (en) Shared weighted fair queuing (WFQ) shaper
JP4490956B2 (ja) ポリシー・ベースのサービス品質
US6721796B1 (en) Hierarchical dynamic buffer management system and method
US20050047425A1 (en) Hierarchical scheduling for communications systems
US8325736B2 (en) Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule
US20060029080A1 (en) Using burst tolerance values in time-based schedules
US20070070895A1 (en) Scaleable channel scheduler system and method
EP1239637A2 (en) Time based packet scheduling and sorting system
JP2001103120A (ja) 通信ネットワークにおいてトラフィックをスケジュールする方法及び装置
JP2002543669A (ja) 経路設定装置
US20060176883A1 (en) Scheduling items using mini-quantum values
KR20060064627A (ko) 네트워크 스위치에서의 대역폭 보장 및 과부하 보호 방법및 장치
Homg et al. An adaptive approach to weighted fair queue with QoS enhanced on IP network
US7433953B1 (en) Methods and apparatus for reducing arbitration delay in channelized systems by use of additional scheduling hierarchy
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
US7350208B1 (en) Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource
US8467401B1 (en) Scheduling variable length packets
RU2335085C1 (ru) Способ организации и управления передачей пакета данных и устройство для его реализации
KR101224593B1 (ko) 패킷 스위칭 네트워크에서의 패킷 플로우 스케줄링 장치 및방법
Tawfeeq Network Congestion and Quality of Service Analysis Using OPNET
Znati Comparative analysis of scheduling algorithms for QoS support in wide area networks

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020416

LAPS Cancellation because of no payment of annual fees