【文献】
福富 昌司、松古 典夫,ルータにおける帯域制御方式の検討,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2003年12月12日,Vol.103 No.506,p.53-58
(58)【調査した分野】(Int.Cl.,DB名)
受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、
前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備え、
前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する
ことを特徴とするパケット転送装置。
受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置におけるパケット処理方法であって、
前記デキュー処理部のスケジューリング部が、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するステップを備え、
前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する
ことを特徴とするパケット転送装置におけるパケット処理方法。
【背景技術】
【0002】
パケット転送装置は、一般的に、受信したパケットを分類するパケット分類部と、分類されたパケットを分類ごとに保持するキューと、キューからパケットを取り出すパケット取り出し部とを備えている。
【0003】
最も単純なキューイング方式として、到着したパケットから順に一つのキューに入れ、到着した順にパケットを送信するFIFO(First In, First Out)がある。FIFOのキューイング遅延増加を解決する方法として、キューイング遅延の増加に伴いパケット破棄確率を増加させるCoDel(Controled delay)(非特許文献1参照)、PIE(Proportional Integral Controller Enhanced)(非特許文献2参照)等の方式が提案されている。
【0004】
また、通信フローを公平に扱うキューイング方式としてFQ(Fair Queuing)(非特許文献3参照)が知られている。FQは通信フロー毎にキューを分け、各キューから均等にパケットを送信する。FQの実装の一つにトークンバケットアルゴリズムがある。トークンバケットアルゴリズムでは各キューに一定時間おきにトークンが追加され、各キューのパケット送信タイミングに、トークンの分だけパケットを送信できる。トークンを用いることである程度バースト的なパケット送信を許容し、ネットワーク帯域を効率的に利用可能である。また、FQとCoDelを組み合わせることでフロー間の公平性とキューイング遅延の低減が可能なFQ_CoDel(Flow Queue - CoDel)(非特許文献4参照)という方式も提案されている。
【0005】
また、インターネット通信においてQoS(Quality of Service)を保証する代表的な手法としてDiffServ(Differentiated Services)(非特許文献5参照)が知られている。DiffServは、通信フローをいくつかのクラスに分類し、クラス毎に優先順位をつけて制御を行う手法である。優先制御手法としては、例えばPQ(Priority Queuing)、WFQ(Weighted Fair Queuing)、LLQ(Low Latency Queuing)などがある。これらは、優先度の高いクラスのパケットを優先的に処理、又は帯域保証を行うことでQoSを保証しようとする。
【0006】
ところで、近年VR/AR(Virtual Reality/Augmented Reality)の普及が本格化している。最近ではHMD(Head Mounted Display)自体にモバイル向けSoC(System on a Chip)を搭載したものや、HMD型のゴーグルにスマートフォンを装着することで簡易にVR体験ができるようになっているが、描写性能や体感品質は高価な最新のGPU(Graphics Processing Unit)を利用するハイエンドなHMD製品に劣る。そこで遠隔地のデータセンタ内のGPUによりレンダリングした映像をスマートフォン等の軽量な端末に送ることで、簡易にハイエンドVR体験ができる可能性がある。HMDを装着するタイプのVRでは、人の間隔と映像のずれによって体調が悪くなるVR酔いという症状を引き起こすことが知られているが、VR酔いを回避する方法の一つに、人の動作がHMDの映像に反映されるまでの時間(Motion to Photon latency)を最大でも20ms以下に抑えることが有効と言われている(非特許文献6参照)。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】K. Nichols et al., "Controlled Delay Active Queue Management", IETF RFC 8289, Jan 2018, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8289>
【非特許文献2】R. Pan et al., "Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem", IETF RFC 8033, Feb 2017, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8033#ref-HPSR-PIE>
【非特許文献3】A. Demers, S. Keshav, and S. Shenker, "Analysis and simulation of a fair queueing algorithm", in Proc.SIGCOMM’89, vol.19, no.4, pp.1-12, Sep 1989, [online], [平成30年7月6日検索], インターネット<URL:https://dl.acm.org/citation.cfm?id=75248>
【非特許文献4】T. Hoeiland-Joergensen et al., "The FlowQueue-CoDel Packet Scheduler and Active Queue Management Algorithm", IETF RFC 8290, Jan 2018, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8290>
【非特許文献5】cisco systems, "DIFFSERV-THE SCALABLE END-TO-END QUALITY OF SERVICE MODEL", 2005, [online], [平成30年7月6日検索], インターネット<URL:http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a00800a3e2f.pdf>
【非特許文献6】Mohammed S. Elbamby, Cristina Perfecto, Mehdi Bennis, Klaus Doppler, "Towards Low-Latency and Ultra-Reliable Virtual Reality", IEEE Network, Vol. 32, pp.87-84, Apr 2018
【発明の概要】
【発明が解決しようとする課題】
【0008】
遠隔地のデータセンタでレンダリングしたVR映像をMTU(Maximum Transmission Unit)1500byteのIP(Internet Protocol)パケットで伝送する場合、フルHD(High Definition)以上の高精細映像では映像1フレームが数十〜数百パケットで構成されるため、1フレームを構成する数十〜数百パケット全ての転送が、20msからレンダリング、エンコード、デコード等にかかる処理遅延を除いた時間内に完了する必要がある。
【0009】
CoDelやPIEはパケット破棄によりキューイング遅延を低減するため、リアルタイム映像伝送ではパケットロスによりブロックノイズ等を招く原因となる。また1パケット当りのキューイング遅延低減は可能だが、連続するパケット全ての転送遅延低減を保証するものではない。
【0010】
FQ、FQ_Codelのような公平なキューイングを行う場合、フロー毎のパケットを少量ずつ公平に送信する。そのため、回線帯域を圧迫するほどの輻輳が生じていなくても、映像1フレームのような数十パケットを転送している間に他のフローのパケットが到着すると、キューイング遅延が生じてしまう。例えば10Gbpsの回線であれば、1500byteのパケット伝送遅延は1.2usであるが、仮に100フローを1パケットずつ順番に処理する場合、1パケット毎に120usの伝送遅延が発生するため、例えば50パケット全ての伝送には6msの遅延が生じることになる。
【0011】
PQ等を用いて帯域確保を行うことも考えられるが、50パケットを1msで伝送するには瞬間的に10Gbps回線の6%を占有する必要があり、優先通信が多数存在する場合に全てのユーザの帯域確保することは難しい。また、帯域確保、優先制御を行う場合も、同一優先度内で同時に複数の通信が行われている場合、FQと同様のキューイング遅延が生じる可能性がある。
【0012】
本発明は、上記事情に鑑みてなされたものであり、同一優先度の通信フロー間の公平性を保ちつつ、複数の連続したパケットを低遅延に転送するパケット交換処理を行うパケット転送装置及び方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するために、本願発明は、受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備えることを特徴とする。
【0014】
また、本願発明は、さらに、前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する。
【0015】
また、本願発明は、さらに、前記スケジューリング部は、パケット転送装置が外部に送信可能なデータ量とパケット転送装置を利用している通信フロー数に基づき連続送信可能なデータ量の最大値を算出し、当該最大値の範囲内で前記キューからのパケット取り出し量を制御する。
【発明の効果】
【0016】
本発明によれば、スケジューリング部が、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについてキューからのパケット取り出し量を制御するので、当該通信フローが有するパケットの送信タイミングや送信量等の特性に応じたパケット転送が可能となる。
【0017】
また、本発明によれば、瞬間的なバースト送信を行った後にパケット送信を制限することで、リアルタイム映像の1フレームのような複数のパケットに跨るデータ全てを他の通信のパケット送信を妨害することなく、キューイング遅延を低減して転送が可能となる。
【0018】
また、本発明によれば、送信可能なバースト量の最大値をパケット送信量とアクティブフロー数から算出することで、バースト送信による最大キューイング遅延、及びジッタを軽減することができる。
【発明を実施するための形態】
【0020】
本発明の一実施の形態に係る通信システムについて図面を参照して説明する。
図1に本実施の形態に係る通信システムの全体構成を示す。
【0021】
本実施の形態に係る通信システムは、
図1に示すように、サーバ10と端末20とは、複数のパケット転送装置100を経由して通信を行う。通信システムは、
図1の構成に限られず、サーバ10及び端末20等の通信端末間をパケット転送装置100を介して通信接続される構成であればよい。
【0022】
パケット転送装置10は、主に半導体装置で構成され、CPU(Central Processing Unit)、RAM(Random Access Memory)等の揮発性記憶装置、ハードディスクやフラッシュメモリ等の不揮発性記憶装置、及び外部との通信のための接続を行う通信インタフェースを有する、いわゆる情報処理機器として構成することができる。また、パケット転送装置100は、物理的なスイッチ、ルータ等のネットワーク機器に限らず、本発明のパケット転送プログラムが動作する物理コンピュータや仮想化されたコンピュータを含む。
【0023】
本発明に係るパケット転送装置100は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについてキューからのパケット取り出し量を制御するスケジューリングを行う。すなわち、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき、当該通信フローについて連続したパケット取り出しを可能とするようスケジューリング制御する。このような制御は、例えばキューイングアルゴリズムとしてトークンバケットアルゴリズムを用いる場合には、当該通信フローについてのトークン量を増加させることにより実現できる。
【0024】
また、本発明に係るパケット転送装置100は、前記パケット取り出し量の制御による連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する。これにより、他の通信フローのデータ送信機会を妨害しないようにしている。ここで、パケット取り出し量の制限とは、当該通信フローに係るキューからのパケットの取り出しを行わないようにすることや、当該通信フローに係るキューからのパケットの取り出し頻度を低減させることや、当該通信フローに係るキューから取り出したパケットについての優先度やクラス等を低減させることなどが挙げられる。例えばキューイングアルゴリズムとしてトークンバケットアルゴリズムを用いる場合には、当該通信フローについてのトークンを低減させることにより実現でき、特に負の値までトークンを低減させることにより実現できる。
【0025】
また、本発明に係るパケット転送装置100は、自身が外部に送信可能な自身を利用している通信フロー数に基づき算出する連続送信可能なデータ量の最大値を算出し、当該最大値の範囲内でキューからのパケット取り出し量を制御する。これにより、複数の通信フローがデータを連続送信してもデータ送信間隔(最大キューイング遅延)を一定値以内に抑えることができる。
【0026】
以降、サーバ10から端末20へパケットを送信する例をもって本発明の説明を行う。なお、以下の説明では、本発明に係る上記のパケットの取り出し制御に基づきパケットを連続的に送信することを「バースト送信」と呼ぶ。また、バースト送信の実施を要求することを「バースト要求」と呼ぶ。このバースト要求をパケット転送装置100に通知する方法については後述する。
【0027】
本実施の形態におけるパケット転送装置の機能ブロック図を
図2に示す。パケット転送装置100は、外部のサーバ、端末、他のパケット転送装置等からパケットを受信するパケット受信部110と、受信したパケットをフロー毎あるいはクラス毎に分類するパケット分類部120と、パケット分類部120によって振り分けられたパケットを一時的に格納する複数のキュー130と、キュー130の先頭からパケットを取り出すデキュー処理部140と、取り出されたパケットを外部の装置へ送信するパケット送信部150と、パケット送信部150から送信されるパケットの流量を測定する送信レート計測部160と、パケット分類部120及びデキュー処理部140から情報を取得することでパケット転送装置100を現在利用している通信フロー(アクティブフロー)数を計測するフロー数計測部170と、フロー数計測部170及び送信レート計測部160から情報を取得し、一度にパケットを送信可能な上限値(バースト量上限値)を計算するバースト量計算部180とを備える。
【0028】
ここで通信フローとは、送受信IPアドレス・送受信ポート・プロトコル番号からなる5tuple、あるいは送受信IPアドレス・送受信ポート・プロトコル番号の何れかの情報の組み合わせが同一のパケット群のことを指す。
【0029】
デキュー処理部140の機能ブロック図を
図3に示す。デキュー処理部140は、キュー130の状態管理を行い、どのキュー130からどれだけのパケットを送信するかを決定し、パケット取り出し部に指示するスケジューラ141と、スケジューラ141からの指示によりキュー130からパケットを取り出すパケット取り出し部142と、取り出したパケットのヘッダからバースト送信要求の有無を確認するヘッダチェック部143とを備える。
【0030】
パケット取り出し部142はどのキュー130からどれだけパケットが取り出されたかをフロー数計測部170へ通知する。スケジューラ141はバースト量計算部180から取得したバースト量上限値をスケジューリングへ反映する。パケット取り出し部142は、スケジューラ141の指示によりキュー130から取り出したパケットをヘッダチェック部143又はパケット送信部150へ送る。またヘッダチェック部143でチェックされたパケットはパケット送信部150へ送られる。
【0031】
以下では、パケット分類部120において、5tupleの値から算出したハッシュ値(5tupleハッシュ値)で分類することでフロー毎にキュー130を用意し、デキュー処理部140のスケジューラ141において、トークンバケットアルゴリズムを用いた不足ラウンドロビンに基づくスケジューリングを行う例について説明する。また、バースト送信の実施の要求は、サーバ10においてパケットに連続して送信したいデータ量であるバースト値を格納することにより行うものとする。
【0032】
なお、パケットの分類方法としては、5tupleで分類する他に優先度合の異なる複数のクラスに分類する方法、遅延、スループット、パケットロスなどネットワーク要件毎のクラスに分類する方法、何らかのクラス毎に分類した上で更にクラス内部でフローやクラス毎に分類する方法などにおいても、同一クラス内のパケット処理方法に本発明を利用することが可能である。
【0033】
また、スケジューリングについても、不足ラウンドロビンの他、単純なFIFO、特定のクラス、フローの帯域確保、優先制御を用いても良い。
【0034】
次に
図4を参照して本発明の実施手順例を説明する。
図4に示すように、パケット受信部110に届いたパケットは、パケット分類部120において、5tupleハッシュ値によって各キュー130に振り分けを行う。
【0035】
それぞれのキュー130からは、スケジューラ141のトークンバケットアルゴリズムを用いた不足ラウンドロビン制御に基づいてデキュー処理部140内のパケット取り出し部142によりパケットが取り出される。トークンバケットを用いた不足ラウンドロビンでは、一定時間おきに各キュー130にトークンを加算し、各キュー130は順番にパケットを送信する機会が与えられる。パケットを送信する機会が与えられると、パケット送信の際に、各キュー130は所有しているトークン分だけのパケットを一度に送信できる。キュー130に溜まっている全てのパケットを送信し、トークンが余った場合は次回の送信タイミングに繰り越される。
【0036】
スケジューラ141は
図5に示すように、キュー130を識別するID、通信フローを識別する5tupleハッシュ値、現在の所有トークン量、バースト送信を行っているかを識別するバーストフラグ、バースト送信を行っている量を示すバースト値をキュー130毎に管理する。
【0037】
デキュー処理部140により取り出されたパケットはヘッダチェック部143によってバースト要求情報が取得される。パケットにバースト要求情報があり、かつトークン量が負でない場合、後述するバースト量上限値の範囲内で要求するバースト量分のトークンを該当キューのトークンに加算し、現在のパケット送信タイミングでトークン分だけのパケットを送信する。トークンが残っている間はヘッダチェック部143の処理は行わずパケットは直接パケット送信部150から外部へ送信される。バースト要求によりトークンを付与されたキュー130は、時間経過による通常のトークンは加算されず、全てのトークンを利用した後に後述するフロー数に基づいてトークン量を減算し、時間経過によるトークンの加算を再開する。
【0038】
上記処理により、一時的なパケットのバースト送信を許可する代わりに一定期間パケット送信ができなくすることで、他の通信との公平性を保つことが可能となる。
【0039】
図4の例では、サーバ10が連続した多数のパケットを送信する場合に当該パケットにバースト要求を付加している(ステップS101)。この場合、ヘッダチェック部143でバースト要求の有無がチェックされ(ステップS102)、トークンがバースト要求に係るバースト値だけ加算される(ステップS103)。これにより、バースト送信が実現する(ステップS104)。そして、バースト送信後にはトークンがバースト送信量だけ減算する(ステップS105)。これにより、通常の経時的なトークン加算処理によりトークンが正になるまでパケット送信及びバースト要求が不可となる。
【0040】
次にバースト量上限値の決定方法について説明する。フローが極端に大きいバースト送信を要求した場合、パケット転送装置100全体のキューイング遅延、ジッタの悪化を招くため、バースト送信可能な最大量を以下の手順により決定する。
【0041】
1.フロー数計測部170において、パケット分類部120とデキュー処理部140から取得したエンキュー、デキューの情報から、アクティブフロー数n
flowを計測する。具体的には、キュー130に振り分ける際にカウントを+1、デキューする際にカウントを−1することでカウントが0でないフローの数がアクティブフロー数となる。
【0042】
2.送信レート計測部160において、一定時間内にパケット送信部150から送信されるパケット量を測定することで、送信パケットレートR
outを算出する。 なお、送信側のリンク帯域やQoSクラス毎に設定した最大帯域をR
outに設定しても良い。
【0043】
3.バースト量計算部180にてn
flow及びR
outを取得し、目標パケット送信間隔T
targetを定数としてバースト量上限値B
maxを以下の式にて算出する。
【0045】
これは、現在通信を行っているアクティブキュー全てがB
maxだけバースト送信を行ってもT
target時間経過後には次の送信タイミングがやってくることを意味する。例えば目標パケット送信間隔5ms、アクティブフロー数100、パケット送信量10Gbpsの場合、62.5kBまでバースト送信を許可する。もしアクティブな100フロー全てが順番に62.5kBのバースト送信を行っても5ms後に次のパケット送信タイミングが訪れる。
【0046】
アクティブフロー数、送信パケットレートの変更に適応するため、バースト量上限値B
maxは定期的に更新する。
【0047】
また、バースト要求により追加したトークン消費後は、要求したバースト量B
demandに対して、min{B
max,B
demand}×(n
flow−1)のトークンを減算する。トークンが負の間は、時間経過によるトークンの加算だけ行われるため、バースト要求は無視され、パケット送信も行われない。ただし何れのキュー130にもパケットが溜まっておらず、パケット送信が行われない場合、トークン加算値を増加し、短時間でパケット送信を再開させても良い。
【0048】
デキュー処理部140の詳細アルゴリズムの一例を
図6に示す。
図6は1つのキュー毎に処理を行う。
【0049】
図6に示すように、デキュー処理部140は、まず、対象キュー130のバーストフラグをチェックする(ステップS201)。バーストフラグが1の場合にはバースト送信処理を開始する。具体的には、対象キュー130の先頭にパケットがあり且つ対象キュー130の先頭パケットサイズがトークン以下の場合(ステップS202,S203)、トークンを先頭パケットサイズで減算するとともに、当該先頭パケットをパケット送信部150へ転送する(ステップS204〜S205)。このバースト送信処理は、対象キュー130からパケットがなくなる又は先頭パケットのサイズがトークンより大きくなるまで繰り返し実施する。
【0050】
バースト送信処理が終了すると、トークンをバースト値×(n
flow−1)だけ減算するとともに、バーストフラグ及びバースト値を0にして処理を終了する(ステップS206〜S207)。
【0051】
一方、バーストフラグが0の場合には、通常のトークンバケットアルゴリズムに準じた処理を行う。具体的には、一定時間が経過しており且つトークンがB
max以下の場合は、経過時間に対応する分だけトークンを増加させる(ステップS211,S212)。そして、対象キュー130の先頭にパケットがあり且つ対象キュー130の先頭パケットサイズがトークン以下の場合(ステップS213〜S214)、トークンを先頭パケットサイズで減算するとともに、当該先頭パケットをパケット送信部150へ転送する(ステップS218〜S219)。この送信処理は、対象キュー130からパケットがなくなる又は先頭パケットのサイズがトークンより大きくなるまで繰り返し実施する。ただし、対象キュー130の先頭パケットにバースト要求が含まれている場合は、バーストフラグを1に設定し、バースト値としてmin{B
max,B
demand}を設定し、トークンをmin{B
max,トークン+B
demand}に設定し、前述のバースト処理に移行する(ステップS215〜S217)。
【0052】
次に、バースト要求をパケット転送装置100に通知する方法について説明する。バースト要求の通知方法としてはパケットに付加する方法と、事前にパケット転送装置100に登録する方法がある。
【0053】
パケットに付与する方法としては、IPまたはTCPヘッダのオプション領域を活用する方法が考えられる。また閉じたネットワーク内でかつ、フラグメンテーションが起きない環境であれば、IPv4ヘッダのIDフィールド、またはDFビットをセットすることでフラグ及びフラグメントオフセットの利用もできる。パケットに情報を直接付加することで要求バースト長を柔軟に変更可能であるが、パケット単位でアプリケーションにおいて情報を付加する必要がある。
図7にIPまたはTCPヘッダのオプションフィールド例を示す。
【0054】
パケット転送装置100に事前に登録する場合、サーバ10又は端末20からバースト送信量と5tupleハッシュ値を通信開始時にパケット転送装置100へ通知することで実現できる。この場合、柔軟にバースト送信量を変更はできないが、パケット単位で情報を付加する必要がない。
【0055】
図8にパケット転送によるネットワークの帯域占有率の経時的変化の一例を示す。
図8に示すように、本実施の形態に係るパケット転送装置100によれば、瞬間的なバースト送信を行った後にパケット送信を制限することで、リアルタイム映像の1フレームのような複数のパケットに跨るデータ全てを他の通信のパケット送信を妨害することなく、キューイング遅延を低減して転送が可能となる。また、パケット転送装置100によれば、送信可能なバースト量の最大値をパケット送信量とアクティブフロー数から算出することで、バースト送信による最大キューイング遅延、及びジッタを軽減することができる。
【0056】
以上本発明の一実施の形態について詳述したが本発明はこれに限定されるものではない。例えば上記実施の形態では、パケット分類部120においては、5tupleに基づき通信フローを分類していたが、優先度合の異なる複数のクラスに分類する方法、遅延、スループット、パケットロスなどネットワーク要件毎のクラスに分類する方法、何らかのクラス毎に分類した上で更にクラス内部でフローやクラス毎に分類する方法などにおいても、同一クラス内のパケット処理方法に本発明を利用することが可能である。
【0057】
また、上記実施の形態では、スケジューラ141は、トークンバケットアルゴリズムを用いた不足ラウンドロビンに基づくスケジューリングを基礎としているが、単純なFIFO、特定のクラス、フローの帯域確保、優先制御を用いたスケジューリングに本発明を適用してもよい。