JP2020031346A - 通信装置、通信装置の制御方法およびプログラム - Google Patents

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

Info

Publication number
JP2020031346A
JP2020031346A JP2018156089A JP2018156089A JP2020031346A JP 2020031346 A JP2020031346 A JP 2020031346A JP 2018156089 A JP2018156089 A JP 2018156089A JP 2018156089 A JP2018156089 A JP 2018156089A JP 2020031346 A JP2020031346 A JP 2020031346A
Authority
JP
Japan
Prior art keywords
received
communication device
packets
packet
ack
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
JP2018156089A
Other languages
English (en)
Other versions
JP2020031346A5 (ja
JP7214396B2 (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 JP2018156089A priority Critical patent/JP7214396B2/ja
Publication of JP2020031346A publication Critical patent/JP2020031346A/ja
Publication of JP2020031346A5 publication Critical patent/JP2020031346A5/ja
Application granted granted Critical
Publication of JP7214396B2 publication Critical patent/JP7214396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】通信の状況にかかわらず、受信データに対する確認応答を適切に送信して通信性能の低下を低減することが可能な通信装置を提供する。【解決手段】通信装置は、他の装置からパケットを受信する受信手段と、受信手段により所定の数のパケットが受信された際に、他の装置へ確認応答を送信する送信手段と、受信手段によりパケットが連続して受信されているか否かを判定する判定手段と、パケットが連続して受信されていると判定された場合の方が、パケットが連続して受信されていると判定されなかった場合より所定の数が大きくなるよう所定の数を変更して、送信手段に、変更された所定の数のパケットが受信された際に他の装置へ確認応答を送信させるよう制御する制御手段と、を備える。【選択図】図2

Description

本発明は、確認応答を送信可能な通信装置、通信装置の制御方法およびプログラムに関する。
通信プロトコルにおいてデータ通信の信頼性を実現するため、送信側装置から送信されたデータが受信側装置により受信されたことを、受信側装置が送信側装置に通知する手法がある。
例えば、TCP(Transport Control Protocol)では、送受信されるデータパケットにシーケンス番号を付与して管理する。受信側装置は、受信したデータパケットのシーケンス番号を参照し、受信済みの最終データを示すシーケンス番号を確認応答(Acknowledge、以下「ACK」ともいう。)パケットとして送信側装置に通知する。
このACKパケットを送信側装置が受信することで、受信側装置によりデータパケットが受信されたことが保証され、データの送信が完了したと判断することができる。一方、所定時間内に送信したデータパケットに対する確認応答(ACK)が受信できない場合、送信側装置は、データパケットを送信側装置へ再送するよう制御する。
TCP通信における上記の確認応答の手法の1つとして、遅延確認応答(遅延ACK)がある。この遅延ACKは、データパケットを1回受信するごとにACKパケットを都度送信するのに替えて、複数回のデータパケット受信に対応する複数のACKパケットを1つにまとめて送信する確認応答である。データパケットを受信する都度、ACKパケットを送信する必要がないので、ACK送受信に係るトラフィックおよび処理負荷が低減され、通信性能を改善できる。
この遅延確認応答(遅延ACK)において、受信側装置には最大500msのACK送信遅延時間(ACKタイムアウト値)をパラメータとして設定することができ、受信側装置は、設定されたACK送信遅延時間の分だけACKパケットの送信を遅延させる。受信側装置はまた、遅延している間に受信したデータパケットに対するACKパケットを1つの遅延ACKパケットにまとめて、遅延時間がタイムアウトした際に送信側装置へ送信する。
ただし、上記のACK送信遅延時間内であっても、ACK送信頻度の設定により、遅延ACKパケットが送信側装置へ送信される場合がある。このACK送信頻度は、MSS(Maximum Sedment Size)以上のセグメント長のデータパケットをまとめて受信できる回数を設定する遅延ACKのパラメータである(TCPの場合、最低2パケット)。受信側装置は、ACK送信遅延時間内であっても、ACK送信頻度に設定された回数、データパケットを受信した際に、遅延ACKパケットを送信しなければならない。
このように、遅延ACKを使用するTCP通信では、設定されたACK送信遅延時間およびACK送信頻度に従って、遅延ACKパケットを送信すべきタイミングが規定される。
特許文献1は、送信側装置からデータパケットを再送するタイムアウト値である再送タイマ値(Retransmission Time Out:RTO)を、受信側装置から通知される遅延ACK情報に基づいて決定する技術を開示する。
具体的には、特許文献1の受信側装置は、遅延ACKタイマ値を含む遅延ACK情報を、TCPコネクション時に、または遅延ACK送信時やアプリケーションにより、送信側装置へ通知する。送信側装置は、通知された遅延ACKタイマ値より小さくならないよう、再送タイマ値(RTO)の最小値を決定する。
送信側装置のRTO最小値を、遅延ACKタイマ値を下回らない限り十分小さく設定可能とすることで、速やかに再送を実行することが可能となり、データ通信性能を向上させることができる。
特開2014−183533号公報
しかしながら、従来の確認応答型の通信装置においては、送信側装置と受信側装置との間のデータ通信の状況に依存して、遅延ACKパケットのACK送信頻度の設定如何で通信性能が低下するおそれがあった。
具体的には、遅延ACKパケットのACK送信頻度を低く設定した場合、送信側装置への遅延ACKパケットの送信が遅延する。TCPのフロー制御の下、受信側装置は、データパケット受信により減少したウインドウサイズをACKパケットと共に送信側装置へ送信し、受信バッファからアプリケーションに受信データが転送された後に拡げたウインドウサイズを送信側装置へ送信する。送信側装置は、ACKパケットを受信することにより、ACKパケットと共に通知される受信側装置のウインドウサイズに従って、送信側装置のウインドウサイズを増減し、増減されたウインドウサイズの分のデータパケットをACKを待たずに連続送信する。
ここで、例えば、スロースタート時やデータパケット再送時等、受信側装置がデータパケットを受信する頻度が低い状況下において、ACK送信頻度が低く遅延ACKの送信間隔が長いと、受信側装置からウインドウサイズを送信側装置へ通知するのが遅延する。このため、ACK送信遅延時間がタイムアウトするまで遅延ACKが送信できずに、送信側装置がウインドウサイズを拡げて大量のデータパケットをまとめて送信できるようになるまでに時間が掛かってしまい、その結果、通信性能が低下しかねない。
一方、遅延ACKパケットのACK送信頻度を高く設定した場合、送信側装置へ送信される遅延ACKの送信間隔が短くなり、遅延ACKパケットの数が増加する。特に、TCPのフロー制御の下、送信側装置のウインドウサイズが拡げられていて、受信側装置が大量のデータパケットを受信する頻度が高い状況下においては、ACK送信遅延時間がタイムアウトする前にACKパケットが頻繁に送信側装置へ送信されてしまう。このため、受信側装置および送信側装置の双方において、遅延ACKパケットの送受信に係るリソースを多く割り当てなければならず、処理負荷およびトラフィックが増大した結果、通信性能が低下しかねない。
本発明は上記課題に鑑みてなされたものであり、その目的は、通信の状況にかかわらず、受信データに対する確認応答を適切に送信して通信性能の低下を低減することが可能な通信装置、通信装置の制御方法およびプログラムを提供することにある。
上記課題を解決するため、本発明に係る通信装置のある態様によれば、他の装置からパケットを受信する受信手段と、前記受信手段により所定の数のパケットが受信された際に、前記他の装置へ確認応答を送信する送信手段と、前記受信手段によりパケットが連続して受信されているか否かを判定する判定手段と、パケットが連続して受信されていると判定された場合の方が、パケットが連続して受信されていると判定されなかった場合より前記所定の数が大きくなるよう前記所定の数を変更して、前記送信手段に、変更された前記所定の数のパケットが受信された際に前記他の装置へ前記確認応答を送信させるよう制御する制御手段とを備える通信装置が提供される。
本発明によれば、通信の状況にかかわらず、受信データに対する確認応答を適切に送信して通信性能の低下を低減することができる。
本発明の各実施形態に係る通信装置のハードウエア構成の一例を示す図。 実施形態1に係る通信装置の機能構成の一例を示すブロック図。 実施形態1に係る通信装置がパケットを受信した際の確認応答処理の概略処理手順の一例を示すフローチャート。 実施形態1における図3のACK送信判断処理(S3)の詳細処理手順の一例を示すフローチャート。 実施形態1における図3のACK送信頻度変更処理(S4)の詳細処理手順の一例を示すフローチャート。 実施形態1における図5の連続性判定処理(S41)の詳細処理手順の一例を示すフローチャート。 実施形態2における図5の連続性判定処理(S41)の詳細処理手順の一例を示すフローチャート。 実施形態3に係る通信装置の機能構成の一例を示すブロック図。 実施形態3における図5の連続性判定処理(S41)の詳細処理手順の一例を示すフローチャート。 実施形態4に係る通信装置の機能構成の一例を示すブロック図。 実施形態4における図3のACK送信判断処理(S3)の詳細処理手順の一例を示すフローチャート。 実施形態1における図3のACK送信頻度変更処理(S4)の詳細処理手順の一例を示すフローチャート。
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(実施形態1)
本実施形態は、他の通信装置から予め設定された数のパケットを受信するごとに、他の装置へ確認応答を送信する。そして、本実施形態は、他の通信装置からパケットを連続して受信しているか否かを判定し、受信パケットの連続性の判定結果に基づいて、他の通信装置へ送信すべき確認応答の送信頻度を変更する。具体的には、本実施形態は、他の通信装置からパケットを連続して受信していると判定された場合に確認応答の送信頻度が低くなるよう、また他の通信装置からパケットを連続して受信していないと判定された場合に確認応答の送信頻度が高くなるよう変更する。
受信パケットの連続性がある場合には、確認応答の送信頻度がより低く変更されるため、他の通信装置へ送信される確認応答の送信間隔が長くなり、確認応答の送受信に係るリソースや負荷が低減される。
一方、受信パケットの連続性がない場合には、確認応答の送信頻度がより高く変更されれるため、他の通信装置へ確認応答が迅速に送信されることで、他の通信装置でのウインドウサイズの拡張およびデータ送信における遅延が低減される。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の通信装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
以下、本実施形態では、通信装置が、TCP通信における遅延確認応答、すなわち他の通信装置から送信される複数のデータパケットに対応する複数の確認応答を1つにまとめた確認応答、を送信する場合を例として説明する。
また、以下、確認応答を「ACK」と、送信側の通信装置から送信されるデータパケットを単に「パケット」と、受信側の通信装置からパケットの受信に応答して送信側の通信装置へ送信される確認応答(ACK)パケットを単に「ACK」という。
本実施形態では、パケットロスが発生することなく所定時間内に所定数のパケットが受信できた場合に、パケットが連続して受信されたものと判定する例を説明する。
<本実施形態のハードウエア構成>
図1は、本実施形態に係る通信装置のハードウエア構成の一例を示す図である。
図1の通信装置1は、RAM11、ROM12、CPU13、タイマ管理部14、メディアアクセス制御モジュール(MAC)15、物理レイヤモジュール(PHY)16、およびアンテナ18を備える。RAM11、ROM12、CPU13、タイマ管理部14、およびMAC15は、システムバス17により、通信可能に接続される。
なお、通信装置1は、上記のモジュール全てを備えなくともよく、例えばタイマ管理部14やアンテナ18等は、必要に応じて省略されてもよいし、図1の構成に加えて入出力インタフェースや外部メモリ等を備えてもよい。
RAM(Random Access Memory)11は、CPU13の主メモリ、ワークエリア等として機能し、プログラムやデータを一時的に記憶する。
ROM(Read Only Memory)12は、CPU13が各種処理を実行するために必要となる、変更を必要としない制御プログラムやパラメータ等を記憶する不揮発性メモリである。なお、これら制御プログラム等は、外部メモリや着脱可能な記憶媒体(不図示)に記憶されていてもよい。
CPU(Central Processing Unit)13は、通信装置1における動作を統括的に制御するものであり、システムバス17を介して、各構成部(11、12、14〜16)を制御する。すなわち、CPU13は、各種処理の実行に際してROM12から必要なプログラム等をRAM11にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
タイマ管理部14は、CPU13により実行されるプログラムの処理等の時間の経過を管理する。
MAC15は、PHY16およびアンテナ18を介して無線LAN(Local Area Network)等のネットワークでの通信を行うための通信部であり、IEEE802OSI参照モデルのデータリンク層中のメディアアクセス制御機能を提供する。CPU13は、ネットワークドライバを実行し、MAC15を制御して、他の装置との間でのデータの送受信を実行する。
PHY16は、アンテナ18を介して無線LAN等のネットワークでの通信を行うための通信部であり、データリンク層の下層である物理層の制御機能を提供する。
通信装置1が他の通信装置とデータ送受信を実行するためのネットワークは、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi−Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、LTE/3G等の無線WAN(Wide Area Network)を含む。
あるいは、ネットワークは、例えば、Ethernet(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)等の有線ネットワークであってよく、無線LAN通信機能と有線LAN通信機能を組み合わせてもよい。
なお、ネットワークは、各機器を相互に通信可能に接続できればよく、通信の規格、規模、構成は上記に限定されない。
また、図1の通信装置1の具体例は、各種センサデバイス、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、PC(Personal Computer)、ノートPC、サーバ等を含むがこれらに限定されない。
<通信装置1の機能構成>
図2は、本実施形態に係る通信装置1の機能構成の一例を示すブロック図である。
図2に示す各装置の各機能モジュールのうち、ソフトウエアにより実現される機能については、各機能モジュールの機能を提供するためのプログラムがROM12等のメモリに記憶され、RAM11に読み出してCPU13が実行することにより実現される。ハードウエアにより実現される機能については、例えば、所定のコンパイラを用いることで、各機能モジュールの機能を実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウエアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。この場合、専用ハードウエアはCPU11の制御に基づいて動作する。
なお、図2に示した機能ブロックの構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、いずれかの機能ブロックが複数の機能を行うブロックに分かれてもよい。
通信装置1は、制御部21、LAN通信制御部22、記憶制御部23、TCP/IP通信制御部24、ACK送信部25、連続性判定部26、およびACK送信頻度変更部27を備える。なお、通信装置1が図2のモジュール全てを備えることは必須でない。
制御部21は、通信装置1が備える各機能モジュール(22〜27)を制御して、本実施形態におけるパケット送受信および確認応答処理を含む処理を実行する。
LAN通信制御部22は、MAC15を制御し、他の通信装置とのLAN通信の制御を実行する。通信装置1が外部の無線アクセスポイント(AP)を経由して他の通信装置と接続する場合、LAN通信制御部22は、MAC15を制御して無線AP(不図示)との無線LAN通信の制御を行う。LAN通信制御部22はその他、有線LAN通信機能等、TCP/IP通信が可能な通信方式であれば他の通信方式を利用してもよい。
記憶制御部23は、RAM11やROM12を制御し、処理データや画像コンテンツ、映像コンテンツなどの各種データを、これら記憶装置に記憶し、または削除する。なお、本実施形態ではその他、補助記憶装置等の他の記憶装置を利用してもよい。
TCP/IP通信制御部24は、LAN通信制御部22を利用して、他の通信装置との間でTCP/IP方式の通信プロトコル処理および各種通信制御を行う。なお、TCP/IP通信制御部24は、TCP/IP方式に限らず、確認応答を使用可能な他のプロトコルを利用してもよい。
ACK送信部25は、他の通信装置から受信されるパケットに対して、確認応答であるACKを当該他の通信装置へ送信する。本実施形態において、ACK送信部25は、ACK送信頻度として予め設定されたパケット数の分、他の通信装置からMSS(Maximum Segment Size)以上のセグメント長のパケットを受信した際に、1つの遅延ACKを送信する。このACK送信頻度として、TCP/IPの場合最低2パケットが設定可能であり、1パケットが設定された場合には、遅延ACK送信機能はオフされる。
連続性判定部26は、他の通信装置から受信されるパケットが、連続的に受信されているか否かを判定する。連続性判定部26により受信パケットの連続性判定処理の結果は、ACK送信頻度変更部27へ供給される。なお、連続性判定部26が実行する受信パケットの連続性判定処理の詳細は、図6を参照して後述する。
ACK送信頻度変更部27は、連続性判定部26から供給される判定結果に従って、ACK送信部25が参照すべきACK送信頻度を動的に変更する。ACK送信頻度変更部27によりACK送信頻度が変更されると、ACK送信部25が変更されたACK送信頻度を参照することにより、他の通信装置へ送信する遅延ACKの送信頻度が変更される。
<通信装置1のパケット受信および確認応答処理の概略処理フロー>
図3は、通信装置1が実行するパケット受信および確認応答処理の概略手順の一例を示すフローチャートである。図3に示す処理は、例えば、他の通信装置からパケットを受信したことを契機に開始されてよい。
通信装置1はCPU13が必要なプログラムをROM12または外部メモリから読み出して実行することにより、図3に示す処理を実行することができる。ただし、図2に示す各要素のうち少なくとも一部が専用のハードウエアとして動作することで図3の処理が実現されるようにしてもよい。この場合、専用のハードウエアは、CPU13の制御に基づいて動作する。
S1で、通信装置1のLAN通信制御部22は、他の通信装置からパケットを受信する。他の通信装置から受信されたパケットは、まず、LAN通信制御部22がアクセスおよび管理可能なバッファに保持される。
S2で、通信装置1のTCP/IP通信制御部24は、LAN通信制御部22が管理するバッファ内に格納された受信パケットを、TCP/IP通信制御部24がアクセスおよび管理可能な受信バッファにコピーして保持する。
S3で、通信装置1のACK送信部25は、他の通信装置に対してACKを送信するか否かを判断する。このACK送信判断処理の詳細は、図4を参照して後述する。
S4で、通信装置1のACK送信頻度変更部27は、連続性判定部26から供給される受信パケットの連続性の判定結果に基づいて、ACKの送信頻度を変更するか否かを判定する。ACKの送信頻度を変更すべきと判定された場合には、ACK送信頻度変更部27は、ACK送信頻度を変更する。このACK送信頻度変更処理の詳細は、図5を参照して後述する。
なお、S1〜S4の処理の処理順序は、図3に示す順序に限定されない。例えば、S4のACKパケット送信頻度変更処理は、S1でパケットが受信された後であれば、S2の前に実行されてもよく、S2とS3の間に実行されてもよく、S2およびS3のタイミングに依存することなく同時並行で実行されてもよい。
<ACK送信判断処理の詳細処理フロー>
図4は、図3のS3で、通信装置1が実行するACKパケット送信判断処理の詳細手順の一例を示すフローチャートである。
S31で、通信装置1のACK送信部25は、TCP/IP通信制御部24が管理する受信バッファに、MSS以上のセグメントサイズのパケットが、ACK送信頻度に設定されたパケット数の分、受信されたか否かを判定する。
受信バッファに受信されたデータパケットの数が、ACK送信頻度として設定されたパケット数以上である場合(S31:Y)、S32に進む。一方、ACK送信頻度として設定されたパケット数以上でない場合(S31:N)、S32をスキップしてACKを送信することなく、処理を終了する。
受信バッファに保持されたパケットの数がACK送信頻度として設定されたパケット数以上である場合、S32で、通信装置1のACK送信部25は、他の通信装置へACK(遅延ACK)を送信して、処理を終了する。
<ACK送信頻度変更処理の詳細処理フロー>
図5は、図3のS4で、通信装置1が実行するACKパケット送信頻度変更処理の詳細処理手順の一例を示すフローチャートである。
S41で、通信装置1の連続性判定部26は、他の通信装置から受信されるパケットが、連続して受信されているか否かを判定する。この受信パケットの連続性判定処理の詳細は、図6を参照して後述する。
S42で、通信装置1の連続性判定部26は、S41でパケットが連続して受信されていると判定された場合(S42:Y)、S43に進み、一方、S41でパケットが連続して受信されてないと判定された場合(S42:N)、S44に進む。
S41でパケットが連続して受信されていると判定された場合、S43で、通信装置1のACK送信頻度変更部27は、ACK送信頻度をより低い頻度に変更する。すなわち、ACK送信部25に設定すべきACK送信頻度の値をより大きくなるよう変更する。例えば、ACK送信頻度のデフォルト値の2パケットから、5パケットに変更すれば、MSS以上のセグメント長のパケットが5回受信された際に、1つの遅延ACKが他の通信装置へ送信される。
一方、S41でパケットが連続して受信されていないと判定された場合、S44で、通信装置1のACK送信頻度変更部27は、ACK送信頻度をより高い頻度に変更する。すなわち、ACK送信部25に設定すべきACK送信頻度の値をより小さくなるよう変更する。例えば、ACK送信頻度が5パケットに設定されている場合に、2パケットに変更すれば、MSS以上のセグメント長のパケットが2回受信された際に、1つの遅延ACKが他の通信装置へ送信される。
なお、ACK送信頻度変更部27は、受信パケットに連続性があると判定した場合に、受信パケットに連続性がないと判定した場合より相対的に高いACK送信頻度を設定できればよく、このため図5のS43およびS44のいずれかを省略してもよい。
また、図5では、S43およびS44で、ACK送信頻度を2通りに設定する例が示されているが、ACK送信頻度の設定はこれに限定されず、3通り以上の異なるACK送信頻度を設定してもよい。
<受信パケット連続性判定処理の詳細処理フロー>
図6は、図5のS41で、通信装置1が実行する受信パケットの連続性判定処理の詳細処理手順の一例を示すフローチャートである。
S411で、通信装置1の連続性判定部26は、タイマ管理部14を介してタイマの設定時間が経過したか否かを判定する。タイマの設定時間が経過していた場合(S411:Y)、S412に進んで、連続性判定部26は、タイマを0に初期化すると共に、現在保持している連続受信パケット数のカウンタを0に初期化する。一方、タイマの設定時間が経過していない場合(S411:N)、S413に進む。
S413で、通信装置1の連続性判定部26は、TCP/IP通信制御部24を介して、受信されたパケットのTCPヘッダ中のシーケンス番号およびペイロード長(データ長)を取得して確認する。
S414で、連続性判定部26は、TCP/IP通信制御部24を介して、前回のパケット受信処理で最後に受信されたパケットのシーケンス番号にペイロード長を加算した値が、今回受信されたパケットのシーケンス番号と一致するか否かを判定する。パケットのTCPヘッダのシーケンス番号はペイロード中の各バイトのバイト位置を一意に識別する識別番号である。このため、このシーケンス番号にペイロード長を加算することにより、前回のパケットに連続して今回受信されたパケットの正しいシーケンス番号が得られる。一方、前回受信された受信パケットのシーケンス番号にペイロード長を加算した値が、今回受信されたパケットのシーケンス番号と一致しない場合、パケットロス等により受信パケットの連続性が失われたことになる。
前回受信されたパケットのシーケンス番号にペイロード長を加算した値が、今回受信されたパケットのシーケンス番号と一致しない場合(S414:N)、S415に進む。S415で、連続性判定部26は、現在保持している連続受信パケット数のカウンタを0に初期化する。一方、前回受信されたパケットのシーケンス番号にペイロード長を加算した値が、今回受信されたパケットのシーケンス番号と一致する場合(S414:Y)S416に進む。
S416で、通信装置1の連続性判定部26は、現在保持している連続受信パケット数のカウンタに、今回受信したパケット数を加算(カウント)する。
S417で、通信装置1の連続性判定部26は、現在保持している連続受信パケット数が所定の閾値以上に達したか否かを判定する。連続受信パケット数が所定の閾値未満であった場合(S417:N)、通信装置1の連続性判定部26は、受信パケットを連続的に受信していないと判定して、ACK送信頻度変更部27へ当該判定結果を通知する。一方、連続受信パケット数が所定の閾値以上であった場合(S417:Y)、通信装置1の連続性判定部26は、受信パケットを連続的に受信していると判定し、ACK送信頻度変更部27へ当該判定結果を通知する。
なお、図6のS417で、連続受信パケット数と比較すべき閾値を複数設定し、データを連続的に受信している状態を複数段階に分けることで、3通り以上の異なるACK送信頻度を設定してもよい。
以上説明したように、本実施形態によれば、他の通信装置からパケットを連続して受信しているか否かを判定し、受信パケットの連続性の判定結果に基づいて、他の通信装置へ送信すべき確認応答の送信頻度を変更する。具体的には、本実施形態は、他の通信装置からパケットを連続して受信していると判定された場合に確認応答の送信頻度が低くなるよう、また他の通信装置からパケットを連続して受信していないと判定された場合に確認応答の送信頻度が高くなるよう変更する。
受信パケットの連続性がある場合、例えばバースト的にデータ受信できている場合には、確認応答の送信頻度がより低く変更されるため、他の通信装置へ送信される確認応答の送信間隔が長くなり、確認応答の送受信に係るリソースや負荷が低減される。
一方、受信パケットの連続性がない場合、例えばスロースタート時や輻輳によるパケット再送時には、確認応答の送信頻度がより高く変更される。このため、他の通信装置へ確認応答が迅速に送信されることで、他の通信装置でのウインドウサイズの拡張およびデータ送信における遅延が低減される。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の通信装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
(実施形態2)
以下、実施形態2を、図7を参照して、上記の実施形態1と異なる点についてのみ詳細に説明する。実施形態1では、パケットロスが発生することなく所定時間内に所定数のパケットが受信できた場合に、パケットが連続して受信されたものと受信パケットの連続性を判定した。これに対して、本実施形態では、往復遅延時間が所定の閾値内にある間に所定数のパケットが受信できた場合に、パケットが連続して受信されたものと受信パケットの連続性を判定する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
実施形態2に係る通信装置1のハードウエア構成および機能構成は、図1および図2にそれぞれ示される実施形態1と同様である。
実施形態2に係る通信装置1が実行するパケット受信および確認応答処理、確認応答送信判断処理、およびACK送信頻度変更処理は、図3ないし図5にそれぞれ示される実施形態1と同様である。
図7は、本実施形態において、図5のS41で、通信装置1が実行する受信パケットの連続性判定処理の詳細処理手順の一例を示すフローチャートである。
S411およびS412の各処理は、図6に示す実施形態1のS411およびS412の処理と同様である。
S411で、通信装置1の連続性判定部26がタイマの設定時間が経過していないと判定した場合、S51で、通信装置1の連続性判定部26は、通信装置1から送信される送信パケットの往復遅延時間(Round Trip Time:RTT)を計測する。具体的には、連続性判定部26は、通信装置1から他の通信装置へ送信された送信パケットのTCPヘッダのシーケンス番号と、当該送信パケットに応答して当該他の通信装置から受信されるACK(受信パケット)のACK番号とを使用する。送信パケットから対応するACK受信までの所要時間を計測することで往復遅延時間(RTT)を計測することができる。
S52で、通信装置1の連続性判定部26は、S51で計測された往復遅延時間が、所定の閾値未満か否かを判定する。往復遅延時間が所定の閾値以上であると判定された場合(S52:N)、連続性判定部26は、実施形態1と同様、S415に進んで連続受信パケット数のカウンタを0に初期化し、S418でパケットを連続的に受信していないと判定する。
一方、往復遅延時間が所定の閾値未満であると判定された場合(S52:Y)、連続性判定部26は、S416で連続受信パケット数のカウンタを更新する。以降の処理S417ないしS419は、図6に示す実施形態1のS417ないしS419と同様である。
なお、図7では、図6のS413およびS414に替えてS51およびS52が実行されるが、本実施形態において、S413およびS414に加えてS51およびS52を実行することで、パケットロスの判定と往復遅延時間の判定を併用してもよい。
以上説明したように、本実施形態によれば、本実施形態では、往復遅延時間が所定の閾値内にある間に所定数のパケットが受信できた場合に、パケットが連続して受信されたものと受信パケットの連続性を判定する。
通信装置と他の通信装置との間のパケットの往復遅延時間(RTT)が所定の閾値未満である間に所定数のパケットを受信できていれば、通信装置が連続してパケットを受信している状況であると推定することができるため、ACK送信頻度をより低く変更する。一方、通信装置と他の通信装置との間のパケットの往復遅延時間(RTT)が所定の閾値以上であれば、パケットの送受信に遅延が生じ連続性が途切れている状況であると推定することができるため、ACK送信頻度をより高く変更する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
(実施形態3)
以下、実施形態3を、図8および図9を参照して、上記の実施形態1と異なる点についてのみ詳細に説明する。実施形態1では、パケットロスが発生することなく所定時間内に所定数のパケットが受信できた場合に、パケットが連続して受信されたものと受信パケットの連続性を判定した。これに対して、本実施形態では、送信側の通信装置が通信状況に応じて送信可能なデータ量を調整するため保持している輻輳ウインドウサイズを受信側通信装置において模擬的に算出する。模擬的に算出された送信側の通信装置の輻輳ウインドウサイズが所定の閾値以上である場合に、パケットが連続して受信されたものと受信パケットの連続性を判定する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
実施形態3に係る通信装置1aのハードウエア構成は、図1に示される実施形態1と同様である。
図8は、実施形態3に係る通信装置1aの機能構成の一例を示すブロック図である。図2に示す実施形態1の機能構成に加えて、図8に示すように、実施形態3に係る通信装置1aは、さらに輻輳ウインドウ推定部28を備える。
輻輳ウインドウ推定部28は、通信装置1aに対向し、パケットを送信する他の通信装置における輻輳ウインドウサイズを推定する。具体的には、輻輳ウインドウ推定部28は、TCP/IP通信制御部24を介して、通信装置1aが受信する受信パケットを送信パケット、送信パケットを受信パケットと仮定する。そして輻輳ウインドウ推定部28は、通信装置1aが送信側となる際に適用する輻輳アルゴリズムを適用して、送信側の通信装置の輻輳ウインドウサイズを模擬的に算出する。輻輳ウインドウ推定部28により推定された模擬的な輻輳ウインドウサイズは、連続性判定部26へ供給される。
実施形態3に係る通信装置1aが実行するパケット受信および確認応答処理、ACK送信判断処理、およびACK送信頻度変更処理は、図3ないし図5にそれぞれ示される実施形態1と同様である。
図9は、本実施形態において、図5のS41で、通信装置1aが実行する受信パケットの連続性判定処理の詳細処理手順の一例を示すフローチャートである。
S61で、通信装置1aの輻輳ウインドウ推定部28は、送信側の通信装置における輻輳ウインドウサイズを上記のように模擬的に推定する。
S62で、通信装置1aの連続性判定部26は、S61で輻輳ウインドウ推定部28により推定された送信側の通信装置の輻輳ウインドウサイズが、所定の閾値以上であるか否かを判定する。推定された送信側の通信装置の輻輳ウインドウサイズが所定の閾値未満である場合(S62:N)、実施形態1と同様、S418で、連続性判定部26は、パケットを連続的に受信していないと判定する。一方、推定された送信側の通信装置の輻輳ウインドウサイズが所定の閾値以上である場合(S62:Y)、実施形態1と同様、S419で、連続性判定部26は、パケットを連続的に受信していると判定する。
以上説明したように、本実施形態によれば、送信側の通信装置が保持している輻輳ウインドウサイズを受信側通信装置において模擬的に算出する。模擬的に算出された送信側の通信装置の輻輳ウインドウサイズが所定の閾値以上である場合に、パケットが連続して受信されたものと受信パケットの連続性を判定する。
送信側の通信装置について推定される輻輳ウインドウサイズが所定の閾値以上であれば、通信装置が連続してパケットを受信可能な状況であると推定することができるため、ACK送信頻度をより低く変更する。一方、送信側の通信装置について推定される輻輳ウインドウサイズが所定の閾値未満であれば、通信装置が速やかに確認応答を送信しなければパケットを連続して受信できない状況であると推定することができるため、ACK送信頻度をより高く変更する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
(実施形態4)
以下、実施形態4を、図10ないし図12を参照して、上記の各実施形態と異なる点についてのみ詳細に説明する。本実施形態では、送信側の他の通信装置に送信される確認応答の送信頻度を変更するのに加えて、さらにタイマによる確認応答の送信で使用される確認応答送信遅延時間(タイムアウト時間)を変更する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度とともにタイムアウト時間を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
実施形態4に係る通信装置1bのハードウエア構成は、図1に示される実施形態1と同様である。
図10は、実施形態4に係る通信装置1bの機能構成の一例を示すブロック図である。図2に示す実施形態1の機能構成に加えて、図10に示すように、実施形態4に係る通信装置1bは、さらに第2のACK送信部29およびタイムアウト時間変更部30を備える。図10の第1のACK送信部25は、図2のACK送信部25と同様である。
第2のACK送信部29は、タイマ管理部14により管理されるタイマを使用して、予め設定されたACK送信遅延時間がタイムアウトした際に、送信側の通信装置へACK(遅延ACK)を送信する。
第1のACK送信部25には、ACK送信頻度が予め設定されており、MSS以上のセグメント長のデータパケットをACK送信頻度に設定された回数分だけ他の通信装置から受信すると、通信装置1bは他の通信装置へACK(遅延ACK)を送信する。これに対して、第2のACK送信部29は、設定されたACK送信遅延時間内に、第1のACK送信部25に設定されたACK送信頻度に設定された数のパケットを受信できなかった場合に、ACK(遅延ACK)を他の通信装置へ送信することになる。
タイムアウト時間変更部30は、第2のACK送信部29に設定されるタイマのタイムアウト時間を変更する。具体的には、タイムアウト時間変更部30は、連続性判定部26により判定される受信パケットの連続性に基づいて、他の通信装置へ送信すべきACK(遅延ACK)のタイムアウト時間の設定を変更する。
実施形態4に係る通信装置1bが実行するパケット受信および確認応答処理は、図3に示される実施形態1と同様である。
図11は、実施形態4に係る通信装置1bが実行するACK送信判断処理の処理手順の一例を示すフローチャートである。
図11のS31は、図4に示す実施形態1のS31と同様であり、通信装置1bの第1のACK送信部25は、受信したパケット数が、ACK送信頻度として設定されたパケット数以上であるか否かを判定する。
S31で受信したパケット数がACK送信頻度として設定されたパケット数以上であると判定された場合(S31:Y)、図4に示す実施形態1のS32と同様、S34で、第1のACK送信部25は、送信側の通信装置へACK(遅延ACK)を送信する。そして、第2のACK送信部29は、S35で第2のACK送信部29によるACK送信の判定に使用するタイマを0にリセットする。
一方、本実施形態において、S31で受信したパケット数がACK送信頻度として設定されたパケット数以上でないと判定された場合(S31:N)、S33で、第2のACK送信部29は、設定されたタイムアウト時間が経過したか否かを判定する。
タイムアウト時間が経過したと判定された場合(S33:Y)、S34へ進み、第2のACK送信部29は、ACK(遅延ACK)を送信し、S35で第2のACK送信部29によるACK送信の判定に使用するタイマを0にリセットする。一方、タイムアウト時間が未だ経過していない場合(S33:N)、ACK(遅延ACK)を送信することなく、処理を終了する。
図12は、実施形態4に係る通信装置1bが実行するACK送信頻度変更処理の詳細処理手順の一例を示すフローチャートである。
図12のS41ないしS44は、図5に示す実施形態1のS41ないしS44と同様である。
本実施形態において、S42でパケットを連続的に受信していると判定された場合(S42:Y)、S43で、ACK送信頻度変更部27は、より低いACK送信頻度に設定する。その後、S45で、タイムアウト時間変更部30は、設定されているタイムアウト時間をより短く変更する。S45で設定されるより短いタイムアウト時間は、予め決められた値を使用してもよく、例えば計測されたRTTの値に基づいて動的に決定されてもよい。
一方、S42でパケットを連続的に受信していないと判定された場合(S42:N)、S46で、タイムアウト時間変更部30は、設定されているタイムアウト時間をより長く変更する。S46で設定されるより長いタイムアウト時間は、予め決められた値を使用してもよく、例えば計測されたRTTの値に基づいて動的に決定されてもよい。
なお、図12のS45およびS46では、タイムアウト時間を2通りに設定する例を説明したが、第1のACK送信部25に設定されるACK送信頻度の場合と同様、3通り以上の異なるタイムアウト時間を設定してもよい。
また、図12では、受信パケットの連続性に応じて、ACK送信頻度およびタイムアウト時間の双方を変更する例を説明したが、S43およびS44を省略してタイムアウト時間のみを変更してもよく、またS45およびS46のいずれか一方を省略してもよい。
以上説明したように、本実施形態によれば、送信側の通信装置に送信される確認応答の送信頻度を変更するのに加えて、さらにタイマによる確認応答の送信で使用される確認応答送信遅延時間(タイムアウト時間)を変更する。
受信パケットの連続性がある場合、例えばバースト的にデータ受信できている場合には、確認応答の送信頻度がより低く変更される。このため、例えばMSS未満の小さいセグメント長のパケットを連続して受信している状況であると確認応答の送信が遅延し、送信側の通信装置からのパケット送信も遅延してしまう。本実施形態では、受信パケットの連続性がある場合に、タイムアウト時間を短く変更するため、データを連続してバースト受信している際に速やかに確認応答を送信側の通信装置へ送信することで、データ送信の遅延が低減される。
一方、本実施形態では、受信パケットの連続性がない場合、例えばスロースタート時や輻輳によるパケット再送時には、タイムアウト時間を長く設定する。このため、確認応答送信遅延時間のタイムアウトによる確認応答を送信側の他の通信装置へ送信せず、高く変更された確認応答の送信頻度に従って頻繁に確認応答を他の装置へ送信することで、通信性能の低下を低減する。
これにより、他の通信装置から受信されるパケットの連続性に応じて、確認応答の送信頻度とともにタイムアウト時間を動的かつ可変に設定することができる。従って、他の装置との間の通信の状況にかかわらず、受信データに対する確認応答が適切に送信されて通信性能の低下が有効に低減される。
<他の実施形態>
なお、上述した各実施形態は、その複数を組み合わせて実現することが可能である。
また、本発明は、上述の実施形態の1以上の機能を実現するプログラムによっても実現可能である。すなわち、そのプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)における1つ以上のプロセッサーがプログラムを読出し実行する処理により実現可能である。また、そのプログラムをコンピュータ可読な記録媒体に記録して提供してもよい。
また、上述した各実施形態を、複数の機器、例えば、ホストコンピュータ、インタフェース機器、撮像装置、ウェブアプリケーション等から構成されるシステムに適用してもよく、1つの機器からなる装置に適用してもよい。
また、コンピュータが読みだしたプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
1…通信装置、11…RAM、12…ROM、13…CPU、14…タイマ管理部、15…MAC、16…PHY、17…バス、21…制御部、22…LAN通信制御部、23…記憶制御部、24…TCP/IP通信制御部、25…ACK送信部、26…連続性判定部、27…ACK送信頻度変更部、28…輻輳ウインドウ推定部、29…第2のACK送信部、30…タイムアウト時間変更部

Claims (12)

  1. 他の装置からパケットを受信する受信手段と、
    前記受信手段により所定の数のパケットが受信された際に、前記他の装置へ確認応答を送信する送信手段と、
    前記受信手段によりパケットが連続して受信されているか否かを判定する判定手段と、
    パケットが連続して受信されていると判定された場合の方が、パケットが連続して受信されていると判定されなかった場合より前記所定の数が大きくなるよう前記所定の数を変更して、前記送信手段に、変更された前記所定の数のパケットが受信された際に前記他の装置へ前記確認応答を送信させるよう制御する制御手段と、
    を備えることを特徴とする通信装置。
  2. 前記制御手段は、パケットが連続して受信されていると判定された場合に、前記所定の数が大きくなるよう変更する、
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記制御手段は、パケットが連続して受信されていないと判定された場合に、前記所定の数が小さくなるよう変更する、
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 前記判定手段は、所定の時間内に受信されるパケットの数をカウントし、カウントされたパケットの数が閾値以上である場合に、パケットが連続して受信されていると判定する、
    ことを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記判定手段は、受信されたパケットごとにシーケンス番号およびペイロード長を取得し、前回受信されたパケットのシーケンス番号にペイロード長を加算した値が今回受信されたパケットのシーケンス番号と一致する場合に、今回受信された当該パケットの数をカウントする、
    ことを特徴とする請求項4に記載の通信装置。
  6. パケットを送信して当該パケットの往復遅延時間を計測する計測手段をさらに備え、
    前記判定手段は、前記計測手段により計測された前記往復遅延時間が所定の閾値未満である間に受信されたパケットの数をカウントする、
    ことを特徴とする請求項4に記載の通信装置。
  7. 前記他の通信装置の輻輳ウインドウサイズを算出する算出手段をさらに備え、
    前記判定手段は、前記算出手段により算出された前記他の通信装置の前記輻輳ウインドウサイズが所定の閾値以上である場合に、パケットが連続して受信されていると判定する、
    ことを特徴とする請求項1から6のいずれか1項に記載の通信装置。
  8. 前記算出手段は、前記他の通信装置から受信されるパケットを前記通信装置から送信されるパケットとした場合に適用すべき輻輳アルゴリズムに基づいて、前記他の通信の前記輻輳ウインドウサイズを算出する、
    ことを特徴とする請求項7に記載の通信装置。
  9. 前記判定手段によるパケットが連続して受信されているか否かの判定結果に基づいて、前記確認応答のタイムアウト時間を変更する変更手段をさらに備える、
    ことを特徴とする請求項1から8のいずれか1項に記載の通信装置。
  10. 前記変更手段は、パケットが連続して受信されていると判定された場合に、前記タイムアウト時間を短くなるよう変更し、パケットが連続して受信されていないと判定された場合に、前記タイムアウト時間を長くなるよう変更する、
    ことを特徴とする請求項9に記載の通信装置。
  11. 他の装置からパケットを受信するステップと、
    所定の数のパケットが受信された際に、前記他の装置へ確認応答を送信するステップと、
    パケットが連続して受信されているか否かを判定するステップと、
    パケットが連続して受信されていると判定された場合の方が、パケットが連続して受信されていると判定されなかった場合より前記所定の数が大きくなるよう前記所定の数を変更して、変更された前記所定の数のパケットが受信された際に前記他の装置へ前記確認応答が送信されるよう制御するステップと、
    を備えることを特徴とする通信装置の制御方法。
  12. コンピュータを、請求項1から10のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
JP2018156089A 2018-08-23 2018-08-23 通信装置、通信装置の制御方法およびプログラム Active JP7214396B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018156089A JP7214396B2 (ja) 2018-08-23 2018-08-23 通信装置、通信装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018156089A JP7214396B2 (ja) 2018-08-23 2018-08-23 通信装置、通信装置の制御方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2020031346A true JP2020031346A (ja) 2020-02-27
JP2020031346A5 JP2020031346A5 (ja) 2021-09-09
JP7214396B2 JP7214396B2 (ja) 2023-01-30

Family

ID=69624415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018156089A Active JP7214396B2 (ja) 2018-08-23 2018-08-23 通信装置、通信装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7214396B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11145989A (ja) * 1997-11-13 1999-05-28 Matsushita Electric Ind Co Ltd Atm通信装置及びatm通信方法
JP2004208032A (ja) * 2002-12-25 2004-07-22 Meta Protocol Kk 無線通信機能を備えたコンピュータのための通信制御方法、コンピュータ通信制御プログラム、それを格納したコンピュータおよび記録媒体
JP2005086375A (ja) * 2003-09-05 2005-03-31 Ntt Docomo Inc パケット送信量制御方法、通信システム、通信装置及びプログラム
JP2006060674A (ja) * 2004-08-23 2006-03-02 Nec Corp 通信装置、データ通信方法およびプログラム
JP2007235976A (ja) * 2007-03-27 2007-09-13 Kyocera Corp データ通信装置
WO2011052201A1 (ja) * 2009-11-02 2011-05-05 パナソニック株式会社 通信端末および通信方法
JP2016019198A (ja) * 2014-07-09 2016-02-01 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP2018085674A (ja) * 2016-11-25 2018-05-31 富士通株式会社 情報処理装置、分析プログラム及び分析方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11145989A (ja) * 1997-11-13 1999-05-28 Matsushita Electric Ind Co Ltd Atm通信装置及びatm通信方法
JP2004208032A (ja) * 2002-12-25 2004-07-22 Meta Protocol Kk 無線通信機能を備えたコンピュータのための通信制御方法、コンピュータ通信制御プログラム、それを格納したコンピュータおよび記録媒体
JP2005086375A (ja) * 2003-09-05 2005-03-31 Ntt Docomo Inc パケット送信量制御方法、通信システム、通信装置及びプログラム
JP2006060674A (ja) * 2004-08-23 2006-03-02 Nec Corp 通信装置、データ通信方法およびプログラム
JP2007235976A (ja) * 2007-03-27 2007-09-13 Kyocera Corp データ通信装置
WO2011052201A1 (ja) * 2009-11-02 2011-05-05 パナソニック株式会社 通信端末および通信方法
JP2016019198A (ja) * 2014-07-09 2016-02-01 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP2018085674A (ja) * 2016-11-25 2018-05-31 富士通株式会社 情報処理装置、分析プログラム及び分析方法

Also Published As

Publication number Publication date
JP7214396B2 (ja) 2023-01-30

Similar Documents

Publication Publication Date Title
US10924421B2 (en) Packet transmission method, terminal, network device, and communications system
US9641650B2 (en) TCP proxy server
US9124547B2 (en) System and method for enforcing uplink wireless medium usage in wireless networks
EP3648503A1 (en) Congestion control method and related device
US9674101B2 (en) Communication device, transmission data output control method, and program for same
US10412634B2 (en) Predictive adaptive queue management
US10524175B2 (en) Data transmission method and network device
WO2018177014A1 (zh) 一种调整终端发送数据的速率的方法及装置
KR20170142513A (ko) 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
US20140325064A1 (en) Controlling Establishment of Multiple TCP Connections
KR20190011898A (ko) 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법
JP6217424B2 (ja) 制御装置及び制御方法
US20080285447A1 (en) Session Relaying Apparatus, Session Relay Method, and Session Relay Program
JP7214396B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP6758858B2 (ja) 通信装置、通信方法及びプログラム
JP6223942B2 (ja) 無線通信環境に応じてアグリゲーション量を変更可能な無線通信装置、無線通信プログラム及び方法
EP2890179A1 (en) Method, apparatus and computer program for data transfer
JP7286513B2 (ja) 通信装置、通信装置の制御方法、及びプログラム
JP2016019198A (ja) 通信装置、通信装置の制御方法、プログラム
JP6897769B2 (ja) データ送信装置、方法およびプログラム
US20230137775A1 (en) Base station, wireless communication system, and wireless communication method
JP6568571B2 (ja) データ転送装置、データ転送方法および通信装置
JP6174365B2 (ja) 基地局及び方法
US20150295957A1 (en) Data transmitting device, data transmitting method, and communication device
JP2016096391A (ja) 通信装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230118

R151 Written notification of patent or utility model registration

Ref document number: 7214396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151