JP7111162B2 - COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM - Google Patents

COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM Download PDF

Info

Publication number
JP7111162B2
JP7111162B2 JP2020530099A JP2020530099A JP7111162B2 JP 7111162 B2 JP7111162 B2 JP 7111162B2 JP 2020530099 A JP2020530099 A JP 2020530099A JP 2020530099 A JP2020530099 A JP 2020530099A JP 7111162 B2 JP7111162 B2 JP 7111162B2
Authority
JP
Japan
Prior art keywords
packet
transmitting device
transmission
receiving device
transmitting
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020530099A
Other languages
Japanese (ja)
Other versions
JPWO2020012973A1 (en
Inventor
徹 大須賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020012973A1 publication Critical patent/JPWO2020012973A1/en
Application granted granted Critical
Publication of JP7111162B2 publication Critical patent/JP7111162B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信制御装置、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体に関する。 The present invention relates to a communication control device, method, program, and computer-readable non-transitory recording medium.

近年、スマートフォンやタブレット等の高機能なモバイル端末の普及に伴い、モバイルネットワーク経由のトラヒックが増加している。 In recent years, with the spread of highly functional mobile terminals such as smartphones and tablets, traffic via mobile networks is increasing.

多くの通信で使用されている送信速度制御(例えば、CUBIC及びNewReno等)では、モバイルネットワークにおける急激な帯域変動に追従することが困難である。そのため、帯域が十分に使われず、スループットが低下し得る。 It is difficult for the transmission rate control (for example, CUBIC, NewReno, etc.) used in many communications to follow rapid band fluctuations in mobile networks. As a result, bandwidth may be underutilized and throughput may decrease.

送信装置から受信装置へパケットを中継する中継装置において送信速度を調整する技術がある。例えば、特許文献1には、中継装置において、送信装置から受信したデータに対して本来ならば受信装置によって当該送信装置へ送信される確認応答(Acknowledgement:ACK)を受信装置に代わって当該送信装置へ送信し、送信速度を調整して当該データを受信装置へ送信する技術が、開示されている。特許文献2にも、概ね同様の技術が開示されている。特許文献3には、中継装置において、ネットワークの可用帯域を推定し、当該可用帯域に基づいて目標送信速度を推定し、当該目標送信速度が現在の送信速度に近づくように、送信装置へのACKパケットの送信の頻度を調整する技術が、開示されている。 There is a technique for adjusting the transmission speed in a relay device that relays packets from a transmitter to a receiver. For example, in Patent Document 1, in a relay apparatus, an acknowledgment (acknowledgement: ACK) that would normally be sent by a receiving apparatus to the transmitting apparatus for data received from a transmitting apparatus is sent to the transmitting apparatus instead of the receiving apparatus. and adjusting the transmission rate to transmit the data to the receiving device. Patent Literature 2 also discloses a generally similar technique. In Patent Document 3, in a relay device, an available bandwidth of a network is estimated, a target transmission speed is estimated based on the available bandwidth, and an ACK to a transmission device is transmitted so that the target transmission speed approaches the current transmission speed. Techniques for adjusting the frequency of transmission of packets are disclosed.

特開2003-124984号公報JP 2003-124984 A 国際公開第2015/048999号WO2015/048999 特開2018-067788号公報JP 2018-067788 A

特許文献1-3の技術は、中継装置が代理としてACKパケットを生成又は改変し、当該ACKを送信装置へ送信できることを前提としている。 The techniques of Patent Documents 1 to 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.

しかし、使用されるプロトコルに起因して、中継装置がACKパケットを生成及び改変できない場合もある。一例として、ACKパケットが暗号化又は認証され、中継装置が当該ACKパケットを生成及び改変し、送受信できなくなり得る。また、ACKパケットが暗号化される場合には、中継装置はACKパケットの確認応答番号を把握できず、パケットが正常に届いたのか、ロスしたのかを識別できないので、ロスパケットの再送を促進するACKパケットを送信できなくなる。このような場合には、特許文献1-3の技術を適用することは困難となる。 However, due to the protocol used, it may not be possible for the relay device to generate and modify the ACK packet. As an example, an ACK packet may be encrypted or authenticated such that a relay device generates and modifies the ACK packet so that it cannot be sent or received. Also, when the ACK packet is encrypted, the relay device cannot grasp the acknowledgment number of the ACK packet, and cannot identify whether the packet has arrived normally or has been lost. Therefore, retransmission of the lost packet is promoted. ACK packets cannot be sent. In such a case, it becomes difficult to apply the techniques of Patent Documents 1 to 3.

本発明の目的は、使用されるプロトコルによらず送信装置と受信装置との間の通信のスループットを向上させることを可能にする通信制御装置及び方法を提供することにある。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a communication control apparatus and method capable of improving communication throughput between a transmitting apparatus and a receiving apparatus regardless of the protocol used.

本発明の一態様に係る通信制御装置は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信する第1通信処理部と、上記パケットを上記受信装置へ送信する第2通信処理部と、を備え、上記第2通信処理部は、上記パケットのための確認応答パケットであって、上記受信装置と上記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、上記受信装置から受信し、上記第1通信処理部は、上記確認応答パケットを上記送信装置へ送信し、上記通信制御装置は、上記送信装置が送信速度を変更するように上記パケット又は上記確認応答パケットの制御を行う制御部と、を備える。 A communication control apparatus according to an aspect of the present invention is a packet that is transmitted from a transmitting apparatus to a receiving apparatus and that cannot be generated and modified at a relay point between the transmitting apparatus and the receiving apparatus. a first communication processing unit for receiving from a device; and a second communication processing unit for transmitting the packet to the receiving device, wherein the second communication processing unit is an acknowledgment packet for the packet, receiving from the receiving device the acknowledgment packet that cannot be generated and modified at a relay point between the receiving device and the transmitting device, and transmitting the acknowledgment packet to the transmitting device; and a control unit for controlling the packet or the acknowledgment packet such that the transmission device changes the transmission speed.

本発明の一態様に係る方法は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信することと、上記パケットを上記受信装置へ送信することと、上記パケットのための確認応答パケットであって、上記受信装置と上記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、上記受信装置から受信することと、上記確認応答パケットを上記送信装置へ送信することと、上記送信装置が送信速度を変更するように上記パケット又は上記確認応答パケットの制御を行うことと、を含む。 A method according to an aspect of the present invention is a packet transmitted from a transmitting device to a receiving device, which cannot be generated and modified at a relay point between the transmitting device and the receiving device, from the transmitting device. receiving, transmitting said packet to said receiving device, and an acknowledgment packet for said packet, said acknowledgment not being able to be generated and modified at an intermediary point between said receiving device and said transmitting device; receiving packets from the receiving device; transmitting the acknowledgment packets to the transmitting device; and controlling the packets or the acknowledgment packets so that the transmitting device changes transmission speed. ,including.

本発明の一態様に係るプログラムは、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、前記パケットを前記受信装置へ送信することと、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、前記確認応答パケットを前記送信装置へ送信することと、前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、をプロセッサに実行させるプログラムである。 A program according to an aspect of the present invention is a packet that is transmitted from a transmitting device to a receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device. receiving, transmitting said packet to said receiving device, and an acknowledgment packet for said packet, said acknowledgment not being able to be generated and modified at an intermediary point between said receiving device and said transmitting device. receiving packets from the receiving device; transmitting the acknowledgment packets to the transmitting device; and controlling the packets or the acknowledgment packets so that the transmitting device changes transmission speed. is a program that causes a processor to execute

本発明の一態様に係るコンピュータに読み取り可能な非一時的記録媒体は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、前記パケットを前記受信装置へ送信することと、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、前記確認応答パケットを前記送信装置へ送信することと、前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体である。 A computer-readable non-transitory recording medium according to an aspect of the present invention is a packet transmitted from a transmitting device to a receiving device, which is generated and modified at a relay point between the transmitting device and the receiving device. receiving the packet from the transmitting device, transmitting the packet to the receiving device, and an acknowledgment packet for the packet, which is relayed between the receiving device and the transmitting device. receiving from the receiving device the acknowledgment packet that cannot be generated and modified at points; transmitting the acknowledgment packet to the transmitting device; It is a computer-readable non-transitory recording medium recording a program for causing a processor to control an acknowledgment packet.

本発明によれば、使用されるプロトコルによらず送信装置と受信装置との間の通信のスループットを向上させることが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。 According to the present invention, it is possible to improve the throughput of communication between a transmitting device and a receiving device regardless of the protocol used. It should be noted that other effects may be achieved by the present invention instead of or in addition to the above effects.

CUBICにおける輻輳ウィンドウ(cwnd)の変化の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of changes in a congestion window (cwnd) in CUBIC; BBRにおける送信データ量の調整の手法を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a technique for adjusting the amount of transmission data in BBR; 無線帯域の変動と送信速度制御(CUBIC)によるスループットの変化の例を示すグラフである。7 is a graph showing an example of changes in throughput due to fluctuations in the radio band and transmission rate control (CUBIC); QUICパケットの例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a QUIC packet; 実施形態に係るシステムの概略的な構成の一例を示す説明図である。1 is an explanatory diagram showing an example of a schematic configuration of a system according to an embodiment; FIG. 第1の実施形態に係る通信制御装置の概略的な機能構成の例を示すブロック図である。2 is a block diagram showing an example of a schematic functional configuration of a communication control device according to the first embodiment; FIG. 第1の実施形態に係る通信制御装置の概略的なハードウェア構成の例を示すブロック図である。2 is a block diagram showing an example of a schematic hardware configuration of a communication control device according to the first embodiment; FIG. 第1の実施形態に係る送信装置10から受信装置20へのパケットの送信の例を説明するためのシーケンス図である。4 is a sequence diagram for explaining an example of packet transmission from the transmitting device 10 to the receiving device 20 according to the first embodiment; FIG. 第1の実施形態に係る送信タイミングの調整の第1の例を説明するためのシーケンス図である。4 is a sequence diagram for explaining a first example of transmission timing adjustment according to the first embodiment; FIG. 第1の実施形態に係る送信タイミングの調整の第2の例を説明するためのシーケンス図である。FIG. 9 is a sequence diagram for explaining a second example of transmission timing adjustment according to the first embodiment; 第1の実施形態に係る送信タイミングの調整の第3の例を説明するためのシーケンス図である。FIG. 11 is a sequence diagram for explaining a third example of transmission timing adjustment according to the first embodiment; 第1の実施形態に係るパケットの送信順序の調整の例を説明するためのシーケンス図である。FIG. 5 is a sequence diagram for explaining an example of adjusting the transmission order of packets according to the first embodiment; 第1の実施形態に係るACKパケットの一部の破棄の例を説明するためのシーケンス図である。FIG. 4 is a sequence diagram for explaining an example of discarding part of an ACK packet according to the first embodiment; 第2の実施形態に係る通信制御装置の概略的な機能構成の例を示すブロック図である。8 is a block diagram showing an example of a schematic functional configuration of a communication control device according to a second embodiment; FIG.

以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in the present specification and drawings, elements that can be described in the same manner can be omitted from redundant description by assigning the same reference numerals.

説明は、以下の順序で行われる。
1.関連技術
2.実施形態に係るシステムの構成
3.第1の実施形態
3.1.通信制御装置の機能構成
3.2.通信制御装置のハードウェア構成
3.3.技術的特徴
4.第2の実施形態
4.1.通信制御装置の機能構成
4.2.通信制御装置のハードウェア構成
4.3.技術的特徴
The description is given in the following order.
1. Related technology 2 . Configuration of system according to embodiment 3 . First Embodiment 3.1. Functional Configuration of Communication Control Device 3.2. Hardware configuration of communication control device 3.3. Technical features 4. Second Embodiment 4.1. Functional Configuration of Communication Control Device 4.2. Hardware configuration of communication control device 4.3. technical features

この開示において、「A及び/又はB」という表現は、「AとBとの両方」(both A and B)又は「AとBとのいずれか一方」(either A or B)を意味する。 In this disclosure, the phrase "A and/or B" means "both A and B" or "either A or B."

<<1.関連技術>>
図1~図4を参照して、本発明の実施形態に関連する技術を説明する。
<<1. Related technology >>
Techniques associated with embodiments of the present invention will be described with reference to FIGS.

(1)CUBIC
CUBICは、Linux(登録商標) kernel 2.6.19以降のTCP(Transmission Control Protocol)で標準的に用いられている輻輳制御方式である。CUBICは、パケットのロスの有無に基づいて送信速度を制御する方式であり、ロスベースの方式と言える。
(1) CUBIC
CUBIC is a congestion control method standardly used in TCP (Transmission Control Protocol) in Linux (registered trademark) kernel 2.6.19 and later. CUBIC is a method for controlling transmission speed based on the presence or absence of packet loss, and can be said to be a loss-based method.

図1は、CUBICにおける輻輳ウィンドウ(Congestion Window:cwnd)の変化の例を説明するための説明図である。 FIG. 1 is an explanatory diagram for explaining an example of changes in a congestion window (cwnd) in CUBIC.

まず、スロースタートフェーズでは、送信装置は、ACKの受信ごとにcwndを1パケットだけ大きくする。このフェーズでは、cwndは時間軸で指数関数的に増加する。この増加は、cwndが所定の閾値(初期ssthresh)に達するまで続く。 First, in the slow start phase, the transmitter increments cwnd by one packet each time an ACK is received. In this phase, cwnd increases exponentially over time. This increase continues until cwnd reaches a predetermined threshold (initial ssthresh).

次に、輻輳回避フェーズでは、送信装置は、正常にACKを受信している限り、時間の経過に応じて3次関数的にcwndを増加させる。一方、送信装置は、同一パケットに対する重複した確認応答(DupACK)を3回受信した場合には、軽度の輻輳と判断してcwndを一定割合(例えば3割)だけ減少させ、タイムアウトの場合には、重度の輻輳と判断してcwndを2パケットにする。図1の例では、輻輳回避フェーズにおいて、送信装置は、正常にACKを受信している間は、cwndを増加させているが、輻輳に伴うDupACK等の発生に応じて、cwndを減少させている。 Next, in the congestion avoidance phase, the transmitting device increases cwnd cubicly over time as long as ACKs are normally received. On the other hand, when the transmitting device receives duplicate acknowledgments (DupACK) for the same packet three times, it determines that the congestion is mild and decreases cwnd by a certain percentage (for example, 30%). , cwnd is set to 2 packets by judging severe congestion. In the example of FIG. 1, in the congestion avoidance phase, the transmitting device increases cwnd while normally receiving ACK, but decreases cwnd in response to the occurrence of DupACK or the like due to congestion. there is

このように、CUBICでは、送信装置は、ACKの受信状況に応じてcwndを増減させる。即ち、送信装置は、ACKの受信状況に応じて送信速度を変更する。 Thus, in CUBIC, the transmitting device increases or decreases cwnd according to the ACK reception status. That is, the transmitting device changes the transmission speed according to the ACK reception status.

(2)BBR
BBR(Bottleneck Bandwidth and Round-trip propagation time)は、近年のTCPやQUIC等で利用可能な輻輳制御方式である。BBRは、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する方式であり、ファンクションベースの方式と言える。
(2) BBR
BBR (Bottleneck Bandwidth and Round-trip propagation time) is a congestion control method that can be used in recent TCP, QUIC, and the like. BBR is a method for controlling transmission speed based on network performance estimated from packet transmission/reception, and can be said to be a function-based method.

具体的には、BBRでは、送信装置は、データを送信しながらネットワーク性能を推定し、推定結果から送信データ量を決定する。CUBICとは異なり、パケットのロスが発生しても、送信データ量の制御は行われない。 Specifically, in BBR, a transmitting device estimates network performance while transmitting data, and determines the amount of data to be transmitted from the estimation result. Unlike CUBIC, even if packet loss occurs, the amount of transmitted data is not controlled.

BBRでは、送信データ量の「ペース」と「上限」とを調整してデータが送信され、「可用帯域」と「通信遅延」が継続的に推定される。具体的には、図2に示されるように、送信装置は、「STARTUP」により、ペースを密に、上限を大きくし、「DRAIN」により、ペースを疎に、上限を大きくし、「PROBE_BW」により、ペースを普通(微変動)に、上限を普通にし、「PROBE_RTT」により、ペースを普通に、上限を極小にする。 In BBR, data is transmitted by adjusting the "pace" and "upper limit" of the amount of transmission data, and the "available bandwidth" and "communication delay" are continuously estimated. Specifically, as shown in FIG. 2, the transmitting device increases the pace and increases the upper limit with 'STARTUP', decreases the pace and increases the upper limit with 'DRAIN', and increases the upper limit with 'PROBE_BW'. 'PROBE_RTT' sets the pace to normal (slight fluctuation) and the upper limit to normal, and 'PROBE_RTT' sets the pace to normal and the upper limit to a minimum.

送信装置は、一定時間内の「到達確認データ量÷経過時間」の最大値を「可用帯域」として推定し、一定時間内のRTT(Round Trip Time)の最小値を「通信遅延」として推定する。「可用帯域」は、BtlBw (Bottleneck Bandwidth)と呼ばれ、「通信遅延」は、RTprop (Round-Trip propagation time):と呼ばれる。 The transmitting device estimates the maximum value of "arrival confirmation data amount/elapsed time" within a certain period of time as the "available bandwidth", and estimates the minimum value of the RTT (Round Trip Time) within the certain period of time as the "communication delay". . The "available bandwidth" is called BtlBw (Bottleneck Bandwidth), and the "communication delay" is called RTprop (Round-Trip propagation time):.

さらに、送信装置は、「可用帯域」と「通信遅延」とを乗算することにより「送信データ量」を算出する。この「送信データ量」は、BDP(Bandwidth-Delay Product)と呼ばれる。 Furthermore, the transmitting device calculates the "transmission data amount" by multiplying the "available bandwidth" and the "communication delay". This "transmission data amount" is called BDP (Bandwidth-Delay Product).

(3)モバイル網におけるスループット
近年、スマートフォンやタブレット等の高機能なモバイル端末の普及に伴い、モバイルネットワーク経由のトラヒックが増加している。多くの通信で使用されている送信速度制御(例えば、CUBIC及びNewReno等)では、モバイルネットワークにおける急激な帯域変動に追従することが困難である。
(3) Throughput in Mobile Networks In recent years, with the spread of sophisticated mobile terminals such as smartphones and tablets, traffic via mobile networks has increased. It is difficult for the transmission rate control (for example, CUBIC, NewReno, etc.) used in many communications to follow rapid band fluctuations in mobile networks.

図3は、無線帯域の変動と送信速度制御(CUBIC)によるスループットの変化の例を示すグラフである。図3を参照すると、無線帯域の変動に応じて、CUBICによる送信速度制御(CUBIC)によりスループットが変化しているが、当該無線帯域の変動が激しいため、スループットは十分に追従できていない。 FIG. 3 is a graph showing an example of changes in throughput due to fluctuations in the radio band and transmission rate control (CUBIC). Referring to FIG. 3, the throughput changes due to the transmission rate control (CUBIC) by CUBIC according to the fluctuation of the radio band, but the throughput cannot sufficiently follow the fluctuation of the radio band due to the drastic fluctuation of the radio band.

(4)QUIC
QUIC(Quick UDP Internet Connections)は、トランスポートプロトコルであり、UDP(User Datagram Protocol)の上位レイヤプロトコルとして用いられる。QUICは、中間装置でのパケットの生成や改変といった操作が非常に困難なパケットの構成となっている。
(4) QUIC
QUIC (Quick UDP Internet Connections) is a transport protocol and is used as an upper layer protocol of UDP (User Datagram Protocol). QUIC has a packet configuration that makes it extremely difficult for an intermediate device to generate or modify packets.

図4は、QUICパケットの例を説明するための説明図である。図4を参照すると、UDPパケットのSDU(Service Data Unit)として、QUICパケットが示されている。QUICパケットは、QUICパケットヘッダとペイロードとを含み、当該ペイロードは、1つ以上のQUICフレームを含む。各QUICフレームは、QUICフレームヘッダとQUICデータとを含む。QUICパケット内のペイロードは、暗号化される。また、QUICパケットヘッダは、暗号化されないが認証され、改変不可である。 FIG. 4 is an explanatory diagram for explaining an example of a QUIC packet. Referring to FIG. 4, a QUIC packet is shown as an SDU (Service Data Unit) of a UDP packet. A QUIC packet includes a QUIC packet header and a payload, which includes one or more QUIC frames. Each QUIC frame includes a QUIC frame header and QUIC data. The payload within the QUIC packet is encrypted. Also, the QUIC packet header is unencrypted but authenticated and immutable.

<<2.実施形態に係るシステムの構成>>
図5を参照して、本発明の実施形態に係るシステムの構成の例を説明する。
<<2. Configuration of system according to embodiment>>
An example of a system configuration according to an embodiment of the present invention will be described with reference to FIG.

図5は、本発明の実施形態に係るシステム1の概略的な構成の一例を示す説明図である。図5を参照すると、システム1は、送信装置10、受信装置20及び通信制御装置100を含む。通信制御装置100は、中継装置と呼ばれてもよい。 FIG. 5 is an explanatory diagram showing an example of a schematic configuration of the system 1 according to the embodiment of the invention. Referring to FIG. 5 , system 1 includes transmitter 10 , receiver 20 and communication control device 100 . The communication control device 100 may be called a relay device.

送信装置10は、パケットを受信装置20へ送信する。通信制御装置100は、送信装置10と受信装置20との間に位置し、上記パケットを転送(又は中継)する。具体的には、通信制御装置100は、送信側ネットワーク30を介して送信装置10から上記パケットを受信し、受信側ネットワーク40を介して受信装置20へ上記パケットを送信する。例えば、上記パケットは、データパケットである。 The transmitting device 10 transmits packets 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 packets. 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 . For example, the packet is a data packet.

一例として、ユーザがコンテンツをダウンロードする場合に、送信装置10は、サーバであってもよく、受信装置20は、パーソナルコンピュータ(PC)又はスマートフォンであってもよい。この場合に、受信側ネットワーク40は、モバイルネットワークであってもよく、インターネットであってもよく、又は、インターネット及びモバイルネットワークを含んでもよい。あるいは、ユーザがコンテンツをアップロードする場合には、送信装置10は、パーソナルコンピュータ(PC)又はスマートフォンであってもよく、受信装置20は、サーバであってもよい。当然ながら、送信装置10及び受信装置20はこれらの例に限定されない。 As an example, when a user downloads content, the sending device 10 may be a server and the receiving device 20 may be a personal computer (PC) or smart phone. In this case, the receiving network 40 may be a mobile network, the Internet, or may include the Internet and a mobile network. Alternatively, if the user uploads content, the sending device 10 may be a personal computer (PC) or smart phone, and the receiving device 20 may be a server. Of course, the transmitting device 10 and the receiving device 20 are not limited to these examples.

送信装置10は、送信制御方式を使用して送信速度を制御する。一例として、上記送信制御方式は、パケットのロスの有無に基づいて送信速度を制御する第1の送信制御方式(例えばCUBIC等のロスベースの送信制御方式)である。あるいは、上記送信制御方式は、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する第2の送信制御方式(例えばBBR等のファンクションベースの送信制御方式)である。当然ながら、上記送信制御方式は、これらの例には限定されない。なお、上記送信制御方式は、輻輳制御方式とも呼ばれ得る。 The transmitter 10 uses a transmission control scheme to control the transmission rate. As an example, 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 packet loss. Alternatively, the transmission control method is a second transmission control method (for example, a function-based transmission control method such as BBR) that controls the transmission speed based on network performance estimated from packet transmission/reception. Of course, the above transmission control method is not limited to these examples. Note that the transmission control method can also be called a congestion control method.

<<3.第1の実施形態>>
図6~図12を参照して、本発明の第1の実施形態を説明する。
<<3. First Embodiment>>
A first embodiment of the present invention will be described with reference to FIGS.

<3.1.通信制御装置の機能構成>
図6は、第1の実施形態に係る通信制御装置100の概略的な機能構成の例を示すブロック図である。図6を参照すると、通信制御装置100は、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び制御部160を備える。
<3.1. Functional Configuration of Communication Control Device>
FIG. 6 is a block diagram showing an example of a schematic functional configuration of the communication control device 100 according to the first embodiment. Referring to FIG. 6, 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.

第1通信処理部110は、パケットを送受信する。例えば、第1通信処理部110は、送信装置10からパケット(例えばデータパケット)を受信し、送信装置10へパケット(例えばACKパケット)を送信する。 The first communication processing unit 110 transmits and receives packets. For example, the first communication processing unit 110 receives packets (eg, data packets) from the transmitting device 10 and transmits packets (eg, ACK packets) to the transmitting device 10 .

第2通信処理部120は、パケットを送受信する。例えば、第2通信処理部120は、受信装置20へパケット(例えばデータパケット)を送信し、受信装置20からパケット(例えばACKパケット)を受信する。 The second communication processing unit 120 transmits and receives packets. For example, the second communication processing unit 120 transmits packets (eg, data packets) to the receiving device 20 and receives packets (eg, ACK packets) from the receiving device 20 .

第1通信処理部110及び第2通信処理部120は、例えば、1つ以上のプロトコルレイヤの処理を行う。具体的には、例えば、当該1つ以上のプロトコルレイヤは、レイヤ3(ネットワークレイヤ)以上のプロトコルレイヤを含む。上記1つ以上のプロトコルレイヤは、レイヤ2以下のプロトコルレイヤをさらに含んでもよい。あるいは、上記1つ以上のプロトコルレイヤは、レイヤ2以下のプロトコルレイヤのみを含んでもよい。また、第1通信処理部110及び第2通信処理部120は、1つの通信処理部として統合されていてもよい。 The first communication processing unit 110 and the second communication processing unit 120, for example, process one or more protocol layers. Specifically, for example, the one or more protocol layers include layer 3 (network layer) and higher protocol layers. The one or more protocol layers may further include protocol layers below Layer 2. Alternatively, the one or more protocol layers may include only protocol layers from Layer 2 onwards. Also, the first communication processing unit 110 and the second communication processing unit 120 may be integrated as one communication processing unit.

現在送信速度推定部130は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10と受信装置20との間の現在の送信速度を推定する。 Current transmission speed estimation section 130 estimates the current transmission speed between transmitting device 10 and receiving device 20 for each session or stream related to packets transferred by communication control device 100 .

目標送信速度推定部140は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10と受信装置20との間の目標送信速度を推定する。 The target transmission speed estimation unit 140 estimates the target transmission speed between the transmission device 10 and the reception device 20 for each session or stream related to packets transferred by the communication control device 100 .

送信制御推定部150は、通信制御装置100が転送しているパケットに係るセッション又はストリームの各々について、送信装置10により使用されている送信制御方式を推定する。 The transmission control estimation unit 150 estimates the transmission control method used by the transmission device 10 for each session or stream related to packets transferred by the communication control device 100 .

制御部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パケット又は上記パケットの直接的な制御を行ってもよい。 The control unit 160 controls packets transmitted from the transmitting device to the receiving device. For example, the control may be an ACK packet for the packet (the ACK packet received from the receiving device 20 by the second communication processing unit 120 and transmitted to the transmitting device 10 by the first communication processing unit 110) or the packet (the 1 communication processing unit 110 receives from the transmitting device 10 and the second communication processing unit 120 transmits the data packet to the receiving device 20). The control unit 160 may indirectly control the ACK packet or the packet by controlling the operation of the first communication processing unit 110 or the second communication processing unit 120 . Alternatively, the control unit 160 directly controls the ACK packet or the packet by directly processing the ACK packet or the packet between the first communication processing unit 110 and the second communication processing unit 120. may be performed.

第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び制御部160についてのより具体的な動作は、第1の実施形態の技術的特徴として後に説明する。 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 implementation. It will be explained later as a technical feature of the form.

<3.2.通信制御装置のハードウェア構成>
図7は、第1の実施形態に係る通信制御装置100の概略的なハードウェア構成の例を示すブロック図である。図7を参照すると、通信制御装置100は、プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250を備える。プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250は、バス260を介して互いに接続されている。
<3.2. Hardware Configuration of Communication Control Device>
FIG. 7 is a block diagram showing an example of a schematic hardware configuration of the communication control device 100 according to the first embodiment. Referring to FIG. 7, communication control device 100 includes processor 210 , main memory 220 , storage 230 , communication interface 240 and input/output interface 250 . Processor 210 , main memory 220 , storage 230 , communication interface 240 and input/output interface 250 are interconnected via bus 260 .

プロセッサ210は、メインメモリ220から読み出されるプログラムを実行する。一例として、プロセッサ210は、CPU(Central Processing Unit)である。 Processor 210 executes a program read from main memory 220 . As an example, the processor 210 is a CPU (Central Processing Unit).

メインメモリ220は、プログラム及び各種データを記憶する。一例として、メインメモリ220は、RAM(Random Access Memory)である。 The main memory 220 stores programs and various data. As an example, the main memory 220 is RAM (Random Access Memory).

ストレージ230は、プログラム及び各種データを記憶する。一例として、ストレージ230は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。 The storage 230 stores programs and various data. As an example, the storage 230 includes SSDs (Solid State Drives) and/or HDDs (Hard Disk Drives).

通信インタフェース240は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース240は、ネットワークアダプタ又はネットワークインタフェースカードである。 Communication interface 240 is an interface for communication with other devices. As an example, communication interface 240 is a network adapter or network interface card.

入出力インタフェース250は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。 The input/output interface 250 is an interface for connection with an input device such as a keyboard and an output device such as a display.

第1通信処理部110及び第2通信処理部120は、プロセッサ210及びメインメモリ220により実装されてもよく、あるいは、プロセッサ210、メインメモリ220及び通信インタフェース240により実装されてもよい。現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160は、プロセッサ210及びメインメモリ220により実装されてもよい。 The first communication processing unit 110 and the second communication processing unit 120 may be implemented by the processor 210 and the main memory 220, or may be implemented by the processor 210, the main memory 220 and the communication interface 240. Current transmission rate estimator 130 , target transmission rate estimator 140 , transmission control estimator 150 and/or controller 160 may be implemented by processor 210 and main memory 220 .

当然ながら、通信制御装置100のハードウェア構成はこの例に限定されない。通信制御装置100は、他のハードウェア構成により実装されてもよい。 Of course, the hardware configuration of the communication control device 100 is not limited to this example. Communication control device 100 may be implemented with other hardware configurations.

あるいは、通信制御装置100は、仮想化されていてもよい。即ち、通信制御装置100は、仮想マシンとして実装されてもよい。この場合に、通信制御装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。 Alternatively, the communication control device 100 may be virtualized. That is, the communication control device 100 may be implemented as a virtual machine. In this case, the communication control device 100 (virtual machine) may operate as a virtual machine on a physical machine (hardware) including a processor, memory, etc. and a hypervisor.

通信制御装置100は、プログラム(命令)を記憶するメモリ(メインメモリ220)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ210)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160の動作を行ってもよい。上記プログラムは、第1通信処理部110、第2通信処理部120、現在送信速度推定部130、目標送信速度推定部140、送信制御推定部150及び/又は制御部160の動作をプロセッサに実行させるためのプログラムであってもよい。 Communication control device 100 may include a memory (main memory 220) that stores programs (instructions) and one or more processors (processor 210) that can execute the programs (instructions). The one or more processors execute the above program to perform 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/or Alternatively, the operation of the control unit 160 may be performed. The program causes the processor to execute the 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/or the control unit 160. It may be a program for

<3.3.技術的特徴>
図8~図12を参照して、第1の実施形態の技術的特徴を説明する。
<3.3. Technical features>
Technical features of the first embodiment will be described with reference to FIGS. 8 to 12. FIG.

(1)パケットの中継
通信制御装置100(第1通信処理部110)は、送信装置10から受信装置20へ送信されるパケットを送信装置10から受信する。そして、通信制御装置100(第2通信処理部120)は、上記パケットを受信装置20へ送信する。
(1) Packet Relay The communication control device 100 (first communication processing unit 110 ) receives from the transmitting device 10 packets transmitted from the transmitting device 10 to the receiving device 20 . The communication control device 100 (second communication processing unit 120 ) then transmits the packet to the receiving device 20 .

例えば、上記パケットは、データパケットである。例えば、上記パケットは、パケットデータユニット(PDU)である。上記パケットは、パケットと呼ばれる代わりに、フレーム、データグラム又はセグメント等の他の類似の呼称で呼ばれてもよい。 For example, the packet is a data packet. For example, the packets are packet data units (PDUs). Instead of being called packets, the packets may be called frames, datagrams or other similar names such as segments.

さらに、通信制御装置100(第2通信処理部120)は、上記パケットのための確認応答(ACK)パケットを受信装置20から受信する。そして、通信制御装置100(第1通信処理部110)は、上記確認応答(ACK)パケットを送信装置10へ送信する。 Furthermore, the communication control device 100 (second communication processing unit 120 ) receives an acknowledgment (ACK) packet for the packet from the receiving device 20 . Then, the communication control device 100 (first communication processing unit 110 ) transmits the acknowledgment (ACK) packet to the transmission device 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を転送(又は中継)する。 FIG. 8 is a sequence diagram for explaining an example of packet transmission from the transmitting device 10 to the receiving device 20 according to the first embodiment. The transmitting device 10 transmits a packet (data packet) 51 to the receiving device 20 (S301, S303). At this time, the communication control device 100 receives the packet 51 from the transmitting device 10 (S301) and transmits the packet 51 to the receiving device 20 (S303). That is, the communication control device 100 transfers (or relays) the packet 51 from the transmission device 10 to the reception device 20 . Further, the receiving device 20 receives the packet 51 (S303) and transmits an ACK packet 53 for the packet 51 to the transmitting device 10 (S305, S307). At this time, the communication control device 100 receives the ACK packet 53 from the receiving device 20 (S305), and transmits the ACK packet 53 to the transmitting device 10 (S307). That is, the communication control device 100 transfers (or relays) the packet 53 from the receiving device 20 to the transmitting device 10 .

(2)パケット及び確認応答(ACK)パケット
送信装置10から受信装置20へ送信される上記パケットは、送信装置10と受信装置20との間の中継点(例えば通信制御装置100等)において生成及び改変できないパケットである。
(2) Packets and Acknowledgment (ACK) Packets The above-mentioned packets transmitted from the transmitting device 10 to the receiving device 20 are generated and It is a packet that cannot be altered.

さらに、上記パケットのための確認応答(ACK)パケットは、受信装置20と送信装置10との間の中継点において生成及び改変できないACKパケットである。 Furthermore, an 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 .

より具体的には、例えば、上記パケット及び上記ACKパケットは、少なくとも一部が暗号化され又は認証される。とりわけ、上記ACKパケットの暗号化され又は認証される一部は、送信装置10への確認応答のための情報(例えば確認応答番号等)を含む。 More specifically, for example, the packet and the ACK packet are at least partially encrypted or authenticated. Among other things, the encrypted or authenticated part of the ACK packet contains information for acknowledgment to the sending device 10 (eg an acknowledgment number, etc.).

第1の例として、送信装置10は、少なくとも一部が認証されたパケットを送信し、受信装置20は、少なくとも一部が認証されたACKパケットを送信する。この場合には、当該パケット及び当該ACKパケットは認証されているので、通信制御装置100は、上記パケット及び上記ACKパケットを生成及び改変することができない。 As a first example, transmitting device 10 transmits at least partially authenticated packets and receiving device 20 transmits at least partially authenticated ACK packets. In this case, since the packet and the ACK packet are authenticated, the communication control device 100 cannot generate or modify the packet and the ACK packet.

