以下、本発明による伝送レート制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による伝送レート制御装置について、図面を参照しながら説明する。本実施の形態による伝送レート制御装置は、衝突の発生に応じて通信レートの下限を引き上げるものである。
図1は、本実施の形態による伝送レート制御装置1の構成を示すブロック図である。本実施の形態による伝送レート制御装置1は、通信部11と、エラー検知部12と、衝突判断部13と、送信制御部14と、伝送レート制御部15と、通信品質取得部16と、下限設定部17とを備える。なお、伝送レート制御装置1は、例えば、アクセスポイント(AP)のような無線基地局であってもよく、ステーション(STA)のような端末装置であってもよく、その他の装置であってもよい。本実施の形態では、伝送レート制御装置1が端末装置である場合について主に説明する。その端末装置は、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等であってもよい。また、伝送レート制御装置1は、自律分散型無線ネットワークにおいて無線通信を行う装置であることが好適である。その無線ネットワークは、他の無線システムと混在する環境であってもよい。
通信部11は、アンテナを介して無線通信を行う。通信部11が行う無線通信は、どのようなものであってもよい。その無線通信は、例えば、無線LANによる通信であってもよく、他の移動体通信であってもよく、その他の無線通信であってもよい。本実施の形態では、無線通信が無線LANによる通信である場合について主に説明する。通信部11は、下限設定部17によって、後述するように伝送レートの下限が引き上げられたり、引き下げられたりした場合に、引き上げられた伝送レートの下限または引き下げられた伝送レートの下限を通信先の装置に送信してもよい。伝送レート制御装置1がAPである場合には、通信部11は、例えば、その引き上げられた伝送レートの下限を含むビーコンを送信してもよく、その引き上げられた伝送レートの下限を含む他の無線信号を送信してもよい。なお、ビーコンに含まれる伝送レートの下限は、例えば、ビーコンに含まれるSupported Ratesエレメントにおける伝送レートの下限であってもよい。無線信号は、例えば、フレームあるいはパケットと称される信号であってもよく、無線ネットワークで送受信されるその他の信号であってもよい。また、通信部11は、後述するACKやNAK(否定応答)を受信してもよい。また、通信部11は、図示しないアプリケーションの実行部等からの要求に応じて無線信号を送信してもよく、また、他の装置から送信された無線信号を受信してもよい。また、通信部11は、後述するキャリアセンスや通信品質の取得で用いられる情報を受信すると、その情報を図示しない記録媒体で記憶してもよい。その情報は、例えば、周波数スペクトルや、スペクトログラム等であってもよく、通信品質そのものであってもよい。また、通信部11は、図示しない送信キューでキューイングされているパケットを、順次送信してもよい。その送信の際に、通信部11は、キャリアセンスの結果を用いた送信制御部14の制御に応じた送信を行ってもよい。また、通信部11は、伝送レート制御部15が決定した伝送レートで無線信号を送信してもよい。なお、通信部11は、無線通信を行うための無線の通信デバイス(例えば、ネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、通信部11は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
エラー検知部12は、通信部11が行う無線通信のエラーを検知する。このエラー検知部12が検知するエラーは、例えば、送信された無線信号が適切に受信されなかったことに関するエラーであってもよく、その他のエラーであってもよい。具体的には、エラー検知部12は、例えば、通信部11による無線信号の送信に対してACKが受信されず、タイムアウトとなった場合にエラーを検知してもよく、通信部11による無線信号の送信に対してNAKが受信された場合にエラーを検知してもよく、通信部11による無線信号の送信に対して、受信できなかった無線信号を識別する情報(例えば、受信できなかったフレームのシーケンス番号等)を含む情報が受信された場合にエラーを検知してもよい。また、エラー検知部12は、例えば、通信部11が受信するはずの無線信号を受信しない場合(例えば、受信したフレームのシーケンス番号が連続していない場合等)にエラーを検知してもよく、エラーに対応するその他の状況が発生した場合にエラーを検知してもよい。また、エラー検知部12によるエラーの検知は、物理層における伝送エラーの検知であってもよく、それ以外の伝送エラーの検知であってもよい。
衝突判断部13は、通信部11が通信する無線信号に衝突が発生するかどうか判断する。なお、衝突判断部13による無線信号に衝突が発生するかどうかの判断は、厳密には、その衝突が発生する可能性があるかどうかを予測する判断である。また、その判断の対象となる時点は、現在であってもよく、過去であってもよい。すなわち、衝突判断部13は、現在、無線信号が衝突する可能性があるかどうかを判断してもよく、過去に無線信号が衝突した可能性があるかどうかを判断してもよい。後者の場合には、例えば、衝突判断部13は、エラー検知部12によって検知されたエラーの原因が無線信号の衝突であるかどうかを判断し、そのエラーの原因が無線信号の衝突である場合に、無線信号に衝突が発生したと判断してもよく、そのエラーの原因が無線信号の衝突でない場合に、無線信号に衝突が発生していないと判断してもよい。なお、判断の対象となる時点が過去である場合に、その時点は、判断時に対して直近の過去であることが好適である。また、衝突判断部13による判断処理の詳細については後述する。
送信制御部14は、通信部11を用いたキャリアセンスの結果に応じて、通信部11による送信を制御する。具体的には、送信制御部14は、キャリアセンスの結果に応じて空いている周波数を特定し、その特定した周波数で送信するように通信部11を制御してもよい。そのキャリアセンスは、例えば、物理キャリアセンスであってもよく、仮想キャリアセンスであってもよい。また、送信制御部14は、すべての周波数が利用されている場合、または、通信に用いている周波数が利用されている場合には、周波数に空きの生じた後に無線信号を送信するように通信部11を制御してもよい。この場合に、送信制御部14は、例えば、周波数に空きが生じてからバックオフ時間だけ経過した後に無線信号を送信するように通信部11を制御してもよい。また、送信制御部14は、通信部11による無線信号の送信についてエラーが発生した場合、すなわち、その無線信号が送信先で適切に受信されなかった場合に、エラーとなった無線信号を再送するように通信部11を制御してもよい。なお、エラー検知部12がエラーを検知した場合に、送信制御部14は、通信部11による無線信号の送信についてエラーが発生したと判断してもよい。また、無線信号の再送を制御する場合にも、送信制御部14は、例えば、周波数に空きが生じてからバックオフ時間だけ経過した後に無線信号を送信するように通信部11を制御してもよい。そのバックオフ時間は、例えば、0からCWまでの範囲から生成される乱数値にスロットタイムを掛けた値であり、無線信号の再送が繰り返されるたびにCWは増加してもよい。具体的には、IEEE802.11規格の場合には、前述のように、CW=24+R−1であってもよい。送信制御部14による制御は、例えば、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)の制御であってもよい。なお、キャリアセンスの結果に応じて無線信号の送信を制御することなどはすでに公知であり、その詳細な説明を省略する。
伝送レート制御部15は、エラー検知部12によるエラーの検知に応じて、通信部11が送信する無線信号の伝送レートを制御する。この制御は、例えば、フォールバック制御であってもよい。具体的には、この制御は、前述のOnoeアルゴリズム等による制御であってもよい。すなわち、無線信号の送信に対してエラーが検知された場合に伝送レートを下げ、無線信号の伝送成功数が一定数以上になると、伝送レートを上げてもよい。伝送レートを下げる場合に、伝送レート制御部15は、1回のエラーの検知に応じて伝送レートを下げてもよく、連続または非連続の複数回のエラーの検知に応じて伝送レートを下げてもよい。この伝送レートは、例えば、物理層における伝送レートであってもよく、それ以外の伝送レートであってもよい。なお、伝送レート制御部15による制御は、結果として、エラーの検知に応じた伝送レートの制御となればよい。したがって、例えば、エラーの検知に応じて無線信号の再送が行われる場合には、伝送レート制御部15による制御は、無線信号の再送に応じた伝送レートの制御であってもよい。その場合には、伝送レート制御部15は、例えば、再送が生じた場合に伝送レートを下げ、再送なしの伝送成功数が一定数以上になると、伝送レートを上げてもよい。なお、伝送レートの制御、すなわち、伝送レートの上下は、あらかじめ決められた複数の伝送レートにおいて、現在の伝送レートよりも一段階高い伝送レートにすることや、現在の伝送レートよりも一段階低い伝送レートにすることであってもよく、または、そうでなくてもよい。また、伝送レート制御部15は、下限設定部17によって、後述するように伝送レートの下限が引き上げられた場合または引き下げられた場合に、その引き上げられた、または引き下げられた伝送レートの下限以上の伝送レートによる送信が行われるように通信部11を制御してもよい。
通信品質取得部16は、通信部11が行う無線通信の通信品質を取得する。その通信品質は、伝送レート制御装置1と、通信先の装置との間で行われる無線通信が空いているのか混雑しているのかを示す情報である。通信品質は、例えば、通信経路の観測品質であってもよく、ユーザが評価した通信経路の主観品質であってもよく、その両方であってもよく、無線通信に関するその他の通信品質であってもよい。通信品質は、例えば、QoEであってもよい。また、通信品質は、例えば、後述するMOS(Mean Opinion Score)値であってもよい。
通信経路の観測品質は、例えば、パケットの送受信に応じて測定できる情報を含んでもよく、図示しない送信キューでキューイングされているパケットの数に応じて取得できる情報を含んでもよく、それらのうち少なくとも一方の情報に対応する値であってもよい。その情報に対応する値とは、例えば、その情報を引数とする関数の値であってもよく、その情報にテーブル等によって対応付けられている値であってもよい。この通信経路の観測品質は、例えば、QoSであると考えてもよい。パケットの送受信に応じて測定できる情報は、例えば、スループットであってもよく、遅延であってもよく、ジッタであってもよく、パケットロス率(パケット損失率)であってもよく、周波数帯域が利用されているかどうかを示す周波数の利用状況であってもよく、ビットエラー率であってもよく、それらの任意の2以上の組み合わせであってもよい。また、パケットの送受信に応じて測定できる情報は、スループット等のうち、1以上の情報に対応する値であってもよい。その1以上の情報に対応する値とは、例えば、その1以上の情報を引数とする関数の値であってもよく、その1以上の情報にテーブル等によって対応付けられている値であってもよい。例えば、スループットが高いほど観測品質は高くなり、遅延が短いほど観測品質は高くなり、ジッタが小さいほど観測品質は高くなり、パケットロス率が低いほど観測品質は高くなり、使用されている周波数帯域(チャネル)が少ないほど観測品質は高くなり、ビットエラー率が低いほど観測品質は高くなる。なお、これらの情報は、伝送レート制御装置1が観測した情報であってもよく、伝送レート制御装置1の通信先の装置が観測した情報であってもよく、その両方であってもよい。通信先の装置が観測した結果も用いる場合には、通信品質取得部16は、通信部11が受信した通信品質や観測結果を用いてもよい。また、パケットの送受信に応じて測定できる情報を取得するために、プローブパケットが用いられてもよく、または、他の用途のパケットが用いられてもよい。また、キューイングされているパケットの数に応じて取得できる情報は、送信キューでキューイングされているパケットの数であってもよく、キューイングされているパケットの数の変化の割合(例えば、単位時間あたりの増加率や減少率等)であってもよく、その両方であってもよく、または、キューイングされているパケット数、及び、そのパケット数の変化の割合のうち、少なくとも一方に対応する値であってもよい。少なくとも一方に対応する値とは、例えば、その少なくとも一方を引数とする関数の値であってもよく、その少なくとも一方にテーブル等によって対応付けられている値であってもよい。例えば、送信キューでキューイングされているパケットの数が増加している場合やしきい値よりも多い場合には、送信トラフィックが多く、観測品質は低いと考えられる。また、送信キューでキューイングされているパケットの数が減少している場合やしきい値よりも低い場合には、送信トラフィックが少なく、観測品質は高いと考えられる。そして、通信品質取得部16は、その観測品質に応じた通信品質を取得してもよい。
通信経路の主観品質は、伝送レート制御装置1によって受け付けられた、ユーザによる通信経路の評価を用いて取得される情報であってもよい。伝送レート制御装置1が、ユーザの操作する装置である場合には、ユーザによる通信経路の評価の受け付けは、入力デバイス等を介した情報の受け付けであってもよい。また、伝送レート制御装置1が、ユーザの操作する装置ではない場合には、その評価の受け付けは、送信された評価の受信であってもよい。その受信は、通信部11を介してなされてもよい。そして、通信品質取得部16は、その評価を用いて主観品質の情報を取得してもよい。その評価は、例えば、ビデオや音声、テキスト等の通信にユーザが満足しているかどうかを示す情報であってもよい。その評価は、満足・不満足のように2段階の情報であってもよく、満足・普通・不満足等のように3段階の情報であってもよく、4段階以上の情報であってもよい。例えば、ビデオや音声が途切れたり、ノイズが多かったりする場合には、ユーザによる通信経路の評価は「不満足」となり、そうでない場合には、ユーザによる通信経路の評価は「満足」となる。なお、ユーザによる評価「不満足」を一定時間以上受け付けていない場合に、ユーザによる評価が「満足」であると考えてもよい。通信品質取得部16は、満足であることを示す評価が多いほど主観品質が高くなり、不満足であることを示す評価が多いほど主観品質が低くなるように主観品質の情報を取得してもよい。そして、通信品質取得部16は、その主観品質に応じた通信品質を取得してもよい。
なお、観測品質や主観品質は、所定の期間の平均値であってもよい。その所定の期間は、例えば、通信品質を取得する時点の直前のあらかじめ決められた期間であってもよく、その他の期間であってもよい。また、伝送レート制御装置1が複数の装置と無線通信を行っている場合には、通信品質そのもの、または、その通信品質の取得のために用いられる情報(例えば、観測品質や主観品質、スループット等)は、その複数の装置との複数の無線通信に応じた値であってもよい。複数の無線通信に応じた値とは、複数の無線通信の通信品質や、観測品質、主観品質、スループット等の代表値であってもよい。代表値は、例えば、平均値や中央値であってもよい。
下限設定部17は、無線信号に衝突が発生すると衝突判断部13によって判断された場合に、通信部11が行う無線通信の伝送レートの下限を引き上げ、そうでない場合に、通信部11が行う無線通信の伝送レートの下限を引き上げない。なお、その下限の引き上げは、例えば、(A1)多段階の伝送レートにおいて、伝送レートの下限を一段階だけ引き上げることであってもよく、(A2)伝送レートの下限をあらかじめ決められた値に設定することであってもよく、(A3)伝送レートの下限を、無線信号に衝突が発生すると衝突判断部13によって判断された時点に、通信部11が無線信号を送信している伝送レートに引き上げることであってもよい。なお、(A1)の場合に、現時点の伝送レートが下限と一致するときには、下限設定部17は、下限を引き上げなくてもよく、または引き上げてもよい。また、(A2)の場合に、現時点の伝送レートが設定する下限よりも低いときには、下限設定部17は、下限を引き上げなくてもよく、または引き上げてもよい。また、(A2)の場合であっても、それ以前にすでにあらかじめ決められた値に伝送レートの下限を設定しているのであれば、下限設定部17は、下限を引き上げなくてもよい。すなわち、無線信号に衝突が発生すると衝突判断部13によって判断された場合であっても、結果的に、下限設定部17が、実質的に伝送レートの下限を引き上げない場合もありうることになる。また、「無線信号の衝突が発生すると衝突判断部13によって判断された場合」は、例えば、無線信号の衝突が発生すると1回だけ判断された場合であってもよく、あらかじめ決められた連続した回数だけ「衝突が発生する」と判断された場合であってもよく、衝突が発生しているその他の場合であってもよい。
また、下限設定部17は、無線信号の衝突が発生しないと衝突判断部13によって判断された場合に、通信部11が行う無線信号の伝送レートの下限を引き下げてもよい。その下限の引き下げは、例えば、(B1)多段階の伝送レートにおいて、伝送レートの下限を一段階だけ引き下げることであってもよく、(B2)伝送レートの下限をあらかじめ決められた値に設定すること(引き上げ前の値に戻すこと)であってもよい。なお、(B1)の場合であっても、現在の伝送レートの下限が、多段階の伝送レートにおける最下限であれば、下限を引き下げなくてもよい。すなわち、無線信号に衝突が発生しないと衝突判断部13によって判断された場合であっても、結果的に、下限設定部17が、実質的に伝送レートの下限を引き下げない場合もありうることになる。また、「無線信号の衝突が発生しないと衝突判断部13によって判断された場合」は、例えば、あらかじめ決められた期間において無線信号の衝突が発生したと判断されない場合であってもよく、あらかじめ決められた連続した回数だけ「衝突が発生していない」と判断された場合であってもよく、衝突が発生していないその他の場合であってもよい。
なお、下限設定部17は、通信品質取得部16が取得した通信品質が低い場合に、衝突判断部13の判断結果に応じた伝送レートの下限の引き上げを行ってもよい。通信品質が低い場合に無線信号の衝突が発生し、伝送レートの下限を引き上げる状況が発生すると考えられるため、そのような状況においてのみ伝送レートの下限に関する設定を行うようにするためである。なお、結果として、通信品質が低い場合に、衝突判断部13の判断結果に応じた伝送レートの下限の引き上げを行うようになればよいため、例えば、通信品質が低い場合には、衝突判断部13による判断を行わないようにしてもよい。その判断を行わなければ、結果として、下限設定部17による下限の引き上げも行われないからである。なお、通信品質取得部16が取得した通信品質が高くなった場合には、下限設定部17は、伝送レートの下限を引き上げる処理を行わないようになってもよい。ただし、下限設定部17は、通信品質が高くなっても、伝送レートの下限を引き下げる処理は行ってもよい。その下限の引き下げは、例えば、高い通信品質が取得されたタイミングで行われてもよい。
また、下限設定部17が伝送レートの下限を引き上げるまたは引き下げることは、図示しない記録媒体に設定されている伝送レートの下限を変更することであってもよい。また、下限設定部17が下限を引き上げる対象となる伝送レートは、通信部11が送信する無線信号の伝送レートであってもよく、通信部11が受信する無線信号の伝送レートであってもよい。前者の場合には、通信部11が、引き上げられた下限またはそれより高い伝送レートで無線信号を送信することになる。後者の場合には、前述のように、引き上げられた伝送レートの下限を通信部11が通信先の装置に送信することに応じて、通信先の装置から送信される無線信号の伝送レートが、引き上げられた下限またはそれより高い伝送レートとなってもよい。
ここで、衝突判断部13が、無線信号に衝突が発生したと判断するいくつかの方法について説明する。
(1)信号雑音比を用いる方法
衝突判断部13は、通信部11が行う無線通信の信号雑音比(SNR:Signal−Noise Ratio)を取得する。衝突判断部13は、例えば、通信部11を介してSNRを取得することができる。そして、衝突判断部13は、エラーが検知され、かつ、SNRが低下していない場合に、無線信号に衝突が発生したと判断してもよく、そうでない場合に、無線信号に衝突が発生していないと判断してもよい。SNRが低下していない場合とは、SNRがしきい値より大きいことであってもよい。そのしきい値は、例えば、あらかじめ決められているものであってもよく、エラーが検知される以前のSNR、または、そのSNRから算出された値であってもよい。エラーが検出される以前のSNRから算出された値は、例えば、エラーが検出される以前のSNRから所定の値を減算した値や、エラーが検出される以前のSNRに1よりも小さい値、例えば、0.9等を乗算した値であってもよい。エラーが発生する原因としては、SNRの低下や無線信号の衝突が考えられる。したがって、エラーが発生しても、SNRが低下していない場合には、無線信号の衝突によってエラーが発生していると考えることができるため、上述のような処理によって、無線信号の衝突の発生を検知することができると考えられる。
(2)ビジー/アイドル検出割合を用いる方法
衝突判断部13は、通信部11が行う無線通信のビジー/アイドル検出割合を取得する。そして、衝突判断部13は、エラーが検知され、かつ、ビジー/アイドル検出割合によってビジー割合の高いことが示される場合に、無線信号に衝突が発生したと判断してもよく、そうでない場合に、無線信号に衝突が発生していないと判断してもよい。ここで、ビジー/アイドル検出割合とは、無線通信について検出されたビジー状態やアイドル状態の割合である。無線通信がアイドル(未使用)状態であるとは、キャリアセンスの結果、通信が行われていないと判断される状態のことである。また、無線通信がビジー(使用中)状態であるとは、キャリアセンスの結果、通信が行われていると判断される状態のことである。なお、キャリアセンスは、物理キャリアセンスであってもよく、仮想キャリアセンスであってもよい。また、アイドル状態でないときがビジー状態であり、ビジー状態でないときがアイドル状態であると言うこともできる。したがって、ビジー/アイドル検出割合は、結果として、ビジー状態の割合であるビジー割合や、アイドル状態の割合であるアイドル割合を知ることができる情報であればよく、例えば、検出されたビジー割合であってもよく、検出されたアイドル割合であってもよく、両割合の比であってもよく、ビジー割合やアイドル割合の程度を知ることができるその他の情報であってもよい。ビジー割合であるビジー/アイドル検出割合は、例えば、次式のように算出されてもよい。ただし、期間Xは、ビジー/アイドルを観測する期間であり、通常、ビジー/アイドル検出割合を算出する時点よりも所定期間だけ以前の時点から、ビジー/アイドル検出割合を算出する時点までの期間である。
ビジー/アイドル検出割合=(期間Xにビジー状態と判断された期間の時間的長さ)/(期間Xの時間的長さ)
また、ビジー割合が高いとは、ビジー割合がしきい値より高いことであってもよい。そのしきい値は、例えば、あらかじめ決められている値であってもよく、または、エラーが検知された際に取得されたビジー割合のうち、最も大きなビジー割合から算出された値であってもよい。その最も大きなビジー割合から算出された値は、例えば、その最も大きなビジー割合から所定の値を減算した値や、その最も大きなビジー割合に1よりも小さい値、例えば、0.9等を乗算した値であってもよい。ビジー割合が大きい場合には、多くの無線信号を他のシステムが送信していることになり、無線信号の衝突がより発生しやすい状況であると考えることができる。したがって、上述のような処理によって、無線信号の衝突の発生を検知することができると考えられる。
(3)周波数帯域の利用状況を用いる方法
衝突判断部13は、通信部11が受信した無線信号を用いて周波数帯域の利用状況を取得する。そして、衝突判断部13は、周波数帯域の利用状況を用いて、エラーの検知された周波数帯域が利用されているかどうかを予測し、利用されていると予測した場合に、無線信号に衝突が発生したと判断してもよい。ここで、周波数帯域が利用されているかどうかを予測することは、その周波数帯域が、伝送レート制御装置1以外の装置によって利用されているかどうかを予測することである。また、周波数帯域の利用状況は、例えば、ある周波数帯域における無線通信の使用中/未使用を示す過去の時系列の情報であってもよい。その使用中/未使用を示す時系列の情報は、ビジー状態/アイドル状態を示す時系列の情報であってもよい。なお、その周波数帯域の利用状況は、エラーが検知される以前のものであってもよい。その周波数帯域は、例えば、通信部11が無線通信を行っている周波数帯域であってもよい。具体的には、衝突判断部13は、通信部11が無線通信を行っている周波数チャネルについて、最新の所定期間のビジー状態/アイドル状態を示す周波数帯域の利用状況を取得してもよい。そのような利用状況を取得する方法はすでに知られているため、詳細な説明を省略する。衝突判断部13は、取得した周波数帯域の利用状況を用いて、エラーの検知された周波数帯域が、エラーの検知された時点にビジー状態かどうかを予測する。例えば、衝突判断部13は、周波数帯域の利用状況から、エラーの検知された周波数帯域に関するビジー状態の規則性を取得し、そのビジー状態の規則性を用いて、エラーの検知された時点がビジー状態かどうか判断する。そして、衝突判断部13は、ビジー状態である場合には、エラーの検知された周波数帯域がエラーの検知された時点に利用されていると予測し、無線信号に衝突が発生したと判断してもよく、ビジー状態でない場合には、エラーの検知された周波数帯域がエラーの検知された時点に利用されていないと予測し、無線信号に衝突が発生していないと判断してもよい。ここで、ビジー状態の規則性は、例えば、一定の時間的長さのビジー状態が周期的に繰り返されている場合には、その周期であってもよい。その場合には、衝突判断部13は、例えば、観測された1個または2個以上の最新のビジー状態を、取得した周期だけずらすことによって、観測されていない時間領域についてビジー状態となりうる期間を予測してもよい。無線信号の衝突が発生するのは、伝送レート制御装置1と、他のシステムとが同時に同じ周波数帯域において無線信号を送信した場合である。したがって、他のシステムによる周波数帯域の利用状況を取得し、エラーの検知された周波数帯域が、エラーの検知された時点にビジー状態であるかどうかを予測することによって、エラーの原因が無線信号の衝突であるかどうかをより高精度に判断することができると考えられる。
なお、衝突判断部13は、通信部11が無線通信を行っている周波数帯域以外についても、利用状況を取得してもよい。そのようにすることで、例えば、Bluetooth(登録商標)のように、周波数ホッピングを行う送信源による利用状況をも知ることができ、より正確な予測が可能になると考えられる。この場合には、時間方向だけでなく、周波数方向についても、ビジー状態の規則性を取得し、その取得した規則性を用いて、エラーの検知された周波数帯域が、エラーの検知された時点にビジー状態であるかどうかを判断してもよい。
また、衝突判断部13は、利用されている周波数帯域の幅に応じて、無線信号の信号源の種類を特定してもよい。例えば、衝突判断部13は、ビジー状態である周波数帯域の幅を取得し、ビジー状態である周波数帯域の幅と信号源の種類とを対応付ける情報を用いて、取得したビジー状態である周波数帯域の幅に対応する信号源の種類を特定してもよい。例えば、ISM帯の場合、無線LAN(IEEE802.11a規格)の1チャネルの帯域幅は20MHzであり、Bluetooth(登録商標)の1チャネルの帯域幅は1MHzであり、電子レンジの帯域幅はさらに狭くなる。したがって、ビジー状態の帯域幅に応じて、信号源の種類を限定できる。また、前述のように、信号源の種類に応じてビジー状態の規則性が、時間方向だけであるのか、時間方向と周波数方向との両方であるのかの違いがある。したがって、衝突判断部13は、特定した信号源の種類に応じて、時間方向だけの規則性を取得してもよく、時間方向と周波数方向との両方の規則性を取得してもよい。具体的には、衝突判断部13は、信号源の種類が無線LANの場合には、時間方向のみの規則性を取得し、信号源の種類がBluetooth(登録商標)である場合には、時間方向と周波数方向との両方の規則性を取得してもよい。そして、衝突判断部13は、その取得した規則性を用いて、エラーの検知された周波数帯域が、エラーの検知された時点にビジー状態であるかどうかを判断してもよい。
(4)セル内で無線通信を行っている装置の台数を用いる方法
衝突判断部13は、伝送レート制御装置1を含むセルにおいて無線通信を行っている装置の台数に応じた情報である台数情報を取得する。台数情報は、例えば、伝送レート制御装置1を含むセルにおいて無線通信を行っている装置の台数を示す情報であってもよく、その台数に対応した情報(例えば、多い、少ない等)であってもよい。その台数は、例えば、ある規格の無線通信(例えば、無線LAN等)を行っている装置の台数であり、他の規格の無線通信(例えば、Bluetooth(登録商標)等)を行っている装置の台数は含まれていなくてもよい。例えば、無線LANの場合には、APは、アソシエーションによってSTAとの無線通信を開始するため、そのSTAの数を知ることができる。また、例えば、APがDHCP(Dynamic Host Configuration Protocol)によってSTAにアドレスを割り当てている場合には、割り当てられているアドレスの数によって、STAの数を知ることができる。したがって、伝送レート制御装置1がAPである場合には、衝突判断部13は、上述のようにして、STAの台数を知ることができ、そのSTAの台数に応じた台数情報を取得できる。一方、伝送レート制御装置1がSTAである場合には、APから台数情報を受信してもよい。例えば、APがビーコン等を用いてセル内のSTAの台数に応じた台数情報を送信している場合には、衝突判断部13は、通信部11で受信されたビーコン等に含まれる台数情報を取得することができる。また、APからSTAである伝送レート制御装置1への台数情報の送信は、例えば、制御チャネル等を用いて行われてもよい。そして、衝突判断部13は、エラーが検知され、かつ、台数情報によってセル内で無線通信を行っている装置の台数が多いことが示される場合に、無線信号に衝突が発生したと判断してもよく、そうでない場合に、無線信号に衝突が発生していないと判断してもよい。台数情報によってセル内で無線通信を行っている装置の台数が多いことが示される場合とは、例えば、台数情報の示す装置の台数がしきい値以上であることであってもよく、台数情報の示す装置の台数が、「多い」等であることであってもよい。そのしきい値は、例えば、あらかじめ決められているものであってもよく、台数の最大値から算出された値であってもよい。台数の最大値から算出された値は、例えば、台数の最大値から所定の値を減算した値や、台数の最大値に1よりも小さい値、例えば、0.9や0.8等を乗算した値であってもよい。あるセル内で無線通信を行っている装置の台数が多い場合には、そのセル内で多くの無線信号が送受信されていることになり、無線信号の衝突がより発生しやすい状況であると考えることができる。したがって、上述のような処理によって、無線信号の衝突の発生を検知することができると考えられる。
(5)無線信号の送信間隔の分散を用いる方法
衝突判断部13は、通信部11が送信した無線信号の送信間隔を取得し、その送信間隔の分散を取得する。その送信間隔の取得対象となる無線信号は、例えば、初送無線信号であってもよく、ACKの返ってきた無線信号であってもよく、その他の無線信号であってもよい。また、衝突判断部13は、そのような無線信号に関する最新の所定期間の送信間隔を取得し、その送信間隔の分散を算出してもよい。そして、衝突判断部13は、その送信間隔の分散が大きい場合に、無線信号に衝突が発生したと判断してもよく、そうでない場合に、無線信号に衝突が発生していないと判断してもよい。分散が大きい場合とは、分散がしきい値より大きいことであってもよい。そのしきい値は、例えば、あらかじめ決められているものであってもよく、過去に算出された分散の最大値から算出された値であってもよい。最大値から算出された値は、例えば、最大値から所定の値を減算した値や、最大値に1よりも小さい値、例えば、0.9や0.8等を乗算した値であってもよい。一定間隔で無線信号が送信される場合であっても、無線信号に衝突が発生すると再送が行われることになり、その結果として、一定間隔で無線信号を送信することができなくなる。また、通信端末数や無線信号の再送が多くなると、無線信号の送信を待機しなくてはならないことが増えるため、無線信号を定期的に送信することが難しくなる。そのような結果として、無線信号の送信間隔に揺らぎが発生することになり、送信間隔の分散が大きくなる。したがって、上述のような処理によって、無線信号の衝突の発生を検知することができると考えられる。なお、衝突判断部13は、上述のようにして、通信部11が送信した無線信号のうち、送信間隔の取得対象となる無線信号の送信間隔を取得し、エラーが検知され、かつ、その取得した送信間隔の分散が大きい場合に、無線信号に衝突が発生したと判断してもよい。
なお、上述のように、衝突判断部13が、無線信号の衝突の発生を判断する(1)から(5)の方法について説明したが、それ以外の方法によって無線信号の衝突の発生を判断してもよいことはいうまでもない。
また、下限設定部17が伝送レートの下限を引き下げるタイミングは、例えば、次のようであってもよい。SNRが低下した場合や、ビジー割合が低くなった場合、台数情報によってセル内で無線通信を行っている装置の台数が少なくなったことが示される場合、無線信号の送信間隔の分散が小さくなった場合等に、下限設定部17は、伝送レートの下限を引き下げてもよい。このように、下限設定部17は、SNRの低下のように、伝送レートの下限を引き下げた方がよい状況が生じた場合や、ビジー割合の低下や無線通信を行う装置の台数の減少のように、無線信号の衝突が起こりにくい状況になった場合に、伝送レートの下限を引き下げてもよい。
次に、伝送レート制御装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)通信品質取得部16は、通信品質を取得するかどうか判断する。そして、通信品質を取得する場合には、ステップS102に進み、そうでない場合には、ステップS103に進む。例えば、通信品質取得部16は、通信品質を取得すると定期的に判断してもよく、ユーザの入力した通信経路の評価が受け付けられた場合や、受信された場合に、通信品質を取得すると判断してもよく、その他のタイミングで通信品質を取得すると判断してもよい。
(ステップS102)通信品質取得部16は、通信品質を取得する。その取得された通信品質は、図示しない記録媒体で記憶されてもよい。そして、ステップS101に戻る。
(ステップS103)エラー検知部12は、エラーを検知したかどうか判断する。そして、エラーを検知した場合には、ステップS104に進み、そうでない場合には、ステップS109に進む。例えば、エラー検知部12は、無線信号の送信に応じてACKが受信されず、タイムアウトとなった場合にエラーを検知したと判断してもよく、無線信号の送信に応じてNAKを受信した場合にエラーを検知したと判断してもよく、その他のタイミングでエラーを検知したと判断してもよい。
(ステップS104)送信制御部14は、ステップS103で検知されたエラーに応じて、送信先で受信されなかった無線信号を再送する制御を行う。この制御は、例えば、その無線信号のパケット等を通信部11の図示しない送信キューにキューイングされている再送対象の情報をクリアしないことであってもよい。
(ステップS105)衝突判断部13は、通信品質取得部16によって取得された最新の通信品質が高いかどうか判断する。そして、通信品質が高い場合には、ステップS108に進み、そうでない場合には、ステップS106に進む。
(ステップS106)衝突判断部13は、無線信号の衝突が発生したかどうか判断する。そして、無線信号の衝突が発生した場合には、ステップS107に進み、そうでない場合には、ステップS108に進む。その判断は、例えば、上述の(1)から(5)のいずれかの方法でなされてもよい。
(ステップS107)下限設定部17は、伝送レートの下限を引き上げる。その下限の引き上げは、例えば、上述の(A1)から(A3)のいずれかの方法でなされてもよい。また、上述のように、ステップS107の処理を行ったとしても、結果として、伝送レートの下限が変更されない場合もありうる。
(ステップS108)伝送レート制御部15は、エラーの検知に応じて伝送レートを制御する。なお、この制御は、下限設定部17によって設定された伝送レートの下限以上の伝送レートを用いて行われる。そして、ステップS101に戻る。
(ステップS109)下限設定部17は、引き上げられた伝送レートの下限を引き下げるかどうか判断する。そして、下限を引き下げる場合には、ステップS110に進み、そうでない場合には、ステップS111に進む。例えば、下限設定部17は、無線信号の衝突が発生していないと衝突判断部13によって判断された場合に、下限を引き下げると判断してもよい。
(ステップS110)下限設定部17は、伝送レートの下限を引き下げる。その下限の引き下げは、例えば、上述の(B1)または(B2)の方法でなされてもよい。そして、ステップS101に戻る。
(ステップS111)通信部11は、無線信号を送信するかどうか判断する。そして、無線信号を送信する場合には、ステップS112に進み、そうでない場合には、ステップS115に進む。例えば、通信部11は、図示しない送信キューにキューイングされている情報がある場合には、無線信号を送信すると定期的に判断してもよい。
(ステップS112)送信制御部14は、キャリアセンスを行うかどうか判断する。そして、キャリアセンスを行う場合には、ステップS113に進み、そうでない場合には、ステップS114に進む。送信制御部14は、例えば、前回のキャリアセンスからあらかじめ決められた時間以上、経過している場合に、キャリアセンスを行うと判断してもよく、伝送路品質の低下が検出された場合に、キャリアセンスを行うと判断してもよく、または、その他のタイミングでキャリアセンスを行うと判断してもよい。
(ステップS113)送信制御部14は、通信部11が受信した無線信号を用いてキャリアセンスを行う。送信制御部14は、例えば、図示しない記録媒体で記憶されている最新の受信信号強度等を用いてキャリアセンスを行ってもよい。
(ステップS114)通信部11は、最新のキャリアセンスの結果を用いた送信制御部14の制御に応じて無線信号を送信する。そして、ステップS101に戻る。例えば、通信部11は、キャリアセンスの結果がアイドル状態であった場合には無線信号を送信し、キャリアセンスの結果がビジー状態であった場合には無線信号を送信しなくてもよい。また、無線信号を送信する場合には、通信部11は、伝送レート制御部15によって制御される伝送レート出無線信号を送信する。
(ステップS115)通信部11は、無線信号を受信したかどうか判断する。そして、無線信号を受信した場合には、ステップS116に進み、そうでない場合には、ステップS101に戻る。
(ステップS116)無線信号の受信に応じた処理が行われる。そして、ステップS101に戻る。例えば、通信部11がユーザによる通信経路の評価や通信品質を受信した場合には、その評価は通信品質取得部16に渡されてもよい。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図2のフローチャートのステップS107、S110において、通信先の装置から送信される無線信号の伝送レートの下限を変更する場合には、通信部11が通信先の装置にその下限を送信してもよい。具体的には、下限設定部17は、その下限を示す情報を送信キューにキューイングしてもよく、その下限に応じたSupported Ratesエレメントを設定してもよい。また、ステップS114でビーコンを送信する場合には、ステップS112において、センシングを行わないと判断されてもよい。また、ステップS114でビーコンを送信する場合には、下限設定部17によって設定されたSupported Ratesエレメントを含むビーコンを送信してもよい。また、図2のフローチャートでは、伝送レートの下限の引き上げ(ステップS107)の後に伝送レートの制御(ステップS108)を行う場合について説明したが、そうでなくてもよい。エラーが検知された場合に、まず伝送レートの制御(ステップS108)を行い、その後に伝送レートの下限の引き上げ(ステップS107)を行ってもよい。また、図2のフローチャートには記載していないが、エラーが検知されないことが継続すると、伝送レート制御部15は、通信部11が無線信号を送信する伝送レートを引き上げる制御を行うものとする。
次に、本実施の形態による伝送レート制御装置1の動作について、具体例を用いて説明する。この具体例では、伝送レート制御装置1がSTAであり、APとの間で無線LANによる通信を行っているとする。また、通信品質は、ユーザによる通信経路の評価に応じて取得されるものとする。具体的には、ユーザから受け付ける評価は「不満足」のみであるとする。そして、その評価が受け付けられると、通信品質取得部16は、通信品質「低品質」を取得するものとする。また、評価の最後の受け付けから5分以上、評価を受け付けない場合には、通信品質取得部16は、通信品質「高品質」を取得するものとする。また、伝送レートは、6,9,12,18,24,36,48,54Mbpsの8段階であるとする。そして、通常は下限が6Mbpsであり、下限が引き上げられる場合には、48Mbpsに引き上げられるものとする。また、下限が引き下げられる場合には、6Mbpsに戻されるものとする。
ユーザが、スマートフォンである伝送レート制御装置1を操作し、無線LANによるビデオ通話を行っていたところ、セル内のSTAの台数の増加に応じて映像や音声の乱れが発生したため、画面上の「不満足」ボタンをタップしたとする。すると、図示しない受付部が、ユーザの評価「不満足」を受け付け、通信品質取得部16は、通信品質「低品質」を取得して図示しない記録媒体に蓄積する(ステップS101,S102)。その後、通信部11によるMAC層データフレームの送信に対して、ACKが返らず、タイムアウトとなってエラーが検知されたとする(ステップS103)。すると、送信制御部14は、そのデータフレームを再送するように通信部11を制御する(ステップS104)。また、衝突判断部13は、その時点の通信品質が「低品質」であるため、送信されたデータフレームに衝突が発生したかどうか判断する(ステップS105,S106)。ここでは、衝突判断部13が、ビジー/アイドル検出割合を用いてビジー割合がしきい値以上になったことを検知し、衝突が発生したと判断したものとする。すると、下限設定部17は、伝送レートの下限を48Mbpsに引き上げる(ステップS107)。また、伝送レート制御部15は、通信部11が送信するデータフレームの伝送レートが48,54Mbpsのいずれかとなるように制御する(ステップS108)。ここでは、エラーが検知されたため、伝送レートは48Mbpsとされる。
なお、通信部11は、ビデオ通話のデータフレームを送信するタイミングとなると、必要に応じてセンシングを行い、そのセンシング結果に応じて送信する(ステップS111〜S114)。その送信の際には、通信部11は、伝送レート制御部15によって制御される伝送レート、すなわち、48,54Mbpsのいずれかでデータフレームを送信することになる。また、ビジー状態で送信できない場合には、繰り返してセンシング等の処理が行われることになる。また、通信部11は、ビデオ通話のデータフレームを受信すると、そのデータフレームをビデオ通話に関する処理を行う図示しない処理部に渡す(ステップS115,S116)。
その後、ビジー/アイドル検出割合によって、ビジー割合の下がったことが示されると、下限設定部17は、伝送レートの下限を引き下げると判断し、伝送レートの下限を6Mbpsに設定する(ステップS109,S110)。その結果、伝送レート制御部15は、通信部11が送信するデータフレームの伝送レートが6Mbpsから54Mbpsのいずれかとなるように制御する。したがって、通信部11は、6Mbpsから54Mbpsのいずれかでデータフレームを送信することになる(ステップS114)。このようにして、データフレームの衝突によって混雑が生じている場合には、伝送レートの下限を引き上げることによって、送受信されるデータフレームの伝送レートを引き上げ、データフレームの長さを短くすることによって、輻輳を緩和し、通信品質を高めることができるようになる。
次に、伝送レートの下限の引き上げに関する実験結果について説明する。この実験は、IEEE802.11規格の無線LAN機器を用いたものである。具体的には、1つの無線LAN BSS内において、VoIPアプリケーションのトラフィックを伝送するとともに、UDPトラフィックを伝送し、UDPトラフィックを伝送するSTA数に対するVoIPアプリケーションのQoE変化を評価した。ここで、VoIPアプリケーションのQoE指標としてMOS値を用いた。一般的に、良好な音声通話時のMOS値は、G.711コーデックの場合で4以上とされている。物理層伝送レートの設定は、APで行った。まず、IEEE802.11g ERP−OFDMに定められた全てのレート(6,9,12,18,24,36,48,54Mbps)の全てを有効にした状態で自動レート制御を有効にして評価を行い、その後、特定のレートに固定した状態で評価を行った。また、その後、伝送レートの下限を引き上げた状態で評価を行った。
実験環境の概要は図3で示される通りである。図3で示されるように、電波暗室内に1台のAP60と6台のSTA61〜66とを配置し、インフラストラクチャモードでデータ伝送を行った。AP60と、トラフィック発生装置51及びAP用制御PC52とは、ハブ55を介して有線で接続されている。また、STA61〜66と、STA用制御PC53及びMON用制御PC54とは、ハブ56,57を介して有線で接続されている。AP用制御PC52は、AP60を制御するためのものであり、STA用制御PC53は、STA61〜66を制御するためのものである。MON用制御PC54は、無線通信をモニタするためPCである。本実験では、トラフィック発生装置51として、Ixia社製のIxVeriWaveを用いた。各STA61〜66には、トラフィック発生装置51に対応するクライアントソフトウェアWaveAgentをインストールし、トラフィック発生装置51との間でトラフィックを送受信させた。VoIPトラフィックをトラフィック発生装置51で発生させ、AP60を通じて1台のSTA61との間で双方向伝送を行った。また、その他5台のSTA62〜66からUDPトラフィックを発生させ、APを通じてトラフィック発生装置51に片方向伝送した。STA61〜66における各種トラフィックの発生等の制御、及びVoIPアプリケーションのMOS値等の測定は、制御ソフトウェアWaveQoEによって実施した。また、無線LANフレームのキャプチャ及び解析には、FLUKE networks社製のAirMagnet WiFi Analyzer、及びWiresharkを用いた。実験諸元は、次の通りである。
実験試行回数:10回
AP機種:Allied Telesis AT−TQ2403
STA機種:Hewlett−Packard EliteBook 2170p
無線LANモード:IEEE 802.11g
RTS/CTS:OFF
無線LAN運用チャネル:CH1
無線LAN送信電力:100%
トラフィック伝送時間:30s間
VoIPトラフィック:G.711コーデック
UDPトラフィック:5Mbps/STA
まず、自動レート制御を有効にした場合のVoIPトラフィックのQoEを評価した実験結果(従来例の結果)は、図4Aから図4Dで示される。図4Aは、追加したUDPトラフィックユーザ(以下、「UDPユーザ」とする)数ごとのVoIPトラフィックの遅延(左縦軸)と、MOS値(右縦軸)とを表している。UDPユーザ数が3を超えると、遅延が指数関数的に増大し、MOS値が低下している。典型的なG.711コーデックにおけるアプリケーションデータの発生間隔は20ms程度とされ、遅延がこれを上回るとMOS値に影響が出始めると考えられる。
図4Bは、VoIPトラフィックのフレーム送信における各物理層伝送レートの割合を示している。UDPユーザ数が少ない場合には高レート伝送の割合が多いが、UDPユーザ数の増加に伴って、低レートの伝送割合が増えていることが分かる。また、図4C、図4Dは、VoIPトラフィックのMAC層データフレームの物理層伝送レートの時間変化の一例である。横軸はトラフィック発生後の経過時間を表す。UDPユーザ数が少ない場合(図4C)には、一時的に18〜24Mbpsの低い伝送レートが選択される場合もあるが、その後、直ちに高い伝送レートに戻っている。UDPユーザ数が増加した場合(図4D)には、さらに低い6Mbpsの伝送レートが選択されるようになり、その後、高い伝送レートが選択されなくなっていることが分かる。また、UDPユーザ数が4の場合より5の場合の方が、より早い時間から低い伝送レートが選択されている。また伝送レートの低下後、高いレートに復旧しようとする動きが長く見られるものの、25秒経過後には低伝送レート状態が続いている。すなわち高伝送レート状態から低伝送レート状態に移行する遷移時間は、UDPユーザ数が4のときの方が5のときよりも長い。
また、フレーム再送の発生と、低い物理層伝送レートの選択により、VoIPトラフィックの伝送に費やす時間も変化している。図4Eに、VoIPトラフィックのMAC層初送データフレームの送信間隔の分布を示す。多くの初送データフレーム送信間隔は、VoIPトラフィックの発生間隔である20msに集中しているが、UDPアプリケーションのユーザ数の増加に伴って、より短い送信間隔と、より長い送信間隔の割合が増加していくことが分かる。前者は、データフレーム送信に成功するまでの時間が増加したことによりキューに堆積したパケットが、送信機会を得て短い間隔で送信されたためと考えられる。また後者は、送信機会の獲得率低下に伴う遅延のためと考えられる。これはフレーム再送に加えて、低い物理層伝送レートが選択されることで、チャネルの未使用時間率が下がり、待機時間が増加するため、フレームの送信間隔が増加していくことを示している。したがって、UDPアプリケーションのユーザ数が増加した場合に、データフレームの再送発生に加えて、物理層伝送レートの自動制御により低い伝送レートが選択されることで、フレーム送信間隔が増大した結果、VoIPアプリケーションパケットの遅延増大が発生し、MOS値が低下したことが分かる。
次に、物理層伝送レートを固定した場合のVoIPトラフィックのQoEを評価した。試行するUDPユーザ数を、自動レート制御時におけるMOS値の低下条件を踏まえ、3〜5とし、それぞれの場合において物理層伝送レートを36,48,54Mbpsに固定して評価した。図5A及び図5Bに、各伝送レートにおけるVoIPトラフィックの遅延及びMOS値を示す。物理層伝送レートを36Mbpsとした場合には、UDPユーザ数が増加した場合に遅延が20ms以上に増加しMOS値は低下しているが、48,54Mbpsとした場合には、MOS値は4.2程度の値を維持していた。遅延はいずれも10ms以下であった。いずれの伝送レートにおいても、上述の全レート選択可能な自動レート制御の場合よりも特性がよいことが分かる。
ここまでの実験結果から、今回のトラフィック条件においては、伝送レートを低下させすぎるとVoIPトラフィックのQoEが確保できなくなることが分かる。また、周波数の利用効率を上げるために、可能ならば高い伝送レートを選択することが望ましい。そこで、自動伝送レート制御において、選択可能な伝送レートの下限を引き上げた場合(本実施の形態による制御の場合)について実験し、伝送レートの下限を引き上げた場合に満足可能なQoEを確保できるかどうかを評価した。具体的には、選択できる伝送レートの下限を引き上げ、自動レート制御を有効にした場合のVoIPトラフィックのQoEを評価した。これまでの結果を踏まえ、伝送レートの下限を36,48Mbpsに引き上げた。その他の実験条件はこれまでの実験と同様である。
図6A及び図6Bに実験結果のVoIPトラフィックの遅延及びMOS値を示す。なお、比較のためこれまでに示した自動レート制御及び固定レートでの結果も再掲している。選択する物理層伝送レートの下限を48Mbpsとした場合には、UDPアプリケーションのユーザ数が増加した場合も、遅延が10ms程度にとどまっており、MOS値は4.2程度の値を維持していた。物理層伝送レートを54Mbpsに固定した場合と比べても、同等のQoEを維持できていたことが分かる。また、選択できる物理層伝送レートの下限を36Mbpsとした場合には、下限を48Mbpsとした場合に比べて遅延が増大し、MOS値が低下していた。このように、伝送レートの下限を引き上げた物理層伝送レート制御手法を適用することで、そうでない場合と比較して、よりQoEを確保できることが確認された。
以上のように、本実施の形態による伝送レート制御装置1によれば、無線信号に衝突が発生した場合に、伝送レートが下がりすぎないように制御することができる。従来、衝突の発生に応じて伝送レートが下がることによって無線信号の信号長が長くなり、その結果、送信機会が減ってさらに衝突が発生しやすくなるという悪循環に陥ることがあった。一方、本実施の形態のように制御することにより、そのような悪循環を防止でき、QoEを向上させることができる。そのことは、上述の実験結果によっても確認された。また、通信品質が低い場合に、伝送レートの下限を引き上げる制御を行うことにより、QoEの下がる可能性のある場合にのみ、QoEを確保するための制御を行うことができるようになる。
なお、上記実施の形態では特に説明をしなかったが、下限設定部17によって引き上げられた伝送レートの下限が通信部11によって送信される場合には、その下限が受信された送信先の装置において、その伝送レートの下限以上の伝送レートによる無線信号の送信が行われてもよい。その結果、伝送レート制御装置1が受信する無線信号の伝送レートの下限が引き上げられることになる。
また、本実施の形態では、通信品質が低い場合に、伝送レートの下限を引き上げる制御を行う場合について説明したが、そうでなくてもよい。通信品質に関わらず、伝送レートの下限に関する制御を行ってもよい。その場合には、伝送レート制御装置1は、通信品質取得部16を備えていなくてもよい。
また、本実施の形態では、伝送レート制御装置1が送信制御部14を備える場合について説明したが、そうでなくてもよい。伝送レート制御装置1が送信制御部14を備えていない場合には、エラー検知部12は、例えば、通信部11が受信する無線信号について、エラーを検知してもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、伝送レート制御装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における伝送レート制御装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、無線通信を行う通信部と、通信部が行う無線通信のエラーを検知するエラー検知部と、エラー検知部によるエラーの検知に応じて、通信部が送信する無線信号の伝送レートを制御する伝送レート制御部とを備えた伝送レート制御装置において、コンピュータを、通信部が通信する無線信号に衝突が発生するかどうか判断する衝突判断部、無線信号に衝突が発生すると衝突判断部によって判断された場合に、通信部が行う無線通信の伝送レートの下限を引き上げる下限設定部として機能させるためのプログラムでもよい。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。また、上記プログラムは、例えば、既存の伝送レート制御装置にアドオンされ、実行されてもよい。そのようにすることで、混雑した状況でもQoEを確保できるようにすることができうる。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図7は、上記プログラムを実行して、上記実施の形態による伝送レート制御装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図7において、コンピュータシステム900は、CD−ROMドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図8は、コンピュータシステム900の内部構成を示す図である。図8において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による伝送レート制御装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による伝送レート制御装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。