Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4952256B2 - Communication control device and communication control program - Google Patents
[go: Go Back, main page]

JP4952256B2 - Communication control device and communication control program - Google Patents

Communication control device and communication control program Download PDF

Info

Publication number
JP4952256B2
JP4952256B2 JP2007003172A JP2007003172A JP4952256B2 JP 4952256 B2 JP4952256 B2 JP 4952256B2 JP 2007003172 A JP2007003172 A JP 2007003172A JP 2007003172 A JP2007003172 A JP 2007003172A JP 4952256 B2 JP4952256 B2 JP 4952256B2
Authority
JP
Japan
Prior art keywords
retransmission
communication
communication data
time
data
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.)
Expired - Fee Related
Application number
JP2007003172A
Other languages
Japanese (ja)
Other versions
JP2008172480A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007003172A priority Critical patent/JP4952256B2/en
Publication of JP2008172480A publication Critical patent/JP2008172480A/en
Application granted granted Critical
Publication of JP4952256B2 publication Critical patent/JP4952256B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、クライアント装置とサーバ装置との間の通信を制御する通信制御装置、前記通信制御装置において実行される通信制御プログラムに関し、特に、無線通信を行なうクライアント装置からサーバ装置への通信に比べ、サーバ装置からクライアント装置への通信が頻繁に発生するシステムにおける通信制御装置および通信制御プログラムに関する。   The present invention relates to a communication control device that controls communication between a client device and a server device, and a communication control program that is executed in the communication control device, and more particularly compared to communication from a client device that performs wireless communication to a server device. The present invention relates to a communication control device and a communication control program in a system in which communication from a server device to a client device frequently occurs.

従来、インターネット等の通信網に接続する際に広く用いられているTCP(Transmission Control Protocol)は、通信の信頼性を向上させるための仕組みとして、伝送路上のエラー等何らかの要因でデータパケットが受信側に到達しなかった場合には、再送タイマを使用した再送制御を行っている。すなわち、データ送信側では、パケットを送信した際に再送タイマを開始させ、タイムアウトするまでに受信側からの確認応答(ACK:Acknowledgement)が返らない場合には、パケット消失が発生したとみなされ、同じパケットを再送している。   Conventionally, TCP (Transmission Control Protocol), which is widely used when connecting to communication networks such as the Internet, is a mechanism for improving communication reliability. If not reached, retransmission control using a retransmission timer is performed. That is, on the data transmission side, when a packet is transmitted, a retransmission timer is started, and if an acknowledgment (ACK: Acknowledgment) from the reception side is not returned by the time-out, it is considered that packet loss has occurred, Resending the same packet.

図1は、再送タイマを用いたデータ送信パターンの例を示す図である。
図1において、クライアント装置11は、サーバ装置12に対して送信したデータNが何らかの事情で消失した場合に、サーバ装置12からのACKを受信できないので、データNの送信後に開始した再送タイマの終了までの時間(タイムアウト時間)後に、再度データNを送信する。
FIG. 1 is a diagram illustrating an example of a data transmission pattern using a retransmission timer.
In FIG. 1, since the client device 11 cannot receive the ACK from the server device 12 when the data N transmitted to the server device 12 is lost for some reason, the retransmission timer started after the data N is transmitted. The data N is transmitted again after the time until (timeout time).

このタイムアウト時間は再送タイムアウト時間(RTO:Retransmission Timeout)と呼ばれ、データ送信側においてデータパケットを送信してからACKを受信するまでの往復時間(RTT:Round Trip Time)の測定値(MRTT:Measured RTT)を用いて算出される。   This timeout time is called a retransmission timeout time (RTO: Retransmission Timeout), and a measured value (MRTT: Measured) of a round trip time (RTT: Round Trip Time) from when a data packet is transmitted to when an ACK is received on the data transmission side. RTT).

上述のようなTCPを制御するTCP制御部は、その初期状態において、最初にMRTTが得られたとき、これを用いて平滑化RTT(SRTT:Smoothed RTT)および平均偏差(RTTVAR:RTT Variation)を算出し、さらにこのSRTTとRTTVARに基づいてRTOを決定している(例えば、非特許文献1参照。)。   In the initial state, the TCP control unit controlling TCP as described above, when the first MRTT is obtained, uses this to perform the smoothed RTT (SRTT: Smoothed RTT) and the average deviation (RTTVAR: RTT Variation). The RTO is calculated and further determined based on the SRTT and RTTVAR (for example, see Non-Patent Document 1).

具体的には、非特許文献1に記載されている通り、システムがRTTの測定に使用するクロックの粒度(分解能)をGとして、以下の式1で算出される。
(式1)
SRTT=MRTT
RTTVAR=MRTT/2
RTO=SRTT+max(G,K×RTTVAR)
ここで、K=4
(式の「=」は、右辺の値を左辺の変数に代入することを意味する)
Specifically, as described in Non-Patent Document 1, G is the granularity (resolution) of the clock used by the system for RTT measurement, and is calculated by the following Equation 1.
(Formula 1)
SRTT = MRTT
RTTVAR = MRTT / 2
RTO = SRTT + max (G, K x RTTVAR)
Where K = 4
("=" In the expression means assigning the value on the right side to the variable on the left side)

そして、2回目以降のMRTTが得られたときには、SRTT、RTTVAR、およびRTOは以下の式2で算出される。
(式2)
RTTVAR=(1−β)×RTTVAR+β×|SRTT−MRTT|
SRTT=(1−α)×SRTT+α×MRTT
ここで、α=1/8、β=1/4
RTO=SRTT+max(G,K×RTTVAR)
(式の「=」は、右辺の値を左辺の変数に代入することを意味する)
Then, when the second and subsequent MRTTs are obtained, SRTT, RTTVAR, and RTO are calculated by the following Equation 2.
(Formula 2)
RTTVAR = (1-β) × RTTVAR + β × | SRTT−MRTT |
SRTT = (1−α) × SRTT + α × MRTT
Where α = 1/8, β = 1/4
RTO = SRTT + max (G, K x RTTVAR)
("=" In the expression means assigning the value on the right side to the variable on the left side)

上記の式1から明らかなように、元々伝送遅延が大きく、かつ、遅延量が変動することの多い無線通信網を利用したシステムでは、RTOの値は大きめになる傾向がある。本願発明者が実測した結果によれば、近年の携帯電話のパケット通信網を利用したシステムでは、ネットワーク状況により違いはあろうが、RTOの値は0.5秒前後〜数秒程度であった。   As is clear from Equation 1 above, in a system using a wireless communication network that originally has a large transmission delay and the amount of delay often varies, the RTO value tends to be large. According to the results actually measured by the inventor of the present invention, in a system using a packet communication network of a cellular phone in recent years, the RTO value is about 0.5 seconds to several seconds, although there is a difference depending on the network situation.

従来のTCPは、上述したとおり、無線通信網を利用したシステムではRTOの値が大きめに算出される。このことは、データパケットの消失が発生した際に再送するまでの待ち時間が長くなることに相当する。   As described above, the conventional TCP calculates a larger RTO value in a system using a wireless communication network. This corresponds to an increase in the waiting time until retransmission when a data packet disappears.

このような問題を回避するための技術として、重複するACKを受信することによりパケットの消失を検出し、タイムアウトまで待たずに再送を行なうアルゴリズムが提案されている(例えば、非特許文献2参照。)。   As a technique for avoiding such a problem, an algorithm has been proposed in which packet loss is detected by receiving duplicate ACKs and retransmission is performed without waiting for a timeout (see, for example, Non-Patent Document 2). ).

例えば、非特許文献2に記載の“Fast Retransmit”アルゴリズムは、近年のTCPに多く実装されているものである。
図2は、“Fast Retransmit”アルゴリズムにおけるデータ送信パターンの例を示す図である。
For example, the “Fast Retransmit” algorithm described in Non-Patent Document 2 is often implemented in recent TCPs.
FIG. 2 is a diagram illustrating an example of a data transmission pattern in the “Fast Retransmit” algorithm.

この“Fast Retransmit”アルゴリズムは、複数のデータパケットを連続して送信するような状況下で、あるデータパケットが消失した場合に、送信側はそれ以降にも連続して送信するデータパケットの到達がきっかけとなって得られる重複ACKを複数回連続して受信することでパケットの消失を検出し、タイムアウトまで待たずにパケットを再送するというものである。   This “Fast Retransmit” algorithm is used in the situation where a plurality of data packets are transmitted continuously, and when a certain data packet is lost, the transmitting side cannot reach the data packet transmitted continuously thereafter. By receiving duplicate ACKs obtained as a trigger successively several times, packet loss is detected, and the packets are retransmitted without waiting for timeout.

例えば、図2に示した例では、データ通信装置21からデータ通信装置22に対して、順にデータN、データN+1、データN+2、データN+3、データN+4、・・・が送信される。そして、最初のデータNを受信したデータ通信装置22が次のデータN+1を受信すべき旨の“ACK N+1”をデータ通信装置21に返す。   For example, in the example illustrated in FIG. 2, data N, data N + 1, data N + 2, data N + 3, data N + 4,... Are sequentially transmitted from the data communication device 21 to the data communication device 22. Then, the data communication device 22 that has received the first data N returns “ACK N + 1” to the data communication device 21 that the next data N + 1 should be received.

ところが、何らかの事情でデータN+1が消失してしまうと、その次のデータN+2を受信したデータ通信装置22は、データN+1を受信していないので再度“ACK N+1”をデータ通信装置21に返す。さらにデータ通信装置22は、その次のデータN+3を受信してもデータN+1を受信していないのでまた“ACK N+1”をデータ通信装置21に返す。この繰り返し、すなわちデータ通信装置21による“ACK N+1”の受信が例えば3回行なわれると、データ通信装置21は、データN+1が消失していることを検出する。   However, if the data N + 1 is lost for some reason, the data communication device 22 that has received the next data N + 2 does not receive the data N + 1 and returns “ACK N + 1” to the data communication device 21 again. Further, the data communication device 22 returns “ACK N + 1” to the data communication device 21 because it has not received the data N + 1 even if the next data N + 3 is received. When this process is repeated, that is, when “ACK N + 1” is received three times by the data communication device 21, for example, the data communication device 21 detects that the data N + 1 is lost.

また、TCPに従った通信を行なうサーバ装置のTCP制御部において、スプリアス再送(無駄な再送)を検知し、検知されたスプリアス再送の回数およびデータ量、これらと測定された確認応答待ち時間RTTとに基づいて、スプリアス再送の発生を低減させるような再送タイマ値の算出(最適化)を行なう技術が開示されている(例えば、特許文献1参照。)。
V.Paxson, M.Allman “Computing TCP’s Retransmission Timer” RFC2988, November 2000, http://www.ietf.org/rfc/rfc2988.txt M. Allman, V. Paxson, W. Stevens “TCP Congestion Control” RFC2581, April 1999, http://www.ietf.org/rfc/rfc2581.txt 特開2005−5906号公報
Further, in the TCP control unit of the server device that performs communication according to TCP, spurious retransmission (useless retransmission) is detected, the number of detected spurious retransmissions and the amount of data, and the measured acknowledgment response waiting time RTT, Based on the above, a technique for calculating (optimizing) a retransmission timer value that reduces the occurrence of spurious retransmissions is disclosed (see, for example, Patent Document 1).
V.Paxson, M.Allman “Computing TCP's Retransmission Timer” RFC2988, November 2000, http://www.ietf.org/rfc/rfc2988.txt M. Allman, V. Paxson, W. Stevens “TCP Congestion Control” RFC2581, April 1999, http://www.ietf.org/rfc/rfc2581.txt Japanese Patent Laid-Open No. 2005-5906

ここで、無線通信網を利用する一般的な通信形態である、クライアント−サーバ型通信システムについて考える。
図3は、無線通信網を利用するクライアント−サーバ型通信システムの構成例を示す図であり、図4は、クライアント−サーバ型通信システムにおけるデータのやり取りの例を示す図である。
Here, consider a client-server communication system, which is a general communication form using a wireless communication network.
FIG. 3 is a diagram illustrating a configuration example of a client-server communication system using a wireless communication network, and FIG. 4 is a diagram illustrating an example of data exchange in the client-server communication system.

図3に示すように、例えば携帯端末等のクライアント装置31は、基地局33およびインターネット34を介してサーバ装置32と無線通信を行なっている。このようなクライアント−サーバ型通信システムの通信形態においては、図4に示すように、クライアント装置31からサーバ装置32への方向のデータの量は少なく、サーバ装置32からクライアント装置31への方向のデータ量は多いという傾向がある。   As shown in FIG. 3, for example, a client device 31 such as a mobile terminal performs wireless communication with a server device 32 via a base station 33 and the Internet 34. In the communication mode of such a client-server communication system, as shown in FIG. 4, the amount of data in the direction from the client device 31 to the server device 32 is small, and the direction in the direction from the server device 32 to the client device 31 is small. There is a tendency that the amount of data is large.

例えば、インターネット上のWebサーバ装置の情報を携帯電話等の移動端末で閲覧する場合を考えると、移動端末はユーザの操作に応じてテキストデータや画像データ等の取得要求(コマンド)を送信するのに対し、Webサーバ装置は要求のあった画像等のデータ(レスポンス)を移動端末に向けて送信する。つまり、このような通信形態においては、コマンドのデータサイズはレスポンスのデータサイズに比べて非常に小さい。   For example, considering the case of browsing information on a Web server device on the Internet with a mobile terminal such as a mobile phone, the mobile terminal transmits an acquisition request (command) such as text data or image data in response to a user operation. On the other hand, the Web server device transmits data (response) such as requested image to the mobile terminal. That is, in such a communication form, the data size of the command is very small compared to the data size of the response.

