JP4328794B2 - COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD - Google Patents
COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD Download PDFInfo
- Publication number
- JP4328794B2 JP4328794B2 JP2006285273A JP2006285273A JP4328794B2 JP 4328794 B2 JP4328794 B2 JP 4328794B2 JP 2006285273 A JP2006285273 A JP 2006285273A JP 2006285273 A JP2006285273 A JP 2006285273A JP 4328794 B2 JP4328794 B2 JP 4328794B2
- Authority
- JP
- Japan
- Prior art keywords
- amount
- throughput
- unit
- data
- confirmation response
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、通信網を介して相手先装置へデータを送信する通信装置を具備する通信システム、当該通信システムにおける通信装置、及び当該通信装置における送信制御方法に関する。 The present invention relates to a communication system including a communication device that transmits data to a counterpart device via a communication network, a communication device in the communication system, and a transmission control method in the communication device.
OSI参照モデルのトランスポート層のプロトコルとしてTCP(Transmission Control Protocol)が広く普及している。TCPに従って行われる通信では、パケットロスが発生した場合に、欠落したデータパケットの再送信を行うとともに、以降のデータ送信量を減少させる動作が行われる。 TCP (Transmission Control Protocol) is widely used as a transport layer protocol of the OSI reference model. In communication performed in accordance with TCP, when a packet loss occurs, an operation of retransmitting the missing data packet and reducing the subsequent data transmission amount is performed.
一般的に、パケットロスは、ネットワークが輻輳状態であることや、受信側の処理能力を超えた数のデータパケットが送信されたことによって引き起こされる。送信側では、ネットワークの輻輳に対処するために輻輳制御と呼ばれる動作を行う。 In general, packet loss is caused by the fact that the network is in a congested state or the number of data packets that exceed the processing capability of the receiving side. On the transmission side, an operation called congestion control is performed in order to cope with network congestion.
具体的には、送信側が往復時間、すなわちデータを送信してから、そのデータに対する確認応答を受信するまでに要する時間内に送信可能なデータ送信量は、輻輳ウィンドウサイズに基づいて決定される。輻輳ウィンドウサイズを適切に更新することによって輻輳制御が実現される。輻輳ウィンドウは、1kbyteから最大ウィンドウサイズで設定した値まで増加することができる。 Specifically, the data transmission amount that can be transmitted within the time required for the transmission side to send a round-trip time, that is, from the time when the data is transmitted until the confirmation response to the data is received, is determined based on the congestion window size. Congestion control is realized by appropriately updating the congestion window size. The congestion window can be increased from 1 kbyte to the value set by the maximum window size.
移動パケット通信システムで提供されているインターネットアクセスサービス及びブラウザフォン等のデータアクセスサービスは、トランスポート層プロトコルとして、TCPを移動通信向けに最適化したW−TCP(RFC3481)を採用している。 Internet access services and data access services such as browser phones provided in mobile packet communication systems employ W-TCP (RFC3481), which optimizes TCP for mobile communications, as a transport layer protocol.
近年、無線通信網のブロードバンド化が進み、有線通信網並みの帯域幅が利用可能となったが、無線通信網は、伝送遅延及びパケットロス率については、有線通信網に劣ることが知られている。 In recent years, broadbandization of wireless communication networks has progressed, and the same bandwidth as wired communication networks can be used. However, wireless communication networks are known to be inferior to wired communication networks in terms of transmission delay and packet loss rate. Yes.
W−TCPは、大きな伝送遅延及びパケットロスが生じるブロードバンド無線通信網において効率的な伝送を行うため、(1)ウィンドウサイズ拡大、(2)初期ウィンドウサイズ拡大、(3)SACK(Selective Acknowledgement)有効化、(4)MTU(Maximum Transmission Unit)拡大といった最適化プロファイルを規定している。 W-TCP performs efficient transmission in a broadband wireless communication network in which a large transmission delay and packet loss occur, so (1) window size expansion, (2) initial window size expansion, and (3) SACK (Selective Acknowledgment) effective And (4) an MTU (Maximum Transmission Unit) expansion optimization profile is defined.
一般的に、通信網の帯域幅と伝送遅延を掛けた値を帯域幅遅延積といい、帯域幅遅延積より最大ウィンドウサイズが大きくなければ、通信網の帯域幅を有効利用することができない。このため、上記(1)ウィンドウサイズ拡大は、無線通信網の最大帯域幅と伝送遅延量を考慮して決定される。 In general, a value obtained by multiplying the bandwidth of the communication network and the transmission delay is called a bandwidth delay product. If the maximum window size is not larger than the bandwidth delay product, the bandwidth of the communication network cannot be used effectively. For this reason, the above (1) window size expansion is determined in consideration of the maximum bandwidth of the wireless communication network and the amount of transmission delay.
TCPでは、伝送路の帯域幅を使い切って最大スループットを得ようとした場合、帯域幅遅延積より大きな最大ウィンドウサイズを設定しなければならない。W-TCPの輻輳ウィンドウは、データ送信開始時、上記(2)初期ウィンドウサイズ拡大により、4kbyteに設定されており、確認応答を受信するたびに増加し、ウィンドウサイズの上限値まで拡大する。 In TCP, when the maximum throughput is to be obtained by using the bandwidth of the transmission path, a maximum window size larger than the bandwidth delay product must be set. The congestion window of W-TCP is set to 4 kbytes when (2) the initial window size is expanded at the start of data transmission, increases every time an acknowledgment is received, and expands to the upper limit value of the window size.
一方で、有線通信網において、パケットロスを回避するため、送信側の通信装置が、受信側の通信装置との間の往復時間を用いて、ネットワークが輻輳しているかを監視する手法が提案されている(例えば、非特許文献1、特許文献1参照)。
しかしながら、無線通信網の伝送路(無線リンク)の特性は、クライアント端末の移動により刻一刻と変動し、帯域幅と伝送遅延が常に変動する。そのため、最大ウィンドウサイズの値を想定される帯域幅遅延積の上限に設定したとしても、実際の帯域幅遅延積が最大ウィンドウサイズよりもはるかに小さいといった事象が発生する。 However, the characteristics of the transmission path (wireless link) of the wireless communication network change every moment due to the movement of the client terminal, and the bandwidth and transmission delay always change. Therefore, even if the value of the maximum window size is set as the upper limit of the assumed bandwidth delay product, an event that the actual bandwidth delay product is much smaller than the maximum window size occurs.
帯域幅遅延積を超えて送信されたデータは、主に無線制御装置やルータ上のキューイングバッファに蓄積される。キューイングバッファからデータが溢れて失われた場合、TCPの輻輳制御動作により輻輳ウィンドウが減じられ、キューイングバッファに過剰にデータが蓄積した状態は避けられる。 Data transmitted exceeding the bandwidth delay product is mainly stored in a queuing buffer on the radio control device or router. When data overflows and is lost from the queuing buffer, the congestion window is reduced by the TCP congestion control operation, and a state where excessive data is accumulated in the queuing buffer is avoided.
キューイングバッファが最大ウィンドウサイズより大きく設定されていた場合、パケットロスが発生せず、キューイングバッファにデータが蓄積されたままの状態になることで様々な弊害が発生する。 When the queuing buffer is set to be larger than the maximum window size, no packet loss occurs, and various adverse effects occur due to the state where data is stored in the queuing buffer.
第1に、無線制御装置やルータやキューイングバッファを埋め尽くすことにより、各装置のメモリリソースを大量に消費し、装置当たりの収容加入者数が減少してしまうという問題がある。 First, by filling up the radio control device, the router, and the queuing buffer, there is a problem that a large amount of memory resources are consumed in each device and the number of accommodated subscribers per device is reduced.
第2に、キューイングバッファにデータが蓄積された状態では、サーバー装置が送信したデータに対する確認応答が到達する時間が長大化するという問題がある。この問題に付随して、TCPの再送タイムアウトタイマが伝送遅延に追従して長大化し、パケットロスが発生した際の再送動作が遅れることが考えられる。 Second, in the state where data is stored in the queuing buffer, there is a problem that it takes a long time for an acknowledgment response to the data transmitted by the server device to arrive. Along with this problem, it is conceivable that the TCP retransmission timeout timer becomes longer following the transmission delay, and the retransmission operation when a packet loss occurs is delayed.
上記問題点に鑑み、本発明は、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、新たに送信するデータの送信量を制御することができる通信システム、通信装置、及び送信制御方法を提供することを目的とする。 In view of the above problems, the present invention can control the amount of newly transmitted data while accurately estimating the state of the communication network, specifically the amount of data stored in the queuing buffer. It is an object to provide a communication system, a communication apparatus, and a transmission control method.
上記目的を達成するために、本発明の第1の特徴は、第1通信装置(クライアント端末100)と、無線通信網(無線通信網1、有線通信網2)を介して前記第1通信装置へデータを送信する第2通信装置(サーバー装置400)とを具備する通信システムであって、前記第1通信装置は、前記第2通信装置が送信したデータの受信結果を示す確認応答を前記第2通信装置へ送信する確認応答送信部(TCP処理部104)を備え、前記第2通信装置は、前記第1通信装置へ前記データを送信してから、前記第1通信装置から前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部(往復時間計測部406)と、前記確認応答に基づいて、前記第1通信装置が正常に受信したデータの受信量を判定する受信量判定部(受信量判定部407)と、前記往復時間と前記受信量とに基づいて、前記第1通信装置へ新たに送信するデータの送信量を制御する送信量制御部(スループット算出部408、履歴管理部409、閾値判定部410、輻輳制御起動部411)とを備えることを要旨とする。
In order to achieve the above object, a first feature of the present invention is that a first communication device (client terminal 100) and the first communication device via a wireless communication network (
このような構成によれば、第2通信装置が、往復時間(RTT)と第1通信装置における受信量とに基づいて、第1通信装置へ新たに送信するデータの送信量を制御する。すなわち、通信網の帯域幅と伝送遅延とを考慮した送信量制御を行っている。この結果、第2通信装置は、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、第1通信装置へ新たに送信するデータの送信量を制御することができる。 According to such a configuration, the second communication device controls the transmission amount of data to be newly transmitted to the first communication device based on the round trip time (RTT) and the reception amount in the first communication device. That is, transmission amount control is performed in consideration of the bandwidth and transmission delay of the communication network. As a result, the second communication device controls the transmission amount of data newly transmitted to the first communication device while accurately estimating the state of the communication network, specifically, the amount of data stored in the queuing buffer. can do.
本発明の第1の特徴に係る通信システムにおいて、前記送信量制御部は、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部(スループット算出部408)と、前記スループットに基づいて、前記送信量を減少させる減少処理部(閾値判定部410、輻輳制御起動部411)とを備えることが好ましい。
In the communication system according to the first aspect of the present invention, the transmission amount control unit calculates a reception amount per unit time as a throughput from the round trip time and the reception amount (throughput calculation unit 408). And a reduction processing unit (
このような構成によれば、単位時間当たりの受信量をスループットとして算出し、スループットに基づいて送信量を減少させることによって、パケットロスによるTCPの輻輳制御に頼らなくとも、データ送信量(輻輳ウィンドウ)を減少させることができる。 According to such a configuration, the amount of data transmission (congestion window) can be obtained without calculating the congestion control of TCP due to packet loss by calculating the reception amount per unit time as the throughput and reducing the transmission amount based on the throughput. ) Can be reduced.
本発明の第1の特徴に係る通信システムにおいて、前記スループットの履歴を管理する履歴管理部(履歴管理部409)をさらに備え、前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。 The communication system according to the first aspect of the present invention further includes a history management unit (history management unit 409) that manages the throughput history, wherein the reduction processing unit refers to the history, and the throughput is predetermined. It is preferable to reduce the transmission amount when the threshold value is exceeded.
このような構成によれば、スループットが、所定の閾値(例えば、履歴に存在するスループットの最大値)を下回ったとき、具体的には、スループットが低下したときにデータ送信量(輻輳ウィンドウ)を減少させることによって、データ送信量を適切に減少させることができる。 According to such a configuration, when the throughput falls below a predetermined threshold (for example, the maximum value of throughput existing in the history), specifically, when the throughput decreases, the data transmission amount (congestion window) is reduced. By reducing, the data transmission amount can be appropriately reduced.
本発明の第2の特徴は、無線通信網(無線通信網1、有線通信網2)を介して相手先装置(クライアント端末100)へデータを送信する通信装置(サーバー装置400)であって、前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信する確認応答受信部(TCP処理部404)と、前記相手先装置へ前記データを送信してから、前記受信部が前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部(往復時間計測部406)と、前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定する受信量判定部(受信量判定部407)と、前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御する送信量制御部(スループット算出部408、履歴管理部409、閾値判定部410、輻輳制御起動部411)とを備えることを要旨とする。
A second feature of the present invention is a communication device (server device 400) that transmits data to a partner device (client terminal 100) via a wireless communication network (
本発明の第2の特徴に係る通信装置において、前記送信量制御部は、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部(スループット算出部408)と、前記スループットに基づいて、前記送信量を減少させる減少処理部(閾値判定部410、輻輳制御起動部411)とを備えることが好ましい。
In the communication device according to the second aspect of the present invention, the transmission amount control unit calculates a reception amount per unit time as a throughput from the round trip time and the reception amount (throughput calculation unit 408). And a reduction processing unit (
本発明の第2の特徴に係る通信装置において、前記スループットの履歴を管理する履歴管理部(履歴管理部409)をさらに備え、前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。 The communication apparatus according to the second aspect of the present invention further includes a history management unit (history management unit 409) that manages the history of the throughput, the reduction processing unit refers to the history, and the throughput is predetermined. It is preferable to reduce the transmission amount when the threshold value is exceeded.
本発明の第3の特徴は、通信網を介して相手先装置へデータを送信する通信装置における送信制御方法であって、前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信するステップと、前記相手先装置へ前記データを送信してから、前記確認応答を受信するまでの時間を往復時間として計測するステップと、前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定するステップと、前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御するステップとを含むことを要旨とする。 A third feature of the present invention is a transmission control method in a communication device that transmits data to a partner device via a communication network, wherein the confirmation response indicating the reception result of the data in the partner device is A step of receiving from the counterpart device, a step of measuring a time from when the data is transmitted to the counterpart device until the reception of the confirmation response as a round trip time, and the destination based on the confirmation response. Determining a reception amount of data normally received by the device, and controlling a transmission amount of data newly transmitted to the counterpart device based on the round-trip time and the reception amount. The gist.
本発明の第3の特徴に係る送信制御方法において、前記制御するステップは、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するステップと、前記スループットに基づいて、前記送信量を減少させるステップとを含むことが好ましい。 In the transmission control method according to the third aspect of the present invention, the controlling step includes calculating the received amount per unit time as a throughput from the round trip time and the received amount, and based on the throughput. And reducing the transmission amount.
本発明の第3の特徴に係る送信制御方法において、前記スループットの履歴を管理するステップをさらに含み、前記減少させるステップでは、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。 The transmission control method according to the third aspect of the present invention further includes a step of managing the history of the throughput, and in the step of reducing, referring to the history, and when the throughput falls below a predetermined threshold, It is preferable to reduce the transmission amount.
本発明によれば、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、新たに送信するデータの送信量を制御することができる通信システム、通信装置、及び送信制御方法を提供できる。 According to the present invention, a communication system capable of controlling the amount of newly transmitted data while accurately estimating the state of the communication network, specifically, the amount of data stored in the queuing buffer, and communication An apparatus and a transmission control method can be provided.
次に、図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。 Next, an embodiment of the present invention will be described with reference to the drawings. In the description of the drawings in the following embodiments, the same or similar parts are denoted by the same or similar reference numerals.
(通信システムの構成例)
先ず、本実施形態に係る通信システムの構成例について説明する。図1は、本実施形態に係る通信システムの構成例を示す図である。図2は本実施形態に係る通信システムのプロトコルスタックを示す図である。
(Configuration example of communication system)
First, a configuration example of a communication system according to the present embodiment will be described. FIG. 1 is a diagram illustrating a configuration example of a communication system according to the present embodiment. FIG. 2 is a diagram showing a protocol stack of the communication system according to the present embodiment.
図1に示す通信システムは、クライアント端末100と、無線制御装置200と、無線通信網1と、POI(Point Of Interface)300と、有線通信網2と、サーバー装置400とを備える。
The communication system shown in FIG. 1 includes a
無線通信網1は、無線LANが接続されたWANやLAN、又は携帯電話システムの交換ネットワークの形態をとる。有線通信網2は、LAN又はインターネットの形態をとる。
The
クライアント端末100は、携帯電話端末又は無線通信機能を有するノートPCなどの形態をとる。本実施形態においてクライアント端末100は、無線制御装置200、無線通信網1、POI300、及び有線通信網2を介して、サーバー装置400からコンテンツをダウンロードする。
The
無線制御装置200は、無線LANのアクセスポイント(AP)、又は携帯電話システムの基地局装置の形態をとる。無線制御装置200は、クライアント端末100と無線リンクを介して通信し、クライアント端末100と無線通信網1との間の無線インターフェースとして機能する。
POI300は、例えばルータ装置の形態をとる。POI300は、無線通信網1と有線通信網2とを相互に接続する。
The
サーバー装置400は、PC又はワークステーションの形態をとる。サーバー装置400は、有線通信網2、POI300、無線通信網1、及び無線制御装置200を介して、クライアント端末100に対してコンテンツ配信を行う。
図2に示すように、クライアント端末100とサーバー装置400とは、OSI参照モデルのトランスポート層に位置するTCPに従って通信する。TCPでは、データ送信毎に確認応答を待つ通信、すなわち確認型通信が行われる。
As shown in FIG. 2, the
なお、サーバー装置400は、複数のデータパケットを各データパケットに内包されたシーケンス番号の順にクライアント端末100へ送信する。クライアント端末100から送信される確認応答に内包される確認応答番号には、クライアント端末100が次に受信すべきデータパケットのシーケンス番号の値が格納される。
The
(クライアント端末の構成例)
次に、クライアント端末100の構成例について説明する。図3は、クライアント端末100の構成例を示す機能ブロック図である。
(Configuration example of client terminal)
Next, a configuration example of the
クライアント端末100は、無線インターフェース101と、IP(Internet Protocol)処理部102と、アプリケーション処理部103と、TCP処理部104とを備える。
The
無線インターフェース101は、無線通信網1とのインターフェースとして機能する。具体的には、無線インターフェース101は、アンテナ、高周波(RF)処理部、及びベースバンド(BB)処理部などを備える。
The
IP処理部102は、無線通信網1から通知されたアドレス、又はユーザがクライアント端末100に設定した一意のアドレスによって、無線通信網1及び有線通信網2におけるクライアント端末100の識別機能を提供する。
The
アプリケーション処理部103は、Webブラウザ、FTP(File Transfer Protocol)クライアント、メールクライアントなど、ユーザが利用するアプリケーションを実行する。
The
TCP処理部104は、再送制御、輻輳制御により信頼性の高い通信を実施可能とする。
(サーバー装置の構成例)
次に、サーバー装置400の構成例について説明する。図4は、サーバー装置400の構成例を示す機能ブロック図である。
The
(Configuration example of server device)
Next, a configuration example of the
サーバー装置400は、ネットワークインターフェース401と、IP処理部402と、アプリケーション処理部403と、TCP処理部404と、輻輳制御部405とを備える。
The
ネットワークインターフェース401は、例えばEthernet(登録商標)インターフェースの形態をとる。ネットワークインターフェース401は、有線通信網2とのインターフェースとして機能する。
The
IP処理部402は、有線通信網2で一意のIPアドレスが付与され、サーバー装置400の識別機能を提供する。
The
アプリケーション処理部403は、Webサーバー、FTPサーバー、メールサーバーなどユーザが利用するアプリケーションを提供する。
The
TCP処理部404は、再送制御、輻輳制御により信頼性の高い通信を実施可能とする。ここで、TCP処理部404による再送制御について簡単に説明する。TCP処理部404は、パケットロスを検出し、欠落したデータパケットを再送信する。具体的には、TCPデータを送信してから所定の時間(再送タイムアウト時間)内に、そのデータを受信したことを示す確認応答がクライアント端末100から送信されたかによってパケットロスを検出する。あるいは、TCP処理部404は、クライアント端末100から重複確認応答パケットが所定の回数(例えば、3回)送信されてきたか否かによってパケットロスを検出する。
The
輻輳制御部405は、TCP処理部404と連携して輻輳制御を行う。輻輳制御部405は、往復時間計測部406と、受信量判定部407と、スループット算出部408と、履歴管理部409と、閾値判定部410と、輻輳制御起動部411とを備える。
The
往復時間計測部406は、TCPデータ送信開始から、確認応答までの経過時間、すなわち往復時間(RTT)を計測する。
The round trip
受信量判定部407は、確認応答に基づいて、クライアント端末100が正常に受信したデータの受信量を判定する。
The reception
スループット算出部408は、往復時間計測部406と受信量判定部407とから通知された値を元に、データ送信のスループットを算出する。ここで、往復時間計測部406が計測した往復時間を“RTT”とし、クライアント端末100が正常に受信したデータの受信量を“RD”とすると、スループット“TP”は、
TP=RD/RTT ・・・(1)
により算出される。
The
TP = RD / RTT (1)
Is calculated by
履歴管理部409は、スループット算出部408が算出したスループットの履歴を管理する。
The
閾値判定部410は、スループットの履歴を参照し、スループットが一定の値を下回ったことを検出する。例えば、閾値判定部410は、スループット算出部408が算出したスループットと、履歴に存在するスループットの最大値とを比較し、スループットが最大値を下回ったことを検出する。
The
輻輳制御起動部411は、閾値判定部410による閾値判定の結果に基づき、TCP処理部404へ輻輳制御の起動を指示する。
The congestion
(スループット算出シーケンス)
次に、サーバー装置400によるスループット算出シーケンスについて説明する。図5は、サーバー装置400によるスループット算出シーケンスを示すシーケンス図である。
(Throughput calculation sequence)
Next, a throughput calculation sequence by the
ステップS1において、サーバー装置400は、データ(SEQ:x)をクライアント端末100へ送信する。“x”はシーケンス番号であり、送信パケットの相対的な位置をバイト単位で示している。
In step S <b> 1, the
ステップS2において、クライアント端末100は、確認応答(ACK:x+y)をサーバー装置400へ送信する。“x+y”は確認応答番号であり、シーケンス番号xまでのパケットが正常に受信され、さらにyバイトのデータ送信を要求することを意味している。
In step S <b> 2, the
ここで、受信量判定部407は、ステップS2の確認応答により、ステップS1のデータ送信が正常に行われたため、クライアント端末100のデータ受信量は、ステップS1で送信したデータ送信量(xバイト)であると判定する。
Here, the data reception amount of the
また、往復時間計測部406は、ステップS1とステップS2のタイミングにより往復時間を計測する。スループット算出部408は、上記式(1)からスループットを算出する。算出されたスループットは、履歴管理部409に記憶される。
The round trip
次に、ステップS3において、サーバー装置400は、データ(SEQ:x+y)をクライアント端末100へ送信する。“x+y”はシーケンス番号である。ステップS3で送信したデータ量は、ステップS1とステップS3のシーケンス番号より、x+y−x=yバイトである。
Next, in step S <b> 3, the
ステップS4において、クライアント端末100は、確認応答(ACK:x+y+z)をサーバー装置400へ送信する。“x+y+z”は確認応答番号であり、シーケンス番号x+yまでのパケットが正常に受信され、さらにzバイトのデータ送信を要求することを意味している。
In step S <b> 4, the
ここで、受信量判定部407は、ステップS4の確認応答により、ステップS3のデータ送信が正常に行われたため、クライアント端末100のデータ受信量は、ステップS3で送信したデータ送信量(yバイト)であると判定する。
Here, the data reception amount of the
また、往復時間計測部406は、ステップS3とステップS4のタイミングにより往復時間を計測する。スループット算出部408は、上記式(1)からスループットを算出する。算出されたスループットは、履歴管理部409に記憶される。
The round trip
(接続確立シーケンス)
次に、クライアント端末100及びサーバー装置400間の接続確立シーケンスについて説明する。図6は、クライアント端末100及びサーバー装置400間の接続確立シーケンスを示すシーケンス図である。
(Connection establishment sequence)
Next, a connection establishment sequence between the
ステップS10において、クライアント端末100は、接続要求(SYN)パケットをサーバー装置400へ送信する。なお、このSYNパケットは、クライアント端末100及びサーバー装置400においてシーケンス番号と確認応答番号とを同期させるためにも使われる。
In step S <b> 10, the
ステップS20において、サーバー装置400は、接続要求・接続応答信号(TCP SYN+ACK)をクライアント端末100へ送信する。
In step S20, the
ステップS30において、クライアント端末100は、接続応答(TCP ACK)をサーバー装置400へ送信する。
In step S <b> 30, the
このように、クライアント端末100及びサーバー装置400で相互にSYNパケットを送信するとともに、ACKパケットで確認応答を送信する。この結果、3つのパケットが送信又は受信される。なお、このような手順は「3ウェイ・ハンドシェイク」と呼ばれる。
In this way, the
(データ送信シーケンス)
次に、サーバー装置400からクライアント端末100へのデータ送信シーケンスについて説明する。図7は、サーバー装置400からクライアント端末100へのデータ送信シーケンスを示すシーケンス図である。
(Data transmission sequence)
Next, a data transmission sequence from the
ステップS40において、サーバー装置400は、1パケット分のTCPデータをクライアント端末100へ送信する。
In step S <b> 40, the
ステップS50において、クライアント端末100は、ステップS40で送信されたTCPデータを正常に受信できたことを示す確認応答をサーバー装置400へ送信する。
In step S50, the
ステップS60において、サーバー装置400は、クライアント端末100から確認応答を受信すると、データ送信量を2倍に増加させ、2パケット分のTCPデータをクライアント端末100へ送信する。
In step S <b> 60, when the
以降、サーバー装置400は、最大ウィンドウサイズに到達するまで、指数的にデータ送信量を増加させる。なお、このような制御は「スロースタート制御」と呼ばれる。
Thereafter, the
(輻輳制御シーケンス)
次に、サーバー装置400による輻輳制御シーケンスの一例について説明する。図8は、サーバー装置400による輻輳制御シーケンスの一例を示すシーケンス図である。
(Congestion control sequence)
Next, an example of a congestion control sequence by the
ステップS100において、サーバー装置400は、4パケット分のTCPデータをクライアント端末100へ送信する。
In step S <b> 100, the
ステップS110において、クライアント端末100は、確認応答をサーバー装置400へ送信する。この際、サーバー装置400の輻輳制御部405の閾値判定部410が、履歴管理部409のスループットの履歴を参照し、所定の条件を満たした場合、輻輳制御起動部411がTCP処理部404に対して輻輳制御の起動を指示する。その結果、サーバー装置400は、次のデータ送信量を減少させる。
In step S <b> 110, the
ステップS120において、サーバー装置400は、例えば1パケット分のTCPデータをクライアント端末100へ送信する。以降の通信においては、上述したスロースタート制御が実行される。
In step S <b> 120, the
このようにして、輻輳制御が起動することにより、サーバー装置400はデータ送信量を減少させる。
In this way, when the congestion control is activated, the
(作用・効果)
以上詳細に説明したように、本実施形態によれば、サーバー装置400は、往復時間(RTT)とクライアント端末100におけるデータ受信量とに基づいて、クライアント端末100へ新たに送信するデータのデータ送信量(輻輳ウィンドウ)を制御する。すなわち、無線通信網1及び有線通信網2の帯域幅と伝送遅延とを考慮したデータ送信量制御(輻輳制御)を行っている。この結果、サーバー装置400は、無線通信網1及び有線通信網2の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、クライアント端末100へ新たに送信するデータのデータ送信量を制御することができる。
(Action / Effect)
As described above in detail, according to the present embodiment, the
また、本実施形態によれば、サーバー装置400は、単位時間当たりのデータ受信量をスループットとして算出し、スループットに基づいてデータ送信量を減少させる。したがって、パケットロスによるTCPの輻輳制御に頼らなくとも、データ送信量を減少させることができる。
Further, according to the present embodiment, the
更に、本実施形態によれば、サーバー装置400は、スループットが履歴に存在するスループットの最大値を下回ったとき、つまりスループットが低下したタイミングで、データ送信量を減少させることによって、データ送信量を適切に減少させることができる。
Furthermore, according to the present embodiment, the
(その他の実施形態)
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
(Other embodiments)
As mentioned above, although this invention was described by embodiment, it should not be understood that the description and drawing which form a part of this indication limit this invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.
上述した実施形態においては、スループットが履歴に存在するスループットの最大値を下回ったときに、データ送信量を減少させる一例を説明した。しかしながら、スループットが予め設定された所定の閾値を下回ったときに、データ送信量を減少させる構成としてもよい。あるいは、スループットが、履歴に存在する前回(直前)のスループットの値や、履歴に存在するスループットの平均値などを下回ったときに、データ送信量を減少させる構成としてもよい。 In the above-described embodiment, an example in which the data transmission amount is reduced when the throughput falls below the maximum value of the throughput existing in the history has been described. However, the data transmission amount may be reduced when the throughput falls below a predetermined threshold value set in advance. Alternatively, the data transmission amount may be reduced when the throughput falls below the previous (immediately preceding) throughput value existing in the history or the average value of the throughput existing in the history.
このように、本発明は、ここでは記載していない様々な実施形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。 As described above, the present invention naturally includes various embodiments that are not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.
100…クライアント端末、101…無線インターフェース、102…IP処理部、103…アプリケーション処理部、104…TCP処理部、200…無線制御装置、300…POI、400…サーバー装置、401…ネットワークインターフェース、402…IP処理部、403…アプリケーション処理部、404…TCP処理部、405…輻輳制御部、406…往復時間計測部、407…受信量判定部、408…スループット算出部、409…履歴管理部、410…閾値判定部、411…輻輳制御起動部
DESCRIPTION OF
Claims (3)
前記第1通信装置は、前記第2通信装置が送信したデータの受信結果を示す確認応答を前記第2通信装置へ送信する確認応答送信部を備え、
前記第2通信装置は、
前記第1通信装置へ前記データを送信してから、前記第1通信装置から前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部と、
前記確認応答に基づいて、前記第1通信装置が正常に受信したデータの受信量を判定する受信量判定部と、
前記往復時間と前記受信量とに基づいて、前記第1通信装置へ新たに送信するデータの送信量を制御するとともに、前記送信量が一定量に達するまで前記確認応答の受信毎に前記送信量を増加させる送信量制御部と
を備え、
前記送信量制御部は、
前記往復時間と前記受信量とから、前記確認応答の受信毎に、単位時間当たりの前記受信量であるスループットを算出するスループット算出部と、
前記スループット算出部によって前記確認応答の受信毎に算出される前記スループットのうち、少なくとも前回算出された値を履歴として記憶し、前記履歴を管理する履歴管理部と、
前記履歴に存在する最大値を閾値として、前記スループット算出部によって新たに算出された前記スループットが前記閾値を下回ったか否かを判定する閾値判定部と、
前記スループット算出部によって新たに算出された前記スループットが前記閾値を下回ったと判定された場合に、前記送信量を所定量まで減少させる減少処理部と
を備える通信システム。 A communication system comprising: a first communication device; and a second communication device that transmits data to the first communication device via a wireless communication network having a wireless control device that is an access point or a base station device ,
The first communication device includes a confirmation response transmission unit that transmits a confirmation response indicating a reception result of data transmitted by the second communication device to the second communication device,
The second communication device is
A round trip time measuring unit that measures a time from when the data is transmitted to the first communication device to when the confirmation response is received from the first communication device as a round trip time;
A reception amount determination unit that determines a reception amount of data normally received by the first communication device based on the confirmation response;
Based on the round trip time and the received amount, the transmission amount of data to be newly transmitted to the first communication device is controlled , and the transmission amount is received every time the confirmation response is received until the transmission amount reaches a certain amount. The transmission amount control unit to increase
With
The transmission amount control unit
From the round trip time and the received amount, a throughput calculating unit that calculates a throughput that is the received amount per unit time for each reception of the confirmation response;
Among the throughputs calculated for each reception of the confirmation response by the throughput calculation unit, at least a previously calculated value is stored as a history, and a history management unit that manages the history,
A threshold value determination unit that determines whether or not the throughput newly calculated by the throughput calculation unit is lower than the threshold value, using the maximum value existing in the history as a threshold value;
A communication system comprising: a reduction processing unit that reduces the transmission amount to a predetermined amount when it is determined that the throughput newly calculated by the throughput calculation unit is below the threshold value .
前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信する確認応答受信部と、
前記相手先装置へ前記データを送信してから、前記受信部が前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部と、
前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定する受信量判定部と、
前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御するとともに、前記送信量が一定量に達するまで前記確認応答の受信毎に前記送信量を増加させる送信量制御部と
を備え、
前記送信量制御部は、
前記往復時間と前記受信量とから、前記確認応答の受信毎に、単位時間当たりの前記受信量であるスループットを算出するスループット算出部と、
前記スループット算出部によって前記確認応答の受信毎に算出される前記スループットのうち、少なくとも前回算出された値を履歴として記憶し、前記履歴を管理する履歴管理部と、
前記履歴に存在する最大値を閾値として、前記スループット算出部によって新たに算出された前記スループットが前記閾値を下回ったか否かを判定する閾値判定部と、
前記スループット算出部によって新たに算出された前記スループットが前記閾値を下回ったと判定された場合に、前記送信量を所定量まで減少させる減少処理部と
を備える通信装置。 A communication device that transmits data to a partner device via a wireless communication network having a wireless control device that is an access point or a base station device ,
An acknowledgment receiving unit that receives an acknowledgment indicating the reception result of the data at the counterpart device from the counterpart device;
A round trip time measuring unit that measures a time from when the data is transmitted to the counterpart device until the receiving unit receives the confirmation response as a round trip time;
Based on the confirmation response, a reception amount determination unit that determines a reception amount of data normally received by the counterpart device;
Based on the round trip time and the received amount, the transmission amount of data to be newly transmitted to the counterpart device is controlled , and the transmission amount is set every time the confirmation response is received until the transmission amount reaches a certain amount. A transmission amount control unit for increasing ,
The transmission amount control unit
From the round trip time and the received amount, a throughput calculating unit that calculates a throughput that is the received amount per unit time for each reception of the confirmation response;
Among the throughputs calculated for each reception of the confirmation response by the throughput calculation unit, at least a previously calculated value is stored as a history, and a history management unit that manages the history,
A threshold value determination unit that determines whether or not the throughput newly calculated by the throughput calculation unit is lower than the threshold value, using the maximum value existing in the history as a threshold value;
A reduction processing unit that reduces the transmission amount to a predetermined amount when it is determined that the throughput newly calculated by the throughput calculation unit is below the threshold;
A communication device comprising:
前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信するステップと、
前記相手先装置へ前記データを送信してから、前記確認応答を受信するまでの時間を往復時間として計測するステップと、
前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定するステップと、
前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御するとともに、前記送信量が一定量に達するまで前記確認応答の受信毎に前記送信量を増加させる送信量制御ステップと
を含み、
前記送信量制御ステップは、
前記往復時間と前記受信量とから、前記確認応答の受信毎に、単位時間当たりの前記受信量であるスループットを算出するステップと、
前記確認応答の受信毎に算出される前記スループットのうち、少なくとも前回算出された値を履歴として記憶し、前記履歴を管理するステップと、
前記履歴に存在する最大値を閾値として、新たに算出された前記スループットが前記閾値を下回ったか否かを判定するステップと、
前記新たに算出された前記スループットが前記閾値を下回ったと判定された場合に、前記送信量を所定量まで減少させるステップと
を含む送信制御方法。 A transmission control method in a communication device that transmits data to a counterpart device via a wireless communication network having a wireless control device that is an access point or a base station device ,
Receiving a confirmation response indicating the reception result of the data at the counterpart device from the counterpart device;
Measuring the time from sending the data to the counterpart device until receiving the confirmation response as a round trip time;
Determining a reception amount of data normally received by the counterpart device based on the confirmation response;
Based on the round trip time and the received amount, the transmission amount of data to be newly transmitted to the counterpart device is controlled , and the transmission amount is set every time the confirmation response is received until the transmission amount reaches a certain amount. A transmission amount control step for increasing ,
The transmission amount control step includes:
Calculating the throughput, which is the received amount per unit time, for each reception of the confirmation response from the round-trip time and the received amount;
Storing at least the previously calculated value as a history of the throughput calculated for each reception of the confirmation response, and managing the history;
Determining whether the newly calculated throughput falls below the threshold, with the maximum value existing in the history as a threshold;
Reducing the amount of transmission to a predetermined amount when it is determined that the newly calculated throughput is below the threshold;
Including transmission control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006285273A JP4328794B2 (en) | 2006-10-19 | 2006-10-19 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006285273A JP4328794B2 (en) | 2006-10-19 | 2006-10-19 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008104018A JP2008104018A (en) | 2008-05-01 |
JP4328794B2 true JP4328794B2 (en) | 2009-09-09 |
Family
ID=39437999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006285273A Expired - Fee Related JP4328794B2 (en) | 2006-10-19 | 2006-10-19 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4328794B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11258531B2 (en) | 2005-04-07 | 2022-02-22 | Opanga Networks, Inc. | System and method for peak flow detection in a communication network |
US8719399B2 (en) * | 2005-04-07 | 2014-05-06 | Opanga Networks, Inc. | Adaptive file delivery with link profiling system and method |
JP5748615B2 (en) * | 2011-08-29 | 2015-07-15 | 京セラ株式会社 | Communication device |
JP6145254B2 (en) * | 2012-07-13 | 2017-06-07 | 株式会社キャットアイ | Interlocking arrow display device and interlocking indicator light device |
KR20170094554A (en) * | 2013-03-29 | 2017-08-18 | 브이아이디 스케일, 인크. | Early packet loss detection and feedback |
JP2015065602A (en) * | 2013-09-26 | 2015-04-09 | 株式会社日立製作所 | Analysis server and mobile network system |
ES2902497T3 (en) | 2015-03-03 | 2022-03-28 | Opanga Networks Inc | Method to regulate the speed of data flows |
-
2006
- 2006-10-19 JP JP2006285273A patent/JP4328794B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008104018A (en) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7706269B2 (en) | Method, system and device for controlling a transmission window size | |
US9548936B2 (en) | Method and system for improved TCP performance over mobile data networks | |
US7839859B2 (en) | Voice adaptive gateway pacing methods and systems for wireless multi-hop networks | |
US7664017B2 (en) | Congestion and delay handling in a packet data network | |
JP4878391B2 (en) | Scheduling and queue management with adaptive queue latency | |
US9655003B2 (en) | Systems and methods for improved wireless interface aggregation | |
JP4328794B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND TRANSMISSION CONTROL METHOD | |
KR100600607B1 (en) | A apparatus for ARQ controlling in wireless portable internet system and method therof | |
US20060209838A1 (en) | Method and system for estimating average bandwidth in a communication network based on transmission control protocol | |
US10111130B2 (en) | Supporting delivery of data packets using transmission control protocol in a wireless communication network | |
US20040264370A1 (en) | Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol | |
US8565249B2 (en) | Queue management system and methods | |
Jarvinen et al. | FASOR retransmission timeout and congestion control mechanism for CoAP | |
Liu et al. | Mobile accelerator: A new approach to improve TCP performance in mobile data networks | |
WO2005117364A1 (en) | Method for implementing a connection-oriented data transfer protocol in wireless transmission networks | |
US8446835B2 (en) | Method and termination node for bundling multiple messages into a packet | |
JP2003274445A (en) | Wireless packet communication apparatus and wireless packet communication method | |
JP6897769B2 (en) | Data transmitters, methods and programs | |
KR100913897B1 (en) | Method for controlling congestion of TCP for reducing the number of retransmission timeout | |
KR101398589B1 (en) | Apparatus and method for tcp performance enhancement in wireless network | |
Ko et al. | Dealing with Sudden bandwidth changes in TCP | |
Liu et al. | A TCP congestion control approach over wireless networks | |
Peng et al. | Enhancing fairness and throughput of TCP in heterogeneous wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
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: 20090519 |
|
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: 20090615 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |