Bandwidth measuring device, data transmission device, method and computer-readable medium
The bandwidth measuring device and method improve bandwidth estimation accuracy by using acknowledgment packets to measure available bandwidth without altering the MTU, ensuring efficient data transmission.
Patent Information
- Application Number
- DE112022006801
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-03-08
- Publication Date
- 2024-12-24
AI Technical Summary
Existing bandwidth estimation methods, such as those described in Patent Literature 1, face accuracy issues when adjusting the maximum transmission unit (MTU) to improve estimation, leading to reduced communication efficiency.
A bandwidth measuring device and method that divides data into transmission packets based on a predetermined size, detects acknowledgment packet reception times, and calculates available bandwidth when the sum of data sizes exceeds a threshold, without altering the MTU, ensuring accurate measurement without degrading efficiency.
Accurately measures available bandwidth with high immediacy and precision, maintaining communication efficiency by utilizing acknowledgment packets for precise calculations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical area
[0001] The present disclosure relates to a bandwidth measuring device, a data transmission device, a method and a computer-readable medium. Technical background
[0002] As a related prior art, patent literature 1 discloses a bandwidth estimation using an acknowledgment function of the Transmission Control Protocol (TCP). A system described in patent literature 1 comprises a centrally located main server and a client terminal connected to the main server via a communication path. In the client terminal, a bandwidth estimation unit acquires packet send / receive information from a packet send / receive unit. The packet send / receive information includes the communication time of a send packet, the send packet size, and the acknowledgment receive time. The bandwidth estimation unit measures the jitter for each response acknowledgment packet. The bandwidth estimation unit calculates a dispersion interval using the acknowledgment receive time and the jitter.The bandwidth estimator estimates the available bandwidth of the communication path based on a dispersion interval and a sum of transmission packet sizes. Citation list for patent literature
[0003] Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2020-107975 A Summary of the invention: Technical problem
[0004] Patent literature 1 describes how the accuracy of bandwidth estimation is improved by changing the maximum transmission unit (MTU) and increasing the number of communication packets. However, changing the MTU to improve bandwidth estimation accuracy reduces the amount of data that can be transmitted in a packet. Therefore, there is a possibility that communication efficiency will deteriorate.
[0005] In view of the above circumstances, an objective of the present disclosure is to provide a bandwidth measuring device, a data transmission device, a method and a computer-readable medium capable of accurately measuring available bandwidth without deteriorating communication efficiency. Solution to the problem
[0006] To achieve the aforementioned objective, the present disclosure provides, as a first aspect, a bandwidth measurement device. The bandwidth measurement device comprises: data size acquisition means for acquiring a data size of transmission data transmitted from a data sending device, which divides data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol and transmits the transmission data to the receiving device, to a receiving device; acknowledgment reception time acquisition means for acquiring a reception time of an acknowledgment packet returned by the receiving device, which has received the transmission packet, to the data sending device;and a computational tool for the available bandwidth for calculating an available bandwidth in a network used to transmit the transmission data, using a reception time of the acknowledgment packet, when a sum of data sizes of the transmission data in a predetermined time is twice or more the predetermined size.
[0007] A second aspect of the present disclosure is the provision of a data transmission device. The data transmission device comprises: data transmission means for dividing transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, for transmitting the transmission packet to a receiving device, and for receiving an acknowledgment packet for the transmission packet from the receiving device; and bandwidth measuring means for measuring an available bandwidth in a network used to transmit the transmission data using the acknowledgment packet.The bandwidth measurement means includes means for recording data size to determine the data size of the transmitted data, acknowledgment reception time recording means to determine the reception time of an acknowledgment packet, and available bandwidth calculation means to calculate the available bandwidth using the reception time of the acknowledgment packet when a sum of the data sizes of the transmitted data in a predetermined time is twice or more the predetermined size.
[0008] A third aspect of the present disclosure is a method for bandwidth measurement. The bandwidth measurement method comprises: determining the data size of transmission data transferred from a data transmitting device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; determining the reception time of an acknowledgment packet sent back to the data transmitting device by the receiving device that received the transmission packet; and calculating an available bandwidth in a network used to transmit the transmission data, using the reception time of the acknowledgment packet, when a sum of the data sizes of the transmission data in a predetermined time is twice or more the predetermined size.
[0009] As a fourth aspect, the present disclosure provides a data transmission method. The data transmission method comprises: dividing transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; transmitting the transmission packet to a receiving device; receiving an acknowledgment packet for the transmission packet from the receiving device; recording the reception time of the acknowledgment packet; and calculating an available bandwidth in a network used to transmit the transmission data, using the reception time of the acknowledgment packet, when a sum of the data sizes of the transmission data in a predetermined time is twice or more the predetermined size.
[0010] A fifth aspect of the present disclosure is the provision of a computer-readable medium.The computer-readable medium stores a program that causes a processor to execute processes, including: determining the size of transmission data transferred from a data transmitting device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; determining the reception time of an acknowledgment packet sent back to the data transmitting device by the receiving device that received the transmission packet; and calculating an available bandwidth in a network used to transmit the transmission data, using the reception time of the acknowledgment packet, when a sum of the sizes of the transmission data in a predetermined time is twice or more the predetermined size.
[0011] A sixth aspect of the present disclosure is the provision of a computer-readable medium. The computer-readable medium stores a program that causes a processor to execute processes, including: dividing transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; transmitting the transmission packet to a receiving device; receiving an acknowledgment packet for the transmission packet from the receiving device; recording a reception time of the acknowledgment packet; and calculating an available bandwidth in a network used to transmit the transmission data, using a reception time of the acknowledgment packet, when a sum of data sizes of the transmission data in a predetermined time is twice or more the predetermined size. Advantageous effects of the invention
[0012] The bandwidth measuring device, data transmission device, method and computer-readable medium according to the present disclosure can accurately measure an available bandwidth without deteriorating communication efficiency. Brief description of the drawings Fig. Figure 1 is a block diagram showing the overall configuration of a data transmission device according to the present disclosure. Fig. Figure 2 is a block diagram showing a data transmission system with a data transmission device according to a first embodiment of the present disclosure. Fig. Figure 3 is a block diagram showing a configuration example of a mobile body. Fig. Figure 4 is a block diagram showing a configuration example of a bandwidth measurement unit. Fig. Figure 5 is a diagram that schematically illustrates the data transmission and reception of ACK packets. Fig. Figure 6 is a flowchart illustrating an operational sequence in the data transmission device. Fig. Figure 7 is a schematic representation of data transmission and the reception of ACK packets. Fig. Figure 8 is a flowchart showing the operating sequence of a data transmission device according to a third embodiment. Fig. Figure 9 is a block diagram showing an example of a hardware configuration of a computer device. Exemplary embodiment
[0013] Before describing exemplary embodiments of the present disclosure, an overview of the present disclosure will be given. Fig. Figure 1 shows a schematic configuration of a data transmission device according to the present disclosure. A data transmission device 10 comprises a data transmission means 11 and a bandwidth measuring means 12. The data transmission means 11 divides the transmission data into one or more transmission packets of predetermined size according to a predetermined protocol and transmits the divided transmission packets to a receiving device. When the transmission packets are received, the receiving device sends an acknowledgment packet for the transmission packet back to the data transmission means 11. The data transmission means 11 receives an acknowledgment packet from the receiving device.
[0014] The bandwidth measuring device 12 measures the available bandwidth in a network used to transmit data using an acknowledgment packet sent back by the receiving device. In this case, "bandwidth" means communication speed. A large bandwidth means a high communication speed. The bandwidth measuring device 12 is not necessarily included in the data transmission device 10. The bandwidth measuring device 12 can be configured as an independent device (bandwidth measuring device).
[0015] The bandwidth measurement device 12 comprises a data size measurement device 21, an acknowledgment reception time measurement device 22, and a device for calculating the available bandwidth 23. The data size measurement device 21 measures the data size of the transmission data carried by the data transmission device 11. The acknowledgment reception time measurement device 22 measures the reception time of an acknowledgment packet. If the sum of the data sizes of the transmission data in a predetermined time is twice or more than the predetermined size, the available bandwidth calculation device 23 calculates an available bandwidth using the reception time of the acknowledgment packet.
[0016] If the data size of the transmitted data is twice or greater than the predetermined size, the data transmission device 11 splits the transmitted data into two or more transmission packets and transmits the split packets to the receiving device. When the data size of the transmitted data is twice or greater than the predetermined size, at least two of the split transmission packets have a data size equal to the predetermined size. The bandwidth measuring device 12 measures the available bandwidth when the data size of the transmitted data is twice or greater than the predetermined size. In the present disclosure, because the available bandwidth is measured with immediacy using an acknowledgment packet, the accuracy of the measured available bandwidth is high.Therefore, in the present disclosure, it is not necessary to change the size of the data share to improve the accuracy of the measurement of the available bandwidth. Accordingly, the bandwidth measuring device 12 can accurately measure the available bandwidth without degrading communication efficiency.
[0017] An exemplary embodiment of the present disclosure is described in detail below. Fig. Figure 2 shows a data transmission system with the data transmission device according to the first embodiment of the present disclosure. The data transmission system 100 comprises a receiving device 130 and a mobile body 200. The receiving device 130 is connected to the mobile body 200 via a network 150. The network 150 comprises, for example, a wireless communication network that uses a communication line standard such as Long Term Evolution (LTE). The network 150 can also comprise a wireless communication network such as WiFi (registered trademark) or a fifth-generation mobile communication system.
[0018] The mobile body 200 contains a data transmission device 110. The data transmission device 110 transmits data via the network 150 to the receiving device 130. The mobile body 200 is configured, for example, as a land vehicle, such as a car, bus, taxi, or truck. The mobile body 200 can be configured to enable automated driving (autonomous driving) based on information from a sensor attached to the mobile body 200. The mobile body 200 can be configured, for example, to be switchable between automated driving and manual driving by a driver in the vehicle. The mobile body 200 can, for example, be switched from manual driving to automated driving or vice versa when an instruction is transmitted from a remote monitoring device (not shown).The mobile body 200 can be a railway, a ship or an airplane, or a mobile robot such as an automated guided vehicle (AGV).
[0019] Fig. Figure 3 shows a configuration example of the mobile body 200. The mobile body 200 comprises a peripheral monitoring sensor 201, a vehicle sensor 202, an electrical control unit (ECU) 203 for vehicle control, and a data transmission device 110. In the mobile body 200, these components are configured to communicate with each other via a network such as a local area network (LAN) or a controller area network (CAN).
[0020] The peripheral monitoring sensor 201 is a sensor that monitors the environment of the mobile body 200. The peripheral monitoring sensor 201 includes, for example, a camera, radar, and LiDAR (Light Detection and Ranging). The peripheral monitoring sensor 201 can, for example, include multiple cameras to capture images in front of, behind, to the right, and to the left of the vehicle. The peripheral monitoring sensor 201 can also include a camera that captures an image of the interior of the mobile body 200.
[0021] The vehicle sensor 202 is a sensor that detects various states of the mobile body 200. The vehicle sensor 202 includes sensors such as a vehicle speed sensor, which detects vehicle speed; a steering sensor, which detects steering angle; an accelerator pedal opening sensor, which detects the degree of opening of an accelerator pedal; and a brake pedal force sensor, which detects the amount of pressure applied to a brake pedal, and the like.
[0022] The vehicle control ECU 203 is an electronic control unit that performs the driving control of the mobile body 200 or similar. Generally, the electronic control unit comprises a processor, memory, input / output (I / O), and a bus that connects these components. Based on sensor information output by the vehicle sensor 202, the vehicle control ECU 203 performs various types of control operations, such as controlling the amount of fuel injected, the engine ignition timing, and the amount of power steering assistance.
[0023] The data transmission device 110 performs wireless communication with the network 150 (see Fig. 2) The data transmission device 110 comprises a wireless communication antenna, a transmitter, and a receiver as a hardware configuration. The data transmission device 110 includes one or more processors, one or more memories, an I / O, and a bus connecting them. At least some of the functions of the data transmission device 110 are realized, for example, by causing a processor to execute a control program stored in memory. The data transmission device 110 corresponds to the one described in Fig. 1. Data transmission device shown 10.
[0024] The data transmission device 110 comprises a data transmission unit 111, a bandwidth measurement unit 112, and a bandwidth prediction unit 113. The data transmission unit 111 generates data to be transmitted to the receiving device 130 and transmits the generated data to the receiving device 130 via the network 150. The data transmission unit 111 performs data communication with the receiving device 130 in accordance with a predetermined protocol. In this embodiment, it is assumed that the protocol used for communication is TCP.
[0025] The data transmission unit 111 transmits, for example, sensor information acquired by at least one of the peripheral monitoring sensors 201 and the vehicle sensor 202 to the receiver 130. For example, the data transmission unit 111 transmits a camera video acquired by the peripheral monitoring sensor 201 to the receiver 130. Alternatively or additionally, sensor information acquired by the vehicle sensor 202, such as vehicle speed, can be transmitted to the receiver 130. The data transmission unit 111 can acquire data from the vehicle control ECU 203 and transmit the acquired data to the receiver 130.
[0026] The data transmission unit 111 transmits the acquired data to the receiving device 130 in real time. Alternatively, the data transmission unit 111 can accumulate data for the mobile body 200 and transmit the accumulated data to the receiving device 130. For example, the data transmission unit 111 can accumulate data until a predetermined condition is met and transmit the accumulated data to the receiving device 130 when the predetermined condition is met.
[0027] If the size of the transmitted data exceeds a predefined size (e.g., a maximum TCP segment size), the data transmission unit 111, under the control of the TCP protocol, splits the transmitted data into a multitude of transmission packets of a predefined size. The maximum TCP segment size is defined as the maximum segment size (MSS) and is typically 1460 bytes. The data transmission unit 111 sends the split transmission packets (TCP packets) to the receiving device 130. When the TCP packets are received, the receiving device 130 sends an acknowledgment packet (ACK) back to the data transmission unit 111 for each packet, indicating that the data has been received. The data transmission unit 111 receives the ACK packet from the receiving device 130. The data transmission unit 111 corresponds to the one in Fig. 1. Data transmission means shown 11.
[0028] The bandwidth measurement unit 112 measures the available bandwidth in network 150 based on the reception time of the ACK packet. Due to the characteristics of TCP, there is no immediateness of the ACK packet if the data size of the transmitted data is less than twice the MSS. Without immediate ACK packet reception, the reliability of the available bandwidth, as measured by the ACK packet reception time, is low. Conversely, if the data size of the transmitted data is twice or more than the MSS, the ACK packet is immediately available. Accordingly, in this embodiment, the bandwidth measurement unit 112 measures the available bandwidth (throughput) based on the reception time of the ACK packet when the total data size of the transmitted data for the predetermined time is twice or greater than the predetermined size. The bandwidth measurement unit 112 corresponds to the one described in Fig. 1. Bandwidth measuring device shown 12.
[0029] Fig. Figure 4 shows a configuration example of the bandwidth measurement unit 112. The bandwidth measurement unit 112 comprises a data size acquisition unit 121, an acknowledgment reception time acquisition unit 122, and a calculation unit 123 for available bandwidth. The data size acquisition unit 121 records the data size of the transmission data transmitted by the data transmission unit 111. If the data size of the transmission data is twice or more than the MSS, the acknowledgment reception time acquisition unit 122 records the reception time of the ACK packet for the transmission packet. The calculation unit 123 for available bandwidth calculates the throughput in the network 150 as the currently available bandwidth based on the difference between the reception times of two ACK packets.The acquisition unit 121 for the data size, the acquisition unit 122 for the reception time of the confirmation and the calculation unit 123 for the available bandwidth correspond to the acquisition means 21 for the data size, the acquisition means 22 for the reception time of the confirmation and the calculation means 23 for the available bandwidth respectively, which are in . Fig. 1 are shown.
[0030] Fig. Figure 5 schematically illustrates the data transmission and reception of ACK packets. In Data Transmission Unit 111, a data transmission application generates transmission data and creates a TCP packet from this data. If the transmission data size is twice or more than the MSS (Minimum Sensitive Size), Data Transmission Unit 111 splits the transmission data into two or more TCP segments (transmission packets). Here, it is assumed that the transmission data size is twice the MSS. In this case, Data Transmission Unit 111 creates two transmission packets, one with a payload size equal to the MSS. Each transmission packet contains a sequence number.
[0031] The receiving device 130 receives a transmission packet with sequence number "1" at time t11 and sends an ACK packet (ACK1) back to the data transmission unit 111. The data transmission unit 111 receives ACK1 at time t21. The receiving device 130 receives a transmission packet with sequence number "2" at time t12 and sends an ACK packet (ACK2) back to the data transmission unit 111. The data transmission unit 111 receives ACK2 at time t22. Time t11 and time t21 are essentially the same time, and time t12 and time t22 are essentially the same time.
[0032] In the bandwidth measurement unit 112, the data size acquisition unit 121 records the data size of the transmitted data. The acknowledgment time acquisition unit 122 determines whether the data size of the transmitted data is twice or greater than the MSS. If the data size of the transmitted data is twice or greater than the MSS, the acknowledgment time acquisition unit 122 records the reception time of the ACK packet. For example, the acknowledgment time acquisition unit 122 records the reception time t21 of the ACK packet for the transmitted packet with sequence number "1" and the reception time t22 of the ACK packet for the transmitted packet with sequence number "2".
[0033] The available bandwidth calculation unit 123 calculates the currently available bandwidth based on a receive interval between the ACK packets and the MSS. Specifically, the available bandwidth calculation unit 123 calculates the currently available bandwidth [bytes per second (Bps)] from a receive interval Δt=t22-t21 [second] of the ACK packet and the MSS [bytes] using the following formula. Available bandwidth (throughput) = MSS / Δt
[0034] If the data size of the transmitted data is less than twice the MSS, unit 123, used to calculate the available bandwidth, does not calculate the currently available bandwidth. In this case, the acquisition unit 122, used for the receipt time of the acknowledgment, cannot capture the reception time of the ACK packet.
[0035] Back to Fig. 3: The bandwidth prediction unit (bandwidth prediction mean) 113 receives a measurement of the currently available bandwidth from the bandwidth measurement unit 112. Based on this measurement, the bandwidth prediction unit 113 predicts available bandwidth in the near future. The bandwidth prediction unit 113 contains a bandwidth prediction engine. The bandwidth prediction engine predicts available bandwidth in the near future, for example, based on a measurement of available bandwidth in a past time series. The bandwidth prediction engine predicts the available bandwidth at the next point in time, for example, based on a change pattern of available bandwidth in the past on network 150.For example, the bandwidth prediction engine predicts the available bandwidth at the next time based on the measurement of the available bandwidth for the last 3 seconds every 0.5 seconds.
[0036] The data transmission unit 111 receives the available bandwidth prediction from the bandwidth prediction unit 113 and adjusts the data size (i.e., the amount of data transmitted) of the transmitted data using this prediction. For example, the data transmission unit 111 adjusts the data size of the transmitted data so that the throughput during data transmission does not exceed the predicted available bandwidth. If the amount of data transmitted exceeds the available bandwidth, a delay in data transmission or similar issues will occur, and the reliability of the data received by the receiving device 130 will degrade.In the present embodiment, data transmission can be carried out in an area where the amount of data transmission does not exceed the available bandwidth, since the data size of the transmission data is adjusted according to the prediction result of the available bandwidth.
[0037] For example, when video data is transmitted to the receiving device 130, the data transmission unit 111 adjusts the data size of the transmitted data by adjusting the quality of the video data. Specifically, the data transmission unit 111 adjusts the data size by modifying at least some aspects of the video data's compression rate, resolution, and frame rate. The data transmission unit 111 can also adjust the data size by increasing or decreasing the number of data items being transmitted (the number of elements). For example, if video data from multiple cameras is being transmitted to the receiving device 130 and there is insufficient bandwidth available, the data transmission unit 111 can remove the video data from a low-priority camera from the transmitted data.
[0038] The functions of the bandwidth measurement unit 112 and the bandwidth prediction unit 113 can be implemented by one or more processors (not shown) that operate according to programs read from one or more memories. The bandwidth measurement unit 112 and the bandwidth prediction unit 113 can be configured as a single device or as separate devices. At least one of the bandwidth measurement units 112 and the bandwidth prediction unit 113 can be contained within the data transmission unit 111.
[0039] The receiving device 130 receives the data transmitted by the data transmission device 110. The receiving device 130 is, for example, located in a remote monitoring center that remotely monitors the mobile body 200. The data received by the receiving device 130 is displayed on a display device (not shown) or similar. For example, if video data is transmitted from the data transmission device 110 forward, backward, right, and left of a vehicle, this video is displayed on the screen. An observer monitors the screen to see if there is an obstacle in the path of the mobile body 200. The data received by the receiving device 130 can be stored in a database (not shown). In the present embodiment, the intended use of the data received by the receiving device 130 is not particularly limited.
[0040] Next, an operating procedure will be described. Fig. Figure 6 illustrates an operating sequence (data transmission procedure) in the data transmission device 110. The data transmission unit 111 generates transmission data (step A1). The data transmission unit 111 generates a transmission packet from the transmission data and transmits the transmission packet via the network 150 to the receiving device 130 (step A2). If the data size of the transmission data is twice or more than the MSS, the data transmission unit 111 sends two or more transmission packets to the receiving device 130 in step A2.
[0041] When the transmission packet is received, the receiving device 130 sends an ACK packet back to the data transmission device 110. The data transmission unit 111 receives an ACK packet for the transmission packet (step A3). If multiple transmission packets were transmitted in step A2, the data transmission unit 111 receives multiple ACK packets in step A3.
[0042] The bandwidth measurement unit 112 records the data size acquisition unit 121 (see Fig. 4) The size of the transmitted data. The Acknowledge Time Acquisition Unit 122 determines whether the size of the transmitted data is twice or greater than the MSS (Step A4). If it is determined that the size of the transmitted data is twice or greater than the MSS, the Acknowledge Time Acquisition Unit 122 records the reception time of each of the two or more ACK packets.
[0043] The available bandwidth calculation unit 123 calculates the network throughput 150 during data transmission based on the difference between the ACK packet's reception time and the MSS (step A5). If step A4 determines that the data size of the transmitted data is not twice or more than the MSS, the process returns to step A1, and the next transmission data is generated. Steps A4 and A5 correspond to the operating procedure (bandwidth measurement procedure) of the bandwidth measurement unit 112.
[0044] The bandwidth prediction unit 113 predicts the available network bandwidth at the next time based on the throughput calculated in step A5 (step A6). The data transmission unit 111 adjusts the amount of transmission data according to the available network bandwidth predicted in step A6 (step A7). The process then returns to step A1, and the data transmission unit 111 generates transmission data using the adjusted amount of transmission data from step A7.
[0045] In the present embodiment, the bandwidth measurement unit 112 calculates the available bandwidth based on the receive interval between ACK packets when data with a size twice or greater than the MSS is transmitted. When data with a size less than twice the MSS is transmitted, the bandwidth measurement unit 112 does not calculate the available bandwidth. Due to the characteristics of a protocol used for communication between the data sending device 110 and the receiving device 130, an ACK packet is answered immediately when a transmission packet with a data size twice or greater than the MSS is transmitted. Because the bandwidth measurement unit 112 measures the available bandwidth using the ACK packet with immediacy, taking these characteristics into account, the available bandwidth can be measured accurately.
[0046] Since the bandwidth measurement unit 112 in this example can accurately measure the available bandwidth, it is not necessary to change the MSS or the MTU to improve the accuracy of the available bandwidth estimate. Setting the MSS or the MTU to a small value to increase the number of transmission packets decreases communication efficiency. In this embodiment, it is not necessary to change the MSS or the MTU to accurately measure the available bandwidth, so the available bandwidth can be measured accurately without degrading communication efficiency.
[0047] In the present embodiment, the bandwidth prediction unit 113 predicts the available bandwidth at the next available time using the available bandwidth measured by the bandwidth measurement unit 112. In this embodiment, the accuracy of the available bandwidth prediction can be improved because the available bandwidth is predicted using the precisely measured available bandwidth. The data transmission unit 111 can prevent delays in data transmission or similar issues by adjusting the amount of data transmitted according to the predicted available bandwidth.
[0048] Next, a second embodiment is described. A configuration of a data transmission device according to a second embodiment of the present disclosure may be similar to the configuration of the data transmission device 110 described in the Fig. The first embodiment is described in Figure 3. In the present embodiment, the bandwidth measurement unit 112 can be configured similarly to the bandwidth measurement unit 112 described in Figure 3. Fig. The first embodiment is described in Figure 4. In the present embodiment, the bandwidth measurement unit 112 measures the currently available bandwidth by calculating the throughputs for a plurality of pairs of transmission packets and averaging the calculated plurality of throughputs. Other operations can be the same as those in the first embodiment.
[0049] Fig. Figure 7 schematically illustrates the data transmission and reception of ACK packets. Here, it is assumed that the data transmission unit 111 periodically sends data of X [bytes] to the receiving device 130 with Y [sec] as a data transmission cycle. Assuming that n is an integer representing the number of divisions of the TCP segment, the number of divisions is n = X / MSS (rounding up fractions). The data transmission unit 111 divides the data of X [bytes] into n transmission packets with sequence numbers "1" to "n". It is assumed that X [bytes] = MSS × n. In this case, the data size of the payload of each transmission packet is MSS.
[0050] When the transmission packets with sequence numbers “1” to “n” are received, the receiving device 130 sends a total of n ACK packets back to the data transmission unit 111. The data transmission unit 111 receives the returned n ACK packets. In the bandwidth measurement unit 112, the acknowledgment reception time recording unit 122 records (see Fig. 4) a reception time for each of the n ACK packets. The computation unit 123 for the available bandwidth calculates a difference Δt21 to Δt2 (n-1) between the reception times of two ACK packets for a pair of transmit packets with consecutive sequence numbers as the ACK packet reception interval. The ACK packet reception intervals Δt21 to Δt2 (n-1) are essentially equal to the respective transmit packet reception intervals Δt11 to Δt1 (n-1) in the receiving device 130.
[0051] In the present embodiment, the available bandwidth computation unit 123 calculates the currently available bandwidth based on n-1 ACK packet reception intervals and the MSS. For example, to calculate the available bandwidth, unit 123 calculates a throughput for each pair of transmission packets with consecutive sequence numbers and calculates an average of the throughputs as the currently available bandwidth. Specifically, the available bandwidth computation unit 123 calculates the currently available bandwidth using the following formula. Available bandwidth = (MSS / Δt21 + MSS / Δt22 + ... + MSS / Δt2(n−2)) / (n−1)
[0052] If the data size X [bytes] of the transmitted data is not an integer multiple of the MSS and there is a relationship of (n-1)×MSS <X<n×MSS erfüllt ist, schließt die Berechnungseinheit 123 für die verfügbare Bandbreite das ACK-Paket (eine Empfangszeit des ACK-Pakets) für das Paket mit der Sequenznummer „n“ von der Berechnung der verfügbaren Bandbreite aus. In diesem Fall berechnet die Berechnungseinheit 123 für die verfügbare Bandbreite die verfügbare Bandbreite anhand der ACK-Paket-Empfangsintervalle Δt21 bis Δt2 (n-2).
[0053] In the present embodiment, the bandwidth measurement unit 112 calculates the ACK packet reception interval for two consecutive transmission packets where the payload data size is equal to the MSS. The bandwidth measurement unit 112 measures the currently available bandwidth based on a multitude of ACK packet reception intervals. In this embodiment, it is possible to distribute the jitter of the ACK packet by averaging the throughputs during the transmission of two consecutive transmission packets. In other words, the variation in the ACK packet reception time can be suppressed. It is therefore assumed that the present embodiment can improve the accuracy of the measurement of the available bandwidth compared to the first embodiment. Other effects are similar to those of the first embodiment.
[0054] Next, a third embodiment of the present disclosure is described. A configuration of a data transmission device according to the third embodiment of the present disclosure may be similar to the configuration of the data transmission device 110 described in the Fig. The first embodiment is described in Figure 3. In the present embodiment, the bandwidth measurement unit 112 can be configured similarly to the bandwidth measurement unit 112 described in the first embodiment. Fig. 4 is described. In the present embodiment, the bandwidth measurement unit 112 does not measure the available bandwidth if there is no free bandwidth on a line used for transmitting an ACK packet, i.e., on a communication line in one direction from the receiving device 130 to the data transmitting device 110 in the network 150 (see Fig. 2) Other processes may be similar to those described in the first or second example implementation form.
[0055] Fig. Figure 8 illustrates an operating sequence of the data transmission device 110 in the present embodiment. The data transmission unit 111 generates transmission data (step B1). The data transmission unit 111 generates a transmission packet from the transmission data and transmits the transmission packet via the network 150 to the receiving device 130 (step B2). When the transmission packet is received, the receiving device 130 sends an ACK packet back to the data transmission device 110. The data transmission unit 111 receives an ACK packet for the transmission packet (step B3). Steps B1 to B3 can be summarized in Figure 8. Fig. The 6 steps shown, A1 to A3, should be similar.
[0056] The bandwidth measurement unit 112 determines whether there is space for a line (also called an ACK line) that is used to transmit the ACK packet in the network 150 (step B4). For example, if the ACK packet for the transmission packet is not received in the bandwidth measurement unit 112 despite the elapsed time after the transmission of the transmission packet, the acknowledgment reception time recording unit 122 (see Fig. 4) Determined that there is no space available for an ACK line. If the ACK packet is received within a predetermined time from the transmission of the send packet, the Acknowledge Receive Time Acquisition Unit 122 determines that space is available for the ACK line. If step B4 determines that there is no space available for the ACK line, the process returns to step B1 and the available bandwidth is not measured.
[0057] If, in step B4, it is determined that space is available for the ACK line, the data size acquisition unit 121 records the data size of the transmitted data. The acknowledgement time acquisition unit 122 determines whether the data size of the transmitted data is twice or greater than the MSS (step B5). If it is determined that the data size of the transmitted data is twice or greater than the MSS, the acknowledgement time acquisition unit 122 records the reception time of each of the two or more ACK packets. The available bandwidth calculation unit 123 calculates the network throughput 150 during data transmission based on the difference between the reception time of the ACK packet and the MSS (step B6).If step B5 determines that the data size of the transfer data is not twice or more than the MSS, the process returns to step B1, and the next transfer data is generated.
[0058] The bandwidth prediction unit 113 predicts the available network bandwidth at the next time based on the throughput calculated in step B5 (step B7). The data transmission unit 111 adjusts the amount of transmission data according to the available network bandwidth predicted in step B7 (step B8). The process then returns to step B1, and the data transmission unit 111 generates transmission data using the amount of transmission data set in step B8. Steps B5 through B8 can be used to... Fig. The 6 steps shown in A4 to A7 should be similar.
[0059] In the present embodiment, the bandwidth measurement unit 112 determines whether space is available for the ACK line and measures the available bandwidth if space is detected. If no space is available for the ACK line, there is a delivery delay of the ACK packet, and the accuracy of the estimate of the available bandwidth using the ACK packet reception interval is expected to decrease. In the present embodiment, the available bandwidth can be measured accurately by measuring the available bandwidth when space is available for the ACK line. Other effects are similar to those described in the first or second embodiment.
[0060] In the embodiment described above, an example was given in which the available bandwidth measured by the bandwidth measurement unit 112 is used to predict the available bandwidth at a future time in the bandwidth prediction unit 113. However, the present disclosure is not limited to this. That is to say, the purpose of using the measured available bandwidth is not specifically limited to predicting the available bandwidth. For example, the measured available bandwidth can be used in an application program that performs arbitrary processing in accordance with the available bandwidth.
[0061] The embodiment described above involves the data transmission device 110 being mounted on the mobile body 200. However, the present disclosure is not limited to this. The data transmitted by the data transmission device 110 is not limited to data relating to the mobile body 200. The network 150 need not be a wireless communication network, but can also be a wired network.
[0062] In the present disclosure, the data transmission unit 111, the bandwidth measurement unit 112 and the bandwidth prediction unit 113 can be configured as devices such as a computer device. Fig.Figure 9 shows an example of a hardware configuration of a computer device that can be used as a data transmission unit 111, bandwidth measurement unit 112, and bandwidth prediction unit 113. The computer device 500 comprises a processor 510, a ROM 520, and a RAM 530. In the computer device 500, the processor 510, the ROM 520, and the RAM 530 are interconnected via a bus. Although not shown, the computer device 500 may also include other circuitry, such as a peripheral circuit, a communication circuit, and an interface circuit.
[0063] The ROM 520 is a non-volatile memory. A semiconductor memory such as flash memory, which has a relatively small capacity, is used as the ROM 520. The ROM 520 stores a program executed by the processor 510.
[0064] The program described above contains a set of instructions (or software code) that, when read by the computer, cause it to perform one or more of the functions described in the exemplary embodiments. The program may be stored on a non-volatile, computer-readable medium or a physical storage medium. Examples of computer-readable or physical storage media include RAM, ROM, flash memory, a solid-state drive (SSD) or other storage technology, a compact disc (CD), a digital versatile disc (DVD), a Blu-ray disc (registered trademark) or other optical disk storage, a magnetic cartridge, magnetic tape, a magnetic disk storage device, or other magnetic storage device. The program may be transferred on a transient, computer-readable medium or a communication medium.Transitory computer-readable media or communication media include, for example, electrical, optical, acoustic or other forms of transmitted signals, without this being a limitation.
[0065] The RAM 530 is a volatile memory device. Any semiconductor memory device, such as dynamic random-access memory (DRAM) or static random-access memory (SRAM), can be used as RAM 530. RAM 530 can be used as an internal buffer to temporarily store data and similar information. The processor 510 loads the program stored in ROM 520 into RAM 530 and executes the program. At least some of the functions of the data transmission unit 111, the bandwidth measurement unit 112, and the bandwidth prediction unit 113 can be implemented by the processor 510 while executing a program.
[0066] Although examples of the present disclosure have been described in detail above, the present disclosure is not limited to the examples described above, and the present disclosure also includes those obtained by changes or modifications to the examples described above without deviating from the core of the present disclosure.
[0067] For example, some or all of the embodiments disclosed above can be described as the following supplementary remarks, but are not limited to them. [Supplementary Note 1]
[0068] Bandwidth measuring device comprising the following: Data size measurement means for recording the size of transmission data transmitted from a data sending device, which divides data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol and transmits the transmission data to the receiving device, to a receiving device; Acknowledgement reception time recording means for recording a reception time of an acknowledgment packet returned from the receiving device that received the transmission packet to the data sending device; and Available bandwidth calculation tool for calculating an available bandwidth in a network used to transmit the transmission data, using a reception time of the acknowledgment packet, when a sum of data sizes of the transmission data in a predetermined time is twice or more the predetermined size. [Supplementary Note 2]
[0069] Bandwidth measuring device according to supplementary note 1, wherein the available bandwidth computation means calculates the available bandwidth on the basis of the predetermined size and an interval between the reception times of two acknowledgment packets for two transmission packets transmitted from the data transmitting device to the receiving device. [Supplementary Note 3]
[0070] Bandwidth measuring device according to supplementary note 1 or 2, wherein the available bandwidth for each pair of transmission packets, the payload size of which is the predetermined size, is calculated using the interval between the reception times of the acknowledgment packets for the pair of transmission packets, and an average of the available bandwidths calculated for each pair is calculated as the available bandwidth. [Supplementary Note 4]
[0071] Bandwidth measuring device according to supplementary note 3, wherein the transmission packets contain sequence numbers, and The available bandwidth calculator calculates an available bandwidth using an interval between the reception times of the acknowledgment packets for the pair of transmission packets whose sequence numbers follow each other. [Supplementary Note 5]
[0072] Bandwidth measuring device according to one of the supplementary notes 1 to 4, wherein The specified protocol is a transmission control protocol (TCP), and The specified size is a maximum segment size (MSS) in TCP. [Supplementary Note 6]
[0073] Bandwidth measuring device according to one of claims 1 to 5, wherein the means for calculating the available bandwidth does not calculate the available bandwidth if an acknowledgment packet for the transmission packet is not received within a predetermined time after the transmission of the transmission packet in the data transmission device. [Supplementary Note 7]
[0074] Bandwidth measuring device according to one of supplementary notes 1 to 6, wherein the means for calculating the available bandwidth does not calculate the available bandwidth if a data size of the transmitted data is less than twice the predetermined size. [Supplementary Note 8]
[0075] Data transmission device with: Data transmission means for dividing transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, for transmitting the transmission packet to a receiving device, and for receiving an acknowledgment packet for the transmission packet from the receiving device; and Bandwidth measuring device for measuring available bandwidth in a network used to transmit transmission data using the acknowledgment packet, wherein The bandwidth measurement includes Means of recording data size, in order to record the data size of the transmitted data, Confirmation Receipt Time Recording Tool for recording the receipt time of a confirmation packet, and Available bandwidth calculation tool for calculating the available bandwidth using the acknowledgment packet reception time when the sum of the data sizes of the transmitted data in a predetermined time is twice or more the predetermined size. [Supplementary Note 9]
[0076] Data transmission device according to supplementary note 8, wherein the available bandwidth calculation means calculates the available bandwidth on the basis of the predetermined size and an interval between the reception times of two acknowledgment packets for two transmission packets transmitted from the data transmission device to the receiving device. [Supplementary Note 10]
[0077] Data transmission device according to supplementary note 8 or 9, wherein the available bandwidth for each pair of transmission packets, the payload size of which is the predetermined size, is calculated using the interval between the reception times of the acknowledgment packets for the pair of transmission packets, and an average of the available bandwidths calculated for each pair is calculated as the available bandwidth. [Supplementary Note 11]
[0078] Data transmission device according to any of Supplementary Notes 8 to 10, further comprising: bandwidth prediction means for predicting available bandwidth based on measured available bandwidth, where the data transmission medium adjusts the amount of data transmitted in accordance with the predicted available bandwidth. [Supplementary Note 12]
[0079] A bandwidth measurement procedure that includes the following: Capturing a data size of transmission data transferred from a data sending device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; Recording the reception time of an acknowledgment packet that was sent back to the data transmitting device by the receiving device that received the transmission packet; and Calculating an available bandwidth in a network used to transmit the transmission data, using an acknowledgment packet reception time, when the sum of the transmission data sizes in a predetermined time is twice or more the predetermined size. [Supplementary Note 13]
[0080] Data transmission procedure, which includes the following: Division of the transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; Transmission of the data packet to a receiving device; Receipt of an acknowledgment packet for the transmitted packet from the receiving device; Recording the receipt time of the confirmation packet; and Calculating an available bandwidth in a network used to transmit the transmission data, using an acknowledgment packet reception time, when the sum of the transmission data sizes in a predetermined time is twice or more the predetermined size. [Supplementary Note 14]
[0081] Data transmission procedures according to supplementary note 13 also include: Prediction of available bandwidth based on the calculated available bandwidth; and Adjusting the amount of data transmitted to the predicted available bandwidth. [Supplementary Note 15]
[0082] A non-volatile, computer-readable medium that stores a program which causes a processor to execute processes that include: Capturing a data size of transmission data transferred from a data sending device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; Recording the reception time of an acknowledgment packet that was sent back to the data transmitting device by the receiving device that received the transmission packet; and Calculating an available bandwidth in a network used to transmit the transmission data, using an acknowledgment packet reception time, when the sum of the transmission data sizes in a predetermined time is twice or more the predetermined size. [Supplementary Note 16]
[0083] A non-volatile, computer-readable medium that stores a program which causes a processor to execute processes that include: Division of the transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; Transmission of the data packet to a receiving device; Receipt of an acknowledgment packet for the transmitted packet from the receiving device; Recording the receipt time of the confirmation packet; and Calculating an available bandwidth in a network used to transmit the transmission data, using an acknowledgment packet reception time, when the sum of the transmission data sizes in a predetermined time is twice or more the predetermined size. List of reference symbols 10 DATA TRANSFER DEVICE 11 DATA TRANSFER MEANS 12 Bandwidth Measuring Devices 21 MEANS OF DETERMINING DATA SIZE 22 CONFIRMATION TIME RECORDING METHOD 23 MEANS FOR CALCULATION OF AVAILABLE BANDWIDTH 110 DATA TRANSFER UNIT 111 DATA TRANSFER UNIT 112 Bandwidth Measurement Unit 113 Bandwidth Forecast Unit 121 DATA COLLECTION UNIT 122 CONFIRMATION RECEIPT TIME RECORDING UNIT 123 AVAILABLE BANDWIDTH CALCULATION UNITS 130 RECEIVING DEVICE 150 NETWORK 200 MOBILE BODY 201 PERIPHERAL MONITORING SENSOR 202 VEHICLE SENSOR 203 VEHICLE CONTROL ECU QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2020-107975 A
[0003]
Claims
[1] Bandwidth measuring device comprising: Data size detecting means for detecting a data size of transmission data transmitted to a receiving device from a data transmitting device that divides data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol and transmits the transmission data to the receiving device; Acknowledgement reception time detecting means for detecting a reception time of an acknowledgment packet returned from the receiving device that has received the transmission packet to the data transmitting device; and Available bandwidth calculating means for calculating an available bandwidth in a network used to transmit the transmission data using a reception time of the acknowledgment packet when a sum of data sizes of the transmission data in a predetermined time is twice or more of the predetermined size. [2] A bandwidth measuring apparatus according to claim 1, wherein the available bandwidth calculating means calculates the available bandwidth based on the predetermined size and an interval between reception times of two acknowledgment packets for two transmission packets transmitted from the data transmitting apparatus to the receiving apparatus. [3] A bandwidth measuring apparatus according to claim 1 or 2, wherein the available bandwidth is calculated for each pair of transmission packets whose payload size is the predetermined size by using the interval between the reception times of the acknowledgment packets for the pair of transmission packets, and an average of the available bandwidths calculated for each pair is calculated as the available bandwidth. [4] Bandwidth measuring device according to claim 3, wherein the transmission packets contain sequence numbers, and the available bandwidth calculating means calculates an available bandwidth using an interval between the reception times of the acknowledgment packets for the pair of transmission packets whose sequence numbers are consecutive. [5] Bandwidth measuring device according to one of claims 1 to 4, wherein the specified protocol is a transmission control protocol (TCP), and the specified size is a maximum segment size (MSS) in TCP. [6] A bandwidth measuring device according to any one of claims 1 to 5, wherein the available bandwidth calculating means does not calculate the available bandwidth when an acknowledgment packet for the transmission packet is not received within a predetermined time after the transmission of the transmission packet in the data transmission device. [7] A bandwidth measuring apparatus according to any one of claims 1 to 6, wherein the available bandwidth calculating means does not calculate the available bandwidth when a data size of the transmission data is less than twice the predetermined size. [8] Data transmission device comprising: Data transmission means for dividing transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, for transmitting the transmission packet to a receiving device, and for receiving an acknowledgment packet for the transmission packet from the receiving device; and Bandwidth measuring means for measuring an available bandwidth in a network used to transmit the transmission data using the acknowledgment packet, the bandwidth measuring means comprising Data size detection means for detecting the data size of the transmission data, Confirmation reception time detecting means for detecting a reception time of a confirmation packet, and Available bandwidth calculating means for calculating the available bandwidth using the reception time of the acknowledgment packet when a sum of the data sizes of the transmission data in a predetermined time is twice or more of the predetermined size. [9] A data transmission apparatus according to claim 8, wherein the available bandwidth calculating means calculates the available bandwidth based on the predetermined size and an interval between reception times of two acknowledgment packets for two transmission packets transmitted from the data transmission apparatus to the reception apparatus. [10] A data transmission apparatus according to claim 8 or 9, wherein the available bandwidth is calculated for each pair of transmission packets whose payload size is the predetermined size using the interval between the reception times of the acknowledgment packets for the pair of transmission packets, and an average of the available bandwidths calculated for each pair is calculated as the available bandwidth. [11] A data transmission device according to any one of claims 8 to 10, further comprising: bandwidth prediction means for predicting an available bandwidth based on the measured available bandwidth, wherein the data transmission means adjusts a data amount of the transmission data in accordance with the predicted available bandwidth. [12] Bandwidth measurement method comprising: Detecting a data size of transmission data transmitted from a data transmitting device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; detecting a reception time of an acknowledgment packet sent back from the receiving device that received the transmission packet to the data transmitting device; and Calculating an available bandwidth in a network used to transmit the transmission data using a reception time of the acknowledgment packet when a sum of data sizes of the transmission data in a predetermined time is twice or more of the predetermined size. [13] Data transmission method comprising: Dividing the transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; Transmission of the transmission packet to a receiving device; Receiving an acknowledgment packet for the transmission packet from the receiving device; Recording a receipt time of the confirmation packet; and Calculating an available bandwidth in a network used to transmit the transmission data using a reception time of the acknowledgment packet when a sum of data sizes of the transmission data in a predetermined time is twice or more of the predetermined size. [14] Data transmission method according to claim 13, further comprising: Predicting available bandwidth based on the calculated available bandwidth; and Adjusting the amount of transmitted data to the predicted available bandwidth. [15] A non-transitory computer-readable medium that stores a program that causes a processor to perform processes that include: Detecting a data size of transmission data transmitted from a data transmitting device to a receiving device, dividing the data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol, and transmitting the transmission data to the receiving device; detecting a reception time of an acknowledgment packet sent back from the receiving device that received the transmission packet to the data transmitting device; and Calculating an available bandwidth in a network used to transmit the transmission data using a reception time of the acknowledgment packet when a sum of data sizes of the transmission data in a predetermined time is twice or more of the predetermined size. [16] A non-transitory computer-readable medium that stores a program that causes a processor to perform processes that include: Dividing the transmission data into one or more transmission packets in units of a predetermined size in accordance with a predetermined protocol; Transmission of the transmission packet to a receiving device; Receiving an acknowledgment packet for the transmission packet from the receiving device; Recording a receipt time of the confirmation packet; and Calculating an available bandwidth in a network used to transmit the transmission data using a reception time of the acknowledgment packet when a sum of data sizes of the transmission data in a predetermined time is twice or more of the predetermined size.
Citation Information
Patent Citations
2020-107975A
