JP5183460B2 - パケットスケジューリング方法および装置 - Google Patents

パケットスケジューリング方法および装置 Download PDF

Info

Publication number
JP5183460B2
JP5183460B2 JP2008333342A JP2008333342A JP5183460B2 JP 5183460 B2 JP5183460 B2 JP 5183460B2 JP 2008333342 A JP2008333342 A JP 2008333342A JP 2008333342 A JP2008333342 A JP 2008333342A JP 5183460 B2 JP5183460 B2 JP 5183460B2
Authority
JP
Japan
Prior art keywords
packet
priority class
queue
output
information
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.)
Active
Application number
JP2008333342A
Other languages
English (en)
Other versions
JP2010157782A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008333342A priority Critical patent/JP5183460B2/ja
Publication of JP2010157782A publication Critical patent/JP2010157782A/ja
Application granted granted Critical
Publication of JP5183460B2 publication Critical patent/JP5183460B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、パケットスケジューリング方法および装置に関し、特にDS−SWFQ(Delay Sensitive − Simplified Weighted Fair Queuing)を用いた技術に関するものである。
一般に、複数回線上の複数ユーザからのトラフィックが1つの回線に多重される場合、出力する回線速度以上の入力が存在すると、ふくそうが発生して、バッファ溢れによるパケット廃棄が発生する。これにより、あるユーザの帯域が、他のユーザの帯域に影響を及ぼす可能性が生じる。
そこで従来から、上記不具合を回避するために、ユーザごとに最低保証帯域を設定し、設定された保証帯域以上を必ず使用できるように公平な帯域制御を行うパケットスケジューリング方法が開発されている。
また、ネットワーク上では、音声や映像などのリアルタイム性を要求するアプリケーションを快適に使用するために、たとえば、完全優先制御(低遅延転送を可能とする)と、帯域制御(帯域保証を可能とする)との組合せにより、適切なパケットスケジューリングを行うことで、通信帯域の保証や遅延時間の保証といったQoS制御が行われている。
かかる状況下において、QoS制御のためのパケットスケジューリング方法が提案されている(たとえば、特許文献1参照)。
上記特許文献1においては、到着したパケット長とユーザの保証帯域に比例した重み付けにしたがって出力完了予定時刻を計算し、出力完了予定時刻が最も小さいパケットから順番に出力するWFQ方式に基づくパケットスケジューリング方法が開示されている。
また、特許文献1には、或るユーザの低遅延転送が要求されるパケット(高優先クラス)を完全優先制御にて出力するとともに、低遅延転送を要求されないパケット(低優先クラス)の出力帯域に、そのユーザの帯域分を反映することにより、高優先クラスと低優先クラスとの合計帯域を保証するスケジューリング方法が開示されている。
さらに、上記スケジューリング方法では、新たにキューの先頭パケットが発生した場合、すなわち空のキューにパケットが到着した場合(新先頭登録)と、2個以上のパケットが存在するキューからパケットを読み出した場合(読出しによる次新先頭登録)とにおいて、出力完了予定時刻を計算するとともに、ソート処理を実行する方法が示されている。
上記スケジューリング方法によれば、たとえば入力回線速度が、10ギガビットイーサネット(登録商標)2回線分であって、出力回線速度が、10ギガビットイーサネット(登録商標)1回線分であれば、低優先クラスを出力する場合には、図3に示すように、最短パケット時間内(64byteパケット時間:67.2ns)に、最大で、新先頭登録を2回行い、読出し処理を1回行い、読出しによる次新先頭登録を1回行う必要がある。
また、高優先クラスを出力する場合には、図4に示すように、最大で、高優先クラスの連携処理を1回行い、新先頭登録を2回行うこととなる。
図3および図4は従来のパケットスケジューリング方法による処理時間の内訳例を示す説明図であり、図3は、低優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示している。
図3においては、現在の最新プロセス(65nm)のFPGAにて実現した場合の処理時間の内訳を示しており、最大で、新先頭登録が2回発生し、読出し処理が1回発生し、読出しによる登録処理が1回発生し、20G入力および10G出力が限界となっている。
一方、図4においては、高優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示しているが、低優先クラスの登録処理を、多少は増加させることは可能であるものの、限界があることが分かる。
特開2007−13462号公報
従来のパケットスケジューリング方法では、出力回線速度における最短パケット時間内で、新規到着パケットの新先頭情報の登録と、読出し処理と、読出しによる次先頭パケット情報の登録とを行う必要があり、入力回線速度が増大した場合には、新規到着パケットの新先頭情報の登録処理が増大するので、新先頭情報の登録処理を行う時間が不足して、一定以上の入力回線速度の向上を実現することができないという課題があった。
この発明は、上記のような課題を解決するためになされたもので、特に入力回線速度が増大しても、低遅延転送と帯域制御とを行うことが可能なスケジューリング方法および装置を得ることを目的とする。
この発明によるパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、(b)高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、(e)(b)〜(d)の各ステップおよび(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、(f)(e)のDS−SWFQ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、備え、
上記(c)の入力時の新先頭情報通知ステップは、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、FIFOステップにより順次情報を読出して、(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝えるものである。
この発明によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。
実施の形態1.
図1および図2はこの発明の実施の形態1に係るパケットスケジューリング方法および装置を示すブロック図であり、代表的にパケットスケジューリング装置の機能構成およびキュー構成をフロー図式的(処理実行順)に示している。
図1はパケットスケジューリング装置の全体構成を示しており、図2は図1内の主要部(入力時の先頭情報保持部6)の機能構成を詳細に示している。
なお、図1および図2に示した構成は一例に過ぎず、この発明が限定されるものではなく、たとえば、優先出力する高優先クラスや低優先クラスを複数クラスの構成としてもよい。
図1において、パケットスケジューリング装置は、入力1と、振り分け部2と、高優先クラスキュー3と、低優先クラスキューユーザ(1)4(1)〜低優先クラスキューユーザ(n)4(n)と、高優先クラス出力パケット情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7と、DS−SWFQ制御部8と、ウエイト情報テーブル9と、優先出力制御部10と、出力11とを備えている。
入力1は、複数回線の合計帯域以上の回線速度とし、すでに廃棄がないように多重化された1回線または複数回線のデータ信号線を示しており、パケットスケジューリングの対象となる複数の優先クラスを有する複数ユーザのEthernet(登録商標)パケットなどのデータストリームを示すものである。
振り分け部2は、入力1のデータストリーム内のパケットヘッダなどの内容を見て、優先クラスとユーザ(#1〜#n)とを識別するとともに、識別情報にしたがって、各キュー(高優先クラスキュー3、または、低優先クラスキューユーザ(1)4(1)〜低優先クラスキューユーザ(n)4(n))にパケットを振り分ける機能を有する。
高優先クラスキュー3は、振り分け部2で振り分けられた高優先クラスのパケットを入力順に格納する機能を有する。
また、高優先クラスキュー3は、格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能と、優先出力制御部10からの読出命令Hによるパケット読出し時には、高優先クラス出力パケット情報保持部5に対して、パケット情報(ユーザ番号およびパケット長)を通知する機能とを有する。
低優先クラスキューユーザ4(1)〜4(n)は、振り分け部2で振り分けられた低優先クラス情報とユーザ情報とにしたがって、低遅延クラスのパケットを該当キューに格納するとともに、格納される各キューにおいて、特に空の状態から1つ格納されることで、新たな先頭が発生した場合には、ユーザ番号およびパケット長を入力時の新先頭情報保持部6に通知する機能を有する。
また、低優先クラスキューユーザ4(1)〜4(n)は、パケット格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能を有するとともに、DS−SWFQ制御部8から読出命令(1)〜nが与えられた場合には、先頭パケットを出力するとともに、該当キュー内にパケットが2個以上格納されている場合には、新たに先頭となるパケットの情報(ユーザ番号およびパケット長)を読出しによる次先頭情報保持部7に伝える機能を有する。
なお、図1では、高優先クラスキュー3および低優先クラスキューユーザ4(1)〜4(n)を個別の機能ブロックで示したが、高優先クラスキュー3および低優先クラスキューユーザ4(1)〜4(n)は、各キューの順序さえ保てれば、物理的に1つのメモリを使用しても、物理的に分離したメモリを使用してもよい。
高優先クラス出力パケット情報保持部5は、高優先クラスキュー3からパケットが出力された場合に、そのユーザ番号およびパケット長を一時保持し、DS−SWFQ制御部8にそのユーザ番号およびパケット長を通知する機能を有する。
入力時の新先頭情報保持部6は、低優先クラスキューユーザ4(1)〜4(n)のいずれかのキューにパケットが格納される際に、新たな先頭が発生した場合には、パケット長およびユーザ番号の通知を受けて一時保持し、新登録情報としてDS−SWFQ制御部8に通知する機能を有する。
また、入力時の新先頭情報保持部6は、この発明の主要部を構成しており、図2に示すように、最大低優先クラスキュー数分(すなわちユーザ数分)の新先頭情報を保持可能なサイズのFIFO(First In First Out)12を含み、DS−SWFQ制御部8の処理状況にしたがって、DS−SWFQ制御部8に新先頭情報を通知する機能を有する。
読出しによる次先頭情報保持部7は、低優先クラスキューユーザ4(1)〜4(n)のいずれかからパケットの出力があり、該当キュー内にパケットが2個以上格納されている場合に、低優先クラスキューユーザ4(1)〜4(n)のいずれかからパケットの情報(ユーザ番号およびパケット長)を受けて一時保持し、DS−SWFQ制御部8に伝える機能を有する。
DS−SWFQ制御部8は、高優先クラス出力パケット情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7とからのパケット情報(ユーザ番号およびパケット長)と、ウエイト情報テーブル9に格納されているユーザごとの帯域情報とを用いて、低優先クラスキューユーザ4(1)〜4(n)の中からもっとも適したキューを選択し、読出命令を出力する機能を有する。なお、このときの最適キューを選択する処理には、公知文献(前述の特許文献1)に記載の計算および手順が適用され得る。
ウエイト情報テーブル9は、ユーザ#1〜#nの設定帯域情報であるウエイト値を保持しており、DS−SWFQ制御部8からの要求に応答して、該当ユーザのウエイト値を通知する機能を有する。なお、値の設定や変更については、公知の外部インタフェース(図示せず)からテーブルを書き換えることにより処理される。
優先出力制御部10は、高優先クラスキュー3と、低優先クラスキューユーザ4(1)〜4(n)からのパケットの出力制御を行うDS−SWFQ制御部8とに対して、出力11の出力回線速度にしたがって、読出命令を出力する機能を有する。
具体的には、優先出力制御部10は、高優先クラスキュー3にパケットが存在する場合には、高優先クラスキュー3に読出命令Hを出力し、高優先クラスキュー3にパケットが存在せず、低優先クラスキューユーザ4(1)〜4(n)にパケットが存在する場合には、DS−SWFQ制御部8に読出命令Lを出力する機能を有する。
次に、図1および図2に示したこの発明の実施の形態1による動作について説明する。
まず、パケット格納時の処理について説明する。
入力1によりパケットが到着すると、振り分け部2は、パケットヘッダなどの内容を見て、優先クラス(高優先クラスか低優先クラス)とユーザ番号(#1〜#n)を識別し、識別情報に基づいて、高優先クラスキュー3または低優先クラスキューユーザ4(1)〜4(n)にパケットを格納する処理を行う。
振り分け部2による上記処理において、低優先クラスキューユーザ4(1)〜4(n)のいずれかにパケットを格納した場合は、該当の低優先クラスキューのキュー情報から空の状態から1つ格納される場合に限り、入力時の新先頭登録情報保持部6に対して格納したパケット情報(ユーザ番号およびパケット長)を通知する。一方、上記処理において、高優先クラスキューに格納した場合には、特に何も実行しない。
続いて、入力時の新先頭登録情報保持部6は、低優先クラスキューユーザ4(1)〜4(n)から通知されたパケット情報を、低優先クラスキュー数分の先頭情報が格納可能なFIFO12に入力し、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応答してパケット情報をDS−SWFQ制御部8に出力する。
DS−SWFQ制御部8は、以下の優先順位1〜4による処理を行うために、高優先クラス情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7とに対して、読出要求を発行するとともに、仮想時刻FIFOによるソート処理と、連携登録処理とを行う。なお、優先出力制御部10からの読出命令Lによる読出し処理は、最も優先される処理であるが、他の処理が実行中である場合には、実行中の処理が終了後に速やかに読出命令Lによる読出し処理を行うものとする。
以下の優先順位1〜4による処理は、前述の特許文献1から公知である。
優先順位1:読出命令Lによる読出し処理
優先順位2:読出し時の次先頭登録処理
優先順位3:高優先クラスの連携登録処理
優先順位4:新先頭登録処理
なお、優先順位2〜4の登録処理時においては、ウエイト情報テーブル9に格納された各ユーザの設定帯域情報を用いて、仮想時刻FIFOによるソート処理および連携登録処理を行う。
次に、出力11への読出し時の処理について説明する。
優先出力制御部10は、高優先クラスキュー3と、低優先クラスキューユーザ4(1)〜4(n)との各キューでの存在状況を把握し、高優先クラスキュー3にパケットが存在する場合には、高優先クラスキュー3への読出命令Hを発行し、高優先クラスキュー3にパケットが存在せず、低優先クラスキューユーザ4(1)〜4(n)のいずれかにパケットが存在した場合には、DS−SWFQ制御部8に対して読出命令Lを発行する。
このとき、順次、出力11へのパケット出力間隔を所定のタイミングで制御し、次のパケットの読出命令を発行して行く。
読出命令Hを受けた高優先クラスキュー3からパケットを出力する場合には、高優先クラスキュー3は、出力するパケットのパケット情報(ユーザ番号およびパケット長)を高優先クラス出力パケット情報保持部5に通知し、高優先クラス出力パケット情報保持部5は、そのパケット情報を保持する。以下、高優先クラス出力パケット情報保持部5は、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応じて、パケット情報をDS−SWFQ制御部8に出力する。
読出命令Lを受けたDS−SWFQ制御部8は、現在仮想時刻に最も近い時間仮想時刻FIFOから低優先クラスキュー番号を得て、該当の低優先クラスキュー(低優先クラスキューユーザ4(1)〜4(n)のいずれか)に対して読出命令(読出命令(1)〜読出命令(n)のいずれか)を発行する。
読出命令を受けた該当低優先クラスキューは、2個以上キュー内にパケットが存在していた場合に限り、次に先頭となるパケット情報(ユーザ番号およびパケット長)を、読出しによる次先頭情報保持部7に対して通知する。
読出しによる次先頭情報保持部7は、低優先クラスキューユーザ4(1)〜4(n)のいずれかから受けたパケット情報を一時保持して、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応じてパケット情報をDS−SWFQ制御部8に出力する。
以上の処理を行うことにより、リアルタイム性を要求するアプリケーションに対して、低遅延で出力させ、ユーザごとに全クラスを合わせた帯域(最低保証帯域)を保証しながら、さらに入力回線速度を向上させることができる。
仮に、この発明の実施の形態1を適用しない場合には、出力回線速度の最短パケット時間内に行わなければならない処理は、最低でも読出処理が1回、読出しによる次先頭情報登録処理が1回、入力時の新先頭登録処理が2回、が限界であった(20Gbps入力および10Gbps出力)。
一方、この発明の実施の形態1のように、入力時の新先頭情報保持部6において、最大発生する低優先クラスキュー数分の情報をFIFO12に一時保持し、新先頭が発生したタイミングを遅らせて平準化することにより、低優先クラスについては多少の遅延は発生するものの、入力回線速度をさらに向上させることが可能となる。
この場合、低優先が必要なクラスは、高優先クラスキューを使用するので、低優先クラスについては、多少の遅延を許せることとなる。
たとえば、低優先クラスキューに複数パケットのバーストトラフィックが入力された場合には、先頭パケットの入力時の新先頭登録処理は多少遅れるものの、先頭パケットが登録された時点で、続いて同じキューに到着している以降のパケットは、最短パケット時間内に読出しによる次先頭情報登録処理が必ず行われるので、最低帯域保証されて出力されることになる。
なお、高優先クラスにバーストトラフィックが発生する場合には、高優先クラスの出力が出力回線速度以上にはならないことから、入力回線速度を向上させても、特に処理量が増えないので支障は生じない。
以上のように、この発明の実施の形態1に係るパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するために、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、(b)高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、(e)(b)〜(d)の各ステップおよび(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、(f)(e)のDS−SWFQ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、を備えている。
また、(c)の入力時の新先頭情報通知ステップは、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、FIFOステップにより順次情報を読出して、(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝える。
さらに、(c)の入力時の新先頭情報通知ステップは、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFOステップにおいて新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、(e)のDS−SWFQ制御ステップに対する新先頭情報の出力順序を決定する。
また、この発明の実施の形態1に係るパケットスケジューリング装置(図1、図2参照)は、高優先クラスキュー3と、ユーザごとに区別された低優先クラスキュー4(1)〜4(n)と、のそれぞれに格納されたパケットの出力順序を決定するために、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分け部2と、(b)高優先クラスキュー3から出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラス出力パケット情報保持部5(高優先クラスの出力パケット情報通知手段)と、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報保持部6(入力時の新先頭情報通知手段)と、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御部8にて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報保持部7(読出しによる次先頭情報通知手段)と、(e)各手段5〜7およびウエイト情報テーブル9での各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を読出しによる次先頭情保持部7に与える最低帯域保証のスケジューリングを行うDS−SWFQ制御部8と、(f)DS−SWFQ制御部8に対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル9と、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御しているDS−SWFQ制御部8で出力すべきパケットがある場合に出力する命令を発行する優先出力制御部10と、を備えている。
また、入力時の新先頭情報保持部6は、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFO12を含み、FIFO12により順次情報を読出して、DS−SWFQ制御部8にその処理状況に応じてパケット情報を伝える。
さらに、入力時の新先頭情報保持部6は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO12において新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、DS−SWFQ制御部8に対する新先頭情報の出力順序を決定する。
これにより、この発明の実施の形態1によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。
また、出力回線速度が低速であった場合に、出力回線速度に合わせた速度で処理を行うことが可能となるので、クロックレートを下げて処理することも可能となり、低消費電力化できるという効果もある。
さらに、入力時の新先頭情報保持部6は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO12において新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、DS−SWFQ制御部8に対する新先頭情報の出力順序を決定するので、入力1が複数回線あった際に、パケットが同時に到着する場合に関しても、新先頭の発生順序をラウンドロビンなどにて公平な順番にして新先頭登録をすることができ、新先頭登録の公平性を保持することができる。

この発明の実施の形態1に係るパケットスケジューリング方法および装置を示すブロック図である。 図1内の入力時の先頭情報保持部を具体的に示すブロック図である。 従来のパケットスケジューリング方法を示す説明図である。 従来のパケットスケジューリング方法を示す説明図である。
符号の説明
1 入力、2 振り分け部、3 高優先クラスキュー、4(1)〜4(n) 低優先クラスキューユーザ、5 高優先クラス出力パケット情報保持部、6 入力時の新先頭情報保持部、7 読出しによる次先頭情報保持部、8 DS−SWFQ制御部、9 ウエイト情報テーブル、10 優先出力制御部、11 出力、12 FIFO。

Claims (4)

  1. 優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、
    (a)入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分けステップと、
    (b)前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、
    (c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知ステップと、
    (d)前記低優先クラスのユーザキューから、後記(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、
    (e)上記(b)〜(d)の各ステップおよび後記(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を上記(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、
    (f)上記(e)のDS−SWFQ制御ステップに対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、
    (g)前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、
    備え、
    上記(c)の入力時の新先頭情報通知ステップは、
    前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、
    前記FIFOステップにより順次情報を読出して、上記(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝えることを特徴とするパケットスケジューリング方法。
  2. 上記(c)の入力時の新先頭情報通知ステップは、
    入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFOステップにおいて新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記(e)のDS−SWFQ制御ステップに対する新先頭情報の出力順序を決定することを特徴とする請求項1に記載のパケットスケジューリング方法。
  3. 高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング装置において、
    (a)入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分け手段と、
    (b)前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知手段と、
    (c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知手段と、
    (d)前記低優先クラスのユーザキューから、後記(e)のDS−SWFQ制御手段にて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知手段と、
    (e)上記(b)〜(d)の各手段および後記(f)のウエイト情報テーブル保持手段での各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を上記(d)の読出しによる次先頭情報通知手段に与える最低帯域保証のスケジューリングを行うDS−SWFQ制御手段と、
    (f)上記(e)のDS−SWFQ制御手段に対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持手段と、
    (g)前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記(e)のDS−SWFQ制御手段で出力すべきパケットがある場合に出力する命令を発行する優先出力制御手段と、
    備え、
    上記(c)の入力時の新先頭情報通知手段は、
    前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFO手段を含み、
    前記FIFO手段により順次情報を読出して、上記(e)のDS−SWFQ制御手段にその処理状況に応じてパケット情報を伝えることを特徴とするパケットスケジューリング装置。
  4. 上記(c)の入力時の新先頭情報通知手段は、
    入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO手段において新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記(e)のDS−SWFQ制御手段に対する新先頭情報の出力順序を決定することを特徴とする請求項3に記載のパケットスケジューリング装置。
JP2008333342A 2008-12-26 2008-12-26 パケットスケジューリング方法および装置 Active JP5183460B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008333342A JP5183460B2 (ja) 2008-12-26 2008-12-26 パケットスケジューリング方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008333342A JP5183460B2 (ja) 2008-12-26 2008-12-26 パケットスケジューリング方法および装置

Publications (2)

Publication Number Publication Date
JP2010157782A JP2010157782A (ja) 2010-07-15
JP5183460B2 true JP5183460B2 (ja) 2013-04-17

Family

ID=42575382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008333342A Active JP5183460B2 (ja) 2008-12-26 2008-12-26 パケットスケジューリング方法および装置

Country Status (1)

Country Link
JP (1) JP5183460B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117279A1 (ko) * 2016-12-19 2018-06-28 엘지전자(주) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
WO2023157176A1 (ja) * 2022-02-17 2023-08-24 日本電信電話株式会社 制御システム、制御方法、コントローラ、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4447521B2 (ja) * 2005-06-29 2010-04-07 三菱電機株式会社 パケットスケジューラおよびパケットスケジューリング方法

Also Published As

Publication number Publication date
JP2010157782A (ja) 2010-07-15

Similar Documents

Publication Publication Date Title
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
US8259738B2 (en) Channel service manager with priority queuing
US7626988B2 (en) Latency-based scheduling and dropping
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
US6654343B1 (en) Method and system for switch fabric flow control
US8000247B2 (en) Bandwidth management apparatus
WO2009130218A1 (en) A traffic manager and a method for a traffic manager
US9197570B2 (en) Congestion control in packet switches
JP2011024027A (ja) パケット送信制御装置、ハードウェア回路およびプログラム
US7830797B1 (en) Preserving packet order for data flows when applying traffic shapers
US8879578B2 (en) Reducing store and forward delay in distributed systems
WO2012171461A1 (zh) 报文转发方法及装置
JP5183460B2 (ja) パケットスケジューリング方法および装置
JP2005510959A (ja) リアルタイムネットワークトラフィックの受け入れ及びスケジューリング方法
US9628398B1 (en) Queuing methods and apparatus in a network device
JP2005236669A (ja) 通信品質制御方法およびその通信品質制御装置
JP4846601B2 (ja) 不足ラウンドロビン方式のデータパケットスケジューリングのインスタントサービス方法
CN114531399A (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
JP3601592B2 (ja) パケットスケジューリング方法
KR101093500B1 (ko) 예약/등록 기반의 플로우 등급별 실시간 스케쥴링 장치 및 그 방법
JP2006246207A (ja) パケットスケジューリング装置およびパケットスケジューリング方法
JP2005286383A (ja) 帯域制御方法及びそれを用いたパケット処理装置
JP2003018208A (ja) QoS制御装置
WO2007072538A1 (ja) キュースケジューリング装置、キュースケジューリング方法、情報中継装置
JP2002204256A (ja) パケット伝送装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

R150 Certificate of patent or registration of utility model

Ref document number: 5183460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250