(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかる中継装置101の構成例について説明する。中継装置101は、通信制御部102、無線通信部103及びスループット計算部104を有している。中継装置101は、メモリに格納されているプログラムをCPU(Central Processing Unit)が実行することによって動作するコンピュータ装置であってもよい。中継装置101は、例えばアクセスポイントであってもよく、モバイルルータであってもよく、ホームゲートウェイ装置であってもよく、モバイルネットワークにおける基地局等であってもよい。アクセスポイントは、無線LAN(Local Area Network)通信の親機として用いられる装置である。
無線通信部103は、複数の無線通信端末と無線通信を行う。無線通信は、例えば無線LAN通信であってもよく、その他の無線通信端末が送信するデータの衝突が発生する可能性のある無線通信であってもよい。
スループット計算部104は、無線通信端末と送受信するデータを用いて複数の無線通信端末におけるそれぞれの無線通信端末のスループットを算出する。例えば、スループットは、所定の期間において送信もしくは受信したデータのデータ量である。また、スループットは、所定の期間において送信及び受信したデータのデータ量であってもよい。スループット計算部104は、通信する無線通信端末毎に算出したスループットの値をメモリ等に格納して管理してもよい。
通信制御部102は、複数の無線通信端末のスループットを平準化するように、優先的に通信機会を付与する優先無線通信端末を決定し、優先無線通信端末へ通信を許可する許可情報を送信する。
例えば、無線通信端末が送信するデータの衝突を防止する場合に、中継装置101によって許可された無線通信端末のみがデータを送信することができる、という通信方式を用いる場合がある。この場合、他の無線通信端末と比較して、スループットが低い無線通信端末は、データを送信する機会が少ないこともしくは通信速度が遅いことが考えられる。そのため、中継装置101は、スループットの低い無線通信端末に、優先的に通信機会を付与することを決定し、その無線通信端末へ通信を許可する許可情報を送信してもよい。スループットの低い無線通信端末に優先的に通信機会が付与されることによって、複数の無線通信端末間におけるスループットが平準化される。
以上説明したように、図1の中継装置101は、複数の無線通信端末のそれぞれの無線通信端末について、スループットを算出することができる。さらに、中継装置101は、算出された複数のスループットの値を用いて、優先的に通信機会を付与する優先無線通信端末を決定することができる。このようにすることによって、中継装置101は、複数の無線通信端末のスループットを平準化させることができる。そのため、複数の無線通信端末間において、スループットの値を公平に保つことができる。
(実施の形態2)
続いて、図2を用いて本発明の実施の形態2にかかるアクセスポイント110の構成例について説明する。アクセスポイント110は、通信制御部102、無線通信部103、スループット計算部104、優先CTS作成部105及びメモリ106を有している。通信制御部102、無線通信部103及びスループット計算部104は、図1の中継装置101における通信制御部102、無線通信部103及びスループット計算部104と同様であるため、図1の中継装置101と共通する内容については説明を省略する。また、通信制御部102が、優先CTS作成部105において実行される機能を有してもよい。この場合、図1の通信制御部102は、図2の通信制御部102及び優先CTS作成部105に相当する。
通信制御部102は、RTS及びCTSを生成する。通信制御部102は、無線通信部103を介して複数の無線通信端末に対してRTSもしくはCTSを送信する。また、通信制御部102は、無線通信部103を介して、RTS及びCTSと異なる通信メッセージを複数の無線通信端末へ送信してもよい。
スループット計算部104は、それぞれの無線通信装置におけるスループットを計算する際に、それぞれの無線通信装置が送信したデータのデータ長を用いてもよい。例えば、スループット計算部104もしくは通信制御部102は、所定期間において無線通信端末毎に、無線通信端末から送信されたデータのデータ長を集計し、集計した結果に関する情報をメモリ106に格納してもよい。スループット計算部104は、メモリ106に格納された無線通信端末毎のデータ長と集計した期間に関する情報を用いることによって、無線通信端末毎のスループットを計算してもよい。
優先CTS作成部105は、優先CTSを生成し、さらに、優先CTSを送信する無線通信端末を選定する。一般的に、アクセスポイント110は、無線通信端末から送信されたRTSに対する応答としてCTSを無線通信端末へ送信する。無線通信端末は、RTSを送信した後に、アクセスポイント110から送信されたCTSを受信することによって、データの送信機会を得ることができる。
これに対して、優先CTSは、無線通信端末からRTSが送信されない場合においても、優先CTS作成部105において生成され、優先的に通信機会を付与する無線通信端末へ送信される。つまり、優先CTS作成部105は、優先CTSを送信する無線通信端末を選定すると、選定した無線通信端末へ自発的に優先CTSを送信する。
また、一般的に、CTSの有効期間は、無線通信端末から送信されるRTSの有効期間を元にしているが、優先CTSには、元となるRTSが存在しない。そのため、優先CTSの有効期間は、例えば、無線通信端末が通信したデータ量に基づいて設定されてもよく、任意の固定値が設定されてもよい。
メモリ106は、無線通信毎に送信されたデータ長に関する情報、もしくは、その他のテーブル情報等を保持する。テーブル情報については、後に詳述する。
ここで、アクセスポイント110における動作について説明する。アクセスポイント110は、無線通信端末から送信されたデータフレームを受信し、データの受信を終了するとAckを無線通信端末宛てに送信する。Ackは、正常にデータを受信することができたことを示すメッセージである。通信制御部102は、タイマを使用し、一定時間の間に受信したデータフレームのデータ長に関する情報をメモリ106へ累積する。通信制御部102は、データフレームを受信するたびに、無線通信端末から送信されたデータフレームのデータ長をメモリ106に格納する。スループット計算部104は、メモリ106に格納された上記データ長を参照し、無線通信端末ごとのデータフレームのデータ長を加算しデータ長累積値を算出する。一定時間経過後、スループット計算部104は、データ長累積値を用いてネットワーク内の無線通信端末ごとのスループットを計算する。スループット計算部104は、計算結果をメモリ106に格納する。優先CTS作成部105は、メモリ106に格納されているデータ長累積値とスループットとを参照し、メモリ106に格納されている端末スループット管理テーブルを更新する。
上述した動作においては、アクセスポイント110が、無線通信端末よりデータフレームを受信した場合の動作例について説明したが、アクセスポイント110が、無線通信端末にデータフレームを送信する場合にも同様に機能することが可能である。
続いて、図3を用いて優先CTS作成部105の構成例について説明する。優先CTS作成部105は、優先管理テーブル管理部201及びCTS優先制御部202を有する。
優先管理テーブル管理部201は、端末スループット管理テーブル及びCTS優先端末テーブルを更新する。また、優先管理テーブル管理部201は、スループット計算部104におけるスループットの計算結果を用いて、端末スループット管理テーブルを更新する。端末スループット管理テーブル及びCTS優先端末テーブルは、メモリ106に格納されている。
CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを用いて無線通信端末の優先度を評価する。さらに、CTS優先制御部202は、端末スループット管理テーブルを用いて優先CTSを送信すべき無線通信端末を選定もしくは判定する。また、CTS優先制御部202は、メモリ106に格納された実施端末優先度に関する情報とCTS送信範囲閾値に関する情報とを使用して、優先CTSを送信すべき無線通信端末を判定することができる。
実施端末優先度とは、優先CTSを送信すべき無線通信端末の優先度のことであり、複数の無線通信端末に優先CTSを送信する際に使用する。CTS送信範囲閾値とは、実施端末優先度と同様に複数の無線通信端末に優先CTSを送信する際に使用され、優先CTSを送信する無線通信端末の数を表す。
続いて、図4を用いて本発明の実施の形態2にかかる端末スループット管理テーブルについて説明する。端末スループット管理テーブルは、「端末名」、「スループット」及び「データ長」によって構成される。「端末名」には、無線通信端末のMACアドレスもしくはIPアドレス等、アクセスポイント110と通信している個々の無線通信端末を識別する識別子が記録される。
「スループット」には、スループット計算部104において計算された単位時間当たりのデータ量が記録される。例えば、「スループット」の単位として、Mbps(Mbit per sec)もしくはMb/sが用いられる。「データ長」には、一定時間にアクセスポイント110と実際に通信を行った無線通信端末との間において送受信されたデータフレームのデータ長の累積値が記録される。例えば、「データ長」の単位としてMbが用いられる。端末スループット管理テーブルは更新の都度、値が上書きされる。データ更新の履歴は記録されなくてもよく、データ更新の履歴はメモリに記録されてもよい。
続いて、図5を用いて本発明の実施の形態2にかかる優先端末テーブルについて説明する。優先端末テーブルは、「端末名」、「優先値」及び「CTS送信実施履歴」によって構成される。「端末名」には、無線通信端末のMACアドレスもしくはIPアドレス等、アクセスポイント110と通信している個々の無線通信端末を識別する識別子が記録される。
優先管理テーブル管理部201は、端末スループット管理テーブルの「スループット」をもとに判定した評価値を「優先値」に記録する。例えば、端末スループット管理テーブルの「スループット」の数値の低い方から順に評価値をつけた場合、「スループット」が最低値の無線通信端末の「優先値」は1となる。もしくは、「優先値」は、アクセスポイント110が任意に設定した値や、上位の管理サーバ等から指示された値を記録することも可能である。「優先値」は、最も小さい値を最優先とし、値が大きくなるにつれて優先度は低くなる。もしくは、「優先値」は、最も大きい値を最優先とし、値が小さくなるにつれて優先度が低くなってもよい。本図においては、優先値が最も小さい値を最優先であることを示している。
「CTS送信実施履歴」は、CTS優先制御部202が決定した無線通信端末への優先CTSの送信時刻が記録される。なお、「CTS送信実施履歴」は、優先CTSの送信時刻の記載をせず、優先CTSを送信した端末に対してフラグとして使用する事も可能である。つまり、「CTS送信実施履歴」には、優先CTSを無線通信端末へ送信したか否かを示す情報が記録されてもよい。「CTS送信実施履歴」は、「優先値」と連動してもよく、「優先値」が更新された場合は、「CTS送信実施履歴」も初期化されてもよい。なお、CTS優先端末テーブルは「端末名」及び「優先値」のみによって構成されてもよい。
ここで、優先CTS作成部105の動作について説明する。優先CTS作成部105は、無線通信端末よりデータフレームを受信し、Ackを返信する際、端末スループット管理テーブルの更新を行う。
優先管理テーブル管理部201は、スループット計算部104において計算され、メモリ106に格納された「スループット」と「データ長」を参照する。優先管理テーブル管理部201は、メモリ106に格納された端末スループット管理テーブルに、「スループット」と「データ長」とを参照した値に上書きする。
また、優先CTS作成部105は、アクセスポイント110のネットワーク内にある無線通信端末の中で、スループットの格差が生じた場合、スループットの低い無線通信端末に対して強制的もしくは優先的に優先CTSを送信する。
CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを参照し、「スループット」の最高値と最小値との差を求める。最高値と最小値との差が任意の閾値以上の場合、CTS優先制御部202は、優先CTSを送信すべき端末の判定処理に移行する。CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを参照し、「スループット」から優先度を判定する。例えば、CTS優先制御部202は、「スループット」が最小の端末の「優先値」を1とし、「スループット」の数値が大きくなるにつれて「優先値」を増加させる。「優先値」は値の小さいものを最優先とする。
CTS優先制御部202は、優先度の高い無線通信端末、つまり「優先値」の値が小さい無線通信端末を、優先CTSを送信すべき端末と判定する。CTS優先制御部202は、通信制御部102に対して、優先CTSを送信すべきと判定した端末宛てに優先CTSを送信するよう指示する。また、CTS優先制御部202は、優先管理テーブル管理部201へ、判定した「優先値」を送信する。優先管理テーブル管理部201は、メモリ106よりCTS優先端末テーブルを参照し、上記「優先値」を更新する。
アクセスポイント110は、無線通信端末よりRTSを受信時、通信制御部102がCTSを送信する前にCTSを送信予定の「端末名」をCTS優先制御部202へ送信する。CTS優先制御部202は、メモリ106に格納されたCTS優先端末テーブルを参照し、受信した端末の優先度を判定してもよい。アクセスポイント110は、受信した端末の優先度が、予め定められた閾値よりも低い無線通信端末へCTSを送信してもよい。
続いて、図6を用いて、本発明の実施の形態2にかかるアクセスポイント110及び複数の無線通信端末の構成例について説明する。図6において、アクセスポイント110は、Pとする。アクセスポイント110と接続する複数の無線通信端末は、A〜Fとする。無線通信端末A〜Fは、データ通信を行う場合、アクセスポイント110へRTSを送信する。アクセスポイント110は、RTSを送信してきた無線通信端末に対してCTSを送信する。アクセスポイント110は、無線通信端末が送信したデータフレームのデータ長の累積値を「データ長」として、端末スループット管理テーブルに記録する。
続いて、図7を用いて端末スループット管理テーブルの作成処理の流れについて説明する。はじめに、通信制御部102は、一定時間内のデータフレームのデータ長を累積するためのタイマをスタートする(S10)。次に、アクセスポイント110は、無線通信端末から送信されたデータフレームを受信する(S11)。次に、通信制御部102は、受信したデータフレームのデータ長に関する情報をメモリ106に格納する。さらに、スループット計算部104は、メモリ106に格納されたデータ長を、各無線通信端末のデータ長累積値に加算する(S12)。データ長累積値は、同一端末から送信されたデータフレームのデータ長を加算した値である。端末スループット管理テーブルにおける「データ長」は、データ長累積値を示す。
次に、通信制御部102は、ステップS10においてスタートしたタイマの設定期間が満了し、タイムアップしたかどうかを判定する(S13)。通信制御部102は、ステップS13においてタイマがタイムアップしていないと判定した場合、無線通信端末から送信されたデータフレームを受信完了後に、無線通信部103を介してAckを無線通信端末へ送信する(S17)。ステップS17以降は、ステップS11以降の処理を繰り返す。
ステップS13において、通信制御部102によってタイマがタイムアップしていると判定された場合、スループット計算部104は、データ長累積値を用いて無線通信端末のスループットを計算する(S14)。スループット計算部104は、計算したスループットの値をメモリ106へ格納する。
次に、優先管理テーブル管理部201は、メモリ106に格納されたデータ長累積値と、スループット計算部104におけるスループットの計算結果を用いて、端末スループット管理テーブルの「データ長」及び「スループット」を更新する。
次に、通信制御部102は、データフレームを送信してきた無線通信端末へAckを送信するよう、無線通信部103へ指示し、無線通信部103は、無線通信端末へAckを送信する(S16)。無線通信部103が、無線通信端末へAckを送信後、ステップS10以降の処理を繰り返す。
続いて、図8を用いて本発明の実施の形態2にかかる優先CTSを送信すべき無線通信端末を判定する際の処理の流れについて説明する。はじめに、図7における処理が実行され、端末スループット管理テーブルが更新されることによって、優先CTSを送信すべき無線通信端末を判定する処理が開始される(S20)。
次に、CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを参照し、「スループット」の最高値と最小値の差を求める(S21)。例えば、図4に示した端末スループット管理テーブルを用いた場合、端末Dのスループットと、端末Bのスループットの差として0.7Mbpsが算出される。
次に、CTS優先制御部202は、「スループット」の最高値と最小値との差が、予め定められた閾値以上であるか否かを判定する(S22)。例えば、アクセスポイント110を管理するユーザが、予め閾値の値をアクセスポイント110に入力し、入力された閾値は、メモリ106に格納されていてもよい。また、ユーザは、任意のタイミングに閾値を変更もしくは更新してもよい。
CTS優先制御部202は、「スループット」の最高値と最小値との差が、予め定められた閾値より小さい値である場合、処理を終了する。つまり、この場合、無線通信端末間において、大きなスループットの差異はないとして、無線通信端末間のスループットを平準化する動作は、実行されない。
CTS優先制御部202は、「スループット」の最高値と最小値との差が、予め定められた閾値以上であると判定した場合、端末スループット管理テーブルを参照し、「スループット」の数値の低い無線通信端末の順に「優先値」の順位をつける。例えば、CTS優先制御部202は、「スループット」の数値の低い無線通信端末から順に、小さい値の「優先値」を設定する。ここでは、「優先値」が小さいほど、優先度の高い無線通信端末であることを示す。
CTS優先制御部202は、設定した「優先値」に関する情報を優先管理テーブル管理部201へ送信する。優先管理テーブル管理部201は、CTS優先制御部202から「優先値」に関する情報を用いて、メモリ106に格納されたCTS優先端末テーブルを更新する(S23)。
次に、CTS優先制御部202は、メモリ106に格納されたCTS優先端末テーブルを参照し、「優先値」が最も低い無線通信端末、つまり、もっとも優先度が高い無線通信端末を抽出する。CTS優先制御部202は、抽出した無線通信端末を優先CTSを送信すべき無線通信端末と決定する(S24)。
次に、CTS優先制御部202は、優先CTSを送信すべき無線通信端末として決定した無線通信端末を宛先とする、優先CTSを生成する(S25)。CTS優先制御部202は、生成した優先CTSをメモリ106に格納する。優先CTSに設定される宛先は、例えば、無線通信端末のIPアドレスもしくはMACアドレス等の端末識別子であってもよい。CTS優先制御部202は、優先CTSをメモリ106に格納したこと、もしくは、決定した無線通信端末へ優先CTSを送信すべきことを通信制御部102へ通知する。
次に、通信制御部102は、メモリ106から優先CTSを抽出し、優先CTSに設定されている無線通信端末へ、無線通信部103を介して優先CTSを送信する(S26)。
ステップS24において、CTS優先制御部202は、優先値が小さい無線通信端末を、優先CTSを送信すべき無線通信端末として決定したが、優先値と異なる値を用いて優先CTSを送信すべき無線通信端末を決定してもよい。例えば、CTS優先制御部202は、端末スループット管理テーブルの「スループット」が最小である無線通信端末を、優先CTSを送信すべき無線通信端末と決定してもよい。もしくは、CTS優先制御部202は、端末スループット管理テーブルの「データ長」が最小である無線通信端末を、優先CTSを送信すべき無線通信端末と決定してもよい。
また、ステップS23において、CTS優先制御部202は、「スループット」の数値の低い無線通信端末の順に「優先値」の順位をつけているが、「スループット」の数値と異なる値を用いて「優先値」を設定してもよい。例えば、CTS優先制御部202は、端末スループット管理テーブルの「データ長」が小さい順に、「優先値」の順位をつけてもよい。
以上説明したように、本発明の実施の形態2にかかるアクセスポイント110は、複数の無線通信端末におけるスループットを平準化させる制御を実行することができる。具体的には、アクセスポイント110は、スループットが低い無線通信端末に対して、RTSの有無にかかわらず生成した優先CTSをスループットの低い無線通信端末へ送信することができる。
つまり、通信機会の割り当てが少なく、もしくは、通信速度が遅いためスループットが低い無線通信端末に対して、強制的にもしくは優先的に通信機会を割り当てることによって、当該無線通信端末のスループットを高くすることができる。これによって、複数の無線通信端末におけるスループットが平準化され、アクセスポイント110は、複数の無線通信端末に対して公平な通信環境を提供することができる。
また、アクセスポイント110は、特定の無線通信端末に対して優先CTSを送信することによって、優先CTSを受信した無線通信端末以外の無線通信端末の通信を抑制することができる。これによって、優先CTSを受信した無線端末に対する他の無線通信端末の影響を軽減することができるため、通信速度の遅い無線通信端末であっても、安定した通信を行うことができる。さらに、優先CTSを受信した無線通信端末以外の無線通信端末は、通信を控えるため、過剰に通信している無線通信端末の通信を抑制することができる。
(実施の形態3)
続いて、図9を用いて本発明の実施の形態3にかかる優先CTSを送信すべき無線通信端末を判定する際の処理の流れについて説明する。本実施の形態においては、複数の無線通信端末へ優先CTSを送信することについて説明する。図9のステップS30〜S36は、図8のステップS20〜26と同様であるため詳細な説明を省略する。
本実施の形態においては、実施端末優先度とアクセスポイント110が任意に設定したCTS送信範囲閾値を使用する。実施端末優先度は、優先CTSを送信した無線通信端末もしくは優先CTSを送信する予定の無線通信端末に設定された優先度である。実施端末優先度の初期値は、1とする。例えば、実施端末優先度が1とは、優先度が1に設定された無線通信端末へ優先CTSを送信したことを示している。
CTS送信範囲閾値は、優先CTSを送信する無線通信端末数を示す。アクセスポイント110は、任意の値をCTS送信範囲閾値として設定することができる。具体的には、アクセスポイント110は、接続している無線通信端末の数、スループットの分布状態等を解析して、CTS送信範囲閾値として任意の値を設定してもよい。もしくは、アクセスポイント110を管理するユーザが、CTS送信範囲閾値として任意の値を設定してもよい。実施端末優先度及びCTS送信範囲閾値に関する情報は、メモリ106に格納されてもよい。
図9のステップS36までの処理が実行された後、CTS優先制御部202は、実施端末優先度がCTS送信範囲閾値以上であるか否かを判定する(S37)。実施端末優先度が、CTS送信範囲閾値以上であることは、すなわち、優先CTSを送信する無線通信端末数以上に優先CTSを送信したことを示している。そのため、実施端末優先度がCTS送信範囲閾値以上である場合、処理を終了する。
実施端末優先度が、CTS送信範囲閾値よりも小さい場合、CTS優先制御部202は、メモリ106に格納された実施端末優先度を1増加した値に更新する。(S38)。例えば、増加前の実施端末優先度が1だった場合、「優先値」が1の無線通信端末宛てには優先CTSを送信済みであり、1増加させることによって、次回は「優先値」が2の無線通信端末宛に優先CTSを送信するということになる。
次に、CTS優先制御部202は、CTS優先端末テーブルを参照し、メモリ106に格納されている実施端末優先度と同じ値が「優先値」に設定されている無線通信端末を特定する。CTS優先制御部202は、特定した無線通信端末を、優先CTSを送信すべき無線通信端末と決定する(S39)。
次に、CTS優先制御部202は、ステップS36において優先CTSを送信した無線通信端末におけるデータ通信が終了するまで、動作を停止する(S40)。ステップS36において送信した無線通信端末におけるデータ通信が終了するまで、優先CTSを受信していない無線端末は、データ通信を行うことができないからである。CTS優先制御部202は、ステップS36において優先CTSを送信した無線通信端末におけるデータ通信が終了すると、ステップS35以降の処理を繰り返す。
CTS優先制御部202は、例えば、優先CTSに有効期間を定めた場合、有効期間の満了によってデータ通信が終了したとみなしてもよい。もしくは、CTS優先制御部202は、無線通信端末から所定の間データが送信されてこない場合、データ通信が終了したとみなしてもよい。もしくは、CTS優先制御部202は、通信制御部102が、無線通信端末へAckを送信した場合、データ通信が終了したと判定してもよい。
ここで、図9の処理の流れについて、図5のCTS優先端末テーブルに設定されている具体的な値を用いて説明する。
CTS優先制御部202は、メモリ106に格納された実施端末優先度に従って、優先CTSを送信すべき端末を決定する。CTS優先制御部202は、CTS送信範囲閾値と実施端末優先度が一致するまでは、CTS優先端末テーブルに記録された無線通信端末より優先CTSを送信すべき無線通信端末を判定して、優先CTSを送信する動作を繰り返す。
例えば、まずステップS34にて最小の「優先値」の無線通信端末を決定する時、実施端末優先度は初期値であるため、1である。ステップS35及びS36にて「優先値」として1が設定されている無線通信端末に優先CTSを送信する。
図5において「優先値」が1に設定されている無線通信端末は、端末Bである。通信制御部102が、端末Bに優先CTSを送信した後、CTS優先制御部202は、実施端末優先度とCTS送信範囲閾値を参照し、比較する。ここでは、CTS送信範囲閾値を3とする。この時点での実施端末優先度は1であるため、CTS優先制御部202は、実施端末優先度の方が小さいと判定する。この場合、優先CTSを送信すべき無線通信端末数にまだ達していないため、CTS優先制御部202は、次の「優先値」の無線通信端末へ優先CTSを送信する動作に移行する。
CTS優先制御部202は、メモリ106に格納された実施端末優先度の値を1増加させる。CTS優先制御部202は、メモリ106に格納されたCTS優先端末テーブルを参照し、実施端末優先度と等しい「優先値」の無線通信端末に優先CTSを送信するよう決定する。図5においては、「優先値」が2の無線通信端末は端末Eである。そのため、CTS優先制御部202は、端末E宛ての優先CTSを作成する。CTS優先制御部202は、端末Eに割り当てる通信時間や速度を、メモリ106に格納された端末スループット管理テーブルを参考にして決定してもよいこの時点において端末Bのデータ通信に対するAckを送信していない場合、つまり端末Bのデータ通信が終了していない場合、CTS優先制御部202は、動作を停止する。CTS優先制御部202は、端末Bのデータ通信の終了後、端末Eを宛先とする優先CTSを作成する。
無線通信部103が、端末Eに優先CTSを送信後、CTS優先制御部202は、再びメモリ106に格納された実施端末優先度とCTS送信範囲閾値を比較する。無線通信部103が端末Eに優先CTSを送信した時点において、実施端末優先度は2であり、CTS優先制御部202は、実施端末優先度の方がCTS送信範囲閾値よりも小さいと判定する。
CTS優先制御部202は、上記と同様に、端末Eにおけるデータ通信終了後、実施端末優先度を1増加させ、「優先値」が3である端末Fに優先CTSを送信する。無線通信部103が端末Fに優先CTSを送信後、CTS優先制御部202は、メモリ106に格納された実施端末優先度とCTS送信範囲閾値を比較する。端末Fに優先CTSを送信した時点において、実施端末優先度は3であり、CTS優先制御部202は、実施端末優先度とCTS送信範囲閾値とが等しいと判定する。本結果により、CTS優先制御部202は、処理を終了する。
以上説明したように、本発明の実施の形態3にかかる優先CTSを送信すべき無線通信端末を判定する際の処理の流れを実行することによって、スループットの低い無線通信端末へ、順番に通信機会を与えることができる。そのため、複数の無線通信端末におけるスループットを平準化させることができる。
(実施の形態4)
続いて、図10を用いて本発明の実施の形態4にかかる優先CTSを送信すべき無線通信端末を判定する際の処理の流れについて説明する。本実施の形態においては、アクセスポイント110は、ある無線通信端末から送信されたRTSを受信した際、他の無線通信端末から送信されるRTSを待つ。その後、アクセスポイント110は、2端末の「優先値」を比較して「優先値」が小さい端末から先にCTSを送信する。実施の形態2及び3においては、CTS優先制御部202が、無線通信端末間のスループットの格差が生じたことをきっかけに優先CTSを送信すべき端末を判定する動作を開始する。本実施の形態においては、無線通信端末から送信されたRTSを受信した際に、他の無線通信端末から送信されたRTSを受信することによって、CTSをどちらに先に送信すべきかを判定する動作を開始する。
はじめに、無線通信部103は、無線通信端末から送信されたRTSを受信する(S50)。ここでは、無線通信部103は、無線通信端末aから送信されたRTSを受信したとする。次に、CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを参照し、RTSを送信してきた無線通信端末aの「スループット」の値を取得する。CTS優先制御部202は、無線通信端末aの「スループット」が任意に設定した閾値以上か否かを判定する(S51)。
CTS優先制御部202は、無線通信端末aの「スループット」が閾値以上である場合、別の無線通信端末からRTSが送信されてくるのを一定時間待ち続ける(S52)。
次に、CTS優先制御部202は、無線通信部103が一定時間の間に、無線通信端末aと異なる他の無線通信端末から送信されたRTSを受信したか否かを判定する(S53)。CTS優先制御部202は、無線通信部103が一定時間の間に、無線通信端末bから送信されたRTSを受信した場合、無線通信端末aの「スループット」と、無線通信端末bの「スループット」とを比較する(S54)。無線通信端末a及び無線通信端末bの「スループット」は、メモリ106に格納された端末スループット管理テーブルにおいて管理されている。
無線通信端末bの「スループット」の方が無線通信端末aの「スループット」より小さい場合、無線通信端末bの方が通信速度の遅い無線通信端末もしくは通信機会が少ない無線通信端末とみなすことができる。そのため、通信制御部102は、無線通信端末bへCTSを送信するよう無線通信部103へ指示し、無線通信部103は、無線通信端末bへCTSを送信する(S55)。
無線通信端末bがデータフレームを送信する間、他の無線通信端末は中継装置101と通信をすることが不可能である。そのため、通信制御部102は、無線通信端末bがデータフレームを送信完了し、アクセスポイント110がAckを返信するまで、次の処理を行わないようにする(S56)。
次に、通信制御部102は、無線通信端末aのデータ通信が完了すると、無線通信部103を介して無線通信端末aに対してCTSを送信する(S57)。次に、無線通信部103は、無線通信端末bのRTSに対する応答として、無線通信端末bへCTSを送信したか否かを判定する(S58)。無線通信部103は、無線通信端末bへCTSを送信したと判定した場合、処理を終了する。
無線通信部103は、無線通信端末bへCTSを送信していないと判定した場合、無線通信端末bへCTSを送信する(S59)。
また、ステップS51において、無線通信端末aのスループットが閾値以上である場合、ステップS53において、無線通信端末bから送信されたRTSを受信していない場合、及び、ステップS54において無線通信端末bのスループットが、無線通信端末a以下である場合、ステップS57以降の処理を実行する。ここで、無線通信端末bは、無線通信端末aとは異なる無線通信端末であることを示す。
ここで、図10の処理の流れについて、図4の端末スループット管理テーブルに設定されている具体的な値を用いて説明する。
ここでは、図10のステップS50において、端末Aから送信されたRTSを受信し、ステップS53において、端末Bから送信されたRTSを受信する、とする。ステップS50においてRTSを送信してきた端末Aの「スループット」は、0.6Mbpsである。ステップS51において、CTS優先制御部202は、端末Aのスループットである0.6Mbpsが閾値以上か否かを判定する。閾値は任意に設定可能である。閾値は、例えば端末スループット管理テーブルにある無線通信端末のスループット平均値等であってもよい。ここでは、閾値を0.41Mbpsと仮定する。
CTS優先制御部202は、端末Aの「スループット」が、閾値以上であると判定し、ステップS52において、別の無線通信端末からRTSが送信されるのを待つ。CTS優先制御部202は、一定時間、例えば100ms、待機中に無線通信部103がどの無線通信端末からもRTSを受信しなかった場合、通信制御部102は、端末AにCTSを送信するよう無線通信部103へ通知する。
一定時間待機中に無線通信部103が他の無線通信端末、例えば、端末BからRTSを受信した場合、CTS優先制御部202は、ステップS54において、端末Aと端末Bの「スループット」の大小を比較する。スループットの小さい無線通信端末は単位時間あたりに送信できるデータ量の少ない無線通信端末であり、通信を優先した方がよい無線通信端末だと考えられる。図4において端末Aの「スループット」は0.6Mbpsであり、端末Bの「スループット」は0.1Mbpsであるため、CTS優先制御部202は、端末Bの方がスループットの小さい無線通信端末であると判定する。
ステップS55において、CTS優先制御部202は、端末BへCTSを送信するよう通信制御部102へ通知する。無線通信部103が端末BへCTSを送信後、端末Bのデータ通信が終了するまで他の無線通信端末は通信できないため、アクセスポイント110は待機する。端末Bのデータ通信が終了し、無線通信部103が端末BへAckを送信後、通信制御部102は、無線通信部103を介して端末A宛てにCTSを送信する。
上記の説明においては、ステップS54における比較判定用パラメータに無線通信端末のスループットを使用しているが、CTS優先端末テーブルの「優先値」を使用してもよい。
以上説明したように、図10の優先CTSを送信すべき無線通信端末を判定する際の処理を実行することによって、一定時間内に受信したRTSに対して、スループットの低い無線通信端末へ、優先的にCTSを送信することができる。これによって、スループットの低い無線通信端末は、優先的に通信を実行することができる。そのため、複数の無線通信端末において、スループットの平準化を行うことができる。
また、図10においては、2つの無線通信端末のスループットを比較する処理について説明したが、3つ以上の無線通信端末のスループットを比較してもよい。つまり、一定時間内に、3つ以上の無線通信端末からRTS送信された場合、RTSを送信してきた3つ以上の無線通信端末のスループットを比較してもよい。この場合、通信制御部102は、スループットが最も低い無線通信端末へCTSを送信してもよく、スループットが低い順に複数の無線通信端末へCTSを送信してもよい。
(実施の形態5)
続いて、図11を用いて本発明の実施の形態5にかかる優先CTSを送信すべき無線通信端末を判定する際の処理の流れについて説明する。本実施の形態においては、2台の無線通信端末から送信されたRTSを受信した際に、優先CTSの送信履歴の有無によって先にCTSを送信する無線通信端末を決定する。
はじめに、無線通信部103は、無線通信端末aから送信されたRTSを受信する(S60)。次に、CTS優先制御部202は、メモリ106に格納された端末スループット管理テーブルを参照し、無線通信端末aに対するCTS優先送信履歴があるか否かを判定する(S61)。
CTS優先制御部202は、無線通信端末aに対するCTS優先送信履歴があると判定した場合、別の無線通信端末がRTSを送信してくるのを一定時間の間待つ状態となる(S62)。次に、CTS優先制御部202は、一定時間の間に、別の無線通信端末bからRTSが送信されてきたかを判定する(S63)。
CTS優先制御部202は、無線通信端末bから送信されたRTSを受信した場合、メモリ106に格納された端末スループット管理テーブルを参照し、無線通信端末bの「優先値」を取得する。CTS優先制御部202は、無線通信端末bの「優先値」が任意の閾値より小さいか否かを判定する(S64)。
CTS優先制御部202は、無線通信端末bの「優先値」が、任意の閾値よりも小さい場合、通信制御部102へ、無線通信端末bへ、CTSを送信するよう通知する。通信制御部102は、無線通信部103を介して、CTSを無線通信端末bへ送信する(S65)。
無線通信端末bがデータフレームを送信する間、他の無線通信端末はアクセスポイント110に対して通信をすることが不可能である。そのため、通信制御部102は、無線通信端末bがデータフレームを送信完了し、アクセスポイント110がAckを返信するまで待つ(S66)。
ステップS67〜ステップS69は、ステップS57〜ステップS59と同様であるため詳細な説明を省略する。
また、ステップS61において、無線通信端末aに対するCTS優先送信履歴ない場合、ステップS63において、無線通信端末bからRTSが送信されてこない場合、及び、無線通信端末bの「優先度」の数値が、閾値よりも大きい場合、ステップS67以降の処理を実行する。
ここで、図11の処理の流れについて、図4の端末スループット管理テーブル及び図5のCTS優先端末テーブルに設定されている具体的な値を用いて説明する。
ここでは、図11のステップS60において、端末Bから送信されたRTSを受信し、ステップS63において、端末Eから送信されたRTSを受信する、とする。ステップS60において、無線通信部103が、端末Bから送信されたRTSを受信した後、CTS優先制御部202は、CTS優先端末テーブルを用いて、端末Bに対するCTS優先送信履歴があるか検索する。
CTS優先送信履歴の存在する無線通信端末は、図8等の動作フローの優先CTSを送信すべき無線通信端末を判定する処理において、最も優先度の高い端末として判定されたということである。そのためCTS優先送信履歴の存在する無線通信端末は、通信を優先させるべきである。しかし、すでに優先CTSの送信が実施されている場合、別の優先度の高い無線通信端末の通信を優先させた方がよりネットワーク内のスループット平準化を推進することとなる。
図5においては、端末Bには、CTS優先送信履歴が存在するため、CTS優先制御部202は、別の無線通信端末から送信されるRTSを待つ。通信制御部102は、一定時間、例えば100ms、待機中に無線通信部103がどの無線通信端末からもRTSを受信しなかった場合、端末AにCTSを送信するよう無線通信部103へ通知する。
ステップS63において、一定時間待機中に無線通信部103が他の無線通信端末(たとえば、端末E)からRTSを受信した場合、CTS優先制御部202は、ステップS64において、端末Eの「優先値」をCTS優先端末テーブルより参照し、任意の閾値以上であるか比較する。閾値は任意に設定することができ、例えばCTS優先端末テーブル内の端末数の半分の数値等が考えられる。ここでは、閾値を3とする。端末Eの「優先値」は2であり、CTS優先制御部202は、端末Eの「優先値」は、閾値より小さいと判定する。
ステップS65において、CTS優先制御部202は、端末EへCTSを送信するよう通信制御部102へ通知する。無線通信部103が端末EへCTSを送信後、端末Eのデータ通信が終了するまで他の無線通信端末は通信できない。そのため、通信制御部102は待機する。端末Eのデータ通信が終了し、無線通信部103が端末EへAckを送信後、ステップS67において、通信制御部102は、無線通信部103を介して、端末B宛てにCTSを送信する。
以上説明したように、本発明の実施の形態5にかかる優先CTSを送信すべき無線通信端末を判定する際の処理を実行することによって、過去に優先CTSを送信したことがある無線通信端末以外の無線通信端末へCTSを送信することができる。これによって、CTSを送信する無線通信端末を分散することができる。そのため、複数の無線通信端末において、スループットの平準化を行うことができる。
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、図7〜図11における処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。)
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。