[go: up one dir, main page]

WO2024176286A1 - 判定装置、判定方法及び判定プログラム - Google Patents

判定装置、判定方法及び判定プログラム Download PDF

Info

Publication number
WO2024176286A1
WO2024176286A1 PCT/JP2023/005942 JP2023005942W WO2024176286A1 WO 2024176286 A1 WO2024176286 A1 WO 2024176286A1 JP 2023005942 W JP2023005942 W JP 2023005942W WO 2024176286 A1 WO2024176286 A1 WO 2024176286A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
delay
rate
reference delay
packet
Prior art date
Application number
PCT/JP2023/005942
Other languages
English (en)
French (fr)
Inventor
幸司 杉園
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2023/005942 priority Critical patent/WO2024176286A1/ja
Publication of WO2024176286A1 publication Critical patent/WO2024176286A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction

Definitions

  • the present invention relates to a determination device, a determination method, and a determination program.
  • a transfer device includes devices with transfer functions such as switches, routers, optical transponders, and multiplexers) at the same time and are transferred to the same destination link.
  • the forwarding device puts the subsequently arriving traffic packet of network A on hold. This wait time increases the forwarding delay of the traffic of network A.
  • a variety of traffic flows (hereafter referred to as flows) flow through networks built for each service, and each has a different priority when forwarding.
  • flows flow through networks built for each service, and each has a different priority when forwarding.
  • the forwarding device forwards the high-priority packets first.
  • a representative method is Call Admission Control (see, for example, Non-Patent Document 1).
  • a transfer device on the route through which the flow passes issues permission to set up the new flow based on the traffic volume between the new flow and existing flows that are already accommodated, so as to prevent packet loss due to buffer overflow.
  • the judgment criterion for issuing a setting permission is only a single criterion such as the probability of buffer overflow or excess link bandwidth, and it is difficult to apply when different judgment criteria are used for each flow.
  • the present invention has been made in consideration of the above, and aims to provide a determination device, a determination method, and a determination program that can handle cases where different determination indicators are used for each traffic flow and can determine whether to accommodate a new flow based on multiple determination indicators.
  • the determination device of the present invention is characterized by having: a prediction unit that accepts a request to accommodate a new traffic flow including a first indicator, which is the arrival rate of the traffic flow; a second indicator, which is a first reference delay that is a transfer delay reference value to be observed; and a third indicator, which is the first reference delay exceeding packet ratio; and a fourth indicator, which is the total amount of arrival rates of all traffic flows after the new traffic flow is accommodated in the transfer device; a sixth indicator, which is calculated based on the fourth indicator, for each second reference delay of each flow, which is the fifth indicator; a determination unit that determines, for each second reference delay, whether the second reference delay exceeding packet ratio set for each traffic flow exceeds the predicted value; and a management unit that permits the accommodation of the new traffic flow in the transfer device when the second reference delay exceeding packet ratio exceeds the predicted value.
  • a prediction unit that accepts a request to accommodate a new traffic flow including a first indicator, which is the arrival rate of the traffic flow; a second indicator, which is
  • FIG. 1 is a diagram showing a network configuration according to the first embodiment.
  • FIG. 2 is a diagram showing a network configuration according to the first embodiment.
  • FIG. 3 is a diagram for explaining a transfer process of the multiplexing device shown in FIG.
  • FIG. 4 is a diagram for explaining an outline of the process of the multiplexing device shown in FIG.
  • FIG. 5 is a diagram showing an example of the configuration of the multiplexing device shown in FIG.
  • FIG. 6 is a diagram for explaining the definition of the delay condition.
  • FIG. 7 is a diagram for explaining an outline of new flow accommodation judgment.
  • FIG. 8 is a diagram for explaining an outline of new flow accommodation judgment.
  • FIG. 9 is a diagram for explaining the graph.
  • FIG. 10 is a diagram for explaining the calculation of the reference delay.
  • FIG. 10 is a diagram for explaining the calculation of the reference delay.
  • FIG. 11 is a diagram for explaining the scope of application of the first embodiment.
  • FIG. 12 is a diagram for explaining a request to accommodate a new flow.
  • FIG. 13 is a diagram for explaining a method of calculating a delay excess packet ratio predicted value.
  • FIG. 14 is a flowchart showing a procedure of the process executed by the multiplexing device shown in FIG.
  • FIG. 15 is a flowchart showing the procedure of the determination process shown in FIG.
  • FIG. 16 is a diagram illustrating an example of a data configuration of the excess reference delay management table.
  • FIG. 17 is a flowchart of the flow information removal process.
  • FIG. 18 is a flowchart showing the procedure of a process for searching for a reference delay value that can be skipped.
  • FIG. 19 is a diagram for explaining a method of checking whether the delay condition is met.
  • FIG. 20 is a diagram showing another example of the configuration of a multiplexing device according to the second modification of the first embodiment.
  • FIG. 21 is a flowchart illustrating a processing procedure according to the second modification of the first embodiment.
  • FIG. 22 is a flowchart illustrating a processing procedure of another process according to the second modification of the first embodiment.
  • FIG. 23 is a flowchart illustrating a processing procedure of another process according to the second modification of the first embodiment.
  • FIG. 24 is a diagram for explaining the calculation process of the maximum packet rate declared value.
  • FIG. 25 is a diagram illustrating an overview of a multiplexing device according to the second embodiment.
  • FIG. 21 is a diagram showing another example of the configuration of a multiplexing device according to the second modification of the first embodiment.
  • FIG. 21 is a flowchart illustrating a processing procedure according to the second modification of the first embodiment.
  • FIG. 22 is
  • FIG. 26 is a diagram for explaining an outline of a multiplexing device according to the second embodiment.
  • FIG. 27 is a diagram illustrating an example of a configuration of a multiplexing device according to the second embodiment.
  • FIG. 28 is a flowchart showing the procedure of the process executed by the multiplexing device shown in FIG.
  • FIG. 29 is a flowchart showing the processing steps of the contract rate presentation processing shown in FIG.
  • FIG. 30 is a diagram illustrating the calculation of the proposed contract flow rate.
  • FIG. 31 is a diagram illustrating the calculation of the proposed contract flow rate.
  • FIG. 32 is a flowchart illustrating the procedure of the rate limit execution process shown in FIG.
  • FIG. 33 is a diagram for explaining the marginal utilization rate.
  • FIG. 34 is a diagram for explaining the derivation of the marginal utilization rate.
  • FIG. 35 is a diagram illustrating the process of determining whether or not a rate limit is to be applied.
  • FIG. 36 is a diagram illustrating the process of determining whether or not a rate limit is to be applied.
  • FIG. 37 is a diagram illustrating the process of removing a rate limit target.
  • FIG. 38 is a diagram illustrating an example of a computer that implements a multiplexing device by executing a program.
  • FIGS 1 and 2 are diagrams showing the network configuration in the first embodiment.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the transfer device outputs packets to a destination interface that cannot output packets simultaneously, adjusting the transfer timing using buffering.
  • Examples of transfer devices include multiplexing devices, switches, routers, and optical transponders. Below, we will explain an example in which a multiplexing device 10 having a multiplexer is used as a transfer device.
  • the multiplexing device 10 has a traffic flow (hereafter referred to as flow) management function, and transfers packets of each flow to the output destination interface according to priority.
  • flow traffic flow
  • the high-priority flows are all set to the same priority, multiplexed using a scheduling method that emphasizes fairness among the flows, such as round robin, and output to the forwarding path.
  • the low-priority flow is forwarded after the high-priority flow is output.
  • the multiplexing device 10 When the multiplexing device 10 receives a flow accommodation request from a node 20, it determines whether to accept or reject the flow accommodation request.
  • the node 20 is, for example, a controller for network device management or a flow setting implementation node such as a flow sender.
  • the flow accommodation request is written in an inbound signaling message sent by the controller or via a data link.
  • the node 20 also sends a flow release request.
  • FIG. 3 is a diagram for explaining a transfer process of the multiplexing device 10 shown in Fig. 2.
  • the multiplexing device 10 multiplexes data using a multiplexer.
  • the multiplexing device 10 When providing multiple real-time services on a shared network, the multiplexing device 10 multiplexes multiple service flows into one path and outputs them at a GW (gateway) of a WAN or optical network.
  • the multiplexing device 10 uses optical transmission technologies such as wavelength multiplexing and time division multiplexing.
  • the multiplexing device 10 treats all flows related to real-time services as high-priority flows and functions on the premise that service traffic is treated fairly. However, since the multiplexing device 10 cannot transfer multiple packets in parallel, it makes packets that arrive simultaneously wait in a queue ((1) in Figure 3). This causes packets of each flow to be delayed.
  • the multiplexing device 10 maintains an environment in which the user can easily operate the device by controlling the accommodation of flows so as to observe the upper limit of the proportion of packets with excessive delays, which is set as one of the indicators.
  • Figure 4 is a diagram that explains the overview of the processing of the multiplexing device 10 shown in Figure 2.
  • the multiplexing device 10 restricts the flow capacity and limits the arriving traffic to suppress and optimize queuing delays ((3) in Figure 4).
  • FIG. 5 is a diagram showing an example of the configuration of the multiplexing device 10 shown in Fig. 2.
  • the multiplexing device 10 has a communication unit 11, a storage unit 12, and a control unit 13.
  • the communication unit 11 is a communication interface that transmits packets to the destination interface.
  • the communication unit 11 is realized by a NIC (Network Interface Card) or the like, and communicates between the control unit 13 (described later) and other devices via telecommunication lines such as a LAN (Local Area Network) or the Internet.
  • the communication unit 11 receives a flow accommodation request or a flow release request transmitted from the node 20.
  • the storage unit 12 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk, and stores the processing program that operates the multiplexing device 10 and data used during the execution of the processing program.
  • the storage unit 12 has data for determination 121 and a database (DB) 122 for managing flow information.
  • DB database
  • the judgment data 121 includes various indicators (described below) used to judge delay conditions, as well as various indicators and data used to make delay condition judgments when accommodating a flow.
  • the flow information management DB 122 has a predicted value calculation program 1221 and a condition determination program 1222.
  • the flow information management DB 122 may be held by an external device.
  • the multiplexing device 10 has an interface for acquiring data from the flow information management DB 122.
  • the predicted value calculation program 1221 is a program used to calculate the predicted value (described later) of the delay excess packet ratio, which is the sixth indicator.
  • the condition determination program 1222 is a program that includes an algorithm used to determine whether or not the delay condition is satisfied.
  • the control unit 13 has an internal memory for storing programs that define various processing procedures and required data, and executes various processes using these.
  • the control unit 13 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit 13 has a packet forwarding unit 14 and a flow management unit 15 (determination device).
  • the packet forwarding unit 14 controls the forwarding of packets of multiple flows.
  • the packet forwarding unit 14 has an output destination determination unit 141, a schedule unit 142, and a packet measurement unit 143.
  • the output destination determination unit 141 determines the output destination interface for packets of each flow.
  • the schedule unit 142 sets the transfer order of packets of each flow according to the priority.
  • the packet forwarding unit 14 forwards packets of each flow to the output destination interface determined by the output destination determination unit 141 in accordance with the transfer order set by the schedule unit 142.
  • the schedule unit 142 may also have a limit function for the forwarding of packets of each flow.
  • the packet measurement unit 143 measures packets of each flow and accumulates statistical information regarding the input and output of packets of each flow.
  • the packet measurement unit 143 measures the arrival rate and the size and amount of arriving packets for each output interface and flow.
  • the flow management unit 15 manages the flows accommodated by the multiplexing device 10.
  • the flow management unit 15 has a determination unit 16 (determination device), a flow information management unit 17, and an accommodation management unit 18.
  • the determination unit 16 determines whether or not the delay condition of each flow accommodated by the multiplexing device 10 is satisfied based on a number of indicators. In the first embodiment, when a new flow requested by the node 20 is accommodated, the determination unit 16 determines whether or not the delay condition is satisfied for the new flow and for flows that have already been accommodated.
  • the determination unit 16 has a flow request analysis unit 161, a predicted value calculation unit 162, and a delay condition determination unit 163.
  • the flow request analysis unit 161 When the flow request analysis unit 161 receives a request to accommodate a flow, it analyzes the request to accommodate this flow. From the flow accommodation request, the flow request analysis unit 161 obtains the arrival rate (first index), the first reference delay of the new flow (second index), and the first reference delay exceeding packet ratio of the new flow (hereinafter referred to as the first reference ratio) (third index) for the new flow for which accommodation has been newly requested.
  • the arrival rate first index
  • the first reference delay of the new flow second index
  • the first reference delay exceeding packet ratio of the new flow hereinafter referred to as the first reference ratio
  • Figure 6 is a diagram explaining the definition of the delay condition.
  • the first definition of the delay condition is the transfer delay reference value that this flow should adhere to, i.e., the reference delay.
  • the second definition of the delay condition is the percentage of delays that exceed the transfer delay reference value that should be adhered to, i.e., the percentage of packets exceeding the reference delay (reference percentage).
  • the delay condition is that up to one in four packets have a delay of 20 msec or more.
  • the delay condition is met.
  • the delay condition is not met.
  • the first reference delay is an index that is set using information based on the buffer capacity (e.g., the probability of blocking due to queue overflow) in order to reduce packet loss due to exceeding the buffer capacity (buffer overflow) along with delay conditions.
  • the first reference delay is, for example, in units of one packet.
  • the first reference rate which is the third index, is the rate of packets that experience a delay that exceeds the first reference delay of the flow, and is an index that is set based on information based on delay conditions and buffer capacity.
  • the first reference rate is set for each reference delay, which is the second index. Note that in the case of a flow release request, the flow request analysis unit 161 similarly obtains the first to third indexes for the flow that is requested to be released.
  • the flow request analysis unit 161 stores the first to third indicators in the judgment data 121 in association with the flow identification information.
  • the flow request analysis unit 161 stores the first indicator of each flow in the judgment data 121 in association with the flow identification information.
  • the total arrival rate of all flows after the new flow is accommodated in the multiplexing device 10 is set as the fourth indicator.
  • the flow request analysis unit 161 stores the second indicator of each flow as the fifth indicator in association with the flow identification information in the judgment data 121.
  • the flow request analysis unit 161 stores the third indicator of each flow in association with the flow identification information in the judgment data 121 as the second reference delay exceeding packet ratio (reference ratio) for each second reference delay.
  • the reference ratio included in the accommodation request is referred to as the first reference ratio
  • the reference ratio acquired by the flow request analysis unit 161 and stored in the determination data 121 in association with the flow identification information is referred to as the second reference ratio.
  • the predicted value calculation unit 162 calculates the delay excess packet ratio predicted value (hereinafter, the predicted value) for each accommodated flow and each new flow, based on the fourth indicator and for each second reference delay of each flow, which is the fifth indicator.
  • the predicted value is the sixth indicator.
  • the fourth indicator is the total amount of flow packet declaration values (arrival rate) of all flows accommodated.
  • the fifth indicator is the transfer delay reference value to be observed for each flow in the multiplexing device 10, i.e., the second reference delay.
  • the second and fifth indicators are set based on the capacity of the buffer of the multiplexing device 10.
  • the third indicator, the second reference rate, and the sixth indicator indicate the rate of packet loss due to exceeding the capacity of the buffer.
  • the multiplexing device 10 also holds a second reference delay exceeding packet ratio (second reference ratio) set for each second reference delay (e.g., reference delay 1, 2, 3, ...) for each flow accommodated in the multiplexing device 10.
  • the second reference ratio is set, for example, based on the delay conditions of the multiplexing device 10 and information based on the buffer capacity of the multiplexing device 10.
  • the multiplexing device 10 has delay conditions with a threshold value in msec, and may calculate, for example, the allowable value for the ratio of packets exceeding the delay conditions (reference delay exceeding packet ratio) for each reference delay for each flow as the second reference ratio.
  • the sixth indicator is a predicted value of the proportion of over-delay packets for each second reference delay for the corresponding flow in the multiplexing device 10.
  • the predicted value is calculated based on the fourth indicator for each second reference delay, which is the fifth indicator, and is therefore an indicator based on the delay conditions of the multiplexing device 10 and information on the buffer capacity of the multiplexing device 10. The method of calculating the predicted value will be described later.
  • the delay condition determination unit 163 determines whether or not the delay condition is satisfied for each accommodated flow and each new flow based on the predicted value calculated by the predicted value calculation unit 162. The delay condition determination unit 163 determines whether or not the second reference ratio exceeds the predicted value for each second reference delay for each flow.
  • the delay condition determination unit 163 determines that the delay condition is satisfied if the second reference ratio exceeds the predicted value for all flows. The delay condition determination unit 163 determines that the delay condition is not satisfied if there is no flow for which the second reference ratio exceeds the predicted value.
  • the flow information management unit 17 manages the flow information and manages each piece of information used to judge delay conditions. For example, the flow information management unit 17 obtains each indicator of the flow requested to be accommodated from the accommodation request, and stores it in the judgment data 121. Furthermore, the flow information management unit 17 updates the judgment data 121 if there is a change in each indicator.
  • the accommodation management unit 18 accepts the flow accommodation request and permits the accommodation of the new flow to the multiplexing device 10. In other words, if the determination unit 16 determines that the second reference ratio exceeds the predicted value for both the new flow and all flows already accommodated, the accommodation management unit 18 permits the accommodation of the new flow to the multiplexing device 10.
  • the accommodation management unit 18 rejects the flow accommodation request. In other words, if the determination unit 16 determines that there is a flow whose second reference ratio does not exceed the predicted value, the accommodation management unit 18 rejects the flow accommodation request.
  • the accommodation management unit 18 allows the multiplexing device 10 to accommodate a new traffic flow only if all flows after accommodating the new flow satisfy the delay condition, and may also allow the multiplexing device 10 to accommodate a new flow if a predetermined number or more of flows satisfy the delay condition.
  • [New flow accommodation decision] 7 and 8 are diagrams for explaining an overview of the new flow accommodation decision.
  • the multiplexing device 10 decides whether or not each flow satisfies the delay condition for each flow, and determines whether or not to accommodate the new flow.
  • the prediction value calculation unit 162 calculates the prediction values of the accommodated flows and new flows after newly accommodating the requested flow for each reference delay based on the queuing model (FIG. 7 (2-1)).
  • the multiplexing device 10 calculates the ratio of packets exceeding the reference delay (first reference ratio) of the accommodated flow for each reference delay (in units of one packet) from the arrival packet rate (FIG. 7 (2-2)).
  • the delay condition determination unit 163 compares the predicted value with the second reference ratio for each reference delay for each flow.
  • the delay condition judgement unit 163 will judge that the delay condition is satisfied for the reference delay "3".
  • the delay condition determination unit 163 determines that the delay condition is met.
  • the accommodation management unit 18 accepts the flow accommodation request and allows the multiplexing device 10 to accommodate the new flow.
  • the delay condition determination unit 163 determines that the delay condition is not satisfied. For example, for the flow being determined, if the predicted value for the reference delay "3" (box W3) is "0.6" (arrow Y2 in FIG. 8), which exceeds the reference ratio "0.5” for this reference delay "3,” the delay condition determination unit 163 determines that the delay condition is not satisfied for the reference delay "3.”
  • the delay condition determination unit 163 determines that the delay condition is not satisfied.
  • the accommodation management unit 18 then refuses to accommodate the new flow to the multiplexing device 10 ((4) in FIG. 7). Note that while an example has been described in which the accommodation of a new flow is refused if there is even one flow whose predicted value exceeds the second reference rate, this is not limiting.
  • the accommodation management unit 18 may change the number of flows whose predicted value exceeds the second reference rate according to the accommodation capabilities of the multiplexing device 10 and then determine whether to accommodate a new flow.
  • FIG. 9 is a diagram for explaining the graphs in FIG. 7(2) and FIG. 8.
  • the vertical axis of this graph indicates the predicted value (predicted value of the proportion of packets exceeding the reference delay).
  • the horizontal axis indicates the reference delay.
  • the right diagram in FIG. 9 indicates the proportion of packets in the queue that exist at the time of arrival when there are x packets, and the left diagram indicates the proportion of packets in the queue that exist at the time of arrival when there are x+1 or more packets.
  • the excess packet ratio for a reference delay of "3" is the ratio of packets that experience a delay of 4 packets or more in the multiplexing device 10 (see the right diagram), and the value within box W2 in the left diagram is the sum of the ratios in box W3 in the right diagram.
  • the reference delay is "3"
  • approximately 35% of packets have a delay of 4 or more.
  • Figure 10 is a diagram explaining the calculation of the reference delay.
  • the reference delay (time) is expressed by the following formula (1).
  • the horizontal axis of the graph in Fig. 10 is the number of packets in the queue at the time of packet arrival.
  • the multiplexing device 10 compares the predicted value of x1 or x2 with the reference rate of the flow according to a preset policy.
  • the reference delay is the product of the packet output time and the number of packets (Equation (1)). For example, when the number of packets of "2.5" corresponds to the reference delay by converting the reference delay into the number of packets (arrow Y11 in FIG. 10), the multiplexing device 10 compares the predicted value when the number of packets is "2" or "3" with the reference ratio of the flow.
  • [Scope of application] 11 is a diagram for explaining the scope of application of the first embodiment.
  • the multiplexing device 10 performs a delay condition determination for each output link of the multiplexing device 10.
  • the output link has a queue for high-priority traffic and a queue for low-priority traffic.
  • the delay condition determination unit 163 performs the determination process on the traffic accommodated in the high-priority queue.
  • the output is time-division multiplexing with a constant distribution or Ethernet approximated by an exponential distribution.
  • the multiplexing device 10 calculates a predicted value in units of packet rate ⁇ and judges the delay condition of the flow.
  • Fig. 12 is a diagram for explaining an accommodation request for a new flow.
  • the flow accommodated in the multiplexer 10 is represented by i, and the set of flows is represented as Gv .
  • the multiplexing device 10 When the multiplexing device 10 receives packets of a high-priority accommodated flow i (e.g., flows 1 and 2), it queues them in a high-priority queue of the output link i and outputs them, for example, by time division multiplexing, in a transfer order determined by the scheduler 142.
  • Each accommodated flow i declares a set of a flow packet rate ( arrival rate) declared value ⁇ i (first index), a first reference delay d i (second index), and a first reference ratio L i ( third index) at the time of an accommodation request R i (e.g., flows R 1 and R 2 ).
  • the node 20 When a node 20 requests the multiplexing device 10 to accommodate a new flow n, the node 20 presents an accommodation request Rn for the flow to request accommodation of the new flow n. By presenting the accommodation request Rn , the packet rate declared value ⁇ n , the first reference delay dn , and the first reference rate Ln of the flow n are declared to the multiplexing device 10.
  • the flow request analysis unit 161 analyzes the accommodation request Rn to obtain ⁇ n , dn , and Ln of the new flow n.
  • Fig. 13 is a diagram for explaining a method for calculating the predicted value of the delay excess packet ratio (predicted value).
  • the output interface of the multiplexing device 10 is time division multiplexing ( Figure 13).
  • the packet arrival process of the flow is assumed to be a Poisson process. It has been reported that the process in which request-response type communication occurs can be approximated by a Poisson process. Therefore, the size of the high priority queue of the multiplexing device 10 is K, and the residence time of a packet in the multiplexing device is expressed by the M/G/1/K model.
  • ⁇ j is the probability that there are j packets in the system at the boundary of a slot during time-division transmission.
  • the number of packets in the system is the sum of the number of packets being transmitted and the number of packets waiting in the high-priority queue.
  • a j is the probability that j packets occur within a time slot of time-division transmission.
  • dB(t) in equation (3) is the density function of the probability that the packet transmission time is t.
  • D max ( max[d i
  • i ⁇ G v ]) is the maximum reference delay specified by a flow.
  • K is the high-priority queue size, which indicates that K packets can be accommodated in the queue.
  • ⁇ j (1 ⁇ j ⁇ D max ) is calculated using equation (4), where ⁇ j is the probability that there are j packets in the system at the time of the slot boundary.
  • Reference 2 “Fundamentals of queuing theory 5th edition”, Willey, pp.277-278, 2018.
  • Reference 3 J. Smith, “M/G/c/K blocking probability models and system performance”, Performance Evaluation, vol. 52, Issue 4, pp.
  • Aj is the probability that j new packets arrive during packet forwarding.
  • Aj is expressed by formula (6).
  • Aj is expressed by formula (3).
  • Equation (7) uses equation (7) to calculate ⁇ ′ j (1 ⁇ j ⁇ D max ) , which is the probability in M/G/1/K that a packet arriving at a multiplexer and queued without being dropped will see j packets waiting at the device upon arrival.
  • pj (1 ⁇ j ⁇ Dmax ) is calculated using equation (8).
  • pj is the probability that there are j packets in the multiplexing device 10 when the packets arrive at the device.
  • pj corresponds to the predicted value (predicted value of the proportion of packets exceeding the reference delay), which is the sixth indicator.
  • pK is calculated using equation (9).
  • pK is the blocking probability due to queue overflow in M/G/1/K.
  • s2 is the variance of the service time, which is 0 in the case of a constant distribution.
  • Equation (10) is based on Little's rule.
  • fitting statistical data using the least squares method of machine learning may be applied as a method for calculating predicted values.
  • the delay for each packet is measured, and the proportion of packets for each delay is calculated.
  • the parameters of an exponential function or quadratic function for calculating an approximation of the excess delay rate are estimated using statistical methods (least squares method, machine learning methods), and used to calculate an approximation of the excess delay rate.
  • Fig. 14 is a flow chart showing the processing procedure executed by the multiplexing device 10 shown in Fig. 3.
  • the multiplexing device 10 receives a flow accommodation request from the node 20 (step S11).
  • the determination unit 16 obtains the flow packet rate declared value ⁇ n , the first reference delay d n , and the first reference rate L n from the accommodation request R n for the new flow n (step S12).
  • the determination unit 16 obtains the multiplexing target interface and the high-priority queue size of the interface (step S13).
  • the determination unit 16 When the determination unit 16 has accommodated the requested new flow, it performs a determination process to determine whether the new flow and the already accommodated flows satisfy the delay condition (step S14).
  • step S15 if the determination unit 16 determines that the delay condition is satisfied (step S15: Yes), the accommodation management unit 18 accepts the flow accommodation request (step S16) and accommodates the new flow.
  • step S15 If the determination unit 16 determines that the delay condition is not satisfied (step S15: No), the accommodation management unit 18 rejects the flow accommodation request (step S17).
  • step S14 the determination process (step S14) will be described with reference to a flowchart shown in FIG.
  • the decision unit 16 calculates a predicted value pj of the excess delay packet ratio for each reference delay j from the sum ⁇ of the declared packet rate values of packets after accommodating the new flow n, using calculation method 1 or calculation method 2 (step S21).
  • the determination unit 16 compares the blocking probability pk based on the queue size with a first reference ratio L i for which the blocking probability pk is a required condition, and determines whether there is a flow that requires a second reference ratio L i that is lower than the blocking probability pk (step S22).
  • step S22 If there is a flow that requests a first reference rate L i that is lower than the blocking probability p k (step S22: Yes), the decision unit 16 decides that the delay condition is not satisfied (step S23).
  • the determination unit 16 compares the second reference ratio L i of the flow i having the reference delay j with the calculated predicted value P, and determines whether there is a flow having a first reference ratio L i that is lower than the predicted value P (step S25).
  • step S25 If there is a flow having a second reference ratio L i that is lower than the predicted value P (step S25: Yes), the determination unit 16 determines that the delay condition is not satisfied (step S23). In the case of the first embodiment, if there is even one flow having a second reference ratio L i that is lower than the predicted value P, the determination unit 16 determines that the delay condition cannot be satisfied.
  • step S26 If there is no flow having a first reference ratio L i that is lower than the predicted value P (step S25: No), it is determined that the delay condition is satisfied (step S26). In this case, even if the new flow n is accommodated, the determination unit 16 determines that the delay condition can be satisfied for the new flow n and all of the accommodated flows.
  • the determination unit 16 performs the determination process using the excess reference delay management table shown in FIG. 16.
  • FIG. 16 is a diagram showing an example of the data configuration of the excess reference delay management table.
  • the flow information management unit 17 manages and updates the data.
  • the multiplexing device 10 has table data that stores the values of each index used for the judgment process for each reference delay.
  • the accommodation request R i,j the declared value ⁇ i,j of the flow packet rate, the first reference delay d i,j , and the first reference rate L i,j are stored.
  • the subscripts i,j of each index of the request data indicate that it is a request of the jth network with the reference delay i.
  • Flow information deletion process The following describes the process performed when a flow release request is received from the node 20.
  • Fig. 17 is a flowchart showing the procedure of the flow information removal process.
  • the multiplexing device 10 When the multiplexing device 10 receives a flow release request from a node 20 (step S31), the multiplexing device 10 obtains the arrival rate, first reference delay, and first reference ratio of the flow to be released from the flow release request. The multiplexing device 10 then deletes the flow information related to the flow requested to be released from, for example, the determination data 121 (for example, the table in FIG. 16) (step S32), and releases the accommodation of the flow requested to be released.
  • the determination data 121 for example, the table in FIG. 16
  • the judgment unit 16 allows the accommodation of a new flow only if the new flow and all flows already accommodated satisfy the delay condition, based on multiple indicators, namely the first to third indicators that each flow has as attributes and the fourth to sixth indicators acquired by the multiplexing device 10.
  • the determination unit 16 calculates the predicted value of the excess delay packet ratio (prediction value) (sixth indicator) for each flow for each reference delay j based on the first to third indicators that each flow has as attributes, and the fourth indicator, and compares it with the second reference ratio for each flow. Then, the multiplexing device 10 allows the accommodation of a new flow if the second reference ratios for the new flow and for flows already accommodated exceed the predicted values. In contrast, the multiplexing device 10 rejects the accommodation request for a new flow if there is a flow for which the second reference ratio does not exceed the predicted value.
  • prediction value prediction value
  • the multiplexing device 10 therefore compares the delay conditions, which differ for each flow, with an index calculated from the traffic volume of the flows passing through the multiplexing device 10 when a new flow is accommodated, and allows the new flow to be accommodated if the delay conditions are met for all of the new flow and the flows already accommodated.
  • the multiplexing device 10 is able to accommodate a new flow while taking into account the delay conditions, which differ for each flow.
  • the multiplexing device 10 can handle cases where each flow has a different judgment index, and can determine whether to accommodate a new flow based on multiple judgment indexes.
  • the multiplexing device 10 determines whether to accommodate the new flow based on the combination of the multiple combinations that has the strictest forwarding conditions. For example, the combination of the strictest conditions is the combination with the smallest maximum value of the bandwidth area that satisfies the conditions. This is because the bandwidth area that is actually used is often the smallest.
  • the predicted value monotonically decreases as the reference delay increases. Therefore, when the judgment unit 16 checks to ensure that the predicted value does not exceed the delay condition, it checks the delay condition in order starting from the largest reference delay.
  • delay conditions with different reference delay exceeding packet ratios for each reference delay.
  • the minimum exceeding ratio the delay condition with the smallest reference delay exceeding packet ratio
  • the condition with the smallest excess percentage is satisfied. If the minimum excess percentage of a delay condition with a smaller reference delay (for example, a delay condition with a reference delay of "7" or "8") is greater than the aforementioned minimum excess percentage, the smaller delay condition is automatically satisfied.
  • the minimum excess percentage of the delay condition with the smaller reference delay is greater than the minimum excess percentage of the delay condition with the larger reference delay.
  • the current bandwidth utilization meets the condition that the percentage of packets waiting in the queue for 8 packets or more is 30% or less. In this case, the percentage of packets waiting in the queue for 7 packets or more is 30% or less. Therefore, since this is below the minimum excess percentage of 40% for the delay condition of reference delay "7", the process of determining the delay condition of reference delay "7" can be skipped.
  • [Search process] 18 is a flowchart showing a procedure of a process of searching for a reference delay value that can be skipped.
  • a reference delay value that can be skipped is searched for, thereby shortening the determination process.
  • the determination unit 16 checks whether D ⁇ minimum excess ratio at reference delay i ⁇ (step S44).
  • ⁇ j in formula (4) can be written as a function of the bandwidth utilization rate, as shown in formula (15) (described later). Since the reference delay exceeding packet proportion predicted value (predicted value) is a linear function of ⁇ j , when the predicted value and the reference delay are given, the corresponding bandwidth utilization rate can be uniquely obtained. The same can be said even if the predicted value is replaced with the reference delay exceeding packet proportion of the flow.
  • the delay conditions are expressed in terms of bandwidth utilization, the delay conditions are sorted in order of bandwidth utilization, and if there is a delay condition (expressed as bandwidth utilization) that is lower than the bandwidth utilization calculated from the actual traffic, it is clear that the condition cannot be met.
  • Figure 19 is a diagram explaining how to check whether the delay condition is met.
  • the determination unit 16 converts the delay conditions and the ratio of packets exceeding the reference delay of the flow into corresponding bandwidth utilization rates, and sorts them in ascending order of bandwidth utilization rates (upper part of Figure 19).
  • the packet rate declared value is converted to a bandwidth utilization rate.
  • the determination unit 16 compares the bandwidth utilization rate based on the converted declared value with the minimum bandwidth utilization rate among the bandwidth utilization rates corresponding to the delay conditions.
  • the bandwidth utilization rate based on the packet rate declared value is "0.79", and there is a delay condition (reference delay "8" in Figure 19) that falls below this bandwidth utilization rate. Therefore, since it has been confirmed that the flow of this packet rate declared value does not satisfy the delay condition, the determination unit 16 rejects the accommodation request for this flow ((1) in Figure 19).
  • the multiplexing device may further notify the flow that was refused accommodation of the standard delay excess packet ratio that can be accommodated (first standard ratio), and may present the flow setter via the node 20 with material for considering changing the presented packet ratio.
  • the multiplexing device calculates the maximum packet rate declared value for a flow that has been refused accommodation, which satisfies the delay condition of the accommodated flow, and presents to the node 20 a packet rate declared value that is determined to be acceptable for accommodation based on the calculated maximum packet rate declared value.
  • FIG. 20 is a diagram showing another example of the configuration of a multiplexing device according to the second modification of the first embodiment.
  • the flow management unit 15A of the control unit 13A further includes a rate presentation unit 19.
  • the rate presentation unit 19 calculates the maximum packet rate declaration value that satisfies the delay condition of the accommodated flow. Based on the calculated maximum packet rate declaration value, the rate presentation unit 19 notifies the node 20, which is the origin and/or controller of the flow that has been determined to be denied accommodation, of the packet rate declaration value that is determined to be permitted accommodation.
  • the rate suggestion unit 19 searches for a rate at which the second reference ratio exceeds a predicted value for all flows after the new flow has been admitted to the multiplexing device 10, while gradually increasing or decreasing the rate from the arrival rate of the new flow declared in the admission request, and notifies the source of the admission request for the new flow (e.g., node 20) of the found rate.
  • the rate presentation unit 19 also calculates the standard delay exceeding packet ratio that can be accommodated (first standard ratio) for the flow that was refused admission.
  • the rate presentation unit 19 notifies the node 20, which is the origin and/or controller of the flow that was refused admission, of the standard delay exceeding packet ratio that can be accommodated (first standard ratio), and presents a consideration for changing the packet ratio.
  • [Processing Procedure] 21 is a flowchart showing a processing procedure of a process according to Modification 2 of Embodiment 1. After rejecting a flow accommodation (step S51), the determination unit 16 determines whether or not a flow that does not satisfy the delay condition is a newly accommodated flow (step S52).
  • the predicted value calculation unit 162 calculates the predicted value of the standard delay exceeding packet ratio (predicted value) for the standard delay of this new flow based on the total packet rate ⁇ after accommodating the new flow (step S53).
  • the multiplexing device 10A presents the calculated predicted value to the node 20 as the accommodable standard delay exceeding packet ratio (first standard ratio) (step S54).
  • step S52 if the flow that does not satisfy the delay condition is not a newly accommodated flow (step S52: No), the rate presentation unit 19 searches for a maximum packet rate declaration value that satisfies the delay conditions of the accommodated flows and the new flow (step S55).
  • the rate presenting unit 19 presents to the node 20 the difference between the found maximum packet rate declared value and the packet rate declared value of the accommodated flow as the maximum packet rate that the multiplexing device 10A can accommodate (step S56).
  • the multiplexing device 10A may present to the node 20 the maximum packet rate declared value that satisfies the delay condition of the accommodated flow, and perform the determination process of step S13 if the declared rate of the new flow satisfies the maximum packet rate declared value.
  • FIGS. 22 and 23 are flowcharts showing the processing steps of other processes related to Variation 2 of Embodiment 1.
  • the flow management unit 15A deletes the flow information (step S61).
  • the rate presentation unit 19 calculates the maximum packet rate declaration value that satisfies the delay condition of the accommodated flow (step S62).
  • the rate presentation unit 19 notifies the node 20, which is the origin and/or controller of the flow, of the maximum packet rate declaration value (step S63), and ends the process.
  • the determination unit 16 determines whether the packet rate declaration value of the new flow is higher than the value calculated in step S62 (maximum packet rate declaration value) (step S64).
  • step S64 If the packet rate declaration value of the new flow is higher than the value calculated in step S62 (step S64: Yes), the determination unit 16 rejects the flow accommodation request of the new flow (step S65).
  • step S66 the determination unit 16 executes the same determination process as step S13 shown in FIG. 14, thereby determining whether or not to permit the accommodation request of this new flow. Note that, similar to FIG. 14, the multiplexing device 10A executes step S15 or step S16 after completing the process of step S13.
  • FIG. 24 is a diagram for explaining the calculation process of the maximum packet rate declared value.
  • the assumptions for the calculation of the maximum packet rate declared value are as follows. First, the rate calculation is performed discretely. Second, the adjustment unit (N) is, for example, in units of 100 Mbps or 1 G. Hereinafter, when the unit is 100 Mbps, adding 500 Mbps is described as adding 5 units.
  • the rate suggestion unit 19 increases the packet rate by N units from the starting packet rate, and sets the rate that initially satisfies the delay condition as the initial value ((1) in FIG. 24).
  • the starting packet rate is the rate that does not satisfy the delay condition when the rate is limited.
  • the maximum packet rate is the minimum value of the contracted rate that satisfies the delay condition when the rate is limited.
  • FIG. 24 (1) shows an example in which the packet rate is increased by 2N units from the starting packet rate, as indicated by the arrow Y21.
  • the rate presentation unit 19 then evaluates the delay conditions when the input packet rate is a value that is N/2 units lower than the initial value, as indicated by arrow Y22 ((2) in FIG. 24). If the delay conditions are satisfied, the rate presentation unit 19 sets the value that is N/2 units lower than the initial value as the provisional value of the maximum packet rate.
  • the rate display unit 19 sets the initial value as the provisional value.
  • the multiplexing device 10A narrows the search width to N/4 (arrow Y23), N/8 (arrow Y24), and so on. If the rate display unit 19 can find a provisional value that does not satisfy the delay condition when reduced by even one unit, it sets that value as the maximum flow rate ((3) in FIG. 24).
  • the rate presentation unit 19 also performs a similar calculation when lowering the contract rate.
  • the initial value is the contract rate that does not satisfy the delay condition first when lowered by N units.
  • a rate limit (limiting process) is performed to limit the output rate of the flow to the target interface to the contract rate. Also, in the second embodiment, when the traffic dynamically increases and the delay condition of the accommodated flow cannot be satisfied, a flow packet rate that can satisfy the delay condition is calculated and presented to the node 20.
  • FIG. 25 and 26 are diagrams for explaining an overview of the multiplexing device 210 (transfer device) according to the second embodiment.
  • Fig. 25 and Fig. 26 for example, a case where the multiplexing device 210 activates a rate limit will be explained.
  • the multiplexing device 210 stores the contract rate of the flow as an index for each flow.
  • the multiplexing device 210 calculates a predicted value at the timing given a delay condition-related index from the amount of output data to the output interface of the monitored flow, and performs a determination process regarding the delay condition.
  • the multiplexing device 210 monitors the traffic volume of flows that actually pass through the multiplexing device 210, and obtains the arrival rate of the flows that actually pass through the multiplexing device 210 (actual traffic arrival rate) for each output link based on the output interface and the measurement results of arriving packets for each flow, as a seventh indicator.
  • the multiplexing device 210 then calculates, for each accommodated flow, a predicted value (predicted value) of the standard delay exceeding packet ratio based on the actual traffic arrival rate for each reference delay, as an eighth indicator. Based on the predicted value, the multiplexing device 210 determines whether the accommodated flow satisfies the delay condition for each flow.
  • the process for determining the delay condition is the same as the process of the same name in embodiment 1.
  • the multiplexing device 210 compares the second reference rate (rate of packets exceeding the reference delay) with the predicted value, which is the eighth indicator, for each second reference delay (reference delay) for each accommodated flow. If the predicted value exceeds the second reference rate for this flow ( Figure 25), the multiplexing device 210 determines that this flow does not satisfy the delay condition and that the traffic arriving at the device has increased (Figure 26 (1)). Note that in Figure 26, the thickness of the rate is used to diagrammatically indicate the magnitude of the rate.
  • the multiplexing device 210 implements rate limiting ((2) in FIG. 26).
  • Rate limiting is a process in which, for example, when the multiplexing device 210 accommodates flows F1 and F2, the transfer rates to the output interface for arriving packets of flows F1 and F2 are limited to the contracted rates of flows F1 and F2, respectively.
  • flow F2 which had been transferred at a rate exceeding the contracted rate B2, is limited to the contracted rate B2 of flow F2.
  • the multiplexing device 210 presents the user of flow F2 with rate B2', which is higher than the current contracted rate B2, as the flow rate at the time of rate limiting ((3) in FIG. 26).
  • rate B2' which is higher than the current contracted rate B2
  • the multiplexing device 210 negotiates with the user the packet output rate for each flow.
  • the flow rate is determined by the contract with the user, and since the higher the contracted rate (bandwidth), the higher the usage fee, the more expensive it will be, the multiplexing device 210 calculates the optimal contracted rate and presents it to the user.
  • FIG. 27 is a diagram showing an example of a configuration of a multiplexing device 210 according to embodiment 2.
  • the multiplexing device 210 has a control unit 213 having the same functions as the control unit 13 instead of the control unit 13 shown in Fig. 10.
  • the control unit 213 has a flow management unit 215 further including a rate presenting unit 219 (presenting unit), a flow information analysis unit 220 (acquisition unit), and a rate limiting unit 221 (limiting unit).
  • the predicted value calculation unit 162 performs the same predicted value calculation process as in embodiment 1, regarding the flow to be processed as all flows already accommodated by the multiplexing device 210, and replacing the sum ⁇ of the packet arrival rate declaration values after accommodating the new flow with the actual traffic arrival rate ⁇ . In this way, the predicted value calculation unit 162 calculates the predicted value, which is the eighth indicator.
  • Whether the delay condition is satisfied i.e., whether the predicted value, which is the eighth indicator, exceeds the second reference rate, is determined by the delay condition determination unit 163 performing the same determination process as in the first embodiment, with all flows accommodated by the multiplexing device 210 as the determination targets.
  • the delay condition is expressed as a bandwidth utilization rate
  • the procedure shown in FIG. 18 is not necessary, as in the first embodiment, and the flow packet rate declaration value described using FIG. 19 can be replaced with the actual traffic rate.
  • the rate presentation unit 219 calculates the optimal contract rate for the flow accommodated by the multiplexing device 210, and notifies the source of the transmission rate for this flow (e.g., node 20). For example, the rate presentation unit 219 calculates the optimal contract rate for a flow that does not satisfy the delay condition.
  • the rate presentation unit 219 determines whether the delay condition of the flow for which the contract rate is to be calculated is satisfied by gradually increasing or decreasing the rate from the current contract rate, and searches for a rate that satisfies the delay condition of the flow. In other words, the rate presentation unit 219 searches for a rate at which the second reference ratio exceeds the predicted value, which is the eighth index, for all traffic flows accommodated by the multiplexing device 210, while gradually increasing or decreasing the rate from the current contract rate of the flow for which the contract rate is to be searched, and notifies the source of the transmission rate of the flow for which the search is to be performed of the found rate.
  • the flow information analysis unit 220 obtains the arrival rate (actual traffic arrival rate) of the flow that actually passes through the multiplexing device 210 based on the measurement results of the output interface and the amount of arriving packets for each flow by the packet measurement unit 143.
  • the rate limit unit 221 executes a rate limit on all accommodated flows. Note that the rate limit may be executed when even one accommodated flow does not satisfy the delay condition, or may be executed when there are a predetermined threshold or more of accommodated flows that do not satisfy the delay condition.
  • FIG. 28 is a flowchart showing the procedure of the process executed by the multiplexing device 210 shown in FIG.
  • the flow information analysis unit 220 acquires the actual traffic rate ⁇ (step S201).
  • the determination unit 16 calculates a predicted value (eighth index) of the delay excess packet ratio for the queuing delay value incurred by the multiplexing device 210 for each accommodated flow, and performs a determination process to determine whether each flow satisfies the delay condition (step S202).
  • the process procedure for calculating the predicted value and the process for determining the delay condition are the same as the process procedure shown in FIG. 15, and it is sufficient to replace the flow packet rate declared value ⁇ i with the measured actual traffic rate ⁇ of each flow i.
  • a reference value search that can be skipped may be performed as in the case shown in Fig. 18.
  • the flow packet rate declared value ⁇ i may be replaced with the measured actual traffic rate ⁇ of each flow i.
  • step S203 If all accommodated flows satisfy the delay condition (step S203: Yes), the multiplexing device 210 returns to the processing of step S201.
  • step S203 If all of the accommodated flows do not satisfy the delay condition (step S203: No), the rate limit unit 221, for example, performs rate limit processing on all of the accommodated flows (step S204).
  • the rate presenting unit 219 performs a contract rate presenting process to calculate the optimal contract rate for a flow that does not satisfy the delay condition and notify the node 20 of this flow (step S205).
  • FIG. 28 is merely an example of the timing of the contract rate presentation process.
  • the contract flow rate presentation process is executed periodically.
  • the contract flow rate presentation process is executed when a specified event occurs.
  • the rate presentation unit 219 calculates the excess delay packet ratio based on the seventh indicator, the actual traffic arrival rate, and the contract rate for the accommodated flow, and when it detects a traffic flow in which the calculated excess delay packet ratio exceeds the second reference ratio, it searches for the contract rate of the detected traffic flow.
  • the flow information analysis unit 220 measures the packet arrival rate of the flow to be presented (step S211).
  • the rate presentation unit 219 calculates the measured rate and the excess delay packet ratio for the flow to be presented (step S212).
  • the multiplexing device 210 determines whether the delay excess packet ratio calculated in step S212 exceeds the second reference ratio for the flow to be presented (step S213).
  • the rate presenting unit 219 also calculates the excess delay packet ratio for the flow to be presented when the contract rate is lowered by one unit (step S214). It then determines whether the excess delay packet ratio calculated in step S214 is lower than the second reference ratio for the flow to be presented (step S215).
  • step S212 If the excess delay packet ratio calculated in step S212 does not exceed the second reference ratio of the flow to be presented (step S213: No), or if the excess delay packet ratio calculated in step S214 does not fall below the second reference ratio of the flow to be presented (step S215: No), the multiplexing device 210 returns to steps S212 and S214.
  • step S212 If the delay excess packet ratio calculated in step S212 exceeds the second reference ratio of the flow to be presented (step S213: Yes), or if the delay excess packet ratio calculated in step S214 falls below the second reference ratio of the flow to be presented (step S215: Yes), the rate presenting unit 219 searches for a proposed contract rate for the flow to be presented (step S216). The rate presenting unit 219 presents the calculated proposed contract flow rate to the node 20 (step S217).
  • [Calculation of proposed contract rate] 30 and 31 are diagrams for explaining the calculation of the proposed contract flow rate.
  • the rate presentation unit 219 searches for the minimum contract rate that satisfies the delay condition at the rate limit as the proposed contract rate.
  • the adjustment unit (N) is, for example, in units of 100 Mbps or 1 G.
  • adding 100 Mbps will be described as adding 5 units.
  • the rate offering unit 219 increases the contracted rate by N units, and sets the rate that first satisfies the delay condition as the initial value ( Figure 31 (1)). In this case, the current contracted rate does not satisfy the delay condition when the rate is limited.
  • the final offered contracted rate is the smallest contracted rate that satisfies the delay condition when the rate is limited.
  • Figure 31 (1) shows an example in which the packet rate is increased by 2N units from the starting packet rate, as indicated by arrow Y201.
  • the rate presentation unit 219 then evaluates the delay conditions when the contract rate is set to a value N/2 units lower than the initial value, as indicated by arrow Y202 ((2) in FIG. 31). If the delay conditions are met, the multiplexing device 210 sets the provisional contract rate to a value N/2 units lower than the initial value.
  • the rate presentation unit 219 sets the initial value as the provisional value. For the flow to be presented, the rate presentation unit 219 narrows the search width to N/4 (arrow Y203), N/8 (arrow Y204), and if it can find a provisional value that does not satisfy the delay condition when reduced by even one unit, it sets that value as the presented contract rate ((3) in Figure 31).
  • the rate presentation unit 219 also performs a similar calculation when lowering the contract rate.
  • the initial value is the contract rate that does not satisfy the delay condition first when lowered by N units.
  • Fig. 32 is a flowchart showing the procedure of the rate limit execution process shown in Fig. 28.
  • the rate limit unit 221 calculates the maximum value of the actual packet arrival rate of the multiplexing device 210 that satisfies the delay conditions (second reference delay, second reference ratio) of all flows (step S221).
  • the calculation method is the same as the method shown in Figures 30 and 32.
  • the flow information analysis unit 220 acquires the actual packet arrival rate at the multiplexing device 10 (step S222).
  • the rate limit unit 221 determines whether the actual packet arrival rate acquired in step S222 exceeds the maximum value of the actual packet arrival rate calculated in step S221 (step S223).
  • step S223 If the actual packet arrival rate exceeds the maximum actual packet arrival rate (step S223: Yes), the rate limiter 221 limits the transfer rate to the output interface for arriving packets of the flow to the contracted rate for all flows (step S224) (see (2) in FIG. 26).
  • step S223 if the actual packet arrival rate does not exceed the maximum value of the actual packet arrival rate (step S223: No), the rate limit unit 221 returns to step S222.
  • the multiplexing device 210 monitors the actual traffic volume and measures the actual arrival rate of the multiplexing device 210 for each output link, thereby calculating a predicted value of the ratio of packets exceeding the reference delay (predicted value) for each flow and for each reference delay.
  • the multiplexing device 210 judges whether or not the accommodated flows satisfy the delay conditions of each flow based on the predicted value. If there is a flow that does not satisfy the delay conditions, the multiplexing device 210 executes, for example, a rate limit for all flows.
  • the multiplexing device 210 it is possible to dynamically control the execution of the rate limit in response to changes in the actual traffic volume. For example, according to the multiplexing device 210, even if there is a sudden increase in traffic when there is a margin of transmission capacity, it is possible to provide an appropriate delay guarantee and maintain communication quality.
  • the multiplexing device 210 can present the optimal rate to the flow setter for flows that do not satisfy the delay conditions, allowing them to change to an appropriate rate and facilitating flow accommodation.
  • the optimal rate is presented when a specific event is detected, so the flow setter can be presented with the optimal rate in a timely manner.
  • the delay conditions are protected by providing bandwidth guarantees in the order of strictest delay conditions.
  • the strictness of the delay conditions is expressed as a "marginal utilization rate" and processing is performed.
  • the rate limit unit 221 provides bandwidth guarantees to guarantee transfer at the contract rate in the order of strictest delay conditions, based on the value of the marginal utilization rate derived from the second reference ratio and the reference delay of the flow.
  • the marginal utilization rate is the maximum bandwidth utilization rate for a flow that satisfies the flow's delay condition.
  • Bandwidth utilization rate is the ratio of the output link arrival packet rate to the flow's transmission bandwidth, and is the value obtained by dividing the arrival rate by the transmission bandwidth.
  • Figure 33 is a diagram explaining the limit utilization rate.
  • the vertical axis of the graph shown in Figure 30 is the reference delay, and the horizontal axis is the predicted value of the excess delay packet ratio.
  • the excess delay packet ratio is "0.35" when the reference delay is "3" ( Figure 33 (1)).
  • the delay conditions for flow 1 are the reference delay of "3” and the excess delay packet ratio of "0.35", so the limit utilization rate is "0.85" ( Figure 33 (2)).
  • the marginal utilization rate ⁇ i of a flow i is defined as the packet arrival rate ⁇ i of the flow divided by the transfer rate ⁇ i of the flow.
  • the flow delay condition can be expressed in terms of ⁇ i as follows: In the case of M/D/1/K, A j (Equation (13)) allows ⁇ j to be written as a function of link utilization ⁇ (Equation (14)) from Equation (4).
  • is the mean packet transmission time, which is the slot length in the case of M/D/1.
  • ⁇ j can be written as a function of ⁇ in a similar manner. Since A j (Equation (6)) and ⁇ j (Equation (4)) are equations in which ⁇ is a variable, the predicted value can also be calculated once ⁇ is determined.
  • the predicted value of the ratio of packets exceeding the standard delay is a linear function of ⁇ j (see formula (10)). Therefore, when the predicted value and the standard delay are given, the corresponding ⁇ is uniquely determined. Since the same thing can be said even if the predicted value is replaced with the ratio of packets exceeding the standard delay of the flow, this relationship is utilized.
  • the first and second processes are performed in advance to prepare reference utilization data.
  • the value of the link utilization ⁇ is discretized.
  • the link utilization ⁇ is set to 0, 0.01, 0.02, ..., 0.98, 0.99.
  • the predicted value calculation unit 162 calculates the reference delay exceeding packet ratio predicted value (predicted value) for each discretized value.
  • the third and fourth processes are performed.
  • the new flow i is accommodated.
  • the multiplexing device 210 accepts the reference delay and reference ratio of the new flow i as delay conditions.
  • a predicted value for the accepted reference delay is searched for, and the link utilization rate ⁇ value that provides the maximum predicted value that does not exceed the accepted reference rate is set as the limit utilization rate ⁇ i of flow i.
  • the predicted value (excess packet ratio predicted value) for a new flow when the reference delay is "3" is "0.34."
  • the value of ⁇ "0.46" that provides the predicted value of the new flow "0.34" is set as the limit utilization rate of this new flow.
  • the marginal utilization rate is calculated for each flow, and the bandwidth is guaranteed starting from the flow with the strictest marginal utilization rate, i.e., the flow with the lowest marginal utilization rate, thereby protecting the delay conditions.
  • rate limiting is not implemented for all flows, but rather, rate limiting is implemented starting from the flow with the strictest delay condition, thereby maintaining smooth transfer processing.
  • 35 and 36 are diagrams for explaining the process of determining whether a flow is subject to rate limiting.
  • the rate limiting unit 221 determines whether a flow is subject to rate limiting by using the limit utilization rate ⁇ i .
  • the rate limiting unit 221 performs a bandwidth guarantee to execute a rate limit so as to guarantee the transfer bandwidth of a flow that cannot satisfy the delay condition due to packets of other flows.
  • packet forwarding for a guaranteed flow is performed by outputting flow packets to the link in accordance with the contracted rate for each flow ( Figure 35). Guaranteed flows are accommodated in individual queues. And, as long as guaranteed flows comply with the contracted rate, they are given priority for link output over other flow packets.
  • packets for other flows are forwarded using the remaining bandwidth, excluding the contracted rate for the rate-limited flow.
  • the rate limiting unit 221 classifies the flows it accommodates into rate-limited (guaranteed) flows S and other flows T ( Figure 36). When a flow belonging to other flows T satisfies the following conditions, the rate limiting unit 221 designates this flow as a rate-limited flow.
  • the rate limit unit 221 determines the flow satisfying equation (15) as a new flow to be subject to rate limiting.
  • the rate limiting unit 221 uses the limit utilization rate ⁇ i of the target, the total packet rate ⁇ T , and the transfer bandwidth ⁇ T of the entire flows belonging to other T to determine whether or not each of the flows belonging to other T is a flow that is subject to rate limiting. This allows the rate limiting unit 221 to appropriately select flows with strict delay conditions as flows that are subject to rate limiting.
  • Rate limit release Furthermore, the rate limiter 221 may release the rate limit for each flow.
  • FIG. 37 is a diagram explaining the process of removing a rate limit target.
  • the rate limit unit 221 removes from the rate limit target those flows of rate limit target S that satisfy the delay condition even when controlled together with other flows belonging to T.
  • the rate limit unit 221 excludes this flow i from the rate limit targets and reduces the number of flows subject to rate control from 3 to 2.
  • rate limiting unit 221 determines whether or not the flow determined to be subject to rate limiting satisfies formula (15) as described above, thereby optimizing the number of flows subject to rate control.
  • a flow i belonging to a rate limit target S will be described.
  • a set of flows j ( ⁇ i > ⁇ j ) having a marginal utilization rate smaller than that of flow i is defined as Sstrict i .
  • a set of flows k ( ⁇ i ⁇ ⁇ k ) having a marginal utilization rate larger than that of flow i is defined as Sloose i . If there are multiple flows having the same marginal utilization rate as flow i, the set of these flows is defined as Sequal i .
  • the rate limiting unit 221 removes a flow i that is subject to rate limiting from the list of flows that are subject to rate limiting if the flow i satisfies the following conditions:
  • the rate limit unit 221 excludes flows that satisfy formula (16) from the rate limit targets.
  • the rate limit is triggered when the packet rates of all flows violate the delay conditions of any flow, and all flows are subject to rate limiting.
  • the rate limit (bandwidth protection) is triggered when the delay condition for each flow is violated in the bandwidth for other T flows, and the rate limit is only applied to flows that cannot satisfy the delay condition in the transmission bandwidth for other T flows.
  • the packet rate of all flows violates the delay condition of any flow, so the violated flow cannot provide the communication quality required by the application.
  • a rate limit is applied to restrict the rate to the contract rate, so that communication quality can be reliably maintained.
  • the rate presenting unit 219 presents the contracted rate to the user by adding a margin ⁇ i to accommodate fluctuations in the actual packet rate of the flow i, that is, ⁇ i + ⁇ i , where ⁇ i is preset.
  • each process performed in the multiplexing device 10, 10A, 210 may be realized in whole or in part by a CPU and a program analyzed and executed by the CPU. Furthermore, each process performed in the multiplexing device 10 may be realized as hardware using wired logic.
  • [program] 38 is a diagram showing an example of a computer in which a program is executed to realize the multiplexing device 10, 10A, 210.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
  • the memory 1010 includes a ROM 1011 and a RAM 1012.
  • the ROM 1011 stores a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to a hard disk drive 1090.
  • the disk drive interface 1040 is connected to a disk drive 1100.
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example.
  • the video adapter 1060 is connected to a display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the programs that define each process of the multiplexing device 10 are implemented as program modules 1093 in which code executable by the computer 1000 is written.
  • the program modules 1093 are stored, for example, in the hard disk drive 1090.
  • a program module 1093 for executing processes similar to the functional configuration of the multiplexing device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-mentioned embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090.
  • the CPU 1020 reads the program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary and executes it.
  • the program module 1093 and program data 1094 may not necessarily be stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
  • the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a LAN (Local Area Network), WAN (Wide Area Network)).
  • the program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

多重化装置(10)は、第1の指標であるフローの到着レート、第2の指標である、順守すべき転送遅延基準値である第1の基準遅延、第3の指標である第1の基準遅延超過パケット割合を含む新規フローの収容要求を受け付け、多重化装置(10)に新規フローを収容した後の全フローの到着レートの総量を第4の指標として、第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、多重化装置(10)における基準遅延ごとの基準遅延超過パケット割合の予測値を第6の指標として計算する予測値計算部(162)と、各トラヒックフローについて、第2の基準遅延ごとに設定された第2の基準遅延超過パケット割合が、予測値を上回るか否かを、第2の基準遅延ごとに判定する遅延条件判定部(163)と、第2の基準遅延超過パケット割合が予測値を上回る場合に、多重化装置(10)への新規フローの収容を許可する収容管理部(18)と、を有する。

Description

判定装置、判定方法及び判定プログラム
 本発明は、判定装置、判定方法及び判定プログラムに関する。
 AI(Artificial Intelligence)やVR(Virtual Reality)、AR(Augmented Reality)等のサービスが普及するにつれ、ユーザがサービスに要求する通信品質条件も多様化しつつある。また、サービスシステムの設計や構築を容易にするため、サービスごとに用意した仮想ネットワーク上でこれらのサービスを提供することが一般化してきた。
 これらの仮想ネットワークは、ネットワーク提供事業者のネットワークインフラの上で構築される。このとき、複数のネットワークトラヒックを同一リンク上に同時に転送しようとする状況が生じ、この状況が通信遅延を増加させる原因となる。
 例えば、ネットワークAのトラヒックとネットワークBのトラヒックとが同時にデータ転送装置(転送装置は、スイッチ、ルータ、光トランスポンダ、多重化装置など転送機能を有する装置を含む。)に到着し、同じ出力先リンクへと転送する場合を例とする。
 この場合、ネットワークBのトラヒックパケットが送信中である場合、転送装置は、後着したネットワークAのトラヒックパケットを待機させる。この待機時間により、ネットワークAのトラヒックの転送遅延が増加する。
 また、待機するパケットが増加する場合には、パケットロスも生じる。パケットバッファに保存できるデータのサイズは限られていることから、パケットが大量に到着し、バッファサイズを超える量のパケットを待機させようとする場合、当該パケットは廃棄されるためである。
 サービスごとに構築したネットワークには多様なトラヒックフロー(以降、フローとする)が流れており、それぞれ転送時の優先度が異なる。優先度が高いパケットと、優先度が低いパケットと、が同一リンクへと流入する場合、転送装置は、優先度が高いパケットを先に転送する。
 ただし、ネットワークの最優先フローを各ネットワークで有する場合、ネットワーク利用者を公平に扱うという観点から、それらのフローの扱いを公平にする必要がある。この場合、バッファ待機により各フローのパケットは、公平に遅延を被ることとなる。
 さらに、先述したパケット転送遅延とパケットロスとは、同一リンクを経由するトラヒックの増加に伴い、悪化する。
 したがって、無計画にサービス向け仮想ネットワークを多く収容すると、当該リンクを通過するトラヒック量は増加し、各ネットワークの最優先クラスが要求するパケット転送遅延とパケットロスを保証することができなくなる。
 現在、サービスの状況に応じて前述のネットワークの構成をスムーズに変更すべく、ネットワークの設定自動化機構が整備されつつある。このような機構では、サービス構成の設定ファイルを基に、関係するネットワーク設定やサービス向け処理ソフトウェアの起動及び/または停止などを、ネットワークインフラ事業者のネットワークインフラ上で行う。
 このような状況下で、新たなサービス設定に基づき構築したネットワークをインフラ事業者のネットワークに収容する際、収容済みネットワークが要求するパケット転送遅延とパケットロスとを保証することができる場合にのみ、当該ネットワークの収容を許可する仕組みが必要となる。
 代表的な方式として、呼受付制御(Call Admission Control)がある(例えば、非特許文献1参照)。この方式は、新たにフローを設定しようとするときに、その通過経路上の転送装置が、新規フローと既存収容済みフローとのトラヒック量をもとにバッファあふれによるパケットロスが発生しないよう新規フローの設定許可を出す。
D.Wetherall, S.Tanenbaum, "5 THE NETWORK LAYER", Computer network 5th edition, Pearson, 2010.
 しかしながら、非特許文献1記載の方式では、設定許可を出すための判定指標がバッファあふれ発生確率やリンク余剰帯域などの単一指標でしかなく、フローごとに異なる判定指標を有する場合には適用することが難しい。
 そこで、フローごとに異なる判定指標を有する場合に対応可能であって、複数の判定指標に基づいて新規フローの収容を判定できるフロー収容制御方式の構築が要望されている。
 本発明は、上記に鑑みてなされたものであって、トラヒックフローごとに異なる判定指標を有する場合に対応可能であって、複数の判定指標に基づいて新規フローの収容を判定することができる判定装置、判定方法及び判定プログラムを提供することを目的とする
 上述した課題を解決し、目的を達成するために、本発明の判定装置は、第1の指標であるトラヒックフローの到着レート、第2の指標である、順守すべき転送遅延基準値である第1の基準遅延、第3の指標である第1の基準遅延超過パケット割合を含む新規トラヒックフローの収容要求を受け付け、転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローの到着レートの総量を第4の指標として、前記第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、前記転送装置における基準遅延ごとの基準遅延超過パケット割合の予測値を第6の指標として計算する予測部と、各トラヒックフローについて、前記第2の基準遅延ごとに設定された第2の基準遅延超過パケット割合が、前記予測値を上回るか否かを、前記第2の基準遅延ごとに判定する判定部と、前記第2の基準遅延超過パケット割合が前記予測値を上回る場合に、前記転送装置への前記新規トラヒックフローの収容を許可する管理部と、を有することを特徴とする。
 本発明によれば、トラヒックフローごとに異なる判定指標を有する場合に対応可能であるフロー受付を制御することができる。
図1は、実施の形態1におけるネットワーク構成を示す図である。 図2は、実施の形態1におけるネットワーク構成を示す図である。 図3は、図2に示す多重化装置の転送処理を説明する図である。 図4は、図2に示す多重化装置の処理の概要を説明する図である。 図5は、図2に示す多重化装置の構成の一例を示す図である。 図6は、遅延条件の定義を説明する図である。 図7は、新規フロー収容判定の概要を説明する図である。 図8は、新規フロー収容判定の概要を説明する図である。 図9は、グラフを説明する図である。 図10は、基準遅延の計算を説明する図である。 図11は、実施の形態1の適用範囲を説明する図である。 図12は、新規フローの収容要求を説明する図である。 図13は、遅延超過パケット割合予測値の計算方法を説明するための図である。 図14は、図3に示す多重化装置が実行する処理の処理手順を示すフローチャートである。 図15は、図14に示す判定処理の処理手順を示すフローチャートである。 図16は、超過基準遅延管理テーブルのデータ構成の一例を示す図である。 図17は、フロー情報除去処理の処理手順を示すフローチャートである。 図18は、スキップできる基準遅延値の探索処理の処理手順を示すフローチャートである。 図19は、遅延条件の具備の確認方法を説明する図である。 図20は、実施の形態1の変形例2に係る多重化装置の構成の他の例を示す図である。 図21は、実施の形態1の変形例2に係る処理の処理手順を示すフローチャートである。 図22は、実施の形態1の変形例2に係る他の処理の処理手順を示すフローチャートである。 図23は、実施の形態1の変形例2に係る他の処理の処理手順を示すフローチャートである。 図24は、最大パケットレート申告値の計算処理を説明する図である。 図25は、実施の形態2に係る多重化装置の概要を説明する図である。 図26は、実施の形態2に係る多重化装置の概要を説明する図である。 図27は、実施の形態2に係る多重化装置の構成の一例を示す図である。 図28は、図27に示す多重化装置が実行する処理の処理手順を示すフローチャートである。 図29は、図28に示す契約レート提示処理の処理手順を示すフローチャートである。 図30は、提示用契約フローレートの計算を説明する図である。 図31は、提示用契約フローレートの計算を説明する図である。 図32は、図28に示すレートリミット実行処理の処理手順を示すフローチャートである。 図33は、限界利用率を説明する図である。 図34は、限界利用率の導出を説明する図である。 図35は、レートリミット対象の判定処理を説明する図である。 図36は、レートリミット対象の判定処理を説明する図である。 図37は、レートリミット対象の解除処理を説明する図である。 図38は、プログラムが実行されることにより、多重化装置が実現されるコンピュータの一例を示す図である。
 以下に、本願に係る判定装置、判定方法及び判定プログラムの実施形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施形態により限定されるものではない。
[実施の形態1]
[ネットワーク構成]
 実施の形態1におけるネットワーク構成について説明する。図1及び図2は、実施の形態1におけるネットワーク構成を示す図である。図1に示すように、実施の形態1では、例えば、Multiplexerを有する多重化装置を介して、バックボーンネットワークがWAN(Wide Area Network)のLAN(Local Area Network)通信が行われる。
 実施の形態1に係る転送装置は、同時出力できない出力先インタフェースに、バッファリングを使って転送タイミングを調整しながら、出力先インタフェースにパケットを出力する。転送装置として、多重化装置、スイッチ、ルータ、光トランスポンダが該当する。以降において、転送装置として、Multiplexerを有する多重化装置10を用いた例について説明する。
 多重化装置10は、トラヒックフロー(以降、フローとする)管理機能を有し、優先度に応じて、各フローのパケットを出力先インタフェースに転送する。高優先フローが複数存在する場合、高優先フローの優先度は全て同じとされ、ラウンドロビンなどのフローの公平性を重視したスケジューリングにより多重化され、転送用パスへと出力される。低優先フローは、高優先フローのパケットがある場合、高優先フローの出力後に、転送される。
 多重化装置10は、ノード20から、フロー収容要求を受けると、フロー収容要求の受理または棄却を判定する。ノード20は、例えば、ネットワーク装置管理などのコントローラや、フローの送信者側などのフロー設定実施ノードである。フロー収容要求は、コントローラ或いはデータリンク経由のインバウンドシグナリングメッセージに記載されている。ノード20は、フロー収容要求のほか、フロー解放要求を送信する。
[データ多重化と遅延]
 図3は、図2に示す多重化装置10の転送処理を説明する図である。多重化装置10は、Multiplexerを用いて、データの多重化を行う。
 多重化装置10は、複数のリアルタイムサービスを共有ネットワーク上で提供する際に、WANや光ネットワークなどのGW(ゲートウェイ)などで複数のサービスフローを1パスに多重化して、出力する。多重化装置10は、波長多重通信、時分割多重通信等の光伝送技術を用いる。
 多重化装置10では、リアルタイムサービスに関するフローを全て高優先フローとし、サービストラヒックを公平に扱う前提で機能する。ただし、多重化装置10は、複数のパケットを並列転送できないため、同時到着パケットをキューで待機させる(図3の(1))。これにより、各フローのパケットは遅延を被る。
 遅延がランダムに発生すれば、ユーザの操作性が悪くなるとの知見がある。そこで、転送遅延が閾値を越えるパケットの割合が増えると対象物を操作しにくい状況は増えるであろうと想定される。そこで、多重化装置10では、指標の一つとして定めた遅延超過パケット割合の上限を守るようにフローの収容を制御することで、ユーザが操作しやすい環境を保持する。
 多重化装置10は、フローごとに異なる判定指標を有する場合であっても、複数の指標を基に多重化装置10に収容するフローを制限することで、フローの遅延条件を満たす。図4は、図2に示す多重化装置10の処理の概要を説明する図である。
 多重化装置10の収容フロー数が少ない通常時には、その分到着トラヒックが少ないため、キューイング遅延も短く、遅延を受けない(図4の(1))。これに対し、多重化装置10がフローを過収容する異常時には、到着トラヒックが増加し、キューイング遅延も増加して、遅延が生じる(図4の(2))。
 そこで、多重化装置10は、遅延条件を満たさない場合、フローの収容制限を行い、到着トラヒックを制限することで、キューイング遅延を抑制し、適正化する(図4の(3))。
[多重化装置]
 図5は、図2に示す多重化装置10の構成の一例を示す図である。多重化装置10は、通信部11、記憶部12及び制御部13を有する。
 通信部11は、通信インタフェースであり、出力先インタフェースにパケットを送信する。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部13(後述)との間の通信を行う。例えば、通信部11は、ノード20から送信されたフロー収容要求またはフロー解放要求を受信する。
 記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、多重化装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、判定用データ121及びフロー情報管理用データベース(DB)122を有する。
 判定用データ121は、遅延条件判定に使用する各指標(後述)や、フロー収容の際に実行する遅延条件判定を行うために使用する各種指標やデータを含む。
 フロー情報管理用DB122は、予測値計算プログラム1221及び条件判定プログラム1222を有する。なお、フロー情報管理用DB122は、外部装置が保持していてもよい。この場合、多重化装置10は、フロー情報管理用DB122のデータ取得用のインタフェースを有する。
 予測値計算プログラム1221は、第6の指標である遅延超過パケット割合の予測値(後述)を計算する際に使用されるプログラムである。条件判定プログラム1222は、遅延条件を満たすか否かを判定する際に使用されるアルゴリズムを含むプログラムである。
 制御部13は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部13は、パケット転送部14、及び、フロー管理部15(判定装置)を有する。
 パケット転送部14は、複数フローのパケットの転送制御を行う。パケット転送部14は、出力先決定部141、スケジュール部142、及び、パケット計測部143を有する。
 出力先決定部141は、各フローのパケットの出力先インタフェースを決定する。スケジュール部142は、優先度に応じて、各フローのパケットの転送順序を設定する。パケット転送部14は、出力先決定部141が決定した出力先インタフェースに、スケジュール部142が設定した転送順序に従って、各フローのパケットを転送する。スケジュール部142は、スケジュール部142は、各フローのパケットの転送に対するリミット機能も有してもよい。
 パケット計測部143は、各フローのパケットを計測し、各フローのパケットの入出力に関する統計情報を蓄積する。パケット計測部143は、出力インタフェース及びフローごとに、到着レート及び到着パケットのサイズ、量を計測する。
 フロー管理部15は、多重化装置10が収容するフローを管理する。フロー管理部15は、判定部16(判定装置)、フロー情報管理部17、収容管理部18、を有する。
 判定部16は、複数の指標を基に、多重化装置10が収容するフローごとに、各フローの遅延条件を満たすか否かを判定する。実施の形態1では、判定部16は、ノード20から収容を要求された新規フローを新たに収容した場合に、新規フロー及び収容済みのフローについて、遅延条件を満たすか否かを判定する。判定部16は、フロー要求解析部161、予測値計算部162、及び、遅延条件判定部163を有する。
 フロー要求解析部161は、フローの収容要求を受けた場合、このフローの収容要求を解析する。フロー要求解析部161は、フローの収容要求から、新たに収容を要求された新規フローにおける、到着レート(第1の指標)、新規フローの第1の基準遅延(第2の指標)、新規フローの第1の基準遅延超過パケット割合(以降、第1の基準割合とする)(第3の指標)を取得する。
 ここで、遅延条件の定義について説明する。図6は、遅延条件の定義を説明する図である。遅延条件の定義の1つ目は、このフローが順守すべき転送遅延基準値、すなわち、基準遅延である。遅延条件の定義の2つ目は、順守すべき転送遅延基準値を超える遅延の割合、すなわち、基準遅延超過パケット割合(基準割合)である。
 例えば、遅延条件が、遅延20msec以上のパケットが4個中1つまでである場合について説明する。図6の(1)の例では、超過遅延パケットが1つであるため。遅延条件を満たしている。これに対し、図6の(2)の例では、超過遅延パケットが2つであるため、遅延条件を満たさない。
 第2の指標である第1の基準遅延について説明する。第1の基準遅延は、遅延条件とともに、バッファ容量超え(バッファ溢れ)によるパケットロスを低減するためにバッファの容量に基づく情報(例えば、キュー溢れによるブロッキング確率)を用いて設定される指標である。第1の基準遅延は、例えば、1パケット単位である。
 第3の指標である第1の基準割合は、フローの第1の基準遅延を超える遅延を被るパケットの割合であり、遅延条件とバッファ容量に基づく情報とを基に設定される指標である。第1の基準割合は、第2の指標である基準遅延ごとに設定される。なお、フロー要求解析部161は、フローの解放要求の場合も同様に、解放を要求されたフローにおける第1~第3の指標を取得する。
 フロー要求解析部161は、フローの識別情報に対応付けて、第1~第3の指標を判定用データ121に格納する。フロー要求解析部161は、各フローの第1の指標をフローの識別情報に対応付けて、判定用データ121に蓄積する。実施の形態1では、多重化装置10に新規フローを収容した後の全フローの到着レートの総量を第4の指標とする。フロー要求解析部161は、各フローの第2の指標を、第5の指標として、フローの識別情報に対応付けて、判定用データ121に蓄積する。フロー要求解析部161は、各フローの第3の指標を、フローの識別情報に対応付けて、第2の基準遅延超過パケット割合(基準割合)として、第2の基準遅延ごとに、判定用データ121に蓄積する。収容要求に含まれる基準割合を第1の基準割合とし、フロー要求解析部161が取得し、判定用データ121に、フローの識別情報と対応付けて格納した基準割合を、第2の基準割合として説明する。
 予測値計算部162は、収容済みフロー及び新規フローごとに、第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、遅延超過パケット割合予測値(以降、予測値とする)を計算する。予測値は、第6の指標である。
 ここで、第4の指標は、収容している全フローのフローパケット申告値(到着レート)の総量となる。第5の指標は、多重化装置10における、各フローの守るべき転送遅延基準値、すなわち、第2の基準遅延である。第2の指標及び第5の指標は、多重化装置10のバッファの容量を基に設定される。第3の指標、第2の基準割合及び第6の指標は、前記バッファの容量超えによるパケットロスの割合を示す。
 また、多重化装置10は、多重化装置10に収容された各フローについて、第2の基準遅延(例えば、基準遅延1,2,3,・・・)ごとに設定された第2の基準遅延超過パケット割合(第2の基準割合)をそれぞれ保持している。第2の基準割合は、例えば、多重化装置10の遅延条件と多重化装置10のバッファ容量に基づく情報とを基に設定される。多重化装置10は、閾値がmsec単位の遅延条件を有し、例えば、各フローについて、基準遅延ごとに、遅延条件を超過するパケットの割合(基準遅延超過パケット割合)の許容値を、第2の基準割合として計算してもよい。
 第6の指標である予測値は、多重化装置10における、該当するフローの、第2の基準遅延ごとの遅延超過パケットの割合の予測値である。予測値は、第5の指標である第2の基準遅延ごとに、第4の指標を基に計算されるため、多重化装置10の遅延条件と多重化装置10のバッファ容量に関する情報とに基づく指標となる。予測値の計算方法については、後述する。
 遅延条件判定部163は、収容済みフロー及び新規フローごとに、予測値計算部162が計算した予測値を基に、遅延条件を満たすか否かを判定する。遅延条件判定部163は、各フローについて、第2の基準遅延ごとに、第2の基準割合が予測値を上回るか否かを判定する。
 遅延条件判定部163は、全フローについて、第2の基準割合が予測値を上回る場合、遅延条件を満たすと判定する。遅延条件判定部163は、第2の基準割合が予測値を上回るフローがない場合、遅延条件を満たさないと判定する。
 フロー情報管理部17は、フロー情報を管理し、遅延条件判定に使用する各情報を管理する。フロー情報管理部17は、例えば、収容要求から、収容を要求されたフローの各指標を取得し、判定用データ121に格納する。また、フロー情報管理部17は、各指標に変更がある場合には、判定用データ121を更新する。
 収容管理部18は、判定部16が、遅延条件を満たすと判定した場合、フロー収容要求を受理し、多重化装置10への新規フローの収容を許可する。すなわち、収容管理部18は、判定部16が、新規フロー及び収容済みの全フローのいずれについても、第2の基準割合が予測値を上回ると判定した場合に、多重化装置10への新規フローの収容を許可する。
 収容管理部18は、判定部16が、各フローのいずれかが、遅延条件を満たさないと判定した場合、フロー収容要求を棄却する。すなわち、収容管理部18は、判定部16が、第2の基準割合が予測値を上回らないフローがあると判定した場合に、フロー収容要求を棄却する。
 なお、収容管理部18は、新規フローを収容した後の全フローが遅延条件を満たす場合にのみ多重化装置10への新規トラヒックフローの収容を許可するほか、所定の数以上のフローが遅延条件を満たす場合に、多重化装置10への新規フローの収容を許可してもよい。
[新規フロー収容判定]
 図7及び図8は、新規フロー収容判定の概要を説明する図である。多重化装置10は、各フローがフロー毎の遅延条件を満たしているか否か判定し、新規フローの収容の可否を行う。
 多重化装置10が、フロー収容要求を受けた場合(図7の(1))、予測値計算部162は、待ち行列モデルを基に、収容要求のフローを新規に収容した後の収容済みフロー及び新規フローの予測値を、基準遅延ごとに計算する(図7の(2-1))。多重化装置10は、到着パケットレートから、収容済みフローの基準遅延超過パケット割合(第1の基準割合)を、基準遅延(1パケット単位)ごとに計算する(図7の(2-2))。
 遅延条件判定部163は、各フローについて、基準遅延ごとに、予測値と、第2の基準割合とを比較する。
 例えば、判定対象のフローについて、基準遅延「3」(枠W1)についての予測値が「0.3」であり(図8の矢印Y1)、この基準遅延「3」の基準割合「0.5」である場合、遅延条件判定部163は、基準遅延「3」については、遅延条件を満たすと判定する。
 そして、新規フロー及び収容済みフローの全てについて、いずれの基準遅延についても、予測値が基準割合を上回らない場合、遅延条件判定部163は、遅延条件を満たすと判定する。そして、収容管理部18は、フロー収容要求を受理し、多重化装置10への新規フローの収容を許可する。
 遅延条件判定部163は、予測値が、第2の基準割合を上回る場合(図7の(3))、遅延条件を満たさないと判定する。例えば、判定対象のフローについて、基準遅延「3」(枠W3)についての予測値「0.6」であり(図8の矢印Y2)、この基準遅延「3」の基準割合「0.5」を超える場合、遅延条件判定部163は、基準遅延「3」については、遅延条件を満たさないと判定する。
 そして、予測値が第2の基準割合を上回るフローが一つでもある場合(図7の(3))、遅延条件判定部163は、遅延条件を満たさないと判定する。そして、収容管理部18は、多重化装置10への新規フローの収容を拒否する(図7の(4))。なお、予測値が第2の基準割合を上回るフローが一つでもある場合に新規フローの収容を拒否する例について説明したが、これに限らない。収容管理部18は、多重化装置10の収容機能に応じて、予測値が第2の基準割合を上回るフローの数量を変更して、新規フローの収容を判定してもよい。
 なお、図7の(2)及び図8のグラフについて説明する。図9は、図7の(2)及び図8のグラフを説明する図である。このグラフの縦軸は、予測値(基準遅延超過パケット割合予測値)を示す。横軸は、基準遅延である。図9の右図は、到着時にキューにx個のパケットが存在する割合を示し、左図は、到着時にキューにx+1個以上のパケットが存在する割合を示す。
 例えば、基準遅延「3」での超過パケット割合(左図参照)は、多重化装置10で被る遅延が4パケット転送分以上であるパケットの割合(右図参照)であり、左図の枠W2内の値は、右図の枠W3の割合の総和である。例えば、図9の例では、基準遅延「3」の場合、約35%のパケットが、遅延4以上である。
 そして、パケットから基準遅延(時間)への換算について説明する。図10は、基準遅延の計算を説明する図である。
 前提として、待ち行列モデルにより基準遅延に対する予測値を計算する場合、基準遅延を多重化装置出力リンクキュー内パケット数の単位でのみ表すことが可能とする。このため、基準遅延(時間)は、以下の式(1)となる。
Figure JPOXMLDOC01-appb-M000001
 図10のグラフの横軸は、パケット到着時のキュー内パケット数である。フローの基準遅延yが図10に示すグラフのパケット数x,x(x<x)に対応する場合、多重化装置10は、予め設定されたポリシーに従い、xまたはxの予測値と、フローの基準割合と比較する。
 基準遅延は、パケット出力時間とパケット数とを乗じたものである(式(1))。例えば、基準遅延をパケット数に換算することで、「2.5」のパケット数が基準遅延に対応する場合(図10の矢印Y11)、多重化装置10は、パケット数「2」または「3」での予測値を、フローの基準割合と比較する。
参考文献1:Saeed Shafiee Sabet, et.al., “Towards the Impact of Gamers' Adaptation to Delay Variation on Gaming Quality of Experience”, QoMEX 2019, [令和5年1月20日検索],インターネット<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8743239>
[適用範囲]
 図11は、実施の形態1の適用範囲を説明する図である。多重化装置10は、多重化装置10の出力リンクごとに遅延条件判定を実施する。
 多重化装置10において、出力リンクには高優先トラヒック用キューと低優先トラヒック用キューとが存在する。この場合には、遅延条件判定部163による判定処理は、高優先キューに収容されるトラヒックに対し実施する。
 なお、後述のフローパケットレート申告値の総和λ(=Σλ)は、高優先キュー単位でカウントされる。iは、同一リンクから出力される高優先フロー全体を示す。出力は、一定分布である時分割多重や、指数分布で近似されるイーサネットである。多重化装置10は、パケットレートλの単位で予測値を計算しフローの遅延条件を判定する。
[収容要求]
 次に、多重化装置10がノード20から受ける新規フローの収容要求について説明する。図12は、新規フローの収容要求を説明する図である。
 実施の形態1では、式(2)に示すように、多重化装置10への収容済みフローをiで表現し、その集合をGとして説明する。
Figure JPOXMLDOC01-appb-M000002
 多重化装置10は、高優先である収容済みフローi(例えば、フロー1,2)のパケットを受信すると、出力リンクiの高優先キューに待機させ、スケジュール部142が決定した転送順序で、例えば、時分割多重で出力する。収容済みのフローiは、それぞれ、収容要求R(例えば、フローR,R)時に、フローパケットレート(到着レート)申告値λ(第1の指標)、第1の基準遅延d(第2の指標)、第1の基準割合L(第3の指標)を1組として申告される。
 ノード20は、多重化装置10への新規フローnの収容要求時に、該フローの収容要求Rを提示して、新規フローnの収容を要求する。収容要求Rの提示によって、多重化装置10には、フローnのパケットレート申告値λ、第1の基準遅延d、第1の基準割合Lが申告される。フロー要求解析部161は、収容要求Rを解析して、新規フローnのλ、d、Lを取得する。
[予測値の計算方法]
 次に、第6の指標である予測値の計算方法について説明する。図13は、遅延超過パケット割合予測値(予測値)の計算方法を説明するための図である。
 多重化装置10の出力先インタフェースが時分割多重転送する場合を例に説明する(図13)。フローのパケット到着過程はポアソン過程を想定する。なお、リクエストレスポンス型の通信の発生過程がポアソン過程で近似できるとの報告がある。そこで、多重化装置10の高優先キューのサイズをKとして、パケットの多重化装置滞留時間をM/G/1/Kモデルで表現する。
 使用するパラメータを説明する。πは、時分割転送時のスロットの境界の時点でシステム内にj個パケットがいる確率である。システム内のパケット数は、転送中パケット数と高優先キュー内で待機するパケット数との和である。
 P(=π+π)は、システムに待っている客がいない確率である。Aは、時分割転送のタイムスロット内で、j個パケットが発生する確率である。M/G/1/Kの場合、一定スロット時間内(=1)のポアソン到着であるため、Aは、式(3)である。式(3)のdB(t)は、パケット転送時間がtである確率の密度関数である。
Figure JPOXMLDOC01-appb-M000003
 Dmax(=max[d|i∈G])は、フローが指定した基準遅延の最大値である。Kは、高優先キューサイズであり、K個のパケットをキューに収容可能であることを示す。λ(=Σλ)は、判定対象フロー(収容済みフローと新規収容フローとの和)のパケットレート申告値の総和である。収容済みフローと新規収容フローとの和は、出力リンクlの高優先キューに関連する。
 次に、予測値の計算方法1について説明する。計算方法1では、まず、第1の処理として、式(4)を用いて、π(1≦j≦Dmax)を計算する。πは、スロットの境界の時点でシステム内にパケットがj個ある確率である。
参考文献2:“Fundamentals of queuing theory 5th edition”, Willey, pp.277-278, 2018.
参考文献3:J. Smith, “M/G/c/K blocking probability models and system performance”, Performance Evaluation,vol.52, Issue 4, pp.237-267, 2003,  [令和5年1月20日検索],インターネット<URL:https://reader.elsevier.com/reader/sd/pii/S0166531602001906?token=D8BD270F6F14FDD9710C2BB59FB0A717668B245FCFA7BC9DE0AFD25003A4437707DB7CEB7432B936E2A1EB67BD2F80EF&originRegion=us-east-1&originCreation=20221212120317>
Figure JPOXMLDOC01-appb-M000004
 なお、最初(j=1)は、式(5)である。
Figure JPOXMLDOC01-appb-M000005
 式(5)において、Aは、パケット転送中に新規転送パケットがj個到着する確率である。M/D/1/Kの場合、Aは、式(6)で示される。なお、M/G/1/Kの場合、Aは、式(3)で示される。
Figure JPOXMLDOC01-appb-M000006
 第1の手順では、まず、π=1として計算する。
 第2の手順として、式(7)を用いて、π´(1≦j≦Dmax)を計算する。π´は、M/G/1/Kにおける、多重化装置に到着し、破棄なくキューに収容されたパケットが、到着時に装置でj個待機中パケットをみる確率である。
Figure JPOXMLDOC01-appb-M000007
 第3の手順として、式(8)を用いて、p(1≦j≦Dmax)を計算する。pは、パケットが、多重化装置10に到着したときに、装置内にj個パケットがある確率である。pは、第6の指標である予測値(基準遅延超過パケット割合予測値)に相当する。
Figure JPOXMLDOC01-appb-M000008
 他の計算方法2について説明する。計算方法2では、第1の手順として、式(9)を用いて、pを計算する。pは、M/G/1/Kにおけるキュー溢れによるブロッキング確率である。sは、サービス時間の分散であり、一定分布の場合は0である。
Figure JPOXMLDOC01-appb-M000009
 第2の手順として、式(10)、式(11)を用いて、πを計算する。πは、スロットの境界の時点でシステム内にパケットがj個ある確率である。式(10)は、リトルの公式による。
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 そして、計算方法1の第1の手順及び第3の手順を実行する。この場合、計算方法1の第2の手順は省略できる。
 また、予測値の計算方法として、機械学習の最小二乗法による統計データのフィッティングを適用してもよい。この場合、パケットごとの遅延を測定し、遅延ごとのパケットの割合を計測する。そして、超過遅延率の近似値を算出するための指数関数や二次関数のパラメータを統計学的手法(最小二乗法、機械学習的手法)で推定し、超過遅延率の近似値計算に使用する。
[処理手順]
 多重化装置10が実行する処理手順について説明する。図14は、図3に示す多重化装置10が実行する処理の処理手順を示すフローチャートである。
 多重化装置10は、ノード20から、フロー収容要求を受け付ける(ステップS11)。判定部16は、新規フローnの収容要求Rから、フローパケットレート申告値λ、第1の基準遅延d、第1の基準割合Lを取得する(ステップS12)。判定部16は、多重化対象インタフェース、インタフェースの高優先キューサイズを取得する(ステップS13)。
 判定部16は、収容を要求された新規フローローを収容した場合に、新規フロー及び収容済みのフローについて、遅延条件を満たすか否かを判定する判定処理を行う(ステップS14)。
 続いて、判定部16が遅延条件を満たすと判定した場合(ステップS15:Yes)、収容管理部18は、フロー収容要求を受理し(ステップS16)、新規フローを収容する。
 判定部16が遅延条件を満たさないと判定した場合(ステップS15:No)、収容管理部18は、フロー収容要求を棄却する(ステップS17)。
[判定処理]
 次に、判定処理(ステップS14)について説明する。図15は、図14に示す判定処理の処理手順を示すフローチャートである。
 判定部16は、新規フローn収容後のパケットパケットレート申告値の総和λから、計算方法1或いは計算方法2を用いて、基準遅延jごとの遅延超過パケット割合の予測値pを計算する(ステップS21)。
 判定部16は、キューサイズによるブロッキング確率pと、ブロッキング確率pが要求条件になっている第1の基準割合Lとを比較し、ブロッキング確率pを下回る第2の基準割合Lを要求するフローがあるか否かを判定する(ステップS22)。
 ブロッキング確率pを下回る第1の基準割合Lを要求するフローがある場合(ステップS22:Yes)、判定部16は、遅延条件を満たさないと判定する(ステップS23)。
 ブロッキング確率pを下回る第第2の基準割合Lを要求するフローがない場合(ステップS22:No)、判定部16は、j=0から順に、予測値P(式(12))を計算する(ステップS24)。
Figure JPOXMLDOC01-appb-M000012
 判定部16は、基準遅延がjであるフローiの第2の基準割合Lと、計算した予測値Pとを比較し、予測値Pを下回る第1の基準割合Lを有するフローがあるか否かを判定する(ステップS25)。
 予測値Pを下回る第2の基準割合Lを有するフローがある場合(ステップS25:Yes)、判定部16は、遅延条件を満たさないと判定する(ステップS23)。実施の形態1の場合、判定部16は、予測値Pを下回る第2の基準割合Lを有するフローが一つでもある場合、遅延条件を満たすことができないと判定する。
 予測値Pを下回る第1の基準割合Lを有するフローがない場合(ステップS25:No)、遅延条件を満たすと判定する(ステップS26)。この場合、判定部16は、新規フローnを収容した場合であっても、新規フローn及び収容済みのフローの全てについて、遅延条件を満たすことができると判定する。
 なお、判定部16は、図16に示す超過基準遅延管理テーブルを用いて、判定処理を行う。図16は、超過基準遅延管理テーブルのデータ構成の一例を示す図である。フロー情報管理部17が管理し、データ更新を行う。
 多重化装置10は、判定処理のために用いる各指標の値を基準遅延ごとに格納したテーブルデータを有する。図16のテーブルでは、収容要求Ri,j、フローパケットレートの申告値λi,j、第1の基準遅延di,j、第1の基準割合Li,jが格納される。リクエストデータの各指標の添え字i,jは、基準遅延iのj番目のネットワークのリクエストであることを示す。
[フロー情報削除処理]
 なお、ノード20からフロー解放要求を受けた場合の処理について説明する。図17は、フロー情報除去処理の処理手順を示すフローチャートである。
 多重化装置10は、ノード20からフロー解放要求を受けると(ステップS31)、多重化装置10は、フロー解放要求から、解放対象のフローの到着レート、第1の基準遅延、第1の基準割合を取得する。そして、多重化装置10は、例えば、判定用データ121(例えば、図16のテーブル)から、解放を要求されたフローに関するフロー情報を削除して(ステップS32)、解放を要求されたフローの収容を解除する。
[実施の形態1の効果]
 このように、多重化装置10では、判定部16が、各フローが属性としてそれぞれ有する第1~第3の指標と、多重化装置10が取得した第4~第6の指標との複数の指標を基に、新規フロー及び収容済みの全てのフローが遅延条件を満たす場合にのみ、新規フローの収容を許可する。
 多重化装置10では、判定部16が、各フローが属性としてそれぞれ有する第1~第3の指標、及び、前記第4の指標を基に、各フローの、基準遅延jごとの遅延超過パケット割合予測値(予測値)(第6の指標)を計算し、各フローの第2の基準割合と比較する。そして、多重化装置10は、新規フロー及び収容済みのフローについて、第2の基準割合が予測値を上回る場合に、新規フローの収容を許可する。これに対し、多重化装置10は、第2の基準割合が予測値を上回らないフローがある場合には、新規フローの収容要求を棄却する。
 したがって、多重化装置10は、フローごとに異なる遅延条件と、新規フローを収容した場合の多重化装置10を通過するフローのトラヒック量から算出した指標とを比較し、新規フロー及び収容済みフローの全てに遅延条件を満たす場合に新規フローの収容を許可する。このため、多重化装置10は、フローごとに異なる遅延条件を考慮しつつ、新規フローの収容を可能とする。言い換えると、多重化装置10は、フローごとに異なる判定指標を有する場合に対応可能であって、複数の判定指標に基づいて新規フローの収容を判定することを可能である。
 なお、収容要求が、収容を要求するフローについて、第1~第3の指標の組み合わせを複数含む場合、多重化装置10は、複数の組み合わせのうち、転送条件が最も厳しい条件の組み合わせを基に、新規フローの収容の可否を判定する。例えば、最も厳しい条件の組み合わせは、条件を満たす帯域領域の最大値が最も小さい組み合わせである。実際に使用する帯域領域は、最も小さいものであることが多いためである。
[実施の形態1の変形例1]
 実施の形態1の変形例1について説明する。実施の形態1では、全てのフローについて遅延条件に関する判定処理を行っていたが、実施の形態1の変形例1では、ステップS26の判定処理を行う前に、この処理をスキップできる基準遅延値を探索し、判定処理を高速化する。
 予測値は、基準遅延が大きくなるにつれて値が単調減少する。このため、判定部16は、予測値が遅延条件を越えないことを確認する場合、基準遅延の大きい遅延条件から順にチェックを行う。
 また、基準遅延ごとに基準遅延超過パケット割合の異なる遅延条件が存在する場合がある。そして、基準遅延が同じ遅延条件は、その中で最小の基準遅延超過パケット割合(以降、最小超過割合とする)の遅延条件を満たせばその他も条件を満たす。
 そして、基準遅延が1異なる遅延条件(例:基準遅延が「7」または「8」である遅延条件)のチェックを行う場合、基準遅延の値が大きい方の遅延条件の最小超過割合より、基準遅延の値が小さい方の遅延条件の最小超過割合が大きい場合、値の小さい方の遅延条件は、自動的に満たされる。このため、値の小さい方の遅延条件の判定をスキップすることができる。すなわち、判定部16は、基準遅延値が第1の値である場合の最小超過割合より、基準遅延値が、第1の値よりも小さい第2の値である場合の最小超過割合が大きい場合、第2の値について、第2の基準割合が予測値を上回るか否かの判定処理を省略する。
 ある基準遅延を有する遅延条件のうち、超過割合が最小の条件を満たすとする。それより小さい基準遅延を有する遅延条件(例えば、基準遅延が「7」または「8」である遅延条件)の最小超過割合が前述の最小超過割合より大きい場合、小さい方の遅延条件は自動的に満たされるためである。
 遅延条件が以下の場合、基準遅延の小さい遅延条件の最小超過割合が、基準遅延の大きい方の最小超過割合より大きい。
 基準遅延ごとに超過割合の異なる遅延条件が存在する場合として、基準遅延「8」の場合に、基準遅延超過パケット割合30%以下、基準遅延超過パケット割合40%以下の遅延条件が存在する場合と、基準遅延「7」の場合に、基準遅延超過パケット割合40%以下、基準遅延超過パケット割合50%以下の遅延条件が存在する場合を例に説明する。
 例えば、8パケット以上キューで待つパケットの割合が30%以下、という条件を現在の帯域利用率は満たす。この場合、7パケット以上キューで待つパケットは30%以下となる。このため、基準遅延「7」の遅延条件における最低超過割合40%も下回るため、基準遅延「7」の遅延条件の判定処理は、スキップ可能である。
[探索処理]
 図18は、スキップできる基準遅延値の探索処理の処理手順を示すフローチャートである。実施の形態1の変形例1では、スキップできる基準遅延値を探索することで、判定処理の短縮化を図る。
 判定部16は、i=∞(バッファあふれによるブロッキングのとき)とする(ステップS41)。判定部16は、D={i=∞の時の最小超過割合}とする(ステップS42)。そして、判定部16は、iを1減少する(ステップS43)。
 判定部16は、D<{基準遅延iの時の最小超過割合}であるか否かを確認する(ステップS44)。
 D<{基準遅延iの時の最小超過割合}でない場合(ステップS44:No)、判定部16は、D={基準遅延iの時の最小超過割合}とする(ステップS45)。
 D<{基準遅延iの時の最小超過割合}である場合(ステップS44:Yes)、判定部16は、該当するiをスキップ対象にする(「skip[i] == true;」とする)(ステップS46)。
 ステップS45またはステップS46終了後、判定部16は、i=1であるか否かを判定する(ステップS47)。i=1でない場合(ステップS47:No)、判定部16は、ステップS43に進む。i=1である場合(ステップS47:Yes)、判定部16は、探索処理を終了する。
 なお、遅延条件を帯域利用率で表した場合、図18に示す手順は不要となる。式(4)のπは、式(15)(後述)に示すように、帯域利用率の関数として記載可能である。基準遅延超過パケット割合予測値(予測値)はπの一次関数であるため、予測値と基準遅延とが与えられると、これらに対応する帯域利用率を一意に求めることができる。そして、予測値をフローの基準遅延超過パケット割合に置き換えても同等のことが言える。
 そこで、遅延条件を帯域利用率で表した場合、遅延条件を帯域利用率順にソートし、実トラヒックから計算した帯域利用率を下回る遅延条件(帯域利用率表記)が存在すれば、条件を満たせないことがわかる。
 具体的に、フローパケットレート申告値が遅延条件を満たすか否かを確認する方法について説明する。図19は、遅延条件の具備の確認方法を説明する図である。
 判定部16は、遅延条件と、フローの基準遅延超過パケット割合とを、対応する帯域利用率に換算し、帯域利用率が小さい順(昇順)に並べる(図19の上段)。
 続いて、パケットレート申告値を帯域利用率に換算する。判定部16は、換算した申告値による帯域利用率、遅延条件に対応する帯域利用率のうち最小の帯域利用率と比較する。図19の例の場合、パケットレート申告値による帯域利用率は「0.79」となり、この帯域利用率を下回る遅延条件(図19の基準遅延「8」)がある。このため、このパケットレート申告値のフローは、遅延条件を満たさないことが確認できたため、判定部16は、このフローの収容要求を棄却する(図19の(1))。
[実施の形態1の変形例2]
 新規フロー収容拒否時のリカバリ方法について説明する。実施の形態1と比して、さらに、多重化装置は、収容を拒否したフローに対し、収容可能な基準遅延超過パケット割合(第1の基準割合)を通知し、ノード20を介してフロー設定者に提示パケット割合変更の検討材料を提示してもよい。
 具体的には、実施の形態1の変形例2に係る多重化装置は、収容を拒否したフローに対し、収容済みフローの遅延条件を満たす最大パケットレート申告値を計算し、計算した最大パケットレート申告値に基づいて、収容許可と判定されるパケットレート申告値をノード20に提示する。
 図20は、実施の形態1の変形例2に係る多重化装置の構成の他の例を示す図である。図20に示す多重化装置10Aでは、制御部13Aのフロー管理部15Aが、さらにレート提示部19を有する。
 レート提示部19は、収容済みフローの遅延条件を満たす最大パケットレート申告値を計算する。レート提示部19は、計算した最大パケットレート申告値に基づいて、収容拒否と判定したフローの起点及び/またはコントローラであるノード20に、収容許可と判定されるパケットレート申告値を通知する。
 レート提示部19は、多重化装置10への収容が拒否された新規フローに対し、収容要求において申告された該新規フローの到着レートから段階的にレートを増減しながら、多重化装置10に新規フローを収容した後の全フローについて、第2の基準割合が予測値を上回るレートを探索し、探索したレートを、新規フローの収容要求元(例えば、ノード20)に通知する。
 また、レート提示部19は、収容を拒否したフローに対し、収容可能な基準遅延超過パケット割合(第1の基準割合)を計算する。レート提示部19は、収容可能な基準遅延超過パケット割合(第1の基準割合)を通知することで、収容を拒否したフローの起点及び/またはコントローラであるノード20に通知し、パケット割合変更の検討材料を提示する。
[処理手順]
 図21は、実施の形態1の変形例2に係る処理の処理手順を示すフローチャートである。フロー収容棄却後(ステップS51)、判定部16は、遅延条件を満たさないフローが新規収容フローであるか否かを判定する(ステップS52)。
 遅延条件を満たさないフローが新規収容フローである場合(ステップS52:Yes)、予測値計算部162は、この新規フローの基準遅延に対する基準遅延超過パケット割合予測値(予測値)を新規フロー収容後のパケットレート総和λを基に計算する(ステップS53)。多重化装置10Aは、計算した予測値を、収容可能な基準遅延超過パケット割合(第1の基準割合)として、ノード20に提示する(ステップS54)。
 一方、遅延条件を満たさないフローが新規収容フローでない場合(ステップS52:No)、レート提示部19は、収容済みのフロー及び新規フローの遅延条件を満たす最大パケットレート申告値を探索する(ステップS55)。
 レート提示部19は、探索した最大パケットレート申告値と収容済みフローのパケットレート申告値との差を、多重化装置10Aが収容可能である最大パケットレートとしてノード20に提示する(ステップS56)。
 そして、多重化装置10Aは、既存のフロー情報除去時に、収容済みフローの遅延条件を満たす最大パケットレート申告値をノード20に提示し、新規フローの申告レートが最大パケットレート申告値を満たす場合にステップS13の判定処理を行ってもよい。
 図22及び図23は、実施の形態1の変形例2に係る他の処理の処理手順を示すフローチャートである。
 フロー管理部15Aは、フロー情報を削除する(ステップS61)。レート提示部19は、収容済みフローの遅延条件を満たす最大パケットレート申告値を計算する(ステップS62)。レート提示部19は、フローの起点及び/またはコントローラであるノード20に最大パケットレート申告値を通知して(ステップS63)、処理を終了する。
 さらに、判定部16は、新規フロー収容時には、新規フローのパケットレート申告値がステップS62において計算した計算値(最大パケットレート申告値)より上であるか否かを判定する(ステップS64)。
 新規フローのパケットレート申告値がステップS62において計算した計算値より上である場合(ステップS64:Yes)、判定部16は、新規フローのフロー収容要求を棄却する(ステップS65)。
 一方、新規フローのパケットレート申告値がステップS62において計算した計算値より上でない場合(ステップS64:No)、収容済みフローの遅延条件は満たすことを確認できる。そこで、判定部16は、新規フローの遅延条件を満たすことを確認するために、図14に示すステップS13と同じ判定処理(ステップS66)を実行することによって、この新規フローの収容要求を許可するか否かを判定する。なお、図14と同様に、多重化装置10Aは、ステップS13処理終了後、ステップS15またはステップS16を行う。
[最大パケットレート申告値の計算処理]
 次に、具体的に、最大パケットレート申告値の計算処理について説明する。図24は、最大パケットレート申告値の計算処理を説明する図である。なお、最大パケットレート申告値の計算の前提は、以下である。まず第1に、レート計算は離散的に行う。第2に、調整単位(N)は、例えば、100Mbps単位、1G単位などである。そして、以降では、100Mbps単位の時、500Mbps追加することを5単位追加、と記載する。
 レート提示部19は、パケットレートを、開始パケットレートからN単位ずつ上げ、最初に遅延条件を満たすレートを初期値に設定する(図24の(1))。開始パケットレートは、レートリミット時に遅延条件を満たさないレートである。最大パケットレートは、レートリミット時に遅延条件を満たす契約レートの最小値である。そして、図24の(1)では、矢印Y21に示すように、パケットレートを、開始パケットレートから2N単位増加させた例を示す。
 続いて、レート提示部19は、矢印Y22のように、初期値からN/2単位下げた値を入力パケットレートとしたときの遅延条件を評価する(図24の(2))。レート提示部19は、遅延条件を満たす場合、初期値からN/2単位下げた値を最大パケットレートの暫定値とする。
 レート提示部19は、遅延条件を満たさない場合、初期値を暫定値とする。多重化装置10Aは、探索幅を、N/4(矢印Y23)、N/8(矢印Y24)と狭めていく。レート提示部19は、1単位でも減らすと遅延条件を満たさない暫定値を探索できた場合に、その値を最大フローレートとする(図24の(3))。
 なお、レート提示部19は、契約レートを下げる場合も同様の計算を行う。この場合、初期値は、N単位ずつ下げた時に最初に遅延条件を満たさない契約レートである。
[実施の形態2]
 次に、実施の形態2について説明する。実施の形態2では、トラヒックが動的に増加して、収容するフローの遅延条件が満たせなくなった場合、フローの対象インタフェースへの出力レートを契約レートに制限するレートリミット(制限処理)を行う。また、実施の形態2では、トラヒックが動的に増加して、収容済みフローの遅延条件が満たせなくなった場合、遅延条件を満たすことができるフローパケットレートを計算して、ノード20に提示する。
 例えば、実施の形態1における判定処理によって多重化装置への新規フローの収容を許可したものの、トラヒックが動的に増加して収容済みフローの遅延条件が満たせなくなった場合に、実施の形態2において説明する各処理を実行する。
[処理の概要]
 図25及び図26は、実施の形態2に係る多重化装置210(転送装置)の概要を説明する図である。図25及び図26では、例えば、多重化装置210がレートリミットを発動する場合を例に説明する。多重化装置210は、指標として、フローの契約レートをフローごとに記憶する。
 多重化装置210は、例えば、監視対象フローの出力インタフェースへの出力データ量から遅延条件関連指標を与えられたタイミングで予測値を計算し、遅延条件に関する判定処理を行う。
 多重化装置210は、実際に多重化装置210を通過するフローのトラヒック量を監視し、出力インタフェースならびにフローごとの到着パケットの計測結果を基に、実際に多重化装置210を通過するフローの到着レート(実トラヒック到着レート)を、出力リンクごとに、第7の指標として取得する。そして、多重化装置210は、収容済みの各フローについて、基準遅延ごとに、実トラヒック到着レートに基づく基準遅延超過パケット割合予測値(予測値)を、第8の指標として計算する。多重化装置210は、予測値を基に、収容済みフローが、各フローの遅延条件を満たすか否かを判定する。なお、遅延条件に関する判定処理は、実施の形態1における同名の処理と同じ処理手順である。
 多重化装置210は、収容済みの各フローについて、第2の基準遅延(基準遅延)ごとに、第2の基準割合(基準遅延超過パケット割合)と、第8の指標である予測値とを比較する。多重化装置210は、予測値が、このフローの第2の基準割合を上回る場合(図25)、このフローは遅延条件を満たしておらず、自装置に到着するトラヒックが増加したと判定する(図26の(1))。なお、図26では、レートの太さで、レートの大小を模式的に示す。
 この場合、多重化装置210は、レートリミットを実施する(図26の(2))。レートリミットは、例えば、多重化装置210がフローF1,F2を収容する場合、フローF1,F2の到着パケットに対する出力インタフェースへの転送レートを、フローF1,F2の契約レートにそれぞれ制限する処理である。図26の例では、契約レートB2を超えたレートで転送されていたフローF2が、フローF2の契約レートB2に制限される。
 そして、多重化装置210は、フローF2のユーザに、レートリミット時のフローレートとして、現在の契約レートB2よりも大きいレートB2´を提示する(図26の(3))。遅延条件を満たせないフローに対してレートリミットを実施する際、多重化装置210は、フローごとのパケット出力レートをユーザと交渉する。フローレートは、ユーザとの契約で決まり、契約レート(帯域)が大きいと利用料も高額となるため、多重化装置210は、最適な契約レートを計算し、ユーザに提示する。
[多重化装置]
 図27は、実施の形態2に係る多重化装置210の構成の一例を示す図である。図27に示すように、多重化装置210は、図10に示す制御部13に代えて、制御部13と同様の機能を有する制御部213を有する。制御部213は、制御部13と比して、フロー管理部215が、さらに、レート提示部219(提示部)、フロー情報解析部220(取得部)、及び、レートリミット部221(制限部)を有する。
 予測値計算部162は、処理対象のフローを、多重化装置210が収容する収容済みの全フローとし、新規フロー収容後のパケット到着レート申告値の総和λを、実トラヒック到着レートλに代えて、実施の形態1と同じ予測値計算処理を行う。これによって、予測値計算部162は、第8の指標である予測値を計算する。
 遅延条件を満たすか否か、すなわち、第8の指標である予測値が第2の基準割合を上回るか否かは、遅延条件判定部163が、多重化装置210が収容する収容済みの全フローを判定対象として、実施の形態1と同じ判定処理を行うことで判定される。なお、遅延条件を帯域利用率で表す場合には、実施の形態1と同様に、図18に示す手順は不要となり、図19を用いて説明したフローパケットレート申告値を、実トラヒックレートに置き換えればよい。
 レート提示部219は、多重化装置210が収容するフローについて、最適な契約レートを計算し、このフローの送信レート決定元(例えば、ノード20)に通知する。例えば、レート提示部219は、遅延条件を満たさないフローについて、最適な契約レートを計算する。
 レート提示部219は、契約レートの計算対象のフローについて、現行の契約レートから段階的にレートを増減しながら、このフローの遅延条件を満たすか否かを判定し、このフローの遅延条件を満たすレートを探索する。言い換えると、レート提示部219は、契約レートの探索対象であるフローに対し、該フローの現行の契約レートから段階的にレートを増減しながら、多重化装置210が収容する全トラヒックフローについて、第2の基準割合が、第8の指標である予測値を上回るレートを探索し、探索したレートを、探索対象であるフローの送信レート決定元に通知する。
 フロー情報解析部220は、パケット計測部143による出力インタフェースならびにフローごとの到着パケット量の計測結果を基に、実際に多重化装置210を通過するフローの到着レート(実トラヒック到着レート)を取得する。
 レートリミット部221は、収容済みのフローのいずれかが、遅延条件を満たさない場合、例えば、収容済みの全フローに対してレートリミットを実行する。なお、レートリミットは、収容済みのフローが一つでも遅延条件を満たさない場合に実行するほか、遅延条件を満たさない収容済みのフローが所定の閾値以上あった場合に実行してもよい。
[処理手順]
 図28は、図27に示す多重化装置210が実行する処理の処理手順を示すフローチャートである。
 フロー情報解析部220は、実トラヒックレートλを取得する(ステップS201)。判定部16は、収容済みの各フローについて、多重化装置210で被るキューイング遅延の値に対する遅延超過パケット割合の予測値(第8の指標)を計算し、各フローが遅延条件を満たすか否かを判定する判定処理を行う(ステップS202)。予測値の計算処理及び遅延条件の判定処理の処理手順は、図15に示す処理手順と同様であり、フローパケットレート申告値λを、測定した各フローiの実トラヒックレートλに置き換えれば足りる。そして、多重化装置210が収容するフローのうち、ブロッキング確率pを下回る第2の基準割合を要求するフロー、または、予測値Pを下回る第2の基準割合Lを有するフローがある場合、遅延条件を満たさないと判定する。
 なお、判定処理では、図18に示す場合と同様に、スキップ可能である基準値探索を行ってもよい。この場合、フローパケットレート申告値λを、測定した各フローiの実トラヒックレートλに置き換えればよい。
 収容済みの全フローが遅延条件を満たす場合(ステップS203:Yes)、多重化装置210は、ステップS201の処理に戻る。
 収容済みの全フローが遅延条件を満たさない場合(ステップS203:No)、レートリミット部221は、例えば、収容済みの全フローに対して、レートリミット処理を実行する(ステップS204)。
 また、レート提示部219は、遅延条件を満たさないフローについて、最適な契約レートを計算し、このフローのノード20に通知する契約レート提示処理を行う(ステップS205)。
 なお、図28は、契約レート提示処理のタイミングの一例に過ぎない。契約フローレート提示処理は、定期的に実行される。或いは、契約フローレート提示処理は、所定のイベントが発生した際に実行される。例えば、レート提示部219は、収容するフローについて、第7の指標である実トラヒック到着レートと契約レートに基づく遅延超過パケット割合を計算し、計算した遅延超過パケット割合が、第2の基準割合を上回るトラヒックフローを検知したときに、検知したトラヒックフローの契約レートを探索する。
[契約レート提示処理]
 契約レート提示処理について説明する。図29は、図28に示す契約レート提示処理の処理手順を示すフローチャートである。
 フロー情報解析部220は、提示対象のフローのパケット到着レートを計測する(ステップS211)。レート提示部219は、提示対象のフローについて、計測したレートと契約レートに対する遅延超過パケット割合を計算する(ステップS212)。
 多重化装置210は、ステップS212において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を上回るか否かを判定する(ステップS213)。
 また、レート提示部219は、提示対象のフローについて、契約レートを1単位下げた場合の遅延超過パケット割合を計算する(ステップS214)。ステップS214において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を下回るか否かを判定する(ステップS215)。
 ステップS212において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を上回っていない場合(ステップS213:No)、または、ステップS214において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を下回っていない場合(ステップS215:No)、多重化装置210は、ステップS212,S214に戻る。
 ステップS212において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を上回る場合(ステップS213:Yes)、または、ステップS214において計算した遅延超過パケット割合が、提示対象のフローの第2の基準割合を下回る場合(ステップS215:Yes)、レート提示部219は、提示対象のフローについて、提示用契約レートを探索する(ステップS216)。レート提示部219は、計算した提示用契約フローレートを、ノード20に提示する(ステップS217)。
[提示用契約レートの計算処理]
 図30及び図31は、提示用契約フローレートの計算を説明する図である。レート提示部219は、現行契約レート(図30参照)が、レートリミット時に遅延条件を満たせない場合に、提示契約レートとして、レートリミット時に遅延条件を満たす契約レートの最小値を検索する。
 なお、提示用契約フローレートの計算の前提は、以下である。まず第1に、レート調整は離散的に行う。第2に、調整単位(N)は、例えば、100Mbps単位、1G単位などである。以降では、例えば、100Mbps単位の時、100Mbps追加することを5単位追加、と記載する。
 レート提示部219は、契約レートをN単位ずつ上げ、最初に遅延条件を満たすレートを初期値に設定する(図31の(1))。この場合、現行契約レートは、レートリミット時に遅延条件を満たさない。また、最終提示契約レートは、レートリミット時に遅延条件を満たす契約レートの最小値である。図31の(1)では、矢印Y201に示すように、パケットレートを、開始パケットレートから2N単位増加させた例を示す。
 続いて、レート提示部219は、矢印Y202のように、初期値からN/2単位下げた値を契約レートとしたときの遅延条件を評価する(図31の(2))。多重化装置210は、遅延条件を満たす場合、初期値からN/2単位下げた値を契約レートの暫定値とする。
 レート提示部219は、遅延条件を満たさない場合、初期値を暫定値とする。レート提示部219は、提示対象のフローについて、探索幅を、N/4(矢印Y203)、N/8(矢印Y204)と狭めていき、1単位でも減らすと遅延条件を満たさない暫定値を探索できた場合に、その値を提示契約レートとする(図31の(3))。
 なお、レート提示部219は、契約レートを下げる場合も同様の計算を行う。この場合、初期値は、N単位ずつ下げた時に最初に遅延条件を満たさない契約レートである。
[レートリミット実行処理]
 多重化装置210は、以降に示すステップを、多重化装置210の出力リンクごとに実施する。図32は、図28に示すレートリミット実行処理の処理手順を示すフローチャートである。
 レートリミット部221は、全フローの遅延条件(第2の基準遅延、第2の基準割合)を満たす多重化装置210の実パケット到着レートの最大値を計算する(ステップS221)。計算方法は、図30及び図32に示す方法と同様である。
 フロー情報解析部220は、多重化装置10における実パケット到着レートを取得する(ステップS222)。レートリミット部221は、ステップS222において取得した実パケット到着レートが、ステップS221において計算した実パケット到着レートの最大値を上回るか否かを判定する(ステップS223)。
 実パケット到着レートが、実パケット到着レートの最大値を上回る場合(ステップS223:Yes)、レートリミット部221は、全フローに対し、当該フローの到着パケットに対する出力インタフェースへの転送レートを契約レートに制限する(ステップS224)(図26の(2)参照)。
 一方、実パケット到着レートが、実パケット到着レートの最大値を上回らない場合(ステップS223:No)、レートリミット部221は、ステップS222に戻る。
[実施の形態2の効果]
 実施の形態2に係る多重化装置210は、実トラヒック量を監視し、多重化装置210の実到着レートを出力リンクごとに計測することで、各フローについて、基準遅延ごとに、基準遅延超過パケット割合予測値(予測値)を計算する。多重化装置210は、予測値を基に、収容済みフローが、各フローの遅延条件を満たすか否かを判定する。そして、多重化装置210は、遅延条件を満たさないフローがある場合には、例えば、全フローに対してレートリミットを実行する。
 したがって、多重化装置210によれば、実際のトラヒック量の変化に応じて、レートリミットの実行を動的に制御することができる。例えば、多重化装置210によれば、転送容量に余裕がある場合に突発的なトラヒックの増加があった場合であっても、的確に遅延保証を提供でき、通信品質を保持することができる。
 また、多重化装置210によれば、例えば、遅延条件を満たさないフローについては、フロー設定者に最適なレートを提示することができるため、適切なレートへの変更を可能とし、フロー収容の円滑化に繋げることができる。
 そして、このレート提示については、所定のイベントを検知したタイミングで最適なレートを提示するため、タイミングよくフロー設定者に最適なレートを提示することができる。
[実施の形態2の変形例1]
 実施の形態2の変形例では、遅延条件の厳しいフローから順に帯域保証を行うことで、遅延条件を保護する。実施の形態2の変形例1では、遅延条件の厳しさを「限界利用率」と表現し、処理を行う。レートリミット部221は、フローの第2の基準割合と基準遅延とから導出される限界利用率の値を基に、遅延条件が厳しいフローから順に、契約レートでの転送を保証する帯域保証を行う。
 限界利用率は、フローの遅延条件を満たす最大のフロー用帯域利用率である。帯域利用率は、フローの転送用帯域に対する出力リンク到着パケットレートの割合であり、到着レートを転送用帯域で除した値である。
 図33は、限界利用率を説明する図である。図30に示すグラフの縦軸は、基準遅延であり、横軸は遅延超過パケット割合の予測値である。例えば、フロー1について、基準遅延「3」のときの遅延超過パケット割合が「0.35」である(図33の(1))。フロー1の遅延条件は、基準遅延が「3」、基準遅延超過パケット割合が「0.35」であることから、限界利用率は、「0.85」となる(図33の(2))。
[フローの遅延条件と限界利用率の関係]
 次に、フローの遅延条件と限界利用率との関係について説明する。パケット転送時間が一定分布(タイムスロットが固定長)であり、指数分布(パケットサイズが指数分布で決まる)である場合、フロー遅延条件(基準遅延、基準遅延超過パケット割合)はフローの限界利用率ρと対応する。
 ここで、フローiの限界利用率ρは、フローのパケット到着レートλを、フローの転送レートμで除した値であると定義する。
 例えば、フロー遅延条件がρで表記できる例として以下がある。M/D/1/Kの場合、A(式(13))より、式(4)よりπをリンク利用率ρ(式(14))の関数として記載可能である。μは、平均パケット転送時間であり、M/D/1の場合はスロット長である。
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 M/D/1/Kの場合、同様に、πをρの関数として記載可能である。A(式(6))及びπ(式(4))は、ρを変数とする式であるため、ρが決まると予測値も算出することができる。
 基準遅延超過パケット割合予測値(予測値)は、πの一次関数である(式(10)参照)。したがって、予測値と基準遅延とを与えると、対応するρが一意に決まる。予測値をフローの基準遅延超過パケット割合に置き換えても同等のことが言えることから、この関係を利用する。
 ただし、基準遅延超過パケット割合から限界利用率を直接求めることは困難である。そこで、以下の方法で基準遅延超過パケット割合に対応する限界利用率を導出する。図34は、限界利用率の導出を説明する図である。
 まず、事前に、第1及び第2の処理を行い、参照用利用率データを準備する。第1の処理として、リンク利用率ρの値を離散化する。例えば、リンク利用率ρを0,0.01,0.02,・・・,0.98,0.99とする。第2の処理として、予測値計算部162が、離散化した値ごとに、基準遅延に対する基準遅延超過パケット割合予測値(予測値)を計算する。
 続いて、新規フロー追加時においては、第3及び第4の処理を行う。第3の処理として、新規フローiを収容する。この際、多重化装置210は、新規フローiの基準遅延と基準割合とを遅延条件として受け付ける。
 第2の処理において計算された予測値のうち、受け付けた基準遅延に対する予測値を探索する。そして、受け付けた基準割合を越えない、最大の予測値を提供するリンク利用率ρの値をフローiの限界利用率ρとする。
 例えば、新規フローの基準遅延「3」の際の予測値(超過パケット割合予測値)が「0.34」である。この場合、基準遅延「3」の時のリンク利用率ρと、予測値との対応関係を基に、図34に示すように、新規フローの予測値「0.34」を提供するρ「0.46」の値を、この新規フローの限界利用率とする。
 このように、実施の形態2の変形例1では、フローごとに限界利用率を求めていき、最も限界利用率が厳しい、すなわち、最も限界利用率が低いフローから順に帯域保証を行うことで、遅延条件を保護する。言い換えると、実施の形態2の変形例1では、全てのフローにレートリミットを実施するのではなく、遅延条件が厳しいフローから、レートリミットを実施することで、転送処理の円滑化を維持する。
 図35及び図36は、レートリミット対象の判定処理を説明する図である。レートリミット部221は、限界利用率ρを用いてレートリミット対象のフローを判定する。レートリミット部221は、他のフローのパケットにより遅延条件が守れないフローの転送帯域を保証するように、レートリミットを実行する帯域保証を行う。
 ここで、保証対象フローのパケット転送は、フローごとの契約レートに従い、フローパケットをリンクへと出力することで実行される(図35)。保証対象フローについては、フローごとに個別キューに収容される。そして、保証対象フローについては、契約レートに従う限り、他のフローパケットよりリンク出力が優先される。
 これに対して、その他のフローのパケット転送については、レートリミット対象フローの契約レートを除く、残余帯域を用いてパケットが転送される。
 レートリミット部221は、収容するフローを、レートリミット対象(保証対象)Sと、その他Tと、に分類する(図36)。そして、レートリミット部221は、その他Tに属するフローが以下の条件を満たすとき、このフローをレートリミット対象フローとする。
 レートリミット部221は、その他Tに属するフローの総パケットのレートがλ、その他Tに属するフロー全体の転送用帯域がμ、フローiの限界利用率がρである場合、式(15)であるフローを新たなレートリミット対象のフローとする。
Figure JPOXMLDOC01-appb-M000015
 このように、レートリミット部221は、判定対象の限界利用率ρと、総パケットのレートλ、その他Tに属するフロー全体の転送用帯域がμとを用いて、その他Tに属するフローのそれぞれについて、レートリミット対象のフローであるか否かを判定する。これによって、レートリミット部221は、遅延条件が厳しいフローをレートリミット対象として適切に選別することができる。
[レートリミット解除]
 また、レートリミット部221は、レートリミットをフローごとに解除してもよい。
 図37は、レートリミット対象の解除処理を説明する図である。レートリミット部221は、レートリミット対象Sのフローのうち、その他Tに属するフローと一緒に制御しても遅延条件を満たすフローについては、レートリミット対象から除外する。
 例えば、レートリミット部221は、レートリミット対象Sのフローのうち、限界利用率ρであるフローiが、式(15)を満たさない場合には、このフローiをレートリミット対象から除外し、レート制御対象のフロー数を3から2に減らす。
 フローごとにレート制御を行うことは、多重化装置210にとって負荷が高い。このため、レートリミット部221は、上記のように、レートリミット対象と判定したフローについて、式(15)を満たすか否かを判定することで、レート制御対象のフロー数を適正化する。
 なお、帯域保証解除に使用するパラメータとその定義について説明する。例えば、レートリミット対象Sに属するフローiを例に説明する。フローiより小さい限界利用率を有するフローj(ρ>ρ)の集合を、Sstrict iとする。フローiより大きい限界利用率を有するフローk(ρ<ρ)の集合を、Sloose iとする。フローiと同じ限界利用率を有するフローが複数存在する場合、このフローの集合を、Sequal iとする。
 レートリミット部221は、レートリミット対象のフローiが、以下の条件を満たす場合、レートリミット対象から外す。
 その他に属するフローTと、集合Sloose i,Sequal iの総入力レートとがλ,λloose,λequal、それぞれのフロー集合全体の転送用帯域がμ,μloose,μequal、フローiの限界リンク利用率がρであるとする。レートリミット部221は、式(16)であるフローをレートリミット対象から外す。
Figure JPOXMLDOC01-appb-M000016
 なお、式(16)の条件の不等号記号を逆にすると、帯域保証フロー設定時の条件の関係式と同じ式となる。
[実施の形態2と実施の形態2の変形例1との比較]
 レートリミット対象のフロー数に違いがある場合、実施の形態2の手法より、実施の形態2の変形例1の手法の方が、レートリミット対象のフロー数が少ないため、多重化装置210のフロー制御負荷が低くなる。
 言い換えると、実施の形態2の手法では、レートリミットのトリガーは、全フローのパケットレートが任意のフローの遅延条件を侵害したときであり、レートリミット対象は全フローとなる。
 実施の形態2の変形例1の手法では、レートリミット(帯域保護)のトリガーは、その他Tのフロー用帯域でフローごとの遅延条件を侵害した場合であり、レートリミット対象は、その他Tのフロー用転送用帯域では遅延条件を満たせないフローのみである。
 なお、従来の手法では、全フローのパケットレートが任意のフローの遅延条件を侵害するため、侵害されたフローはアプリケーションが要求する通信品質を提供できなかった。実施の形態2及び実施の形態2の変形例1では、遅延条件を満たさない場合には、契約レートに制限するレートリミットを行うため、通信品質を確実に保持することができる。
[実施の形態2の変形例2]
[レート提示方法の他の例]
 フローiの実測レートがλ、限界利用率がρであるとき、レートリミット時に遅延条件を守ることができる契約レートμは、式(17)である。
Figure JPOXMLDOC01-appb-M000017
 そこで、レート提示部219は、フローiの実パケットレートの変動に対応するためのマージンΔμを加えたμ+Δμを、契約レートとしてユーザに提示する。Δμは、予め設定されたものである。
[実施形態のシステム構成について]
 図5,20,27に示す多重化装置10,10A,210の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、多重化装置10,10A,210の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
 また、多重化装置10,10A,210においておこなわれる各処理は、全部または任意の一部が、CPU及びCPUにより解析実行されるプログラムにて実現されてもよい。また、多重化装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
 また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
 図38は、プログラムが実行されることにより、多重化装置10,10A,210が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、多重化装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、多重化装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等はすべて本発明の範疇に含まれる。
 10,10A,210 多重化装置
 11 通信部
 12 記憶部
 13,13A,213 制御部
 14 パケット転送部
 15,15A,215 フロー管理部
 16 判定部
 17 フロー情報管理部
 18 収容管理部
 19,219 レート提示部
 121 判定用データ
 122 フロー情報管理用データベース(DB)
 141 出力先決定部
 142 スケジュール部
 143 パケット計測部
 161 フロー要求解析部
 162 予測値計算部
 163 遅延条件判定部
 220 フロー情報解析部
 221 レートリミット部
 1221 予測値計算プログラム
 1222 条件判定プログラム

Claims (8)

  1.  第1の指標であるトラヒックフローの到着レート、第2の指標である、順守すべき転送遅延基準値である第1の基準遅延、第3の指標である第1の基準遅延超過パケット割合を含む新規トラヒックフローの収容要求を受け付け、転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローの到着レートの総量を第4の指標として、前記第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、前記転送装置における基準遅延ごとの基準遅延超過パケット割合の予測値を第6の指標として計算する予測部と、
     各トラヒックフローについて、前記第2の基準遅延ごとに設定された第2の基準遅延超過パケット割合が、前記予測値を上回るか否かを、前記第2の基準遅延ごとに判定する判定部と、
     前記第2の基準遅延超過パケット割合が前記予測値を上回る場合に、前記転送装置への前記新規トラヒックフローの収容を許可する管理部と、
     を有することを特徴とする判定装置。
  2.  前記第2の指標及び前記第5の指標は、前記転送装置のバッファの容量を基に設定され、
     前記第3の指標、前記第2の基準遅延超過パケット割合及び前記第6の指標は、前記バッファの容量超えによるパケットロスの割合を示すことを特徴とする請求項1に記載の判定装置。
  3.  前記収容要求は、前記第1の指標と前記第2の指標と前記第3の指標との組み合わせを複数含み、
     前記判定部は、前記複数の組み合わせのうち、転送条件が最も厳しい組み合わせを基に判定を行うことを特徴とする請求項1に記載の判定装置。
  4.  前記判定部は、基準遅延値が第1の値である場合の最小の基準遅延超過パケット割合より、基準遅延値が前記第1の値よりも小さい第2の値である場合の、最小の基準遅延超過パケット割合が大きい場合、前記第2の値について、前記第2の基準遅延超過パケット割合が前記予測値を上回るか否かの判定処理を省略することを特徴とする請求項1に記載の判定装置。
  5.  前記判定部は、前記転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローについて、前記第2の基準遅延超過パケット割合が前記予測値を上回ると判定した場合、前記新規トラヒックフローの前記転送装置に対する収容を許可することを特徴とする請求項1に記載の判定装置。
  6.  前記転送装置への収容が拒否された前記新規トラヒックフローに対し、前記収容要求において申告された前記新規トラヒックフローの到着レートから段階的にレートを増減しながら、前記転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローについて、前記第2の基準遅延超過パケット割合が前記予測値を上回るレートを探索し、探索したレートを、前記新規トラヒックフローの収容要求元に通知することを特徴とする請求項1に記載の判定装置。
  7.  判定装置が実行する判定方法であって、
     第1の指標であるトラヒックフローの到着レート、第2の指標である、順守すべき転送遅延基準値である第1の基準遅延、第3の指標である第1の基準遅延超過パケット割合を含む新規トラヒックフローの収容要求を受け付ける工程と、
     転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローの到着レートの総量を第4の指標として、前記第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、前記転送装置における基準遅延ごとの基準遅延超過パケット割合の予測値を第6の指標として計算する工程と、
     各トラヒックフローについて、前記第2の基準遅延ごとに設定された第2の基準遅延超過パケット割合が、前記予測値を上回るか否かを、前記第2の基準遅延ごとに判定する工程と、
     前記第2の基準遅延超過パケット割合が前記予測値を上回る場合に、前記転送装置への前記新規トラヒックフローの収容を許可する工程と、
     を含んだことを特徴とする判定方法。
  8.  第1の指標であるトラヒックフローの到着レート、第2の指標である、順守すべき転送遅延基準値である第1の基準遅延、第3の指標である第1の基準遅延超過パケット割合を含む新規トラヒックフローの収容要求を受け付けるステップと、
     転送装置に前記新規トラヒックフローを収容した後の全トラヒックフローの到着レートの総量を第4の指標として、前記第4の指標を基に、第5の指標である各フローの第2の基準遅延ごとに、前記転送装置における基準遅延ごとの基準遅延超過パケット割合の予測値を第6の指標として計算するステップと、
     各トラヒックフローについて、前記第2の基準遅延ごとに設定された第2の基準遅延超過パケット割合が、前記予測値を上回るか否かを、前記第2の基準遅延ごとに判定するステップと、
     前記第2の基準遅延超過パケット割合が前記予測値を上回る場合に、前記転送装置への前記新規トラヒックフローの収容を許可するステップと、
     をコンピュータに実行させるための判定プログラム。
PCT/JP2023/005942 2023-02-20 2023-02-20 判定装置、判定方法及び判定プログラム WO2024176286A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/005942 WO2024176286A1 (ja) 2023-02-20 2023-02-20 判定装置、判定方法及び判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/005942 WO2024176286A1 (ja) 2023-02-20 2023-02-20 判定装置、判定方法及び判定プログラム

Publications (1)

Publication Number Publication Date
WO2024176286A1 true WO2024176286A1 (ja) 2024-08-29

Family

ID=92500627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/005942 WO2024176286A1 (ja) 2023-02-20 2023-02-20 判定装置、判定方法及び判定プログラム

Country Status (1)

Country Link
WO (1) WO2024176286A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006246119A (ja) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> 優先制御を用いて品質保証サービスを実現するネットワークシステムおよび呼受付判定方法、ならびにそのプログラム
JP2007511174A (ja) * 2003-11-05 2007-04-26 インターディジタル テクノロジー コーポレイション 無線lanに対するサービス品質の管理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511174A (ja) * 2003-11-05 2007-04-26 インターディジタル テクノロジー コーポレイション 無線lanに対するサービス品質の管理
JP2006246119A (ja) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> 優先制御を用いて品質保証サービスを実現するネットワークシステムおよび呼受付判定方法、ならびにそのプログラム

Similar Documents

Publication Publication Date Title
CN106789660B (zh) 软件定义网络中QoS可感知的流量管理方法
US9712448B2 (en) Proxy server, hierarchical network system, and distributed workload management method
US7274666B2 (en) Method and system for managing traffic within a data communication network
US6556578B1 (en) Early fair drop buffer management method
EP2671354B1 (en) System to share network bandwidth among competing applications
EP1851919B1 (en) Bandwidth allocation for telecommunications networks
US6721796B1 (en) Hierarchical dynamic buffer management system and method
US9559956B2 (en) Sharing bandwidth among multiple users of network applications
US20040264500A1 (en) Method and apparatus for policy-based dynamic preemptive scheduling of data transmissions
US7580353B1 (en) Method and apparatus to balance flow loads in a multipurpose networking device
US8149846B2 (en) Data processing system and method
US7848239B2 (en) Network system capable of dynamically controlling data flow and its method
JP2004266389A (ja) パケット転送制御方法及びパケット転送制御回路
George et al. Congestion control mechanism for unresponsive flows in internet through active queue management system (AQM)
US10764191B2 (en) Device and method for managing end-to-end connections
WO2024176286A1 (ja) 判定装置、判定方法及び判定プログラム
WO2024176287A1 (ja) 転送装置、転送方法及び転送プログラム
KR20020079904A (ko) 차등 서비스 네트워크에서 프레임 스케쥴링 및 버퍼관리를 위한 통합 알고리즘
Lemeshko et al. Mathematical model of queue management with flows aggregation and bandwidth allocation
Kryvinska et al. An analytical approach to the efficient real-time events/services handling in converged network environment
CN112995058A (zh) 一种令牌的调整方法及装置
CN117640525A (zh) 一种考虑通信时延的调度方法
JP3790897B2 (ja) パケット転送制御システムと方法およびそのプログラムと記録媒体ならびに通信装置
Almomani et al. Simulation Based Performance Evaluation of Several Active Queue Management Algorithms for Computer Network
RU2802911C1 (ru) Способ балансировки трафика в узле коммутации транспортной сети связи

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23923942

Country of ref document: EP

Kind code of ref document: A1