Bandwidth estimation system, bandwidth estimation program, and bandwidth estimation method

JPWO2025225647A5Pending Publication Date: 2026-08-26
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026517202
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2026-05-28
Publication Date
2026-08-26

AI Technical Summary

Technical Problem

Conventional bandwidth estimation techniques in communication networks lead to increased communication volume, processing load, and transmission delays due to the need for identifying packet trains and feedback mechanisms, resulting in various communication problems.

Method used

A bandwidth estimation system and method that utilizes a transmission time difference detection unit, reception time difference detection unit, and time determination unit to estimate available bandwidth by comparing time differences between packet transmissions and receptions, thereby suppressing communication issues and accurately estimating bandwidth.

Benefits of technology

The system effectively suppresses communication problems such as increased data communication, processing load, and delays while providing an accurate estimation of available bandwidth.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A bandwidth estimation system (1) estimates the available bandwidth of a communication line (7) capable of transmitting and receiving data between a relay node (15) and a relay counterpart node (21). The bandwidth estimation system (1) is provided with a transmission time difference detection unit (35), a reception time difference detection unit (37), a time determination unit (39), and a bandwidth estimation unit (41). The transmission time difference detection unit (35) obtains a time difference T of a transmission time of each packet. The reception time difference detection unit (37) obtains a time difference S of a reception time at which each confirmation information item was received by the relay node (15). When it is determined by the time determination unit (39) that the time difference T is less than the time difference S, the available bandwidth of the communication line (7) is estimated on the basis of the time difference S and a data amount I transmitted from the relay node (15) to the relay counterpart node (21) during the time difference T.
Need to check novelty before this filing date? Find Prior Art

Description

Bandwidth estimation system, bandwidth estimation program, and bandwidth estimation method CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This international application claims the benefit of Japanese Patent Application No. 2024-072604, filed with the Japan Patent Office on April 26, 2024, the entire disclosure of which is incorporated herein by reference.

[0002] The present disclosure relates to a bandwidth estimation system, a bandwidth estimation program, and a bandwidth estimation method.

[0003] Conventionally, there is known a technique for estimating an available bandwidth in a communication network between a transmitting device and a receiving device.

[0004] For example, Patent Document 1 listed below discloses a technology in which a receiving device measures the time (i.e., measurement time) from when the first packet of a packet train containing multiple packets is received to when the last packet is received, and if this measurement time is equal to or greater than a predetermined threshold time, an estimation of the available bandwidth (i.e., bandwidth estimation) is enabled.

[0005] Japanese Patent Application Laid-Open No. 2023-5622

[0006] However, as a result of detailed investigation by the inventors, the following problems were found in the conventional techniques.

[0007] In conventional techniques, for example, overhead in communication traffic and processing load may occur due to the need to include information for identifying packet trains in packets or to use dedicated packets. Furthermore, measurement results must be fed back from the receiving side to the sending side to reflect them in communication scheduling. Furthermore, temporary suspension of transmission to generate valid packet trains may result in transmission delays and processing loads.

[0008] In other words, when estimating the available bandwidth with conventional technology, various communication problems may occur, such as an increase in communication volume, an increase in communication processing load, and communication delays.

[0009] An object of one aspect of the present disclosure is to provide a technology that can suppress the occurrence of communication problems when estimating an available bandwidth and can appropriately estimate the available bandwidth.

[0010] a) One aspect of the present disclosure relates to a bandwidth estimation system for estimating an available bandwidth of a communication line capable of transmitting and receiving data between a relay node capable of communicating with a communication node and a relay node capable of communicating with a correspondent node, the bandwidth estimation system including a transmission time difference detection unit, a reception time difference detection unit, a time determination unit, and a bandwidth estimation unit.

[0011] The transmission time difference detection unit is configured to, when a plurality of packets are transmitted from the relay node to the opposite relay node, determine a time difference T between the transmission times of the packets having different transmission times.

[0012] The reception time difference detection unit is configured to calculate the time difference S between the reception times at which the relay node receives different pieces of confirmation information corresponding to the different packets when the relay node transmits confirmation information indicating that the packet transmitted from the communication node has been received by the relay node from the relay node opposite the communication node.

[0013] The time determination unit is configured to determine whether the time difference T between the transmission times is less than the time difference S between the reception times.

[0014] When it is determined that the time difference T between the transmission times is less than the time difference S between the reception times, the bandwidth estimation unit is configured to estimate the available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay opposite node between the different transmission times and the time difference S between the reception times.

[0015] With this configuration, in the present disclosure, when data (i.e., information) is transmitted from a relay node to a relay node via a communication line, the occurrence of communication problems can be suppressed (for example, by suppressing an increase in the amount of data communication, reducing the processing load during communication, and suppressing communication delays), and the available bandwidth can be estimated appropriately.

[0016] In other words, if it is determined that the time difference T between the transmission times of different packets to be transmitted is less than the time difference S between the reception times of different confirmation information, it is considered that dispersion of the transmitted packets (i.e., a situation in which the transmitted packets are received in a dispersed manner at the receiving side) has occurred. Furthermore, it is considered that the time difference S between the reception times of different confirmation information corresponds to the degree of dispersion of the transmitted packets.

[0017] Therefore, the available bandwidth of the communication line can be estimated based on the amount of data I transmitted between different transmission times and the time difference S between the reception times of the confirmation information. By estimating the available bandwidth of the communication line in this manner, it is possible to prevent the occurrence of the various communication problems described above.

[0018] b) Another aspect of the present disclosure relates to a computer bandwidth estimation program that estimates the available bandwidth of a communication line capable of transmitting and receiving data between a relay node that can communicate with a communication node and a relay node that can communicate with a counterpart node.

[0019] This bandwidth estimation program causes the computer to function as: a transmission time difference detection unit configured to, when transmitting a plurality of packets from the relay node to the relay opposing node, calculate a time difference T between the transmission times of packets having different transmission times; a reception time difference detection unit configured to, when transmitting confirmation information from the relay opposing node to the relay node indicating that the packet transmitted from the communication node has been received by the opposing node, calculate a time difference S between the reception times at the relay node at which the different confirmation information corresponding to the different packets is received; a time determination unit configured to determine whether the time difference T between the transmission times is less than the time difference S between the reception times; and a bandwidth estimation unit configured, when it is determined that the time difference T between the transmission times is less than the time difference S between the reception times, to estimate the available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay opposing node between the different transmission times and the time difference S between the reception times.

[0020] With this configuration, in the present disclosure, when data (i.e., information) is transmitted from a relay node to a relay opposite node via a communication line, the occurrence of the above-mentioned communication problems can be suppressed (for example, by suppressing an increase in the amount of data communication, reducing the processing load during communication, and suppressing communication delays), and the available bandwidth can be estimated appropriately.

[0021] c) Yet another aspect of the present disclosure relates to a bandwidth estimation method for estimating an available bandwidth of a communication line capable of transmitting and receiving data between a relay node capable of communicating with a communication node and a relay opposing node capable of communicating with an opposing node.

[0022] In this bandwidth estimation method, when a plurality of packets are transmitted from the relay node to the relay opposing node, a time difference T between the transmission times of the packets having different transmission times is calculated; when confirmation information indicating that the packet transmitted from the communication node has been received by the opposing node is transmitted from the relay opposing node to the relay node, a time difference S between the reception times at the relay node of the different confirmation information corresponding to the different packets is calculated; and it is determined whether the time difference T between the transmission times is less than the time difference S between the reception times; and if it is determined that the time difference T between the transmission times is less than the time difference S between the reception times, the available bandwidth of the communication line is estimated based on the amount of data I transmitted from the relay node to the relay opposing node between the different transmission times and the time difference S between the reception times.

[0023] With this configuration, in the present disclosure, when data (i.e., information) is transmitted from a relay node to a relay opposite node via a communication line, the occurrence of the above-mentioned communication problems can be suppressed (for example, by suppressing an increase in the amount of data communication, reducing the processing load during communication, and suppressing communication delays), and the available bandwidth can be estimated appropriately.

[0024] In the above disclosure, the relay node and the relay opposite node refer to well-known nodes that relay (i.e., forward) received data.

[0025] FIG. 2A is a block diagram showing the overall configuration of a bandwidth estimation communication system of a first embodiment. FIG. 2A is a block diagram showing the configuration of a relay node, and FIG. 2B is a block diagram showing the configuration of a relay opposite node. FIG. 2B is a block diagram showing the configuration of a relay node functionally. FIG. 3 is an explanatory diagram showing the state of communication etc. in the first embodiment. FIG. 4 is a flowchart showing control processing in the first embodiment. FIG. 4 is an explanatory diagram showing the state of communication etc. in the second embodiment. FIG. 5 is a flowchart showing an example of control processing in the second embodiment. FIG. 6 is a flowchart showing another example of control processing in the second embodiment. FIG. 7 is an explanatory diagram showing the principle of condition setting in a third embodiment. FIG. 8 is an explanatory diagram showing the state of communication etc. in the third embodiment.

[0026] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.

[0027] 1, a bandwidth estimation system 1 according to the first embodiment includes a transmitting device 3 and a receiving device 5. The transmitting device 3 and the receiving device 5 are connected via a communication line 7, and are capable of transmitting and receiving packets and the like between them. The transmitting device 3 may be, for example, a smartphone, and the receiving device 5 may be any of a variety of servers or other devices.

[0028] As will be described in detail later, this bandwidth estimation system 1 estimates the available bandwidth of the communication line 7. The estimated value of the available bandwidth (i.e., the bandwidth estimate) is the amount of data transferred per unit time (i.e., the communication speed).

[0029] The transmitting device 3 includes a first communication node 11 , a second communication node 13 , and a relay node 15 .

[0030] The first communication node 11 is a device capable of transmitting and receiving data to and from the relay node 15, and is capable of transmitting data to the relay node 15 in packets (i.e., transmission packets), for example.

[0031] Similarly, the second communication node 13 is a device capable of transmitting and receiving data to and from the relay node 15, and is capable of transmitting data to the relay node 15 in packets, for example.

[0032] One or more communication nodes may be used. In place of each communication node, an application having functions such as transmission and reception may be used.

[0033] The relay node 15 is a relay device that can relay (i.e., transfer) data received from a node to another node.

[0034] On the other hand, the receiving side device 5 includes a first opposing node 17 , a second opposing node 19 , and a relay opposing node 21 .

[0035] The first opposing node 17 is a device capable of transmitting and receiving data to and from the relay opposing node 21. The first opposing node 17 can receive packets transmitted from the first communication node 11 via the relay node 15 and the relay opposing node 21. The first opposing node 17 can also transmit confirmation information (for example, a well-known ACK) indicating that the packet transmitted from the first communication node 11 has been received to the relay opposing node 21.

[0036] Similarly, the second opposing node 19 is a device capable of transmitting and receiving data to and from the relay opposing node 21. The second opposing node 19 can receive packets transmitted from the first communication node 11 via the relay node 15 and the relay opposing node 21. The second opposing node 19 can also transmit confirmation information (for example, a well-known ACK) indicating that the packet transmitted from the first communication node 11 has been received to the relay opposing node 21.

[0037] One or more opposing nodes may be used. In place of each opposing node, an application having functions such as transmission and reception may be used.

[0038] The relay node 21 is a relay device that can relay (that is, transfer) data received from a node to another node.

[0039] The communication line 7 is a communication network such as the Internet, an intranet, a LAN, etc. Note that LAN is an abbreviation for Local Area Network.

[0040] [1-2. Components] Each component of the bandwidth estimation system 1 will be described in detail below.

[0041] <Hardware Configuration of Relay Node> As shown in FIG. 2A, the relay node 15 includes a relay node control unit 23, a first storage unit 25, and a first communication unit 27.

[0042] The relay node control unit 23 is an electronic control unit (i.e., ECU) that performs various calculations related to the operation of the relay node 15, and is mainly composed of a microcomputer (hereinafter referred to as "microcomputer") having a well-known CPU 23a, RAM 23b, ROM 23c, etc.

[0043] The various functions of the relay node control unit 23 are realized by the CPU 23a executing a program stored in a non-transient physical recording medium. In this example, for example, the ROM 23c corresponds to the non-transient physical recording medium storing the program. Furthermore, by executing this program, a method corresponding to the program is performed.

[0044] The number of microcomputers constituting the relay node control unit 23 may be one or more. Furthermore, the method of realizing the various functions of the relay node control unit 23 is not limited to software, and some or all of the elements may be realized using one or more pieces of hardware. For example, when the above functions are realized by electronic circuits that are hardware, the electronic circuits may be realized by digital circuits including a large number of logic circuits, analog circuits, or a combination of these.

[0045] The first storage unit 25 may be a non-volatile memory such as a flash memory or an EEPROM that is rewritable with various data.

[0046] The first communication unit 27 is a communication device capable of communicating with the first communication node 11 , the second communication node 13 , and the opposite relay node 21 .

[0047] Although not shown, the first communication node 11 and the second communication node 13 may have a configuration similar to that of the relay node 15, including a control unit that performs various processes, a storage unit that stores data, and a communication unit that transmits and receives data. Each of the communication nodes 11 and 13 may be configured by an application (i.e., software).

[0048] <Operation of Relay Node> Next, the basic operation of the relay node 15 will be described.

[0049] The relay node 15 receives packets transmitted from the first communication node 11 and the second communication node 13. The header of each packet contains well-known sequence information (e.g., a sequence number) that indicates the order of each packet in a packet train containing multiple packets. The sequence information can be used in the L4 layer of the well-known OSI reference model.

[0050] The relay node 15 relays packets transmitted from the first communication node 11 and the second communication node 13, and transmits them to the relay opposite node 21 via the communication line 7. At this time, the relay node 15 stores the first transmission time T1 at which the first packet P1 received from the first communication node 11 was transmitted, and the second transmission time T2 at which the second packet P2 received from the second communication node 13 was transmitted. The relay node 15 can determine the order of each packet from the sequence information included in each packet.

[0051] The relay node 15 receives each piece of confirmation information transmitted from the relay opposing node 21 via the communication line 7. That is, the relay node 15 receives first confirmation information A1 transmitted from the first opposing node 17, which is the final destination of the first communication node 11, and second confirmation information A2 transmitted from the second opposing node 19, which is the final destination of the second communication node 13. At this time, the relay node 15 also stores a first reception time S1 at which the first confirmation information A1 transmitted from the relay opposing node 21 was received, and a second reception time S2 at which the second confirmation information A2 transmitted from the relay opposing node 21 was received.

[0052] The relay node 15 relays each piece of confirmation information received from the relay opposing node 21 and transmits it to the first communication node 11 and the second communication node 13. That is, the relay node 15 transmits the first confirmation information A1 transmitted from the first opposing node 17 to the first communication node 11, and transmits the second confirmation information A2 transmitted from the second opposing node 17 to the second communication node 13.

[0053] <Functional Configuration of Relay Node> Here, the relay node 15, more specifically the relay node control unit 23, will be described functionally.

[0054] 3, the relay node control unit 23 functionally comprises a transmission time difference detection unit 35, a reception time difference detection unit 37, a time determination unit 39, and a bandwidth estimation unit 41. Each component will now be described functionally.

[0055] The transmission time difference detection unit 35 is configured to calculate the time difference T (e.g., T12) between the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2 when a first packet P1 and a second packet P2 are transmitted from the relay node 15 of the transmitting device 3 to the relay opposite node 21 of the receiving device 5.

[0056] The reception time difference detection unit 37 is configured to calculate the time difference S (e.g., S12) between the first reception time S1 at which the first confirmation information A1 is received and the second reception time S2 at which the second confirmation information A2 is received when different confirmation information (e.g., first confirmation information A1 and second confirmation information A2, which are ACKs) corresponding to the first packet P1 and the second packet P2 is sent from the relay node 21 of the receiving device 5 to the relay node 15 of the transmitting device 3 to confirm that the first packet P1 and the second packet P2 have been received.

[0057] The time determination unit 39 is configured to determine whether or not the time difference T12 between the two transmission times T1 and T2 is less than the time difference S between the two reception times S1 and S2.

[0058] The bandwidth estimation unit 41 is configured to estimate the available bandwidth of the communication line 7 based on the amount of data I transmitted between the two transmission times T1 and T2 and the time difference S12 between the two reception times S1 and S2 when the time determination unit 39 determines that the time difference T12 between the two transmission times T1 and T2 is less than the time difference S12 between the two reception times S1 and S2.

[0059] The data amount I includes the data amount of the first packet P1 transmitted at the first transmission time T1 and the data amount of the second packet P2 transmitted at the second transmission time T2. In other words, the period between the first transmission time T1 and the second transmission time T2 includes the first transmission time T1 and the second transmission time T2 (the same applies below).

[0060] 2B, the relay opposing node 21 includes a relay opposing node control unit 29, a second storage unit 31, and a second communication unit 33. The configuration of the relay opposing node 21 is basically the same as that of the relay node 15, and will therefore only be briefly described.

[0061] The relay node control unit 29 is an electronic control device that performs various calculation processes related to the operation of the relay node 21, and is mainly composed of a microcomputer having a known CPU 29a, RAM 29b, ROM 29c, and the like.

[0062] The various functions of the relay opposite node control unit 29 are realized by the CPU 29a executing a program stored in a non-transient physical recording medium.

[0063] The second storage unit 31 may be a nonvolatile memory such as a flash memory or an EEPROM that is rewritable with various data.

[0064] The second communication unit 33 is a communication device capable of communicating with the first opposing node 17 , the second opposing node 19 , and the relay node 15 .

[0065] Although not shown, the first opposing node 17 and the second opposing node 19 may have a configuration similar to that of the relay opposing node 21, including a control unit that performs various processes, a storage unit that stores data, and a communication unit that transmits and receives data. Each opposing node 17, 19 may also be configured by an application (i.e., software).

[0066] <Operation of Relay Opposite Node> Next, the basic operation of the relay opposite node 21 will be described.

[0067] The relay node 21 receives each packet transmitted from the relay node 15 via the communication line 7. That is, the relay node 21 receives each packet transmitted from the first communication node 11 and the second communication node 13 via the relay node 15 and the communication line 7.

[0068] The relay opposing node 21 transmits each packet received via the communication line 7 to the first opposing node 17 or the second opposing node 19. That is, the relay opposing node 21 transmits the first packet P1 transmitted from the first communication node 11 to the first opposing node 17, and transmits the second packet P2 transmitted from the second communication node 13 to the second opposing node 19.

[0069] The relay node 21 relays the first confirmation information A1 transmitted from the first node 17 and the second confirmation information A2 transmitted from the second node 19 and transmits them to the relay node 15 .

[0070] [1-3. Overall Operation] Next, the overall operation of the bandwidth estimation system 1 will be described.

[0071] As shown in Figure 4, we will explain the case where a first packet P1 is transmitted from a first communication node 11 to a relay node 15, and after the transmission of the first packet P1, a second packet P2 is transmitted from a second communication node 13 to the relay node 15.

[0072] In this case, the first packet P1 and the second packet P2 are sequentially received at the relay node 15. If each packet contains sequence information, the relay node 15 extracts the sequence information from each packet.

[0073] Next, at a first transmission time T1, the relay node 15 transmits a first packet P1 to the opposite relay node 21 via the communication line 7. That is, the relay node 15 transfers the first packet P1 to the opposite relay node 21.

[0074] Next, at a second transmission time T2 that is later than the first transmission time T1, the relay node 15 transmits a second packet P2 to the opposite relay node 21 via the communication line 7. In other words, the relay node 15 transfers the first packet P1 to the opposite relay node 21.

[0075] At this time, the relay node 15 stores the first transmission time T1 and the second transmission time T2, and calculates the time difference T (i.e., T12) between the first transmission time T1 and the second transmission time T2 by calculating "second transmission time T2 - first transmission time T1".

[0076] In addition, the relay node 15 stores the data amount of each packet transmitted between the first transmission time T1 and the second transmission time T2 (for example, the data amount of the first packet P1 and the data amount of the second packet), and calculates and stores the value obtained by sequentially adding up the data amounts (i.e., the data amount I, which is the accumulated data amount).

[0077] Next, the first packet P1 and the second packet P2 transmitted from the relay node 15 are received by the opposite relay node 21 in the order in which they were transmitted.

[0078] Next, the first packet P1 and the second packet P2 received by the relay opposing node 21 are transmitted to their respective destination nodes in the order in which they were received. That is, the first packet P1 is transmitted to the first opposing node 17, and the second packet P2 is transmitted to the second opposing node 19.

[0079] Depending on the status of the communication line 7, the time it takes for the first packet P1 to reach the relay opposing node 21 from the relay node 15 may differ from the time it takes for the second packet P2 to reach the relay opposing node 21 from the relay node 15. In other words, the time it takes for the second packet P2 to reach the relay opposing node 21 may be longer than the time it takes for the first packet P1 to reach the relay opposing node 21. This situation is referred to as packet dispersion occurring.

[0080] The difference between the second arrival time TJ2 at which the second packet P2 arrives at the relay node 21 and the first arrival time TJ1 at which the first packet P1 arrives at the relay node 21 (i.e., TJ2-TJ1) is used as an index PB indicating the degree of packet dispersion.

[0081] Next, when the first opposing node 17 receives the first packet P1, it transmits first confirmation information A1 indicating that the first packet P1 has been received to the source, the first communication node 11. Here, the first confirmation information A1 is first transmitted to the relay opposing node 21.

[0082] Similarly, when the second opposing node 19 receives the second packet P2, it transmits second confirmation information A2 indicating that the second packet P2 has been received to the source, the second communication node 13. Here, the second confirmation information A2 is first transmitted to the relay opposing node 21.

[0083] Next, the relay node 15 receives the first confirmation information A1 transmitted from the opposite relay node 21, and stores the first reception time S1, which is the time of reception.

[0084] Similarly, the relay node 15 receives the second confirmation information A2 transmitted from the opposite relay node 21 and stores the second reception time S2, which is the time of reception.

[0085] At this time, the relay node 15 calculates the time difference S (i.e., S12), which is the difference between the first reception time S1 of the first confirmation information A1 and the second reception time S2 of the second confirmation information A2, by calculating "second reception time S2 - first reception time S1".

[0086] Furthermore, the relay node 15 calculates the well-known RTT, which is the round trip time of the first packet P1 at the relay node 15. Note that RTT is an abbreviation for Round Trip Time. That is, the relay node 15 calculates the first round trip time RTT1, which is the round trip time from the first transmission time T1 to the first reception time S1 of the first packet P1.

[0087] Similarly, the relay node 15 calculates the second round trip time RTT2, which is the round trip time from the second sending time T2 to the second receiving time S2, as the round trip time of the second packet P2 at the relay node 15.

[0088] Furthermore, the relay node 15 calculates the packet dispersion index PB as described below. Specifically, the packet dispersion index PB is calculated by "second round trip time RTT2+time difference T12-first round trip time RTT1".

[0089] In other words, as shown in Figure 4, the degree of dispersion of the confirmation signal is usually considered to be smaller than the dispersion when transmitting packets. Therefore, the value of "second round trip time RTT2 + time difference T12 - first round trip time RTT1" (i.e., dispersion value) is considered to be a value close to the actual packet dispersion. Therefore, this dispersion value is used as an index PB that indicates the degree of packet dispersion.

[0090] Furthermore, as will be described later, the relay node 15 uses the amount of data I of packets transmitted between the first transmission time T1 and the second transmission time T2 and the variance value of "second round trip time RTT2 + time difference T12 - first round trip time RTT1" (i.e., variance index PB) to calculate "I / (second round trip time RTT2 + time difference T12 - first round trip time RTT1)", i.e., "I / PB", to calculate an estimate of the available bandwidth (i.e., bandwidth estimate).

[0091] Each piece of confirmation information received by the relay node 15 is transmitted to its respective source. Specifically, the first confirmation information A1 is transmitted to the first communication node 11, and the second confirmation information A2 is transmitted to the second communication node 13.

[0092] [1-4. Control Processing] Next, of the control processing in the bandwidth estimation system 1, the control processing (that is, bandwidth estimation processing) performed by the relay node control unit 23 will be described.

[0093] As shown in FIG. 5, in step (hereinafter, S) 100, various data are stored.

[0094] Specifically, the relay node 15 stores the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2. The relay node 15 also stores the first reception time S1 of the first confirmation information A1 and the second reception time S2 of the second confirmation information A2. The relay node 15 also stores the data amount of each packet (e.g., the first packet P1 and the second packet P2) transmitted from the relay node 15.

[0095] In the next step S110, various calculations are performed based on the various data stored in step S100.

[0096] Specifically, the time difference T between the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2 (i.e., T2-T1=time difference T12) is calculated, and the time difference S between the first reception time S1 of the first confirmation information A1 and the second reception time S2 of the second confirmation information A2 (i.e., S2-S1=time difference S12) is calculated.

[0097] Furthermore, the first round trip time RTT1 of the first packet P1 is calculated, and the second round trip time RTT2 of the second packet P2 is calculated.

[0098] Furthermore, the data volume of each packet (e.g., the first packet P1 and the second packet P2) transmitted between the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2 is added up to calculate the total data volume (i.e., the data volume) I.

[0099] In the next step S120, it is determined whether packet dispersion has occurred by determining whether the time difference S (i.e., S12) between the reception times S1 and S2 is greater than the time difference T (i.e., T12) between the transmission times T1 and T2. If the determination is affirmative, the process proceeds to step S130, whereas if the determination is negative, the process is temporarily terminated. If T<S, this indicates that the time difference S between receptions is greater than the time difference T between transmissions, i.e., packet dispersion has occurred.

[0100] In S130, an index PB indicating the degree of packet dispersion is calculated. Specifically, the index PB of packet dispersion is calculated by calculating "second round trip time RTT2+time difference T12-first round trip time RTT1".

[0101] In the next step S140, a bandwidth estimate (i.e., I / PB) is calculated. Specifically, the bandwidth estimate is calculated by calculating "I / (second round trip time RTT2+time difference T12-first round trip time RTT1)", i.e., by calculating "I / PB".

[0102] [1-5. Effects] According to the first embodiment, when data (e.g., packets) is transmitted from the relay node 15 to the relay opposite node 21 via the communication line 7, the occurrence of communication problems can be suppressed (e.g., an increase in the amount of data communication can be suppressed, the processing load during communication can be reduced, and communication delays can be suppressed), and the available bandwidth can be suitably estimated.

[0103] Specifically, if the relay node 15 determines that the time difference T between the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2 is less than the time difference S between the first reception time S1 of the first confirmation information A1 and the second reception time S2 of the second confirmation information A2, the packet dispersion index PB can be calculated by calculating "second round trip time RTT2 + time difference T12 - first round trip time RTT1", and further, the bandwidth estimate I / PB can be calculated by calculating "I / (second round trip time RTT2 + time difference T12 - first round trip time RTT1)".

[0104] By estimating the available bandwidth in this way, it is possible to suppress an increase in the amount of data communication compared to conventional methods, reduce the processing load during communication, and suppress communication delays, thereby enabling the available bandwidth to be estimated in an optimal manner.

[0105] [1-6. Correspondence] Next, the relationship between the present disclosure and the first embodiment will be described.

[0106] The communication node corresponds to the first communication node or the second communication node, the relay node corresponds to relay node 15, the opposing node corresponds to the first opposing node 17 or the second opposing node 19, the relay opposing node corresponds to the relay opposing node, the communication line corresponds to communication line 7, the bandwidth estimation system corresponds to bandwidth estimation system 1, the transmission time difference detection unit corresponds to transmission time difference detection unit 35, the reception time difference detection unit corresponds to reception time difference detection unit 37, the time judgment unit corresponds to time judgment unit 39, and the bandwidth estimation unit corresponds to bandwidth estimation unit 41.

[0107] [2. Second Embodiment] The second embodiment has the same basic configuration as the first embodiment, and therefore the following mainly describes the differences from the first embodiment. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and reference is made to the preceding description.

[0108] [2-1. Principle for Improving Estimation Accuracy] In the second embodiment, when the value of "(amount of received data received between the first reception time S1 and the second reception time S2) / (second round trip time RTT2+time difference T12-first round trip time RTT1)" at the relay node 15 is equal to or less than a predetermined ratio of the maximum value of the reception throughput at the relay node 15 within a predetermined period (i.e., when condition 1 is established), the accuracy of bandwidth estimation is higher than when this is not the case.

[0109] The second embodiment will be described in detail below.

[0110] The larger the "data volume I / time difference T12" is and the smaller the amount of data received from the first reception time S1 of the first confirmation information A1 of the first packet P1 to the second reception time S2 of the second confirmation information A2 of the second packet P2 (i.e., the amount of received data), the more reliable (i.e., highly reliable) the bandwidth estimate is. Therefore, we will first explain this point.

[0111] The larger the "data amount I / time difference T12", the larger the transmission rate during the time difference T12. Packet dispersion occurs when the bandwidth of the link to be measured (i.e., the communication line 7) is smaller than the transmission rate, and when this occurs, the bandwidth of the link to be measured becomes equal to the reception rate at the opposite relay node 21.

[0112] Therefore, in order to use the receiving rate as the bandwidth estimate for the link under measurement, the sending rate must be at least faster than that of the link under measurement, and the measurement results are considered highly reliable when the margin of difference in speed is large.

[0113] Furthermore, if the measurement time is sufficiently large compared to error factors related to time measurement, such as fluctuations in the time it takes for each of the opposing nodes 17 and 19 to return each of the confirmation information A1 and A2 (i.e., ACK) and the reception interval measurement error (i.e., time resolution) at the relay node 15, the expected value of the relative error becomes small, making the measurement results highly reliable.

[0114] In this way, "data amount I / time difference T12" is proportional to the transmission rate, and data amount I is inversely proportional to the measurement time, so the larger "data amount I / time difference T12" is, the higher the reliability becomes.

[0115] Furthermore, for the received data received between the first reception time S1 and the second reception time S2, packet dispersion occurs on the return link (i.e., the link from the relay node 21 to the relay node 15), and if this affects the reception time difference (i.e., the time difference S) between the reception times S1 and S2 (i.e., due to packet dispersion between the reception times S1 and S2, the reception interval of the confirmation information A1 and A2 at the relay node 15 becomes larger than the transmission interval at the relay node 21), this will become a factor that affects the measurement (i.e., an error factor).

[0116] This effect is smaller as the amount of data received between the reception times S1 and S2 is smaller, so the reliability is higher as the amount of data received between the reception times S1 and S2 is smaller.

[0117] The "data amount I / time difference T12" may be guaranteed across multiple samples. For example, when calculating the "data amount I / time difference T12" for a pair of packets, the "data amount / time difference" may also be calculated for another pair of packets. In such a case, the "total data amount / total time difference" may be calculated for multiple pairs of packets.

[0118] Next, the reason why it is determined that the accuracy of the bandwidth estimation is higher when the condition 1 is met than when it is not met will be explained.

[0119] As described above, when the relay node 15 receives the first confirmation information A1 and the second confirmation information A2, packet dispersion that occurs on the return link between the relay node 21 and the relay node 15 becomes a cause of error.

[0120] However, if the reception rate (i.e., reception throughput) of the return link is smaller than the link bandwidth, it is assumed that dispersion does not occur. If the maximum reception rate m of the return link within a certain period x is y% or more of the bandwidth of the return link, it is considered that the effects of dispersion can be avoided as long as the reception rate within period x is y% or less of the maximum value.

[0121] Therefore, when the condition 1 is met, it is determined that the accuracy of the bandwidth estimation is higher than when the condition is not met.

[0122] Generally, the link bandwidth varies in terms of x and y for the condition 1 to be satisfied, depending on the fluctuation and the width and period of the fluctuation. For this reason, x is the predetermined period, and y is the predetermined ratio. The predetermined period x and the predetermined ratio y can be set appropriately through experiments, calculations, etc., depending on the actual system configuration.

[0123] [2-2. Processing] Next, processing in the second embodiment will be described.

[0124] <Process 1> In this process 1, the samples that satisfy the above-mentioned condition 1 are used as the conditions for bandwidth estimation.

[0125] For example, as shown in FIG. 6, consider a case where a large number of packets, two or more, are transmitted from the first communication node 11 and the second communication node 13, respectively.

[0126] In such a case, a bandwidth estimate is obtained using, for example, a first packet P1 and a second packet P2 using the method of the first embodiment. However, before calculating the bandwidth estimate, it is determined in advance whether values ​​such as RTT1, RTT2, and T12 that satisfy the condition 1 are appropriate to use when calculating the bandwidth estimate, and if appropriate, the bandwidth estimate is calculated using those values.

[0127] In other words, values ​​such as RTT1, RTT2, T12, etc. that satisfy the above-mentioned condition 1 are appropriate values ​​to use when calculating a bandwidth estimate (i.e., using numerical values ​​that satisfy the above-mentioned condition 1 results in high accuracy of bandwidth estimation), so bandwidth estimation is performed using values ​​such as RTT1, RTT2, T12, etc. that satisfy the above-mentioned condition 1.

[0128] 7, in S200, it is determined whether the values ​​of RTT1, RTT2, T12, etc. are appropriate values ​​for calculating a bandwidth estimate. In other words, it is determined whether the values ​​of RTT1, RTT2, T12, etc. satisfy the above-mentioned condition 1. If the determination here is affirmative, the values ​​of RTT1, RTT2, T12, etc. are appropriate values ​​for calculating a bandwidth estimate, and therefore in S210, bandwidth estimation is performed using the values ​​of RTT1, RTT2, T12, etc. that satisfy the above-mentioned condition 1.

[0129] This allows for highly accurate bandwidth estimation.

[0130] <Process 2> In Process 2, the method of the first embodiment is used to estimate the available bandwidth (i.e., to calculate a bandwidth estimate), for example, using a first packet P1 and a second packet P2. Then, it is determined whether or not the bandwidth estimate was calculated using a value that satisfies Condition 1 (i.e., whether or not the bandwidth estimate satisfies the condition for high estimation accuracy). If Condition 1 is satisfied, the bandwidth estimate is determined to have higher estimation accuracy than if Condition 1 is not satisfied, and can be adopted as an appropriate bandwidth estimate.

[0131] For example, as shown in FIG. 8, in S300, a process of estimating the available bandwidth is performed for a first packet P1 and a second packet P2 using the method of the first embodiment, to obtain a bandwidth estimate.

[0132] In the next step S310, it is determined whether the bandwidth estimation value calculated in step S300 was calculated using a value that satisfies the condition 1 (i.e., whether the estimation accuracy is high). If the condition 1 is satisfied, then in step S320, it is determined that the bandwidth estimation value has a higher estimation accuracy than when the condition 1 is not satisfied, and is adopted as an appropriate bandwidth estimation value.

[0133] This allows for highly accurate bandwidth estimation.

[0134] In the above-described process, only the portion of the consecutive packets for which the condition 1 is satisfied can be used as a sample. That is, RTT1, RTT2, and RTT12 that satisfy the condition 1 can be used to calculate a bandwidth estimate. Whether packets are consecutive or not can be determined, for example, by the sequence number included in the packet. For example, if the sequence numbers are consecutive, the packets can be determined to be consecutive.

[0135] [3. Third Embodiment] The third embodiment has the same basic configuration as the first embodiment, and therefore the following description will mainly focus on the differences from the first embodiment. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and reference is made to the preceding description.

[0136] [3-1. Principle for Improving Estimation Accuracy] a) In the third embodiment, when the rate of increase in the round trip time RTT corresponding to the transmission time for packets transmitted during the time difference T12 is always positive (i.e., when condition 2 that the round trip time RTT always increases is satisfied), the accuracy of the bandwidth estimation is determined to be higher than when this is not the case. Note that a positive rate of increase in the round trip time RTT indicates that the round trip time RTT gradually increases as the transmission time increases.

[0137] Condition 2 and the like will now be described.

[0138] When there is no effect of packet dispersion on the return link, the condition for each packet on the outbound route (i.e., outbound packet) to be affected by packet dispersion (i.e., the round trip time RTT is greater than the round trip time RTT of the previous packet) is that the outbound link being measured (i.e., relay node → relay opposite node) is affected by packet dispersion (i.e., the round trip time RTT is greater than when there is no effect).

[0139] Therefore, when the round trip time RTT increases monotonically, it is considered that there are no packets that are not affected by packet dispersion, and therefore it is considered to be highly reliable. Therefore, it is considered that the accuracy of bandwidth estimation using samples that satisfy the condition 2 above will be higher than when they do not.

[0140] In such a case, for example, in the same manner as in the process shown in Fig. 7, it is determined in S200 whether or not Condition 2 is satisfied, and if Condition 2 is satisfied, in S210, bandwidth estimation is performed using the samples that satisfy Condition 2. This makes it possible to improve the accuracy of bandwidth estimation.

[0141] b) Furthermore, in the third embodiment, when the condition 2 is satisfied, if the rate of increase in the reception time of the confirmation information corresponding to each packet relative to the cumulative data amount obtained by accumulating the amount of data transmitted in packets for packets transmitted during the time difference T12 is constant within a predetermined range Δh (i.e., when the condition 3 is satisfied), the accuracy of the bandwidth estimation is determined to be higher than when this is not the case. Note that the predetermined range Δh can be set to a predetermined range determined by experiment, calculation, etc.

[0142] Condition 3 and the like will now be described.

[0143] During a period in which the increase in the reception time per data amount is constant, the measured link bandwidth value remains constant regardless of which two packets are selected during that period. Such a period is considered to occur when there is no influence from error factors such as noise in the measurement system or packet dispersion on the return link, so the closer it is to this state, the higher the reliability. Therefore, the accuracy of bandwidth estimation using samples that satisfy condition 3 above is considered to be higher than when this condition is not met.

[0144] In such a case, for example, in the same manner as in the process shown in Fig. 7, it is determined in S200 whether or not Condition 3 is satisfied, and if Condition 3 is satisfied, in S210, bandwidth estimation is performed using the samples that satisfy Condition 3. This makes it possible to improve the accuracy of bandwidth estimation.

[0145] In other words, as shown in Fig. 9, when the round trip time RTT increases monotonically as the sending time increases (see the middle diagram in Fig. 9), the accuracy of the bandwidth estimation is considered to be higher than when it does not increase monotonically (see the bottom diagram in Fig. 9: an example where the RTT decreases). Conversely, when the rate of increase in the reception time of the confirmation information corresponding to each packet relative to the cumulative data amount is constant within a predetermined range (see the top diagram in Fig. 9), the accuracy of the bandwidth estimation is considered to be higher than when the round trip time RTT increases monotonically as the sending time increases (see the middle diagram in Fig. 9).

[0146] c) Also, as shown in Figure 10, if the rate of increase in the round trip time RTT relative to the transmission time becomes negative (for example, RTTx > RTT2) due to a return delay from the first opposing node 17, the sample becomes unreliable, and the accuracy of bandwidth estimation using that sample will be low. Note that a negative rate of increase in the round trip time RTT indicates that the round trip time RTT is decreasing. Note that RTTx is the round trip time of any packet.

[0147] [4. Fourth Embodiment] The basic configuration of the fourth embodiment is similar to that of the first embodiment, and therefore the following description will mainly focus on the differences from the first embodiment. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and reference is made to the preceding description.

[0148] [4-1. Principle for improving estimation accuracy] In the fourth embodiment, when packets that satisfy a specific header condition regarding the headers assigned to the packets are continuously transmitted (i.e., when condition 4 is satisfied), if bandwidth estimation is performed based on information about the packets, it is determined that the accuracy of the bandwidth estimation is higher than when this is not the case.

[0149] Condition 4 and the like will now be described.

[0150] The accuracy of bandwidth estimation may be assumed to be high (i.e., highly reliable) depending on the location of the remote server (e.g., whether it is the Internet or an intranet, and if it is an intranet, which domain it is), server performance, TCP settings, etc. TCP is an abbreviation for Transmission Control Protocol.

[0151] The specific details will be explained below.

[0152] If the delay fluctuates due to factors other than packet dispersion in the link being measured, it will become a source of error. Therefore, if there is a section between the relay node 21 and each of the remote nodes 17 and 19 where the delay fluctuates greatly or the bandwidth is small (i.e., where additional packet dispersion is likely to occur), the measurement will be unreliable.

[0153] However, since it is impossible to exclude such sections when going via the Internet, it is more reliable if the corresponding nodes 17 and 19 are servers on an intranet, and even within the intranet, they are more reliable if they are located in a location that does not include as many bottleneck sections as possible. For example, a server in an area where delays and bandwidth are managed by SDN or the like is more reliable than a server that is not. SDN is an abbreviation for Software Defined Network.

[0154] Furthermore, if the time between the server receiving the outbound packet and the server returning the confirmation information (e.g., ACK) fluctuates, the reliability is low. Since the lower the server performance, the more likely the time is to fluctuate, the higher the server performance, the higher the reliability. Furthermore, the conditions for returning the confirmation information change depending on the TCP settings. For example, if the delayed confirmation information is enabled, the time until the response is likely to fluctuate, so the more reliable the system is, if the delayed confirmation information is disabled or the timeout setting is small.

[0155] Therefore, for the reasons described above, a highly reliable configuration and a less reliable configuration are determined in the bandwidth estimation system 1, etc., and the accuracy of the bandwidth estimation can be determined depending on which configuration is adopted. In other words, when a highly reliable configuration is adopted, the accuracy of the bandwidth estimation is high, and when a less reliable configuration is adopted, the accuracy of the bandwidth estimation is low.

[0156] In this way, the accuracy of the bandwidth estimation can be improved.

[0157] In the above-described case, for example, in the same manner as in the process shown in Fig. 7, it is determined in S200 whether or not condition 4 is satisfied, and if condition 4 is satisfied, in S210, bandwidth estimation is performed using the samples that satisfy condition 4. This makes it possible to improve the accuracy of bandwidth estimation.

[0158] [5. Fifth Embodiment] The fifth embodiment has the same basic configuration as the first embodiment, and therefore the following description will mainly focus on the differences from the first embodiment. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and reference is made to the preceding description.

[0159] a) In the fifth embodiment, when confirmation information (e.g., ACK) is sent from the relay node 21 to the relay node 15, if all of the confirmation information passes through the same route (i.e., if condition 5 is satisfied), it is determined that the accuracy of the bandwidth estimation is higher than if this is not the case.

[0160] That is, when all the confirmation information travels via the same route, it is possible to avoid a decrease in accuracy of bandwidth estimation due to differences in return path delay depending on the route.

[0161] In this way, the accuracy of the bandwidth estimation can be improved.

[0162] In the above-described case, for example, in the same manner as in the process shown in Fig. 7, it is determined in S200 whether or not condition 5 is satisfied, and if condition 5 is satisfied, in S210, bandwidth estimation is performed using the sample that satisfies condition 5. This makes it possible to improve the accuracy of bandwidth estimation.

[0163] b) Furthermore, specific packet conditions (e.g., header conditions, data size, etc.) are set as highly reliable conditions for measuring the round trip time RTT from transmission at the relay node 15 to reception at the opposite relay node 21, and only packets that satisfy these conditions are subject to round trip time RTT measurement. This will be explained in detail below.

[0164] As for the header conditions, as mentioned above, if information such as a highly reliable server or an application that uses TCP settings with little fluctuation in the delay of returning confirmation information is known, packets destined for such a server or application can be identified from the destination IP address and port number in the header. IP is an abbreviation for Internet Protocol.

[0165] Regarding data size, a large packet is more likely to have an error in any bit and be affected by retransmission in a lower layer (for example, retransmission in the well-known L1 / L2 layer). This is because, if the error probability of each bit is constant, the larger the number of bits, the higher the probability that any bit will be in error. Therefore, a smaller data size is considered to be more reliable because the probability of retransmission in a lower layer, which can be a source of error in estimating the round trip time RTT, is lower.

[0166] In this way, the accuracy of the bandwidth estimation can be improved.

[0167] In the above-mentioned case, for example, in the same manner as the process shown in Fig. 7, it is determined in S200 whether the condition (i.e., the packet condition) is satisfied, and if the condition is satisfied, bandwidth estimation is performed using the sample that satisfies the condition in S210, thereby improving the accuracy of bandwidth estimation.

[0168] [6. Sixth Embodiment] The sixth embodiment has the same basic configuration as the first embodiment, and therefore the following description will mainly focus on the differences from the first embodiment. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and reference is made to the preceding description.

[0169] In the sixth embodiment, if another packet is transmitted between the first transmission time T1 of the first packet P1 and the second transmission time T2 of the second packet P2, the data amount of the other packet is added to the data amount I. In other words, if another packet is transmitted between the transmission times T1 and T2 of a pair of packets P1 and P2 that are transmitted at different times, the data amount of the other packet is added to the data amount I.

[0170] By adding the data amounts of other packets in this way, the accuracy of bandwidth estimation can be improved compared to when not adding the data amounts of other packets.

[0171] [7. Other Embodiments] Although the embodiments of the present disclosure have been described above, it goes without saying that the present disclosure is not limited to the above-described embodiments and can take on various forms.

[0172] (7a) For example, one or more communication nodes or opposite communication nodes can be used. The communication node or opposite communication node may be a hardware device, but can also be realized by software such as an application.

[0173] (7b) The operation of the bandwidth estimation system described in the present disclosure may be realized by a special-purpose computer provided by configuring a processor and memory programmed to perform one or more functions embodied in a computer program.

[0174] Alternatively, the operations of the bandwidth estimation system described in the present disclosure may be implemented by a special-purpose computer provided by configuring a processor with one or more dedicated hardware logic circuits.

[0175] Alternatively, the operation of the bandwidth estimation system described in the present disclosure may be implemented by one or more special-purpose computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured with one or more hardware logic circuits.

[0176] The computer program may be stored as instructions to be executed by a computer on a computer-readable non-transitory storage medium. The method for realizing the functions of the bandwidth estimation system does not necessarily need to include software, and all of the functions may be realized using one or more hardware components.

[0177] (7c) In addition to the above-described bandwidth estimation system, the present disclosure can also be realized in various forms, such as a configuration that includes the bandwidth estimation system as a component, a program for causing a computer of the bandwidth estimation system to function, a non-transient tangible recording medium such as a semiconductor memory on which this program is recorded, and a bandwidth estimation method.

[0178] (7d) Multiple functions possessed by one component in each of the above embodiments may be realized by multiple components, or one function possessed by one component may be realized by multiple components. Furthermore, multiple functions possessed by multiple components may be realized by one component, or one function realized by multiple components may be realized by one component. Furthermore, part of the configuration of each of the above embodiments may be omitted. Furthermore, at least part of the configuration of each of the above embodiments may be added to or substituted for the configuration of another embodiment. [Technical Ideas Disclosed in the Present Specification] [Item 1] A bandwidth estimation system (1) for estimating an available bandwidth of a communication line (7) capable of transmitting and receiving data between a relay node (15) capable of communicating with a communication node (11, 13) and a relay opposing node (21) capable of communicating with an opposing node (17, 19), comprising: a transmission time difference detection unit (35) configured to, when transmitting a plurality of packets from the relay node to the relay opposing node, calculate a time difference T between the transmission times of the packets having different transmission times; a reception time difference detection unit (37) configured, when transmitting confirmation information from the relay opposing node to the relay node indicating that the packets transmitted from the communication node have been received by the opposing node, to the relay node, calculate a time difference S between the reception times of the different confirmation information corresponding to the different packets; and a time determination unit (39) configured to determine whether the time difference T between the transmission times is less than the time difference S between the reception times; and a bandwidth estimation unit (41) configured to estimate an available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay opposite node between the different transmission times and the time difference S of the reception times when it is determined that the time difference T of the transmission times is less than the time difference S of the reception times.

[0179] [Item 2] The bandwidth estimation system according to item 1, wherein, when a second packet is transmitted from the communication node to the relay node after a first packet is transmitted, calculates a first round trip time RTT1 indicating a difference between a first transmission time T1 at which the first packet transmitted from the communication node is relayed from the relay node to the relay opposing node and a first reception time S1 at which first confirmation information indicating that the first packet has been received at the opposing node is relayed by the relay opposing node and received at the relay node; calculates a second round trip time RTT2 indicating a difference between a second transmission time T2 at which the second packet transmitted from the communication node is relayed from the relay node to the relay opposing node and a second reception time S2 at which second confirmation information indicating that the second packet has been received at the opposing node is relayed by the relay opposing node and received at the relay node; and further calculates the time difference S based on the first round trip time RTT1, the second round trip time RTT2, and a time difference T12 between the first transmission time T1 and the second transmission time T2. Bandwidth estimation system.

[0180] [Item 3] The bandwidth estimation system according to Item 2, configured to calculate the time difference S by calculating (the second round trip time RTT2+the time difference T12-the first round trip time RTT1).

[0181] [Item 4] The bandwidth estimation system according to Item 3, configured to estimate the available bandwidth by calculating (the amount of data I transmitted between the first transmission time T1 and the second transmission time T2) / (the second round trip time RTT2+the time difference T12-the first round trip time RTT1).

[0182] [Item 5] The bandwidth estimation system according to any one of items 2 to 4, wherein the bandwidth estimation system is configured to determine that the accuracy of the bandwidth estimation is higher when a value of (amount of received data received between the first reception time S1 and the second reception time S2) / (the second round trip time RTT2+the time difference T12-the first round trip time RTT1) is equal to or smaller than a predetermined ratio of a maximum value of reception throughput at the relay node within a predetermined period, compared to when this ratio is not the case.

[0183] [Item 6] The bandwidth estimation system according to any one of items 2 to 5, wherein, for the packets transmitted during the time difference T12, when an increase rate of the round trip time RTT corresponding to the transmission time is always positive, the bandwidth estimation accuracy is determined to be higher than when this is not the case.

[0184] [Item 7] The bandwidth estimation system according to Item 6, wherein, for the packets transmitted during the time difference T12, when an increase rate of the reception time of the confirmation information corresponding to the packets relative to cumulative data obtained by accumulating the amount of data transmitted in the packets is constant within a predetermined range, the bandwidth estimation system determines that the accuracy of the bandwidth estimation is higher than when this is not the case.

[0185] [Item 8] The bandwidth estimation system according to any one of items 2 to 7, wherein, when packets whose headers are assigned to the packets satisfy a specific header condition are continuously transmitted, the bandwidth estimation system is configured to determine that the accuracy of the bandwidth estimation is higher when bandwidth estimation is performed based on information about the packets than when the headers do not satisfy a specific header condition.

[0186] [Item 9] The bandwidth estimation system according to any one of items 1 to 8, wherein when the confirmation information is transmitted from the relay node to the relay node, if all of the confirmation information passes through the same route, the bandwidth estimation system determines that the accuracy of the bandwidth estimation is higher than if the confirmation information does not pass through the same route.

[0187] [Item 10] The bandwidth estimation system according to any one of items 1 to 9, wherein, when another packet is transmitted between the transmission times of the pair of packets whose transmission times are different, the bandwidth estimation system is configured to add the amount of data of the other packet to the amount of data I.

[0188] [Item 11] A computer (3) for estimating an available bandwidth of a communication line (7) capable of transmitting and receiving data between a relay node (13) capable of communicating with a communication node (11) and a relay opposing node (21) capable of communicating with an opposing node (17, 19), comprising: a transmission time difference detection unit (35) configured to, when transmitting a plurality of packets from the relay node to the relay opposing node, determine a time difference T between the transmission times of packets having different transmission times; a reception time difference detection unit (37) configured, when transmitting confirmation information from the relay opposing node to the relay node indicating that the packets transmitted from the communication node have been received by the opposing node, to determine a time difference S between the reception times of the different confirmation information corresponding to the different packets at the relay node; and a time determination unit (39) configured to determine whether the time difference T between the transmission times is less than the time difference S between the reception times. a bandwidth estimation unit (41) configured to estimate an available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay opposite node between the different transmission times and the time difference S of the reception times when it is determined that the time difference T of the transmission times is less than the time difference S of the reception times.

[0189] [Item 12] A bandwidth estimation method for estimating an available bandwidth of a communication line (7) capable of transmitting and receiving data between a relay node (15) capable of communicating with a communication node (11, 13) and a relay opposing node (21) capable of communicating with an opposing node (17, 19), the method comprising: when transmitting a plurality of packets from the relay node to the relay opposing node, calculating a time difference T between the transmission times of the packets having different transmission times; when transmitting confirmation information from the relay opposing node to the relay node, indicating that the packets transmitted from the communication node have been received by the opposing node, calculating a time difference S between the reception times of the different confirmation information corresponding to the different packets at the relay node; determining whether the time difference T between the transmission times is less than the time difference S between the reception times; and when it is determined that the time difference T between the transmission times is less than the time difference S between the reception times, estimating the available bandwidth of the communication line based on an amount I of data transmitted from the relay node to the relay opposing node between the different transmission times and the time difference S between the reception times.

Claims

1. A bandwidth estimation system (1) estimates the available bandwidth of a communication line (7) that can transmit and receive data between a relay node (15) that can communicate with communication nodes (11, 13) and a relay-opposite node (21) that can communicate with opposite nodes (17, 19), When multiple packets are transmitted from the relay node to the relay opposing node, a transmission time difference detection unit (35) is configured to determine the time difference T of the transmission times of packets with different transmission times, When the relaying opposing node transmits confirmation information to the relaying node indicating that the packet transmitted from the communication node has been received by the opposing node, the receiving time difference S is configured to determine the time difference S of the reception times when the relaying node receives different confirmation information corresponding to different packets, A time determination unit (39) is configured to determine whether the time difference T of the transmission time is less than the time difference S of the reception time, If it is determined that the time difference T of the transmission time is less than the time difference S of the reception time, a bandwidth estimation unit (41) is configured to estimate the available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay-opposing node between the different transmission times and the time difference S of the reception time, It is equipped with, If a second packet is transmitted from the communication node to the relay node after the first packet has been transmitted, The first round-trip time RTT1 is calculated, which is the difference between the first transmission time T1 when the first packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the first reception time S1 when the first confirmation information indicating that the first packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. The second round-trip time RTT2 is calculated as the difference between the second transmission time T2, when the second packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the second reception time S2, when the second acknowledgment information indicating that the second packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. Furthermore, the system is configured to determine the time difference S based on the first round-trip time RTT1, the second round-trip time RTT2, and the time difference T12 between the first transmission time T1 and the second transmission time T2. Bandwidth estimation system.

2. A bandwidth estimation system according to claim 1, The system is configured to determine the time difference S by calculating (the second round trip time RTT2 + the time difference T12 - the first round trip time RTT1), Bandwidth estimation system.

3. A bandwidth estimation system according to claim 2, The available bandwidth is estimated by calculating (the amount of data I transmitted between the first transmission time T1 and the second transmission time T2) / (the second round-trip time RTT2 + the time difference T12 - the first round-trip time RTT1), Bandwidth estimation system.

4. A bandwidth estimation system according to claim 1, The system is configured to determine that the accuracy of bandwidth estimation is higher when the value of (amount of received data received between the first reception time S1 and the second reception time S2) / (second round trip time RTT2 + time difference T12 - first round trip time RTT1) is less than or equal to a predetermined ratio of the maximum value of the reception throughput at the relay node within a predetermined period, compared to when it is not. Bandwidth estimation system.

5. A bandwidth estimation system according to claim 1, With respect to the packets transmitted during the time difference T12, the system is configured to determine that the accuracy of bandwidth estimation is higher when the rate of increase of the round-trip time (RTT) corresponding to the transmission time is always positive, compared to when it is not. Bandwidth estimation system.

6. A bandwidth estimation system according to claim 5, With respect to the packets transmitted during the aforementioned time difference T12, if the rate of increase in the reception time of the confirmation information corresponding to the packet relative to the cumulative data (accumulated data amount of data transmitted in the packets) is constant within a predetermined range, the system is configured to determine that the accuracy of bandwidth estimation is higher than in other cases. Bandwidth estimation system.

7. A bandwidth estimation system according to claim 1, With respect to the header attached to the aforementioned packet, when packets satisfying specific header conditions are transmitted consecutively, the system is configured to determine that the accuracy of bandwidth estimation is higher when performing bandwidth estimation based on information about the aforementioned packets compared to when it is not. Bandwidth estimation system.

8. A bandwidth estimation system according to claim 1, wherein when the confirmation information is transmitted from the relay opposing node to the relay node, the system is configured to determine that the accuracy of bandwidth estimation is higher when all of the confirmation information passes through the same path compared to when it does not. Bandwidth estimation system.

9. A bandwidth estimation system according to claim 1, If another packet is transmitted between the transmission times of a pair of packets with different transmission times, the data amount I is configured to be added to the data amount of the other packet. Bandwidth estimation system.

10. A computer (3) estimates the available bandwidth of a communication line (7) that can transmit and receive data between a communication node (11) and a relay node (13) that can communicate with a peer node (17, 19) and a relay peer node (21) that can communicate with a peer node. A transmission time difference detection unit (35) is configured to determine the time difference T of the transmission times of packets that have different transmission times when transmitting multiple packets from the relay node to the relay opposing node. When the relaying opposing node transmits confirmation information to the relaying node indicating that the packet transmitted from the communication node has been received by the opposing node, the reception time difference detection unit (37) is configured to determine the time difference S of reception times when the relaying node receives different confirmation information corresponding to different packets. A time determination unit (39) configured to determine whether the time difference T of the transmission time is less than the time difference S of the reception time, If it is determined that the time difference T of the transmission time is less than the time difference S of the reception time, a bandwidth estimation unit (41) is configured to estimate the available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay-opposite node between the different transmission times and the time difference S of the reception time. A bandwidth estimation program that functions as such, If a second packet is transmitted from the communication node to the relay node after the first packet has been transmitted, The first round-trip time RTT1 is calculated, which is the difference between the first transmission time T1 when the first packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the first reception time S1 when the first confirmation information indicating that the first packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. The second round-trip time RTT2 is calculated as the difference between the second transmission time T2, when the second packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the second reception time S2, when the second acknowledgment information indicating that the second packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. Furthermore, the system is configured to determine the time difference S based on the first round-trip time RTT1, the second round-trip time RTT2, and the time difference T12 between the first transmission time T1 and the second transmission time T2. Bandwidth estimation program.

11. In a bandwidth estimation method for estimating the available bandwidth of a communication line (7) that can transmit and receive data between a relay node (15) that can communicate with communication nodes (11, 13) and a relay-opposite node (21) that can communicate with opposite nodes (17, 19), A bandwidth estimation method comprising: determining the time difference T of transmission times of packets with different transmission times when transmitting multiple packets from the relay node to the relay-opposite node; determining the time difference S of reception times when the relay-opposite node receives different confirmation information corresponding to different packets at the relay node when transmitting confirmation information from the communication node to the relay node; determining whether the time difference T of transmission times is less than the time difference S of reception times; and if it is determined that the time difference T of transmission times is less than the time difference S of reception times, estimating the available bandwidth of the communication line based on the amount of data I transmitted from the relay node to the relay-opposite node between the different transmission times and the time difference S of reception times, If a second packet is transmitted from the communication node to the relay node after the first packet has been transmitted, The first round-trip time RTT1 is calculated, which is the difference between the first transmission time T1 when the first packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the first reception time S1 when the first confirmation information indicating that the first packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. The second round-trip time RTT2 is calculated as the difference between the second transmission time T2, when the second packet transmitted from the communication node is relayed from the relay node to the opposing relay node, and the second reception time S2, when the second acknowledgment information indicating that the second packet has been received by the opposing relay node is relayed by the opposing relay node and received by the relay node. Furthermore, the time difference S is determined based on the first round-trip time RTT1, the second round-trip time RTT2, and the time difference T12 between the first transmission time T1 and the second transmission time T2. Bandwidth estimation method.