(57)【要約】【課題】  本発明は、他の通信装置において確認応答の受信に失敗する可能性のある状況では、スプリアス再送が発生する。【解決手段】  本発明の通信装置は、他の通信装置からパケットを受信してから所定時間が経過した場合、および、他の通信装置から所定の数のパケットを受信した場合に、受信したパケットに対応する応答信号を送信する。更に、他の通信装置がパケットを再送した場合は、所定の数に満たない数のパケットを受信した場合であっても、所定時間が経過する前に応答信号を送信する。【選択図】  図３
2016019198.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置からパケットを受信する受信手段と、
前記受信手段がパケットを受信してから所定時間が経過した場合、および、前記受信手段が所定の数のパケットを受信した場合に、前記受信手段が受信したパケットに対応する応答信号を送信する送信手段と、
前記他の通信装置がパケットを再送したことを判定する判定手段と、
を有し、
前記判定手段により前記他の通信装置がパケットを再送したと判定された場合は、前記受信手段が前記所定の数に満たない数のパケットを受信した場合であっても、前記送信手段は、前記所定時間が経過する前に前記応答信号を送信することを特徴とする通信装置。
【請求項２】
通信装置であって、
他の通信装置からパケットを受信する受信手段と、
前記受信手段がパケットを受信してから所定時間が経過した場合、および、前記受信手段が所定の数のパケットを受信した場合に、前記受信手段が受信したパケットに対応する応答信号を送信する送信手段と、
前記他の通信装置からのパケットの受信間隔が所定の閾値よりも大きくなったことを判定する判定手段と、
を有し、
前記判定手段により前記受信間隔が前記所定の閾値よりも大きくなったと判定された場合は、前記受信手段が前記所定の数に満たない数のパケットを受信した場合であっても、前記送信手段は、前記所定時間が経過する前に前記応答信号を送信することを特徴とする通信装置。
【請求項３】
前記判定手段による判定の結果に応じて、１つの前記応答信号に対応するパケットの数を低下させるように制御する第１の制御手段を更に有することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記送信手段により送信された前記応答信号の送信数に基づいて、１つの前記応答信号に対応するパケットの数を増加させるように制御する第２の制御手段を更に有することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記受信手段が単位時間あたりに受信したパケット数もしくはデータ量に基づいて、１つの前記応答信号に対応するパケットの数を増加させるように制御する第２の制御手段を更に有することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項６】
前記第２の制御手段は、前記受信手段が受信したパケット数もしくデータ量の変化量が所定の範囲内であった場合に、１つの前記応答信号に対応するパケットの数を増加させるように制御することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記他の通信装置の輻輳ウィンドウのサイズに関する情報を取得する取得手段を更に有し、
前記取得手段により取得した情報に基づいて、前記応答信号に対応するパケットの数を増加させるように制御する第２の制御手段を更に有することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項８】
前記情報は、前記他の通信装置が送信するパケットに含まれることを特徴とする請求項７に記載の通信装置。
【請求項９】
前記受信手段は、前記他の通信装置からＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に準拠したパケットを受信することを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記応答信号とは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に準拠した遅延ＡＣＫパケットであることを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
通信装置の制御方法であって、
他の通信装置からパケットを受信する受信工程と、
前記他の通信装置からパケットを受信してから所定時間が経過した場合、および、前記他の通信装置から所定の数のパケットを受信した場合に、受信したパケットに対応する応答信号を送信する第１の送信工程と、
前記他の通信装置がパケットを再送したことを判定する判定工程と、
前記他の通信装置がパケットを再送したと判定された場合は、前記他の通信装置から前記所定の数に満たない数のパケットを受信した場合であっても、前記所定時間が経過する前に前記応答信号を送信する第２の送信工程と、
を有することを特徴とする制御方法。
【請求項１２】
通信装置の制御方法であって、
他の通信装置からパケットを受信する受信工程と、
前記他の通信装置からパケットを受信してから所定時間が経過した場合、および、前記他の通信装置から所定の数のパケットを受信した場合に、受信したパケットに対応する応答信号を送信する第１の送信工程と、
前記他の通信装置からのパケットの受信間隔が所定の閾値よりも大きくなったことを判定する判定工程と、
前記受信間隔が前記所定の閾値よりも大きくなったと判定された場合は、前記他の通信装置から前記所定の数に満たない数のパケットを受信した場合であっても、前記所定時間が経過する前に前記応答信号を送信する第２の送信工程と、
を有することを特徴とする制御方法。
【請求項１３】
コンピュータを請求項１から１０のいずれか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確認応答を送信する通信装置に関する。
【背景技術】
【０００２】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）では、複数のパケットに対して１つのＡＣＫパケットを送信する技術がある。このように、複数のパケットに対応するＡＣＫパケットを、遅延ＡＣＫパケットと称する。
【０００３】
また、ＴＣＰでは、送信装置が受信装置にパケットを送信してから所定時間内に受信装置からＡＣＫパケットを受信できなかった場合に、当該パケットを再送することが定められている。更にＴＣＰでは、送信装置においてパケットの再送が発生した場合には、一度に送信するパケットの数を制限することが定められている。
【０００４】
パケットの再送が生じ、一度に送信するパケットの数を制限されている場合、１つの遅延ＡＣＫパケットに対応するパケットが送信されるまでに時間がかかる。その結果、送信装置はパケットの送信に失敗したと判断して、受信装置が受信に成功したパケットであるにも拘わらず、当該パケットを再送してしまう。このような再送をスプリアス再送と呼ぶ。スプリアス再送が発生すると、通信効率が低下してしまう。
【０００５】
特許文献１には、受信装置がパケットの受信に成功している間は１つの遅延ＡＣＫパケットに対応するパケットの数を増加させ、パケットの受信に失敗した場合には１つの遅延ＡＣＫパケットに対応するパケットの数を減少させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２２７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、受信装置がパケットの受信に成功した場合であっても、該パケットに対する遅延ＡＣＫパケットを送信装置が受信できない場合がある。例えば、送信装置と受信装置との間のネットワークが混雑していることにより、遅延ＡＣＫパケットが失われてしまう場合である。
【０００８】
遅延ＡＣＫパケットの受信に相手装置が失敗したにもかかわらず１つの遅延ＡＣＫパケットに対応するパケットの数を増加させたままにしておくと、送信装置において長時間、遅延ＡＣＫパケットを受信することができなくなってしまう。その結果、スプリアス再送が発生し、通信効率が低下してしまうという課題があった。
【０００９】
上記課題を鑑み、本発明は、他の通信装置において応答信号の受信に失敗する可能性のある状況であっても、スプリアス再送の発生を低減できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の通信装置は、他の通信装置からパケットを受信する受信手段と、前記受信手段がパケットを受信してから所定時間が経過した場合、および、前記受信手段が所定の数のパケットを受信した場合に、前記受信手段が受信したパケットに対応する応答信号を送信する送信手段と、前記他の通信装置がパケットを再送したことを判定する判定手段と、を有し、前記判定手段により前記他の通信装置がパケットを再送したと判定された場合は、前記受信手段が前記所定の数に満たない数のパケットを受信した場合であっても、前記送信手段は、前記所定時間が経過する前に前記応答信号を送信する。
【００１１】
また、本発明の別の側面の通信装置は、他の通信装置からパケットを受信する受信手段と、前記受信手段がパケットを受信してから所定時間が経過した場合、および、前記受信手段が所定の数のパケットを受信した場合に、前記受信手段が受信したパケットに対応する応答信号を送信する送信手段と、前記他の通信装置からのパケットの受信間隔が所定の閾値よりも大きくなったことを判定する判定手段と、を有し、前記判定手段により前記受信間隔が前記所定の閾値よりも大きくなったと判定された場合は、前記受信手段が前記所定の数に満たない数のパケットを受信した場合であっても、前記送信手段は、前記所定時間が経過する前に前記応答信号を送信する。
【発明の効果】
【００１２】
本発明によれば、他の通信装置において応答信号の受信に失敗する可能性のある状況であっても、スプリアス再送の発生を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】通信システムの構成図
【図２】受信装置の機能ブロック図
【図３】受信装置のフローチャート
【図４】受信装置のハードウェア構成図
【発明を実施するための形態】
【００１４】
以下に本発明の実施形態について図面を用いて説明する。
【００１５】
本実施形態では、各装置はＴＣＰに準拠した通信を行う。ここで、ＴＣＰとはＯＳＩ参照モデルにおけるトランスポート層のプロトコルであり、Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（伝送制御プロトコル）の略である。ＴＣＰでは、パケットをシーケンス番号で管理し、受信装置は受信したパケットに記載されたシーケンス番号を基に生成したＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットを返信する。
【００１６】
更に、本実施形態の各装置は遅延ＡＣＫ（Ｄｅｌａｙｅｄ  ＡＣＫ）パケットを送信する。つまり、各装置は、ＡＣＫが未送信である所定数のパケットを受信すると、該所定数のパケットに対応する１つの遅延ＡＣＫパケットを送信する。遅延ＡＣＫパケットとは、複数のパケットに対応する応答信号である。また、受信したパケットが該所定数に満たない場合であっても、最後のパケットを受信してから所定時間が経過すると、各装置は、受信済みのパケットに対応するＡＣＫパケットもしくは遅延ＡＣＫパケットを送信する。
【００１７】
以下において、１つの遅延ＡＣＫパケットに対応するパケットの数を増加させることを、ＡＣＫ送信頻度の削減と称する。これは例えば、２つのパケットを受信したことに応じて１つの遅延ＡＣＫパケットを送信していた場合に、３つのパケットを受信したことに応じて１つの遅延ＡＣＫパケットを送信するように変更する場合である。
【００１８】
また、１つの遅延ＡＣＫパケットに対応するパケットの数を低下させることを、ＡＣＫ送信頻度の増加と称する。これは例えば、３つのパケットを受信したことに応じて１つの遅延ＡＣＫパケットを送信していた場合に、２つのパケットを受信したことに応じて１つの遅延ＡＣＫパケットを送信するように変更する場合である。
【００１９】
図１はデータ通信を行うシステムの全体構成図である。この通信システムは通信網１０１と、通信網１０１に接続している受信装置１０２と送信装置１０３とを有している。通信網１０１は、インターネットであってもよいし、Ｅｔｈｅｒ  Ｎｅｔであってもよいし、無線ネットワークであってもよい。また、これらの組み合わせであってもよい。ここで、受信装置１０２および送信装置１０３は、例えば、デジタルカメラ、プリンタ、スマートフォン、ＰＣ、ストレージ、プロジェクタ、車両等の通信装置である。
【００２０】
図４に、受信装置１０２のハードウェア構成を示す。記憶部４０１はＲＯＭ、ＲＡＭ等のメモリにより構成され、後述する各種動作を行うためのプログラムや、通信パラメータ等の各種情報を記憶する。なお、記憶部４０１として、ＲＯＭ、ＲＡＭの他、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。制御部４０２はＣＰＵ、または、ＭＰＵにより構成され、記憶部４０１に記憶されたプログラムを実行することにより受信装置１０２全体を制御する。なお、制御部４０２が実行しているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）との協働により受信装置１０２全体を制御するようにしてもよい。
【００２１】
通信部４０３は、送信装置１０３と通信網１０１を介して通信する。本願の通信部４０３は、無線通信も有線通信も行えるものとする。しかしこれに限らず、いずれか一方のみの通信だけでもよい。操作部４０４は、ユーザからの各種操作を受け付ける。表示部４０５は各種情報を出力する。ここで、出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも１つを含む。
【００２２】
図２は受信装置１０２の構成を表すブロック図の一例である。当該ブロック図は、記憶部４０１に記憶されたプログラムを制御部４０２が読み出して実行することにより実現される。なお、ＡＳＩＣなどのハードウェア用いて実現するようにしてもよい。
【００２３】
アプリケーション部２０１は、データ通信処理部２０２を制御して送信装置１０３からデータを受信する。データ通信処理部２０２は、送信装置１０３とのデータ通信に必要な処理を行う。パケット受信部２０３は、送信装置から受信したパケットからデータを取得し、データ通信処理部２０２を介してアプリケーション部２０１に転送する。
【００２４】
ＡＣＫ送信部２０４は、送信装置１０３に対して遅延ＡＣＫパケットの送信を行う。タイマ部２０５は再送や遅延ＡＣＫパケットなどに用いるタイマの管理やラウンドトリップタイム（ＲＴＴ）の計測、データパケットの受信間隔の計測などを行う。ここで、再送とは同一パケットを再び送信することである。ＡＣＫ制御部２０６は、ＡＣＫ送信部２０４を制御して、遅延ＡＣＫパケットを送信させる。
【００２５】
次に図３のフローチャートに基づき、受信装置のＡＣＫ送信頻度の削減処理について説明をする。当該フローチャートは、受信装置１０２の制御部４０２が記憶部４０１に記憶されているプログラムを読み出すことで実現される。
【００２６】
まず、受信装置１０２は送信装置１０３と通信網１０１を介してコネクションの確立を行い、送信装置１０３からのパケットの受信を開始する（Ｓ３０１）。コネクション確立直後は、送信装置１０３は、輻輳ウィンドウが小さいスロースタートのフェーズである。ここで、輻輳ウィンドウとは、送信装置１０３が複数のパケットをまとめて送信する際の最大データサイズを示す。
【００２７】
ＡＣＫ送信部２０４は、送信装置１０３から第１の所定数の数のパケットを受信すると、当該第１の所定数の数のパケットに対応する遅延ＡＣＫパケットを送信する（Ｓ３０２）。ここでは、第１の所定数は「２」とする。そして、データ通信処理部２０２は、Ｓ３０１においてコネクションが確立されてから送信装置１０３に送信された遅延ＡＣＫパケットの数に基づいて、送信装置１０３の輻輳ウィンドウサイズを予測する（Ｓ３０３）。当該予測は、受信装置１０２が遅延ＡＣＫパケットを送信するたびに行われる。
【００２８】
そして、データ通信処理部２０２は、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったかを判定する（Ｓ３０４）。ここでは、次の式が成り立つ場合に、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定する。
Ｃ１×ＭＳＳ×（ｎ＋１）  ＞  Ｗｉｎｍａｘ
【００２９】
ここで、Ｃ１は受信装置１０２で予測する輻輳ウィンドウサイズの上昇量を調節する係数、ＭＳＳはコネクションの最大パケットサイズ、ｎは遅延ＡＣＫパケットの送信数を表す。また、Ｗｉｎｍａｘは受信装置１０２が送信装置１０３に通知した最大ウィンドウサイズを表す。
【００３０】
上式の左辺は、受信装置１０２で予測した送信装置１０３の輻輳ウィンドウのサイズを表している。この式では、送信装置１０３は遅延ＡＣＫパケットを受信するたびに、輻輳ウィンドウが線形的にＣ１×ＭＳＳずつ増加するような状況を想定したものとなっている。この予測した輻輳ウィンドウのサイズが、受信装置１０２が送信装置１０３に通知した最大ウィンドウサイズよりも大きくなった場合に、データ通信処理部２０２は、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定する。
【００３１】
なお、上式では線形的に輻輳ウィンドウを増加させる場合を想定したが、輻輳制御アルゴリズムの中には指数的に輻輳ウィンドウを増加させるものも存在する。そのため、受信装置１０２で送信装置１０３が実装している輻輳制御アルゴリズムが既知の場合などにおいては、次の式のように指数的に輻輳ウィンドウを増加させることを想定しても良い。
ＭＳＳｎ／Ｃ２  ＞  Ｗｉｎｍａｘ
【００３２】
ここで、Ｃ２は予測する輻輳ウィンドウサイズの上昇量を調節する係数である。
【００３３】
このように、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定された場合に、受信装置１０２は遅延ＡＣＫパケットの送信頻度の削減を開始する。
【００３４】
ここでは、コネクションの最大パケットサイズ（ＭＳＳ）と、遅延ＡＣＫパケットの送信数（ｎ）とに基づいて、ＡＣＫ送信頻度の削減を開始する例を説明した。しかし、これに限らず、その他の評価式を用いて、送信装置１０３の輻輳ウィンドウサイズを受信装置１０２が予測し、遅延ＡＣＫパケットの送信頻度削減を開始するかの判定に使用しても良い。
【００３５】
また、次のように判定してもよい。即ち、受信装置１０２が単位時間における送信装置１０３からの受信パケット数を監視する。そして、単位時間における受信パケット数の増加が停止した場合に、データ通信処理部２０２は、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定するようにしてもよい。即ち、単位時間当たりに受信したパケット数の変化量が所定の範囲内となった場合に、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定する。なお、受信パケット数に代えて、受信したデータ量にしてもよい。即ち、受信したデータ量の変化量が所定の範囲内となった場合に、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定するようにしてもよい。
【００３６】
また、送信装置１０３の輻輳ウィンドウサイズを送信装置１０３が受信装置１０２に通知するようにしてもよい。これは、例えば、送信装置１０３が受信装置１０２に送信するパケットのヘッダに記載されているコントロールビットや、オプションフィールドに輻輳ウィンドウサイズの情報を含めて送信すればよい。そして、通知された輻輳ウィンドウサイズの増加が停止した場合に、データ通信処理部２０２は、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定するようにしてもよい。また、通知された輻輳ウィンドウサイズが所定値よりも大きくなった場合に、データ通信処理部２０２は、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定するようにしてもよい。ここで、所定値とは、例えば、受信装置１０２が受信可能なデータ量を示す広告ウィンドウサイズの最大値とすればよい。なお、輻輳ウィンドウサイズの通知は送信装置１０３とは異なる不図示の装置が受信装置１０２に対して行うようにしてもよい。
【００３７】
そして、送信装置１０３の輻輳ウィンドウサイズが十分に大きくなったと判定された場合、ＡＣＫ制御部２０６は遅延ＡＣＫパケットの送信頻度を削減する（Ｓ３０４）。即ち、１つの遅延ＡＣＫパケットに対応するパケットの数を増加させる。
【００３８】
そして、ＡＣＫ送信部２０４は、送信装置１０３から第２の所定数の数のパケットを受信すると、当該第２の所定数の数のパケットに対応する遅延ＡＣＫパケットを送信する（Ｓ３０５）。ここでは、第２の所定数は「３」とするが、第１の所定数よりも大きい値であればよい。
【００３９】
次に、遅延ＡＣＫパケットの送信頻度を削減して通信している際に、受信装置１０２は、送信装置１０３の輻輳ウィンドウが小さくなるような状況を検知する（Ｓ３０６）。このような場合には、ＡＣＫ制御部２０６は遅延ＡＣＫパケットの送信頻度を増加させる（Ｓ３０７）。即ち、１つのＡＣＫパケットに対応するパケットの数を低下させる。ここでは、第２の所定数（例えば３）から、該第２の所定数よりも小さい値の第１の所定数（例えば２）に戻すものとする。その後、Ｓ３０２に戻って通信を継続する。
【００４０】
Ｓ３０７の制御が行われなければ、受信装置１０２が第２の所定数に満たない数のパケットを受信した場合には、最後にパケットを受信してからの時間をタイマ部２０５が計測する。そして、最後にパケットを受信してから所定時間が経過すると、ＡＣＫ送信部２０４は遅延ＡＣＫパケットを送信することになる。これでは、遅延ＡＣＫパケットが送信されるまでの時間が多くかかってしまう。
【００４１】
これに対し、Ｓ３０７の制御が行われることで、第２の所定数に満たない数のパケットを受信した場合であっても、第２の所定数よりも小さい第１の所定数のパケットを受信したことに応じて、ＡＣＫ送信部２０４は遅延ＡＣＫパケットを送信する。従って、ＡＣＫ送信部２０４は、パケットを受信してから所定時間が経過する前にＡＣＫ送信部２０４は遅延ＡＣＫパケットを送信できる。
【００４２】
このようにして、送信装置１０３の輻輳ウィンドウが小さくなるような状況を検知した場合、当該検知の結果に応じて、遅延ＡＣＫパケットを送信するまでの時間を短縮することができる。従って、送信装置１０３において確認応答の受信に失敗する可能性のある状況であっても、スプリアス再送が発生する可能性を低減することができる。
【００４３】
一方、送信装置１０３の輻輳ウィンドウが小さくなるような状況が検知されなかった場合について説明する。このような場合には、受信装置１０２は送信装置１０３との通信が終了したかを判定し（Ｓ３０８）、通信が終了していない場合にはＳ３０６の処理を継続する。送信装置１０３との通信が終了した場合、図３に示すフローチャートを終了する。ここで、通信が終了する場合とは、例えば、受信装置１０２のユーザが操作部４０４を介して通信の終了を指示した場合である。また、例えば、送信装置１０３から通信の終了を示す信号を受信した場合である。
【００４４】
次に、Ｓ３０６において、受信装置１０２が送信装置１０３の輻輳ウィンドウサイズの縮小を検知する処理について、以下に２つの方法を示す。
【００４５】
第１の方法は、送信装置１０３からのパケットの受信間隔に基づいて、受信装置１０２は、送信装置１０３で輻輳ウィンドウサイズが縮小したことを検知する方法である。具体的には、パケットの受信間隔が予め設定した所定の閾値以上になったか否かを判定する。パケットの受信間隔が予め設定した所定の閾値以上になった場合、再送タイムアウトが発生したことを検知する。ここで、所定の閾値は、遅延ＡＣＫパケットのタイムアウト時間よりも長い時間を設定することが望ましく、例えば１秒などの時間を用いる。
【００４６】
第２の方法は、受信装置１０２が送信装置１０３からのパケットの再送信を判定することで、送信装置１０３で輻輳ウィンドウサイズが縮小したことを検知する方法である。即ち、受信装置１０２が送信装置１０３から同一のパケットを受信したことを判定したことをもって、送信装置１０３で輻輳ウィンドウサイズが縮小したと検知する方法である。
【００４７】
パケットの再送信の判定は、以下のようにして行う。データ通信処理部２０２から重複ＡＣＫ（Ｄｕｐｕｌｉｃａｔｉｏｎ  ＡＣＫ）の送信要求が発せられた場合、ＡＣＫ送信部２０４が重複ＡＣＫパケットを送信した数をＡＣＫ制御部２０６でカウントする。ここで、重複ＡＣＫパケットとは同じシーケンス番号に基づいて生成された遅延ＡＣＫパケットである。そして、重複ＡＣＫパケットの送信数が閾値を超過するかを判定する。ここで、閾値として例えば３回とすることが考えられる。重複ＡＣＫパケットの送信数が閾値を超過した場合、パケットの再送信が行われたと判定する。
【００４８】
前述した２つの方法に限らず、その他の方法で送信装置１０３の輻輳ウィンドウの縮小を検知するようにしてもよい。このようにして、送信装置１０３の輻輳ウィンドウが縮小する場合に、遅延ＡＣＫパケットの送信頻度を増加させることができる。
【００４９】
また、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５０】
１０２  受信装置
１０３  送信装置
２０１  アプリケーション部
２０２  データ通信処理部
２０３  パケット受信部
２０４  ＡＣＫ送信部
２０５  タイマ部
２０６  ＡＣＫ制御部
【図１】
2016019198.tif 000003
【図２】
2016019198.tif 000004
【図３】
2016019198.tif 000005
【図４】
2016019198.tif 000006