JP2022146257A - 通信装置及びプログラム - Google Patents

通信装置及びプログラム Download PDF

Info

Publication number
JP2022146257A
JP2022146257A JP2021047133A JP2021047133A JP2022146257A JP 2022146257 A JP2022146257 A JP 2022146257A JP 2021047133 A JP2021047133 A JP 2021047133A JP 2021047133 A JP2021047133 A JP 2021047133A JP 2022146257 A JP2022146257 A JP 2022146257A
Authority
JP
Japan
Prior art keywords
time
tcp
communication
unit
communication session
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.)
Pending
Application number
JP2021047133A
Other languages
English (en)
Inventor
久志 河之口
Hisashi Kawanoguchi
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.)
Denso Wave Inc
Original Assignee
Denso Wave 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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2021047133A priority Critical patent/JP2022146257A/ja
Publication of JP2022146257A publication Critical patent/JP2022146257A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】応答信号を送信する時間間隔を調整することで無駄な待ち時間を低減し得る構成を提供する。【解決手段】サーバ1から受信したパケットに対応するTCPACKが、制御部11にてなされるTCP遅延ACK時間設定処理により設定されたTCP遅延ACK時間Tdでサーバ1に送信される。上記TCP遅延ACK時間設定処理では、1回の通信セッションにてTCPACKの送信回数Nが計数され、上記通信セッションにて最後のパケットが受信されてからTCPACKが送信されるまでの経過時間Tpが計時される。そして、上記TCP遅延ACK時間設定処理では、仮TCP遅延ACK時間Tdoにて通信セッションが行われた際に、仮TCP遅延ACK時間Tdoと送信回数Nと経過時間Tpとに基づいて、上記通信セッションにて受信に要した時間がデータ通信時間Trとして算出されると、このデータ通信時間Trを送信回数Nで除算した値に近づくようにTCP遅延ACK時間Tdが調整される。【選択図】図4

Description

本発明は、受信したパケットに対応する応答信号を送信する通信装置及びプログラムに関するものである。
TCP(Transmission Control Protocol)プロトコルの仕様として通信を高速化するため、複数のTCPデータのパケットを外部機器から受信した際に、パケットが受信されたことを通知する応答信号として、TCPACKをその外部機器に送信する技術が知られている。このような構成では、複数のTCPデータのパケットを受信するために、TCPACKを直ちに送信せずに、その送信を一定時間(TCP遅延ACK時間)だけ待つ機能がある。
このようなTCPACK(TCP遅延ACK)に関する技術として、例えば、下記特許文献1に開示される通信装置が知られている。この通信装置では、送信装置の輻輳ウィンドウ(複数のパケットをまとめて送信する際の最大データサイズ)が十分に大きくなると、1つのTCP遅延ACKに対応するパケットの数を増加させてTCP遅延ACKの送信頻度を削減し、送信装置の輻輳ウィンドウが小さくなるような状況が検知されると、1つのTCP遅延ACKに対応するパケットの数を低下させてTCP遅延ACKの送信頻度を増加させる。これにより、送信装置の輻輳ウィンドウが小さくなるような状況が検知されると、TCP遅延ACKを送信するまでの時間が短縮されるので、送信装置において応答信号の受信に失敗する可能性のある状況であっても、スプリアス再送が発生する可能性を低減することができる。
特開2016-019198号公報
ところで、TCPACKの送信を待つTCP遅延ACK時間に関して、TCP遅延ACK時間よりも早く通信が終了したために、最後のパケットが受信されてから応答信号としてTCPACKを送信するまでの無駄な待ち時間が発生してしまうという問題がある。特に、通信するパケットの総数が非常に少ない場合には、通信セッションが完了するまでの時間に対して上記待ち時間が相対的に長くなり、上記問題が顕著になる。上記特許文献1に開示される通信装置でも、送信装置の輻輳ウィンドウが小さくなるような状況が検知されない限りTCP遅延ACK時間が変わることもないので、同様の問題が生じることになる。
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、応答信号を送信する時間間隔を調整することで無駄な待ち時間を低減し得る構成を提供することにある。
上記目的を達成するため、特許請求の範囲の請求項1に記載の通信装置(10)は、
外部機器(1)からの1回の通信セッションで複数のパケットを受信する受信部(16)と、
前記受信部が受信したパケットに対応する応答信号を所定の時間間隔(Td)で前記外部機器に送信する送信部(16)と、
前記所定の時間間隔を設定する設定部(11)と、
前記通信セッションにて前記送信部から前記応答信号が送信された送信回数(N)を計数する計数部(11)と、
前記通信セッションにて最後のパケットが受信されてから前記応答信号が送信されるまでの経過時間(Tp)を計時する計時部(11)と、
を備え、
前記設定部は、
前記所定の時間間隔として仮に設定した仮時間間隔にて前記通信セッションが行われた際に、前記仮時間間隔と前記計数部により計数された前記送信回数と前記計時部により計時された前記経過時間とに基づいて、前記通信セッションにて受信に要した時間をデータ通信時間(Tr)として算出するデータ通信時間算出部(11)を備え、
前記データ通信時間算出部により算出された前記データ通信時間を前記送信回数で除算した値に近づくように前記所定の時間間隔を調整することを特徴とする。
なお、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
請求項1の発明では、受信部にて外部機器から受信したパケットに対応する応答信号が、設定部により設定された所定の時間間隔で送信部により上記外部機器に送信される。また、1回の通信セッションにて送信部からの応答信号の送信回数が計数部により計数され、上記通信セッションにて最後のパケットが受信されてから応答信号が送信されるまでの経過時間が計時部により計時される。そして、設定部では、所定の時間間隔として仮に設定した仮時間間隔にて通信セッションが行われた際に、仮時間間隔と計数部により計数された送信回数と計時部により計時された経過時間とに基づいて、上記通信セッションにて受信に要した時間がデータ通信時間としてデータ通信時間算出部により算出されると、このデータ通信時間を送信回数で除算した値に近づくように所定の時間間隔が調整される。
データ通信時間を送信回数で除算した際の剰余が大きくなるほど、最後のパケットが受信されてから応答信号が送信されるまでの経過時間が長くなる。このため、データ通信時間を送信回数で除算した値に近づくように所定の時間間隔を設定することで、上記剰余が小さくなるので、上記経過時間を短くすることができる。これにより、応答信号を送信する時間間隔を調整することで無駄な待ち時間を低減することができる。
請求項2の発明では、設定部により調整された所定の時間間隔が通信セッションごとに記憶部に記憶される。そして、設定部では、所定のタイミングにて、記憶部に記憶される複数の所定の時間間隔の少なくとも一部の平均値に一致するように所定の時間間隔が調整される。これにより、データ通信時間が多少ばらつくような通信セッションが続く場合でも、それぞれの通信セッションでの無駄な待ち時間を平均的に低減することができる。
請求項3の発明のように、応答信号は、TCP(Transmission Control Protocol)で規定されたTCP遅延ACKとすることができる。
請求項4の発明によれば、請求項1と同様の効果を奏するプログラムを実現することができる。
第1実施形態に係る携帯端末とサーバとが所定のネットワークを介して通信可能に接続された状態を説明する説明図である。 図1の携帯端末の概略構成を示すブロック図である。 調整されないTCP遅延ACK時間にてなされた通信セッションでのデータ通信時間と通信完了時間との関係を説明する説明図である。 第1実施形態において制御部にてなされるTCP遅延ACK時間設定処理の流れを例示するフローチャートである。 TCP遅延ACK時間設定処理にて調整されたTCP遅延ACK時間にてなされた通信セッションでのデータ通信時間と通信完了時間との関係を説明する説明図である。
[第1実施形態]
以下、本発明に係る通信装置を携帯端末に適用した第1実施形態について、図面を参照して説明する。
図1に示す携帯端末10は、TCPに準拠した通信を行うことで、サーバ1などの外部機器とのデータ通信を実現する通信装置である。本実施形態では、携帯端末10は、ユーザによって携帯されて、様々な場所でQRコード(登録商標)などの情報コードを光学的に読み取る際に用いられる携帯型の情報読取装置として構成されている。
携帯端末10は、図2に示すように、CPU等からなる制御部11、ROM、RAMなどの半導体メモリ等からなる記憶部12、カメラとして構成される撮像部13、制御部11によって表示内容が制御されるタッチパネル式の表示部14、タッチパネルに対するタッチ操作やキー操作に応じた操作信号を制御部11に出力する操作部15、所定のネットワーク2等を介してTCPに準拠した無線通信又は有線通信を行うための通信部16などを備えている。この携帯端末10は、後述するTCP遅延ACK時間設定処理等を実行するためのアプリケーションプログラムがコンピュータとして機能する制御部11にて実行可能にインストールされることで、通信装置として機能するように構成されている。
このように構成される携帯端末10では、サーバ1とのデータ通信時に、受信部として機能する通信部16を介した複数のTCPデータのパケットの受信に応じて、一定時間(TCP遅延ACK時間)経過後に、送信部として機能する通信部16を介してTCPACK(TCP遅延ACK)が応答信号としてサーバ1に対して送信される。
特に、本実施形態では、サーバ1との通信セッション(TCPセッション)に応じてTCP遅延ACK時間を調整することで、通信セッションが完了するまでの時間(以下、通信完了時間Tsともいう)の短縮を図っている。このように、TCP遅延ACK時間を調整する本実施形態の特徴的構成について、以下に説明する。
予め決められたTCP遅延ACK時間TdにてTCPACKをサーバ1に対して送信する際、例えば、図3に例示するように、送信回数Nが3回目となるTCPACKが送信される前に、TCPデータの受信が完了する場合を想定する。このような場合、最後のパケットが受信されてから応答信号としてTCPACKを送信するまでの待ち時間(以下、経過時間Tpともいう)が発生し、この経過時間Tpが無駄な待ち時間となる。
通信するパケットの総数が非常に多い場合には、TCPデータの受信に要したデータ通信時間Trと通信セッションが完了するまでの通信完了時間Tsとが、経過時間Tpの値に関わらずほぼ一致する。その一方で、通信するパケットの総数が非常に少ない場合には、経過時間Tpの値によっては、データ通信時間Trと通信完了時間Tsとの差が大きくなるために、通信完了時間Tsに対する経過時間Tpの影響が大きくなり、無駄な待ち時間が相対的に長くなってしまう。
例えば、TCP遅延ACK時間Tdが200msに設定されており、データ通信時間Trが500msとなるTCPデータが3回のTCPACKの送信(送信回数N=3)で送信される場合には、経過時間Tpが100ms、通信完了時間Tsが600msとなる。このため、データ通信時間Tr(500ms)と通信完了時間Ts(600ms)との差が大きくなるために、無駄な待ち時間(経過時間Tp)が相対的に長くなってしまう。
そこで、本実施形態では、サーバ1との通信セッションに応じて、経過時間Tpを短くするように調整される最適なTCP遅延ACK時間Tdを設定(算出)するためのTCP遅延ACK時間設定処理を制御部11にて行う。そして、このように設定されたTCP遅延ACK時間Tdが記憶部12に記憶されると、以降の通信セッションでは、その記憶部12に記憶されたTCP遅延ACK時間Tdに調整されてサーバ1と通信を行う。なお、TCP遅延ACK時間Tdは、「所定の時間間隔」の一例に相当し、TCP遅延ACK時間設定処理を行う制御部11は、「設定部」の一例に相当し得る。
以下、算出されたTCP遅延ACK時間Tdが記憶部12に記憶されていない場合に、制御部11にてなされるTCP遅延ACK時間設定処理について、図4に示すフローチャートを参照して詳述する。
サーバ1との通信セッションが開始されることで、制御部11にてTCP遅延ACK時間設定処理が開始されると、図4のステップS101に示す判定処理にて、サーバ1からTCPデータのパケットを受信しているか否かについて判定される。ここで、TCPデータのパケットを受信していない場合には(S101でNo)、ステップS103の判定処理にて、通信セッションが終了しているか否かについて判定される。そして、通信セッションが終了していない場合には、TCPデータのパケットが受信されるまで、ステップS101,S103にてNoとの判定が繰り返される。
そして、サーバ1からTCPデータのパケットが受信されると(S101でYes)、そのTCPデータのパケットが記憶部12に一時的に格納される(S105)。次に、ステップS107に示す計時処理がなされ、TCPデータのパケットを受信してからの時間(以下、未受信時間ともいう)を計時するための処理が開始される。
続いて、ステップS109に示す判定処理にて、上記通信セッションの開始からの時間又は前回TCPACKを送信してからの時間が、TCP遅延ACK時間として仮に設定された時間(以下、仮TCP遅延ACK時間Tdoともいう)を経過しているか否かについて判定される。ここで、上記通信セッションの開始からの時間又は前回TCPACKを送信してからの時間が、仮TCP遅延ACK時間Tdoを経過していない場合には(S109でNo)、ステップS111の判定処理にて、次のTCPデータのパケットが受信されているか否かについて判定される。そして、次のTCPデータのパケットが受信されておらず、仮TCP遅延ACK時間Tdoを経過していない場合には、ステップS109,S111にてNoとの判定が繰り返される。なお、上記仮TCP遅延ACK時間Tdoは、「仮時間間隔」の一例に相当し得る。
上記繰り返し処理中に、サーバ1から次のTCPデータのパケットが受信されると(S111でYes)、そのTCPデータのパケットが記憶部12に一時的に格納され(S105)、ステップS107に示す計時処理にて、未受信時間がリセットされて、0からの計時が再開される。
その後、上記通信セッションの開始からの時間又は前回TCPACKを送信してからの時間が、仮TCP遅延ACK時間Tdoを経過すると(S109でYes)、未受信時間の計時が終了し(S113)、サーバ1に対してTCPACKが送信される(S115)。続いて、ステップS117に示す送信回数計数処理にて、送信回数Nが1加算される計数処理(インクリメント処理)がされた後、通信セッションが終了していない場合には(S103でNo)、上記ステップS101からの処理がなされる。なお、上記送信回数計数処理を行う制御部11は、「計数部」の一例に相当し得る。
上述のようにTCPACKが送信された後、TCPデータのパケットが受信されて格納されるごとにリセットされた未受信時間の計時が再開される処理が繰り返される。そして、再び仮TCP遅延ACK時間Tdoを経過すると(S109でYes)、未受信時間の計時が終了し(S113)、サーバ1に対してTCPACKが送信された後(S115)、送信回数Nが1加算される(S117)。
その後、図3の送信回数N=3となった以降のように、サーバ1に対してTCPACKが送信された後に、TCPデータのパケットが受信されることなく、通信セッションが終了すると(S103でYes)、ステップS119に示す経過時間計時処理がなされる。この処理では、ステップS113の処理にて計時が終了した時点での未受信時間が経過時間Tpとして計時される。なお、上述したステップS107,S113,S119の処理を行う制御部11は、経過時間Tpを計時する「計時部」の一例に相当し得る。
続いて、ステップS121に示すデータ通信時間算出処理がなされる。この処理では、仮TCP遅延ACK時間Tdoと送信回数Nと経過時間Tpとに基づいて、以下の式(1)により、通信セッションにて受信に要したデータ通信時間Trが算出される。
Tr=Tdo×N-Tp ・・・(1)
なお、上記データ通信時間算出処理を行う制御部11は、「データ通信時間算出部」の一例に相当し得る。
そして、ステップS123に示すTCP遅延ACK時間算出処理がなされる。この処理では、データ通信時間Trと送信回数Nとに基づいて、以下の式(2)により、その通信セッションに最適なTCP遅延ACK時間Tdが算出される。すなわち、データ通信時間Trを送信回数Nで除算した値に近づくようにTCP遅延ACK時間Tdが算出される。
Td=Tr/N ・・・(2)
続いて、ステップS125に示す記憶処理がなされ、上述のように算出されたTCP遅延ACK時間Tdが、通信セッションを特定する情報や当該通信セッションでのスループット等に関連付けられて、記憶部12に記憶されて、本TCP遅延ACK時間設定処理が終了する。
このように算出されたTCP遅延ACK時間Td等が既に記憶部12に記憶されている場合には、そのTCP遅延ACK時間Tdに調整してサーバ1との通信セッションを行う。これにより、通信条件がほぼ等しい通信セッションでは、経過時間Tpが短くなって無駄な待ち時間が低減される。例えば、図3に例示するような通信セッションから上記TCP遅延ACK時間設定処理にて設定されたTCP遅延ACK時間Tdに調整してサーバ1との通信セッションを行うことで、図5に例示するように、経過時間Tpが短くなって無駄な待ち時間が低減される。
以上説明したように、本実施形態に係る携帯端末10では、サーバ1から受信したパケットに対応するTCPACK(応答信号)が、制御部11にてなされるTCP遅延ACK時間設定処理により設定されたTCP遅延ACK時間(所定の時間間隔)Tdでサーバ1に送信される。上記TCP遅延ACK時間設定処理では、1回の通信セッションにてTCPACKの送信回数Nが計数され、上記通信セッションにて最後のパケットが受信されてからTCPACKが送信されるまでの経過時間Tpが計時される。そして、上記TCP遅延ACK時間設定処理では、仮TCP遅延ACK時間Tdoにて通信セッションが行われた際に、仮TCP遅延ACK時間Tdoと送信回数Nと経過時間Tpとに基づいて、上記通信セッションにて受信に要した時間がデータ通信時間Trとして算出されると、このデータ通信時間Trを送信回数Nで除算した値に近づくようにTCP遅延ACK時間Tdが調整される。
データ通信時間Trを送信回数Nで除算した際の剰余が大きくなるほど、最後のパケットが受信されてから応答信号が送信されるまでの経過時間Tpが長くなる。このため、データ通信時間Trを送信回数Nで除算した値に近づくようにTCP遅延ACK時間(所定の時間間隔)Tdを設定することで、上記剰余が小さくなるので、上記経過時間Tpを短くすることができる。これにより、TCPACK(応答信号)を送信する時間間隔を調整することで無駄な待ち時間を低減することができる。
なお、本発明は上記実施形態等に限定されるものではなく、例えば、以下のように具体化してもよい。
(1)1回のTCP遅延ACK時間設定処理にて設定されて記憶部12に記憶されるTCP遅延ACK時間Tdに調整されるようにしてサーバ1と通信が行われることに限らず、所定のタイミングにて、複数回の通信セッションごとにTCP遅延ACK時間設定処理にて設定されて記憶部12に記憶される2以上のTCP遅延ACK時間Tdの少なくとも一部の平均値に調整されるようにしてサーバ1と通信が行われてもよい。例えば、順次記憶される所定数のTCP遅延ACK時間Td間の差が所定値以内となったタイミングで、当該所定値以内となる各TCP遅延ACK時間Tdの平均値に調整されるようにしてサーバ1と通信が行われてもよい。これにより、データ通信時間Trが多少ばらつくような通信セッションが続く場合でも、それぞれの通信セッションでの無駄な待ち時間を平均的に低減することができる。
(2)本発明は、情報コードを光学的に読み取り可能な携帯型の情報読取装置に適用されることに限らず、例えば、他の機能を有する据え置き型の装置など、TCPに準拠した通信を行うことで外部機器とのデータ通信を実現する通信装置に適用することができる。
1…サーバ(外部機器)
10…携帯端末(通信装置)
11…制御部(設定部,計数部,計時部,データ通信時間算出部)
12…記憶部
16…通信部(受信部,送信部)
N…送信回数
Td…TCP遅延ACK時間(所定の時間間隔)
Tdo…仮TCP遅延ACK時間(仮時間間隔)
Tp…経過時間
Tr…データ通信時間
Ts…通信完了時間

Claims (4)

  1. 外部機器からの1回の通信セッションで複数のパケットを受信する受信部と、
    前記受信部が受信したパケットに対応する応答信号を所定の時間間隔で前記外部機器に送信する送信部と、
    前記所定の時間間隔を設定する設定部と、
    前記通信セッションにて前記送信部から前記応答信号が送信された送信回数を計数する計数部と、
    前記通信セッションにて最後のパケットが受信されてから前記応答信号が送信されるまでの経過時間を計時する計時部と、
    を備え、
    前記設定部は、
    前記所定の時間間隔として仮に設定した仮時間間隔にて前記通信セッションが行われた際に、前記仮時間間隔と前記計数部により計数された前記送信回数と前記計時部により計時された前記経過時間とに基づいて、前記通信セッションにて受信に要した時間をデータ通信時間として算出するデータ通信時間算出部を備え、
    前記データ通信時間算出部により算出された前記データ通信時間を前記送信回数で除算した値に近づくように前記所定の時間間隔を調整することを特徴とする通信装置。
  2. 前記設定部により調整された前記所定の時間間隔が前記通信セッションごとに記憶される記憶部を備え、
    前記設定部は、所定のタイミングにて、前記記憶部に記憶される複数の前記所定の時間間隔の少なくとも一部の平均値に一致するように前記所定の時間間隔を調整することを特徴とする請求項1に記載の通信装置。
  3. 前記応答信号は、TCP(Transmission Control Protocol)で規定されたTCP遅延ACKであることを特徴とする請求項1又は2に記載の通信装置。
  4. コンピュータを請求項1~3のいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2021047133A 2021-03-22 2021-03-22 通信装置及びプログラム Pending JP2022146257A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021047133A JP2022146257A (ja) 2021-03-22 2021-03-22 通信装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021047133A JP2022146257A (ja) 2021-03-22 2021-03-22 通信装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2022146257A true JP2022146257A (ja) 2022-10-05

Family

ID=83461283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021047133A Pending JP2022146257A (ja) 2021-03-22 2021-03-22 通信装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2022146257A (ja)

Similar Documents

Publication Publication Date Title
WO2018228368A1 (zh) 随机接入过程前导码重传计数的方法及终端
KR101624749B1 (ko) 패킷 기반 통신 시스템에서 단말의 절전 모드 제어 방법 및 장치
WO2018133590A1 (zh) 上行数据传输方法、装置及存储介质
US20180212836A1 (en) Method for evaluating performance of a data communication network
TWI657689B (zh) 通訊系統以及同步方法
CN104703288A (zh) 一种无线分布式网络中基于准随机退避策略的传输方法
US11777862B2 (en) Method of receiver window widening and autodrift calculation using packet timestamping
TW201320656A (zh) 無線網路裝置及其自動設定參數方法
CA2981712C (en) Techniques for optimizing network event timers
CN101827439B (zh) 时间对齐定时器调整方法及相关设备与系统
JP2022146257A (ja) 通信装置及びプログラム
WO2022027592A1 (en) Partial sensing enhancement for sl resource allocation
JP2015111916A (ja) BluetoothLowEnergyデバイスとして動作する時の低消費電力化のための方法および装置
WO2015131361A1 (zh) 一种降低wifi接入点功耗的方法及wifi接入点
US11412449B2 (en) Communicating in a wireless network
CN107925527B (zh) 控制数据分组传送的重试的方法、设备、装置和存储介质
US9769849B2 (en) System parameter optimization for delayed channel access protocol
TWI772574B (zh) 通用序列匯流排裝置及其操作方法
WO2012068982A1 (zh) 终端校准的实现方法和装置、以及终端
CN105338651A (zh) 配置有defer period的信道检测方法及装置
JP2009141898A (ja) 双方向無線システム
JP7063473B2 (ja) 無線通信装置、無線通信システム及び無線通信方法
JP2003283472A (ja) データ転送制御方法
TWI570538B (zh) 感測裝置、時序校準裝置、時序處理方法及時序校準方法
JP2009071468A (ja) パケット通信における通信方法及び装置