JP2002118585A - Method and apparatus for scheduling packet - Google Patents

Method and apparatus for scheduling packet

Info

Publication number
JP2002118585A
JP2002118585A JP2000305247A JP2000305247A JP2002118585A JP 2002118585 A JP2002118585 A JP 2002118585A JP 2000305247 A JP2000305247 A JP 2000305247A JP 2000305247 A JP2000305247 A JP 2000305247A JP 2002118585 A JP2002118585 A JP 2002118585A
Authority
JP
Japan
Prior art keywords
class
packets
queue
band
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000305247A
Other languages
Japanese (ja)
Other versions
JP3649661B2 (en
Inventor
Shinya Nogami
慎也 能上
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000305247A priority Critical patent/JP3649661B2/en
Publication of JP2002118585A publication Critical patent/JP2002118585A/en
Application granted granted Critical
Publication of JP3649661B2 publication Critical patent/JP3649661B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method and an apparatus for scheduling packet in which the quality of an application requiring a strict real time performance is prevented from deteriorating by utilizing all available bands effectively, and transmission delay time is prevented from increasing even for an application not requiring a strict real time performance. SOLUTION: Input packets are sectioned into a plurality of classes which are then sorted into a preferential group and a nonpreferential group, and packets in each class are stored in queues independent from each other. First band satisfying a requested delay time is assigned preferentially to a queue holding the packets of the preferential group, and remaining bands are determined as a second band. Use frequency of a specific interval is detected for each class of the nonpreferential group, and a part of the second band is assigned dynamically to the queue of nonpreferential group at a weight corresponding to the use frequency of a nearest specific interval.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、パケットスケジュ
ーリング方法及びパケットスケジューリング装置に関
し、例えばIP(Internet Protocol)網に設けられる
自律システム(AS)内の各種ルータにおいて、入力さ
れるパケットの処理順序を決定するために用いられる。
[0001] 1. Field of the Invention [0002] The present invention relates to a packet scheduling method and a packet scheduling apparatus. For example, various routers in an autonomous system (AS) provided in an IP (Internet Protocol) network determine a processing order of input packets. Used to

【0002】[0002]

【従来の技術】例えば、IP網などに設けられるルータ
の入力には、様々な種類のパケットが順次に入力され
る。様々な種類のパケットを処理するルータの内部には
複数のキュー(待ち行列:queue)が設けられ、入
力されたパケットはその種類に応じたキューに蓄積され
てから処理される。
2. Description of the Related Art For example, various types of packets are sequentially input to an input of a router provided in an IP network or the like. A plurality of queues (queues) are provided inside a router that processes various types of packets, and input packets are stored in queues corresponding to the types and then processed.

【0003】このような複数のキューに蓄積されたパケ
ットを処理する順番を決定する処理はパケットスケジュ
ーリングと呼ばれている。パケットスケジューリングの
方式としては、従来より次のような技術が知られてい
る。 (1)ラウンドロビン(Round Robin):1番目のキュ
ーのパケット,2番目のキューのパケット,3番目のキ
ューのパケット,・・・を順番に処理する。1回に処理
するパケットの数は予め決めておく(一般的には1
つ)。処理すべきパケットが存在しないキューについて
は処理がスキップされる。
[0003] The process of determining the order in which packets stored in a plurality of queues are processed is called packet scheduling. The following techniques are conventionally known as packet scheduling methods. (1) Round Robin: A packet in the first queue, a packet in the second queue, a packet in the third queue,... Are sequentially processed. The number of packets to be processed at one time is determined in advance (generally, 1
One). Processing is skipped for queues in which there are no packets to be processed.

【0004】(2)WRR(Weighted Round Robin):
パケットのクラス(キュー)毎に「重み」とパケット長
が異なる場合に、重みを平均パケット長で割った「正規
化された重み」を用いて、その重みに応じたパケット数
を前記ラウンドロビンで処理する。 (3)DRR(Deficit Round Robin):前記WRR方
式において、事前に平均パケット長の情報を必要としな
いように工夫されたのもである。詳細には次のような手
順で処理される。ある「基準量」が各クラス(キュー)
毎に与えられており、あるキューの先頭のパケット長が
その基準量より等しいか小さければそのパケットは処理
される。そして基準量はそのパケット長分だけ減らされ
る。このようにして、基準量が次に処理されるパケット
長より小さくなるまでそのキューは連続して処理され
る。それが満たされなくなったとき、ラウンドロビン方
式で処理対象は次のキューに移る。全てのキューの先頭
パケット長が各キューの基準量より大きくなったら全キ
ューに新たに基準量を加える。
(2) WRR (Weighted Round Robin):
When the “weight” and the packet length are different for each packet class (queue), the “normalized weight” obtained by dividing the weight by the average packet length is used, and the number of packets corresponding to the weight is determined by the round robin. To process. (3) DRR (Deficit Round Robin): In the WRR method, it has been devised so that information on the average packet length is not required in advance. The details are processed in the following procedure. There is a certain "reference amount" for each class (queue)
If the length of the packet at the head of a certain queue is equal to or smaller than the reference amount, the packet is processed. Then, the reference amount is reduced by the packet length. In this way, the queue is processed continuously until the reference amount is less than the length of the packet to be processed next. When it is no longer satisfied, the processing target moves to the next queue in a round robin manner. When the head packet length of all queues becomes larger than the reference amount of each queue, a new reference amount is added to all queues.

【0005】(4)GPS(Generalized Processor Sh
aring):これは、パケットの存在するN個のキューに
対して無限の処理容量をもつサーバーが同時に1/Nず
つのサービス率で処理を行うスケジューリング方式であ
る。あるキューに処理されるべきパケットが存在しない
場合には、その分の処理能力は他のキューに等しく割り
当てられる。実際には実現不可能な理想的な方式であ
る。
(4) GPS (Generalized Processor Sh)
aring): This is a scheduling method in which servers having an infinite processing capacity simultaneously process N / queues where packets exist at a service rate of 1 / N. If there is no packet to be processed in one queue, the processing capacity is equally allocated to other queues. This is an ideal method that cannot be realized in practice.

【0006】(5)WFQ(Weighted Fair Queuein
g):これは、前記GPS方式を近似的に実現させるた
めの方式であり、GPSでは同時に並列に無限小単位の
処理を施しているのに対して、このWFQではビット単
位でパケットの処理終了予定時刻の計算を行い、その時
刻の早いパケットから順番に処理を行う。 (6)CB−WFQ(Class-based Weighted Fair Queu
eing):キュー毎に重み値を固定的に割り付ける。
(5) WFQ (Weighted Fair Queuein)
g): This is a method for approximately realizing the GPS method. In the WFQ, packet processing is terminated in bit units, while the GPS performs processing in infinitesimal units at the same time. The scheduled time is calculated, and the processing is performed in order from the packet with the earliest time. (6) CB-WFQ (Class-based Weighted Fair Queu
eing): A weight value is fixedly assigned to each queue.

【0007】また、例えば特開平9−83547号公報
においては、各パケットキューに設定された重みとパケ
ットキューのパケット蓄積量とに基づいてスケジューリ
ングを行うことを開示している。また、パケットスケジ
ューリングの方式を選択する際には、以下の事項を考慮
して選択するのが一般的である。
[0007] For example, Japanese Patent Application Laid-Open No. 9-83547 discloses that scheduling is performed based on the weight set for each packet queue and the packet accumulation amount of the packet queue. In addition, when selecting a packet scheduling method, it is general to select the method in consideration of the following items.

【0008】(a)スケジューリングによって何をどの
ように実現するのか(例えば、優先度の違い、公平性、
遅延時間の上限値以内に処理を終了させたい等)。 (b)優先度をどのように定義し、それが実際に実現さ
れるか否か。 (c)クラス間の公平性を考える必要があるか、必要が
あればそれをどのように考えるか。
(A) What and how to achieve by scheduling (for example, differences in priority, fairness,
You want to end the processing within the upper limit of the delay time, etc.). (B) How to define the priority and whether it is actually realized. (C) Whether fairness between classes needs to be considered, and if so, how?

【0009】(d)実際に装置内で実現する際の容易性
はどの程度であるか。 上記の事項の組み合わせを考慮して、最も都合の良い方
式が選ばれる。
(D) How easy is it to actually implement it in the apparatus? The most convenient method is selected in consideration of a combination of the above items.

【0010】[0010]

【発明が解決しようとする課題】例えばIP網において
は、様々な種類のアプリケーションの情報を運ぶために
様々な種類のパケットが混在して伝送される。アプリケ
ーションの種類としては、音声(VoIP),画像(Vi
deo on Demandやテレビ会議),Telnet,X−W
indow,WWW,電子メール,FTPなどがある。
For example, in an IP network, various types of packets are mixedly transmitted to carry information of various types of applications. Application types include voice (VoIP) and image (Vi
deo on Demand and video conferencing), Telnet, X-W
Indow, WWW, electronic mail, FTP and the like.

【0011】音声や画像のアプリケーションの情報を運
ぶパケットは「ストリーム型トラヒック」と呼ばれる。
また、TelnetやX−Window等のアプリケー
ションの情報を運ぶパケットは「インタラクティブ型ト
ラヒック」と呼ばれる。更に、WWW,電子メール,F
TPなどのアプリケーションの情報を運ぶパケットは
「バルク転送型トラヒック」と呼ばれる。
Packets that carry audio and video application information are called "stream-type traffic."
A packet carrying information of an application such as Telnet or X-Window is called "interactive traffic". Further, WWW, e-mail, F
A packet that carries information of an application such as a TP is called "bulk transfer type traffic".

【0012】「ストリーム型トラヒック」や「インタラ
クティブ型トラヒック」については、実時間性が重要で
あり、伝送途中の遅延時間が増大すると伝送品質が著し
く低下する。また、「バルク転送型トラヒック」につい
ては実時間性はあまり重要ではない。前記CB−WFQ
方式を採用する場合には、「ストリーム型トラヒック」
や「インタラクティブ型トラヒック」を処理するキュー
に予め大きな重みを割り当て、「バルク転送型トラヒッ
ク」を処理するキューに予め小さな重みを割り当ててお
くことにより、実時間性の要求の厳しいアプリケーショ
ンに対する品質を確保することができる。
[0012] For "stream-type traffic" and "interactive-type traffic", real-time performance is important, and if the delay time during transmission is increased, the transmission quality is remarkably deteriorated. In addition, real-time performance is not so important for “bulk transfer type traffic”. The CB-WFQ
When adopting the method, "stream type traffic"
Priority is assigned to large queues for processing traffic and "interactive traffic", and low weight is assigned to queues for processing "bulk transfer traffic" in advance, ensuring quality for applications that require real-time performance. can do.

【0013】しかしながら、CB−WFQ方式のように
各キューの重みを固定的に定める場合には、小さい重み
が割り当てられたキューを使用する特定のアプリケーシ
ョンについては品質が大幅に低下する場合がある。すな
わち、特定のキューの使用頻度が高くなり、そのキュー
に割り当てられた帯域に比べて多くのパケットが短い時
間内に到着した場合には当該キューにおける遅延時間が
著しく増大する。
However, when the weight of each queue is fixedly determined as in the CB-WFQ system, the quality of a specific application using a queue to which a small weight is assigned may be significantly reduced. That is, the frequency of use of a particular queue increases, and when many packets arrive within a short time compared to the bandwidth allocated to the queue, the delay time in the queue increases significantly.

【0014】また、特開平9−83547号公報の技術
を利用する場合には、パケットキューのパケット蓄積量
に応じて動的にスケジューリングを行うので、各々のク
ラスのパケットの優先度が逐次変化することになる。従
って、実時間性の高い特定のクラスのパケットに対して
帯域を保証できない。また、特定のクラスに割り当てら
れる帯域の大きさが小さくなりすぎる可能性もある。
When the technique disclosed in Japanese Patent Application Laid-Open No. 9-83547 is used, scheduling is dynamically performed in accordance with the amount of stored packets in a packet queue, so that the priority of packets of each class changes sequentially. Will be. Therefore, a bandwidth cannot be guaranteed for a specific class of packets having high real-time properties. Further, the size of the band allocated to a specific class may be too small.

【0015】本発明は、パケットスケジューリング方法
及びパケットスケジューリング装置において、利用可能
な全ての帯域を有効に利用し、実時間性に厳しいアプリ
ケーションの品質低下を防止するとともに、実時間性の
要求が小さいアプリケーションについても伝送遅延時間
が増大するのを防止することを目的とする。
According to the present invention, in a packet scheduling method and a packet scheduling apparatus, all available bandwidths are effectively used to prevent quality degradation of an application strict in real-time performance, and an application that requires a small real-time performance is required. It is another object of the present invention to prevent the transmission delay time from increasing.

【0016】[0016]

【課題を解決するための手段】請求項1は、順次に入力
されるパケットを待ち行列として蓄積し、処理のために
前記待ち行列から取り出されるパケットの順序を決定す
るためのパケットスケジューリング方法であって、入力
されるパケットを複数のクラスに区分するとともに、前
記複数のクラスをストリーム型トラヒック又はインタラ
クティブ型トラヒックに相当する優先グループと、バル
ク転送型トラヒックに相当する非優先グループとに分類
し、それぞれのクラスのパケットを互いに独立した待ち
行列に蓄積し、前記優先グループに属するクラスのパケ
ットを保持する待ち行列に対しては、該当するクラスの
要求遅延時間を満足するのに十分な第1の帯域を優先的
に割り当て、全体の帯域の値から前記第1の帯域の総和
を差し引いた結果を第2の帯域に定め、前記非優先グル
ープに属する各クラスについて、特定期間における使用
頻度をクラス毎に検出し、前記非優先グループに属する
各クラスのパケットを保持する待ち行列に対しては、直
近の特定期間で検出された使用頻度の違いに応じた重み
で前記第2の帯域の一部分もしくは全体を動的に割り当
て、前記複数の待ち行列から取り出されるパケットの順
序を、各待ち行列に割り当てられた帯域の大きさに従っ
て決定することを特徴とする。
A first aspect of the present invention is a packet scheduling method for storing sequentially input packets as a queue and determining the order of packets to be taken out of the queue for processing. The input packets are divided into a plurality of classes, and the plurality of classes are classified into a priority group corresponding to stream-type traffic or interactive traffic, and a non-priority group corresponding to bulk-transfer-type traffic. Are stored in queues independent of each other, and a first band sufficient for satisfying the required delay time of the corresponding class is assigned to the queue holding the packets of the class belonging to the priority group. Is assigned preferentially, and the sum of the first band is subtracted from the value of the entire band. For each class belonging to the non-priority group, the use frequency in a specific period is detected for each class, and the latest band is stored in a queue holding packets of each class belonging to the non-priority group. A part or the whole of the second band is dynamically allocated with a weight according to a difference in use frequency detected in a specific period of time, and an order of packets taken out from the plurality of queues is allocated to each queue. Is determined according to the size of the band.

【0017】請求項1においては、前記優先グループに
属する各クラスのパケットを保持する待ち行列には、各
クラスの要求遅延時間を満足するのに十分な第1の帯域
が優先的に割り当てられる。また、前記非優先グループ
に属する各クラスのパケットを保持する待ち行列には、
直近の特定期間で検出された使用頻度の違いに応じた重
みで前記第2の帯域の一部分もしくは全体が動的に割り
当てられる。第2の帯域は、全体の帯域の値から前記第
1の帯域の総和を差し引いた結果である。
In the present invention, a first band sufficient to satisfy a required delay time of each class is preferentially allocated to a queue holding packets of each class belonging to the priority group. The queue holding packets of each class belonging to the non-priority group includes:
A part or the whole of the second band is dynamically allocated with a weight according to the difference in the use frequency detected in the latest specific period. The second band is a result of subtracting the sum of the first band from the value of the entire band.

【0018】従って、ストリーム型トラヒック及びイン
タラクティブ型トラヒックを処理する待ち行列について
は、それぞれのアプリケーションが要求する遅延時間を
満足するように優先的にパケットを処理することができ
る。また、バルク転送型トラヒックを処理する待ち行列
に割り当てられる帯域の大きさには、直近の特定期間で
検出されたクラス毎の使用頻度の違いに応じた重みが反
映される。すなわち、第2の帯域の一部分もしくは全体
が前記非優先グループの各クラスに動的に割り当てられ
る。
Therefore, the queues for processing the stream-type traffic and the interactive-type traffic can preferentially process the packets so as to satisfy the delay time required by each application. In addition, a weight corresponding to a difference in the frequency of use of each class detected in the latest specific period is reflected in the size of the band allocated to the queue for processing the bulk transfer type traffic. That is, a part or the whole of the second band is dynamically allocated to each class of the non-priority group.

【0019】このため、前記非優先グループのパケット
を処理するクラスについても、待ち行列に入力されるパ
ケット数などが急激に増大すると、当該クラスのパケッ
トを処理する待ち行列に割り当てられる帯域が大きくな
るので、遅延時間の増大を抑制することができる。請求
項2は、請求項1のパケットスケジューリング方法にお
いて、前記非優先グループの中に、割り当てられた帯域
の大きさが過小の特定クラスが存在する場合には、前記
優先グループに属するクラスよりも優先的に、前記特定
クラスのパケットを保持する待ち行列に対して最初に第
3の帯域を割り当て、その後で、前記優先グループに属
するクラスのパケットを保持する待ち行列に対して前記
第1の帯域を割り当てることを特徴とする。
For this reason, also in the class for processing the packets of the non-priority group, when the number of packets input to the queue increases rapidly, the bandwidth allocated to the queue for processing the packets of the class increases. Therefore, an increase in delay time can be suppressed. According to a second aspect of the present invention, in the packet scheduling method according to the first aspect, when the non-priority group includes a specific class whose allocated bandwidth is too small, priority is given to a class belonging to the priority group. First, a third band is first allocated to a queue holding packets of the specific class, and then the first band is allocated to a queue holding packets of a class belonging to the priority group. It is characterized by assigning.

【0020】一部のクラスのパケットだけを優先的に処
理する場合、特定クラスに割り当てられる帯域が非常に
小さくなり、特定クラスのパケットが全く処理されなく
なる可能性もある。請求項2においては、特定クラスに
割り当てられた帯域の大きさが過小であるとみなされた
場合には、前記特定クラスには第3の帯域が優先的に割
り当てられるので、特定クラスのパケットも確実に処理
することができる。すなわち、非優先グループのクラス
についても最低限の帯域を保証することができる。
If only some classes of packets are processed preferentially, the bandwidth allocated to a specific class becomes very small, and there is a possibility that packets of a specific class will not be processed at all. In claim 2, when the size of the band allocated to the specific class is considered to be too small, the third band is preferentially allocated to the specific class. It can be processed reliably. That is, the minimum bandwidth can be guaranteed for the class of the non-priority group.

【0021】請求項3は、請求項1のパケットスケジュ
ーリング方法において、前記非優先グループの各クラス
の使用頻度を、前記特定期間に到着したパケットの数及
び到着したパケットの平均パケット長に基づいて検出す
ることを特徴とする。請求項3においては、前記特定期
間に到着したパケットの数及び到着したパケットの平均
パケット長に基づいて各クラスの使用頻度を検出するの
で、到着するパケットの各パケット長が変動する場合で
あっても各クラスの使用頻度を検出することができる。
According to a third aspect of the present invention, in the packet scheduling method according to the first aspect, the frequency of use of each class of the non-priority group is detected based on the number of packets arriving in the specific period and the average packet length of the arriving packets. It is characterized by doing. According to claim 3, the frequency of use of each class is detected based on the number of packets arriving during the specific period and the average packet length of the arriving packets, so that the length of each arriving packet varies. Can also detect the frequency of use of each class.

【0022】請求項4は、順次に入力されるパケットを
待ち行列として蓄積し、処理のために前記待ち行列から
取り出されるパケットの順序を決定するためのパケット
スケジューリング装置であって、入力されるパケットを
複数のクラスに区分するとともに、前記複数のクラスを
ストリーム型トラヒックに相当する優先グループと、バ
ルク転送型トラヒックに相当する非優先グループとに分
類する分類手段と、それぞれのクラスのパケットを互い
に独立した待ち行列に蓄積する蓄積制御手段と、前記優
先グループに属するクラスのパケットを保持する待ち行
列に対しては、該当するクラスの要求遅延時間を満足す
るのに十分な第1の帯域を優先的に割り当てる第1の帯
域割り当て手段と、全体の帯域の値から前記第1の帯域
の総和を差し引いた結果を第2の帯域に定める帯域計算
手段と、前記非優先グループに属する各クラスについ
て、特定期間における使用頻度をクラス毎に検出する使
用頻度検出手段と、前記非優先グループに属する各クラ
スのパケットを保持する待ち行列に対しては、直近の特
定期間で検出された使用頻度の違いに応じた重みで前記
第2の帯域の一部分もしくは全体を動的に割り当てる第
2の帯域割り当て手段と、前記複数の待ち行列から取り
出されるパケットの順序を、各待ち行列に割り当てられ
た帯域の大きさに従って決定するスケジューリング手段
とを設けたこと特徴とする。
A fourth aspect of the present invention is a packet scheduling apparatus for storing sequentially input packets as a queue and determining the order of packets to be taken out of the queue for processing. Classifying means into a plurality of classes, classifying means for classifying the plurality of classes into a priority group corresponding to stream type traffic, and a non-priority group corresponding to bulk transfer type traffic; Priority is given to the first band sufficient to satisfy the required delay time of the corresponding class with respect to the storage control means for storing the packets belonging to the priority group and the queue for storing the packets belonging to the class belonging to the priority group. Subtracting the sum of the first band from the value of the entire band. Band calculation means for determining the result as the second band, use frequency detection means for detecting use frequency in a specific period for each class belonging to the non-priority group, and packets of each class belonging to the non-priority group A second band allocating means for dynamically allocating a part or the entirety of the second band with a weight corresponding to a difference in use frequency detected in a latest specific period, Scheduling means for determining the order of packets to be taken out from the plurality of queues according to the size of the bandwidth allocated to each queue.

【0023】請求項4のパケットスケジューリング装置
においては、請求項1と同様にパケットスケジューリン
グを行うことができる。
According to the fourth aspect of the present invention, packet scheduling can be performed in the same manner as in the first aspect.

【0024】[0024]

【発明の実施の形態】本発明のパケットスケジューリン
グ方法及びパケットスケジューリング装置の1つの実施
の形態について、図1〜図3を参照して説明する。この
形態は全ての請求項に対応する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of a packet scheduling method and a packet scheduling apparatus according to the present invention will be described with reference to FIGS. This form corresponds to all claims.

【0025】図1は、この形態のパケットスケジューリ
ング処理を示すフローチャートである。図2は本発明を
実施するルータの構成を示すブロック図である。図3は
この形態の処理のタイミングを示すタイムチャートであ
る。この形態では、請求項4の分類手段,蓄積制御手
段,第1の帯域割り当て手段,帯域計算手段,使用頻度
検出手段,第2の帯域割り当て手段及びスケジューリン
グ手段は、それぞれクラス決定部11,パケット情報収
集部10,S22,S23,トラヒック特性量計算部1
6(S15),S24及び処理クラス指示部18に対応
する。
FIG. 1 is a flowchart showing a packet scheduling process of this embodiment. FIG. 2 is a block diagram showing a configuration of a router for implementing the present invention. FIG. 3 is a time chart showing the timing of the processing of this embodiment. In this embodiment, the classifying unit, the storage control unit, the first band allocating unit, the band calculating unit, the use frequency detecting unit, the second band allocating unit, and the scheduling unit according to claim 4 respectively include the class determining unit 11, the packet information Collection unit 10, S22, S23, traffic characteristic amount calculation unit 1
6 (S15), S24, and the processing class instruction unit 18.

【0026】この形態では、IP網に接続された図2の
ルータに、本発明のパケットスケジューリング方法及び
パケットスケジューリング装置を適用する場合を想定し
ている。図2を参照すると、このルータにはパケット情
報収集部10,クラス決定部11,ヘッダ読み取り測定
部12,パケットヘッダ解析/計算部13,ルーチング
テーブル14,ヘッダ書き込み制御部15,トラヒック
特性量計算部16,割り当て帯域計算部17,処理クラ
ス指示部18,データベース(DB)19,スケジュー
リング部20,時計31及びタイマ32が備わってい
る。
In this embodiment, it is assumed that the packet scheduling method and the packet scheduling device of the present invention are applied to the router of FIG. 2 connected to the IP network. Referring to FIG. 2, the router includes a packet information collecting unit 10, a class determining unit 11, a header reading and measuring unit 12, a packet header analyzing / calculating unit 13, a routing table 14, a header writing control unit 15, a traffic characteristic amount calculating unit. 16, a bandwidth calculation unit 17, a processing class instruction unit 18, a database (DB) 19, a scheduling unit 20, a clock 31, and a timer 32.

【0027】また、スケジューリング部20には、N個
のキューバッファ21(1)〜21(N)及びパケット処理部
22が備わっている。キューバッファ21は、例えばF
IFO(ファーストインファーストアウト)メモリで構
成することができる。外部からこのルータに到来するパ
ケットは、パケット情報収集部10に入力され、スケジ
ューリング部20でいずれか1つのキューバッファ21
に蓄積された後、パケット処理部22で処理されて外部
に出力される。
The scheduling unit 20 includes N queue buffers 21 (1) to 21 (N) and a packet processing unit 22. The queue buffer 21 is, for example, F
It can be constituted by an IFO (first in first out) memory. A packet arriving at the router from the outside is input to the packet information collecting unit 10, and the scheduling unit 20 selects one of the queue buffers 21.
After that, it is processed by the packet processing unit 22 and output to the outside.

【0028】パケット情報収集部10は、各パケットか
らその行き先,クラス及びパケット長を含むヘッダ情報
を抽出してクラス決定部11に通知する。クラス決定部
11は、ヘッダ情報のクラスに基づいて、パケットの種
類をN以下のクラスに分類する。また、優先グループの
クラスと非優先グループのクラスとを区別する。パケッ
ト情報収集部10は、入力されたパケットをクラス決定
部11の分類したクラスに対応する1つのキューバッフ
ァ21に書き込む。
The packet information collecting unit 10 extracts header information including the destination, class, and packet length from each packet, and notifies the class determining unit 11 of the extracted header information. The class determining unit 11 classifies the types of packets into N or less classes based on the class of the header information. Further, a class of the priority group and a class of the non-priority group are distinguished. The packet information collecting unit 10 writes the input packet into one queue buffer 21 corresponding to the class classified by the class determining unit 11.

【0029】また、各パケットの行き先及びクラスを含
むヘッダ情報は、クラス決定部11からヘッダ読み取り
測定部12を通ってパケットヘッダ解析/計算部13に
入力される。パケットヘッダ解析/計算部13は、ヘッ
ダ情報に基づき、ルーチングテーブル14を参照して行
き先情報を取得する。この行き先情報は、ヘッダ書き込
み制御部15を通り、次ルータ情報としてキューバッフ
ァ21上のパケットに書き込まれる。
The header information including the destination and the class of each packet is input from the class determination section 11 to the packet header analysis / calculation section 13 through the header reading / measuring section 12. The packet header analysis / calculation unit 13 acquires destination information by referring to the routing table 14 based on the header information. This destination information passes through the header write control unit 15 and is written in the packet on the queue buffer 21 as next router information.

【0030】トラヒック特性量計算部16は、パケット
のクラス毎に特定区間毎のトラヒック特性量を計算す
る。割り当て帯域計算部17は、トラヒック特性量計算
部16の求めた特性量に従って、各クラスの帯域を割り
当てる。割り当て帯域計算部17が割り当てた帯域の値
は、各クラスの重みとして処理クラス指示部18に入力
される。また、処理クラス指示部18には特定区間毎の
処理パケット数がトラヒック特性量計算部16から入力
される。
The traffic characteristic amount calculation section 16 calculates a traffic characteristic amount for each specific section for each packet class. The allocation bandwidth calculation unit 17 allocates the bandwidth of each class according to the characteristic amount obtained by the traffic characteristic amount calculation unit 16. The value of the band allocated by the allocated band calculation unit 17 is input to the processing class designating unit 18 as the weight of each class. Further, the number of packets to be processed in each specific section is input to the processing class instructing unit 18 from the traffic characteristic amount calculating unit 16.

【0031】処理クラス指示部18は、パケット処理部
22が処理すべきパケットのクラスをパケット処理部2
2に指示する。パケット処理部22は、処理クラス指示
部18から指示されたクラスのパケットを対応するキュ
ーバッファ21の先頭から取り出して処理する。図2の
パケット処理部22がキューバッファ21(1)〜21(N)
から取り出すパケットの順番を決定するためのパケット
スケジューリング処理の詳細について、以下に説明す
る。
The processing class designating unit 18 indicates the class of the packet to be processed by the packet processing unit 22 to the packet processing unit 2.
Instruct 2 The packet processing unit 22 extracts a packet of the class specified by the processing class instruction unit 18 from the head of the corresponding queue buffer 21 and processes the packet. The packet processing unit 22 in FIG. 2 uses queue buffers 21 (1) to 21 (N).
The details of the packet scheduling process for determining the order of the packets to be extracted from the packet will be described below.

【0032】なお、パケットのクラスについては、アプ
リケーションの種類によって定められる場合もあるし、
ユーザの契約時に定められる場合もあるし、通信の開始
時に定められる場合もある。アプリケーションの種類と
しては、音声(VoIP),画像(Video on Demandや
テレビ会議),Telnet,X−Window,WW
W,電子メール,FTPなどがある。
The class of the packet may be determined depending on the type of the application.
It may be determined at the time of a user contract or may be determined at the start of communication. Application types include voice (VoIP), images (Video on Demand and video conference), Telnet, X-Window, and WW
W, e-mail, FTP, etc.

【0033】音声や画像のアプリケーションの情報を運
ぶパケットは「ストリーム型トラヒック」と呼ばれる。
また、TelnetやX−Window等のアプリケー
ションの情報を運ぶパケットは「インタラクティブ型ト
ラヒック」と呼ばれる。更に、WWW,電子メール,F
TPなどのアプリケーションの情報を運ぶパケットは
「バルク転送型トラヒック」と呼ばれる。
Packets that carry information about audio and video applications are called "stream-type traffic."
A packet carrying information of an application such as Telnet or X-Window is called "interactive traffic". Further, WWW, e-mail, F
A packet that carries information of an application such as a TP is called "bulk transfer type traffic".

【0034】「ストリーム型トラヒック」や「インタラ
クティブ型トラヒック」については、実時間性が重要で
あり、伝送途中の遅延時間が増大すると伝送品質が著し
く低下する。また、「バルク転送型トラヒック」につい
ては実時間性はあまり重要ではない。そこで、このパケ
ットスケジューリング処理においては、パケットのクラ
スを優先グループと非優先グループとに分類する。「ス
トリーム型トラヒック」及び「インタラクティブ型トラ
ヒック」に相当するパケットのクラスについては、実時
間性が重要なので優先グループに分類する。また、「バ
ルク転送型トラヒック」に相当するパケットのクラスに
ついては実時間性が重要でないので非優先グループに分
類する。なお、優先グループに属する各クラスを優先ク
ラスと呼び、非優先グループに属する各クラスを非優先
クラスと呼ぶ。
For "stream-type traffic" and "interactive-type traffic", real-time performance is important, and if the delay time during transmission increases, the transmission quality significantly decreases. In addition, real-time performance is not so important for “bulk transfer type traffic”. Therefore, in this packet scheduling process, the class of the packet is classified into a priority group and a non-priority group. Packet classes corresponding to “stream type traffic” and “interactive type traffic” are classified into priority groups because real-time properties are important. The class of the packet corresponding to the “bulk transfer type traffic” is classified into the non-priority group because the real-time property is not important. Each class belonging to the priority group is called a priority class, and each class belonging to the non-priority group is called a non-priority class.

【0035】図1に示すパケットスケジューリング処理
は、各クラスのパケットを処理する待ち行列(各キュー
バッファ21の内容)に対する帯域の割り当て手順を表
している。各待ち行列に割り当てられた帯域の大きさに
従って、各待ち行列に蓄積されたパケットの処理の優先
度が決定される。また、図1に示すパケットスケジュー
リング処理は、図3に示すようなタイミングで実行され
る。すなわち、現時点がtである場合に、それ以前の情
報収集区間A1について情報の収集を行い、計算区間A
2で計算を行い、制御対象区間A3に対する帯域の割り
当てを行う。
The packet scheduling process shown in FIG. 1 represents a procedure for allocating a bandwidth to a queue (contents of each queue buffer 21) for processing packets of each class. The priority of processing packets stored in each queue is determined according to the size of the bandwidth allocated to each queue. Further, the packet scheduling process shown in FIG. 1 is executed at a timing as shown in FIG. That is, if the current time is t, information is collected for the information collection section A1 before that, and the calculation section A
The calculation is performed in step 2, and the band is allocated to the control target section A3.

【0036】さて、図2のルータの入力にパケットが到
着した場合には、パケットスケジューリング処理は図1
のステップS12からS13に進む。ステップS13で
は、到着したパケットのクラスを識別する。また、次の
ステップS14では到着したパケットをそのクラスに対
応付けられた1つのキューバッファ21に転送する。更
に、ステップS15ではクラス毎に到着したパケットの
パケット数及び平均パケット長の計算を行う。
Now, when a packet arrives at the input of the router of FIG.
The process proceeds from step S12 to S13. In step S13, the class of the arrived packet is identified. In the next step S14, the arriving packet is transferred to one queue buffer 21 associated with the class. Further, in step S15, the number of packets arriving for each class and the average packet length are calculated.

【0037】各クラスに帯域を割り当てるための所定の
タイミングになると、ステップS11からS16に進
む。ステップS16〜S19は、非優先クラスのパケッ
トに対して最小限の帯域を保証するための処理である。
ステップS16では、ある監視区間(t−KT,tの
間)に、割り当てられた帯域が小さすぎて全くパケット
を処理できなかった非優先クラスが存在するか否かを識
別する。存在する場合にはステップS18に進み、存在
しない場合にはステップS17に進む。
At a predetermined timing for allocating a band to each class, the process proceeds from step S11 to S16. Steps S16 to S19 are processing for guaranteeing a minimum bandwidth for non-priority class packets.
In step S16, it is determined whether or not there is a non-priority class in a certain monitoring section (between t-KT and t) for which the allocated bandwidth is too small to process any packet. If it exists, the process proceeds to step S18; otherwise, the process proceeds to step S17.

【0038】ステップS17では、帯域BWα(bp
s)の値を0にする。ステップS18では、ルータの全
帯域BWt(bps)に係数X(例えば0.1)を掛け
た結果を帯域BWαの値にする。なお、係数X及びKは
各クラスの遅延時間がある値以上にならないように計算
により求められる。ステップS19では、パケットを処
理できなかった非優先クラスに対して、帯域BWαを割
り当てる。
In step S17, the band BWα (bp
Set the value of s) to 0. In step S18, the result of multiplying the total bandwidth BWt (bps) of the router by the coefficient X (for example, 0.1) is set as the value of the bandwidth BWα. The coefficients X and K are obtained by calculation so that the delay time of each class does not exceed a certain value. In step S19, the bandwidth BWα is allocated to the non-priority class that has failed to process the packet.

【0039】なお、パケットを処理できなかった非優先
クラスが複数存在する場合には、各クラスの遅延時間が
ある値以上にならないように、帯域BWαの一部分をそ
れぞれの非優先クラスに割り当てる。ステップS20で
は、全帯域BWtから帯域BWαを差し引いた結果を帯
域BWβの値に定める。
When there are a plurality of non-priority classes that cannot process a packet, a part of the band BWα is allocated to each non-priority class so that the delay time of each class does not exceed a certain value. In step S20, the result of subtracting the band BWα from the entire band BWt is determined as the value of the band BWβ.

【0040】ステップS21では、優先クラスのパケッ
トについて、情報収集区間A1で観測されたパケットの
ノード(ルータ)内滞在時間Tisys(A1)を次式により
クラス毎に(優先クラスのみ)計算する。 Tisys(A1)=xi(A1)+ρi(A1)xi(A1)/(2(1−ρi(A1)))・・・(1) 但し、 xi(A1)=8pi(A1)/BW(Ci,A1):平均処理時間
(sec) pi(A1):平均パケット長(byte) BW(Ci,A1):i番目のクラスに割り当てた帯域の大き
さ ρi(A1)=λi(A1)xi(A1):使用率 λi(A1)=qi(A1)/nT:到着率 qi(A1):情報収集区間A1に到着したi番目のクラス
のパケット数 ステップS22では、優先クラスについてクラス毎に帯
域の割り当てを更新する。具体的には、ステップS21
で求めたパケットの滞在時間Tisys(A1)が各クラスの
要求する遅延時間diよりも小さくなるように、帯域B
W(Ci,A3)の大きさを割り当てる。すなわち、優先クラ
スについては直近のn周期の区間(A1)で収集して得
られた情報に基づいて、遅延時間diの条件を満足する
ような帯域を制御対象区間A3に与える。
In step S21, the stay time Tisys (A1) of the packet observed in the information collection section A1 in the node (router) is calculated for each class (only the priority class) according to the following equation. Tisys (A1) = xi (A1) + pi (A1) xi (A1) / (2 (1-pi (A1))) (1) where xi (A1) = 8pi (A1) / BW (Ci , A1): average processing time (sec) pi (A1): average packet length (bytes) BW (Ci, A1): size of band allocated to the ith class ρi (A1) = λi (A1) xi ( A1): Usage rate λi (A1) = qi (A1) / nT: Arrival rate qi (A1): Number of packets of the i-th class arriving in the information collection section A1 In step S22, the bandwidth of the priority class is determined for each class. Update assignments. Specifically, step S21
Band B such that the stay time Tisys (A1) of the packet obtained in the above becomes smaller than the delay time di required by each class.
The size of W (Ci, A3) is assigned. That is, for the priority class, a band satisfying the condition of the delay time di is given to the control target section A3 based on information obtained in the section (A1) of the latest n cycles.

【0041】従って、全ての優先クラスについては、そ
れが要求する遅延時間diをほぼ満足するように帯域が
割り当てられる。また、遅延時間diを満足できないよ
うな優先クラスのパケットについては、予めそのような
呼の受付を拒否するように呼受付で制御している。ステ
ップS23では、まずステップS22で優先グループに
属する全てのクラスに割り当てた帯域BW(Ci,A3)の総
和BWrを求める。次に、帯域BWβから帯域BWrを
差し引いた結果を残余の帯域BWzとして求める。
Accordingly, the bandwidth is allocated to all the priority classes so as to substantially satisfy the delay time di required by the priority classes. Also, for a packet of a priority class that cannot satisfy the delay time di, the call reception is controlled in advance to reject such a call reception. In step S23, first, the total sum BWr of the bandwidths BW (Ci, A3) allocated to all the classes belonging to the priority group in step S22 is obtained. Next, a result obtained by subtracting the band BWr from the band BWβ is obtained as a remaining band BWz.

【0042】ステップS24では、非優先クラスについ
て、残余の帯域BWzをクラス毎に割り当てる。具体的
には、情報収集区間A1で収集して得られた到着パケッ
ト数N(Ck,A1)及び平均パケット長PL(Ck,A1)(非優先
クラスのみ)に基づいて、k番目の各クラスCkの帯域
BW(Ck,A3)を次式を用いて求める。BW(Ck,A3)=BW
z・uk・vk/(非優先クラスのuk・vkの総和)・・・
(2)但し uk=N(Ck,A1)(非優先クラスのみ) vk=PL(Ck,A1)(非優先クラスのみ) すなわち、非優先クラスのパケットについては、情報収
集区間A1で到着したパケット情報量(パケット数×平
均パケット長)に比例した割合で、帯域BWzを各クラ
スに配分する。このため、非優先クラスについては使用
頻度が高くなるとますます多くの帯域が割り当てられ
る。また、使用頻度が低くなると割り当てられる帯域は
小さくなる。
In step S24, the remaining bandwidth BWz is assigned to each non-priority class. Specifically, based on the number N (Ck, A1) of arriving packets and the average packet length PL (Ck, A1) (only the non-priority class) obtained in the information collection section A1, each k-th class The band BW (Ck, A3) of Ck is obtained using the following equation. BW (Ck, A3) = BW
z · uk · vk / (sum of uk · vk of non-priority class)
(2) However, uk = N (Ck, A1) (only the non-priority class) vk = PL (Ck, A1) (only the non-priority class) That is, for the packet of the non-priority class, the packet arriving in the information collection section A1 The bandwidth BWz is allocated to each class at a rate proportional to the information amount (the number of packets × the average packet length). For this reason, as the frequency of use of the non-priority class increases, more and more bandwidth is allocated. Also, as the frequency of use decreases, the allocated bandwidth decreases.

【0043】図1の処理によって各クラスに割り当てら
れる帯域BW(Cj)(j=1〜N)の大きさは、ルー
タのスケジューリングの際の「重み」に相当し、制御対
象区間A3における優先度に直結する。すなわち、制御
対象区間A3におけるクラスCjの優先度の重みW(Cj,
A3)は次式で与えられる。
The size of the bandwidth BW (Cj) (j = 1 to N) assigned to each class by the processing of FIG. 1 corresponds to the "weight" at the time of router scheduling, and the priority in the control target section A3 Directly connected to That is, the priority weight W (Cj, Cj,
A3) is given by the following equation.

【0044】 W(Cj,A3)=BW(Cj,A3)/BWt ・・・(3) 但し、非優先グループの各クラスについては、優先グル
ープの各クラスの待ち行列にパケットが存在しない場合
のみ、上記の重みに従って待ち行列が選択されパケット
が処理される。次に、帯域割り当ての具体例について説
明する。
W (Cj, A3) = BW (Cj, A3) / BWt (3) However, for each class of the non-priority group, only when there is no packet in the queue of each class of the priority group , A queue is selected according to the above weights, and the packet is processed. Next, a specific example of band allocation will be described.

【0045】(具体例1)この例では、次のような状態
を想定する。 BWt:12Mbps BWα:0 T:5秒 n:1 m:1 クラス数N:3 クラス1:優先クラス クラス2,クラス3:非優先クラス 現時点t:0 また、情報収集区間A1(−5,0)における各クラス
の使用状態として次の状態を想定する。
(Specific Example 1) In this example, the following state is assumed. BWt: 12 Mbps BWα: 0 T: 5 seconds n: 1 m: 1 class number N: 3 Class 1: Priority class Class 2, Class 3: Non-priority class At present t: 0 Also, information collection section A1 (−5, 0 The following state is assumed as the use state of each class in ()).

【0046】クラス1の到着パケット数:2 クラス2の到着パケット数:2 クラス3の到着パケット数:6 クラス1の平均パケット長:100 クラス2の平均パケット長:200 クラス3の平均パケット長:300 ここで、帯域BWrが8Mbpsである場合を想定する
と、制御対象区間A3(5,10)に対する各クラスへ
の割り当て帯域は次のようになる。
Number of arriving packets of class 1: 2 Number of arriving packets of class 2: 2 Number of arriving packets of class 3: 6 Average packet length of class 1: 100 Average packet length of class 2: 200 Average packet length of class 3: Here, assuming that the bandwidth BWr is 8 Mbps, the bandwidth allocated to each class for the control target section A3 (5, 10) is as follows.

【0047】クラス1:8Mbps クラス2:(12-8)×2×200/(2×200+6×300)=0.727
Mbps クラス3:(12-8)×6×300/(2×200+6×300)=3.273
Mbps (具体例2)この例では、観測周期Tの整数倍(KT)
のある区間で、優先クラスのパケットの到着数が多すぎ
て、非優先グループに対する帯域の割り当てが少なくな
り、非優先グループに属するあるクラス(未処理クラ
ス)のパケットが全く処理されなかった場合を想定す
る。
Class 1: 8 Mbps Class 2: (12-8) × 2 × 200 / (2 × 200 + 6 × 300) = 0.727
Mbps class 3: (12-8) x 6 x 300 / (2 x 200 + 6 x 300) = 3.273
Mbps (Specific Example 2) In this example, an integral multiple of the observation period T (KT)
In a certain section, a case where the number of packets of the priority class arrived too much, the bandwidth allocation to the non-priority group was reduced, and a packet of a certain class (unprocessed class) belonging to the non-priority group was not processed at all. Suppose.

【0048】この場合には、(KT)の区間毎に、次の
制御対象区間A3における全帯域のX(%)の帯域を前
記未処理クラスに割り当てて処理する。係数K,Xは、
各クラスの遅延時間がある値以上にならないように計算
により求められる。すなわち、未処理の非優先クラスを
検出した場合には、図1のステップS19で帯域BWα
を未処理の非優先クラスに割り当てる。
In this case, for each section of (KT), the band of X (%) of the entire band in the next control target section A3 is assigned to the unprocessed class and processed. The coefficients K and X are
The calculation is made so that the delay time of each class does not exceed a certain value. That is, when an unprocessed non-priority class is detected, the bandwidth BWα is determined in step S19 of FIG.
To the outstanding non-priority class.

【0049】また、ここでは次の状態を想定する。 BWt:12Mbps T:5秒 n:1 m:1 クラス数N:3 クラス1:優先クラス クラス2:非優先クラス クラス3:非優先クラス(未処理クラス) K:2 X:10(%) 現時点t:0 また、情報収集区間A1(−5,0)における各クラス
の使用状態として次の状態を想定する。
The following state is assumed here. BWt: 12 Mbps T: 5 seconds n: 1 m: 1 class number N: 3 class 1: priority class class 2: non-priority class class 3: non-priority class (unprocessed class) K: 2 X: 10 (%) t: 0 Further, the following state is assumed as the use state of each class in the information collection section A1 (−5, 0).

【0050】クラス1の到着パケット数:9 クラス2の到着パケット数:1 クラス3の到着パケット数:0 クラス1の平均パケット長:100 クラス2の平均パケット長:200 クラス3の平均パケット長:300 ここで、帯域BWrが11Mbpsであり、区間(−1
0,0)でクラス3のパケットが1個も処理されなかっ
た場合を想定する。この場合、制御対象区間A3(5,
10)に対する各クラスへの割り当て帯域は次のように
なる。
Class 1 arriving packets: 9 Class 2 arriving packets: 1 Class 3 arriving packets: 0 Class 1 average packet length: 100 Class 2 average packet length: 200 Class 3 average packet length: 300 Here, the bandwidth BWr is 11 Mbps, and the section (−1)
It is assumed that no class 3 packet is processed in (0,0). In this case, the control target section A3 (5,
The bandwidth allocated to each class for 10) is as follows.

【0051】 クラス1:12−1.2=10.8Mbps クラス2:0Mbps クラス3:12×10/100=1.2Mbps すなわち、未処理クラスであるクラス3に対しては、次
の制御区間でそのパケットを処理できるように(1.2
Mbps)の帯域が優先的に割り当てられる。
Class 1: 12−1.2 = 10.8 Mbps Class 2: 0 Mbps Class 3: 12 × 10/100 = 1.2 Mbps That is, for the unprocessed class 3 in the next control section So that the packet can be processed (1.2
Mbps) is preferentially allocated.

【0052】従って、この形態では実時間性の高いクラ
スに対しては、前もって要求遅延時間を満たすのに十分
な帯域を確保しておくことができる。また、直近のある
時間区間において使用量(パケット数で判断)の多いク
ラスについては、さらに優先させてスループットを上
げ、遅延時間を短くするための優先制御をダイナミック
に実時間に近い微小時間内で実現することができる。
Therefore, in this embodiment, for a class having a high real-time property, a band sufficient to satisfy the required delay time can be secured in advance. In addition, for a class that has a large amount of use (determined by the number of packets) in a recent certain time section, priority is further given to increase the throughput, and priority control for shortening the delay time is dynamically performed within a minute time that is close to real time. Can be realized.

【0053】また、使用頻度の少ない通過パケット数の
少ないクラスに対しても、各ノード(ルータ)内の遅延
時間がある限度値以上にならないように最低限の帯域を
割り当てることができる。
In addition, a minimum bandwidth can be allocated to a class that uses a small number of passing packets and uses a small number of packets so that the delay time in each node (router) does not exceed a certain limit.

【0054】[0054]

【発明の効果】本発明によれば、使用頻度の高いクラス
のパケットを優先させるように帯域を割り当てることが
できる。しかも、実時間性の高いアプリケーションの要
求品質を満足するようにそのクラスのパケットの帯域を
割り当てることができる。また、実時間性の低いクラス
についても、比較的長い時間の平均的なスループットを
ある値以上にすることが可能である。
According to the present invention, a band can be allocated so that a packet of a frequently used class is given priority. In addition, the bandwidth of the packet of the class can be allocated so as to satisfy the required quality of the application with high real time. Even for a class with low real-time property, it is possible to make the average throughput for a relatively long time equal to or higher than a certain value.

【0055】本発明の装置を採用することにより、IP
網などを利用するユーザあるいは使用アプリケーション
に対して利用頻度に応じた帯域の割り当てが可能になる
ため、網内の通信量を益々増加させ、網の利用を活発化
させることが可能になる。
By employing the apparatus of the present invention, the IP
Since it becomes possible to allocate a band according to the frequency of use to a user or an application to use a network or the like, it is possible to further increase the traffic in the network and activate the use of the network.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施の形態のパケットスケジューリング処理を
示すフローチャートである。
FIG. 1 is a flowchart illustrating a packet scheduling process according to an embodiment.

【図2】本発明を実施するルータの構成を示すブロック
図である。
FIG. 2 is a block diagram illustrating a configuration of a router that implements the present invention.

【図3】実施の形態の処理のタイミングを示すタイムチ
ャートである。
FIG. 3 is a time chart showing the timing of processing according to the embodiment;

【符号の説明】[Explanation of symbols]

10 パケット情報収集部 11 クラス決定部 12 ヘッダ読み取り測定部 13 パケットヘッダ解析/計算部 14 ルーチングテーブル 15 ヘッダ書き込み制御部 16 トラヒック特性量計算部 17 割り当て帯域計算部 18 処理クラス指示部 19 データベース 20 スケジューリング部 21 キューバッファ 22 パケット処理部 31 時計 32 タイマ DESCRIPTION OF SYMBOLS 10 Packet information collection part 11 Class determination part 12 Header reading measurement part 13 Packet header analysis / calculation part 14 Routing table 15 Header write control part 16 Traffic characteristic quantity calculation part 17 Allocation band calculation part 18 Processing class indication part 19 Database 20 Scheduling part 21 queue buffer 22 packet processing unit 31 clock 32 timer

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 順次に入力されるパケットを待ち行列と
して蓄積し、処理のために前記待ち行列から取り出され
るパケットの順序を決定するためのパケットスケジュー
リング方法であって、 入力されるパケットを複数のクラスに区分するととも
に、前記複数のクラスをストリーム型トラヒック又はイ
ンタラクティブ型トラヒックに相当する優先グループ
と、バルク転送型トラヒックに相当する非優先グループ
とに分類し、 それぞれのクラスのパケットを互いに独立した待ち行列
に蓄積し、 前記優先グループに属するクラスのパケットを保持する
待ち行列に対しては、該当するクラスの要求遅延時間を
満足するのに十分な第1の帯域を優先的に割り当て、 全体の帯域の値から前記第1の帯域の総和を差し引いた
結果を第2の帯域に定め、 前記非優先グループに属する各クラスについて、特定期
間における使用頻度をクラス毎に検出し、 前記非優先グループに属する各クラスのパケットを保持
する待ち行列に対しては、直近の特定期間で検出された
使用頻度の違いに応じた重みで前記第2の帯域の一部分
もしくは全体を動的に割り当て、 前記複数の待ち行列から取り出されるパケットの順序
を、各待ち行列に割り当てられた帯域の大きさに従って
決定することを特徴とするパケットスケジューリング方
法。
1. A packet scheduling method for storing sequentially input packets as a queue and determining the order of packets to be taken out of the queue for processing, comprising the steps of: And classifying the plurality of classes into a priority group corresponding to stream type traffic or interactive type traffic and a non-priority group corresponding to bulk transfer type traffic. A first band sufficient to satisfy the required delay time of the class is preferentially allocated to a queue that stores packets of the class belonging to the priority group in a queue, The result of subtracting the sum of the first band from the value of is defined as a second band, For each class belonging to the priority group, the frequency of use in a specific period is detected for each class. For a queue holding packets of each class belonging to the non-priority group, the frequency of use detected in the latest specific period is used. Dynamically assigning a part or the entirety of the second band with a weight according to the difference between the queues, and determining the order of the packets extracted from the plurality of queues according to the size of the band assigned to each queue. A packet scheduling method characterized by the following.
【請求項2】 請求項1のパケットスケジューリング方
法において、 前記非優先グループの中に、割り当てられた帯域の大き
さが過小の特定クラスが存在する場合には、 前記優先グループに属するクラスよりも優先的に、前記
特定クラスのパケットを保持する待ち行列に対して最初
に第3の帯域を割り当て、 その後で、前記優先グループに属するクラスのパケット
を保持する待ち行列に対して前記第1の帯域を割り当て
ることを特徴とするパケットスケジューリング方法。
2. The packet scheduling method according to claim 1, wherein when there is a specific class in which the allocated bandwidth is too small in the non-priority group, priority is given to a class belonging to the priority group. First, a third band is first allocated to a queue holding packets of the specific class, and then the first band is allocated to a queue holding packets of a class belonging to the priority group. A packet scheduling method characterized by assigning.
【請求項3】 請求項1のパケットスケジューリング方
法において、前記非優先グループの各クラスの使用頻度
を、前記特定期間に到着したパケットの数及び到着した
パケットの平均パケット長に基づいて検出することを特
徴とするパケットスケジューリング方法。
3. The packet scheduling method according to claim 1, wherein the use frequency of each class of the non-priority group is detected based on a number of packets arriving in the specific period and an average packet length of the arriving packets. Characteristic packet scheduling method.
【請求項4】 順次に入力されるパケットを待ち行列と
して蓄積し、処理のために前記待ち行列から取り出され
るパケットの順序を決定するためのパケットスケジュー
リング装置であって、 入力されるパケットを複数のクラスに区分するととも
に、前記複数のクラスをストリーム型トラヒックに相当
する優先グループと、バルク転送型トラヒックに相当す
る非優先グループとに分類する分類手段と、 それぞれのクラスのパケットを互いに独立した待ち行列
に蓄積する蓄積制御手段と、 前記優先グループに属するクラスのパケットを保持する
待ち行列に対しては、該当するクラスの要求遅延時間を
満足するのに十分な第1の帯域を優先的に割り当てる第
1の帯域割り当て手段と、 全体の帯域の値から前記第1の帯域の総和を差し引いた
結果を第2の帯域に定める帯域計算手段と、 前記非優先グループに属する各クラスについて、特定期
間における使用頻度をクラス毎に検出する使用頻度検出
手段と、 前記非優先グループに属する各クラスのパケットを保持
する待ち行列に対しては、直近の特定期間で検出された
使用頻度の違いに応じた重みで前記第2の帯域の一部分
もしくは全体を動的に割り当てる第2の帯域割り当て手
段と、 前記複数の待ち行列から取り出されるパケットの順序
を、各待ち行列に割り当てられた帯域の大きさに従って
決定するスケジューリング手段とを設けたこと特徴とす
るパケットスケジューリング装置。
4. A packet scheduling apparatus for accumulating sequentially input packets as a queue and determining the order of packets to be taken out of the queue for processing, comprising: Classifying means for classifying the plurality of classes into a priority group corresponding to stream-type traffic and a non-priority group corresponding to bulk transfer-type traffic; and a queue independent of each other for packets of each class. A first bandwidth sufficient to satisfy the required delay time of the corresponding class is preferentially allocated to a queue for holding packets of the class belonging to the priority group. And a result obtained by subtracting the sum of the first band from the value of the entire band. Bandwidth calculating means for determining a second bandwidth, use frequency detecting means for detecting the use frequency in a specific period for each class belonging to the non-priority group, and holding packets of each class belonging to the non-priority group. A second band allocating unit for dynamically allocating a part or the whole of the second band with a weight corresponding to a difference in use frequency detected in a latest specific period, to the queue; Scheduling means for determining the order of packets taken out of the queue according to the size of the bandwidth allocated to each queue.
JP2000305247A 2000-10-04 2000-10-04 Packet scheduling method and packet scheduling apparatus Expired - Fee Related JP3649661B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000305247A JP3649661B2 (en) 2000-10-04 2000-10-04 Packet scheduling method and packet scheduling apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000305247A JP3649661B2 (en) 2000-10-04 2000-10-04 Packet scheduling method and packet scheduling apparatus

Publications (2)

Publication Number Publication Date
JP2002118585A true JP2002118585A (en) 2002-04-19
JP3649661B2 JP3649661B2 (en) 2005-05-18

Family

ID=18786145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000305247A Expired - Fee Related JP3649661B2 (en) 2000-10-04 2000-10-04 Packet scheduling method and packet scheduling apparatus

Country Status (1)

Country Link
JP (1) JP3649661B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005034545A1 (en) * 2003-09-30 2005-04-14 Mitsubishi Denki Kabushiki Kaisha Communication mode control method, mobile communication system, base station control apparatus, base station, and mobile communication terminal
JP2006141028A (en) * 2004-11-10 2006-06-01 Alcatel Gigabit passive optical network strict priority weighted round robin scheduling mechanism
JP2006287385A (en) * 2005-03-31 2006-10-19 Nec Corp Packet scheduling method and apparatus utilizing hsdpa
JP2006352420A (en) * 2005-06-15 2006-12-28 Kddi Corp Terminal sending and receiving quality packet including communication quality information, quality report server, and program
US7394836B2 (en) 2002-12-13 2008-07-01 Electronics And Telecommunications Research Institute Packet scheduling system and method for high-speed packet networks
US7668150B2 (en) 2003-09-04 2010-02-23 Ntt Docomo, Inc. Packet-priority control apparatus and method thereof
JP2012199729A (en) * 2011-03-22 2012-10-18 Hitachi Ltd Data synchronization server, system, and data transfer band control method
USRE44247E1 (en) 2005-09-22 2013-05-28 Research In Motion Limited Communication method
JP2016127531A (en) * 2015-01-07 2016-07-11 日本電信電話株式会社 Communication network system, network device therefor, communication band allocation control method and program
KR102020978B1 (en) * 2019-04-03 2019-09-11 한화시스템(주) Tactical data link modem based on TDMA

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7394836B2 (en) 2002-12-13 2008-07-01 Electronics And Telecommunications Research Institute Packet scheduling system and method for high-speed packet networks
US7668150B2 (en) 2003-09-04 2010-02-23 Ntt Docomo, Inc. Packet-priority control apparatus and method thereof
USRE43385E1 (en) 2003-09-30 2012-05-15 Research In Motion Limited Communication method
US8289932B2 (en) 2003-09-30 2012-10-16 Research In Motion Limited Communication mode controlling method, mobile communication system, radio network controller, base station, and mobile communication terminal
US8588843B2 (en) 2003-09-30 2013-11-19 Blackberry Limited Communication mode controlling method, mobile communication system, radio network controller, base station, and mobile communication terminal
US8311572B2 (en) 2003-09-30 2012-11-13 Research In Motion Limited Communication mode controlling method, mobile communication system, radio network controller, base station, and mobile communication terminal
US7684408B2 (en) 2003-09-30 2010-03-23 Mitsubishi Denki Kabushiki Kaisha Communication mode control method, mobile communication system, base station control apparatus, base station, and mobile communication terminal
US8072986B2 (en) 2003-09-30 2011-12-06 Research In Motion Limited Communication mode controlling method, mobile communication system, radio network controller, base station, and mobile communication terminal
WO2005034545A1 (en) * 2003-09-30 2005-04-14 Mitsubishi Denki Kabushiki Kaisha Communication mode control method, mobile communication system, base station control apparatus, base station, and mobile communication terminal
US8289972B2 (en) 2004-11-10 2012-10-16 Alcatel Lucent Gigabit passive optical network strict priority weighted round robin scheduling mechanism
JP2006141028A (en) * 2004-11-10 2006-06-01 Alcatel Gigabit passive optical network strict priority weighted round robin scheduling mechanism
JP2006287385A (en) * 2005-03-31 2006-10-19 Nec Corp Packet scheduling method and apparatus utilizing hsdpa
JP2006352420A (en) * 2005-06-15 2006-12-28 Kddi Corp Terminal sending and receiving quality packet including communication quality information, quality report server, and program
USRE44247E1 (en) 2005-09-22 2013-05-28 Research In Motion Limited Communication method
JP2012199729A (en) * 2011-03-22 2012-10-18 Hitachi Ltd Data synchronization server, system, and data transfer band control method
JP2016127531A (en) * 2015-01-07 2016-07-11 日本電信電話株式会社 Communication network system, network device therefor, communication band allocation control method and program
KR102020978B1 (en) * 2019-04-03 2019-09-11 한화시스템(주) Tactical data link modem based on TDMA

Also Published As

Publication number Publication date
JP3649661B2 (en) 2005-05-18

Similar Documents

Publication Publication Date Title
US7958260B2 (en) Method and apparatus for queuing data flows
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
JP4762996B2 (en) Method and apparatus for ordering packets for routing in a network with indirect determination of packets to be treated with priority
US7969882B2 (en) Packet transfer rate monitoring control apparatus, method, and program
JP3683133B2 (en) Packet scheduling device
US7016366B2 (en) Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues
US7619969B2 (en) Hardware self-sorting scheduling queue
JP4454338B2 (en) Packet shaping device and packet shaping method
JP2000049853A (en) Rate warrant method and device by buffer management
JP2000341336A (en) Packet multiplexer
WO2010014208A1 (en) Dynamic setting of optimal buffer sizes in ip networks
JPH0690255A (en) Method for control of congestion of data network
CA2462793C (en) Distributed transmission of traffic streams in communication networks
JP3649661B2 (en) Packet scheduling method and packet scheduling apparatus
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
JP4087279B2 (en) BAND CONTROL METHOD AND BAND CONTROL DEVICE THEREOF
JP4390731B2 (en) Call admission determination method, system and program
Undheim et al. Network calculus approach to router modeling with external measurements
JP4302014B2 (en) Ethernet frame transfer apparatus and method
KR101093500B1 (en) Real Time Scheduling Apparatus and Method by Flow Reservation/Registration
Yen et al. Sliding weighted fair queueing scheme for real-time applications
JP2001186170A (en) Packet-scheduling system and method and recording medium for recording program to execute method
KR20030052840A (en) Packet scheduling method measured load-based of a router in differentiated service network
Yen et al. A novel sliding weighted fair queueing scheme for multimedia transmission
Purnachandra Bcq a Bin-Based Core Stateless Packet Scheduler for Scalable and Flexible Support of Guaranteed Services

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

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: 20050208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080225

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120225

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees