Route selection system, route selection device, and route selection method
Patent Information
- Application Number
- PCT/JP2023/036527
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-06
- Publication Date
- 2025-04-10
AI Technical Summary
When selecting a communication route, only the delay measurement results are considered, and the route that meets the required communication quality may not be selected.
By calculating the delay gradient, the delay trend is represented and the communication route is selected based on this. The delay gradient is calculated based on the transmission and reception time of multiple data packets, and can more accurately reflect the delay changes of the route.
It realizes that the routes that meet the required communication quality without relying on real-time communication quality measurements are selected, reducing network load and improving the accuracy of route selection.
Smart Images

Figure JP2023036527_10042025_PF_FP_ABST
Abstract
Description
Route selection system, route selection device, and route selection method
[0001] The present disclosure relates to a route selection system, a route selection device, and a route selection method.
[0002] A technique for selecting a communication path based on the communication quality of multiple communication paths is known. For example, Patent Document 1 describes a technique in which an edge node transmits a test packet to another edge node, measures the delay time of each communication path from the transmission time and reception time of the test packet, and selects a communication path based on the measured delay time.
[0003] JP 2008-131346 A
[0004] However, in Patent Document 1, since only the delay time measured using test packets can be taken into consideration, it may not be possible to select a communication path with the desired communication quality.
[0005] In view of the above-described problems, an object of the present disclosure is to provide a route selection system, a route selection device, and a route selection method that are capable of selecting a communication route with a desired communication quality.
[0006] A route selection system according to one aspect of the present disclosure includes a calculation means for calculating a delay gradient indicating a delay trend in a plurality of communication paths based on the transmission time and reception time of each of a plurality of packets in the plurality of communication paths, and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient.
[0007] A route selection device according to one aspect of the present disclosure includes a calculation means for calculating a delay gradient indicating a delay trend in a plurality of communication paths based on the transmission time and reception time of each of a plurality of packets in the plurality of communication paths, and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient.
[0008] A route selection method according to one aspect of the present disclosure calculates a delay gradient indicating the tendency of delay in a plurality of communication routes based on the transmission time and reception time of each of a plurality of packets in the plurality of communication routes, and selects one of the plurality of communication routes based on the calculated delay gradient.
[0009] According to the present disclosure, a communication path with a desired communication quality can be selected.
[0010] 1 is a configuration diagram showing an example of the configuration of a route selection system according to an embodiment. FIG. 2 is a configuration diagram showing an example of the configuration of a route selection device according to an embodiment. FIG. 3 is a flowchart showing an example of a route selection method according to an embodiment. FIG. 4 is a configuration diagram showing an example of the configuration of a communication system according to an embodiment. FIG. 5 is a diagram for explaining parameters in a communication system according to an embodiment. FIG. 6 is a diagram for explaining parameters in a communication system according to an embodiment. FIG. 7 is a diagram for explaining parameters in a communication system according to an embodiment. FIG. 8 is a diagram for explaining parameters in a communication system according to an embodiment. FIG. 9 is a diagram for explaining parameters in a communication system according to an embodiment. FIG. 10 is a diagram for explaining parameters in a communication system according to an embodiment. 1 is a flowchart showing an example of operation of an ingress edge router according to an embodiment. FIG. 2 is a diagram showing an example of route scores and selected routes in a communication system according to an embodiment. FIG. 3 is a diagram showing an example of route score differences and selected routes in a communication system according to an embodiment. FIG. 4 is a flowchart showing an example of operation of an ingress edge router according to an embodiment. FIG. 5 is a diagram showing an example of operation of a communication system according to an embodiment when there is a delay. FIG. 6 is a diagram showing an example of operation of a communication system according to an embodiment when there is a delay. FIG. 7 is a flowchart showing an example of operation of an ingress edge router according to an embodiment. FIG. 8 is a configuration diagram showing an example of the configuration of hardware of a computer according to an embodiment.
[0011] Hereinafter, embodiments will be described with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary.
[0012] (Considerations Leading to Embodiments) In recent years, network environments have undergone significant changes toward Beyond 5G. For example, the communication quality that networks must provide has become increasingly diverse and strict. Specifically, in applications such as autonomous driving and remote driving of vehicles, remote control of forklifts, heavy machinery, and robots, and real-time sensing, not only throughput but also high reliability and low latency are becoming important. In addition, multi-connectivity in wireless communication environments is progressing. For example, various wireless networks such as LTE (Long Term Evolution), 5G, and wireless LAN are densely installed, resulting in an environment in which heterogeneous wireless networks can be used. In an environment in which heterogeneous wireless networks can be used, the communication quality of the wireless networks may fluctuate, so it is important to maintain communication quality. Therefore, in an environment with wireless multi-connectivity beyond 5G, it is desirable to select an appropriate wireless network in real time for applications with strict latency requirements, for example.
[0013] A route selection technology related to wireless network selection measures communication quality and selects a route with good communication quality. For example, active measurement is performed by periodically measuring RTT (Round Trip Time) using ping, and the communication quality of all routes is measured and the route with the best communication quality is selected. Since the related route selection technology assumes active measurement, it places a heavy load on the network just for the measurement. Furthermore, while the communication quality of the measurement flow is measured, the communication quality of the application flow is not known. Furthermore, since the related route selection technology selects a route based only on the communication quality measured by active measurement, it is not possible to select a route that takes fluctuations in communication quality into account.
[0014] (Outline of the embodiment) First, an outline of the embodiment will be described. Fig. 1 shows an example of the configuration of a route selection system 10 according to some embodiments. For example, the route selection system 10 is a system that selects a communication route to be used for communication from a plurality of communication routes between a sending communication device and a receiving communication device. The route selection system 10 may include a sending communication device and a receiving communication device.
[0015] In the example of FIG. 1 , the route selection system 10 includes a calculation unit 11 and a selection unit 12. The calculation unit 11 calculates a delay gradient indicating a trend in delay along a plurality of communication routes based on the transmission time and reception time of each of a plurality of packets along the plurality of communication routes. The transmission time is the transmission time of a packet transmitted along each communication route. The reception time is the reception time of a packet received along each communication route. The calculation unit 11 calculates a delay gradient along each communication route based on the transmission time and reception time of each communication route. The delay gradient is calculated from the difference between the transmission interval and reception interval of a packet. The delay gradient indicates, for example, the amount of delay variation along a communication route along which a plurality of packets are transmitted and received. For example, the calculation unit 11 may calculate the delay gradient along each communication route based on the difference between the transmission interval and reception interval of a plurality of packets along each communication route.
[0016] The calculation unit 11 may also calculate a route score based on the delay gradient of each communication route. The route score is a route evaluation value obtained by evaluating a route according to a route selection policy. The route selection policy is a policy for selecting a communication route for transmitting packets. The route score is calculated, for example, by an objective function formulated to include a delay gradient according to the route selection policy. For example, the route selection policy may include any of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, and a fourth policy for transmitting a group of packets so as to suppress a predetermined percentile delay within a certain amount. The route selection policy may further include a fifth policy for distributing the load of multiple communication routes in addition to any of the first to fourth policies.
[0017] The selector 12 selects one of the plurality of communication paths based on the delay gradient calculated by the calculator 11. For example, the selector 12 may select the communication path with the smallest delay gradient. When the path score is calculated, the selector 12 selects the communication path based on the calculated path score. For example, the selector 12 may select the communication path with the smallest path score. The path selection system 10 may include a switcher that switches the communication path between the transmitting communication device and the receiving communication device to the communication path selected by the selector 12.
[0018] The route selection system 10 may be configured with one device or multiple devices. Fig. 2 shows an example configuration of a route selection device 20 according to some embodiments. In the example of Fig. 2, the route selection device 20 includes the calculation unit 11 and selection unit 12 shown in Fig. 1. For example, the route selection device 20 may be included in a communication device on the transmitting side. The route selection device 20 may also be included in a control device or management device external to the communication device. The calculation unit 11 and selection unit 12 may be distributed across multiple devices.
[0019] 3 illustrates an example of a route selection method according to some embodiments. For example, the route selection method according to some embodiments may be performed by the route selection system 10 of FIG. 1 or the route selection device 20 of FIG. 2.
[0020] 3, the calculation unit 11 calculates a delay gradient indicating a tendency of delays in the plurality of communication paths based on the transmission time and reception time of each of the plurality of packets in the plurality of communication paths (S11). For example, the calculation unit 11 may calculate the delay gradient in the plurality of communication paths based on the difference between the transmission intervals of the plurality of packets in the plurality of communication paths and the reception intervals of the plurality of packets in the plurality of communication paths.
[0021] Next, the selector 12 selects one of the plurality of communication paths based on the calculated delay gradient (S12). For example, the selector 12 may compare the delay gradients of the plurality of communication paths and select the communication path with the smallest delay gradient.
[0022] In the embodiment, a delay gradient indicating delay fluctuations of multiple communication paths is calculated, and a communication path is selected based on the calculated delay gradient. The configuration of the present embodiment allows a communication path to be selected taking into account delay trends, rather than just the communication quality at the time of measurement as in related technologies, thereby making it possible to appropriately select a communication path with desired communication quality. For example, if a communication path is selected based solely on instantaneous communication quality, a communication path whose communication quality has been deteriorating, i.e., a communication path whose communication quality is likely to continue to deteriorate, may be selected. However, by calculating the delay gradient based on multiple packets for each communication path, the delay trend of each communication path is calculated, making it possible to suppress selection of a communication path based solely on instantaneous communication quality. By calculating the delay gradient from the reception time and transmission time of each of multiple communication paths, a communication path with shorter delay can be selected based on the delay gradient. Furthermore, by selecting a communication path based on the difference between the transmission interval and the reception interval, a communication path with shorter delay can be selected from multiple communication paths, taking into account delay trends, even when time synchronization between the transmitting communication device and the receiving communication device is not accurate. Furthermore, because the delay gradient is calculated from the packet transmission interval and reception interval, a communication path can be selected based on the results of passive measurement, which does not use measurement packets. Therefore, the network load caused by the measurement flow can be reduced, and the communication path can be selected directly according to the delay of the application flow.
[0023] (First Embodiment) Next, a first embodiment will be described. This embodiment is an example in which a route is selected based on a delay gradient.
[0024] FIG. 4 illustrates an exemplary configuration of a communication system 1 according to some embodiments. The communication system 1 is a system that relays application flows of application data in applications such as automated or remote driving of vehicles, remote control of forklifts, heavy machinery, and robots, and real-time sensing. Note that an application flow may also be simply referred to as a flow. For example, in the case of remote control of a forklift, a forklift is provided as a terminal on the client network 300, and a server that performs monitoring and remote control is provided on the server-side network 400. In remote control, camera images are transmitted from a terminal such as a forklift to the server, and control commands are transmitted from the server to the terminal. Note that, although this embodiment describes a case in which the path of a flow transmitted from the client network 300 to the server-side network 400 is switched, the same applies to a flow transmitted from the server-side network 400 to the client network 300.
[0025] 4, the communication system 1 includes an ingress edge router 100 and an egress edge router 200. The ingress edge router 100 and the egress edge router 200 relay a flow that flows from a client network 300 to a server-side network 400.
[0026] The client network 300 may be a wired network such as a wired LAN, a wireless network such as a wireless LAN, or a combination thereof. The client network 300 includes a terminal that transmits application data. The terminal may be, for example, a forklift or a robot. The client network 300 may include one terminal or multiple terminals.
[0027] The server-side network 400 may be a wired network such as a wired LAN, a wireless network such as a wireless LAN, or a combination thereof. The server-side network 400 includes a server that receives application data. The server-side network 400 may include one server or multiple servers.
[0028] The ingress edge router 100 is connected between the client network 300 and multiple wireless networks NW (e.g., NW1, NW2). The egress edge router 200 is connected between the multiple wireless networks NW and the server-side network 400. Communication between the ingress edge router 100 and the egress edge router 200 is possible via multiple wireless networks NW. Each of the multiple wireless networks NW constitutes a path between the ingress edge router 100 and the egress edge router 200. For example, the multiple wireless networks NW include 4G, local 5G / 5G, LTE, wireless LAN, etc. For example, the wireless network NW1 and the wireless network NW2 may be different types of wireless networks (e.g., LTE and wireless LAN) or may be the same type of wireless network. Note that the path between the ingress edge router 100 and the egress edge router 200 is not limited to a wireless network NW path, but may also be a wired network path or a path including a combination of a wireless network and a wired network.
[0029] The ingress edge router 100 is an edge router at the inlet side of a flow. That is, the ingress edge router 100 is located at the inlet of a flow flowing from the client network 300 and is also located at the edge of the wireless network NW. In this embodiment, the flow is forwarded by IP (Internet Protocol) packets. The ingress edge router 100 receives IP packets from the client network 300 and forwards the received IP packets to the egress edge router 200 via one of the wireless networks NW. For example, the ingress edge router 100 includes a wireless interface IF1 for the wireless network NW1 and a wireless interface IF2 for the wireless network NW2. When the route of the wireless network NW1 is selected, the ingress edge router 100 transmits the IP packets from the wireless interface IF1. When the route of the wireless network NW2 is selected, the ingress edge router 100 transmits the IP packets from the wireless interface IF2. The ingress edge router 100 can also receive IP packets from the egress edge router 200 via one of the wireless networks NW and forward the received IP packets to the client network 300. The ingress edge router 100 is a router that relays IP packets, but may also be another relay device such as a gateway or a bridge.
[0030] The egress edge router 200 is an edge router on the exit side of a flow. That is, the egress edge router 200 is disposed at the exit of a flow flowing to the server-side network 400, and is also disposed at the edge of the wireless network NW. The egress edge router 200 receives IP packets from the ingress edge router 100 via one of the wireless networks NW and forwards the received IP packets to the server-side network 400. For example, the egress edge router 200 includes a wireless interface IF1 for the wireless network NW1 and a wireless interface IF2 for the wireless network NW2. When the route of the wireless network NW1 is selected, the egress edge router 200 receives the IP packets via the wireless interface IF1, and when the route of the wireless network NW2 is selected, the egress edge router 200 receives the IP packets via the wireless interface IF2. The egress edge router 200 can also receive IP packets from the server-side network 400 and forward the received IP packets to the ingress edge router 100 via one of the wireless networks NW. Like the ingress edge router 100, the egress edge router 200 is a router that relays IP packets, but it may also be another relay device such as a gateway or a bridge.
[0031] In this embodiment, a route is selected using a delay gradient. The principle of a route selection method using a delay gradient will be explained. The objective function for finding a route with the smallest one-way delay is as follows: d i is the one-way delay of route i, d j is the one-way delay of route j. The above equation (1) can be written as follows: From the above equation (2), the delay d of the path i i and the delay d of route j j The magnitudes of the delays are compared by subtraction, and the route i with the smallest delay can be found.
[0032] 5 is a diagram for explaining the parameters in the above equation (2). As shown in FIG. 5, the one-way delay d i is the transmission time s of route i i and reception time ri The one-way delay d of route j is the difference j is the transmission time s of route j j and reception time r j Therefore, d in the above formula (2) i , d j is decomposed to give the following formula: Furthermore, by rearranging the elements of the above equation (3), the following equation is obtained:
[0033] 6 is a diagram for explaining the parameters in the above formula (4). As shown in FIG. 6, r i -r j is the reception time r of route i i and the reception time r of route j j The difference d r The reception time difference d r is also called the reception interval. i -s j is the transmission time s of route i i and the sending time s of route j j The difference d s The transmission time difference d s is also called the transmission interval. i -r j = d r ) and transmission interval (s i -s j = d s ) is called the delay gradient. The delay gradient represents the trend in delay, i.e., the amount of delay variation. Since the calculation results of equation (4) and equation (2) are the same, by using equation (4) to select a route based on the delay gradient, it is possible to select a route with a small delay, just like equation (2). For example, by notifying the ingress edge router 100 of the reception interval from the egress edge router 200, the ingress edge router 100 can calculate the delay gradient and select the route with the smallest one-way delay.
[0034] In FIG. 6, for the sake of simplicity, the transmission interval d s The transmission time s of route i i and the sending time s of route j j The difference is the reception interval d rThe reception time r of route i i and the reception time r of route j j However, the above equation (4) also holds when the delay gradient is calculated using the transmission interval and reception interval on the same path. That is, the transmission interval d s (i) and the reception interval d of the two packets on route i r The delay gradient of route i is calculated from the difference with (i), and the transmission interval d s (j) and the reception interval d of the two packets on route j r The delay gradient of the path j may be calculated from the difference with (j), and a path may be selected based on the delay gradient of the path i and the delay gradient of the path j.
[0035] 7 shows an example of the configuration of each device in a communication system 1 according to some embodiments. Note that the configuration in FIG. 7 is just an example, and other configurations may be used as long as they are capable of executing the operation examples described below. Some of the functions of the ingress edge router 100 and the egress edge router 200 may be arranged in an external device. For example, the delay gradient calculation unit 108, the route selection unit 109, etc. may be arranged in an external control device.
[0036] In the example of Figure 7, the ingress edge router 100 includes a packet receiving unit 101, a packet forwarding unit 102, a route switching unit 103, a packet capturing unit 104, a transmission interval calculation unit 105, a reception interval acquisition unit 106, an interval storage unit 107, a delay gradient calculation unit 108, and a route selection unit 109.
[0037] The packet receiving unit 101 receives IP packets from the client network 300. The packet receiving unit 101 receives IP packets of application data included in a flow transmitted from a terminal on the client network 300 to a server on the server-side network 400.
[0038] The packet forwarding unit 102 forwards the IP packet received by the packet receiving unit 101 to the egress edge router 200 via one of the wireless networks NW. The packet forwarding unit 102 transmits the IP packet via the route switched by the route switching unit 103, i.e., the wireless network NW of the route set by the route switching unit 103. Specifically, the packet forwarding unit 102 transmits the IP packet from the wireless interface IF connected to the wireless network NW of the switched route.
[0039] The route switching unit 103 switches the route of the destination of the received IP packet between the packet receiving unit 101 and the packet forwarding unit 102. The route switching unit 103 switches the route of the destination of the IP packet to the route selected by the route selecting unit 109. In other words, the route switching unit 103 sets the destination of the IP packet to the selected route.
[0040] The packet capture unit 104 captures IP packets transmitted from the ingress edge router 100 to the egress edge router 200. The packet capture unit 104 captures IP packets transmitted from the packet forwarding unit 102 via each wireless network NW. Specifically, the packet capture unit 104 captures the transmission time of IP packets transmitted by the wireless interfaces IF connected to each wireless network NW. In other words, the packet capture unit 104 acquires the transmission time of IP packets transmitted via each route.
[0041] The transmission interval calculation unit 105 calculates the transmission interval of the IP packets captured by the packet capture unit 104. Specifically, the transmission interval calculation unit 105 calculates, for each route, the difference between the transmission time of a first IP packet and the transmission time of a second IP packet transmitted after the first IP packet. In this embodiment, the transmission interval of multiple IP packets transmitted over the same route is calculated. Note that, as shown in FIG. 6 , the transmission interval of multiple IP packets transmitted over different routes may also be calculated. The transmission interval calculation unit 105 stores the calculated transmission interval for each route in the interval storage unit 107.
[0042] The reception interval acquisition unit 106 acquires the reception interval of each route from the egress edge router 200. The reception interval acquisition unit 106 is a receiving unit that receives the reception interval, i.e., information related to the reception time. The reception interval acquisition unit 106 is not limited to the route from which the reception interval is acquired, i.e., the route from which the reception interval is acquired. The reception interval acquisition unit 106 may acquire the reception interval via any wireless network NW, or may acquire the reception interval via a wireless network or a wired network other than the wireless network NW. The reception interval acquisition unit 106 stores the acquired reception interval of each route in the interval storage unit 107.
[0043] The interval storage unit 107 stores the transmission intervals of each route calculated by the transmission interval calculation unit 105 and the reception intervals of each route acquired by the reception interval acquisition unit 106 .
[0044] The delay gradient calculation unit 108 calculates a delay gradient based on the transmission interval of each path and the reception interval of each path stored in the interval storage unit 107. Specifically, the delay gradient calculation unit 108 calculates the difference between the transmission interval and the reception interval, as in the above equation (4). For example, the delay gradient calculation unit 108 calculates a delay gradient for each path using the transmission interval and reception interval for the same path. As shown in FIG. 6 , the delay gradient may also be calculated using the transmission interval and reception interval for different paths.
[0045] The route selector 109 selects a route for forwarding an IP packet based on the delay gradient of each route calculated by the delay gradient calculator 108. For example, the route selector 109 may compare the delay gradients calculated from the transmission intervals and reception intervals of each route and select the route with the smallest delay gradient.
[0046] The route selection unit 109 may select a route for forwarding data for each flow. A flow can be identified by a source IP address, which is the IP address of a terminal, and a destination IP address, which is the IP address of a server. For example, a delay gradient may be calculated for each flow from the difference between the sending interval and the receiving interval, and a route may be selected and switched for each flow. For example, since the data size of a flow varies depending on the application, selecting a route according to the flow makes it possible to appropriately select a route suited to the characteristics of the data in the flow.
[0047] In the example of FIG. 7, the egress edge router 200 includes a packet receiving unit 201 , a packet forwarding unit 202 , a routing unit 203 , a packet capturing unit 204 , a receiving interval calculating unit 205 , and a receiving interval notifying unit 206 .
[0048] The packet receiving unit 201 receives the IP packet transmitted from the ingress edge router 100 via one of the wireless networks NW. Specifically, the packet receiving unit 201 receives the IP packet via a wireless interface IF connected to one of the wireless networks NW.
[0049] The packet forwarding unit 202 forwards the IP packet received by the packet receiving unit 201 to the server-side network 400. The packet forwarding unit 202 transmits the IP packet to a server on the server-side network 400 in accordance with the routing information set by the routing unit 203.
[0050] The routing unit 203 routes the received IP packets between the packet receiving unit 201 and the packet forwarding unit 202. For example, the routing unit 203 may set a forwarding route for each flow.
[0051] The packet capture unit 204 captures IP packets that the egress edge router 200 receives from the ingress edge router 100. The packet capture unit 204 captures IP packets that the packet receiving unit 201 receives via each wireless network NW. Specifically, the packet capture unit 204 captures the reception time of IP packets received by the wireless interface IF connected to each wireless network NW. In other words, the packet capture unit 204 acquires the reception time of IP packets received on each route.
[0052] The reception interval calculation unit 205 calculates the reception interval of the IP packets captured by the packet capture unit 204. Specifically, the reception interval calculation unit 205 calculates, for each path, the difference between the reception time of a first IP packet and the reception time of a second IP packet received immediately after the first IP packet. In this embodiment, like the transmitting side, the reception interval calculation unit 205 calculates the reception interval of multiple IP packets received via the same path. Note that, as shown in FIG. 6, the reception interval of multiple IP packets received via different paths may also be calculated.
[0053] The reception interval notification unit 206 notifies the ingress edge router 100 of the reception interval of each route calculated by the reception interval calculation unit 205. The reception interval notification unit 206 is a transmission unit that transmits the reception interval, i.e., information regarding the reception time. As described above, the route for notifying the reception interval, i.e., for transmitting the reception interval, is not limited. The reception interval notification unit 206 may notify the reception interval via any wireless network NW, or may notify the reception interval via a wireless network or a wired network separate from the wireless network NW.
[0054] 8 shows an example of operation of the communication system 1 according to some embodiments. In the example of FIG. 8, the ingress edge router 100 captures an IP packet to be transmitted (S101). The packet receiving unit 101 receives the IP packet from the client network 300, and the packet forwarding unit 102 transmits the IP packet received by the packet receiving unit 101 to the egress edge router 200 via one of the wireless networks NW. The packet capturing unit 104 captures the transmission time of the IP packet transmitted by the packet forwarding unit 102 from each wireless interface IF, i.e., the transmission time of the IP packet transmitted via each route.
[0055] Next, the ingress edge router 100 calculates the transmission interval of the IP packets (S102). For example, when an IP packet is transmitted via route i or route j, the transmission interval calculation unit 105 calculates the difference between the transmission time of the IP packet transmitted via route i and the transmission time of the next IP packet transmitted via route i, i.e., the transmission interval of route i. The transmission interval calculation unit 105 also calculates the difference between the transmission time of the IP packet transmitted via route j and the transmission time of the next IP packet transmitted via route j, i.e., the transmission interval of route j. The transmission interval calculation unit 105 stores the calculated transmission intervals of route i and route j in the interval storage unit 107. Note that when an IP packet is transmitted via either route i or route j, it is not necessary to calculate the transmission interval of a route on which no IP packet is transmitted. When an IP packet is transmitted via either route i or route j, the transmission interval used when the IP packet was previously transmitted may be used.
[0056] The egress edge router 200 also captures the received IP packets (S103). The packet receiving unit 201 receives the IP packets from the ingress edge router 100 via any one of the wireless networks NW. The packet capturing unit 204 captures the reception times of the IP packets received by the packet receiving unit 201 at each wireless interface IF, i.e., the reception times of the IP packets received via each route.
[0057] Next, the egress edge router 200 calculates the reception interval of the IP packets (S104). For example, when an IP packet is received on route i or route j, the reception interval calculation unit 205 calculates the difference between the reception time of the IP packet received on route i and the reception time of the next IP packet received on route i, i.e., the reception interval of route i. The reception interval calculation unit 205 also calculates the difference between the reception time of the IP packet received on route j and the reception time of the next IP packet received on route j, i.e., the reception interval of route j. Note that when an IP packet is received on either route i or route j, it is not necessary to calculate the reception interval of a route on which no IP packet is received. When an IP packet is received on either route i or route j, the reception interval when the IP packet was previously received may be used.
[0058] Next, the egress edge router 200 notifies the ingress edge router 100 of the reception intervals (S105). For example, the reception interval notifying unit 206 transmits the calculated reception intervals of the route i and the route j to the ingress edge router 100.
[0059] Next, the ingress edge router 100 acquires the reception intervals from the egress edge router 200 (S106). For example, the reception interval acquisition unit 106 receives the reception intervals of route i and route j from the egress edge router 200. The reception interval acquisition unit 106 stores the received reception intervals of route i and route j in the interval storage unit 107.
[0060] Next, after the transmission intervals and reception intervals are stored, the ingress edge router 100 calculates a delay gradient based on the transmission intervals and reception intervals (S107). For example, the delay gradient calculation unit 108 refers to the interval storage unit 107 and calculates the delay gradient of route i from the difference between the transmission interval of route i and the reception interval of route i. The delay gradient calculation unit 108 also refers to the interval storage unit 107 and calculates the delay gradient of route j from the difference between the transmission interval of route j and the reception interval of route j.
[0061] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S108). For example, the route selector 109 compares the calculated delay gradient of route i with the delay gradient of route j, and selects the route with the smaller delay gradient.
[0062] Next, the ingress edge router 100 switches the route for forwarding the IP packet (S109). For example, the route switching unit 103 switches the forwarding destination of the IP packet from the packet forwarding unit 102 to the selected route from route i or route j. The packet forwarding unit 102 forwards the IP packet via the wireless network NW of the route switched by the route switching unit 103.
[0063] As described above, in this embodiment, the delay gradient is calculated from the difference between the transmission interval and reception interval of packets transmitted and received on each route, and a route is selected based on the calculated delay gradient. Because the delay gradient can be obtained by passive measurement, it is possible to calculate the delay gradient directly from the packet-level delay behavior of the application flow and select a route with low delay without performing active measurement such as ping.
[0064] (Embodiment 2) Next, embodiment 2 will be described. This embodiment is an example of selecting a route based on a route selection policy including a delay gradient. Note that this embodiment can be implemented in combination with embodiment 1, and each configuration shown in embodiment 1 may be used as appropriate.
[0065] In this embodiment, a formula for calculating a route score using a delay gradient is defined for each route selection policy. Examples of route selection policies and route score calculation formulas are shown in the following table. Note that in the communication system 1 according to some embodiments, only one of the policies may be adopted, or a policy selected from multiple policies may be adopted. For example, a policy may be selectable for each flow.
[0066] In this embodiment, the parameters for calculating the route score are defined as follows: In route i, the transmission time of the jth packet in the segment is s i,j , the reception time is r i,jThe transmission interval, which is the difference in packet transmission times, is expressed by the following formula: The reception interval, which is the difference in the reception time of packets, is expressed by the following formula. Assuming that it has regenerative properties, the delay gradient is given by the following equation from the above equations (5) and (6). The average delay gradient E of the path i is expressed as follows: E[d r (i)] is the average reception interval of path i, E[d s (i)] is the average transmission interval of path i. The variance V of the delay gradient of the path i is expressed as follows: V[d r (i)] is the variance of the reception interval of the path i, V[d s (i)] is the variance of the transmission interval of route i.
[0067] Furthermore, in this embodiment, the moving average and moving variance are calculated online, i.e., in real time, as the average and variance of the transmission interval and reception interval. By calculating the moving average and moving variance online, it becomes possible to update the average and variance each time the transmission interval or reception interval is observed. Note that the average and variance may be calculated by other methods than the moving average and moving variance.
[0068] For example, in the path i, if the data size used for analysis is N, the transmission interval d s (i) and reception interval d r (i) is as follows: After N data is observed, when new data is observed, the oldest data (d s (i, 0), d r (i, 0)) is deleted to maintain the data size at N. For example, this can be realized by a ring buffer with a data size of N.
[0069] From the data of the above equations (10) and (11), the moving average E[d s (i)], the moving average of the reception interval E[d r (i)] can be calculated by the following formula:
[0070] Similarly, the moving variance V[d s (i)], the moving variance of the reception interval V[d r (i)] can be calculated by the following formula:
[0071] Below, specific examples of each route selection policy will be explained.
[0072] <Example of Policy 1> Policy 1 is a policy that minimizes the average delay. For example, in remote control of a robot, if there is a large delay in a control command, the fail-safe may be activated and the robot may come to an emergency stop. By minimizing the average delay, the fail-safe can be suppressed and accidents can be prevented.
[0073] The objective function of policy 1 is: i indicates the average delay of path i. Note that "d" with " ̄" is expressed as "d ̄". The same applies to other letters. The above equation (16) is used to find the route i with the smallest average delay. Equation (16) can be written as follows: According to the above equation (17), the average delay d of the path i is i and the average delay d of path j j and the route i with the smallest average delay can be determined.
[0074] In equation (17), ε i If we let be the expected value of the delay gradient of path i, then the following two equations are equivalent: In equation (19), dprop(i) is the propagation delay of path i. Therefore, equation (17) above can be transformed as follows: Here, the expected value of the delay gradient of path i is i is as follows:
[0075] From the above equations (20) and (21), the objective function of policy 1 is finally given as follows: From the above equation (22), the route score of each route of policy 1 is expressed by the following equation.
[0076] FIG. 9 shows an example of the configuration of each device in a communication system 1 for policy 1 according to some embodiments.
[0077] In the example of Figure 9, the ingress edge router 100, similar to Figure 7, includes a packet receiving unit 101, a packet forwarding unit 102, a route switching unit 103, a packet capture unit 104, and a route selection unit 109, and further includes a transmission parameter calculation unit 105a, a reception parameter acquisition unit 106a, a parameter storage unit 107a, a route score calculation unit 108a, and a propagation delay measurement unit 110.
[0078] The transmission parameter calculation unit 105a calculates transmission parameters on the sending side for calculating the route score of policy 1. The transmission parameter calculation unit 105a corresponds to the transmission interval calculation unit 105 in FIG. 7 and may calculate transmission parameters including the transmission interval of each route. For example, the transmission parameter calculation unit 105a calculates the transmission interval of each route and a moving average of the transmission intervals of each route as the transmission parameters. The transmission parameter calculation unit 105a stores the calculated transmission parameters in the parameter storage unit 107a.
[0079] The reception parameter acquisition unit 106a acquires, from the egress edge router 200, reception parameters on the receiving side for calculating the route score of policy 1. The reception parameter acquisition unit 106a corresponds to the reception interval acquisition unit 106 in FIG. 7 and may acquire reception parameters including the reception interval of each route. For example, the reception parameter acquisition unit 106a acquires a moving average of the reception interval of each route as the reception parameter. The reception parameter acquisition unit 106a stores the acquired reception parameters of each route in the parameter storage unit 107a.
[0080] The propagation delay measurement unit 110 measures the propagation delay of each route to the egress edge router 200. For example, the propagation delay measurement unit 110 transmits a ping packet from the wireless interface IF connected to each wireless network NW and measures the RTT. The propagation delay measurement unit 110 calculates the propagation delay between each route and the egress edge router 200 from the measured RTT of each route. The propagation delay measurement unit 110 may measure the propagation delay by other methods than ping. The propagation delay measurement unit 110 stores the calculated propagation delay of each route in the parameter storage unit 107a.
[0081] The parameter storage unit 107a stores parameters for calculating the route score. The parameter storage unit 107a corresponds to the interval storage unit 107 in FIG. 7 and may store the transmission interval of each route and the reception interval of each route. For example, the parameter storage unit 107a stores transmission parameters including the transmission interval of each route and a moving average of the transmission interval calculated by the transmission parameter calculation unit 105a, reception parameters including the moving average of each route acquired by the reception parameter acquisition unit 106a, and the propagation delay of each route measured by the propagation delay measurement unit 110. For example, the parameter storage unit 107a may include a ring buffer for transmission intervals and store a predetermined number of transmission intervals in the ring buffer.
[0082] The route score calculation unit 108a calculates the route score based on the parameters stored in the parameter storage unit 107a. The route score calculation unit 108a corresponds to the delay gradient calculation unit 108 in FIG. 7 and may calculate a delay gradient based on a transmission interval and a reception interval. For example, the route score calculation unit 108a calculates the route score of each route based on transmission parameters including a moving average of the transmission intervals of each route, reception parameters including a moving average of the reception intervals of each route, and the propagation delay of each route, all stored in the parameter storage unit 107a. Specifically, the route score calculation unit 108a calculates the route score for each route by adding the propagation delay to the difference between the moving average of the transmission intervals and the moving average of the reception intervals using the above equation (23).
[0083] Also, in the example of Figure 9, the egress edge router 200, like Figure 7, has a packet receiving unit 201, a packet forwarding unit 202, a routing unit 203, and a packet capturing unit 204, and further has a receiving parameter calculation unit 205a, a receiving parameter notification unit 206a, and a parameter storage unit 207.
[0084] The reception parameter calculation unit 205a calculates reception parameters on the receiving side for calculating the route score of policy 1. The reception parameter calculation unit 205a corresponds to the reception interval calculation unit 205 in FIG. 7 and may calculate reception parameters including the reception interval of each route. For example, the reception parameter calculation unit 205a calculates the reception interval of each route and a moving average of the reception intervals of each route as the reception parameters. The reception parameter calculation unit 205a stores the calculated reception parameters in the parameter storage unit 207.
[0085] The parameter storage unit 207 stores the reception parameters calculated by the reception parameter calculation unit 205 a. For example, the parameter storage unit 207 stores reception parameters including the reception interval of each path and a moving average of the reception intervals. For example, the parameter storage unit 207 includes a ring buffer for reception intervals, and stores a predetermined number of reception intervals in the ring buffer.
[0086] The reception parameter notifying unit 206a notifies the ingress edge router 100 of the reception parameters stored in the parameter storage unit 207. The reception parameter notifying unit 206a corresponds to the reception interval notifying unit 206 in Fig. 7 and may notify the ingress edge router 100 of reception parameters including the reception interval of each route. For example, the reception parameter notifying unit 206a notifies the moving average of the reception interval of each route as the reception parameter.
[0087] FIG. 10 shows an example of the operation of the communication system 1 for policy 1 according to some embodiments. In the example of FIG. 10, the ingress edge router 100 measures the propagation delay (S201). The propagation delay measurement unit 110 measures the RTT of each route using ping or the like, and stores the propagation delay of each route in the parameter storage unit 107a based on the measurement results. The propagation delay may be measured periodically, or may be measured at least once before calculating the route score. When the propagation delay is measured periodically, the propagation delay may be updated using the following formula: α is the weight before and after the update, and may be set to any value.
[0088] Next, the ingress edge router 100 captures the IP packets to be transmitted (S202). As in S101 of Fig. 8, the packet capture unit 104 captures the transmission time of the IP packets transmitted from each wireless interface.
[0089] Next, the ingress edge router 100 calculates the transmission interval of the IP packets (S203). As in S102 of FIG. 8, the transmission parameter calculation unit 105a calculates the transmission interval of the transmitted IP packets for each route. For example, the transmission parameter calculation unit 105a calculates the transmission interval ds for each route using the above equation (5). The transmission parameter calculation unit 105a stores the calculated transmission interval for each route in the parameter storage unit 107a.
[0090] Next, the ingress edge router 100 calculates a moving average of the transmission intervals (S204). The transmission parameter calculation unit 105a calculates the moving average of the transmission intervals from a predetermined number of transmission intervals stored in the parameter storage unit 107a. For example, the transmission parameter calculation unit 105a calculates the moving average of the transmission intervals E[d s The transmission parameter calculation unit 105a stores the calculated moving average of the transmission intervals for each route in the parameter storage unit 107a.
[0091] The egress edge router 200 also captures the received IP packets (S205). As in S103 of Fig. 8, the packet capture unit 204 captures the reception time of the IP packets received at each wireless interface.
[0092] Next, the egress edge router 200 calculates the reception interval of the IP packets (S206). As in S104 of FIG. 8, the reception parameter calculation unit 205a calculates the reception interval of the received IP packets for each route. For example, the reception parameter calculation unit 205a calculates the reception interval dr for each route using the above equation (6). The reception parameter calculation unit 205a stores the calculated reception interval for each route in the parameter storage unit 207.
[0093] Next, the egress edge router 200 calculates a moving average of the reception intervals (S207). The reception parameter calculation unit 205a calculates the moving average of the reception intervals from a predetermined number of reception intervals stored in the parameter storage unit 207. For example, the reception parameter calculation unit 205a calculates the moving average of the reception intervals E[d r The reception parameter calculation unit 205a stores the calculated moving average of the reception intervals of each path in the parameter storage unit 207.
[0094] Next, the egress edge router 200 notifies the ingress edge router 100 of the moving average of the reception intervals (S208). Similar to S105 in Fig. 8, the reception parameter notifying unit 206a transmits the moving average of the reception intervals of each route stored in the parameter storage unit 207 to the ingress edge router 100.
[0095] Next, the ingress edge router 100 acquires the moving average of the reception interval from the egress edge router 200 (S209). As in S106 of Fig. 8, the reception parameter acquisition unit 106a receives the moving average of the reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 106a stores the received moving average of the reception interval of each route in the parameter storage unit 107a.
[0096] Next, once each parameter has been stored, the ingress edge router 100 calculates the route score for policy 1 (S210). The route score calculation unit 108a refers to the parameter storage unit 107a and calculates the route score for each route for policy 1. For example, the route score calculation unit 108a calculates the route score for each route by adding the propagation delay to the difference between the moving average of the transmission interval and the moving average of the reception interval using the above equation (23).
[0097] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211). As in S108 of Fig. 8, the route selection unit 109 compares the calculated route scores of each route and selects the route with the smallest route score. For example, the route selection unit 109 calculates the difference between the route scores of each route using the above equation (22) and selects the route with the smallest route score.
[0098] Next, the ingress edge router 100 switches the route for forwarding the IP packet (S212). As in S109 of Fig. 8, the route switching unit 103 switches the forwarding destination of the IP packet of the packet forwarding unit 102 to the selected route.
[0099] <Specific example of policy 2> Policy 2 is a policy that minimizes delay variations. For example, by minimizing delay variations in control commands in the remote control of a robot or the control of a forklift, smoother operation of the robot or forklift can be achieved, thereby making it possible to improve the efficiency of the robot or forklift's work.
[0100] The objective function of policy 2 is as follows: The above equation (25) is an equation for finding the path i with the smallest delay variance V. Equation (25) can be written as follows: From the above equation (26), the delay variance V[d i ] and the delay variance V[d j ], and the route i with the smallest delay variance can be determined.
[0101] Similarly to Policy 1, if Equation (26) is rewritten, the objective function of Policy 2 becomes as follows: r(i) and d s (i) is assumed to have regenerative properties. From the above equation (27), the route score of each route of policy 2 is expressed by the following equation.
[0102] Fig. 11 shows an example of the configuration of each device in a communication system 1 for policy 2 according to some embodiments. In the example of Fig. 11, unlike the example of Fig. 9, the ingress edge router 100 does not include a propagation delay measurement unit 110. The other configurations are the same as those in Fig. 9.
[0103] Fig. 12 shows an example of the operation of the communication system 1 for policy 2 according to some embodiments. In the example of Fig. 12, compared to the example of the operation of Fig. 10, the propagation delay measurement process (S201) is not required, and the movement variance calculation process (S220, S221) is added.
[0104] In the example of FIG. 12, the ingress edge router 100, like the unit 10, captures IP packets to be transmitted (S202), calculates the transmission interval (S203), and calculates the moving average of the transmission interval (S204).
[0105] Next, the ingress edge router 100 calculates the moving variance of the transmission intervals (S220). The transmission parameter calculation unit 105a calculates the moving variance of the transmission intervals from a predetermined number of transmission intervals and moving averages of the transmission intervals stored in the parameter storage unit 107a. For example, the transmission parameter calculation unit 105a calculates the moving variance of the transmission intervals V[d s The transmission parameter calculation unit 105a stores the calculated moving variance of the transmission intervals of each route in the parameter storage unit 107a.
[0106] 10, the egress edge router 200 captures received IP packets (S205), calculates the reception interval (S206), and calculates the moving average of the reception interval (S207).
[0107] Next, the egress edge router 200 calculates the moving variance of the reception intervals (S221). The reception parameter calculation unit 205a calculates the moving variance of the reception intervals from a predetermined number of reception intervals and moving averages of the reception intervals stored in the parameter storage unit 207. For example, the moving variance of the reception intervals V[d r The reception parameter calculation unit 205a stores the calculated moving variance of the reception intervals of each path in the parameter storage unit 207.
[0108] Next, the egress edge router 200 notifies the ingress edge router 100 of the moving and variance of the reception intervals (S208a). Similar to S208 in Fig. 10 , the reception parameter notifying unit 206a transmits the moving and variance of the reception intervals of each route stored in the parameter storage unit 207 to the ingress edge router 100.
[0109] Next, the ingress edge router 100 acquires the moving variance of the reception interval from the egress edge router 200 (S209a). As in S209 in Fig. 10, the reception parameter acquisition unit 106a receives the moving variance of the reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 106a stores the received moving variance of the reception interval of each route in the parameter storage unit 107a.
[0110] Next, once the parameters have been stored, the ingress edge router 100 calculates the route score for policy 2 (S210). The route score calculation unit 108a refers to the parameter storage unit 107a and calculates the route score for policy 2 for each route. For example, the route score calculation unit 108a adds the moving variance of the transmission interval and the moving variance of the reception interval for each route using the above equation (28) to calculate the route score.
[0111] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211), similar to Fig. 10. For example, the route selection unit 109 calculates the difference in route score of each route using the above formula (27), and selects the route with the smallest route score.
[0112] Next, the ingress edge router 100 switches the route for forwarding the IP packet, as in FIG. 10 (S212).
[0113] <Specific example of policy 3> Policy 3 is a policy that adjusts the α-percentile delay by a certain amount d * By suppressing a predetermined percentile delay within a certain amount, it is possible to suppress the fail-safe and prevent accidents under stricter conditions than, for example, policy 1.
[0114] The objective function of policy 3 is as follows: The above equation (29) indicates that the average delay is a constant amount d * This is an equation for finding a route i whose probability of being within α exceeds α. In the same way as policy 1, the above equation (29) can be transformed to the following:
[0115] Here, in the above equation (31), the delay probability p i and the delay probability p of route j j Therefore, for example, the inverse cumulative distribution function F -1 The objective function of policy 3 is replaced with From the above equation (31), the route score of each route of policy 3 is expressed by the following equation.
[0116] For example, the configuration example of each device in the communication system 1 for policy 3 is the same as that of policy 1 shown in FIG. 9. For example, the transmission parameter calculation unit 105a and the reception parameter calculation unit 205a calculate the inverse cumulative distribution function F -1 Calculate.
[0117] F in formula (33) dr(i) -1 (√α) and F ds(i) -1 (√α) is d r (i) or d s In the probability distribution of (i), the smallest d where the cumulative probability exceeds √α r (i) or d s This is a function to find (i).
[0118] Inverse cumulative distribution function F -1 As an example of a method for calculating F, a ring buffer may be used. dr(i) -1 When calculating (√α), the receiving interval d r (i) are stored sequentially. If the buffer size of the ring buffer is N, the probability (= weight) of each value is 1 / N. Reception interval d r Each time the storage of (i) goes around the ring buffer, the following is performed to dr(i) -1 (√α) can be found. ds(i) -1 The calculation of (√α) is similar. ・Sort the values in the ring buffer in ascending order. ・Σ n=1 N The value that first exceeds 1 / N>√α is F dr(i) ―1 (√α). If N and √α are given, n can be determined in advance. Specifically, the nth value is F -1 For example, when the buffer size is 128 and α is 0.9, 128×√0.9=121.4<122=n, and the 122nd is adopted.
[0119] In the calculation method using the ring buffer, the amount of calculation required for ascending sorting increases depending on the buffer size. Therefore, other approximate or simplified methods are used to calculate the inverse cumulative distribution function F -1 For example, the inverse cumulative distribution function F -1 Specifically, d r (i) Maximum value max(d r (i)) and the average value E[d r (i)], F -1 is as follows: where α>0.5. d s Similarly, in the case of (i), F -1 becomes:
[0120] 13 shows an example of the operation of the communication system 1 for policy 3 according to some embodiments. FIG. 13 shows an example of calculating the inverse cumulative distribution function using the ring buffer. In the example of FIG. 13, compared to the example of operation of FIG. 10, percentile calculation processing (S230, S231) is performed instead of the moving average calculation processing (S204, S207).
[0121] In the example of FIG. 13, the ingress edge router 100 measures the propagation delay (S201), captures the IP packets to be transmitted (S202), and calculates the transmission interval (S203), similarly to FIG.
[0122] Next, the ingress edge router 100 calculates the α percentile transmission interval (S230). The transmission parameter calculation unit 105a calculates the α percentile transmission interval from a predetermined number of transmission intervals stored in the parameter storage unit 107a. For example, by using the calculation method using the ring buffer described above, the inverse cumulative distribution function F -1 Specifically, for each path, the transmission parameter calculation unit 105a sorts the values in the ring buffer in ascending order each time the storage of the transmission interval goes around the ring buffer, and calculates Σ n=1 N F from the value that first exceeds 1 / N>√α ds(i) ―1 The transmission parameter calculation unit 105a stores the calculated α percentile transmission interval for each path in the parameter storage unit 107a.
[0123] Furthermore, the egress edge router 200 captures the received IP packets (S205) and calculates the reception interval (S206), similarly to FIG.
[0124] Next, the egress edge router 200 calculates the α percentile reception interval (S231). The reception parameter calculation unit 205a calculates the α percentile reception interval from a predetermined number of reception intervals stored in the parameter storage unit 207. For example, similar to the transmission side, the inverse cumulative distribution function F -1Specifically, the reception parameter calculation unit 205a sorts the values in the ring buffer in ascending order for each path each time the storage of the reception interval goes around the ring buffer, and calculates Σ n=1 N F from the value that first exceeds 1 / N>√α dr(i) ―1 The reception parameter calculation unit 205a stores the calculated reception interval of the α percentile for each path in the parameter storage unit 207.
[0125] Next, the egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval (S208b). As in S208 of Fig. 10 , the reception parameter notifying unit 206a transmits the α percentile reception interval of each route stored in the parameter storage unit 207 to the ingress edge router 100.
[0126] Next, the ingress edge router 100 acquires the α percentile reception interval from the egress edge router 200 (S209b). As in S209 of Fig. 10, the reception parameter acquisition unit 106a receives the α percentile reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 106a stores the received α percentile reception interval of each route in the parameter storage unit 107a.
[0127] Next, once the parameters have been stored, the ingress edge router 100 calculates the route score for policy 3 (S210). The route score calculation unit 108a refers to the parameter storage unit 107a and calculates the route score for policy 3 for each route. For example, the route score calculation unit 108a calculates the route score for each route by adding the propagation delay to the difference between the α percentile transmission interval and the α percentile reception interval using the above equation (33).
[0128] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211), similar to Fig. 10. For example, the route selection unit 109 calculates the difference in route score of each route using the above formula (32), and selects the route with the smallest route score.
[0129] Next, the ingress edge router 100 switches the route for forwarding the IP packet, as in FIG. 10 (S212).
[0130] 14 shows another example of the operation of the communication system 1 for policy 3 according to some embodiments. Fig. 14 shows an example of calculating the inverse cumulative distribution function using the above-mentioned formula for the internal division point. Only the parts that are different from Fig. 13 will be described here.
[0131] 14, the ingress edge router 100 calculates the transmission interval (S203), then calculates a moving average of the transmission interval (S204), and calculates the maximum value of the transmission interval (S232). Each time a transmission interval is calculated for each route, the transmission parameter calculation unit 105a compares it with the previous maximum value and calculates the maximum value of the transmission interval. The transmission parameter calculation unit 105a stores and updates the calculated maximum value of the transmission interval for each route in the parameter storage unit 107a.
[0132] Next, the ingress edge router 100 calculates the α percentile transmission interval (S230). For example, the inverse cumulative distribution function F -1 The transmission parameter calculation unit 105a calculates the α percentile transmission interval for each path from the average value of the transmission intervals and the maximum value of the transmission intervals stored in the parameter storage unit 107a. Specifically, the transmission parameter calculation unit 105a calculates F from the internal division point of the average value of the transmission intervals and the maximum value of the transmission intervals using the above equation (35). ds(i) ―1 The transmission parameter calculation unit 105a stores the calculated α percentile transmission interval for each path in the parameter storage unit 107a.
[0133] After calculating the reception interval (S206), the egress edge router 200 calculates a moving average of the reception interval (S207) and calculates the maximum reception interval (S233). Each time a reception interval is calculated for each route, the reception parameter calculation unit 205a compares it with the previous maximum value and calculates the maximum reception interval. The reception parameter calculation unit 205a stores the calculated maximum reception interval for each route in the parameter storage unit 207 and updates it.
[0134] Next, the egress edge router 200 calculates the α percentile reception interval (S231). As with the transmitting side, for example, the inverse cumulative distribution function F -1 The reception parameter calculation unit 205a calculates the α percentile reception interval for each path from the average value of the reception intervals and the maximum value of the reception intervals stored in the parameter storage unit 207. Specifically, the reception parameter calculation unit 205a calculates F from the internal division point of the average value of the reception intervals and the maximum value of the reception intervals using the above formula (34). dr(i) ―1 The reception parameter calculation unit 205a stores the calculated reception interval of the α percentile for each path in the parameter storage unit 207. Other operations are the same as those in FIG.
[0135] <Specific example of policy 4> Policy 4 is a policy that adjusts the α-percentile delay by a certain amount d * This policy ensures that packets, or segments, are sent within the specified time frame. A segment is a unit of application-level data. By taking segment delays into account in addition to policy 3, real-time video streaming and sensing become possible, for example.
[0136] The objective function of policy 4 is as follows: d ̄ l (i) is the average delay when a group of packets with a segment of size l is sent along path i. l (i) is called the segment delay. The above equation (36) indicates that the average packet delay and the segment delay are constant d * This is an equation for finding a route i whose probability of being within α exceeds α. In the same way as policy 1, the above equation (36) can be transformed to the following:
[0137] For example, similar to policy 3, the inverse cumulative distribution function F -1 The objective function of policy 4 is replaced with From the above equation (39), the route score of each route of policy 4 is expressed by the following equation.
[0138] 15 shows an example of the configuration of each device in a communication system 1 for policy 4 according to some embodiments. In the example of Fig. 15, compared to the example of Fig. 9, the egress edge router 200 further includes a segment delay amount calculation unit 208.
[0139] The segment delay calculation unit 208 calculates the segment delay of the received segment. As described above, the segment delay d l is the average delay time of a segment of length l. Note that in order to calculate the segment delay amount, it is necessary to identify the segment from the received packet, but the method for identifying the segment is not limited. For example, the segment may be identified by storing a segment identification number in the packet.
[0140] FIG. 16 shows the segment delay d l As shown in FIG. l is the average value of the difference between the reception time t_start of the first packet in a segment of length l and the reception time t_end of the last packet in the segment. In other words, the segment delay is the time it takes to receive all packets in a segment.
[0141] The length of a segment may vary depending on the application. Therefore, the length of the segment may be divided into several classes, and the segment delay may be calculated for each class. For example, the segment length l may be divided into three classes, and three segment delays d lS (i), d lM (i), d lL (i) may be used. For example, each class may be defined as follows. For example, the Small class is a segment such as a control command, the Medium class is a segment such as web data, and the Large class is a segment such as video data. Small (1S): Less than 1000B (= 1KB) Medium (1M): Less than 10000B (= 10KB) Large (1L): 10000B or more
[0142] For example, when a new segment is detected for each path, the segment delay amount calculation unit 208 starts measurement with the received data size l = 0 and the measurement start time t_start = the detection time (the time the first packet is received). Each time a packet is received until the next segment is detected, the segment delay amount calculation unit 208 adds up the length of the received packet and updates the data size l. When the next segment is detected, the segment delay amount calculation unit 208 obtains the reception time t_end of the last packet and determines the class from the data size l. The segment delay amount d of the determined class lS (i), d lM (i), d lL (i) is updated by exponential moving average using the following formula: where β is the weight before and after the update, and is, for example, 7 / 8.
[0143] Fig. 17 shows an example of the operation of the communication system 1 for policy 4 according to some embodiments. Fig. 17 shows an example in which the operation of policy 4 is applied to the example of the operation of policy 3 shown in Fig. 13. Note that the operation of policy 4 may also be applied to the example of the operation of policy 3 shown in Fig. 14. In the example of Fig. 17, a segment delay amount calculation process (S240) is added compared to the example of the operation of Fig. 13.
[0144] In the example of Figure 17, the ingress edge router 100, as in Figure 13, measures the propagation delay (S201), captures the IP packets to be sent (S202), calculates the transmission interval (S203), and calculates the α percentile transmission interval (S230).
[0145] 13, the egress edge router 200 captures the received IP packets (S205), calculates the reception interval (S206), and calculates the α percentile reception interval (S231).
[0146] Next, the egress edge router 200 calculates the segment delay amount (S240). As described above, the segment delay amount calculation unit 208 detects the length of the received segment for each route and determines the class according to the segment length. For example, the segment delay amount calculation unit 208 calculates the segment delay amount for the determined class using one of the above equations (41) to (43) using the reception time of the first packet and the reception time of the last packet of the segment. The reception parameter calculation unit 205a stores the calculated segment delay amount for each route in the parameter storage unit 207.
[0147] Next, the egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval and the segment delay amount (S208c). As in S208b of Fig. 13, the reception parameter notifying unit 206a transmits the α percentile reception interval of each route and the segment delay amount of each route stored in the parameter storage unit 207 to the ingress edge router 100.
[0148] Next, the ingress edge router 100 acquires the α percentile reception interval and the segment delay amount from the egress edge router 200 (S209c). As in S209b of Fig. 13, the reception parameter acquisition unit 106a receives the α percentile reception interval and the segment delay amount of each route from the egress edge router 200. The reception parameter acquisition unit 106a stores the received α percentile reception interval and the segment delay amount of each route in the parameter storage unit 107a.
[0149] Next, once each parameter has been stored, the ingress edge router 100 calculates the route score for policy 4 (S210). The route score calculation unit 108a refers to the parameter storage unit 107a and calculates the route score for policy 4 for each route. For example, the route score calculation unit 108a calculates the route score for each route by adding up the segment delay amount, the difference between the α percentile transmission interval and the α percentile reception interval, and the propagation delay using the above equation (40).
[0150] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211), similar to Fig. 13. For example, the route selection unit 109 calculates the difference in route score of each route using the above formula (39), and selects the route with the smallest route score.
[0151] Next, the ingress edge router 100 switches the route for forwarding the IP packet, as in FIG. 13 (S212).
[0152] <Specific example of policy 5> Policy 5 is a policy that takes load balancing into consideration in addition to policy 4. Policy 5 makes it possible to distribute video in real time while taking load balancing into consideration. Note that the load balance conditions of policy 5 may be applied to any of policies 1 to 3, not just policy 4.
[0153] The objective function of policy 5 is: The first half of the above formula (44) is the same as policy 4, and the second half of formula (44) is a constraint condition for load balancing. As with policy 4, the first half of formula (44) can be written as follows: The route score of each route is also expressed by the following formula, similar to policy 4.
[0154] The constraint in the latter half of the above equation (44) can be approximated by discrete values as follows: l i,t is the size of data transmitted on the path i at time t. From equation (47), the constraint is that the amount of data transmitted on each path during a certain time τ is smaller than that on other paths.
[0155] 18 shows an example of the configuration of each device in a communication system 1 for policy 5 according to some embodiments. In the example of Fig. 18, compared to the example of Fig. 15, the ingress edge router 100 further includes a transmission data amount calculation unit 111.
[0156] The transmission data amount calculation unit 111 calculates the amount of data to be transmitted. For example, the transmission data amount calculation unit 111 periodically measures the size of data to be transmitted for each path. The transmission data amount calculation unit 111 starts measurement with the transmission data size l = 0, and updates the data size l by accumulating the length of the transmitted packet each time a packet is transmitted until the measurement period ends.
[0157] Fig. 19 shows an example of the operation of the communication system 1 for policy 5 according to some embodiments. Fig. 19 shows an example in which the operation of policy 5 is applied to the example of the operation of policy 4 shown in Fig. 17. Note that the operation of policy 5 may also be applied to the example of the operation of any of policies 1 to 3. In the example of Fig. 19, a transmission data amount calculation process (S250) is added compared to the example of the operation of Fig. 17.
[0158] In the example of Figure 19, the ingress edge router 100, as in Figure 17, measures the propagation delay (S201), captures the IP packets to be sent (S202), calculates the transmission interval (S203), and calculates the α percentile transmission interval (S230).
[0159] The ingress edge router 100 also calculates the amount of transmission data (S250). The transmission data amount calculation unit 111 calculates the amount of data to be transmitted for a certain period for each route as described above. The transmission data amount calculation unit 111 stores the calculated amount of transmission data for each route in the parameter storage unit 107a.
[0160] 17, the egress edge router 200 captures the received IP packets (S205), calculates the reception interval (S206), calculates the α percentile reception interval (S231), and calculates the segment delay amount (S240). The egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval and the segment delay amount (S208c).
[0161] 17 , the ingress edge router 100 acquires the α percentile reception interval and the segment delay amount from the egress edge router 200 (S209c), and calculates the route score of policy 5 (S210). For example, the route score calculation unit 108a calculates the route score by adding up the segment delay amount, the difference between the α percentile transmission interval and the α percentile reception interval, and the propagation delay for each route using the above equation (46).
[0162] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211). The route selection unit 109 compares the calculated route scores of each route and determines the route with the smallest route score. For example, the route selection unit 109 calculates the difference between the route scores of each route using the above equation (45) and determines the route with the smallest route score. The route selection unit 109 then determines whether the determined route satisfies the constraints. For example, the route selection unit 109 determines whether the route has the smallest amount of transmission data using the above equation (47). The route selection unit 109 determines the route with the smallest route score among the routes that satisfy the constraints. Note that the route score may be calculated using any of policies 1 to 4. Next, the ingress edge router 100 switches the route for forwarding the IP packet (S212), as in FIG. 17 .
[0163] As described above, in this embodiment, a route selection policy is formulated to include a delay gradient, and a route is selected based on the calculated route score. Therefore, an appropriate route can be selected according to a variety of policies including a delay gradient.
[0164] (Embodiment 3) Next, embodiment 3 will be described. This embodiment is an example in which the parameters of the route score of embodiment 2 are periodically reset. Note that this embodiment can be implemented in combination with embodiment 2, and each configuration shown in embodiment 2 may be used as appropriate.
[0165] For example, in the example described in the second embodiment, a route score is calculated according to the route selection policy, and the route with the smallest route score is selected. FIG. 20 shows an example of route scores and selected routes in the communication system 1 according to some embodiments. In the example of FIG. 20, the route score of route 2 is smaller than the route score of route 1 at time t1, so route 2 is selected. While route 2 is selected, packets are transmitted via route 2, and packets are not transmitted via route 1. Therefore, if route 2 with good communication quality continues to be selected, the route score of the unselected route 1 is not updated, and route 1 will no longer be used, which is a problem. In other words, once route 2 is selected, even if route 1 has better communication quality, this is not reflected in the route score, so the communication quality cannot be grasped.
[0166] Therefore, in this embodiment, after a route is selected, it is possible to reset the route score parameters of unselected routes. FIG. 21 shows an example of route scores and selected routes when route score parameters are reset in a communication system 1 according to some embodiments. In the example of FIG. 21, since the route score of route 2 is smaller than the route score of route 1 at time t1, route 2 is selected. Next, at time t2, the route score parameters of unselected route 1 are reset, and the route score of route 1 is reduced to 0. As a result, the route score of route 1 becomes smaller than the route score of route 2, and route 1 is selected. By selecting route 1, the route score of route 1 is updated. By periodically resetting the route score parameters including the delay gradient and appropriately selecting routes with poor communication quality, it is possible to grasp the current communication quality of each route. In other words, routes whose communication quality is not updated are intentionally used to encourage the update of communication quality.
[0167] The timing for resetting the route score parameters may be periodic or upon a predetermined event. For example, the parameters may be reset when the number of data items for which the route score is not updated, i.e., the number of times another route continues to be used, exceeds N. N may be a fixed value or a variable value. For example, the number of data items in N is the number of data items in a transmission interval stored in the ring buffer. The parameters may also be reset when the route score of the selected route becomes smaller than a predetermined value.
[0168] Note that the method of updating the route score of an unselected route is not limited to resetting the parameters. For example, if multiple flows are run and a route score is calculated for each flow, the parameters used to calculate the route scores of other flows may be used.
[0169] In this embodiment, the route score of any of the above policies 1 to 5 may be used. The configuration of the communication system 1 may be any of the configuration examples shown in the second embodiment.
[0170] 22 shows an example of the operation of the ingress edge router 100 according to some embodiments. In the example of Fig. 22, the ingress edge router 100 calculates a route score using one of policies 1 to 5 (S210), selects a route for forwarding the IP packet (S211), and switches the route for forwarding the IP packet (S212).
[0171] The ingress edge router 100 then determines whether a predetermined period of time has elapsed (S300). For example, it determines whether a predetermined period of time has elapsed since route i was selected without another route j being selected. It may also determine whether a predetermined period of time has elapsed since route i was selected without updating the route score of another route j or the parameters used to calculate the route score.
[0172] When a predetermined period of time has elapsed, the ingress edge router 100 resets the parameters of the route score (S301). The route score calculation unit 108a resets the parameters used to calculate the route score of the unselected route. In other words, the parameters stored in the parameter storage unit 107a are reset to 0.
[0173] For example, in the case of policy 1, the route score calculation unit 108a resets the parameters used in equation (23) for calculating the route score. Specifically, any one or all of the moving average of the transmission interval, the moving average of the reception interval, and the propagation delay of the unselected route are set to 0. In the case of policy 2, the route score calculation unit 108a resets the parameters used in equation (28) for calculating the route score. Specifically, any one or all of the moving variance of the transmission interval and the moving variance of the reception interval of the unselected route are set to 0.
[0174] In the case of policy 3, the route score calculation unit 108a resets the parameters used in equation (33) for calculating the route score. Specifically, any one or all of the α percentile transmission interval, α percentile reception interval, and propagation delay of the unselected route are set to 0. In the case of policy 4 or 5, the route score calculation unit 108a resets the parameters used in equation (40) or equation (46) for calculating the route score. Specifically, any one or all of the segment delay amount, α percentile transmission interval, α percentile reception interval, and propagation delay of the unselected route are set to 0.
[0175] Thereafter, the ingress edge router 100 calculates the route score (S210) and selects a route (S211). Because the parameters of the unselected route have been reset, the route score drops to 0. As a result, the route score of the unselected route becomes smaller, and the route is selected.
[0176] As described above, in this embodiment, after a route is selected, the route score parameters of unselected routes are reset, for example, periodically. By resetting the route score parameters of unselected routes, the unselected routes are selected, and the route scores of those routes can be updated. Therefore, the route scores that are periodically updated enable appropriate route selection.
[0177] (Fourth embodiment) Next, a fourth embodiment will be described. This embodiment is an example in which route switching is suppressed when the difference in route scores of the second embodiment is small. Note that this embodiment can be implemented in combination with the second or third embodiment, and the configurations shown in the second or third embodiment may be used as appropriate.
[0178] For example, in the example described in the second embodiment, a route score is calculated according to the route selection policy, and the route with the smallest route score is selected. Fig. 23 shows an example of route scores and selected routes in the communication system 1 according to some embodiments. In the example of Fig. 23, after time t3, the route scores of Route 1 and Route 2 fluctuate between similar values. Therefore, even a slight change in the score can cause the selected route to frequently change, resulting in an oscillation.
[0179] Therefore, in this embodiment, if the difference in route scores is small, the route is not switched. FIG. 24 shows an example of the difference in route scores and the selected route when the route is not switched when the difference in route scores is small in a communication system 1 according to some embodiments. In the example of FIG. 24, after time t3, the difference between the route score of route 1 and the route score of route 2 is within the range of +ε to −ε. Therefore, after time t3, the route is not switched regardless of the magnitude of the route score of route 1 and the route score of route 2. In the example of FIG. 24, route 2 remains selected. ε may be a fixed value or a variable value. Robustness is improved by not switching the route if there is no certain amount of difference when comparing the route scores.
[0180] In this embodiment, the route score of any of the above policies 1 to 5 may be used. The configuration of the communication system 1 may be any of the configuration examples shown in the second embodiment.
[0181] 25 shows an example of the operation of the ingress edge router 100 according to some embodiments. In the example of Fig. 25, the ingress edge router 100 calculates a route score using one of policies 1 to 5 (S210).
[0182] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S211). The route selection unit 109 calculates the difference between the calculated route scores for each route and determines whether the difference is smaller than a predetermined value (S400). If the difference between the route scores is smaller than the predetermined value, the route selection unit 109 does not change the selected route or switch routes. On the other hand, if the difference between the route scores is greater than the predetermined value, the route selection unit 109 selects the route with the smallest route score (S401). Once the route with the smallest route score is selected, the ingress edge router 100 switches the route for forwarding the IP packet (S212).
[0183] As described above, in this embodiment, when the difference in the route scores is small, the route is not switched. By not switching the route when the difference in the route scores is small, it is possible to suppress the occurrence of oscillations in route switching and improve robustness.
[0184] (Fifth Embodiment) Next, a fifth embodiment will be described. This embodiment is an example of switching the route when there is no response from the receiving side. This embodiment can be implemented in combination with any of the first to fourth embodiments, and each configuration shown in any of the first to fourth embodiments may be used as appropriate.
[0185] For example, in the example described in the first embodiment, the reception interval is acquired from the receiving side, and the route is switched depending on the result of calculating the delay gradient. FIG. 26 shows an example of operation when a delay occurs in the communication system 1 according to some embodiments. In the example of FIG. 26, the ingress edge router 100 calculates a delay gradient when it receives a reception interval dr1 corresponding to packet p1 from the egress edge router 200, and then calculates a delay gradient when it receives a reception interval dr2 corresponding to packet p2 from the egress edge router 200. For example, if packet p2 is suddenly delayed after transmitting packet p1, the reception interval dr2 corresponding to packet p2 will also be significantly delayed. In this case, the ingress edge router 100 cannot detect a deterioration in communication quality and cannot switch routes until it receives the delayed reception interval dr2. In other words, if a sudden delay occurs, a response such as a reception interval can only be obtained from the receiving side after the delay, resulting in a delayed response.
[0186] Therefore, in this embodiment, the route is switched if there is no response from the receiving side for a certain period of time. FIG. 27 shows an example of operation in a communication system 1 according to some embodiments, in which the route is switched when there is no response for a certain period of time. In the example of FIG. 27, the ingress edge router 100 switches the route if it does not receive anything from the egress edge router 200 for a certain period of time after receiving a reception interval dr1 corresponding to packet p1 from the egress edge router 200. In other words, if no response is received for a certain period of time after the last reception of a response such as a reception interval, it determines that there is a delay, and switches the route at the next transmission timing. For example, the route may be switched if information regarding the reception time is not received within a predetermined period of time.
[0187] In this embodiment, the configuration of the communication system may be the configuration example shown in the first embodiment, or any of the configurations shown in the second to fourth embodiments.
[0188] Fig. 28 shows an example of the operation of the ingress edge router 100 according to some embodiments. Fig. 28 shows an example in which this embodiment is applied to the example of operation shown in Fig. 8 in embodiment 1. This embodiment may be applied not only to the example in Fig. 28 but also to the examples of operation shown in embodiments 2 to 4.
[0189] In the example of FIG. 28, the ingress edge router 100 captures IP packets to be transmitted (S101) and calculates the transmission interval (S102), similarly to FIG.
[0190] Thereafter, the ingress edge router 100 determines whether the reception timer that waits for reception of the reception interval from the egress edge router 200 has timed out (S500). For example, it may determine whether a certain time has elapsed since the last reception interval was received, or whether a certain time has elapsed since the last transmission interval was calculated or a packet was transmitted.
[0191] If the reception interval is received before the reception timer times out, as in Figure 8, the ingress edge router 100 acquires the reception interval (S106), calculates the delay gradient (S107), and selects a route for forwarding the IP packet (S108).
[0192] On the other hand, if the reception timer times out, the ingress edge router 100 switches the route (S109). If the reception timer times out, the route switching unit 103 switches from the currently selected route to another route.
[0193] As described above, in this embodiment, the route is switched when there is no response such as a reception interval from the receiving side for a certain period of time. By switching the route when there is no response such as a reception interval from the receiving side for a certain period of time, it is possible to quickly switch the route without waiting for a response when the delay suddenly increases.
[0194] The present disclosure is not limited to the above-described embodiment, and can be modified as appropriate within the scope of the present disclosure.
[0195] Each component in the above-described embodiments may be configured with hardware or software, or both, and may be configured with a single piece of hardware or software, or may be configured with multiple pieces of hardware or software. Each device, such as the ingress edge router and egress edge router, and each function (processing) may be realized by a computer 30 having a processor 31 such as a CPU (Central Processing Unit) and a memory 32 serving as a storage device, as shown in FIG. 29. For example, a program for performing the method (route selection method) in the embodiment may be stored in the memory 32, and each function may be realized by the processor 31 executing the program stored in the memory 32.
[0196] The above-mentioned program includes a set of instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
[0197] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.
[0198] Each drawing is merely an example for describing one or more embodiments. Each drawing may not relate to only one particular embodiment, but may also relate to one or more other embodiments. As will be understood by those skilled in the art, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings to create, for example, an embodiment not explicitly shown or described. Not all features or steps shown in any one drawing are necessary to describe an exemplary embodiment, and some features or steps may be omitted. The order of steps described in any drawing may be changed as appropriate.
[0199] Some or all of the above embodiments may also be described as, but not limited to, the following supplementary notes: Some or all of the elements described in any supplementary note may be applied to various hardware, software, recording means for recording software, systems, and methods.
[0200] (Supplementary Note 1) A route selection system comprising: a calculation means for calculating a delay gradient indicating a trend in delay on a plurality of communication paths based on a transmission time and a reception time of each of a plurality of packets on the plurality of communication paths; and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient. (Supplementary Note 2) The route selection system according to Supplementary Note 1, wherein the calculation means calculates the delay gradient based on a difference between a transmission interval of the plurality of packets and a reception interval of the plurality of packets. (Supplementary Note 3) The route selection system according to Supplementary Note 1 or 2, wherein the calculation means calculates route evaluation values of the plurality of communication paths according to a route selection policy based on the delay gradients of the plurality of communication paths, and the selection means selects the communication path based on the calculated route evaluation values. (Supplementary Note 4) The route selection system according to Supplementary Note 3, wherein the route selection policy includes any of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, or a fourth policy for transmitting a group of packets so as to suppress a predetermined percentile delay within a certain amount. (Supplementary Note 5) The route selection system according to Supplementary Note 4, wherein the route selection policy is any one of the first to fourth policies and further includes a fifth policy for distributing the load of the plurality of communication routes. (Supplementary Note 6) The route selection system according to any one of Supplementary Notes 3 to 5, wherein the calculation means, after calculating route evaluation values of the plurality of communication routes, resets a parameter used for calculating route evaluation values of a communication route not selected by the selection means, among the route evaluation values of the plurality of communication routes. (Supplementary Note 7) The route selection system according to any one of Supplementary Notes 3 to 6, wherein the selection means does not switch the selected communication route when a difference between the route evaluation values of the plurality of communication routes is smaller than a predetermined value. (Supplementary Note 8) The route selection system according to any one of Supplementary Notes 1 to 7, further comprising: receiving means for receiving information related to the reception times from a receiving device that receives the plurality of packets, and the selection means switches the selected communication route when the information related to the reception times is not received within a predetermined period.(Supplementary Note 9) A route selection device comprising: a calculation means for calculating a delay gradient indicating a tendency of delay in a plurality of communication paths based on a transmission time and a reception time of each of a plurality of packets on the plurality of communication paths; and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient. (Supplementary Note 10) The route selection device according to Supplementary Note 9, wherein the calculation means calculates the delay gradient based on a difference between a transmission interval of the plurality of packets and a reception interval of the plurality of packets. (Supplementary Note 11) The route selection device according to Supplementary Note 9 or 10, wherein the calculation means calculates route evaluation values of the plurality of communication paths in accordance with a route selection policy based on the delay gradients of the plurality of communication paths, and the selection means selects the communication path based on the calculated route evaluation value. (Supplementary Note 12) The route selection device according to Supplementary Note 11, wherein the route selection policy includes any of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, or a fourth policy for transmitting a packet group so as to suppress a predetermined percentile delay within a certain amount. (Supplementary Note 13) The route selection device according to Supplementary Note 12, wherein the route selection policy is any of the first to fourth policies and further includes a fifth policy for distributing the load of the plurality of communication routes. (Supplementary Note 14) The route selection device according to any one of Supplementary Notes 11 to 13, wherein, after calculating route evaluation values of the plurality of communication routes, the calculation means resets parameters used for calculating route evaluation values of communication routes not selected by the selection means, out of the route evaluation values of the plurality of communication routes. (Supplementary Note 15) A route selection method comprising: calculating a delay gradient indicating a tendency of delay in a plurality of communication paths based on a transmission time and a reception time of each of a plurality of packets on the plurality of communication paths; and selecting one of the plurality of communication paths based on the calculated delay gradient. (Supplementary Note 16) The route selection method according to Supplementary Note 15, wherein the delay gradient is calculated based on a difference between a transmission interval of the plurality of packets and a reception interval of the plurality of packets.(Supplementary Note 17) The route selection method according to Supplementary Note 15 or 16, calculating route evaluation values of the plurality of communication routes according to a route selection policy based on delay gradients of the plurality of communication routes, and selecting the communication routes based on the calculated route evaluation values. (Supplementary Note 18) The route selection method according to Supplementary Note 17, wherein the route selection policy includes any of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, and a fourth policy for transmitting a packet group so as to suppress a predetermined percentile delay within a certain amount. (Supplementary Note 19) The route selection method according to Supplementary Note 18, wherein the route selection policy is any of the first to fourth policies and further includes a fifth policy for distributing the load of the plurality of communication routes. (Supplementary Note 20) The route selection method according to any one of Supplementary Notes 17 to 19, wherein, after calculating the route evaluation values of the plurality of communication routes, a parameter used for calculating the route evaluation value of a communication route not selected from the route evaluation values of the plurality of communication routes is reset. (Supplementary Note 21) The route selection device according to any one of Supplements 11 to 14, wherein the selection means does not switch the selected communication route when a difference in route evaluation values of the plurality of communication routes is smaller than a predetermined value. (Supplementary Note 22) The route selection device according to any one of Supplements 9 to 14, comprising: receiving means for receiving information relating to the reception times from a receiving device that receives the plurality of packets, and the selection means switches the selected communication route when the information relating to the reception times is not received within a predetermined period. (Supplementary Note 23) The route selection method according to any one of Supplements 17 to 20, wherein the selected communication route is not switched when a difference in route evaluation values of the plurality of communication routes is smaller than a predetermined value. (Supplementary Note 24) The route selection method according to any one of Supplements 15 to 20, wherein information relating to the reception times is received from a receiving device that receives the plurality of packets, and the selected communication route is switched when the information relating to the reception times is not received within a predetermined period.
[0201] REFERENCE SIGNS LIST 1 Communication system 10 Route selection system 11 Calculation unit 12 Selection unit 20 Route selection device 30 Computer 31 Processor 32 Memory 100 Ingress edge router 101 Packet reception unit 102 Packet forwarding unit 103 Route switching unit 104 Packet capture unit 105 Transmission interval calculation unit 105a Transmission parameter calculation unit 106 Reception interval acquisition unit 106a Reception parameter acquisition unit 107 Interval storage unit 107a Parameter storage unit 108 Delay gradient calculation unit 108a Route score calculation unit 109 Route selection unit 110 Propagation delay measurement unit 111 Transmission data amount calculation unit 200 Egress edge router 201 Packet reception unit 202 Packet forwarding unit 203 Routing unit 204 Packet capture unit 205 Reception interval calculation unit 205a Reception parameter calculation unit 206 Reception interval notification unit 206a Reception parameter notification unit 207 Parameter storage unit 208 Segment delay amount calculation unit 300 Client network 400 Server side network
Claims
1. A route selection system comprising: a calculation means for calculating a delay gradient that indicates a tendency of delay in a plurality of communication paths based on a transmission time and a reception time of each of a plurality of packets in the plurality of communication paths; and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient.
2. The route selection system according to claim 1, wherein said calculation means calculates said delay gradient based on a difference between a transmission interval of said plurality of packets and a reception interval of said plurality of packets.
3. The route selection system of claim 1 or 2, wherein the calculation means calculates route evaluation values of the multiple communication routes in accordance with a route selection policy based on delay gradients of the multiple communication routes, and the selection means selects the communication route based on the calculated route evaluation values.
4. The route selection system of claim 3, wherein the route selection policy includes any one of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, or a fourth policy for transmitting a group of packets so as to suppress a predetermined percentile delay within a certain amount.
5. The route selection system according to claim 4, wherein the route selection policy, in addition to any one of the first to fourth policies, further includes a fifth policy for distributing the load of the plurality of communication routes.
6. A route selection system as claimed in any one of claims 3 to 5, wherein the calculation means, after calculating the route evaluation values of the plurality of communication routes, resets parameters used in calculating the route evaluation values of the plurality of communication routes that are not selected by the selection means.
7. A route selection system according to any one of claims 3 to 6, wherein said selection means does not switch said selected communication route when a difference between route evaluation values of said plurality of communication routes is smaller than a predetermined value.
8. A route selection system as claimed in any one of claims 1 to 7, further comprising a receiving means for receiving information relating to the reception time from a receiving device that receives the plurality of packets, and wherein the selecting means switches the selected communication route if the information relating to the reception time is not received within a predetermined period of time.
9. A route selection device comprising: a calculation means for calculating a delay gradient indicating a tendency of delay in a plurality of communication paths based on a transmission time and a reception time of each of a plurality of packets in the plurality of communication paths; and a selection means for selecting one of the plurality of communication paths based on the calculated delay gradient.
10. The route selection device according to claim 9, wherein said calculation means calculates said delay gradient based on a difference between a transmission interval of said plurality of packets and a reception interval of said plurality of packets.
11. The route selection device described in claim 9 or 10, wherein the calculation means calculates route evaluation values of the multiple communication routes in accordance with a route selection policy based on delay gradients of the multiple communication routes, and the selection means selects the communication route based on the calculated route evaluation values.
12. The route selection device of claim 11, wherein the route selection policy includes any one of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a specified percentile delay within a certain amount, or a fourth policy for transmitting a group of packets so as to suppress a specified percentile delay within a certain amount.
13. The route selection device according to claim 12, wherein the route selection policy, in addition to any one of the first to fourth policies, further includes a fifth policy for distributing the load of the plurality of communication routes.
14. A route selection device as described in any one of claims 11 to 13, wherein the calculation means, after calculating the route evaluation values of the plurality of communication routes, resets parameters used in calculating the route evaluation values of the plurality of communication routes that are not selected by the selection means.
15. A route selection method comprising: calculating a delay gradient indicating a trend of delay in a plurality of communication paths based on a sending time and a receiving time of each of a plurality of packets in the plurality of communication paths; and selecting one of the plurality of communication paths based on the calculated delay gradient.
16. The route selection method according to claim 15, further comprising the step of calculating the delay gradient based on a difference between a transmission interval of the plurality of packets and a reception interval of the plurality of packets.
17. The route selection method according to claim 15 or 16, further comprising: calculating route evaluation values of the plurality of communication routes according to a route selection policy based on delay gradients of the plurality of communication routes; and selecting the communication route based on the calculated route evaluation values.
18. The route selection method of claim 17, wherein the route selection policy includes any one of a first policy for suppressing average delay, a second policy for suppressing delay variation, a third policy for suppressing a predetermined percentile delay within a certain amount, or a fourth policy for transmitting a group of packets so as to suppress a predetermined percentile delay within a certain amount.
19. The route selection method according to claim 18, wherein the route selection policy, in addition to any one of the first to fourth policies, further includes a fifth policy for distributing the load of the plurality of communication routes.
20. A route selection method according to any one of claims 17 to 19, further comprising resetting a parameter used in calculating the route evaluation values of a communication route that has not been selected among the plurality of communication routes after calculating the route evaluation values of the plurality of communication routes.
Citation Information
Patent Citations
Data communication system, communication device, and communication program thereof
JP2005210671A
Cited By
Dynamic perception optimization system and method for link quality in mesh topology structure
CN122293569A