第2の例として、送信装置10は、少なくとも一部が暗号化されたパケットを送信し、受信装置20は、少なくとも一部が暗号化されたACKパケットを送信する。この場合には、当該パケット及び当該ACKパケットは暗号化されているので、通信制御装置100は、上記パケット及び上記ACKパケットを生成及び改変することができない。 As a second example, the transmitting device 10 transmits at least partially encrypted packets, and the receiving device 20 transmits at least partially encrypted ACK packets. In this case, since the packet and the ACK packet are encrypted, the communication control device 100 cannot generate or modify the packet and the ACK packet.

一例として、上記パケットは、(例えば図4に示されるような)QUICパケットであり、上記パケットについてのACKパケットも、QUICパケットである。この場合に、例えば、送信装置10への確認応答のための情報(例えば確認応答番号)は、ACKパケット(QUICパケット)の認証されたヘッダ、又は、ACKパケット(QUICパケット)の暗号化されたペイロードに含まれる。別の例として、上記パケットは、(例えば図4に示されるような)QUICフレームであってもよく、上記パケットについてのACKパケットも、QUICフレームであってもよい。この場合に、送信装置10への確認応答のための情報(例えば確認応答番号)は、暗号化されたACKパケット(QUICフレーム)に含まれてもよい。 As an example, the packet is a QUIC packet (eg, as shown in FIG. 4) and the ACK packet for the packet is also a QUIC packet. In this case, for example, the information (for example, the acknowledgment number) for the acknowledgment to the transmitting device 10 is the authenticated header of the ACK packet (QUIC packet) or the encrypted header of the ACK packet (QUIC packet). Included in payload. As another example, the packet may be a QUIC frame (eg, as shown in FIG. 4) and the ACK packet for the packet may also be a QUIC frame. In this case, the information for the acknowledgment to the transmitting device 10 (eg, acknowledgment number) may be included in the encrypted ACK packet (QUIC frame).

(3)パケットについての制御
通信制御装置100(制御部160)は、送信装置10から受信装置20へ送信される上記パケットについての制御であって、送信装置10に送信速度を変更させる当該制御を行う。
(3) Packet Control The communication control device 100 (control unit 160) controls the above-described packets transmitted from the transmitting device 10 to the receiving device 20, and performs the control to change the transmission speed of the transmitting device 10. conduct.

例えば、上記制御は、上記パケットのためのACKパケット又は上記パケットの制御である。 For example, the control is an ACK packet for the packet or control of the packet.

(3-1)現在の送信速度及び目標送信速度に基づく制御
・現在の送信速度の推定
例えば、通信制御装置100(現在送信速度推定部130)は、送信装置10の現在の送信速度を推定する。
(3-1) Control based on current transmission speed and target transmission speed Estimation of current transmission speed For example, communication control device 100 (current transmission speed estimation unit 130) estimates the current transmission speed of transmission device 10 .

例えば、通信制御装置100(現在送信速度推定部130)は、送信装置10から受信されるパケットのヘッダに含まれるタイムスタンプ情報等に基づいてRTTを推定し、当該RTTの間に受信されるパケットのデータ量(又はその統計値)を送信装置10の現在の送信速度(cwnd)として推定する。 For example, the communication control device 100 (current transmission speed estimation unit 130) estimates the RTT based on the time stamp information or the like included in the header of the packet received from the transmission device 10, and is estimated as the current transmission speed (cwnd) of the transmission device 10 .

例えばこのように、上記現在の送信速度は、RTTの間に送信されるデータ量であってもよい。あるいは、上記現在の送信速度は、単位時間あたりに送信されるデータ量(スループット)であってもよい。 For example, in this way, the current transmission rate may be the amount of data transmitted during the RTT. Alternatively, the current transmission rate may be the amount of data transmitted per unit time (throughput).

・目標送信速度の推定
例えば、通信制御装置100(目標送信速度推定部140)は、送信装置10の目標送信速度を推定する。
Estimation of Target Transmission Speed For example, the communication control device 100 (target transmission speed estimator 140 ) estimates the target transmission speed of the transmission device 10 .

例えば、通信制御装置100(目標送信速度推定部140)は、送信側ネットワーク30側の可用帯域(以下、「第1の可用帯域」と呼ぶ)と、受信側ネットワーク40側の可用帯域(以下、「第2の可用帯域」と呼ぶ)とを推定する。そして、通信制御装置100(目標送信速度推定部140)は、第1の可用帯域にRTTを乗算することにより得られる第1の値と、第2の可用帯域にRTTを乗算することにより得られる第2の値とのうちの一方(例えば小さい方の値)を、目標送信速度として推定する。 For example, the communication control device 100 (target transmission speed estimating unit 140) sets the available band on the side of the transmitting network 30 (hereinafter referred to as "first available band") and the available band on the side of the receiving network 40 (hereinafter referred to as called "second available bandwidth"). Then, the communication control device 100 (target transmission rate estimator 140) obtains a first value obtained by multiplying the first available band by the RTT, and a first value obtained by multiplying the second available band by the RTT. One of the second value (eg, the smaller value) is estimated as the target transmission rate.

・第1の可用帯域(送信側ネットワーク側の可用帯域)の推定
例えば、通信制御装置100(目標送信速度推定部140)は、送信装置10から受信されるデータパケットについての以下の例のいずれかを、上記第1の可用帯域として推定してもよい。
[例1]「データパケットのサイズ÷データパケットの受信間隔」(又はその統計値)
[例2]「パケット群のサイズ÷パケット群の受信にかかった時間」(又はその統計値)(パケット群は、受信間隔が閾値以下又は一定時間内に受信したデータパケットの集合)
Estimation of the first available bandwidth (available bandwidth on the transmission side network side) may be estimated as the first available bandwidth.
[Example 1] "data packet size/data packet reception interval" (or its statistical value)
[Example 2] "Packet group size / Time taken to receive packet group" (or statistical value thereof) (Packet group is a set of data packets received at intervals of less than a threshold or within a certain period of time)

・第2の可用帯域(受信側ネットワーク側の可用帯域)の推定
一例として、通信制御装置100(目標送信速度推定部140)は、以下の例のいずれかを上記第2の可用帯域として推定してもよい。
[例1]「ACKパケットによって到達確認されたデータ量÷ACKパケットの受信間隔」(又はその統計値)
[例2]「ACKパケット群によって到達確認されたデータ量÷その受信にかかった時間」(又はその統計値)(ACKパケット群は、受信間隔が閾値以下又は一定時間内に受信したACKパケットの集合)
[例3]通信制御装置100において蓄積しているデータパケットの減少速度
Estimation of second available band (available band on receiving side network side) As an example, communication control device 100 (target transmission rate estimator 140) estimates one of the following examples as the second available band. may
[Example 1] "Amount of data whose arrival is confirmed by an ACK packet / ACK packet reception interval" (or its statistical value)
[Example 2] "Amount of data confirmed arrival by ACK packet group / Time taken to receive it" (or its statistical value) set)
[Example 3] Reduction rate of data packets accumulated in the communication control device 100

通信制御装置100(目標送信速度推定部140)は、送信装置10から受信したデータパケットを蓄積した後に、当該データパケットを受信側ネットワーク40にまとめて送信することで、一時的に上記第2の可用帯域を超える又は近い送信速度でデータパケットを送信することにより、上記第2の可用帯域を推定してもよい。 After accumulating the data packets received from the transmission device 10, the communication control device 100 (the target transmission speed estimation unit 140) collectively transmits the data packets to the reception side network 40, thereby temporarily achieving the second The second available bandwidth may be estimated by transmitting data packets at a transmission rate exceeding or close to the available bandwidth.

通信制御装置100(目標送信速度推定部140)は、上記第2の可用帯域を推定するにあたり、宛先IPアドレス等の情報から、同一又は同様のネットワーク性能にあると推測した過去の受信装置に向けた通信の実績を利用してもよい。 When estimating the second available bandwidth, the communication control device 100 (target transmission speed estimation unit 140) estimates the past receiving device that has the same or similar network performance from information such as the destination IP address. It is also possible to use the track record of communication

・推定結果に基づく制御
例えば、通信制御装置100(制御部160)は、上記現在の送信速度及び上記目標送信速度に基づいて、上記パケットについての上記制御(送信装置10に送信速度を変更させる制御)を行う。
Control based on estimation results For example, the communication control device 100 (control unit 160) controls the packet based on the current transmission speed and the target transmission speed (control for causing the transmission device 10 to change the transmission speed )I do.

例えば、通信制御装置100(制御部160)は、送信装置10の送信速度が上記目標送信速度に近づくように、上記制御を行う。 For example, the communication control device 100 (control unit 160) performs the control so that the transmission speed of the transmission device 10 approaches the target transmission speed.

一例として、上記目標送信速度と上記現在の送信速度との差(目標送信速度-現在の送信速度)が所定の閾値(いずれかの正の数又は0)よりも大きい場合に、通信制御装置100(制御部160)は、上記制御(送信装置10に送信速度を上げさせる制御)を行う。上記現在の送信速度と上記目標送信速度との差(現在の送信速度-目標送信速度)が所定の閾値(いずれかの正の数又は0)よりも大きい場合に、通信制御装置100(制御部160)は、上記制御(送信装置10に送信速度を下げさせる制御)を行ってもよい。 As an example, when the difference between the target transmission speed and the current transmission speed (target transmission speed−current transmission speed) is greater than a predetermined threshold (any positive number or 0), the communication control device 100 (Control unit 160) performs the above-described control (control for increasing the transmission speed of the transmitting device 10). If the difference between the current transmission speed and the target transmission speed (current transmission speed - target transmission speed) is greater than a predetermined threshold (any positive number or 0), the communication control device 100 (control unit 160) may perform the above-described control (control for causing the transmission device 10 to reduce the transmission speed).

別の例として、通信制御装置100(制御部160)は、上記目標送信速度と上記現在の送信速度との差(目標送信速度-現在の送信速度)に応じて制御パラメータを設定し、当該制御パラメータを用いて上記制御を行ってもよい。 As another example, the communication control device 100 (control unit 160) sets a control parameter according to the difference between the target transmission speed and the current transmission speed (target transmission speed−current transmission speed), The above control may be performed using parameters.

(3-2)制御の第1の例:転送タイミングの調整
例えば、上記制御は、上記ACKパケット又は上記パケットの送信タイミングの調整を含む。即ち、通信制御装置100(制御部160)は、上記ACKパケット又は上記パケットの送信タイミングの調整を行う。
(3-2) First example of control: adjustment of transfer timing For example, the control includes adjustment of the transmission timing of the ACK packet or the packet. That is, the communication control device 100 (control unit 160) adjusts the transmission timing of the ACK packet or the packet.

・第1の例
第1の例として、上記送信タイミングの上記調整は、上記ACKパケット間の送信間隔を短くすることを含む。即ち、通信制御装置100(制御部160)は、上記ACKパケット間の送信間隔を短くする。
First Example As a first example, the adjustment of the transmission timing includes shortening the transmission interval between the ACK packets. That is, the communication control device 100 (control unit 160) shortens the transmission interval between the ACK packets.

図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)により設定される制御パラメータであってもよい。 FIG. 9A is a sequence diagram for explaining a first example of transmission timing adjustment according to the first embodiment. The communication control device 100 (second communication processing unit 120) receives the ACK packets 55, 57, 59 from the receiving device 20 (S321, S323, S325). Communication control apparatus 100 accumulates ACK packets 55, 57, and 59 without transmitting them immediately to transmitting apparatus 10, and transmits ACK packets 55, 57, and 59 at predetermined intervals 91 (short intervals). As a result, the transmitting device 10 receives the ACK packets 55, 57, and 59 in a short time, and the transmitting device 10 counts a large amount of arrival-confirmed data in a short time. The predetermined interval 91 may be a predetermined control parameter, or may be a control parameter set by the communication control device 100 (control unit 160).

これにより、例えば、データパケットがまとめて送信できたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が大きくなり、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。 As a result, for example, it is possible to make it appear to the transmitting device 10 that the data packets have been collectively transmitted. As a result, for example, when the transmission device 10 uses a function-based transmission control method (such as BBR), the maximum value of the available bandwidth increases, and the amount of transmission data can increase. That is, the transmission speed of the transmitting device 10 can be increased, and the throughput of communication between the transmitting device 10 and the receiving device 20 can be improved.

なお、上記送信タイミングの上記調整は、(上記ACKパケット間の送信間隔ではなく)上記パケット(データパケット)間の送信間隔を短くすることを含んでもよい。即ち、通信制御装置100(制御部160)は、上記パケット(データパケット)間の送信間隔を短くしてもよい。この場合にも、結果として、ACKパケット間の送信間隔も短くなるので、同様の効果が得られる。 The adjustment of the transmission timing may include shortening the transmission interval between the packets (data packets) (rather than the transmission interval between the ACK packets). That is, the communication control device 100 (control unit 160) may shorten the transmission interval between the packets (data packets). Also in this case, as a result, the transmission interval between ACK packets is also shortened, so a similar effect can be obtained.

・第2の例
第2の例として、上記送信タイミングの上記調整は、上記ACKパケット間の送信間隔を長くすることを含む。即ち、第2の例では、第1の例とは反対に、通信制御装置100(制御部160)は、上記ACKパケット間の送信間隔を長くする。
Second Example As a second example, the adjustment of the transmission timing includes lengthening the transmission interval between the ACK packets. That is, in the second example, contrary to the first example, the communication control device 100 (control unit 160) lengthens the transmission interval between the ACK packets.

図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)により設定される制御パラメータであってもよい。 FIG. 9B is a sequence diagram for explaining a second example of transmission timing adjustment according to the first embodiment. The communication control device 100 (second communication processing unit 120) receives the ACK packets 55, 57, 59 from the receiving device 20 (S321, S323, S325). Communication control device 100 transmits ACK packets 55, 57, and 59 at predetermined intervals 92 (long intervals). As a result, the transmission device 10 receives the ACK packets 55, 57, and 59 for a long period of time, and the amount of arrival-confirmed data counted per fixed period in the transmission device 10 decreases. The predetermined interval 92 may be a predetermined control parameter, or may be a control parameter set by the communication control device 100 (control unit 160).

これにより、例えば、データパケットが少しずつ送信されたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が小さくなり、送信データ量が小さくなり得る。即ち、送信装置10の送信速度が小さくなり得るし、送信装置10と受信装置20との間の通信のスループットが低下し得る。 This makes it possible, for example, to make it appear to the transmitting device 10 that the data packets are transmitted little by little. As a result, for example, when the transmitting device 10 uses a function-based transmission control method (for example, BBR), the maximum value of the available bandwidth becomes small, and the amount of transmission data can become small. That is, the transmission speed of the transmitting device 10 may decrease, and the communication throughput between the transmitting device 10 and the receiving device 20 may decrease.

なお、上記送信タイミングの上記調整は、(上記ACKパケット間の送信間隔ではなく)上記パケット(データパケット)間の送信間隔を長くすることを含んでもよい。即ち、通信制御装置100(制御部160)は、上記パケット(データパケット)間の送信間隔を長くしてもよい。この場合にも、結果として、ACKパケット間の送信間隔も長くなるので、同様の効果が得られる。 The adjustment of the transmission timing may include lengthening the transmission interval between the packets (data packets) (rather than the transmission interval between the ACK packets). That is, the communication control device 100 (control unit 160) may lengthen the transmission interval between the packets (data packets). In this case as well, the transmission interval between ACK packets is lengthened as a result, and a similar effect can be obtained.

・第3の例
別の例として、上記送信タイミングの上記調整は、上記ACKパケットの送信を遅らせることを含んでもよい。通信制御装置100(制御部160)は、上記ACKパケットの送信を遅らせてもよい。
Third Example As another example, the adjustment of the transmission timing may include delaying transmission of the ACK packet. Communication control device 100 (control unit 160) may delay transmission of the ACK packet.

図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)により設定される制御パラメータであってもよい。 FIG. 10 is a sequence diagram for explaining a third example of transmission timing adjustment according to the first embodiment. The communication control device 100 (second communication processing unit 120) receives the ACK packet 61 from the receiving device 20 (S341), but does not immediately transmit the ACK packet 61 to the transmitting device 10. is transmitted to the transmitting device 10 (S343). Similarly, the communication control device 100 (second communication processing unit 120) receives the ACK packet 63 from the receiving device 20 (S345), but does not immediately transmit the ACK packet 63 to the transmitting device 10, and after a predetermined time 93 The ACK packet 63 is transmitted to the transmitting device 10 (S347). The predetermined time 93 may be a predetermined control parameter, or may be a control parameter set by the communication control device 100 (control unit 160).

これにより、例えば、RTT(送信装置10がパケットを送信してからACKを受信するまでの時間)を大きくすることができる。例えば、送信装置10がロスベースの送信制御方式(例えばCUBIC等)を使用している場合に、結果として、再送の許容待機時間が長くなる(例えば、RTO(Retransmission Time Out)の値が大きくなる)。そのため、突発的な遅延の発生時に、再送及びそれに伴う送信速度の低下が回避され得る。あるいは、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、結果として、推定される通信遅延が大きくなる。そのため、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。 This makes it possible, for example, to increase the RTT (the time from when the transmitting device 10 transmits a packet until it receives an ACK). For example, when the transmission device 10 uses a loss-based transmission control method (for example, CUBIC, etc.), as a result, the allowable waiting time for retransmission becomes longer (for example, the value of RTO (Retransmission Time Out) becomes larger). . Therefore, when a sudden delay occurs, it is possible to avoid retransmission and the accompanying reduction in transmission speed. Alternatively, if the transmission device 10 uses a function-based transmission control scheme (such as BBR, for example), the estimated communication delay will increase as a result. Therefore, the amount of transmission data can become large. That is, the transmission speed of the transmitting device 10 can be increased, and the throughput of communication between the transmitting device 10 and the receiving device 20 can be improved.

なお、上記送信タイミングの上記調整は、(上記ACKパケットではなく)上記パケット(データパケット)の送信を遅らせることを含んでもよい。この場合にも、結果として、RTTが大きくなるので、同様の効果が得られる。 Note that the adjustment of the transmission timing may include delaying the transmission of the packet (data packet) (rather than the ACK packet). Also in this case, the RTT is increased as a result, and a similar effect can be obtained.

(3-3)制御の第2の例:転送順序の調整
例えば、上記制御は、上記パケットの送信順序の調整を含む。即ち、通信制御装置100(制御部160)は、上記パケットの送信順序の調整を行う。
(3-3) Second example of control: adjustment of transfer order For example, the control includes adjustment of the transmission order of the packets. That is, the communication control device 100 (control unit 160) adjusts the transmission order of the packets.

具体的には、例えば、上記送信順序の上記調整は、上記パケットが受信順にではなくシーケンス順に送信されるように上記パケットの送信順序を調整することである。即ち、通信制御装置100(制御部160)は、上記パケットが受信順にではなくシーケンス順に送信されるように上記パケットの送信順序を調整する。例えば、通信制御装置100(制御部160)は、通信制御装置100にバッファされているパケットがシーケンス順に送信されるように当該パケットの送信順序を調整する。 Specifically, for example, the adjusting the transmission order is adjusting the transmission order of the packets such that the packets are transmitted in sequence order rather than in the order received. That is, the communication control device 100 (control unit 160) adjusts the transmission order of the packets so that the packets are transmitted in sequence order, not in reception order. For example, the communication control device 100 (control unit 160) adjusts the transmission order of the packets buffered in the communication control device 100 so that the packets are transmitted in sequence order.

図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)。 FIG. 11 is a sequence diagram for explaining an example of packet transmission order adjustment according to the first embodiment. The transmitting device 10 transmits packets 65, 67, 69, 71 and 73 (S361-S371), and the communication control device 100 receives and buffers the packets 65, 67, 69, 71 and 73. FIG. Packets 65, 67, 69, and 71 are new packets, while packet 73 is a resent packet. Therefore, packet 73 (retransmitted packet) is the last packet among packets 65, 67, 69, 71, and 73 in order of reception, but the first in order of sequence. Therefore, the communication control device 100 first transmits packet 73 (retransmission packet) to the receiving device 20 (S371), and then transmits packets 65, 67, 69, and 71 in sequence order to the receiving device 20 (S373 to S379). ).

