WO2020012973A1 - 通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体 - Google Patents

通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体 Download PDF

Info

Publication number
WO2020012973A1
WO2020012973A1 PCT/JP2019/025630 JP2019025630W WO2020012973A1 WO 2020012973 A1 WO2020012973 A1 WO 2020012973A1 JP 2019025630 W JP2019025630 W JP 2019025630W WO 2020012973 A1 WO2020012973 A1 WO 2020012973A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
transmission
transmitting
communication control
transmitting device
Prior art date
Application number
PCT/JP2019/025630
Other languages
English (en)
French (fr)
Inventor
徹 大須賀
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2020530099A priority Critical patent/JP7111162B2/ja
Priority to US17/258,299 priority patent/US20210273889A1/en
Publication of WO2020012973A1 publication Critical patent/WO2020012973A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Definitions

  • the present invention relates to a communication control device, a method, a program, and a non-transitory recording medium readable by a computer.
  • transmission rate control for example, CUBIC and NewReno
  • transmission rate control for example, CUBIC and NewReno
  • Patent Literature 1 discloses that in a relay device, an acknowledgment (ACK) transmitted to a transmission device by a reception device in response to data received from the transmission device is replaced by the transmission device in place of the reception device. To transmit the data to a receiving device by adjusting the transmission speed.
  • Patent Document 2 also discloses a substantially similar technique.
  • Patent Literature 3 discloses that a relay device estimates an available bandwidth of a network, estimates a target transmission speed based on the available bandwidth, and sends an ACK to the transmission device so that the target transmission speed approaches the current transmission speed. Techniques for adjusting the frequency of packet transmission have been disclosed.
  • Patent Documents 1-3 are based on the premise that the relay device can generate or modify an ACK packet as a proxy and transmit the ACK to the transmitting device.
  • the relay device cannot generate and modify the ACK packet due to the protocol used.
  • the ACK packet may be encrypted or authenticated, and the relay device may generate and modify the ACK packet and become unable to transmit and receive.
  • the relay device cannot recognize the acknowledgment number of the ACK packet and cannot determine whether the packet has arrived normally or has been lost, so that the retransmission of the lost packet is promoted.
  • the ACK packet cannot be transmitted. In such a case, it becomes difficult to apply the techniques of Patent Documents 1-3.
  • An object of the present invention is to provide a communication control device and a communication control method capable of improving the communication throughput between a transmitting device and a receiving device regardless of a protocol used.
  • the communication control device transmits the packet that is transmitted from the transmission device to the reception device and cannot be generated or modified at a relay point between the transmission device and the reception device.
  • the acknowledgment packet that cannot be generated and modified at the relay point between the receiving device and the transmitting device is received from the receiving device, and the first communication processing unit transmits the acknowledgment packet to the transmitting device.
  • the communication control device includes a control unit that controls the packet or the acknowledgment packet so that the transmission device changes a transmission speed.
  • the method according to an aspect of the present invention is a method of transmitting a packet transmitted from a transmitting device to a receiving device, the packet being unable to be generated and modified at a relay point between the transmitting device and the receiving device, from the transmitting device.
  • a program according to an aspect of the present invention is a program for transmitting, from a transmitting device, a packet that is transmitted from a transmitting device to a receiving device and that cannot be generated or modified at a relay point between the transmitting device and the receiving device.
  • a non-transitory recording medium readable by a computer is a packet transmitted from a transmission device to a reception device, and is generated and modified at a relay point between the transmission device and the reception device. Receiving the packet that cannot be received from the transmitting device, transmitting the packet to the receiving device, and an acknowledgment packet for the packet, and relaying the packet between the receiving device and the transmitting device.
  • the acknowledgment packet which cannot be generated and modified at the point, receiving the acknowledgment packet from the receiving device, transmitting the acknowledgment packet to the transmitting device, and changing the transmission speed of the transmitting device or the packet or the Controls the acknowledgment packet and can be read by a computer that stores a program that causes the processor to execute It is a non-transitory recording medium.
  • FIG. 2 is a block diagram illustrating an example of a schematic hardware configuration of a communication control device according to the first embodiment.
  • FIG. 3 is a sequence diagram for explaining an example of transmitting a packet from the transmitting device 10 to the receiving device 20 according to the first embodiment.
  • FIG. 4 is a sequence diagram for describing a first example of transmission timing adjustment according to the first embodiment.
  • FIG. 6 is a sequence diagram for explaining a second example of the adjustment of the transmission timing according to the first embodiment.
  • FIG. 7 is a sequence diagram for explaining a third example of transmission timing adjustment according to the first embodiment.
  • FIG. 5 is a sequence diagram for describing an example of adjusting a packet transmission order according to the first embodiment.
  • FIG. 6 is a sequence diagram for describing an example of discarding a part of an ACK packet according to the first embodiment.
  • FIG. 9 is a block diagram illustrating an example of a schematic functional configuration of a communication control device according to a second embodiment.
  • the expression “A and / or B” means “both A and B” (both A and B) or “one of A and B” (either A or B).
  • CUBIC CUBIC is a congestion control method that is used as standard in TCP (Transmission Control Protocol) after Linux (registered trademark) 2.6.19.
  • CUBIC is a method of controlling the transmission speed based on the presence or absence of packet loss, and can be said to be a loss-based method.
  • FIG. 1 is an explanatory diagram for explaining an example of a change in a congestion window (Congestion @ Window: cwnd) in CUBIC.
  • the transmitting device increases cwnd by one packet each time ACK is received.
  • cwnd increases exponentially on the time axis. This increase continues until cwnd reaches a predetermined threshold (initial ssthresh).
  • the transmitting device increases cwnd in a cubic function as time passes, as long as ACK is normally received.
  • the transmitting device receives an overlapped acknowledgment (DupACK) for the same packet three times, the transmitting device determines that the traffic is lightly congested and reduces cwnd by a fixed ratio (for example, 30%). Is determined to be severe congestion, and cwnd is set to two packets.
  • the transmitting device increases cwnd during normal reception of ACK, but decreases cwnd according to occurrence of DupACK or the like due to congestion. I have.
  • the transmitting device increases or decreases cwnd in accordance with the ACK reception status. That is, the transmission device changes the transmission speed according to the ACK reception status.
  • BBR BBR Bottom Bandwidth and Round-trip propagation time
  • BBR is a congestion control method that can be used in recent TCP, QUIC, and the like.
  • BBR is a method of controlling the transmission speed based on network performance estimated from transmission and reception of packets, and can be said to be a function-based method.
  • the transmission device estimates network performance while transmitting data, and determines the amount of transmission data from the estimation result. Unlike CUBIC, even if a packet loss occurs, the transmission data amount is not controlled.
  • BBR data is transmitted by adjusting the “pace” and “upper limit” of the transmission data amount, and “available bandwidth” and “communication delay” are continuously estimated.
  • the transmitting apparatus increases the upper limit of the pace densely by “STARTUP”, increases the upper limit of the pace slowly by “DRAIN”, and increases the upper limit of “PROBE_BW”.
  • the pace is set to normal (small fluctuation), and the upper limit is set to normal.
  • PROBE_RTT the pace is set to normal and the upper limit is set to the minimum.
  • the transmitting device estimates the maximum value of “amount of arrival confirmation data ⁇ elapsed time” within a certain time as “available band”, and estimates the minimum value of RTT (RoundoTrip Time) within a certain time as “communication delay”. .
  • the “available band” is called BtlBw (BottleneckthBandwidth)
  • the “communication delay” is called RTprop (Round-Trip propagation time):
  • the transmitting apparatus calculates the “transmission data amount” by multiplying the “available band” by the “communication delay”. This “transmission data amount” is called BDP (Bandwidth-Delay @ Product).
  • FIG. 3 is a graph showing an example of a change in wireless band and a change in throughput due to transmission rate control (CUBIC).
  • the throughput changes due to the transmission rate control (CUBIC) by CUBIC in accordance with the fluctuation of the radio band, but the throughput cannot sufficiently follow the fluctuation of the radio band.
  • FIG. 4 is an explanatory diagram for explaining an example of a QUIC packet.
  • a QUIC packet is shown as an SDU (Service @ Data @ Unit) of the UDP packet.
  • a QUIC packet includes a QUIC packet header and a payload, where the payload includes one or more QUIC frames.
  • Each QUIC frame includes a QUIC frame header and QUIC data.
  • the payload in the QUIC packet is encrypted.
  • the QUIC packet header is not encrypted but is authenticated and cannot be altered.
  • FIG. 5 is an explanatory diagram showing an example of a schematic configuration of the system 1 according to the embodiment of the present invention.
  • the system 1 includes a transmitting device 10, a receiving device 20, and a communication control device 100.
  • the communication control device 100 may be called a relay device.
  • the transmitting device 10 transmits the packet to the receiving device 20.
  • the communication control device 100 is located between the transmitting device 10 and the receiving device 20, and transfers (or relays) the packet. Specifically, the communication control device 100 receives the packet from the transmitting device 10 via the transmitting network 30 and transmits the packet to the receiving device 20 via the receiving network 40.
  • the packet is a data packet.
  • the transmitting device 10 when the user downloads the content, the transmitting device 10 may be a server, and the receiving device 20 may be a personal computer (PC) or a smartphone.
  • the receiving network 40 may be a mobile network, may be the Internet, or may include the Internet and a mobile network.
  • the transmitting device 10 when the user uploads the content, the transmitting device 10 may be a personal computer (PC) or a smartphone, and the receiving device 20 may be a server.
  • the transmitting device 10 and the receiving device 20 are not limited to these examples.
  • the transmission device 10 controls the transmission speed using the transmission control method.
  • the transmission control method is a first transmission control method (for example, a loss-based transmission control method such as CUBIC) that controls the transmission speed based on the presence or absence of a packet loss.
  • the transmission control method is a second transmission control method (for example, a function-based transmission control method such as BBR) that controls a transmission speed based on network performance estimated from packet transmission / reception.
  • the transmission control method is not limited to these examples. Note that the above-mentioned transmission control method can also be called a congestion control method.
  • FIG. 6 is a block diagram illustrating an example of a schematic functional configuration of the communication control device 100 according to the first embodiment.
  • the communication control device 100 includes a first communication processing unit 110, a second communication processing unit 120, a current transmission speed estimation unit 130, a target transmission speed estimation unit 140, a transmission control estimation unit 150, and a control unit 160. Prepare.
  • the first communication processing unit 110 transmits and receives packets.
  • the first communication processing unit 110 receives a packet (for example, a data packet) from the transmitting device 10 and transmits a packet (for example, an ACK packet) to the transmitting device 10.
  • a packet for example, a data packet
  • a packet for example, an ACK packet
  • the second communication processing unit 120 transmits and receives packets. For example, the second communication processing unit 120 transmits a packet (for example, a data packet) to the receiving device 20 and receives a packet (for example, an ACK packet) from the receiving device 20.
  • a packet for example, a data packet
  • a packet for example, an ACK packet
  • the first communication processing unit 110 and the second communication processing unit 120 perform, for example, processing of one or more protocol layers.
  • the one or more protocol layers include a layer 3 (network layer) or more protocol layers.
  • the one or more protocol layers may further include a layer 2 or lower protocol layer.
  • the one or more protocol layers may include only the protocol layers of Layer 2 or lower.
  • the first communication processing unit 110 and the second communication processing unit 120 may be integrated as one communication processing unit.
  • the transmission control estimation unit 150 estimates the transmission control scheme used by the transmission device 10 for each session or stream related to the packet being transferred by the communication control device 100.
  • first communication processing unit 110 More specific operations of the first communication processing unit 110, the second communication processing unit 120, the current transmission speed estimation unit 130, the target transmission speed estimation unit 140, the transmission control estimation unit 150, and the control unit 160 are described in the first embodiment. The technical features of the embodiment will be described later.
  • the transmitting device 10 transmits at least a partly authenticated packet
  • the receiving device 20 transmits at least a partly authenticated ACK packet.
  • the communication control device 100 cannot generate and modify the packet and the ACK packet.
  • the adjustment of the transmission timing may include delaying transmission of the ACK packet.
  • the communication control device 100 (control unit 160) may delay transmission of the ACK packet.
  • the retransmission packet can be transferred preferentially.
  • the retransmitted packet becomes the arrival confirmed packet earlier, the amount of the packet remaining in the transmission window is reduced earlier, and more new packets can be transmitted. That is, the transmission speed of the transmission device 10 can be increased, and the communication throughput between the transmission device 10 and the reception device 20 can be improved.
  • the transmitting device 10 it is possible to show the transmitting device 10 that data packets have been transmitted collectively.
  • the transmission device 10 uses a function-based transmission control method (for example, BBR or the like)
  • the maximum value of the available bandwidth increases, and the transmission data amount may increase. That is, the transmission speed of the transmission device 10 can be increased, and the communication throughput between the transmission device 10 and the reception device 20 can be improved.
  • FIG. 13 is a block diagram illustrating an example of a schematic functional configuration of a communication control device 300 according to the second embodiment.
  • the communication control device 300 includes a first communication processing unit 310, a second communication processing unit 320, and a control unit 330.
  • the second communication processing unit 320 transmits and receives packets. For example, the second communication processing unit 320 transmits a packet (for example, a data packet) to the receiving device 20 and receives a packet (for example, an ACK packet) from the receiving device 20.
  • a packet for example, a data packet
  • a packet for example, an ACK packet
  • the hardware configuration of the communication control device 300 according to the second embodiment is, for example, the same as the hardware configuration of the communication control device 100 according to the first embodiment. Therefore, duplicate description is omitted here.
  • the acknowledgment (ACK) packet for the above packet is an ACK packet that cannot be generated and modified at a relay point between the receiving device 20 and the transmitting device 10.
  • a target transmission rate estimating unit that estimates a target transmission rate between the transmitting device and the receiving device, Further comprising The control unit performs the control based on the target transmission speed, 11.
  • the communication control device according to any one of supplementary notes 1 to 10.
  • a current transmission rate estimating unit that estimates a current transmission rate between the transmitting device and the receiving device, Further comprising The control unit performs the control based on the current transmission speed and the target transmission speed, The communication control device according to supplementary note 11.
  • the communication control device according to any one of supplementary notes 1 to 12.
  • the transmission device is a transmission device that uses a first transmission control method or a second transmission control method
  • the first transmission control method is a transmission control method for controlling a transmission speed based on the presence or absence of a packet loss
  • the second transmission control method is a transmission control method that controls a transmission speed based on network performance estimated from transmission and reception of packets.
  • the communication control device according to any one of supplementary notes 1 to 13.

Abstract

【課題】使用されるプロトコルによらず送信装置と受信装置との間の通信のスループットを向上させることを可能にすること。 【解決手段】本発明の一態様に係る通信制御装置は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信する第1通信処理部と、上記パケットを上記受信装置へ送信する第2通信処理部と、を備え、前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、前記通信制御装置は、前記送信装置が送信速度を変更するように上記パケット又は前記確認応答パケットの制御を行う制御部、をさらに備える。

Description

通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体
 本発明は、通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体に関する。
 近年、スマートフォンやタブレット等の高機能なモバイル端末の普及に伴い、モバイルネットワーク経由のトラヒックが増加している。
 多くの通信で使用されている送信速度制御(例えば、CUBIC及びNewReno等)では、モバイルネットワークにおける急激な帯域変動に追従することが困難である。そのため、帯域が十分に使われず、スループットが低下し得る。
 送信装置から受信装置へパケットを中継する中継装置において送信速度を調整する技術がある。例えば、特許文献1には、中継装置において、送信装置から受信したデータに対して本来ならば受信装置によって当該送信装置へ送信される確認応答(Acknowledgement:ACK)を受信装置に代わって当該送信装置へ送信し、送信速度を調整して当該データを受信装置へ送信する技術が、開示されている。特許文献2にも、概ね同様の技術が開示されている。特許文献3には、中継装置において、ネットワークの可用帯域を推定し、当該可用帯域に基づいて目標送信速度を推定し、当該目標送信速度が現在の送信速度に近づくように、送信装置へのACKパケットの送信の頻度を調整する技術が、開示されている。
特開2003-124984号公報 国際公開第2015/048999号 特開2018-067788号公報
 特許文献1-3の技術は、中継装置が代理としてACKパケットを生成又は改変し、当該ACKを送信装置へ送信できることを前提としている。
 しかし、使用されるプロトコルに起因して、中継装置がACKパケットを生成及び改変できない場合もある。一例として、ACKパケットが暗号化又は認証され、中継装置が当該ACKパケットを生成及び改変し、送受信できなくなり得る。また、ACKパケットが暗号化される場合には、中継装置はACKパケットの確認応答番号を把握できず、パケットが正常に届いたのか、ロスしたのかを識別できないので、ロスパケットの再送を促進するACKパケットを送信できなくなる。このような場合には、特許文献1-3の技術を適用することは困難となる。
 本発明の目的は、使用されるプロトコルによらず送信装置と受信装置との間の通信のスループットを向上させることを可能にする通信制御装置及び方法を提供することにある。
 本発明の一態様に係る通信制御装置は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信する第1通信処理部と、上記パケットを上記受信装置へ送信する第2通信処理部と、を備え、上記第2通信処理部は、上記パケットのための確認応答パケットであって、上記受信装置と上記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、上記受信装置から受信し、上記第1通信処理部は、上記確認応答パケットを上記送信装置へ送信し、上記通信制御装置は、上記送信装置が送信速度を変更するように上記パケット又は上記確認応答パケットの制御を行う制御部と、を備える。
 本発明の一態様に係る方法は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信することと、上記パケットを上記受信装置へ送信することと、上記パケットのための確認応答パケットであって、上記受信装置と上記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、上記受信装置から受信することと、上記確認応答パケットを上記送信装置へ送信することと、上記送信装置が送信速度を変更するように上記パケット又は上記確認応答パケットの制御を行うことと、を含む。
 本発明の一態様に係るプログラムは、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、前記パケットを前記受信装置へ送信することと、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、前記確認応答パケットを前記送信装置へ送信することと、前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、をプロセッサに実行させるプログラムである。
 本発明の一態様に係るコンピュータに読み取り可能な非一時的記録媒体は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、前記パケットを前記受信装置へ送信することと、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、前記確認応答パケットを前記送信装置へ送信することと、前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体である。
 本発明によれば、使用されるプロトコルによらず送信装置と受信装置との間の通信のスループットを向上させることが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
CUBICにおける輻輳ウィンドウ(cwnd)の変化の例を説明するための説明図である。 BBRにおける送信データ量の調整の手法を説明するための説明図である。 無線帯域の変動と送信速度制御(CUBIC)によるスループットの変化の例を示すグラフである。 QUICパケットの例を説明するための説明図である。 実施形態に係るシステムの概略的な構成の一例を示す説明図である。 第1の実施形態に係る通信制御装置の概略的な機能構成の例を示すブロック図である。 第1の実施形態に係る通信制御装置の概略的なハードウェア構成の例を示すブロック図である。 第1の実施形態に係る送信装置10から受信装置20へのパケットの送信の例を説明するためのシーケンス図である。 第1の実施形態に係る送信タイミングの調整の第1の例を説明するためのシーケンス図である。 第1の実施形態に係る送信タイミングの調整の第2の例を説明するためのシーケンス図である。 第1の実施形態に係る送信タイミングの調整の第3の例を説明するためのシーケンス図である。 第1の実施形態に係るパケットの送信順序の調整の例を説明するためのシーケンス図である。 第1の実施形態に係るACKパケットの一部の破棄の例を説明するためのシーケンス図である。 第2の実施形態に係る通信制御装置の概略的な機能構成の例を示すブロック図である。
 以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 説明は、以下の順序で行われる。
 1.関連技術
 2.実施形態に係るシステムの構成
 3.第1の実施形態
  3.1.通信制御装置の機能構成
  3.2.通信制御装置のハードウェア構成
  3.3.技術的特徴
 4.第2の実施形態
  4.1.通信制御装置の機能構成
  4.2.通信制御装置のハードウェア構成
  4.3.技術的特徴
 この開示において、「A及び/又はB」という表現は、「AとBとの両方」(both A and B)又は「AとBとのいずれか一方」(either A or B)を意味する。
 <<1.関連技術>>
 図1~図4を参照して、本発明の実施形態に関連する技術を説明する。
 (1)CUBIC
 CUBICは、Linux(登録商標) kernel 2.6.19以降のTCP(Transmission Control Protocol)で標準的に用いられている輻輳制御方式である。CUBICは、パケットのロスの有無に基づいて送信速度を制御する方式であり、ロスベースの方式と言える。
 図1は、CUBICにおける輻輳ウィンドウ(Congestion Window:cwnd)の変化の例を説明するための説明図である。
 まず、スロースタートフェーズでは、送信装置は、ACKの受信ごとにcwndを1パケットだけ大きくする。このフェーズでは、cwndは時間軸で指数関数的に増加する。この増加は、cwndが所定の閾値(初期ssthresh)に達するまで続く。
 次に、輻輳回避フェーズでは、送信装置は、正常にACKを受信している限り、時間の経過に応じて3次関数的にcwndを増加させる。一方、送信装置は、同一パケットに対する重複した確認応答(DupACK)を3回受信した場合には、軽度の輻輳と判断してcwndを一定割合(例えば3割)だけ減少させ、タイムアウトの場合には、重度の輻輳と判断してcwndを2パケットにする。図1の例では、輻輳回避フェーズにおいて、送信装置は、正常にACKを受信している間は、cwndを増加させているが、輻輳に伴うDupACK等の発生に応じて、cwndを減少させている。
 このように、CUBICでは、送信装置は、ACKの受信状況に応じてcwndを増減させる。即ち、送信装置は、ACKの受信状況に応じて送信速度を変更する。
 (2)BBR
 BBR(Bottleneck Bandwidth and Round-trip propagation time)は、近年のTCPやQUIC等で利用可能な輻輳制御方式である。BBRは、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する方式であり、ファンクションベースの方式と言える。
 具体的には、BBRでは、送信装置は、データを送信しながらネットワーク性能を推定し、推定結果から送信データ量を決定する。CUBICとは異なり、パケットのロスが発生しても、送信データ量の制御は行われない。
 BBRでは、送信データ量の「ペース」と「上限」とを調整してデータが送信され、「可用帯域」と「通信遅延」が継続的に推定される。具体的には、図2に示されるように、送信装置は、「STARTUP」により、ペースを密に、上限を大きくし、「DRAIN」により、ペースを疎に、上限を大きくし、「PROBE_BW」により、ペースを普通(微変動)に、上限を普通にし、「PROBE_RTT」により、ペースを普通に、上限を極小にする。
 送信装置は、一定時間内の「到達確認データ量÷経過時間」の最大値を「可用帯域」として推定し、一定時間内のRTT(Round Trip Time)の最小値を「通信遅延」として推定する。「可用帯域」は、BtlBw (Bottleneck Bandwidth)と呼ばれ、「通信遅延」は、RTprop (Round-Trip propagation time):と呼ばれる。
 さらに、送信装置は、「可用帯域」と「通信遅延」とを乗算することにより「送信データ量」を算出する。この「送信データ量」は、BDP(Bandwidth-Delay Product)と呼ばれる。
 (3)モバイル網におけるスループット
 近年、スマートフォンやタブレット等の高機能なモバイル端末の普及に伴い、モバイルネットワーク経由のトラヒックが増加している。多くの通信で使用されている送信速度制御(例えば、CUBIC及びNewReno等)では、モバイルネットワークにおける急激な帯域変動に追従することが困難である。
 図3は、無線帯域の変動と送信速度制御(CUBIC)によるスループットの変化の例を示すグラフである。図3を参照すると、無線帯域の変動に応じて、CUBICによる送信速度制御(CUBIC)によりスループットが変化しているが、当該無線帯域の変動が激しいため、スループットは十分に追従できていない。
 (4)QUIC
 QUIC(Quick UDP Internet Connections)は、トランスポートプロトコルであり、UDP(User Datagram Protocol)の上位レイヤプロトコルとして用いられる。QUICは、中間装置でのパケットの生成や改変といった操作が非常に困難なパケットの構成となっている。
 図4は、QUICパケットの例を説明するための説明図である。図4を参照すると、UDPパケットのSDU(Service Data Unit)として、QUICパケットが示されている。QUICパケットは、QUICパケットヘッダとペイロードとを含み、当該ペイロードは、1つ以上のQUICフレームを含む。各QUICフレームは、QUICフレームヘッダとQUICデータとを含む。QUICパケット内のペイロードは、暗号化される。また、QUICパケットヘッダは、暗号化されないが認証され、改変不可である。
 <<2.実施形態に係るシステムの構成>>
 図5を参照して、本発明の実施形態に係るシステムの構成の例を説明する。
 図5は、本発明の実施形態に係るシステム1の概略的な構成の一例を示す説明図である。図5を参照すると、システム1は、送信装置10、受信装置20及び通信制御装置100を含む。通信制御装置100は、中継装置と呼ばれてもよい。
 送信装置10は、パケットを受信装置20へ送信する。通信制御装置100は、送信装置10と受信装置20との間に位置し、上記パケットを転送(又は中継)する。具体的には、通信制御装置100は、送信側ネットワーク30を介して送信装置10から上記パケットを受信し、受信側ネットワーク40を介して受信装置20へ上記パケットを送信する。例えば、上記パケットは、データパケットである。
 一例として、ユーザがコンテンツをダウンロードする場合に、送信装置10は、サーバであってもよく、受信装置20は、パーソナルコンピュータ(PC)又はスマートフォンであってもよい。この場合に、受信側ネットワーク40は、モバイルネットワークであってもよく、インターネットであってもよく、又は、インターネット及びモバイルネットワークを含んでもよい。あるいは、ユーザがコンテンツをアップロードする場合には、送信装置10は、パーソナルコンピュータ(PC)又はスマートフォンであってもよく、受信装置20は、サーバであってもよい。当然ながら、送信装置10及び受信装置20はこれらの例に限定されない。
 送信装置10は、送信制御方式を使用して送信速度を制御する。一例として、上記送信制御方式は、パケットのロスの有無に基づいて送信速度を制御する第1の送信制御方式(例えばCUBIC等のロスベースの送信制御方式)である。あるいは、上記送信制御方式は、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する第2の送信制御方式(例えばBBR等のファンクションベースの送信制御方式)である。当然ながら、上記送信制御方式は、これらの例には限定されない。なお、上記送信制御方式は、輻輳制御方式とも呼ばれ得る。
 <<3.第1の実施形態>>
 図6~図12を参照して、本発明の第1の実施形態を説明する。
 <3.1.通信制御装置の機能構成>
 図6は、第1の実施形態に係る通信制御装置100の概略的な機能構成の例を示すブロック図である。図6を参照すると、通信制御装置100は、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び制御部160を備える。
 第1通信処理部110は、パケットを送受信する。例えば、第1通信処理部110は、送信装置10からパケット(例えばデータパケット)を受信し、送信装置10へパケット(例えばACKパケット)を送信する。
 第2通信処理部120は、パケットを送受信する。例えば、第2通信処理部120は、受信装置20へパケット(例えばデータパケット)を送信し、受信装置20からパケット(例えばACKパケット)を受信する。
 第1通信処理部110及び第2通信処理部120は、例えば、1つ以上のプロトコルレイヤの処理を行う。具体的には、例えば、当該1つ以上のプロトコルレイヤは、レイヤ3(ネットワークレイヤ)以上のプロトコルレイヤを含む。上記1つ以上のプロトコルレイヤは、レイヤ2以下のプロトコルレイヤをさらに含んでもよい。あるいは、上記1つ以上のプロトコルレイヤは、レイヤ2以下のプロトコルレイヤのみを含んでもよい。また、第1通信処理部110及び第2通信処理部120は、1つの通信処理部として統合されていてもよい。
 現在送信速度推定部130は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10と受信装置20との間の現在の送信速度を推定する。
 目標送信速度推定部140は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10と受信装置20との間の目標送信速度を推定する。
 送信制御推定部150は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10により使用されている送信制御方式を推定する。
 制御部160は、送信装置から受信装置へ送信されるパケットについての制御を行う。例えば、当該制御は、上記パケットのためのACKパケット(第2通信処理部120により受信装置20から受信され、第1通信処理部110により送信装置10へ送信されるACKパケット)又は上記パケット(第1通信処理部110により送信装置10から受信され、第2通信処理部120により受信装置20へ送信されるデータパケット)の制御である。制御部160は、第1通信処理部110又は第2通信処理部120の動作を制御することにより、上記ACKパケット又は上記パケットの間接的な制御を行ってもよい。あるいは、制御部160は、第1通信処理部110と第2通信処理部120との間で上記ACKパケット又は上記パケットを直接的に処理することにより、上記ACKパケット又は上記パケットの直接的な制御を行ってもよい。
 第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び制御部160についてのより具体的な動作は、第1の実施形態の技術的特徴として後に説明する。
 <3.2.通信制御装置のハードウェア構成>
 図7は、第1の実施形態に係る通信制御装置100の概略的なハードウェア構成の例を示すブロック図である。図7を参照すると、通信制御装置100は、プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250を備える。プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250は、バス260を介して互いに接続されている。
 プロセッサ210は、メインメモリ220から読み出されるプログラムを実行する。一例として、プロセッサ210は、CPU(Central Processing Unit)である。
 メインメモリ220は、プログラム及び各種データを記憶する。一例として、メインメモリ220は、RAM(Random Access Memory)である。
 ストレージ230は、プログラム及び各種データを記憶する。一例として、ストレージ230は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
 通信インタフェース240は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース240は、ネットワークアダプタ又はネットワークインタフェースカードである。
 入出力インタフェース250は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。
 第1通信処理部110及び第2通信処理部120は、プロセッサ210及びメインメモリ220により実装されてもよく、あるいは、プロセッサ210、メインメモリ220及び通信インタフェース240により実装されてもよい。現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160は、プロセッサ210及びメインメモリ220により実装されてもよい。
 当然ながら、通信制御装置100のハードウェア構成はこの例に限定されない。通信制御装置100は、他のハードウェア構成により実装されてもよい。
 あるいは、通信制御装置100は、仮想化されていてもよい。即ち、通信制御装置100は、仮想マシンとして実装されてもよい。この場合に、通信制御装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。
 通信制御装置100は、プログラム(命令)を記憶するメモリ(メインメモリ220)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ210)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160の動作を行ってもよい。上記プログラムは、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160の動作をプロセッサに実行させるためのプログラムであってもよい。
 <3.3.技術的特徴>
 図8~図12を参照して、第1の実施形態の技術的特徴を説明する。
 (1)パケットの中継
 通信制御装置100(第1通信処理部110)は、送信装置10から受信装置20へ送信されるパケットを送信装置10から受信する。そして、通信制御装置100(第2通信処理部120)は、上記パケットを受信装置20へ送信する。
 例えば、上記パケットは、データパケットである。例えば、上記パケットは、パケットデータユニット(PDU)である。上記パケットは、パケットと呼ばれる代わりに、フレーム、データグラム又はセグメント等の他の類似の呼称で呼ばれてもよい。
 さらに、通信制御装置100(第2通信処理部120)は、上記パケットのための確認応答(ACK)パケットを受信装置20から受信する。そして、通信制御装置100(第1通信処理部110)は、上記確認応答(ACK)パケットを送信装置10へ送信する。
 図8は、第1の実施形態に係る送信装置10から受信装置20へのパケットの送信の例を説明するためのシーケンス図である。送信装置10は、パケット(データパケット)51を受信装置20へ送信する(S301、S303)。この際に、通信制御装置100は、パケット51を送信装置10から受信し(S301)、パケット51を受信装置20へ送信する(S303)。即ち、通信制御装置100は、送信装置10から受信装置20へパケット51を転送(又は中継)する。さらに、受信装置20は、パケット51を受信し(S303)、パケット51についてのACKパケット53を送信装置10へ送信する(S305、S307)。この際に、通信制御装置100は、ACKパケット53を受信装置20から受信し(S305)、ACKパケット53を送信装置10へ送信する(S307)。即ち、通信制御装置100は、受信装置20から送信装置10へパケット53を転送(又は中継)する。
 (2)パケット及び確認応答(ACK)パケット
 送信装置10から受信装置20へ送信される上記パケットは、送信装置10と受信装置20との間の中継点(例えば通信制御装置100等)において生成及び改変できないパケットである。
 さらに、上記パケットのための確認応答(ACK)パケットは、受信装置20と送信装置10との間の中継点において生成及び改変できないACKパケットである。
 より具体的には、例えば、上記パケット及び上記ACKパケットは、少なくとも一部が暗号化され又は認証される。とりわけ、上記ACKパケットの暗号化され又は認証される一部は、送信装置10への確認応答のための情報(例えば確認応答番号等)を含む。
 第1の例として、送信装置10は、少なくとも一部が認証されたパケットを送信し、受信装置20は、少なくとも一部が認証されたACKパケットを送信する。この場合には、当該パケット及び当該ACKパケットは認証されているので、通信制御装置100は、上記パケット及び上記ACKパケットを生成及び改変することができない。
 第2の例として、送信装置10は、少なくとも一部が暗号化されたパケットを送信し、受信装置20は、少なくとも一部が暗号化されたACKパケットを送信する。この場合には、当該パケット及び当該ACKパケットは暗号化されているので、通信制御装置100は、上記パケット及び上記ACKパケットを生成及び改変することができない。
 一例として、上記パケットは、(例えば図4に示されるような)QUICパケットであり、上記パケットについてのACKパケットも、QUICパケットである。この場合に、例えば、送信装置10への確認応答のための情報(例えば確認応答番号)は、ACKパケット(QUICパケット)の認証されたヘッダ、又は、ACKパケット(QUICパケット)の暗号化されたペイロードに含まれる。別の例として、上記パケットは、(例えば図4に示されるような)QUICフレームであってもよく、上記パケットについてのACKパケットも、QUICフレームであってもよい。この場合に、送信装置10への確認応答のための情報(例えば確認応答番号)は、暗号化されたACKパケット(QUICフレーム)に含まれてもよい。
 (3)パケットについての制御
 通信制御装置100(制御部160)は、送信装置10から受信装置20へ送信される上記パケットについての制御であって、送信装置10に送信速度を変更させる当該制御を行う。
 例えば、上記制御は、上記パケットのためのACKパケット又は上記パケットの制御である。
 (3-1)現在の送信速度及び目標送信速度に基づく制御
  ・現在の送信速度の推定
 例えば、通信制御装置100(現在送信速度推定部130)は、送信装置10の現在の送信速度を推定する。
 例えば、通信制御装置100(現在送信速度推定部130)は、送信装置10から受信されるパケットのヘッダに含まれるタイムスタンプ情報等に基づいてRTTを推定し、当該RTTの間に受信されるパケットのデータ量(又はその統計値)を送信装置10の現在の送信速度(cwnd)として推定する。
 例えばこのように、上記現在の送信速度は、RTTの間に送信されるデータ量であってもよい。あるいは、上記現在の送信速度は、単位時間あたりに送信されるデータ量(スループット)であってもよい。
  ・目標送信速度の推定
 例えば、通信制御装置100(目標送信速度推定部140)は、送信装置10の目標送信速度を推定する。
 例えば、通信制御装置100(目標送信速度推定部140)は、送信側ネットワーク30側の可用帯域(以下、「第1の可用帯域」と呼ぶ)と、受信側ネットワーク40側の可用帯域(以下、「第2の可用帯域」と呼ぶ)とを推定する。そして、通信制御装置100(目標送信速度推定部140)は、第1の可用帯域にRTTを乗算することにより得られる第1の値と、第2の可用帯域にRTTを乗算することにより得られる第2の値とのうちの一方(例えば小さい方の値)を、目標送信速度として推定する。
  ・第1の可用帯域(送信側ネットワーク側の可用帯域)の推定
 例えば、通信制御装置100(目標送信速度推定部140)は、送信装置10から受信されるデータパケットについての以下の例のいずれかを、上記第1の可用帯域として推定してもよい。
 [例1]「データパケットのサイズ÷データパケットの受信間隔」(又はその統計値)
 [例2]「パケット群のサイズ÷パケット群の受信にかかった時間」(又はその統計値)(パケット群は、受信間隔が閾値以下又は一定時間内に受信したデータパケットの集合)
  ・第2の可用帯域(受信側ネットワーク側の可用帯域)の推定
 一例として、通信制御装置100(目標送信速度推定部140)は、以下の例のいずれかを上記第2の可用帯域として推定してもよい。
 [例1]「ACKパケットによって到達確認されたデータ量÷ACKパケットの受信間隔」(又はその統計値)
 [例2]「ACKパケット群によって到達確認されたデータ量÷その受信にかかった時間」(又はその統計値)(ACKパケット群は、受信間隔が閾値以下又は一定時間内に受信したACKパケットの集合)
 [例3]通信制御装置100において蓄積しているデータパケットの減少速度
 通信制御装置100(目標送信速度推定部140)は、送信装置10から受信したデータパケットを蓄積した後に、当該データパケットを受信側ネットワーク40にまとめて送信することで、一時的に上記第2の可用帯域を超える又は近い送信速度でデータパケットを送信することにより、上記第2の可用帯域を推定してもよい。
 通信制御装置100(目標送信速度推定部140)は、上記第2の可用帯域を推定するにあたり、宛先IPアドレス等の情報から、同一又は同様のネットワーク性能にあると推測した過去の受信装置に向けた通信の実績を利用してもよい。
  ・推定結果に基づく制御
 例えば、通信制御装置100(制御部160)は、上記現在の送信速度及び上記目標送信速度に基づいて、上記パケットについての上記制御(送信装置10に送信速度を変更させる制御)を行う。
 例えば、通信制御装置100(制御部160)は、送信装置10の送信速度が上記目標送信速度に近づくように、上記制御を行う。
 一例として、上記目標送信速度と上記現在の送信速度との差(目標送信速度-現在の送信速度)が所定の閾値(いずれかの正の数又は0)よりも大きい場合に、通信制御装置100(制御部160)は、上記制御(送信装置10に送信速度を上げさせる制御)を行う。上記現在の送信速度と上記目標送信速度との差(現在の送信速度-目標送信速度)が所定の閾値(いずれかの正の数又は0)よりも大きい場合に、通信制御装置100(制御部160)は、上記制御(送信装置10に送信速度を下げさせる制御)を行ってもよい。
 別の例として、通信制御装置100(制御部160)は、上記目標送信速度と上記現在の送信速度との差(目標送信速度-現在の送信速度)に応じて制御パラメータを設定し、当該制御パラメータを用いて上記制御を行ってもよい。
 (3-2)制御の第1の例:転送タイミングの調整
 例えば、上記制御は、上記ACKパケット又は上記パケットの送信タイミングの調整を含む。即ち、通信制御装置100(制御部160)は、上記ACKパケット又は上記パケットの送信タイミングの調整を行う。
  ・第1の例
 第1の例として、上記送信タイミングの上記調整は、上記ACKパケット間の送信間隔を短くすることを含む。即ち、通信制御装置100(制御部160)は、上記ACKパケット間の送信間隔を短くする。
 図9Aは、第1の実施形態に係る送信タイミングの調整の第1の例を説明するためのシーケンス図である。通信制御装置100(第2通信処理部120)は、ACKパケット55、57、59を受信装置20から受信する(S321、S323、S325)。通信制御装置100は、ACKパケット55、57、59の各々を即座に送信装置10へ送信せずに蓄積し、ACKパケット55、57、59を所定間隔91(短い間隔)で送信する。その結果、送信装置10は、短時間でACKパケット55、57、59を受信することになり、送信装置10において、短時間で多くの到達確認済みのデータ量がカウントされる。所定間隔91は、予め定められている制御パラメータであってもよく、通信制御装置100(制御部160)により設定される制御パラメータであってもよい。
 これにより、例えば、データパケットがまとめて送信できたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が大きくなり、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 なお、上記送信タイミングの上記調整は、(上記ACKパケット間の送信間隔ではなく)上記パケット(データパケット)間の送信間隔を短くすることを含んでもよい。即ち、通信制御装置100(制御部160)は、上記パケット(データパケット)間の送信間隔を短くしてもよい。この場合にも、結果として、ACKパケット間の送信間隔も短くなるので、同様の効果が得られる。
  ・第2の例
 第2の例として、上記送信タイミングの上記調整は、上記ACKパケット間の送信間隔を長くすることを含む。即ち、第2の例では、第1の例とは反対に、通信制御装置100(制御部160)は、上記ACKパケット間の送信間隔を長くする。
 図9Bは、第1の実施形態に係る送信タイミングの調整の第2の例を説明するためのシーケンス図である。通信制御装置100(第2通信処理部120)は、ACKパケット55、57、59を受信装置20から受信する(S321、S323、S325)。通信制御装置100は、ACKパケット55、57、59を所定間隔92(長い間隔)で送信する。その結果、送信装置10は、長時間でACKパケット55、57、59を受信することになり、送信装置10において、一定期間あたりにカウントされる到達確認済みのデータ量が少なくなる。所定間隔92は、予め定められている制御パラメータであってもよく、通信制御装置100(制御部160)により設定される制御パラメータであってもよい。
 これにより、例えば、データパケットが少しずつ送信されたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が小さくなり、送信データ量が小さくなり得る。即ち、送信装置10の送信速度が小さくなり得るし、送信装置10と受信装置20との間の通信のスループットが低下し得る。
 なお、上記送信タイミングの上記調整は、(上記ACKパケット間の送信間隔ではなく)上記パケット(データパケット)間の送信間隔を長くすることを含んでもよい。即ち、通信制御装置100(制御部160)は、上記パケット(データパケット)間の送信間隔を長くしてもよい。この場合にも、結果として、ACKパケット間の送信間隔も長くなるので、同様の効果が得られる。
  ・第3の例
 別の例として、上記送信タイミングの上記調整は、上記ACKパケットの送信を遅らせることを含んでもよい。通信制御装置100(制御部160)は、上記ACKパケットの送信を遅らせてもよい。
 図10は、第1の実施形態に係る送信タイミングの調整の第3の例を説明するためのシーケンス図である。通信制御装置100(第2通信処理部120)は、ACKパケット61を受信装置20から受信するが(S341)、ACKパケット61を即座に送信装置10へ送信せず、所定時間93後にACKパケット61を送信装置10へ送信する(S343)。同様に、通信制御装置100(第2通信処理部120)は、ACKパケット63を受信装置20から受信するが(S345)、ACKパケット63を即座に送信装置10へ送信せず、所定時間93後にACKパケット63を送信装置10へ送信する(S347)。所定時間93は、予め定められている制御パラメータであってもよく、通信制御装置100(制御部160)により設定される制御パラメータであってもよい。
 これにより、例えば、RTT(送信装置10がパケットを送信してからACKを受信するまでの時間)を大きくすることができる。例えば、送信装置10がロスベースの(例えばCUBIC等)を使用している場合に、結果として、再送の許容待機時間が長くなる(例えば、RTO(Retransmission Time Out)の値が大きくなる)。そのため、突発的な遅延の発生時に、再送及びそれに伴う送信速度の低下が回避され得る。あるいは、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、結果として、推定される通信遅延が大きくなる。そのため、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 なお、上記送信タイミングの上記調整は、(上記ACKパケットではなく)上記パケット(データパケット)の送信を遅らせることを含んでもよい。この場合にも、結果として、RTTが大きくなるので、同様の効果が得られる。
 (3-3)制御の第2の例:転送順序の調整
 例えば、上記制御は、上記パケットの送信順序の調整を含む。即ち、通信制御装置100(制御部160)は、上記パケットの送信順序の調整を行う。
 具体的には、例えば、上記送信順序の上記調整は、上記パケットが受信順にではなくシーケンス順に送信されるように上記パケットの送信順序を調整することである。即ち、通信制御装置100(制御部160)は、上記パケットが受信順にではなくシーケンス順に送信されるように上記パケットの送信順序を調整する。例えば、通信制御装置100(制御部160)は、通信制御装置100にバッファされているパケットがシーケンス順に送信されるように当該パケットの送信順序を調整する。
 図11は、第1の実施形態に係るパケットの送信順序の調整の例を説明するためのシーケンス図である。送信装置10は、パケット65、67、69、71、73を送信し(S361~S371)、通信制御装置100は、パケット65、67、69、71、73を受信してバッファする。パケット65、67、69、71は、新規パケットであるが、パケット73は、再送パケットである。そのため、パケット73(再送パケット)は、パケット65、67、69、71、73の中では、受信順では最後のパケットであるが、シーケンス順では最初のパケットである。よって、通信制御装置100は、まず、パケット73(再送パケット)を受信装置20へ送信し(S371)、その後、シーケンス順にパケット65、67、69、71を受信装置20へ送信する(S373~S379)。
 これにより、例えば、再送パケットを優先的に転送することができる。その結果、パケットロスの発生後に、再送パケットがより早く到達確認済みパケットとなり、送信ウィンドウ内に残っているパケットの量がより早く低下し、より多くの新規パケットが送信され得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 また、送信装置10から送信されたパケットが、シーケンス順に通信制御装置100に到着しなかった場合に、当該パケットが順に送信され得る。そのため、パケットがシーケンス順に受信装置20に到着する可能性が高くなり、同一パケットに対する重複した確認応答(DupACK)が発生する可能性が低くなる。例えば、送信装置10がロスベースの送信制御方式(例えばCUBIC等)を使用している場合に、同一パケットに対する重複した確認応答(DupACK)が複数個(例えば3つ以上)連続して発生する可能性が低くなり、送信速度の低下(例えばcwndの低下)が抑えられ得る。即ち、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 (3-4)制御の第3の例:ACKパケットの一部破棄
 例えば、上記制御は、上記ACKパケットの一部の破棄を含む。即ち、通信制御装置100(制御部160)は、上記ACKパケットの一部の破棄を行う。
 例えば、上記破棄は、所定の確率で、所定の割合で、又は所定の時間間隔で確認応答パケットを破棄することである。即ち、通信制御装置100(制御部160)は、所定の確率で、所定の割合で、又は所定の時間間隔で、ACKパケットを破棄する。当該所定の確率、当該所定の割合、及び当該所定の時間間隔は、予め定められている制御パラメータであってもよく、通信制御装置100(制御部160)により設定される制御パラメータであってもよい。
 図12は、第1の実施形態に係るACKパケットの一部の破棄の例を説明するためのシーケンス図である。受信装置20は、ACKパケット75を送信装置10へ送信する(S381、S383)。通信制御装置100は、ACKパケット75を受信装置20から受信し(S381)、ACKパケット75を送信装置10へ送信する(S383)。受信装置20は、ACKパケット77を送信装置10へ送信する(S385)。しかし、通信制御装置100は、ACKパケット77を受信装置20から受信し(S385)、ACKパケット77を破棄する(S387)。受信装置20は、ACKパケット79を送信装置10へ送信する(S389、S391)。通信制御装置100は、ACKパケット79を受信装置20から受信し(S389)、ACKパケット79を送信装置10へ送信する(S391)。その結果、送信装置10において、ACKパケット79の受信により、多くの到達確認済みのデータ量が一気にカウントされる。
 これにより、例えば、データパケットがまとめて送信できたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が大きくなり、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 また、同一パケットに対する重複した確認応答(DupACK)が発生したとしても、同一パケットに対する重複した確認応答(DupACK)が複数個(例えば3つ以上)連続して送信装置10により受信される可能性が低くなる。そのため、例えば、送信装置10がロスベースの送信制御方式(例えばCUBIC等)を使用している場合に、送信速度の低下(例えばcwndの低下)が抑えられ得る。即ち、送信装置10と受信装置20との間の通信のスループットが向上し得る。
 (3-5)制御の第1、第2及び第3の例
 上記制御として、上記ACKパケット又は上記パケットの送信タイミングの調整、上記パケットの送信順序の調整、及び、上記ACKパケットの一部の破棄を説明した。上記制御は、上記送信タイミングの調整、上記送信順序の調整、及び上記ACKパケットの一部の破棄の全てを含んでもよく、又は、一部のみを含んでもよい。例えば、上記制御は、上記送信タイミングの調整、上記送信順序の調整、及び上記ACKパケットの一部の破棄のうちの1つであってもよい。
 (3-6)その他
 通信制御装置100(送信制御推定部150、制御部160)は、送信装置10により使用されている送信制御方式を推定し、推定された当該送信制御方式に基づいて上記制御を行ってもよい。
 例えば、通信制御装置100(制御部160)は、推定された上記送信制御方式に適合する制御(例えば、送信タイミングの調整、送信順序の調整、又は、ACKパケットの一部の破棄)を選択し、実行してもよい。あるいは、通信制御装置100(制御部160)は、推定された上記送信制御方式に適合する制御パラメータを選択し、当該制御パラメータを用いて制御を行ってもよい。
 これにより、例えば、より適切に送信装置10の送信速度が変更され得る。
 以上、第1の実施形態を説明した。第1の実施形態によれば、上述したように、使用されるプロトコルによらず送信装置10と受信装置20との間の通信のスループットを向上させることが可能になる。
 <<4.第2の実施形態>>
 図13を参照して、本発明の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
 <4.1.通信制御装置の機能構成>
 図13は、第2の実施形態に係る通信制御装置300の概略的な機能構成の例を示すブロック図である。図13を参照すると、通信制御装置300は、第1通信処理部310、第2通信処理部320及び制御部330を備える。
 第1通信処理部310は、パケットを送受信する。例えば、第1通信処理部310は、送信装置10からパケット(例えばデータパケット)を受信し、送信装置10へパケット(例えばACKパケット)を送信する。
 第2通信処理部320は、パケットを送受信する。例えば、第2通信処理部320は、受信装置20へパケット(例えばデータパケット)を送信し、受信装置20からパケット(例えばACKパケット)を受信する。
 制御部330は、送信装置から受信装置へ送信されるパケットについての制御を行う。例えば、当該制御は、上記パケットのためのACKパケット(第2通信処理部320により受信装置20から受信され、第1通信処理部310により送信装置10へ送信されるACKパケット)又は上記パケット(第1通信処理部310により送信装置10から受信され、第2通信処理部320により受信装置20へ送信されるデータパケット)の制御である。制御部330は、第1通信処理部310又は第2通信処理部320の動作を制御することにより、上記ACKパケット又は上記パケットの間接的な制御を行ってもよい。あるいは、制御部330は、第1通信処理部310と第2通信処理部320との間で上記ACKパケット又は上記パケットを直接的に処理することにより、上記ACKパケット又は上記パケットの直接的な制御を行ってもよい。
 第1通信処理部310、第2通信処理部320及び制御部330についてのより具体的な動作は、第2の実施形態の技術的特徴として後に説明する。
 <4.2.通信制御装置のハードウェア構成>
 第2の実施形態に係る通信制御装置300のハードウェア構成は、例えば、第1の実施形態に係る通信制御装置100のハードウェア構成と同じである。よって、ここでは重複する説明を省略する。
 <4.3.技術的特徴>
 第2の実施形態の技術的特徴を説明する。
 (1)パケットの中継
 通信制御装置300(第1通信処理部310)は、送信装置10から受信装置20へ送信されるパケットを送信装置10から受信する。そして、通信制御装置300(第2通信処理部320)は、上記パケットを受信装置20へ送信する。
 第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。
 (2)パケット及び確認応答(ACK)パケット
 送信装置10から受信装置20へ送信される上記パケットは、送信装置10と受信装置20との間の中継点(例えば通信制御装置300等)において生成及び改変できないパケットである。
 さらに、上記パケットのための確認応答(ACK)パケットは、受信装置20と送信装置10との間の中継点において生成及び改変できないACKパケットである。
 第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。
 (3)パケットについての制御
 通信制御装置300(制御部330)は、送信装置10から受信装置20へ送信される上記パケットについての制御であって、送信装置10に送信速度を変更させる当該制御を行う。
 第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。
 以上、第2の実施形態を説明した。第2の実施形態によれば、使用されるプロトコルによらず送信装置10と受信装置20との間の通信のスループットを向上させることが可能になる。
 以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
 例えば、本明細書に記載されている処理におけるステップは、必ずしもシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、シーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
 また、本明細書において説明した通信制御装置の構成要素(例えば、第1通信処理部、第2通信処理部、現在送信速度推定部、目標送信速度推定部、送信制御推定部及び/又は制御部)を備える装置(例えば、モジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
 上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
 通信制御装置であって、
 送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信する第1通信処理部と、
 前記パケットを前記受信装置へ送信する第2通信処理部と、
を備え、
 前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、
 前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、
 前記通信制御装置は、
 前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行う制御部、
をさらに備える、
通信制御装置。
(付記2)
 前記制御は、前記確認応答パケット又は前記パケットの送信タイミングの調整を含む、付記1に記載の通信制御装置。
(付記3)
 前記送信タイミングの前記調整は、前記確認応答パケット間の送信間隔又は前記パケット間の送信間隔を短く又は長くすることを含む、付記2に記載の通信制御装置。
(付記4)
 前記送信タイミングの前記調整は、前記確認応答パケット又は前記パケットの送信を遅らせることを含む、付記2又は3に記載の通信制御装置。
(付記5)
 前記制御は、前記確認応答パケットの一部の破棄を含む、付記1~4のいずれか1項に記載の通信制御装置。
(付記6)
 前記破棄は、所定の確率で、所定の割合で、又は所定の時間間隔で確認応答パケットを破棄することである、付記5に記載の通信制御装置。
(付記7)
 前記制御は、前記パケットの送信順序の調整を含む、付記1~6のいずれか1項に記載の通信制御装置。
(付記8)
 前記送信順序の前記調整は、前記パケットが受信順にではなくシーケンス順に送信されるように前記パケットの送信順序を調整することである、付記7に記載の通信制御装置。
(付記9)
 前記パケットは、少なくとも一部が暗号化され又は認証されるパケットであり、
 前記確認応答パケットは、少なくとも一部が暗号化され又は認証される確認応答パケットである、
付記1~8のいずれか1項に記載の通信制御装置。
(付記10)
 前記確認応答パケットの前記一部は、前記送信装置への確認応答のための情報を含む、付記9に記載の通信制御装置。
(付記11)
 前記送信装置と前記受信装置との間の目標送信速度を推定する目標送信速度推定部、
をさらに備え、
 前記制御部は、前記目標送信速度に基づいて前記制御を行う、
付記1~10のいずれか1項に記載の通信制御装置。
(付記12)
 前記送信装置と前記受信装置との間の現在の送信速度を推定する現在送信速度推定部、
をさらに備え、
 前記制御部は、前記現在の送信速度及び前記目標送信速度に基づいて前記制御を行う、
付記11に記載の通信制御装置。
(付記13)
 前記送信装置により使用されている送信制御方式を推定する送信制御推定部、
をさらに備え、
 前記制御部は、推定された前記送信制御方式に基づいて前記制御を行う、
付記1~12のいずれか1項に記載の通信制御装置。
(付記14)
 前記送信装置は、第1の送信制御方式又は第2の送信制御方式を使用する送信装置であり、
 前記第1の送信制御方式は、パケットのロスの有無に基づいて送信速度を制御する送信制御方式であり、
 前記第2の送信制御方式は、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する送信制御方式である、
付記1~13のいずれか1項に記載の通信制御装置。
(付記15)
 前記パケットは、データパケットである、付記1~14のいずれか1項に記載の通信制御装置。
(付記16)
 送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
 前記パケットを前記受信装置へ送信することと、
 前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
 前記確認応答パケットを前記送信装置へ送信することと、
 前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
を含む方法。
(付記17)
 送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
 前記パケットを前記受信装置へ送信することと、
 前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
 前記確認応答パケットを前記送信装置へ送信することと、
 前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
をプロセッサに実行させるプログラム。
(付記18)
 送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
 前記パケットを前記受信装置へ送信することと、
 前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
 前記確認応答パケットを前記送信装置へ送信することと、
 前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
 この出願は、2018年7月9日に出願された日本出願特願2018-129929を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1       システム
 10      送信装置
 20      受信装置
 100、300 通信制御装置
 110、310 第1通信処理部
 120、320 第2通信処理部
 130     現在送信速度推定部
 140     目標送信速度推定部
 150     送信制御推定部
 160、330 制御部

 

Claims (18)

  1.  通信制御装置であって、
     送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信する第1通信処理部と、
     前記パケットを前記受信装置へ送信する第2通信処理部と、
    を備え、
     前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、
     前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、
     前記通信制御装置は、
     前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行う制御部、
    をさらに備える、
    通信制御装置。
  2.  前記制御は、前記確認応答パケット又は前記パケットの送信タイミングの調整を含む、請求項1に記載の通信制御装置。
  3.  前記送信タイミングの前記調整は、前記確認応答パケット間の送信間隔又は前記パケット間の送信間隔を短く又は長くすることを含む、請求項2に記載の通信制御装置。
  4.  前記送信タイミングの前記調整は、前記確認応答パケット又は前記パケットの送信を遅らせることを含む、請求項2又は3に記載の通信制御装置。
  5.  前記制御は、前記確認応答パケットの一部の破棄を含む、請求項1~4のいずれか1項に記載の通信制御装置。
  6.  前記破棄は、所定の確率で、所定の割合で、又は所定の時間間隔で確認応答パケットを破棄することである、請求項5に記載の通信制御装置。
  7.  前記制御は、前記パケットの送信順序の調整を含む、請求項1~6のいずれか1項に記載の通信制御装置。
  8.  前記送信順序の前記調整は、前記パケットが受信順にではなくシーケンス順に送信されるように前記パケットの送信順序を調整することである、請求項7に記載の通信制御装置。
  9.  前記パケットは、少なくとも一部が暗号化され又は認証されるパケットであり、
     前記確認応答パケットは、少なくとも一部が暗号化され又は認証される確認応答パケットである、
    請求項1~8のいずれか1項に記載の通信制御装置。
  10.  前記確認応答パケットの前記一部は、前記送信装置への確認応答のための情報を含む、請求項9に記載の通信制御装置。
  11.  前記送信装置と前記受信装置との間の目標送信速度を推定する目標送信速度推定部、
    をさらに備え、
     前記制御部は、前記目標送信速度に基づいて前記制御を行う、
    請求項1~10のいずれか1項に記載の通信制御装置。
  12.  前記送信装置と前記受信装置との間の現在の送信速度を推定する現在送信速度推定部、
    をさらに備え、
     前記制御部は、前記現在の送信速度及び前記目標送信速度に基づいて前記制御を行う、
    請求項11に記載の通信制御装置。
  13.  前記送信装置により使用されている送信制御方式を推定する送信制御推定部、
    をさらに備え、
     前記制御部は、推定された前記送信制御方式に基づいて前記制御を行う、
    請求項1~12のいずれか1項に記載の通信制御装置。
  14.  前記送信装置は、第1の送信制御方式又は第2の送信制御方式を使用する送信装置であり、
     前記第1の送信制御方式は、パケットのロスの有無に基づいて送信速度を制御する送信制御方式であり、
     前記第2の送信制御方式は、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する送信制御方式である、
    請求項1~13のいずれか1項に記載の通信制御装置。
  15.  前記パケットは、データパケットである、請求項1~14のいずれか1項に記載の通信制御装置。
  16.  送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
     前記パケットを前記受信装置へ送信することと、
     前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
     前記確認応答パケットを前記送信装置へ送信することと、
     前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
    を含む方法。
  17.  送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
     前記パケットを前記受信装置へ送信することと、
     前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
     前記確認応答パケットを前記送信装置へ送信することと、
     前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
    をプロセッサに実行させるプログラム。
  18.  送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
     前記パケットを前記受信装置へ送信することと、
     前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
     前記確認応答パケットを前記送信装置へ送信することと、
     前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
    をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。

     
PCT/JP2019/025630 2018-07-09 2019-06-27 通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体 WO2020012973A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020530099A JP7111162B2 (ja) 2018-07-09 2019-06-27 通信制御装置、方法、及びプログラム
US17/258,299 US20210273889A1 (en) 2018-07-09 2019-06-27 Communication control apparatus, method, program, and non-transitory computer readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-129929 2018-07-09
JP2018129929 2018-07-09

Publications (1)

Publication Number Publication Date
WO2020012973A1 true WO2020012973A1 (ja) 2020-01-16

Family

ID=69142653

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025630 WO2020012973A1 (ja) 2018-07-09 2019-06-27 通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体

Country Status (3)

Country Link
US (1) US20210273889A1 (ja)
JP (1) JP7111162B2 (ja)
WO (1) WO2020012973A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019008659A1 (ja) * 2017-07-04 2019-01-10 富士通株式会社 通信装置、通信方法、及び通信システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000307634A (ja) * 1999-04-15 2000-11-02 Kdd Corp パケット交換網の中継局による輻輳制御方法
JP2003520461A (ja) * 1998-12-08 2003-07-02 ノキア モービル フォーンズ リミテッド データ送信の適正化方法
JP2003264579A (ja) * 2002-03-06 2003-09-19 Ntt Docomo Inc パケット転送システム、このシステムに用いる制御装置、及び移動端末、並びに、パケット転送プログラム
JP2007081678A (ja) * 2005-09-13 2007-03-29 Ntt Docomo Inc データ中継装置及びデータ中継方法
JP2008236709A (ja) * 2007-02-22 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> 通信品質制御方法と通信品質制御装置および通信システムとプログラム
JP2012165141A (ja) * 2011-02-04 2012-08-30 Canon Inc 通信装置、通信装置の制御方法、およびプログラム
JP2018067788A (ja) * 2016-10-19 2018-04-26 日本電気株式会社 受信トラヒックの高速化装置、高速化方法、および高速化プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003520461A (ja) * 1998-12-08 2003-07-02 ノキア モービル フォーンズ リミテッド データ送信の適正化方法
JP2000307634A (ja) * 1999-04-15 2000-11-02 Kdd Corp パケット交換網の中継局による輻輳制御方法
JP2003264579A (ja) * 2002-03-06 2003-09-19 Ntt Docomo Inc パケット転送システム、このシステムに用いる制御装置、及び移動端末、並びに、パケット転送プログラム
JP2007081678A (ja) * 2005-09-13 2007-03-29 Ntt Docomo Inc データ中継装置及びデータ中継方法
JP2008236709A (ja) * 2007-02-22 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> 通信品質制御方法と通信品質制御装置および通信システムとプログラム
JP2012165141A (ja) * 2011-02-04 2012-08-30 Canon Inc 通信装置、通信装置の制御方法、およびプログラム
JP2018067788A (ja) * 2016-10-19 2018-04-26 日本電気株式会社 受信トラヒックの高速化装置、高速化方法、および高速化プログラム

Also Published As

Publication number Publication date
JP7111162B2 (ja) 2022-08-02
US20210273889A1 (en) 2021-09-02
JPWO2020012973A1 (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
US9467390B2 (en) Method and device for data transmission
US11477130B2 (en) Transmission control method and apparatus
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
US8306062B1 (en) Method and apparatus of adaptive large receive offload
US11870698B2 (en) Congestion control method and apparatus, communications network, and computer storage medium
US20120163385A1 (en) Systems and methods to improve performance of tcp over large bandwidth-delay-product networks
EP2232791B1 (en) Tcp packet spacing
US7428595B2 (en) System and method for streaming TCP messages in an enterprise network
US20070223492A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
CN107852372B (zh) 数据分组网络
WO2020012973A1 (ja) 通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体
US8351330B2 (en) System and method for traffic prioritization
JP2006114973A (ja) 無線基地局及び無線端末装置
CA2940077C (en) Buffer bloat control
Wu et al. Sorting reordered packets with interrupt coalescing
Psaras et al. On the properties of an adaptive TCP Minimum RTO
JP2008199431A (ja) 通信装置
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
KR101231793B1 (ko) Tcp 세션 최적화 방법 및 네트워크 노드
KR102131427B1 (ko) Sctp에서의 혼잡 제어 방법 및 장치
EP3389206B1 (en) Multipath error correction
Oda et al. Design and evaluation of hybrid congestion control mechanism for video streaming
WO2023119511A1 (ja) 通信装置、通信システム、及び通信方法
Hurtig et al. Enhanced metric caching for short TCP flows
KADHUM et al. A new congestion management mechanism for next generation routers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19834939

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020530099

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19834939

Country of ref document: EP

Kind code of ref document: A1