JP2021082925A - 通信装置、通信装置の制御方法、及びプログラム - Google Patents

通信装置、通信装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2021082925A
JP2021082925A JP2019208238A JP2019208238A JP2021082925A JP 2021082925 A JP2021082925 A JP 2021082925A JP 2019208238 A JP2019208238 A JP 2019208238A JP 2019208238 A JP2019208238 A JP 2019208238A JP 2021082925 A JP2021082925 A JP 2021082925A
Authority
JP
Japan
Prior art keywords
packet
communication device
ack
packets
window size
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
JP2019208238A
Other languages
English (en)
Other versions
JP7286513B2 (ja
Inventor
鈴木 智也
Tomoya Suzuki
智也 鈴木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019208238A priority Critical patent/JP7286513B2/ja
Publication of JP2021082925A publication Critical patent/JP2021082925A/ja
Application granted granted Critical
Publication of JP7286513B2 publication Critical patent/JP7286513B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】遅延ACKパケットの送信頻度を制御する。【解決手段】通信装置は、他の通信装置からパケットを受信し、該受信されたパケットのデータを受信バッファに格納し、該受信されたパケットの数が、該受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数以上になった場合に、該ACKパケットを送信する。通信装置は、該受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、該ACKパケットの送信頻度が高くなるように、該基準パケット数を制御する。【選択図】 図4

Description

本発明は、確認応答を用いた通信を行う通信装置等に関する。
TCP(Transport Control Protocol)では、送信装置からデータパケットを受信した受信装置は、確認応答(Acknowledgement、ACK)パケットを送信する仕組みが規定されている(特許文献1)。また、TCPでは、所定数のデータパケットを受信すると当該所定数分のデータパケットに対して1つのACKパケットを送信する遅延確認応答(遅延ACK)が規定されている。また、TCPでは、受信したデータパケットの数が所定数に満たない場合であっても、1つ目のデータパケットの受信から所定の遅延時間が経過すると、遅延ACKパケットを送信することも規定されている。
特開2014−183533号公報
上記のように、遅延ACKを使用するTCP通信では、遅延ACKパケットの送信頻度(以下、ACK送信頻度)と、遅延ACKを送信するための1つ目のデータパケットの受信からの遅延時間(以下、単に遅延時間とも称する)を設定する必要がある。ACK送信頻度は、遅延ACKパケットを送信するための基準として用いられる受信データパケット数(以下、遅延ACK送信のための基準パケット数)に対応する。ここで、ACK送信頻度を固定に設定した場合(すなわち、遅延ACK送信のための基準パケット数を固定に設定した場合)、以下の課題が生じる。
受信装置の受信バッファの空き容量を表すウインドウサイズは、ACKパケットのウインドウサイズフィールドを用いて、送信装置に通知される。送信装置は受信したACKパケットから取得したウインドウサイズに基づき、送信するデータ量を決定する。送信装置は決定した量のデータ(例えば、ウインドウサイズ分のデータ)のデータパケットの送信を終えると、受信装置からACKパケットを受信するまでデータパケットの送信を停止する。送信装置がデータパケットの送信を停止する前に送ったデータパケット数が、遅延ACK送信のための基準パケット数に満たない場合、受信装置は遅延時間の経過後に遅延ACKパケットを送信する。しかしながら、受信装置が遅延時間の経過後に遅延ACKパケットを送信する回数が増加すると、通信性能が低下する。遅延ACK送信のための基準パケット数を大きく設定するほど(すなわち、ACK送信頻度が低いほど)、ACK送信を待たなければならないパケット数が増えるため、遅延時間を待って遅延ACKパケットを送信する可能性が大きくなる。
本発明は上記課題に鑑みてなされたものであり、遅延ACKパケットの送信頻度を制御するための技術を提供することを目的とする。
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、通信装置であって、の通信装置からパケットを受信する受信手段と、前記受信手段により受信されたパケットのデータを受信バッファに格納する格納手段と、前記受信手段により受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御手段と、前記受信手段により受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信手段と、を有し、前記制御手段は、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御する。
本発明によれば、遅延ACKパケットの送信頻度を制御するための技術が提供される。
通信装置と他の通信装置20の接続形態を示す図。 通信装置10のハードウエア構成例を示すブロック図 通信装置10の機能構成例を示すブロック図。 第1実施形態による通信装置10により実行される処理のフローチャート。 第2実施形態による通信装置10により実行される処理のフローチャート。 第3実施形態による通信装置10により実行される処理のフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(第1実施形態)
[通信システムの構成]
図1は、通信装置10と他の通信装置20から構成される通信システムにおける接続形態を示す図である。通信装置10と他の通信装置20は、ネットワーク30を介して相互に接続されている。例えば、他の通信装置20はデータパケットを送信し、データパケットを受信した通信装置10は(遅延)ACKパケットを送信する。通信装置10は、一例として、センサデバイス、タブレット、スマートフォン、PC、ノートPC、携帯電話、カメラ、ビデオカメラ、ヘッドマウントディスプレイ等であるが、後述のハードウエア構成及び機能構成を満たすものであれば、これらに限定されない。一方、他の通信装置20は、一例として、センサデバイス、タブレット、スマートフォン、PC、ノートPC、携帯電話、カメラ、ビデオカメラ、ヘッドマウントディスプレイ等であるが、これらに限定されない。
ネットワーク30は、一例として、通信装置10と他の通信装置20が参加する無線LAN(Local Area Network)であり、例えばIEEE802.11シリーズの規格に対応した無線ネットワークである。なお、ネットワーク30は、無線LANに限定されず、Ethernet等の有線LAN、無線LANと有線LANの組み合わせ等、TCP/IP(Transmission Control Protocol/Internet Protocol)通信やACK(確認応答)パケット通信を使用する他のプロトコルが可能なネットワークであればよい。
[装置の構成]
図2は、本実施形態による通信装置10のハードウエア構成例を示すブロック図である。 通信装置10は、RAM(Random Access Memory)201、ROM(Read Only Memory)202、CPU(Central Processing Unit)203、タイマ部204、メディアアクセス制御モジュール(MAC)205、物理レイヤモジュール(PHY)206、アンテナ207を備える。なお、通信装置10が上記のモジュール全てを備えることは必須でない。
RAM201は、プログラムやデータを一時記憶する。ROM202は、変更を必要としないプログラムやパラメータを格納する。CPU203は、通信装置10全体を制御する。CPU203は、メインメモリであるRAM201をワークメモリとして、ROM202や図示しないHDD(Hard Disc Drive)などプログラム格納部の記憶媒体に格納された各種プログラムを実行する。タイマ部204は、計時処理を行い、プログラムの処理などの時間の経過を管理する。MAC205とPHY206は、アンテナ207を介してネットワーク30経由の通信を行う通信部である。CPU203は、ネットワークドライバを実行し、MAC205を制御して各種データの送受信を行う。
図3は、本実施形態による通信装置10の機能構成例を示すブロック図である。通信装置10は、制御部301、LAN制御部302、TCP/IP制御部303を備え、TCP/IP制御部303は、受信処理部304、送信処理部305、バッファ管理部306、パケットカウント部307、ACK制御部308を備える。各機能モジュールは、CPU203により処理が実行される。なお、通信装置10が上記の機能モジュール全てを備えることは必須でない。
制御部301は、通信装置10が備える個々の機能モジュールを制御する。LAN制御部302はMAC205を制御し、他の通信装置20との通信の制御を行う。通信装置10が外部の無線アクセスポイント(不図示)を経由して他の通信装置20と無線LAN接続する場合は、LAN制御部302は、MAC205を制御して無線アクセスポイントとの無線LAN通信の制御を行う。なお、LAN制御部302はこれに限らず、有線LAN通信の制御など、TCP/IP通信やACK(確認応答)パケットを用いた通信といった他の通信方式の制御を行いうる。
TCP/IP制御部303は、LAN制御部302を利用して、他の通信装置20との間でTCP/IP方式の通信プロトコル処理および通信制御を行う。なお、TCP/IP制御部303は、TCP/IPに限らず、ACK(確認応答)パケット通信を使用する他のプロトコルを利用してもよい。以下、TCP/IP制御部303における機能モジュールについて説明する。
受信処理部304は、LAN制御部302を介して他の通信装置20からデータパケット等のパケット/情報を受信するための処理を行う。パケットのデータはTCPにおけるMSS(Maximum Segment Size)以上のサイズを有しうる。送信処理部305は、LAN制御部302を介してACKパケットおよび/または遅延ACKパケットの送信を行うための処理を行う。例えば、送信処理部305は、タイマ部204を使用し、受信処理部304による1つ目のデータパケットの受信から所定の遅延時間が経過する前に受信されたデータパケットに対するACKパケットを一つにまとめ、遅延ACKパケットとして送信する。ただし、遅延時間が経過する前であっても、遅延ACK送信のための基準パケット数(遅延ACKパケットを送信するために必要な受信データパケット数)のデータパケットが受信処理部304により受信された場合、送信処理部305は遅延ACKパケットを送信する。なお、遅延時間の初期値と、遅延ACK送信のための基準パケット数の初期値は、予め通信装置10に設定されてもよく、また、ユーザによる操作等を介して、後述するACK制御部308により設定されてもよい。
バッファ管理部306はRAM201等に設けられるバッファを管理し、バッファに対して各種データを記憶または削除するための制御を行う。本実施形態では、バッファ管理部306は、以下において受信バッファと称するバッファを管理し、該受信バッファの空き容量を表すウインドウサイズの記憶に関する制御を行う。記憶されるウインドウサイズは、他の通信装置20に通知されたウインドウサイズであってもよいし、他の通信装置20に通知されていないウインドウサイズであってもよい。なお、本実施形態ではバッファ管理部306による制御対象の記憶媒体としてRAM201を利用する例を示すが、これに限らず、補助記憶装置(不図示)など他の記憶部を利用してもよい。パケットカウント部307は、受信処理部304により受信されたデータパケットをカウントする。ACK制御部308は、遅延ACKパケットの送信に対する制御を行う。例えばACK制御部308は、遅延ACKパケットの通信頻度、すなわち遅延ACK送信のための基準パケット数を制御する。
[第1実施形態における処理の流れ]
図4は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図4は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図4に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
S401において、受信処理部304は、他の通信装置20からLAN制御部302を介してデータパケットを受信する。
S402以降の処理は、TCP/IP制御部303における処理である。S402において、バッファ管理部306は、受信処理部304により受信されたデータパケットを受信バッファに格納する。なお、他の通信装置20から受信されたデータパケットは、LAN制御部302が管理するバッファに一旦格納されてもよく、その場合は、バッファ管理部306は、LAN制御部302により管理されたバッファに格納されているデータパケットを、受信バッファに格納する。また、バッファ管理部306は、データパケットを受信バッファに格納後に、受信バッファの空き容量(ウインドウサイズ)を更新する。また、S402において、送信処理部305は、タイマ部204で計時されている時間を計測する。S402において、タイマ部204が計時を開始していない(起動していない)場合、送信処理部305はタイマ部204による計時を開始させる。すなわち、タイマ部204は、ACKパケットが送信されていない1つ目のデータパケットの受信からの時間を計時する。
S403において、ACK制御部308は、バッファ管理部306により管理されているウインドウサイズを所定の閾値を比較する。ウインドウサイズが所定の閾値より小さい場合(S403でYES)、処理はS404に進み、ウインドウサイズが所定の閾値以上の場合(S403でNO)、処理はS405に進む。所定の閾値は、例えば、予め通信装置10に設定されており、遅延ACK送信のための基準パケット数にMSSを乗じた値を最小値とし、それ以上の値とすることができる。
S404において、ACK制御部308は、ACK送信頻度を高くなるように設定する。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を現在の値よりも小さい値に変更する。変更後の値は、例えば、現在設定されている値未満で1を最小値とする整数値であればよい。
S405において、パケットカウント部307は、受信処理部304により受信されたデータパケット数(受信データパケット数)を、遅延ACK送信のための基準パケット数と比較する。受信データパケット数が、遅延ACK送信のための基準パケット数以上の場合(S405でYES)、処理はS406に進み、受信データパケット数が、遅延ACK送信のための基準パケット数未満の場合(S405でNO)、処理はS409に進む。
S406において、バッファ管理部306は、受信バッファに格納されているパケットのデータが減った(削除された)ことを受けて、ウインドウサイズが広がるようにウインドウサイズを更新し、パケットカウント部307は、カウントしていた受信データパケット数を初期化する(0にする)。なお、受信バッファに格納されているパケットのデータは、ユーザアプリケーション等(上位レイヤにおける処理)により引き抜かれることにより、減らされ得る。また、受信処理部304は、タイマ部204を初期化する(0にする)。S407において、送信処理部305は、LAN制御部302を介して遅延ACKパケットを送信する。遅延ACKパケットには、バッファ管理部306により管理される受信バッファにおけるウインドウサイズの情報が含まれうる。すなわち、更新された(広がった)ウインドウサイズが通知されうる。
S408において、ACK制御部308は、ACK送信頻度を元に戻す。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を初期値(S404における変更前の値)に変更する。
受信データパケット数が、遅延ACK送信のための基準パケット数未満の場合に進むS409において、ACK制御部308は、タイマ部204により計時されている時間(タイマ部204の経過時間)を所定の遅延時間と比較する。タイマ部204の経過時間が遅延時間未満の場合(S409でYES)、処理はS410に進み、タイマ部204の経過時間が遅延時間以上の場合(S409でNO)、処理はS406に進む。S410において、パケットカウント部307は、受信処理部304により受信されたデータパケットのカウント数を1増やし、処理はS408へ進む。
以上、説明したように、通信装置10は管理している現在の受信バッファにおけるウインドウサイズに応じて、ACK送信頻度を変更する。すなわち、ウインドウサイズが所定の閾値未満の場合、通信装置10は、ACK送信頻度を高めるために、遅延ACK送信のための基準パケット数を、より小さい値に設定する。これにより、変更前のACK送信頻度では遅延時間の経過後に送信されるはずであった遅延ACKの数を削減することができ、通信性能の低下を防止することが可能となる。
(第2実施形態)
以下、第2実施形態の通信処理を説明する。本実施形態では、通信装置10は、受信バッファが広がったことを通知する(遅延)ACKを、他の通信装置20が正常に受信できなかったと想定した場合に、模擬的なウインドウサイズを設定する。そして、通信装置10は、当該模擬的なウインドウサイズに基づいてACK送信頻度を制御する。なお、本実施形態において、第1実施形態と同様の図、および図中と同じ要素に関しては説明を省略する。本実施形態における通信システムの構成および通信装置10の構成は、第1実施形態と同様である。
[第2実施形態における処理の流れ]
図5は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図5は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図5に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
S501〜S502の処理は、図4のS401〜S402の処理と同様である。S503において、ACK制御部308は、送信処理部305により送信された最後のACKパケットでウインドウサイズが広がったことを他の通信装置20に通知したかを確認する。例えば、ACK制御部308は、送信処理部305により送信された最後のACKパケットに、広がったウインドウサイズの情報が含まれていたかを確認する。ウインドウサイズが広がったことを通知している場合(S503でYES)、処理はS504に進み、ウインドウサイズが広がったことを通知していない場合(S503でNO)、処理はS512に進む。
S504において、ACK制御部308は、パケットロス等(通信状況等により他の通信装置がACKパケットの受信に失敗したこと)により、他の通信装置20がウインドウサイズの広がったことを認識していないことを想定して、模擬的なウインドウサイズを設定する。なお、模擬的なウインドウサイズとは、直近のACKよりも1つ前のACKで通知したウインドウサイズのことである。そして、ACK制御部308は、設定した模擬的なウインドウサイズを所定の閾値を比較する。模擬的なウインドウサイズが所定の閾値より小さい場合(S504でYES)、処理はS505に進み、模擬的なウインドウサイズが所定の閾値以上の場合(S504でNO)、処理はS508に進む。なお、所定の閾値は、図4のS403の処理で用いた閾値と同様に、例えば、予め通信装置10に設定されており、遅延ACK送信のための基準パケット数にMSSを乗じた値を最小値とし、それ以上の値とすることができる。
S505の処理は、図4のS404の処理と同様である。S506において、ACK制御部308は、S504の処理において設定した模擬的なウインドウサイズを、他の通信装置20から受信したデータパケットのデータサイズ(受信データサイズ)の合計と比較する。当該データパケットは、送信処理部305によりウインドウサイズが広がったことを通知したACKパケットが送信された後に他の通信装置20から受信したデータパケットである。模擬的なウインドウサイズが受信データサイズの合計より小さい場合(S506でYES)、処理はS507に進み、模擬的なウインドウサイズが受信データサイズの合計以上の場合(S506でNO)、処理はS508に進む。
S507において、ACK制御部308は、ACK送信頻度を元に戻す。すなわち、ACK制御部308は、遅延ACK送信のための基準パケット数を初期値(S505における変更前の値)に変更する。なお、S506の判定で処理がS507に進んだ場合は、模擬的なウインドウサイズを設定した理由であった、他の通信装置20がウインドウサイズの広がったことを認識していない可能性がなくなったことを意味する。そのため、設定した模擬的なウインドウサイズはS507において不要となるため、ACK制御部308はこれを破棄してもよい。S508〜S511の処理は、図4のS405〜S408の処理と同様である。S512〜S513の処理は、S403〜S404の処理と同様である。S514〜S515の処理は、S409〜S410の処理と同様である。
以上、説明したように、通信装置10は、模擬的なウインドウサイズに応じて、ACK送信頻度を調整し、遅延ACK送信のための基準パケット数を、より小さい値に変更する。これにより、パケットロス等が原因で、他の通信装置20が通信装置10のウインドウサイズが広がったことを認識していない場合でも、変更前のACK送信頻度では遅延時間を待って送信されるはずであった遅延ACKパケットの数を削減することができる。その結果、通信性能の低下を防止することが可能となる。
(第3実施形態)
以下、第3実施形態の通信処理を説明する。本実施形態では、通信装置10は、条件に応じて、ACKパケットで通知するウインドウサイズを調整する。なお、本実施形態において、第1実施形態と同様の図、および図中と同じ要素に関しては説明を省略する。本実施形態における通信システムの構成および通信装置10の構成は、第1実施形態と同様である。
[第3実施形態における処理の流れ]
図6は、本実施形態による通信装置10により実行される処理のフローチャートである。具体的には、図6は、通信装置10がデータパケットを受信してから条件に応じてACK送信頻度を変更して遅延ACKパケットを送信する手順を示すフローチャートである。図5に示すフローチャートは、通信装置10のCPU203がROM202に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウエアの制御を実行することにより実現されうる。
S601〜S604の処理は、図4のS401〜S404の処理と同様である。なお、本フローチャートにおいて、S604の処理を含めなくてもよい。すなわち、S604でNOの場合に、ACK制御部308は、遅延ACK送信のための基準パケット数を一時的に小さい値に変更しなくてもよい。
S605において、ACK制御部308は、ウインドウサイズが、ACK送信頻度で受信することができるデータサイズ(遅延ACK送信のための基準パケット数に1パケットのデータサイズ(例えばMSS)を乗じた値)の整数倍であるか否かを確認する。ウインドウサイズがACK送信頻度で受信することができるデータサイズの整数倍でない場合(S605でYES)、処理はS506に進み、ウインドウサイズがACK送信頻度で受信することができるデータサイズの整数倍である場合(S605でNO)、処理はS507に進む。
S606において、ACK制御部308は、送信処理部305により送信されるACKパケットで通知するウインドウサイズを、ACK送信頻度で受信することができるデータサイズの整数倍に調整する。例えば、1データパケットのデータサイズがMSSであり、現在のウインドウサイズが7MSS(7データパケット分)で遅延ACK送信のための基準パケット数が2である場合、ACK制御部308は、2の整数倍である6MSS(6データパケット分)をウインドウサイズとして、ACKパケットで通知することを決定する。S607〜S612の処理は、図4のS405〜S410の処理と同様である。なお、S608ではウインドウサイズは更新されない。
以上、説明したように、通信装置10はウインドウサイズに応じて、ACK送信頻度を現在の設定よりも小さい値に変更する。その際、通信装置10は、送信するACKで通知するウインドウサイズを、ACK送信頻度で受信することができるデータサイズの整数倍に調整する。ACK送信頻度に満たない端数分のパケットを受信する可能性がある場合でも、ウインドウサイズを調整することで、変更前のACK送信頻度では遅延時間を待って送信されるはずであった遅延ACKの数を削減することができ、通信性能の低下を防止することが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
10 通信装置、20 他の通信装置

Claims (11)

  1. 通信装置であって、
    他の通信装置からパケットを受信する受信手段と、
    前記受信手段により受信されたパケットのデータを受信バッファに格納してする格納手段と、
    前記受信手段により受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御手段と、
    前記受信手段により受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信手段と、を有し、
    前記制御手段は、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御することを特徴とする通信装置。
  2. 前記基準パケット数は初期値が設定されており、前記制御手段は、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記基準パケット数を前記初期値より低い数に変更することを特徴とする請求項1に記載の通信装置。
  3. 前記受信手段により受信されたパケットの数が、前記基準パケット数以上になった場合、前記制御手段は前記基準パケット数を前記初期値に更新することを特徴とする請求項2に記載の通信装置。
  4. 前記送信手段は、前記受信バッファに格納されているデータに応じたウインドウサイズの情報を前記ACKパケットに含めて送信することを特徴とする請求項2または3に記載の通信装置。
  5. 前記送信手段により前記ACKパケットが送信された場合であっても、前記制御手段は、当該ACKパケットよりも前に送信したACKパケットに含まれるウインドウサイズが前記所定の閾値未満の場合に、前記基準パケット数を前記初期値より低い数に変更することを特徴とする請求項4に記載の通信装置。
  6. 前記制御手段により前記基準パケット数が前記初期値より低い数に変更された後に、前記受信手段により受信されたパケットのデータサイズの合計が前記ACKパケットよりも前に送信したACKパケットに含まれるウインドウサイズより大きくなった場合、前記制御手段は、前記基準パケット数を前記初期値に更新することを特徴とする請求項5に記載の通信装置。
  7. 前記ウインドウサイズが前記所定の閾値未満の場合に、前記ウインドウサイズが前記基準パケット数のパケットのデータサイズの整数倍であるかを判定する判定手段と、
    前記判定手段により前記ウインドウサイズが前記基準パケット数のパケットのデータサイズの整数倍でないと判定された場合に、前記基準パケット数のパケットのデータサイズの整数倍となるように、前記ウインドウサイズを更新する更新手段と、
    を更に有することを特徴とする請求項1から6のいずれか1項に記載の通信装置。
  8. 前記所定の閾値は、前記基準パケット数に前記パケットのデータサイズを乗じた値以上の値であることを特徴とする請求項1から7のいずれか1項に記載の通信装置。
  9. 前記通信装置はTCP/IP方式の通信を行う通信装置であり、前記パケットのデータサイズは、TCP(Transmission Control Protocol)におけるMSS(Maximum Segment Size)であることを特徴とする請求項1から8のいずれか1項に記載の通信装置。
  10. 通信装置の制御方法であって、
    他の通信装置からパケットを受信する受信工程と、
    前記受信工程において受信されたパケットのデータを受信バッファに格納する格納工程と、
    前記受信工程において受信されたパケットに対する確認応答(ACK)パケットを送信するための基準として用いられる基準パケット数を制御する制御工程と、
    前記受信工程において受信されたパケットの数が、前記基準パケット数以上になった場合に、前記ACKパケットを送信する送信工程と、を有し、
    前記制御工程では、前記受信バッファの空き容量を表すウインドウサイズが所定の閾値未満の場合に、前記ACKパケットの送信頻度が高くなるように、前記基準パケット数を制御することを特徴とする制御方法。
  11. コンピュータを、請求項1から9のいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2019208238A 2019-11-18 2019-11-18 通信装置、通信装置の制御方法、及びプログラム Active JP7286513B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019208238A JP7286513B2 (ja) 2019-11-18 2019-11-18 通信装置、通信装置の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019208238A JP7286513B2 (ja) 2019-11-18 2019-11-18 通信装置、通信装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021082925A true JP2021082925A (ja) 2021-05-27
JP7286513B2 JP7286513B2 (ja) 2023-06-05

Family

ID=75963347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019208238A Active JP7286513B2 (ja) 2019-11-18 2019-11-18 通信装置、通信装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7286513B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022744A (ja) * 1998-06-30 2000-01-21 Toshiba Corp パケット通信システム、パケット通信装置及びパケット通信方法
JP2005086375A (ja) * 2003-09-05 2005-03-31 Ntt Docomo Inc パケット送信量制御方法、通信システム、通信装置及びプログラム
WO2011052201A1 (ja) * 2009-11-02 2011-05-05 パナソニック株式会社 通信端末および通信方法
JP2016019198A (ja) * 2014-07-09 2016-02-01 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US20180368021A1 (en) * 2017-06-16 2018-12-20 Samsung Electronics Co., Ltd. Method and apparatus for transmitting tcp ack in communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022744A (ja) * 1998-06-30 2000-01-21 Toshiba Corp パケット通信システム、パケット通信装置及びパケット通信方法
JP2005086375A (ja) * 2003-09-05 2005-03-31 Ntt Docomo Inc パケット送信量制御方法、通信システム、通信装置及びプログラム
WO2011052201A1 (ja) * 2009-11-02 2011-05-05 パナソニック株式会社 通信端末および通信方法
JP2016019198A (ja) * 2014-07-09 2016-02-01 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US20180368021A1 (en) * 2017-06-16 2018-12-20 Samsung Electronics Co., Ltd. Method and apparatus for transmitting tcp ack in communication system

Also Published As

Publication number Publication date
JP7286513B2 (ja) 2023-06-05

Similar Documents

Publication Publication Date Title
JP6418660B2 (ja) データ送信方法及びデバイス
EP3177065A1 (en) Data transmission method and base station
WO2014043224A1 (en) Apparatus and method for optimizing semi-active workloads
CN104782060B (zh) 减少数据饥饿的方法、无线通信站和系统
JP5573844B2 (ja) 通信端末および通信方法
JP5832335B2 (ja) 通信装置および通信システム
JP6963411B2 (ja) 通信装置、通信方法、およびプログラム
EP3694164B1 (en) Data transmission method and device, and computer storage medium
US20140297791A1 (en) Communication apparatus, method of controlling the same, and storage medium
EP3582455B1 (en) Method and apparatus for multiple subflows network transmission
EP4037272A1 (en) Data processing method and device
JP2021082925A (ja) 通信装置、通信装置の制御方法、及びプログラム
JP5928370B2 (ja) 通信情報計測装置及びプログラム
EP3136665B1 (en) Method for processing data packet of rlc layer and rlc entity
US9768935B2 (en) Communication apparatus, method for controlling communication apparatus, and program
US8532111B2 (en) Transmission apparatus, transmission method, and program
JP6223942B2 (ja) 無線通信環境に応じてアグリゲーション量を変更可能な無線通信装置、無線通信プログラム及び方法
WO2021212438A1 (zh) 数据传输方法、装置、系统、终端设备和存储介质
JP2015149560A (ja) 制御装置及び制御方法
EP3723409A1 (en) Wireless communication method and apparatus
JP7214396B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP2014220621A (ja) パケット処理方法及びパケット処理装置
JP2016019198A (ja) 通信装置、通信装置の制御方法、プログラム
JPWO2019239541A1 (ja) 電気機器、通信システム、及び制御方法
JP6568571B2 (ja) データ転送装置、データ転送方法および通信装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230524

R151 Written notification of patent or utility model registration

Ref document number: 7286513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151