このようなクライアント−サーバ型通信システムでは、図1に示すように、クライアント装置11からの送信方向においては送信するデータが少ないため、“Fast Retransmit”アルゴリズムのような重複ACKの連続受信によりパケットの消失を検出するアルゴリズムの効果が期待できない。このため、パケットの再送は再送タイマのタイムアウトがきっかけとなって行われることとなる。さらには、上述したとおり、無線通信網を利用したシステムではRTOの値は大きめとなり、すなわち再送までの待ち時間は長くなる。このことは、クライアント装置11を操作するユーザにとっては、操作レスポンスが非常に悪いと感じられる原因となるという問題点があった。   In such a client-server type communication system, as shown in FIG. 1, since there is little data to be transmitted in the transmission direction from the client device 11, the packet is received by continuous reception of duplicate ACKs such as the “Fast Retransmit” algorithm. The effect of the algorithm for detecting disappearance cannot be expected. For this reason, packet retransmission is triggered by the timeout of the retransmission timer. Furthermore, as described above, in a system using a wireless communication network, the RTO value is large, that is, the waiting time until retransmission is long. This has the problem that the user who operates the client device 11 feels that the operation response is very bad.

そこで、本発明は、上記問題点に鑑みてなされたものであり、トランスポートプロトコルを用いてサーバ装置と無線通信可能であり送信量に比べ受信量が非対称的に大きいクライアント装置を制御する通信制御装置であって、データパケット消失によるデータの再送処理を改善し、クライアント装置におけるレスポンスを良くすることが可能な通信制御装置、および前記通信制御装置において実行される通信制御プログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and is a communication control for controlling a client device capable of wireless communication with a server device using a transport protocol and having an asymmetrical reception amount compared to a transmission amount. An object of the present invention is to provide a communication control device capable of improving data retransmission processing due to data packet loss and improving a response in a client device, and a communication control program executed in the communication control device And

本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の通信制御装置は、トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置であって、前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段と、前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段と、前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段と、前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段と、前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段と、前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理をオンまたはオフするオンオフ手段とを備えることを特徴とする。
The present invention employs the following configuration in order to solve the above problems.
That is, according to one aspect of the present invention, the communication control apparatus of the present invention is capable of wireless communication with the first communication apparatus using the transport protocol, and the second reception amount is asymmetrically larger than the transmission amount. A communication control device that controls a communication device, wherein a retransmission time calculation unit that calculates a retransmission time until the communication data to be transmitted to the first communication device is retransmitted, and the first communication device Communication data round-trip time measuring means for measuring communication data round-trip time in which communication data reciprocates, and comparison between retransmission time calculated by the retransmission time calculating means and communication data round-trip time measured by the communication data round-trip time measuring means Comparing the retransmission time with the communication data round-trip time by the comparison means, and the communication data round-trip time as the retransmission time. If Ri becomes large value, and excludes excluding means from the calculation processing of the retransmission time according to the retransmission time calculating means the communication data round-trip time it becomes larger than the retransmission time, and transmits to the first communication device Based on a determination unit that determines whether or not the size of communication data can be stored in one packet of the transport protocol, and based on the determination result determined by the determination unit, the communication data round-trip time by the exclusion unit is excluded And an on / off means for turning on or off the processing .

た、本発明の一態様によれば、本発明の通信制御プログラムは、トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置のコンピュータを、前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段、前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段、前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段、前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段、前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段、前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理をオンまたはオフするオンオフ手段として機能させるための通信制御プログラムである。 Also, according to one aspect of the present invention, a communication control program of the present invention, the second reception amount is asymmetrically larger than that of the first communication device and is transmitted amount capable of wireless communication using a transport protocol A retransmission time calculating means for calculating a retransmission time until the communication data to be transmitted to the first communication device is retransmitted by the computer of the communication control device that controls the communication device, and the first communication device. Communication data round-trip time measuring means for measuring communication data round-trip time in which communication data reciprocates, and comparing the retransmission time calculated by the retransmission time calculating means with the communication data round-trip time measured by the communication data round-trip time measuring means As a result of comparing the retransmission time with the communication data round-trip time by the comparison means and the comparison means, the communication data round-trip time is If Muyori becomes large value, excluding excluding means from the calculation processing of a retransmission time of the communication data round-trip time becomes larger than the retransmission time according to the retransmission time calculating means, for transmitting to the first communication device A determination unit that determines whether or not the size of communication data can be stored in one packet of the transport protocol, and a process of excluding the communication data round-trip time by the exclusion unit based on a determination result determined by the determination unit It is a communication control program for functioning as an on / off means for turning on or off .

本発明によれば、データパケットの消失エラー発生時に、速やかにデータの再送処理を行なうことができ、クライアント装置におけるレスポンスを良くすることができる。   According to the present invention, when a data packet loss error occurs, it is possible to promptly perform data retransmission processing and improve the response in the client device.

本発明は、図3を用いて説明したような無線通信網を利用するクライアント−サーバ型通信システムであって、かつ、図4を用いて説明したように、クライアント装置31からサーバ装置32への方向のデータの量は少なく、サーバ装置32からクライアント装置31への方向のデータ量は多いシステムにおいて適用可能である。   The present invention is a client-server type communication system that uses a wireless communication network as described with reference to FIG. 3, and as described with reference to FIG. 4, from the client device 31 to the server device 32. The present invention is applicable to a system in which the amount of direction data is small and the amount of direction data from the server device 32 to the client device 31 is large.

すなわち、図3に示すように、携帯端末等のクライアント装置31は、基地局33を介してインターネット34に接続されたサーバ装置32と通信を行なう。クライアント装置31と基地局33との間は無線による通信が行われ、データの消失の発生確率や伝送遅延が時々刻々と変化する。   That is, as shown in FIG. 3, a client device 31 such as a mobile terminal communicates with a server device 32 connected to the Internet 34 via a base station 33. Wireless communication is performed between the client device 31 and the base station 33, and the probability of data loss and the transmission delay change from moment to moment.

通常、クライアント装置31と基地局33との間では、フレーム単位の再送を行なうことでエラー補償が行われる。このため、フレームの再送が発生した際には、その分だけ伝送遅延も増加する。また、同一の基地局33に複数のクライアント装置31が同時に接続されている場合には、基地局33によってデータ送信のスケジュール制御が行われ、クライアント装置31は基地局33の制御に応じてデータの送信が待たされることもある。さらには、前述のフレーム単位の再送は、再送回数や再送に要した所要時間に上限を設けており、データの消失を100%補償するものではない。   Normally, error compensation is performed between the client device 31 and the base station 33 by performing retransmission in units of frames. For this reason, when a frame is retransmitted, the transmission delay increases accordingly. When a plurality of client devices 31 are connected to the same base station 33 at the same time, the base station 33 performs data transmission schedule control, and the client device 31 stores data according to the control of the base station 33. There is a case where transmission is waited for. Furthermore, the above-mentioned retransmission in units of frames sets an upper limit on the number of retransmissions and the time required for retransmission, and does not compensate for data loss 100%.

これらの要因により、クライアント装置31とサーバ装置32との間の通信において伝送遅延時間の変動やデータパケットの消失がたびたび発生する。
図5は、クライアント装置31のハードウェア構成の概略を示す図である。
Due to these factors, fluctuations in transmission delay time and loss of data packets frequently occur in communication between the client device 31 and the server device 32.
FIG. 5 is a diagram illustrating an outline of a hardware configuration of the client device 31.

図5において、クライアント装置31は、CPU(中央処理装置:Central Processing Unit)312、各種のデータや信号等を入力するための入力装置313、画像やその他の情報を表示するための表示装置314、クライアント装置31において実行する処理を実行するプログラムの他、クライアント装置31の各機能を制御し実行するための制御プログラムが収納されたROM(Read Only Memory)315やRAM(Random Access Memory)316、画像やその他の情報を記憶するための外部記憶装置317、無線LAN(Local Area Network)、携帯電話網等のネットワークに接続するための通信I/F(インターフェス:Interface)318、入力装置313によって入力された入力イベントを一時的に記憶する補助記憶装置319がバス311に接続されて構成され、CPU312がこれらの各部を制御している。   In FIG. 5, a client device 31 includes a CPU (Central Processing Unit) 312, an input device 313 for inputting various data and signals, a display device 314 for displaying images and other information, In addition to a program for executing processing executed in the client device 31, a ROM (Read Only Memory) 315 and a RAM (Random Access Memory) 316 that store control programs for controlling and executing the functions of the client device 31, an image And other information are input by an external storage device 317 for storing information, a wireless LAN (Local Area Network), a communication I / F (Interface) 318 for connecting to a network such as a cellular phone network, and an input device 313 Auxiliary storage device 319 for temporarily storing input events is connected to bus 311 Is, CPU 312 is controlling these units.

図6は、クライアント装置31に実装されるTCP制御部を示す機能ブロック図である。
図6において、TCP制御部60は、本発明に関係するデータ送信パターン判定部61、Delay Spike判定部62、RTO算出部63、再送制御部64、および本発明には直接関係しない不図示のその他の機能を備え、プロトコルスタックとして実現される。
FIG. 6 is a functional block diagram illustrating a TCP control unit implemented in the client device 31.
In FIG. 6, a TCP control unit 60 includes a data transmission pattern determination unit 61, a delay spike determination unit 62, an RTO calculation unit 63, a retransmission control unit 64, and other not shown that are not directly related to the present invention. It is realized as a protocol stack.

次に、図7乃至図10を用いて、TCP制御部60の各部が実行する処理の流れを説明する。
図7は、データ送信パターン判定部61が実行する処理の流れを示すフローチャートである。
Next, the flow of processing executed by each unit of the TCP control unit 60 will be described with reference to FIGS.
FIG. 7 is a flowchart showing a flow of processing executed by the data transmission pattern determination unit 61.

まず、データ送信パターン判定部61は、ステップS71において、上位層から渡される送信データ(SD:Sending Data)を取得し、ステップS72において、送信データSDのサイズがTCPの1パケットに格納できる最大サイズ(MSS:Maximum Segment Size)より大きいか否かを判断する。   First, in step S71, the data transmission pattern determination unit 61 acquires transmission data (SD: Sending Data) passed from an upper layer, and in step S72, the size of the transmission data SD is the maximum size that can be stored in one TCP packet. It is determined whether it is larger than (MSS: Maximum Segment Size).

そして、送信データSDのサイズがMSSより大きくない(MSSサイズ以下である)と判断された場合(ステップS72:N)は、ステップS73において、ENフラグ(Enableフラグ)をセットし、他方、送信データSDのサイズがMSSより大きいと判断された場合(ステップS72:Y)は、ステップS74において、ENフラグをクリアする。このENフラグは、後述するようにDelay Spike判定部62および再送制御部64により参照される。   If it is determined that the size of the transmission data SD is not larger than the MSS (is less than or equal to the MSS size) (step S72: N), the EN flag (Enable flag) is set in step S73, while the transmission data If it is determined that the SD size is larger than the MSS (step S72: Y), the EN flag is cleared in step S74. The EN flag is referred to by the delay spike determination unit 62 and the retransmission control unit 64 as described later.

このようにすることにより、図3および図4に示した一般的なクライアント−サーバ型通信システムにおける、クライアント装置31のコマンド送信のような小さなデータの送信をする時にのみENフラグがセットされ、Delay Spike判定部62および再送制御部64の機能を有効にする。   As a result, in the general client-server communication system shown in FIGS. 3 and 4, the EN flag is set only when small data is transmitted, such as command transmission of the client device 31, and Delay is set. The functions of the spike determination unit 62 and the retransmission control unit 64 are validated.

図8は、Delay Spike判定部62が実行する処理の流れを示すフローチャートである。
図8に示したフローチャートは、ステップS81乃至ステップS89の各ステップで構成されているが、Delay Spike判定部62が実行する処理は、ステップS84およびステップS88を省略することも可能である。
FIG. 8 is a flowchart showing a flow of processing executed by the delay spike determination unit 62.
The flowchart shown in FIG. 8 includes steps S81 to S89. However, the processing executed by the delay spike determination unit 62 can omit steps S84 and S88.

最初に、ステップS84およびステップS88を省略する場合について説明する。
まず、Delay Spike判定部62は、ステップS81において、RTT測定(データパケットを送信してからACKを受信するまでの往復時間の測定)を実行し、その測定値MRTTを取得する。
First, the case where step S84 and step S88 are omitted will be described.
First, the Delay Spike determination unit 62 performs RTT measurement (measurement of round trip time from transmission of a data packet to reception of ACK) in step S81, and obtains the measurement value MRTT.

そして、ステップS82において、過去に算出したRTO(再送タイムアウト時間)があるか否かを判断し、初期状態において算出したRTOを持たない場合(ステップS82:N)は、ステップS89に進み、何もせずにステップS81で取得したMRTTをRTO算出部63に渡す。   In step S82, it is determined whether or not there is an RTO (retransmission timeout period) calculated in the past. If there is no RTO calculated in the initial state (step S82: N), the process proceeds to step S89, and nothing is done. The MRTT acquired in step S81 is handed over to the RTO calculator 63.

