(57)【要約】【課題】入力回線速度が増大しても、低遅延転送および帯域制御が可能なパケットスケジューリング方法および装置を得る。【解決手段】パケットを振り分けるパケット振分け部２と、高優先クラス出力パケット情報保持部５と、低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報を通知する入力時の新先頭情報保持部６と、読出しによる次先頭情報保持部７と、最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御部８と、ウエイト情報テーブル９と、高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御しているＤＳ−ＳＷＦＱ制御部８で出力すべきパケットがある場合に出力する命令を発行する優先出力制御部１０と、を備えている。【選択図】図１
2010157782.tif 000002
【特許請求の範囲】
【請求項１】
高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、
（ａ）入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分けステップと、
（ｂ）前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、
（ｃ）低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知ステップと、
（ｄ）前記低優先クラスのユーザキューから、後記（ｅ）のＤＳ−ＳＷＦＱ制御ステップにて読出命令があるパケット出力時に、該当キューに２個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、
（ｅ）上記（ｂ）〜（ｄ）の各ステップおよび後記（ｆ）のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して出力命令を上記（ｄ）の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御ステップと、
（ｆ）上記（ｅ）のＤＳ−ＳＷＦＱ制御ステップに対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、
（ｇ）前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記（ｅ）のＤＳ−ＳＷＦＱ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、
を備えたことを特徴とするパケットスケジューリング方法。
【請求項２】
上記（ｃ）の入力時の新先頭情報通知ステップは、
前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低遅延クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するＦＩＦＯステップを含み、
前記ＦＩＦＯステップにより順次情報を読出して、上記（ｅ）のＤＳ−ＳＷＦＱ制御ステップにその処理状況に応じてパケット情報を伝えることを特徴とする請求項１に記載のパケットスケジューリング方法。
【請求項３】
上記（ｃ）の入力時の新先頭情報通知ステップは、
入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつ新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記（ｅ）のＤＳ−ＳＷＦＱ制御ステップに対する新先頭情報の出力順序を決定することを特徴とする請求項１または請求項２に記載のパケットスケジューリング方法。
【請求項４】
高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング装置において、
（ａ）入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分け手段と、
（ｂ）前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知手段と、
（ｃ）低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知手段と、
（ｄ）前記低優先クラスのユーザキューから、後記（ｅ）のＤＳ−ＳＷＦＱ制御手段にて読出命令があるパケット出力時に、該当キューに２個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知手段と、
（ｅ）上記（ｂ）〜（ｄ）の各手段および後記（ｆ）のウエイト情報テーブル保持手段での各情報に基づいて、所定のタイミングで出力すべきキューを選択して出力命令を上記（ｄ）の読出しによる次先頭情報通知手段に与える最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御手段と、
（ｆ）上記（ｅ）のＤＳ−ＳＷＦＱ制御手段に対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持手段と、
（ｇ）前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記（ｅ）のＤＳ−ＳＷＦＱ制御手段で出力すべきパケットがある場合に出力する命令を発行する優先出力制御手段と、
を備えたことを特徴とするパケットスケジューリング装置。
【請求項５】
上記（ｃ）の入力時の新先頭情報通知手段は、
前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低遅延クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するＦＩＦＯ手段を含み、
前記ＦＩＦＯ手段により順次情報を読出して、上記（ｅ）のＤＳ−ＳＷＦＱ制御手段にその処理状況に応じてパケット情報を伝えることを特徴とする請求項４に記載のパケットスケジューリング装置。
【請求項６】
上記（ｃ）の入力時の新先頭情報通知手段は、
入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつ新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記（ｅ）のＤＳ−ＳＷＦＱ制御手段に対する新先頭情報の出力順序を決定することを特徴とする請求項４または請求項５に記載のパケットスケジューリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケットスケジューリング方法および装置に関し、特にＤＳ−ＳＷＦＱ（Ｄｅｌａｙ  Ｓｅｎｓｉｔｉｖｅ  −  Ｓｉｍｐｌｉｆｉｅｄ  Ｗｅｉｇｈｔｅｄ  Ｆａｉｒ  Ｑｕｅｕｉｎｇ）を用いた技術に関するものである。
【背景技術】
【０００２】
一般に、複数回線上の複数ユーザからのトラフィックが１つの回線に多重される場合、出力する回線速度以上の入力が存在すると、ふくそうが発生して、バッファ溢れによるパケット廃棄が発生する。これにより、あるユーザの帯域が、他のユーザの帯域に影響を及ぼす可能性が生じる。
【０００３】
そこで従来から、上記不具合を回避するために、ユーザごとに最低保証帯域を設定し、設定された保証帯域以上を必ず使用できるように公平な帯域制御を行うパケットスケジューリング方法が開発されている。
また、ネットワーク上では、音声や映像などのリアルタイム性を要求するアプリケーションを快適に使用するために、たとえば、完全優先制御（低遅延転送を可能とする）と、帯域制御（帯域保証を可能とする）との組合せにより、適切なパケットスケジューリングを行うことで、通信帯域の保証や遅延時間の保証といったＱｏＳ制御が行われている。
【０００４】
かかる状況下において、ＱｏＳ制御のためのパケットスケジューリング方法が提案されている（たとえば、特許文献１参照）。
上記特許文献１においては、到着したパケット長とユーザの保証帯域に比例した重み付けにしたがって出力完了予定時刻を計算し、出力完了予定時刻が最も小さいパケットから順番に出力するＷＦＱ方式に基づくパケットスケジューリング方法が開示されている。
【０００５】
また、特許文献１には、或るユーザの低遅延転送が要求されるパケット（高優先クラス）を完全優先制御にて出力するとともに、低遅延転送を要求されないパケット（低優先クラス）の出力帯域に、そのユーザの帯域分を反映することにより、高優先クラスと低優先クラスとの合計帯域を保証するスケジューリング方法が開示されている。
【０００６】
さらに、上記スケジューリング方法では、新たにキューの先頭パケットが発生した場合、すなわち空のキューにパケットが到着した場合（新先頭登録）と、２個以上のパケットが存在するキューからパケットを読み出した場合（読出しによる次新先頭登録）とにおいて、出力完了予定時刻を計算するとともに、ソート処理を実行する方法が示されている。
【０００７】
上記スケジューリング方法によれば、たとえば入力回線速度が、１０ギガビットイーサネット（登録商標）２回線分であって、出力回線速度が、１０ギガビットイーサネット（登録商標）１回線分であれば、低優先クラスを出力する場合には、図３に示すように、最短パケット時間内（６４ｂｙｔｅパケット時間：６７．２ｎｓ）に、最大で、新先頭登録を２回行い、読出し処理を１回行い、読出しによる次新先頭登録を１回行う必要がある。
また、高優先クラスを出力する場合には、図４に示すように、最大で、高優先クラスの連携処理を１回行い、新先頭登録を２回行うこととなる。
【０００８】
図３および図４は従来のパケットスケジューリング方法による処理時間の内訳例を示す説明図であり、図３は、低優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示している。
図３においては、現在の最新プロセス（６５ｎｍ）のＦＰＧＡにて実現した場合の処理時間の内訳を示しており、最大で、新先頭登録が２回発生し、読出し処理が１回発生し、読出しによる登録処理が１回発生し、２０Ｇ入力および１０Ｇ出力が限界となっている。
【０００９】
一方、図４においては、高優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示しているが、低優先クラスの登録処理を、多少は増加させることは可能であるものの、限界があることが分かる。
【００１０】
【特許文献１】特開２００７−１３４６２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のパケットスケジューリング方法では、出力回線速度における最短パケット時間内で、新規到着パケットの新先頭情報の登録と、読出し処理と、読出しによる次先頭パケット情報の登録とを行う必要があり、入力回線速度が増大した場合には、新規到着パケットの新先頭情報の登録処理が増大するので、新先頭情報の登録処理を行う時間が不足して、一定以上の入力回線速度の向上を実現することができないという課題があった。
【００１２】
この発明は、上記のような課題を解決するためになされたもので、特に入力回線速度が増大しても、低遅延転送と帯域制御とを行うことが可能なスケジューリング方法および装置を得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明によるパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、（ａ）入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、（ｂ）高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、（ｃ）低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、（ｄ）低優先クラスのユーザキューから、（ｅ）のＤＳ−ＳＷＦＱ制御ステップにて読出命令があるパケット出力時に、該当キューに２個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、（ｅ）（ｂ）〜（ｄ）の各ステップおよび（ｆ）のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して出力命令を（ｄ）の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御ステップと、（ｆ）（ｅ）のＤＳ−ＳＷＦＱ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、（ｇ）高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している（ｅ）のＤＳ−ＳＷＦＱ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、を備えたものである。
【発明の効果】
【００１４】
この発明によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１および図２はこの発明の実施の形態１に係るパケットスケジューリング方法および装置を示すブロック図であり、代表的にパケットスケジューリング装置の機能構成およびキュー構成をフロー図式的（処理実行順）に示している。
【００１６】
図１はパケットスケジューリング装置の全体構成を示しており、図２は図１内の主要部（入力時の先頭情報保持部６）の機能構成を詳細に示している。
なお、図１および図２に示した構成は一例に過ぎず、この発明が限定されるものではなく、たとえば、優先出力する高優先クラスや低優先クラスを複数クラスの構成としてもよい。
【００１７】
図１において、パケットスケジューリング装置は、入力１と、振り分け部２と、高優先クラスキュー３と、低優先クラスキューユーザ（１）４（１）〜低優先クラスキューユーザ（ｎ）４（ｎ）と、高優先クラス出力パケット情報保持部５と、入力時の新先頭情報保持部６と、読出しによる次先頭情報保持部７と、ＤＳ−ＳＷＦＱ制御部８と、ウエイト情報テーブル９と、優先出力制御部１０と、出力１１とを備えている。
【００１８】
入力１は、複数回線の合計帯域以上の回線速度とし、すでに廃棄がないように多重化された１回線または複数回線のデータ信号線を示しており、パケットスケジューリングの対象となる複数の優先クラスを有する複数ユーザのＥｔｈｅｒｎｅｔ（登録商標）パケットなどのデータストリームを示すものである。
【００１９】
振り分け部２は、入力１のデータストリーム内のパケットヘッダなどの内容を見て、優先クラスとユーザ（＃１〜＃ｎ）とを識別するとともに、識別情報にしたがって、各キュー（高優先クラスキュー３、または、低優先クラスキューユーザ（１）４（１）〜低優先クラスキューユーザ（ｎ）４（ｎ））にパケットを振り分ける機能を有する。
【００２０】
高優先クラスキュー３は、振り分け部２で振り分けられた高優先クラスのパケットを入力順に格納する機能を有する。
また、高優先クラスキュー３は、格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能と、優先出力制御部１０からの読出命令Ｈによるパケット読出し時には、高優先クラス出力パケット情報保持部５に対して、パケット情報（ユーザ番号およびパケット長）を通知する機能とを有する。
【００２１】
低優先クラスキューユーザ４（１）〜４（ｎ）は、振り分け部２で振り分けられた低優先クラス情報とユーザ情報とにしたがって、低遅延クラスのパケットを該当キューに格納するとともに、格納される各キューにおいて、特に空の状態から１つ格納されることで、新たな先頭が発生した場合には、ユーザ番号およびパケット長を入力時の新先頭情報保持部６に通知する機能を有する。
【００２２】
また、低優先クラスキューユーザ４（１）〜４（ｎ）は、パケット格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能を有するとともに、ＤＳ−ＳＷＦＱ制御部８から読出命令（１）〜ｎが与えられた場合には、先頭パケットを出力するとともに、該当キュー内にパケットが２個以上格納されている場合には、新たに先頭となるパケットの情報（ユーザ番号およびパケット長）を読出しによる次先頭情報保持部７に伝える機能を有する。
【００２３】
なお、図１では、高優先クラスキュー３および低優先クラスキューユーザ４（１）〜４（ｎ）を個別の機能ブロックで示したが、高優先クラスキュー３および低優先クラスキューユーザ４（１）〜４（ｎ）は、各キューの順序さえ保てれば、物理的に１つのメモリを使用しても、物理的に分離したメモリを使用してもよい。
【００２４】
高優先クラス出力パケット情報保持部５は、高優先クラスキュー３からパケットが出力された場合に、そのユーザ番号およびパケット長を一時保持し、ＤＳ−ＳＷＦＱ制御部８にそのユーザ番号およびパケット長を通知する機能を有する。
【００２５】
入力時の新先頭情報保持部６は、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかのキューにパケットが格納される際に、新たな先頭が発生した場合には、パケット長およびユーザ番号の通知を受けて一時保持し、新登録情報としてＤＳ−ＳＷＦＱ制御部８に通知する機能を有する。
【００２６】
また、入力時の新先頭情報保持部６は、この発明の主要部を構成しており、図２に示すように、最大低遅延クラスキュー数分（すなわちユーザ数分）の新先頭情報を保持可能なサイズのＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）１２を含み、ＤＳ−ＳＷＦＱ制御部８の処理状況にしたがって、ＤＳ−ＳＷＦＱ制御部８に新先頭情報を通知する機能を有する。
【００２７】
読出しによる次先頭情報保持部７は、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかからパケットの出力があり、該当キュー内にパケットが２個以上格納されている場合に、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかからパケットの情報（ユーザ番号およびパケット長）を受けて一時保持し、ＤＳ−ＳＷＦＱ制御部８に伝える機能を有する。
【００２８】
ＤＳ−ＳＷＦＱ制御部８は、高優先クラス出力パケット情報保持部５と、入力時の新先頭情報保持部６と、読出しによる次先頭情報保持部７とからのパケット情報（ユーザ番号およびパケット長）と、ウエイト情報テーブル９に格納されているユーザごとの帯域情報とを用いて、低優先クラスキューユーザ４（１）〜４（ｎ）の中からもっとも適したキューを選択し、読出命令を出力する機能を有する。なお、このときの最適キューを選択する処理には、公知文献（前述の特許文献１）に記載の計算および手順が適用され得る。
【００２９】
ウエイト情報テーブル９は、ユーザ＃１〜＃ｎの設定帯域情報であるウエイト値を保持しており、ＤＳ−ＳＷＦＱ制御部８からの要求に応答して、該当ユーザのウエイト値を通知する機能を有する。なお、値の設定や変更については、公知の外部インタフェース（図示せず）からテーブルを書き換えることにより処理される。
【００３０】
優先出力制御部１０は、高優先クラスキュー３と、低優先クラスキューユーザ４（１）〜４（ｎ）からのパケットの出力制御を行うＤＳ−ＳＷＦＱ制御部８とに対して、出力１１の出力回線速度にしたがって、読出命令を出力する機能を有する。
具体的には、優先出力制御部１０は、高優先クラスキュー３にパケットが存在する場合には、高優先クラスキュー３に読出命令Ｈを出力し、高優先クラスキュー３にパケットが存在せず、低優先クラスキューユーザ４（１）〜４（ｎ）にパケットが存在する場合には、ＤＳ−ＳＷＦＱ制御部８に読出命令Ｌを出力する機能を有する。
【００３１】
次に、図１および図２に示したこの発明の実施の形態１による動作について説明する。
まず、パケット格納時の処理について説明する。
入力１によりパケットが到着すると、振り分け部２は、パケットヘッダなどの内容を見て、優先クラス（高優先クラスか低優先クラス）とユーザ番号（＃１〜＃ｎ）を識別し、識別情報に基づいて、高優先クラスキュー３または低優先クラスキューユーザ４（１）〜４（ｎ）にパケットを格納する処理を行う。
【００３２】
振り分け部２による上記処理において、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかにパケットを格納した場合は、該当の低優先クラスキューのキュー情報から空の状態から１つ格納される場合に限り、入力時の新先頭登録情報保持部６に対して格納したパケット情報（ユーザ番号およびパケット長）を通知する。一方、上記処理において、高優先クラスキューに格納した場合には、特に何も実行しない。
【００３３】
続いて、入力時の新先頭登録情報保持部６は、低優先クラスキューユーザ４（１）〜４（ｎ）から通知されたパケット情報を、低遅延クラスキュー数分の先頭情報が格納可能なＦＩＦＯ１２に入力し、ＤＳ−ＳＷＦＱ制御部８からの出力要求を待ち、出力要求に応答してパケット情報をＤＳ−ＳＷＦＱ制御部８に出力する。
【００３４】
ＤＳ−ＳＷＦＱ制御部８は、以下の優先順位１〜４による処理を行うために、高優先クラス情報保持部５と、入力時の新先頭情報保持部６と、読出しによる次先頭情報保持部７とに対して、読出要求を発行するとともに、仮想時刻ＦＩＦＯによるソート処理と、連携登録処理とを行う。なお、優先出力制御部１０からの読出命令Ｌによる読出し処理は、最も優先される処理であるが、他の処理が実行中である場合には、実行中の処理が終了後に速やかに読出命令Ｌによる読出し処理を行うものとする。
【００３５】
以下の優先順位１〜４による処理は、前述の特許文献１から公知である。
優先順位１：読出命令Ｌによる読出し処理
優先順位２：読出し時の次先頭登録処理
優先順位３：高優先クラスの連携登録処理
優先順位４：新先頭登録処理
【００３６】
なお、優先順位２〜４の登録処理時においては、ウエイト情報テーブル９に格納された各ユーザの設定帯域情報を用いて、仮想時刻ＦＩＦＯによるソート処理および連携登録処理を行う。
【００３７】
次に、出力１１への読出し時の処理について説明する。
優先出力制御部１０は、高優先クラスキュー３と、低優先クラスキューユーザ４（１）〜４（ｎ）との各キューでの存在状況を把握し、高優先クラスキュー３にパケットが存在する場合には、高優先クラスキュー３への読出命令Ｈを発行し、高優先クラスキュー３にパケットが存在せず、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかにパケットが存在した場合には、ＤＳ−ＳＷＦＱ制御部８に対して読出命令Ｌを発行する。
このとき、順次、出力１１へのパケット出力間隔を所定のタイミングで制御し、次のパケットの読出命令を発行して行く。
【００３８】
読出命令Ｈを受けた高優先クラスキュー３からパケットを出力する場合には、高優先クラスキュー３は、出力するパケットのパケット情報（ユーザ番号およびパケット長）を高優先クラス出力パケット情報保持部５に通知し、高優先クラス出力パケット情報保持部５は、そのパケット情報を保持する。以下、高優先クラス出力パケット情報保持部５は、ＤＳ−ＳＷＦＱ制御部８からの出力要求を待ち、出力要求に応じて、パケット情報をＤＳ−ＳＷＦＱ制御部８に出力する。
【００３９】
読出命令Ｌを受けたＤＳ−ＳＷＦＱ制御部８は、現在仮想時刻に最も近い時間仮想時刻ＦＩＦＯから低優先クラスキュー番号を得て、該当の低優先クラスキュー（低優先クラスキューユーザ４（１）〜４（ｎ）のいずれか）に対して読出命令（読出命令（１）〜読出命令（ｎ）のいずれか）を発行する。
【００４０】
読出命令を受けた該当低優先クラスキューは、２個以上キュー内にパケットが存在していた場合に限り、次に先頭となるパケット情報（ユーザ番号およびパケット長）を、読出しによる次先頭情報保持部７に対して通知する。
【００４１】
読出しによる次先頭情報保持部７は、低優先クラスキューユーザ４（１）〜４（ｎ）のいずれかから受けたパケット情報を一時保持して、ＤＳ−ＳＷＦＱ制御部８からの出力要求を待ち、出力要求に応じてパケット情報をＤＳ−ＳＷＦＱ制御部８に出力する。
【００４２】
以上の処理を行うことにより、リアルタイム性を要求するアプリケーションに対して、低遅延で出力させ、ユーザごとに全クラスを合わせた帯域（最低保証帯域）を保証しながら、さらに入力回線速度を向上させることができる。
【００４３】
仮に、この発明の実施の形態１を適用しない場合には、出力回線速度の最短パケット時間内に行わなければならない処理は、最低でも読出処理が１回、読出しによる次先頭情報登録処理が１回、入力時の新先頭登録処理が２回、が限界であった（２０Ｇｂｐｓ入力および１０Ｇｂｐｓ出力）。
【００４４】
一方、この発明の実施の形態１のように、入力時の新先頭情報保持部６において、最大発生する低遅延クラスキュー数分の情報をＦＩＦＯ１２に一時保持し、新先頭が発生したタイミングを遅らせて平準化することにより、低優先クラスについては多少の遅延は発生するものの、入力回線速度をさらに向上させることが可能となる。
【００４５】
この場合、低遅延が必要なクラスは、高優先クラスキューを使用するので、低優先クラスについては、多少の遅延を許せることとなる。
たとえば、低遅延クラスキューに複数パケットのバーストトラフィックが入力された場合には、先頭パケットの入力時の新先頭登録処理は多少遅れるものの、先頭パケットが登録された時点で、続いて同じキューに到着している以降のパケットは、最短パケット時間内に読出しによる次先頭情報登録処理が必ず行われるので、最低帯域保証されて出力されることになる。
【００４６】
なお、高優先クラスにバーストトラフィックが発生する場合には、高優先クラスの出力が出力回線速度以上にはならないことから、入力回線速度を向上させても、特に処理量が増えないので支障は生じない。
【００４７】
以上のように、この発明の実施の形態１に係るパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するために、（ａ）入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、（ｂ）高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、（ｃ）低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、（ｄ）低優先クラスのユーザキューから、（ｅ）のＤＳ−ＳＷＦＱ制御ステップにて読出命令があるパケット出力時に、該当キューに２個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、（ｅ）（ｂ）〜（ｄ）の各ステップおよび（ｆ）のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して出力命令を（ｄ）の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御ステップと、（ｆ）（ｅ）のＤＳ−ＳＷＦＱ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、（ｇ）高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している（ｅ）のＤＳ−ＳＷＦＱ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、を備えている。
【００４８】
また、（ｃ）の入力時の新先頭情報通知ステップは、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低遅延クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するＦＩＦＯステップを含み、ＦＩＦＯステップにより順次情報を読出して、（ｅ）のＤＳ−ＳＷＦＱ制御ステップにその処理状況に応じてパケット情報を伝える。
【００４９】
さらに、（ｃ）の入力時の新先頭情報通知ステップは、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつ新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、（ｅ）のＤＳ−ＳＷＦＱ制御ステップに対する新先頭情報の出力順序を決定する。
【００５０】
また、この発明の実施の形態１に係るパケットスケジューリング装置（図１、図２参照）は、高優先クラスキュー３と、ユーザごとに区別された低優先クラスキュー４（１）〜４（ｎ）と、のそれぞれに格納されたパケットの出力順序を決定するために、（ａ）入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分け部２と、（ｂ）高優先クラスキュー３から出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラス出力パケット情報保持部５（高優先クラスの出力パケット情報通知手段）と、（ｃ）低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報保持部６（入力時の新先頭情報通知手段）と、（ｄ）低優先クラスのユーザキューから、（ｅ）のＤＳ−ＳＷＦＱ制御部８にて読出命令があるパケット出力時に、該当キューに２個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報保持部７（読出しによる次先頭情報通知手段）と、（ｅ）各手段５〜７およびウエイト情報テーブル９での各情報に基づいて、所定のタイミングで出力すべきキューを選択して出力命令を読出しによる次先頭情保持部７に与える最低帯域保証のスケジューリングを行うＤＳ−ＳＷＦＱ制御部８と、（ｆ）ＤＳ−ＳＷＦＱ制御部８に対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル９と、（ｇ）高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御しているＤＳ−ＳＷＦＱ制御部８で出力すべきパケットがある場合に出力する命令を発行する優先出力制御部１０と、を備えている。
【００５１】
また、入力時の新先頭情報保持部６は、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低遅延クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するＦＩＦＯ１２を含み、ＦＩＦＯ１２により順次情報を読出して、ＤＳ−ＳＷＦＱ制御部８にその処理状況に応じてパケット情報を伝える。
【００５２】
さらに、入力時の新先頭情報保持部６は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつ新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、ＤＳ−ＳＷＦＱ制御部８に対する新先頭情報の出力順序を決定する。
【００５３】
これにより、この発明の実施の形態１によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。
また、出力回線速度が低速であった場合に、出力回線速度に合わせた速度で処理を行うことが可能となるので、クロックレートを下げて処理することも可能となり、低消費電力化できるという効果もある。
【００５４】
さらに、入力時の新先頭情報保持部６は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつ新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、ＤＳ−ＳＷＦＱ制御部８に対する新先頭情報の出力順序を決定するので、入力１が複数回線あった際に、パケットが同時に到着する場合に関しても、新先頭の発生順序をラウンドロビンなどにて公平な順番にして新先頭登録をすることができ、新先頭登録の公平性を保持することができる。
【図面の簡単な説明】
【００５５】
【図１】この発明の実施の形態１に係るパケットスケジューリング方法および装置を示すブロック図である。
【図２】図１内の入力時の先頭情報保持部を具体的に示すブロック図である。
【図３】従来のパケットスケジューリング方法を示す説明図である。
【図４】従来のパケットスケジューリング方法を示す説明図である。
【符号の説明】
【００５６】
１  入力、２  振り分け部、３  高優先クラスキュー、４（１）〜４（ｎ）  低優先クラスキューユーザ、５  高優先クラス出力パケット情報保持部、６  入力時の新先頭情報保持部、７  読出しによる次先頭情報保持部、８  ＤＳ−ＳＷＦＱ制御部、９  ウエイト情報テーブル、１０  優先出力制御部、１１  出力、１２  ＦＩＦＯ。
【図１】
2010157782.tif 000003
【図２】
2010157782.tif 000004
【図３】
2010157782.tif 000005
【図４】
2010157782.tif 000006