Path switching system, path switching device, and path switching method
Patent Information
- Application Number
- PCT/JP2023/036542
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-06
- Publication Date
- 2025-04-10
AI Technical Summary
The prior art does not consider timing when switching communication paths, resulting in changes in the order of data packets and affects the data integrity of the receiver.
Ensure the order of packets is maintained by detecting the paragraphs of transmitted data and switching communication paths on the paragraph units.
It effectively suppresses the change in the order of data packets, reduces data retransmission caused by sequence changes, and improves the stability and efficiency of the communication system.
Smart Images

Figure JP2023036542_10042025_PF_FP_ABST
Abstract
Description
Route switching system, route switching device, and route switching method
[0001] The present disclosure relates to a route switching system, a route switching device, and a route switching method.
[0002] There are known techniques for switching communication paths used for communication. For example, Patent Literature 1 describes optimizing communication paths based on end-to-end service quality and the like.
[0003] Special Publication No. 2006-516371
[0004] However, in Patent Document 1, the timing of switching communication paths is not taken into consideration. Therefore, for example, when data is transmitted using multiple packets, the order of packets may be rearranged on the receiving side depending on the timing of switching.
[0005] In view of the above-described problems, an object of the present disclosure is to provide a route switching system, a route switching device, and a route switching method that can suppress the occurrence of packet reordering.
[0006] A path switching system according to one aspect of the present disclosure includes a detection means for detecting segments of transmission data, and a switching means for switching a communication path for transmitting the transmission data in units of the detected segments.
[0007] A path switching device according to one aspect of the present disclosure includes a detection means for detecting segments of transmission data, and a switching means for switching a communication path for transmitting the transmission data in units of the detected segments.
[0008] A path switching method according to one aspect of the present disclosure detects segments of transmission data and switches a communication path for transmitting the transmission data in units of the detected segments.
[0009] According to the present disclosure, it is possible to prevent the occurrence of packet reordering.
[0010] 1 is a configuration diagram showing an example of the configuration of a route switching system according to an embodiment. 2 is a configuration diagram showing an example of the configuration of a route switching device according to an embodiment. 3 is a flowchart showing an example of a route switching method according to an embodiment. 4 is a configuration diagram showing an example of the configuration of a communication system according to an embodiment. 5 is a configuration diagram showing an example of the layer configuration of each device in a communication system according to an embodiment. 6 is a diagram for explaining a problem in a related communication system. 7 is a diagram for explaining an overview of a route switching method in a communication system according to an embodiment. 8 is a configuration diagram showing an example of the configuration of each device in a communication system according to an embodiment. 9 is a flowchart showing an example of the operation of an ingress edge router according to an embodiment. 10 is a diagram for explaining a segment detection method according to an embodiment. 11 is a diagram for explaining parameters in a communication system according to an embodiment. 12 is a diagram for explaining parameters in a communication system according to an embodiment. 13 is a configuration diagram showing an example of the configuration of each device in a communication system according to an embodiment. 14 is a flowchart showing an example of the operation of a communication system according to an embodiment. 15 is a configuration diagram showing an example of the configuration of each device in a communication system according to an embodiment. 16 is a flowchart showing an example of the operation of a communication system according to an embodiment. 17 is a flowchart showing an example of the operation of a communication system according to an embodiment. 18 is a configuration diagram showing an example of the configuration of each device in a communication system according to an embodiment. 1 is a diagram for explaining parameters in a communication system according to an embodiment; FIG. 2 is a flowchart showing an example of operation of a communication system according to an embodiment; FIG. 3 is a configuration diagram showing an example of configuration of each device in a communication system according to an embodiment; FIG. 4 is a flowchart showing an example of operation of a communication system according to an embodiment; FIG. 5 is a diagram showing an example of route scores and selected routes in a communication system according to an embodiment; FIG. 6 is a diagram showing an example of route scores and selected routes in a communication system according to an embodiment; FIG. 7 is a flowchart showing an example of operation of an ingress edge router according to an embodiment; FIG. 8 is a diagram showing an example of route scores and selected routes in a communication system according to an embodiment.Fig. 1 is a diagram showing an example of a difference in route scores and a selected route in a communication system according to an embodiment. Fig. 2 is a flowchart showing an example of operation of an ingress edge router according to an embodiment. Fig. 3 is a diagram showing an example of operation of a communication system according to an embodiment when there is a delay. Fig. 4 is a diagram showing an example of operation of a communication system according to an embodiment when there is a delay. Fig. 5 is a flowchart showing an example of operation of an ingress edge router according to an embodiment. Fig. 6 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] (Outline of the embodiment) First, an outline of the embodiment will be described. Fig. 1 shows an example of the configuration of a route switching system 10 according to some embodiments. For example, the route switching system 10 is a system that switches a communication path to be used for communication among a plurality of communication paths between a transmitting communication device and a receiving communication device. The route switching system 10 may include a transmitting communication device and a receiving communication device.
[0013] In the example of FIG. 1, the path switching system 10 includes a detection unit 11 and a switching unit 12. The detection unit 11 detects segments of transmission data. A segment is a group of packets including multiple packets, and is a unit of data that is processed as a single unit at the application layer. For example, if the transmission data is video data, the segment may be a frame included in the video data. If the transmission data is web data, the segment may be content such as an image included in the web data. If the transmission data is data in chunk format, the segment may be each chunk. If the transmission data includes multiple application files, the segment may be each file.
[0014] The detector 11 detects a segment of transmission data transmitted from a transmitting communication device to a receiving communication device. The detector 11 may detect a change of a segment based on multiple packets included in the transmission data. Note that a packet is an example of a unit of data transmitted and received between communication devices, and transmission and reception may be performed in units other than packets. For example, when a transmitting communication device receives multiple packets and forwards the received packets, the detector 11 may detect a segment based on the reception interval of the multiple received packets. The detector 11 may also detect a segment based on the length of the multiple packets.
[0015] The switching unit 12 switches the communication path for transmitting the transmission data in units of segments detected by the detection unit 11. For example, when the transmitting communication device selects a communication path based on the communication quality of multiple communication paths, the switching unit 12 may switch to the selected communication path in response to a detected segment switch. For example, the detection unit 11 may switch the communication path when it detects a segment switch based on multiple packets received.
[0016] The route switching system 10 may be configured with one device or multiple devices. Fig. 2 shows an example configuration of a route switching device 20 according to some embodiments. In the example of Fig. 2, the route switching device 20 includes the detection unit 11 and the switching unit 12 shown in Fig. 1. For example, the route switching device 20 may be included in a communication device on the sending side. The route switching device 20 may also be included in a control device or management device external to the communication device. The detection unit 11 and the switching unit 12 may be distributed across multiple devices.
[0017] 3 shows an example of a route switching method according to some embodiments. For example, the route switching method according to some embodiments may be performed by the route switching system 10 of FIG. 1 or the route switching device 20 of FIG. 2.
[0018] 3, the detector 11 detects a segment of the transmission data (S11). For example, the detector 11 may detect a change of a segment based on the reception interval or length of a plurality of packets included in the transmission data.
[0019] Next, the switching unit 12 switches the communication path for transmitting the transmission data in units of the detected segments (S12). For example, the switching unit 12 may switch the communication path in response to the detected switching of the segments.
[0020] In the embodiment, the communication path for transmission is switched for each segment of transmission data. For example, when transmission data is divided into multiple packets and transmitted, switching the communication path for transmission for each packet may cause the order of packets to be changed on the receiving side. In the embodiment, by switching the communication path for each segment containing multiple packets, it is possible to prevent the order of packets from being changed on the receiving side.
[0021] (First embodiment) Next, a description will be given of a first embodiment. This embodiment is an example in which a route is switched in units of segments.
[0022] 4 shows an example 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 autonomous driving and 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.
[0023] In the example of FIG. 4, the communication system 1 includes an ingress edge router 100 , an egress edge router 200 , a terminal 300 , and a server 400 .
[0024] The terminal 300 is connected to the ingress edge router 100 via a client network 301. The client network 301 may be a wired network such as a wired LAN, a wireless network such as a wireless LAN, or a combination thereof. One or more terminals 300 may be connected to the client network 301.
[0025] The terminal 300 is an application terminal that transmits application data to the server 400. In this embodiment, the terminal 300 transmits an application flow of application data to the server 400 via the ingress edge router 100 and the egress edge router 200. For example, in the case of remote control of a forklift or a robot, the terminal 300 is a forklift or a robot that is remotely controlled from the server 400. For example, the terminal 300 transmits video captured by a camera mounted on the forklift or the like to the server 400.
[0026] The server 400 is connected to the egress edge router 200 via a server-side network 401. The server-side network 401 may be a wired network such as a wired LAN, a wireless network such as a wireless LAN, or a combination thereof. One server 400 or multiple servers 400 may be connected to the server-side network 401.
[0027] The server 400 is an application server that receives application data transmitted from the terminal 300. In this embodiment, the server 400 receives an application flow of application data from the terminal 300 via the ingress edge router 100 and the egress edge router 200. For example, in the case of remote control of a forklift or a robot, the server 400 is a server that monitors and remotely controls the forklift or the robot. For example, the server 400 transmits a control command to the terminal 300 to control the forklift or the like in accordance with the video image received from the terminal 300 of the forklift or the like.
[0028] The ingress edge router 100 and the egress edge router 200 relay the flow from the terminal 300 to the server 400. Note that, although this embodiment describes a case where the route of the flow transmitted from the terminal 300 to the server 400 is switched, the same can be applied to the flow transmitted from the server 400 to the terminal 300.
[0029] The ingress edge router 100 is connected between the client network 301 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 401. Communication is possible between the ingress edge router 100 and the egress edge router 200 via multiple wireless networks NW. Each of the multiple wireless networks NW forms 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 (Long Term Evolution), 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, etc.) or may be the same type of wireless network. The route between the ingress edge router 100 and the egress edge router 200 is not limited to a route through the wireless network NW, but may be a route through a wired network, or may be a route including a combination of a wireless network and a wired network.
[0030] The ingress edge router 100 is an edge router on 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 301, and is also located at the edge of the wireless network NW. In this embodiment, a flow is forwarded by IP (Internet Protocol) packets. The ingress edge router 100 receives IP packets from the terminal 300 via the client network 301 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, and 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 any of the wireless networks NW and transfer the received IP packets to the terminal 300 via the client network 301. Note that the ingress edge router 100 is not limited to a router that relays IP packets, and may be other relay devices such as a gateway or a bridge.
[0031] 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 401, 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 400 via the server-side network 401. 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 400 via the server-side network 401 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 not limited to a router, but may be another relay device.
[0032] FIG. 5 shows an example of the layer configuration of each device in a communication system 1 according to some embodiments. FIG. 5 is an example of a layer configuration, and other configurations are also possible. For example, the TCP (Transmission Control Protocol) layer is an example of a transport layer, and is not limited to the TCP layer, but may be a layer of other protocols such as UDP (User Datagram Protocol). Furthermore, the IP layer is an example of a network layer, and is not limited to the IP layer, but may be a layer of other protocols. Note that, for simplicity of explanation, other layers, such as the physical layer, session layer, and presentation layer, are omitted from FIG. 5.
[0033] In the example of FIG. 5, the terminal 300 includes an application layer 533 , a TCP layer 532 , and an IP layer 531 .
[0034] The application layer 533 transmits and receives application data to and from the server 400. For example, the application layer 533 generates application data to be transmitted to the server 400 and transmits the application data to the server 400 via the TCP layer 532. The application data is made up of multiple segments. An application processing unit that realizes the application layer 533 executes application processing according to the application on a segment-by-segment basis.
[0035] The TCP layer 532 establishes a TCP session with the server 400 and transmits and receives data end-to-end. For example, a TCP session corresponds to an end-to-end flow. For example, the TCP layer 532 divides the application data generated by the application layer 533 into multiple packets in segments, and transmits the divided packets via the IP layer 531.
[0036] The IP layer 531 transmits and receives IP packets to and from the ingress edge router 100. The IP layer 531 transfers the packets divided by the TCP layer 532 to the ingress edge router 100 via the client network 301 as IP packets addressed to the server 400.
[0037] The ingress edge router 100 includes an IP layer 511. The IP layer 511 transmits and receives IP packets to and from the terminal 300, and also transmits and receives IP packets to and from the egress edge router 200. The IP layer 511 forwards IP packets received from the terminal 300 or the egress edge router 200 to the terminal 300 or the egress edge router 200. For example, the IP layer 511 forwards IP packets addressed to the server 400 received from the terminal 300 via the client network 301 to the egress edge router 200 via one of the wireless networks NW.
[0038] The egress edge router 200 includes an IP layer 521. The IP layer 521 transmits and receives IP packets to and from the ingress edge router 100, and also transmits and receives IP packets to and from the server 400. The IP layer 521 forwards IP packets received from the ingress edge router 100 or the server 400 to the ingress edge router 100 or the server 400. For example, the IP layer 521 forwards IP packets addressed to the server 400 received from the egress edge router 200 via any of the wireless networks NW to the server 400 via the server-side network 401.
[0039] The server 400 includes an application layer 543 , a TCP layer 542 , and an IP layer 541 .
[0040] The IP layer 541 transmits and receives IP packets to and from the egress edge router 200. For example, the IP layer 541 receives IP packets addressed to the server 400 from the egress edge router 200 via the server-side network 401, and outputs the received IP packets to the TCP layer 542.
[0041] The TCP layer 542 establishes a TCP session with the terminal 300 and transmits and receives data end-to-end. For example, the TCP layer 542 combines IP packets addressed to the server 400 that are received by the IP layer 541, and restores the packets to application data in segments.
[0042] The application layer 543 transmits and receives application data to and from the terminal 300. For example, the application layer 543 receives application data in units of segments restored from IP packets received by the TCP layer 542. Similar to the application layer 533 of the terminal 300, the application layer 543 has an application processing unit that realizes the application layer 543, which executes application processing according to the application in units of segments.
[0043] FIG. 6 is a diagram illustrating a problem with a route switching method in a related communication system. In the example of FIG. 6 , the ingress edge router 100 receives multiple IP packets, each segment of application data, from the terminal 300. The ingress edge router 100 transmits the received IP packets to the egress edge router 200. The ingress edge router 100 switches routes including the wireless network NW depending on the communication quality of the wireless network NW. In the example of FIG. 6 , the ingress edge router 100 selects route 1 or route 2 depending on the communication quality and switches routes on an IP packet-by-IP packet basis. The egress edge router 200 receives multiple IP packets via one of the routes, and the server 400 combines the received multiple IP packets. As shown in FIG. 6 , if the route for frequently transmitting IP packets is switched for each IP packet, the order of the IP packets received by the egress edge router 200 may be changed. If the order of the IP packets is changed, an error occurs in the data of the combined segments, resulting in retransmissions in the TCP layer and application layer, which are higher than the IP layer.
[0044] Therefore, in this embodiment, routes are switched on a segment-by-segment basis, rather than on an IP packet-by-IP packet basis. FIG. 7 shows an overview of a route switching method in a communication system 1 according to some embodiments. In the example of FIG. 7, the ingress edge router 100 switches routes on a segment-by-segment basis, each segment including multiple IP packets. When routes are switched on a segment-by-segment basis, the ingress edge router 100 transmits multiple IP packets while maintaining the order of the IP packets within the segment. Because the order of the transmitted IP packets is maintained, it is possible to prevent the order of the IP packets received by the egress edge router 200 from being changed. Therefore, since no errors occur in the data of the segments combined by the server 400, it is possible to prevent retransmissions from occurring in the TCP layer or application layer, which are higher than the IP layer.
[0045] 8 shows an example of the configuration of each device in a communication system 1 according to some embodiments. Note that the configuration in FIG. 8 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 located in an external device. For example, the communication quality acquisition unit 103, the route selection unit 104, etc. may be located in an external control device.
[0046] In the example of FIG. 8, the ingress edge router 100 includes a packet receiving unit 101 , a packet forwarding unit 102 , a communication quality obtaining unit 103 , a route selecting unit 104 , a route storing unit 105 , a segment detecting unit 106 , and a route switching unit 107 .
[0047] The packet receiving unit 101 receives IP packets from the terminal 300 via the client network 301. The packet receiving unit 101 receives IP packets in a segment of application data transmitted from the terminal 300 to the server 400.
[0048] 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 107, i.e., the wireless network NW of the route set by the route switching unit 107. 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.
[0049] The communication quality acquisition unit 103 acquires the communication quality of multiple wireless networks NW, i.e., multiple routes. The communication quality acquisition unit 103 may measure the communication quality of the wireless network NW, or an external device may acquire the results of measuring the communication quality of the wireless network NW. The method of acquiring the communication quality in the communication quality acquisition unit 103 is not limited. The communication quality acquisition unit 103 may perform active measurement to measure the communication quality by transmitting and receiving packets for measuring the communication quality to and from the egress edge router 200. For example, the communication quality acquisition unit 103 may acquire the delay of the wireless network NW by measuring the RTT (Round Trip Time) using ping. The communication quality acquisition unit 103 may also perform passive measurement to measure the communication quality by observing the application flow.
[0050] The route selection unit 104 selects a route for forwarding an IP packet based on the communication quality of each route acquired by the communication quality acquisition unit 103. The route selection unit 104 selects the route with the best communication quality. For example, the route selection unit 104 selects the route with the smallest delay. The route selection unit 104 stores the selected route in the route storage unit 105.
[0051] The route selection unit 104 may select a route for forwarding for each flow. A flow can be identified by a source IP address, which is the IP address of the terminal 300, and a destination IP address, which is the IP address of the server 400. For example, the communication quality may be acquired for each flow, 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 that matches the characteristics of the data in the flow.
[0052] The route storage unit 105 stores the route selected by the route selection unit 104. The route storage unit 105 may store the communication quality of each route acquired by the communication quality acquisition unit 103.
[0053] The segment detection unit 106 detects a segment of a flow received from the terminal 300. The segment detection unit 106 detects a segment of a flow including an IP packet that the packet reception unit 101 receives from the terminal 300 via the client network 301. The segment detection unit 106 detects a segment based on a plurality of received IP packets. Detecting a segment includes detecting that the next IP packet is the start of a segment. In other words, detecting a segment includes detecting a change of segment or a boundary between segments.
[0054] For example, the segment detection unit 106 may detect a segment based on the reception interval of the IP packets by capturing the reception time, i.e., the arrival time, when the packet reception unit 101 receives the IP packets. The segment detection unit 106 may detect the beginning of a segment, i.e., a change, when the reception interval of the IP packets is longer than a predetermined interval.
[0055] The segment detection unit 106 may also detect segments based on the size of the received IP packets. For example, if the maximum length of an IP packet is 1500 bytes, a single segment often contains successive 1500-byte packets, with the last packet being 1500 bytes or less. Therefore, the segment detection unit 106 may detect the beginning of a segment, i.e., a change, when the packet size changes from a fixed length to a shorter length.
[0056] Alternatively, the segment identification number may be stored in advance in the IP packet, and the segment detection unit 106 may detect the segment by the segment identification number of each IP packet. The segment detection unit 106 may also detect the segment by other methods.
[0057] The route switching unit 107 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 107 refers to the route storage unit 105 and switches the route of the destination of the IP packet to the route registered in the route storage unit 105. In other words, the route switching unit 107 sets the destination of the IP packet to the route selected by the route selection unit 104. In this embodiment, the route switching unit 107 switches to the selected route for each segment detected by the segment detection unit 106. In other words, the route switching unit 107 switches the route in accordance with the switch of the segment detected by the segment detection unit 106. The route switching unit 107 switches the route at least from the end to the beginning of the segment.
[0058] In the example of FIG. 8, the egress edge router 200 includes a packet receiving unit 201 , a packet forwarding unit 202 , and a routing unit 203 .
[0059] 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.
[0060] The packet forwarding unit 202 forwards the IP packet received by the packet receiving unit 201 to the server 400 via the server-side network 401. The packet forwarding unit 202 transmits the IP packet to the server 400 via the server-side network 401 in accordance with the routing information set by the routing unit 203.
[0061] 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.
[0062] 9 shows an example of the operation of the ingress edge router 100 according to some embodiments. In the example of FIG. 9, the ingress edge router 100 acquires the communication quality of multiple routes (S101). The communication quality acquisition unit 103 acquires the communication quality of the routes via the wireless network NW. For example, the communication quality acquisition unit 103 transmits ping packets from the wireless interfaces IF connected to each wireless network NW, measures the RTT, and acquires the delay of each route.
[0063] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S102). For example, the route selection unit 104 selects a route with the smallest delay. The route selection unit 104 stores the selected route in the route storage unit 105.
[0064] Next, the ingress edge router 100 detects the segments (S103). For example, the segment detection unit 106 detects the segments online, that is, in real time, based on the reception intervals of a plurality of IP packets received from the terminal 300.
[0065] 10 is a diagram illustrating a segment detection method according to some embodiments. For example, when a packet i is received, the segment detection unit 106 detects the packet reception time a i and the reception time of the previous packet a i-1 The difference δ i = a i -a i-1 The segment detection unit 106 calculates the difference δ i When δ exceeds a threshold value δ, the segment detection unit 106 detects the beginning of a segment, i.e., a change of a segment. i If δ > δ, it is the beginning of a segment, and δ i If δ<δ, it is determined that the segment is in progress. i The interval δ is the interval between the last packet of a segment and the first packet of the next segment, and δ iA packet received at an interval of >δ becomes the first packet of the next segment. The threshold δ is assumed to be a fixed value. For example, the threshold δ may be 100 ms. Alternatively, the threshold δ may be the 99.9th percentile of the one-way delay between the terminal 300 and the ingress edge router 100.
[0066] Next, the ingress edge router 100 switches the route for forwarding the IP packet (S104). The route switching unit 107 switches the forwarding destination of the IP packet to the selected route for each detected segment. When the segment detection unit 106 detects the beginning of a segment, i.e., a switch, based on the received packet, the route switching unit 107 switches to the route stored in the route storage unit 105. The packet forwarding unit 102 forwards the IP packet via the wireless network NW of the route switched by the route switching unit 107.
[0067] As described above, in this embodiment, the ingress edge router on the sending side detects a segment containing multiple packets and switches the route on a segment-by-segment basis. By switching the route on a segment-by-segment basis, it is possible to prevent the order of packets from being changed at the egress edge router on the receiving side. Since retransmission occurs when the order of packets is changed, in this embodiment, by suppressing the change in the order of packets, it is possible to prevent retransmission from occurring in advance and to prevent delays due to retransmission.
[0068] (Embodiment 2) Next, embodiment 2 will be described. This embodiment is an example in which a route is selected based on a delay gradient as communication quality, and the route is switched in units of segments. Note that this embodiment can be implemented in combination with embodiment 1, and each configuration shown in embodiment 1 may be used as appropriate.
[0069] The principle of the route selection method using delay gradient will be explained. The objective function for finding the route with the minimum 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.
[0070] 11 is a diagram for explaining the parameters in the above equation (2). As shown in FIG. 11, the one-way delay d i is the transmission time s of route i i and reception time r i 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:
[0071] 12 is a diagram for explaining the parameters in the above formula (4). As shown in FIG. 12, 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.
[0072] In FIG. 12, 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 r The 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.
[0073] FIG. 13 shows an example of the configuration of each device in a communication system 1 according to some embodiments.
[0074] In the example of Figure 13, the ingress edge router 100, like that of Figure 8, includes a packet receiving unit 101, a packet forwarding unit 102, a route selecting unit 104, a route storing unit 105, a segment detecting unit 106, and a route switching unit 107, and further includes a packet capturing unit 110, a transmission interval calculating unit 111, a receiving interval acquiring unit 112, an interval storing unit 113, and a delay gradient calculating unit 114.
[0075] The packet capture unit 110 captures IP packets transmitted from the ingress edge router 100 to the egress edge router 200. The packet capture unit 110 captures IP packets transmitted from the packet forwarding unit 102 via each wireless network NW. Specifically, the packet capture unit 110 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 110 acquires the transmission time of IP packets transmitted via each route.
[0076] The transmission interval calculation unit 111 calculates the transmission interval of the IP packets captured by the packet capture unit 110. Specifically, the transmission interval calculation unit 111 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 via the same route is calculated. Note that, as shown in FIG. 12 , the transmission interval of multiple IP packets transmitted via different routes may also be calculated. The transmission interval calculation unit 111 stores the calculated transmission interval for each route in the interval storage unit 113.
[0077] The reception interval acquisition unit 112 acquires the reception interval of each route from the egress edge router 200. The reception interval acquisition unit 112 is a receiving unit that receives the reception interval, i.e., information regarding the reception time. The reception interval acquisition unit 112 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 112 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 112 stores the acquired reception interval of each route in the interval storage unit 113.
[0078] The interval storage unit 113 stores the transmission intervals of each route calculated by the transmission interval calculation unit 111 and the reception intervals of each route acquired by the reception interval acquisition unit 112 .
[0079] The delay gradient calculation unit 114 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 113. Specifically, the delay gradient calculation unit 114 calculates the difference between the transmission interval and the reception interval, as in the above equation (4). For example, the delay gradient calculation unit 114 calculates a delay gradient for each path using the transmission interval and reception interval for the same path. As shown in FIG. 12 , the delay gradient may also be calculated using the transmission interval and reception interval for different paths.
[0080] The route selector 104 selects a route for forwarding an IP packet based on the delay gradient of each route calculated by the delay gradient calculator 114. For example, the route selector 104 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.
[0081] In the example of Figure 13, the egress edge router 200, like that of Figure 8, includes a packet receiving unit 201, a packet forwarding unit 202, and a routing unit 203, and further includes a packet capturing unit 204, a receiving interval calculating unit 205, and a receiving interval notifying unit 206.
[0082] 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.
[0083] 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. 12, the reception interval of multiple IP packets received via different paths may also be calculated.
[0084] 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.
[0085] 14 shows an example of operation of the communication system 1 according to some embodiments. In the example of FIG. 14, the ingress edge router 100 captures an IP packet to be transmitted (S201). The packet receiving unit 101 receives the IP packet from the client network 301, 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 110 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.
[0086] Next, the ingress edge router 100 calculates the transmission interval of the IP packets (S202). For example, when an IP packet is transmitted via route i or route j, the transmission interval calculation unit 111 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 111 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 111 stores the calculated transmission intervals of route i and route j in the interval storage unit 113. 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 along 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.
[0087] The egress edge router 200 also captures the received IP packets (S203). The packet receiving unit 201 receives the IP packets from the ingress edge router 100 via any 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.
[0088] Next, the egress edge router 200 calculates the reception interval of the IP packets (S204). 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.
[0089] Next, the egress edge router 200 notifies the ingress edge router 100 of the reception intervals (S205). 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.
[0090] Next, the ingress edge router 100 acquires the reception intervals from the egress edge router 200 (S206). For example, the reception interval acquisition unit 112 receives the reception intervals of route i and route j from the egress edge router 200. The reception interval acquisition unit 112 stores the received reception intervals of route i and route j in the interval storage unit 113.
[0091] 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 (S207). For example, the delay gradient calculation unit 114 refers to the interval storage unit 113 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 114 also refers to the interval storage unit 113 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.
[0092] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S208). For example, the route selection unit 104 compares the calculated delay gradient of route i with the delay gradient of route j, and selects the route with the smaller delay gradient. The route selection unit 104 stores the selected route in the route storage unit 105.
[0093] 9, the ingress edge router 100 detects the segment (S209) and switches the route for forwarding the IP packet (S210). For example, when the segment detected by the segment detection unit 106 is switched, the route switching unit 107 switches the forwarding destination of the IP packet of the packet forwarding unit 102 to the selected route from route i or route j.
[0094] 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.
[0095] (Embodiment 3) Next, embodiment 3 will be described. This embodiment is an example of selecting a route based on the route selection policy including the delay gradient of embodiment 2. Note that this embodiment can be implemented in combination with embodiment 2, and each configuration shown in embodiment 2 may be used as appropriate.
[0096] 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. The route score is a route evaluation value obtained by evaluating a route according to the route selection policy. The route selection policy is a guideline 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. Note that the communication system 1 according to some embodiments may employ only one of the policies, or may employ a policy selected from multiple policies. For example, a policy may be selectable for each flow.
[0097] 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,j The 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.
[0098] 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.
[0099] 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.
[0100] 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:
[0101] 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:
[0102] Below, specific examples of each route selection policy will be explained.
[0103] <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.
[0104] 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 path 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 iand the average delay d of path j j and the route i with the smallest average delay can be determined.
[0105] 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:
[0106] 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.
[0107] FIG. 15 shows an example of the configuration of each device in a communication system 1 for policy 1 according to some embodiments.
[0108] In the example of Figure 15, the ingress edge router 100, similar to that of Figure 13, includes a packet receiving unit 101, a packet forwarding unit 102, a route selecting unit 104, a route storing unit 105, a segment detecting unit 106, a route switching unit 107, and a packet capturing unit 110, and further includes a transmission parameter calculating unit 111a, a reception parameter acquiring unit 112a, a parameter storing unit 113a, a route score calculating unit 114a, and a propagation delay measuring unit 120.
[0109] The transmission parameter calculation unit 111a calculates transmission parameters on the sending side for calculating the route score of policy 1. The transmission parameter calculation unit 111a corresponds to the transmission interval calculation unit 111 in FIG. 13 and may calculate transmission parameters including the transmission interval of each route. For example, the transmission parameter calculation unit 111a 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 111a stores the calculated transmission parameters in the parameter storage unit 113a.
[0110] The reception parameter acquisition unit 112a 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 112a corresponds to the reception interval acquisition unit 112 in FIG. 13 and may acquire reception parameters including the reception interval of each route. For example, the reception parameter acquisition unit 112a acquires a moving average of the reception interval of each route as the reception parameter. The reception parameter acquisition unit 112a stores the acquired reception parameters of each route in the parameter storage unit 113a.
[0111] The propagation delay measurement unit 120 measures the propagation delay of each route to the egress edge router 200. For example, the propagation delay measurement unit 120 transmits a ping packet from the wireless interface IF connected to each wireless network NW and measures the RTT. The propagation delay measurement unit 120 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 120 may measure the propagation delay by other methods than ping. The propagation delay measurement unit 120 stores the calculated propagation delay of each route in the parameter storage unit 113a.
[0112] The parameter storage unit 113a stores parameters for calculating the path score. The parameter storage unit 113a corresponds to the interval storage unit 113 in FIG. 13 and may store the transmission interval of each path and the reception interval of each path. For example, the parameter storage unit 113a stores transmission parameters including the transmission interval of each path and a moving average of the transmission interval calculated by the transmission parameter calculation unit 111a, reception parameters including the moving average of each path acquired by the reception parameter acquisition unit 112a, and the propagation delay of each path measured by the propagation delay measurement unit 120. For example, the parameter storage unit 113a may include a ring buffer for transmission intervals and store a predetermined number of transmission intervals in the ring buffer.
[0113] The route score calculation unit 114a calculates the route score based on the parameters stored in the parameter storage unit 113a. The route score calculation unit 114a corresponds to the delay gradient calculation unit 114 in FIG. 13 and may calculate a delay gradient based on a transmission interval and a reception interval. For example, the route score calculation unit 114a 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 113a. Specifically, the route score calculation unit 114a 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).
[0114] Also, in the example of Figure 15, the egress edge router 200, like Figure 13, 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.
[0115] 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. 13 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.
[0116] 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.
[0117] 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. 13 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.
[0118] FIG. 16 shows an example of the operation of the communication system 1 for policy 1 according to some embodiments. In the example of FIG. 16, the ingress edge router 100 measures the propagation delay (S301). The propagation delay measurement unit 120 measures the RTT of each route using ping or the like, and stores the propagation delay of each route in the parameter storage unit 113a 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.
[0119] Next, the ingress edge router 100 captures the IP packets to be transmitted (S302). As in S201 of Fig. 14, the packet capture unit 110 captures the transmission time of the IP packets transmitted from each wireless interface.
[0120] Next, the ingress edge router 100 calculates the transmission interval of the IP packets (S303). As in S202 of FIG. 14, the transmission parameter calculation unit 111a calculates the transmission interval of the transmitted IP packets for each route. For example, the transmission parameter calculation unit 111a calculates the transmission interval ds for each route using the above equation (5). The transmission parameter calculation unit 111a stores the calculated transmission interval for each route in the parameter storage unit 113a.
[0121] Next, the ingress edge router 100 calculates a moving average of the transmission intervals (S304). The transmission parameter calculation unit 111a calculates the moving average of the transmission intervals from a predetermined number of transmission intervals stored in the parameter storage unit 113a. For example, the transmission parameter calculation unit 111a calculates the moving average of the transmission intervals E[d s The transmission parameter calculation unit 111a stores the calculated moving average of the transmission intervals for each route in the parameter storage unit 113a.
[0122] The egress edge router 200 also captures the received IP packets (S305). As in S203 of Fig. 14, the packet capture unit 204 captures the reception time of the IP packets received at each wireless interface.
[0123] Next, the egress edge router 200 calculates the reception interval of the IP packets (S306). As in S204 of FIG. 14, 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.
[0124] Next, the egress edge router 200 calculates a moving average of the reception intervals (S307). 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.
[0125] Next, the egress edge router 200 notifies the ingress edge router 100 of the moving average of the reception intervals (S308). Similar to S205 in Fig. 14 , 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.
[0126] Next, the ingress edge router 100 acquires the moving average of the reception interval from the egress edge router 200 (S309). As in S206 in Fig. 14, the reception parameter acquisition unit 112a receives the moving average of the reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 112a stores the received moving average of the reception interval of each route in the parameter storage unit 113a.
[0127] Next, once each parameter has been stored, the ingress edge router 100 calculates the route score for policy 1 (S310). The route score calculation unit 114a refers to the parameter storage unit 113a and calculates the route score for each route for policy 1. For example, the route score calculation unit 114a 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).
[0128] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311). As in S208 of Fig. 14, the route selection unit 104 compares the calculated route scores of each route and selects the route with the smallest route score. For example, the route selection unit 104 calculates the difference between the route scores of each route using the above equation (22) and selects the route with the smallest route score.
[0129] 14, the ingress edge router 100 detects the segment (S312) and switches the route for forwarding the IP packet (S313). When the segment detected by the segment detection unit 106 is switched, the route switching unit 107 switches the forwarding destination of the IP packet of the packet forwarding unit 102 to the selected route.
[0130] <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.
[0131] 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.
[0132] 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.
[0133] Fig. 17 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. 17, compared to the example of Fig. 15, the ingress edge router 100 does not include a propagation delay measurement unit 120. The other configurations are the same as those in Fig. 15.
[0134] Fig. 18 shows an example of the operation of the communication system 1 for policy 2 according to some embodiments. In the example of Fig. 18, compared to the example of the operation of Fig. 16, the propagation delay measurement process (S301) is not necessary, and the movement variance calculation process (S320, S321) is added.
[0135] In the example of FIG. 18, the ingress edge router 100 captures IP packets to be transmitted (S302), calculates the transmission interval (S303), and calculates the moving average of the transmission interval (S304), similarly to FIG.
[0136] Next, the ingress edge router 100 calculates the moving variance of the transmission intervals (S320). The transmission parameter calculation unit 111a 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 113a. For example, the transmission parameter calculation unit 111a calculates the moving variance of the transmission intervals V[d s The transmission parameter calculation unit 111a stores the calculated moving variance of the transmission intervals of each route in the parameter storage unit 113a.
[0137] As in FIG. 16, the egress edge router 200 captures received IP packets (S305), calculates the reception interval (S306), and calculates the moving average of the reception interval (S307).
[0138] Next, the egress edge router 200 calculates the moving variance of the reception intervals (S321). 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.
[0139] Next, the egress edge router 200 notifies the ingress edge router 100 of the movement and dispersion of the reception intervals (S308a). Similar to S308 in Fig. 16 , the reception parameter notifying unit 206a transmits the movement and dispersion of the reception intervals of each route stored in the parameter storage unit 207 to the ingress edge router 100.
[0140] Next, the ingress edge router 100 acquires the moving variance of the reception interval from the egress edge router 200 (S309a). As in S309 in Fig. 16 , the reception parameter acquisition unit 112a receives the moving variance of the reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 112a stores the received moving variance of the reception interval of each route in the parameter storage unit 113a.
[0141] Next, once the parameters have been stored, the ingress edge router 100 calculates the route score for policy 2 (S310). The route score calculation unit 114a refers to the parameter storage unit 113a and calculates the route score for policy 2 for each route. For example, the route score calculation unit 114a 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.
[0142] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311), similar to Fig. 16. For example, the route selection unit 104 calculates the difference in route score of each route using the above formula (27), and selects the route with the smallest route score.
[0143] Next, the ingress edge router 100 detects the segment (S312) in the same manner as in FIG. 16, and switches the route for forwarding the IP packet when the segment changes (S313).
[0144] <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.
[0145] 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:
[0146] 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 in policy 3 is expressed by the following equation.
[0147] 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. 15. For example, the transmission parameter calculation unit 111a and the reception parameter calculation unit 205a calculate the inverse cumulative distribution function F -1 Calculate.
[0148] 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).
[0149] 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.
[0150] 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:
[0151] 19 shows an example of the operation of the communication system 1 for policy 3 according to some embodiments. FIG. 19 shows an example of calculating the inverse cumulative distribution function using the ring buffer. In the example of FIG. 19, compared to the example of operation in FIG. 16, percentile calculation processing (S330, S331) is performed instead of the moving average calculation processing (S304, S307).
[0152] In the example of FIG. 19, the ingress edge router 100 measures the propagation delay (S301), captures the IP packets to be transmitted (S302), and calculates the transmission interval (S303), similarly to FIG.
[0153] Next, the ingress edge router 100 calculates the α percentile transmission interval (S330). The transmission parameter calculation unit 111a calculates the α percentile transmission interval from a predetermined number of transmission intervals stored in the parameter storage unit 113a. For example, by using the calculation method using the ring buffer described above, the inverse cumulative distribution function F -1Specifically, the transmission parameter calculation unit 111a sorts the values in the ring buffer in ascending order for each path 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 111a stores the calculated α percentile transmission interval for each route in the parameter storage unit 113a.
[0154] Furthermore, the egress edge router 200 captures the received IP packets (S305) and calculates the reception interval (S306), similarly to FIG.
[0155] Next, the egress edge router 200 calculates the α percentile reception interval (S331). 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 -1 Specifically, 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.
[0156] Next, the egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval (S308b). As in S308 of Fig. 16, 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.
[0157] Next, the ingress edge router 100 acquires the α percentile reception interval from the egress edge router 200 (S309b). As in S309 in Fig. 16 , the reception parameter acquisition unit 112a receives the α percentile reception interval of each route from the egress edge router 200. The reception parameter acquisition unit 112a stores the received α percentile reception interval of each route in the parameter storage unit 113a.
[0158] Next, once the parameters have been stored, the ingress edge router 100 calculates the route score for policy 3 (S310). The route score calculation unit 114a refers to the parameter storage unit 113a and calculates the route score for policy 3 for each route. For example, the route score calculation unit 114a 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).
[0159] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311), similar to Fig. 16. For example, the route selection unit 104 calculates the difference in route score of each route using the above formula (32), and selects the route with the smallest route score.
[0160] Next, the ingress edge router 100 detects the segment (S312) in the same manner as in FIG. 16, and switches the route for forwarding the IP packet when the segment changes (S313).
[0161] 20 shows another example of the operation of the communication system 1 for policy 3 according to some embodiments. Fig. 20 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. 19 will be described here.
[0162] 20 , the ingress edge router 100 calculates the transmission interval (S303), then calculates a moving average of the transmission interval (S304), and calculates the maximum value of the transmission interval (S332). Each time a transmission interval is calculated for each route, the transmission parameter calculation unit 111a compares it with the previous maximum value and calculates the maximum value of the transmission interval. The transmission parameter calculation unit 111a stores and updates the calculated maximum value of the transmission interval for each route in the parameter storage unit 113a.
[0163] Next, the ingress edge router 100 calculates the α percentile transmission interval (S330). For example, the inverse cumulative distribution function F -1 The transmission parameter calculation unit 111a 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 113a. Specifically, the transmission parameter calculation unit 111a 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 111a stores the calculated α percentile transmission interval for each route in the parameter storage unit 113a.
[0164] After calculating the reception interval (S306), the egress edge router 200 calculates a moving average of the reception interval (S307) and calculates the maximum reception interval (S333). 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.
[0165] Next, the egress edge router 200 calculates the α percentile reception interval (S331). As with the transmitting side, for example, the inverse cumulative distribution function F -1The 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.
[0166] <Specific example of policy 4> Policy 4 is a policy that adjusts the α-percentile delay by a certain amount d * This is a policy that transmits packets, i.e., segments, within the specified time. By taking segment delays into account in addition to policy 3, real-time video distribution and sensing become possible, for example.
[0167] 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:
[0168] 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.
[0169] Fig. 21 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. 21, compared to the example of Fig. 15, the egress edge router 200 further includes a segment delay amount calculation unit 208.
[0170] 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.
[0171] FIG. 22 shows the segment delay amount 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.
[0172] 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
[0173] 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.
[0174] Fig. 23 shows an example of the operation of the communication system 1 for policy 4 according to some embodiments. Fig. 23 shows an example in which the operation of policy 4 is applied to the example of the operation of policy 3 shown in Fig. 19. Note that the operation of policy 4 may also be applied to the example of the operation of policy 3 shown in Fig. 20. In the example of Fig. 23, a segment delay amount calculation process (S340) is added compared to the example of the operation of Fig. 19.
[0175] In the example of Figure 23, the ingress edge router 100, as in Figure 19, measures the propagation delay (S301), captures the IP packets to be sent (S302), calculates the transmission interval (S303), and calculates the α percentile transmission interval (S330).
[0176] 19, the egress edge router 200 captures the received IP packets (S305), calculates the reception interval (S306), and calculates the α percentile reception interval (S331).
[0177] Next, the egress edge router 200 calculates the segment delay amount (S340). 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.
[0178] Next, the egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval and the segment delay amount (S308c). As in S308b of Fig. 19 , 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.
[0179] Next, the ingress edge router 100 acquires the α percentile reception interval and the segment delay amount from the egress edge router 200 (S309c). As in S309b of Fig. 19 , the reception parameter acquisition unit 112a receives the α percentile reception interval and the segment delay amount of each route from the egress edge router 200. The reception parameter acquisition unit 112a stores the received α percentile reception interval and the segment delay amount of each route in the parameter storage unit 113a.
[0180] Next, once the parameters have been stored, the ingress edge router 100 calculates the route score for policy 4 (S310). The route score calculation unit 114a refers to the parameter storage unit 113a and calculates the route score for policy 4 for each route. For example, the route score calculation unit 114a 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).
[0181] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311), similar to Fig. 19. For example, the route selection unit 104 calculates the difference in route score of each route using the above formula (39), and selects the route with the smallest route score.
[0182] Next, the ingress edge router 100 detects the segment (S312) in the same manner as in FIG. 19, and switches the route for forwarding the IP packet when the segment changes (S313).
[0183] <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.
[0184] The objective function of policy 5 is as follows: 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.
[0185] 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.
[0186] 24 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. 24, compared to the example of Fig. 21, the ingress edge router 100 further includes a transmission data amount calculation unit 121.
[0187] The transmission data amount calculation unit 121 calculates the amount of data to be transmitted. For example, the transmission data amount calculation unit 121 periodically measures the size of data to be transmitted for each path. The transmission data amount calculation unit 121 starts measurement with the transmission data size l = 0, and accumulates the length of the transmitted packet and updates the data size l every time a packet is transmitted until the measurement period ends.
[0188] Fig. 25 shows an example of the operation of the communication system 1 for policy 5 according to some embodiments. Fig. 25 shows an example in which the operation of policy 5 is applied to the example of the operation of policy 4 shown in Fig. 23. 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. 25, a transmission data amount calculation process (S350) is added compared to the example of the operation of Fig. 25.
[0189] In the example of Figure 25, the ingress edge router 100, as in Figure 23, measures the propagation delay (S301), captures the IP packets to be sent (S302), calculates the transmission interval (S303), and calculates the α percentile transmission interval (S330).
[0190] The ingress edge router 100 also calculates the amount of transmission data (S350). The transmission data amount calculation unit 121 calculates the amount of data to be transmitted for a certain period for each route as described above. The transmission data amount calculation unit 121 stores the calculated amount of transmission data for each route in the parameter storage unit 113a.
[0191] 23, the egress edge router 200 captures the received IP packets (S305), calculates the reception interval (S306), calculates the α percentile reception interval (S331), and calculates the segment delay amount (S340). The egress edge router 200 notifies the ingress edge router 100 of the α percentile reception interval and the segment delay amount (S308c).
[0192] 23 , the ingress edge router 100 acquires the α percentile reception interval and the segment delay amount from the egress edge router 200 (S309c), and calculates the route score of policy 5 (S310). For example, the route score calculation unit 114a 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).
[0193] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311). The route selection unit 104 compares the calculated route scores of each route and determines the route with the smallest route score. For example, the route selection unit 104 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 104 then determines whether the determined route satisfies the constraints. For example, the route selection unit 104 determines whether the route has the smallest amount of transmission data using the above equation (47). The route selection unit 104 determines the route with the smallest route score from among the routes that satisfy the constraints. The route score may be calculated using any of policies 1 to 4.
[0194] Next, the ingress edge router 100 detects the segment (S312) in the same manner as in FIG. 23, and switches the route for forwarding the IP packet when the segment changes (S313).
[0195] 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.
[0196] (Fourth Embodiment) Next, a fourth embodiment will be described. This embodiment is an example in which the parameters of the route score of the third embodiment are periodically reset. Note that this embodiment can be implemented in combination with the third embodiment, and each configuration shown in the third embodiment may be used as appropriate.
[0197] For example, in the example described in the third embodiment, a route score is calculated according to the route selection policy, and the route with the smallest route score is selected. FIG. 26 shows an example of route scores and selected routes in a communication system 1 according to some embodiments. In the example of FIG. 26, the route score of route 2 at time t1 is smaller than the route score of route 1, 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 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, the communication quality cannot be grasped because this is not reflected in the route score.
[0198] Therefore, in this embodiment, after a route is selected, it is possible to reset the route score parameters of unselected routes. FIG. 27 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. 27, 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. When route 1 is selected, 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.
[0199] 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.
[0200] 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.
[0201] 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 third embodiment.
[0202] 28 shows an example of the operation of the ingress edge router 100 according to some embodiments. In the example of Fig. 28, the ingress edge router 100 calculates a route score using one of policies 1 to 5 (S310) and selects a route for forwarding the IP packet (S311). The ingress edge router 100 detects a segment (S312) and switches the route for forwarding the IP packet when the segment changes (S313).
[0203] The ingress edge router 100 then determines whether a predetermined period of time has elapsed (S400). For example, the ingress edge router 100 determines whether a predetermined period of time has elapsed since route i was selected without another route j being selected. Alternatively, the ingress edge router 100 may 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.
[0204] When a predetermined period of time has elapsed, the ingress edge router 100 resets the parameters of the route score (S401). The route score calculation unit 114a resets the parameters used to calculate the route score of the unselected route. In other words, the parameters stored in the parameter storage unit 113a are reset to 0.
[0205] For example, in the case of policy 1, the route score calculation unit 114a 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 zero. In the case of policy 2, the route score calculation unit 114a 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 zero.
[0206] In the case of policy 3, the route score calculation unit 114a 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 114a 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.
[0207] Thereafter, the ingress edge router 100 calculates the route score (S310) and selects a route (S311). 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.
[0208] 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.
[0209] (Embodiment 5) Next, embodiment 5 will be described. This embodiment is an example in which route switching is suppressed when the difference in route scores of embodiment 3 is small. Note that this embodiment can be implemented in combination with embodiment 3 or 4, and each configuration shown in embodiment 3 or 4 may be used as appropriate.
[0210] For example, in the example described in the third embodiment, a route score is calculated according to the route selection policy, and the route with the smallest route score is selected. Fig. 29 shows an example of route scores and selected routes in the communication system 1 according to some embodiments. In the example of Fig. 29, 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.
[0211] Therefore, in this embodiment, if the difference in route scores is small, the route is not switched. FIG. 30 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. 30, 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. 30, route 2 remains selected. ε may be a fixed value or a variable value. When the route scores are compared, if there is no certain amount of difference, the route is not switched, thereby improving robustness.
[0212] 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 third embodiment.
[0213] 31 shows an example of the operation of the ingress edge router 100 according to some embodiments. In the example of Fig. 31, the ingress edge router 100 calculates a route score using one of policies 1 to 5 (S310).
[0214] Next, the ingress edge router 100 selects a route for forwarding the IP packet (S311). The route selection unit 104 calculates the difference between the calculated route scores for each route and determines whether the difference is smaller than a predetermined value (S500). If the difference between the route scores is smaller than the predetermined value, the route selection unit 104 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 104 selects the route with the smallest route score (S501). Once the route with the smallest route score is selected, the ingress edge router 100 detects segments (S312) and switches the route for forwarding the IP packet when the segment changes (S313).
[0215] 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.
[0216] (Sixth embodiment) Next, a sixth embodiment will be described. This embodiment is an example of switching the route when there is no response from the receiving side. Note that this embodiment can be implemented in combination with any of the second to fifth embodiments, and each configuration shown in any of the second to fifth embodiments may be used as appropriate.
[0217] For example, in the example described in the second 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. 32 shows an example of operation when a delay occurs in the communication system 1 according to some embodiments. In the example of FIG. 32, 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.
[0218] Therefore, in this embodiment, the route is switched if there is no response from the receiving side for a certain period of time. FIG. 33 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. 33, the ingress edge router 100 switches the route if it receives a reception interval dr1 corresponding to packet p1 from the egress edge router 200 and then does not receive anything from the egress edge router 200 for a certain period of time. In other words, if no response is received for a certain period of time after the last response such as the reception interval was received, it is determined that there is a delay, and the route is switched 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.
[0219] 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 third to fifth embodiments.
[0220] Fig. 34 shows an example of the operation of the ingress edge router 100 according to some embodiments. Fig. 34 shows an example in which this embodiment is applied to the example of operation shown in Fig. 14 in embodiment 3. This embodiment may be applied not only to the example in Fig. 34 but also to the example of operation shown in embodiments 3 to 5.
[0221] In the example of FIG. 34, the ingress edge router 100 captures IP packets to be transmitted (S201) and calculates the transmission interval (S202), similarly to FIG.
[0222] 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 (S600). 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.
[0223] If the reception interval is received before the reception timer times out, the ingress edge router 100 acquires the reception interval (S206), calculates the delay gradient (S207), and selects a route for forwarding the IP packet (S208), as in Fig. 14. Furthermore, the ingress edge router 100 detects a segment (S209), and switches the route for forwarding the IP packet when the segment changes (S210).
[0224] On the other hand, if the reception timer times out, the ingress edge router 100 switches the route (S210). After the reception timer times out, the route switching unit 107 switches from the currently selected route to another route when the segment detected by the segment detection unit 106 is switched.
[0225] 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.
[0226] The present disclosure is not limited to the above-described embodiment, and can be modified as appropriate within the scope of the present disclosure.
[0227] 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. 35. For example, a program for performing the method (route switching 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.
[0228] 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.
[0229] 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.
[0230] 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.
[0231] Some or all of the above embodiments may be described as, but are 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. (Supplementary Note 1) A route switching system comprising: a detection means for detecting a segment of transmission data; and a switching means for switching a communication path for transmitting the transmission data in units of the detected segment. (Supplementary Note 2) The route switching system described in Supplementary Note 1, wherein the detection means detects the segment based on a plurality of packets included in the transmission data. (Supplementary Note 3) The route switching system described in Supplementary Note 2, comprising a receiving means for receiving the plurality of packets, and wherein the detection means detects the segment based on a reception interval between the plurality of packets. (Supplementary Note 4) The route switching system described in Supplementary Note 2, wherein the detection means detects the segment based on the length of the plurality of packets. (Supplementary Note 5) The route switching system according to any one of Supplements 1 to 4, comprising: a selection means for selecting the communication route based on communication qualities of a plurality of communication routes including the communication route, wherein the switching means switches to the selected communication route in response to switching of the detected segment. (Supplementary Note 6) The route switching system according to Supplementary Note 5, wherein the selection means selects the communication route based on a delay gradient indicating a trend of delay in the plurality of communication routes. (Supplementary Note 7) The route switching system according to Supplementary Note 6, wherein the selection means selects the communication route based on a route evaluation value including the delay gradient of the plurality of communication routes in accordance with a route selection policy. (Supplementary Note 8) The route switching system according to any one of Supplements 1 to 7, wherein the switching means switches the communication route when no response is received within a predetermined period from a receiving-side device via the communication route. (Supplementary Note 9) A route switching device comprising: a detection means for detecting a segment of transmission data; and a switching means for switching a communication route for transmitting the transmission data in units of the detected segment. (Supplementary Note 10) The route switching device according to Supplementary Note 9, wherein the detection means detects the segment based on a plurality of packets included in the transmission data.(Supplementary Note 11) The route switching device according to Supplementary Note 10, comprising: receiving means for receiving the plurality of packets; and wherein the interval detection means detects the segment based on a reception interval of the plurality of packets. (Supplementary Note 12) The route switching device according to Supplementary Note 10, wherein the detection means detects the segment based on the length of the plurality of packets. (Supplementary Note 13) The route switching device according to any one of Supplements 9 to 12, comprising: selecting means for selecting the communication path based on communication qualities of a plurality of communication paths including the communication path; and the switching means switching to the selected communication path in response to switching of the detected segment. (Supplementary Note 14) The route switching device according to Supplementary Note 13, wherein the selecting means selects the communication path based on a delay gradient indicating a trend of delay in the plurality of communication paths. (Supplementary Note 15) A route switching method, comprising: detecting segments of transmission data; and switching a communication path for transmitting the transmission data in units of the detected segment. (Supplementary Note 16) The route switching method according to Supplementary Note 15, wherein the segment is detected based on a plurality of packets included in the transmission data. (Supplementary Note 17) The route switching method according to Supplementary Note 16, receiving the plurality of packets, and detecting the segment based on a reception interval of the plurality of packets. (Supplementary Note 18) The route switching method according to Supplementary Note 16, detecting the segment based on lengths of the plurality of packets. (Supplementary Note 19) The route switching method according to any one of Supplements 15 to 18, selecting the communication route based on communication quality of a plurality of communication routes including the communication route, and switching to the selected communication route in response to switching of the detected segment. (Supplementary Note 20) The route switching method according to Supplementary Note 19, selecting the communication route based on a delay gradient indicating a trend of delay in the plurality of communication routes. (Supplementary Note 21) The route switching device according to Supplementary Note 14, wherein the selection means selects the communication route based on a route evaluation value including the delay gradient of the plurality of communication routes in accordance with a route selection policy.(Supplementary Note 22) The route switching device according to any one of Supplements 9 to 14, wherein the switching means switches the communication route when no response is received within a predetermined period from a receiving-side device via the communication route. (Supplementary Note 23) The route switching method according to Supplementary Note 20, wherein the communication route is selected based on a route evaluation value including the delay gradient of the plurality of communication routes according to a route selection policy. (Supplementary Note 24) The route switching method according to any one of Supplements 15 to 20, wherein the communication route is switched when no response is received within a predetermined period from a receiving-side device via the communication route.
[0232] 1 Communication system 10 Route switching system 11 Detection unit 12 Switching unit 20 Route switching device 30 Computer 31 Processor 32 Memory 100 Ingress edge router 101 Packet receiving unit 102 Packet forwarding unit 103 Communication quality acquisition unit 104 Route selection unit 105 Route storage unit 106 Segment detection unit 107 Route switching unit 110 Packet capture unit 111 Transmission interval calculation unit 111a Transmission parameter calculation unit 112 Reception interval acquisition unit 112a Reception parameter acquisition unit 113 Interval storage unit 113a Parameter storage unit 114 Delay gradient calculation unit 114a Route score calculation unit 120 Propagation delay measurement unit 121 Transmission data amount calculation unit 200 Egress edge router 201 Packet receiving unit 202 Packet forwarding unit 203 Routing unit 204 Packet capture unit 205 Receiving interval calculation unit 205a Receiving parameter calculation unit 206 Receiving interval notification unit 206a Receiving parameter notification unit 207 Parameter storage unit 208 Segment delay amount calculation unit 300 Terminal 301 Client network 400 Server 401 Server side network 511 IP layer 521 IP layer 531 IP layer 532 TCP layer 533 Application layer 541 IP layer 542 TCP layer 543 Application layer
Claims
1. A path switching system comprising: a detection means for detecting a segment of transmission data; and a switching means for switching a communication path for transmitting the transmission data in units of the detected segment.
2. The route switching system according to claim 1, further comprising: a receiving means for receiving a plurality of packets included in the transmission data; and a segment detection means for detecting the segment based on a reception interval of the plurality of packets.
3. The route switching system according to claim 1, wherein said detection means detects said segment based on the lengths of a plurality of packets included in said transmission data.
4. A route switching system as claimed in any one of claims 1 to 3, further comprising a selection means for selecting the communication route based on communication quality of a plurality of communication routes including the communication route, and the switching means switches to the selected communication route in response to a switch in the detected segment.
5. The path switching system according to claim 4, wherein the selection means selects the communication path based on a delay gradient indicating a tendency of delay in the plurality of communication paths.
6. The route switching system according to claim 5, wherein the selection means selects the communication route based on a route evaluation value including the delay gradient of the plurality of communication routes according to a route selection policy.
7. A path switching system according to any one of claims 1 to 6, wherein the switching means switches the communication path when no response is received within a predetermined period from a receiving device via the communication path.
8. A path switching device comprising: a detection means for detecting a segment of transmission data; and a switching means for switching a communication path for transmitting the transmission data in units of the detected segment.
9. The route switching device according to claim 8, further comprising: a receiving means for receiving a plurality of packets included in the transmission data; and a segment detection means for detecting the segment based on a reception interval of the plurality of packets.
10. The route switching device according to claim 8, wherein said detection means detects said segment based on the lengths of a plurality of packets included in said transmission data.
11. A route switching device as described in any one of claims 8 to 10, further comprising a selection means for selecting the communication route based on communication quality of a plurality of communication routes including the communication route, and the switching means switches to the selected communication route in response to a switch in the detected segment.
12. The path switching device according to claim 11, wherein the selection means selects the communication path based on a delay gradient indicating a tendency of delay in the plurality of communication paths.
13. The route switching device according to claim 12, wherein the selection means selects the communication route based on a route evaluation value including the delay gradient of the plurality of communication routes according to a route selection policy.
14. A route switching device according to any one of claims 8 to 13, wherein the switching means switches the communication path when no response is received within a predetermined period from a receiving device via the communication path.
15. A path switching method comprising: detecting a segment of transmission data; and switching a communication path for transmitting the transmission data in units of the detected segment.
16. The route switching method according to claim 15, further comprising the steps of: receiving a plurality of packets included in the transmission data; and detecting the segment based on a reception interval of the plurality of packets.
17. The route switching method according to claim 15, further comprising the step of detecting the segment based on lengths of a plurality of packets included in the transmission data.
18. A route switching method according to any one of claims 15 to 17, further comprising: selecting the communication route based on communication quality of a plurality of communication routes including the communication route; and switching to the selected communication route in response to the detected segment switching.
19. The path switching method according to claim 18, further comprising the step of selecting the communication path based on a delay gradient indicating a trend of delay in the plurality of communication paths.
20. The route switching method according to claim 19, further comprising the step of selecting the communication route based on a route evaluation value including the delay gradient of the plurality of communication routes according to a route selection policy.
Citation Information
Patent Citations
Data communication line selector, data transmission equipment to apply the same and mobile station
JP2000244600A
Data transfer system adopting batch reply system
JP2001045054A
Communication apparatus and communication control method
JP2010171562A