これにより、例えば、再送パケットを優先的に転送することができる。その結果、パケットロスの発生後に、再送パケットがより早く到達確認済みパケットとなり、送信ウィンドウ内に残っているパケットの量がより早く低下し、より多くの新規パケットが送信され得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。 Thereby, for example, retransmission packets can be preferentially transferred. As a result, retransmitted packets become acknowledged packets sooner after a packet loss occurs, the amount of packets remaining in the transmission window drops sooner, and more new packets can be sent. That is, the transmission speed of the transmitting device 10 can be increased, and the throughput of communication between the transmitting device 10 and the receiving device 20 can be improved.

また、送信装置10から送信されたパケットが、シーケンス順に通信制御装置100に到着しなかった場合に、当該パケットが順に送信され得る。そのため、パケットがシーケンス順に受信装置20に到着する可能性が高くなり、同一パケットに対する重複した確認応答(DupACK)が発生する可能性が低くなる。例えば、送信装置10がロスベースの送信制御方式(例えばCUBIC等)を使用している場合に、同一パケットに対する重複した確認応答(DupACK)が複数個(例えば3つ以上)連続して発生する可能性が低くなり、送信速度の低下(例えばcwndの低下)が抑えられ得る。即ち、送信装置10と受信装置20との間の通信のスループットが向上し得る。 Also, when the packets transmitted from the transmission device 10 do not arrive at the communication control device 100 in sequence, the packets may be transmitted in sequence. Therefore, packets are more likely to arrive at the receiving device 20 in sequential order, and the possibility of duplicate acknowledgments (DupACKs) for the same packet being generated is reduced. For example, when the transmission device 10 uses a loss-based transmission control method (for example, CUBIC, etc.), there is a possibility that multiple (for example, three or more) duplicate acknowledgments (DupACKs) for the same packet will occur consecutively. is lowered, and a drop in transmission speed (eg, a drop in cwnd) can be suppressed. That is, communication throughput between the transmitting device 10 and the receiving device 20 can be improved.

(3-4)制御の第3の例:ACKパケットの一部破棄
例えば、上記制御は、上記ACKパケットの一部の破棄を含む。即ち、通信制御装置100(制御部160)は、上記ACKパケットの一部の破棄を行う。
(3-4) Third Example of Control: Partial Discard of ACK Packet For example, the control includes discarding part of the ACK packet. That is, the communication control device 100 (control unit 160) discards part of the ACK packet.

例えば、上記破棄は、所定の確率で、所定の割合で、又は所定の時間間隔で確認応答パケットを破棄することである。即ち、通信制御装置100(制御部160)は、所定の確率で、所定の割合で、又は所定の時間間隔で、ACKパケットを破棄する。当該所定の確率、当該所定の割合、及び当該所定の時間間隔は、予め定められている制御パラメータであってもよく、通信制御装置100(制御部160)により設定される制御パラメータであってもよい。 For example, the discarding is discarding acknowledgment packets at a predetermined probability, at a predetermined rate, or at predetermined time intervals. That is, the communication control device 100 (control unit 160) discards ACK packets at a predetermined probability, at a predetermined rate, or at predetermined time intervals. The predetermined probability, the predetermined ratio, and the predetermined time interval may be predetermined control parameters, or may be control parameters set by the communication control device 100 (control unit 160). good.

図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の受信により、多くの到達確認済みのデータ量が一気にカウントされる。 FIG. 12 is a sequence diagram for explaining an example of discarding part of an ACK packet according to the first embodiment. The receiving device 20 transmits the ACK packet 75 to the transmitting device 10 (S381, S383). The communication control device 100 receives the ACK packet 75 from the receiving device 20 (S381), and transmits the ACK packet 75 to the transmitting device 10 (S383). The receiving device 20 transmits the ACK packet 77 to the transmitting device 10 (S385). However, the communication control device 100 receives the ACK packet 77 from the receiving device 20 (S385) and discards the ACK packet 77 (S387). The receiving device 20 transmits the ACK packet 79 to the transmitting device 10 (S389, S391). The communication control device 100 receives the ACK packet 79 from the receiving device 20 (S389), and transmits the ACK packet 79 to the transmitting device 10 (S391). As a result, when the ACK packet 79 is received in the transmitting device 10, a large amount of data whose arrival has been confirmed is counted at once.

これにより、例えば、データパケットがまとめて送信できたように送信装置10に見せることができる。その結果、例えば、送信装置10がファンクションベースの送信制御方式(例えばBBR等)を使用している場合に、可用帯域の最大値が大きくなり、送信データ量が大きくなり得る。即ち、送信装置10の送信速度が大きくなり得るし、送信装置10と受信装置20との間の通信のスループットが向上し得る。 As a result, for example, it is possible to make it appear to the transmitting device 10 that the data packets have been collectively transmitted. As a result, for example, when the transmission device 10 uses a function-based transmission control method (such as BBR), the maximum value of the available bandwidth increases, and the amount of transmission data can increase. That is, the transmission speed of the transmitting device 10 can be increased, and the throughput of communication between the transmitting device 10 and the receiving device 20 can be improved.

また、同一パケットに対する重複した確認応答(DupACK)が発生したとしても、同一パケットに対する重複した確認応答(DupACK)が複数個(例えば3つ以上)連続して送信装置10により受信される可能性が低くなる。そのため、例えば、送信装置10がロスベースの送信制御方式(例えばCUBIC等)を使用している場合に、送信速度の低下(例えばcwndの低下)が抑えられ得る。即ち、送信装置10と受信装置20との間の通信のスループットが向上し得る。 Further, even if duplicate acknowledgments (DupACKs) for the same packet occur, there is a possibility that a plurality of (for example, three or more) duplicate acknowledgments (DupACKs) for the same packet are received in succession by the transmitting device 10. lower. Therefore, for example, when the transmission device 10 uses a loss-based transmission control method (for example, CUBIC), a decrease in transmission speed (for example, a decrease in cwnd) can be suppressed. That is, communication throughput between the transmitting device 10 and the receiving device 20 can be improved.

(3-5)制御の第1、第2及び第3の例
上記制御として、上記ACKパケット又は上記パケットの送信タイミングの調整、上記パケットの送信順序の調整、及び、上記ACKパケットの一部の破棄を説明した。上記制御は、上記送信タイミングの調整、上記送信順序の調整、及び上記ACKパケットの一部の破棄の全てを含んでもよく、又は、一部のみを含んでもよい。例えば、上記制御は、上記送信タイミングの調整、上記送信順序の調整、及び上記ACKパケットの一部の破棄のうちの1つであってもよい。
(3-5) First, Second, and Third Examples of Control As the control, adjustment of the transmission timing of the ACK packet or the packet, adjustment of the transmission order of the packet, and adjustment of part of the ACK packet Destroy explained. The control may include all of adjusting the transmission timing, adjusting the transmission order, and discarding a part of the ACK packet, or may include only a part of it. For example, the control may be one of adjusting the transmission timing, adjusting the transmission order, and discarding some of the ACK packets.

(3-6)その他
通信制御装置100(送信制御推定部150、制御部160)は、送信装置10により使用されている送信制御方式を推定し、推定された当該送信制御方式に基づいて上記制御を行ってもよい。
(3-6) Others Communication control apparatus 100 (transmission control estimation unit 150, control unit 160) estimates the transmission control scheme used by transmission apparatus 10, and performs the above control based on the estimated transmission control scheme. may be performed.

例えば、通信制御装置100(制御部160)は、推定された上記送信制御方式に適合する制御(例えば、送信タイミングの調整、送信順序の調整、又は、ACKパケットの一部の破棄)を選択し、実行してもよい。あるいは、通信制御装置100(制御部160)は、推定された上記送信制御方式に適合する制御パラメータを選択し、当該制御パラメータを用いて制御を行ってもよい。 For example, the communication control device 100 (control unit 160) selects control (for example, adjustment of transmission timing, adjustment of transmission order, or discarding part of the ACK packet) that conforms to the estimated transmission control scheme. , may be executed. Alternatively, communication control apparatus 100 (control unit 160) may select a control parameter suitable for the estimated transmission control method, and perform control using the control parameter.

これにより、例えば、より適切に送信装置10の送信速度が変更され得る。 Thereby, for example, the transmission speed of the transmission device 10 can be changed more appropriately.

以上、第1の実施形態を説明した。第1の実施形態によれば、上述したように、使用されるプロトコルによらず送信装置10と受信装置20との間の通信のスループットを向上させることが可能になる。 The first embodiment has been described above. According to the first embodiment, as described above, it is possible to improve the throughput of communication between the transmitting device 10 and the receiving device 20 regardless of the protocol used.

<<4.第2の実施形態>>
図13を参照して、本発明の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
<<4. Second Embodiment>>
A second embodiment of the present invention will now be described with reference to FIG. While the first embodiment described above is a specific embodiment, the second embodiment is a more generalized embodiment.

<4.1.通信制御装置の機能構成>
図13は、第2の実施形態に係る通信制御装置300の概略的な機能構成の例を示すブロック図である。図13を参照すると、通信制御装置300は、第1通信処理部310、第2通信処理部320及び制御部330を備える。
<4.1. Functional Configuration of Communication Control Device>
FIG. 13 is a block diagram showing an example of a schematic functional configuration of the communication control device 300 according to the second embodiment. Referring to FIG. 13 , the communication control device 300 includes a first communication processing section 310 , a second communication processing section 320 and a control section 330 .

第1通信処理部310は、パケットを送受信する。例えば、第1通信処理部310は、送信装置10からパケット(例えばデータパケット)を受信し、送信装置10へパケット(例えばACKパケット)を送信する。 The first communication processing unit 310 transmits and receives packets. For example, the first communication processing unit 310 receives packets (eg, data packets) from the transmitting device 10 and transmits packets (eg, ACK packets) to the transmitting device 10 .

第2通信処理部320は、パケットを送受信する。例えば、第2通信処理部320は、受信装置20へパケット(例えばデータパケット)を送信し、受信装置20からパケット(例えばACKパケット)を受信する。 The second communication processing unit 320 transmits and receives packets. For example, the second communication processing unit 320 transmits packets (eg, data packets) to the receiving device 20 and receives packets (eg, ACK packets) from the receiving device 20 .

制御部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パケット又は上記パケットの直接的な制御を行ってもよい。 The control unit 330 controls packets transmitted from the transmitting device to the receiving device. For example, the control may be an ACK packet for the packet (the ACK packet received from the receiving device 20 by the second communication processing unit 320 and transmitted to the transmitting device 10 by the first communication processing unit 310) or the packet (the 1 communication processing unit 310 receives from the transmitting device 10 and the second communication processing unit 320 transmits the data packet to the receiving device 20). The control unit 330 may indirectly control the ACK packet or the packet by controlling the operation of the first communication processing unit 310 or the second communication processing unit 320 . Alternatively, the control unit 330 directly controls the ACK packet or the packet by directly processing the ACK packet or the packet between the first communication processing unit 310 and the second communication processing unit 320. may be performed.

第1通信処理部310、第2通信処理部320及び制御部330についてのより具体的な動作は、第2の実施形態の技術的特徴として後に説明する。 More specific operations of the first communication processing unit 310, the second communication processing unit 320, and the control unit 330 will be described later as technical features of the second embodiment.

<4.2.通信制御装置のハードウェア構成>
第2の実施形態に係る通信制御装置300のハードウェア構成は、例えば、第1の実施形態に係る通信制御装置100のハードウェア構成と同じである。よって、ここでは重複する説明を省略する。
<4.2. Hardware Configuration of Communication Control Device>
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, redundant description is omitted here.

<4.3.技術的特徴>
第2の実施形態の技術的特徴を説明する。
<4.3. Technical features>
Technical features of the second embodiment will be described.

(1)パケットの中継
通信制御装置300(第1通信処理部310)は、送信装置10から受信装置20へ送信されるパケットを送信装置10から受信する。そして、通信制御装置300(第2通信処理部320)は、上記パケットを受信装置20へ送信する。
(1) Packet Relay The communication control device 300 (first communication processing unit 310 ) receives from the transmitting device 10 packets transmitted from the transmitting device 10 to the receiving device 20 . The communication control device 300 (second communication processing unit 320 ) then transmits the packet to the receiving device 20 .

第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。 The description of this point according to the second embodiment is, for example, the same as the description of this point according to the first embodiment (except for the difference in symbols). Therefore, redundant description is omitted here. However, of course, the second embodiment is not limited to this example.

(2)パケット及び確認応答(ACK)パケット
送信装置10から受信装置20へ送信される上記パケットは、送信装置10と受信装置20との間の中継点(例えば通信制御装置300等)において生成及び改変できないパケットである。
(2) Packets and Acknowledgment (ACK) Packets The packets transmitted from the transmitting device 10 to the receiving device 20 are generated and It is a packet that cannot be altered.

さらに、上記パケットのための確認応答(ACK)パケットは、受信装置20と送信装置10との間の中継点において生成及び改変できないACKパケットである。 Furthermore, an 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 .

第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。 The description of this point according to the second embodiment is, for example, the same as the description of this point according to the first embodiment (except for the difference in symbols). Therefore, redundant description is omitted here. However, of course, the second embodiment is not limited to this example.

(3)パケットについての制御
通信制御装置300(制御部330)は、送信装置10から受信装置20へ送信される上記パケットについての制御であって、送信装置10に送信速度を変更させる当該制御を行う。
(3) Packet Control The communication control device 300 (control unit 330) controls the above-described packets transmitted from the transmitting device 10 to the receiving device 20, and controls the transmitting device 10 to change the transmission speed. conduct.

第2の実施形態に係るこの点の説明は、例えば、(符号の相違を除き)第1の実施形態に係るこの点の説明と同じである。よって、ここでは重複する説明を省略する。しかし、当然ながら、第2の実施形態はこの例に限定されない。 The description of this point according to the second embodiment is, for example, the same as the description of this point according to the first embodiment (except for the difference in symbols). Therefore, redundant description is omitted here. However, of course, the second embodiment is not limited to this example.

以上、第2の実施形態を説明した。第2の実施形態によれば、使用されるプロトコルによらず送信装置10と受信装置20との間の通信のスループットを向上させることが可能になる。 The second embodiment has been described above. According to the second embodiment, it is possible to improve the throughput of communication between the transmitting device 10 and the receiving device 20 regardless of the protocol used.

以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。 Although the embodiments of the present invention have been described above, the present invention is not limited to these embodiments. Those skilled in the art will appreciate that these embodiments are illustrative only and that various modifications can be made without departing from the scope and spirit of the invention.

例えば、本明細書に記載されている処理におけるステップは、必ずしもシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、シーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。 For example, the steps in the processes described herein do not necessarily have to be executed in chronological order according to the order described in the sequence diagrams. For example, the steps in the process may be performed in an order different from that depicted in the sequence diagrams, or in parallel. Also, some of the steps in the process may be deleted and additional steps may be added to the process.

また、本明細書において説明した通信制御装置の構成要素(例えば、第1通信処理部、第2通信処理部、現在送信速度推定部、目標送信速度推定部、送信制御推定部及び/又は制御部)を備える装置(例えば、モジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。 Also, components of the communication control device described in this specification (for example, the first communication processing unit, the second communication processing unit, the current transmission speed estimation unit, the target transmission speed estimation unit, the transmission control estimation unit and/or the control unit ) may be provided. A method may also be provided that includes the processing of the above components, and a program may be provided for causing a processor to execute the processing of the above components. Also, a non-transitory computer readable medium recording the program may be provided. Of course, such devices, modules, methods, programs, and computer-readable non-transitory recording media are also included in the present invention.

上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。 Some or all of the above embodiments may also be described in the following additional remarks, but are not limited to the following.

(付記1)
通信制御装置であって、
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信する第1通信処理部と、
前記パケットを前記受信装置へ送信する第2通信処理部と、
を備え、
前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、
前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、
前記通信制御装置は、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行う制御部、
をさらに備える、
通信制御装置。
(Appendix 1)
A communication control device,
a first communication processing unit that receives from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
a second communication processing unit that transmits the packet to the receiving device;
with
The second communication processing unit receives from the receiving device an acknowledgment packet for the packet that cannot be generated and modified at a relay point between the receiving device and the transmitting device. ,
The first communication processing unit transmits the acknowledgment packet to the transmitting device,
The communication control device is
a control unit that controls the packet or the acknowledgment packet so that the transmission device changes the transmission speed;
further comprising
Communications controller.

(付記2)
前記制御は、前記確認応答パケット又は前記パケットの送信タイミングの調整を含む、付記1に記載の通信制御装置。
(Appendix 2)
2. The communication control apparatus according to appendix 1, wherein the control includes adjustment of transmission timing of the acknowledgment packet or the packet.

(付記3)
前記送信タイミングの前記調整は、前記確認応答パケット間の送信間隔又は前記パケット間の送信間隔を短く又は長くすることを含む、付記2に記載の通信制御装置。
(Appendix 3)
The communication control apparatus according to appendix 2, wherein the adjustment of the transmission timing includes shortening or lengthening the transmission interval between the acknowledgment packets or the transmission interval between the packets.

(付記4)
前記送信タイミングの前記調整は、前記確認応答パケット又は前記パケットの送信を遅らせることを含む、付記2又は3に記載の通信制御装置。
(Appendix 4)
4. The communication control device according to appendix 2 or 3, wherein said adjustment of said transmission timing includes delaying transmission of said acknowledgment packet or said packet.

(付記5)
前記制御は、前記確認応答パケットの一部の破棄を含む、付記1~4のいずれか1項に記載の通信制御装置。
(Appendix 5)
5. The communication control device according to any one of appendices 1 to 4, wherein the control includes discarding part of the acknowledgment packet.

(付記6)
前記破棄は、所定の確率で、所定の割合で、又は所定の時間間隔で確認応答パケットを破棄することである、付記5に記載の通信制御装置。
(Appendix 6)
The communication control device according to appendix 5, wherein the discarding is discarding the acknowledgment packet at a predetermined probability, at a predetermined rate, or at predetermined time intervals.

(付記7)
前記制御は、前記パケットの送信順序の調整を含む、付記1~6のいずれか1項に記載の通信制御装置。
(Appendix 7)
7. The communication control device according to any one of appendices 1 to 6, wherein the control includes adjustment of the transmission order of the packets.

(付記8)
前記送信順序の前記調整は、前記パケットが受信順にではなくシーケンス順に送信されるように前記パケットの送信順序を調整することである、付記7に記載の通信制御装置。
(Appendix 8)
8. The communication control device of claim 7, wherein the adjusting the transmission order is adjusting the transmission order of the packets such that the packets are transmitted in sequence rather than in the order received.

(付記9)
前記パケットは、少なくとも一部が暗号化され又は認証されるパケットであり、
前記確認応答パケットは、少なくとも一部が暗号化され又は認証される確認応答パケットである、
付記1~8のいずれか1項に記載の通信制御装置。
(Appendix 9)
the packet is a packet at least partially encrypted or authenticated;
the acknowledgment packet is an acknowledgment packet that is at least partially encrypted or authenticated;
The communication control device according to any one of Appendices 1 to 8.

(付記10)
前記確認応答パケットの前記一部は、前記送信装置への確認応答のための情報を含む、付記9に記載の通信制御装置。
(Appendix 10)
The communication control device according to appendix 9, wherein the part of the acknowledgment packet includes information for acknowledgment to the transmitting device.

(付記11)
前記送信装置と前記受信装置との間の目標送信速度を推定する目標送信速度推定部、
をさらに備え、
前記制御部は、前記目標送信速度に基づいて前記制御を行う、
付記1~10のいずれか1項に記載の通信制御装置。
(Appendix 11)
a target transmission speed estimating unit that estimates a target transmission speed 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 Appendices 1 to 10.

(付記12)
前記送信装置と前記受信装置との間の現在の送信速度を推定する現在送信速度推定部、
をさらに備え、
前記制御部は、前記現在の送信速度及び前記目標送信速度に基づいて前記制御を行う、
付記11に記載の通信制御装置。
(Appendix 12)
a current transmission speed estimator for estimating a current transmission speed 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 appendix 11.

(付記13)
前記送信装置により使用されている送信制御方式を推定する送信制御推定部、
をさらに備え、
前記制御部は、推定された前記送信制御方式に基づいて前記制御を行う、
付記1~12のいずれか1項に記載の通信制御装置。
(Appendix 13)
a transmission control estimation unit that estimates a transmission control scheme used by the transmission device;
further comprising
The control unit performs the control based on the estimated transmission control scheme.
13. The communication control device according to any one of Appendices 1 to 12.

(付記14)
前記送信装置は、第1の送信制御方式又は第2の送信制御方式を使用する送信装置であり、
前記第1の送信制御方式は、パケットのロスの有無に基づいて送信速度を制御する送信制御方式であり、
前記第2の送信制御方式は、パケットの送受信から推定されるネットワーク性能に基づいて送信速度を制御する送信制御方式である、
付記1~13のいずれか1項に記載の通信制御装置。
(Appendix 14)
The transmitting device is a transmitting device that uses a first transmission control scheme or a second transmission control scheme,
The first transmission control method is a transmission control method for controlling a transmission speed based on the presence or absence of packet loss,
The second transmission control method is a transmission control method that controls a transmission speed based on network performance estimated from packet transmission and reception,
14. The communication control device according to any one of Appendices 1 to 13.

(付記15)
前記パケットは、データパケットである、付記1~14のいずれか1項に記載の通信制御装置。
(Appendix 15)
15. The communication control device according to any one of appendices 1 to 14, wherein the packet is a data packet.

(付記16)
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
前記パケットを前記受信装置へ送信することと、
前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
前記確認応答パケットを前記送信装置へ送信することと、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
を含む方法。
(Appendix 16)
receiving from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
transmitting the packet to the receiving device;
receiving from the receiving device an acknowledgment packet for the packet, which acknowledgment packet cannot be generated and modified at an intermediary point between the receiving device and the transmitting device;
transmitting the acknowledgment packet to the transmitting device;
controlling the packet or the acknowledgment packet so that the transmitting device changes transmission rate;
method including.

(付記17)
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
前記パケットを前記受信装置へ送信することと、
前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
前記確認応答パケットを前記送信装置へ送信することと、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
をプロセッサに実行させるプログラム。
(Appendix 17)
receiving from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
transmitting the packet to the receiving device;
receiving from the receiving device an acknowledgment packet for the packet, which acknowledgment packet cannot be generated and modified at an intermediary point between the receiving device and the transmitting device;
transmitting the acknowledgment packet to the transmitting device;
controlling the packet or the acknowledgment packet so that the transmitting device changes transmission rate;
A program that causes the processor to execute

(付記18)
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
前記パケットを前記受信装置へ送信することと、
前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
前記確認応答パケットを前記送信装置へ送信することと、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
(Appendix 18)
receiving from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
transmitting the packet to the receiving device;
receiving from the receiving device an acknowledgment packet for the packet, which acknowledgment packet cannot be generated and modified at an intermediary point between the receiving device and the transmitting device;
transmitting the acknowledgment packet to the transmitting device;
controlling the packet or the acknowledgment packet so that the transmitting device changes transmission rate;
A computer-readable non-transitory recording medium that records a program that causes a processor to execute

この出願は、2018年7月9日に出願された日本出願特願2018-129929を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2018-129929 filed on July 9, 2018, and the entire disclosure thereof is incorporated herein.

1 システム
10 送信装置
20 受信装置
100、300 通信制御装置
110、310 第1通信処理部
120、320 第2通信処理部
130 現在送信速度推定部
140 目標送信速度推定部
150 送信制御推定部
160、330 制御部

1 system 10 transmitter 20 receiver 100, 300 communication control device 110, 310 first communication processor 120, 320 second communication processor 130 current transmission speed estimator 140 target transmission speed estimator 150 transmission control estimator 160, 330 control unit

Claims (8)

通信制御装置であって、
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信する第1通信処理部と、
前記パケットを前記受信装置へ送信する第2通信処理部と、
を備え、
前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、
前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、
前記通信制御装置は、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行う制御部と、
前記送信装置と前記受信装置との間の目標送信速度を推定する目標送信速度推定部と、
前記送信装置と前記受信装置との間の現在の送信速度を推定する現在送信速度推定部と、
をさらに備え
前記制御部は、前記現在の送信速度と前記目標送信速度との差に応じて、前記制御を行い、
前記制御は、前記確認応答パケットの一部の破棄を含む、
通信制御装置。
A communication control device,
a first communication processing unit that receives from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
a second communication processing unit that transmits the packet to the receiving device;
with
The second communication processing unit receives from the receiving device an acknowledgment packet for the packet that cannot be generated and modified at a relay point between the receiving device and the transmitting device. ,
The first communication processing unit transmits the acknowledgment packet to the transmitting device,
The communication control device is
a control unit that controls the packet or the acknowledgment packet so that the transmission device changes the transmission speed;
a target transmission speed estimating unit that estimates a target transmission speed between the transmitting device and the receiving device;
a current transmission speed estimator for estimating a current transmission speed between the transmitting device and the receiving device;
further comprising
The control unit performs the control according to the difference between the current transmission speed and the target transmission speed,
the control includes discarding a portion of the acknowledgment packet;
Communications controller.
前記制御は、前記確認応答パケット又は前記パケットの送信タイミングの調整を含む、請求項1に記載の通信制御装置。 2. The communication control apparatus according to claim 1, wherein said control includes adjustment of transmission timing of said acknowledgment packet or said packet. 前記送信タイミングの前記調整は、前記確認応答パケット間の送信間隔又は前記パケット間の送信間隔を短く又は長くすることを含む、請求項2に記載の通信制御装置。 3. The communication control apparatus according to claim 2, wherein said adjustment of said transmission timing includes shortening or lengthening a transmission interval between said acknowledgment packets or a transmission interval between said packets. 前記送信タイミングの前記調整は、前記確認応答パケット又は前記パケットの送信を遅らせることを含む、請求項2又は3に記載の通信制御装置。 4. The communication control device according to claim 2 or 3, wherein said adjustment of said transmission timing comprises delaying transmission of said acknowledgment packet or said packet. 前記制御は、前記パケットの送信順序の調整を含む、請求項1~のいずれか1項に記載の通信制御装置。 The communication control apparatus according to any one of claims 1 to 4 , wherein said control includes adjustment of transmission order of said packets. 前記パケットは、少なくとも一部が暗号化され又は認証されるパケットであり、
前記確認応答パケットは、少なくとも一部が暗号化され又は認証される確認応答パケットである、
請求項1~のいずれか1項に記載の通信制御装置。
the packet is a packet at least partially encrypted or authenticated;
the acknowledgment packet is an acknowledgment packet that is at least partially encrypted or authenticated;
A communication control device according to any one of claims 1 to 5 .
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
前記パケットを前記受信装置へ送信することと、
前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
前記確認応答パケットを前記送信装置へ送信することと、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
を含む方法であって、
前記方法は、
前記送信装置と前記受信装置との間の目標送信速度を推定することと、
前記送信装置と前記受信装置との間の現在の送信速度を推定することと、
前記現在の送信速度と前記目標送信速度との差に応じて、前記制御を行うことと、
を更に含み、
前記制御は、前記確認応答パケットの一部の破棄を含む、
方法。
receiving from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
transmitting the packet to the receiving device;
receiving from the receiving device an acknowledgment packet for the packet, which acknowledgment packet cannot be generated and modified at an intermediary point between the receiving device and the transmitting device;
transmitting the acknowledgment packet to the transmitting device;
controlling the packet or the acknowledgment packet so that the transmitting device changes transmission rate;
a method comprising
The method includes:
estimating a target transmission rate between the transmitting device and the receiving device;
estimating a current transmission rate between the transmitting device and the receiving device;
performing the control according to the difference between the current transmission rate and the target transmission rate;
further comprising
the control includes discarding a portion of the acknowledgment packet;
Method.
送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、前記送信装置から受信することと、
前記パケットを前記受信装置へ送信することと、
前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信することと、
前記確認応答パケットを前記送信装置へ送信することと、
前記送信装置が送信速度を変更するように前記パケット又は前記確認応答パケットの制御を行うことと、
をプロセッサに実行させるプログラムであって、
前記プログラムは、前記プロセッサに、更に、
前記送信装置と前記受信装置との間の目標送信速度を推定することと、
前記送信装置と前記受信装置との間の現在の送信速度を推定することと、
前記現在の送信速度と前記目標送信速度との差に応じて、前記制御を行うことと、
を実行させるようになっており、
前記制御は、前記確認応答パケットの一部の破棄を含む、
プログラム。
receiving from the transmitting device a packet that is transmitted from the transmitting device to the receiving device and that cannot be generated and modified at a relay point between the transmitting device and the receiving device;
transmitting the packet to the receiving device;
receiving from the receiving device an acknowledgment packet for the packet, which acknowledgment packet cannot be generated and modified at an intermediary point between the receiving device and the transmitting device;
transmitting the acknowledgment packet to the transmitting device;
controlling the packet or the acknowledgment packet so that the transmitting device changes transmission rate;
A program that causes a processor to execute
The program further causes the processor to:
estimating a target transmission rate between the transmitting device and the receiving device;
estimating a current transmission rate between the transmitting device and the receiving device;
performing the control according to the difference between the current transmission rate and the target transmission rate;
is designed to run
the control includes discarding a portion of the acknowledgment packet;
program.
JP2020530099A 2018-07-09 2019-06-27 COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM Active JP7111162B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018129929 2018-07-09
JP2018129929 2018-07-09
PCT/JP2019/025630 WO2020012973A1 (en) 2018-07-09 2019-06-27 Communication control device, method, program, and computer-readable nontemporary recording medium

Publications (2)

Publication Number Publication Date
JPWO2020012973A1 JPWO2020012973A1 (en) 2021-06-24
JP7111162B2 true JP7111162B2 (en) 2022-08-02

Family

ID=69142653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020530099A Active JP7111162B2 (en) 2018-07-09 2019-06-27 COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM

Country Status (3)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019008659A1 (en) * 2017-07-04 2019-01-10 富士通株式会社 Communication device, communication method, and communication system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000307634A (en) 1999-04-15 2000-11-02 Kdd Corp Congestion control method by repeating station of packet exchanging network
JP2003520461A (en) 1998-12-08 2003-07-02 ノキア モービル フォーンズ リミテッド How to optimize data transmission
JP2007081678A (en) 2005-09-13 2007-03-29 Ntt Docomo Inc Data relay device and data relay method
JP2008236709A (en) 2007-02-22 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> Communication quality control method, communication quality control apparatus, communication system, and program
JP2012165141A (en) 2011-02-04 2012-08-30 Canon Inc Communication device, control method and program therefor
JP2018067788A (en) 2016-10-19 2018-04-26 日本電気株式会社 Inbound traffic acceleration device, acceleration method, and acceleration program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003264579A (en) * 2002-03-06 2003-09-19 Ntt Docomo Inc Packet transferring system, controller and mobile terminal to be used for the system, and packet transferring program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003520461A (en) 1998-12-08 2003-07-02 ノキア モービル フォーンズ リミテッド How to optimize data transmission
JP2000307634A (en) 1999-04-15 2000-11-02 Kdd Corp Congestion control method by repeating station of packet exchanging network
JP2007081678A (en) 2005-09-13 2007-03-29 Ntt Docomo Inc Data relay device and data relay method
JP2008236709A (en) 2007-02-22 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> Communication quality control method, communication quality control apparatus, communication system, and program
JP2012165141A (en) 2011-02-04 2012-08-30 Canon Inc Communication device, control method and program therefor
JP2018067788A (en) 2016-10-19 2018-04-26 日本電気株式会社 Inbound traffic acceleration device, acceleration method, and acceleration program

Also Published As

Publication number Publication date
WO2020012973A1 (en) 2020-01-16
JPWO2020012973A1 (en) 2021-06-24
US20210273889A1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
EP2887595B1 (en) Method and node for retransmitting data packets in a tcp connection
JP4703063B2 (en) Method and system for mitigating network congestion
JP4587053B2 (en) Communication apparatus, communication system, packet loss detection method, and packet loss detection program
US9467390B2 (en) Method and device for data transmission
US8306062B1 (en) Method and apparatus of adaptive large receive offload
US20120163385A1 (en) Systems and methods to improve performance of tcp over large bandwidth-delay-product networks
US10075382B2 (en) Communication device, relay device, and communication method for a plurality of packets
US11870698B2 (en) Congestion control method and apparatus, communications network, and computer storage medium
US20070223492A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
US20080291833A1 (en) Method for buffer control for network device
JP5832335B2 (en) Communication apparatus and communication system
JP6963411B2 (en) Communication equipment, communication methods, and programs
JP7111162B2 (en) COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM
CN108432287A (en) A kind of data transmission method and network side equipment
CA2940077C (en) Buffer bloat control
CN111314961A (en) TCP transmission method, device and system
Wu et al. Sorting reordered packets with interrupt coalescing
Psaras et al. On the properties of an adaptive TCP Minimum RTO
WO2016169251A1 (en) Tcp data transmission method for virtual machine and virtual machine system
JP6805713B2 (en) Receive traffic speedup device, speedup method, and speedup program
JP6145190B1 (en) Relay device, relay method, and relay program
JP2008199431A (en) Communication device
JP2004140596A (en) Method and system for estimating quality in data transfer on transmission control protocol
JP4701265B2 (en) Transmission terminal and data transmission method
Utsumi Congestion Control Algorithms for the Internet–A Secondary Publication

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R151 Written notification of patent or utility model registration

Ref document number: 7111162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151