他方、RTOがあると判断された場合(ステップS82:Y)は、ステップS83において、前述のENフラグがセットされているか否かを判断し、ENフラグがセットされていないと判断された場合(ステップS83:N)は、ステップS89に進み、何もせずにステップS81で取得したMRTTをRTO算出部63に渡す。   On the other hand, if it is determined that there is RTO (step S82: Y), it is determined in step S83 whether or not the aforementioned EN flag is set, and if it is determined that the EN flag is not set ( In step S83: N), the process proceeds to step S89, and the MRTT acquired in step S81 is passed to the RTO calculation unit 63 without doing anything.

他方、ENフラグがセットされていると判断された場合、すなわち初期状態ではなく、かつ、ENフラグがセットされている場合(ステップS83:Y)には、ステップS85において、ステップS81で取得したMRTTがその時点におけるRTOより大きいか否かを判断する。   On the other hand, if it is determined that the EN flag is set, that is, not in the initial state and the EN flag is set (step S83: Y), the MRTT acquired in step S81 is obtained in step S85. Is greater than the current RTO.

MRTTがその時点におけるRTOより大きいと判断された場合(ステップS85:Y)は、そのMRTTをRTO算出部63に渡さずに、ステップS86において、Skipフラグをセットして、ステップS87において、MRTTを廃棄する。これは、MRTTがRTOを超える場合にはそのMRTTは上述したリンクレベルのフレーム再送や基地局33によるスケジュール制御によって突発的に大きな値になった(Delay Spike)ものとみなし、後段のRTO算出には適用されないようにするものである。こうすることにより、Delay SpikeとみなされるMRTTがRTO算出処理から除外されることとなり、RTOの算出値が必要以上に大きな値となってしまうことを回避できる。   If it is determined that the MRTT is larger than the RTO at that time (step S85: Y), the MRTT is not passed to the RTO calculation unit 63, the Skip flag is set in step S86, and the MRTT is set in step S87. Discard. If the MRTT exceeds the RTO, it is assumed that the MRTT has suddenly become a large value (Delay Spike) due to the above-described link level frame retransmission and schedule control by the base station 33, and the RTO calculation is performed later. Does not apply. By doing so, the MRTT regarded as the Delay Spike is excluded from the RTO calculation process, and it can be avoided that the calculated value of the RTO becomes larger than necessary.

他方、MRTTがその時点におけるRTOより大きくないと判断された場合(ステップS85:N)は、ステップS89に進み、ステップS81で取得したMRTTをRTO算出部63に渡す。   On the other hand, if it is determined that the MRTT is not larger than the RTO at that time (step S85: N), the process proceeds to step S89, and the MRTT acquired in step S81 is passed to the RTO calculator 63.

次に、ステップS84およびステップS88を省略しない場合について説明する。
ステップS83でENフラグがセットされていると判断された場合、すなわち初期状態ではなく、かつ、ENフラグがセットされている場合(ステップS83:Y)は、ステップS84において、Skipフラグがセットされているか否かを判断し、Skipフラグがセットされていると判断された場合(ステップS84:Y)は、ステップS88において、Skipフラグがセットをクリアする。
Next, the case where step S84 and step S88 are not omitted will be described.
If it is determined in step S83 that the EN flag is set, that is, not the initial state and the EN flag is set (step S83: Y), the skip flag is set in step S84. If it is determined that the Skip flag is set (step S84: Y), the skip flag clears the set in step S88.

このように、Skipフラグを設けることによって、MRTTがRTOを超える状態が連続しても、MRTTの廃棄が連続しないようにしている。これにより、例えばクライアント装置31が別の基地局33のエリアに移動するなどして、RTTが急激に変化しその後もその状態が継続するような場合において、MRTTがRTO算出部63に渡されるようになり、RTO算出部63において適正なRTOを算出することが可能となる。   Thus, by providing the Skip flag, the MRTT is not discarded even if the state where the MRTT exceeds the RTO continues. Thereby, for example, when the client device 31 moves to another area of the base station 33 and the RTT changes rapidly and the state continues thereafter, the MRTT is passed to the RTO calculation unit 63. Thus, the RTO calculator 63 can calculate an appropriate RTO.

図9は、RTO算出部63が実行する処理の流れを示すフローチャートである。
まずRTO算出部63は、ステップS91において、Delay Spike判定部62より渡されるMRTTを取得し、ステップS92において、初期状態で過去に算出したRTOがあるか否かを判断する。
FIG. 9 is a flowchart showing a flow of processing executed by the RTO calculation unit 63.
First, in step S91, the RTO calculation unit 63 acquires the MRTT passed from the delay spike determination unit 62, and in step S92, determines whether there is an RTO calculated in the past in the initial state.

RTOがないと判断された場合(ステップS92:N)は、ステップS93において、上述の式1を用いてRTOの値を算出し、他方、RTOがあると判断された場合(ステップS92:Y)は、ステップS94において、上述の式2を用いてRTOの値を算出する。   When it is determined that there is no RTO (step S92: N), in step S93, the value of RTO is calculated using the above-described equation 1, and when it is determined that there is RTO (step S92: Y). In step S94, the value of RTO is calculated using the above-described equation 2.

そして、ステップS95において、SRTT、RTTVAR、およびRTOの値を更新する。
図10は、再送制御部64が実行する処理の流れを示すフローチャートである。
In step S95, the values of SRTT, RTTVAR, and RTO are updated.
FIG. 10 is a flowchart showing a flow of processing executed by the retransmission control unit 64.

まず、再送制御部64は、ステップS101において、データの送信を行ない、ステップS102において、バックオフカウンター(BOC:Back-Off Counter)をクリアし、ステップS103において、タイムアウト値にRTOをセットする。   First, the retransmission control unit 64 transmits data in step S101, clears a back-off counter (BOC) in step S102, and sets RTO as a timeout value in step S103.

そして、ステップS104において、ステップS101のデータ送信に伴いタイマの駆動を開始し、ステップS105において、ACKを受信したか否かを判断する。
ACKを受信したと判断した場合(ステップS105:Y)は、ステップS106において、タイマを終了し、ACKを受信していないと判断した場合(ステップS105:N)は、ステップS107において、タイムアウトしたか否かを判断する。タイムアウトしていないと判断された場合(ステップS107:N)、すなわちRTO経過(タイムアウト)までにACKが受信できなかった場合には、同じデータを再送して再びタイマを開始し、ACKの受信を待つ。
Then, in step S104, driving of the timer is started with data transmission in step S101, and in step S105, it is determined whether or not an ACK has been received.
If it is determined that ACK has been received (step S105: Y), the timer is terminated in step S106. If it is determined that ACK has not been received (step S105: N), whether time-out has occurred in step S107. Judge whether or not. If it is determined that the time-out has not occurred (step S107: N), that is, if the ACK has not been received before the RTO has elapsed (time-out), the same data is retransmitted and the timer is started again to receive the ACK. wait.

ここで、TCP制御部60は、指数バックオフと呼ばれる機能を有しており、タイムアウトが発生した場合、次のタイマの開始時にはタイムアウト時間を2倍にする。つまり、再送制御部64は、このバックオフのタイミングをγ回だけ遅らせる機能を有する。例えばγ=1の場合、1度目のタイムアウト時にはタイマのバックオフは行なわずにデータの再送を行ない、再び(2度目に)タイムアウトが発生した場合に、タイマのバックオフを行ってデータの再送を行なう。同様にして3度目以降もタイムアウトが発生した場合にはバックオフを行なう。ここで、γは調整パラメータであり、通信網の特性に合わせて調整する。このようにすることにより、通信データの消失が頻繁に発生するような場合に、タイムアウト時間が極端に長くなってしまう問題を回避できる。なお、上記のバックオフをγ回遅らせる処理はENフラグがセットされている場合にのみ行なう。   Here, the TCP control unit 60 has a function called exponential backoff, and when a timeout occurs, the timeout time is doubled when the next timer starts. That is, the retransmission control unit 64 has a function of delaying the backoff timing by γ times. For example, when γ = 1, the data is retransmitted without performing the timer back-off at the first time-out, and when the time-out occurs again (the second time), the timer is back-off and the data is re-transmitted. Do. Similarly, if a timeout occurs after the third time, back-off is performed. Here, γ is an adjustment parameter, which is adjusted according to the characteristics of the communication network. By doing this, it is possible to avoid the problem that the timeout time becomes extremely long when communication data is frequently lost. Note that the above-described processing for delaying backoff γ times is performed only when the EN flag is set.

すなわち、タイムアウトしたと判断された場合(ステップS107:Y)は、ステップS108において、データの再送信を行ない、ステップS109において、BOCをインクリメントする。そして、ステップS110において、BOCがγより大きいか否かを判断し、大きいと判断された場合(ステップS110:Y)は、ステップS111において、タイムアウト値にRTO×2^(BOC−γ)をセットし、他方、大きくないと判断された場合(ステップS110:N)は、ステップS112において、タイムアウト値にRTOをセットする。   That is, if it is determined that a timeout has occurred (step S107: Y), data is retransmitted in step S108, and BOC is incremented in step S109. In step S110, it is determined whether or not the BOC is larger than γ. If it is determined that the BOC is larger (step S110: Y), RTO × 2 ^ (BOC−γ) is set as the timeout value in step S111. On the other hand, when it is determined that it is not large (step S110: N), RTO is set as the timeout value in step S112.

以上説明したように、本発明によるTCP制御部60は、Delay SpikeとみなされるMRTTをRTOの算出処理から除外し、RTOの値が大きくなりすぎないようにすることで、無線通信網を利用したクライアント−サーバ型通信システムにおいても、データパケット等の通信データの消失時に速やかなデータ再送が行われるようになる。   As described above, the TCP control unit 60 according to the present invention uses the wireless communication network by excluding the MRTT regarded as the delay spike from the RTO calculation process so that the RTO value does not become too large. Even in a client-server communication system, a quick data retransmission is performed when communication data such as a data packet is lost.

また、タイムアウトによる再送発生時にタイムアウト値を2倍にするバックオフを遅らせるようにし、データパケット等の消失頻発時に、タイムアウト時間が極端に長くなってしまう問題を回避している。   Further, the back-off that doubles the timeout value when delay occurs due to timeout is delayed to avoid the problem that the timeout time becomes extremely long when data packets or the like are frequently lost.

さらに、データの送信パターンの監視を行ない、一度に送信するデータのサイズが小さい場合にのみ上記の機能が有効になるようにしている。これにより、例えばユーザがクライアント装置31に対して何らかの操作を行なうことでコマンドをサーバ装置32に向けて送信する場合には、通常はコマンドのデータサイズは小さいので、レスポンスを優先した通信が行なうことができる。また、例えばデータファイルをサーバ装置32へ転送する(アップロード)ような場合には、上記の機能は無効となり、スループットおよび通信網利用効率を優先する従来のTCP制御に従う通信が行われる。   Further, the data transmission pattern is monitored so that the above function is effective only when the size of data to be transmitted at a time is small. Thereby, for example, when a command is transmitted to the server device 32 by performing some operation on the client device 31, for example, the data size of the command is usually small, and therefore communication with priority given to response is performed. Can do. For example, when transferring (uploading) a data file to the server device 32, the above function is disabled, and communication according to conventional TCP control giving priority to throughput and communication network utilization efficiency is performed.

一方で、RTOの値を大きくなり過ぎないようにすること、および再送タイマの指数バックオフを任意の回数遅らせるということは、本来は必要でないかもしれない再送が行われる確率が高くなり、通信網に負担をかけることになりかねないとも考えられる。しかしながら、上述したとおり、サイズの小さなデータが送信されるときのみ機能が有効になるようにしたので、通信網に大きな負担をかけることはない。   On the other hand, preventing the RTO value from becoming too large and delaying the exponential backoff of the retransmission timer an arbitrary number of times increases the probability of retransmission that may not be necessary in the first place. It may be possible to put a burden on However, as described above, the function is enabled only when small-size data is transmitted, so that a large burden is not imposed on the communication network.

以上説明したように本発明は、突発的に大きな値となったRTT測定値をRTOの算出処理から除外するようにしたことにより、RTOが大きくなりすぎる問題を回避でき、パケットの消失エラー発生時に速やかにデータの再送処理を行なうことができる。   As described above, according to the present invention, the RTT measurement value that suddenly becomes a large value is excluded from the RTO calculation process, so that the problem that the RTO becomes too large can be avoided, and when a packet loss error occurs. Data retransmission processing can be performed promptly.

また、再送タイマの指数バックオフを任意の回数遅らせるようにしたので、パケットの消失が連続して発生した場合に、再送までの待ち時間が極端に長くなる問題を回避できる。   In addition, since the exponential backoff of the retransmission timer is delayed an arbitrary number of times, it is possible to avoid the problem that the waiting time until retransmission becomes extremely long when packet loss occurs continuously.

さらに、上位レイヤからの1回当たりの要求における送信データのサイズを監視し、そのサイズがTCPの1パケットに格納可能な場合にのみ上記の機能が有効になるようにしたので、再送までの待ち時間を短くすることによる通信網に対する負担増加分を小さく抑えることができる。   In addition, the size of transmission data in each request from an upper layer is monitored, and the above function is enabled only when the size can be stored in one TCP packet. The increase in the burden on the communication network due to the shortening of the time can be kept small.

さらに、本発明は、一度に送信するデータが少なく、重複ACKの連続受信によりパケットの消失を検出するアルゴリズムが効果をなさない状況下での速やかな再送を実現するためのものであるため、クライアント−サーバ型通信システムにおけるクライアント装置31の送信側のみの実装で良く、サーバ装置32には何ら変更の必要がない。   Furthermore, the present invention is intended to realize rapid retransmission in a situation where the amount of data to be transmitted at one time is small and the algorithm for detecting packet loss due to continuous reception of duplicate ACKs is ineffective. -Only the transmission side of the client device 31 in the server type communication system may be mounted, and the server device 32 does not need to be changed at all.

上述の実施の形態のデータ送信パターン判定部61は、一度に送信しようとするデータサイズを監視し、1つのTCPパケットに格納可能なサイズの時のみ後段の機能を有効にするようにしたが、これを、上位レイヤが明示的に制御するようにしても良い。具体的には、TCP制御部60とその上位レイヤであるアプリケーションプログラムとの間のAPI(Application Program Interface)に対して、上記制御用の関数を追加し、この関数をアプリケーションプログラムが呼び出すことで制御できるようにする。   The data transmission pattern determination unit 61 of the above-described embodiment monitors the data size to be transmitted at a time, and enables the subsequent function only when the size can be stored in one TCP packet. This may be explicitly controlled by the upper layer. Specifically, the control function is added to an API (Application Program Interface) between the TCP control unit 60 and an application program that is an upper layer, and the application program calls the function to control. It can be so.

以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、クライアント装置31の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。   As described above, the embodiments of the present invention have been described with reference to the drawings. However, the above-described embodiments of the present invention are not limited to hardware, a DSP (Digital Signal Processor) board or a CPU as a function of the client device 31. It can be realized by firmware or software on the board.

また、本発明が適用されるクライアント装置31は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。   Further, the client device 31 to which the present invention is applied is not limited to the above-described embodiment as long as the function is executed, and even a single device or a system composed of a plurality of devices can be used. Needless to say, the integrated device may be a system in which processing is performed via a network such as a LAN or a WAN.

また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、クライアント装置31に供給し、そのクライアント装置31のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。   It can also be realized by a system including a CPU, a ROM or RAM memory connected to a bus, an input device, an output device, an external recording device, a medium driving device, and a network connection device. That is, a ROM or RAM memory, an external recording device, or a portable recording medium that records a software program for realizing the system of the above-described embodiment is supplied to the client device 31, and the computer of the client device 31 executes the program. Needless to say, this can also be achieved by reading and executing.

この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。   In this case, the program itself read from the portable recording medium or the like realizes the novel function of the present invention, and the portable recording medium or the like on which the program is recorded constitutes the present invention.

プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。   Examples of portable recording media for supplying the program include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, DVD-RAMs, magnetic tapes, and nonvolatile memory cards. Various recording media recorded via a network connection device (in other words, a communication line) such as a ROM card, electronic mail or personal computer communication can be used.

また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。   The computer (information processing apparatus) executes the program read out on the memory, thereby realizing the functions of the above-described embodiment, and an OS running on the computer based on the instructions of the program. Performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.

さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。   Furthermore, a program read from a portable recording medium or a program (data) provided by a program (data) provider is stored in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. After being written, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are also realized by the processing. obtain.

すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。   That is, the present invention is not limited to the embodiment described above, and can take various configurations or shapes without departing from the gist of the present invention.

再送タイマを用いたデータ送信パターンの例を示す図である。It is a figure which shows the example of the data transmission pattern using a retransmission timer. “Fast Retransmit”アルゴリズムにおけるデータ送信パターンの例を示す図である。It is a figure which shows the example of the data transmission pattern in a "Fast Retransmit" algorithm. 無線通信網を利用するクライアント−サーバ型通信システムの構成例を示す図である。1 is a diagram illustrating a configuration example of a client-server communication system using a wireless communication network. クライアント−サーバ型通信システムにおけるデータのやり取りの例を示す図である。It is a figure which shows the example of the exchange of data in a client-server type communication system. クライアント装置31のハードウェア構成の概略を示す図である。2 is a diagram illustrating an outline of a hardware configuration of a client device 31. FIG. クライアント装置31に実装されるTCP制御部を示す機能ブロック図である。3 is a functional block diagram illustrating a TCP control unit implemented in a client device 31. FIG. データ送信パターン判定部61が実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which the data transmission pattern determination part 61 performs. Delay Spike判定部62が実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which the Delay Spike determination part 62 performs. RTO算出部63が実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which the RTO calculation part 63 performs. 再送制御部64が実行する処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which the resending control part 64 performs.

符号の説明Explanation of symbols

11 クライアント装置
12 サーバ装置
21 データ通信装置
22 データ通信装置
31 クライアント装置
32 サーバ装置
33 基地局
34 インターネット
60 TCP制御部
61 データ送信パターン判定部
62 Delay Spike判定部
63 RTO算出部
64 再送制御部
311 バス
312 CPU
313 入力装置
314 表示装置
315 ROM
316 RAM
317 外部記憶装置
318 通信I/F
319 補助記憶装置
321 バス
322 CPU
323 入力装置
324 表示装置
325 ROM
326 RAM
327 外部記憶装置
328 通信I/F
329 補助記憶装置
DESCRIPTION OF SYMBOLS 11 Client apparatus 12 Server apparatus 21 Data communication apparatus 22 Data communication apparatus 31 Client apparatus 32 Server apparatus 33 Base station 34 Internet 60 TCP control part 61 Data transmission pattern determination part 62 Delay Spike determination part 63 RTO calculation part 64 Retransmission control part 311 Bus 312 CPU
313 Input device 314 Display device 315 ROM
316 RAM
317 External storage device 318 Communication I / F
319 Auxiliary storage device 321 Bus 322 CPU
323 Input device 324 Display device 325 ROM
326 RAM
327 External storage device 328 Communication I / F
329 Auxiliary storage device

Claims (5)

トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置であって、
前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段と、
前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段と、
前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段と、
前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段と、
前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理をオンまたはオフするオンオフ手段と、
を備えることを特徴とする通信制御装置。
A communication control device that controls a second communication device that can wirelessly communicate with a first communication device using a transport protocol and has an asymmetrically large reception amount compared to a transmission amount,
Retransmission time calculation means for calculating a retransmission time until retransmission of communication data to be transmitted to the first communication device;
Communication data round-trip time measuring means for measuring communication data round-trip time in which the communication data goes back and forth with the first communication device;
Comparing means for comparing the retransmission time calculated by the retransmission time calculating means with the communication data round-trip time measured by the communication data round-trip time measuring means;
As a result of comparing the retransmission time and the communication data round-trip time by the comparison means, when the communication data round-trip time becomes larger than the retransmission time, the communication data round-trip time becomes larger than the retransmission time. Excluding means from the retransmission time calculation processing by the retransmission time calculating means,
Determining means for determining whether the size of communication data to be transmitted to the first communication device can be stored in one packet of the transport protocol;
On / off means for turning on or off the process of excluding the communication data round-trip time by the excluding means based on the determination result determined by the determining means;
A communication control apparatus comprising:
さらに、
タイムアウトによる前記通信データの再送を検出する再送検出手段と、
前記再送検出手段によって前記通信データの再送が検出された場合、任意の回数だけ再送タイマの指数バックオフを遅らせるバックオフ制御手段と、
を備え
前記オンオフ手段は、
前記判断手段によって判断された判断結果に基づいて、前記バックオフ制御手段による前記指数バックオフを遅らせる処理をオンまたはオフする、
ことを特徴とする請求項1に記載の通信制御装置。
further,
Retransmission detection means for detecting retransmission of the communication data due to timeout;
When retransmission of the communication data is detected by the retransmission detection means, backoff control means for delaying exponential backoff of the retransmission timer an arbitrary number of times;
Equipped with a,
The on / off means includes
Based on the determination result determined by the determination means, turn on or off the process of delaying the exponential backoff by the backoff control means,
The communication control apparatus according to claim 1.
前記バックオフ制御手段は、再送タイムを2のべき乗で増加させる指数バックオフ演算により増加させる場合に、設定した回数だけ指数バックオフの演算をスキップさせ再送タイムの増加を遅らせることを特徴とする請求項2に記載の通信制御装置。   The backoff control means skips the exponential backoff calculation by a set number of times and delays the increase of the retransmission time when increasing the retransmission time by an exponential backoff calculation for increasing the retransmission time by a power of 2. Item 3. The communication control device according to Item 2. 前記トランスポートプロトコルは、TCP(Transmission Control Protocol)であることを特徴とする請求項1乃至の何れか1項に記載の通信制御装置。 The transport protocol, the communication control device according to any one of claims 1 to 3, characterized in that a TCP (Transmission Control Protocol). トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置のコンピュータを、
前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段、
前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段、
前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段、
前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段、
前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理をオンまたはオフするオンオフ手段、
として機能させるための通信制御プログラム。
A computer of a communication control device that controls a second communication device that can wirelessly communicate with a first communication device using a transport protocol and has a reception amount asymmetrically larger than a transmission amount,
Retransmission time calculation means for calculating a retransmission time until retransmission of communication data to be transmitted to the first communication device;
A communication data round-trip time measuring means for measuring a communication data round-trip time in which the communication data makes a round trip with the first communication device;
Comparing means for comparing the retransmission time calculated by the retransmission time calculating means with the communication data round-trip time measured by the communication data round-trip time measuring means;
As a result of comparing the retransmission time and the communication data round-trip time by the comparison means, when the communication data round-trip time becomes larger than the retransmission time, the communication data round-trip time becomes larger than the retransmission time. Excluding means for excluding from retransmission time calculation processing by the retransmission time calculating means,
Determining means for determining whether the size of communication data to be transmitted to the first communication device can be stored in one packet of the transport protocol;
An on / off means for turning on or off the process of excluding the communication data round-trip time by the excluding means based on the determination result determined by the determining means;
Communication control program to function as
JP2007003172A 2007-01-11 2007-01-11 Communication control device and communication control program Expired - Fee Related JP4952256B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007003172A JP4952256B2 (en) 2007-01-11 2007-01-11 Communication control device and communication control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007003172A JP4952256B2 (en) 2007-01-11 2007-01-11 Communication control device and communication control program

Publications (2)

Publication Number Publication Date
JP2008172480A JP2008172480A (en) 2008-07-24
JP4952256B2 true JP4952256B2 (en) 2012-06-13

Family

ID=39700163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007003172A Expired - Fee Related JP4952256B2 (en) 2007-01-11 2007-01-11 Communication control device and communication control program

Country Status (1)

Country Link
JP (1) JP4952256B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5801175B2 (en) * 2011-12-16 2015-10-28 株式会社日立製作所 Packet communication apparatus and method
JP5958355B2 (en) * 2013-01-17 2016-07-27 富士通株式会社 Analysis apparatus, analysis method, and analysis program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1077559A1 (en) * 1999-08-17 2001-02-21 Telefonaktiebolaget Lm Ericsson Method and device for determining a time-parameter
JP3741421B2 (en) * 2001-03-22 2006-02-01 ボーダフォン株式会社 Data communication method and communication terminal device
JP3859521B2 (en) * 2002-01-29 2006-12-20 ソフトバンクモバイル株式会社 Mobile communication system
JP4214793B2 (en) * 2003-02-19 2009-01-28 日本電気株式会社 Wireless communication system, server, base station, mobile terminal, and retransmission timeout time determination method used for them
JP2005005906A (en) * 2003-06-10 2005-01-06 Ntt Docomo Inc Method for setting retransmission timer value in TCP communication

Also Published As

Publication number Publication date
JP2008172480A (en) 2008-07-24

Similar Documents

Publication Publication Date Title
JP4503186B2 (en) Communication apparatus and communication method
US8750109B2 (en) Inferring TCP initial congestion window
Sinha et al. WTCP: A reliable transport protocol for wireless wide-area networks
EP2290865B1 (en) Cooperation of arq protocols at physical and link layers for wireless communications
CN101047485B (en) Communication terminal and retransmission control method
US9185045B1 (en) Transport protocol for interactive real-time media
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
US20080043621A1 (en) Systems and Methods for Improving Network Performance
JP4354406B2 (en) Data unit transmitter and control method of the transmitter
US20130294235A1 (en) System and Method for Controlling Network Congestion
JP2012515491A (en) Maximize bandwidth utilization in networks with packet loss and high latency using transmission control protocols
KR20060043648A (en) How to Respond to Spurious Timeouts
US20200267083A1 (en) Transmit data volume control device, method, and recording medium
US20040264370A1 (en) Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
US20100202469A1 (en) Queue management system and methods
US8607114B2 (en) Communication device and communication method
US12335769B2 (en) Method and system for channel quality assisted transport in wireless network
JP4952256B2 (en) Communication control device and communication control program
JP7067544B2 (en) Communication systems, communication devices, methods and programs
JP4435817B2 (en) Communication terminal, communication control method, and communication control program
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
US20140233456A1 (en) Communication device, communication method, storage medium, and communication system
JP6897769B2 (en) Data transmitters, methods and programs
JP6101046B2 (en) Packet transmission apparatus and program thereof
JP5246015B2 (en) Server and ACK reply method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

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: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R150 Certificate of patent or registration of utility model

Ref document number: 4952256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees