JP5183460B2 - Packet scheduling method and apparatus - Google Patents

Packet scheduling method and apparatus Download PDF

Info

Publication number
JP5183460B2
JP5183460B2 JP2008333342A JP2008333342A JP5183460B2 JP 5183460 B2 JP5183460 B2 JP 5183460B2 JP 2008333342 A JP2008333342 A JP 2008333342A JP 2008333342 A JP2008333342 A JP 2008333342A JP 5183460 B2 JP5183460 B2 JP 5183460B2
Authority
JP
Japan
Prior art keywords
packet
priority class
queue
output
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008333342A
Other languages
Japanese (ja)
Other versions
JP2010157782A (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
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008333342A priority Critical patent/JP5183460B2/en
Publication of JP2010157782A publication Critical patent/JP2010157782A/en
Application granted granted Critical
Publication of JP5183460B2 publication Critical patent/JP5183460B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、パケットスケジューリング方法および装置に関し、特にDS−SWFQ(Delay Sensitive − Simplified Weighted Fair Queuing)を用いた技術に関するものである。   The present invention relates to a packet scheduling method and apparatus, and more particularly, to a technique using DS-SWFQ (Delay Sensitive-Simulated Weighted Fair Queuing).

一般に、複数回線上の複数ユーザからのトラフィックが1つの回線に多重される場合、出力する回線速度以上の入力が存在すると、ふくそうが発生して、バッファ溢れによるパケット廃棄が発生する。これにより、あるユーザの帯域が、他のユーザの帯域に影響を及ぼす可能性が生じる。   Generally, when traffic from a plurality of users on a plurality of lines 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. As a result, there is a possibility that the band of a certain user affects the band of another user.

そこで従来から、上記不具合を回避するために、ユーザごとに最低保証帯域を設定し、設定された保証帯域以上を必ず使用できるように公平な帯域制御を行うパケットスケジューリング方法が開発されている。
また、ネットワーク上では、音声や映像などのリアルタイム性を要求するアプリケーションを快適に使用するために、たとえば、完全優先制御(低遅延転送を可能とする)と、帯域制御(帯域保証を可能とする)との組合せにより、適切なパケットスケジューリングを行うことで、通信帯域の保証や遅延時間の保証といったQoS制御が行われている。
Therefore, conventionally, in order to avoid the above-described problem, a packet scheduling method has been developed in which a minimum guaranteed bandwidth is set for each user and fair bandwidth control is performed so that the set guaranteed bandwidth or more can be used without fail.
Also, on the network, in order to comfortably use applications that require real-time performance such as audio and video, for example, complete priority control (allows low-delay transfer) and bandwidth control (enables bandwidth guarantee) ) To perform QoS control such as guarantee of communication bandwidth and guarantee of delay time by performing appropriate packet scheduling.

かかる状況下において、QoS制御のためのパケットスケジューリング方法が提案されている(たとえば、特許文献1参照)。
上記特許文献1においては、到着したパケット長とユーザの保証帯域に比例した重み付けにしたがって出力完了予定時刻を計算し、出力完了予定時刻が最も小さいパケットから順番に出力するWFQ方式に基づくパケットスケジューリング方法が開示されている。
Under such circumstances, a packet scheduling method for QoS control has been proposed (for example, see Patent Document 1).
In Patent Document 1, a packet scheduling method based on the WFQ method that calculates a scheduled output completion time according to a weight proportional to the arrival packet length and the guaranteed bandwidth of the user, and sequentially outputs the packets with the smallest scheduled output completion time. Is disclosed.

また、特許文献1には、或るユーザの低遅延転送が要求されるパケット(高優先クラス)を完全優先制御にて出力するとともに、低遅延転送を要求されないパケット(低優先クラス)の出力帯域に、そのユーザの帯域分を反映することにより、高優先クラスと低優先クラスとの合計帯域を保証するスケジューリング方法が開示されている。   Patent Document 1 discloses that a packet (high priority class) for which a low delay transfer of a certain user is required is output by full priority control and a packet (low priority class) for which a low delay transfer is not required is output. In addition, a scheduling method for guaranteeing the total bandwidth of the high priority class and the low priority class by reflecting the bandwidth of the user is disclosed.

さらに、上記スケジューリング方法では、新たにキューの先頭パケットが発生した場合、すなわち空のキューにパケットが到着した場合(新先頭登録)と、2個以上のパケットが存在するキューからパケットを読み出した場合(読出しによる次新先頭登録)とにおいて、出力完了予定時刻を計算するとともに、ソート処理を実行する方法が示されている。   Furthermore, in the above scheduling method, when a new head packet is generated, that is, when a packet arrives in an empty queue (new head registration), or when a packet is read from a queue having two or more packets (Next new top registration by reading) shows a method of calculating the scheduled output completion time and executing the sorting process.

上記スケジューリング方法によれば、たとえば入力回線速度が、10ギガビットイーサネット(登録商標)2回線分であって、出力回線速度が、10ギガビットイーサネット(登録商標)1回線分であれば、低優先クラスを出力する場合には、図3に示すように、最短パケット時間内(64byteパケット時間:67.2ns)に、最大で、新先頭登録を2回行い、読出し処理を1回行い、読出しによる次新先頭登録を1回行う必要がある。
また、高優先クラスを出力する場合には、図4に示すように、最大で、高優先クラスの連携処理を1回行い、新先頭登録を2回行うこととなる。
According to the scheduling method, for example, if the input line speed is for two 10 Gigabit Ethernet (registered trademark) lines and the output line speed is for one 10 Gigabit Ethernet (registered trademark) line, the low priority class is selected. In the case of outputting, as shown in FIG. 3, within the shortest packet time (64-byte packet time: 67.2 ns), the new head registration is performed twice, the read processing is performed once, and the next update by reading is performed. It is necessary to register the head once.
When a high priority class is output, as shown in FIG. 4, the maximum priority class linkage process is performed once and new head registration is performed twice as shown in FIG.

図3および図4は従来のパケットスケジューリング方法による処理時間の内訳例を示す説明図であり、図3は、低優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示している。
図3においては、現在の最新プロセス(65nm)のFPGAにて実現した場合の処理時間の内訳を示しており、最大で、新先頭登録が2回発生し、読出し処理が1回発生し、読出しによる登録処理が1回発生し、20G入力および10G出力が限界となっている。
3 and 4 are explanatory diagrams showing an example of the breakdown of the processing time by the conventional packet scheduling method, and FIG. 3 shows the processing time within the shortest packet time of the output line speed when the low priority class is output. The breakdown is shown.
FIG. 3 shows a breakdown of processing time when realized by the FPGA of the current latest process (65 nm). At the maximum, new head registration occurs twice, reading processing occurs once, and reading is performed. Registration process occurs once, and 20G input and 10G output are limited.

一方、図4においては、高優先クラスを出力する場合での、出力回線速度の最短パケット時間内の処理時間の内訳を示しているが、低優先クラスの登録処理を、多少は増加させることは可能であるものの、限界があることが分かる。   On the other hand, FIG. 4 shows the breakdown of the processing time within the shortest packet time of the output line speed when the high priority class is output, but the registration processing of the low priority class is slightly increased. Although it is possible, it turns out that there is a limit.

特開2007−13462号公報JP 2007-13462 A

従来のパケットスケジューリング方法では、出力回線速度における最短パケット時間内で、新規到着パケットの新先頭情報の登録と、読出し処理と、読出しによる次先頭パケット情報の登録とを行う必要があり、入力回線速度が増大した場合には、新規到着パケットの新先頭情報の登録処理が増大するので、新先頭情報の登録処理を行う時間が不足して、一定以上の入力回線速度の向上を実現することができないという課題があった。   In the conventional packet scheduling method, it is necessary to register new head information of newly arrived packets, read processing, and register next head packet information by reading within the shortest packet time at the output line speed. If the increase in the number, the registration process of the new head information of the new arrival packet increases, so the time for performing the registration process of the new head information is insufficient and the input line speed cannot be improved beyond a certain level. There was a problem.

この発明は、上記のような課題を解決するためになされたもので、特に入力回線速度が増大しても、低遅延転送と帯域制御とを行うことが可能なスケジューリング方法および装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and in particular, to obtain a scheduling method and apparatus capable of performing low delay transfer and bandwidth control even when the input line speed increases. Objective.

この発明によるパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、(b)高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、(e)(b)〜(d)の各ステップおよび(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、(f)(e)のDS−SWFQ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、備え、
上記(c)の入力時の新先頭情報通知ステップは、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、FIFOステップにより順次情報を読出して、(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝えるものである。
The packet scheduling method according to the present invention is a packet scheduling method for determining the output order of packets stored in each of a high priority class queue and a low priority class queue distinguished for each user. A packet distribution step for identifying the priority class and user of the packet and distributing the packet to the high priority class queue or the low priority class queue; and (b) notifying the user identification information and the packet length of the packet output from the high priority class queue. A high priority class output packet information notification step; and (c) when the packet is written to the low priority class user queue when the corresponding queue is empty, and the user identification information and the packet length are notified. New head information notifying step; (d) low priority class When there are two or more packets in the corresponding queue when a packet with a read command is output in the DS-SWFQ control step of (e) from the user queue of (e), the user identification information of the next leading packet and Output at a predetermined timing based on each information in the next head information notifying step by reading for notifying the packet length, and each of the steps (e), (b) to (d) and the weight information table holding step (f) A DS-SWFQ control step for scheduling a minimum bandwidth guarantee to select a queue to be selected and give a read command to the next head information notifying step by reading of (d); and (f) a DS-SWFQ control step of (e). A weight information table holding step for providing weight information for each user as set bandwidth information; and (g) a high priority class. (E) DS-SWFQ control which controls the output of the low priority class when there is no packet in the high priority class. A priority output control step for issuing an instruction to output when there is a packet to be output in the step ;
In step (c), the new head information notifying step at the time of input includes the user identification information and the packet length notified from the low priority class user queue when the new head packet is generated. It includes a FIFO step that holds the information and packet length in the order of input. Information is sequentially read out by the FIFO step, and packet information is transmitted to the DS-SWFQ control step (e) according to the processing status .

この発明によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。   According to the present invention, even when the input line speed increases, low delay transfer and bandwidth control can be performed.

実施の形態1.
図1および図2はこの発明の実施の形態1に係るパケットスケジューリング方法および装置を示すブロック図であり、代表的にパケットスケジューリング装置の機能構成およびキュー構成をフロー図式的(処理実行順)に示している。
Embodiment 1 FIG.
1 and 2 are block diagrams showing a packet scheduling method and apparatus according to Embodiment 1 of the present invention. Typically, the functional configuration and queue configuration of the packet scheduling apparatus are schematically shown in a flow diagram (in order of processing execution). ing.

図1はパケットスケジューリング装置の全体構成を示しており、図2は図1内の主要部(入力時の先頭情報保持部6)の機能構成を詳細に示している。
なお、図1および図2に示した構成は一例に過ぎず、この発明が限定されるものではなく、たとえば、優先出力する高優先クラスや低優先クラスを複数クラスの構成としてもよい。
FIG. 1 shows the overall configuration of the packet scheduling apparatus, and FIG. 2 shows in detail the functional configuration of the main part (first information holding unit 6 at the time of input) in FIG.
The configurations shown in FIGS. 1 and 2 are merely examples, and the present invention is not limited thereto. For example, the high priority class and the low priority class that are output with priority may be configured as a plurality of classes.

図1において、パケットスケジューリング装置は、入力1と、振り分け部2と、高優先クラスキュー3と、低優先クラスキューユーザ(1)4(1)〜低優先クラスキューユーザ(n)4(n)と、高優先クラス出力パケット情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7と、DS−SWFQ制御部8と、ウエイト情報テーブル9と、優先出力制御部10と、出力11とを備えている。   In FIG. 1, the packet scheduling apparatus includes an input 1, a distribution unit 2, a high priority class queue 3, a low priority class queue user (1) 4 (1) to a low priority class queue user (n) 4 (n). A high-priority class output packet information holding unit 5, a new head information holding unit 6 at the time of input, a next head information holding unit 7 by reading, a DS-SWFQ control unit 8, a weight information table 9, and a priority output A control unit 10 and an output 11 are provided.

入力1は、複数回線の合計帯域以上の回線速度とし、すでに廃棄がないように多重化された1回線または複数回線のデータ信号線を示しており、パケットスケジューリングの対象となる複数の優先クラスを有する複数ユーザのEthernet(登録商標)パケットなどのデータストリームを示すものである。   Input 1 indicates a line speed equal to or higher than the total bandwidth of a plurality of lines, and indicates one or more data signal lines multiplexed so as not to be discarded. A plurality of priority classes to be subjected to packet scheduling are indicated. It shows a data stream such as Ethernet (registered trademark) packets of a plurality of users.

振り分け部2は、入力1のデータストリーム内のパケットヘッダなどの内容を見て、優先クラスとユーザ(#1〜#n)とを識別するとともに、識別情報にしたがって、各キュー(高優先クラスキュー3、または、低優先クラスキューユーザ(1)4(1)〜低優先クラスキューユーザ(n)4(n))にパケットを振り分ける機能を有する。   The distribution unit 2 identifies the priority class and the users (# 1 to #n) by looking at the contents of the packet header and the like in the data stream of the input 1, and according to the identification information, each queue (high priority class queue) 3 or low priority class queue users (1) 4 (1) to low priority class queue users (n) 4 (n)).

高優先クラスキュー3は、振り分け部2で振り分けられた高優先クラスのパケットを入力順に格納する機能を有する。
また、高優先クラスキュー3は、格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能と、優先出力制御部10からの読出命令Hによるパケット読出し時には、高優先クラス出力パケット情報保持部5に対して、パケット情報(ユーザ番号およびパケット長)を通知する機能とを有する。
The high priority class queue 3 has a function of storing the high priority class packets distributed by the distribution unit 2 in the order of input.
The high-priority class queue 3 has a function of discarding when a packet size cannot be stored in the queue at the time of storage, and a high-priority class output at the time of packet reading by the read command H from the priority output control unit 10 It has a function of notifying packet information holding unit 5 of packet information (user number and packet length).

低優先クラスキューユーザ4(1)〜4(n)は、振り分け部2で振り分けられた低優先クラス情報とユーザ情報とにしたがって、低遅延クラスのパケットを該当キューに格納するとともに、格納される各キューにおいて、特に空の状態から1つ格納されることで、新たな先頭が発生した場合には、ユーザ番号およびパケット長を入力時の新先頭情報保持部6に通知する機能を有する。   The low-priority class queue users 4 (1) to 4 (n) store the low-delay class packets in the corresponding queues according to the low-priority class information and user information distributed by the distribution unit 2. In each queue, one is stored especially from an empty state, so that when a new head is generated, it has a function of notifying the user number and the packet length to the new head information holding unit 6 at the time of input.

また、低優先クラスキューユーザ4(1)〜4(n)は、パケット格納時にキューにパケットが格納できないキューサイズであった場合には、廃棄する機能を有するとともに、DS−SWFQ制御部8から読出命令(1)〜nが与えられた場合には、先頭パケットを出力するとともに、該当キュー内にパケットが2個以上格納されている場合には、新たに先頭となるパケットの情報(ユーザ番号およびパケット長)を読出しによる次先頭情報保持部7に伝える機能を有する。   The low-priority class queue users 4 (1) to 4 (n) have a function of discarding a packet when the packet cannot be stored in the queue when the packet is stored, and the DS-SWFQ control unit 8 When the read commands (1) to n are given, the head packet is output, and when two or more packets are stored in the corresponding queue, the information on the head packet (user number) is newly added. And packet length) to the next head information holding unit 7 by reading.

なお、図1では、高優先クラスキュー3および低優先クラスキューユーザ4(1)〜4(n)を個別の機能ブロックで示したが、高優先クラスキュー3および低優先クラスキューユーザ4(1)〜4(n)は、各キューの順序さえ保てれば、物理的に1つのメモリを使用しても、物理的に分離したメモリを使用してもよい。   In FIG. 1, the high-priority class queue 3 and the low-priority class queue users 4 (1) to 4 (n) are shown as individual functional blocks. However, the high-priority class queue 3 and the low-priority class queue user 4 (1 ) To 4 (n) may use physically one memory or physically separated memory as long as the order of each queue can be maintained.

高優先クラス出力パケット情報保持部5は、高優先クラスキュー3からパケットが出力された場合に、そのユーザ番号およびパケット長を一時保持し、DS−SWFQ制御部8にそのユーザ番号およびパケット長を通知する機能を有する。   When a packet is output from the high priority class queue 3, the high priority class output packet information holding unit 5 temporarily holds the user number and packet length, and the DS-SWFQ control unit 8 stores the user number and packet length. It has a function to notify.

入力時の新先頭情報保持部6は、低優先クラスキューユーザ4(1)〜4(n)のいずれかのキューにパケットが格納される際に、新たな先頭が発生した場合には、パケット長およびユーザ番号の通知を受けて一時保持し、新登録情報としてDS−SWFQ制御部8に通知する機能を有する。   When the new head information holding unit 6 at the time of input stores a packet in any queue of the low priority class queue users 4 (1) to 4 (n), It has a function of receiving the notification of the length and user number, temporarily holding it, and notifying the DS-SWFQ control unit 8 as new registration information.

また、入力時の新先頭情報保持部6は、この発明の主要部を構成しており、図2に示すように、最大低優先クラスキュー数分(すなわちユーザ数分)の新先頭情報を保持可能なサイズのFIFO(First In First Out)12を含み、DS−SWFQ制御部8の処理状況にしたがって、DS−SWFQ制御部8に新先頭情報を通知する機能を有する。 The new head information holding unit 6 at the time of input constitutes the main part of the present invention, and holds new head information corresponding to the maximum number of low priority class queues (that is, the number of users) as shown in FIG. It includes a FIFO (First In First Out) 12 of a possible size and has a function of notifying the DS-SWFQ control unit 8 of new head information according to the processing status of the DS-SWFQ control unit 8.

読出しによる次先頭情報保持部7は、低優先クラスキューユーザ4(1)〜4(n)のいずれかからパケットの出力があり、該当キュー内にパケットが2個以上格納されている場合に、低優先クラスキューユーザ4(1)〜4(n)のいずれかからパケットの情報(ユーザ番号およびパケット長)を受けて一時保持し、DS−SWFQ制御部8に伝える機能を有する。   The next head information holding unit 7 by reading has a packet output from any of the low priority class queue users 4 (1) to 4 (n), and when two or more packets are stored in the corresponding queue, It has a function of receiving packet information (user number and packet length) from any of the low-priority class queue users 4 (1) to 4 (n), temporarily holding it, and transmitting it to the DS-SWFQ control unit 8.

DS−SWFQ制御部8は、高優先クラス出力パケット情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7とからのパケット情報(ユーザ番号およびパケット長)と、ウエイト情報テーブル9に格納されているユーザごとの帯域情報とを用いて、低優先クラスキューユーザ4(1)〜4(n)の中からもっとも適したキューを選択し、読出命令を出力する機能を有する。なお、このときの最適キューを選択する処理には、公知文献(前述の特許文献1)に記載の計算および手順が適用され得る。   The DS-SWFQ control unit 8 includes packet information (user number and packet length) from the high priority class output packet information holding unit 5, the new head information holding unit 6 at the time of input, and the next head information holding unit 7 by reading. And the bandwidth information for each user stored in the weight information table 9, the most suitable queue is selected from the low priority class queue users 4 (1) to 4 (n), and a read command is output. Has the function of Note that the calculation and procedure described in the publicly known document (the above-mentioned Patent Document 1) can be applied to the process of selecting the optimum queue at this time.

ウエイト情報テーブル9は、ユーザ#1〜#nの設定帯域情報であるウエイト値を保持しており、DS−SWFQ制御部8からの要求に応答して、該当ユーザのウエイト値を通知する機能を有する。なお、値の設定や変更については、公知の外部インタフェース(図示せず)からテーブルを書き換えることにより処理される。   The weight information table 9 holds weight values that are set bandwidth information of the users # 1 to #n, and has a function of notifying the weight value of the corresponding user in response to a request from the DS-SWFQ control unit 8. Have. Note that setting and changing values are processed by rewriting a table from a known external interface (not shown).

優先出力制御部10は、高優先クラスキュー3と、低優先クラスキューユーザ4(1)〜4(n)からのパケットの出力制御を行うDS−SWFQ制御部8とに対して、出力11の出力回線速度にしたがって、読出命令を出力する機能を有する。
具体的には、優先出力制御部10は、高優先クラスキュー3にパケットが存在する場合には、高優先クラスキュー3に読出命令Hを出力し、高優先クラスキュー3にパケットが存在せず、低優先クラスキューユーザ4(1)〜4(n)にパケットが存在する場合には、DS−SWFQ制御部8に読出命令Lを出力する機能を有する。
The priority output control unit 10 outputs the output 11 to the high priority class queue 3 and the DS-SWFQ control unit 8 that performs output control of packets from the low priority class queue users 4 (1) to 4 (n). It has a function of outputting a read command according to the output line speed.
Specifically, when a packet exists in the high priority class queue 3, the priority output control unit 10 outputs a read command H to the high priority class queue 3, and no packet exists in the high priority class queue 3. When the low priority class queue users 4 (1) to 4 (n) have a packet, the DS-SWFQ control unit 8 has a function of outputting a read command L.

次に、図1および図2に示したこの発明の実施の形態1による動作について説明する。
まず、パケット格納時の処理について説明する。
入力1によりパケットが到着すると、振り分け部2は、パケットヘッダなどの内容を見て、優先クラス(高優先クラスか低優先クラス)とユーザ番号(#1〜#n)を識別し、識別情報に基づいて、高優先クラスキュー3または低優先クラスキューユーザ4(1)〜4(n)にパケットを格納する処理を行う。
Next, the operation according to the first embodiment of the present invention shown in FIGS. 1 and 2 will be described.
First, processing at the time of packet storage will be described.
When a packet arrives at the input 1, the distribution unit 2 identifies the priority class (high priority class or low priority class) and the user number (# 1 to #n) by looking at the contents of the packet header, etc. Based on this, processing for storing packets in the high priority class queue 3 or the low priority class queue users 4 (1) to 4 (n) is performed.

振り分け部2による上記処理において、低優先クラスキューユーザ4(1)〜4(n)のいずれかにパケットを格納した場合は、該当の低優先クラスキューのキュー情報から空の状態から1つ格納される場合に限り、入力時の新先頭登録情報保持部6に対して格納したパケット情報(ユーザ番号およびパケット長)を通知する。一方、上記処理において、高優先クラスキューに格納した場合には、特に何も実行しない。   When the packet is stored in any of the low priority class queue users 4 (1) to 4 (n) in the above processing by the distribution unit 2, one is stored from the queue information of the corresponding low priority class queue from the empty state. Only when this is done, the stored packet information (user number and packet length) is notified to the new head registration information holding unit 6 at the time of input. On the other hand, in the above process, nothing is executed when stored in the high priority class queue.

続いて、入力時の新先頭登録情報保持部6は、低優先クラスキューユーザ4(1)〜4(n)から通知されたパケット情報を、低優先クラスキュー数分の先頭情報が格納可能なFIFO12に入力し、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応答してパケット情報をDS−SWFQ制御部8に出力する。 Subsequently, the new head registration information holding unit 6 at the time of input can store the packet information notified from the low priority class queue users 4 (1) to 4 (n) for the number of low priority class queues. Input to the FIFO 12, wait for an output request from the DS-SWFQ control unit 8, and output packet information to the DS-SWFQ control unit 8 in response to the output request.

DS−SWFQ制御部8は、以下の優先順位1〜4による処理を行うために、高優先クラス情報保持部5と、入力時の新先頭情報保持部6と、読出しによる次先頭情報保持部7とに対して、読出要求を発行するとともに、仮想時刻FIFOによるソート処理と、連携登録処理とを行う。なお、優先出力制御部10からの読出命令Lによる読出し処理は、最も優先される処理であるが、他の処理が実行中である場合には、実行中の処理が終了後に速やかに読出命令Lによる読出し処理を行うものとする。   The DS-SWFQ control unit 8 performs processing according to the following priority orders 1 to 4, a high priority class information holding unit 5, a new head information holding unit 6 at the time of input, and a next head information holding unit 7 by reading. In response to this, a read request is issued, and a sort process based on a virtual time FIFO and a linked registration process are performed. Note that the read process by the read instruction L from the priority output control unit 10 is the process having the highest priority. However, when other processes are being executed, the read instruction L is promptly performed after the process being executed is completed. It is assumed that the reading process is performed.

以下の優先順位1〜4による処理は、前述の特許文献1から公知である。
優先順位1:読出命令Lによる読出し処理
優先順位2:読出し時の次先頭登録処理
優先順位3:高優先クラスの連携登録処理
優先順位4:新先頭登録処理
The processes according to the following priorities 1 to 4 are known from the above-mentioned Patent Document 1.
Priority 1: Read processing by read command L Priority 2: Next top registration processing at the time of reading Priority 3: High priority class linkage registration processing Priority 4: New top registration processing

なお、優先順位2〜4の登録処理時においては、ウエイト情報テーブル9に格納された各ユーザの設定帯域情報を用いて、仮想時刻FIFOによるソート処理および連携登録処理を行う。   In addition, at the time of the registration process of the priority orders 2 to 4, the sort process and the cooperation registration process by the virtual time FIFO are performed using the set bandwidth information of each user stored in the weight information table 9.

次に、出力11への読出し時の処理について説明する。
優先出力制御部10は、高優先クラスキュー3と、低優先クラスキューユーザ4(1)〜4(n)との各キューでの存在状況を把握し、高優先クラスキュー3にパケットが存在する場合には、高優先クラスキュー3への読出命令Hを発行し、高優先クラスキュー3にパケットが存在せず、低優先クラスキューユーザ4(1)〜4(n)のいずれかにパケットが存在した場合には、DS−SWFQ制御部8に対して読出命令Lを発行する。
このとき、順次、出力11へのパケット出力間隔を所定のタイミングで制御し、次のパケットの読出命令を発行して行く。
Next, processing at the time of reading to the output 11 will be described.
The priority output control unit 10 grasps the existence status of each of the high priority class queue 3 and the low priority class queue users 4 (1) to 4 (n), and a packet exists in the high priority class queue 3. In this case, a read instruction H to the high priority class queue 3 is issued, the packet does not exist in the high priority class queue 3, and the packet is sent to any of the low priority class queue users 4 (1) to 4 (n). If it exists, a read command L is issued to the DS-SWFQ control unit 8.
At this time, the packet output interval to the output 11 is sequentially controlled at a predetermined timing, and a read instruction for the next packet is issued.

読出命令Hを受けた高優先クラスキュー3からパケットを出力する場合には、高優先クラスキュー3は、出力するパケットのパケット情報(ユーザ番号およびパケット長)を高優先クラス出力パケット情報保持部5に通知し、高優先クラス出力パケット情報保持部5は、そのパケット情報を保持する。以下、高優先クラス出力パケット情報保持部5は、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応じて、パケット情報をDS−SWFQ制御部8に出力する。   When a packet is output from the high priority class queue 3 that has received the read command H, the high priority class queue 3 uses the packet information (user number and packet length) of the packet to be output to the high priority class output packet information holding unit 5. The high priority class output packet information holding unit 5 holds the packet information. Hereinafter, the high priority class output packet information holding unit 5 waits for an output request from the DS-SWFQ control unit 8 and outputs packet information to the DS-SWFQ control unit 8 in response to the output request.

読出命令Lを受けたDS−SWFQ制御部8は、現在仮想時刻に最も近い時間仮想時刻FIFOから低優先クラスキュー番号を得て、該当の低優先クラスキュー(低優先クラスキューユーザ4(1)〜4(n)のいずれか)に対して読出命令(読出命令(1)〜読出命令(n)のいずれか)を発行する。   Upon receiving the read instruction L, the DS-SWFQ control unit 8 obtains the low priority class queue number from the time virtual time FIFO closest to the current virtual time, and obtains the corresponding low priority class queue (low priority class queue user 4 (1)). -4 (n)), a read instruction (any one of read instruction (1) to read instruction (n)) is issued.

読出命令を受けた該当低優先クラスキューは、2個以上キュー内にパケットが存在していた場合に限り、次に先頭となるパケット情報(ユーザ番号およびパケット長)を、読出しによる次先頭情報保持部7に対して通知する。   The corresponding low-priority class queue that has received the read command holds the next head information by reading the next top packet information (user number and packet length) only if there are two or more packets in the queue. Notification to the unit 7.

読出しによる次先頭情報保持部7は、低優先クラスキューユーザ4(1)〜4(n)のいずれかから受けたパケット情報を一時保持して、DS−SWFQ制御部8からの出力要求を待ち、出力要求に応じてパケット情報をDS−SWFQ制御部8に出力する。   The next head information holding unit 7 by reading temporarily holds packet information received from any of the low priority class queue users 4 (1) to 4 (n) and waits for an output request from the DS-SWFQ control unit 8. The packet information is output to the DS-SWFQ control unit 8 in response to the output request.

以上の処理を行うことにより、リアルタイム性を要求するアプリケーションに対して、低遅延で出力させ、ユーザごとに全クラスを合わせた帯域(最低保証帯域)を保証しながら、さらに入力回線速度を向上させることができる。   By performing the above processing, for applications that require real-time performance, output is performed with low delay, and the input line speed is further improved while guaranteeing the bandwidth (minimum guaranteed bandwidth) for all users for all classes. be able to.

仮に、この発明の実施の形態1を適用しない場合には、出力回線速度の最短パケット時間内に行わなければならない処理は、最低でも読出処理が1回、読出しによる次先頭情報登録処理が1回、入力時の新先頭登録処理が2回、が限界であった(20Gbps入力および10Gbps出力)。   If the first embodiment of the present invention is not applied, the processing that must be performed within the shortest packet time of the output line speed is at least one reading process and one next head information registration process by reading. The new top registration process at the time of input was limited to twice (20 Gbps input and 10 Gbps output).

一方、この発明の実施の形態1のように、入力時の新先頭情報保持部6において、最大発生する低優先クラスキュー数分の情報をFIFO12に一時保持し、新先頭が発生したタイミングを遅らせて平準化することにより、低優先クラスについては多少の遅延は発生するものの、入力回線速度をさらに向上させることが可能となる。 On the other hand, as in the first embodiment of the present invention, the new head information holding unit 6 at the time of input temporarily stores information corresponding to the maximum number of low priority class queues in the FIFO 12 to delay the timing at which a new head occurs. As a result, the input line speed can be further improved although a slight delay occurs in the low priority class.

この場合、低優先が必要なクラスは、高優先クラスキューを使用するので、低優先クラスについては、多少の遅延を許せることとなる。
たとえば、低優先クラスキューに複数パケットのバーストトラフィックが入力された場合には、先頭パケットの入力時の新先頭登録処理は多少遅れるものの、先頭パケットが登録された時点で、続いて同じキューに到着している以降のパケットは、最短パケット時間内に読出しによる次先頭情報登録処理が必ず行われるので、最低帯域保証されて出力されることになる。
In this case, since a class requiring low priority uses the high priority class queue, a slight delay can be allowed for the low priority class.
For example, when multiple packets of burst traffic are input to the low-priority class queue, the new head registration process at the time of input of the first packet is slightly delayed, but when the first packet is registered, it subsequently arrives at the same queue. Since the subsequent head information registration process by reading is always performed within the shortest packet time, the subsequent packets are output with a guaranteed minimum bandwidth.

なお、高優先クラスにバーストトラフィックが発生する場合には、高優先クラスの出力が出力回線速度以上にはならないことから、入力回線速度を向上させても、特に処理量が増えないので支障は生じない。   If burst traffic occurs in the high priority class, the output of the high priority class will not exceed the output line speed, so even if the input line speed is improved, the processing amount will not increase, causing a problem. Absent.

以上のように、この発明の実施の形態1に係るパケットスケジューリング方法は、高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するために、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分けステップと、(b)高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報通知ステップと、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、(e)(b)〜(d)の各ステップおよび(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、(f)(e)のDS−SWFQ制御ステップに対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御している(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、を備えている。 As described above, the packet scheduling method according to Embodiment 1 of the present invention determines the output order of the packets stored in the high priority class queue and the low priority class queue distinguished for each user. (A) a packet distribution step for identifying a priority class and a user of an input packet and distributing the packet to a high priority class queue or a low priority class queue; and (b) a packet output from the high priority class queue. A high-priority class output packet information notification step for notifying the user identification information and the packet length; and (c) user identification information when the queue is input in an empty state when a packet is written to the low-priority class user queue. And a new top information notifying step at the time of input for notifying the packet length, and (d) a low priority class When there are two or more packets in the corresponding queue when a packet with a read command is output in the DS-SWFQ control step of (e) from the user queue, the user identification information and packet of the next leading packet Based on the information in the next head information notifying step by reading to notify the length, the steps (e), (b) to (d), and the weight information table holding step (f), the information is output at a predetermined timing. A DS-SWFQ control step for scheduling a minimum bandwidth guarantee to select a power queue and give a read command to the next head information notifying step by reading (d), and (f) a DS-SWFQ control step of (e) A weight information table holding step for providing weight information for each user as set bandwidth information, and (g) a high priority class (E) DS-SWFQ control step that issues a command to output a packet from the high priority class if there is a packet, and controls the output of the low priority class if there is no packet in the high priority class And a priority output control step for issuing a command to be output when there is a packet to be output.

また、(c)の入力時の新先頭情報通知ステップは、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、FIFOステップにより順次情報を読出して、(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝える。 Moreover, the new leading information notification step during input, if the user identification information and packet length from the user queue when new head packet generation of low priority class has been notified, the user of the number of low priority class queues (c) A FIFO step for holding the identification information and the packet length in the order of input is included. The information is sequentially read out by the FIFO step, and the packet information is transmitted to the DS-SWFQ control step of (e) according to the processing status.

さらに、(c)の入力時の新先頭情報通知ステップは、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFOステップにおいて新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、(e)のDS−SWFQ制御ステップに対する新先頭情報の出力順序を決定する。 Further, the new head information notifying step at the time of input in (c) prepares a packet memory for each input line, and when a new head is generated at the same time when the arrival of a packet occurs in the FIFO step, a user of a low priority class is always provided. The output order of the new head information for the DS-SWFQ control step of (e) is determined by giving priority to the young number of the queue or by rotating the order by round robin.

また、この発明の実施の形態1に係るパケットスケジューリング装置(図1、図2参照)は、高優先クラスキュー3と、ユーザごとに区別された低優先クラスキュー4(1)〜4(n)と、のそれぞれに格納されたパケットの出力順序を決定するために、(a)入力されたパケットの優先クラスおよびユーザを識別し、高優先クラスキューまたは低優先クラスキューにパケットを振り分けるパケット振分け部2と、(b)高優先クラスキュー3から出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラス出力パケット情報保持部5(高優先クラスの出力パケット情報通知手段)と、(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、ユーザ識別情報およびパケット長を通知する入力時の新先頭情報保持部6(入力時の新先頭情報通知手段)と、(d)低優先クラスのユーザキューから、(e)のDS−SWFQ制御部8にて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報保持部7(読出しによる次先頭情報通知手段)と、(e)各手段5〜7およびウエイト情報テーブル9での各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を読出しによる次先頭情保持部7に与える最低帯域保証のスケジューリングを行うDS−SWFQ制御部8と、(f)DS−SWFQ制御部8に対してユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル9と、(g)高優先クラスにパケットがある場合には、高優先クラスからパケットを出力する命令を発行し、高優先クラスにパケットが無い場合には、低優先クラスの出力を制御しているDS−SWFQ制御部8で出力すべきパケットがある場合に出力する命令を発行する優先出力制御部10と、を備えている。 Further, the packet scheduling apparatus (see FIGS. 1 and 2) according to Embodiment 1 of the present invention includes a high priority class queue 3 and low priority class queues 4 (1) to 4 (n) distinguished for each user. (A) a packet distribution unit that identifies the priority class and user of the input packet and distributes the packet to the high-priority class queue or the low-priority class queue. 2 and (b) a high-priority class output packet information holding unit 5 (high-priority-class output packet information notification unit) for notifying user identification information and a packet length of a packet output from the high-priority class queue 3; ) User identification information and packet when the corresponding queue is empty when writing to the low priority class user queue The new head information holding unit 6 at the time of input (new head information notification means at the time of input) and (d) the DS-SWFQ control unit 8 of (e) receives a read command from the low priority class user queue. When there are two or more packets in the corresponding queue at the time of outputting a packet, the next head information holding unit 7 by reading that notifies the user identification information and the packet length of the next head packet (next head information by reading) Notification means), and (e) based on the information in each means 5 to 7 and the weight information table 9, the queue to be output at a predetermined timing is selected and the read command is read to the next head information holding unit 7 by reading. DS-SWFQ control unit 8 that performs scheduling of the guaranteed minimum bandwidth, and (f) provides weight information for each user as set bandwidth information to the DS-SWFQ control unit 8 Eight information table 9 (g) If there is a packet in the high priority class, issue a command to output the packet from the high priority class, and if there is no packet in the high priority class, output the low priority class And a priority output control unit 10 that issues a command to be output when there is a packet to be output by the controlling DS-SWFQ control unit 8.

また、入力時の新先頭情報保持部6は、低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFO12を含み、FIFO12により順次情報を読出して、DS−SWFQ制御部8にその処理状況に応じてパケット情報を伝える。 Further, the new head information holding unit 6 at the time of input, when the user identification information and the packet length are notified from the low priority class user queue when the new head packet is generated, the user identification information and the number of the low priority class queues. A FIFO 12 that holds packet lengths in the order of input is included, information is sequentially read out by the FIFO 12, and packet information is transmitted to the DS-SWFQ control unit 8 according to the processing status.

さらに、入力時の新先頭情報保持部6は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO12において新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、DS−SWFQ制御部8に対する新先頭情報の出力順序を決定する。 Further, the new head information holding unit 6 at the time of input prepares a packet memory for each input line, and when a new head is generated in the FIFO 12 at the same time when the packet arrives, the new head information holding unit 6 always keeps the young number of the low priority class user queue. Or the order of output of new head information to the DS-SWFQ control unit 8 is determined by rotating the order by round robin.

これにより、この発明の実施の形態1によれば、入力回線速度が増大しても、低遅延転送と帯域制御とを行うことができる。
また、出力回線速度が低速であった場合に、出力回線速度に合わせた速度で処理を行うことが可能となるので、クロックレートを下げて処理することも可能となり、低消費電力化できるという効果もある。
Thus, according to the first embodiment of the present invention, low delay transfer and bandwidth control can be performed even if the input line speed increases.
In addition, when the output line speed is low, processing can be performed at a speed that matches the output line speed, so processing can be performed at a lower clock rate, and power consumption can be reduced. There is also.

さらに、入力時の新先頭情報保持部6は、入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO12において新先頭が発生した場合に、常に低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、DS−SWFQ制御部8に対する新先頭情報の出力順序を決定するので、入力1が複数回線あった際に、パケットが同時に到着する場合に関しても、新先頭の発生順序をラウンドロビンなどにて公平な順番にして新先頭登録をすることができ、新先頭登録の公平性を保持することができる。

Further, the new head information holding unit 6 at the time of input prepares a packet memory for each input line, and when a new head is generated in the FIFO 12 at the same time when the packet arrives, the new head information holding unit 6 always keeps the young number of the low priority class user queue Is given priority, or the order of output of the new head information to the DS-SWFQ control unit 8 is determined by circulating the order by round robin. Therefore, when the input 1 has a plurality of lines, the packets arrive at the same time. Even in the case, the new head registration can be performed by making the generation order of the new head in a fair order using round robin or the like, and the fairness of the new head registration can be maintained.

この発明の実施の形態1に係るパケットスケジューリング方法および装置を示すブロック図である。It is a block diagram which shows the packet scheduling method and apparatus which concern on Embodiment 1 of this invention. 図1内の入力時の先頭情報保持部を具体的に示すブロック図である。FIG. 2 is a block diagram specifically illustrating a head information holding unit at the time of input in FIG. 1. 従来のパケットスケジューリング方法を示す説明図である。It is explanatory drawing which shows the conventional packet scheduling method. 従来のパケットスケジューリング方法を示す説明図である。It is explanatory drawing which shows the conventional packet scheduling method.

符号の説明Explanation of symbols

1 入力、2 振り分け部、3 高優先クラスキュー、4(1)〜4(n) 低優先クラスキューユーザ、5 高優先クラス出力パケット情報保持部、6 入力時の新先頭情報保持部、7 読出しによる次先頭情報保持部、8 DS−SWFQ制御部、9 ウエイト情報テーブル、10 優先出力制御部、11 出力、12 FIFO。   1 input, 2 distribution unit, 3 high priority class queue, 4 (1) to 4 (n) low priority class queue user, 5 high priority class output packet information holding unit, 6 new head information holding unit at input, 7 reading Next head information holding unit, 8 DS-SWFQ control unit, 9 wait information table, 10 priority output control unit, 11 output, 12 FIFO.

Claims (4)

優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング方法において、
(a)入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分けステップと、
(b)前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知ステップと、
(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知ステップと、
(d)前記低優先クラスのユーザキューから、後記(e)のDS−SWFQ制御ステップにて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知ステップと、
(e)上記(b)〜(d)の各ステップおよび後記(f)のウエイト情報テーブル保持ステップでの各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を上記(d)の読出しによる次先頭情報通知ステップに与える最低帯域保証のスケジューリングを行うDS−SWFQ制御ステップと、
(f)上記(e)のDS−SWFQ制御ステップに対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持ステップと、
(g)前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記(e)のDS−SWFQ制御ステップで出力すべきパケットがある場合に出力する命令を発行する優先出力制御ステップと、
備え、
上記(c)の入力時の新先頭情報通知ステップは、
前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFOステップを含み、
前記FIFOステップにより順次情報を読出して、上記(e)のDS−SWFQ制御ステップにその処理状況に応じてパケット情報を伝えることを特徴とするパケットスケジューリング方法。
In a packet scheduling method for determining an output order of packets stored in each of a priority class queue and a low priority class queue distinguished for each user,
(A) a packet distribution step of identifying a priority class and a user of the input packet and distributing the packet to the high priority class queue or the low priority class queue;
(B) a high priority class output packet information notifying step for notifying user identification information and a packet length of a packet output from the high priority class queue;
(C) a new head information notifying step at the time of notifying the user identification information and the packet length when the corresponding queue is empty when the packet is written to the low priority class user queue;
(D) When two or more packets exist in the corresponding queue when a packet with a read command is output from the low-priority class user queue in the DS-SWFQ control step (e) described later, Next head information notification step by reading to notify the user identification information and packet length of the packet,
(E) Based on the information in the steps (b) to (d) and the weight information table holding step (f) described later, a queue to be output at a predetermined timing is selected and the read command is a DS-SWFQ control step for performing scheduling of minimum bandwidth guarantee to be given to the next head information notification step by reading d);
(F) a weight information table holding step for providing weight information for each user as set bandwidth information with respect to the DS-SWFQ control step of (e) above;
(G) If there is a packet in the high priority class, issue a command to output the packet from the high priority class. If there is no packet in the high priority class, control the output of the low priority class. A priority output control step for issuing a command to be output when there is a packet to be output in the DS-SWFQ control step of (e) above,
Equipped with a,
The new head information notification step at the time of the input (c) is as follows:
A FIFO step of holding user identification information and packet length as many as the number of low priority class queues in the order of input when user identification information and packet length are notified from the low priority class user queue when a new head packet is generated,
A packet scheduling method characterized in that information is sequentially read out by the FIFO step and packet information is transmitted to the DS-SWFQ control step (e) according to the processing status .
上記(c)の入力時の新先頭情報通知ステップは、
入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFOステップにおいて新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記(e)のDS−SWFQ制御ステップに対する新先頭情報の出力順序を決定することを特徴とする請求項1に記載のパケットスケジューリング方法。
The new head information notification step at the time of the input (c) is as follows:
A packet memory is prepared for each input line, and when the arrival of a packet is simultaneous and a new head is generated in the FIFO step, the lower priority class user queue is always given priority, or in turn by round robin. 2. The packet scheduling method according to claim 1 , wherein the output order of the new head information for the DS-SWFQ control step of (e) is determined by cycling.
高優先クラスキューと、ユーザごとに区別された低優先クラスキューと、のそれぞれに格納されたパケットの出力順序を決定するパケットスケジューリング装置において、
(a)入力されたパケットの優先クラスおよびユーザを識別し、前記高優先クラスキューまたは前記低優先クラスキューにパケットを振り分けるパケット振分け手段と、
(b)前記高優先クラスキューから出力されたパケットのユーザ識別情報およびパケット長を通知する高優先クラスの出力パケット情報通知手段と、
(c)低優先クラスのユーザキューへのパケット書込み時に該当キューが空の状態で入力された場合に、前記ユーザ識別情報および前記パケット長を通知する入力時の新先頭情報通知手段と、
(d)前記低優先クラスのユーザキューから、後記(e)のDS−SWFQ制御手段にて読出命令があるパケット出力時に、該当キューに2個以上のパケットが存在した場合には、次に先頭となるパケットのユーザ識別情報およびパケット長を通知する読出しによる次先頭情報通知手段と、
(e)上記(b)〜(d)の各手段および後記(f)のウエイト情報テーブル保持手段での各情報に基づいて、所定のタイミングで出力すべきキューを選択して読出命令を上記(d)の読出しによる次先頭情報通知手段に与える最低帯域保証のスケジューリングを行うDS−SWFQ制御手段と、
(f)上記(e)のDS−SWFQ制御手段に対して前記ユーザごとのウエイト情報を設定帯域情報として提供するウエイト情報テーブル保持手段と、
(g)前記高優先クラスにパケットがある場合には、前記高優先クラスからパケットを出力する命令を発行し、前記高優先クラスにパケットが無い場合には、前記低優先クラスの出力を制御している上記(e)のDS−SWFQ制御手段で出力すべきパケットがある場合に出力する命令を発行する優先出力制御手段と、
備え、
上記(c)の入力時の新先頭情報通知手段は、
前記低優先クラスのユーザキューから新先頭パケット発生時にユーザ識別情報およびパケット長が通知された場合に、低優先クラスキューの数だけのユーザ識別情報およびパケット長を入力順に保持するFIFO手段を含み、
前記FIFO手段により順次情報を読出して、上記(e)のDS−SWFQ制御手段にその処理状況に応じてパケット情報を伝えることを特徴とするパケットスケジューリング装置。
In a packet scheduling device that determines the output order of packets stored in each of a high priority class queue and a low priority class queue distinguished for each user,
(A) a packet distribution unit that identifies a priority class and a user of an input packet, and distributes the packet to the high priority class queue or the low priority class queue;
(B) high priority class output packet information notification means for notifying user identification information and packet length of packets output from the high priority class queue;
(C) New head information notification means at the time of input for notifying the user identification information and the packet length when the queue is input in an empty state at the time of packet writing to the low priority class user queue;
(D) When two or more packets exist in the corresponding queue when a packet with a read command is output from the low-priority class user queue in the DS-SWFQ control means (e) described later, Next head information notification means by reading to notify the user identification information and packet length of the packet,
(E) Based on the information in the means (b) to (d) and the weight information table holding means (f) described later, the queue to be output at a predetermined timing is selected and the read command is a DS-SWFQ control means for performing scheduling for guaranteeing a minimum bandwidth to be provided to the next head information notification means by reading d);
(F) weight information table holding means for providing weight information for each user as set bandwidth information to the DS-SWFQ control means of (e) above;
(G) If there is a packet in the high priority class, issue a command to output the packet from the high priority class. If there is no packet in the high priority class, control the output of the low priority class. Priority output control means for issuing a command to be output when there is a packet to be output by the DS-SWFQ control means of (e) above,
Equipped with a,
The new head information notification means at the time of the input (c) is as follows:
A FIFO means for holding user identification information and packet length as many as the number of low priority class queues in the order of input when user identification information and packet length are notified from the low priority class user queue when a new head packet is generated;
A packet scheduling apparatus characterized in that information is sequentially read out by the FIFO means and packet information is transmitted to the DS-SWFQ control means (e) according to the processing status .
上記(c)の入力時の新先頭情報通知手段は、
入力回線ごとにパケットメモリを用意し、パケットの到着が同時でかつFIFO手段において新先頭が発生した場合に、常に前記低優先クラスのユーザキューの若番を優先するか、または、ラウンドロビンにより順番を巡回させることにより、上記(e)のDS−SWFQ制御手段に対する新先頭情報の出力順序を決定することを特徴とする請求項3に記載のパケットスケジューリング装置。
The new head information notification means at the time of the input (c) is as follows:
A packet memory is prepared for each input line, and when the arrival of a packet is simultaneous and a new head is generated in the FIFO means, the lower priority class user queue is always given priority, or the order is round robin. 4. The packet scheduling apparatus according to claim 3, wherein the output order of the new head information for the DS-SWFQ control means of (e) is determined by circulating the data.
JP2008333342A 2008-12-26 2008-12-26 Packet scheduling method and apparatus Active JP5183460B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008333342A JP5183460B2 (en) 2008-12-26 2008-12-26 Packet scheduling method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008333342A JP5183460B2 (en) 2008-12-26 2008-12-26 Packet scheduling method and apparatus

Publications (2)

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

Family

ID=42575382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008333342A Active JP5183460B2 (en) 2008-12-26 2008-12-26 Packet scheduling method and apparatus

Country Status (1)

Country Link
JP (1) JP5183460B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117279A1 (en) * 2016-12-19 2018-06-28 엘지전자(주) Network device and method for selecting transmission of network device
WO2023157176A1 (en) * 2022-02-17 2023-08-24 日本電信電話株式会社 Control system, control method, controller, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4447521B2 (en) * 2005-06-29 2010-04-07 三菱電機株式会社 Packet scheduler and packet scheduling method

Also Published As

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

Similar Documents

Publication Publication Date Title
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
US8259738B2 (en) Channel service manager with priority queuing
US7626988B2 (en) Latency-based scheduling and dropping
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
US6654343B1 (en) Method and system for switch fabric flow control
US8000247B2 (en) Bandwidth management apparatus
WO2009130218A1 (en) A traffic manager and a method for a traffic manager
US9197570B2 (en) Congestion control in packet switches
JP2011024027A (en) Packet transmission control apparatus, hardware circuit, and program
US7830797B1 (en) Preserving packet order for data flows when applying traffic shapers
US8879578B2 (en) Reducing store and forward delay in distributed systems
WO2012171461A1 (en) Method and device for forwarding packet
US8943236B1 (en) Packet scheduling using a programmable weighted fair queuing scheduler that employs deficit round robin
JP5183460B2 (en) Packet scheduling method and apparatus
JP2005510959A (en) Method for accepting and scheduling real-time network traffic
JP2005236669A (en) Method and device for controlling communication quality
US9628398B1 (en) Queuing methods and apparatus in a network device
JP4846601B2 (en) Instant service method of short round robin data packet scheduling
JP3601592B2 (en) Packet scheduling method
KR101093500B1 (en) Real Time Scheduling Apparatus and Method by Flow Reservation/Registration
JP2006246207A (en) Packet scheduling device and packet scheduling method
JP2005286383A (en) Band control method and packet processing device using the same
JP2003018208A (en) Qos controller
WO2007072538A1 (en) Queue scheduling device, queue scheduling method and information relay device
JP2002204256A (en) Device and method for transmitting packet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121107

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

R150 Certificate of patent or registration of utility model

Ref document number: 5183460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250