JP4447521B2 - Packet scheduler and packet scheduling method - Google Patents

Packet scheduler and packet scheduling method Download PDF

Info

Publication number
JP4447521B2
JP4447521B2 JP2005190437A JP2005190437A JP4447521B2 JP 4447521 B2 JP4447521 B2 JP 4447521B2 JP 2005190437 A JP2005190437 A JP 2005190437A JP 2005190437 A JP2005190437 A JP 2005190437A JP 4447521 B2 JP4447521 B2 JP 4447521B2
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.)
Expired - Fee Related
Application number
JP2005190437A
Other languages
Japanese (ja)
Other versions
JP2007013462A (en
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
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone 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, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005190437A priority Critical patent/JP4447521B2/en
Publication of JP2007013462A publication Critical patent/JP2007013462A/en
Application granted granted Critical
Publication of JP4447521B2 publication Critical patent/JP4447521B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 Patent Document 1 and Non-Patent Document 1 shown below as well-known documents disclosing a queue scheduling method for QoS control. In these documents, a WFQ (Weighted Fair Queuing) method is used in which an output completion scheduled time is calculated according to a weight proportional to the arrival packet length and the user's guaranteed bandwidth, and the output completion scheduled time is output in order from the smallest packet. A packet scheduling method based on the above is disclosed.

例えば、特許文献1に示される技術では、(ユーザ数)×(優先クラス数)のキューが設けられ、到着したパケットをユーザおよび優先クラスに応じて各キューに振り分け、同一ユーザ内では複数の優先クラスのキューに対してPQ(Priority Queuing)方式を用いる一方で、ユーザ間ではユーザごとに全優先クラスの合計保証帯域に比例した重み付けを行ったWFQ方式を用いることにより、ユーザごとに全優先クラスを合計した帯域で帯域保証するようにしている。   For example, in the technique disclosed in Patent Document 1, queues of (number of users) × (number of priority classes) are provided, and arrived packets are distributed to each queue according to users and priority classes. While the PQ (Priority Queueing) method is used for the class queue, the WFQ method in which weighting is proportional to the total guaranteed bandwidth of all the priority classes for each user is used for each user. The bandwidth is guaranteed with the total bandwidth.

また、非特許文献1に示される技術では、短い遅延時間でパケットを転送したい優先度の高いクラスのキューと、(ユーザ数)×(高優先以外の優先クラス数)のキューとがそれぞれ設けられ、到着したパケットの中で最も優先度の高いパケットは全ユーザを合わせて到着順に高優先クラスキューへ格納してPQ方式で最優先に出力することにより、遅延時間が少ない構成としている。一方、それ以外の優先クラスのパケットは、ユーザおよび優先クラスに応じたキューに振り分け、同一ユーザ内では複数の優先クラスのキューに対してPQ方式を用い、ユーザ間ではユーザごとに高優先クラス以外のクラスにおける保証帯域に比例した重み付けを行ったWFQ方式を用いることにより、低優先クラスにかかるユーザごとの帯域を保証している。   In the technique disclosed in Non-Patent Document 1, a high-priority class queue for transferring packets with a short delay time and a (number of users) × (priority class number other than high priority) queues are provided. The packet having the highest priority among the arriving packets is stored in the high priority class queue in the order of arrival together with all the users, and is output with the highest priority by the PQ method. On the other hand, packets of other priority classes are distributed to queues according to users and priority classes, the PQ method is used for queues of multiple priority classes within the same user, and users other than the high priority class for each user. By using the WFQ method weighted in proportion to the guaranteed bandwidth in each class, the bandwidth for each user in the low priority class is guaranteed.

特開2001−197110号公報JP 2001-197110 A 許炎、天羽健策、宮本和代、中後明 「WFQをベースとした高速パケットスケジューリング手法」 電子情報通信学会技術研究報告 SSE98−78、IN98−59、CS98−75、1998年9月、P37〜44Konomi, Kensaku Amaha, Kazuyo Miyamoto, Akira Nakago “High-Speed Packet Scheduling Method Based on WFQ” IEICE Technical Report SSE98-78, IN98-59, CS98-75, September 1998, P37- 44

しかしながら、上記特許文献1に示されるようなWFQ方式を用いたパケットスケジューリング方法では、ユーザごとの帯域は保証されるが、高優先クラスキューに格納されているパケットの読み出し遅延がユーザ数や出力するパケット長に比例して大きくなり、最悪では(ユーザ数−1)×(最大パケット長)の遅延時間が生じる。従って、数千〜数万といった多数のユーザが使用する場合に音声や映像等のリアルタイム性を要するアプリケーションを利用しようとすると、高優先クラスを設定しても遅延時間が大きいため快適に使用できなくなる可能性があるといった問題点があった。   However, in the packet scheduling method using the WFQ method as shown in Patent Document 1, the bandwidth for each user is guaranteed, but the read delay of the packet stored in the high priority class queue outputs the number of users and the number of users. The delay time increases in proportion to the packet length, and in the worst case, a delay time of (number of users-1) × (maximum packet length) occurs. Therefore, if a large number of users, such as thousands to tens of thousands, use an application that requires real-time performance such as audio and video, even if a high-priority class is set, the delay time is large and it cannot be used comfortably. There was a problem that there was a possibility.

また、上記非特許文献1に示されるようなWFQ方式を用いたパケットスケジューリング方法では、高優先クラスのパケットはPQ方式により優先して出力されているので、ユーザ数が増えた場合でも特許文献1のように遅延が大きくなることはない。しかしながら、WFQ方式によりユーザごとに高優先クラス以外の保証帯域に比例した重み付けを行うようにしているので、高優先クラスとそれ以外のクラスを合わせたユーザごとの帯域は保証できないといった問題点があった。   Further, in the packet scheduling method using the WFQ method as shown in Non-Patent Document 1, the high priority class packet is preferentially output by the PQ method, so that even if the number of users increases, Patent Document 1 The delay does not become large. However, since weighting in proportion to the guaranteed bandwidth other than the high priority class is performed for each user by the WFQ method, there is a problem that it is not possible to guarantee the bandwidth for each user combining the high priority class and the other classes. It was.

本発明は、上記に鑑みてなされたものであって、高優先クラスのパケットの遅延時間を少なくし、帯域保証と遅延時間保証との公平性や、高優先クラスと低優先クラスとを合わせた帯域保証をユーザごとに実現可能とするパケットスケジューラおよびパケットスケジューリング方法を提供することを目的とする。   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制御部と、を備え、前記WFQ制御部は、先頭パケットが出力された低優先クラスキューに次に出力されるパケットが存在する場合、または、空であった低優先クラスキューに新たなパケットが到着した場合のいずれかのタイミングで前記出力完了予定時刻を算出することを特徴とする。 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. An output PQ control unit, and the WFQ control unit adds a new packet to the low-priority class queue that is empty when the next packet to be output exists in the low-priority class queue from which the first packet is output. The output completion scheduled time is calculated at any timing when a new packet arrives .

本発明にかかるパケットスケジューラによれば、高優先クラスキューから出力されるパケットのユーザおよびパケット長が通知され、通知されたユーザおよびパケット長の各情報と、低優先クラスキューに格納されたパケットのパケット長の情報と、ユーザごとに割り当てられた高優先クラスと低優先クラスとの合計帯域に応じてユーザごとに決定されたウェイト値とに基づいて低優先クラスキューに格納されたパケットの出力完了予定時刻を所定のタイミングでユーザごとに算出するようにしているので、優先クラスのパケットの遅延時間を少なくし、帯域保証と遅延時間保証との公平性や、高優先クラスと低優先クラスとを合わせた帯域保証をユーザごとに実現することができるという効果を奏する。   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を備えている。
Embodiment 1 FIG.
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 distribution control unit 10, a high priority class queue 11, a low priority class queue 12 (12 1 , 12 2 ,..., 12 n ), a packet length notification unit 13, and a WFQ control unit 14. And a PQ control unit 15.

つぎに、図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 distribution control unit 10 recognizes the priority class and user (# 1 to #n) of the input packet, and sends the input packet to each queue (high priority class queue 11 or low priority class queue). To any one of 12 queues). The high priority class queue 11 stores the packets of the high priority class distributed by the packet distribution control unit 10 in the order of input. On the other hand, the low priority class queue 12 stores the low priority class packets distributed for each user by the packet distribution control unit 10. The packet length notification unit 13 recognizes the user and the packet length (number of bytes) of the packet output from the high priority class queue 11 and notifies the WFQ control unit 14 of it. In FIG. 1, n low priority class queues 12 1 to 12 n for n users of one class are illustrated, but when there are a plurality of low priority classes, (number of users) × ( Queues for the number of low priority classes) are provided.

また、WFQ制御部14は、以下の処理を行う。
(1) パケット長通知部13から通知された高優先クラスのパケット長(バイト数)をユーザごとに加算して保持する。
(2) 空であるキューにパケットが到着した場合あるいは低優先クラスのパケットが出力された場合に新たにキューの先頭になるパケットのパケット長と保持していた高優先クラスのパケット長とを加算する。
(3) (2)の処理にて算出された加算出力に対してユーザごとに高優先クラスと低優先クラスとの合計帯域に比例した重み付けを行い、加算されたパケット長とユーザの重み付け値(ウェイト値)に基づいて各低優先クラスキュー12の出力完了予定時刻を算出する。
(4) 各低優先クラスキュー12の先頭パケットの中で出力完了予定時刻が最小のパケットを読み出す。
The WFQ control unit 14 performs the following processing.
(1) The packet length (number of bytes) of the high priority class notified from the packet length notification unit 13 is added and held for each user.
(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 priority class queue 12 is calculated based on the (weight value).
(4) Read the packet with the shortest scheduled output completion time from the top packets of each low priority class queue 12.

また、PQ制御部15は、高優先クラスキュー11に格納されているパケットを優先して出力し、高優先クラスキュー11が空のときにWFQ制御部14によって選択される低優先クラスキュー12の先頭パケットを出力する。   The PQ control unit 15 gives priority to the packets stored in the high priority class queue 11 and outputs the low priority class queue 12 selected by the WFQ control unit 14 when the high priority class queue 11 is empty. Output the first packet.

ところで、この実施の形態のパケットスケジューラは、高優先クラスと低優先クラスとが連携した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 Document 1 described above will be described, and then the operation of the packet scheduler according to the present embodiment will be described. . 2 is a diagram illustrating a configuration of the packet scheduler described in Non-Patent Document 1 and the like, and FIG. 3 is a diagram for explaining a control operation of the WFQ control unit 133 illustrated in FIG.

まず、図2において、同図に示されるパケットスケジューラは、パケット振り分け制御部130、高優先クラスキュー131、低優先クラスキュー132(1321,1322,・・・,132n)、WFQ制御部133およびPQ制御部134を備えている。 2, the packet scheduler shown in FIG. 2 includes a packet distribution control unit 130, a high priority class queue 131, a low priority class queue 132 (132 1 , 132 2 ,..., 132 n ), and a WFQ control unit. 133 and a PQ control unit 134.

パケット振り分け制御部130は、入力されたパケットをユーザ(#1〜#n)および優先クラスに応じたキューに振り分ける。高優先クラスキュー131は、全ユーザの高優先クラスのパケットを入力順に格納する。一方、低優先クラスキュー132は、低優先クラスのパケットをユーザごとに格納する。WFQ制御部133は、ユーザごとに設定された低優先クラスの保証帯域に比例した重み付け(ウェイト)と先頭パケット長(バイト数)に従ってWFQ制御を行って各キューからのパケットを出力する。PQ制御部134は、WFQ制御部133で選択された低優先クラスキュー132より高優先クラスキュー131のパケットを優先して出力する。   The packet distribution control unit 130 distributes input packets to queues corresponding to users (# 1 to #n) and priority classes. The high priority class queue 131 stores the high priority class packets of all users in the order of input. On the other hand, the low priority class queue 132 stores a low priority class packet for each user. The WFQ control unit 133 performs WFQ control according to the weight (weight) proportional to the guaranteed bandwidth of the low priority class set for each user and the head packet length (number of bytes), and outputs a packet from each queue. The PQ control unit 134 prioritizes and outputs the packets in the high priority class queue 131 over the low priority class queue 132 selected by the WFQ control unit 133.

なお、図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 WFQ control unit 133 shown in FIG. 2 will be described with reference to FIG. In addition, about the component same as FIG. 2, the same code | symbol is attached | subjected and shown.

図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 WFQ control unit 133 includes the minimum guaranteed bandwidth ratios φ1 to φn assigned to the low priority class queues 132 1 to 132 n storing the low priority class packets and the packets arriving at the respective queues. The packet output completion scheduled time is calculated on the basis of the length, and the first packet stored in the low priority class queues 132 1 to 132 n under the restriction of the bandwidth R, in order from the packet with the smallest output completion scheduled time. Output the packet. Here, Fi (k) (F1 (1), F1 (2), F2 (1),..., Fi (1),..., Fn (1)) shown in FIG. Represents the scheduled output completion time of the k-th packet from the beginning.

つぎに、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 WFQ control unit 133, the estimated output completion time of the arrival packet is calculated based on the equations (1) to (4), and the leading packet is output. It is necessary to update the scheduled output completion time of the packets accumulated in the queue based on Expression (5), and there is a disadvantage that the processing load increases when the number of queues n is large. Therefore, a method for reducing the processing load by adopting a simple calculation method as described below is known.

この手法では、まず、出力完了予定時刻を算出するタイミングが以下の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 priority class queue 11, the packet is output first by the PQ method. In this case, in order to guarantee the bandwidth with the total bandwidth of the high priority class and the low priority class for each user, the bandwidth in which the packet of the high priority class is read from the packet of the low priority class queue 12 i of the same user #i It is necessary to lower the priority by delaying the scheduled output completion time. Therefore, when a packet arrives in a queue where the low-priority class queue is empty, or when there is a new head packet from which the top packet of the low-priority class queue is output, the high-priority class queue 11 Using the packet length Lhi (1) of the packet of user #i output from, the output completion scheduled time Fi (1) of the first packet in the low priority class queue represented by equation (8) is corrected as follows: To do.

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 the lowest delay and the highest priority can be used for applications that require real-time performance in the network. In addition, the reciprocal number Wi of the weight proportional to the bandwidth (minimum 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では、高優先クラスキューからパケットが出力された場合に該当ユーザに対して高優先クラスキューから出力されたパケット長を、空である低優先クラスキューにパケットが到着した場合、あるいは低優先クラスキューの先頭のパケットが出力されて新たに先頭になるパケットがある場合に、その低優先クラスのパケットのパケット長に加算することにより、ユーザごとの帯域を保証するようにしていた。
Embodiment 2. FIG.
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, Embodiment 1
(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)は次式で表すことができる。   As a result, 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 control unit 14 included in the packet scheduler illustrated in FIG. .

同図に示す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 priority calculation unit 81, a fractional memory 82, a time register 83, an adder 84, a packet information storage scheduled output completion time FIFO (First In First Out) memory 85, an output. Each component includes a control unit 86, a high priority class priority calculation unit 87, and a high priority band memory 88.

図7において、低優先クラス優先度演算部81は、
(1)空の低優先クラスキューに新たにパケットが到着した場合
(2)ある低優先クラスキューの先頭パケットが出力されて次のパケットがある場合
の2つの条件下において、そのパケットのキュー番号i、パケット長Li(1)、当該キューの重み係数Wiに基づいて「Li(1)×Wi」の演算を行い、低優先クラスの当該パケットの優先度を出力する。
In FIG. 7, the low priority class priority calculation unit 81
(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 fraction memory 82 is determined by the increment of the packet information storage output completion time FIFO memory 85 in order to reduce the circuit size among the output completion scheduled times of the corresponding packets of the low priority class determined by addition by the adder 84. Holds the fraction of the scheduled output completion time to be rounded down in queue units. The fraction information stored in the fraction memory 82 is carried over to the next packet to be output. For example, in the case of (1), the fraction of the corresponding queue is 0, and in the case of (2), the fractional value of the corresponding queue stored in the fraction memory 82 is output to the adder 84, It is overwritten by a new fractional value that is generated when it is added by the adder 84.

高優先クラス優先度演算部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-priority bandwidth memory 88 sequentially adds the values of (Lhi × Wi) notified from the high-priority class priority calculation unit 87 in units of low-priority class queues, and total priority of the high-priority classes (Lhisum × Wi). In the above cases (1) and (2), the value of (Lhisum × Wi) of the corresponding queue is output to the adder 84 in units of low priority class queues, and the value of the corresponding queue is output after the output of the corresponding queue. To clear. The time register 83 holds the time t when the packet is output from the packet information storage output completion scheduled time FIFO 85.

加算器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 adder 84 uses the low-priority class priority from the low-priority class priority calculator 81, the fractional value from the fraction memory 82, and the high-priority bandwidth memory. The total priority value from 88 and the time t of the time register 83 are added to determine the scheduled output completion time, and among the corresponding queue number i, the packet length Li (1), and the added scheduled output completion time The upper bits that can be handled by the packet information storage output completion time FIFO memory 85 are output to the packet information storage output completion time FIFO memory 85, and the lower bits that are the remaining fractions are output to the fraction memory 82. The packet information storage output completion scheduled time FIFO memory 85 stores the information output from the adder 84. The output control unit 86 provides a register indicating the presence / absence of packet information for each FIFO memory, and scans the FIFO memory to search the FIFO memory having the smallest output completion scheduled time and storing the packet information. The packet output order is determined based on the queue number stored in the memory, and the output timing is determined based on the packet length.

ここで、上述した高優先帯域用メモリ88の動作では、同一ユーザの低優先クラスキューにパケットが存在せず、高優先クラスキューから多数のパケットが出力されている(到着している)場合、常に加算処理が行われ、その後、低優先クラスキューが到着したときに、これまで出力された高優先クラスキューの帯域分だけ出力完了予定時刻を遅らせることになり、当該ユーザの帯域が設定値より一時的に少なくなることがある。また、低優先クラスキューの空時間が長ければ長いほどキュー単位の高優先帯域用メモリ88の容量が大きいものが必要となる。   Here, in the operation of the high-priority bandwidth memory 88 described above, when there are no packets in the low-priority class queue of the same user and many packets are output (arrive) from the high-priority class queue, When the low priority class queue arrives, the scheduled output completion time is delayed by the bandwidth of the high priority class queue that has been output so far. May temporarily decrease. In addition, the longer the idle time of the low priority class queue, the larger the capacity of the high priority bandwidth memory 88 for each queue is required.

このため、高優先帯域用メモリ88では、上記(1)の場合には、端数用メモリ82と同様に加算器84に対して0を出力し、上記(2)の場合にのみ高優先クラスキューの帯域を加算した値を出力することが好ましい。このような処理を行った場合、上記(1)の場合に瞬間的に該当ユーザの帯域が多めに出力される可能性があるが、それまで低優先クラスキューが空であったことを考慮すれば、低優先キューにおいて輻輳が起こることは考えられない。また、上記(1)の場合には高優先帯域用メモリ88に蓄積されている値をクリアすることができるので、高優先帯域用メモリ88の容量も小さいものでよい。   Therefore, in the case of (1), the high priority band memory 88 outputs 0 to the adder 84 as in the fraction memory 82, and only in the case of (2) above, the high priority class queue. It is preferable to output a value obtained by adding these bands. When such a process is performed, in the case of (1) above, there is a possibility that the corresponding user's bandwidth may be output momentarily, but considering that the low priority class queue was empty until then. Thus, it is unlikely that congestion will occur in the low priority queue. In the case of (1), the value stored in the high priority band memory 88 can be cleared, so that the capacity of the high priority band memory 88 may be small.

以上説明したように、この実施の形態のパケットスケジューラにおける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 time FIFO memory 85 is considered so as to have a fractional memory 82 in consideration of the bit increments. However, the bit increments of the FIFO memory are included. Is sufficient, the fractional memory 82 may be omitted.

以上のように、本発明は、高優先クラスの帯域も考慮した多数のユーザにおける帯域制御の公平性を確保することが可能な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.

本発明の実施の形態1にかかるパケットスケジューラの機能構成およびキュー構成を示すブロック図である。It is a block diagram which shows the function structure and queue structure of the packet scheduler concerning Embodiment 1 of this invention. 非特許文献1などに示されたパケットスケジューラの構成を示す図である。It is a figure which shows the structure of the packet scheduler shown by the nonpatent literature 1 etc. 図2に示したWFQ制御部133の制御動作を説明するための図である。It is a figure for demonstrating control operation of the WFQ control part 133 shown in FIG. 実施の形態1のパケットスケジューラにおける高優先クラスと連携した低優先クラスのWFQ制御動作を説明するための図である。6 is a diagram for explaining a WFQ control operation of a low priority class in cooperation with a high priority class in the packet scheduler of Embodiment 1. FIG. 実施の形態2のパケットスケジューラにおける高優先クラスと連携した低優先クラスのWFQ制御動作を説明するための図である。FIG. 10 is a diagram for explaining a WFQ control operation of a low priority class in cooperation with a high priority class in the packet scheduler of the second embodiment. 高優先クラスキューからm個のパケットが出力された際に、当該m番目のパケットの帯域分だけ低優先クラスにおける優先度を下げる際の基準時刻が異なる場合の一例を示す図である(VFi(m−1)≧th(m)の場合,th(m):m番目のパケットが出力された時刻、VFi(m−1):(m−1)番目までに高優先クラスキューから出力されたパケットによる低優先クラスにおける仮想出力完了予定時刻)。When m packets are output from a high priority class queue, it is a figure which shows an example when the reference | standard time at the time of lowering the priority in a low priority class by the band of the said mth packet differs (VFi ( If m−1) ≧ th (m), th (m): the time when the mth packet was output, VFi (m−1): output from the high priority class queue before (m−1) th Virtual output completion scheduled time in low priority class by packet). 高優先クラスキューからm個のパケットが出力された際に、当該m番目のパケットの帯域分だけ低優先クラスにおける優先度を下げる際の基準時刻が異なる場合の一例を示す図である(VFi(m−1)<th(m)の場合,th(m):m番目のパケットが出力された時刻、VFi(m−1):(m−1)番目までに高優先クラスキューから出力されたパケットによる低優先クラスにおける仮想出力完了予定時刻)。When m packets are output from a high priority class queue, it is a figure which shows an example when the reference | standard time at the time of lowering the priority in a low priority class by the band of the said mth packet differs (VFi ( If m-1) <th (m), th (m): time when the mth packet was output, VFi (m-1): output from the high priority class queue before (m-1) th Virtual output completion scheduled time in low priority class by packet). 本発明の実施の形態3にかかるWFQ制御部の機能構成を示す図である。It is a figure which shows the function structure of the WFQ control part concerning Embodiment 3 of this invention.

符号の説明Explanation of symbols

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 priority class queue 12, 12 1 , 12 2 , 12 i , 12 n , 132, 132 1 , 132 2 , 132 n Low priority class queue 13 Packet length notification unit 14, 133 WFQ control unit 15,134 PQ control unit 81 Low priority class priority calculation unit 82 Fractional memory 83 Time register 84 Adder 85 Packet information storage scheduled output completion time FIFO memory 86 Output control unit 87 High priority class priority calculation unit 88 High priority bandwidth memory

Claims (5)

高優先クラスキューおよびユーザごとに区分された低優先クラスキューのそれぞれに格納されたパケットの出力順序を決定するパケットスケジューラであって、
入力されたパケットの優先クラスおよびユーザを識別して前記高優先クラスキューまたは前記低優先クラスキューのいずれかのキューに振り分けるパケット振り分け制御部と、
前記高優先クラスキューから出力されるパケットのユーザおよびパケット長を通知するパケット長通知部と、
前記パケット長通知部から通知されたユーザおよびパケット長の各情報と、前記低優先クラスキューに格納されたパケットのパケット長と、ユーザごとに割り当てられた前記高優先クラスと前記低優先クラスとの合計帯域に応じて該ユーザごとに決定されたウェイト値と、に基づいて前記低優先クラスキューに格納されたパケットの出力完了予定時刻を該ユーザごとに所定のタイミングで算出するWFQ制御部と、
前記低優先クラスキューに格納されて前記WFQ制御部を介して出力されるパケットおよび前記高優先クラスキューに格納されたパケットの中で、該高優先クラスキューに格納されたパケットを優先して出力するPQ制御部と、
を備え
前記WFQ制御部は、先頭パケットが出力された低優先クラスキューに次に出力されるパケットが存在する場合、または、空であった低優先クラスキューに新たなパケットが到着した場合のいずれかのタイミングで前記出力完了予定時刻を算出することを特徴とするパケットスケジューラ。
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,
Equipped with a,
The WFQ control unit is either when a packet to be output next exists in the low priority class queue from which the first packet is output, or when a new packet arrives in the low priority class queue that was empty A packet scheduler characterized in that the output completion scheduled time is calculated at a timing .
前記高優先クラスキューから所定ユーザのパケットがm個出力されるとき、m番目のパケットが出力された時刻をth(m)とし、(m−1)番目までに高優先クラスキューから出力されたパケットによって該所定ユーザの低優先クラスに仮想的に溜まったものとして算出される仮想出力完了予定時刻をVFi(m−1)とするとき、
前記WFQ制御部は、
前記高優先クラスキューから出力されたm番目のパケットの帯域分だけ前記所定ユーザの低優先クラスの優先度を下げるための基準時刻を、前記VFi(m−1)と前記th(m)との大小関係に基づいて決定することを特徴とする請求項1に記載のパケットスケジューラ。
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.
前記WFQ制御部は、
前記高優先クラスキューに格納されたパケットが該高優先クラスキューから出力された際に、当該出力パケットにかかる優先度を演算する演算手段と、
前記ユーザごとに高優先クラスのパケットの優先度を加算して保持する記憶手段と、
前記低優先クラスの各キューの先頭パケットの優先度を演算する手段と、
現在の時刻を保持するレジスタと、
前記高優先クラスのパケットの優先度の加算値と、前記低優先クラスの先頭パケットの優先度と、前記レジスタから出力される現在時刻とを加算する加算器と、
前記加算器の加算値に対応した前記低優先クラスキューに格納されているパケットのキュー情報を記憶するFIFOメモリと、
前記FIFOメモリに格納されているキュー情報に基づいてパケット出力順序を決定するとともに、該FIFOメモリに格納されているパケット長に基づいて出力タイミングを決定することを特徴とする請求項1に記載のパケットスケジューラ。
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;
And determines the packet output order based on the queue information stored in the FIFO memory, according to claim 1, characterized in that to determine the output timing based on the packet length stored in the FIFO memory Packet scheduler.
前記WFQ制御部は、
前記高優先クラスキューに格納されたパケットが該高優先クラスキューから出力された際に、所定ユーザの低優先クラスキューにパケットが存在しない場合、該所定ユーザの高優先クラスの優先度を加算しないことを特徴とする請求項に記載のパケットスケジューラ。
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 3 .
高優先クラスキューおよびユーザごとに区分された低優先クラスキューのそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法であって、
入力されたパケットの優先クラスおよびユーザを識別して前記高優先クラスキューまたは前記低優先クラスキューのいずれかのキューに振り分けるパケット振り分けステップと、
前記高優先クラスキューから出力されるパケットのユーザおよびパケット長を通知するパケット長通知ステップと、
前記パケット長通知部から通知されたユーザおよびパケット長の各情報と、前記低優先クラスキューに格納されたパケットのパケット長の情報と、ユーザごとに割り当てられた前記高優先クラスと前記低優先クラスとの合計帯域に応じてユーザごとに決定されたウェイト値と、に基づいて前記低優先クラスキューに格納されたパケットの出力完了予定時刻を所定のタイミングで算出する出力完了予定時刻算出ステップと、
前記低優先クラスキューに格納されているパケットおよび前記高優先クラスキューに格納されたパケットの中で、該高優先クラスキューに格納されたパケットを優先して出力する出力ステップと、
を含み、
前記出力完了予定時刻を算出する所定のタイミングが、先頭パケットが出力された低優先クラスキューに次に出力されるパケットが存在する場合、または、空であった低優先クラスキューに新たなパケットが到着した場合のいずれかであることを特徴とするパケットスケジューリング方法。
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;
Only including,
The predetermined timing for calculating the scheduled output completion time is when there is a packet to be output next in the low priority class queue from which the first packet is output, or when a new packet is in the low priority class queue that was empty A packet scheduling method, wherein the packet scheduling method is a case of arrival .
JP2005190437A 2005-06-29 2005-06-29 Packet scheduler and packet scheduling method Expired - Fee Related JP4447521B2 (en)

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 JP2007013462A (en) 2007-01-18
JP4447521B2 true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4881887B2 (en) 2008-01-30 2012-02-22 アラクサラネットワークス株式会社 Traffic shaping functions and equipment
JP5183460B2 (en) * 2008-12-26 2013-04-17 三菱電機株式会社 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
JP6085617B2 (en) * 2012-02-11 2017-02-22 ヴィド スケール インコーポレイテッド Method and apparatus for video aware (VIDEOWARE) hybrid automatic repeat request
JP6032044B2 (en) * 2013-02-14 2016-11-24 沖電気工業株式会社 Station side apparatus and optical communication system
CN103248965B (en) * 2013-03-05 2015-12-09 上海交通大学 A kind of transmission of video array dispatching method based on approximate time delay
JP5959011B2 (en) * 2013-08-12 2016-08-02 日本電信電話株式会社 Packet scheduler, communication network, and packet scheduling method
JP6178723B2 (en) * 2013-12-26 2017-08-09 Kddi株式会社 Traffic flow allocation method and apparatus
JP6178740B2 (en) * 2014-03-13 2017-08-09 Kddi株式会社 Traffic flow allocation method and apparatus
JP6589497B2 (en) * 2015-09-17 2019-10-16 日本電気株式会社 BAND CONTROL DEVICE, BAND CONTROL 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
JP2007013462A (en) 2007-01-18

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
JP3715098B2 (en) Packet distribution apparatus and method in communication network
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
US6895012B2 (en) Method and apparatus for packet scheduling in network
US6377546B1 (en) Rate guarantees through buffer management
US8000247B2 (en) Bandwidth management apparatus
US6795870B1 (en) Method and system for network processor scheduler
US6940861B2 (en) Data rate limiting
US20070070895A1 (en) Scaleable channel scheduler system and method
US20010051992A1 (en) Unified algorithm for frame scheduling and buffer management in differentiated services networks
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
US6804249B1 (en) Method and system for network processor scheduling based on calculation
KR101737516B1 (en) Method and apparatus for packet scheduling based on allocating fair bandwidth
US7266612B1 (en) Network having overload control using deterministic early active drops
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
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