JP2007013462A - Packet scheduler and packet-scheduling method - Google Patents
Packet scheduler and packet-scheduling method Download PDFInfo
- Publication number
- JP2007013462A JP2007013462A JP2005190437A JP2005190437A JP2007013462A JP 2007013462 A JP2007013462 A JP 2007013462A JP 2005190437 A JP2005190437 A JP 2005190437A JP 2005190437 A JP2005190437 A JP 2005190437A JP 2007013462 A JP2007013462 A JP 2007013462A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- priority class
- output
- queue
- user
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本発明は、パケットスケジューラに関するものであり、特に、パケット転送の際の帯域保証を効果的に行うパケットスケジューラおよびパケットスケジューリング方法に関するものである。 The present invention relates to a packet scheduler, and more particularly, to a packet scheduler and a packet scheduling method for effectively guaranteeing bandwidth during packet transfer.
パケットスケジューラにおいて、複数のユーザからのトラヒックが1つの回線に多重される場合、出力する回線速度以上の入力があると、輻輳が生じ、バッファ溢れによるパケット廃棄等が発生する。このとき、あるユーザの帯域が他のユーザの帯域に影響を及ぼすことを避けるためには、ユーザごとに使用可能な保証帯域を設定し、設定された保証帯域を必ず使用できるような公平な帯域制御が必要となる。 In the packet scheduler, when traffic from a plurality of users is multiplexed on a single line, if there is an input exceeding the line speed to be output, congestion occurs and packet discard due to buffer overflow occurs. At this time, in order to avoid the influence of a certain user's bandwidth on the bandwidth of other users, a guaranteed bandwidth that can be used for each user is set, and a fair bandwidth that allows the set guaranteed bandwidth to be used without fail. Control is required.
一方、ネットワーク経由で音声や映像等のリアルタイム性を要するアプリケーションを快適に使用するためには、パケットスケジューラに帯域保証や遅延時間保証といったQoS(Quality of Service)制御が必要とされる。 On the other hand, QoS (Quality of Service) control such as bandwidth guarantee and delay time guarantee is required for the packet scheduler in order to comfortably use an application that requires real-time characteristics such as audio and video via the network.
かかる状況下において、QoS制御のためのキュースケジューリング手法を開示した公知文献として、下記に示す特許文献1および非特許文献1が存在する。これらの文献では、到着したパケット長とユーザの保証帯域に比例した重み付けに従って出力完了予定時刻を計算し、この出力完了予定時刻が最小のパケットから順に出力するようなWFQ(Weighted Fair Queuing)方式に基づくパケットスケジューリング方法が開示されている。
Under such circumstances, there are
例えば、特許文献1に示される技術では、(ユーザ数)×(優先クラス数)のキューが設けられ、到着したパケットをユーザおよび優先クラスに応じて各キューに振り分け、同一ユーザ内では複数の優先クラスのキューに対してPQ(Priority Queuing)方式を用いる一方で、ユーザ間ではユーザごとに全優先クラスの合計保証帯域に比例した重み付けを行ったWFQ方式を用いることにより、ユーザごとに全優先クラスを合計した帯域で帯域保証するようにしている。
For example, in the technique disclosed in
また、非特許文献1に示される技術では、短い遅延時間でパケットを転送したい優先度の高いクラスのキューと、(ユーザ数)×(高優先以外の優先クラス数)のキューとがそれぞれ設けられ、到着したパケットの中で最も優先度の高いパケットは全ユーザを合わせて到着順に高優先クラスキューへ格納してPQ方式で最優先に出力することにより、遅延時間が少ない構成としている。一方、それ以外の優先クラスのパケットは、ユーザおよび優先クラスに応じたキューに振り分け、同一ユーザ内では複数の優先クラスのキューに対してPQ方式を用い、ユーザ間ではユーザごとに高優先クラス以外のクラスにおける保証帯域に比例した重み付けを行ったWFQ方式を用いることにより、低優先クラスにかかるユーザごとの帯域を保証している。
In the technique disclosed in
しかしながら、上記特許文献1に示されるようなWFQ方式を用いたパケットスケジューリング方法では、ユーザごとの帯域は保証されるが、高優先クラスキューに格納されているパケットの読み出し遅延がユーザ数や出力するパケット長に比例して大きくなり、最悪では(ユーザ数−1)×(最大パケット長)の遅延時間が生じる。従って、数千〜数万といった多数のユーザが使用する場合に音声や映像等のリアルタイム性を要するアプリケーションを利用しようとすると、高優先クラスを設定しても遅延時間が大きいため快適に使用できなくなる可能性があるといった問題点があった。
However, in the packet scheduling method using the WFQ method as shown in
また、上記非特許文献1に示されるようなWFQ方式を用いたパケットスケジューリング方法では、高優先クラスのパケットはPQ方式により優先して出力されているので、ユーザ数が増えた場合でも特許文献1のように遅延が大きくなることはない。しかしながら、WFQ方式によりユーザごとに高優先クラス以外の保証帯域に比例した重み付けを行うようにしているので、高優先クラスとそれ以外のクラスを合わせたユーザごとの帯域は保証できないといった問題点があった。
Further, in the packet scheduling method using the WFQ method as shown in Non-Patent
本発明は、上記に鑑みてなされたものであって、高優先クラスのパケットの遅延時間を少なくし、帯域保証と遅延時間保証との公平性や、高優先クラスと低優先クラスとを合わせた帯域保証をユーザごとに実現可能とするパケットスケジューラおよびパケットスケジューリング方法を提供することを目的とする。 The present invention has been made in view of the above, and reduces the delay time of packets of a high priority class, and combines the fairness of bandwidth guarantee and delay time guarantee, and the combination of a high priority class and a low priority class. An object of the present invention is to provide a packet scheduler and a packet scheduling method that can realize bandwidth guarantee for each user.
上述した課題を解決し、目的を達成するため、本発明にかかるパケットスケジューラは、高優先クラスキューおよびユーザごとに区分された低優先クラスキューのそれぞれに格納されたパケットの出力順序を決定するパケットスケジューラであって、入力されたパケットの優先クラスおよびユーザを識別して前記高優先クラスキューまたは前記低優先クラスキューのいずれかのキューに振り分けるパケット振り分け制御部と、前記高優先クラスキューから出力されるパケットのユーザおよびパケット長を通知するパケット長通知部と、前記パケット長通知部から通知されたユーザおよびパケット長の各情報と、前記低優先クラスキューに格納されたパケットのパケット長と、ユーザごとに割り当てられた前記高優先クラスと前記低優先クラスとの合計帯域に応じて該ユーザごとに決定されたウェイト値と、に基づいて前記低優先クラスキューに格納されたパケットの出力完了予定時刻を該ユーザごとに所定のタイミングで算出するWFQ制御部と、前記低優先クラスキューに格納されて前記WFQ制御部を介して出力されるパケットおよび前記高優先クラスキューに格納されたパケットの中で、該高優先クラスキューに格納されたパケットを優先して出力するPQ制御部と、を備えたことを特徴とする。 In order to solve the above-described problems and achieve the object, the packet scheduler according to the present invention determines the output order of packets stored in the high-priority class queue and the low-priority class queue divided for each user. A scheduler that identifies a priority class and a user of an input packet and distributes them to either the high-priority class queue or the low-priority class queue; and is output from the high-priority class queue A packet length notifying unit for notifying the user and the packet length of the packet to be transmitted, each user and packet length information notified from the packet length notifying unit, the packet length of the packet stored in the low priority class queue, and the user High priority class and low priority class assigned to each A WFQ control unit that calculates a scheduled output completion time of a packet stored in the low priority class queue at a predetermined timing for each user based on a weight value determined for each user according to the total bandwidth of Among packets stored in the low priority class queue and output via the WFQ control unit and packets stored in the high priority class queue, the packets stored in the high priority class queue are given priority. And an output PQ control unit.
本発明にかかるパケットスケジューラによれば、高優先クラスキューから出力されるパケットのユーザおよびパケット長が通知され、通知されたユーザおよびパケット長の各情報と、低優先クラスキューに格納されたパケットのパケット長の情報と、ユーザごとに割り当てられた高優先クラスと低優先クラスとの合計帯域に応じてユーザごとに決定されたウェイト値とに基づいて低優先クラスキューに格納されたパケットの出力完了予定時刻を所定のタイミングでユーザごとに算出するようにしているので、優先クラスのパケットの遅延時間を少なくし、帯域保証と遅延時間保証との公平性や、高優先クラスと低優先クラスとを合わせた帯域保証をユーザごとに実現することができるという効果を奏する。 According to the packet scheduler of the present invention, the user and the packet length of the packet output from the high priority class queue are notified, and each information of the notified user and packet length and the packet stored in the low priority class queue are notified. Completion of output of packets stored in the low-priority class queue based on the packet length information and the weight value determined for each user according to the total bandwidth of the high-priority class and low-priority class assigned to each user Since the scheduled time is calculated for each user at a predetermined timing, the delay time of the priority class packet is reduced, the fairness between the bandwidth guarantee and the delay time guarantee, and the high priority class and the low priority class. The combined band guarantee can be realized for each user.
以下に、本発明にかかるパケットスケジューラおよびパケットスケジューリング方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。 Embodiments of a packet scheduler and a packet scheduling method according to the present invention will be described below in detail with reference to the drawings. In addition, this invention is not limited by this embodiment.
実施の形態1.
図1は、本発明の実施の形態1にかかるパケットスケジューラの機能構成およびキュー構成を示すブロック図である。同図に示すパケットスケジューラは、パケット振り分け制御部10、高優先クラスキュー11、低優先クラスキュー12(121,122,・・・,12n)、パケット長通知部13、WFQ制御部14およびPQ制御部15を備えている。
FIG. 1 is a block diagram illustrating a functional configuration and a queue configuration of the packet scheduler according to the first exemplary embodiment of the present invention. The packet scheduler shown in FIG. 1 includes a packet
つぎに、図1に示す各構成部の機能について説明する。同図において、パケット振り分け制御部10は、入力されたパケットの優先クラスとユーザ(#1〜#n)を認識するとともに、入力されたパケットを各キュー(高優先クラスキュー11または低優先クラスキュー12のいずれかのキュー)に振り分ける。高優先クラスキュー11は、パケット振り分け制御部10で振り分けられた高優先クラスのパケットを入力順に格納する。一方、低優先クラスキュー12は、パケット振り分け制御部10でユーザごとに振り分けられた低優先クラスのパケットを格納する。パケット長通知部13は、高優先クラスキュー11から出力されたパケットのユーザおよびパケット長(バイト数)を認識してWFQ制御部14に通知する。なお、図1では1つのクラスのn個のユーザに対するn個分の低優先クラスキュー121〜12nが例示されているが、低優先クラスが複数ある場合には、(ユーザ数)×(低優先クラス数)個分のキューが設けられる。
Next, the function of each component shown in FIG. 1 will be described. In the figure, the packet
また、WFQ制御部14は、以下の処理を行う。
(1) パケット長通知部13から通知された高優先クラスのパケット長(バイト数)をユーザごとに加算して保持する。
(2) 空であるキューにパケットが到着した場合あるいは低優先クラスのパケットが出力された場合に新たにキューの先頭になるパケットのパケット長と保持していた高優先クラスのパケット長とを加算する。
(3) (2)の処理にて算出された加算出力に対してユーザごとに高優先クラスと低優先クラスとの合計帯域に比例した重み付けを行い、加算されたパケット長とユーザの重み付け値(ウェイト値)に基づいて各低優先クラスキュー12の出力完了予定時刻を算出する。
(4) 各低優先クラスキュー12の先頭パケットの中で出力完了予定時刻が最小のパケットを読み出す。
The
(1) The packet length (number of bytes) of the high priority class notified from the packet
(2) When a packet arrives in an empty queue or when a low-priority class packet is output, add the packet length of the packet that becomes the head of the queue and the held high-priority class packet length. To do.
(3) The added output calculated in the process of (2) is weighted in proportion to the total bandwidth of the high priority class and the low priority class for each user, and the added packet length and the user weight value ( The scheduled output completion time of each low
(4) Read the packet with the shortest scheduled output completion time from the top packets of each low
また、PQ制御部15は、高優先クラスキュー11に格納されているパケットを優先して出力し、高優先クラスキュー11が空のときにWFQ制御部14によって選択される低優先クラスキュー12の先頭パケットを出力する。
The
ところで、この実施の形態のパケットスケジューラは、高優先クラスと低優先クラスとが連携したWFQ制御の動作を行う点に特徴がある。より、詳細に説明すれば、高優先クラスに配分されている帯域のうち、未使用帯域(余剰分帯域)をユーザごとの低優先クラスの帯域に振り替える連携処理を行うことで高優先クラスを含めたユーザ単位の設定帯域を保証する点にある。そこで、このような特徴を有する本発明の理解を容易にするため、上述の非特許文献1などに示されたパケットスケジューラについて説明し、その後、本実施の形態にかかるパケットスケジューラの動作について説明する。なお、図2は、非特許文献1などに示されたパケットスケジューラの構成を示す図であり、図3は、図2に示したWFQ制御部133の制御動作を説明するための図である。
By the way, the packet scheduler of this embodiment is characterized in that it performs the operation of WFQ control in which the high priority class and the low priority class cooperate. More specifically, among the bands allocated to the high-priority class, the high-priority class is included by performing linkage processing that transfers the unused band (surplus band) to the low-priority-class band for each user. This is to guarantee a set bandwidth for each user. Therefore, in order to facilitate understanding of the present invention having such characteristics, the packet scheduler described in Non-Patent
まず、図2において、同図に示されるパケットスケジューラは、パケット振り分け制御部130、高優先クラスキュー131、低優先クラスキュー132(1321,1322,・・・,132n)、WFQ制御部133およびPQ制御部134を備えている。
2, the packet scheduler shown in FIG. 2 includes a packet
パケット振り分け制御部130は、入力されたパケットをユーザ(#1〜#n)および優先クラスに応じたキューに振り分ける。高優先クラスキュー131は、全ユーザの高優先クラスのパケットを入力順に格納する。一方、低優先クラスキュー132は、低優先クラスのパケットをユーザごとに格納する。WFQ制御部133は、ユーザごとに設定された低優先クラスの保証帯域に比例した重み付け(ウェイト)と先頭パケット長(バイト数)に従ってWFQ制御を行って各キューからのパケットを出力する。PQ制御部134は、WFQ制御部133で選択された低優先クラスキュー132より高優先クラスキュー131のパケットを優先して出力する。
The packet
なお、図2では、短い遅延時間でパケットを転送したい優先度の高いクラスのキューと、(ユーザ数)×(高優先以外の優先クラスの数(図2では1クラスのみ))のキューとが設けられており、到着したパケットの中で最も優先度の高いパケットは、到着順にPQ方式にて最優先に出力することにより遅延時間の少ないパケット伝送が行われるような構成が採用されている。一方、高優先クラス以外の優先クラスのパケットは、ユーザおよび優先クラスに応じたキューに振り分けられ、同一ユーザ内では複数の優先クラスのキューがPQ方式で出力され(ただし、図2では1クラスのみのクラス分けなのでPQ制御部は図示されていない)、一方、ユーザ間ではユーザごとに高優先クラス以外のクラスにおける保証帯域に比例した重み付けを行ったWFQ方式にて出力される。このような処理が行われる結果、ユーザごとの帯域が保証されるのは低優先クラスのみにとどまっている。 In FIG. 2, there are a high-priority class queue for transferring packets with a short delay time and a queue of (number of users) × (number of priority classes other than high priority (only one class in FIG. 2)). A configuration is adopted in which a packet having the highest priority among the arrived packets is output in the order of arrival in the PQ method so that the packet transmission with a short delay time is performed. On the other hand, priority class packets other than the high priority class are distributed to queues according to the user and the priority class, and a plurality of priority class queues are output by the PQ method within the same user (however, only one class is shown in FIG. 2). However, the PQ control unit is not shown in the figure because it is classified into two types). On the other hand, for each user, the data is output by the WFQ method in which weighting in proportion to the guaranteed bandwidth in the class other than the high priority class is performed for each user. As a result of such processing, the band for each user is guaranteed only in the low priority class.
つぎに、図2に示したWFQ制御部133の出力動作について図3を用いて説明する。なお、図2と同一の構成部については、同一符号を付して示している。
Next, the output operation of the
図3において、WFQ制御部133は、低優先クラスのパケットを格納する低優先クラスキュー1321〜132nのそれぞれに割り当てられた最低保証帯域比φ1〜φnと、各キューに到着したそれぞれのパケット長とに基づいてパケットの出力完了予定時刻を算出し、帯域Rという制限の下、低優先クラスキュー1321〜132nに格納された先頭パケットのうち、出力完了予定時刻の最も小さいパケットから順にパケットを出力させる。ここで、同図に示すFi(k)(F1(1),F1(2),F2(1),・・・,Fi(1),・・・,Fn(1))は、キュー#iに溜まっている先頭からk番目のパケットの出力完了予定時刻を表している。
In FIG. 3, the
つぎに、Fi(k)の算出手法について説明する。例えば、ある時刻tのときに、キュー#iに先頭からk番目のパケットが新たに到着すると、パケットが到着したキューも含め、パケットが溜まっているキューの重み係数の合計φsumは、次式で表される。 Next, a method for calculating Fi (k) will be described. For example, when a k-th packet from the head arrives at queue #i at a certain time t, the total weight sum φsum of the queues in which packets are accumulated, including the queue where the packets arrived, is given by expressed.
φsum=Σ{φi|i∈パケットが存在するキュー} ・・・(1) φsum = Σ {φi | queue where i∈packet exists} (1)
また、読み出し帯域をRとすると、キュー#iの出力帯域Riは、次式で表される。 Further, assuming that the read bandwidth is R, the output bandwidth Ri of the queue #i is expressed by the following equation.
Ri=R×φi/φsum ・・・(2) Ri = R × φi / φsum (2)
なお、式(1)で表されるφsumはパケット到着順kにより変動する要素であり、その結果、式(2)で表されるRiもkの関数となるので、Ri(k)と表現する。 Note that φsum represented by Expression (1) is an element that varies depending on the packet arrival order k. As a result, Ri represented by Expression (2) is also a function of k, and is expressed as Ri (k). .
また、到着したパケットの長さをLi(k)とすると、当該到着パケットの出力完了予定時刻Fi(k)は、次式で決定される。 Also, assuming that the length of the arrived packet is Li (k), the scheduled output completion time Fi (k) of the arrival packet is determined by the following equation.
Fi(k)=Fi(k−1)+Li(k)/Ri(k) (k>1のとき)
Fi(k)=Fi(1)=t+Li(1)/Ri(1) (k=1のとき)・・・(3)
Fi (k) = Fi (k-1) + Li (k) / Ri (k) (when k> 1)
Fi (k) = Fi (1) = t + Li (1) / Ri (1) (when k = 1) (3)
また、各キューの先頭パケットの出力完了予定時刻Fi(1)のうち、以下に示すパケットが出力されることになる。 Further, the following packets are output from the scheduled output completion time Fi (1) of the first packet of each queue.
min{Fi(1)|i∈パケットが存在するキュー} ・・・(4) min {Fi (1) | queue where iεpacket exists} (4)
なお、パケットが出力されるキューに2個以上のパケットが溜まっていた場合には、先頭パケットが出力される度に、溜まっているパケットの出力完了予定時刻が次式のように更新される。 When two or more packets are accumulated in the queue to which the packet is output, the output completion scheduled time of the accumulated packet is updated as shown in the following equation each time the leading packet is output.
Fi(j+1)→Fi(j) (1≦j≦k−1) ・・・(5) Fi (j + 1) → Fi (j) (1 ≦ j ≦ k−1) (5)
もし、出力キューに1パケットしか溜まっていなかった場合には、読み出された後はキューが空になるため、新たなパケットが到着したときには、式(3)に基づいて新たなFi(1)が決定される。 If only one packet is accumulated in the output queue, the queue becomes empty after being read out. Therefore, when a new packet arrives, a new Fi (1) is obtained based on the equation (3). Is determined.
以上の処理により、キューごとの帯域の公平性は保たれる。また、各キューのパケットの出力順序についても出力完了予定時刻の小さい順に出力するため、公平性が保たれる。しかしながら、WFQ方式により高優先クラス以外の保証帯域に比例した重み付けをユーザごとに行うようにしているので、上記課題の項でも述べたように、高優先クラスとそれ以外のクラスを合わせたユーザごとの帯域を保証することができない。 With the above processing, the fairness of the bandwidth for each queue is maintained. Further, since the output order of the packets in each queue is output in ascending order of the output completion scheduled time, fairness is maintained. However, since weighting in proportion to the guaranteed bandwidth other than the high-priority class is performed for each user by the WFQ method, as described in the section of the above problem, for each user who combines the high-priority class and other classes. Cannot guarantee the bandwidth.
このことは、例えば、あるユーザが高優先クラスで契約した帯域より少ない帯域で高優先クラスを利用していた場合に、余った帯域は該当ユーザが高優先クラス以外のクラスで利用することができないということであり、全ユーザ間で、ユーザごとに高優先クラス以外に割り当てられた帯域比をシェアするということを意味する。したがって、図2に示す構成では、ユーザごとに高優先クラスとそれ以外のクラスの合計帯域による帯域保証を行うことはできない。 This is because, for example, when a certain user uses a high priority class with a bandwidth less than the contract with the high priority class, the surplus bandwidth cannot be used by the user in a class other than the high priority class. This means that all users share the bandwidth ratio allocated to each user other than the high priority class. Therefore, in the configuration shown in FIG. 2, it is not possible to guarantee the bandwidth by the total bandwidth of the high priority class and the other classes for each user.
ところで、上記に示す考え方では、WFQ制御部133からパケットが出力される度に当該到着パケットの出力完了予定時刻を式(1)〜(4)に基づいて算出するとともに、先頭パケットが出力されたキューに溜まっているパケットの出力完了予定時刻を式(5)に基づいて更新する必要があり、キュー数nが大きい場合に処理負荷が増大するといった不利点があった。そこで、以下に示すような簡易的な算出手法を採用して、処理負荷を軽減する手法が知られている。
By the way, in the above-described idea, every time a packet is output from the
この手法では、まず、出力完了予定時刻を算出するタイミングが以下の2点に限定される。
(1) 時刻tのときに先頭パケットが出力されたキューにおいて、つぎに出力するパケットが存在する場合
(2) 時刻tのときに空であったキューにおいて、新たにパケットが到着した場合
In this method, first, the timing for calculating the scheduled output completion time is limited to the following two points.
(1) When there is a packet to be output next in the queue from which the first packet was output at time t (2) When a new packet arrives in the queue that was empty at time t
また、ハードウェアによる割り算をなくすため、予め全てのキューの重み係数の合計φallが、次式を満足するように各キューの重みが決定される。 In addition, in order to eliminate the division by hardware, the weights of the respective queues are determined in advance such that the total φall of the weighting factors of all the queues satisfies the following expression.
φall=1=Σφi(1≦i≦n,0≦φi≦1) ・・・(6) φall = 1 = Σφi (1 ≦ i ≦ n, 0 ≦ φi ≦ 1) (6)
また、設定する重み値(逆数)Wiを次式のように定義する。 Also, the weight value (reciprocal number) Wi to be set is defined as follows:
Wi=1/(R×φi) ・・・(7) Wi = 1 / (R × φi) (7)
式(7)を用いれば、キュー#iの先頭パケットの出力完了予定時刻Fi(1)は次式のように表される。 If Expression (7) is used, the scheduled output completion time Fi (1) of the first packet in the queue #i is expressed as the following expression.
Fi(1)=t+Li(1)×Wi ・・・(8) Fi (1) = t + Li (1) × Wi (8)
また、各キューの先頭パケットの出力完了予定時刻Fi(1)のうち、以下に示す条件のパケットを出力させる(式(4)の再掲)。 In addition, a packet having the following condition is output from the scheduled output completion time Fi (1) of the first packet of each queue (reprinted in Expression (4)).
min{Fi(1)|i∈パケットが存在するキュー} ・・・(9) min {Fi (1) | queue where iεpacket exists} (9)
このような簡易的な算出手法であれば、パケットが出力される度あるいは空のキューにパケットが到着する度に式(8)および式(9)に基づく処理を行えばよく、前述の式(1)〜式(5)と比較して計算量が減少し、処理時間を短縮化することができる。 With such a simple calculation method, every time a packet is output or every time a packet arrives in an empty queue, the processing based on Expression (8) and Expression (9) may be performed. Compared with 1) to (5), the amount of calculation is reduced, and the processing time can be shortened.
なお、式(1)〜式(5)による通常手法を用いるか、式(8)および式(9)による簡易手法を用いるかは自由であり、キューの個数や、単位時間あたりに到着するパケット数などに基づいて決定すればよい。 Note that it is free to use the normal method according to equations (1) to (5) or the simple method according to equations (8) and (9), and the number of queues and packets that arrive per unit time. It may be determined based on the number or the like.
つぎに、図1に示したパケットスケジューラの動作について図4を用いて説明する。なお、図4は、図1に示した実施の形態1のパケットスケジューラにおける高優先クラスと連携した低優先クラスのWFQ制御動作を説明するための図である。 Next, the operation of the packet scheduler shown in FIG. 1 will be described with reference to FIG. FIG. 4 is a diagram for explaining the WFQ control operation of the low priority class in cooperation with the high priority class in the packet scheduler of the first embodiment shown in FIG.
図4において、ユーザ#iの高優先クラスのパケットが高優先クラスキュー11に到着した場合、当該パケットはPQ方式により、先に出力される。この場合、ユーザごとに高優先クラスと低優先クラスの合計帯域で帯域保証を行うには、同一ユーザ#iの低優先クラスキュー12iのパケットに対して、高優先クラスのパケットを読み出した帯域分、出力完了予定時刻を遅らせて優先度を下げることが必要となる。そこで、低優先クラスキューが空であるキューにパケットが到着した場合か、あるいは低優先クラスキューの先頭のパケットが出力された新たに先頭になるパケットが存在する場合には、高優先クラスキュー11から出力されたユーザ#iのパケットのパケット長Lhi(1)を用いて、式(8)で示される低優先クラスキューの先頭パケットの出力完了予定時刻Fi(1)を次式のように修正する。
In FIG. 4, when a packet of the high priority class of user #i arrives at the high
Fi(1)=t+{Li(1)+Lhi(1)}×Wi ・・・(10) Fi (1) = t + {Li (1) + Lhi (1)} × Wi (10)
このようなWFQ制御を行うためには、ユーザごとに高優先クラスと低優先クラスの合計帯域に比例したウェイトの逆数Wiを設定し、常に高優先クラスキューから出力されたユーザとパケット長とを認識する必要がある。また、高優先クラスキューから同一ユーザ#iのパケットが複数出力された場合には、それらのパケット長を加算していき、低優先クラスのパケット長Li(k)に加算する必要がある。 In order to perform such WFQ control, a reciprocal number Wi of the weight proportional to the total bandwidth of the high priority class and the low priority class is set for each user, and the user and the packet length output from the high priority class queue are always set. Need to recognize. Further, when a plurality of packets of the same user #i are output from the high priority class queue, it is necessary to add the packet lengths to the low priority class packet length Li (k).
なお、図1および図4は1つの高優先クラスに対応した1個の高優先クラスキューが具備される場合を例示しているが、高優先クラスが複数あり、高優先クラスキューが高優先クラスごとに複数存在する場合であっても、各高優先クラスキューからユーザ#iのパケットが出力される度にそれらのパケット長を加算し、ユーザ#iの低優先クラスキューが空であるキューにパケットが到着した場合か、あるいは低優先クラスキューの先頭のパケットが出力されて新たに先頭になるパケットが存在する場合には、そのときまでにユーザ#iの各高優先クラスキューから出力されたパケット長の全加算値を用いて出力完了予定時刻を算出すればよい。 1 and 4 exemplify a case where one high priority class queue corresponding to one high priority class is provided, but there are a plurality of high priority classes, and the high priority class queue is a high priority class. Each time a packet of user #i is output from each high-priority class queue, the packet length is added to the queue where user # i's low-priority class queue is empty. When a packet arrives, or when the first packet in the low priority class queue is output and there is a new leading packet, it has been output from each high priority class queue of user #i by that time The scheduled output completion time may be calculated using the total addition value of the packet length.
このような場合、ユーザ#iの各高優先クラスキューから出力されたパケット長の全加算値をLhisum(1)とすれば、式(8)は次式のように修正される。 In such a case, if the total addition value of the packet length output from each high priority class queue of the user #i is Lhisum (1), the equation (8) is modified as the following equation.
Fi(1)=t+{Li(1)+Lhisum(1)}×Wi ・・・(11) Fi (1) = t + {Li (1) + Lhisum (1)} × Wi (11)
式(11)は、ユーザごとに高優先クラスキューから出力した帯域(パケット長)分だけ出力完了予定時刻を遅らせることを意味しており、このように処理することで、高優先クラスと低優先クラスを合計した帯域でユーザ単位に設定された帯域の保証が可能になる。また、高優先クラスのパケットはPQ方式で読み出しているため、ユーザ数に関係なく、低遅延での出力が可能である。 Expression (11) means that the scheduled output completion time is delayed by the bandwidth (packet length) output from the high priority class queue for each user. By processing in this way, the high priority class and the low priority are set. The bandwidth set for each user can be guaranteed by the total bandwidth of the classes. In addition, since the high priority class packet is read by the PQ method, it can be output with a low delay regardless of the number of users.
以上説明したように、この実施の形態のパケットスケジューラおよびパケットスケジューリング方法によれば、ネットワークでリアルタイム性を要するアプリケーション等には、低遅延且つ最優先に出力する高優先クラスのキューを利用することができ、更にユーザごとにネットワーク内の全クラスを合わせた帯域(最低帯域)に比例したウェイトの逆数Wiを設定して、低優先クラスのキューに対して高優先クラスで出力した帯域分を考慮したWFQ制御をユーザごとに行うことによって、ネットワーク内のパワーユーザが同じネットワークを利用している他のユーザの帯域を圧迫することなくユーザごとの公平な帯域保証が可能である。また、WFQ方式に基づく帯域制御が行われるので、低優先クラスのパケットの出力順序に対しても公平性を保証することができる。 As described above, according to the packet scheduler and the packet scheduling method of this embodiment, a high-priority class queue that outputs with low delay and top priority can be used for applications that require real-time performance in a network. In addition, the reciprocal Wi of the weight proportional to the total bandwidth (lowest bandwidth) of all classes in the network is set for each user, and the bandwidth output in the high priority class is considered for the low priority class queue. By performing WFQ control for each user, it is possible to guarantee a fair bandwidth for each user without squeezing the bandwidth of other users who use the same network. In addition, since bandwidth control based on the WFQ method is performed, fairness can be ensured for the output order of the low priority class packets.
実施の形態2.
実施の形態1では、高優先クラスキューからパケットが出力された場合に該当ユーザに対して高優先クラスキューから出力されたパケット長を、空である低優先クラスキューにパケットが到着した場合、あるいは低優先クラスキューの先頭のパケットが出力されて新たに先頭になるパケットがある場合に、その低優先クラスのパケットのパケット長に加算することにより、ユーザごとの帯域を保証するようにしていた。
In the first embodiment, when a packet is output from the high priority class queue, the packet length output from the high priority class queue to the corresponding user is set to the empty low priority class queue, or When the first packet in the low priority class queue is output and there is a new leading packet, the bandwidth for each user is guaranteed by adding to the packet length of the low priority class packet.
しかしながら、前者の場合のように高優先クラスキューからパケットが出力された時刻に、該当ユーザの低優先クラスキューにパケットが存在せず、長時間経過してから低優先パケットが到着した場合のように、該当ユーザがある時点で最低帯域保証分のパケットを出力していなかった場合には、高優先クラスで出力したパケット長を低優先クラスキューの先頭パケット到着時に加算すると、そのユーザの優先度を過剰に下げることとなり、公平性が満たされなくなるという問題点がある。 However, as in the former case, there is no packet in the low priority class queue of the corresponding user at the time when the packet is output from the high priority class queue, and a low priority packet arrives after a long time has passed. If the packet for the minimum bandwidth guarantee has not been output at a certain time, the packet length output in the high priority class is added when the first packet arrives in the low priority class queue. Is excessively lowered, and there is a problem that fairness is not satisfied.
すなわち、実施の形態1は、
(1) ユーザの低優先クラスキューに常にパケットが存在する場合
(2) ユーザの高優先パケットと低優先パケットとの合計帯域が最低保証帯域以上で入力されている場合
(3) 高優先クラスキューに高優先パケットが入力されていない場合
などの条件下においては、正確にユーザごとの帯域保証と公平性を保証可能であるが、その他の条件下ではユーザごとの帯域を保証できない場合がある。
That is,
(1) When there is always a packet in the user's low-priority class queue (2) When the total bandwidth of the user's high-priority packet and low-priority packet is input above the minimum guaranteed bandwidth (3) High-priority class queue Under certain conditions, such as when no high-priority packet is input, it is possible to guarantee the bandwidth and fairness accurately for each user, but under other conditions, the bandwidth for each user may not be guaranteed.
一方、この実施の形態では、高優先クラスキューからパケットが出力された時刻において、該当ユーザの低優先クラスキューにパケットが存在しない場合であっても、ユーザごとの帯域保証を可能とするWFQ制御について示すものである。なお、キュー構成および機能構成については、図1と同一あるいは同等である。 On the other hand, in this embodiment, even when there is no packet in the low-priority class queue of the corresponding user at the time when the packet is output from the high-priority class queue, WFQ control that enables bandwidth guarantee for each user It shows about. Note that the queue configuration and functional configuration are the same as or equivalent to those in FIG.
つぎに、この実施の形態にかかるパケットスケジューラの動作について図5、図6−1および図6−2を用いて説明する。なお、図5は、実施の形態2のパケットスケジューラにおける高優先クラスと連携した低優先クラスのWFQ制御動作を説明するための図である。また、図6−1および図6−2は、高優先クラスキューからm個のパケットが出力された際に、当該m番目のパケットの帯域分だけ低優先クラスにおける優先度を下げる際の基準時刻が異なる場合の一例をそれぞれ示す図である。 Next, the operation of the packet scheduler according to this embodiment will be described with reference to FIGS. 5, 6-1 and 6-2. FIG. 5 is a diagram for explaining the WFQ control operation of the low priority class in cooperation with the high priority class in the packet scheduler of the second embodiment. FIGS. 6A and 6B are reference times for lowering the priority in the low priority class by the bandwidth of the mth packet when m packets are output from the high priority class queue. It is a figure which shows an example when each differs.
図5において、ユーザ#iの低優先クラスキューにパケットが存在しない状態で、高優先クラスキューからユーザ#iのパケットがm個出力され、m番目のパケットが出力された時刻がth(m)、パケットの長さがLhi(m)であるとする。いま、高優先クラスキューから出力されたm番目のパケットの帯域分だけユーザ#iの低優先クラスの優先度を下げるために、仮想的にユーザ#iの低優先クラスキューにパケット長Lhi(m)のパケットが溜まったと仮定する。この考え方は実施の形態1と同じである。このとき、1つ前の(m−1)番目までに高優先クラスキューから出力されたパケットによる低優先クラスにおける仮想出力完了予定時刻をVFi(m−1)として、VFi(m−1)とm番目のパケット出力時刻であるth(m)とを比較する。 In FIG. 5, when there are no packets in the low priority class queue of user #i, m packets of user #i are output from the high priority class queue, and the time when the mth packet is output is th (m). Suppose the packet length is Lhi (m). Now, in order to lower the priority of the low-priority class of the user #i by the bandwidth of the m-th packet output from the high-priority class queue, the packet length Lhi (m ) Is accumulated. This concept is the same as in the first embodiment. At this time, VFi (m−1) is assumed to be VFi (m−1) as the virtual output completion scheduled time in the low priority class by the packet output from the high priority class queue by the previous (m−1) th. It compares th (m), which is the mth packet output time.
図6−1に示すように、VFi(m−1)≧th(m)の場合には、(m−1)番目までの高優先クラスにおいてVFi(m−1)の時刻まで低優先クラスの優先度を仮想的に下げる必要があり、この時刻を基準として、さらにm番目に出力したパケット長Lhi(m)分の時刻を加味した分だけ、低優先クラスの優先度を下げる必要がある。一方、図6−2に示すように、VFi(m−1)<th(m)の場合には、(m−1)番目までのパケットが最低保証帯域未満の帯域で入力されていることを意味しているので、VFi(m−1)の時刻を基準とせず、m番目のパケットが出力された時刻th(m)を基準として、m番目に出力したパケット長Lhi(m)分の時刻分だけ低優先クラスの優先度を下げればよい。 As shown in FIG. 6A, in the case of VFi (m−1) ≧ th (m), in the high priority class up to the (m−1) th, the low priority class until the time of VFi (m−1). It is necessary to virtually lower the priority, and it is necessary to lower the priority of the low priority class by an amount corresponding to the time corresponding to the packet length Lhi (m) output m-th with reference to this time. On the other hand, as shown in FIG. 6B, in the case of VFi (m−1) <th (m), it is confirmed that the packets up to the (m−1) th are input in a band less than the minimum guaranteed band. Therefore, the time corresponding to the packet length Lhi (m) that is output in the mth order is based on the time th (m) at which the mth packet is output without using the time of VFi (m−1) as a reference. It is sufficient to lower the priority of the low priority class by that amount.
結局のところ、m番目の仮想パケットの仮想出力完了予定時刻VFi(m)は、VFi(m−1)とth(m)を比較して大きい方の時刻にm番目のパケットの帯域分を加算すればよく、このVFi(m)は次式で表すことができる。 After all, the virtual output completion scheduled time VFi (m) of the mth virtual packet is compared with VFi (m−1) and th (m), and the bandwidth of the mth packet is added to the larger time. This VFi (m) can be expressed by the following equation.
VFi(m)=max[VFi(m−1),th(m)]+Lhi(m)×Wi
(m>1のとき)
VFi(m)=th(1)+Lhi(1)×Wi
(m=1のとき) ・・・(12)
VFi (m) = max [VFi (m−1), th (m)] + Lhi (m) × Wi
(When m> 1)
VFi (m) = th (1) + Lhi (1) × Wi
(When m = 1) (12)
また、ユーザ#iの低優先クラスキューにパケットが存在せず、高優先クラスキューからユーザ#iのパケットがm個出力された後に、低優先クラスキューのWFQ制御部における時刻tのときに、ユーザ#iの低優先クラスキューに新たに先頭となるパケット長Li(1)のパケットが到着した場合、この先頭パケットの出力完了予定時刻Fi(1)を次式で表すことができる。 Further, when there is no packet in the low priority class queue of user #i and m packets of user #i are output from the high priority class queue, at time t in the WFQ control unit of the low priority class queue, When a packet with a packet length Li (1) that newly becomes the head arrives at the low-priority class queue of user #i, the expected output completion time Fi (1) of this head packet can be expressed by the following equation.
Fi(1)=max[VFi(m),t]+Li(1)×Wi ・・・(13) Fi (1) = max [VFi (m), t] + Li (1) × Wi (13)
以上説明したように、この実施の形態のパケットスケジューラおよびパケットスケジューリング方法によれば、ユーザごとに高優先クラスと低優先クラスの合計帯域に比例したウェイトを設定し、高優先クラスキューからパケットが出力されたときに、高優先クラスのユーザ情報とパケット長に基づいて高優先クラスキューから出力された帯域(パケット長)分だけ仮想的に優先度を下げるとともに、該当ユーザがある時点で最低帯域保証分のパケットを出力していたか否かの情報に基づいて、優先度を仮想的に下げる基準時刻を可変するようにしているので、実施の形態1の効果に加え、例えば、低優先クラスキューに長時間パケットが存在しない場合や、高優先クラスのパケットが送出された時点で低優先クラスキューにパケットが存在しない場合などであっても、ユーザ単位に設定された帯域の保証が可能となる。 As described above, according to the packet scheduler and the packet scheduling method of this embodiment, a weight proportional to the total bandwidth of the high priority class and the low priority class is set for each user, and packets are output from the high priority class queue. The priority is virtually lowered by the bandwidth (packet length) output from the high priority class queue based on the user information and packet length of the high priority class, and the minimum bandwidth is guaranteed when the user is at a certain point. Since the reference time for virtually lowering the priority is varied based on the information indicating whether or not the minute packets have been output, in addition to the effects of the first embodiment, for example, in the low priority class queue A packet exists in the low priority class queue when there is no packet for a long time or when a high priority class packet is sent Be an the absence, it is possible to band warranty to the user unit.
実施の形態3.
図7は、本発明の実施の形態3にかかるWFQ制御部の機能構成を示す図であり、図1に示したパケットスケジューラに具備されるWFQ制御部14を具現する機能構成を示すものである。
Embodiment 3 FIG.
FIG. 7 is a diagram illustrating a functional configuration of the WFQ control unit according to the third embodiment of the present invention, and illustrates a functional configuration embodying the
同図に示すWFQ制御部は、低優先クラス優先度演算部81、端数用メモリ82、時刻レジスタ83、加算器84、パケット情報格納用出力完了予定時刻FIFO(First In First Out)メモリ85、出力制御部86、高優先クラス優先度演算部87および高優先帯域用メモリ88の各構成部を備えている。
The WFQ control unit shown in the figure includes a low priority class
図7において、低優先クラス優先度演算部81は、
(1)空の低優先クラスキューに新たにパケットが到着した場合
(2)ある低優先クラスキューの先頭パケットが出力されて次のパケットがある場合
の2つの条件下において、そのパケットのキュー番号i、パケット長Li(1)、当該キューの重み係数Wiに基づいて「Li(1)×Wi」の演算を行い、低優先クラスの当該パケットの優先度を出力する。
In FIG. 7, the low priority class
(1) When a new packet arrives in an empty low-priority class queue (2) When the first packet of a certain low-priority class queue is output and there is a next packet, the queue number of that packet under two conditions i, based on the packet length Li (1) and the weighting factor Wi of the queue, the calculation of “Li (1) × Wi” is performed, and the priority of the packet of the low priority class is output.
端数用メモリ82は、加算器84で加算されて決定した低優先クラスの該当パケットの出力完了予定時刻のうち、回路規模を小さくするためにパケット情報格納用出力完了予定時刻FIFOメモリ85の刻みによって切り捨てられる出力完了予定時刻の端数分をキュー単位で保持する。なお、端数用メモリ82に記憶された端数情報は、つぎに出力するパケットに持ち越される。例えば、上記(1)の場合には該当キューの端数を0とし、上記(2)の場合には端数用メモリ82に格納されている該当キューの端数値が加算器84に出力されるとともに、加算器84で加算された際に発生する新たな端数値によって上書きされる。
The
高優先クラス優先度演算部87は、高優先クラスキューからパケットが出力されたとき(ただし、高優先クラスがPQ方式の高優先キューとして入力される場合には、パケットが到着したときでもよい)に、当該パケットのキュー番号i、パケット長Lhi、該当キューの重み係数Wiより(Lhi×Wi)の演算を行う。高優先帯域用メモリ88は、低優先クラスキュー単位に高優先クラス優先度演算部87から通知される(Lhi×Wi)の値を順に加算して高優先クラスの合計優先度(Lhisum×Wi)として保持し、上記(1)および(2)の場合に低優先クラスキュー単位で該当キューの(Lhisum×Wi)の値を加算器84に出力するとともに、該当キューの出力後は該当キューの値をクリアする。時刻レジスタ83は、パケット情報格納用出力完了予定時刻FIFO85からパケットが出力されたときの時刻tを保持する。
The high-priority class priority calculation unit 87 outputs a packet from the high-priority class queue (however, when the high-priority class is input as a PQ-type high-priority queue, the packet may arrive) Then, (Lhi × Wi) is calculated from the queue number i of the packet, the packet length Lhi, and the weighting factor Wi of the corresponding queue. The high-
加算器84は、上記(1)および(2)の場合に、低優先クラス優先度演算部81からの低優先クラスの優先度と、端数用メモリ82からの端数値と、高優先帯域用メモリ88からの合計優先度値と、時刻レジスタ83の時刻tとを加算して出力完了予定時刻を決定するとともに、該当キュー番号i、パケット長Li(1)および加算された出力完了予定時刻のうちパケット情報格納用出力完了予定時刻FIFOメモリ85で対応可能な上位ビットをパケット情報格納用出力完了予定時刻FIFOメモリ85に出力し、残りの端数である下位ビットを端数用メモリ82に出力する。パケット情報格納用出力完了予定時刻FIFOメモリ85は、加算器84から出力された、これらの情報を格納する。出力制御部86は、各FIFOメモリに対してパケット情報の有無を示すレジスタを設け、これをスキャンすることにより出力完了予定時刻が最も小さくパケット情報の格納されているFIFOメモリを検索し、そのFIFOメモリに格納されたキュー番号に基づいてパケット出力順序を決定し、また、パケット長に基づいて出力タイミングを決定する。
In the above cases (1) and (2), the
ここで、上述した高優先帯域用メモリ88の動作では、同一ユーザの低優先クラスキューにパケットが存在せず、高優先クラスキューから多数のパケットが出力されている(到着している)場合、常に加算処理が行われ、その後、低優先クラスキューが到着したときに、これまで出力された高優先クラスキューの帯域分だけ出力完了予定時刻を遅らせることになり、当該ユーザの帯域が設定値より一時的に少なくなることがある。また、低優先クラスキューの空時間が長ければ長いほどキュー単位の高優先帯域用メモリ88の容量が大きいものが必要となる。
Here, in the operation of the high-
このため、高優先帯域用メモリ88では、上記(1)の場合には、端数用メモリ82と同様に加算器84に対して0を出力し、上記(2)の場合にのみ高優先クラスキューの帯域を加算した値を出力することが好ましい。このような処理を行った場合、上記(1)の場合に瞬間的に該当ユーザの帯域が多めに出力される可能性があるが、それまで低優先クラスキューが空であったことを考慮すれば、低優先キューにおいて輻輳が起こることは考えられない。また、上記(1)の場合には高優先帯域用メモリ88に蓄積されている値をクリアすることができるので、高優先帯域用メモリ88の容量も小さいものでよい。
Therefore, in the case of (1), the high
以上説明したように、この実施の形態のパケットスケジューラにおけるWFQ制御部によれば、端数用メモリ、高優先帯域用メモリ、時刻レジスタなどの各種記憶部や、高優先クラス優先度演算部、低優先クラス優先度演算部、加算器などの各種演算部が具備され、これらの構成部に蓄積される情報の管理を適正に行うようにしているので、回路規模が削減され、処理時間が短縮されるとともに、高優先クラスの帯域も考慮した多数のユーザにおける帯域制御の公平性を確保することが可能なWFQ制御が実現される。 As described above, according to the WFQ control unit in the packet scheduler of this embodiment, various storage units such as a fraction memory, a high priority band memory, a time register, a high priority class priority calculation unit, and a low priority Since various arithmetic units such as a class priority arithmetic unit and an adder are provided and information stored in these components is appropriately managed, the circuit scale is reduced and the processing time is shortened. At the same time, WFQ control capable of ensuring fairness of bandwidth control for a large number of users considering high priority class bandwidth is also realized.
なお、この実施の形態では、パケット情報格納用出力完了予定時刻FIFOメモリ85のビット刻みを考慮して端数用メモリ82を有する構成を具備するように構成しているが、当該FIFOメモリのビット刻みが十分であれば、端数用メモリ82を省略してもよい。
In this embodiment, the packet information storage output completion scheduled
以上のように、本発明は、高優先クラスの帯域も考慮した多数のユーザにおける帯域制御の公平性を確保することが可能なWFQ制御機能を有するパケットスケジューラとして有用である。 As described above, the present invention is useful as a packet scheduler having a WFQ control function capable of ensuring fairness of bandwidth control among a large number of users considering high priority class bandwidths.
10,130 パケット振り分け制御部
11,131 高優先クラスキュー
12,121,122,12i,12n,132,1321,1322,132n 低優先クラスキュー
13 パケット長通知部
14,133 WFQ制御部
15,134 PQ制御部
81 低優先クラス優先度演算部
82 端数用メモリ
83 時刻レジスタ
84 加算器
85 パケット情報格納用出力完了予定時刻FIFOメモリ
86 出力制御部
87 高優先クラス優先度演算部
88 高優先帯域用メモリ
10, 130 Packet distribution control unit 11 , 131 High
Claims (6)
入力されたパケットの優先クラスおよびユーザを識別して前記高優先クラスキューまたは前記低優先クラスキューのいずれかのキューに振り分けるパケット振り分け制御部と、
前記高優先クラスキューから出力されるパケットのユーザおよびパケット長を通知するパケット長通知部と、
前記パケット長通知部から通知されたユーザおよびパケット長の各情報と、前記低優先クラスキューに格納されたパケットのパケット長と、ユーザごとに割り当てられた前記高優先クラスと前記低優先クラスとの合計帯域に応じて該ユーザごとに決定されたウェイト値と、に基づいて前記低優先クラスキューに格納されたパケットの出力完了予定時刻を該ユーザごとに所定のタイミングで算出するWFQ制御部と、
前記低優先クラスキューに格納されて前記WFQ制御部を介して出力されるパケットおよび前記高優先クラスキューに格納されたパケットの中で、該高優先クラスキューに格納されたパケットを優先して出力するPQ制御部と、
を備えたことを特徴とするパケットスケジューラ。 A packet scheduler for determining an output order of packets stored in a high priority class queue and a low priority class queue divided for each user,
A packet distribution control unit that identifies a priority class and a user of an input packet and distributes them to either the high priority class queue or the low priority class queue;
A packet length notifying unit for notifying a user and a packet length of a packet output from the high priority class queue;
Each information of the user and the packet length notified from the packet length notification unit, the packet length of the packet stored in the low priority class queue, the high priority class and the low priority class assigned to each user A WFQ control unit that calculates a scheduled output completion time of a packet stored in the low-priority class queue based on a weight value determined for each user according to a total bandwidth at a predetermined timing for each user;
Among the packets stored in the low priority class queue and output via the WFQ control unit and the packets stored in the high priority class queue, the packets stored in the high priority class queue are output with priority. A PQ control unit,
A packet scheduler characterized by comprising:
前記WFQ制御部は、
前記高優先クラスキューから出力されたm番目のパケットの帯域分だけ前記所定ユーザの低優先クラスの優先度を下げるための基準時刻を、前記VFi(m−1)と前記th(m)との大小関係に基づいて決定することを特徴とする請求項1または2に記載のパケットスケジューラ。 When m packets of a predetermined user are output from the high-priority class queue, the time when the m-th packet is output is defined as th (m), and is output from the high-priority class queue by (m-1) th. When the virtual output completion scheduled time calculated as a virtual accumulation in the low priority class of the predetermined user by the packet is VFi (m−1),
The WFQ control unit
A reference time for lowering the priority of the low-priority class of the predetermined user by the bandwidth of the m-th packet output from the high-priority class queue is set to the VFi (m−1) and the th (m). The packet scheduler according to claim 1, wherein the packet scheduler is determined based on a magnitude relationship.
前記高優先クラスキューに格納されたパケットが該高優先クラスキューから出力された際に、当該出力パケットにかかる優先度を演算する演算手段と、
前記ユーザごとに高優先クラスのパケットの優先度を加算して保持する記憶手段と、
前記低優先クラスの各キューの先頭パケットの優先度を演算する手段と、
現在の時刻を保持するレジスタと、
前記高優先クラスのパケットの優先度の加算値と、前記低優先クラスの先頭パケットの優先度と、前記レジスタから出力される現在時刻とを加算する加算器と、
前記加算器の加算値に対応した前記低優先クラスキューに格納されているパケットのキュー情報を記憶するFIFOメモリと、
前記FIFOメモリに格納されているキュー情報に基づいてパケット出力順序を決定するとともに、該FIFOメモリに格納されているパケット長に基づいて出力タイミングを決定することを特徴とする請求項1または2に記載のパケットスケジューラ。 The WFQ control unit
A calculation means for calculating a priority applied to the output packet when the packet stored in the high priority class queue is output from the high priority class queue;
Storage means for adding and holding the priority of packets of a high priority class for each user;
Means for calculating the priority of the first packet of each queue of the low priority class;
A register holding the current time, and
An adder for adding the priority value of the packets of the high priority class, the priority of the first packet of the low priority class, and the current time output from the register;
A FIFO memory for storing queue information of packets stored in the low priority class queue corresponding to the addition value of the adder;
3. The packet output order is determined based on queue information stored in the FIFO memory, and an output timing is determined based on a packet length stored in the FIFO memory. The described packet scheduler.
前記高優先クラスキューに格納されたパケットが該高優先クラスキューから出力された際に、所定ユーザの低優先クラスキューにパケットが存在しない場合、該所定ユーザの高優先クラスの優先度を加算しないことを特徴とする請求項4に記載のパケットスケジューラ。 The WFQ control unit
When a packet stored in the high priority class queue is output from the high priority class queue and no packet exists in the low priority class queue of the predetermined user, the priority of the high priority class of the predetermined user is not added. The packet scheduler according to claim 4.
入力されたパケットの優先クラスおよびユーザを識別して前記高優先クラスキューまたは前記低優先クラスキューのいずれかのキューに振り分けるパケット振り分けステップと、
前記高優先クラスキューから出力されるパケットのユーザおよびパケット長を通知するパケット長通知ステップと、
前記パケット長通知部から通知されたユーザおよびパケット長の各情報と、前記低優先クラスキューに格納されたパケットのパケット長の情報と、ユーザごとに割り当てられた前記高優先クラスと前記低優先クラスとの合計帯域に応じてユーザごとに決定されたウェイト値と、に基づいて前記低優先クラスキューに格納されたパケットの出力完了予定時刻を所定のタイミングで算出する出力完了予定時刻算出ステップと、
前記低優先クラスキューに格納されているパケットおよび前記高優先クラスキューに格納されたパケットの中で、該高優先クラスキューに格納されたパケットを優先して出力する出力ステップと、
を含むことを特徴とするパケットスケジューリング方法。 A packet scheduling method for determining an output order of packets stored in each of a high priority class queue and a low priority class queue divided for each user,
A packet distribution step for identifying a priority class and a user of an input packet and distributing the packet to either the high priority class queue or the low priority class queue;
A packet length notifying step for notifying the user and packet length of a packet output from the high priority class queue;
Each information of the user and packet length notified from the packet length notification unit, packet length information of the packet stored in the low priority class queue, the high priority class and the low priority class assigned to each user A scheduled output completion time calculating step for calculating a scheduled output completion time of a packet stored in the low priority class queue based on a weight value determined for each user according to the total bandwidth of
An output step for preferentially outputting the packet stored in the high priority class queue among the packets stored in the low priority class queue and the packets stored in the high priority class queue;
A packet scheduling method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190437A JP4447521B2 (en) | 2005-06-29 | 2005-06-29 | Packet scheduler and packet scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190437A JP4447521B2 (en) | 2005-06-29 | 2005-06-29 | Packet scheduler and packet scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007013462A true JP2007013462A (en) | 2007-01-18 |
JP4447521B2 JP4447521B2 (en) | 2010-04-07 |
Family
ID=37751385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005190437A Expired - Fee Related JP4447521B2 (en) | 2005-06-29 | 2005-06-29 | Packet scheduler and packet scheduling method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4447521B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157782A (en) * | 2008-12-26 | 2010-07-15 | Mitsubishi Electric Corp | Packet scheduling method and apparatus |
US7855960B2 (en) | 2008-01-30 | 2010-12-21 | Alaxala Networks Corporation | Traffic shaping method and device |
JP2012205159A (en) * | 2011-03-26 | 2012-10-22 | Fujitsu Ltd | Flow-by-flow flow-rate supervision method, communication apparatus and program |
CN103248965A (en) * | 2013-03-05 | 2013-08-14 | 上海交通大学 | Method for video transmission queue scheduling based on approximate time delay |
JP2014158066A (en) * | 2013-02-14 | 2014-08-28 | O F Networks Co Ltd | Optical line unit, station side device, and optical communication system |
JP2015037209A (en) * | 2013-08-12 | 2015-02-23 | 日本電信電話株式会社 | Packet scheduler, communication network, and packet scheduling method |
JP2015508260A (en) * | 2012-02-11 | 2015-03-16 | ヴィド スケール インコーポレイテッド | Method and apparatus for video aware (VIDEOWARE) hybrid automatic repeat request |
JP2015126355A (en) * | 2013-12-26 | 2015-07-06 | Kddi株式会社 | Traffic flow allocation method and device |
JP2015177235A (en) * | 2014-03-13 | 2015-10-05 | Kddi株式会社 | Traffic flow allocation method and device |
JP2017060036A (en) * | 2015-09-17 | 2017-03-23 | 日本電気株式会社 | Band control device, band control method and program |
JP2021182694A (en) * | 2020-05-19 | 2021-11-25 | トヨタ自動車株式会社 | Setting device, parameter setting method, and program |
-
2005
- 2005-06-29 JP JP2005190437A patent/JP4447521B2/en not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7855960B2 (en) | 2008-01-30 | 2010-12-21 | Alaxala Networks Corporation | Traffic shaping method and device |
US8553543B2 (en) | 2008-01-30 | 2013-10-08 | Alaxala Networks Corporation | Traffic shaping method and device |
JP2010157782A (en) * | 2008-12-26 | 2010-07-15 | Mitsubishi Electric Corp | Packet scheduling method and apparatus |
JP2012205159A (en) * | 2011-03-26 | 2012-10-22 | Fujitsu Ltd | Flow-by-flow flow-rate supervision method, communication apparatus and program |
JP2017103804A (en) * | 2012-02-11 | 2017-06-08 | ヴィド スケール インコーポレイテッド | Method and apparatus for video-aware hybrid automatic retransmission request |
JP2015508260A (en) * | 2012-02-11 | 2015-03-16 | ヴィド スケール インコーポレイテッド | Method and apparatus for video aware (VIDEOWARE) hybrid automatic repeat request |
US9942918B2 (en) | 2012-02-11 | 2018-04-10 | Vid Scale, Inc. | Method and apparatus for video aware hybrid automatic repeat request |
JP2014158066A (en) * | 2013-02-14 | 2014-08-28 | O F Networks Co Ltd | Optical line unit, station side device, and optical communication system |
CN103248965A (en) * | 2013-03-05 | 2013-08-14 | 上海交通大学 | Method for video transmission queue scheduling based on approximate time delay |
JP2015037209A (en) * | 2013-08-12 | 2015-02-23 | 日本電信電話株式会社 | Packet scheduler, communication network, and packet scheduling method |
JP2015126355A (en) * | 2013-12-26 | 2015-07-06 | Kddi株式会社 | Traffic flow allocation method and device |
JP2015177235A (en) * | 2014-03-13 | 2015-10-05 | Kddi株式会社 | Traffic flow allocation method and device |
JP2017060036A (en) * | 2015-09-17 | 2017-03-23 | 日本電気株式会社 | Band control device, band control method and program |
JP2021182694A (en) * | 2020-05-19 | 2021-11-25 | トヨタ自動車株式会社 | Setting device, parameter setting method, and program |
JP7247952B2 (en) | 2020-05-19 | 2023-03-29 | トヨタ自動車株式会社 | Setting device, parameter setting method and program |
Also Published As
Publication number | Publication date |
---|---|
JP4447521B2 (en) | 2010-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4447521B2 (en) | Packet scheduler and packet scheduling method | |
US6810426B2 (en) | Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network | |
US7142513B2 (en) | Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control | |
JP3715098B2 (en) | Packet distribution apparatus and method in communication network | |
US6895012B2 (en) | Method and apparatus for packet scheduling in network | |
US8000247B2 (en) | Bandwidth management apparatus | |
US6795870B1 (en) | Method and system for network processor scheduler | |
US6940861B2 (en) | Data rate limiting | |
US20050047425A1 (en) | Hierarchical scheduling for communications systems | |
US7212535B2 (en) | Scheduling items using mini-quantum values | |
EP3073680B1 (en) | Methods, queueing system, network element and network system for queueing and processing of packets | |
KR20030026240A (en) | Data packet discarding | |
CN111355673A (en) | Data processing method, device, equipment and storage medium | |
JP2003531517A (en) | Method and system for network processor scheduling output using disconnect / reconnect flow queue | |
KR101737516B1 (en) | Method and apparatus for packet scheduling based on allocating fair bandwidth | |
EP1471694B1 (en) | Method for dimensioning bandwidth in voice-over-IP networks | |
US7266612B1 (en) | Network having overload control using deterministic early active drops | |
Bruneel et al. | Queueing models for the analysis of communication systems | |
KR20020079904A (en) | Unified algorithm for frame scheduling and buffer management in differentiated services networks | |
US8467401B1 (en) | Scheduling variable length packets | |
KR20120055947A (en) | Method and apparatus for providing Susbscriber-aware per flow | |
FI118072B (en) | A method and apparatus for scheduling transmission link capacity between packet switched communication networks maintaining retention characteristics | |
Asaduzzaman et al. | The Eight Class of Service Model-An Improvement over the Five Classes of Service | |
JPH11298523A (en) | Packet scheduling method | |
US7315901B1 (en) | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090908 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091106 |
|
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: 20100119 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100120 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130129 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4447521 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: 20130129 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |