JP2000244502A - Equipment and method for packet transferring - Google Patents

Equipment and method for packet transferring

Info

Publication number
JP2000244502A
JP2000244502A JP4496199A JP4496199A JP2000244502A JP 2000244502 A JP2000244502 A JP 2000244502A JP 4496199 A JP4496199 A JP 4496199A JP 4496199 A JP4496199 A JP 4496199A JP 2000244502 A JP2000244502 A JP 2000244502A
Authority
JP
Japan
Prior art keywords
credit
distribution
unit
packet
credits
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
JP4496199A
Other languages
Japanese (ja)
Other versions
JP3276341B2 (en
Inventor
Kaori Iimori
可織 飯盛
Tetsuya Abe
哲哉 安部
Junichi Murayama
純一 村山
Hiroyuki Hara
博之 原
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 JP4496199A priority Critical patent/JP3276341B2/en
Publication of JP2000244502A publication Critical patent/JP2000244502A/en
Application granted granted Critical
Publication of JP3276341B2 publication Critical patent/JP3276341B2/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 maintain a data transferring quality to be maximum and to equally distribute the transferring quantity by starting packet transferring to transmit to the last fixed length data block of a packet, subtracting one from a credit value for each transmission of one fixed length data block and avoiding packet transmission from the queue at the time of being smaller than a threshold. SOLUTION: A flow identifying part 3 receives a packet from an input IF part 2 to decide a necessary queue in accordance with a prescribed condition, a credit generation distributing part 5 generates a prescribed credit at every distributing period to distribute it to each credit control part in accordance with a prescribed rate. Credit control parts 61 to 67 add/subtract the number of credits corresponding to each queue; a fixed length data block reading part 7 selects a queue to read in accordance with a prescribed condition and transmits a read packet to an output IF part 8 by transmitting one data block each time at a prescribed rate, the part 8 transfers this data block to an external packet transferring device.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、アプリケーション
フローに対して品質保証を行う場合に、特に転送レート
観測周期内でパケット転送装置から転送するデータ量を
均一に分配し、同一の転送装置を利用する各エンドユー
ザーに転送データ量を公平に分配する方法に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the case where quality assurance is applied to an application flow, and in particular, the amount of data transferred from a packet transfer device is evenly distributed within a transfer rate observation period, and the same transfer device is used. The present invention relates to a method for fairly distributing the amount of transfer data to each end user.

【0002】[0002]

【従来の技術】従来の平均転送レートを制御するATM
データ転送では、例えば、特願平10−227067号「パケッ
ト転送方法」に記載されているように、送信側の装置と
受信側の装置との間における転送レート観測周期の始期
が一致しなくても平均転送レートのマッチングを得るこ
とができた。しかし、クレジット生成分配部とキューが
一対一であるため、同時に転送を行う複数のアプリケー
ションフローに対して平均転送レートを制御する場合、
アプリケーションフロー毎にクレジットの生成及び消費
を行うこととなり、或るアプリケーションフローのパケ
ットがしばらく転送されなかった場合、他のアプリケー
ションフローでクレジットが不足していても、転送され
ないアプリケーションフローに分配されるクレジットは
廃棄されてしまい、転送装置全体としてのデータ転送量
が低下するという問題があった。
2. Description of the Related Art Conventional ATMs for controlling an average transfer rate
In data transfer, for example, as described in Japanese Patent Application No. 10-227067 "Packet Transfer Method", the start of the transfer rate observation cycle between the transmitting device and the receiving device does not match. Even could get average transfer rate matching. However, since the credit generation and distribution unit and the queue are one-to-one, when controlling the average transfer rate for a plurality of application flows that are simultaneously transferred,
Credits are generated and consumed for each application flow, and if packets of a certain application flow are not transferred for a while, credits distributed to application flows that are not transferred even if credits are insufficient in other application flows. Has been discarded, and the data transfer amount of the entire transfer device has been reduced.

【0003】[0003]

【発明が解決しようとする課題】本発明の目的は、上述
のような問題点に鑑み、送信側の装置と受信側の装置と
の間において、転送レート観測周期の始期が一致しない
場合も平均転送レートのマッチングを得ながら、転送装
置全体のデータ転送量を最大に維持し、同時に通信を行
う複数のアプリケーションフロー間でデータ転送量を公
平に分配することができるパケット転送装置及びパケッ
ト転送方法を提供することにある。
SUMMARY OF THE INVENTION In view of the above problems, an object of the present invention is to obtain an average transmission rate between the transmitting device and the receiving device even when the transfer rate observation periods do not coincide. A packet transfer device and a packet transfer method capable of maintaining the maximum data transfer amount of the entire transfer device while obtaining transfer rate matching and fairly distributing the data transfer amount among a plurality of application flows that perform simultaneous communication. To provide.

【0004】[0004]

【課題を解決するための手段】本発明のパケット転送装
置は、上記の目的を達成するため、キューを複数設け、
各キュー毎にクレジット制御部を持ち、各クレジット制
御部においてクレジット値を加減算し、固定長データブ
ロック読出部がそのクレジット値を所定の閾値と比較
し、クレジット値が閾値以上の時のみパケットの転送を
開始し、転送を開始したパケットに対してはクレジット
値に関係なくそのパケットの最後の固定長データブロッ
クまで送信し、1固定長データブロック送信毎にクレジ
ット値を1減算し、クレジットが閾値未満の時はそのキ
ューからのパケットの送信は行わないようにする。
In order to achieve the above object, a packet transfer device of the present invention has a plurality of queues,
Each queue has a credit control unit. Each credit control unit adds or subtracts a credit value. The fixed-length data block reading unit compares the credit value with a predetermined threshold value, and transfers a packet only when the credit value is equal to or greater than the threshold value. , And for the packet whose transfer has begun, transmit to the last fixed-length data block of the packet regardless of the credit value, decrement the credit value by one for each fixed-length data block transmission, and the credit is less than the threshold. At the time of, transmission of the packet from the queue is not performed.

【0005】また、各キューに設けた最大クレジット数
の合計が、送信先パケット転送装置のバッファ量により
決定される最大クレジット総数を超過しないようにする
こともできる。これにより、パケット転送装置全体の平
均転送レートを一定に保つことが可能になる。
[0005] It is also possible that the sum of the maximum number of credits provided in each queue does not exceed the maximum number of credits determined by the buffer amount of the destination packet transfer device. This makes it possible to keep the average transfer rate of the entire packet transfer device constant.

【0006】また、キューに設定した平均転送レートの
合計値が、パケット転送装置全体の平均転送レート以下
になるように各キューに平均転送レートを設定し、クレ
ジットを分配する際に平均転送レートの割合に応じてク
レジットを分配することもできる。これにより、各キュ
ーに対して平均転送レートを確保することが可能にな
る。
Further, the average transfer rate is set for each queue so that the total value of the average transfer rates set for the queues is equal to or less than the average transfer rate of the entire packet transfer apparatus. Credits can also be distributed according to percentages. This makes it possible to secure an average transfer rate for each queue.

【0007】また、クレジット分配時にクレジット制御
部で最大クレジット数を超過した分を余剰クレジットと
し、余剰クレジットを生じないキューに対して、設定さ
れた平均転送レートの割合に応じて分配することもでき
る。これにより、クレジットの廃棄を減少させ、固定長
データブロック送出に利用されるクレジットを増加させ
るため、パケット転送装置全体の実効的なデータ転送量
を増加させることが可能になる。従って、全体の平均転
送レートを保ち、実効的なデータ転送量を増加させつ
つ、各キューに対する平均転送レートを確保することが
できる。更に、クレジットの分配グループを定義し、キ
ューを複数のクレジット分配グループに分割し、余剰ク
レジットの分配を可能な限りグループ内で行うことによ
り、グループ毎に平均転送レートを確保することができ
る。
[0007] In addition, when the credits are distributed, the excess of the maximum number of credits in the credit control unit is regarded as surplus credits, and the credits can be distributed to queues that do not generate surplus credits in accordance with the ratio of the set average transfer rate. . As a result, the amount of credit discarding is reduced and the number of credits used for sending fixed-length data blocks is increased, so that the effective data transfer amount of the entire packet transfer device can be increased. Therefore, the average transfer rate for each queue can be ensured while maintaining the overall average transfer rate and increasing the effective data transfer amount. Furthermore, an average transfer rate can be ensured for each group by defining a credit distribution group, dividing the queue into a plurality of credit distribution groups, and distributing surplus credits within the group as much as possible.

【0008】更に、優先及び非優先の2クラスのクレジ
ットを定義し、それぞれのクレジットを個別に分配する
こともできる。これにより、CLP=0で転送する際の
平均レートとCLP=1で転送する際の平均レートとを
それぞれ確保することができる。従って、転送先のパケ
ット転送装置で輻輳によるパケット廃棄が生じる場合、
廃棄されてもよいパケットと比較的廃棄されてはいけな
いパケットとに区別して転送することができる。
[0008] Further, two classes of credits of priority and non-priority can be defined, and each credit can be distributed individually. As a result, an average rate at the time of transfer at CLP = 0 and an average rate at the time of transfer at CLP = 1 can be secured. Therefore, if packet loss due to congestion occurs in the packet transfer device of the transfer destination,
Packets that can be discarded and packets that should not be discarded relatively can be transferred separately.

【0009】[0009]

【発明の実施の形態】次に本発明の実施例を説明する。Next, embodiments of the present invention will be described.

【0010】先ず、実施例1としてクレジットの分配に
ついての具体例を説明する。図1は本発明のパケット転
送装置の実施例の構成を示す図であり、パケット転送装
置1は、入力IF部2、フロー識別部3、キュー41〜4
7、クレジット生成分配部5、クレジット制御部61〜6
7、固定長データブロック読出部7、出力IF部8を具
える。入力IF部2は、外部のパケット転送装置からか
ら転送されてくるパケットを受信しキュー41〜47へ送信
する。フロー識別部3は、入力IF部2からパケットを
受信し所定の条件に従って受取ったパケットを入力する
キューを決定する。キュー41〜47は、フロー識別部から
受信したパケットを固定長データブロック読出部7によ
り読出されるまで保持する。クレジット生成分配部5
は、分配周期毎に所定のクレジットを生成しそのクレジ
ットを所定の割合に従って各クレジット制御部に分配す
る。クレジット制御部61〜67は、各キューに対応してク
レジット数の加減算を行う。固定長データブロック読出
部7は、所定の条件に従って読出すキューを選択し読出
したパケットを所定のレートで1データブロックずつ出
力IF部8に送信する。出力IF部8は、固定長データ
ブロック読出部7から受信したデータブロックを外部の
パケット転送装置に対して転送する。
First, a specific example of credit distribution will be described as a first embodiment. FIG. 1 is a diagram showing a configuration of an embodiment of a packet transfer device according to the present invention. The packet transfer device 1 includes an input IF unit 2, a flow identification unit 3, queues 41 to 4.
7, credit generation and distribution unit 5, credit control units 61-6
7, a fixed-length data block reading unit 7 and an output IF unit 8 are provided. The input IF unit 2 receives a packet transferred from an external packet transfer device and transmits the packet to the queues 41 to 47. The flow identification unit 3 receives a packet from the input IF unit 2 and determines a queue into which the received packet is input according to a predetermined condition. The queues 41 to 47 hold packets received from the flow identification unit until they are read by the fixed-length data block reading unit 7. Credit generation and distribution unit 5
Generates a predetermined credit for each distribution cycle and distributes the credit to each credit control unit according to a predetermined ratio. The credit control units 61 to 67 add or subtract the number of credits corresponding to each queue. The fixed-length data block reading unit 7 selects a queue to be read according to a predetermined condition, and transmits the read packet to the output IF unit 8 at a predetermined rate, one data block at a time. The output IF unit 8 transfers the data block received from the fixed-length data block reading unit 7 to an external packet transfer device.

【0011】図2は、2階層のクレジット分配部及び分
配グループで構成されるクレジット生成分配部5とクレ
ジット制御部61〜67との関係を示す図である。図2に示
すように、分配グループ91〜93を定義し、クレジット制
御部61〜63を分配グループ91に、クレジット制御部64〜
66を分配グループ92に、クレジット制御部67を分配グル
ープ93に、それぞれ設定する。クレジット生成分配部5
は、クレジット生成部51、第1階層クレジット分配部52
及び第2階層クレジット分配部531 〜533 を具える。第
2階層クレジット分配部531 〜533 は、それぞれ、分配
グループ91〜93に対応し、それぞれ、クレジット制御部
61〜63、64〜66及び67にクレジット分配を行う。
FIG. 2 is a diagram showing the relationship between the credit generation / distribution unit 5 composed of two-level credit distribution units and distribution groups and the credit control units 61 to 67. As shown in FIG. 2, distribution groups 91 to 93 are defined, and the credit control units 61 to 63 are assigned to the distribution group 91, and the credit control units 64 to
66 is set to the distribution group 92, and the credit control unit 67 is set to the distribution group 93. Credit generation and distribution unit 5
Is a credit generation unit 51, a first-tier credit distribution unit 52
And second-tier credit distribution units 531 to 533. The second hierarchy credit distribution units 531 to 533 correspond to the distribution groups 91 to 93, respectively, and the credit control units
Credits are distributed to 61-63, 64-66 and 67.

【0012】ここで、パケット転送装置の平均転送レー
トをV1(ブロック/秒)、分配グループ91〜93の平均転
送レートをV11〜V13(ブロック/秒)、キュー41〜43
の平均転送レートをV111 〜V113(ブロック/秒)、キ
ュー44〜46の平均転送レートをV121 〜V123(ブロック
/秒)、キュー47の平均転送レートをV131(ブロック/
秒)とする。また、各クレジット制御部61〜67に設定さ
れる最大クレジット数をTC61〜TC67(個)、転送先の装
置のバッファ容量によって決定される最大クレジット総
数をTC(個)とし、TC≧TC61+…+TC67を満たす値に設
定する。
Here, the average transfer rate of the packet transfer apparatus is V1 (blocks / second), the average transfer rate of the distribution groups 91 to 93 is V11 to V13 (blocks / second), and the queues 41 to 43.
, The average transfer rate of the queues 44 to 46 is V121 to V123 (blocks / second), and the average transfer rate of the queue 47 is V131 (blocks / second).
Seconds). Further, the maximum number of credits set in each of the credit control units 61 to 67 is TC61 to TC67 (pieces), and the maximum total number of credits determined by the buffer capacity of the transfer destination device is TC (pieces), and TC ≧ TC61 + ... + TC67 Set a value that satisfies.

【0013】クレジットの分配周期をT(秒)とする
と、1クレジット分配周期に生成するクレジット数CC
は、CC=V1 ×T(クレジット)となる。また、各分配
グループに分配されるクレジット数は、各分配グループ
に設定された平均転送レートの割合に応じて決定され
る。具体的には、 分配グループ91への分配クレジットDC11=CC×V11/
(V11+V11+V13) 分配グループ92への分配クレジットDC12=CC×V12/
(V11+V11+V13) 分配グループ93への分配クレジットDC13=CC×V13/
(V11+V11+V13) のようになる。他の分配グループについても同様であ
る。
Assuming that the credit distribution cycle is T (seconds), the number of credits CC generated in one credit distribution cycle CC
Is CC = V1.times.T (credit). The number of credits distributed to each distribution group is determined according to the ratio of the average transfer rate set for each distribution group. Specifically, distribution credit DC11 to distribution group 91 = CC × V11 /
(V11 + V11 + V13) Distribution credit DC12 to distribution group 92 = CC × V12 /
(V11 + V11 + V13) Distribution credit DC13 to distribution group 93 = CC × V13 /
(V11 + V11 + V13). The same applies to other distribution groups.

【0014】各クレジット制御部に分配されるクレジッ
ト数は、各クレジット制御部に設定された平均転送レー
トの割合に応じて決定する。具体的には、 分配グループ91について クレジット制御部61への分配クレジットDC111 =DC11×
V111 /(V111 +V112 +V113 ) クレジット制御部62への分配クレジットDC112 =DC11×
V112 /(V111 +V112 +V113 ) クレジット制御部63への分配クレジットDC113 =DC11×
V113 /(V111 +V112 +V113 ) 分配グループ92について クレジット制御部64への分配クレジットDC121 =DC12×
V121 /(V121 +V122 +V123 ) クレジット制御部65への分配クレジットDC122 =DC12×
V122 /(V121 +V122 +V123 ) クレジット制御部66への分配クレジットDC123 =DC12×
V123 /(V121 +V122 +V123 ) 分配グループ93について クレジット制御部67への分配クレジットDC131 =DC13×
V131 /V131 =DC13のようになる。他の分配グループ
についても同様である。
The number of credits distributed to each credit control unit is determined according to the ratio of the average transfer rate set for each credit control unit. Specifically, regarding the distribution group 91, the distribution credit DC111 to the credit control unit 61 = DC11 ×
V111 / (V111 + V112 + V113) Distribution credit to credit control unit 62 DC112 = DC11 ×
V112 / (V111 + V112 + V113) Distribution credit to credit control unit 63 DC113 = DC11 ×
V113 / (V111 + V112 + V113) Distribution group 92 Distribution credit to credit control unit 64 DC121 = DC12 ×
V121 / (V121 + V122 + V123) Distribution credit to credit control unit 65 DC122 = DC12 ×
V122 / (V121 + V122 + V123) Distribution credit to the credit control unit 66 DC123 = DC12 ×
V123 / (V121 + V122 + V123) Distribution Group 93 Distribution Credits to Credit Control Unit 67 DC131 = DC13 ×
V131 / V131 = DC13 The same applies to other distribution groups.

【0015】このように、平均転送レートの割合を基に
分配クレジット数を決定することにより、各キューに対
して予め設定された平均転送レートに応じた送信機会が
与えられる。
As described above, by determining the number of distribution credits based on the ratio of the average transfer rate, a transmission opportunity corresponding to the preset average transfer rate is given to each queue.

【0016】次に、実施例2としてグループ内余剰クレ
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
Next, a specific example of handling surplus credits within a group will be described as a second embodiment. Example 1
After determining the number of distribution credits according to the above, the credits are added to the respective credit control units. If the maximum number of credits is exceeded after the addition, the excess is redistributed as surplus credits.

【0017】或る分配周期において、クレジット制御部
61〜63で分配前に保持しているクレジット数をBC61〜BC
63とする。保持クレジット数及び分配クレジット数と最
大クレジット数との関係が、 TC61<BC61+DC111 TC62≧BC62+DC112 TC63≧BC63+DC113 の場合、クレジット制御部61において余剰クレジットが
発生し、分配グループ91の各クレジット制御部61〜63へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63≧BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) である場合、発生した余剰クレジットは、分配グループ
91内に再分配される。
In a certain distribution cycle, the credit control unit
The number of credits held before distribution in BC 61-63
63. If the relationship between the number of retained credits and the number of distributed credits and the maximum number of credits is TC61 <BC61 + DC111 TC62 ≧ BC62 + DC112 TC63 ≧ BC63 + DC113, surplus credits are generated in the credit control unit 61, and the credit control units 61 to 63 of the distribution group 91 are generated. TC61 + TC62 + TC63 ≥ BC61 + BC62 + BC63 + DC11 (= BC61 +
BC62 + BC63 + DC111 + DC112 + DC113), the surplus credit generated is the distribution group
Redistributed within 91.

【0018】各クレジット制御部に分配されるクレジッ
ト数は、余剰クレジット分を含め、 クレジット制御部61にTC61−BC61 クレジット制御部62にDC112 +(BC61+DC111 −TC61)
×V112 /(V112 +V113 )(≦TC62−BC62)(DC11
2 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。) クレジット制御部63にDC113 +(BC61+DC111 −TC61)
×V113 /(V112 +V113 )(≦TC63−BC63)(DC11
3 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。)となる。
The number of credits distributed to each credit control unit, including the surplus credits, is TC61-BC61 in the credit control unit 61 and DC112 + (BC61 + DC111-TC61) in the credit control unit 62.
× V112 / (V112 + V113) (≦ TC62−BC62) (DC11
2 is the basic distribution credit, and (BC61 + DC111-TC61) is the surplus credit in the group. DC113 + (BC61 + DC111-TC61) in credit control unit 63
× V113 / (V112 + V113) (≦ TC63−BC63) (DC11
3 is the basic distribution credit, and (BC61 + DC111-TC61) is the surplus credit in the group. ).

【0019】このように、余剰クレジットをグループ内
で再分配することにより、パケット転送に利用されるク
レジット数の割合を向上させることが可能である。ま
た、再分配先がグループ内となるため、同一ポリシーを
持つグループ内のユーザー間でクレジットの有効利用を
図ることが可能となる。
As described above, by redistributing the surplus credits within the group, it is possible to improve the ratio of the number of credits used for packet transfer. Further, since the re-distribution destination is within the group, it is possible to effectively use the credit between users in the group having the same policy.

【0020】次に、実施例3としてグループ間余剰クレ
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
Next, as a third embodiment, a specific example of handling surplus credits between groups will be described. Example 1
After determining the number of distribution credits according to the above, the credits are added to the respective credit control units. If the maximum number of credits is exceeded after the addition, the excess is redistributed as surplus credits.

【0021】或る分配周期において、クレジット制御部
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66≧BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67≧BC67+DC13(=BC67++DC131 ) の場合、分配グループ91において余剰クレジットが発生
し、発生した余剰クレジットは他の分配グループ92、93
に再分配される。
In a certain distribution cycle, the credit control unit
The number of credits held before distribution at 61-67 is BC61-BC
67. The relationship between the total number of credits distributed to each credit control unit of the distribution groups 91 to 93 and the total number of maximum credits is TC61 + TC62 + TC63 <BC61 + BC62 + BC63 + DC11 (= BC61 +
BC62 + BC63 + DC111 + DC112 + DC113) TC64 + TC65 + TC66 ≧ BC64 + BC65 + BC66 + DC12 (= BC64 +
BC65 + BC66 + DC121 + DC122 + DC123) In the case of TC67 ≧ BC67 + DC13 (= BC67 ++ DC131), surplus credits are generated in the distribution group 91, and the generated surplus credits are distributed to the other distribution groups 92 and 93.
Redistributed to

【0022】分配グループ92、93に再分配される余剰ク
レジット数は、それぞれ、 分配グループ92に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
12/(V12+V13) 分配グループ93に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
13/(V12+V13) となる。
The number of surplus credits redistributed to the distribution groups 92 and 93 is (BC61 + BC62 + BC63 + DC11− (TC61 + TC62 + TC63)) × V
12 / (V12 + V13) In distribution group 93 (BC61 + BC62 + BC63 + DC11- (TC61 + TC62 + TC63)) × V
13 / (V12 + V13).

【0023】また、分配グループ92の各クレジット制御
部64〜66の保持クレジット及び分配クレジット数と最大
クレジット数との関係が、 TC64<BC64+DC121 TC65≧BC65+DC122 TC66≧BC66+DC123 の場合、クレジット制御部64〜66に分配されるクレジッ
ト数は、余剰クレジット分を含めて、以下のようにな
る。 クレジット制御部64に TC64−BC64 クレジット制御部65に DC122 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V122 /(V122 +V123)(DC122 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。) クレジット制御部66に DC123 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V123 /(V122 +V123)(DC123 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。)
If the relationship between the maximum number of credits and the number of credits held and distributed by each of the credit control units 64-66 of the distribution group 92 is TC64 <BC64 + DC121 TC65 ≧ BC65 + DC122 TC66 ≧ BC66 + DC123, the credit control units 64-66. , Including surplus credits, is as follows. Credit control unit 64 TC64−BC64 Credit control unit 65 DC122 + ((BC64 + DC121−TC64) + ((BC61 + BC62 + BC63
+ DC11− (TC61 + TC62 + TC63)) × V12 / (V12 + V1
3))) × V122 / (V122 + V123) (DC122 is the basic distribution credit, (BC64 + DC121−TC64) is the surplus credit in the group, (BC61 + BC62 + BC63 + DC11− (TC61 + TC
62 + TC63)) is extra credit outside the group. ) DC123 + ((BC64 + DC121−TC64) + ((BC61 + BC62 + BC63)
+ DC11− (TC61 + TC62 + TC63)) × V12 / (V12 + V1
3))) × V123 / (V122 + V123) (DC123 is the basic distribution credit, (BC64 + DC121−TC64) is the surplus credit in the group, (BC61 + BC62 + BC63 + DC11− (TC61 + TC
62 + TC63)) is extra credit outside the group. )

【0024】但し、各クレジット制御部に対して上記で
決定された余剰クレジットを含むクレジット分配数を加
算することにより最大クレジット数を超過する場合は、
最大クレジット数まで加算し、超過したクレジットは廃
棄する。
However, if the maximum credit number is exceeded by adding the credit distribution number including the surplus credit determined above to each credit control unit,
Add up to the maximum number of credits and discard excess credits.

【0025】このように、グループ内で再分配して更に
余剰となるクレジットを別のグループに対して再分配す
ることにより、グループ内のユーザー間でクレジットの
有効利用を図りつつ、パケット転送に利用されるクレジ
ット数の割合を向上させることが可能である。
As described above, redistribution within a group and redistribution of surplus credits are redistributed to another group, so that credits can be effectively used among users within the group and used for packet transfer. It is possible to improve the ratio of the number of credits to be given.

【0026】次に、実施例4として余剰クレジットの廃
棄についての具体例を説明する。実施例3に従って余剰
クレジットの分配数を決定し、全てのグループにおいて
余剰クレジットが発生した場合は余剰分を廃棄する。
Next, a specific example of discarding surplus credits will be described as a fourth embodiment. The number of surplus credits to be distributed is determined according to the third embodiment. If surplus credits are generated in all groups, the surplus is discarded.

【0027】或る分配周期において、クレジット制御部
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66<BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67<BC67+DC13(=BC67++DC131 ) の場合、全ての分配グループにおいて余剰クレジットが
発生するため、発生した余剰クレジットを受取る第1階
層クレジット分配部で全て廃棄する。
In a certain distribution cycle, the credit control unit
The number of credits held before distribution at 61-67 is BC61-BC
67. The relationship between the total number of credits distributed to each credit control unit of the distribution groups 91 to 93 and the total number of maximum credits is TC61 + TC62 + TC63 <BC61 + BC62 + BC63 + DC11 (= BC61 +
BC62 + BC63 + DC111 + DC112 + DC113) TC64 + TC65 + TC66 <BC64 + BC65 + BC66 + DC12 (= BC64 +
BC65 + BC66 + DC121 + DC122 + DC123) In the case of TC67 <BC67 + DC13 (= BC67 ++ DC131), surplus credits are generated in all distribution groups, and all generated surplus credits are discarded by the first-tier credit distribution unit.

【0028】次に、実施例5として固定長データブロッ
クスケジューラについての具体例を説明する。図1のパ
ケット転送装置1の固定長データブロック読出部7につ
いて、図3及び4を参照して説明する。この実施例で
は、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。但し、指定したキューに固定長データブロックが
存在しない場合は、そのキューを飛ばし、次の順番のキ
ューから1固定長データブロック読出す。読出す固定長
データブロックが存在しない場合は空の固定長データブ
ロックを送出する。
Next, a specific example of a fixed-length data block scheduler will be described as a fifth embodiment. The fixed-length data block reading unit 7 of the packet transfer device 1 of FIG. 1 will be described with reference to FIGS. In this embodiment, the fixed-length data block reading unit 7 takes out a fixed-length data block from a queue according to a predetermined fixed-length data block reading timing, and passes it to the output IF unit 8. However, if there is no fixed-length data block in the designated queue, the queue is skipped and one fixed-length data block is read from the next queue. If there is no fixed-length data block to be read, an empty fixed-length data block is sent.

【0029】これを図4のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し(ステップS1)、キューに固定長データ
ブロックが存在し且つクレジットが所定の閾値以上であ
るか否かを判定し(ステップS2,3)、判定が肯定の
場合は各キューから1固定長データブロック読出して送
出し(ステップS4)、ステップS1に戻る。指定した
キューに固定長データブロックが存在しない場合又はク
レジットが所定の閾値未満である場合は、当該読出し周
期に検索していないキューが存在するか否かを判定し
(ステップS5)、判定が肯定の場合はステップS1に
戻り、次の順番のキューから1固定長データブロック読
出す。検索していないキューが存在しない場合は(ステ
ップS5)、空固定長データブロックを送出して(ステ
ップS6)ステップS1に戻る。
This will be described with reference to the flowchart of FIG. Queues are selected in the order specified in the read queue table as shown in FIG. 3 (step S1), and it is determined whether fixed-length data blocks exist in the queue and the credit is equal to or greater than a predetermined threshold (step S2). , 3), if the determination is affirmative, one fixed-length data block is read from each queue and transmitted (step S4), and the process returns to step S1. If there is no fixed-length data block in the specified queue or if the credit is less than the predetermined threshold, it is determined whether there is a queue that has not been searched in the read cycle (step S5), and the determination is positive. In step S1, the process returns to step S1 to read one fixed-length data block from the next queue. If there is no queue that has not been searched (step S5), an empty fixed-length data block is sent (step S6), and the process returns to step S1.

【0030】この実施例によれば、1固定長データブロ
ック毎に異なるキューから読出すことにより、読出され
るキューが偏らず、各キューに均等な読出し機会を与え
つつ、読出す固定長データブロックが存在しないキュー
を読み飛ばし、他のキューから固定長データブロックを
読出すので帯域使用率を向上させることができる。
According to this embodiment, by reading data from different queues for each fixed-length data block, the queues to be read are not biased, and while giving equal read opportunities to each queue, the fixed-length data blocks to be read are read. The queue in which there is no data is skipped, and the fixed-length data block is read from another queue, so that the bandwidth utilization can be improved.

【0031】次に、実施例6としてパケットスケジュー
ラについての具体例を説明する。図1のパケット転送装
置1の固定長データブロック読出部7について、図3及
び5を参照して説明する。実施例5と同様に、固定長デ
ータブロック読出部7は、予め定められた固定長データ
ブロックの読出しタイミングに従ってキューから固定長
データブロックを取出し、出力IF部8に渡す。この実
施例では、図3に示すような読出しキューテーブルで指
定された順番に、各キューから1固定長データブロック
ずつ1パケット分続けて読出す。但し、1パケット読出
した後、次に指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合はそのキューを飛ばし、
次の順番のキューから1固定長データブロックずつ1パ
ケット分読出す。読出す固定長データブロックが全く存
在しない場合は空固定長データブロックを送出する。
Next, a specific example of a packet scheduler will be described as a sixth embodiment. The fixed-length data block reading unit 7 of the packet transfer device 1 of FIG. 1 will be described with reference to FIGS. As in the case of the fifth embodiment, the fixed-length data block reading unit 7 extracts a fixed-length data block from the queue according to a predetermined fixed-length data block reading timing, and passes it to the output IF unit 8. In this embodiment, one fixed-length data block and one packet are continuously read from each queue in the order specified by the read queue table as shown in FIG. However, after reading one packet, if the last fixed-length data block of the packet does not exist in the next designated queue, the queue is skipped,
One fixed-length data block is read from the queue in the next order for one packet. If there is no fixed-length data block to be read, an empty fixed-length data block is sent.

【0032】これを図5のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS11)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS12)。
This will be described with reference to the flowchart of FIG. Queues are selected in the order specified in the read queue table as shown in FIG. 3, and fixed-length data blocks are read continuously from the selected queue. In this case, it is determined whether or not the previously read fixed-length data block is the last fixed-length data block of the packet (step S11). One packet is continuously read out and transmitted for each long data block up to the final fixed length data block of the packet (step S12).

【0033】1パケット読出した後、次の順番のキュー
を選択し(ステップS13)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS14,15
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS16)、ステップ
S11に戻る。指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS14,15 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS17)、判定が肯定の場合はステップS13
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS17)、空固定長
データブロックを送出して(ステップS18)ステップS
13に戻る。
After reading one packet, the next queue is selected (step S13), and it is determined whether or not the last fixed-length data block of the packet exists in the queue and the credit is equal to or larger than a predetermined threshold. (Steps S14 and S15
If the determination is affirmative, one fixed-length data block is read from the queue and sent out (step S16), and the process returns to step S11. If the last fixed-length data block of the packet does not exist in the designated queue or the credit is less than the predetermined threshold (steps S14 and S15), it is determined whether or not there is a queue that has not been searched in the read cycle. (Step S17), and if the determination is affirmative, step S13
To select the next queue. If there is no queue that has not been searched (step S17), an empty fixed-length data block is sent out (step S18) and step S18 is executed.
Return to 13.

【0034】この実施例によれば、キューにパケットが
存在するか否かの判定をパケットの最終固定長データブ
ロックの有無のみによって行うため、キューにフラグを
立てるだけでよく、判定処理が容易である。また、パケ
ット単位でまとめて読出すため、パケット転送装置の出
力先のリンクが単一回線の場合にも対応可能である。ま
た、パケットを受信する装置においても、1つのパケッ
トの最初の固定長データブロック到着から最終固定長デ
ータブロック到着までの時間が短縮される可能性がある
ため、パケット組立ての処理負荷の軽減につながる。
According to this embodiment, since whether or not a packet exists in the queue is determined only by the presence or absence of the final fixed-length data block of the packet, it is only necessary to set a flag in the queue, and the determination process is easy. is there. Further, since the data is read out in a packet unit, it is possible to cope with a case where the output destination link of the packet transfer apparatus is a single line. Also, in a device that receives a packet, the time from the arrival of the first fixed-length data block to the arrival of the final fixed-length data block of one packet may be shortened, which leads to a reduction in the processing load of packet assembly. .

【0035】次に、実施例7としてバーストトラヒック
スケジューラについての具体例を説明する。図1のパケ
ット転送装置1の固定長データブロック読出部7につい
て、図3及び6を参照して説明する。実施例6と同様
に、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。この実施例では、図3に示す読出しキューテーブ
ルで指定された順番に、各キューから1固定長データブ
ロックずつパケットが存在する限り続けて読出す。但
し、次に指定したキューにパケットの最終固定長データ
ブロックが存在しない場合はそのキューを飛ばし、次の
順番のキューから読出す。読出す固定長データブロック
が全く存在しない場合は空固定長データブロックを送出
する。
Next, a specific example of a burst traffic scheduler will be described as a seventh embodiment. The fixed-length data block reading unit 7 of the packet transfer device 1 of FIG. 1 will be described with reference to FIGS. As in the sixth embodiment, the fixed-length data block reading unit 7 extracts a fixed-length data block from the queue in accordance with a predetermined fixed-length data block reading timing, and passes the fixed-length data block to the output IF unit 8. In this embodiment, data is read out continuously from each queue in the order specified in the read queue table shown in FIG. 3 as long as one fixed-length data block exists. However, if the last fixed-length data block of the packet does not exist in the next designated queue, the queue is skipped and the packet is read from the next queue. If there is no fixed-length data block to be read, an empty fixed-length data block is sent.

【0036】これを図6のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS21)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS22)。
This will be described with reference to the flowchart of FIG. Queues are selected in the order specified in the read queue table as shown in FIG. 3, and fixed-length data blocks are read continuously from the selected queue. In this case, it is determined whether or not the previously read fixed-length data block was the last fixed-length data block of the packet (step S21). One packet is continuously read out and transmitted for each long data block up to the final fixed length data block of the packet (step S22).

【0037】1パケット読出した後、今まで読出してい
たキューを次に読出す候補のキューとし、そのキューに
パケットの最終固定長データブロックが存在し且つクレ
ジットが所定の閾値以上であるか否かを判定し(ステッ
プS23,24 )、判定が肯定の場合は当該キューから1固
定長データブロック読出して送出し(ステップS22)、
ステップS21に戻る。指定したキューにパケットの最終
固定長データブロックが存在しない場合又はクレジット
が所定の閾値未満である場合は(ステップS23,24 )、
次の順番のキューを選択し(ステップS25)、そのキュ
ーにパケットの最終固定長データブロックが存在し且つ
クレジットが所定の閾値以上であるか否かを判定し(ス
テップS26,27 )、判定が肯定の場合は当該キューから
1固定長データブロック読出して送出し(ステップS2
8)、ステップS21に戻る。
After one packet has been read, the queue that has been read is set as a candidate queue to be read next, and whether or not the last fixed-length data block of the packet exists in the queue and the credit is equal to or greater than a predetermined threshold value Is determined (steps S23 and S24). If the determination is affirmative, one fixed-length data block is read from the queue and transmitted (step S22).
It returns to step S21. If the last fixed-length data block of the packet does not exist in the specified queue or the credit is less than the predetermined threshold (steps S23 and S24),
The next queue is selected (step S25), and it is determined whether or not the last fixed-length data block of the packet exists in the queue and the credit is equal to or larger than a predetermined threshold (steps S26 and S27). If the result is affirmative, one fixed-length data block is read from the queue and transmitted (step S2).
8), and return to step S21.

【0038】指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS26,27 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS29)、判定が肯定の場合はステップS25
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS29)、空固定長
データブロックを送出して(ステップS30)ステップS
25に戻る。
If the last fixed-length data block of the packet does not exist in the designated queue or the credit is less than the predetermined threshold (steps S26 and S27), it is determined whether there is any queue that has not been searched in the read cycle. Is determined (step S29), and if the determination is affirmative, step S25 is performed.
To select the next queue. If there is no queue that has not been searched (step S29), an empty fixed-length data block is sent (step S30) and step S30 is executed.
Return to 25.

【0039】上位のアプリケーションがトランザクショ
ン通信を行っている場合等は、バースト的にパケットが
送出されるため、この実施例のようなバースト転送を許
容する転送方法が適している。
When a higher-level application is performing transaction communication, packets are transmitted in bursts. Therefore, the transfer method allowing burst transfer as in this embodiment is suitable.

【0040】次に、実施例8として優先クレジット先読
みスケジューラについての具体例を説明する。優先及び
非優先クレジットを利用すると、実施例5〜7に従って
読出しキューを決定する際に、クレジットの優先度を考
慮して読出すキューを決定することが可能にある。この
実施例では、読出しキューテーブルの順番に従ってキュ
ーを選択する場合に、優先クレジットを用いて読出し可
能な固定長データブロックが存在する場合は、非優先ク
レジットを用いる読出しは行わないという条件を設け
る。
Next, a concrete example of a priority credit look-ahead scheduler will be described as an eighth embodiment. When the priority queue and the non-priority credit are used, it is possible to determine the queue to be read in consideration of the priority of the credit when determining the read queue according to the fifth to seventh embodiments. In this embodiment, when a queue is selected in accordance with the order of the read queue table, a condition is set such that if there is a fixed-length data block that can be read using priority credits, reading using non-priority credits is not performed.

【0041】これを図7のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS31)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS32)。
This will be described with reference to the flowchart of FIG. Queues are selected in the order specified in the read queue table as shown in FIG. 3, and fixed-length data blocks are read continuously from the selected queue. In this case, it is determined whether or not the previously read fixed-length data block was the last fixed-length data block of the packet (step S31). One packet is continuously read out and transmitted for each long data block up to the final fixed length data block of the packet (step S32).

【0042】1パケット読出した後、割込みがあるか否
かを判定し(ステップS33)、ある場合は次の順番のキ
ューを選択する(ステップS36)。割込みがない場合は
(ステップS33)、今まで読出していたキューを次に読
出す候補のキューとし、そのキューにパケットの最終固
定長データブロックが存在し且つクレジットが所定の閾
値以上であるか否かを判定し(ステップS34,35 )、判
定が肯定の場合は当該キューから1固定長データブロッ
ク読出して送出し(ステップS32)、ステップS31に戻
る。指定したキューにパケットの最終固定長データブロ
ックが存在しない場合又はクレジットが所定の閾値未満
である場合は(ステップS34,35 )、次の順番のキュー
を選択し(ステップS36)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS37,38
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS39)、ステップ
S31に戻る。
After reading one packet, it is determined whether or not there is an interrupt (step S33), and if so, the next queue is selected (step S36). If there is no interruption (step S33), the queue which has been read out so far is set as a candidate queue to be read out next, and whether or not the last fixed-length data block of the packet exists in the queue and the credit is equal to or larger than a predetermined threshold value Is determined (steps S34, S35). If the determination is affirmative, one fixed-length data block is read from the queue and transmitted (step S32), and the process returns to step S31. If the last fixed-length data block of the packet does not exist in the designated queue or the credit is less than the predetermined threshold (steps S34 and S35), the next queue is selected (step S36) and the packet is stored in the queue. It is determined whether or not the final fixed-length data block exists and the credit is equal to or greater than a predetermined threshold (steps S37 and S38).
If the determination is affirmative, one fixed-length data block is read from the queue and transmitted (step S39), and the process returns to step S31.

【0043】指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS37,38 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS40)、判定が肯定の場合はステップS36
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS40)、空固定長
データブロックを送出して(ステップS41)ステップS
36に戻る。
If the last fixed-length data block of the packet does not exist in the designated queue, or if the credit is less than the predetermined threshold (steps S37, S38), it is determined whether there is any queue that has not been searched in the read cycle. Is determined (step S40), and if the determination is affirmative, step S36
To select the next queue. If there is no queue that has not been searched (step S40), an empty fixed-length data block is sent out (step S41).
Return to 36.

【0044】この実施例によれば、優先クレジットを用
いる固定長データブロックの読出しを優先的に行うこと
により、優先クレジットを先に消費し、廃棄を減少させ
るため、優先固定長データブロックの平均転送レートを
高く維持することができる。但し、図6に示した実施例
7の方法による読出しキューの決定方法では、或るキュ
ーに非優先クレジット及びパケットが多量に存在する場
合は、他のキューに新たに優先クレジットが配布された
後も、そのキューから読出し続けてしまう可能性がある
ため、図8のように割込みを行い、そのキューからの読
出しを中断する。割込みのタイミングは、他のキューに
優先クレジットが配布されるクレジット分配時とする。
According to this embodiment, priority reading of fixed-length data blocks using priority credits is performed preferentially, so that priority credits are consumed first and discard is reduced. The rate can be kept high. However, in the read queue determination method according to the method of the seventh embodiment shown in FIG. 6, when a non-priority credit and a large amount of packets exist in a certain queue, the priority credit is newly distributed to another queue. Also, since there is a possibility that reading from the queue may be continued, an interrupt is performed as shown in FIG. 8 and reading from the queue is interrupted. The timing of interruption is at the time of credit distribution in which priority credits are distributed to other queues.

【0045】[0045]

【発明の効果】以上説明したように、本発明によれば、
送信側と受信側とのパケット転送装置における転送レー
ト観測周期の始期が一致していなくても、転送レートの
マッチングを容易に実現することができ、同一の観測単
位に複数のアプリケーションフローが含まれる場合にお
いても、実効的なデータ転送量を減ずることなく、各ア
プリケーションフロー及びグループ等に対して一定の平
均転送レートを提供することができる。
As described above, according to the present invention,
Even if the beginnings of the transfer rate observation periods in the packet transfer devices on the transmitting side and the receiving side do not match, transfer rate matching can be easily realized, and a plurality of application flows are included in the same observation unit. Even in such a case, it is possible to provide a constant average transfer rate for each application flow, group, and the like without reducing the effective data transfer amount.

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

【図1】 本発明のパケット転送装置の実施例の構成を
示す図である。
FIG. 1 is a diagram showing a configuration of an embodiment of a packet transfer device of the present invention.

【図2】 クレジット生成分配部とクレジット制御部と
の関係を示す図である。
FIG. 2 is a diagram illustrating a relationship between a credit generation distribution unit and a credit control unit.

【図3】 読出しキューテーブルの例を示す図である。FIG. 3 is a diagram illustrating an example of a read queue table.

【図4】 実施例5の読出しキュー決定方法を示すフロ
ー図である。
FIG. 4 is a flowchart illustrating a read queue determining method according to a fifth embodiment.

【図5】 実施例6の読出しキュー決定方法を示すフロ
ー図である。
FIG. 5 is a flowchart illustrating a read queue determining method according to a sixth embodiment.

【図6】 実施例7の読出しキュー決定方法を示すフロ
ー図である。
FIG. 6 is a flowchart illustrating a read queue determining method according to a seventh embodiment.

【図7】 実施例8の読出しキュー決定方法を示すフロ
ー図である。
FIG. 7 is a flowchart illustrating a read queue determining method according to an eighth embodiment.

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

1 パケット転送装置 2 入力IF部 3 フロー識別部 5 クレジット生成分配部 7 固定長データブロック読出部 8 出力IF部 41〜47 キュー 51 クレジット生成部 52 第1階層クレジット分配部 61〜67 クレジット制御部 91〜93 分配グループ 531〜533 第2階層クレジット分配部 REFERENCE SIGNS LIST 1 packet transfer device 2 input IF unit 3 flow identification unit 5 credit generation and distribution unit 7 fixed-length data block reading unit 8 output IF unit 41 to 47 queue 51 credit generation unit 52 first layer credit distribution unit 61 to 67 credit control unit 91 ~ 93 Distribution Group 531-533 Second Level Credit Distribution Unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 村山 純一 東京都新宿区西新宿3丁目19番2号 日本 電信電話株式会社内 (72)発明者 原 博之 東京都新宿区西新宿3丁目19番2号 日本 電信電話株式会社内 Fターム(参考) 5K030 GA03 HA10 HB17 HB29 KX12 LC18 LD11 LE05  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Junichi Murayama 3-19-2 Nishi-Shinjuku, Shinjuku-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Hiroyuki Hara 3- 192-1 Nishi-Shinjuku, Shinjuku-ku, Tokyo No. Nippon Telegraph and Telephone Corporation F-term (reference) 5K030 GA03 HA10 HB17 HB29 KX12 LC18 LD11 LE05

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 外部のパケット転送装置からから転送さ
れてくるパケットを受信しキューへ送信する入力IF
部、入力IF部からパケットを受信し所定の条件に従っ
て受取ったパケットを入力するキューを決定するフロー
識別部、フロー識別部から受信したパケットを固定長デ
ータブロック読出部により読出されるまで保持する複数
のキュー、各キューに対応してクレジット数の加減算を
行う複数のクレジット制御部、分配周期毎に所定のクレ
ジットを生成しそのクレジットを所定の割合に従って各
クレジット制御部に分配するクレジット生成分配部、所
定の条件に従って読出すキューを選択し読出したパケッ
トを所定のレートで1データブロックずつ出力IF部に
送信する固定長データブロック読出部、及び、固定長デ
ータブロック読出部から受信したデータブロックを外部
のパケット転送装置に対して転送する出力IF部を具備
することを特徴とするパケット転送装置。
1. An input interface for receiving a packet transferred from an external packet transfer device and transmitting the packet to a queue.
A flow identification unit that receives a packet from the input IF unit and determines a queue into which the received packet is input according to a predetermined condition; and a plurality of units that hold the packet received from the flow identification unit until it is read by the fixed-length data block reading unit. Queues, a plurality of credit control units for adding and subtracting the number of credits corresponding to each queue, a credit generation and distribution unit for generating a predetermined credit for each distribution cycle and distributing the credit to each credit control unit according to a predetermined ratio, A fixed-length data block reading unit that selects a queue to be read according to a predetermined condition and transmits the read packet to the output IF unit at a predetermined rate one data block at a time, and a data block received from the fixed-length data block reading unit, And an output IF unit for transferring the packet to a packet transfer device. That the packet transfer apparatus.
【請求項2】 前記クレジット生成分配部が、1つのク
レジット生成部、1つの第1階層クレジット分配部及び
複数の第2階層クレジット分配部を具え、クレジット生
成部が所定の分配周期毎に所定のクレジットを生成し第
1階層クレジット分配部に分配し、第1階層クレジット
分配部は、クレジット生成部から分配されたクレジット
を所定の割合に従って第2階層クレジット分配部に分配
する機能を有し、更に、第2階層クレジット分配部から
余剰クレジットが戻された場合は所定の条件に従って第
2階層クレジット分配部へ再分配又はクレジットの廃棄
を行う機能を有し、第2階層クレジット分配部は、第1
階層クレジット分配部から分配されたクレジットを所定
の割合及び条件により決定される数だけクレジット制御
部に分配する機能を有し、余剰クレジットが発生した場
合は、第1階層クレジット分配部へ余剰クレジットを戻
すか又は廃棄する機能を有することを特徴とする請求項
1に記載のパケット転送装置。
2. The credit generating and distributing unit includes one credit generating unit, one first-tier credit distributing unit, and a plurality of second-tier credit distributing units. Generating a credit and distributing the credit to the first tier credit distribution unit, wherein the first tier credit distribution unit has a function of distributing the credit distributed from the credit generation unit to the second tier credit distribution unit according to a predetermined ratio; Has a function of redistributing or discarding credits to the second tier credit distribution unit according to predetermined conditions when surplus credits are returned from the second tier credit distribution unit.
It has a function of distributing the credits distributed from the hierarchical credit distribution unit to the credit control unit in an amount determined by a predetermined ratio and condition, and when surplus credits are generated, the surplus credits are distributed to the first hierarchical credit distribution unit. 2. The packet transfer device according to claim 1, further comprising a function of returning or discarding the packet.
【請求項3】 NをN>3及び1≦n<Nとしたとき、
前記クレジット生成分配部が、1つのクレジット生成部
及びN階層のクレジット分配部を具え、クレジット分配
部は1つの第1階層分配グループ及び複数の第2乃至第
N階層分配グループから構成され、1つの第n階層分配
グループが複数の第n+1階層分配グループから構成さ
れ、第n+1階層分配グループは必ずただ1つの第n階
層分配グループに帰属し、第N階層分配グループは1以
上のクレジット制御部から構成され、各クレジット制御
部が必ずただ1つの第N階層分配グループに帰属し、第
N階層分配グループと第N階層クレジット分配部が一対
一に対応したことを特徴とする請求項1に記載のパケッ
ト転送装置。
3. When N is N> 3 and 1 ≦ n <N,
The credit generation and distribution unit includes one credit generation unit and an N-level credit distribution unit, and the credit distribution unit includes one first-level distribution group and a plurality of second to N-th level distribution groups. The nth hierarchical distribution group is composed of a plurality of (n + 1) th hierarchical distribution groups, the (n + 1) th hierarchical distribution group always belongs to only one nth hierarchical distribution group, and the Nth hierarchical distribution group is composed of one or more credit control units. 2. The packet according to claim 1, wherein each credit control unit belongs to exactly one N-th hierarchical distribution group, and the N-th hierarchical distribution group and the N-th hierarchical credit distribution unit correspond one-to-one. Transfer device.
【請求項4】 各クレジット制御部の最大クレジット数
の合計を転送先のパケット転送装置のバッファ容量によ
って決定される最大クレジット総数以下に設定し、クレ
ジット生成分配部において生成するクレジットの総数を
クレジット分配周期と当該パケット転送装置に設定され
た平均転送レートにより決定し、クレジット分配周期を
転送先のパケット転送装置の平均転送レートを観測する
周期によって決定し、クレジット生成分配部から各クレ
ジット制御部に分配するクレジット数を生成したクレジ
ットの総数と各クレジット制御部に設定された所定の割
合とにより決定し、クレジットを分配する時にクレジッ
ト制御部において最大クレジット数を超過する場合は超
過分を余剰クレジットとし再分配又は廃棄又は再分配及
び廃棄を行い、再分配又は廃棄する余剰クレジットの数
を所定の条件により決定することを特徴とするパケット
転送方法。
4. The total number of credits generated by each credit control unit is set to be equal to or less than the maximum number of credits determined by the buffer capacity of the packet transfer device of the transfer destination, and the total number of credits generated by the credit generation distribution unit is distributed. The credit distribution period is determined by the period and the average transfer rate set for the packet transfer device, and the credit distribution period is determined by the period for observing the average transfer rate of the destination packet transfer device, and distributed from the credit generation and distribution unit to each credit control unit. The number of credits to be determined is determined by the total number of generated credits and a predetermined ratio set in each credit control unit. Distribution or disposal or redistribution and disposal A packet transfer method, wherein the number of surplus credits to be distributed or discarded is determined according to a predetermined condition.
【請求項5】 1以上の各クレジット制御部が必ずただ
1つの分配グループに帰属し、分配グループ毎に所定の
割合を設定し、分配グループと第2階層クレジット分配
部を一対一に対応させ、余剰クレジットの再分配を分配
グループ内で行い、分配グループで更に余剰クレジット
が発生する場合は分配グループ間で余剰クレジットの授
受を行うことを特徴とする請求項4に記載のパケット転
送方法。
5. One or more credit control units always belong to only one distribution group, a predetermined ratio is set for each distribution group, and a distribution group and a second-tier credit distribution unit are associated one-to-one. 5. The packet transfer method according to claim 4, wherein redistribution of surplus credits is performed in the distribution group, and when the surplus credits are generated in the distribution group, surplus credits are transferred between the distribution groups.
【請求項6】 NをN>3及び1≦n<Nとしたとき、
前記クレジット生成分配部に1つのクレジット生成部及
びN階層のクレジット分配部を含め、クレジット分配部
を1つの第1階層分配グループ及び複数の第2乃至第N
階層分配グループから構成し、1つの第n階層分配グル
ープを複数の第n+1階層分配グループから構成し、第
n+1階層分配グループを必ずただ1つの第n階層分配
グループに帰属させ、第N階層分配グループを1以上の
クレジット制御部から構成し、各クレジット制御部を必
ずただ1つの第N階層分配グループに帰属させ、第N階
層分配グループと第N階層クレジット分配部を一対一に
対応させ、余剰クレジットの再分配を、各階層毎に分配
グループ内で行い、分配グループにおいて更に余剰クレ
ジットが発生する場合は分配グループ間で余剰クレジッ
トの授受を行うことを特徴とする請求項4に記載のパケ
ット転送方法。
6. When N is N> 3 and 1 ≦ n <N,
The credit generation and distribution unit includes one credit generation unit and an N-level credit distribution unit, and the credit distribution unit includes one first-level distribution group and a plurality of second to Nth
An N-th hierarchical distribution group, wherein one n-th hierarchical distribution group is composed of a plurality of (n + 1) -th hierarchical distribution groups, and the (n + 1) -th hierarchical distribution group always belongs to only one n-th hierarchical distribution group; Is composed of one or more credit control units, each credit control unit always belongs to one and only one N-th tier distribution group, and the N-th tier distribution group and the N-th tier credit distribution unit correspond one-to-one, and the excess credit 5. The packet transfer method according to claim 4, wherein the redistribution is performed in a distribution group for each hierarchy, and when a further surplus credit is generated in the distribution group, the surplus credit is transferred between the distribution groups. .
【請求項7】 転送先のパケット転送装置で固定長デー
タブロックのCLPへのタギングの閾値となる転送レー
トとクレジット分配周期から優先クレジットの生成数を
決定し、最大転送レートとタギングの閾値となる転送レ
ートとの差及びクレジット分配周期から非優先クレジッ
トの生成数を決定し、各キュー及びクレジット制御部に
対して分配するクレジット数を優先クレジット及び非優
先クレジットで個別に決定し、クレジット制御部で優先
クレジット及び非優先クレジットのそれぞれに対して最
大クレジット数を定めてクレジットの加減を行うことを
特徴とする請求項4乃至6のいずれか1項に記載のパケ
ット転送方法。
7. The number of priority credits to be generated is determined from a transfer rate and a credit distribution cycle, which are thresholds for tagging a fixed-length data block to a CLP, at a transfer destination packet transfer apparatus, and the maximum transfer rate and a tagging threshold are determined. The number of non-priority credits to be generated is determined from the difference from the transfer rate and the credit distribution period, and the number of credits to be distributed to each queue and credit control unit is individually determined for the priority credits and the non-priority credits. 7. The packet transfer method according to claim 4, wherein a maximum credit amount is determined for each of the priority credit and the non-priority credit, and the credit is adjusted.
【請求項8】 1固定長データブロック読出し毎にキュ
ーを所定の順番で所定の条件と比較し、条件を満たす場
合はそのキューを選択し、条件を満たすキューが存在し
ない場合は空固定長データブロックを送信することを特
徴とする請求項4乃至6のいずれか1項に記載のパケッ
ト転送方法。
8. Each time a fixed-length data block is read, the queue is compared with a predetermined condition in a predetermined order. If the condition is satisfied, the queue is selected. 7. The packet transfer method according to claim 4, wherein the packet is transmitted.
JP4496199A 1999-02-23 1999-02-23 Packet transfer device and packet transfer method Expired - Fee Related JP3276341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4496199A JP3276341B2 (en) 1999-02-23 1999-02-23 Packet transfer device and packet transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4496199A JP3276341B2 (en) 1999-02-23 1999-02-23 Packet transfer device and packet transfer method

Publications (2)

Publication Number Publication Date
JP2000244502A true JP2000244502A (en) 2000-09-08
JP3276341B2 JP3276341B2 (en) 2002-04-22

Family

ID=12706089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4496199A Expired - Fee Related JP3276341B2 (en) 1999-02-23 1999-02-23 Packet transfer device and packet transfer method

Country Status (1)

Country Link
JP (1) JP3276341B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534462A (en) * 2001-07-05 2004-11-11 サンドバースト コーポレーション Link bandwidth allocation method and apparatus
US7724760B2 (en) 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774780A (en) * 1990-05-23 1995-03-17 Internatl Business Mach Corp <Ibm> Method and apparatus for adjusting window size in packet transmission network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774780A (en) * 1990-05-23 1995-03-17 Internatl Business Mach Corp <Ibm> Method and apparatus for adjusting window size in packet transmission network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534462A (en) * 2001-07-05 2004-11-11 サンドバースト コーポレーション Link bandwidth allocation method and apparatus
US7724760B2 (en) 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch

Also Published As

Publication number Publication date
JP3276341B2 (en) 2002-04-22

Similar Documents

Publication Publication Date Title
CA2168485C (en) A delay-minimizing system with guarenteed bandwidth delivery for real-time traffic
US6934250B1 (en) Method and apparatus for an output packet organizer
US6088734A (en) Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
US6882642B1 (en) Method and apparatus for input rate regulation associated with a packet processing pipeline
JP3618390B2 (en) Apparatus and method for processing bandwidth requests in ATM switches
US5408465A (en) Flexible scheme for admission control of multimedia streams on integrated networks
US6757249B1 (en) Method and apparatus for output rate regulation and control associated with a packet pipeline
JP5206714B2 (en) Transmission terminal device, network node, and relay switch
US6424624B1 (en) Method and system for implementing congestion detection and flow control in high speed digital network
US6917591B2 (en) Methods, systems and computer program products for bandwidth allocation in a multiple access system
US7616567B2 (en) Shaping apparatus, communication node and flow control method for controlling bandwidth of variable length frames
US6882623B1 (en) Multi-level scheduling method for multiplexing packets in a communications network
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
US7333495B2 (en) Method for scheduling upstream communications
JP2001103120A (en) Method and system for scheduling traffic in communication network
JP2000059365A (en) Port scheduler and its method for scheduling provision of service while guaranteeing hierarchical transfer rate limit in presence/absence of ability of overbooking
EP0989770B1 (en) Packet transfer control apparatus and scheduling method therefor
US6526062B1 (en) System and method for scheduling and rescheduling the transmission of cell objects of different traffic types
JP2003218924A (en) Method for increasing connection capacity of network node, overall traffic shaping system for the network node, method for processing, adjusting and shaping cell in network, and integrated traffic adjustment and shaping system used by the network node
JP2017063388A (en) Band control device and band control system
EP0838970B1 (en) Method for shared memory management in network nodes
US6341134B1 (en) Process for the arrangement of equitable-loss packets
JP2002198993A (en) Packet switch
CN101212417B (en) Time granularity based internet QoS assurance method
JP3276341B2 (en) Packet transfer device and packet transfer method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080208

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees