以下、図面を用いながら、開示の通信装置、および通信方法の実施の形態について説明する。尚、便宜上別個の実施例として説明するが、各実施例を組み合わせることで、組み合わせの効果を得て、更に、有用性を高めることもできることはいうまでもない。
〔a〕第1の実施形態
図1に第1の実施の形態における通信システムの全体的なネットワーク構成を示す。第1の実施の形態では、無線端末1がデータセンタ等におけるサーバ3とデータ通信を行っているものとする。無線端末1は無線基地局2との間で無線通信を行う。無線基地局2はサーバ3との間で、無線通信事業者側のゲートウェイ4、インターネット5、サーバ3側のゲートウェイ6等を経由して、有線で通信を行う。ただし、無線基地局2とサーバ3の間の一部または全部において無線通信が行われてもかまわない。
第1の実施の形態は、無線通信技術としてWiMAXを用いることとする。そのため、WiMAX特有の用語や概念がいくつか登場する。しかし、第1の実施の形態はあくまでも一例にすぎず、WiMAX以外の無線通信方式にも適用可能であることに注意されたい。
図2に第1の実施の形態における無線端末1の機能構成を示す。無線端末1は、TCP処理部11、IP処理部12、MAC処理部13、無線通信部14、トランスポート測定部15、リンク測定部16、通信制御部17、およびタイマ18を備える。さらに、通信制御部17は、第1導出部171、時間推定部172、確率推定部173、第2導出部174、判定部175を備える。
次に、無線端末1がサーバ3との間で、TCPに基づいてデータを送受信する処理について説明する。これは、TCP処理部11、IP処理部12、MAC処理部13、および無線通信部14の説明に対応する。なお、この処理自体は一般的なものであり、本願特有の構成というわけではない。
無線端末1のTCPプロトコル処理部は、アプリケーションから送信データを受け取ると、送信データにTCPヘッダを付加するなどして、TCPパケットを作る。TCPヘッダは、TCPパケットを識別するためのシーケンス番号を含む。TCPプロトコル処理部は、TCPパケットをIP処理部12に出力する。IP処理部12はTCPパケットにIPヘッダを付加するなどして、IPパケットを作る。IP処理部12は、IPパケットをMAC処理部13に出力する。MAC処理部13はIPパケットにMACヘッダを付加するなどして無線フレームを作る。MAC処理部13は無線フレームを無線通信部14に出力する。無線通信部14は無線フレーム中の情報に基づいて搬送波の変調を行い、変調された搬送波を所定の中心周波数を有する無線信号(電波)にした上で送信する。このようにして、送信データが無線信号によって送信される。
無線信号は無線基地局2によって受信され、無線信号に含まれるIPパケット(TCPパケットを含む)はネットワークを介してサーバ3に到達する。TCP通信において、送信データを含むTCPパケットを受信したサーバ3は、それに応答するTCPパケットを返送する。応答時のTCPパケットにおいては、TCPヘッダにおけるACKフラグ(無線通信のARQにおけるACK信号とは異なる概念であることに注意する)が1に設定される。そのため、以下では応答時のTCPパケットをACKパケットと呼ぶことがある。また、応答時のTCPパケットは、受信したTCPパケットのシーケンス番号を識別するための確認応答番号(正確には受信したTCPパケットのシーケンス番号+1が設定される)を含む。応答時のTCPパケットは応答データを含む場合もあるし含まない場合もある。サーバ3が応答したTCPパケットを含むIPパケットはネットワークを介して無線基地局2に到達する。無線基地局2は応答時のTCPパケットに基づく無線信号を無線端末1に送信する。
無線端末1が、応答データを含むTCPパケットに基づく無線信号を受信したとする。無線端末1の無線通信部14は受信した無線信号を復調し無線フレームを得る。無線通信部14は無線フレームをMAC処理部13に出力する。MAC処理部13は無線フレームからMACヘッダを除去し、IPパケットを得る。MAC処理部13はIPパケットをIP処理部12に出力する。IP処理部12はIPパケットからIPヘッダを除去するなどし、TCPパケットを得る。IP処理部12はTCPパケットをTCPプロトコル処理部に出力する。TCP処理部11はTCPパケットからTCPヘッダを除去するなどして応答データを得る。このとき、TCP処理部11は、TCPヘッダ内のACKフラグが1に設定されていること、および、確認応答番号が先に送信したTCPパケットのシーケンス番号+1となっていることを確認する。この確認により、TCP処理部11は、送信データを含むTCPパケットの送信に成功したこと(送信データを含むTCPパケットがサーバ3によって受信されたこと)を認識する。最後に、TCP処理部11は受信データをアプリケーションに出力する。
以上が、無線端末1がサーバ3との間で、TCPに基づいてデータを送受信する処理である。
MAC処理部13は、無線通信における各種制御も行う。例えば、MAC処理部13はサービスフローの管理を行う。MAC処理部13は、無線端末1と無線基地局2の間において一つまたは複数のサービスフローを設ける。MAC処理部13はサービスフローをアプリケーションごとに設けてもよいし、複数のアプリケーションにサービスフローを共有させてもよい。なお、WiMAXのサービスフローは、制御用とデータ用の2種類がある。TCP通信はデータ用のサービスフローを介して行われる。無線端末1と無線基地局2の間には、必ず一つの制御用サービスフローが設けられる。
また、MAC処理部13は無線通信に関する種々の制御メッセージの送受信を行う。制御メッセージは制御用のサービスフローを介して送受信される。制御メッセージについては後述する。
さらに、MAC処理部13は、無線通信における信頼性を確保するためにARQ制御を実施する。
MAC処理部13は、送信した無線フレームに対応するACK信号を受信しない場合、タイムアウトを待って無線フレームの再送を行う。また、MAC処理部13は、無線フレームを正しく受信できなかったことを示す制御信号であるNACK(Negative ACKnowledge:受信否定確認)信号を受信した場合、無線フレームの再送を行う。MAC処理部13は、ACK信号を受信するまで、この動作を繰り返す。
この動作の繰り返し回数の上限は「最大再送回数」と呼ばれ、再送制御のパラメータの一つとなっている。最大再送回数以内の再送でACK受信できた場合、再送制御によって無線フレームの送信に成功したこととなる。また、最大再送回数の再送を行ってもACK信号を受信できない場合、送信装置は再送制御を終了する。この場合無線フレームの送信に失敗したこととなる。最大再送回数が大きいほど無線フレームの送信が成功する確率は高くなり、小さいほど無線フレームの送信が成功する確率は低くなる。ARQを用いることにより、無線品質が悪いことによりフレームが毀損しやすいような場合であっても、無線回線における通信の信頼性が確保される。
MAC処理部13は、ARQ制御をON/OFFする機能を備える。ARQ制御がONの場合、前記のARQ制御が実施される。ARQ制御がOFFの場合、ARQ処理部は実施されない。また、ARQ制御のON/OFFはサービスフロー毎に設定できる。ただし、WiMAXにおいて、制御用のサービスフローは常にARQ制御がONに設定される。
また、TCP処理部11は、TCPパケットの再送の機能を備える。TCP処理部11による再送は、無線通信におけるARQとは異なり、エンドトゥエンド(この場合、無線端末1とサーバ3の間)でのTCPパケットの到達性を高めるためのものである。TCP処理部11は、TCPパケットの送信が失敗した場合に再送を行う。TCPパケットの送信の失敗には2つの場合がある。1つ目は、TCP処理部11が送信データを含むTCPパケットを送信してから、一定時間、それに応答するACKパケットを受信しない場合である。1つ目の場合をRTO(Retransmission Time Out)と呼ぶ。2つ目は、応答確認番号が同一であるACKパケットを所定個数受信した場合である。2つ目の場合も、受信装置で受信できなかったTCPパケットがあった場合に発生する。2つ目の場合はTCPのウインドウ制御に起因するものだが、詳細は割愛する。2つ目の場合を重複ACK受信と呼ぶ。
図2の説明に戻り、タイマ18は時間を計測する。タイマ18は開始すると、所定の時間を計測したところでエクスパイア(満了)する。
トランスポート測定部15は、TCPパケットを監視し、TCP通信の品質に関するTCP品質情報を測定する。トランスポート測定部15の詳細は後述する。
リンク測定部16は、無線フレームを監視し、無線通信の品質に関する無線品質情報を測定する。リンク測定部16の詳細は後述する。
通信制御部17は、TCPスループットを求め、それに基づきARQの要否を判定する。通信制御部17は、TCP通信を行うサービスフローのARQ制御がONであるかOFFであるかで、異なる処理を行う。ARQ制御がONの場合、通信制御部17は、TCP品質情報に基づいてARQ制御がONの場合のTCPスループットを求めるとともに、TCP品質情報および無線品質情報に基づいてARQ制御がOFFの場合のTCPスループットを推定する。ARQ制御がOFFの場合、通信制御部17は、TCP品質情報に基づいてARQ制御がOFFの場合のTCPスループットを求めるとともに、TCP品質情報および無線品質情報に基づいてARQ制御がONの場合のTCPスループットを推定する。そして、通信制御部17は、ARQ処理部がONの場合のTCPスループットとOFFの場合のスループットに基づき、ARQの要否を決定する。
以上が通信制御部17の処理の概要であるが、以下では発明の原理とともにこれを詳細に説明する。
まず、通信処理部に関する詳細な説明の準備として、無線端末1とサーバ3の間で行われるTCP通信の振る舞いについて、図3〜5に基づいて説明する。
まず、図3に基づいて、TCP通信を行うサービスフローのARQ制御がONの場合を説明する。このとき、通信制御部17は、ARQ制御がONの場合の現行TCPスループットpresent_TCP_TPARQ ONを求める。また、通信制御部17は、ARQ制御がOFFの場合の推定TCPスループットestimated_TCP_TPARQ OFFを推定する。
TCPスループットは式(1)により求められる。ここで、式(1)のBおよびαは、ARQ制御の有無にかかわらず変動しない。しかし、式(1)のRTTおよびPは、ARQ制御の有無により変動する。その為、TCPスループットを推定するためには、RTTとPを推定する必要がある。以下ではこの点について順を追って説明する。
図3は、無線端末1とサーバ3の間で行われるTCPパケットに基づく通信の一例である。無線端末1がサーバ3に送信するTCPパケットを「TCP pkt」と表記している。また、サーバ3が無線端末1に送信するACKパケット(応答用のTCPパケット)を「ACK pkt」と表記している。
図3では、無線端末1がサーバ3にTCPパケットを送信するときに、ARQによる再送が2回行われている(初送を含めて3回目で受信成功)。また、サーバ3が無線端末1にACKパケットを送信するときには、ARQによる再送が1回行われている(初送を含めて2回目で受信成功)。
ここで、式(1)に基づいてTCPスループットを求めるためには、RTT(TCPにおけるRTTなので、以後はTCP RTTと呼ぶ)が必要である。ARQがONの場合の現行のTCP RTTであるpresent_TCP_RTTARQ ONは、図3で示される時間T0である。そのため、ARQがONの場合のTCPスループットを求めるために、無線端末1は、T0を計測することでpresent_TCP_RTTARQ ONを得ることができる。
一方、ARQがONのときに、仮にARQをOFFにした場合に見積もられる推定TCP RTTであるestimated_TCP_RTTARQ OFFは、図3で示される時間T1に近似されると推定される。そのため、ARQがOFFの場合のTCPスループットを推定するためには、T1を計測すればよいことになる。
ここで、もちろん無線端末1はT1を直接計測してもよいが、それには問題がある。T1は、無線層を扱うMAC処理部13でなければ計測できない。しかし、T1を計測するためにはTCPパケットであるACKパケットの受信を認識する必要がある。すなわち、無線端末1がT1を直接計測するためには、無線層でTCP層のデータを解析する(無線層で無線層を逸脱した処理を行う)必要が生じる。これは無線層を扱うMAC処理部13の処理が非常に重くなると考えられるため、好ましくない。
そこで、無線端末1はT1を以下のように間接的かつ近似的に計測することもできる。無線端末1は、図3中のT1とT2とT3とをそれぞれ計測し、T1=T0−(T2+T3)を求める。ただし、MAC処理部13がT2やT3を直接計測するのは、やはり処理が重くなるという問題が残る。
そこで、無線端末1はT2、T3を間接的に計測する。無線層での1回の往復時間(無線RTTと呼ぶ)をTとすると、T2、T3はTの整数倍で表されると考えられる。さらに、ある期間におけるT2の平均はT×上りの平均再送回数となる。また、T3の平均はT×下りの平均再送回数となる。ここで、無線端末1から無線基地局2への方向を「上り」、無線基地局2から無線端末1への方向を「下り」と呼んでいる。無線端末1は、ある無線フレームを送信する際にNACK信号を受信した回数を計測することで、上りの平均再送回数を得ることができる。無線端末1は、ある無線フレームを受信する際にNACK信号を送信した回数を計測することで、下りの平均再送回数を得ることができる。これらの値はいずれも無線層で容易に計測できるので、無線端末1はT2とT3を容易に求めることが可能となる。
したがって、無線端末1は、ARQがONのときに、仮にARQをOFFにした場合に見積もられる推定TCP RTTであるestimated_TCP_RTTARQ OFF=T1を推定することができる。ここで、T2+T3=TimeARQ OFFとおくと、estimated_TCP_RTTARQ OFF=present_TCP_RTTARQ ON−TimeARQ OFFと表される。端的に言えば、TimeARQ OFFは、ARQ制御による再送に要する時間に対応している。換言すると、仮にARQをOFFにすると、TimeARQ OFFの分の遅延時間がなくなる。
次に、TCPスループットを求めるためには、式(1)のパケットロス率P(以後、TCPロス率と呼ぶ)が必要である。ARQがONの場合の現行のTCPロス率であるpresent_TCP_LossARQ ON=L1/Sで表される。ここで、Sは、無線端末1のTCP処理部11がTCPパケットを送信した回数である。L1は、無線端末1がTCPパケットの送信に失敗した回数(言い換えると、ACKパケットを受信できなかった回数)であり、具体的にはRTOまたは重複ACK受信を検出した回数である。無線端末1はSおよびL1を計測できるので、TCPロス率を求めることができる。なお、ARQがONの場合なので、無線層においてARQによる再送が行われているかもしれないが、TCPロス率を求める際には無線層の振る舞いを考慮する必要はない。P1=L1/Sとおけば、present_TCP_LossARQ ON=P1と表される。
一方、ARQがONのときに、仮にARQをOFFにした場合に見積もられるTCPロス率であるestimated_TCP_LossARQ OFFの求め方を説明する。もしARQをOFFにすると、無線層で再送は行われなくなる。そのため、ARQがONの時に一度でもNACK信号の送受信が行われたTCPパケットは、もしARQがOFFであればロスされることになる。したがって、上記のSを用いてestimated_TCP_LossARQ OFF=L1/S+(L2/S+L3/S)と表される。ここで、L2は「無線端末1が、TCPパケットを送信する際に一度でもNACK信号を受信した回数」となる。L3は「無線端末1が、TCPパケットを受信する際に一度でもNACK信号を送信した回数」となる。無線端末1は上記のL2およびL3を計測できるので、estimated_TCP_LossARQ OFFを求めることができる。P2=L2/S、P3=L3/Sとおけば、estimated_TCP_LossARQ OFF=P1+(P2+P3)と表される。
したがって、無線端末1は、ARQがOFFのときに、仮にARQをONにした場合に見積もられる推定TCPロス率であるestimated_TCP_LossARQ OFFを推定することができる。ここで、P2+P3=ProbARQ OFFとおくと、estimated_TCP_LossARQ OFF=present_TCP_LossARQ ON+ProbARQ OFFと表される。端的に言えば、ProbARQ OFFは、ARQ制御による再送によってTCPパケットの送受信が成功する確率に対応している。換言すると、再送を経験してTCPパケットの送受信が成功した確率であり、仮にARQをOFFにするとこの確率の分は全てパケットロスになる。
以上から、ARQ制御がONの場合、無線端末1は上記のpresent_TCP_RTTARQ ONとpresent_TCP_LossARQ ONとに基づいて、ARQ制御がONの場合の現行TCPスループットpresent_TCP_TPARQ ONを求めることができる。また、無線端末1は、上記のestimated_TCP_LossARQ OFFとestimated_TCP_LossARQ OFFとに基づいて、仮にARQ制御をOFFにした場合の推定TCPスループットestimated_TCP_TPARQ OFFを推定することができる。
次に、図4〜5に基づいて、TCP通信を行うサービスフローのARQ制御がOFFの場合を説明する。このとき、通信制御部17は、TCP品質情報に基づいてARQ制御がOFFの場合の現行TCPスループットpresent_TCP_TPARQ OFFを求める。また、通信制御部17は、TCP品質情報および無線品質情報に基づいてARQ制御がONの場合の推定TCPスループットestimated_TCP_TPARQ ONを推定する。
図4は、無線端末1とサーバ3の間で行われるTCPパケットに基づく通信の一例である。ARQがOFFの場合なので、無線端末1がサーバ3にTCPパケットを送信するときに、ARQによる再送は行われない。また、サーバ3が無線端末1に応答のTCPパケットを送信するときにも、ARQによる再送は行われない。
ここで、TCPスループットを求めるためには、TCP RTTが必要である。ARQがOFFの場合の現行のTCP RTTであるpresent_TCP_RTTARQ OFFは、図4で示される時間T11である。そのため、ARQがOFFの場合のTCPスループットを求めるために、トランスポート測定部15は、T10を計測することでpresent_TCP_RTTARQ OFFを得る。
次に、ARQがOFFのときに、仮にARQをONにした場合に見積もられるTCP RTTであるestimated_TCP_RTTARQ OFFの求め方を説明する。上述の通り、WiMAXにおいては、無線端末1と無線基地局2に必ず一つの制御用サービスフローが設けられ、また制御用サービスフローは常にARQ ONに設定される。estimated_TCP_RTTARQ OFFは制御用サービスフローを利用して求められる。
図5は、制御用サービスフローにおける制御メッセージの送受信の様子を示している。図に示されるように、制御メッセージは無線層すなわちMAC処理部13により生成かつ送受信される。言い換えると、制御メッセージの送受信にTCP層すなわちTCP処理部11は関知しない。
ここで、無線端末1は図5のT12、T13を計測することができる。したがって、無線端末1は、計測したT10、T12、T13を用いて、仮にARQをONにした場合に見積もられる推定TCP RTTであるestimated_TCP_RTTARQ OFF=T10+(T12+T13)を推定することができる。なお、無線端末1はT12、T13を直接計測してもよいのはもちろんだが、上述したT2,T3と同様の方法により間接的に計測することもできる。ここで、T12+T13=TimeARQ ONとおくと、estimated_TCP_RTTARQ ON=present_TCP_RTTARQ OFF+TimeARQ ONと表される。端的に言えば、TimeARQ ONは、ARQ制御を停止していることにより要していない時間に対応している。換言すると、仮にARQをONにすると、TimeARQ ONの分の時間だけTCPパケットの送信遅延が増加することになる。
次に、TCPスループットを求めるためには、TCPロス率が必要である。ARQがOFFの場合の現行のTCPロス率であるpresent_TCP_LossARQ OFF=L11/Sで表される。ここで、SはTCP処理部11がTCPパケットを送信した回数である。L11はTCPパケットの送信に失敗した回数(言い換えると、ACKパケットを受信できなかった回数)であり、具体的にはRTOまたは重複ACK受信が発生した回数である。無線端末1はSおよびL11を計測できるので、TCPロス率を求めることができる。P11=L11/Sとおけば、present_TCP_LossARQ OFF=P11と表される。
次に、ARQがOFFのときに、仮にARQをONにした場合に見積もられる推定TCPロス率であるestimated_TCP_LossARQ ONの求め方を説明する。もしARQをONにすると、無線層で再送が行われるようになる。そのため、ARQがOFFの時にパケットロス(TCPパケットの送信失敗であり、具体的にはRTOまたは重複ACK受信)が発生した場合のうち、ARQがONになることにより二つの場合が救われると考えられる。1つは、端末がある無線フレームを初送したときにNACK信号を受信したが、その後ACK信号を受信した場合である。すなわち、上りの無線フレームがARQ制御により救済される場合である。もう1つは、端末がある無線フレームを初めて受信したときにNACK信号を送信したが、その後ACK信号を送信した場合である。すなわち、下りの無線フレームがARQ制御により救済される場合である。
ここで、上りの無線フレームがARQ制御により救済される回数をL12、下りの無線フレームがARQ制御により救済される回数をL13とする。TCP通信を行うサービスフローのARQ制御がOFFの場合であっても、無線端末1は、制御サービスフロー(常にARQ ON)を観測することによって、L12およびL13を測定することができる。したがって、無線端末1は、ARQがOFFのときに、仮にARQをONにした場合に見積もられる推定TCPロス率であるestimated_TCP_LossARQ OFF=L11/S−(L12/S+L13/S)を推定することができる。P12=L12/S、P13=L13/Sとおけば、estimated_TCP_LossARQ OFF=P11−(P12+P13)と表される。
以上から、ARQ制御がOFFの場合、無線端末1は上記のpresent_TCP_RTTARQ OFFとpresent_TCP_LossARQ OFFとに基づいて、ARQ制御がOFFの場合の現行TCPスループットpresent_TCP_TPARQ OFFを求めることができる。また、無線端末1は、上記のestimated_TCP_LossARQ ONとestimated_TCP_LossARQ ONとに基づいて、仮にARQ制御をOFFにした場合の推定TCPスループットestimated_TCP_TPARQ ONを推定することができる。ここで、P12+P13=ProbARQ ONとおくと、estimated_TCP_LossARQ ON=present_TCP_LossARQ OFF+ProbARQ ONと表される。端的に言えば、ProbARQ ONは、ARQ制御を停止していることによってTCPパケットの送受信が失敗する確率に対応している。換言すると、もし再送を行っていればTCPパケットの送受信が成功した確率であり、仮にARQをONにするとこの確率の分がパケットロスしなくなる。
ここで図2に戻って、再びトランスポート測定部15を説明する。トランスポート測定部15は、TCP処理部11が送受信するTCPパケットを監視する。トランスポート測定部15は、タイマ18が開始されてからエクスパイアされるまでの監視期間、この監視を行う。そして、TCP通信を行うサービスフローのARQがONの場合、トランスポート測定部15はTCP品質情報として、現行TCP RTTであるpresent_TCP_RTTARQ ONおよび現行TCPロス率であるpresent_TCP_LossARQ ONを計測する。一方、TCP通信を行うサービスフローのARQがOFFの場合、トランスポート測定部15はTCP品質情報として、現行TCP RTTであるpresent_TCP_RTTARQ OFFおよび現行TCPロス率であるpresent_TCP_LossARQ OFFを計測する。なお、現行TCP RTTについては、トランスポート測定部15は監視期間中の平均値を求める。現行TCPロス率については、トランスポート測定部15は監視期間中の確率を求める。
次に、再びリンク測定部16を説明する。リンク測定部16は、TCP処理部11が送受信する無線フレームを監視する。リンク測定部16は、タイマ18が開始されてからエクスパイアされるまでの監視期間、この監視を行う。そして、TCP通信を行うサービスフローのARQがONの場合、リンク測定部16は無線品質情報として、上述したTimeARQ OFFおよびProbARQ OFFを測定する。一方、TCP通信を行うサービスフローのARQがOFFの場合、リンク測定部16は無線品質情報として、上述したTimeARQ ONおよびProbARQ ONを測定する。なお、TimeARQ ONおよびTimeARQ OFFについては、リンク測定部16は監視期間中の平均値を求める。ProbARQ ONおよびProbARQ OFFについては、リンク測定部16は監視期間中の確率を求める。
TimeARQ ONおよびTimeARQ OFFはいずれもARQ制御に基づいて変動するRTTに対応するので、以降はこれらをまとめて無線遅延時間と呼ぶ。ProbARQ ONおよびProbARQ OFFはいずれもARQ制御に基づいて変動するパケットロス率に対応するので、以降はこれらをまとめて無線ロス率と呼ぶ。
無線端末1の通信制御部17が備える第1導出部171、時間推定部172、確率推定部173、第2導出部174、判定部175について順に説明する。
第1導出部171は、現行TCPスループットを求める。まず第1導出部171は、トランスポート測定部15が求めた現行TCP RTTである現行TCP RTTであるpresent_TCP_RTTARQ ONまたはpresent_TCP_RTTARQ OFFを取得する。また第1導出部171は、トランスポート測定部15が求めた現行TCPロス率であるpresent_TCP_LossARQ ONまたはpresent_TCP_LossARQ OFFを取得する。そして第1導出部171は、取得した現行TCP RTTおよびTCPロス率、ならびに、BおよびTCP固有パラメータを用い、式(1)に基づいて現行TCPスループットを求める。ここで、データサイズBまたはTCP固有パラメータαについては、トランスポート計測部またはTCP処理部11から取得してもよいし、所定の値を用いてもよい。
時間推定部172は、推定TCP RTTを求める。まず時間推定部172は、トランスポート測定部15が求めた現行TCP RTTであるpresent_TCP_RTTARQ ONまたはpresent_TCP_RTTARQ OFFを取得する。また時間推定部172は、リンク測定部16が求めた無線遅延時間であるTimeARQ OFFまたはTimeARQ ONを取得する。そして時間推定部172は、ARQ ONの場合、推定TCP RTTであるestimated_TCP_RTTARQ OFF=present_TCP_RTTARQ ON‐TimeARQ OFFを求める。また、時間推定部172は、ARQ OFFの場合、推定TCP RTTであるestimated_TCP_RTTARQ ON=present_TCP_RTTARQ OFF+TimeARQ ONを求める。
確率推定部173は、推定TCPロス率を求める。まず確率推定部173は、トランスポート測定部15が求めた現行TCPロス率であるpresent_TCP_LossARQ ONまたはpresent_TCP_LossARQ OFFを取得する。また確率推定部173は、リンク測定部16が求めた無線ロス率であるProbARQ OFFまたはProbARQ ONを取得する。そして確率推定部173は、ARQ ONの場合、推定TCPロス率であるestimated_TCP_LossARQ OFF=present_TCP_LossARQ ON+ProbARQ OFFを求める。また、確率推定部173は、ARQ OFFの場合、推定TCPロス率であるestimated_TCP_LossARQ ON=present_TCP_LossARQ OFF‐ProbARQ ONを求める。
第2導出部174は、推定TCPスループットを求める。まず第2導出部174は、時間推定部172が求めた推定TCP RTTであるestimated_TCP_RTTARQ ONまたはestimated_TCP_RTTARQ OFFを取得する。また第2導出部174は、確率推定部173が求めた推定TCPロス率であるestimated_TCP_LossARQ ONまたはestimated_TCP_LossARQ OFFを取得する。そして第2導出部174は、取得した推定TCP RTTおよびTCPロス率、ならびに、BおよびTCP固有パラメータを用い、式(1)に基づいて推定TCPスループットを求める。ここで、データサイズBまたはTCP固有パラメータαについては、TCP処理部11から取得してもよいし、所定の値を用いてもよい。
判定部175は、現行TCPスループットと推定TCPスループットとから、ARQ制御の要否を判定する。まず判定部175は、第1導出部171から現行TCPスループットを取得する。また判定部175は、第2導出部174から推定TCPスループットを取得する。そして判定部175は現行TCPスループットと推定TCPスループットとを比較する。もし現行TCPスループットの方が大きければ、判定部175は処理を終了する。一方、もし推定TCPスループットの方が大きければ、判定部175は、TCP通信を行うサービスフローのARQの有無を切り替える信号をMAC処理部13に入力する。すなわち、推定TCPスループットの方が大きく且つARQ ONの場合、判定部175はARQ制御をOFFとする信号をMAC処理部13に入力する。また推定TCPスループットの方が大きく且つARQ OFFの場合、判定部175はARQ制御をONとする信号をMAC処理部13に入力する。
図6に第1の実施の形態における無線端末1のハードウェア構成の一例を説明する。前述の無線端末1の各機能は、以下のハードウェア部品の一部又は全部により実現される。上記実施例における無線端末1は、無線IF(InterFace)101、プロセッサ102、メモリ103、電子回路104、入力IF105、出力IF106等を備える。無線IF101は、無線基地局2と無線通信を行うためのインタフェース装置であり、例えばアンテナである。プロセッサ102は、データを処理する装置であり、例えばCPU(Central)やDSP(Desital Signal Processor)等を含む。メモリ103は、データを記憶する装置であり、例えばROM(Read Only Memory)やRAM(Random Access Memory)等を含む。電子回路104は、例えばLSI(Large Scale Integration)やFPGA(Field−Programming Gate Array)やASIC(Application Specific Integrated Circuit)等を含む。入力IF105は、入力を行う装置であり、例えば操作ボタンやマイク等を含む。出力IF106は、出力を行う装置であり、例えばディスプレイやスピーカー等を含む。
無線端末1の機能構成とハードウェア構成の対応関係を説明する。無線端末1のTCP処理部11、IP処理部12、MAC処理部13、トランスポート測定部15、リンク測定部16、通信制御部17、第1導出部171、時間推定部172、確率推定部173、第2導出部174、判定部175、およびタイマ18は、例えばプロセッサ102、メモリ103、電子回路104によって実現される。無線端末1の無線通信部14は、例えば無線IF101、電子回路104によって実現される。
以下では具体的に説明する。プロセッサ102は、現行TCP RTTと現行TCP ロス率を求めて、これらをメモリ103に格納することで、トランスポート測定部15を実現する。プロセッサ102は、無線遅延時間と無線ロス率を求めて、これらをメモリ103に格納することで、リンク測定部16を実現する。プロセッサ102は、現行TCP RTTと現行TCP ロス率をメモリ103から読み出し、現行TCPスループットを求めて、これをメモリ103に格納することで、第1導出部171を実現する。プロセッサ102は、現行TCP RTTと無線遅延時間をメモリ103から読み出し、推定TCP RTTを求めて、これをメモリ103に格納することで、時間推定部172を実現する。プロセッサ102は、現行TCPロス率と無線ロス率をメモリ103から読み出し、推定TCPロス率を求めて、これをメモリ103に格納することで、確率推定部173を実現する。プロセッサ102は、推定TCP RTTと推定TCP ロス率をメモリ103から読み出し、推定TCPスループットを求めて、これをメモリ103に格納することで、第2導出部174を実現する。プロセッサ102は、現行TCPスループットと推定TCPスループットをメモリ103から読み出し、再送制御を実施するか停止するかを判定することで、判定部175を実現する。
図7に第1の実施の形態における無線基地局2の機能構成を示す。
無線基地局2は、TCP処理部21、IP処理部22、MAC処理部23、無線通信部24、有線リンク部25、有線通信部26を備える。無線基地局2のTCP処理部21、IP処理部22、MAC処理部23、無線通信部24については、無線端末1の対応する機能と重複するため、説明は割愛する。
有線リンク部25は、IP処理部22から入力されたIPパケットに基づいて有線フレームを生成し、有線通信部26に出力する。有線通信部26は、有線フレームを有線回線を介してサーバ3に送信する。また、有線通信部26は、サーバ3から有線回線を介して受信した有線フレームを有線リンク部25に出力する。有線リンク部25は、有線通信部26から入力された有線フレームからIPパケットを抽出してIP処理部22に出力する。
図8に第1の実施の形態における無線基地局2のハードウェア構成の一例を説明する。前述の無線基地局2の各機能は、以下のハードウェア部品の一部又は全部により実現される。上記実施例における無線基地局2は、無線IF(InterFace)201、プロセッサ202、メモリ203、電子回路204、有線IF205等を備える。無線IF201は、無線端末1と無線通信を行うためのインタフェース装置であり、例えばアンテナである。プロセッサ202は、データを処理する装置であり、例えばCPU(Central)やDSP(Desital Signal Processor)等を含む。メモリ203は、データを記憶する装置であり、例えばROM(Read Only Memory)やRAM(Random Access Memory)等を含む。電子回路204は、例えばLSI(Large Scale Integration)やFPGA(Field−Programming Gate Array)やASIC(Application Specific Integrated Circuit)等を含む。有線IF205は、携帯電話システムの網側のネットワーク(いわゆるバックホールネットワーク)に接続された有線回線により、サーバ3を含む他の装置と有線通信を行うためのインタフェース装置である。
無線基地局2の機能構成とハードウェア構成の対応関係を説明する。無線基地局2のTCP処理部21、IP処理部22、MAC処理部23、および有線リンク部25は、例えばプロセッサ202、メモリ203、電子回路204によって実現される。無線基地局2の無線通信部24は、例えば無線IF201、電子回路204によって実現される。無線基地局2の有線通信部26は、例えば有線IF205、電子回路204によって実現される。
図9に第1の実施の形態におけるサーバ3の機能構成を示す。サーバ3は、TCP処理部31、IP処理部32、有線リンク部33、有線通信部34を備える。サーバ3のTCP処理部31、IP処理部32、有線リンク部33、有線通信部34については、無線端末1または無線基地局2の対応する機能と重複するため、説明は割愛する。
図10に第1の実施の形態におけるサーバ3のハードウェア構成の一例を説明する。前述のサーバ3の各機能は、以下のハードウェア部品の一部又は全部により実現される。上記実施例におけるサーバ3は、プロセッサ301、メモリ302、補助記憶304、電子回路303、有線IF305等を備える。プロセッサ301は、データを処理する装置であり、例えばCPU(Central)やDSP(Desital Signal Processor)等を含む。メモリ302は、データを記憶する装置であり、例えばROM(Read Only Memory)やRAM(Random Access Memory)等を含む。補助記憶304はデータを補助的に記憶する装置であり、HDD(Hard Disk Drive)や種々の外部記憶媒体およびその読み取り装置を含む。電子回路303は、例えばLSI(Large Scale Integration)やFPGA(Field−Programming Gate Array)やASIC(Application Specific Integrated Circuit)等を含む。有線IF305は、有線回線により無線基地局2等を含む他の装置と有線通信を行うためのインタフェース装置である。
サーバ3の機能構成とハードウェア構成の対応関係を説明する。サーバ3のTCP処理部31、IP処理部32、および有線リンク部35は、例えばプロセッサ301、メモリ302、電子回路303によって実現される。サーバ3の有線送信部は、例えば有線IF305、電子回路303によって実現される。
図11に第1の実施の形態における無線システムの動作シーケンスの例を示す。第1の実施の形態は、例としてWiMAXを適用した実施形態であるため、WiMAX特有の用語や概念がいくつか登場する。しかし、第1の実施の形態はあくまでも一例にすぎず、WiMAX以外の無線通信方式にも適用可能であることに注意されたい。
無線端末1は、無線基地局2に最初に接続するとき(例えば電源をONにしたとき等)に、Network Entry手順と呼ばれる所定のやり取りを無線基地局2との間で行う。ここでは、Network Entry手順は予め完了しているものとする。
まず、無線端末1のMAC処理部13が、無線基地局2との間で通信を行うためのサービスフローを無線基地局2に要求する制御メッセージDSA−REQを送信する(S1)。サービスフローは、無線端末1と無線基地局2の間で複数設けることができ、それぞれにARQの実施の有無(ARQ ONまたはARQ OFF)を設定できる。ここでは例えば、無線端末1のMAC処理部13は、サービスフローのセットアップ時には、そのサービスフローにARQ ONを要求するものとする。もちろん、無線端末1のMAC処理部13が、サービスフローのセットアップ時に、そのサービスフローにARQ OFFを要求してもよい。
これに対し無線基地局2のMAC処理部23は、無線端末1から要求されたサービスフロー(以下ではf1とする)を登録し、セットアップ応答用の制御メッセージDSA−RSPを無線端末1に返送する(S2)。また、無線端末1のMAC処理部13は、DSA−RSPを受信すると、受信確認応答用の制御メッセージDSA−ACKを無線基地局2に返信する(S3)。
また、図には明記していないが、上記S1からS3までと同様の手順により、1つの制御用サービスフロー(以下ではf0とする)をセットアップする。制御用サービスフローは、無線層における各種制御メッセージを送受信するための特別なサービスフローである。ここで、制御用サービスフローは必ずARQ ONに設定される。
また、この例ではサービスフロー(制御用サービスフローは除く)はf1の一つだけであるが、複数のサービスフローを適宜セットアップしてもよい。
次に無線端末1上のクライアントアプリケーションがサーバ3上のサーバアプリケーションとの間でTCPのセットアップを行う。クライアントアプリケーションとしては、例えば電子メーラまたはMUA(Mail User Agent)、ウェブブラウザ等があげられる。また、サーバアプリケーションとしては、メールサーバまたはMTA(Message Transfer Agent)、Webサーバ等が挙げられる。まず、無線端末1のTCP処理部11は、サービスフローf1を介して、サーバ3に対してTCPセットアップメッセージ(SYNパケット)を送信する(S4)。サーバ3のTCP処理部31はSYNパケットを受信すると、確認応答信号であるSYN/ACKパケットを無線端末1に対して送信する(S5)。無線端末1のTCP処理部11はSYN/ACKパケットを受信すると、ACKパケットを無線基地局2に対して送信する(不図示)。以上によって、無線端末1とサーバ3の間でTCPコネクションが確立する。無線端末1のTCP処理部11は、TCPコネクションが確立すると、タイマ18を開始する(S6)。
以後、サービスフローf1を介して、無線端末1とサーバ3の間で無線基地局2を経由してTCPパケットによる通信が行われる。上述したように、無線端末1のTCP処理部11、IP処理部12、MAC処理部13、および無線通信部14、ならびに無線基地局2のTCP処理部21、IP処理部22、MAC処理部23、および無線通信部24が連携し、無線端末1と無線基地局2とはTCPパケットを含む無線フレームを送受する。また、無線基地局2のTCP処理部21、IP処理部22、及び有線通信部26が連携し、TCPパケットをサーバ3との間で送受信する。
ここで、タイマ18が開始すると、無線端末1のトランスポート測定部15は、TCPパケットの監視を開始する。また、タイマ18が開始すると、無線端末1のリンク測定部16は、無線フレームの監視を開始する。それぞれの監視はサービスフロー毎に行ってもよいし、いくつかのサービスフローをまとめて行ってもよい。TCPパケット及び無線フレームの監視は、タイマ18が動いている間、すなわち監視期間中は常に行われる。無線端末1のトランスポート測定部15はTCPパケットの送受信を行うたびに前記の現行TCP RTTおよび現行TCPロス率を求める。また、リンク測定部16は無線フレームを送受信する毎に、前記の無線遅延時間および無線ロス率を求める。なお、現行TCP RTTおよび無線遅延時間については、監視期間中の平均値が求められる。また、現行TCPロス率および無線ロス率については、監視期間中の確率が求められる。
無線端末1の通信制御部17は、タイマ18がエクスパイアすると、トランスポート測定部15からサービスフローf1におけるTCP RTT(平均値)およびTCPロス率を取得する(S7)。さらに、無線端末1の通信制御部17は、リンク測定部16からサービスフローf1における無線遅延時間(平均値)および無線ロス率を取得する(S8)。
次に、無線端末1の通信制御部17は、取得した情報に基づいて、ARQの実施の要否の判定を行う(S9)。ここでは、通信制御部17はサービスフローf1におけるARQの実施が不要、すなわちARQの実施を停止した方が高いスループットを得られると判定したものとする。この場合、通信制御部17は、無線基地局2にサービスフローf1のARQ OFFを要求するための信号をMAC処理部13に対して出力する(S10)。通信制御部17は、判定が終わると、判定結果にかかわらず、再度タイマ18を開始する。
無線端末1のMAC処理部13は、S10で受信した信号に基づいて、無線基地局2にサービスフローセットアップメッセージ(更新時)であるDSC−REQを送信する(S11)。このとき、無線端末1のMAC処理部13は、DSC−REQにおいて、サービスフローf1のARQ OFFを無線基地局2に要求する。
これに対し無線基地局2のMAC処理部23は、無線端末1から要求されたサービスフローf1に対してARQの停止を実施し、セットアップ応答用(更新時)の制御メッセージDSC−RSPを無線端末1に返送する(S12)。また、無線端末1のMAC処理部13は、DSA−RSPを受信すると、受信確認応答用(更新時)の制御メッセージDSC−ACKを無線基地局2に返信する(S13)。
無線端末1の通信制御部17は、再びタイマ18がエクスパイアすると、S7〜8と同様の情報取得を行う(S14〜15)とともに、S9と同様の判定を行う(S16)。ただし、S14において、通信制御部17は、リンク測定部16から(サービスフローf1ではなく)サービスフローf0に基づいて無線遅延時間および無線ロス率を取得する。サービスフローf1はARQを停止しているため、サービスフローf1の無線遅延時間および無線ロス率を取得できないためである。ここでも、通信制御部17はサービスフローf1におけるARQの実施が不要、すなわちARQの停止を継続した方が高いスループットを得られると判定したものとする。この場合、通信制御部17は、MAC処理部13に対して信号は出力しない。無線基地局2に対してARQの実施を切り替える要求を行う必要がないためである。通信制御部17は、判定が終わると、判定結果にかかわらず、再度タイマ18を開始する。
無線端末1の通信制御部17は、さらにタイマ18がエクスパイアすると、S14〜15と同様の情報取得を行う(S17〜18)とともに、S16と同様の判定を行う(S19)。ここでは、通信制御部17はサービスフローf1におけるARQの実施が要、すなわちARQの実施を開始した方が高いスループットを得られると判定したものとする。この場合、通信制御部17は、無線基地局2にサービスフローf1のARQ ONを要求するための信号をMAC処理部13に対して出力する(S20)。通信制御部17は、判定が終わると、判定結果にかかわらず、再度タイマ18を開始する。
無線端末1のMAC処理部13は、S17で受信した指示に基づいて、無線基地局2にサービスフローセットアップメッセージ(更新時)であるDSC−REQを送信する(S21)。このとき、無線端末1のMAC処理部13は、DSC−REQにおいて、サービスフローf1のARQ ONを無線基地局2に要求する。
これに対し無線基地局2のMAC処理部23は、無線端末1から要求されたサービスフローf1に対してARQを開始し、セットアップ応答用(更新時)の制御メッセージDSC−RSPを無線端末1に返送する(S22)。また、無線端末1のMAC処理部13は、DSA−RSPを受信すると、受信確認応答用(更新時)の制御メッセージDSC−ACKを無線基地局2に返信する(S23)。
図12は、上記S9、S16およびS19の処理に関連し、無線端末1の通信制御部17が行う処理のフローチャートである。
まず通信制御部17は、サービスフローのARQ状態を判定する。すなわち、通信制御部17は、サービスフローがARQ ONであるかARQ OFFであるかを判定する(S101)。
S101の判定がARQ ONの場合を説明する。通信制御部17の第1導出部171は、ARQ ON時の現行TCPスループットであるpresent_TCP_TPARQ ONを求める(S102)。通信制御部17の確率推定部173は、ARQ OFFにした場合の推定TCPロス率estimated_TCP_LossARQ OFFを求める(S103)。通信制御部17の時間推定部172は、ARQ OFFにした場合の推定TCP RTTであるestimated_TCP_RTTARQ OFFを求める(S104)。通信制御部17の第2導出部174は、ARQ OFFにした場合の推定TCPスループットであるestimate_TCP_TPARQ OFFを求める(S105)。通信制御部17の判定部175は、estimate_TCP_TPARQ OFF>present_TCP_TPARQ ONであるかを判定する(S106)。S106の判定がYESの場合(ARQの実施が不要であると判定)、通信制御部17の判定部175は、MAC制御部にARQ OFFとするための信号を出力する(S107)。S106の判定がNOの場合(ARQの実施が要であると判定)、処理を終了する(その結果ARQ ONが継続される)。
S101の判定がARQ OFFの場合を説明する。通信制御部17の第1導出部171は、ARQ OFF時の現行TCPスループットであるpresent_TCP_TPARQ OFFを求める(S112)。通信制御部17の確率推定部173は、ARQ ONにした場合の推定TCPロス率estimated_TCP_LossARQ ONを求める(S113)。通信制御部17の時間推定部172は、ARQ ONにした場合の推定TCP RTTであるestimated_TCP_RTTARQ ONを求める(S114)。通信制御部17の第2導出部174は、ARQ ONにした場合の推定TCPスループットであるestimate_TCP_TPARQ ONを求める(S115)。通信制御部17の判定部175は、estimate_TCP_TPARQ ON>present_TCP_TPARQ OFFであるかを判定する(S116)。S106の判定がYESの場合(ARQの実施が要であると判定)、通信制御部17の判定部175は、MAC制御部にARQ ONとするための信号を出力する(S117)。S106の判定がNOの場合(ARQの実施が不要であると判定)、処理を終了する(その結果ARQ OFFが継続される)。
図13乃至14に基づいて、無線端末1のMAC処理部13と無線基地局2のMAC処理部23が送受信する制御メッセージの例を説明する。
図13(A)にDSA−REQメッセージを示す。DSA−REQメッセージは、サービスフローを新規に作成する際に、サービスフローのセットアップ要求を行うメッセージである。ARQ Enable TLVフィールドにおいて、新規作成するサービスフローに対するARQのON/OFFを設定する。
図13(B)にDSA−RSPメッセージを示す。DSA−RSPメッセージは、DSA−REQメッセージに対する応答メッセージである。SFID TLV フィールドにおいて、新規作成したサービスフローの識別子を設定する。
図13(C)にDSA−ACKメッセージを示す。DSA−ACKメッセージは、DSA−RSPメッセージに対する応答メッセージである。
図14(A)にDSC−REQメッセージを示す。DSC−REQメッセージは、既存のサービスフローの設定を更新する際に、サービスフローのセットアップ要求を行うメッセージである。CID TLVフィールドにおいて、既存サービスフローの識別子を設定する。ARQ Enable TLVフィールドにおいて、既存サービスフローに対するARQのON/OFFを設定する。
図14(B)にDSC−RSPメッセージを示す。DSC−RSPメッセージは、DSC−REQメッセージに対する応答メッセージである。
図14(C)にDSC−ACKメッセージを示す。DSC−ACKメッセージは、DSC−RSPメッセージに対する応答メッセージである。
上述したように、第1の実施形態における通信システムによれば、無線通信において実際にARQを停止することなくARQ停止中のTCPスループットが得られる。そのため、ARQをONからOFFに切り替えることによりTCPスループットがさらに低下する場合を回避することが可能となる。また、第1の実施形態における通信システムによれば、無線通信において実際にARQを実施することなくARQ実施中のTCPスループットが得られる。そのため、ARQをOFFからONに切り替えることによりTCPスループットがさらに低下する場合を回避することが可能となる。すなわち、第1の実施形態における通信システムによれば、再送制御の停止への移行を、停止前に停止後のスループットを確認した上で実施することが可能となる。
〔b〕第2実施形態
第1の実施形態は、無線層におけるARQを実施している際に、ARQを停止した場合のスループットを推定したり、無線層におけるARQを停止している際に、ARQを開始した場合のスループットを推定するものである。これに対し、第2の実施形態は、所定の最大送信回数に基づいてARQを実施している際に、ARQの最大再送回数を変更した場合のスループットを推定するものである。
第2の実施形態は、第1の実施形態と共通する点が多い。以下では第2の実施形態において第1の実施形態と異なる点を中心に説明する。
第2の実施形態の無線端末1の機能構成は第1の実施形態と同じであるが、リンク測定部16、時間推定部172、確率推定部173、第2導出部174、判定部175の各処理が異なっている。以下ではこれらについて順に説明する。
無線端末1のリンク測定部16は、TCP処理部11が送受信する無線フレームを監視する。リンク測定部16は、監視期間中に無線遅延時間および無線ロス率を求める。第2の実施形態では、無線遅延時間と無線ロス率の内容が、第1の実施形態と異なる。以下ではARQがONであり、ARQの最大再送回数がN回であるとして説明する。
第2の実施形態の無線遅延時間を説明する。リンク測定部16は、無線遅延時間として、TimeARQ N−1、TimeARQ N−2、・・・、TimeARQ 1、TimeARQ 0(=TimeARQ OFF)を求める。ここで、TimeARQ i(0≦i≦N−1)は、ARQ制御による最大再送回数をi回に減らした場合に削減される遅延時間に対応している。
例えば、N=5のときにTimeARQ 2を求める場合を考える。このとき、リンク測定部16は図15の場合ではT21を計測すればよい。また、図16の場合ではT22とT23の合計を計測すればよい。すなわち、リンク測定部16は、上り下りそれぞれで再送を2回までは許容し、それ以上に要した時間を計測することで、TimeARQ 2を求めることができる。
第2の実施形態の無線ロス率を説明する。リンク測定部16は、無線ロス率として、ProbARQ N−1、ProbARQ N−2、・・・、ProbARQ 1、ProbARQ 0(=ProbARQ OFF)を求める。ここで、ProbARQ i(0≦i≦N−1)は、ARQ制御による最大再送回数をi回に減らした場合に救済されなくなるパケットロス率に対応している。
例えば、N=5のときにProbARQ 2を求める場合を考える。このとき、リンク測定部16はProbARQ 2=L2ARQ 2/S+L3ARQ 2/Sを求める。ここで、Sは無線端末1のTCP処理部11がTCPパケットを送信した回数である。L2ARQ 2は「無線端末1が、TCPパケットを送信する際にNACK信号を3(=i+1)回以上受信した回数」となる。L3ARQ 2は「無線端末1が、TCPパケットを受信する際にNACK信号を3(=i+1)回以上送信した回数」となる。無線端末1は上記のL2ARQ 2およびL3ARQ 2を計測できるので、ProbARQ 2を求めることができる。
次に、時間推定部172を説明する。時間推定部172は、推定TCP RTTを求める。まず時間推定部172は、トランスポート測定部15が求めた現行TCP RTTであるpresent_TCP_RTTARQ ONを取得する。また時間推定部172は、リンク測定部16が求めた無線遅延時間であるTimeARQ i(0≦i≦N−1)を取得する。そして時間推定部172は、推定TCP RTTであるestimated_TCP_RTTARQ i=present_TCP_RTTARQ ON‐TimeARQ i(0≦i≦N−1)を求める。
確率推定部173は、推定TCPロス率を求める。まず確率推定部173は、トランスポート測定部15が求めた現行TCPロス率であるpresent_TCP_LossARQ ONを取得する。また確率推定部173は、リンク測定部16が求めた無線ロス率であるProbARQ i(0≦i≦N−1)を取得する。そして確率推定部173は、推定TCPロス率であるestimated_TCP_LossARQ i=present_TCP_LossARQ ON+ProbARQ i(0≦i≦N−1)を求める。
第2導出部174は、推定TCPスループットを求める。まず第2導出部174は、時間推定部172が求めた推定TCP RTTであるestimated_TCP_RTTARQ i(0≦i≦N−1)を取得する。また第2導出部174は、確率推定部173が求めた推定TCPロス率であるestimated_TCP_LossARQ i(0≦i≦N−1)を取得する。そして第2導出部174は、取得した推定TCP RTTおよびTCPロス率、ならびに、データサイズBおよびTCP固有パラメータを用い、式(1)に基づいて推定TCPスループットestimate_TCP_TPARQ i(0≦i≦N−1)を求める。ここで、データサイズBまたはTCP固有パラメータαについては、トランスポート計測部またはTCP処理部11から取得してもよいし、所定の値を用いてもよい。
判定部175は、現行TCPスループットと推定TCPスループットとから、ARQ制御の要否を判定する。まず判定部175は、第1導出部171から現行TCPスループットをpresent_TCP_TPARQ ONを取得する。また判定部175は、第2導出部174から推定TCPスループットestimate_TCP_TPARQ i(0≦i≦N−1)を取得する。そして判定部175は現行TCPスループットと推定TCPスループットそれぞれとを比較する。もし現行TCPスループットが最も大きければ、判定部175は処理を終了する。一方、もし推定TCPスループットのestimate_TCP_TPARQ i(1≦i≦N−1)が最も大きければ、判定部175はARQ制御の最大送信回数をi回と変更する信号をMAC処理部13に入力する。また、もし推定TCPスループットのestimate_TCP_TPARQ 0が最も大きければ、判定部175はARQ制御をOFFとする信号をMAC処理部13に入力する。
図17に第2の実施の形態における無線システムの動作シーケンスの例を示す。ここでは、図17において図11と異なる点を中心に簡単に説明する。なお、図17においては最大再送回数をRT(ReTry)と表記している。
この例では、当初、無線システムはARQの最大再送回数N=5で運用されている(S201〜206)。無線端末1の判定部175は、一度目の判定においてARQの最大送信回数N=3に変更することを決定している(S207〜S210)。そして、無線端末1のMAC処理部13は、最大送信回数を変更するためのDSC−REQメッセージを無線基地局2に送信する(S211〜213)。このときのDSC−REQメッセージにおいては、ARQ_RETRY_TIMEOUT TLVに、変更後の最大再送回数3が設定される。
また、無線端末1の判定部175は、二度目の判定においてARQを停止することを決定している(S214〜S217)。そして、無線端末1のMAC処理部13は、最大送信回数を停止するためのDSC−REQメッセージを無線基地局2に送信する(S218〜220)。このときのDSC−REQメッセージにおいては、ARQ Enable TLVに0(ARQ OFF)が設定される。
上述したように、第2の実施形態における通信システムによれば、無線通信において実際にARQの最大再送回数を変更することなく変更後のTCPスループットが得られる。そのため、ARQの最大再送回数を変更することによりTCPスループットがさらに低下する場合を回避することが可能となる。すなわち、第2の実施形態における通信システムによれば、再送制御の最大再送回数の変更を、変更前に変更後のスループットを確認した上で実施することが可能となる。
〔c〕第3実施形態
第1の実施形態は、無線層におけるARQを実施している際に、ARQを停止した場合のスループットを推定したり、無線層におけるARQを停止している際に、ARQを開始した場合のスループットを推定するものである。これに対し、第3の実施形態は、無線層におけるFECを実施している際に、FECを停止した場合のスループットを推定したり、無線層におけるFECを停止している際に、FECを開始した場合のスループットを推定するものである。
なお、無線技術標準であるWiMAXは、FEC単独の機能は備えていない。そのため、WiMAXにおいてFECを用いるためには、前述したHARQを利用するか、新たにFEC単独の機能を組み込む必要がある。もちろん、本実施の形態はWiMAXに限定されるものではない。
第3の実施形態は、第1の実施形態と共通する点が多い。以下では第3の実施形態において第1の実施形態と異なる点を中心に説明する。
図18は、第3の実施形態の通信システムにおける無線端末1の機能構成を示す。図18の無線端末1は、第1の実施形態の無線端末1(図2)における時間推定部172に替えて、サイズ推定部176を備える。
また、第3の実施形態においては、無線端末1および無線基地局2のMAC処理部13が異なる。さらに、無線端末1のトランスポート測定部15、リンク測定部16、通信制御部17(第2導出部174、判定部175を備える)の各処理が、第1の実施形態と異なる。
まず、第3の実施形態における無線端末1のMAC処理部13および無線基地局2のMAC処理部23を説明する。基本的な無線フレーム送受信の流れについては、第1の実施形態と同じである。ただし、第3の実施形態のMAC処理部13および23はFEC制御を行う点が異なる。また、第3の実施形態のMAC処理部13および23は必ずしもARQ制御を行わなくてもよい点も異なる。
FECは所定の符号化率に基づく冗長データを用いることで、再送を行わずに、誤りデータを復元する技術である。無線端末1のMAC処理部13は、データを送信する際に予め冗長データを他のフレームに含めて送信する。無線基地局2のMAC処理部23で伝送誤りが検出された場合、冗長データから誤りのあったデータを復元する。送信側と受信側が入れ替わっても同じである。
FECは所定の符号化率に基づく冗長データを利用する。そのため、FECを実施するとデータ伝送の効率が下がる側面もあるが、再送が不要なため、無線品質が悪い場合などは却って効率的にデータ伝送を行うことができる。すなわち、FECを用いることにより、無線品質が悪いことによりフレームが毀損しやすいような場合であっても、無線回線における通信の信頼性がある程度確保される。
第3の実施形態における通信制御部17は、FEC制御がONの場合の現行TCPスループットpresent_TCP_TPFEC ONを求める。また、通信制御部17は、ARQ制御がOFFの場合の推定TCPスループットestimated_TCP_TPFEC OFFを推定する。
TCPスループットは式(1)により求められる。ここで、式(1)のRTTおよびTCP固有パラメータαは、FEC制御の有無にかかわらず変動しない。しかし、式(1)のデータサイズBおよびパケットロス率Pは、FEC制御の有無により変動する。その為、TCPスループットを推定するためには、BとPを推定する必要がある。ただし、Pの推定については、第1実施例で述べたのと同様に行えばよい。そこで、以下ではTCPパケットのデータサイズであるBの推定について説明する。
TCPパケットのデータサイズBは、MSS(Maximum Segment Size)と、FECの符号化率によって決まる。MSSとは、1つのパケットに格納できる最大のデータサイズである。TCPパケットのMSSは下位層のネットワークにより異なるが、一般に千〜数千バイト程度でありそれほど大きくない。そのためほとんどのTCPパケットのデータサイズはMSSであると仮定できる。したがって、FEC制御がOFFの場合、TCPパケット1つあたりに含まれるデータサイズBの平均はほぼMSSに等しくなる。
他方、FECの符号化率をEとする。FEC制御がONの場合、Bの平均はMSS×Eバイトとなる。
以上の説明に基づき、第3の実施形態の無線端末1のトランスポート測定部15、リンク測定部16、サイズ推定部176、第2導出部174、判定部175を順に説明する。
トランスポート測定部15は、第1の実施形態と同様にして、現行TCPロス率を測定する。トランスポート測定部15は、第1の実施形態と異なり、現行TCP RTTを測定する必要はない。
リンク測定部16は、MAC処理部13を監視し、無線ロス率を測定する。ただし、測定の方法は第1の実施形態と異なる。FECがONの場合、リンク測定部16は、「MAC処理部13がFEC処理を行うこと無しに無線フレームを正しく復号できず、FEC処理を行うことで無線フレームを正しく復号できた確率」を無線ロス率として測定する。端的にいえば、この無線ロス率は、FEC制御によってTCPパケットの送受信が成功する確率(仮にFECをOFFにするとこの確率の分は全てパケットロスになる)に対応している。
一方、FECがOFFの場合、リンク測定部16は、制御用サービスフローを監視して無線ロス率を測定する。この測定は第1の実施例と同様の考えに基づいて行えばよい。なお、リンク測定部16は、第1の実施形態と異なり、無線遅延時間を測定する必要はない。
サイズ推定部176は、パケットのデータサイズBを推定する。FECがONの場合、サイズ推定部176はTCP処理部11からMSSを取得し、推定データサイズestimated_TCPARQ OFF=MSSとする。一方FECがOFFの場合、サイズ推定部176は、TCP処理部11からMSSを取得するとともに、MAC処理部13から無線符号化率(FECの符号化率)Eを取得する。そして、サイズ推定部176は、推定データサイズestimated_TCPARQ ON=MSS×Eを計算する。
第2導出部174は、推定TCPスループットを求める。まず第2導出部174は、確率推定部173が求めた推定TCPロス率であるestimated_TCP_LossFEC ONまたはestimated_TCP_LossFEC OFFを取得する。また第2導出部174は、サイズ推定部176が求めた推定データサイズであるestimated_TCP_SizeFEC ONまたはestimated_TCP_SizeFEC OFFを取得する。そして第2導出部174は、取得した推定TCPロス率および推定データサイズ、ならびに、TCP RTTおよびTCP固有パラメータを用い、式(1)に基づいて推定TCPスループットを求める。ここで、TCP RTTについては、第2導出部174はトランスポート測定部15から取得してもよいし、定数とみなして所定の値を用いてもよい。また、TCP固有パラメータαについては、第2導出部174はTCP処理部11から取得してもよいし、所定の値を用いてもよい。
判定部175は、現行TCPスループットと推定TCPスループットとから、FEC制御の要否を判定する。まず判定部175は、第1導出部171から現行TCPスループットを取得する。また判定部175は、第2導出部174から推定TCPスループットを取得する。そして判定部175は現行TCPスループットと推定TCPスループットとを比較する。もし現行TCPスループットの方が大きければ、判定部175は処理を終了する。一方、もし推定TCPスループットの方が大きければ、判定部175は、TCP通信を行うサービスフローのFECの有無を切り替える信号をMAC処理部13に入力する。すなわち、推定TCPスループットの方が大きく且つFEC ONの場合、判定部175はFEC制御をOFFとする信号をMAC処理部13に入力する。また推定TCPスループットの方が大きく且つFEC OFFの場合、判定部175はFEC制御をONとする信号をMAC処理部13に入力する。
図19に第3の実施の形態における無線システムの動作シーケンスの例を示す。ここでは、図19において図11と異なる点を中心に簡単に説明する。
この例では、当初、無線システムはFEC制御がONで運用されている(S401〜406)。無線端末1の判定部175は、一度目の判定においてFECをOFFに変更することを決定している(S407〜S410)。そして、無線端末1のMAC処理部13は、FECをOFFに変更するためのDSC−REQメッセージを無線基地局2に送信する(S411〜413)。このときのDSC−REQメッセージにおいては、FEC Enable TLVに0(FEC OFF)が設定される。
また、無線端末1の判定部175は、三度目の判定においてFECをONに変更することを決定している(S417〜420)。そして、無線端末1のMAC処理部13は、FECをONに変更するためのDSC−REQメッセージを無線基地局2に送信する(S421〜423)。このときのDSC−REQメッセージにおいては、FEC Enable TLVに1(FEC ON)が設定される。
第3の実施形態において、無線端末1のMAC処理部13と無線基地局のMAC処理部23とが送受信する制御メッセージの例を説明する。ここでは、第1の実施形態の制御メッセージ(図13乃至14)と異なる点を中心に簡単に説明する。
図20は第3の実施形態におけるDSA−REQメッセージを説明する図である。第3の実施形態におけるDSA−REQメッセージは、図13(A)に示すDSA−REQメッセージにおけるARQ Enable TLVの代わりに、またはこれらに加えて、図20のFEC Enable TLVを含むことができる。FEC Enable TLVフィールドにおいて、新規作成するサービスフローに対するARQのON/OFFを設定する。
また、DSA−RTPメッセージ(図13(B))、DSC−REQメッセージ(図14(A))、およびDSC−RSPメッセージ(図14(B))においても、DSA−REQメッセージと同様に、FEC Enable TLVを含むことができる。
上述したように、第3の実施形態における通信システムによれば、無線通信において実際にFECを停止することなくFEC停止中のTCPスループットが得られる。そのため、FECをONからOFFに切り替えることによりTCPスループットがさらに低下する場合を回避することが可能となる。また、第3の実施形態における通信システムによれば、無線通信において実際にFECを実施することなくFEC実施中のTCPスループットが得られる。そのため、FECをOFFからONに切り替えることによりTCPスループットがさらに低下する場合を回避することが可能となる。すなわち、第3の実施形態における通信システムによれば、誤り訂正符号化の停止への移行を、停止前に停止後のスループットを確認した上で実施することが可能となる。
〔d〕第4実施形態
第3の実施形態は、無線層におけるFECを実施している際に、FECを停止した場合のスループットを推定したり、無線層におけるFECを停止している際に、FECを開始した場合のスループットを推定するものである。これに対し、第4の実施形態は、所定の符号化率に基づいてFECを実施している際に、FECの符号化率を変更した場合のスループットを推定するものである。
第4の実施形態は、第3の実施形態と共通する点が多い。以下では第4の実施形態において第3の実施形態と異なる点を中心に説明する。
第4の実施形態の無線端末1の機能構成は第3の実施形態と同じであるが、リンク測定部16、サイズ推定部176、確率推定部173、第2導出部174、判定部175の各処理が異なっている。以下ではこれらについて順に説明する。
無線端末1のリンク測定部16は、無線処理部が送受信する無線フレームを監視する。リンク測定部16は、監視期間中に無線ロス率を求める。第4の実施形態では、無線ロス率の内容が、第3の実施形態と異なる。以下ではFECにおいて選択可能なM個の符号化率から成る集合を{Ej|0≦j≦M}とする。また、FECがONで運用されており、FECの符号化率(無線符号化率)がpresent_E=Epであるとして説明する。
第4の実施形態の無線ロス率を説明する。リンク測定部16は、無線ロス率として、ProbFEC M、ProbFEC M−1、・・・、ProbFEC 1、ProbFEC 0(=ProbFEC OFF)を求める。ここで、ProbFEC j=Qj−Qp(0≦j≦M、j≠p)とする。
Qjは、「無線符号化率EjのFEC制御を実施した場合に、無線フレームを正しく復号できると推定される確率」である。Qpは、「現行の無線符号化率EpのFEC制御により、無線フレームを正しく復号できる確率」である。端的にいえば、この無線ロス率ProbFEC jは、FEC制御の無線符号化率を(Epから)Ejに切り替えた場合を基準として、現行の符号化Epによって無線フレームの送受信失敗が成功に導かれる確率に対応している。すなわち、仮にFECの符号化率を切り替えるとこの確率の分は全てパケットロスになる。
次に、サイズ推定部176を説明する。サイズ推定部176は、推定データサイズを求める。サイズ推定部176は、TCP処理部11からMSSを取得するとともに、MAC処理部13から無線符号化率{Ej|0≦j≦M}を取得する。そして、サイズ推定部176は、推定データサイズestimated_TCP_SizeFEC j=MSS×Ej(0≦j≦M、j≠p)を計算する。
確率推定部173は、推定TCPロス率を求める。まず確率推定部173は、トランスポート測定部15が求めた現行TCPロス率であるpresent_TCP_LossFEC pを取得する。また確率推定部173は、リンク測定部16が求めた無線ロス率であるProbFEC j(0≦j≦M、j≠p)を取得する。そして確率推定部173は、推定TCPロス率であるestimated_TCP_LossFEC j=present_TCP_LossFEC p+ProbFEC j(0≦j≦M、j≠p)を求める。
第2導出部174は、推定TCPスループットを求める。まず第2導出部174は、サイズ推定部176が求めた推定データサイズであるestimated_TCP_SizeFRC j(0≦j≦M、j≠p)を取得する。また第2導出部174は、確率推定部173が求めた推定TCPロス率であるestimated_TCP_LossFRC j(0≦j≦M、j≠p)を取得する。そして第2導出部174は、取得した推定データサイズおよびTCPロス率、ならびに、RTTおよびTCP固有パラメータを用い、式(1)に基づいて推定TCPスループットestimate_TCP_TPFRC j(0≦j≦M、j≠p)を求める。ここで、TCP RTTについては、第2導出部174はトランスポート測定部15から取得してもよいし、定数とみなして所定の値を用いてもよい。また、TCP固有パラメータαについては、第2導出部174はTCP処理部11から取得してもよいし、所定の値を用いてもよい。
判定部175は、現行TCPスループットと推定TCPスループットとから、ARQ制御の要否を判定する。まず判定部175は、第1導出部171から現行TCPスループットをpresent_TCP_TPFEC pを取得する。また判定部175は、第2導出部174から推定TCPスループットestimate_TCP_TPFRC j(0≦j≦M、j≠p)を取得する。そして判定部175は現行TCPスループットと推定TCPスループットそれぞれとを比較する。もし現行TCPスループットが最も大きければ、判定部175は処理を終了する。一方、もし推定TCPスループットのestimate_TCP_TPFRC j(1≦j≦M、j≠p)が最も大きければ、判定部175は無線符号化率をEjと変更する信号をMAC処理部13に入力する。また、もし推定TCPスループットのestimate_TCP_TPFEC 0が最も大きければ、判定部175はFEC制御をOFFとする信号をMAC処理部13に入力する。
図21に第4の実施形態における無線システムの動作シーケンスの例を示す。また、FEC制御において採りうる無線符号化率の例を図22に示す。ここでは、図21において図19と異なる点を中心に簡単に説明する。なお、図21においては無線符号化率のインデックスをRI(Rate Index)と表記している。
この例では、当初はFECの無線符号化率E5=188/268で運用されている。無線端末1の判定部175は、一度目の判定において無線符号化率E3=188/236に変更することを決定している。そして、無線端末1のMAC処理部13は、無線符号化率を変更するためのDSC−REQメッセージを無線基地局2に送信する。このときのDSC−REQメッセージにおいては、図20に示すFEC_ENCODE_PARAM TLVに、変更後の無線符号化率が指定される。
また、無線端末1の判定部175は、二度目の判定においてFECを停止することを決定している。そして、無線端末1のMAC処理部13は、FECを停止するためのDSC−REQメッセージを無線基地局2に送信する。このときのDSC−REQメッセージにおいては、FEC Enable TLVに0(FEC OFF)が設定される。
上述したように、第4の実施形態における通信システムによれば、無線通信において実際にFECの符号化率を変更することなく変更後のTCPスループットが得られる。そのため、FECの符号化率を変更することによりTCPスループットがさらに低下する場合を回避することが可能となる。すなわち、第4の実施形態における通信システムによれば、誤り訂正符号化の符号化率の変更を、変更前に変更後のスループットを確認した上で実施することが可能となる。
〔e〕その他の実施例
上記の第1から第4の実施形態は、適宜組み合わせることができる。
例えば、第1の実施形態と第3の実施形態とを組み合わせることにより、ARQ ON且つFEC ONからARQ OFF且つFEC ONへ切り替える等のように、ARQとFECとを組み合わせた切り替えを行うことが可能となる。これにより、ARQとFECそれぞれの有無を組み合わせた最適なスループットを確保することができる。
さらに、例えば第2の実施形態と第4の実施形態とを組み合わせることにより、ARQ 最大再送回数5回且つFEC無線符号化率188/268からARQ最大再送回数3回且つFEC無線符号化率188/252へ切り替える等のように、ARQの最大再送回数とFECの無線符号化率とを組み合わせた切り替えを行うことが可能となる。これにより、RQの最大再送回数とFECの無線符号化率を組み合わせた最適なスループットを確保することができる。
以下では、上記の各実施形態におけるバリエーションを説明する。
上記の各実施形態においては、所定の満了期間が設定されたタイマ18がエクスパイアしたことを契機として、トランスポート測定部15やリンク測定部16等が処理を開始していた。この満了期間としては、一定値でもよいし、サービスフローが対象とするアプリケーション毎に異なる値を用いてもよい。
例えば、無線端末1は図23に示すようなタイマ18テーブルを備え、タイマ18はこのタイムテーブルを参照し、サービスフローが対象とするアプリケーション毎に満了期間を異なるものとすることができる。サービスフローが対象とするアプリケーションは、サービスフローを流れるTCPパケットに付加されたTCPヘッダ内のポート番号によって識別することができる。
アプリケーション毎に異なる満了期間を設定することにより、例えばHTTPのように比較的リアルタイム性の高いアプリケーションには即時性のあるARQ/FEC制御を行うことができるため、その結果スループットの低下による影響を最小限にできる。また、FTPのように比較的リアルタイム性の低いアプリケーションは間隔をあけて判定を行うことができるため、ARQ/FEC制御による処理負荷を抑えることができる。
また、タイマ18を用いずに、判定部175等が処理を開始する構成としてもよい。例えば、現行TCPスループットが所定値以下(例えば回線帯域の5%以下など)となったことを契機として、トランスポート測定部15やリンク測定部16等が処理を開始することもできる。これにより、TCPスループットの上昇に即応してARQ/FEC制御を行うことができるようになる。
また、上記実施の形態においては、式(1)に基づいて絶対的なTCPスループットを求めているが、相対的なスループットを求めるようにしてもよい。例えば、第1の実施形態においては、前述の通り、式(1)のパラメータのうちでRTTとPのみが変数であり、Bとαは定数である。したがって、第1の実施形態においては、式(1)を用いることなく、相対的なスループットとしてR´=1/(RTT×P)を求めて、これの大小に基づいて判定を行ってもよい。もちろん、R´´=RTT×Pの小大に基づいて判定を行ってもよい。これにより、スループットを求める際の演算量を減らすことができる。その他の実施形態についても、これと同様に、相対的なスループットに基づく判定を行うことができる。
また、第2の実施形態において、TCPスループットが最適となるようなARQ最大再送回数を実施するように判定しているが、必ずしも「最適」でなくてもよい。例えば、別の所定の条件を用い、スループットが2番目以降のARQ最大再送回数を選択してもよい。一例として、スループットが最適となるような最大再送回数を設定すると無線端末1や無線基地局2が過負荷となることが推定される場合、スループットが2番目以降のARQ最大再送回数を選択することができる。
また、上記の各実施の形態においては、無線端末1と無線基地局2とを備える通信システムにおいて、無線端末1側が主導して動作するものである。しかし、本発明の実施の形態はこれに限らない。例えば、無線端末1と無線基地局2とを備える通信システムにおいて、無線基地局2側が主導して動作してもよい。この場合、上記実施の形態の無線端末1と無線基地局2の動作が入れ替わるだけなので、詳細な説明は割愛する。
さらに、上記の各実施の形態においては、無線端末1が無線通信を行う通信システムであるが、本発明の実施の形態はこれに限らない。例えば、本発明は有線端末が有線通信を行う場合にも適用可能である。
[付記1]下位層で再送制御を実施しているときの上位層での送信完了時間と該再送制御に要する時間とに基づいて、該再送制御を実施しない場合の推定送信完了時間を推定する時間推定部と、前記再送制御を実施しているときの上位層での送信失敗回数と該再送制御によって上位層での送信が成功した回数とに基づいて、該再送制御を実施しない場合の推定送信失敗率を推定する確率推定部と、前記推定送信完了時間と前記推定送信失敗率とに基づいて前記再送制御を実施しない場合の推定スループットを求める第1導出部と
を備えることを特徴とする通信装置。
[付記2]前記再送制御を実施しているときのスループットと、該再送制御を実施しない場合の前記推定スループットとに基づき、該再送制御を停止するかを判定する判定部
をさらに備えることを特徴とする付記1記載の通信装置。
[付記3]下位層で再送制御を実施していないときの上位層での送信完了時間と該再送制御に要すると見積もられる時間とに基づいて、該再送制御を実施する場合の推定送信完了時間を推定する時間推定部と、
前記再送制御を実施していないときの上位層での送信失敗回数と該再送制御によって上位層での送信が成功すると見積もられる回数とに基づいて、該再送制御を実施する場合の推定送信失敗率を推定する確率推定部と、
前記推定送信完了時間と前記推定送信失敗率とに基づいて前記再送制御を実施しない場合のスループットを求める第1導出部と
を備えることを特徴とする通信装置。
[付記4]下位層で最大再送回数が所定値である再送制御を実施しているときの上位層での送信完了時間と該再送制御に要する時間とに基づいて、該最大再送回数を変更する場合の推定送信完了時間を推定する時間推定部と、
前記最大再送回数が前記所定値である前記再送制御を実施しているときの上位層での送信失敗回数と該再送制御によって上位層での送信が成功した回数とに基づいて、該最大再送回数を変更する場合の推定送信失敗率を推定する確率推定部と、
前記推定送信完了時間と前記推定送信失敗率とに基づいて前記最大再送回数を変更する場合の推定スループットを求める第1導出部と
を備えることを特徴とする通信装置。
[付記5]下位層で誤り訂正符号化を実施しているときの上位層でのデータサイズに基づいて、該誤り訂正符号化を実施しない場合の推定データサイズを推定するサイズ推定部と、
前記誤り訂正符号化を実施しているときの上位層での送信失敗回数と該誤り訂正符号化によって上位層での送信が成功した回数とに基づいて、該誤り訂正符号化を実施しない場合の推定送信失敗率を推定する確率推定部と、
前記推定データサイズと前記推定送信失敗率とに基づいて前記誤り訂正符号化を実施しない場合の推定スループットを求める第1導出部とを備えることを特徴とする通信装置。
[付記6]前記誤り訂正符号化を実施しているときのスループットと、該誤り訂正符号化を実施しない場合の前記推定スループットとに基づき、該誤り訂正符号化を停止するかを判定する判定部
をさらに備えることを特徴とする付記5記載の通信装置。
[付記7]下位層で誤り訂正符号化を実施していないときの上位層のデータサイズに基づいて、該誤り訂正符号化を実施する場合の推定データサイズを推定するサイズ推定部と、
前記誤り訂正符号化を実施していないときの上位層での送信失敗回数と該誤り訂正符号化によって上位層での送信が成功すると見積もられる回数とに基づいて、該誤り訂正符号化を実施する場合の推定送信失敗率を推定する確率推定部と、
前記推定データサイズと前記推定送信失敗率とに基づいて前記誤り訂正符号化を実施しない場合のスループットを求める第1導出部とを備えることを特徴とする通信装置。
[付記8]下位層で所定の符号化率に基づき誤り訂正符号化を実施しているときの該符号化率と上位層のデータサイズとに基づいて該符号化率を変更する場合の推定データサイズを推定するサイズ推定部と、
前記誤り訂正符号化を実施しているときの上位層での送信失敗回数と該誤り訂正符号化によって上位層での送信が成功した回数とに基づいて、前記符号化率を変更する場合の推定送信失敗率を推定する確率推定部と、
前記推定データサイズと前記推定送信失敗率とに基づいて前記符号化率を変更する場合の推定スループットを求める第1導出部とを備えることを特徴とする通信装置。
[付記9]下位層で再送制御を実施しているときの上位層での送信完了時間と該再送制御に要する時間とに基づいて、該再送制御を実施しない場合の推定送信完了時間を推定し、
前記再送制御を実施しているときの上位層での送信失敗回数と該再送制御によって上位層での送信が成功した回数とに基づいて、該再送制御を実施しない場合の推定送信失敗率を推定し、
前記推定送信完了時間と前記推定送信失敗率とに基づいて前記再送制御を実施しない場合の推定スループットを求めることを特徴とする通信方法。
[付記10] 下位層で誤り訂正符号化を実施しているときの上位層のデータサイズに基づいて、該誤り訂正符号化を実施しない場合の推定データサイズを推定し、
前記誤り訂正符号化を実施しているときの上位層での送信失敗回数と該誤り訂正符号化によって上位層での送信が成功した回数とに基づいて、該誤り訂正符号化を実施しない場合の推定送信失敗率を推定し、
前記推定データサイズと前記推定送信失敗率とに基づいて前記誤り訂正符号化を実施しない場合の推定スループットを求めることを特徴とする通信方法。
[付記11]プロセッサとメモリとを備え、
前記プロセッサは、
前記メモリから読み出した下位層で再送制御を実施しているときの上位層での送信完了時間と該再送制御に要する時間とに基づいて推定した、該再送制御を実施しない場合の推定送信完了時間を前記メモリに格納し、
前記メモリから読み出した前記再送制御を実施しているときの上位層での送信失敗回数と該再送制御によって上位層での送信が成功した回数とに基づいて推定した、該再送制御を実施しない場合の推定送信失敗率を前記メモリに格納し、
前記メモリから読み出した前記推定送信完了時間 と前記推定送信失敗率とに基づいて前記再送制御を実施しない場合の推定スループットを求める
ことを特徴とする通信装置。
[付記12]プロセッサとメモリとを備え、
前記プロセッサは、
前記メモリから読み出した下位層で誤り訂正符号化を実施しているときの上位層でのデータサイズに基づいて推定した、該誤り訂正符号化を実施しない場合の推定データサイズを前記メモリに格納し、
前記メモリから読み出した前記メモリから読み出した前記誤り訂正符号化を実施しているときの上位層での送信失敗回数と該誤り訂正符号化によって上位層での送信が成功した回数とに基づいて推定した、該誤り訂正符号化を実施しない場合の推定送信失敗率を前記メモリに格納し、
前記メモリから読み出した前記推定データサイズと前記推定送信失敗率とに基づいて前記誤り訂正符号化を実施しない場合の推定スループットを求める
ことを特徴とする通信装置。