(58)【調査した分野】(Int.Cl.,DB名)
前記バッファ状況推定部は、自通信装置が送信した送信データ量と、前記確認応答から取得される端末装置が受信した受信データ量とを更に用いて、前記滞留データ量を算出する、請求項1又は2に記載の通信装置。
前記バッファ状況推定部は、前記端末装置の受信ウィンドウサイズの上限値と、前記基地局の前記送信バッファの前記滞留データ量の上限値の少なくともいずれか1つに基づき、前記滞留データ量を算出する、請求項1乃至3のいずれか一に記載の通信装置。
前記送信時刻計算部は、直近の応答信号の受信時刻からの経過時間と、直近のデータ送信時刻からの経過時間とのうち、いずれかが事前に設定した閾値に到達する時刻を前記追加送信時刻とする、請求項1乃至6のいずれか一に記載の通信装置。
【発明の概要】
【発明が解決しようとする課題】
【0009】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【0010】
上述の特許文献に開示された技術では、広帯域かつ高遅延環境であると判断された場合には、データを追加送信する。それにより、通信経路上の装置において送信バッファが空になることを防止する。しかし、当該技術では、基地局の送信バッファが空になる課題を解決しきれない。なぜならば、当該技術では、適切なタイミングでデータを追加送信することが出来ない場合があるからである。以下、上記問題点について詳細に説明する。
【0011】
一般的な通信標準においては、通信過程中のエラー発生が不可避である。そのため、一般的な通信標準においては、送信エラーの検出方法と再送制御方法が規定されている。
【0012】
例えば、一般的な通信標準においては、下位層において送信失敗した場合に、エラーを検出する方法が規定されている。また、一般的な通信標準においては、再送が発生する際に、再送成功まで上位層の通信を完了しないようにして、再送を制御する方法が規定されている。さらに、一般的な通信標準においては、下位層に再送が発生すると、後続のパケットは再送が完了するまで待機して、再送を制御する方法も規定されている。
【0013】
以下、
図2を参照しながら、送信側の端末装置がTCPプロトコルを使用して基地局を経由し、受信側の端末装置にデータを送信する場合を例示して説明する。
【0014】
図2は、基地局103のプロトコル構成の一例、及び端末装置のプロトコル構成例の一例を示すブロック図である。
【0015】
基地局103は、3GPP Rel.10以降の一般的な構成を備える。具体的には、基地局103は、基地局PDCP(Packet Data Convergence Protocol)層1031と、基地局RLC(Radio Link Control)層1032と、1又は2以上のMAC(Media Access Control)層と、1又は2以上の物理層と、を備える。基地局PDCP層1031は、基地局103のPDCP層である。基地局RLC層1032は、基地局103のRLC層である。
【0016】
なお、
図2には、基地局103と端末装置との関係を明確にするために、基地局103のU−Planeプロトコル以外の構成に関する記載を省略している。
図2においては、基地局103の2つのMAC層(基地局MAC層1033a、1033b)を示すが、これは、基地局103のMAC層の数を、2つに限定する趣旨ではない。同様に、
図2においては、基地局103の2つの物理層(基地局物理層1034a、1034b)を示すが、これは、基地局103の物理層の数を2つに限定する趣旨ではない。以下の説明では、基地局103のMAC層を、夫々、区別する必要がない場合、基地局MAC層1033と表記する。同様に、以下の説明では、基地局103の物理層を、夫々、区別する必要がない場合、基地局物理層1034と表記する。
【0017】
同様に、端末装置の通信手段である端末装置通信部121は、3GPP Rel.10以降の一般的な構成を備える。端末装置通信部121は、端末トランスポート層1210と、端末PDCP層1211と、端末RLC層1212と、1又は2以上のMAC層と、1又は2以上の物理層と、を備える。端末トランスポート層1210は、端末装置のトランスポート層である。端末PDCP層1211は、端末装置のPDCP層である。端末RLC層1212は、端末装置のRLC層である。
【0018】
図2においては、端末装置の2つのMAC層(端末MAC層1213a、1213b)を示すが、これは、端末装置のMAC層の数を2つに限定する趣旨ではない。同様に、
図2においては、端末装置の2つの物理層(端末物理層1214a、1214b)を示すが、これは、端末装置の物理層の数を2つに限定する趣旨ではない。以下の説明では、端末装置のMAC層を、夫々、区別する必要がない場合、端末MAC層1213と表記する。同様に、以下の説明では、端末装置の物理層を、夫々、区別する必要がない場合、端末物理層1214と表記する。
【0019】
3GPP(Third Generation Partnership Project)の標準モデルでは、基地局RLC層1032は、少なくとも1つの基地局MAC層1033と接続する。また、端末装置のRLC層(端末RLC層1212)は、少なくとも1つのMAC層(端末MAC層1213)と接続する。
【0020】
基地局MAC層1033が端末MAC層1213にデータを伝送完了すると、端末MAC層1213は、伝送完了のデータを端末RLC層1212に伝送する。同時に、端末MAC層1213が伝送完了の通知を、基地局MAC層1033に送信する。その後、端末RLC層1212はデータを正常に受信したことを、基地局RLC層1032に通知する。
【0021】
基地局MAC層1033と端末MAC層1213の間に伝送エラーが発生すると、端末MAC層1213はデータを端末RLC層1212に伝送できない。そのため、基地局MAC層1033と端末MAC層1213の間に伝送エラーが発生すると、端末MAC層1213は、端末RLC層およびその上位の端末PDCP層1211にもデータを転送できない。
【0022】
LTEにおいては、再送が発生した場合であっても、データの到着順序を保証する(RLCのACK(Acknowledgement)モード)。そのため、基地局RLC層1032と端末RLC層1212の間でパケットが再送される場合、端末RLC層1212に後続パケットが正常に届いても、再送されるパケットの受信が完了するまでは、後続パケットのデータを端末PDCP層1211に転送しない。さらに、端末PDCP層1211の上位である端末トランスポート層1210にもデータが転送されない。そのため、端末トランスポート層1210はデータを受信したことを示す通知(ACK)を、TCPの送信装置に送信できない。
【0023】
また、TCPの輻輳制御には、送信中でACK未確認のデータ量を上限に抑える機能があるため、端末トランスポート層1210からの送信完了通知(ACK)を受信しない限り、送信装置は新たなデータを送信しない。したがって、基地局RLC層1032と端末RLC層1212の間にあるパケットが再送される際、送信装置がACKパケットを受信するまで、後続データを送信しない。
【0024】
一方、基地局RLC層1032と端末RLC層1212の間にあるパケットが再送される場合、基地局RLC層1032と端末RLC層1212に再送されたパケット以降のパケットを逐次伝送する機能がある。その目的は、RLC層またはMAC層の再送が発生しても、基地局103と端末装置の間にデータ伝送を停止させないことである。そのため、RLC層の間に再送が発生しても、基地局103の送信バッファ(基地局PDCP層1031のバッファ)内に保存されたデータは逐次伝送される。その結果、基地局103の送信バッファ内に保存されたデータ量(いわゆる基地局103の送信バッファ内に滞留するデータ量)は減少する。
【0025】
その結果、送信側の端末装置の端末トランスポート層1210と基地局RLC層1032間に不具合が発生する。送信側の端末装置の端末トランスポート層1210と基地局RLC層1032間に不具合が発生すると、RLC再送が発生した場合に、送信側の端末装置の端末トランスポート層1210は、ACKを受信するまで新たなデータを送信できない。その結果、基地局103のバッファ(以下、基地局103の送信バッファと呼ぶ)内に保存されたデータ量が減少し、枯渇してしまう。それを回避するために、基地局103が、バッファの状態を送信側の端末装置に通知する方法が提案されている[特許文献2]が、基地局にバッファの状態を通知できる機能を実装するだけでなく、送信側の端末装置にも通知されるバッファ状態を受信できる機能を実装する必要があり、装置単体で課題を解決することができない。また、実用化コストも高くなる。また、特許文献2により、基地局情報を送信側に通知できるが、無線情報をACKに乗せて通知するため、送信装置はACKを受信するまで新なデータを送信できず、課題を解決できない。この状態が継続し、基地局103の送信バッファ内に保存されたデータ量がゼロになると、無線帯域に伝送能力があっても、伝送されるデータが存在しないので、通信速度の劣化が発生する。
【0026】
特許文献1の技術においては、通信装置におけるTCPの輻輳ウィンドウサイズと端末がTCP ACKによって通知する受信ウィンドウサイズとの関係の変化を用いて、データを追加送信するタイミングを決定する。上述したように、RLC層における再送は無線伝送のエラーを契機に突発的に発生する。そのため、特許文献1に記載の通信装置は、輻輳ウィンドウサイズと受信ウィンドウサイズの変化を観測しても、基地局のバッファ内のデータが0に減少したことを検知できない。その結果、特許文献1に記載の通信装置は、データを追加送信することが出来ず、通信速度の劣化が発生する場合がある。
【0027】
また、単に通信遅延が増大したことを以て、データの追加送信処理を実行する手法も考えうる。しかし、そのような手法を利用した場合、通信装置は、データの追加送信処理を開始するタイミングと、追加送信するデータ量を適切に設定できない。
【0028】
追加送信のデータ量が過小になれば、基地局バッファ内のデータが0になることによる通信速度劣化が発生する可能性がある。一方で、追加送信のデータ量が過大になれば、無線の伝送能力を超えたデータ量を送信してしまい、パケットロスや通信遅延の増大による通信品質の劣化を引き起こす可能性がある。
【0029】
本発明は以上の問題を鑑みてなされたものであって、通信速度の劣化を防止することに貢献する通信装置、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0030】
第1の視点によると、通信装置が提供される。前記通信装置は、基地局を介して端末装置にデータを送信する。
前記通信装置は、前記端末装置から確認応答を受信する、応答信号受信部を備える。
さらに、前記基地局と前記端末装置間の無線通信速度を算出し、前記基地局の送信バッファに滞留しているデータ量を滞留データ量として算出し、前記無線通信速度と前記滞留データ量と前記確認応答の受信時刻とに基づき、前記滞留データ量の変動を予測する、バッファ状況推定部を備える。
さらに、前記通信装置は、前記バッファ状況推定部が予測した前記変動に基づいて、前記端末装置に対する新規データの送信を行う時刻を追加送信時刻として計算する、送信時刻計算部を備える。
さらに、前記通信装置は、少なくとも前記追加送信時刻を経過した場合を条件に、所定の送信レートで、前記端末装置に前記新規データの送信を実施する、新規データ送信部を備える。
【0031】
第2の視点によると、通信システムが提供される。前記通信システムは、端末装置と、基地局と、通信装置とを含んで構成される。
前記端末装置は、ネットワークに接続する、端末装置通信部を備える。
前記基地局は、前記端末装置に送信予定のデータを格納する、送信バッファを備える。
前記通信装置は、前記基地局を介して、前記端末装置にデータを送信する。
さらに、前記通信装置は、前記端末装置から確認応答を受信する、応答信号受信部を備える。
さらに、前記通信装置は、前記基地局と前記端末装置間の無線通信速度を算出し、前記基地局の送信バッファに滞留しているデータ量を滞留データ量として算出し、前記無線通信速度と前記滞留データ量と前記確認応答の受信時刻とに基づき、前記滞留データ量の変動を予測する、バッファ状況推定部を備える。
さらに、前記通信装置は、前記バッファ状況推定部が予測した前記変動に基づいて、前記端末装置に対する新規データの送信を行う時刻を追加送信時刻として計算する、送信時刻計算部を備える。
さらに、前記通信装置は、少なくとも前記追加送信時刻を経過した場合を条件に、所定の送信レートで、前記端末装置に前記新規データの送信を実施する、新規データ送信部を備える。
【0032】
第3の視点によると、通信方法が提供される。前記通信方法は、端末装置から確認応答を受信するステップを含む。
さらに、前記通信方法は、前記基地局と前記端末装置間の無線通信速度を算出するステップを含む。
さらに、前記通信方法は、前記基地局の送信バッファに滞留しているデータ量を滞留データ量として算出するステップを含む。
さらに、前記通信方法は、前記無線通信速度と前記滞留データ量と前記確認応答の受信時刻とに基づき、前記滞留データ量の変動を予測するステップを含む。
さらに、前記通信方法は、前記変動に基づいて、前記端末装置に対する新規データの送信を行う時刻を追加送信時刻として計算するステップを含む。
さらに、前記通信方法は、少なくとも前記追加送信時刻を経過した場合を条件に、所定の送信レートで、前記端末装置に前記新規データの送信を実施するステップを含む。
なお、本方法は、基地局を介して端末装置にデータを送信する通信装置という、特定の機械に結び付けられている。
【0033】
第4の視点によると、プログラムが提供される。前記プログラムは、基地局を介して端末装置にデータを送信する通信装置を制御するコンピュータに実行させるプログラムである。
前記プログラムは、前記端末装置から確認応答を受信する処理を、前記コンピュータに実行させる。
さらに、前記通信方法は、前記基地局と前記端末装置間の無線通信速度を算出する処理を、前記コンピュータに実行させる。
さらに、前記通信方法は、前記基地局の送信バッファに滞留しているデータ量を滞留データ量として算出する処理を、前記コンピュータに実行させる。
前記プログラムは、前記無線通信速度と前記滞留データ量と前記確認応答の受信時刻とに基づき、前記滞留データ量の変動を予測する処理を、前記コンピュータに実行させる。
前記プログラムは、前記変動に基づいて、前記端末装置に対する新規データの送信を行う時刻を追加送信時刻として計算する処理を、前記コンピュータに実行させる。
前記プログラムは、少なくとも前記追加送信時刻を経過した場合を条件に、所定の送信レートで、前記端末装置に前記新規データの送信を実施する処理を、前記コンピュータに実行させる。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0034】
各視点によると、通信速度の劣化を防止することに貢献する通信装置、通信システム、通信方法及びプログラムが提供される。
【発明を実施するための形態】
【0036】
初めに、
図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各ブロック図のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。さらに、本願開示に示す回路図、ブロック図、内部構成図、接続図などにおいて、明示は省略するが、入力ポート及び出力ポートが各接続線の入力端及び出力端のそれぞれに存在する。入出力インターフェイスも同様である。
【0037】
上述の通り、通信速度の劣化を防止することに貢献する通信装置が望まれる。
【0038】
そこで、一例として、
図1に示す通信装置1を提供する。通信装置1は、基地局を介して端末装置にデータを送信する。通信装置1は、応答信号受信部2と、バッファ状況推定部3と、送信時刻計算部4と、新規データ送信部5とを備える。
【0039】
応答信号受信部2は、端末装置から確認応答を受信する。
【0040】
バッファ状況推定部3は、基地局と端末装置間の無線通信速度を算出し、基地局の送信しているデータ量を滞留データ量として算出し、無線通信速度と滞留データ量と確認応答の受信時刻とに基づき、滞留データ量の変動を予測する。
【0041】
送信時刻計算部4は、バッファ状況推定部3が予測した、基地局の滞留データの変動に基づいて、端末装置に対する新規データの送信を行う時刻を追加送信時刻として計算する。以下の説明では、追加データの送信処理を、追加送信処理とも呼ぶ。
【0042】
新規データ送信部5は、少なくとも追加送信時刻を経過した場合を条件に、所定の送信レートで、端末装置に新規データの送信を実施する。
【0043】
つまり、通信装置1は、少なくとも追加送信時刻を経過した場合を必要条件として、基地局の滞留データ量を考慮したうえで、新規データを送信するタイミングを決定する。そのため、通信装置1は、基地局の送信バッファが空になることを防止することに貢献する。その結果、通信装置1は、無線層において、新規データを伝送不可能になることを防止することに貢献する。従って、通信装置1は、通信速度の劣化を防止することに貢献する。
【0044】
[第1の実施形態]
第1の実施形態について、図面を用いて詳細に説明する。
【0045】
図3は、第1の実施形態に係る無線通信システムの全体構成の一例を示す図である。
【0046】
第1の実施形態に係る無線通信システムは、ネットワーク101−1〜101−n(nは、自然数。以下、同じ)を備える。ネットワーク101−1〜101−nは、異なる終端端末の通信種類(有線や無線)を含む。ネットワーク101−1〜101−nは、例えば、LTEの公衆携帯電話網、家庭用Wi−Fi(Wireless Fidelity)(登録商標、以下同じ)、建物内のLAN(Local Area Network)などである。
【0047】
例えば、ネットワーク101−1、101−2は、モバイルネットワークである。端末装置12−1は、基地局103−1を介して、ネットワーク101−1に接続する。端末装置12−2は、基地局103−2を介して、ネットワーク101−2に接続する。以下の説明では、端末装置12−1、12−2を、夫々、区別する必要がない場合、端末装置12と表記する。また、以下の説明では、基地局103−1、103−2を、夫々、区別する必要がない場合、基地局103と表記する。また、以下の説明では、ネットワーク101−1〜101−nを夫々、区別する必要がない場合、ネットワーク101と表記する。
【0048】
端末装置12は、対応するネットワーク101を経由し、インターネット104上のサーバ105にアクセスし、データ通信を行う。本発明の通信装置11は、LTE網を使用する端末装置12のみに適用されず、他の無線通信形式を使用した端末にも対応する。例えば、端末装置12は、Wi−Fi中継局を経由し、通信装置11と通信してもよい。以下、説明の便宜上、端末装置12は、LTE網を使用する場合を例示して説明する。ただし、これは、本実施形態に係る端末装置12が、LTE網を使用する場合に限定する趣旨ではない。
【0049】
本実施形態では、通信装置11が通信経路上、ネットワーク101とインターネット104の接続部に設置される場合を例に挙げる。もちろん、通信装置11の設置場所は、携帯ネットワークとインターネットの接続部に限定されず、接続部以外の他の通信経路上の装置であってもよい。例えば、通信装置11が、通信経路上のサーバ105に設置される場合であってもよい。
【0050】
[ハードウェア構成]
次に、第1の実施形態に係る各種装置のハードウェア構成を説明する。
図4は、第1の実施形態に係る通信装置11のハードウェア構成の一例を示すブロック図である。
【0051】
[通信装置の構成]
通信装置11は、例えば、
図4に例示する構成を含んで構成される。例えば、通信装置11は、内部バスにより相互に接続される、CPU(Central Processing Unit)81、メモリ82、入出力インターフェイス83、及び通信手段であるNIC(Network Interface Card)84等を含む。
【0052】
但し、
図4に示す構成は、通信装置11のハードウェア構成を限定する趣旨ではない。通信装置11は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス83を備えていなくともよい。また、通信装置11に含まれるCPU等の数も
図4の例示に限定する趣旨ではなく、例えば、通信装置11は、複数のCPUを含んで構成されてもよい。
【0053】
メモリ82は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
【0054】
入出力インターフェイス83は、図示しない表示装置や入力装置のインターフェイスとして機能する。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける。
【0055】
通信装置11の機能は、後述する各種処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ82に格納されたプログラムをCPU81が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新できる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、通信装置11は、上記処理モジュールが行う機能を何らかのハードウェア、及び/又は、ソフトウェアで実行する手段を含んで構成される。
【0056】
[端末装置の構成]
端末装置12は、例えば、
図5に例示する構成を備える。端末装置12は、アンテナ95を含むRF(Radio Frequency)回路94を含んで構成される。RF回路94は、無線通信を実現するための回路であり、アンテナ95を介して基地局103との間で無線信号の授受を行う。なお、端末装置12が備えるハードウェアのうち、通信装置11と共通するハードウェアの説明は省略する。
【0057】
基地局103のハードウェア構成は当業者にとって明らかなものであるため、説明を省略する。
【0058】
続いて、通信装置11及び端末装置12の処理構成(処理モジュール)について説明する。
【0059】
図6は、通信装置11と、端末装置12と、ネットワーク101を含むシステムの構成例を示すブロック図である。端末装置12は、端末装置通信部121を含んで構成される。ネットワーク101は、基地局103を含んで構成される。通信装置11は、応答信号受信部111と、バッファ状況推定部112と、送信時刻計算部113と、新規データ送信部114とを含んで構成される。
【0060】
端末装置12の端末装置通信部121は、ネットワーク101の基地局103と通信可能に接続される。ネットワーク101は、通信装置11の応答信号受信部111と通信可能に接続される。応答信号受信部111は、バッファ状況推定部112、送信時刻計算部113、新規データ送信部114と通信可能に接続される。送信時刻計算部113は、バッファ状況推定部112と新規データ送信部114とに、通信可能に接続される。
【0061】
応答信号受信部111は、端末装置12から応答信号を受信する。
【0062】
バッファ状況推定部112は、基地局103と端末装置12間の無線通信速度と、基地局103の送信バッファ以内の滞留データ量と、確認応答の受信時刻とに基づいて、基地局103の送信バッファ以内の滞留データ量の変動を予測する。
【0063】
送信時刻計算部113は、基地局103の送信バッファ以内の滞留データ量の変動に基づいて、端末装置12に対する新規データの追加送信時刻を計算する。
【0064】
新規データ送信部114は、少なくとも追加送信時刻を経過した場合、所定の送信レートで、端末装置12に新規データを送信する。
【0065】
以下、
図7を参照しながら、通信装置11の構成についてより詳細に説明する。
【0066】
図7は、
図6に示される応答信号受信部111の構成の一例を示すブロック図である。応答信号受信部111は、OSI(Open Systems Interconnection)参照モデルの一般的な構成を含んで構成される。具体的には、応答信号受信部111は、通信装置アプリケーション層1110、通信装置トランスポート層1111と、通信装置ネットワーク層1112と、通信装置MAC層1113と、通信装置物理層1114と、を含んで構成される。なお、
図7には、バッファ状況推定部112と、送信時刻計算部113と、新規データ送信部114との接続関係を明確にするために、応答信号受信部111に関連する構成以外の構成に関する記載を省略している。
【0067】
バッファ状況推定部112は、応答信号受信部111の通信装置トランスポート層1111から得られる情報(例えば、送信パケット、受信パケット)に基づき、基地局103のバッファ状況を算出する。具体的には、バッファ状況推定部112は、基地局103の滞留データ量が所定の閾値以下になると推定される時刻を、バッファ枯渇時刻として算出する。その後、バッファ状況推定部112は、算出したバッファ枯渇時刻を送信時刻計算部113に伝送する。
【0068】
また、バッファ状況推定部112は、通信装置トランスポート層1111と接続することを限定せず、応答信号受信部111の他の層(例えば、通信装置アプリケーション層1110)と接続してもよい。例えば、QUICなどのUDPに基づく通信プロトコルは、確認応答の信号は通信装置トランスポート層1111に伝送されず、通信装置アプリケーション層1110に伝送されたためである。
【0069】
送信時刻計算部113は、自通信装置11と端末装置12間の送信遅延と、確認応答の受信時刻と、バッファ枯渇時刻とに基づいて、追加送信時刻を算出する。送信時刻計算部113は、算出した追加送信時刻を新規データ送信部114に伝送する。また、送信時刻計算部113は、追加送信の送信レート(以下、追加送信レートと呼ぶ)を計算する。
【0070】
新規データ送信部114は、送信時刻計算部113から受信した追加送信時刻と、送信時刻計算部113から受信した追加送信レートとに基づいて、基地局103を経由し、端末装置12に、データを送信する。
【0071】
[通信装置の動作]
図8は、第1の実施形態に係る通信装置11の動作の一例を示すフローチャートである。
【0072】
まず、端末装置12は、通信装置11とのデータ通信を開始する。本実施形態に係る通信装置11と端末装置12間の通信プロトコルは、応答確認機能を有するプロトコルである。例えば、本実施形態に係る通信装置11と端末装置12間の通信プロトコルは、通信装置トランスポート層1111において確認応答を送信するTCP等であってもよい。もちろん、本実施形態に係る通信装置11と端末装置12間の通信プロトコルは、通信装置トランスポート層1111において確認応答を送信するプロトコルに限定されず、他の層において確認応答を送信するプロトコルに対応してもよい。
【0073】
バッファ状況推定部112は、往復遅延、インフライトデータ量、TCPスループット等を、応答信号受信部111から通信情報として取得する(ステップS11)。ここで、インフライトデータ量とは、TCPにおいて送信成功かつ受信成功した、未確認のデータ量を意味する。また、ここで、TCPスループットとは、TCPにおける、直近の所定時間内のスループットを意味する。
【0074】
例えば、バッファ状況推定部112は、直近の所定の時間内に、受信完了したパケットの総ビット数を、当該所定時間で割った値を、TCPスループットとして使用してもよい。または、バッファ状況推定部112は、単位時間当たりのTCPスループットを算出し、算出した単位時間当たりのTCPスループットの平均値を使用しても良い。または、バッファ状況推定部112は、単位時間当たりのTCPスループットを算出し、算出した単位時間当たりのTCPスループットの移動平均値を使用しても良い。
【0075】
そして、バッファ状況推定部112は、基地局103の滞留データ量、及びバッファ枯渇時刻を計算する(ステップS12)。具体的には、バッファ状況推定部112は、取得した通信情報を使用し、基地局103の滞留データ量、及びバッファ枯渇時刻を計算する。そして、バッファ状況推定部112は、算出したバッファ枯渇時刻を送信時刻計算部113に伝送する。
【0076】
例えば、バッファ状況推定部112は、自通信装置11が送信した送信データ量と、端末装置12が受信した受信データ量とに基づいて、基地局103の滞留データ量を算出してもよい。ここで、端末装置12が、当該端末装置12が受信できるデータ量の上限値を、通信装置11に通知してもよい。例えば、バッファ状況推定部112は、TCPヘッダに記載された値を、端末装置12が受信できるデータ量の上限値として使用してもよい。
【0077】
または、バッファ状況推定部112は、端末装置12の受信ウィンドウサイズの上限値に基づいて、滞留データ量を算出してもよい。
【0078】
または、バッファ状況推定部112は、基地局103の送信バッファの滞留データ量の上限値に基づいて、基地局103の滞留データ量を算出してもよい。
【0079】
そして、基準時刻から、T秒後(Tは0より大きい整数。以下、同様。)に、基地局103の送信バッファ内の滞留データ量が所定の閾値以下になる(例えば、ゼロになる)、とバッファ状況推定部112は計算したとする。その場合、バッファ状況推定部112は、その基準時刻からT秒後の時刻を、バッファ枯渇時刻として算出する。ここで、基準時刻は、例えば、バッファ状況推定部112が、バッファ枯渇時刻を算出する時点の時刻であってもよい。また、基準時刻は、例えば、通信装置11がデータを送信した、直近の時刻等であってもよい。
【0080】
ここで、通信装置11が基地局103に新たなデータを送信しない場合、基地局103の送信バッファ内の滞留データ量は所定の速度で消耗する。そのため、バッファ状況推定部112は、基地局103の送信バッファ内の滞留データ量と無線通信速度とを除算することで、バッファ枯渇時刻を計算してもよい。
【0081】
バッファ状況推定部112は、送信側の端末装置12が取得した通信情報、または通信装置11が取得した通信情報に基づいて、基地局103の送信バッファ内の滞留データ量または無線通信速度を計算してもよい。
【0082】
また、例えば、バッファ状況推定部112は、直近の所定時間内のTCPスループットを、無線通信速度の近似値として使用してもよい。
【0083】
また、例えば、バッファ状況推定部112は、直近の所定時間内のTCPスループットに基づいてキャリアアグリゲーションの状況を加味して計算された値を、無線通信速度の近似値として算出してもよい。LTEのキャリアアグリゲーション技術が適用される場合、無線通信速度劣化の発生頻度が上昇する。そのため、バッファ状況推定部112は、キャリアアグリゲーション技術が適用された端末装置12に関して、直近の所定時間のTCPスループットと、端末装置12が使用するコンポーネントキャリア数とを計算する。それにより、バッファ状況推定部112は、無線通信速度の近似値を算出する。
【0084】
例えば、バッファ状況推定部112は、TCPスループット*f(N_CC)を用いて、無線通信速度の近似値を算出してもよい。
【0085】
ここで、f(N_CC)は、端末装置12が使用するコンポーネントキャリア数に対応する、TCPスループットある。バッファ状況推定部112は、コンポーネントキャリア数毎に、異なるTCPスループットを利用して、無線通信速度の近似値を算出してもよい(例えば、f(1)=1.0, f(2)=1.02, f(3)=1.04等)。
【0086】
また、バッファ状況推定部112は、端末装置12が使用するコンポーネントキャリア数を推定するために、キャリアアグリゲーション技術を利用するとする。その場合、コンポーネントキャリア数が増加するほど無線通信速度劣化の発生頻度が上昇する。そこで、バッファ状況推定部112は、この特性を利用し、確認応答(例えばACK信号)の到着間隔がある閾値を超えた頻度(所定時間内の発生回数)に基づいて、コンポーネントキャリア数を推定してもよい。
【0087】
その後、送信時刻計算部113は、追加送信時刻を計算する(ステップS13)。具体的には、送信時刻計算部113は、新規データ送信部114が送信したデータが、応答信号受信部111から基地局103の送信バッファに到着するまでの時間(即ち、送信遅延)を考慮し、追加送信時刻を計算する。これは、基地局103のバッファが空になることを防止するためである。
【0088】
例えば、送信時刻計算部113は、通信装置11と端末装置12間の往復遅延(RTT)に基づいて、往復遅延の半分(RTT/2)を、送信遅延として算出する。
【0089】
送信時刻計算部113は、往復遅延について、現在のTCPセッション、または同じ端末装置12に対する複数のTCPセッション中の最小のRTT、または直近時間内の最小のRTTを使用してもよい。これにより、送信時刻計算部113は、基地局103のキューイング遅延を排除した、実効的最小遅延を利用できる。
【0090】
また、送信時刻計算部113は、パケットに記載されたタイムスタンプに基づいて、送信遅延を計算してもよい。例えば、
図9に示すように、通信装置11がパケットを送信した時刻をTaとし、通信装置11がパケットを受信した時刻をTbとする。その場合、RTTはTb−Taである。しかし、端末装置12において、受信したパケットを処理するために、処理時間を要する。そのため、送信時刻計算部113は、実効的片道遅延を計算する際、端末装置12の処理時間(Ty−Tx)を除去する。よって、端末装置12がTx、Tyの時刻をパケットに記載する場合、送信時刻計算部113は、((Tb−Ta)−(Ty−Tx))を使用して、送信データが、応答信号受信部111から基地局103の送信バッファに到着するまでの時間を計算する。なお、例えば、端末装置12は、TCPのヘッダのオプションフィールドを利用して、時刻Tx、時刻Tyをパケットに記載してもよい。
【0091】
ステップS14において、追加送信時刻を越える場合であって、且つ応答信号受信部111が新たなACKを未受信であるか否かを、送信時刻計算部113は判断する。
【0092】
追加送信時刻を越える場合であって、且つ測定期間中に応答信号受信部111が新たなACKを未受信である場合(ステップS14のYes分岐)には、送信時刻計算部113は、追加送信処理を実行する。そして、ステップS15に遷移する。
【0093】
例えば、応答信号受信部111がACK信号を受信した場合、送信時刻計算部113は、タイマを起動してもよい。そして、送信時刻計算部113は、タイマを起動開始してからの経過時間を測定してもよい。
【0094】
一方、追加送信時刻を超えるまでに、応答信号受信部111が新たなACKを受信した場合(ステップS14のNo分岐)には、ステップS12に戻り、処理を継続する。
【0095】
次に、
図2をさらに参照しながら、送信時刻計算部113が、追加送信の要否を判断する処理について詳細に説明する。
【0096】
LTEの標準モデルにおいては、任意の基地局MAC層1033と端末MAC層1213間に伝送エラーが発生した場合、端末トランスポート層1210のACKの受信間隔の延長が発生する。端末トランスポート層1210において、端末装置12が、所定時間内にTCP ACKを受信できない場合、基地局RLC層1032が再送を実施している、と端末装置通信部121は推定する。
【0097】
この場合、端末装置通信部121は、TCP ACKを受信できない。しかし、基地局103の送信バッファ内の滞留データ量が逐次減少している、とバッファ状況推定部112は推定する。そのため、送信時刻計算部113は、追加送信の要否を判断する。
【0098】
また、バッファ状況推定部112は、TCP ACKに替えて、他のプロトコルの確認応答を使用して、基地局103の送信バッファ内の滞留データ量を推定してもよい。例えば、バッファ状況推定部112は、QUIC(Quick UDP Internet Connections)、MQTT(Message Queue Telemetry Transport)の応答信号を使用して、基地局103の送信バッファ内の滞留データ量を推定してもよい。通信装置11が他のプロトコルの応答信号を使用する場合、応答信号は端末トランスポート層1210に伝送されることに限定されず、他の層(例えば、アプリケーション層)に伝送されてもよい。なお、以下、説明の便宜上、端末トランスポート層1210のTCPを使用して、応答信号を伝送する場合について説明する。ただし、これは、本実施形態に係る端末装置12が、端末トランスポート層1210のTCPを使用して、応答信号を伝送する場合に限定する趣旨ではない。
【0099】
送信時刻計算部113は、応答信号受信部111が直近のACKを受信してからの経過時間を測定する。また、通信装置トランスポート層1111に、同じ端末装置12に対する複数のTCPセッションが同時に通信する場合、送信時刻計算部113は、複数のTCPセッションのうち、直近のACKを受信した時刻からの経過時間を測定する。また、送信時刻計算部113は、応答信号受信部111が直近のパケットを送信してからの経過時間を測定してもよい。
【0100】
ステップS15において、送信時刻計算部113は、送信レートを計算する。
【0101】
例えば、直近の所定時間内の無線通信速度を、送信レートとして計算してもよい。また、送信時刻計算部113は、他の通信特性を使用して、送信レートを推定してもよい。
【0102】
また、例えば、送信時刻計算部113は、直近の所定時間内のTCPスループットまたは直近の所定時間内のTCP送信レートを近似して、送信レートとして計算してもよい。また、送信時刻計算部113は、TCPセッション中の最大のTCPスループット、または直近の所定時間内の最大のTCPスループットを使用して、送信レートを計算してもよい。
【0103】
また、通信装置11が、同じ端末装置12と複数のTCPセッションを張ったとする。その場合、送信時刻計算部113は、複数のTCPセッションのTCPスループットの合算、または直近の所定時間内の複数のTCPセッションのTCPスループットの合算の最大値を使用して、送信レートを計算してもよい。
【0104】
さらに、キャリアアグリゲーション技術が適用されるとき、無線通信速度劣化の発生頻度が上昇する。そのため、キャリアアグリゲーション技術が適用された端末装置12に対し、通信装置11は、さらに高い送信レートで送信してもよい。
【0105】
送信時刻計算部113は、例えば、バッファ状況推定部112が無線通信速度を近似する際と同様の計算を使用して、送信レートを計算する。その後、送信時刻計算部113は、計算した送信レートを、新規データ送信部114に伝送する。
【0106】
ステップS16において、新規データ送信部114は、新規データを送信する。
【0107】
一般的に、TCPにおいては、輻輳制御のため、送信に成功したデータ量であっても未確認のデータ量を所定の値に抑える仕組みがある。具体的には、一般的に、TCPにおいては、データのインフライト量が、輻輳ウィンドウ(cwnd)サイズを超えないように制御する。また、一般的に、TCPにおいては、受信側から返信したACKパケットのヘッダに含まれた受信ウィンドウ(rwnd)サイズを超えないように制御する。
【0108】
一方、本実施形態に係る通信装置11は、輻輳ウィンドウ(cwnd)サイズ、またはACKパケットのヘッダに含まれた受信ウィンドウ(rwnd)サイズ、または通信装置トランスポート層1111のバッファの上限値、または基地局103の送信バッファの上限値の少なくとも1つの値を超えたデータを送信できる。そのため、新規データ送信部114は、新規データを送信する場合、輻輳ウィンドウ(cwnd)サイズ、ACKパケットのヘッダに含まれた受信ウィンドウ(rwnd)サイズ、または送信バッファのバッファサイズの制約を無視してデータを送信できる。
【0109】
[効果]
以上説明したように、第1の実施形態に係る通信装置11は、基地局103の無線通信特性に基づいて、基地局103の送信バッファ内の滞留データ量が所定の閾値以下になると推定される時刻(即ち、バッファ枯渇時刻)を予測する。その後、通信装置11は、基地局103の送信バッファ内の滞留データ量が所定の閾値以下になる(例えば、ゼロになる)前に、新規データ送信部114を経由し、基地局103に新規データを追加送信する。それにより、本実施形態に係る通信装置11は、基地局103の送信バッファ内の滞留データ量を、所定の閾値より大きい(例えば、ゼロより大きい)データ量に維持できる。それにより、通信装置11は、無線層において、新規データを伝送不可能になることを防止することに貢献する。その結果、通信装置11は、通信性能の低下を防止できる。
【0110】
[第2の実施形態]
次に、第2の実施形態について、図面を用いて詳細に説明する。本実施形態は、基地局から基地局に関する情報を取得し、取得した情報を使用して、バッファ枯渇時刻を予測する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
【0111】
[通信装置の構成]
図10は、第2の実施形態に係る通信装置21の構成の一例を示す図である。
【0112】
基地局情報取得部215は、基地局103から、基地局103に関する情報(以下、基地局情報と呼ぶ)を取得する。例えば、基地局情報取得部215は、基地局103の送信バッファの上限値(以下、バッファサイズの上限値とも呼ぶ)と、基地局103の送信バッファ内に滞留するデータ量とを、基地局情報として取得してもよい。また、例えば、基地局情報取得部215は、基地局103と端末装置12の無線通信速度、基地局103と端末装置12間の通信電波数(キャリアアグリゲーション状況)を、基地局情報とを取得してもよい。そして、基地局情報取得部215は、取得した基地局情報を、バッファ状況推定部212に伝送する。
【0113】
応答信号受信部211は、第1の実施形態に係る応答信号受信部111と同じ構成を有するため、説明を省略する。
【0114】
送信時刻計算部213は、第1の実施形態に係る送信時刻計算部113と同じ構成を有するため、説明を省略する。
【0115】
新規データ送信部214は、第1の実施形態に係る新規データ送信部114と同じ構成を有するため、説明を省略する。
【0116】
[通信装置の動作]
図11は、第2の実施形態に係る通信装置21の動作の一例を示すフローチャートである。
【0117】
まず、基地局情報取得部215は、基地局103から、基地局情報を取得する(ステップS21)。例えば、基地局情報取得部215は、基地局103から、送信バッファの上限値(バッファサイズの上限値)、送信バッファ内に滞留するデータ量、端末装置12との無線通信速度、端末装置12との通信電波数(キャリアアグリゲーション状況)のうち、少なくとも1つの情報を取得する。そして、基地局情報取得部215は、取得した基地局103からの情報を、バッファ状況推定部212に伝送する。
【0118】
バッファ状況推定部212は、往復遅延、インフライトデータ量、TCPスループットを、応答信号受信部211から通信情報として取得する(ステップS22)。
【0119】
バッファ状況推定部212は、基地局103の滞留データ量、及びバッファ枯渇時刻を計算する(ステップS23)。具体的には、バッファ状況推定部212は、応答信号受信部211から取得した通信情報と、基地局情報取得部215から取得した基地局情報とを使用し、基地局103の滞留データ量、及びバッファ枯渇時刻を計算する。
【0120】
例えば、バッファ状況推定部212は、応答信号受信部211から取得した通信情報と、基地局情報取得部215から取得した基地局情報とを組み合わせて、基地局103の滞留データ量、及びバッファ枯渇時刻を計算してもよい。または、バッファ状況推定部212は、応答信号受信部211から取得した通信情報と、基地局情報取得部215から取得した基地局情報とのうち、一方の情報を使用して、基地局103の滞留データ量、及びバッファ枯渇時刻を計算してもよい。
【0121】
例えば、新たなデータがない場合、基地局103の送信バッファ内の滞留データ量は所定の速度で消耗する。そのため、バッファ状況推定部212は、滞留データ量と無線通信速度とを除算することで、バッファ枯渇時刻を算出できる。具体的には、バッファ状況推定部212は、基地局103の送信バッファ内の滞留データ量と無線通信速度とを推定する。そして、バッファ状況推定部212は、推定した無線通信速度でデータを送信すると仮定して、推定した滞留データ量を送信し終える時刻を算出することで、バッファ枯渇時刻を計算する。
【0122】
バッファ状況推定部212は、基地局情報取得部215から取得した基地局情報を使用して、基地局103の送信バッファ内の滞留データ量と無線通信速度とを算出する。例えば、バッファ状況推定部212は、は、基地局情報取得部215から取得した基地局103の送信バッファ内の滞留データ量、基地局103の送信バッファの上限値の少なくともいずれかを使用して、基地局103の送信バッファ内の滞留データ量を算出する。
【0123】
また、例えば、バッファ状況推定部212は、基地局情報取得部215から取得した基地局103と端末装置12間の無線通信速度、または所定時間内の最大の無線通信速度を使用してもよい。
【0124】
そして、基準時刻から時間T秒経過後に基地局103の送信バッファ内の滞留データ量が所定の閾値以下になる(例えば、ゼロになる)、とバッファ状況推定部212は計算したとする。その場合、バッファ状況推定部212は、その基準時刻からT秒経過後の時刻を、バッファ枯渇時刻として算出する。そして、バッファ状況推定部212は、算出したバッファ枯渇時刻を送信時刻計算部213に伝送する。
【0125】
その後、送信時刻計算部213は、追加送信時刻を計算する(ステップS24)。具体的には、送信時刻計算部213は、追加送信したデータが、応答信号受信部211から基地局103の送信バッファに到着するまでの時間(即ち、送信遅延)を考慮し、追加送信時刻を算出する。ここで、送信時刻計算部213は、基地局103から通知する情報を使用して、追加送信時刻を算出してもよい。例えば、送信時刻計算部213は、基地局103と端末装置12間の往復遅延、または片道遅延、または基地局103から通知された情報中に記載されたタイムスタンプを使用して、追加送信時刻を算出してもよい。
【0126】
送信時刻計算部213は、応答信号受信部211が直近のACKを受信してからの経過時間を測定する。また、通信装置トランスポート層1111において、同じ端末装置12に対する複数のTCPセッションが同時に通信する場合、送信時刻計算部213は、複数のTCPセッションのうち、直近のACKを受信した時刻からの経過時間を測定する。また、送信時刻計算部213は、応答信号受信部211が直近のパケットを送信した時刻からの経過時間を測定してもよい。
【0127】
ステップS25において、追加送信時刻を越える場合であって、且つ測定期間中に応答信号受信部211が新たなACKを未受信であるか否かを、送信時刻計算部213は判断する。
【0128】
追加送信時刻を超える場合であって、且つ測定期間中に応答信号受信部211が新たなACKを未受信である場合(ステップS25のYes分岐)には、送信時刻計算部213は、追加送信処理を実行する。そして、ステップS26に遷移する。
【0129】
例えば、送信時刻計算部213は、応答信号受信部211がACK信号を受信した場合、タイマを起動して、タイマを起動開始してからの経過時間を測定してもよい。
【0130】
一方、追加送信時刻を超えるまでに、タイマ起動中に、応答信号受信部211が新たなACKを受信した場合(ステップS25のNo分岐)には、ステップS23に遷移し、処理を継続する。
【0131】
ステップS26において、送信時刻計算部213は、送信レートを計算する。
【0132】
送信時刻計算部213は、例えば、直近の所定時間内の無線通信速度を、送信レートとして計算する。また、送信時刻計算部213は、応答信号受信部211から取得した通信情報と、基地局情報取得部215から取得した基地局情報とを組み合わせて、送信レートを計算してもよい。また、送信時刻計算部213は、応答信号受信部211から取得した通信情報と、基地局情報取得部215から取得した基地局情報とのうち、一方の情報を使用して、送信レートを計算してもよい。
【0133】
例えば、送信時刻計算部213は、基地局情報取得部215から取得した、基地局103と端末装置12間の無線通信速度、または所定時間内の最大の無線通信速度を使用して、送信レートを算出してもよい。
【0134】
また、送信時刻計算部213は、第1の実施形態と同じ方法を用いて、無線通信速度を計算してもよい。その場合、送信時刻計算部213は、基地局情報取得部215から取得した基地局情報を使用して、無線通信速度を計算してもよい。
【0135】
例えば、基地局情報取得部215は、基地局103と端末装置12間の通信電波数(キャリアアグリゲーション状況)を取得する。そして、送信時刻計算部213は、直近の所定時間のTCPスループットと、端末装置12が使用するコンポーネントキャリア数とに基づいて、無線通信速度を計算する。その後、送信時刻計算部213は、計算した送信レートを、新規データ送信部214に伝送する。
【0136】
新規データ送信部214は、新規データを送信する(ステップS27)。新規データ送信部214は、第1の実施形態に係る新規データ送信部114と同様に動作する。すなわち、新規データ送信部214は、新規データを送信する場合、通信プロトコルが規定した送信量、送信時刻、または通信レートの制限を無視してデータを送信できる。
【0137】
[変形例1]
本実施形態に係る通信装置21の変形例1として、応答信号受信部211は、基地局103と端末装置12間の無線通信速度を、当該端末装置12から受信してもよい。
【0138】
以上の通り、本実施形態に係る通信装置21は、第1の実施形態に係る通信装置11と比較して、より一層、通信性能の低下を防止することに貢献する。その理由は、第2の実施形態に係る通信装置21は、基地局103から取得した基地局情報に基づいて、バッファ枯渇時刻を予測するからである。さらに、本実施形態に係る通信装置21は、基地局103から基地局情報を直接取得して送信レートを算出することで、基地局103から取得した無線通信速度と、計算した送信レートとの差分を低減できる。そのため、本実施形態に係る通信装置21は、過少または過大な送信レートを用いて、データを送信することを避けることができる。その結果、本実施形態に係る通信装置21は、通信ネットワークの性能劣化を防止することに貢献する。さらに、本実施形態に係る通信装置21は、基地局103の送信バッファの能力を超えたデータ量を送信することを回避することに貢献する。
【0139】
上述の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
【0140】
(形態1)上記第1の視点に係る通信装置の通りである。
【0141】
(形態2)前記バッファ状況推定部は、前記滞留データが所定の閾値以下となると推定される時刻をバッファ枯渇時刻として算出し、前記送信時刻計算部は、自通信装置と前記端末装置間の送信遅延と、前記受信時刻と、前記バッファ枯渇時刻とに基づいて、前記追加送信時刻を算出する、好ましくは形態1に記載の通信装置。
【0142】
(形態3)前記バッファ状況推定部は、自通信装置が送信した送信データ量と、前記確認応答信号から取得される端末装置が受信した受信データ量とを更に用いて、前記滞留データ量を算出する、好ましくは形態1又は2に記載の通信装置。
【0143】
(形態4)前記バッファ状況推定部は、前記端末装置の受信ウィンドウサイズの上限値と、前記基地局の前記送信バッファの前記滞留データ量の上限値の少なくともいずれか1つに基づき、前記滞留データ量を算出する、好ましくは形態1乃至3のいずれか一に記載の通信装置。
【0144】
(形態5)前記バッファ状況推定部は、自通信装置が送信した送信データ量に基づいて、前記無線通信速度を算出する、好ましくは形態1乃至4のいずれか一に記載の通信装置。
【0145】
(形態6)前記基地局から前記無線通信速度を取得する、基地局情報取得部をさらに備える、好ましくは形態1乃至5のいずれか一に記載の通信装置。
【0146】
(形態7)前記送信時刻計算部は、直近の応答信号の受信時刻からの経過時間と、直近のデータ送信時刻からの経過時間とのうち、少なくともいずれかが、事前に設定した閾値に到達する時刻を、前記追加送信時刻として決定する、好ましくは形態1乃至6のいずれか一に記載の通信装置。
【0147】
(形態8)前記送信時刻計算部は、前記無線通信速度に基づいて、送信レートを算出する、好ましくは形態1乃至7のいずれか一に記載の通信装置。
【0148】
(形態9)上記第2の視点に係る通信システムの通りである。
【0149】
(形態10)前記バッファ状況推定部は、前記滞留データが所定の閾値以下となると推定される時刻をバッファ枯渇時刻として算出し、前記送信時刻計算部は、自通信装置と前記端末装置間の送信遅延と、前記受信時刻と、前記バッファ枯渇時刻とに基づいて、前記追加送信時刻を算出する、好ましくは形態9に記載の通信システム。
【0150】
(形態11)上記第3の視点に係る通信方法の通りである。
【0151】
(形態12)前記滞留データが所定の閾値以下となると推定される時刻をバッファ枯渇時刻として算出するステップをさらに含み、前記追加送信時刻を計算するステップにおいて、自通信装置と前記端末装置間の送信遅延と、前記受信時刻と、前記バッファ枯渇時刻とに基づいて、前記追加送信時刻を算出する、好ましくは形態11に記載の通信方法。
【0152】
(形態13)上記第4の視点に係るプログラムの通りである。
【0153】
(形態14)前記滞留データが所定の閾値以下となると推定される時刻をバッファ枯渇時刻として算出する処理をさらに前記コンピュータに実行させ、前記追加送信時刻を計算する処理において、自通信装置と前記端末装置間の送信遅延と、前記受信時刻と、前記バッファ枯渇時刻とに基づいて、前記追加送信時刻を算出する、好ましくは形態13に記載のプログラム。
【0154】
上記の形態9、11、13に示す形態は、形態1に示す形態と同様に、形態3乃至8に示す形態に展開することが可能である。
【0155】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。本発明で、アルゴリズム、ソフトウェア、ないしフローチャート或いは自動化されたプロセスステップが示された場合、コンピュータが用いられることは自明であり、またコンピュータにはプロセッサ及びメモリないし記憶装置が付設されることも自明である。よってその明示を欠く場合にも、本願には、これらの要素が当然記載されているものと解される。