US11902167B2 - Communication apparatus having delay guarantee shaping function - Google Patents
Communication apparatus having delay guarantee shaping function Download PDFInfo
- Publication number
- US11902167B2 US11902167B2 US17/624,464 US201917624464A US11902167B2 US 11902167 B2 US11902167 B2 US 11902167B2 US 201917624464 A US201917624464 A US 201917624464A US 11902167 B2 US11902167 B2 US 11902167B2
- Authority
- US
- United States
- Prior art keywords
- token
- packet
- tokens
- token bucket
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000004891 communication Methods 0.000 title claims abstract description 144
- 238000007493 shaping process Methods 0.000 title abstract description 13
- 238000012546 transfer Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 102
- 238000004364 calculation method Methods 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000035755 proliferation Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/528—Minimum bandwidth guarantee
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/58—Changing or combining different scheduling modes, e.g. multimode scheduling
Definitions
- the present disclosure relates to a communication apparatus having a delay guarantee shaping function, a communication method thereof, and a program for realizing the communication method.
- IoT Internet of Things
- M2M Machine-to-Machine
- 4K/8K high-definition video distribution service and online games in addition to IP data communication.
- IoT Internet of Things
- M2M Machine-to-Machine
- 4K/8K high-definition video distribution service and online games in addition to IP data communication.
- IoT Internet of Things
- M2M Machine-to-Machine
- 4K/8K high-definition video distribution service 4K/8K high-definition video distribution service
- IoT there is considered a communication scenario in which a predetermined physical quantity (current, voltage, atmospheric pressure, air temperature, water amount, humidity, etc.) is acquired in a remote value, and the above data is collected on the center side to perform a big data analysis, and based on the analysis result, the operation of a machine is automatically controlled.
- a predetermined physical quantity current, voltage, atmospheric pressure, air temperature, water amount, humidity, etc.
- the above data is collected on the center side to perform a big data analysis, and based on the analysis result, the operation of a machine is automatically controlled.
- To accurately collect data and perform remote control operations it is very important that the communication is to be completed correctly within a predetermined time. For example, for a system that performs data collection and remote control operations based on the collected data within 50 ms, a one-way communication delay needs to be controlled within 25 ms at most.
- PTL 1 discloses a delay guarantee shaping function.
- the delay guarantee shaping function in PTL 1 changes the shaping bandwidth based on the shortest communication delay and the communication delay to be guaranteed when a packet is transferred between two points. This can provide the user with the communication delay guarantee while reducing the communication network load.
- FIG. 1 is a diagram illustrating a delay guarantee shaping function described in PTL 1.
- the horizontal axis is time
- the vertical axis is the packet transmission amount
- the bar graph indicates the input packet amounts
- the line graph indicates the output packet amounts.
- the delay guarantee shaping function described in PTL 1 is an operation of increasing the communication bandwidth each time a packet is received.
- the communication bandwidth increases endlessly as illustrated in FIG. 1 (A) , and this causes a strain on the communication network.
- the packet communication delay may increase as illustrated in FIG. 1 (B) . That is, the delay guarantee shaping function described in PTL 1 has difficulties in avoiding an increase in network load when the input traffic continues to be large and a communication delay when the input traffic is very small.
- a communication apparatus includes three token buckets of a minimum bandwidth guarantee token bucket, a maximum bandwidth guarantee token bucket, and a delay guarantee token bucket for the delay guarantee shaping and determines packet processing in accordance with the states of these three token buckets and an operation setting set for a case where the maximum bandwidth is exceeded.
- the communication apparatus includes: a queue that temporarily holds a packet received from a user device; three token buckets of a delay guarantee token bucket, a minimum bandwidth token bucket, and a maximum bandwidth token bucket; a transmission determination function unit that has a token bucket algorithm which transfers a packet held in the queue to a communication network in accordance with tokens held in the three token buckets; a metering unit that measures an amount of packets received from the user device at predetermined intervals; a token supply calculation unit that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit, and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit that supplies the delay guarantee token bucket with an amount of tokens corresponding to the token supply function set by the token supply calculation unit at the predetermined intervals; a minimum bandwidth token supply unit that supplies
- a communication method includes: holding a packet received from a user device in a queue temporarily; and performing processing when a packet held in the queue is transferred to a communication network by using a token bucket algorithm which outputs a packet in accordance with tokens held in three token buckets of a delay guarantee token bucket, a minimum bandwidth token bucket, and a maximum bandwidth token bucket, wherein the processing includes: measuring an amount of packets received from the user device at predetermined intervals; generating a token supply function, which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, by generating the token supply function to be added based on the measured amount of packets and adding the token supply function to be added to the previous token supply function; supplying the delay guarantee token bucket with an amount of tokens corresponding to the generated token supply function at the predetermined intervals; supplying the minimum bandwidth token bucket with an amount of tokens based on a preset minimum bandwidth at the predetermined intervals; and supplying the maximum bandwidth token
- the communication apparatus prepares three token buckets and can transfer, discard, or hold a packet in accordance with the amount of tokens in each token bucket. This enables the present communication apparatus to operate so as not to exceed a set maximum bandwidth when large traffic is received for the delay guarantee shaping. Further, when the maximum bandwidth is exceeded, the present communication apparatus can select whether to discard a packet to prioritize a delay guarantee or to hold a packet to prioritize no loss of packets. Furthermore, the present communication apparatus can immediately transmit a packet without increasing a communication delay when input traffic is very small.
- the present invention can provide a communication apparatus and a communication method capable of avoiding an increase in network load when input traffic continues to be large and a communication delay when input traffic is very small.
- the token bucket algorithm of the communication apparatus transfers a first packet of the queue to the communication network and subtracts B from each of Tmin, Td, and Tmax, when Tmin ⁇ B is larger than zero and when Tmin ⁇ B is zero or less and Td ⁇ B and Tmax ⁇ B are larger than zero; holds the first packet of the queue on standby in the queue until the next token supply time, when Tmin ⁇ B and Td ⁇ B are zero or less; and holds the first packet of the queue on standby in the queue until the next token supply time or discards the first packet of the queue and subtracts B from Td depending on a setting in other cases.
- the token supply calculation unit in the communication apparatus calculates the token supply function to be added add_Ts(t), which is generated by executing the current token supply calculation, by using an equation C1 and calculates the new token supply function new_Ts(t) by adding the token supply function add_Ts(t) to the previous token supply function using an equation C2.
- the following communication apparatus can avoid a communication delay when input traffic is very small.
- a communication apparatus includes: a queue that temporarily holds a packet received from a user device and two token buckets of a delay guarantee token bucket and a minimum bandwidth token bucket; a transmission determination function unit that has a token bucket algorithm which transfers a packet held in the queue to a communication network in accordance with tokens held in the two token buckets; a metering unit that measures an amount of packets received from the user device at predetermined intervals; a token supply calculation unit that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit, and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit that supplies the delay guarantee token bucket with an amount of tokens corresponding to the token supply function set by the token supply calculation unit at the predetermined intervals; and a minimum bandwidth token supply unit that supplies the minimum bandwidth token bucket with an amount of token
- a communication method of the communication apparatus includes: holding a packet received from a user device in a queue temporarily; and performing processing when a packet held in the queue is transferred to a communication network by using a token bucket algorithm which outputs a packet in accordance with tokens held in two token buckets of a delay guarantee token bucket and a minimum bandwidth token bucket, wherein the processing includes: measuring an amount of packets received from the user device at predetermined intervals; generating a token supply function, which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, by generating the token supply function to be added based on the measured amount of packets and adding the token supply function to be added to the previous token supply function; supplying the delay guarantee token bucket with an amount of tokens corresponding to the generated token supply function at the predetermined intervals; and supplying the minimum bandwidth token bucket with an amount of tokens based on a preset minimum bandwidth at the predetermined intervals.
- the following communication apparatus can avoid an increase in network load when input traffic continues to be large.
- a communication apparatus includes: a queue that temporarily holds a packet received from a user device and two token buckets of a delay guarantee token bucket and a maximum bandwidth token bucket; a transmission determination function unit that has a token bucket algorithm which transfers a packet held in the queue to a communication network in accordance with tokens held in the two token buckets; a metering unit that measures an amount of packets received from the user device at predetermined intervals; a token supply calculation unit that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit, and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit that supplies the delay guarantee token bucket with an amount of tokens corresponding to the token supply function set by the token supply calculation unit at the predetermined intervals; and a maximum bandwidth token supply unit that supplies the maximum bandwidth token bucket with an amount of token
- the token bucket algorithm may transfer the first packet of the queue to the communication network and subtract B from each of Td and Tmax, when Td ⁇ B and Tmax ⁇ B are larger than zero; hold the first packet of the queue on standby in the queue until the next token supply time, when Td ⁇ B is zero or less; and discard the first packet of the queue and subtract B from Td, when Td ⁇ B is larger than zero and Tmax ⁇ B is zero or less.
- a communication method of the communication apparatus includes: holding a packet received from a user device in a queue temporarily; and performing processing when a packet held in the queue is transferred to a communication network by using a token bucket algorithm which outputs a packet in accordance with tokens held in two token buckets of a delay guarantee token bucket and a maximum bandwidth token bucket, wherein the processing includes: measuring an amount of packets received from the user device at predetermined intervals; generating a token supply function, which specifies an amount of tokens to be supplied to the delay guarantee token bucket and a supply period at the predetermined intervals, by generating the token supply function to be added based on the measured amount of packets and adding the token supply function to be added to the previous token supply function; supplying the delay guarantee token bucket with an amount of tokens corresponding to the generated token supply function at the predetermined intervals; and supplying the maximum bandwidth token bucket with an amount of tokens based on a preset maximum bandwidth at the predetermined intervals.
- the present invention is a program that causes a computer to function as the communication apparatus.
- a communication apparatus according to the present invention can also be achieved by a computer and a program, and the program can be recorded on a recording medium or provided through a network.
- the present invention can provide a communication apparatus, a communication method, and a program capable of avoiding an increase in network load when input traffic continues to be large and a communication delay when input traffic is very small.
- FIG. 1 is a diagram illustrating the problem to be solved by the present invention.
- FIG. 2 is a functional block diagram illustrating a communication apparatus according to the present invention.
- FIG. 3 illustrates a delay parameter table included in the communication apparatus according to the present invention.
- FIG. 4 is a flowchart illustrating token supply function update processing performed by a token supply function calculation unit of the communication apparatus according to the present invention.
- FIG. 5 illustrates a bandwidth parameter table included in the communication apparatus according to the present invention.
- FIG. 6 is a flowchart illustrating a token bucket algorithm performed by the communication apparatus according to the present invention.
- FIG. 7 illustrates an operation example of the communication apparatus according to the present invention.
- FIG. 8 illustrates a delay parameter table included in the communication apparatus according to the present invention.
- FIG. 9 illustrates a bandwidth parameter table included in the communication apparatus according to the present invention.
- FIG. 10 illustrates an operation example of the communication apparatus according to the present invention.
- FIG. 11 illustrates an operation example of the communication apparatus according to the present invention.
- FIG. 12 illustrates an operation example of the communication apparatus according to the present invention.
- FIG. 13 illustrates an operation example of the communication apparatus according to the present invention.
- FIG. 14 illustrates an example in which a computer operates as the communication apparatus according to the present invention.
- FIG. 15 is a flowchart illustrating a token bucket algorithm performed by the communication apparatus according to the present invention.
- FIG. 16 is a flowchart illustrating a token bucket algorithm performed by the communication apparatus according to the present invention.
- FIG. 17 is a flowchart illustrating a token bucket algorithm performed by the communication apparatus according to the present invention.
- FIG. 18 is a functional block diagram illustrating the communication apparatus according to the present invention.
- FIG. 19 is a functional block diagram illustrating the communication apparatus according to the present invention.
- FIG. 2 is a functional block diagram illustrating a communication apparatus 100 of the present embodiment.
- the communication apparatus 100 includes: a queue 11 that temporarily holds a packet received from a user device 2 ; three token buckets of a delay guarantee token bucket 13 A, a minimum bandwidth token bucket 13 B, and a maximum bandwidth token bucket 13 C; a transmission determination function unit 12 that has a token bucket algorithm which transfers a packet held in the queue 11 to a communication network 3 in accordance with tokens held in the three token buckets; a metering unit 104 that measures an amount of packets received from the user device 2 at predetermined intervals; a token supply calculation unit 108 that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket 13 A and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit 104 , and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit 109 A that
- FIG. 3 illustrates a delay parameter table 112 that describes parameters to be used by the token supply calculation unit 108 to calculate the token supply function.
- An administrator can set the parameters in the table from a delay parameter setting unit 122 .
- the metering unit 104 measures the amount of packets Bm received from the user device 2 and input to the queue 11 and records the measured amount of packets Bm in an input packet amount recording memory 113 .
- the token supply calculation unit 108 calculates a token supply function based on the contents of the delay parameter setting unit 122 and the input packet amount recording memory 113 .
- FIG. 4 illustrates token supply function Ts(t) update processing (S 120 ) performed by the token supply function calculation unit 108 .
- the token supply function calculation unit 108 adds the amount of tokens calculated based on the input packet amount in the subsequent predetermined period to the amount of tokens calculated based on the input packet amount in the one predetermined period, during a period in which the one supply period overlaps with the subsequent supply period.
- the present update processing is performed every token supply function update cycle set in a token supply operation setting table 111 .
- the current processing execution time point is t_now, and the current token supply function is now_Ts(t).
- the total amount of bytes notified from the metering unit 104 during a period from the previous processing execution to the current processing execution is Bm.
- a token supply cycle is Tc
- a token supply function update cycle is Tu
- a token supply function reflection cycle is Tr.
- a requested delay time interval of a target communication flow is Dd.
- a delay time interval in a communication path of the target communication flow calculated by using a delay information table 112 is Dr (step S 121 ).
- Da which is a delay time interval that can be added while satisfying the requested delay
- a token supply function add_Ts(t) to be added in the current processing execution is calculated by the following equation (step S 123 ).
- add_ Ts ( t ) ( Bm/Da ) ⁇ Tc (1)
- add_ Ts ( t ) 0 (2)
- step S 124 When add_Ts(t) is a decimal number, normalization such as rounding up or rounding down is performed so that the total value of add_Ts(t) is equal to Bm (step S 124 ).
- the token supply function new_Ts(t) to be updated as Ts(t) in the current processing execution is calculated by the following equation (step S 125 ).
- new_ Ts ( t ) now_ Ts ( t )+add_ Ts ( t )
- step S 125 can be performed by a delay guarantee token supply function memory 114 .
- new_Ts(t) is set in the token supply unit 109 A (step S 126 ).
- the token supply unit 109 A supplies a predetermined amount of tokens to the delay guarantee token bucket 13 A at predetermined intervals in accordance with the set Ts(t).
- FIG. 5 illustrates a bandwidth parameter table 115 that describes parameters for calculating the amount of tokens to be supplied by each of the minimum bandwidth token supply unit 109 B and the maximum bandwidth token supply unit 109 C.
- the administrator can set the parameters in the table from a bandwidth parameter setting unit 123 .
- the minimum bandwidth token supply unit 109 B and the maximum bandwidth token supply unit 109 C supply tokens to the minimum bandwidth token bucket 13 B and the maximum bandwidth token bucket 13 C, respectively, based on the descriptions in the bandwidth parameter table 115 .
- FIG. 6 is a flowchart illustrating a token bucket algorithm for determining that the transmission determination function unit 12 transmits, discards, or holds a packet. It is assumed that a total amount of tokens held in the minimum bandwidth token bucket is Tmin, a total amount of tokens held in the maximum bandwidth token bucket is Tmax, a total amount of tokens held in the delay guarantee token bucket is Td, and the packet size of the first packet in the queue is B, at any given time point.
- the token bucket algorithm transfers a first packet of the queue 11 to the communication network 3 and subtracts B from each of Tmin, Td, and Tmax (step S 07 ), when Tmin ⁇ B is larger than zero (“Yes” in step S 01 ) and when Tmin ⁇ B is zero or less (“No” in step S 01 ) and Td ⁇ B and Tmax ⁇ B are larger than zero (“Yes” in both steps S 02 and S 03 ); holds the first packet of the queue 11 on standby in the queue 11 until the next token supply time (step S 05 ) when Tmin ⁇ B and Td ⁇ B are zero or less (“No” in both steps S 01 and S 02 ); and holds the first packet of the queue 11 on standby in the queue 11 until the next token supply time (step S 05 ) or discards the first packet of the queue 11 and subtracts B from Td (step S 06 ) depending on a setting in the bandwidth parameter table 115 in other cases (“No” in
- the communication apparatus 100 operates as follows in accordance with the algorithm.
- the present example describes a case in which both the minimum bandwidth guarantee and the maximum bandwidth guarantee are provided, and the operation when exceeding is “discard”.
- Values set in the delay parameter table 112 are as illustrated in FIG. 3 .
- Values set in the bandwidth parameter table 115 are as illustrated in FIG. 5 .
- the communication apparatus 100 operates as illustrated in FIG. 7 .
- Packets #1 to 24 arrive.
- the packet size of each packet is 1000 bytes.
- the transmission determination function unit 12 starts the operations in accordance with the algorithm in FIG. 6 .
- tokens are supplied.
- Tmin and Tmax have reached their maximum values set by the parameters (the minimum bandwidth burst and the maximum bandwidth burst) in the bandwidth parameter table in FIG. 5 .
- no tokens are supplied. Since the token supply function has not been updated, no addition is made to Td.
- the token supply function Ts(t) is updated in accordance with the flowchart in FIG. 4 .
- each token bucket is supplied with tokens.
- the minimum bandwidth token bucket 13 B is supplied with 125 bytes, which is 1 ms of 1 Mbps, based on the set value in the bandwidth parameter table 112 in FIG. 5 .
- the delay guarantee token bucket 13 A is supplied with 3000 bytes based on the token supply function.
- the transmission determination function unit 12 performs the packet transmission determination based on the algorithm in FIG. 6 .
- Tmin ⁇ B>0 does not hold (“No” in step S 01 )
- Td ⁇ B>0 and Tmax>0 hold (“Yes” in both steps S 02 and S 03 ).
- the packet #3 is transmitted, and 1000 is subtracted from Tmin, Td, and Tmax (step S 07 ).
- next packet #4 is not transmitted since neither Tmin ⁇ B>0 nor Td ⁇ B>0 holds (“No” in both steps S 01 and S 02 ).
- Tmin thus continues to have a negative value.
- Tmin takes a positive value, and the token amount recovers to the upper limit of the minimum bandwidth token bucket 13 B.
- each token bucket is supplied with tokens.
- the minimum bandwidth token bucket 13 B is supplied with 125 bytes, which is 1 ms of 1 Mbps
- the maximum bandwidth token bucket 13 C is supplied with 6000 bytes, which is 1 ms of 48 Mbps
- the delay guarantee token bucket 13 A is supplied with 3000 bytes.
- the transmission determination function unit 12 performs the packet transmission determination based on the algorithm in FIG. 6 .
- New packets #25 to 56 arrive at this time.
- the packet size of each packet is 1000 bytes.
- the token supply function Ts(t) is updated in accordance with the flowchart in FIG. 4 .
- each token bucket is supplied with tokens.
- the minimum bandwidth token bucket 13 B is supplied with 125 bytes, which is 1 ms of 1 Mbps
- the maximum bandwidth token bucket 13 C is supplied with 6000 bytes, which is 1 ms of 48 Mbps.
- the transmission determination function unit 12 performs the packet transmission determination based on the algorithm in FIG. 6 .
- the first six packets (#13 to #18) are transmitted in the same manner as described above.
- step S 02 Since Tmin is a negative value, the determination in step S 02 is performed. While Td ⁇ B>0 holds (“Yes” in step S 02 ), Tmax ⁇ B>0 does not hold (“No” in step S 03 ). Further, since the bandwidth parameter table 115 in FIG. 5 indicates “discard” as the operation when exceeding the bandwidth, the packet is discarded, and 1000 is subtracted from Td (step S 06 ). The reason for subtracting the token amount from Td here is to adjust the value of Td so that the value of Td is always 0 after all the packets are transmitted. Otherwise, the value of Td increases each time the packet is discarded.
- the present example describes a case in which both the minimum bandwidth guarantee and the maximum bandwidth guarantee are provided, and an operation when exceeding the bandwidth is set “not to discard”.
- Values set in the delay parameter table 112 are as illustrated in FIG. 8 .
- Values set in the bandwidth parameter table 115 are as illustrated in FIG. 9 .
- a communication apparatus 100 operates as illustrated in FIG. 10 .
- An operation of the communication apparatus 100 differs from that of Example 1 in that a packet is held until the next token supply cycle without discarding the packet.
- the other operations are the same as those of Example 1.
- a communication apparatus 100 can also perform the following operation in accordance with settings in the delay parameter table 112 and the bandwidth parameters 115 .
- FIG. 11 illustrates an example in which the delay guarantee and the maximum bandwidth guarantee are provided, and an operation when exceeding the bandwidth is set to “discard”.
- FIG. 19 illustrates an apparatus configuration in this case.
- FIG. 17 is a flowchart illustrating operations in this case.
- a communication apparatus includes: a queue 11 that temporarily holds a packet received from a user device 2 ; two token buckets of a delay guarantee token bucket 13 A and a maximum bandwidth token bucket 13 C; a transmission determination function unit 12 that has a token bucket algorithm which transfers a packet held in the queue 11 to a communication network 3 in accordance with tokens held in the two token buckets; a metering unit 104 that measures an amount of packets received from the user device 2 at predetermined intervals; a token supply calculation unit 108 that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket 13 A and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit 104 , and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit 109 A that supplies the delay guarantee token bucket 13 A with an amount of tokens corresponding to the token supply function set by the token supply calculation unit 108
- the token bucket algorithm transfers the first packet of the queue 11 to the communication network 3 and subtracts B from each of Td and Tmax (step S 07 ), when Td ⁇ B and Tmax ⁇ B are larger than zero (“Yes” in steps S 02 and S 03 ); holds the first packet of the queue 11 on standby in the queue until the next token supply time (step S 05 ), when Td ⁇ B is zero or less (“No” in step S 02 ); and discards the first packet of the queue 11 and subtracts B from Td (step S 06 ), when Td ⁇ B is larger than zero (“Yes” in step S 02 ) and Tmax ⁇ B is zero or less (“No” in step S 03 ).
- a communication apparatus 100 can also perform the following operation in accordance with settings in the delay parameter table 112 and the bandwidth parameters 115 .
- FIG. 12 illustrates an example case in which the delay guarantee and the maximum bandwidth guarantee are provided, and an operation when exceeding the bandwidth is set “not to discard”.
- An apparatus configuration in this case is the same as that of Example 3 illustrated in FIG. 19 .
- FIG. 16 is a flowchart illustrating operations in this case.
- the token bucket algorithm of the present example transfers the first packet of the queue 11 to the communication network 3 and subtracts B from each of Td and Tmax (step S 07 ), when Td ⁇ B and Tmax ⁇ B are larger than zero (“Yes” in steps S 02 and S 03 ); and holds the first packet of the queue 11 on standby in the queue 11 until the next token supply time (step S 05 ), when Td ⁇ B is zero or less (“No” in step S 02 ) or when Td ⁇ B is larger than zero (“Yes” in step S 02 ) and Tmax ⁇ B is zero or less (“No” in step S 03 ).
- a communication apparatus 100 can also perform the following operation in accordance with settings in the delay parameter table 112 and the bandwidth parameters 115 .
- FIG. 13 illustrates an example case in which the delay guarantee and the minimum bandwidth guarantee are provided.
- FIG. 18 illustrates an apparatus configuration in this case.
- FIG. 15 is a flowchart illustrating operations in this case.
- a communication apparatus includes: a queue 11 that temporarily holds a packet received from a user device 2 ; two token buckets of a delay guarantee token bucket 13 A and a minimum bandwidth token bucket 13 C; a transmission determination function unit 12 that has a token bucket algorithm which transfers a packet held in the queue 11 to a communication network 3 in accordance with tokens held in the two token buckets; a metering unit 104 that measures an amount of packets received from the user device 2 at predetermined intervals; a token supply calculation unit 108 that has a token supply function which specifies an amount of tokens to be supplied to the delay guarantee token bucket 13 A and a supply period at the predetermined intervals, generates the token supply function to be added based on the amount of packets measured by the metering unit 104 , and adds the token supply function to be added to the previous token supply function; a delay guarantee token supply unit 109 A that supplies the delay guarantee token bucket 13 A with an amount of tokens corresponding to the token supply function set by the token supply calculation unit 108
- the token bucket algorithm transfers the first packet of the queue 11 to the communication network 3 and subtracts B from each of Tmin and Td (step S 07 ), when Tmin ⁇ B is larger than zero (“Yes” in step S 01 ) and when Tmin ⁇ B is zero or less (“No” in step S 01 ) and Td ⁇ B is larger than zero (“Yes” in step S 02 ); and holds the first packet of the queue 11 on standby in the queue 11 until the next token supply time (step S 05 ), when Tmin ⁇ B and Td ⁇ B are zero or less (“No” in steps S 01 and S 02 ).
- a communication apparatus 100 can also be implemented by a computer and a program, and the program can be recorded on a recording medium or provided through a network.
- FIG. 14 is a block diagram illustrating the communication apparatus 100 .
- the communication apparatus 100 includes a computer 205 connected to the network 235 .
- the network 235 is a data communication network.
- the network 235 may be a private network or a public network and can include any one of or all of (a) a personal area network covering, for example, a certain room, (b) a local area network covering, for example, a certain building, (c) a campus area network covering, for example, a certain campus, (d) a metropolitan area network covering, for example, a certain city, (e) a wide area network covering, for example, an area across metropolitan, regional, or national boundaries, and (f) the Internet.
- the communication is performed by electronic and optical signals via the network 235 .
- the computer 205 includes a processor 210 and a memory 215 connected to the processor 210 . While the computer 205 is represented as a stand-alone device in the present description, the computer 205 is not limited to this example. Instead, the computer 205 may be connected to other devices (not illustrated) in the distributed processing system.
- the processor 210 is an electronic device including logic circuits that respond to and execute instructions.
- the memory 215 is a tangible and a readable storage medium for a computer in which a computer program is encoded.
- the memory 215 stores data and instructions readable and executable by the processor 210 , namely, program code, to control the operations of the processor 210 .
- the memory 215 can be implemented by a random access memory (RAM), a hard drive, a read-only memory (ROM), or a combination thereof.
- One of the components of the memory 215 is a program module 220 .
- the program module 220 includes instructions for controlling the processor 210 to perform processes described in the present description. While the operations are described as being performed by the computer 205 , the method, the processes, or the subordinate processes in the present description, those operations are actually performed by the processor 210 .
- module is used in the present description to refer to a functional operation that can be implemented as either a stand-alone component or an integrated configuration including a plurality of subordinate components. Therefore, the program module 220 can be implemented as a single module or as a plurality of modules that operate in cooperation with each other. Further, in the present description, the program module 220 is installed in the memory 215 and thus described as being implemented by software. However, the program module 220 can be implemented by any one of hardware (for example, electronic circuits), firmware, software, or a combination thereof.
- the storage device 240 is a tangible and a readable storage medium for a computer that stores the program module 220 .
- Examples of the storage device 240 include a compact disk, a magnetic tape, a read-only memory, an optical storage medium, a hard drive, a memory unit including a plurality of parallel hard drives, and a universal serial bus (USB) flash drive.
- the storage device 240 may be a random access memory or a different type of electronic storage device that is located in a remote storage system (not illustrated) and connected to the computer 205 via the network 235 .
- the communication apparatus 100 further includes a data source 250 A and a data source 250 B that are collectively referred to as a data source 250 in the present description and are communicably connected to the network 235 .
- the data source 250 includes any number of data sources, namely, one or more data sources.
- the data source 250 can include unstructured data and can include social media.
- the communication apparatus 100 further includes a user device 230 that is operated by a user 201 and connected to the computer 205 via the network 235 .
- the user device 230 includes an input device such as a keyboard or a voice recognition subsystem that enables the user 201 to convey information and command selections to the processor 210 .
- the user device 230 further includes an output device such as a display device, a printer, or a speech synthesizer.
- a cursor control unit such as a mouse, trackball, or a touch-sensitive screen, enables the user 201 to operate a cursor on the display device to further convey information and command selections to the processor 210 .
- the processor 210 outputs a result 222 of an execution of the program module 220 to the user device 230 .
- the processor 210 can provide the output to the storage device 225 , such as a database or a memory, or to a remote device (not illustrated) via the network 235 .
- the program that implements the flowchart in FIG. 4 or 6 may be regarded as the program module 220 .
- the computer 205 can operate as the communication apparatus 100 .
Abstract
Description
When t is t_now+Tr or more and less than t_now+Tr+Da: add_Ts(t)=(Bm/Da)×Tc [Equation C1]
When t is less than t_now+Tr or t_now+Tr+Da or more: add_Ts(t)=0
However, Da=Dd−Dr−Tu−Tr
new_Ts(t)=now_Ts(t)+add_Ts(t) [Equation C2]
Da=Dd−Dr−Tu−Tr
In a case where t is t_now+Tr≤t<t_now+Tr+Da add_Ts(t)=(Bm/Da)×Tc (1)
In a case where t is other than the above add_Ts(t)=0 (2)
new_Ts(t)=now_Ts(t)+add_Ts(t)
The calculation in step S125 can be performed by a delay guarantee token
-
- (1) In principle, if the delay guarantee
token bucket 13A has a token, the first packet of thequeue 11 is transmitted to thecommunication network 3. However, if the maximum bandwidthtoken bucket 13C has no token at this point, the first packet is not transmitted, but the first packet is held or discarded (in accordance with the setting in the bandwidth parameter table 115). - (2) If the delay guarantee
token bucket 13A has no token, the operation to be performed is determined based on the state of the minimum bandwidthtoken bucket 13B. - (2a) If the minimum bandwidth
token bucket 13B has a token, the first packet of thequeue 11 is transmitted to thecommunication network 3. - (2b) If the minimum bandwidth
token bucket 13B has no token, the first packet is held or discarded. In this case, if the maximum bandwidthtoken bucket 13C has a token, the first packet is always held. However, if the maximum bandwidthtoken bucket 13C has no token, the first packet is held or discarded in accordance with the setting in the bandwidth parameter table 115. - (3) When the first packet has been transmitted, the amount of tokens corresponding to the first packet is subtracted from each of the token buckets. When the first packet has been discarded, the amount of tokens corresponding to the first packet is subtracted only from the delay guarantee
token bucket 13A. - (4) The delay guarantee
token bucket 13A is periodically supplied with an amount of tokens corresponding to a token supply function calculated by the token supplyfunction calculation unit 108. - (5) The minimum bandwidth
token bucket 13B and the maximum bandwidthtoken bucket 13C are periodically supplied with a fixed amount of tokens irrespective of the amount of packets received from theuser device 2.
- (1) In principle, if the delay guarantee
-
- 2 User device
- 3 Communication network
- 11 Queue
- 12 Transmission determination function unit
- 13A Delay guarantee token bucket
- 13B Minimum bandwidth token bucket
- 13C Maximum bandwidth token bucket
- 104 Metering unit
- 105 Shaping unit
- 108 Token supply function calculation unit
- 109A Delay guarantee token supply unit
- 109B Minimum bandwidth token supply unit
- 109C Maximum bandwidth token supply unit
- 112 Delay parameter table
- 113 Input packet amount recording memory
- 114 Delay guarantee token supply function memory
- 115 Bandwidth parameter table
- 122 Delay parameter setting unit
- 123 Bandwidth parameter setting unit
- 200 System
- 201 User
- 205 Computer
- 210 Processor
- 215 Memory
- 220 Program module
- 222 Result
- 225 Storage device
- 230 User device
- 235 Network
- 240 Storage device
- 250 Data source
Claims (4)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/026743 WO2021002022A1 (en) | 2019-07-04 | 2019-07-04 | Communication device, communication method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220360534A1 US20220360534A1 (en) | 2022-11-10 |
US11902167B2 true US11902167B2 (en) | 2024-02-13 |
Family
ID=74100303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/624,464 Active 2039-10-21 US11902167B2 (en) | 2019-07-04 | 2019-07-04 | Communication apparatus having delay guarantee shaping function |
Country Status (3)
Country | Link |
---|---|
US (1) | US11902167B2 (en) |
JP (1) | JP7127743B2 (en) |
WO (1) | WO2021002022A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11902167B2 (en) * | 2019-07-04 | 2024-02-13 | Nippon Telegraph And Telephone Corporation | Communication apparatus having delay guarantee shaping function |
CN115174486A (en) * | 2022-06-01 | 2022-10-11 | 湖南天冠电子信息技术有限公司 | Message transmission method, system and storage medium |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117502A1 (en) * | 2002-12-17 | 2004-06-17 | Raytheon Company | Method and system for encapsulating variable-size packets |
US20060187825A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Dynamic color threshold in a queue |
US20070195778A1 (en) * | 2006-02-21 | 2007-08-23 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
US20080225743A1 (en) * | 2007-03-17 | 2008-09-18 | Qualcomm Incorporated | Reverse-link quality-of-service information in data packet header |
US7830796B2 (en) * | 2006-10-18 | 2010-11-09 | Ericsson Ab | Method and apparatus for traffic shaping |
US20110038261A1 (en) * | 2008-04-24 | 2011-02-17 | Carlstroem Jakob | Traffic manager and a method for a traffic manager |
US7948882B2 (en) * | 2006-10-09 | 2011-05-24 | Agere Systems Inc. | Dual leaky bucket flow control method and system |
US8032653B1 (en) * | 2000-09-08 | 2011-10-04 | Juniper Networks, Inc. | Guaranteed bandwidth sharing in a traffic shaping system |
US8050284B2 (en) * | 2006-12-30 | 2011-11-01 | Huawei Technologies Co., Ltd. | Method, device and communication equipment for controlling a burst assembly |
US20120294317A1 (en) * | 2011-05-18 | 2012-11-22 | Sarig Livne | Network traffic scheduler and associated method, computer program and computer program product |
US8320240B2 (en) * | 2004-11-30 | 2012-11-27 | Broadcom Corporation | Rate limiting and minimum and maximum shaping in a network device |
US20140281000A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Scheduler based network virtual player for adaptive bit rate video playback |
US20160212065A1 (en) * | 2015-01-20 | 2016-07-21 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US20160259569A1 (en) * | 2013-12-19 | 2016-09-08 | International Business Machines Corporation | Dynamic feedback-based throughput control for black-box storage systems |
JP2018148453A (en) | 2017-03-07 | 2018-09-20 | 日本電信電話株式会社 | Communication apparatus, communication system and program |
US10432429B1 (en) * | 2016-02-16 | 2019-10-01 | Innovium, Inc. | Efficient traffic management |
US20190356605A1 (en) * | 2018-05-17 | 2019-11-21 | Fujitsu Limited | Information processing apparatus and verification system |
US20220360534A1 (en) * | 2019-07-04 | 2022-11-10 | Nippon Telegraph And Telephone Corporation | Communication equipment, communication methods and programs |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1042037A (en) * | 1996-07-19 | 1998-02-13 | Nippon Telegr & Teleph Corp <Ntt> | Method and device communication control |
JP2003258881A (en) * | 2002-02-28 | 2003-09-12 | Nippon Telegr & Teleph Corp <Ntt> | Adaptive quality control system |
JP2005236669A (en) * | 2004-02-19 | 2005-09-02 | Furukawa Electric Co Ltd:The | Method and device for controlling communication quality |
JP2013030855A (en) * | 2011-07-26 | 2013-02-07 | Nippon Telegr & Teleph Corp <Ntt> | Session reception control system and method |
-
2019
- 2019-07-04 US US17/624,464 patent/US11902167B2/en active Active
- 2019-07-04 WO PCT/JP2019/026743 patent/WO2021002022A1/en active Application Filing
- 2019-07-04 JP JP2021529876A patent/JP7127743B2/en active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032653B1 (en) * | 2000-09-08 | 2011-10-04 | Juniper Networks, Inc. | Guaranteed bandwidth sharing in a traffic shaping system |
US20040117502A1 (en) * | 2002-12-17 | 2004-06-17 | Raytheon Company | Method and system for encapsulating variable-size packets |
US8320240B2 (en) * | 2004-11-30 | 2012-11-27 | Broadcom Corporation | Rate limiting and minimum and maximum shaping in a network device |
US20060187825A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Dynamic color threshold in a queue |
US20070195778A1 (en) * | 2006-02-21 | 2007-08-23 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
US7948882B2 (en) * | 2006-10-09 | 2011-05-24 | Agere Systems Inc. | Dual leaky bucket flow control method and system |
US7830796B2 (en) * | 2006-10-18 | 2010-11-09 | Ericsson Ab | Method and apparatus for traffic shaping |
US8050284B2 (en) * | 2006-12-30 | 2011-11-01 | Huawei Technologies Co., Ltd. | Method, device and communication equipment for controlling a burst assembly |
US20080225743A1 (en) * | 2007-03-17 | 2008-09-18 | Qualcomm Incorporated | Reverse-link quality-of-service information in data packet header |
US20110038261A1 (en) * | 2008-04-24 | 2011-02-17 | Carlstroem Jakob | Traffic manager and a method for a traffic manager |
US20120294317A1 (en) * | 2011-05-18 | 2012-11-22 | Sarig Livne | Network traffic scheduler and associated method, computer program and computer program product |
US20140281000A1 (en) * | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Scheduler based network virtual player for adaptive bit rate video playback |
US20160259569A1 (en) * | 2013-12-19 | 2016-09-08 | International Business Machines Corporation | Dynamic feedback-based throughput control for black-box storage systems |
US20160212065A1 (en) * | 2015-01-20 | 2016-07-21 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US20190007338A1 (en) * | 2015-01-20 | 2019-01-03 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US10432429B1 (en) * | 2016-02-16 | 2019-10-01 | Innovium, Inc. | Efficient traffic management |
JP2018148453A (en) | 2017-03-07 | 2018-09-20 | 日本電信電話株式会社 | Communication apparatus, communication system and program |
US20190356605A1 (en) * | 2018-05-17 | 2019-11-21 | Fujitsu Limited | Information processing apparatus and verification system |
US20220360534A1 (en) * | 2019-07-04 | 2022-11-10 | Nippon Telegraph And Telephone Corporation | Communication equipment, communication methods and programs |
Also Published As
Publication number | Publication date |
---|---|
WO2021002022A1 (en) | 2021-01-07 |
JP7127743B2 (en) | 2022-08-30 |
US20220360534A1 (en) | 2022-11-10 |
JPWO2021002022A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757157B2 (en) | Allocating limit to allowable end-to-end latency variation based on destination capability | |
US9372627B2 (en) | Dynamic feedback-based throughput control for black-box storage systems | |
US9030935B2 (en) | Device and method for adjusting rate limits for transmission rates of data flows having a certain priority in a transmitter | |
CN111061560B (en) | Cloud rendering resource scheduling method and device, electronic equipment and storage medium | |
US11902167B2 (en) | Communication apparatus having delay guarantee shaping function | |
US20130051234A1 (en) | Method and apparatus for controlling transmission rate | |
WO2016172848A1 (en) | Method and device for adjusting virtual resources in cloud computing | |
US10554568B2 (en) | Technologies for network round-trip time estimation | |
CN108476175B (en) | Transfer SDN traffic engineering method and system using dual variables | |
KR20190055613A (en) | Apparatus for controlling resource in cloud computing system and method for the same | |
US20220222128A1 (en) | Autoscaling of data processing computing systems based on predictive queue length | |
US20170091630A1 (en) | Information processing device, analysis method, and program recording medium | |
CN112491736B (en) | Congestion control method and device, electronic equipment and storage medium | |
JP7444247B2 (en) | Burst traffic detection device, burst traffic detection method, and burst traffic detection program | |
US11088960B2 (en) | Information processing apparatus and verification system | |
US20160315849A1 (en) | Information processing apparatus, information processing method, and computer readable medium | |
US20230120869A1 (en) | Network management systems, edge devices, network management devices, and programs | |
US10067493B2 (en) | Frequency control method and frequency control system | |
WO2021129687A1 (en) | Traffic prediction method and device and bandwidth allocation method and device | |
WO2021018058A1 (en) | System overload control method and device | |
CN113938440A (en) | Method, device and storage medium for determining forwarding priority | |
CN116489091A (en) | Flow scheduling method and device based on remote in-band telemetry and time delay | |
JP2014147038A (en) | Data transfer controller, data transfer control method, and data transfer control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FUKUI, TATSUYA;MINAMI, KATSUYA;SAKAUE, YUKI;AND OTHERS;SIGNING DATES FROM 20211007 TO 20220422;REEL/FRAME:062822/0127 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |