Flow path delay index evaluation device
Patent Information
- Application Number
- PCT/JP2025/005850
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2026-08-27
Smart Images

Figure JP2025005850_27082026_PF_FP_ABST
Abstract
Description
Flow Path Delay Index Evaluation Device
[0001] The present invention relates to a flow path delay index evaluation device, and particularly to a flow path delay index evaluation device in a network system through which a flow passes through a communication path having a redundant section.
[0002] For effective utilization of network bandwidth, a packet spreading technique has been proposed in which flow packets that have conventionally passed through the same path are dispersed and transferred to a plurality of paths heading to the same destination. Since this technique transmits packets to a link with a large amount of free bandwidth, it has the effect of avoiding congested paths and shortening the packet transfer time.
[0003] On the other hand, since packets belonging to the same flow experience different delays depending on the path they pass through, packet order reversal is likely to occur in the packet spreading technique. In particular, in communication protocols that perform sequence control such as TCP, a process of re-sorting packets in sequence order occurs at the time of reception. Therefore, the order reversal that occurs in the packet spreading technique leads to an increase in the load on processing functions such as the CPU.
[0004] Furthermore, when a timer that determines the time until packet loss is detected considering the round trip time (RTT) is used for retransmission control, the order reversal that occurs in the packet spreading technique increases this timer (retransmission timer). Non-Patent Document 1 describes a method of calculating this retransmission timer from the RTT of TCP packets.
[0005] According to the method described in Non-Patent Document 1, the retransmission timer is given by a provisional RTT that changes slowly in line with the RTT, and the difference between the provisional RTT and the measured RTT for each packet. The provisional RTT tends to converge to the average value of the RTT. Since order reversal represents the event where the arrival time of a particular packet is later than that of other packets, a situation in which order reversals occur frequently means that there are many measured RTTs that deviate greatly from the provisional RTT. In other words, a situation in which order reversals occur frequently increases the retransmission timer. For this reason, even when applying packet spraying, it is required that the RTT of each packet be as close to the same value as possible. For example, Non-Patent Documents 2 and 3 disclose packet spraying techniques.
[0006] IETF RFC6298, “Computing TCP's Retransmission Timer”, [online], [Retrieved November 15, 2024], Internet <URL: https: / / datatracker.ietf.org / doc / html / rfc6298> A. Dixit, P. Prakash, YC Hu and RR Kompella, "On the impact of packet spraying in data center networks," 2013 Proceedings IEEE INFOCOM, Turin, Italy, 2013, pp. 2130-2138 D. Shokarev, “To Spray or Not to Spray,” Juniper Networks, Nov. 21, 2023, [online], [Retrieved January 16, 2020], Internet <URL: https: / / community.juniper.net / blogs / dmitry-shokarev1 / 2023 / 11 / 21 / to-spray-or-not-to-spray>
[0007] When a flow is transferred across regional networks located in different areas, the distance of the paths connecting these regional networks can exceed 100 km. When redundancy is provided by multiple paths between such regional networks, for reasons such as distributing disaster risk, the points through which these paths pass may differ, and consequently, the distance and propagation delay of each path may differ significantly from one another.
[0008] When the distance of the path connecting regional networks exceeds 100 km, the forwarding delay exceeds 300 microseconds per 100 km, even considering only the optical propagation delay. With the recent increase in data transfer speeds, in situations where the RTT within a regional network is less than 100 microseconds, the RTT changes significantly depending on the path taken by each of the redundant paths between the networks. Therefore, when performing packet spraying in an environment that includes such paths, the distribution of RTT becomes very large. As a result, the retransmission timer increases, and retransmissions occur due to packet loss, which can lead to situations where the forwarding delay of some packets becomes excessively long.
[0009] For example, if packet spraying is performed along the entire path a TCP flow travels, the delay experienced by packets will differ depending on the path they take. If the path includes sections with large delay differences, the difference in packet delays across the path will diverge significantly. In that case, if the TCP retransmission timer is calculated using the retransmission timer calculation formula described in Non-Patent Document 1, the calculated value will be larger than normal. This will result in delays in retransmission when packet loss occurs. However, given the packet spraying technology, there has been no known technique to evaluate whether packets can be distributed and forwarded within a path with a section configuration that includes sections with large delay differences.
[0010] Therefore, in view of the above circumstances, the object of the present invention is to provide a technology for evaluating whether packets can be distributed and forwarded within a route with a segment configuration that includes segments with large delay differences, assuming packet spraying technology.
[0011] The flow path delay index evaluation device according to the present invention comprises a delay index calculation unit that estimates an index for estimating the delay of a flow passing through a communication path having redundant sections using probability calculation, the delay index calculation unit comprising: a delay average calculation unit that calculates the average of the delay based on delay information of redundant sections and delay information of sections other than redundant sections in the path through which the flow passes; a variance calculation unit that calculates the variance of the delay based on delay information of redundant sections and delay information of sections other than redundant sections; and a forwarding delay calculation unit that calculates the average forwarding delay of packets in the flow, the average retransmission timer value of the packets, and the average forwarding delay of packets lost a predetermined number of times, respectively, as flow path delay indices by applying the average and variance of the delay to a predetermined relational expression that takes into account past packet distribution results.
[0012] According to the present invention, a technique can be provided to evaluate whether packets can be distributed and forwarded within a path with a segment configuration that includes segments with large delay differences, assuming packet spraying technology.
[0013] This is a schematic diagram of the flow path delay index evaluation device according to the first embodiment. This is a schematic diagram of the network system. This is a schematic diagram of the flow path delay index evaluation device according to the second embodiment. This is a schematic diagram showing an example of a network configuration. This is an example of a redundant section management table. This is a flow information management table using flow IDs. This is a flow information management table using class IDs. This is a table showing the correspondence between flow IDs and class IDs. This is an explanatory diagram of the RTT of a redundant section and the RTT of other sections. This is a schematic diagram of a redundant section of an optical path. This is a schematic diagram explaining the product of the delays of consecutive packets. This is a schematic diagram explaining the actual measurement of RTT for each packet. This is a schematic diagram showing an example of the actual measurement of RTT when an Ack is not returned for each packet. This is a schematic diagram showing another example of the actual measurement of RTT when an Ack is not returned for each packet. This is an example of an RTT information management table. This is a schematic diagram showing an example of a method for calculating deemed RTT. This is a flowchart showing the processing flow of the flow delay condition determination unit. This is a schematic diagram showing a flow that passed through only a single path within a redundant section. This is a schematic diagram showing a flow in which some packets were distributed. This is a flowchart showing the processing flow of the flow distribution policy calculation unit. This is a flowchart showing the processing flow of the flow distribution policy calculation unit. It is a graph showing the relationship between the distribution ratio to the selected path and the retransmission timer. This is a hardware configuration diagram showing an example of a computer that implements the functions of the flow path delay index evaluation device according to the embodiment.
[0014] The flow path delay index evaluation device according to this embodiment will be described in detail below with reference to the drawings.
[0015] [First Embodiment] As shown in Figure 1, the flow path delay index evaluation device 1 comprises a control unit 200, a storage unit 300, and a communication unit 400. The control unit 200 is configured to include a CPU (Central Processing Unit) and comprises a delay index calculation unit 210. The delay index calculation unit 210 estimates an index for estimating the delay of a flow passing through a communication path having a redundant section using probability calculation. The delay index calculation unit 210 comprises a delay average calculation unit 211, a distribution calculation unit 212, and a transfer delay calculation unit 213.
[0016] The delay average calculation unit 211 calculates the average of the delays based on the delay information of redundant sections and the delay information of sections other than the redundant sections in the path through which the flow passes. The distribution calculation unit 212 calculates the distribution of the delays based on the delay information of redundant sections and the delay information of sections other than the redundant sections. The forwarding delay calculation unit 213 calculates the average forwarding delay of packets in the flow, the average retransmission timer value of packets, and the average forwarding delay of packets lost a predetermined number of times, as flow path delay indicators, by applying the average and distribution of delays to a predetermined relational expression that takes into account past packet distribution results. Equation (3a) below is an example of a relational expression used when calculating the average forwarding delay. Equation (3) below is an example of a relational expression used when calculating the average retransmission timer value. Equation (5) below is an example of a relational expression used when calculating the average forwarding delay of packets lost a predetermined number of times. Furthermore, if there are conditions regarding the standard maximum delay that a flow can tolerate and the percentage of packets that exceed it, the forwarding delay calculation unit 213 can calculate the percentage of packets exceeding the standard maximum delay (approximate value) as a flow path delay index based on equation (6) described below.
[0017] The storage unit 300 is comprised of storage devices such as ROM (Read Only Memory) and RAM (Random Access Memory). The storage unit 300 stores the RTT information management table 330 and the program 350. The RTT information management table 330 is a table that manages the RTT of packets when the measured RTT value is used to evaluate delay conditions. The program 350 contains a description of the processing to be executed by the functional unit provided in the control unit 200. The communication unit 400 is equipped with a communication device (communication interface) and can transmit and receive data with other devices.
[0018] Next, the flow path delay index calculated by the delay index calculation unit 210 will be explained using a mathematical formula. The following formula (1) is the formula for calculating the retransmission timer based on the formula described in Non-Patent Document 1 (RFC6298).
[0019]
[0020] Here, RTO represents the retransmission timer, Sr represents the provisional RTT, R is the measured RTT, and represents the RTT of the first packet. E[*] represents the average (expected) value of *.
[0021] The inventors of this application evaluated the effect of the packet distribution policy on the value of the retransmission timer using the mathematical models shown in equations (2) to (4) below.
[0022] When a flow is forwarded across multiple geographically separated regional networks, the total RTT of the paths connecting the regional networks will be denoted as "RTT R" or "R" below. The path a flow takes includes redundant sections (e.g., optical paths) and non-redundant sections (other sections). The RTT of the redundant section (e.g., optical paths) will be denoted as "O" below. The RTT of the other sections will be denoted as "D" below. For the total RTT, the RTT at which the i-th flow packet and Ack overlap will be denoted as "R" below. i This is written as ". The following equation (2) is a relational expression for the retransmission timer RTO that approximates equation (1).
[0023]
[0024] The following equation (3) is a relation derived from equation (2) when the destination of a packet is determined by considering past packet distribution results during packet distribution. The following equation (4) is a comparison relation derived from equation (2) when the above consideration is not taken into account.
[0025]
[0026]
[0027] The sum of the first and second terms on the right-hand side of equation (3) represents the mean RTT, as shown in equation (3a). The polynomial in the third term on the right-hand side of equation (3) represents the variance of the RTT, as shown in equation (3b). Equation (4) also includes the mean RTT and the variance of the RTT.
[0028] As a result of the inventors' diligent study of mathematical models, they found that the mean and variance of RTT as parameters affect the value of the retransmission timer. They also found that when there are two distribution paths, the greatest impact on the retransmission timer value occurs when packets are sprayed evenly. Furthermore, the third term of equation (4) has a larger value than the third term of equation (3). In other words, the retransmission timer in equation (3) is smaller than the retransmission timer in equation (4). Therefore, the delay index calculation unit 210 can retransmit packets quickly when they are lost by using the retransmission timer in equation (3), which is a model that determines the distribution destination by considering past packet distribution results.
[0029] In the delay index calculation unit 210, the delay average calculation unit 211 calculates the average delay in the redundant section and the average delay outside the redundant section based on the delay for each path in the redundant section, the packet distribution policy to the redundant section, and the delay in areas outside the redundant section. The distribution calculation unit 212 calculates the mean square of the delay in the redundant section and the mean square of the delay in areas outside the redundant section based on the delay for each path in the redundant section, the packet distribution policy to the redundant section, and the delay in areas outside the redundant section. The method for calculating the average and mean square of the delay in the redundant section from the packet distribution policy will be described later.
[0030] The forwarding delay calculation unit 213 determines the correlation of delays of consecutive packets and calculates the average retransmission timeout time (retransmission timer) of packets by applying the value calculated by the delay average calculation unit 211, the value calculated by the distribution calculation unit 212, and the packet correlation value to equation (3).
[0031] The forwarding delay calculation unit 213 calculates the average forwarding delay when the packet loss rate is given by γ. The following equation (5) is given by the average forwarding delay E[D transfer The transmission delay calculation unit 213, given γ, calculates the average transmission delay E[D] in the same way as the retransmission timer RTO in equation (3). transfer Calculate ].
[0032]
[0033] The following equation (6) shows the formula for calculating an approximate value of the percentage of packets exceeding the reference maximum delay. When the forwarding delay calculation unit 213 is given a reference maximum delay, it calculates the average forwarding delay E[D] shown in equation (5). transfer Based on the calculation results of [ ], an approximate value of the percentage of packets exceeding the reference maximum delay is calculated using the Markov inequality.
[0034]
[0035] Furthermore, it is possible to appropriately change which of the subdivided functional units in the delay index calculation unit 210 calculates what. The flow path delay index evaluation device 1 is used, for example, together with the controller 2 of the network system 3 shown in Figure 2. The flow path delay index evaluation device 1 may be separate from the controller 2, or the flow path delay index evaluation device 1 may have at least some of the controller's functions.
[0036] (Second Embodiment) In the following description, a second embodiment will be described with reference to Figures 2 and 3, in which the controller 2 is a broad-sense flow path delay index evaluation device that includes all the components shown in Figure 1. First, the network system will be described.
[0037] As shown in FIG. 2, the network system 3 includes a regional network DC1 and a regional network DC2. The regional network DC1 includes a server SV1, switches SW01, SW02, SW1, and SW2, and gateways GW1 and GW2. The switches SW01 and SW02 are switches arranged on the server side. The switches SW01 and SW02 are respectively connected to the switches SW1 and SW2. The switches SW1 and SW2 are switches arranged on the gateway side and are branch points of multiple paths (front-stage switches). The front-stage switch has only one packet output port to reach a specific gateway. If the front-stage switch outputs to other ports, it cannot send packets to the gateway. In the front-stage switch, packets are transmitted to any one of the multiple paths in flow units. The switches SW1 and SW2 are respectively connected to the gateways GW1 and GW2.
[0038] The regional network DC2 includes a server SV2, switches SW03, SW04, SW3, and SW4, and gateways GW3 and GW4. The switches SW03 and SW04 are switches arranged on the server side. The switches SW03 and SW04 are respectively connected to the switches SW3 and SW4. The switches SW3 and SW4 are front-stage switches. The switches SW3 and SW4 are respectively connected to the gateways GW3 and GW4.
[0039] Between the regional network DC1 and the regional network DC2, a redundant section is configured by, for example, two data transfer paths (for example, optical paths). Hereinafter, in this embodiment, the communication paths constituting the redundant section are assumed to be optical paths. The optical path OP1 connects the gateway GW1 of the regional network DC1 and the gateway GW3 of the regional network DC2. The optical path OP2 connects the gateway GW2 of the regional network DC1 and the gateway GW4 of the regional network DC2. The optical paths OP1 and OP2 constitute the redundant section of the regional networks DC1 and DC2. The optical path OP1 is, for example, a long-distance path, and the propagation delay is, for example, 200 μs. The optical path OP2 is, for example, a single-distance path, and the propagation delay is, for example, 100 μs.
[0040] [Controller (Flow Path Delay Index Evaluation Device)] Next, the controller (flow path delay index evaluation device) according to the second embodiment will be described with reference to FIG. 3. The same components as those shown in FIG. 1 are denoted by the same reference numerals and the description thereof is omitted. As shown in FIG. 3, the controller 2 includes a control unit 200, a storage unit 300, and a communication unit 400.
[0041] The control unit 200 includes a delay index calculation unitAs shown in Figure 1, the delay index calculation unit 210 includes a delay average calculation unit 211, a distribution calculation unit 212, and a forwarding delay calculation unit 213. Figure 6 is a schematic diagram showing the correspondence between R (RTT R), O (RTT O), and D (RTT D) shown in the above-mentioned equation (3) and the network system 3. The D (RTT D) used in the calculation is the sum of the RTT D in regional network DC1 and the RTT D in regional network DC2.
[0044] The redundant section management unit 220 uses the redundant section management table 310 to calculate the destination route for the flow. The redundant section management table 310 is a table that manages the sections to which the packet distribution policy is applied. The redundant section management table 310 is referenced when calculating the flow route.
[0045] The redundant sections (optical paths) are not limited to two paths, and the number of regional networks is not limited to two. For example, as shown in Figure 4A, there may be three regional networks, or there may be three optical paths between regional networks. In the example shown in Figure 4A, regional network DC3 is equipped with switches SW16-1 and SW16-2, and gateways GW16-1 and GW16-2. Regional network DC4 is equipped with switches SW18-1 and SW18-2, and gateways GW18-1, GW18-2, and GW18-3. Regional network DC5 is equipped with switches SW24-1 and SW24-2, and gateways GW24-1, GW24-2, and GW24-3.
[0046] Figure 4B shows an example of a redundant section management table 310 created in accordance with the network system shown in Figure 4A. As shown in Figure 4B, this redundant section management table 310 is configured by associating a redundant section ID with information on the regional networks located at both ends of the section and information on the routes that constitute the section. The route information holds the connection status of the redundant section (gateways at both ends) as essential information. Specifically, the connection status refers to the information of the gateways located at both ends of the section. The route information may optionally hold additional route information. Additional information may include, for example, information on the propagation delay of the communication paths (optical paths) that constitute the section.
[0047] The network information collection unit 230 collects optical path propagation delay and flow distribution policy information as network information. The network information collection unit 230 collects propagation delay information via the switches (pre-switches) SW1 to SW4 shown in Figure 2. The propagation delay information and other data collected by the network information collection unit 230 are stored in the network information management table 320.
[0048] The information collected by the network information collection unit 230 is referenced by the delay index calculation unit 210. The delay average calculation unit 211 of the delay index calculation unit 210 calculates the average delay for the flow based on the optical path propagation delay information and flow distribution policy information collected as network information. The distribution calculation unit 212 also calculates the distribution of delay for the flow based on the optical path propagation delay information and flow distribution policy information collected as network information.
[0049] The RTT information management unit 240 manages RTT average value and RTT variance information in association with the flow. The RTT information management unit 240 refers to the RTT information management table 330. The RTT information management table 330 is necessary when measured values are used to evaluate delay conditions, but is not necessary when measured values are not used.
[0050] The RTT information management unit 240 refers to the flow information management table 340. The flow information management table 340 is a table that manages the average delay, etc., that a flow can tolerate. The standard maximum delay that a flow can tolerate is considered to have an impact on the service. Therefore, in addition to the average delay that a flow can tolerate, the flow information management table 340 manages the standard maximum delay and the percentage of packets that exceed the standard maximum delay.
[0051] The flow information management table 340 can be configured as a table that searches for delay information from a flow ID, for example, as shown in Figure 5A. In the table shown in Figure 5A, the flow ID is associated with the allowable maximum average delay, the standard maximum delay, and the percentage of packets exceeding the allowable delay. This information (rows) associated with the flow ID is called delay information or delay condition. Note that the delay index calculation unit 210 uses a probability model to calculate an estimated delay value to compare with the above values, so it is not possible to set the percentage of packets exceeding the standard maximum delay to 0%.
[0052] Alternatively, the flow information management table 340 can be configured as a table that groups flows into classes, retrieves class IDs from flow IDs, and retrieves delay information from class IDs (see Figures 5B and 5C). In table 341 shown in Figure 5B, the class ID is associated with the allowable maximum average delay, the standard maximum delay, and the allowable delay excess packet percentage. This information (rows) associated with the class ID is called delay information or delay condition. In table 342 shown in Figure 5C, the flow ID is associated with the class ID.
[0053] Next, we will explain in detail how the delay index calculation unit 210 calculates the average value and root mean square of the delays incurred in the redundant section from the packet distribution policy. Here, we will explain two types of examples depending on whether the packet distribution policy and the delays of each section at the time of calculation can be predicted with high accuracy. Firstly, if the packet distribution policy and the delays of each section are known and do not fluctuate significantly, the delay index calculation unit 210 performs the calculation according to a probabilistic model. Secondly, if the packet distribution policy and the delays of each section are unknown or fluctuate significantly, the delay index calculation unit 210 performs the calculation using the measured RTT value.
[0054] [Calculation Method Using a Probability Model] The delay index calculation unit 210 calculates the mean, mean square, and correlation of RTT from the delay data and distribution policy for each section. As an example, we will describe the case where the redundant section consists of a path with a propagation delay of 100 μs and a path with a propagation delay of 200 μs, and the delays of sections other than the redundant path can be ignored. Here, as shown in Figure 7A, assuming that the delay O of the redundant section consisting of optical paths OP1 and OP2 is large, the delay D of the other sections can be ignored (R=O+D).
[0055] Example 1-1. When packets are allocated 50% to each path: In this case, the delay index calculation unit 210 calculates the mean, mean square, and correlation of RTT as shown in equations (7) to (9) below.
[0056]
[0057] Example 1-2. When one packet is sent along a 100μs path, and then two packets are sent along a 200μs path, and this process is repeated, the delay index calculation unit 210 calculates the mean, mean square, and correlation of RTT as shown in equations (10) to (14) below. Here, j≧0, and the correlation is calculated for each n.
[0058]
[0059] Here, for example, the basis for the calculation in equation (12) will be explained with reference to Figure 7B. Figure 7B is a schematic diagram illustrating the product of delays of consecutive packets. In Figure 7B, each rectangle schematically represents a packet. The numbers between each rectangle (packet) indicate the transmission order.
[0060] The delay of the first packet (No. 1) is 100 μs. The delay of the next packet (No. 2) is 200 μs. The same applies to the third packet after No. 1. (The delay of packet No. 4 is 100 μs, and the delay of packet No. 5 is 200 μs.) The delay of the packet after the first one (No. 2) is 200 μs. The delay of the next packet (No. 3) is 200 μs. The same applies to the third packet after No. 2. (The delay of packet No. 5 is 200 μs, and the delay of packet No. 6 is 200 μs.) The delay of the packet after the next one (No. 3) is 200 μs. The delay of the next packet (No. 4) is 100 μs. The same applies to the third packet after No. 3. (The delay of packet No. 6 is 200 μs, and the delay of packet No. 7 is 100 μs.) In summary, there are two patterns of 100 x 200 and one pattern of 200 x 200. From this, equation (12) is derived.
[0061] Equation (13) is derived in a similar manner. For example, the delay of the first packet (No. 1) is 100 μs. After a gap, the delay of packet No. 3 is 200 μs. The same applies to the third packet after No. 1. (The delay of packet No. 4 is 100 μs, and after a gap, the delay of packet No. 6 is 200 μs.) The rest is omitted, but in summary, there are two patterns of 100 x 200 and one pattern of 200 x 200. From this, equation (13) is derived.
[0062] Equation (14) is derived in a similar manner. For example, the delay of the first packet (No. 1) is 100 μs. After a gap of two packets, the delay of packet No. 4 is also 100 μs. The same applies to the third packet after No. 1. (The delay of packet No. 4 is 100 μs, and after a gap of two packets, the delay of packet No. 7 is also 100 μs.) The rest is omitted, but in summary, there are two patterns of 200x200 and one pattern of 100x100. From this, equation (14) is derived.
[0063] [Method for calculating the average and root mean square of delay from measured RTT values] Next, we will explain how to calculate the average and root mean square of delay from measured RTT values with reference to Figure 8. Figure 8 is a schematic diagram illustrating the measured RTT for each packet. The Ack for packet with sequence number "1" (hereinafter referred to as packet 1) has not been returned, as shown by the dashed line. The Ack for packet 2 has not been returned, as shown by the dashed line. The Ack for packets 3, 4, and 6 has been returned, as shown by the solid lines. Packet 5 is lost. The Ack for packet 6 notifies the packet number "4" that preceded the lost packet. At this time, the delay index calculation unit 210 uses the RTT of the packets that were not retransmitted. For example, the RTT of packet 5 shown in Figure 8 is not used. In this case, the value calculated from the measured data is the total RTT R, which is the sum of the delay in the redundant section (O) and the delay in the other sections (D). Note that R3 and R6 are measured values, while R1, R2, and R4 are provisional values.
[0064] Sending an Acknowledgment (ACK) for each packet increases the processing load on the terminal, so in some cases, Acknowledgments from multiple packets are aggregated into a single packet (SACK [RFC2883]). Therefore, the handling of cases where an Ack is not sent for each packet (Pattern 1) will be explained with reference to Figure 9. In this case, the RTT used in the above formula is the RTT for the packet with the highest packet sequence number listed in the Ack.
[0065] As shown in Figure 9, the acknowledgments for packets 1, 2, and 3 are aggregated into a single packet and returned as Ack1, 2, and 3. Packet 5 is lost. The acknowledgments for packets 4 and 6 are aggregated into a single packet and returned as Ack4 and 6. In this case, R i R1 shows the flow packets whose RTT was measured by the i-th Ack, and the RTT that the Ack overlaps with. In the example in Figure 9, R1 shows flow packets 1, 2, and 3 whose RTT was measured by the first Ack, and the RTT that Acks 1, 2, and 3 overlap with. R2 shows flow packets 4 and 6 whose RTT was measured by the second Ack, and the RTT that Acks 4 and 6 overlap with.
[0066] Next, we will explain how to handle cases where an Ack is not sent for each packet (Pattern 2), referring to Figure 10. This example is R i In Figure 10, R3 and R6 are measured values, while R1, R2, R4, and R5 are provisional values. This differs from the examples shown in Figures 8 and 9.
[0067] The RTT information management table 330 is a table that manages the RTT of packets when the measured RTT value is used to evaluate delay conditions. As shown in Figure 11, the RTT information management table 330 is separated into, for example, a table T31 that describes flow information and a table T32 for managing packet RTT for each sequence number. Table T31 is configured by associating flow IDs with table pointers. Table T32 is configured by associating the sequence number of the packet in the flow with the RTT of the packet.
[0068] As shown by the dashed line in Figure 11, the table address "1" listed in table T31 is associated with the starting address "1" of table T32, that is, the upper left corner of table T32. By separating the RTT information management table 330 as shown in Figure 11, a reduction in memory area and an improvement in search speed can be achieved. Note that the RTT information management table 330 can also be configured by combining table T31 and table T32.
[0069] [RTT Information Management Packet Selection Method] The information recorded in the RTT information management table 330 includes processing such as the aggregation of Acks for multiple packets. Therefore, the selection of packets to be recorded in the RTT information management table 330 is performed according to a predetermined algorithm that has been set in advance. This predetermined algorithm may include the process of calculating deemed RTT, that is, the handling of cases where the aforementioned Ack is not returned for each packet (Pattern 2). In that case, the RTT of packets for which the Ack is not returned in real time is calculated and written to the RTT information management table 330.
[0070] The deemed RTT calculation unit 250 executes an algorithm that includes the process of calculating the deemed RTT. Below, an example of estimating the deemed RTT (steps 1 to 3) will be explained with reference to Figure 12. Figure 12 is a schematic diagram showing an example of a method for calculating the deemed RTT. Here, as shown in column A of Figure 12, the packet distribution policy is to repeatedly send one packet to a path with a propagation delay of 100 μs, and then send two packets to a path with a propagation delay of 200 μs. In column A of Figure 12, each rectangle schematically represents a packet. The number above each rectangle (packet) shows an example of the transmission order. The number below each rectangle (packet) shows the propagation delay of the path the packet traveled. In Figure 12, the hatched rectangles schematically represent packets for which an Ack has been returned.
[0071] (Step 1) The assumed RTT calculation unit 250 estimates whether the packet took the 100 or 200 μs path based on the RTT of the packet from which an Ack has been returned. For the sake of explanation, we assume that the RTT of the packet from which an Ack has been returned (received RTT) was 200 μs, and that an Ack will be returned in the fourth packet from there.
[0072] (Step 2) The 200μs packets are the second and third packets in column A of Figure 12. Let's assume that the next packet to be received will also be 200μs. For the sake of explanation, let's assume here that the packet that actually received an Ack is the third one, and the RTT of the next packet is the fourth one, at 100μs. Column B of Figure 12 schematically shows the packets estimated (not correct) by the assumed RTT calculation unit 250. Column C of Figure 12 also shows the packets that the assumed RTT calculation unit 250 estimated (not correct) to be received next. The assumed RTT calculation unit 250 estimates that the next packet to receive an Ack will travel through a path that experiences a 200μs delay.
[0073] (Third Step) Next, let's assume that the RTT of the packet that received an Ack is measured and found to be 101 μs. According to the premise, the fourth packet after the third is the seventh packet, so according to column A in Figure 12, the measured RTT should be 100 μs. As a result, the estimated RTT calculation unit 250 recognizes that the estimation in the second step was incorrect, and that the next packet that received an Ack passed through a path that suffered a delay of 100 μs, close to the measured value. Also, according to the premise, the policy of sending one packet on a 100 μs path and then sending two packets on a 200 μs path is known. Therefore, as shown in column D in Figure 12, the estimated RTT calculation unit 250 confirms that the packets that received an Ack are the third and seventh packets. Furthermore, the deemed RTT calculation unit 250 calculates the RTT of the 4th, 5th, and 6th packets retrospectively, at 100 μs, 200 μs, and 200 μs, based on the measurement result of the 7th packet. The deemed RTT calculation unit 250 records the calculated RTT as the deemed RTT of the 4th, 5th, and 6th packets (column E in Figure 12).
[0074] The flow delay condition determination unit 260 compares the delay conditions related to the average delay, the standard maximum delay, and the percentage of packets exceeding the standard maximum delay that the flow is allowed with the calculated values of the average delay and the percentage of packets exceeding the standard maximum delay, respectively, calculated by the delay index calculation unit 210, and determines whether the calculated values match the delay conditions. The flow delay condition determination unit 260 refers to the flow information management table 340.
[0075] Next, the flow delay condition determination process will be explained with reference to Figure 13. The delay index calculation unit 210 of the controller 2 obtains from the flow information the redundant section through which the flow passes and the packet distribution policy for that section (step S101). Then, the delay index calculation unit 210 calculates the average delay and the mean square of the delay values for sections other than the redundant section (step S102). The delay index calculation unit 210 also calculates for each redundant section the average delay, the mean square of the delay values, and the correlation value of the delays of consecutive packets related to the packet distribution policy (step S103). Then, the delay index calculation unit 210 calculates the average forwarding delay of the flow packets (equation (5)) and the percentage of packets exceeding the standard maximum delay (equation (6)) from each calculated value and the packet loss rate that occurs during packet forwarding (step S104).
[0076] The flow delay condition determination unit 260 compares each calculated value with the delay conditions (thresholds) listed in the flow information management table 340. The flow delay condition determination unit 260 determines whether the calculated value is less than or equal to the threshold (step S105). If the calculated value is less than or equal to the threshold (step S105: Yes), the flow delay condition determination unit 260 determines that the packet distribution policy meets the delay conditions (step S106). If the calculated value is greater than the threshold (step S105: No), the flow delay condition determination unit 260 determines that the packet distribution policy does not meet the delay conditions (step S107).
[0077] The flow distribution policy calculation unit 270 uses the average and variance of delays for the flow calculated by the delay average calculation unit 211 and the variance calculation unit 212, along with the traversable paths of the flow packets, their bandwidth, and propagation delay information, to calculate the distribution ratio of flow packets along the traversable paths that satisfy the retransmission timer value allowed by the flow. The flow distribution policy calculation unit 270 refers to the flow information management table 340.
[0078] [Specific Examples of Flow Path Conditions] Next, we will explain in detail the specific flow path conditions that can be assumed and the processing of the controller (flow path delay index evaluation device) 2 in response to them. Here, we assume a situation in which a flow that was passing through a single path without utilizing multiple paths within a redundant section is migrated to another path due to bandwidth overflow of that path. For example, as shown in Figure 14A, the target flow is assumed to be heading from gateway GW2 (regional network DC1) to gateway GW4 (regional network DC2) in a redundant section via only optical path OP2.
[0079] Simply switching to optical path OP1 due to bandwidth overflow on optical path OP2 will result in a large variation in RTT for packets, and an increase in retransmission timers, especially when packets have different paths. Consequently, retransmission in the event of packet loss will be delayed, increasing the forwarding delay of the packet in question.
[0080] In response, the controller (flow path delay index evaluation device) 2, when given an acceptable RTT value, calculates the percentage of packets to be distributed to multiple less congested paths through the operation of the flow distribution policy calculation unit 270, etc. When distributing a portion of the target flow, the flow distribution policy calculation unit 270 calculates what percentage of the flow packets can be distributed in order to keep the RTT of the flow packets below the acceptable RTT. Then, for example, as shown in Figure 14B, the target flow passes through optical path OP2, and a portion is distributed to optical path OP1.
[0081] [Flow Distribution Policy Calculation Process] Next, the flow distribution policy calculation process in the controller (flow path delay index evaluation device) 2 will be described with reference to Figures 15A and 15B.
[0082] The flow distribution policy calculation unit 270 selects a route that can accommodate the flow to be distributed (hereinafter referred to as a route candidate) and obtains the bandwidth and delay information of that route (step S201). Then, the flow distribution policy calculation unit 270 sorts the route candidates in descending order of bandwidth (step S202).
[0083] The flow distribution policy calculation unit 270 then selects the route candidate with the maximum bandwidth from among the sorted route candidates (step S203). The flow distribution policy calculation unit 270 then passes the processing to the delay index calculation unit 210. The delay index calculation unit 210 calculates the estimated retransmission timer value when the target packet is distributed to the selected route candidate (step S204). The flow distribution policy calculation unit 270 obtains the estimated retransmission timer value from the delay index calculation unit 210.
[0084] The flow distribution policy calculation unit 270 then determines whether the estimated retransmission timer value is greater than the allowable estimated retransmission timer value (step S205). If the estimated retransmission timer value is greater than the allowable estimated retransmission timer value (step S205: Yes), the flow distribution policy calculation unit 270 hands over the processing to the delay index calculation unit 210. The delay index calculation unit 210 calculates the estimated retransmission timer value when all traffic that can be accommodated in the remaining bandwidth of the route candidate selected by the flow distribution policy calculation unit 270 is distributed (step S206). The flow distribution policy calculation unit 270 obtains the estimated retransmission timer value from the delay index calculation unit 210.
[0085] The flow distribution policy calculation unit 270 then determines whether the estimated retransmission timer value is greater than the estimated allowable retransmission timer value (step S207). If the estimated retransmission timer value is greater than the estimated allowable retransmission timer value (step S207: Yes), the flow distribution policy calculation unit 270 selects the next largest bandwidth candidate from the current route candidate (step S208). If there is no next largest bandwidth candidate, the flow distribution policy calculation unit 270 determines that the flow packet cannot be distributed.
[0086] On the other hand, in step S207, if the estimated retransmission timer is less than or equal to the allowable estimated retransmission timer (step S207: No), the flow distribution policy calculation unit 270 sets the route and distribution ratio at this point as the new distribution policy for the flow packets (step S209). Also, in step S205, if the estimated retransmission timer is less than or equal to the allowable estimated retransmission timer (step S205: No), the flow distribution policy calculation unit 270 proceeds to step S209.
[0087] Next, we will explain why the discrimination process shown in Figure 15A (step S205) and the discrimination process shown in Figure 15B (step S207) are executed in the above flow distribution policy calculation process. As shown in Figures 15A and 15B, when distributing a flow to two paths in a redundant section, the calculated value of the retransmission timer becomes a convex function with respect to the distribution ratio, as shown in Figure 16.
[0088] In the graph in Figure 16, the horizontal axis represents the allocation ratio α (0 ≤ α ≤ 1) to the selected path, and the vertical axis represents the calculated value of the retransmission timer. Ratio α1 is an example of a value closer to 0 than 0.5. Ratio α2 is an example of a value closer to 1 than 0.5, and corresponds to the maximum remaining bandwidth of the selected path.
[0089] When the ratio α1, the value of the convex function (calculated value of the retransmission timer) is greater than the allowable value (allowable retransmission timer). This corresponds to the Yes situation in step S205 of Figure 15A. In this case, the graph shows that the allowable retransmission timer cannot be satisfied unless the ratio allocated to the selected path (optical path OP1) is reduced.
[0090] When the ratio α1, the value of the convex function (calculated value of the retransmission timer) is greater than the allowable value (allowable retransmission timer). This corresponds to the Yes situation in step S207 of Figure 15B. In this case, the graph shows that the allowable retransmission timer cannot be satisfied unless the ratio allocated to the selected path (optical path OP1) is increased. However, since the remaining bandwidth of the selected path is at its maximum value, it is impossible to accommodate any more traffic on the selected path.
[0091] In contrast, in step S205 of Figure 15A, under the "No" situation, the ratio calculated for the retransmission timer is a predetermined value smaller than ratio α1, and the flow distribution policy ratio is calculated. Also, in step S207 of Figure 15B, under the "No" situation, the ratio calculated for the retransmission timer is a predetermined value larger than ratio α2, and the flow distribution policy ratio is calculated.
[0092] [Hardware Configuration] The flow path delay index evaluation device 1 and controller 2 according to the embodiment are implemented by a computer 900 having a configuration such as that shown in Figure 17. The computer 900 has a CPU 901, RAM (Random Access Memory) 902, ROM (Read Only Memory) 903, HDD (Hard Disk Drive) 904, input / output I / F (Interface) 906, media I / F 907, and communication I / F 908.
[0093] The CPU 901 operates based on programs stored in the ROM 903 or HDD 904, and controls various parts of the flow path delay index evaluation device 1 by executing programs loaded into the RAM 902. This program can also be distributed via a communication line or by recording it on a recording medium 917 such as a CD-ROM. This program, when executed by the CPU 901, is the program that realizes the flow path delay index evaluation device 1. The ROM 903 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.
[0094] The CPU 901 controls the input / output device 916, which consists of an input unit such as a mouse and keyboard, and an output unit such as a display and printer, via the input / output interface 906. The CPU 901 acquires data from the input / output device 916 via the input / output interface 906 and outputs generated data to the input / output device 916. In addition to the CPU 901, a GPU (Graphics Processing Unit) or the like can also be used as a processor.
[0095] The HDD 904 stores programs executed by the CPU 901 and data used by those programs. The communication I / F 908 receives data from an external device 915 via the communication network and outputs it to the CPU 901, and also transmits data generated by the CPU 901 to the external device 915 via the communication network.
[0096] The media interface 907 reads a program or data stored in the recording medium 917 and outputs it to the CPU 901 via the RAM 902. The CPU 901 loads the program related to the desired processing from the recording medium 917 onto the RAM 902 via the media interface 907 and executes the loaded program. The recording medium 917 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, or a semiconductor memory.
[0097] For example, when computer 900 functions as a flow path delay index evaluation device 1, the CPU 901 implements the function of the flow path delay index evaluation device 1 by executing a program loaded onto RAM 902. The data in RAM 902 is stored in HDD 904. The CPU 901 reads and executes a program related to the target processing from the recording medium 917. Alternatively, the CPU 901 may read a program related to the target processing from another device via a communication network.
[0098] [Effects] [1] A flow path delay index evaluation device comprising: a delay index calculation unit (210) that estimates an index for estimating the delay of a flow passing through a communication path having redundant sections using probability calculations; the delay index calculation unit (210) comprising: a delay average calculation unit (211) that calculates the average of the delay based on delay information of redundant sections and delay information of sections other than redundant sections in the path through which the flow passes; a variance calculation unit (212) that calculates the variance of the delay based on delay information of redundant sections and delay information of sections other than redundant sections; and a forwarding delay calculation unit (213) that calculates the average forwarding delay of packets in the flow, the average retransmission timer value of the packets, and the average forwarding delay of packets that are lost a predetermined number of times, respectively, as flow path delay indices by applying the average and variance of the delays to a predetermined relational expression that takes into account past packet distribution results.
[0099] As a result, the flow path delay index evaluation device 1 can provide a technology to evaluate whether packets can be distributed and forwarded within a path with a segment configuration that includes segments with large delay differences, assuming packet spraying technology.
[0100] [2] The flow path delay index evaluation device according to item [1], comprising a network information collection unit (230) that collects the propagation delay of a communication channel and flow distribution policy information as network information, wherein the delay average calculation unit (211) calculates the average delay for a flow based on the propagation delay information of the communication channel and flow distribution policy information collected as network information, and the variance calculation unit (212) calculates the variance of delay for a flow based on the propagation delay information of the communication channel and flow distribution policy information collected as network information.
[0101] In this way, the flow path delay index evaluation device 1 can use the delay distribution and distribution calculated based on the propagation delay information and flow distribution policy information of the communication channel collected as network information to calculate the flow path delay index. As a result, the flow path delay index evaluation device 1 can collect real-time network information and evaluate whether packets can be distributed and forwarded while considering disaster risk.
[0102] [3] The flow path delay index evaluation device according to item [2], further comprising a flow distribution policy calculation unit (270) which calculates the distribution ratio of flow packets in the passable paths that satisfy a retransmission timer value allowed by the flow, using the average and variance of the delay for the flow calculated by the delay average calculation unit (211) and the variance calculation unit (212), and the passable paths of the flow packets, their bandwidth and propagation delay information.
[0103] By doing so, the flow path delay index evaluation device 1 can determine to what extent packets can be distributed and forwarded within the configured path when a flow has an acceptable retransmission timer value (upper limit) and passes through a section with a large delay difference via packet spraying.
[0104] [4] A flow path delay index evaluation device according to any one of items [1] to [3], characterized in that it comprises a flow delay condition determination unit (260) that compares delay conditions relating to the average delay, a reference maximum delay, and the percentage of packets that exceed the reference maximum delay, which are permitted by the flow, with calculated values of the average delay and the percentage of packets that exceed the reference maximum delay, which are calculated by the delay index calculation unit (210), and determines whether the calculated values match the delay conditions.
[0105] In this way, the flow path delay index evaluation device 1 can determine whether a flow forwarded by packet spraying satisfies the packet distribution policy when it has delay conditions relating to the average delay allowed by the flow, a reference maximum delay, and the percentage of packets that exceed the reference maximum delay.
[0106] It should be noted that the present invention is not limited to the embodiments described above, and many modifications are possible within the technical concept of the present invention by those with ordinary skill in the art. For example, the flow path delay index evaluation device manages various information in a table, but the data format of the management information is not limited to a tabular format, and may be, for example, CSV (Comma-Separated Values) or XML (Extensible Markup Language).
[0107] (Modification) The flow path delay index evaluation device may calculate the flow path delay index when the distribution destination is changed according to the flow class. For example, if the flow priority is in three stages, "high," "medium," and "low," high-priority flows can be distributed to short-distance paths, medium-priority flows to short-distance and long-distance paths, and low-priority flows can be forwarded in the gap bandwidth. In this way, the RTT and RTT variance of high-priority flows can be reduced. As a result, high-priority traffic has the effect of having a shorter retransmission timer.
[0108] 1 Flow path delay index evaluation device 2 Controller (flow path delay index evaluation device) 3 Network system 200 Control unit 210 Delay index calculation unit 211 Delay average calculation unit 212 Distributed calculation unit 213 Transfer delay calculation unit 220 Redundancy section management unit 230 Network information collection unit 240 RTT information management unit 250 Deemed RTT calculation unit 260 Flow delay condition determination unit 270 Flow distribution policy calculation unit 300 Storage unit 310 Redundancy section management table 320 Network information management table 330 RTT information management table 340 Flow information management table 350, 360 Program 400 Communication unit OP1, OP2 Optical path
Claims
1. A flow path delay index evaluation device comprising: a delay index calculation unit that estimates an index for estimating the delay of a flow passing through a communication path having redundant sections using probability calculations; the delay index calculation unit comprising: a delay average calculation unit that calculates the average of the delay based on delay information of redundant sections and delay information of sections other than redundant sections in the path through which the flow passes; a variance calculation unit that calculates the variance of the delay based on delay information of redundant sections and delay information of sections other than redundant sections; and a forwarding delay calculation unit that calculates the average forwarding delay of packets in the flow, the average retransmission timer value of the packets, and the average forwarding delay of packets lost a predetermined number of times, respectively, as flow path delay indices by applying the average and variance of the delays to a predetermined relational expression that takes into account past packet distribution results.
2. A flow path delay index evaluation device according to claim 1, comprising a network information collection unit that collects the propagation delay of a communication channel and flow distribution policy information as network information, wherein the delay average calculation unit calculates the average delay for a flow based on the propagation delay information of the communication channel and flow distribution policy information collected as network information, and the variance calculation unit calculates the variance of delay for a flow based on the propagation delay information of the communication channel and flow distribution policy information collected as network information.
3. The flow path delay index evaluation device according to claim 2, further comprising a flow distribution policy calculation unit that calculates the distribution ratio of flow packets in the passable paths that satisfy a retransmission timer value allowed by the flow, using the average and variance of the delay for the flow calculated by the delay average calculation unit and the variance calculation unit, and the passable paths of the flow packets, their bandwidth, and propagation delay information.
4. A flow path delay index evaluation device according to any one of claims 1 to 3, characterized in that it comprises a flow delay condition determination unit that compares delay conditions relating to the average delay, a reference maximum delay, and the percentage of packets that exceed the reference maximum delay, calculated by the delay index calculation unit, with the calculated values of the average delay and the percentage of packets that exceed the reference maximum delay, respectively, and determines whether the calculated values match the delay conditions.