【文献】
張 兵,無線通信におけるクロスレイヤネットワーキング技術,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年,Vol.108, No.448,第3章
(58)【調査した分野】(Int.Cl.,DB名)
複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられる通信装置であって、前記無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、前記MACレイヤを介して他の無線デバイスと無線通信を行う通信装置において、
前記MACレイヤに送出される前段階の通信データを一時的に蓄積する蓄積手段と、
自装置が測定した前記周波数における電波に関する指標である電波指標および/または前記周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内で前記MACレイヤで送信可能なデータ量である送信可能データ量を推定する推定手段と、
前記送信可能データ量の推定結果に基づいて、前記通信データを下位のレイヤに送出する際のデータフローを制御する制御手段とを備え、
前記推定手段は、前記電波指標の統計値を用いて、前記周波数の空き時間率を推定し、得られた前記空き時間率、前記電波指標および前記通信指標を用いて、前記送信可能データ量を推定する
ことを特徴とする通信装置。
前記推定手段は、前記通信指標の1つとして測定される前記MACレイヤの実効スループットと、前記物理スループットの期待値との関係性を示す統計情報を用いて、前記MACレイヤの効率損を含む実効スループットの期待値を予測し、得られた前記実効スループットの期待値を基に、前記送信可能データ量を推定する
請求項4に記載の通信装置。
前記推定手段は、前記電波指標から求まる通信指標の1つである前記無線リンクの物理スループットの期待値を入力とするMACレイヤの効率損のモデル式を用いて、前記物理スループットの期待値から、前記実効スループットの期待値に補正を行い、補正後の前記MACレイヤの実効スループットの期待値を基に、前記送信可能データ量を推定する
請求項4に記載の通信装置。
複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられる通信装置であって、前記無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、前記MACレイヤを介して他の無線デバイスと無線通信を行う通信装置が、
前記MACレイヤに送出される前段階の通信データを一時的に蓄積し、
自装置が測定した前記周波数における電波に関する指標である電波指標および/または前記周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内で前記MACレイヤで送信可能なデータ量である送信可能データ量を推定し、
前記送信可能データ量の推定結果に基づいて、前記通信データを下位のレイヤに送出する際のデータフローを制御し、
前記送信可能データ量を推定するときに、前記電波指標の統計値を用いて、前記周波数の空き時間率を推定し、得られた前記空き時間率、前記電波指標および前記通信指標を用いて、前記送信可能データ量を推定する
ことを特徴とするデータフロー制御方法。
複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられるコンピュータであって、前記無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、前記MACレイヤを介して他の無線デバイスと無線通信を行うコンピュータに搭載されるプログラムにおいて、
前記コンピュータに、
前記MACレイヤに送出される前段階の通信データを一時的に蓄積手段に蓄積する蓄積処理、
自装置が測定した前記周波数における電波に関する指標である電波指標および/または前記周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内で前記MACレイヤで送信可能なデータ量である送信可能データ量を推定する推定処理、および、
前記送信可能データ量の推定結果に基づいて、前記通信データを下位のレイヤに送出する際のデータフローを制御する制御処理を実行させ、
前記推定処理で、前記電波指標の統計値を用いて、前記周波数の空き時間率を推定させ、得られた前記空き時間率、前記電波指標および前記通信指標を用いて、前記送信可能データ量を推定させる
ためのプログラム。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。なお、各図面において、同一または対応する要素には同一の番号が付されており、重複説明を省略する。
【0017】
実施形態1.
図1は、実施形態の無線通信システムのネットワーク構成の例を示す構成図である。
図1に示すように、本実施形態の無線通信システムは、サーバ装置50と、中継装置10と、中継装置20と、IoTデバイス30とを備える。
【0018】
本実施形態の無線通信システムでは、無線ネットワーク内に中継装置の親機(中継装置10)と子機(中継装置20)とが存在し、IoTデバイス30は、中継装置20(子機)を介して、中継装置10(親機)との間で信号を送受信することができる。
【0019】
また、
図1に示す例では、IoTデバイス30と中継装置20は有線で接続されているが、無線で接続されてもよい。また、中継装置10は、インターネット40を介してサーバ装置50と接続されている。
【0020】
本実施形態では、中継装置20が、自装置において測定した所定の電波指標および通信指標を用いて、自装置内のMACレイヤの可用帯域を推定し、推定した結果を用いてMACレイヤより上位のレイヤが、MACレイヤに渡すユーザデータ(より具体的には、IoTデバイス30から受信して、無線通信ネットワークに送信するデータパケット)のデータフローの流量を制御する。ユーザデータのデータフローの流量の制御は、MACレイヤにユーザデータが渡たる前の任意のタイミングで行われればよい。一例としては、アプリケーションレイヤがユーザデータを一次蓄積して、トランスポートレイヤに渡すデータの流量を制御する構成が挙げられる。このように、本発明のユーザデータのデータフローの流量の制御は、MACレイヤよりも上位のレイヤが下位のレイヤに送出する無線通信データのデータフローの流量の制御を行うことにより、直接または間接的にMACレイヤに渡るユーザデータのデータフローの流量を制御することを含む。なお、データフローの流量の制御を行う上位のレイヤは、アプリケーションレイヤに限らず、トランスポートレイヤ等、MACレイヤよりも上位のレイヤであれば特に限定されない。
【0021】
より具体的には、配下のIoTデバイス30の各々からのデータを収集した中継装置20が、収集したデータの転送(受信および送信)の際に測定した電波指標および通信指標の統計情報を用いたベイズ推定により、MACレイヤで送信可能な帯域(可用帯域)を推定する。そして、推定した可用帯域に従ってデータフロー制御を行って中継装置10に無線送信を行う。なお、中継装置20と中継装置10の間の無線通信は、アンライセンスバンドを用いる通信規格である無線LANを用いることを想定する。
【0022】
なお、インターネット40は、外部のネットワーク機器とつながらないローカルまたはプライベートネットワークでもよい。
【0023】
また、本実施形態の無線通信システムは、無線通信ネットワーク内に、同一の周波数チャネルを用いる可能性がある無線機器60が存在し、中継装置20と中継装置10との間の無線LAN通信と干渉する可能性がある環境とする。
【0024】
図2は、本実施形態において本発明のフロー制御を実施する通信装置としての中継装置20(子機)の構成例を示す機能ブロック図である。
図2に示す中継装置20は、バッファ部21と、無線部22と、フロー制御部23とを備える。
【0025】
バッファ部21は、無線通信ネットワークに送信するユーザデータである無線通信データ(本例では、IoTデバイス30から受信したデータパケット)を一時的に蓄積する。また、バッファ部21は、一時的に蓄積したデータに関する情報をフロー制御部23に通知する。
【0026】
ここで、データに関する情報は、例えば、各データのデータフローのIPヘッダである5タプル(発信元アドレス、着信先アドレス、発信元ポート、着信先ポート、プロトコル番号)または/および各データフローの優先度、データ要件などである。優先度やデータ要件の通知は、IoTデバイス30から送信されるデータパケット内の特定のフィールドを使って通知を行うインバンドシグナリングでもよいし、データとは別に通知するアウトバンドシグナリングでもよい。
【0027】
無線部22は、指標測定部221を含む。指標測定部221は、自装置で測定できる、電波に関する指標である電波指標や無線通信に関する指標である通信指標を測定する。測定したこれらの指標は、フロー制御部23に入力される。
【0028】
電波指標の例としては、RSSI(Received Signal Strength Indicator)、送信先の無線デバイスがビーコンフレームを送信していない場合の受信信号電力(以下、背景雑音電力という)、SNR(Signal to Noise Ratio)、SINR(Signal to Noise-plus-Interference Ratio)などが挙げられる。また、通信指標の例としては、ビットエラーレート、パケット(フレーム)エラーレート、送信遅延、物理レイヤにおけるスループット、MACレイヤにおけるスループット、平均再送回数、接続デバイス数、無線部22の送信バッファに蓄積されているデータ量(送信待ちデータ量)、送信バッファの空き容量、MCS(Modulation and Coding Scheme)の使用確率(以下、「使用頻度」とも称する)などが挙げられる。なお、MCSは、変調方式と符号化率の組み合わせをIndex化したものである。電波指標および通信指標は、特に送信バッファのオーバーフローに繋がる無線通信環境の変化(無線品質の劣化や接続デバイス数の変化、送信データ量の変化等)が検出できる指標が好ましい。
【0029】
フロー制御部23は、指標管理部231とスループット期待値予測部232とバッファ制御部233とを含む。指標管理部231は、指標測定部221からの電波指標と通信指標の測定結果を入力とし、それら電波指標や通信指標の統計情報を生成する。指標管理部231は、指標測定部221から入力された情報を統計的に処理し、処理後の情報(電波指標の統計情報および/または通信指標の統計情報)をスループット期待値予測部232に入力する。
【0030】
スループット期待値予測部232は、指標管理部231から入力された電波指標や通信指標の統計情報を用いて、スループット期待値の予測を行う。ここで、スループットの期待値は、MACレイヤの可用帯域と同一となることが理想的な予測とする。
【0031】
バッファ制御部233は、スループット期待値予測部232で予測したスループット期待値、および一時的に蓄積したデータに関する情報に基づいて、バッファ部21から送出するデータフローとそのデータ量を決定し、決定した内容に従って、バッファ部21に蓄積されているデータを無線部22に送出する。なお、バッファ制御部233が、決定した内容(バッファ部21から送出するデータフローとそのデータ量)を示すフロー制御情報をバッファ部21に入力し、バッファ部21でフロー制御部23(バッファ制御部233)からのフロー制御情報に基づいて、一次的に蓄積していたデータを無線部22に送出することも可能である。
【0032】
無線部22は、バッファ部21から送出されるデータを受け、無線LANのプロトコルに従った送信フレームを生成し、無線送信を行う。
【0033】
このようにして、中継装置20において、電波指標や通信指標を用いて、MACレイヤの可用帯域を推定し、推定した結果を用いてMACレイヤよりも上位のレイヤにおいて、無線通信データのデータフローの流量を制御する。なお、本実施形態では、無線部22がMACレイヤに相当し、フロー制御部23が、上位のレイヤ(例えば、アプリケーションレイヤ)に相当する。
【0034】
次に、本実施形態の中継装置20の動作を説明する。
図3は、本実施形態の中継装置20の動作、特に、フロー制御部23におけるMACレイヤの可用帯域に基づくスループット期待値の予測方法およびフロー制御に関する動作の一例を示すフローチャートである。
【0035】
図3に示す例では、まず、中継装置20のスループット期待値予測部232が、電波指標の統計情報を用いて、フロー制御の対象とする無線通信ネットワーク内において単位時間あたりに無線デバイスが無線送信をしていない確率である空き時間率を推定する(ステップS101)。
【0036】
図4を用いて、空き時間率の推定方法を説明する。本例では、指標測定部221が、一定間隔毎にRSSIを測定し、指標管理部231が、その測定値の時系列データを保管しているものとする。
【0037】
そのような場合に、スループット期待値予測部232は、
図4に示すように、測定区間内の背景雑音電力の測定値が予め設定した背景雑音電力の判定閾値以下となる確率を空き時間率と推定する。なお、背景雑音電力の判定閾値は、周辺の無線環境に応じて設定、変更されてもよい。また、ここでは、背景雑音電力を用いる例を説明したが、RSSIやSNRやSINRなど他の電波指標を用いてもよい。
【0038】
また、スループット期待値予測部232は、測定されたRSSIを使用し、最大物理スループットを計算する(ステップS102)。無線LANの場合、各無線規格(IEEE802.11a、IEEE802.11nなど)において、無線品質に応じてMCSを選択する方式が採用されている。指標測定部221が、使用したMCSを指標管理部231に入力すると、指標管理部231では、測定区間における各MCSの使用確率が分かる。指標管理部231は、得られた各MCSの使用確率をスループット期待値予測部232に入力する。スループット期待値予測部232は、入力された各MCSの使用確率から、最大物理スループットの期待値を計算し、その期待値を最大物理スループットとする。ここでは、RSSIを用いる説明をしたが、SNRやSINRなど他の電波指標を用いてもよい。
【0039】
次に、スループット期待値予測部232は、推定した空き時間率と最大物理スループットとを用いて、物理スループットの期待値を計算する(ステップS103)。例えば、空き時間率と最大物理スループットを乗算することにより、物理スループットの期待値を計算する。
【0040】
次に、バッファ制御部233は、スループット期待値予測部232が予測した物理スループットの期待値と一時的に蓄積したデータに関する情報とに基づいて、フロー制御部23の制御間隔で送信可能なデータ量(以下、単に送信可能データ量という)を算出する(ステップS104)。フロー制御の制御間隔を、例えば100ms(0.1s)とすると、上記で求めた物理スループットの期待値が30Mbpsの場合、送信可能データ量は、30Mbps×0.1s/8bit=375kByteとなる。
【0041】
次に、スループット期待値予測部232は、バッファ部21に一時的に蓄積されたデータ量と、送信可能データ量とを比較する(ステップS105)。一時的に蓄積されたデータ量が送信可能データ量より小さければ、フロー制御でデータの送出を抑制する必要がないため、以降の実効MACスループットの算出およびフロー制御をスキップして処理を終了する(ステップS105 No)。
【0042】
一方、一時的に蓄積されたデータ量が送信可能なデータ量より大きければ、フロー制御でデータの送出を抑制する必要があるため、フロー制御に使用する実効MACスループットの算出処理(ステップS106)に進む(ステップS105 Yes)。なお、物理スループットを基に求めた送信可能なデータ量は、MACレイヤの効率損を含んでいないため、比較の際に、MACレイヤの効率損を想定した補正項を導入してもよいし、後述するMACレイヤの実効MACスループットの予測結果を基に判定しても良い。
【0043】
ステップS106では、スループット期待値予測部232が、ベイズ推定を用いて、MACレイヤの効率損を含む実効MACスループットを予測する(ステップS106)。
【0044】
以下、ベイズ推定を使った実効MACスループットの予測方法を説明する。
【0045】
以下の式(1)は、ベイズの定理としてよく知られた式である。
【0047】
P(Y|X)は、事象Xが発生した後での事象Yが発生する条件付き確率(事後確率とも呼ばれる)である。P(X|Y)は、事象Yが発生した際に事象Xが発生する条件付き確率(尤度とも呼ばれる)である。P(Y)は、事象Yが発生する確率(事前確率とも呼ばれる)である。
【0048】
ここで、事象X
aを物理スループットの期待値がaであること、事象Y
bを実効MACスループットの測定値がbであることと定義する。指標測定部221は、実効MACスループットを一定間隔で測定し、指標管理部231に入力する。指標管理部231は、入力された実効MACスループットを使用し、実効MACスループットの測定値がbである確率P(Y
b)を計算し、入力に応じて、更新し続ける。同様に、実効MACスループットの測定値がbであった場合、物理スループットの期待値がaである条件付き確率P(X
a|Y
b)も計算し、入力に応じて更新し続ける。
【0049】
ステップS106では、スループット期待値予測部232は、まず、ステップS104で推定した物理スループットの期待値がaであるとすると、指標管理部231で計算されたP(Y
b)、P(X
a|Y
b)を式(1)に代入することで、物理スループットの期待値がaである場合の実効MACスループットの測定値がbである条件付き確率P(Y
b|X
a)を算出する。ここで、予測したい値は、物理スループットの期待値がaである場合の実効MACスループットの期待値であるので、以下の式(2)により実効MACスループットの期待値を予測する。
【0051】
最後に、バッファ制御部233が、ステップS106で得られた実効MACスループットの期待値を用いて、フロー制御を実施する(ステップS107)。フロー制御における無線部22に送出するデータ量の決定方法の例としては、実効MACスループットの期待値と同一のスループットでバッファ部21からデータを送出する方法が挙げられる。
【0052】
また、バッファ制御部233は、無線部22のバッファでのデータ枯渇を防ぐために、実効MACスループットの期待値よりも予め定めたマージンを上乗せして、バッファ部21から無線部22に対してデータを送出してもよい。また、バッファ制御部233は、無線部22のバッファでのデータ溢れを防ぐために、実効MACスループットの期待値よりも予め定めたマージンを削減して、バッファ部21から無線部22に対してデータを送出してもよい。
【0053】
また、複数の優先度が異なるデータフローが蓄積されている場合には、スループット期待値予測部232およびバッファ制御部233は、優先度の高いデータフローからフロー制御による送出量を決定し、実効MACスループットの期待値に達するまで、送出データ量を積み増す方法を行う。
【0054】
このように本実施形態によるデータフローの制御方法は、無線部22に送出するデータ量を制御する方法であるため、無線のデータ通信に関わる機能、具体的にはMACレイヤのスケジューリングや物理レイヤの通信アクセス方式に手を加えることなく、実施可能となる。
【0055】
なお、本実施形態では、スループット推定機能やフロー制御機能が中継装置20で実現される構成で説明したが、該機能は中継装置20ではなく、別の装置内で実現されてもよい。
【0056】
また、本実施形態の実効MACスループットの推定方法として、物理スループットという1つの変数のみをインプットとする例で説明を行ったが、他の通信指標(パケットエラーレート、遅延など)を併用して、ベイズ推定を行ってもよい。
【0057】
また、本実施形態の実効MACスループットの推定方法として、物理スループットを求めてから、実効MACスループットを推定する例で説明を行ったが、物理スループットを求めずに、測定する電波指標、通信指標と実効MACスループットの関係性から、直接、実効MACスループットをベイズ推定してもよい。
【0058】
以上のように、本実施形態によれば、電波指標および/または通信指標を用いて、MACレイヤでの可用帯域をデータ送信前に推定し、推定した可用帯域に基づいて、MACレイヤよりも上位のレイヤが下位レイヤに送出する無線通信データのデータフローの流量を制御してデータ送出することにより、可用帯域を最大限に有効活用できるため、アンライセンスバンドを用いる無線通信システムにおいて送信元のバッファオーバフローを抑制して通信特性を向上することができる。
【0059】
実施形態2.
第1の実施形態では、スループット推定機能やフロー制御機能が中継装置20で実現される構成で説明したが、第2の実施形態では、中継装置20とは独立の通信制御装置で実現する構成を例示する。また、第1の実施形態では、ベイズ推定を用いた実効MACスループットの推定方式を説明したが、第2の実施形態では、通信指標に基づいた実効MACスループットのモデル式を用いて推定する方法を例示する。
【0060】
図5は、本実施形態の無線通信システムのネットワーク構成の例を示す構成図である。
図5に示すように、本実施形態では、中継装置20(子機)とIoTデバイス30との間に、さらに通信制御装置70を備える。
【0061】
本実施形態の無線通信システムの無線ネットワーク内には、中継装置10と中継装置20に加え、中継装置20と接続する通信制御装置70が存在し、IoTデバイス30は、通信制御装置70および中継装置20を介して、中継装置10との間で信号を送受信することができる。
【0062】
なお、本実施形態においても、中継装置20(子機)と中継装置10(親機)との間の無線通信は、第1の実施形態と同様、アンライセンスバンドを用いる通信規格である無線LANを用いることを想定する。
【0063】
また、
図5では、IoTデバイス30と通信制御装置70は有線で接続されているが、無線で接続されてもよい。他の点は、第1の実施形態と同様である。
【0064】
図6は、本実施形態において本発明のフロー制御を実施する通信装置としての通信制御装置70の構成例を示す機能ブロック図である。
【0065】
図6に示すように、通信制御装置70は、第1の実施形態において中継装置20が保持していた機能と同等の機能を備える。すなわち、通信制御装置70は、バッファ部71と、指標測定部721と、フロー制御部73とを備える。また、フロー制御部73は、指標管理部731と、スループット期待値予測部732と、バッファ制御部733とを含む。なお、指標測定部221を除いた無線通信機能である無線部24については、中継装置20が備える。
【0066】
それぞれの機能に関しては、第1の実施形態で説明したものと同様となるため、説明を省略する。
【0067】
なお、第1の実施形態では中継装置20の無線部22内に存在した指標測定部221が、本実施形態では、通信制御装置70内に無線部とは独立した指標測定部721として設けられている。指標測定部721は、通信制御装置70が備えるアンテナ等を利用して、自装置で測定できる、無線通信ネットワーク内の電波に関する指標(電波指標)を測定する。なお、通信指標については、中継装置20から入力される通信指標のログが利用される。
【0068】
本実施形態における中継装置20は、基本的な無線LANのアクセスポイントの無線機能を持つのみであり、既存でサポートされている通信指標のログを通信制御装置70に入力する。中継装置20は、本発明を実施するにあたり、特別な機能の追加はないものとし、中継装置20は、通信制御装置70の存在を意識しない構成とする。
【0069】
次に、本実施形態の通信制御装置70の動作を説明する。
図7は、本実施形態の通信制御装置70の動作、特に、フロー制御部73におけるMACレイヤの可用帯域に基づくスループット期待値の予測方法およびフロー制御に関する動作の一例を示すフローチャートである。
【0070】
図7に示す例では、まず、通信制御装置70のスループット期待値予測部732が、指標管理部731から入力される電波指標の統計情報を用いて、他の無線デバイスが無線送信をしていない空き時間率を推定する(ステップS201)。本ステップは、第1の実施形態のステップS101で説明した動作と同様のため、説明を省略する。
【0071】
次に、スループット期待値予測部732は、測定された通信指標等を使用して、中継装置20のMACレイヤで発生するであろう効率損を推定する(ステップS202)。
【0072】
マルチアクセス方式として、CSMA/CAを使用している無線LANの場合、自律的にフレームの衝突を回避するため、毎フレーム毎に送信待ち時間(DIFS:DCF Inter Frame Space、SIFS:Short Inter Frame Spaceなど)が発生する。また、無線LANでは、ランダムバックオフを使用したMACレイヤでの再送を行うため、効率損が発生する。したがって、MACレイヤの送信バッファのオーバーフローを防止するためには、MACレイヤの物理的なスループットだけでなく、送信待ち時間やMACレイヤでの再送による効率損を考慮する必要がある。
【0073】
ここでは、固定的に必ず発生する待ち時間の効率損をα、接続デバイス数等に依存する再送確率に依存するMACレイヤの再送による効率損をβとして推定を行う。αは、各無線LANの規格(IEEE802.11a, 11g, 11nなど)によりDIFS、SIFSの長さが定められているため、設定されるMACフレーム長に対するDIFS、SIFSの待ち時間の割合を考慮して、規格毎に異なる値を設定すればよい。βは、例えば、測定する通信指標の中に、MACレイヤにおけるフレームエラーレートを含めることで、この値を参考に効率損を決定する。
【0074】
再送の確率は、接続デバイス数にも依存するため、接続デバイス数が測定できる環境であれば、接続デバイス数とフレームエラーレートの関係を実験やシミュレーションなどで求めておき、その関係を使用して求めてもよい。また、α、βに関して、LMS(Least Mean Square),NLMS(Normalized LMS),RLS(Recursive Least Square)などの適応アルゴリズムによって、フレーム送信後に測定可能なMACスループットを使用して更新してもよい。
【0075】
次に、スループット期待値予測部732は、予め定められた推定式を用いて、MACレイヤの効率損を含む実効MACスループットを予測する(ステップS203)。スループット期待値予測部732は、例えば、以下のような予測式(3)により計算する。以下、予測により求まるMACレイヤの効率損を含む実効MACスループットを、MACレイヤの実効スループットの期待値という場合がある。
【0076】
実効MACスループット=f
TPMAX(q)×R×(1−α)×(1−β)
・・・(3)
【0077】
ここで、f
TPMAX(q)は、無線品質qを変数とする最大物理スループットを求める関数である。Rは空き時間率である。
【0078】
なお、f
TPMAX()は、同一環境において予め実験を行い、無線品質qと最大物理スループットの関係性を求めることにより定めてもよいし、以下の式(4)で示すシャノン・ハートレーの定理から導かれる通信路容量Cなどを使用し、理論的に求めてもよい。なお、式(4)においてBは送信帯域である。
【0079】
C = B*log2(1+q) ・・・(4)
【0080】
次に、スループット期待値予測部732は、フロー制御間隔内で送信可能なデータ量を算出する(ステップS204)。フロー制御を、例えば100ms毎とすると、上記で求めた実効MACスループット(実効スループットの期待値)が15Mbpsの場合、送信可能なデータ量は、15Mbps×0.1s/8bit=187.5kByteとなる。
【0081】
次に、スループット期待値予測部732は、バッファ部に一時的に蓄積されたデータ量と、送信可能なデータ量とを比較する(ステップS205)。一時的に蓄積されたデータ量が送信可能なデータ量より小さければ、フロー制御でデータの送出を抑制する必要がないため、フロー制御をスキップして処理を終了する(ステップS205 No)。一方、一時的に蓄積されたデータ量が送信可能なデータ量より大きければ、フロー制御でデータの送出を抑制する必要があるため、ステップS206のフロー制御に進む(ステップS205 Yes)。
【0082】
ステップS206では、バッファ制御部733が、ステップS203で予測した実効MACスループットの期待値を用いて、フロー制御を実施する。フロー制御の方法は、第1の実施形態で説明した通りであるため、説明を省略する。
【0083】
本実施形態では、中継装置20に一切手を加えることなく実施可能である。したがって、既存の中継装置に通信制御装置70を併設することのみで、通信特性の改善が期待できる。なお、本実施形態では、中継装置20の無線部24がMACレイヤに相当し、通信制御装置70のフロー制御部73が、上位のレイヤに相当する。
【0084】
また、本実施形態では、スループット推定機能やフロー制御機能を、制御対象の無線通信を行うMACレイヤを備える中継装置20に直接接続される通信制御装置70内で行う構成で説明したが、通信制御装置70の機能は、ネットワーク内のどこにあってもよい。
【0085】
(その他の実施形態)
また、上記の各実施形態では、無線通信方式として無線LANを想定したが、無線通信方式は無線LANに限定されない。例えば、他の無線アクセス方式(Bluetooth(登録商標)、ZigGee、WiGig、LoRaWAN(Low Power Wide Area Network)、Sigfox、Wi−Fi HaLowなど)に対しても実施可能である。
【0086】
また、上記の各実施形態では、無線LANの1つの周波数チャネルを使用する場合について説明したが、複数の周波数チャネルを併用する場合にも本発明は使用可能である。複数の周波数チャネルは同一周波数バンドとは限らず、920MHz帯、2.4GHz帯、5GHz帯、60GHz帯などが混在していてもよい。その際、1つのデータフローを送信する周波数チャネルは1つとして周波数チャネルを選択してもよいし、2以上の周波数チャネルが同時に使用されてもよい。2以上の周波数チャネルを同時に使用する場合、周波数チャネルごとに上述した送信データ量の推定およびデータフロー制御を行って送信するデータ量を制御すればよい。
【0087】
次に、本発明の実施形態にかかるコンピュータの構成例を示す。
図8は、本発明の実施形態にかかるコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
【0088】
上述の実施形態の無線通信システムのノード(特に、中継装置20および通信制御装置70)は、無線機能を備えるコンピュータ1000に実装されてもよい。その場合、各ノードの動作は、プログラムの形式で補助記憶装置1003に記憶されていてもよい。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って各実施形態における所定の処理を実施する。なお、CPU1001は、プログラムに従って動作する情報処理装置の一例であり、CPU(Central Processing Unit)以外にも、例えば、MPU(Micro Processing Unit)やMCU(Memory Control Unit)やGPU(Graphics Processing Unit)などを備えていてもよい。
【0089】
補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータは1000がそのプログラムを主記憶装置1002に展開し、各実施形態における所定の処理を実行してもよい。
【0090】
また、プログラムは、上記の実施形態における所定の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで上記の実施形態における所定の処理を実現する差分プログラムであってもよい。
【0091】
インタフェース1004は、他の装置との間で情報の送受信を行う。また、ディスプレイ装置1005は、ユーザに情報を提示する。また、入力デバイス1006は、ユーザからの情報の入力を受け付ける。
【0092】
また、実施形態における処理内容によっては、コンピュータ1000の一部の要素は省略可能である。例えば、ノードがユーザに情報を提示しないのであれば、ディスプレイ装置1005は省略可能である。例えば、ノードがユーザから情報入力を受け付けないのであれば、入力デバイス1006は省略可能である。
【0093】
また、各装置の各構成要素の一部または全部は、汎用または専用の回路(Circuitry)、プロセッサ等やこれらの組み合わせによって実施される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0094】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0095】
次に、本発明の概要を説明する。
図9は、本発明の通信装置の概要を示すブロック図である。
図9に示す通信装置500は、複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられる通信装置であって、無線デバイスのいずれか(本例では、無線デバイス510)が有するMACレイヤ511の上位のレイヤ(MACレイヤよりも上位のレイヤであって直上のレイヤに限定されない)として動作することにより、MACレイヤ511を介して他の無線デバイスと無線通信を行う通信装置である。なお、無線デバイス510は、通信装置500とは別の装置として実装されてもよい。
【0096】
本発明の通信装置500は、蓄積手段501と、推定手段502と、制御手段503とを含む。
【0097】
蓄積手段501(例えば、バッファ部21、71)は、MACレイヤに送出される前段階の通信データを一時的に蓄積する。ここで、MACレイヤに送出される前段階の通信データは、MACレイヤに送出される前の任意のレイヤにおける無線通信データ(ユーザデータを含む無線通信用のデータ)であればよく、例えば、MACレイヤより上位の所定レイヤにおける無線通信データであってよい。
【0098】
推定手段502(例えば、スループット期待値予測部232、732)は、自装置または自装置が利用するMACレイヤ511を有する無線デバイス510が測定した該周波数における電波に関する指標である電波指標および/または該周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内でMACレイヤで送信可能なデータ量である送信可能データ量を推定する。
【0099】
制御手段503(例えば、バッファ制御部233、733)は、送信可能データ量の推定結果に基づいて、蓄積手段501に蓄積された通信データを下位のレイヤに送出する際のデータフローを制御する。
【0100】
このような構成により、アンライセンスバンドを用いる無線通信システムにおいて、無線品質の急激な劣化や接続デバイス数の急増などの急な環境変化が生じた場合であっても、通信特性を改善できる。
【0101】
なお、上記の実施形態は以下の付記のようにも記載できる。
【0102】
(付記1)複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられる通信装置であって、無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、MACレイヤを介して他の無線デバイスと無線通信を行う通信装置において、MACレイヤに送出される前段階の通信データを一時的に蓄積する蓄積手段と、自装置または自装置が利用するMACレイヤを有する無線デバイスが測定した周波数における電波に関する指標である電波指標および/または周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内でMACレイヤで送信可能なデータ量である送信可能データ量を推定する推定手段と、送信可能データ量の推定結果に基づいて、通信データを下位のレイヤに送出する際のデータフローを制御する制御手段とを備えたことを特徴とする通信装置。
【0103】
(付記2)制御手段は、蓄積手段に蓄積されているデータ量と送信可能データ量とを比較して、データフローの制御を行うか否かを判定する付記1に記載の通信装置。
【0104】
(付記3)推定手段は、送信可能データ量として、データフローの制御間隔内でMACレイヤで送信可能なデータ量を推定し、制御手段は、蓄積手段に蓄積されているデータ量が、送信可能データ量を超過した場合に、データフローの制御を行う付記1または付記2に記載の通信装置。
【0105】
(付記4)推定手段は、電波指標の統計値を用いて、周波数の空き時間率を推定し、得られた空き時間率、電波指標および通信指標を用いて、送信可能データ量を推定する付記1から付記3のうちのいずれかに記載の通信装置。
【0106】
(付記5)推定手段は、空き時間率および電波指標を用いて推定される無線リンクの物理スループットの期待値を基に、送信可能データ量を推定する付記4に記載の通信装置。
【0107】
(付記6)推定手段は、通信指標の1つとして測定されるMACレイヤの実効スループットと、物理スループットの期待値との関係性を示す統計情報を用いて、MACレイヤの効率損を含む実効スループットの期待値を予測し、得られた実効スループットの期待値を基に、送信可能データ量を推定する付記5に記載の通信装置。
【0108】
(付記7)推定手段は、電波指標から求まる通信指標の1つである無線リンクの物理スループットの期待値を入力とするMACレイヤの効率損のモデル式を用いて、物理スループットの期待値から、実効スループットの期待値に補正を行い、補正後のMACレイヤの実効スループットの期待値を基に、送信可能データ量を推定する付記5に記載の通信装置。
【0109】
(付記8)MACレイヤが、複数の周波数バンドを含む2つ以上の周波数チャネルを用い、少なくとも推定手段および制御手段は、周波数チャネルごとに、送信可能データ量の推定およびデータフローの制御を行う付記1から付記7のうちのいずれかに記載の通信装置。
【0110】
(付記9)無線通信に使用する周波数を共有する複数の無線デバイスと、無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、MACレイヤを介して他の無線デバイスと無線通信を行う通信制御装置とを備え、通信制御装置は、MACレイヤに送出される前段階の通信データを一時的に蓄積する蓄積手段と、自装置または自装置が利用するMACレイヤを有する無線デバイスが測定した周波数における電波に関する指標である電波指標および周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内でMACレイヤで送信可能なデータ量である送信可能データ量を推定する推定手段と、送信可能データ量の推定結果に基づいて、通信データを下位のレイヤに送出する際のデータフローを制御する制御手段とを含むことを特徴とする無線通信システム。
【0111】
(付記10)複数の無線デバイスが通信に使用する周波数を共有する無線通信システムに用いられる通信装置であって、無線デバイスのいずれかが有するMACレイヤの上位のレイヤとして動作することにより、MACレイヤを介して他の無線デバイスと無線通信を行う通信装置が、MACレイヤに送出される前段階の通信データを一時的に蓄積し、自装置または自装置が利用するMACレイヤを有する無線デバイスが測定した周波数における電波に関する指標である電波指標および/または周波数を使用した無線通信に関する指標である通信指標を用いて、所定の時間内でMACレイヤで送信可能なデータ量である送信可能データ量を推定し、送信可能データ量の推定結果に基づいて、通信データを下位のレイヤに送出する際のデータフローを制御することを特徴とするデータフロー制御方法。
【0112】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0113】
この出願は、2017年9月12日に出願された日本特許出願2017−174911を基礎とする優先権を主張し、その開示の全てをここに取り込む。