Data transmission device, and data transmission method

WO2026176623A1PCT designated stage Publication Date: 2026-08-27NT T INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/006098
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2026-08-27

Smart Images

  • Figure JP2025006098_27082026_PF_FP_ABST
    Figure JP2025006098_27082026_PF_FP_ABST
Patent Text Reader

Abstract

In order to facilitate applying a congestion control algorithm such as DCQCN to long-distance data transmission, this data transmission device for transmitting data to a data reception device comprises: an acquisition unit that acquires information regarding communication latency between the data transmission device and the data reception device; an adjustment unit that, before data is transmitted, adjusts a parameter relating to increasing the transmission rate in the congestion control algorithm, on the basis of the information regarding the communication latency; and a rate control unit that, using the parameter, controls the transmission rate of the data by means of the congestion control algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission device and data transmission method

[0001] The present invention relates to a data transmission device and a data transmission method.

[0002] As a congestion control algorithm commonly used in a data center, DCQCN (Data Center Quantized Congestion Notification) is known. DCQCN is utilized to perform lossless RDMA (Remote Direct Memory Access) that can achieve low latency and high throughput (see, for example, Non-Patent Documents 1 to 3).

[0003] "RDMA for Cloud Computing", Microsoft, May 1, 2013, Internet, [searched on January 16, 2025], <https: / / www.microsoft.com / en-us / research / project / rdma-for-cloud-computing / >Yibo Zhu, et al., "Congestion Control for Large-Scale RDMA Deployments", In SIGCOMM, 2015." OWN──Network service technology realized by APN", NTT Network Service System Research Institute, NTT Access Service System Research Institute, Internet, [searched on January 16, 2025], < https: / / www.rd.ntt / research / JN202108_14873.html>

[0004] In DCQCN, when a data transmission device that transmits data receives CNP (Congestion Notification Packets), it suppresses congestion by lowering the transmission rate. Also, when the data transmission device does not receive CNP for a predetermined period, it determines that the congestion has recovered and raises the transmission rate again.

[0005] DCQCN is designed for communication within a data center and therefore does not take network delays into account. However, when transmitting data over long distances, failing to consider communication delays can lead to further congestion problems. For example, if a data transmission device does not receive a CNP for a predetermined period, it may increase the transmission rate, and then the CNP arrives late.

[0006] Thus, conventional technologies have presented difficulties in applying congestion control algorithms such as DCQCN to long-distance data transmission.

[0007] The embodiments of this disclosure have been made in view of the above-mentioned problems, and facilitate the application of congestion control algorithms such as DCQCN to long-distance data transmission.

[0008] To solve the above problems, a data transmission device according to an embodiment of the present disclosure is a data transmission device that transmits data to a data receiving device, and includes: an acquisition unit that acquires information on the communication delay between itself and the data receiving device; an adjustment unit that adjusts parameters relating to the increase of the transmission rate of a congestion control algorithm based on the information on the communication delay before transmitting the data; and a rate control unit that uses the parameters to control the transmission rate of the data with the congestion control algorithm.

[0009] According to embodiments of this disclosure, congestion control algorithms such as DCQCN can be easily applied to long-distance data transmission.

[0010] This figure shows an example of the system configuration of the communication system according to this embodiment. This figure shows an example of the functional configuration of the data transmission device according to this embodiment. This figure shows an example of the functional configuration of the data receiving device according to this embodiment. This figure shows an example of the functional configuration of the switch according to this embodiment. This figure shows an example of the functional configuration of the controller according to this embodiment. This figure shows an example of the information managed by the controller according to this embodiment. This is a sequence diagram showing an example of the processing of the communication system according to Embodiment 1. This is a sequence diagram showing an example of the processing of the communication system according to Embodiment 2. This is a sequence diagram showing an example of the processing of the communication system according to Embodiment 3. This figure shows an example of the hardware configuration of a computer. This is a diagram for explaining DCQCN. This is Figure (1) showing an example of applying DCQCN to long-distance data transmission. This is Figure (2) showing an example of applying DCQCN to long-distance data transmission.

[0011] Hereinafter, embodiments of the present invention (this embodiment) will be described with reference to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the embodiments described below.

[0012] <Overview> DCQCN (Data Center Quantized Congestion Notification) is a congestion control algorithm commonly used in data centers (see, for example, Non-Patent Document 1). DCQCN is used to perform lossless RDMA (Remote Direct Memory Access), which enables low latency and high throughput.

[0013] RDMA is implemented using the RoCEv2 protocol, which relies on priority-based flow control (PDC), and DCQCN achieves lossless Ethernet by combining this with explicit congestion notification (ECN) (see, for example, Non-Patent Document 2).

[0014] Figure 11 is a diagram illustrating DCQCN. The example in Figure 11 shows an example in which data is transmitted from a transmitter 11 to a receiver 12 via a switch 13 within a data center 10. In Figure 11, the switch 13 stores the data in a buffer 14, and when the stored data 15 exceeds a threshold 16, it probabilistically sets an ECN bit based on Weighted Random Early Detection (WRED) to notify the receiver 12 of congestion.

[0015] When the receiving device 12 receives a packet with the ECN bit set, it feeds back a CNP to the transmitting device 11. When the transmitting device 11 receives a CNP, it limits the data transmission rate. If the transmitting device 11 does not receive a CNP for a predetermined period, it determines that congestion has recovered and increases the transmission rate again.

[0016] In this case, the parameters of DCQCN, such as the predetermined period for increasing the transmission rate limited by DCQCN (increase interval) and the amount by which the transmission rate is increased (increase amount), are set before data transmission and are not intended to be dynamically changed after data transmission has started.

[0017] (Regarding the issue) DCQCN is designed for communication within a data center and does not take network communication delays into account. Therefore, when transmitting data over long distances, if communication delays are not considered, for example, if a data transmission device has not received a CNP for a predetermined period, the transmission rate may be increased, and then the CNP may arrive late, further worsening congestion.

[0018] Figures 12 and 13 show an example of applying DCQCN to long-distance data transmission. In Figure 12, data is transmitted from a transmitting device 11a in data center 10a to a receiving device 12b in data center 10b, 50 km away, using, for example, an optical network. In this case, if congestion occurs, the receiving device 12b sends a CNP to the transmitting device 11a, and the transmitting device 11a can suppress congestion by lowering the transmission rate.

[0019] From this state, for example, as shown in Figure 13, a new data transmission path is added from a transmitting device 11c in a data center 10c located 100 km away from data center 10b to a receiving device 12b in data center 10b. In this case, because communication delay increases due to long-distance communication, the timing at which the CNP arrives at the transmitting device 11c is delayed. As a result, the CNP may arrive after the transmitting device 11c has increased its transmission rate, which can worsen congestion. Thus, with conventional technology, applying congestion control algorithms such as DCQCN to long-distance data transmission has been difficult.

[0020] Therefore, the communication system according to this embodiment has a configuration, for example, as shown in Figures 1 to 5, in order to facilitate the application of congestion control algorithms such as DCQCN to long-distance data transmission.

[0021] <System Configuration> Figure 1 is a diagram showing an example of the system configuration of a communication system according to this embodiment. In the example in Figure 1, the communication system 1 includes data transmission devices 110-1, 110-2, data receiving devices 120-1, 120-2, switches 130-1, 130-2, 130-3, and a controller 140, etc. In the following description, when referring to any of the data transmission devices 110-1, 110-2, "data transmission device 110" will be used. Similarly, when referring to any of the data receiving devices 120-1, 120-2, "data receiving device 120" will be used. Likewise, when referring to any of the switches 130-1, 130-2, 130-3, "switch 130" will be used.

[0022] The data transmission device 110-1 and the switch 130-1 are installed at base station 101a, and the data transmission device 110-1 transmits data to a data receiving device 120 (for example, data receiving device 120-1) installed at base station 101c via the switch 130-1.

[0023] The data transmission device 110-2 and the switch 130-2 are installed at base station 101b, and the data transmission device 110-2 transmits data to a data receiving device 120 (for example, data receiving device 120-2) installed at base station 101c via the switch 130-2.

[0024] The data receiving devices 120-1 and 120-2 and the switch 130-3 are installed at base station 101c. The data receiving device 120-1, for example, receives data transmitted by the data transmitting device 110-1 at base station 101a via the switch 130-3. The data receiving device 120-2, for example, receives data transmitted by the data transmitting device 110-2 at base station 101b via the switch 130-3.

[0025] (Processing Overview) Before transmitting data, the data transmission device 110 sends an ICPM echo request to the data receiving device 120 and obtains information on the communication delay (including distance delay) between itself and the data receiving device 120 by Ping measurement or the like after receiving the ICPM echo response.

[0026] Furthermore, before transmitting data, the data transmission device 110 adjusts (tunes) the parameters related to increasing the transmission rate of DCQCN based on the acquired communication delay information. Here, the parameters related to increasing the transmission rate include, for example, the increase interval for increasing the transmission rate limited by DCQCN, and / or the increase amount for increasing the transmission rate. Note that DCQCN is an example of a congestion control algorithm according to this embodiment. The congestion control algorithm may be any other congestion control algorithm that performs control similar to DCQCN.

[0027] Furthermore, the data transmission device 110 controls the transmission rate of the data transmitted via DCQCN using the adjusted parameters. In this embodiment, each data transmission device 110 performs parameter tuning that takes communication delay into account before transmission, thereby avoiding an increase in the transmission rate during congestion due to delays in the arrival of CNPs, even when transmitting data over long distances. In addition, according to the communication system 1 of this embodiment, communication can be performed without packet loss. As a specific example, the communication protocol is assumed to be TCP (Transmission Control Protocol) or RDMA, etc.

[0028] Preferably, when the data transmission device 110 starts communication with a new data receiving device 120, the data transmission device 110 obtains information about itself from a controller 140 that manages information about multiple data transmission devices 100. Furthermore, the data transmission device 110 can avoid congestion at the start of communication by limiting the data transmission rate based on the information it has obtained.

[0029] In this embodiment, it is not essential for the data transmission device 110 to acquire information from the controller 140. For example, the data transmission device 110 can acquire information about communication delay from the data receiving device 120.

[0030] <Functional Configuration> (Functional Configuration of Data Transmission Device) Figure 2 is a diagram showing an example of the functional configuration of a data transmission device according to this embodiment. The data transmission device 110 includes, for example, a computer configuration, and by executing a predetermined program on the computer, it realizes each of the functional configurations shown in Figure 2. In the example of Figure 2, the data transmission device 110 has each of the functional configurations such as a transmission unit 201, a receiving unit 202, a controller communication unit 203, an acquisition unit 204, an adjustment unit 205, and a rate control unit 206. Note that at least a part of each of the above functional configurations may be realized by hardware.

[0031] The transmitting unit 201 performs a transmission process to transmit data in accordance with the transmission rate control by the rate control unit 206. The transmitting unit 201 also transmits control signals such as ICPM echo requests. The receiving unit 202 performs a reception process to receive data and control signals, etc. For example, the receiving unit 202 receives ICPM echo responses and CNPs, etc. The controller communication unit 203 performs a controller communication process to communicate with the controller 140. For example, the controller communication unit 203 obtains information about the data transmitting device 110 (for example, information such as transmission rate, communication bandwidth, or priority) from the controller 140. The controller communication unit 203 may also obtain information about the data receiving device 120 from the controller 140.

[0032] The acquisition unit 204 performs an acquisition process to acquire information about the communication delay between itself and the data receiving device. For example, before transmitting data, the acquisition unit 204 sends an ICPM echo request to the data receiving device 120, performs a Ping measurement to receive the ICPM echo response, and calculates the communication delay between itself and the data receiving device 120 based on the transmission time and reception time of the ICPM echo. Alternatively, the acquisition unit 204 may acquire information about the communication delay between itself and the data receiving device 120 from the controller 140 using the controller communication unit 203.

[0033] Before transmitting data, the adjustment unit 205 performs an adjustment process to adjust (tune) the parameters related to increasing the transmission rate of DCQCN based on the communication delay information acquired by the acquisition unit 204. Here, the parameters related to increasing the transmission rate include, for example, the increase interval for increasing the transmission rate limited by DCQCN, and / or the increase amount for increasing the transmission rate.

[0034] The rate control unit 206 uses the parameters adjusted by the adjustment unit 205 to perform rate control processing to control the data transmission rate in DCQCN. For example, as explained in Figure 11, when the rate control unit 206 receives a CNP, it lowers (limits) the data transmission rate. Also, if the rate control unit 206 does not receive a CNP for a predetermined period, it determines that congestion has recovered and increases the transmission rate. As a specific example, if the rate control unit 206 does not receive a CNP during the "up period" described above, it increases the transmission rate by the width of the "upper layer width" described above.

[0035] (Functional Configuration of Data Receiving Device) Figure 3 is a diagram showing an example of the functional configuration of a data receiving device according to this embodiment. The data receiving device 120, for example, has the configuration of a computer, and by executing a predetermined program on the computer, it realizes each of the functional configurations shown in Figure 3. In the example of Figure 3, the data receiving device 120 has each of the functional configurations such as a transmitting unit 201, a receiving unit 202, a controller communication unit 203, and a congestion control unit 304. At least a part of each of the above functional configurations may be realized by hardware.

[0036] The transmitting unit 301 performs transmission processing to transmit data or control signals, etc. For example, the transmitting unit 301 transmits ICPM echo responses and CNPs. The receiving unit 302 performs reception processing to receive data or control signals, etc. For example, the receiving unit 302 receives data and ICPM echo requests. The controller communication unit 303 performs controller communication processing to communicate with the controller 140. If the ECN bit is set in the data received by the receiving unit 302 from the data transmitting device 110, the congestion control unit 304 transmits a CNP to the data transmitting device 110 via the transmitting unit 301.

[0037] Furthermore, the data receiving device 120 can be an existing data receiving device that is compatible with DCQCN.

[0038] (Switch Functional Configuration) Figure 4 is a diagram showing an example of the functional configuration of a switch according to this embodiment. The switch 130, for example, has a computer configuration and realizes each of the functional configurations shown in Figure 4 by executing a predetermined program on the computer. In the example of Figure 4, the switch 130 has each of the functional configurations such as a data receiving unit 401, a buffer 402, and a data distribution unit 403. At least a part of each of the above functional configurations may be realized by hardware.

[0039] The data receiving unit 401 receives data transmitted from the data transmitting device 110 and performs data reception processing to store it in the buffer 402. The buffer 402 is a buffer that temporarily stores the received data. The data distribution unit 403 performs data distribution processing to distribute (transmit) the data stored in the buffer 402 to the appropriate destination by looking at the header information, etc. The switch 130 sets a threshold for the buffer 402, and when the amount of data stored in the buffer 402 exceeds the threshold, the data distribution unit 403 sets the ECN bit based on WRED and transmits the data to the destination.

[0040] Furthermore, existing switches 130 compatible with DCQCN can be used as is.

[0041] (Controller Functional Configuration) Figure 5 shows an example of the functional configuration of the controller according to this embodiment. The controller 140, for example, has the configuration of a computer, and by executing a predetermined program on the computer, it realizes each of the functional configurations shown in Figure 5. In the example of Figure 5, the controller 140 has each of the functional configurations such as a connection request confirmation unit 501, a communication control unit 502, and a storage unit 503. At least a part of each of the above functional configurations may be realized by hardware.

[0042] In response to a connection request from the data transmission device 110, the connection request confirmation unit 501 inquires the data reception device 120 as to whether a connection is possible, and if a connection is possible, executes a connection request confirmation process of notifying the data transmission device 110 that a connection is possible. The communication control unit 502 stores and manages, for example, information on the data transmission device 110 and the data reception device 120 in the storage unit 503 and the like.

[0043] FIG. 6 is a diagram showing an example of information managed by the controller. The communication control unit 502 stores and manages, for example, communication information 601, priority information 602, etc. as shown in FIG. 6 in the storage unit 503 and the like.

[0044] In the example of FIG. 6, the communication information 601 includes, as items, information such as a transmission device ID, a reception device ID, a communication delay, and a used bandwidth. The transmission device ID is identification information for identifying the data transmission device 110. The reception device ID is identification information for identifying the data reception device 120. The communication delay is information on the communication delay between the data transmission device 110 corresponding to the transmission device ID and the data reception device 120 corresponding to the reception device ID. The used bandwidth is information on the communication bandwidth used for data transmission between the data transmission device 110 corresponding to the transmission device ID and the data reception device 120 corresponding to the reception device ID.

[0045] The priority information 602 includes, as items, information such as a transmission device ID, a reception device ID, and a priority. The transmission device ID is identification information for identifying the data transmission device 110. The reception device ID is identification information for identifying the data reception device 120. The priority is information indicating the priority of data transmission between the data transmission device 110 corresponding to the transmission device ID and the data reception device orresponding to the reception device ID. In the example of FIG. 6, it is shown that the priority of data transmission corresponding to the transmission device ID "b-1" and the reception device ID "c-1" is "1", and the priority is higher than that of data transmission corresponding to the transmission device ID "a-1" and the reception device ID "c-1".

[0046] For example, when data transmission corresponding to the transmission device ID "b-1" and the reception device ID "c-1" is being performed, it is assumed that data transmission corresponding to the transmission device ID "a-1" and the reception device ID "c-1", which has a higher priority, has newly started. In this case, the communication control unit 502 can update the usage band of the data transmission corresponding to the transmission device ID "b-1" and the reception device ID "c-1" based on the priority information 602, for example, as shown in FIG. 6.

[0047] The storage unit 503 stores various types of information and data such as communication information 601, priority information 602, etc.

[0048] <Processing flow> Subsequently, the processing flow of the communication method according to the present embodiment will be described by exemplifying a plurality of examples.

[0049] [Example 1] FIG. 7 is a sequence diagram showing an example of the processing of the communication system according to Example 1. This processing shows an example of the processing of transmitting data from the data transmission device 110 to the data reception device 120 in the communication system 1 described in FIGS. 1 to 6. In Example 1, an example of the processing when the data transmission device 110 and the data reception device 120 communicate one-to-one without the controller 140 will be described.

[0050] In steps S701 and S702, the acquisition unit 204 of the data transmission device 110 requests communication delay information from the data reception device 120 and acquires the communication delay information transmitted by the data reception device 120. For example, the acquisition unit 204 transmits an ICMP echo request to the data reception device 120 and acquires the response time measured by Ping measurement or the like, which receives the ICMP echo response transmitted by the data reception device 120, as information on the communication delay.

[0051] In step S703, the adjustment unit 205 of the data transmission device 110 adjusts (tunes) the parameters related to increasing the transmission rate of DCQCN based on the communication delay information acquired by the acquisition unit 204. For example, the adjustment unit 205 readjusts the increase interval so that the larger the communication delay value, the longer the increase interval for increasing the transmission rate limited by DCQCN becomes. The method for determining the increase interval may be, for example, by using correspondence information that shows the correspondence between the communication delay value and the increase interval value, or by using a calculation formula that calculates the increase interval value from the communication delay value.

[0052] Furthermore, the adjustment unit 205 may determine and reset the values ​​of the rise interval and rise width from the value of the communication delay, using correspondence information that shows the correspondence between the value of the communication delay, the value of the rise interval, and the value of the rise width.

[0053] In step S704, the transmission unit 201 of the data transmission device 110 starts transmitting data to the data receiving device 120 after the parameter adjustment is complete. At this time, the rate control unit 206 controls the transmission rate according to the parameters adjusted by the adjustment unit 205.

[0054] In step S705, when the switch 130 receives data transmitted by the data transmission device 110, it switches (distributes) the received data to the destination data receiving device 120.

[0055] In step S706, when the data transmission device 110 transmits data, the amount of data stored in the buffer 402 of the switch 130 exceeds the threshold. In this case, in step S707, the data distribution unit 403 of the switch 130 probabilistically sets the ECN bit based on WRED and switches the data to the destination data receiving device 120.

[0056] In step S708, if the ECN bit of the data received by the receiving unit 302 is set, the congestion control unit 304 of the data receiving device 120 sends a CNP (Congestion Notification Packet) to the source data transmitting device 110.

[0057] In step S709, when the rate control unit 206 of the data transmission device 110 receives a CNP, it limits the transmission rate of the data transmission (reduces the transmission rate). Also, in steps S710 and S711, the transmission unit 201 of the data transmission device 110 transmits the data to the data receiving device 120 at the limited transmission rate.

[0058] If the data transmission device 110 does not receive a CNP even after a predetermined rise interval has elapsed in this state, it executes the process 720 shown in Figure 7 for the case where a CNP is not received even after a predetermined rise interval has elapsed. Specifically, in step S721, the rate control unit 206 of the data transmission device 110 increases the transmission rate by a predetermined rise amount. Here, the predetermined rise interval and the predetermined rise amount are values ​​adjusted in step S703 based on the communication delay information.

[0059] As shown in Figure 7, the data transmission device 110 tunes the parameters related to the increase in the DCQCN transmission rate based on the communication delay information before starting data transmission, thereby suppressing the increase in the transmission rate during congestion caused by delays in the arrival of CNPs.

[0060] [Example 2] Figure 8 is a sequence diagram showing an example of the processing of the communication system according to Example 2. This processing shows another example of the process of transmitting data from the data transmission device 110 to the data receiving device 120 in the communication system 1 described in Figures 1 to 6. Example 2 describes an example of the processing when a controller 140 is present and data is transmitted from the data transmission device 110 to the data receiving device 120. Note that the basic processing content is the same as the processing of the communication system according to Example 1 described in Figure 7, so a detailed explanation of the processing content similar to that of Example 1 will be omitted here.

[0061] In step S801, the controller communication unit 203 of the data transmission device 110-1 transmits a connection request to the data receiving device 120. Preferably, this connection request includes priority information.

[0062] In steps S802 and S803, the connection request confirmation unit 501 of the controller 140 performs a connection confirmation with the data receiving device 120. For example, in step S802, the connection request confirmation unit 501 transmits a connection confirmation to the data receiving device 120. When the controller communication unit 303 of the data receiving device 120 receives the connection confirmation, it transmits a connection response to the controller 140 indicating whether the connection is possible or not. Here, the connection request confirmation unit 501 transmits a connection response to the controller 140 indicating that the connection is possible.

[0063] In step S804, the connection request confirmation unit 501 of the controller 140 notifies the data transmission device 110-1 that a connection is possible. If a connection is not possible, the connection request confirmation unit 501 notifies the data transmission device 110-1 that a connection is not possible and, for example, cancels the subsequent processing.

[0064] In steps S805 and S806, the acquisition unit 204 of the data transmission device 110-1 requests communication delay information from the data receiving device 120 and acquires the communication delay information transmitted by the data receiving device 120. Also, in step S807, the controller communication unit 203 of the data transmission device 110-1 notifies the controller 140 of the communication delay information.

[0065] In step S807, the adjustment unit 205 of the data transmission device 110-1 adjusts (tunes) the parameters related to increasing the transmission rate of DCQCN based on the communication delay information acquired by the acquisition unit 204.

[0066] In step S809, the transmission unit 201 of the data transmission device 110-1 starts transmitting data to the data receiving device 120 after the parameter adjustment is complete. At this time, the rate control unit 206 controls the transmission rate according to the parameters adjusted by the adjustment unit 205.

[0067] In step S810, when the switch 130 receives data transmitted by the data transmission device 110-1, it switches (distributes) the received data to the destination data receiving device 120.

[0068] In step S811, when the data transmission device 110 transmits data, the amount of data stored in the buffer 402 of the switch 130 exceeds the threshold. In this case, in step S812, the data distribution unit 403 of the switch 130 probabilistically sets the ECN bit based on WRED and switches the data to the destination data receiving device 120.

[0069] In step S813, if the ECN bit of the data received by the receiving unit 302 is set, the congestion control unit 304 of the data receiving device 120 sends a CNP to the data transmitting device 110-1 that is the source of the transmission.

[0070] In step S814, when the rate control unit 206 of the data transmission device 110-1 receives a CNP, it limits the transmission rate of the data transmission (reduces the transmission rate). Also, in steps S815 and S816, the transmission unit 201 of the data transmission device 110-1 transmits the data to the data receiving device 120 at the limited transmission rate.

[0071] If the data transmission device 110-1 does not receive a CNP even after a predetermined rise interval has elapsed in this state, it executes the process 720 described in Figure 7 for when a CNP is not received even after a predetermined rise interval has elapsed.

[0072] As shown in Figure 7, the data transmission device 110-1 tunes the parameters related to increasing the transmission rate of DCQCN based on the communication delay information before starting data transmission, thereby avoiding an increase in the transmission rate during congestion due to delays in the arrival of CNP. In addition, the controller 140 can update, for example, the communication information 601 and priority information 602 described in Figure 6.

[0073] [Example 3] Figure 9 is a sequence diagram showing an example of the processing of a communication system according to Example 3. This processing shows another example of the process of transmitting data from a data transmission device 110 to a data receiving device 120 in the communication system 1 described in Figures 1 to 6. Example 3 describes an example of the process when a controller 140 is present and data is transmitted from two data transmission devices 110-1 and 110-2 to the data receiving device 120.

[0074] Since the basic processing content is the same as that of the communication system in Example 1 described in Figure 7, a detailed explanation of the processing content similar to that in Example 1 will be omitted here.

[0075] In steps S901 and S902, for example, assume that data is being transmitted from the data transmission device 110-1 to the data receiving device 120 by the process shown in Figure 8.

[0076] In step S903, the controller communication unit 203 of the data transmission device 110-2 transmits a connection request to the data receiving device 120. Preferably, this connection request includes priority information. This allows the controller 140 to manage priority information 602, for example, as shown in Figure 6.

[0077] In steps S904 and S905, the connection request confirmation unit 501 of the controller 140 performs a connection confirmation with the data receiving device 120. For example, in step S904, the connection request confirmation unit 501 transmits a connection confirmation to the data receiving device 120. When the controller communication unit 303 of the data receiving device 120 receives the connection confirmation, it transmits a connection response to the controller 140 indicating whether the connection is possible or not. Here, the connection request confirmation unit 501 transmits a connection response to the controller 140 indicating that the connection is possible.

[0078] In step S906, the connection request confirmation unit 501 of the controller 140 notifies the data transmission device 110-2 that a connection is possible. If a connection is not possible, the connection request confirmation unit 501 notifies the data transmission device 110-2 that a connection is not possible, and the data transmission device 110-2, for example, cancels subsequent processing.

[0079] In steps S907 and S908, the acquisition unit 204 of the data transmission device 110-2 requests communication delay information from the data receiving device 120 and acquires the communication delay information transmitted by the data receiving device 120. In step S909, the controller communication unit 203 of the data transmission device 110-2 notifies the controller 140 of the communication delay information. As a result, the controller 140 can manage the communication delay information of the communication information 601, for example, as shown in Figure 6.

[0080] In step S910, the adjustment unit 205 of the data transmission device 110-2 adjusts (tunes) the parameters related to increasing the transmission rate of DCQCN based on the communication delay information acquired by the acquisition unit 204.

[0081] In step S911, the communication control unit 502 of the controller 140 notifies the data transmission device 110-2 of the information of the data transmission device 110. For example, the communication control unit 502 determines the transmission rate of the data transmission device 110-2 based on the information of the data transmission device 110-2 and the information of other data transmission devices (for example, the information of the data transmission device 110-1), and notifies the data transmission device 110-2 of the determined transmission rate.

[0082] In step S912, the rate control unit 206 of the data transmission device 110-2 limits the transmission rate based on the information of the data transmission device 110 notified by the controller 140.

[0083] In step S913, the communication control unit 502 of the controller 140 notifies the data transmission device 110-1 of the communication information of the data transmission device 110. For example, the communication control unit 502 determines the transmission rate of the data transmission device 110-1 based on the information of the data transmission device 110-1 and the information of another data transmission device (for example, the information of the data transmission device 110-2), and notifies the data transmission device 110-1 of the determined transmission rate.

[0084] In step S914, the rate control unit 206 of the data transmission device 110-1 limits the transmission rate based on the information of the data transmission device 110 notified by the controller 140.

[0085] In step S915, the transmission unit 201 of the data transmission device 110-2 starts transmitting data to the data receiving device 120 after the parameter adjustments have been completed and the transmission rate has been limited.

[0086] In step S916, when the switch 130 receives data transmitted by the data transmission device 110-2, it switches (distributes) the received data to the destination data receiving device 120.

[0087] In steps S917 and S918, the transmission unit 201 of the data transmission device 110-1 continues to transmit data to the data receiving device 120 at the transmission rate limited in step S914.

[0088] As shown in Figure 9, the data transmission device 110 obtains information about the data transmission device, including communication bandwidth information, from the controller 140, and limits the transmission rate based on that information, thereby avoiding (reducing) congestion at the start of transmission.

[0089] <Hardware Configuration> The data transmission device 110, data receiving device 120, switch 130, and controller 140 according to this embodiment have, for example, the hardware configuration of a computer 1000 as shown in Figure 10. Note that the computer is not limited to a physical machine, but may be, for example, a virtual machine on the cloud.

[0090] Figure 10 shows an example of a computer hardware configuration. In the example in Figure 10, the computer 1000 includes a processor 1001, memory 1002, storage device 1003, communication device 1004, input device 1005, output device 1006, and bus B, etc.

[0091] The processor 1001 is a computing device such as a CPU (Central Processing Unit) that realizes various functions by executing a predetermined program. The memory 1002 is a storage medium that can be read by the computer 1000, and includes, for example, RAM (Random Access Memory) and ROM (Read Only Memory). The storage device 1003 is a storage medium that can be read by the computer, and includes, for example, an HDD (Hard Disk Drive) and an SSD (Solid State Drive). The storage device 1003 may also include various optical discs and magneto-optical discs.

[0092] The communication device 1004 includes one or more hardware components (transmitting and receiving devices) for communicating with other devices via a wireless or wired network. The input device 1005 is an input device (e.g., keyboard, mouse, microphone, switch, button, sensor, etc.) that accepts input from an external source. The output device 1006 is an output device (e.g., display, speaker, LED lamp, etc.) that outputs to an external source.

[0093] Bus B is connected in common to all of the above components and transmits, for example, address signals, data signals, and various control signals. The processor 1001 may include, in addition to (or instead of) the CPU, a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array).

[0094] Furthermore, the above program may be for the purpose of realizing some of the functions described above, and may also be for realizing the above functions in combination with a program already recorded in the computer 1000. In addition, some or all of the functions of the communication system 1 may be realized using hardware such as a PLD or FPGA.

[0095] <Effects of the Embodiment> According to this embodiment, congestion control algorithms such as DCQCN can be easily applied to long-distance data transmission. For example, in the communication system 1 according to this embodiment, by performing parameter tuning based on communication delay information for each data transmission device 110, DCQCN can be executed over long distances in a manner suitable for each data transmission device 110.

[0096] Furthermore, the data transmission device 110 can prevent data loss at the start of data transmission by obtaining information about the data transmission device 110 (for example, information such as transmission rate, communication bandwidth, or priority) from the controller 140 at the start of communication and limiting the transmission rate.

[0097] Furthermore, the data transmission device 110 can achieve optimal performance even in environments where the communication delay value fluctuates dynamically, such as in an APN (Access Point Name), by performing parameter tuning to match the communication delay value.

[0098] <Summary of Embodiments> This specification discloses data transmission devices and data transmission methods, at least as described below. (Section 1) A data transmission device for transmitting data to a data receiving device, comprising: an acquisition unit for acquiring information on communication delay between the data receiving device and the data receiving device; an adjustment unit for adjusting parameters relating to the transmission rate increase of a congestion control algorithm based on the communication delay information before transmitting the data; and a rate control unit for controlling the transmission rate of the data using the congestion control algorithm with the parameters. (Section 2) The data transmission device according to Section 1, wherein the congestion control algorithm is DCQCN, and the parameters relating to the transmission rate increase include an increase interval for increasing the transmission rate limited by DCQCN, and / or an increase amount for increasing the transmission rate. (Section 3) The data transmission device according to Section 1 or Section 2, comprising a controller communication unit for communicating with a controller for managing information on a plurality of data transmission devices, wherein the rate control unit limits the transmission rate of the data based on information on the data transmission devices received from the controller before transmitting the data. (Clause 4) A data transmission method comprising: a data transmission device that transmits data to a data receiving device; an acquisition process that acquires information on the communication delay between the data receiving device and the data receiving device; an adjustment process that adjusts parameters relating to the increase of the transmission rate of a congestion control algorithm based on the information on the communication delay before transmitting the data; and a rate control process that controls the transmission rate of the data using the congestion control algorithm with the parameters.

[0099] Although this embodiment has been described above, the present invention is not limited to this specific embodiment, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims.

[0100] 1. Communication system 110, 110-1, 110-2. Data transmission devices 120, 120-1, 120-2. Data receiving devices 130, 130-1, 130-2, 130-3. Switch 140. Controller 201. Transmitter 202. Receiver 203. Controller communication unit 204. Acquisition unit 205. Adjustment unit 206. Rate control unit 1000. Computer

Claims

1. A data transmission device for transmitting data to a data receiving device, comprising: an acquisition unit for acquiring information on the communication delay between the data receiving device and the data receiving device; an adjustment unit for adjusting parameters relating to the increase of the transmission rate of a congestion control algorithm based on the communication delay information before transmitting the data; and a rate control unit for controlling the transmission rate of the data using the congestion control algorithm with the parameters.

2. The data transmission device according to claim 1, wherein the congestion control algorithm is DCQCN, and the parameters relating to the increase in the transmission rate include an increase interval for increasing the transmission rate limited by DCQCN, and / or an increase amount for increasing the transmission rate.

3. A data transmission device according to claim 1 or 2, comprising a controller communication unit that communicates with a controller that manages information of a plurality of data transmission devices, wherein the rate control unit limits the transmission rate of the data based on information of the data transmission devices received from the controller before transmitting the data.

4. A data transmission method comprising: a data transmission device that transmits data to a data receiving device; an acquisition process that acquires information on the communication delay between the data receiving device and the data receiving device; an adjustment process that adjusts parameters related to increasing the transmission rate of a congestion control algorithm based on the information on the communication delay before transmitting the data; and a rate control process that controls the transmission rate of the data using the congestion control algorithm with the parameters.