JP2008172480A - 通信制御装置および通信制御プログラム - Google Patents

通信制御装置および通信制御プログラム Download PDF

Info

Publication number
JP2008172480A
JP2008172480A JP2007003172A JP2007003172A JP2008172480A JP 2008172480 A JP2008172480 A JP 2008172480A JP 2007003172 A JP2007003172 A JP 2007003172A JP 2007003172 A JP2007003172 A JP 2007003172A JP 2008172480 A JP2008172480 A JP 2008172480A
Authority
JP
Japan
Prior art keywords
retransmission
communication
time
communication data
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.)
Granted
Application number
JP2007003172A
Other languages
English (en)
Other versions
JP4952256B2 (ja
Inventor
Takahiro Tomita
高弘 冨田
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/ja
Publication of JP2008172480A publication Critical patent/JP2008172480A/ja
Application granted granted Critical
Publication of JP4952256B2 publication Critical patent/JP4952256B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

【課題】TCPを用いてサーバ装置と無線通信可能であり送信量に比べ受信量が非対称的に大きいクライアント装置を制御する通信制御装置であって、データパケット消失によるデータの再送処理を改善し、クライアント装置におけるレスポンスを良くすることが可能な通信制御装置および通信制御プログラムを提供すること。
【解決手段】サーバ装置へ送信する通信データを再送するまでの再送タイムを算出し、サーバ装置との間を通信データが往復する通信データ往復時間を測定し、算出された再送タイムと測定された通信データ往復時間とを比較し、比較した結果、通信データ往復時間が再送タイムより大きな値になった場合、再送タイムより大きな値になった通信データ往復時間を再送タイムの算出処理から除外する。
【選択図】図6

Description

本発明は、クライアント装置とサーバ装置との間の通信を制御する通信制御装置、前記通信制御装置において実行される通信制御プログラムに関し、特に、無線通信を行なうクライアント装置からサーバ装置への通信に比べ、サーバ装置からクライアント装置への通信が頻繁に発生するシステムにおける通信制御装置および通信制御プログラムに関する。
従来、インターネット等の通信網に接続する際に広く用いられているTCP(Transmission Control Protocol)は、通信の信頼性を向上させるための仕組みとして、伝送路上のエラー等何らかの要因でデータパケットが受信側に到達しなかった場合には、再送タイマを使用した再送制御を行っている。すなわち、データ送信側では、パケットを送信した際に再送タイマを開始させ、タイムアウトするまでに受信側からの確認応答(ACK:Acknowledgement)が返らない場合には、パケット消失が発生したとみなされ、同じパケットを再送している。
図1は、再送タイマを用いたデータ送信パターンの例を示す図である。
図1において、クライアント装置11は、サーバ装置12に対して送信したデータNが何らかの事情で消失した場合に、サーバ装置12からのACKを受信できないので、データNの送信後に開始した再送タイマの終了までの時間(タイムアウト時間)後に、再度データNを送信する。
このタイムアウト時間は再送タイムアウト時間(RTO:Retransmission Timeout)と呼ばれ、データ送信側においてデータパケットを送信してからACKを受信するまでの往復時間(RTT:Round Trip Time)の測定値(MRTT:Measured RTT)を用いて算出される。
上述のようなTCPを制御するTCP制御部は、その初期状態において、最初にMRTTが得られたとき、これを用いて平滑化RTT(SRTT:Smoothed RTT)および平均偏差(RTTVAR:RTT Variation)を算出し、さらにこのSRTTとRTTVARに基づいてRTOを決定している(例えば、非特許文献1参照。)。
具体的には、非特許文献1に記載されている通り、システムがRTTの測定に使用するクロックの粒度(分解能)をGとして、以下の式1で算出される。
(式1)
SRTT=MRTT
RTTVAR=MRTT/2
RTO=SRTT+max(G,K×RTTVAR)
ここで、K=4
(式の「=」は、右辺の値を左辺の変数に代入することを意味する)
そして、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)
(式の「=」は、右辺の値を左辺の変数に代入することを意味する)
上記の式1から明らかなように、元々伝送遅延が大きく、かつ、遅延量が変動することの多い無線通信網を利用したシステムでは、RTOの値は大きめになる傾向がある。本願発明者が実測した結果によれば、近年の携帯電話のパケット通信網を利用したシステムでは、ネットワーク状況により違いはあろうが、RTOの値は0.5秒前後〜数秒程度であった。
従来のTCPは、上述したとおり、無線通信網を利用したシステムではRTOの値が大きめに算出される。このことは、データパケットの消失が発生した際に再送するまでの待ち時間が長くなることに相当する。
このような問題を回避するための技術として、重複するACKを受信することによりパケットの消失を検出し、タイムアウトまで待たずに再送を行なうアルゴリズムが提案されている(例えば、非特許文献2参照。)。
例えば、非特許文献2に記載の“Fast Retransmit”アルゴリズムは、近年のTCPに多く実装されているものである。
図2は、“Fast Retransmit”アルゴリズムにおけるデータ送信パターンの例を示す図である。
この“Fast Retransmit”アルゴリズムは、複数のデータパケットを連続して送信するような状況下で、あるデータパケットが消失した場合に、送信側はそれ以降にも連続して送信するデータパケットの到達がきっかけとなって得られる重複ACKを複数回連続して受信することでパケットの消失を検出し、タイムアウトまで待たずにパケットを再送するというものである。
例えば、図2に示した例では、データ通信装置21からデータ通信装置22に対して、順にデータN、データN+1、データN+2、データN+3、データN+4、・・・が送信される。そして、最初のデータNを受信したデータ通信装置22が次のデータN+1を受信すべき旨の“ACK N+1”をデータ通信装置21に返す。
ところが、何らかの事情でデータ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が消失していることを検出する。
また、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号公報
ここで、無線通信網を利用する一般的な通信形態である、クライアント−サーバ型通信システムについて考える。
図3は、無線通信網を利用するクライアント−サーバ型通信システムの構成例を示す図であり、図4は、クライアント−サーバ型通信システムにおけるデータのやり取りの例を示す図である。
図3に示すように、例えば携帯端末等のクライアント装置31は、基地局33およびインターネット34を介してサーバ装置32と無線通信を行なっている。このようなクライアント−サーバ型通信システムの通信形態においては、図4に示すように、クライアント装置31からサーバ装置32への方向のデータの量は少なく、サーバ装置32からクライアント装置31への方向のデータ量は多いという傾向がある。
例えば、インターネット上のWebサーバ装置の情報を携帯電話等の移動端末で閲覧する場合を考えると、移動端末はユーザの操作に応じてテキストデータや画像データ等の取得要求(コマンド)を送信するのに対し、Webサーバ装置は要求のあった画像等のデータ(レスポンス)を移動端末に向けて送信する。つまり、このような通信形態においては、コマンドのデータサイズはレスポンスのデータサイズに比べて非常に小さい。
このようなクライアント−サーバ型通信システムでは、図1に示すように、クライアント装置11からの送信方向においては送信するデータが少ないため、“Fast Retransmit”アルゴリズムのような重複ACKの連続受信によりパケットの消失を検出するアルゴリズムの効果が期待できない。このため、パケットの再送は再送タイマのタイムアウトがきっかけとなって行われることとなる。さらには、上述したとおり、無線通信網を利用したシステムではRTOの値は大きめとなり、すなわち再送までの待ち時間は長くなる。このことは、クライアント装置11を操作するユーザにとっては、操作レスポンスが非常に悪いと感じられる原因となるという問題点があった。
そこで、本発明は、上記問題点に鑑みてなされたものであり、トランスポートプロトコルを用いてサーバ装置と無線通信可能であり送信量に比べ受信量が非対称的に大きいクライアント装置を制御する通信制御装置であって、データパケット消失によるデータの再送処理を改善し、クライアント装置におけるレスポンスを良くすることが可能な通信制御装置、および前記通信制御装置において実行される通信制御プログラムを提供することを目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の通信制御装置は、トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置であって、前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段と、前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段と、前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段と、前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段とを備えることを特徴とする。
また、本発明の通信制御装置は、さらに、タイムアウトによる前記通信データの再送を検出する再送検出手段と、前記再送検出手段によって前記通信データの再送が検出された場合、任意の回数だけ再送タイマの指数バックオフを遅らせるバックオフ制御手段とを備えることが望ましい。
また、本発明の通信制御装置は、前記バックオフ制御手段が、再送タイムを2のべき乗で増加させる指数バックオフ演算により増加させる場合に、設定した回数だけ指数バックオフの演算をスキップさせ再送タイムの増加を遅らせることが望ましい。
また、本発明の通信制御装置は、さらに、前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段と、前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理および前記バックオフ制御手段による前記指数バックオフを遅らせる処理をオンまたはオフするオンオフ手段とを備えることが望ましい。
また、本発明の通信制御装置は、前記トランスポートプロトコルが、TCP(Transmission Control Protocol)であることが望ましい。
また、本発明の一態様によれば、本発明の通信制御プログラムは、トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置のコンピュータを、前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段、前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段、前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段、前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段として機能させるための通信制御プログラムである。
本発明によれば、データパケットの消失エラー発生時に、速やかにデータの再送処理を行なうことができ、クライアント装置におけるレスポンスを良くすることができる。
本発明は、図3を用いて説明したような無線通信網を利用するクライアント−サーバ型通信システムであって、かつ、図4を用いて説明したように、クライアント装置31からサーバ装置32への方向のデータの量は少なく、サーバ装置32からクライアント装置31への方向のデータ量は多いシステムにおいて適用可能である。
すなわち、図3に示すように、携帯端末等のクライアント装置31は、基地局33を介してインターネット34に接続されたサーバ装置32と通信を行なう。クライアント装置31と基地局33との間は無線による通信が行われ、データの消失の発生確率や伝送遅延が時々刻々と変化する。
通常、クライアント装置31と基地局33との間では、フレーム単位の再送を行なうことでエラー補償が行われる。このため、フレームの再送が発生した際には、その分だけ伝送遅延も増加する。また、同一の基地局33に複数のクライアント装置31が同時に接続されている場合には、基地局33によってデータ送信のスケジュール制御が行われ、クライアント装置31は基地局33の制御に応じてデータの送信が待たされることもある。さらには、前述のフレーム単位の再送は、再送回数や再送に要した所要時間に上限を設けており、データの消失を100%補償するものではない。
これらの要因により、クライアント装置31とサーバ装置32との間の通信において伝送遅延時間の変動やデータパケットの消失がたびたび発生する。
図5は、クライアント装置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がこれらの各部を制御している。
図6は、クライアント装置31に実装されるTCP制御部を示す機能ブロック図である。
図6において、TCP制御部60は、本発明に関係するデータ送信パターン判定部61、Delay Spike判定部62、RTO算出部63、再送制御部64、および本発明には直接関係しない不図示のその他の機能を備え、プロトコルスタックとして実現される。
次に、図7乃至図10を用いて、TCP制御部60の各部が実行する処理の流れを説明する。
図7は、データ送信パターン判定部61が実行する処理の流れを示すフローチャートである。
まず、データ送信パターン判定部61は、ステップS71において、上位層から渡される送信データ(SD:Sending Data)を取得し、ステップS72において、送信データSDのサイズがTCPの1パケットに格納できる最大サイズ(MSS:Maximum Segment Size)より大きいか否かを判断する。
そして、送信データSDのサイズがMSSより大きくない(MSSサイズ以下である)と判断された場合(ステップS72:N)は、ステップS73において、ENフラグ(Enableフラグ)をセットし、他方、送信データSDのサイズがMSSより大きいと判断された場合(ステップS72:Y)は、ステップS74において、ENフラグをクリアする。このENフラグは、後述するようにDelay Spike判定部62および再送制御部64により参照される。
このようにすることにより、図3および図4に示した一般的なクライアント−サーバ型通信システムにおける、クライアント装置31のコマンド送信のような小さなデータの送信をする時にのみENフラグがセットされ、Delay Spike判定部62および再送制御部64の機能を有効にする。
図8は、Delay Spike判定部62が実行する処理の流れを示すフローチャートである。
図8に示したフローチャートは、ステップS81乃至ステップS89の各ステップで構成されているが、Delay Spike判定部62が実行する処理は、ステップS84およびステップS88を省略することも可能である。
最初に、ステップS84およびステップS88を省略する場合について説明する。
まず、Delay Spike判定部62は、ステップS81において、RTT測定(データパケットを送信してからACKを受信するまでの往復時間の測定)を実行し、その測定値MRTTを取得する。
そして、ステップS82において、過去に算出したRTO(再送タイムアウト時間)があるか否かを判断し、初期状態において算出したRTOを持たない場合(ステップS82:N)は、ステップS89に進み、何もせずにステップS81で取得したMRTTをRTO算出部63に渡す。
他方、RTOがあると判断された場合(ステップS82:Y)は、ステップS83において、前述のENフラグがセットされているか否かを判断し、ENフラグがセットされていないと判断された場合(ステップS83:N)は、ステップS89に進み、何もせずにステップS81で取得したMRTTをRTO算出部63に渡す。
他方、ENフラグがセットされていると判断された場合、すなわち初期状態ではなく、かつ、ENフラグがセットされている場合(ステップS83:Y)には、ステップS85において、ステップS81で取得したMRTTがその時点におけるRTOより大きいか否かを判断する。
MRTTがその時点におけるRTOより大きいと判断された場合(ステップS85:Y)は、そのMRTTをRTO算出部63に渡さずに、ステップS86において、Skipフラグをセットして、ステップS87において、MRTTを廃棄する。これは、MRTTがRTOを超える場合にはそのMRTTは上述したリンクレベルのフレーム再送や基地局33によるスケジュール制御によって突発的に大きな値になった(Delay Spike)ものとみなし、後段のRTO算出には適用されないようにするものである。こうすることにより、Delay SpikeとみなされるMRTTがRTO算出処理から除外されることとなり、RTOの算出値が必要以上に大きな値となってしまうことを回避できる。
他方、MRTTがその時点におけるRTOより大きくないと判断された場合(ステップS85:N)は、ステップS89に進み、ステップS81で取得したMRTTをRTO算出部63に渡す。
次に、ステップS84およびステップS88を省略しない場合について説明する。
ステップS83でENフラグがセットされていると判断された場合、すなわち初期状態ではなく、かつ、ENフラグがセットされている場合(ステップS83:Y)は、ステップS84において、Skipフラグがセットされているか否かを判断し、Skipフラグがセットされていると判断された場合(ステップS84:Y)は、ステップS88において、Skipフラグがセットをクリアする。
このように、Skipフラグを設けることによって、MRTTがRTOを超える状態が連続しても、MRTTの廃棄が連続しないようにしている。これにより、例えばクライアント装置31が別の基地局33のエリアに移動するなどして、RTTが急激に変化しその後もその状態が継続するような場合において、MRTTがRTO算出部63に渡されるようになり、RTO算出部63において適正なRTOを算出することが可能となる。
図9は、RTO算出部63が実行する処理の流れを示すフローチャートである。
まずRTO算出部63は、ステップS91において、Delay Spike判定部62より渡されるMRTTを取得し、ステップS92において、初期状態で過去に算出したRTOがあるか否かを判断する。
RTOがないと判断された場合(ステップS92:N)は、ステップS93において、上述の式1を用いてRTOの値を算出し、他方、RTOがあると判断された場合(ステップS92:Y)は、ステップS94において、上述の式2を用いてRTOの値を算出する。
そして、ステップS95において、SRTT、RTTVAR、およびRTOの値を更新する。
図10は、再送制御部64が実行する処理の流れを示すフローチャートである。
まず、再送制御部64は、ステップS101において、データの送信を行ない、ステップS102において、バックオフカウンター(BOC:Back-Off Counter)をクリアし、ステップS103において、タイムアウト値にRTOをセットする。
そして、ステップS104において、ステップS101のデータ送信に伴いタイマの駆動を開始し、ステップS105において、ACKを受信したか否かを判断する。
ACKを受信したと判断した場合(ステップS105:Y)は、ステップS106において、タイマを終了し、ACKを受信していないと判断した場合(ステップS105:N)は、ステップS107において、タイムアウトしたか否かを判断する。タイムアウトしていないと判断された場合(ステップS107:N)、すなわちRTO経過(タイムアウト)までにACKが受信できなかった場合には、同じデータを再送して再びタイマを開始し、ACKの受信を待つ。
ここで、TCP制御部60は、指数バックオフと呼ばれる機能を有しており、タイムアウトが発生した場合、次のタイマの開始時にはタイムアウト時間を2倍にする。つまり、再送制御部64は、このバックオフのタイミングをγ回だけ遅らせる機能を有する。例えばγ=1の場合、1度目のタイムアウト時にはタイマのバックオフは行なわずにデータの再送を行ない、再び(2度目に)タイムアウトが発生した場合に、タイマのバックオフを行ってデータの再送を行なう。同様にして3度目以降もタイムアウトが発生した場合にはバックオフを行なう。ここで、γは調整パラメータであり、通信網の特性に合わせて調整する。このようにすることにより、通信データの消失が頻繁に発生するような場合に、タイムアウト時間が極端に長くなってしまう問題を回避できる。なお、上記のバックオフをγ回遅らせる処理はENフラグがセットされている場合にのみ行なう。
すなわち、タイムアウトしたと判断された場合(ステップS107:Y)は、ステップS108において、データの再送信を行ない、ステップS109において、BOCをインクリメントする。そして、ステップS110において、BOCがγより大きいか否かを判断し、大きいと判断された場合(ステップS110:Y)は、ステップS111において、タイムアウト値にRTO×2^(BOC−γ)をセットし、他方、大きくないと判断された場合(ステップS110:N)は、ステップS112において、タイムアウト値にRTOをセットする。
以上説明したように、本発明によるTCP制御部60は、Delay SpikeとみなされるMRTTをRTOの算出処理から除外し、RTOの値が大きくなりすぎないようにすることで、無線通信網を利用したクライアント−サーバ型通信システムにおいても、データパケット等の通信データの消失時に速やかなデータ再送が行われるようになる。
また、タイムアウトによる再送発生時にタイムアウト値を2倍にするバックオフを遅らせるようにし、データパケット等の消失頻発時に、タイムアウト時間が極端に長くなってしまう問題を回避している。
さらに、データの送信パターンの監視を行ない、一度に送信するデータのサイズが小さい場合にのみ上記の機能が有効になるようにしている。これにより、例えばユーザがクライアント装置31に対して何らかの操作を行なうことでコマンドをサーバ装置32に向けて送信する場合には、通常はコマンドのデータサイズは小さいので、レスポンスを優先した通信が行なうことができる。また、例えばデータファイルをサーバ装置32へ転送する(アップロード)ような場合には、上記の機能は無効となり、スループットおよび通信網利用効率を優先する従来のTCP制御に従う通信が行われる。
一方で、RTOの値を大きくなり過ぎないようにすること、および再送タイマの指数バックオフを任意の回数遅らせるということは、本来は必要でないかもしれない再送が行われる確率が高くなり、通信網に負担をかけることになりかねないとも考えられる。しかしながら、上述したとおり、サイズの小さなデータが送信されるときのみ機能が有効になるようにしたので、通信網に大きな負担をかけることはない。
以上説明したように本発明は、突発的に大きな値となったRTT測定値をRTOの算出処理から除外するようにしたことにより、RTOが大きくなりすぎる問題を回避でき、パケットの消失エラー発生時に速やかにデータの再送処理を行なうことができる。
また、再送タイマの指数バックオフを任意の回数遅らせるようにしたので、パケットの消失が連続して発生した場合に、再送までの待ち時間が極端に長くなる問題を回避できる。
さらに、上位レイヤからの1回当たりの要求における送信データのサイズを監視し、そのサイズがTCPの1パケットに格納可能な場合にのみ上記の機能が有効になるようにしたので、再送までの待ち時間を短くすることによる通信網に対する負担増加分を小さく抑えることができる。
さらに、本発明は、一度に送信するデータが少なく、重複ACKの連続受信によりパケットの消失を検出するアルゴリズムが効果をなさない状況下での速やかな再送を実現するためのものであるため、クライアント−サーバ型通信システムにおけるクライアント装置31の送信側のみの実装で良く、サーバ装置32には何ら変更の必要がない。
上述の実施の形態のデータ送信パターン判定部61は、一度に送信しようとするデータサイズを監視し、1つのTCPパケットに格納可能なサイズの時のみ後段の機能を有効にするようにしたが、これを、上位レイヤが明示的に制御するようにしても良い。具体的には、TCP制御部60とその上位レイヤであるアプリケーションプログラムとの間のAPI(Application Program Interface)に対して、上記制御用の関数を追加し、この関数をアプリケーションプログラムが呼び出すことで制御できるようにする。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、クライアント装置31の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるクライアント装置31は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、クライアント装置31に供給し、そのクライアント装置31のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
再送タイマを用いたデータ送信パターンの例を示す図である。 “Fast Retransmit”アルゴリズムにおけるデータ送信パターンの例を示す図である。 無線通信網を利用するクライアント−サーバ型通信システムの構成例を示す図である。 クライアント−サーバ型通信システムにおけるデータのやり取りの例を示す図である。 クライアント装置31のハードウェア構成の概略を示す図である。 クライアント装置31に実装されるTCP制御部を示す機能ブロック図である。 データ送信パターン判定部61が実行する処理の流れを示すフローチャートである。 Delay Spike判定部62が実行する処理の流れを示すフローチャートである。 RTO算出部63が実行する処理の流れを示すフローチャートである。 再送制御部64が実行する処理の流れを示すフローチャートである。
符号の説明
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 補助記憶装置

Claims (6)

  1. トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置であって、
    前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段と、
    前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段と、
    前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段と、
    前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段と、
    を備えることを特徴とする通信制御装置。
  2. さらに、
    タイムアウトによる前記通信データの再送を検出する再送検出手段と、
    前記再送検出手段によって前記通信データの再送が検出された場合、任意の回数だけ再送タイマの指数バックオフを遅らせるバックオフ制御手段と、
    を備えることを特徴とする請求項1に記載の通信制御装置。
  3. 前記バックオフ制御手段は、再送タイムを2のべき乗で増加させる指数バックオフ演算により増加させる場合に、設定した回数だけ指数バックオフの演算をスキップさせ再送タイムの増加を遅らせることを特徴とする請求項2に記載の通信制御装置。
  4. さらに、
    前記第1の通信装置へ送信する通信データのサイズが前記トランスポートプロトコルの1パケットに格納可能か否かを判断する判断手段と、
    前記判断手段によって判断された判断結果に基づいて、前記除外手段による前記通信データ往復時間を除外する処理および前記バックオフ制御手段による前記指数バックオフを遅らせる処理をオンまたはオフするオンオフ手段と、
    を備えることを特徴とする請求項1乃至3の何れか1項に記載の通信制御装置。
  5. 前記トランスポートプロトコルは、TCP(Transmission Control Protocol)であることを特徴とする請求項1乃至4の何れか1項に記載の通信制御装置。
  6. トランスポートプロトコルを用いて第1の通信装置と無線通信可能であり送信量に比べ受信量が非対称的に大きい第2の通信装置を制御する通信制御装置のコンピュータを、
    前記第1の通信装置へ送信する通信データを再送するまでの再送タイムを算出する再送タイム算出手段、
    前記第1の通信装置との間を前記通信データが往復する通信データ往復時間を測定する通信データ往復時間測定手段、
    前記再送タイム算出手段によって算出された再送タイムと前記通信データ往復時間測定手段によって測定された通信データ往復時間とを比較する比較手段、
    前記比較手段によって前記再送タイムと前記通信データ往復時間とを比較した結果、前記通信データ往復時間が前記再送タイムより大きな値になった場合、前記再送タイムより大きな値になった前記通信データ往復時間を前記再送タイム算出手段による再送タイムの算出処理から除外する除外手段、
    として機能させるための通信制御プログラム。
JP2007003172A 2007-01-11 2007-01-11 通信制御装置および通信制御プログラム Expired - Fee Related JP4952256B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007003172A JP4952256B2 (ja) 2007-01-11 2007-01-11 通信制御装置および通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007003172A JP4952256B2 (ja) 2007-01-11 2007-01-11 通信制御装置および通信制御プログラム

Publications (2)

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

Family

ID=39700163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007003172A Expired - Fee Related JP4952256B2 (ja) 2007-01-11 2007-01-11 通信制御装置および通信制御プログラム

Country Status (1)

Country Link
JP (1) JP4952256B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126244A (ja) * 2011-12-16 2013-06-24 Hitachi Ltd パケット通信装置および方法
JP2014138304A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 分析装置、分析方法及び分析プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281106A (ja) * 2001-03-22 2002-09-27 J-Phone East Co Ltd データ通信方法及びそのシステム
JP2003507934A (ja) * 1999-08-17 2003-02-25 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 時間パラメータを決定するための方法及び装置
JP2003224619A (ja) * 2002-01-29 2003-08-08 J-Phone Co Ltd 移動通信システム
JP2004253934A (ja) * 2003-02-19 2004-09-09 Nec Corp 無線通信システム、サーバ、基地局、移動端末及びそれらに用いる再送タイムアウト時間決定方法
JP2005005906A (ja) * 2003-06-10 2005-01-06 Ntt Docomo Inc Tcp通信における再送タイマ値の設定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003507934A (ja) * 1999-08-17 2003-02-25 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 時間パラメータを決定するための方法及び装置
JP2002281106A (ja) * 2001-03-22 2002-09-27 J-Phone East Co Ltd データ通信方法及びそのシステム
JP2003224619A (ja) * 2002-01-29 2003-08-08 J-Phone Co Ltd 移動通信システム
JP2004253934A (ja) * 2003-02-19 2004-09-09 Nec Corp 無線通信システム、サーバ、基地局、移動端末及びそれらに用いる再送タイムアウト時間決定方法
JP2005005906A (ja) * 2003-06-10 2005-01-06 Ntt Docomo Inc Tcp通信における再送タイマ値の設定方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126244A (ja) * 2011-12-16 2013-06-24 Hitachi Ltd パケット通信装置および方法
JP2014138304A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 分析装置、分析方法及び分析プログラム

Also Published As

Publication number Publication date
JP4952256B2 (ja) 2012-06-13

Similar Documents

Publication Publication Date Title
JP4503186B2 (ja) 通信装置及び通信方法
JP4283589B2 (ja) 通信装置、通信制御方法及びプログラム
US9185045B1 (en) Transport protocol for interactive real-time media
US8274886B2 (en) Inferring TCP initial congestion window
US8509067B2 (en) System and method for controlling network congestion
US7496036B2 (en) Method and apparatus for determining client-perceived server response time
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
KR20190095487A (ko) 패킷 전송 방법, 단말, 네트워크 디바이스 및 통신 시스템
US8306062B1 (en) Method and apparatus of adaptive large receive offload
JP4354406B2 (ja) データユニット送信機及びこの送信機の制御方法
US20080043621A1 (en) Systems and Methods for Improving Network Performance
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
JP2004253934A (ja) 無線通信システム、サーバ、基地局、移動端末及びそれらに用いる再送タイムアウト時間決定方法
JP2012515491A (ja) 送信制御プロトコルを利用した、パケットの損失および高いレイテンシーを有するネットワークにおける帯域幅利用の最大化
US8565249B2 (en) Queue management system and methods
US8607114B2 (en) Communication device and communication method
JP4952256B2 (ja) 通信制御装置および通信制御プログラム
US20140233456A1 (en) Communication device, communication method, storage medium, and communication system
JP7067544B2 (ja) 通信システム、通信装置、方法およびプログラム
JP2008259164A (ja) 通信端末、通信制御方法および通信制御プログラム
JP4061643B2 (ja) 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP6101046B2 (ja) パケット送信装置およびそのプログラム
US20220369151A1 (en) Method and system for channel quality assisted transport in wireless network
JP2004297127A (ja) 携帯端末及びサーバ
JP5178568B2 (ja) 送信装置および送信制御方法

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