The present invention is based on priority of JP Patent Application No. 2018-078872 (filed on Apr. 17, 2018). The entire contents thereof are incorporated by reference into the present application.
The present invention relates to a relay device, a relay method, and a program.
It is a general configuration of an internet connection via a mobile network that a relay device is arranged on a boundary of both networks so as to terminate TCP (Transmission Control Protocol) in order to suppress worsening of communication quality due to difference in network properties. In the relay device of this type, it is required to set a relevant setting value of a window size and the like for notifying a transmission source of data volume capable of being received at once by a reception side together with network throughput. In a case where this window size or the like is not relevantly set, there is a possibility that sufficient speeding up is not realized nor yet that communication speed is worsened due to occurrence of packet loss.
A packet loss base scheme, a delay base scheme, and a hybrid scheme of a combination thereof are known as a congestion control algorithm for TCP. In the packet loss base scheme, packet loss is monitored, increase in the loss is regarded as occurrence of congestion, and then transmission volume is suppressed, which is exemplified by a CUBIC algorithm or the like. In the delay base scheme, packet delay is monitored, increase in delay volume is determined as occurrence of congestion state, and then transmission volume is reduced, which is exemplified by Westwood+scheme or the like.
In addition, Patent Literatures 1 to 3 disclose a configuration in which congestion window value and a window size are changed. Patent Literature 1 discloses a base station capable of improving throughput after avoiding congestion. According to the same literature, the base station comprises a transmission buffer 251 for accumulating TCP packets to be transmitted from the base station to a communication terminal via a radio link. In addition, the base station comprises a congestion control part 245 that controls the volume of TCP packet entering the transmission buffer 251 based on the minimum window value among a congestion window value and a reception window value reported from the communication terminal. Further, the base station comprises a congestion window value setting part 243 that reduces the congestion window value to a predetermined value when an accumulation volume of the TCP packets in the transmission buffer 251 reaches a threshold or more. Further, the congestion window value setting part 243 sets the congestion window value at a value which is higher than the predetermined value and equal to or more than the reception window value when the accumulation volume of the TCP packets in the transmission buffer 251 is reduced to a value lower than the threshold after reduction of the congestion window value.
Patent Literature 2 discloses a communication apparatus capable of preventing reduction in throughput. According to the same literature, the communication apparatus comprises a transmission buffer 14 that accumulates transmission packets output from a packet processing part 15 and outputs the transmission packets to a communication part 11 under control by a buffer control part 16. In addition, the communication apparatus comprises a buffer monitoring part 13 that monitors vacant volume (free volume) of the transmission buffer 14 at all the time, and outputs a monitoring result to a window size changing part 12. Further, the communication apparatus comprises the window size changing part 12 that changes a window size notified by another communication apparatus using an ACK packet based on the vacant volume of the transmission buffer 14. Further, the communication apparatus comprises a packet processing part 15 that generates new transmission packets within an upper limit of the changed window size and outputs them to the transmission buffer 14.
In addition, Patent Literature 3 discloses a congestion control node apparatus that executes congestion control of a layer-2 switch which executes flow control.
The following analyses have been made by the present invention. There are problems that, as a result of re-transmission and reduction in throughput due to packet loss in the relay device described above, reduction in facility utilization efficiency occurs for a communication carrier and reduction in feeling quality occurs for users.
As to this point, Patent Literature 1, at paragraph 0040, discloses that it is difficult for a transmission source to comprehend the packet accumulation volume in the transmission buffer of a relay node. In addition, the same paragraph merely discloses that congestion window value is gradually increased so that the packet loss due to overflow of the buffer does not occur in the relay node frequently.
In addition, Patent Literature 2 discloses a method in which a window size notified by a transmission destination is rewritten based on the vacant volume of the transmission buffer in the communication terminal at the transmission side of data packet. It is the same as Patent Literature 1 that it is difficult to comprehend packet congestion volume in the transmission buffer of the relay node.
It is a purpose of the present invention to provide a relay device, a data relay method and a program capable of contributing to suppress reduction of the facility utilization efficiency and reduction of the user feeling quality due to a relay device arranged at a boundary of two networks comprising a mobile network.
According to a first aspect, there is provided a relay device, comprising a proxy part that terminates each of TCP (Transmission Control Protocol) communications with a data providing side apparatus and with a data transmission destination apparatus to be a transmission destination of data received from the data providing side apparatus; a transmission buffer storing data to be transmitted to the data transmission destination apparatus among data received from the data providing side apparatus; a reception ability prospecting part that prospects reception ability of the data transmission destination apparatus based on vacant volume of the transmission buffer; and a transfer rate control part that instructs the data providing side apparatus of a transfer rate based on the reception ability of the data transmission destination apparatus.
According to a second aspect, there is provided a data relay method, wherein a relay device comprising: a proxy part that terminates each of TCP communications with a data providing side apparatus and with a data transmission destination apparatus to be a transmission destination of data received from the data providing side apparatus; and a transmission buffer storing data to be transmitted to the data transmission destination apparatus among data received from the data providing side apparatus, and transmitting data received from the data providing side apparatus to the data transmission destination apparatus is configured to perform steps comprising: a step of prospecting reception ability of the data transmission destination apparatus based on vacant volume of the transmission buffer, and a step of instructing the data providing side apparatus of a transfer rate based on the reception ability of the data transmission destination apparatus. The method is related to a specific machine as a relay device arranged on a boundary of a mobile network and a core network.
According to a third aspect, there is provided a program, causing a computer installed in a relay device comprising: a proxy part that terminates each of TCP communications with a data providing side apparatus and with a data transmission destination apparatus to be a transmission destination of data received from the data providing side apparatus; and a transmission buffer storing data to be transmitted to the data transmission destination apparatus among data received from the data providing side apparatus, and transmitting data received from the data providing side apparatus to the data transmission destination apparatus, and transmitting data received from the data providing side apparatus to the data transmission destination apparatus, to execute the following processes: a process of prospecting reception ability of the data transmission destination apparatus based on vacant volume of the transmission buffer, and a process of instructing the data providing side apparatus of a transfer rate based on the reception ability of the data transmission destination apparatus. Herein, the program may be stored in a storage medium which may be read by a computer (non-transitory). That is, the present invention may be realized as a computer program product.
According to the present invention, reduction of the facility utilization efficiency and reduction of the user feeling quality due to a relay device arranged at a boundary of two networks comprising a mobile network may be suppressed.
First, an outline of one exemplary embodiment of the present invention will be explained while referring to drawings. Herein, reference signs described in the outline is expediently appended to each element as one example for an explanatory aid for understanding, but not for limitation of the present invention to a configuration illustrated in the drawings. In addition, a connection line between blocks in the drawings and the like referred to in the following explanation comprises both of bidirection and single direction. One-way arrow schematically indicates a main signal (data) flow, but not excluding bidirectional flows.
In one exemplary embodiment, the present invention is realized by a relay device 12 that relays data transmitted from a data providing side apparatus 11 to a data transmission destination apparatus 13 as illustrated in
The proxy part 121 terminates each of TCP communications between the data providing side apparatus 11 and own device (the relay device 12) and TCP communications between own device (the relay device 12) and the data transmission destination apparatus 13.
The transmission buffer 122 stores pre-transmission data (data not transmitted yet) to be transmitted to the data transmission destination apparatus, and data of pre-ACK reception (before reception acknowledgement) after transmission.
The reception ability prospecting part 123 prospects reception ability of the data transmission destination apparatus 13 based on vacant volume (free volume) of the transmission buffer 122.
In addition, the transfer rate control part 124 instructs the data providing side apparatus 11 of a transfer rate based on the prospected reception ability of the data transmission destination apparatus 13. The instruction of the transfer rate may be realized by, for example, designating a window size in a TCP header of ACK (reception acknowledgement) transmitted to the data providing side apparatus 11.
According to the exemplary embodiment above, occurrence of packet loss and delay may be suppressed between own device (the relay device 12) and the data transmission destination apparatus 13. It is because such a configuration is adopted, that an omen of occurrence of packet loss and/or delay is comprehended based on the vacant volume of the transmission buffer, and the transfer rate is changed at an early stage.
Next, a first exemplary embodiment of the present invention will be explained in detail while referring to the drawings.
The data providing side apparatus 100 comprises, for example, a server and the like arranged on an internet or a cloud service platform.
The terminal apparatus 300 comprises a smartphone, a personal computer (PC), an IoT (Internet of Thing) apparatus and the like which receive data from the data providing side apparatus 100 via the networks 400, 500.
The network 400 comprises, for example, an internet or a local area network. On the other hand, the network 500 comprises a radio access network. The network 500 has a high tendency of occurrence of packet loss and/or delay due to change in radio quality and the like as compared to the network 400, thus the relay device 200 is arranged. The relay device 200 provides TCP connections to each of the data providing side apparatus 100 and the terminal apparatus 300, and communicates with them depending on their network properties, respectively.
Referring to
The transmission control part 210 comprises a transfer rate control part 211, a reception ability prospecting part 212 and a transmission buffer monitoring part 213.
The proxy part 230 provides TCP connections to each of the data providing side apparatus 100 and the terminal apparatus 300 and communicates with them depending on their network properties, respectively. More concretely, the proxy part 230 transmits data to the side of the terminal apparatus 300 based on a window size which has been notified from a reception side apparatus (i.e., the terminal apparatus 300 herein). In addition, the proxy part 230 is also configured to notify a data providing side apparatus 100 of a window size which has been determined by the transmission control part 210.
The transmission buffer 220 is a buffer for accumulating data destined to the terminal apparatus 300, which has been received from the data providing side apparatus 100.
The transmission control part 210 comprises the transfer rate control part 211, the reception ability prospecting part 212 and the transmission buffer monitoring part 213.
The transmission buffer monitoring part 213 periodically monitors vacant volume of the buffer and transmits a result thereby to the reception ability prospecting part 212.
The reception ability prospecting part 212 prospects the reception ability of a reception side apparatus (i.e., the terminal apparatus 300 herein) based on the change in the vacant volume of the buffer which has been received from the transmission buffer monitoring part 213. The reception ability prospecting part 212 transmits the prospected reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein) to the transfer rate control part 211.
The transfer rate control part 211 determines a window size to be notified to the data providing side apparatus 100 based on the prospected reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein) which has been received from the reception ability prospecting part 212. Herein, in addition to the above described matter, the transfer rate control part 211 may increase or decrease the window size which has been received from the reception side apparatus (i.e., the terminal apparatus 300 herein) based on the prospected reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein).
Next, operations of the present exemplary embodiment will be explained in detail while referring to drawings.
Next, the relay device 200 prospects the reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein) using change in the vacant volume of the transmission buffer 220 (step S002).
Herein, the vacant volume of the transmission buffer 220 is defined as follows.
In an example of
Next, the relay device 200 changes the transfer rate based on the prospect reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein) and instructs the data providing side apparatus 100 of it (step S003). For example, in a case where it is determined that the reception ability of the terminal apparatus 300 is in a lower state in comparison with a data transfer rate based on a current window size as illustrated in
Similarly, in a case where it is determined that the reception ability of the terminal apparatus 300 is in a higher state in comparison with a data transfer rate based on a current window size as illustrated in
Herein, the instruction of the data transfer rate in the above described step S003 may be executed by a method in which a value corresponding to the data transfer rate is set in a window size field of a header upon ACK transmission to the data providing side apparatus 100.
Herein, concrete examples of determination of the data transfer rate will be explained while referring to
On the other hand, as illustrated in
As described above, according to the present exemplary embodiment, the data transfer rate between the data providing side apparatus 100 and the relay device 200 may be changed before occurrence of re-transmission between the relay device 200 and the terminal apparatus 300. Thereby, unnecessary packet transmission (re-transmission and pause frame) may be suppressed, too.
Further, according to the present exemplary embodiment, excessive increase or decrease in the data transfer rate may be avoided, thus resources in the entire network may be effectively used while considering the other communication. Furthermore, the data transfer rate may be gradually changed, thus there is an advantage that no severe effects are provided onto user's feeling on service level.
In the above described exemplary embodiment, the transfer rate of the upstream side apparatus is changed based on the reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein). However, similar effect may be exerted by changing the service level. Herein, the service level refers to: difference in compression level involving presence or absence of compression of image in a service from the data providing side apparatus 100 to the terminal apparatus 300: difference in data encoding manner, level (high/low) in bit rate of movie to be provided; and the like.
The service level change part 211a determines a service level of the data providing side apparatus 100 based on the prospected reception ability of the reception side apparatus (i.e., the terminal apparatus 300 herein), which has been received from the reception ability prospecting part 212, and notifies the side of the data providing side apparatus 100 of it.
For example, in a case where the state of the transmission buffer is changed as illustrated in
In a case where the state of the transmission buffer is changed as illustrated in
Herein, in the above described exemplary embodiment, explained is a case where only the service level is changed. However, the data transfer rate may be also changed together with the change in the service level.
As described above, although the exemplary embodiments of the present invention are explained, the present invention is not limited to the exemplary embodiments above. Further modification, replacement and adjustment may be added thereto within a range not-deviating from a technical concept of the present invention. For example, a network configuration illustrated in each figure, a configuration of each elements, expressed state of a message are a mere example of an explanatory aid for understanding the present invention, thus they are not limited to a configuration illustrated in these figures. In addition, a phrase “A and/or B” is used as meaning at least any one of A and B in the following explanation.
Further, the steps indicated in the above first and second exemplary embodiments may be realized by a program which causes a computer acting as the relay device 200, 200a (9000 in
In other words, each part (processing means, function) of the relay devices 200, 200a indicated in the above first, second exemplary embodiments may be realized by a computer program which causes a processor installed in a relay device to execute each process described above using its hardware.
Last, preferable modes of the present invention are summarized.
Each disclosure of the above Patent Literatures is incorporated herein by reference thereto. Variations and adjustments of the exemplary embodiment and examples are possible within the ambit of the entire disclosure (including the claims) of the present invention and based on the basic technical concept of the present invention. Various combinations and selections (including non-selection) of various disclosed elements (including each element in each claim, each exemplary embodiment, each example, each drawing, etc.) are possible within the ambit of the disclosure of the present invention. Namely, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the overall disclosure including the claims and the technical concept.
Particularly, a numerical value range described in the present description should be interpreted as describing arbitrary numerical values or small ranges included in the ranges, even if they are not described explicitly.
Number | Date | Country | Kind |
---|---|---|---|
2018-078872 | Apr 2018 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/016247 | 4/16/2019 | WO | 00 |