Packet transfer device, packet transfer method, and packet transfer system
The packet transfer device addresses inefficiencies in existing systems by estimating future communication conditions and adjusting packet transmission, optimizing resource usage and reliability through dynamic packet adjustment based on unique identifiers and historical data analysis.
Patent Information
- Application Number
- PCT/JP2024/007067
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-19
- Filing Date
- 2024-02-27
- Publication Date
- 2025-01-23
AI Technical Summary
Existing packet transfer devices transmit multiple packets with the same information over multiple communication paths to ensure reliability, but this method is inefficient in terms of communication resources, especially when the communication environment changes rapidly, as they do not adapt the number of packets in real-time to changing conditions such as packet loss rate and delay time.
A packet transfer device that estimates the communication environment by analyzing historical data and adjusts the number of packets transmitted based on the estimated conditions, using a unique identifier to determine packet order and duplication, and adjusts packet transmission accordingly to optimize resource usage while maintaining reliability.
This approach effectively reduces communication resource consumption while ensuring reliability by dynamically adjusting packet transmission based on estimated future communication conditions, thereby improving communication efficiency and stability.
Smart Images

Figure JP2024007067_23012025_PF_FP_ABST
Abstract
Description
Packet forwarding device, packet forwarding method, and packet forwarding system Incorporation by Reference
[0001] This application claims priority from Japanese Patent Application No. 2023-117757, filed on July 19, 2023, the contents of which are incorporated herein by reference.
[0002] The present invention relates to a packet forwarding device.
[0003] There are packet forwarding devices that transmit one or more replicated packets containing the same information over multiple independent communication paths. By using two methods, one is to transmit multiple packets containing the same information over a single communication path, and the other is to transmit multiple packets containing the same information over multiple communication paths, so that communication can continue even if a failure occurs on a communication path or the packet loss rate is high.
[0004] Furthermore, although the reliability of communication improves in proportion to the number of packets containing the same information sent, communication resources are used in proportion to the number of packets sent. If sufficient reliability can be ensured using only a specific communication path, or if the packet loss rate is sufficiently low even if the number of packets sent is reduced, sending extra packets will use more communication resources.
[0005] As a method for reducing communication resources used while maintaining communication quality, a packet forwarding device has been proposed that controls the number of packets based on communication environment factors such as the packet loss rate of each communication path and packet transmission delay time (see, for example, JP 2006-174406 A).
[0006] In the background art described above, the number of transmission packets is determined based on the communication environment at a certain time, and the number of transmission packets is not determined taking into consideration the communication environment immediately after or after the number of transmission packets is changed. Therefore, if the wireless quality deteriorates due to a device moving in a time shorter than the period for changing the number of transmission packets, communication quality may not be ensured.
[0007] The object of the present invention is to provide a technology for suppressing the consumption of communication resources while ensuring the reliability of communication by estimating the communication environment after a certain period of time in a packet transfer method that ensures the reliability of communication by transmitting multiple packets containing the same information.
[0008] A representative example of the invention disclosed in the present application is as follows: That is, a packet forwarding device that forwards packets via a plurality of independent communication paths provided between opposing packet forwarding devices includes an adding unit that adds, to packets, an identifier that enables determination of the packet order and packets having identical information, a copying unit that copies packets with the identifier added and controls the number of packets to be transmitted between the opposing packet forwarding device based on the communication environment with the opposing packet forwarding device, a packet sending unit that transmits the copied packets to each of the plurality of communication paths, a calculating unit that calculates a communication environment for each of the communication paths by referring to a reception history of the packets, a storage unit that records statistical information including at least one of the calculated communication environment and communication path information that represents transmission characteristics of the communication paths, and an estimating unit that estimates the communication environment a certain time from the storage unit, wherein the estimating unit searches the storage unit for statistical information that is similar to current statistical information, and estimates the communication environment a certain time from the present based on the searched statistical information after the certain time.
[0009] In addition, in the packet forwarding device according to one example of the present invention, the communication environment is a packet loss rate of the communication path.
[0010] Moreover, a packet forwarding device according to an embodiment of the present invention includes a setting change determination unit that generates setting change information by referring to the estimated communication environment, and an information transmission unit that transmits the generated setting change information to the opposing packet forwarding device, wherein the setting change determination unit generates setting change information that reduces the number of packets transmitted on the communication path when it is determined that the packet loss rate is small as a result of comparing the packet loss rate of the communication path with a predetermined threshold, and generates setting change information that increases the number of packets transmitted on the communication path when it is determined that the packet loss rate is large as a result of comparing the packet loss rate of the communication path with the predetermined threshold.
[0011] In addition, in the packet forwarding device according to one example of the present invention, the communication environment is a delay time of the communication path.
[0012] Moreover, a packet forwarding device according to an embodiment of the present invention includes a setting change determination unit that references the estimated communication environment and generates setting change information, and an information transmission unit that transmits the generated setting change information to the opposing packet forwarding device, wherein the setting change determination unit generates setting change information that reduces the number of packets transmitted on a communication path other than the communication path when a state in which the delay time of a specific communication path is smallest among the delay times of all communication paths continues for a predetermined time, and generates setting change information that sets the number of packets transmitted on all communication paths to a predetermined maximum value if there are multiple communication paths with the smallest delay time among the delay times of all communication paths within the predetermined time.
[0013] In addition, in the packet forwarding device according to one example of the present invention, the replicating unit changes the number of packets to be transmitted through the communication path in accordance with the received setting change information.
[0014] and a packet forwarding method for forwarding a packet from the receiving side to the opposing packet forwarding device based on the communication environment between the receiving side and the opposing packet forwarding device, and transmitting the duplicated packets to the plurality of communication paths. The packet forwarding device for receiving a packet from the receiving side calculates the communication environment for each of the communication paths by referring to the packet reception history, records statistical information including at least one of the calculated communication environment and communication path information representing transmission characteristics of the communication paths, searches the storage unit for statistical information that is similar to current statistical information, and estimates the communication environment a certain time from now based on statistical information of the searched statistical information a certain time from now. The packet forwarding device for receiving a packet from the receiving side controls the number of packets to be transmitted between the receiving side and the opposing packet forwarding device based on the communication environment between the receiving side and the opposing packet forwarding device, and transmits the duplicated packets to the plurality of communication paths.
[0015] In addition, a packet forwarding system according to an embodiment of the present invention includes a first packet forwarding device that transmits packets, a second packet forwarding device that receives packets from the first packet forwarding device, and a plurality of independent communication paths between the first packet forwarding device and the second packet forwarding device, wherein the first packet forwarding device includes an adding unit that adds an identifier to a packet, which can determine the order of the packets and packets having the same information, and a replicating unit that copies the packets to which the identifier has been added and controls the number of packets to be transmitted between the opposing packet forwarding device and the opposing packet forwarding device based on the communication environment between the opposing packet forwarding device and the second packet forwarding device. and a packet sending unit that sends the duplicated packets to each of the plurality of communication paths, and the second packet forwarding device has a calculation unit that calculates a communication environment for each of the communication paths by referring to the packet reception history, a storage unit that records statistical information including at least one of the calculated communication environment and communication path information that represents the transmission characteristics of the communication paths, and an estimation unit that estimates the communication environment a certain time from the storage unit, and the estimation unit searches the storage unit for statistical information that is similar to current statistical information, and estimates the communication environment a certain time from the present based on the statistical information of the searched statistical information a certain time from the present.
[0016] According to one aspect of the present invention, by estimating the communication environment after a certain time, it is possible to reduce the consumption of communication resources while ensuring the reliability of communication. Problems, configurations, and effects other than those described above will become clear from the description of the following embodiments.
[0017] FIG. 1 is a configuration diagram of a packet forwarding system according to a first embodiment of the present invention. FIG. 2 is a diagram illustrating the configuration of a packet forwarding device according to the first embodiment. FIG. 3 is a diagram illustrating the configuration of a packet to which a unique header is added according to the first embodiment. FIG. 4 is a flowchart of a process for adding a unique header according to the first embodiment. FIG. 5 is a flowchart of a process executed when a packet is received according to the first embodiment. FIG. 6 is a table explaining a method for estimating a communication environment according to the first embodiment. FIG. 7 is a flowchart of a process for estimating a communication environment according to the first embodiment. FIG. 8 is a flowchart of a process for transmitting an instruction to change the number of redundant packets caused by a packet loss rate according to the first embodiment. FIG. 9 is a flowchart of a process for transmitting an instruction to change the number of redundant packets caused by a delay time according to the first embodiment. FIG. 10 is a configuration diagram of a packet forwarding system according to a second embodiment of the present invention.
[0018] First Embodiment FIG. 1 is a diagram showing the configuration of a packet forwarding system according to a first embodiment of the present invention.
[0019] The packet forwarding system of this embodiment has opposing user networks 901 and 902, a packet forwarding device 100 on the user network 901 side, a packet forwarding device 200 on the user network 902 side, and an IP network 800 connecting the packet forwarding device 100 and the packet forwarding device 200. The IP network 800 has a plurality of independent communication paths 801, 802, and 803 that use different communication methods. The communication paths 801 to 803 may be configured as wireless networks or wired networks, or may be configured as wireless networks of different methods.
[0020] A plurality of terminals are connected to the user networks 901 and 902, and communication is performed between the terminals of the user network 901 and the terminals of the user network 902 via the IP network 800.
[0021] The packet forwarding device 100 forwards packets by referring to packet destination information while controlling the number of redundant packets transmitted on each of the communication paths 801 to 803 between the user network 901 and the IP network 800. Similarly, the packet forwarding device 200 forwards packets between the user network 902 and the IP network 800 while controlling the number of redundant packets transmitted on each of the communication paths 801 to 803.
[0022] Communications between the packet forwarding devices 100, 200 and the user networks 901, 902, and communications between the packet forwarding devices 100, 200 and the IP network 800 may be wired or wireless as long as the communications method complies with the IP protocol. Furthermore, the packet forwarding devices 100, 200 may be fixedly installed devices or portable devices.
[0023] 2 is a diagram showing the configuration of the packet forwarding device 100. The configuration of the packet forwarding device 100 and the configuration of the packet forwarding device 200 are the same.
[0024] The packet forwarding device 100 includes a plurality of packet forwarding units 110 and 120, a communication environment calculation unit 131, a setting change determination unit 132, a transmission unit 133, and a reception unit 134. The reception unit 134 receives packet replication setting change information from outside the packet forwarding device 100 (for example, from the opposing packet forwarding device 200).
[0025] The packet forwarding unit 110 forwards packets from the user network 901 to the IP network 800, and includes a receiving unit 111, a unique header adding unit 112, a packet replicating unit 113, and multiple transmitting units 114a, 114b, and 114c. The receiving unit 111 receives packets input from the user network 901. The unique header adding unit 112 adds a unique header to the packets input from the user network 901. An example of a unique header will be described with reference to FIG. 3. The packet replicating unit 113 replicates the packets with the unique header added to generate redundant packets. The multiple transmitting units 114a, 114b, and 114c are provided corresponding to each of the communication paths 801 to 803 of the IP network 800, and transmit the generated redundant packets to the communication paths 801 to 803.
[0026] The packet forwarding unit 120 forwards packets from the IP network 800 to the user network 901, and includes a transmitting unit 121, a unique header removing unit 122, a duplicate packet determining unit 123, multiple receiving units 124a, 124b, 124c, and a packet reception history saving unit 125. The multiple receiving units 124a, 124b, 124c are provided corresponding to the respective communication paths 801 to 803 of the IP network 800, and receive packets input from the IP network 800. The duplicate packet determining unit 123 determines packets having identical information input from the IP network 800. The unique header removing unit 122 removes the unique header from the packets input from the IP network 800. The transmitting unit 121 transmits packets to the user network 901. The packet reception history saving unit 125 saves the packet reception history, which is the determination result by the duplicate packet determining unit 123.
[0027] The communication environment calculation unit 131 analyzes packets received from the IP network 800, calculates the communication environment of each communication path 801-803, and stores the communication environment in the statistical information storage unit 142. For example, the communication environment may be the packet loss rate or delay time for each communication path 801-803, or both. The communication path information measurement unit 141 measures communication path information for each communication path and stores the measured communication path information in the statistical information storage unit 142. For example, the communication path information is the transmission characteristics of each communication path 801-803, such as the TTL (Time To Live), hop limit, and radio wave reception power for each communication path 801-803. The communication environment estimation unit 144 references the statistical information stored in the statistical information storage unit 142 and estimates the communication environment after a predetermined time. Details of the processing performed by the communication environment estimation unit 144 will be described with reference to FIGS. 6 and 7.
[0028] The setting change determining unit 132 uses the estimated communication environment values to generate packet replication setting change information including the number of packets (number of redundant packets) to be transmitted to the IP network 800. Details of the processing executed by the setting change determining unit 132 will be described with reference to Figures 8 and 9. The transmitting unit 133 transmits the generated packet replication setting change information to an external unit of the packet forwarding device 100 (for example, the opposing packet forwarding device 200).
[0029] In the above-described configuration example, the setting change determination unit 132 is provided on the transmitting side, but it may also be provided on the receiving side. That is, the communication environment estimation unit 144 on the transmitting side transmits the estimated communication environment to the receiving side, and the setting change determination unit 132 on the receiving side generates packet replication setting change information.
[0030] Alternatively, the packet forwarding device 100 may transmit statistical information to an external device, and the external device may be provided with a communication environment calculation unit 131 and a setting change determination unit 132, and the external device may generate packet replication setting change information. When the packet forwarding device 100 transmits statistical information to an external device, the communication environment and communication path information for each communication path may be transmitted separately.
[0031] In the IP network 800 of this embodiment, packets are transferred using the UDP protocol, but other protocols may also be used.
[0032] FIG. 3 is a diagram showing the structure of a packet to which a unique header is added and which is transmitted to the IP network 800. As shown in FIG.
[0033] A UDP header is added to the beginning of the packet, followed by a UDP data area (payload). A proprietary header is provided between the UDP header and the UDP data area. The proprietary header may use a portion of the beginning of the UDP data area.
[0034] The UDP header includes a source port number, a destination port number, a packet length, and a checksum.
[0035] The unique header includes packet identifier 1 and packet identifier 2. Packet identifier 1 includes time information in seconds and time information in milliseconds, and is composed of, for example, 32 bits. The time information may be expressed in Unix Time, but other formats are also acceptable (Unix is a registered trademark, the same applies below). Packet identifier 2 includes a fixed value and a sequentially determined packet number, and is composed of, for example, 32 bits. The packet number is preferably initialized once per second. By defining the unique header in this way, a unique identifier can be constructed using the time and packet number, and packets transferred through the IP network 800 can be uniquely identified.
[0036] FIG. 4 is a flowchart of the process of adding a unique header.
[0037] When the receiving unit 111 receives a packet (400), the unique header adding unit 112 acquires the current time (401) and compares the current time with the time of the previous packet reception (402). As mentioned above, the time is expressed in Unix Time.
[0038] If the current time and the previous packet reception time are different (false in 403), the unique header adding unit 112 initializes the packet number to 1 (404) and updates the previous packet reception time to the current time (405). On the other hand, if the current time and the previous packet reception time are the same (true in 403), steps 404 and 405 are not executed, and the process proceeds to step 406.
[0039] Then, the unique header adding unit 112 creates a unique header from the current time and the packet number (406), and increments the packet number by 1 (407).
[0040] FIG. 5 is a flowchart of the process executed when a packet is received.
[0041] When any of the receiving units 124a to 124c receives a packet from the IP network 800 (500), the duplicate packet determining unit 123 compares the unique header of the received packet with the packet reception record stored in the packet reception history storage unit 125, and determines whether the received packet is a redundant packet that has already been received (501).
[0042] As a result, if the packet has already been received (true in 502), a packet containing the same information has arrived via the same route, so the duplicate packet determination unit 123 determines whether a packet identical to the received packet has already been received via the communication route via which the received packet passed (503). If the same packet has not been received (false in 504), the duplicate packet determination unit 123 calculates the delay time from the time in the unique header of the received packet and the current time (505), and records the communication route and delay time of the received packet in the packet reception history storage unit 125 (506). On the other hand, if the same packet has been received (true in 504), the duplicate packet determination unit 123 discards the packet (507).
[0043] On the other hand, if the packet has not been received (false in 502), a packet with the same information has not arrived, so the duplicate packet determination unit 123 transfers the redundant packet to the unique header deletion unit 122 (508), calculates the delay time from the time in the unique header of the received packet and the current time (509), and records the packet number, the communication path of the received packet, and the delay time in the packet reception history storage unit 125 (510).
[0044] FIG. 6 is a diagram showing statistical information to be referred to when estimating a communication environment, and FIG. 7 is a flowchart of a process for estimating a communication environment according to the first embodiment.
[0045] The statistical information shown in FIG. 6 holds communication environment and communication path information measured at predetermined time intervals for each communication path.
[0046] The communication environment estimation unit 144 searches the statistical information storage unit 142 for a communication environment similar to the current communication environment, and estimates the communication environment a certain time later from the present based on the communication environment found a certain time later. For example, when estimating a communication environment ex+m from time tx to a certain time later, tx+m, the communication environment estimation unit 144 searches the statistical information storage unit 142 for communication path information similar to the communication path information from time tx to tx-n a certain time before tx (ix-n to ix of each communication path) (711). If similar statistical information exists (true in 712), and communication path information ia-n to ia (time ta-n to ta) of each communication path similar to the communication path information from time tx to tx-n is searched, the communication environment ea+m for each communication path a certain time later, ta+m, is obtained from the statistical information storage unit 142 based on the similar communication path information. The communication environment estimation unit 144 estimates that the acquired communication environment ea+m is the communication environment ex+m at the future time tx+m (713). If there is no similar statistical information (false in 712), the process returns to step 711.
[0047] Alternatively, the communication environment after a certain time may be estimated by referring to the communication environment without using the communication path information. That is, a communication environment that is similar to the communication environment from time tx to tx-n, a certain time before tx (from ex-n to ex of each communication path) may be searched for in the statistical information storage unit 142, and the communication environment ea+m may be estimated to be the communication environment ex+m at future time tx+m.
[0048] Furthermore, the type of communication path information may be one or more.
[0049] FIG. 8 is a flowchart of a process for transmitting an instruction to change the number of redundant packets due to a packet loss rate.
[0050] The setting change determination unit 132 checks the packet loss rate for each communication path estimated by the communication environment estimation unit 144 (601). If the packet loss rate is equal to or less than a predetermined threshold (true in 602), the communication path is stable, and the setting change determination unit 132 determines whether the packet replication setting is the initial value (603). If the packet replication setting is the initial value (true in 603), the setting change determination unit 132 generates packet replication setting change information that reduces the number of redundant packets transmitted on the communication path, and the transmission unit 133 transmits the generated packet replication setting change information (604). In this embodiment, the initial value of the packet replication setting is the maximum value (3, the same as the number of communication paths). For communication paths with a small and stable packet loss rate, the number of redundant packets is reduced to improve communication efficiency. If the packet replication setting is not the initial value (false in 603), the number of redundant packets is already smaller than the initial value, and the setting change determination unit 132 returns to step 601 without generating packet replication setting change information.
[0051] On the other hand, if the packet loss rate is greater than the predetermined threshold (false in 602), the communication path is unstable, so it is determined whether the packet replication setting is at its initial value (605). If the packet replication setting is not at its initial value (false in 605), the setting change determination unit 132 generates packet replication setting change information that corrects the number of redundant packets to be transmitted over the communication path to its initial value, and the transmission unit 133 transmits the generated packet replication setting change information (606). In this embodiment, the initial value of the packet replication setting is the maximum value (3, the same as the number of communication paths). If the number of redundant packets in an unstable communication path is smaller than the initial value, the number of redundant packets is set to the initial value to improve communication stability. On the other hand, if the packet replication setting is at its initial value (true in 605), the number of redundant packets is already at its maximum value, so the process returns to step 601 without generating packet replication setting change information.
[0052] FIG. 9 is a flowchart of a process for transmitting an instruction to change the number of redundant packets caused by a delay time.
[0053] The setting change determination unit 132 checks the delay times for each communication path estimated by the communication environment estimation unit 144 and determines whether a state in which the delay time for a specific communication path is minimized continues for a predetermined time (702). If the state in which the delay time for a specific communication path is minimized continues for a predetermined time (true in 702), the delay for that specific communication path is always small, and the setting change determination unit 132 determines whether the packet replication setting is the initial value (703). If the packet replication setting is the initial value (true in 703), the setting change determination unit 132 generates packet replication setting change information that reduces the number of redundant packets transmitted on paths other than the specific communication path, and the transmission unit 133 transmits the generated packet replication setting change information (704). In this embodiment, the initial value of the packet replication setting is the maximum value (3, the same as the number of communication paths). In communication paths with small and stable delay times, subsequent packets are simply discarded, reducing the number of redundant packets and improving communication efficiency. If the packet duplication setting is not the initial value (false in 703), the number of redundant packets is already smaller than the initial value, so the setting change determining unit 132 does not generate packet duplication setting change information and returns to step 701.
[0054] On the other hand, if the state in which the delay time on a specific communication path is minimized has not continued for a predetermined time (702: false), since there are multiple communication paths with the minimum delay time during that predetermined time, it is determined whether the packet replication setting is at its initial value (705). If the packet replication setting is not at its initial value (705: false), the setting change determination unit 132 generates packet replication setting change information that corrects the number of redundant packets to be transmitted on all communication paths to its initial value, and the transmission unit 133 transmits the generated packet replication setting change information (706). In other words, the number of redundant packets is set to its initial value (3, the same as the number of communication paths) to reduce the communication delay time. On the other hand, if the packet replication setting is at its initial value (705: true), since the number of redundant packets is already at its maximum value, the process returns to step 701 without generating packet replication setting change information.
[0055] Alternatively, the packet forwarding devices 100 and 200 may transmit the packet reception history to an external device, and the external device may be provided with a communication environment calculation unit 131 and a setting change determination unit 132, so that the external device generates packet replication setting change information.
[0056] Furthermore, the packet forwarding devices 100 and 200 may transmit the communication environment calculated by the communication environment calculation unit 131 and the communication path measured by the communication path information measurement unit 141 to an external device, and the external device may be provided with a setting change determination unit 132, a statistical information storage unit 142, and a communication environment estimation unit 144, so that the external device can generate packet replication setting change information.
[0057] <Embodiment 2> Next, embodiment 2 of the present invention will be described. In embodiment 2, the configuration of the packet forwarding system is different from that of embodiment 1 described above, but the configurations and operations of the packet forwarding devices 100 and 200 are the same. Note that in embodiment 2, differences from embodiment 1 will be mainly described, and the same configurations and processes as embodiment 1 will be assigned the same reference numerals and their description will be omitted.
[0058] FIG. 10 is a configuration diagram of a packet forwarding system according to a second embodiment of the present invention.
[0059] The packet forwarding system of this embodiment has opposing user networks 901 and 902, a network device 301 on the user network 901 side, a packet forwarding device 100 on the user network 901 side, a network device 302 on the user network 902 side, a packet forwarding device 200 on the user network 902 side, and an IP network 800 connecting the packet forwarding device 100 and the packet forwarding device 200. The IP network 800 has communication paths 801, 802, and 803 of different communication methods. The communication paths 801 to 803 may be configured as wireless networks or wired networks, or may be configured as wireless networks of different methods.
[0060] A plurality of terminals are connected to the user networks 901 and 902, and communication is carried out between the terminals of the user network 901 and the terminals of the user network 902 via the IP network 800.
[0061] The network device 301 transfers packets transferred between the user network 901 and the IP network 800 to the packet forwarding device 100, and transfers packets transmitted from the packet forwarding device 100 to the user network 901 or the IP network 800. Similarly, the network device 302 transfers packets transferred between the user network 902 and the IP network 800 to the packet forwarding device 200, and transfers packets transmitted from the packet forwarding device 200 to the user network 902 or the IP network 800.
[0062] The packet forwarding device 100 forwards packets between the user network 901 and the IP network 800 via the network equipment 301 while controlling the number of redundant packets in each of the communication paths 801 to 803. Similarly, the packet forwarding device 200 forwards packets between the user network 902 and the IP network 800 via the network equipment 302 while controlling the number of redundant packets transmitted in each of the communication paths 801 to 803.
[0063] 10, by configuring the network devices 301, 302 and the packet forwarding devices 100, 200 separately, the number of communication IFs possessed by the packet forwarding devices 100, 200 may differ from the number of communication paths between the user networks 901, 902. In other words, by placing a network device that determines the communication path of a packet based on the destination IP address, destination port number, VLAN ID, etc. of the packet between the user networks 901, 902 and each of the communication paths 801 to 803, the number of communication IFs of the packet forwarding devices 100, 200 can be reduced (for example, to one).
[0064] As described above, the packet forwarding device 100 of an embodiment of the present invention comprises a packet sending unit (sending units 114a to 114c) that sends packets with an identifier (unique header) that can determine the order of the packets and which packets have the same information, a duplication determination unit (duplicate packet determination unit 123) that determines which packets have the same information by referring to the identifier, and a duplication unit (packet duplication unit 113) that controls the number of packets sent between the opposing packet forwarding device 200 based on the communication environment between the opposing packet forwarding device 200.Therefore, it is possible to suppress the sending of unnecessary redundant packets while ensuring the reliability of communication, and thereby suppress the consumption of communication resources.
[0065] The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the spirit and scope of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to configurations including all of the described configurations. Furthermore, part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Furthermore, the configuration of another embodiment may be added to the configuration of one embodiment. Furthermore, part of the configuration of each embodiment may be added, deleted, or replaced with other configurations.
[0066] Furthermore, the aforementioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole in hardware, for example by designing them as integrated circuits, or may be realized in software by having a processor interpret and execute a program that realizes each function.
[0067] Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, hard disk, or SSD (Solid State Drive), or in a recording medium such as an IC card, SD card, or DVD.
[0068] In addition, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily represent all the control lines and information lines that are necessary for implementation. In reality, it can be assumed that almost all components are interconnected.
Claims
1. A packet forwarding device which forwards packets via a plurality of independent communication paths provided between opposing packet forwarding devices, comprising: an addition unit which adds to packets an identifier capable of determining the order of packets and packets having identical information; a duplication unit which copies packets with the identifier added thereto, and controls the number of packets transmitted between the opposing packet forwarding device based on the communication environment between the opposing packet forwarding device; a packet transmission unit which transmits the copied packets to each of the plurality of communication paths; a calculation unit which calculates the communication environment for each of the communication paths by referring to the reception history of the packets; a storage unit which records statistical information including at least one of the calculated communication environment and communication path information representing the transmission characteristics of the communication paths; and an estimation unit which estimates the communication environment a certain time later from the storage unit, wherein the estimation unit searches the storage unit for statistical information similar to current statistical information, and estimates the communication environment a certain time later from the present based on the statistical information of the searched statistical information after the certain time.
2. A packet forwarding device according to claim 1, wherein the communication environment is a packet loss rate of the communication path.
3. A packet forwarding device as described in claim 2, comprising: a setting change determination unit which generates setting change information by referring to the estimated communication environment; and an information transmission unit which transmits the generated setting change information to the opposing packet forwarding device, wherein the setting change determination unit generates setting change information which reduces the number of packets transmitted on the communication path when the packet loss rate of the communication path is determined to be small as a result of comparing the packet loss rate of the communication path with a predetermined threshold, and generates setting change information which increases the number of packets transmitted on the communication path when the packet loss rate of the communication path is determined to be large as a result of comparing the packet loss rate of the communication path with the predetermined threshold.
4. A packet forwarding device according to claim 1, wherein the communication environment is a delay time of the communication path.
5. A packet forwarding device as described in claim 4, comprising: a setting change determination unit which references the estimated communication environment and generates setting change information; and an information transmission unit which transmits the generated setting change information to the opposing packet forwarding device, wherein the setting change determination unit generates setting change information which reduces the number of packets transmitted on a communication path other than the communication path when a state in which the delay time of a specific communication path is smallest among the delay times of all communication paths continues for a predetermined time, and generates setting change information which sets the number of packets transmitted on all communication paths to a predetermined maximum value when there are multiple communication paths with the smallest delay time among the delay times of all communication paths in the predetermined time.
6. A packet forwarding device according to claim 3, wherein said replicating unit changes the number of packets to be transmitted over said communication path in accordance with said received setting change information.
7. A packet forwarding method in which a packet forwarding device forwards packets via a plurality of independent communication paths provided between opposing packet forwarding devices, comprising: a transmitting packet forwarding device adds an identifier to a packet that can determine the order of the packets and packets having identical information, copies the packets with the identifier added, and transmits each of the copied packets to the plurality of communication paths; a transmitting packet forwarding device controls the number of packets to be transmitted between the opposing packet forwarding device based on the communication environment with the opposing packet forwarding device, and transmits the copied packets to each of the plurality of communication paths; a receiving packet forwarding device refers to a packet reception history, calculates a communication environment for each of the communication paths, records statistical information including at least one of the calculated communication environment and communication path information representing the transmission characteristics of the communication paths, searches a storage unit for statistical information that is similar to the current statistical information, and estimates the communication environment a certain time from now based on the statistical information after a certain time of the searched statistical information; A packet forwarding method characterized in that a transmitting packet forwarding device controls the number of packets sent between the opposing packet forwarding device based on the communication environment between the transmitting packet forwarding device and the opposing packet forwarding device, and transmits the duplicated packets to each of the multiple communication paths.
8. A packet forwarding system for forwarding packets, comprising: a first packet forwarding device that transmits packets; a second packet forwarding device that receives packets from the first packet forwarding device; and a plurality of independent communication paths between the first packet forwarding device and the second packet forwarding device, wherein the first packet forwarding device has an adding unit that adds, to a packet, an identifier that enables determination of a packet order and packets having identical information; a copying unit that copies the packet to which the identifier has been added, and controls the number of packets transmitted between the opposing packet forwarding device based on a communication environment with the opposing packet forwarding device; and a packet transmitting unit that transmits the copied packets to each of the plurality of communication paths, wherein the second packet forwarding device has: a calculating unit that calculates a communication environment for each of the communication paths by referring to a packet reception history; a storing unit that records statistical information including at least one of the calculated communication environment and communication path information representing a transmission characteristic of the communication path; and an estimating unit that estimates the communication environment after a certain time from the storing unit, A packet forwarding system characterized in that the estimation unit searches the storage unit for statistical information that is similar to current statistical information, and estimates the communication environment a certain time later from the present based on the statistical information found a certain time later.
Citation Information
Patent Citations
Communication method, communication system, and communication control device
JP2022050829A
Packet processing method and apparatus, and chip
JP2022546102A
Wireless quality prediction device, wireless base station, wireless terminal, wireless quality prediction method and wireless quality prediction program
WO2017135152A1