以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る端末の構成を示す機能ブロック図である。
端末10は、無線送受信部11と、干渉検出部12と、周波数チャネル優先制御部13とを備える。
無線送受信部11は、後述する優先度に従い、複数の周波数チャネルから選択した周波数チャネルを用いて信号の送受信を行う。干渉検出部12は、周波数チャネル毎に、当該周波数チャネルを用いて信号の送受信を行った際に、干渉を受けるか否かを判定する。周波数チャネル優先制御部13は、無線送受信部11において前記信号を送受信する際に用いる優先度を、干渉検出部12の判定結果に応じて変更する。
図2は、本発明の実施の形態1に係る制御装置の構成を示す機能ブロック図である。
制御装置20は、無線送受信部21と、干渉検出部22と、周波数チャネル決定部23と、ビーコン作成部24とを備える。
無線送受信部21は、複数の周波数チャネルから選択した周波数チャネルを用いて信号の送受信を行う。干渉検出部22は、周波数チャネル毎に干渉を受けるか否かを判定する。周波数チャネル決定部23は、干渉検出部22の判定結果に応じて無線送受信部21が信号の送受信を行う周波数チャネルを決定する。ビーコン作成部24は、周波数チャネル決定部23が決定した信号の送受信を行う周波数チャネルの情報を含む期間的に送受信するビーコンフレームを作成する。
図3は、本発明の実施の形態1に係る無線通信システムの一例を示すネットワーク構成図である。図3において、無線通信システムは、無線ネットワークを制御する制御装置20と、制御装置20の制御により制御装置20との間で無線通信を行う端末10の機能を有する端末10A〜10Dとを備える。
制御装置20は、無線ネットワークを制御するために無線ネットワークの制御情報を含むビーコンフレームを周期的に送信する。
図4は、ビーコンフレームを送信する期間を時系列で表した模式図である。最も大きな期間はスーパーフレーム期間で、スーパーフレーム期間は制御装置20がビーコンフレームを送信する期間単位としてビーコン期間に分割される。図4においては1つのスーパーフレーム期間に5つのビーコン期間を設けている。図4では、スーパーフレーム期間の構成を時系列に示す。制御装置20及び端末10A〜10Dは、複数の周波数チャネルを切り替えながら無線通信を行うことが可能であり、ビーコン期間単位で周波数チャネルを切り替えながら通信を行っている。ここで、スーパーフレーム期間とは、同じ周波数チャネルにおいて、あるビーコンフレームの送信時から次のビーコンフレーム送信時までの期間のことである。つまり、周波数ホッピングパターンの一周期のことである。
図5は、ビーコン期間単位で周波数チャネルを切り替えた時のビーコン期間のチャネル配置を表した模式図である。
図5において、制御装置20は、スーパーフレーム期間内のビーコン期間BI1に周波数チャネルCH1を割り当て、無線通信期間100を配置している。同様に、制御装置20は、ビーコン期間BI2に周波数チャネルCH2を割り当てて無線通信期間101を、ビーコン期間BI3には周波数チャネルCH3を割り当てて無線通信期間102を、ビーコン期間BI4には周波数チャネルCH4を割り当てて無線通信期間103を、ビーコン期間BI5には周波数チャネルCH5を割り当てて無線通信期間104を、それぞれ配置している。
スーパーフレーム期間が終了し、次のスーパーフレーム期間になると、制御装置20は、再びビーコン期間BI1に周波数チャネルCH1を割り当て、無線通信期間105を配置し、ビーコン期間BI2に周波数チャネルCH2を割り当て、無線通信期間106を配置している。以降、スーパーフレーム期間ごとに同じ周波数チャネル割り当てを繰り返す。
図6は、ビーコン期間の構成を表した模式図である。ビーコン期間内では制御装置20が最初に無線ネットワークの制御情報を含むビーコンフレームを送信する。その後に、ビーコン期間にはアクセス期間を設けている。このアクセス期間内に制御装置20を含む無線端末は無線通信を行うことができる。以下、このアクセス期間内において各無線端末はCSMA(キャリアセンス多元接続)により無線通信を行うものとして説明する。なお、無線アクセス方式としてはCSMAに限定するものではなく、ALOHAやTDMA(時分割多元接続)など他の無線アクセス方式を用いてもよい。
図5において、例えば、端末10Aが周波数チャネルCH1で通信する場合には、端末10Aはビーコン期間BI1のみで起動する。すなわち端末10Aは、無線通信期間100の次は無線通信期間105内のアクセス期間においてCSMAで通信し、無線通信期間100と無線通信期間105の間の期間(無線通信期間102〜104)は無線通信を行わない。このため、端末10Aは、非アクティブ期間と同様、無線通信に必要な機能ブロックの消費電力を最低限に抑えることが可能となる。
図7は、アクセス期間において、各無線端末が送信する無線フレームのフォーマットを示す図である。無線フレーム110は、PHYヘッダ111と、MACヘッダ112と、ペイロード113と、ECC(誤り検出符号)114とから構成される。
PHYヘッダ111は、ビット同期符号やフレーム同期符号など無線信号の復調に必要な符号により構成される。MACヘッダ112は、フレーム種別やアドレス情報により構成される。ペイロード113は、通信相手先に送信する情報である。ECC114は、無線フレーム110が正常に伝送されたか否かを検出するための符号である。
また、MACヘッダ112は、図8に示すように、フレームの種別などを示すフレーム制御116、宛先無線端末アドレス117、送信元無線端末アドレス118より構成される。フレーム種別としては、無線端末間でデータの送受信を行うデータフレーム、データフレームなどが正常に受信されたことに対する応答であるACKフレーム、制御装置20が無線ネットワーク内の端末10に制御情報を送信するためのビーコンフレームなどがある。
以上のように構成された無線ネットワークにおいて、制御装置20と端末10A〜10Dとの間で無線通信を行う方法について説明する。
図9に、制御装置20の初期処理フローの一例を示す。
制御装置20は起動すると、最初に各周波数チャネルにおける干渉を測定する(S1)。
つまり、制御装置20の無線送受信部21は、周波数チャネルCH1からCH5までを予め決められた時間だけスキャンする。無線送受信部21は、受信した信号を干渉検出部22に渡す。
干渉検出部22は干渉の検出を行う。ここでは干渉の影響がないか電力測定などを行うことで、使用可能な周波数チャネルであるか判定する。ここでは、干渉検出部22は周波数チャネルCH1からCH5は干渉がないと判定したとする。
次に、制御装置20の周波数チャネル決定部23は、干渉検出部22の判定結果を用いて、スーパーフレーム期間内のビーコン期間の周波数チャネルを決定する(S2)。
ここでは、周波数チャネルCH1からCH5まで干渉がないので図5に示すチャネル配置でスーパーフレームを構成するとする。
図10に、制御装置20のビーコン期間切り替え処理フローの一例を示す。
制御装置20の周波数チャネル決定部23は、初期処理が終了すると、決定した周波数チャネルの情報を無線送受信部21とビーコン作成部24に渡す。
無線送受信部21は、周波数チャネル決定部23から周波数チャネルの情報を受けると、周波数チャネルを、スーパーフレーム期間の先頭のビーコン期間の周波数チャネルCH1に切り替える。
無線送受信部21による周波数チャネルの切り替えが完了すると、ビーコン作成部24は、あらかじめ周波数チャネル決定部23から受けた周波数チャネル情報を含むビーコンフレームを作成し、作成したビーコンフレームを無線送受信部21を介して無線ネットワークに送信する(S11)。
次に、無線送受信部21はビーコン期間が終了するまでCH1を用いてデータの送受信を行う(S12:NO)。
無線送受信部21はビーコン期間が終了すると、次のビーコン期間の周波数チャネルCH2に切り替える(S13)。
無線送受信部21の周波数チャネルの切り替えが終了すると、ビーコン作成部24は、あらかじめ周波数チャネル決定部23から受けた周波数チャネル情報を含むビーコンフレームを作成し、作成したビーコンフレームを無線送受信部21を介して無線ネットワークに送信する(S11)。
図11に、ビーコンフレームのペイロードのフォーマットを示す。
ビーコンフレームのペイロード120は、スーパーフレーム期間121、ビーコン期間122、ビーコン期間数123、チャネル使用順序124により構成される。スーパーフレーム期間121及びビーコン期間122は、図4及び図5で説明したスーパーフレーム期間及びビーコン期間を特定するための情報である。
図12は、チャネル使用順序124の構成の一例を示す図である。チャネル使用順序124には、チャネル使用順序の最初にビーコン期間番号BNが配置され、以降、ビーコン期間単位で使用する周波数チャネルが順番に並べられている。図12に示す例では、ビーコン期間数は5で、周波数チャネルは、CH1、CH2、CH3、CH4、CH5の順に使用される。ここで、ビーコン期間番号BNが1である場合には、現在のビーコン期間で使用している周波数チャネルはCH1であること示しており、次のビーコン期間で使用する周波数チャネルはCH2、その次のビーコン期間で使用する周波数チャネルはCH3であることがわかる。同様に、ビーコン期間番号BNが2である場合には、現在のビーコン期間で使用している周波数チャネルはCH2であり、次のビーコン期間で使用する周波数チャネルはCH3、その次のビーコン期間で使用する周波数チャネルはCH4であることがわかる。
図13に、端末10の初期処理フローの一例を示す。
端末10は起動すると、最初にビーコンフレームのスキャンを開始し、ビーコンフレームを受信するとペイロードを解析し、解析結果を記憶する(S21)。
次に、各周波数チャネルにおける干渉を測定する(S22)。
端末10の無線送受信部11は、周波数チャネルCH1からCH5までを予め決められた時間だけスキャンする。無線送受信部11は受信した信号を干渉検出部12に渡す。
干渉検出部12は干渉の検出を行う。ここでは干渉の影響がないか電力測定などを行うことで、使用可能な周波数チャネルであるか判定する。
次に、端末10の周波数チャネル優先制御部13は干渉検出部12の判定結果を記憶する(S23)。
図14に、端末10のデータ送信処理フローの一例を示す。
端末10は、送信データが非図示の上位層から入力されると送信データを無線送受信部11に入力する(S31:YES)。
周波数チャネル優先制御部13は、無線送受信部11へのデータの入力を検出すると、現ビーコン期間の周波数チャネルで干渉が発生しているか確認する。ここでは、初期処理で記憶した干渉の判定結果を用いて上記確認をする(S32)。
周波数チャネル優先制御部13は、現周波数チャネルで干渉が発生していると判定した場合には(S32:YES)、バックオフの値を127〜64の間でランダムに設定する(S33)。
周波数チャネル優先制御部13は、現周波数チャネルで干渉が発生していないと判定すると(S32:NO)、次に、初期処理で記憶した干渉の判定結果を用いて、干渉がない周波数チャネルの数を確認する。ここでは、本システムでサポートする周波数チャネルの総数はCH1〜CH5の5個とする。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が5個の場合(S34:YES)、バックオフの値を63〜32の間でランダムに設定する(S35)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が4個の場合(S36:YES)、バックオフの値を31〜16の間でランダムに設定する(S37)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が3個の場合(S38:YES)、バックオフの値を15〜8の間でランダムに設定する(S39)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が2個の場合(S40:YES)、バックオフの値を7〜4の間でランダムに設定する(S41)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が1個の場合(S40:NO)、バックオフの値を3〜0の間でランダムに設定する(S42)。
次に、周波数チャネル優先制御部13は設定されたバックオフの値でバックオフタイマーの動作を開始させる(S43)。
周波数チャネル優先制御部13はバックオフタイマーの動作が終了すると無線送受信部11に通知する(S44:YES)。
無線送受信部11はバックオフタイマーの終了の通知を受けると送信データを送信する(S45)。
つまり、本実施の形態では、無線送受信部11において信号を送受信する際に用いる優先度は、バックオフ時間(バックオフの値)の最大値または最小値を示す。ここでバックオフ時間とは、使用する周波数チャネルが空き状態になり通信可能となった時点から送信を開始するまでの待機時間である。なお、バックオフ時間はこれに限定するものではなく例えば、複数端末から成る各グループに対してそれぞれ通信期間を割り当てるような無線アクセス方式を用いる場合は、通信期間の開始時刻からの送信を開始するまでの待機時間であってもよい。
また、周波数チャネル優先制御部13は、干渉検出部12で干渉が検出されなかった周波数チャネルの数が多いほど、バックオフ時間の最大値または最小値が大きくなるように優先度を設定する。
なお、干渉検出部12で干渉が検出された周波数チャネルを用いて信号の送受信を行う場合のバックオフ時間の最大値または最小値は、干渉が検出されなかった場合に設定され得る周波数チャネルを用いて信号の送受信を行う場合のバックオフ時間の最大値または最小値よりも大きい。
好ましくは、干渉検出部12で干渉が検出された周波数チャネルを用いて信号の送受信を行う場合のバックオフ時間の最小値は、干渉が検出されなかった場合に設定され得る周波数チャネルを用いて信号の送受信を行う場合のバックオフ時間の最大値よりも大きい。
図15に、端末10の無線送受信部11の内部ブロック図を示す。
無線送受信部11は、送信バッファ11Aと、フレーム処理部11Bと、変復調部11Cと、周波数チャネル設定部11Dと、ビーコン解析部11Eとを備える。
送信バッファ11Aは、送信データを一時蓄積する。フレーム処理部11Bは、送信バッファ11Aから出力された送信データに無線ヘッダ情報などを設定する。変復調部11Cは、設定された周波数チャネルにおいて、アンテナから入力されるフレームの復調と無線ネットワークに出力するフレームに対する変調とを行う。周波数チャネル設定部11Dは、変復調部11Cがフレームを送受信する際に用いる周波数チャネルを設定する。ビーコン解析部11Eは、制御装置20から受信したビーコンフレームのペイロードを解析する。
図16に、端末10の周波数チャネル優先制御部13の内部ブロック図を示す。
周波数チャネル優先制御部13は、干渉管理部13Aと、干渉周波数チャネル数バックオフ管理部13Bと、バックオフ制御部13Cと、バックオフタイマー13Dとを備える。
干渉管理部13Aは、干渉検出部12から入力された周波数チャネルCH1からCH5の干渉の有無を記憶する。干渉周波数チャネル数バックオフ管理部13Bは、干渉検出部12で干渉が検出されなかった周波数チャネルの数と送信データの送信を開始するまでの待機時間であるバックオフ時間を関連付けて管理する。バックオフ制御部13Cは、干渉管理部13Aと干渉周波数チャネル数バックオフ管理部13Bの情報を用いて送信データのバックオフ時間を決定する。バックオフタイマー13Dは、バックオフ制御部13Cから設定された値で動作するタイマーである。
図17A〜図17Dに、干渉管理部13Aが記憶する周波数チャネルCH1からCH5の干渉の有無を示す干渉テーブルの一例を示す。
干渉テーブルには、各周波数チャネルにおける干渉を有無を示す情報と干渉がない周波数チャネルの数が記憶されている。
図17Aは、図3の端末10Aの干渉管理部13Aが記憶する干渉テーブルの一例を示す。
端末10Aでは、周波数チャネルCH2に干渉が発生しているので、干渉管理部13Aが記憶する干渉テーブルは図17Aに示すようになる。
図17Bは、図3の端末10Bの干渉管理部13Aが記憶する干渉テーブルの一例を示す。
端末10Bでは、周波数チャネルCH2とCH4に干渉が発生しているので干渉管理部13Aが記憶する干渉テーブルは図17Bに示すようになる。
図17Cは、図3の端末10Cの干渉管理部13Aが記憶する干渉テーブルの一例を示す。
端末10Cでは、周波数チャネルCH1、CH3、CH4に干渉が発生しているので干渉管理部13Aが記憶する干渉テーブルは図17Cに示すようになる。
図17Dは、図3の端末10Dの干渉管理部13Aが記憶する干渉テーブルの一例を示す。
端末10Dでは、周波数チャネルCH1、CH2、CH4、CH5に干渉が発生しているので干渉管理部13Aが記憶する干渉テーブルは図17Dに示すようになる。
図18Aおよび図18Bに干渉周波数チャネル数バックオフ管理部13Bが記憶する干渉が検出されなかった周波数チャネルの数と送信データの送信を開始するまでの待機時間であるバックオフ時間を示すバックオフテーブルの一例を示す。
図18Aは現ビーコン期間が干渉している周波数チャネルの場合に設定するバックオフの値を記憶したバックオフテーブルの一例である。このバックオフテーブルによると、現ビーコン期間が干渉している周波数チャネルの場合には、バックオフの値は64〜127の間でランダムに設定される。
図18Bは現ビーコン期間が干渉している周波数チャネルでない場合に干渉がない周波数チャネルの数に応じたバックオフの値を記憶したバックオフテーブルの一例である。このバックオフテーブルによると、干渉がない周波数チャネルの数が5個の場合、バックオフの値は32〜63の間でランダムに設定される。
図19に本発明の送信データバックオフ制御の一例を示す。
図3のシステムにおいて、制御装置20は、図5に示した周波数チャネル切り替えを行うものとする。
図19を参照して、ここでは、無線通信期間102の周波数チャネルCH3を用いたデータ送受信時に、端末10Aでは時刻T1に、端末10Dでは時刻T2に、それぞれデータが発生したとする。
端末10Aは、送信データが発生すると送信データを送信バッファ11Aに一時蓄積する。
端末10Aのバックオフ制御部13Cは、送信バッファ11Aに送信データが蓄積されると、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルの情報を取得する。
バックオフ制御部13Cは、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルCH3の情報を取得すると、取得した情報と干渉管理部13Aが記憶している図17Aに示す干渉テーブルの情報とを比較して現ビーコン期間では干渉が発生していないことを確認する。
次に、バックオフ制御部13Cは現ビーコン期間では干渉が発生していないことを確認する干渉テーブルから干渉がない周波数チャネルの数を取得し、取得した周波数チャネルの数と干渉周波数チャネル数バックオフ管理部13Bが記憶している図18Bのバックオフテーブルの情報とを比較する。
端末10Aでは干渉がない周波数チャネルの数が4個である。このため、バックオフ制御部13Cは、図18Bのバックオフテーブルからバックオフの値16〜31を取得する。
バックオフ制御部13Cはバックオフの値を16〜31の間でランダムに設定し、バックオフタイマー13Dの動作を開始させる。ここではバックオフの値を24に決定したとする。
端末10Dは送信データが発生すると送信データを送信バッファ11Aに一時蓄積する。
端末10Dのバックオフ制御部13Cは、送信バッファ11Aに送信データが蓄積されると、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルの情報を取得する。
バックオフ制御部13Cは、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルCH3の情報を取得すると、取得した情報と干渉管理部13Aが記憶している図17Dに示す干渉テーブルの情報とを比較して現ビーコン期間では干渉が発生していないことを確認する。
次に、バックオフ制御部13Cは現ビーコン期間では干渉が発生していないことを確認する干渉テーブルから干渉がない周波数チャネルの数を取得し、取得した周波数チャネルの数と干渉周波数チャネル数バックオフ管理部13Bが記憶している図18Bのバックオフテーブルの情報とを比較する。
端末10Dでは干渉がない周波数チャネルの数が1個である。このため、バックオフ制御部13Cは、図18Bのバックオフテーブルからバックオフの値0〜3を取得する。
バックオフ制御部13Cはバックオフの値を0〜3の間でランダムに設定し、バックオフタイマー13Dの動作を開始させる。ここではバックオフの値を2に決定したとする。
端末10Dのバックオフタイマー13Dは時刻T3でバックオフが終了すると送信バッファ11Aにバックオフが終了したこと通知する。
送信バッファ11Aはバックオフタイマー13Dからバックオフの終了通知を受けると、送信データをフレーム処理部11Bに渡す。
端末10Dのフレーム処理部11Bは、送信データにMACヘッダとECCを付加して変復調部11Cに渡す。
端末10Dの変復調部11Cは、送信データにPHYヘッダを付加して周波数チャネルCH3を用いてデータを送信する。
端末10Aは、時刻T3において端末10Dがデータを検出するとバックオフを中断する。また、端末10Aは、端末10Dがデータの送信が完了して一定期間経過した時刻T4にバックオフを再開する。
端末10Aのバックオフタイマー13Dは、バックオフが終了すると送信バッファ11Aにバックオフが終了したこと通知する。
送信バッファ11Aはバックオフタイマー13Dからバックオフの終了通知を受けると、送信データをフレーム処理部11Bに渡す。
端末10Aのフレーム処理部11Bは、送信データにMACヘッダとECCを付加して変復調部11Cに渡す。
端末10Aの変復調部11Cは、送信データにPHYヘッダを付加して周波数チャネルCH3を用いてデータを送信する。
図20に本発明の送信データバックオフ制御の他の一例を示す。
ここでは、無線通信期間105の周波数チャネルCH1を用いたデータ送受信時に端末10Aでは時刻T2、端末10Bでは時刻T3、端末10Cでは時刻T1に、それぞれデータが発生したとする。
端末10Cは送信データが発生すると送信データを送信バッファ11Aに一時蓄積する。
端末10Cのバックオフ制御部13Cは、送信バッファ11Aに送信データが蓄積されると、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルの情報を取得する。
バックオフ制御部13Cは、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルCH1の情報を取得すると、取得した情報と干渉管理部13Aが記憶している図17Aに示す干渉テーブルの情報とを比較して現ビーコン期間で干渉が発生していることを確認する。
次に、バックオフ制御部13Cは現ビーコン期間で干渉が発生していることを確認すると、干渉周波数チャネル数バックオフ管理部13Bが記憶している図18Aのバックオフテーブルの情報を参照する。
端末10Cは、図18Aのバックオフテーブルからバックオフの値64〜127を取得する。
バックオフ制御部13Cは、バックオフの値を64〜127の間でランダムに設定し、バックオフタイマー13Dの動作を開始させる。ここではバックオフの値を100に決定したとする。
端末10Aは送信データが発生すると送信データを送信バッファ11Aに一時蓄積する。
端末10Aのバックオフ制御部13Cは、送信バッファ11Aに送信データが蓄積されると、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルの情報を取得する。
バックオフ制御部13Cは、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルCH1の情報を取得すると、取得した情報と干渉管理部13Aが記憶している図17Aに示す干渉テーブルの情報とを比較して現ビーコン期間では干渉が発生していないことを確認する。
次に、バックオフ制御部13Cは現ビーコン期間では干渉が発生していないことを確認する干渉テーブルから干渉がない周波数チャネルの数を取得し、取得した周波数チャネルの数と干渉周波数チャネル数バックオフ管理部13Bが記憶している図18Bのバックオフテーブルの情報とを比較する。
端末10Aでは干渉がない周波数チャネルの数が4個である。このため、バックオフ制御部13Cは、図18Bのバックオフテーブルからバックオフの値16〜31を取得する。
バックオフ制御部13Cはバックオフの値を16〜31の間でランダムに設定し、バックオフタイマー13Dの動作を開始させる。ここではバックオフの値を17に決定したとする。
端末10Bは送信データが発生すると送信データを送信バッファ11Aに一時蓄積する。
端末10Bのバックオフ制御部13Cは、送信バッファ11Aに送信データが蓄積されると、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルの情報を取得する。
バックオフ制御部13Cは、周波数チャネル設定部11Dから現ビーコン期間の周波数チャネルCH1の情報を取得すると、取得した情報と干渉管理部13Aが記憶している図17Bに示す干渉テーブルの情報とを比較して現ビーコン期間では干渉が発生していないことを確認する。
次に、バックオフ制御部13Cは現ビーコン期間では干渉が発生していないことを確認する干渉テーブルから干渉がない周波数チャネルの数を取得し、取得した周波数チャネルの数と干渉周波数チャネル数バックオフ管理部13Bが記憶している図18Bのバックオフテーブルの情報とを比較する。
端末10Bでは干渉がない周波数チャネルの数が3個である。このため、バックオフ制御部13Cは、図18Bのバックオフテーブルからバックオフの値8〜15を取得する。
バックオフ制御部13Cはバックオフの値を8〜15の間でランダムに設定し、バックオフタイマー13Dの動作を開始させる。ここではバックオフの値を8に決定したとする。
端末10Bのバックオフタイマー13Dは、時刻T4でバックオフが終了すると、送信バッファ11Aにバックオフが終了したこと通知する。
送信バッファ11Aはバックオフタイマー13Dからバックオフの終了通知を受けると、送信データをフレーム処理部11Bに渡す。
端末10Bのフレーム処理部11Bは送信データにMACヘッダとECCを付加して変復調部11Cに渡す。
端末10Bの変復調部11Cは送信データにPHYヘッダを付加して周波数チャネルCH1を用いてデータを送信する。
端末10Aと端末10Cは時刻T4で端末10Bがデータを検出するとバックオフを中断する。また、端末10Aと端末10Cは、端末10Bがデータの送信が完了して一定期間経過した時刻T5にバックオフを再開する。
端末10Aのバックオフタイマー13Dはバックオフが終了すると送信バッファ11Aにバックオフが終了したこと通知する。
送信バッファ11Aはバックオフタイマー13Dからバックオフの終了通知を受けると、送信データをフレーム処理部11Bに渡す。
端末10Aのフレーム処理部11Bは送信データにMACヘッダとECCを付加して変復調部11Cに渡す。
端末10Aの変復調部11Cは送信データにPHYヘッダを付加して周波数チャネルCH1を用いてデータを送信する。
端末10Cは時刻T6で端末10Aがデータを検出するとバックオフを中断し、端末10Aがデータの送信が完了して一定期間経過した時刻T7にバックオフを再開する。
端末10Cのバックオフタイマー13Dはバックオフが終了すると送信バッファ11Aにバックオフが終了したこと通知する。
送信バッファ11Aはバックオフタイマー13Dからバックオフの終了通知を受けると、送信データをフレーム処理部11Bに渡す。
端末10Cのフレーム処理部11Bは送信データにMACヘッダとECCを付加して変復調部11Cに渡す。
端末10Cの変復調部11Cは送信データにPHYヘッダを付加して周波数チャネルCH1を用いてデータを送信する。
以上説明したように本実施の形態のバックオフ制御では、端末が周波数チャネルによって異なるバックオフの値を設定することが可能となり、システム全体の通信効率の低下を防ぐ効果が得られる。例えば、端末10Dにおいて周波数チャネルCH3ではバックオフの値を0から3、それ以外の周波数チャネルでは64から127とする。
また、干渉が検出されなかった周波数チャネルの数が多いほど、バックオフ時間の最大値を大きくすることにより、干渉が検出されなかった周波数チャネルの数が少ない端末からの送信データの送信機会を増やすことが可能になる。
例えば、干渉を検出しない周波数チャネルの数が1つ(CH3)の端末10Dは、CH3を用いてデータが送信できないと次のスーパーフレーム期間のCH3まで伝送遅延が発生する可能性が高い。しかし、本実施の形態のバックオフ制御を適用することにより端末10Dのバックオフ時間の最大値を他の端末に比べ小さくすることより送信機会を増やすことができる。これにより、伝送遅延を大幅に低減することが可能となる。干渉を検出しない周波数チャネルの数が4つの端末10Aは、周波数チャネルCH3を用いて送信ができなくても、次のビーコン期間の周波数チャネルCH4も干渉を検出しない周波数チャネルである。このため、CH4を用いてデータを送信することによりシステム全体の通信効率低下を回避することが可能になる。
また、本実施の形態のバックオフ制御では、端末において干渉が検出された周波数チャネルを用いてデータの送信を行う場合のバックオフ時間の最大値は、干渉が検出されなかった場合に設定され得るバックオフ時間の最大値よりも大きくする。これにより、干渉を検出していない他の端末の送信を優先することができ、システム全体の通信効率低下を防ぐ効果が得られる。
例えば、干渉を検出しない周波数チャネルの数が1つ(CH3)しかない端末10Dはバックオフ時間の最大値が3になり端末10A〜10Cより送信機会が高いが、周波数チャネルCH1、CH2、CH4、CH5では干渉を検出しているためデータの送信を行っても干渉によって送信が失敗する可能性が高い。また、端末10Dのバックオフ時間の最大値は、端末10A〜10Cのそれらより小さいため端末10A〜10Cの送信機会を減らす可能性が高い。しかし、本実施の形態のバックオフ制御を適用することにより、端末10Cは、干渉を検出した周波数チャネルCH1、CH2、CH4、CH5のビーコン期間でのバックオフ時間の最大値を、干渉を検出していない場合のバックオフ時間の最大値である63より大きくしている。これにより、干渉を検出していない端末10A〜10Cの送信を優先することが可能になる。また、端末10Dは、バックオフ制御を行うことにより、端末10A〜10Cがデータを検出しなければ送信を試みることが可能になる。
なお、本実施の形態では、干渉周波数チャネル数バックオフ管理部13Bは、図18Bに示されるバックオフテーブルを保持したがこれに限定されるものではない。例えば、図21に示す干渉を検出した周波数チャネルの数に応じたバックオフの値を記憶したバックオフテーブルを保持していても良い。
なお、本実施の形態では、干渉周波数チャネル数バックオフ管理部13Bは、図18Aおよび図18Bに示されるバックオフテーブルを保持したがこれに限定されるものではない。例えば図22Aおよび図22Bに示す全てのバックオフ時間の最小値が0であるバックオフの値を記憶したバックオフテーブルを保持していても良い。
なお、本実施の形態では、干渉周波数チャネル数バックオフ管理部13Bは、図18Bに示されるバックオフテーブルを保持したがこれに限定されるものではない。例えば図23に示す干渉検出なしの周波数チャネルの数が1から3個の場合はバックオフの値は0から3、干渉検出なしの周波数チャネルの数が4から5個の場合はバックオフの値は4から7など、異なる周波数チャネルの数で同じバックオフの値を記憶したバックオフテーブルを保持していても良い。
なお、本実施の形態では、干渉周波数チャネル数バックオフ管理部13Bは、図18Bに示されるバックオフテーブルを保持したがこれに限定されるものではない。例えば図24に示すバックオフと干渉検出なし周波数チャネル数との関係式を記憶してもよい。つまり、バックオフ時間の最大値は2(通信可能ナ周波数チャネル数+1)−1として計算される。また、干渉が検出されていない周波数チャネルの数が1つの場合は、バックオフ時間の最小値は0として計算され、干渉が検出されていない周波数チャネルの数が2つ以上の場合は、バックオフ時間の最小値は2(通信可能ナ周波数チャネル数)として計算される。また、図18Aに示されるバックオフテーブルが示す情報も同様に関係式で記憶してもよい。また、関係式はこれに限定されるものではない。
なお、本実施の形態では、干渉周波数チャネル数バックオフ管理部13Bは、図18Aおよび図18Bのバックオフテーブルを保持したがこれに限定されるものではない。例えば図25に示す干渉検出なしの周波数チャネルの数に加え、データ種別に応じてバックオフの値を記憶したバックオフテーブルを保持していても良い。この場合、端末10のバックオフ制御部13Cは送信バッファ11Aに入力された送信データのデータ種別と干渉テーブルの情報からバックオフの値を決定する。また、図26に示すバックオフテーブルの構成でもよい。また、図25と図26に示すバックオフテーブルの構成の場合、端末10はデータ種別ごとに専用のバックオフタイマー13Dを持つ構成としてもよい。
なお、本実施の形態では、スーパーフレーム期間はビーコン期間のみで構成されたがこれに限定されるものではない。例えば、図27及び図28に示す構成でもよい。図27は、ビーコンフレームを送信する周期を時系列に表した模式図である。最も大きな周期はスーパーフレーム期間で、スーパーフレーム期間は無線通信を行うアクティブ期間と無線通信を行わない非アクティブ期間から構成される。非アクティブ期間において、制御装置20及び端末10A〜10Dは無線通信に必要な機能ブロックの消費電力を最低限に抑えることが可能となるため、非アクティブ期間を設けることで各無線端末の消費電力を抑えることができる。アクティブ期間はさらに制御装置20がビーコンフレームを送信する周期単位としてビーコン期間に分割される。図27においてはアクティブ期間に5個のビーコン期間を設けている。
図27では、スーパーフレーム期間の構成を時系列に説明したが、制御装置20及び端末10A〜10Dは複数の周波数チャネルを切り替えながら無線通信を行うことが可能であり、ビーコン期間単位で周波数チャネルを切り替えながら通信を行っている。図28は、ビーコン期間単位で周波数チャネルを切り替えた時のビーコン期間のチャネル配置を表した模式図である。
図28において、制御装置20はスーパーフレーム期間内のビーコン期間BI1に周波数チャネルCH1を割り当て、無線通信期間130を配置している。同様に、ビーコン期間BI2に周波数チャネルCH2を割り当てて無線通信期間131を、ビーコン期間BI4には周波数チャネルCHnを割り当てて無線通信期間132を配置している。スーパーフレーム期間が終了し、次のスーパーフレーム期間になると、再びビーコン期間BI1に周波数チャネルCH1を割り当て、無線通信期間133を配置し、ビーコン期間BI2に周波数チャネルCH2を割り当て、無線通信期間134を配置している。以降、スーパーフレーム期間ごとに同じ周波数チャネル割り当てを繰り返す。
図28において、例えば、端末10Bが周波数チャネルCH1で通信する場合には、端末10Bはビーコン期間BI1のみ起動する。すなわち端末10Bは無線通信期間130の次は無線通信期間133内のアクセス期間にCSMAで通信し、無線通信期間130と無線通信期間133の間の期間は無線通信を行わない。このため、非アクティブ期間と同様、無線通信に必要な機能ブロックの消費電力を最低限に抑えることが可能となる。ただし、周波数チャネルCH1で送信が完了しない場合は、ビーコンフレームのペイロード120のチャネル使用順序124を参照し、次の周波数チャネルCH2でデータを送信する。
なお、図27においては無線ネットワークにおいて制御装置20が通信を行っている全ての期間をアクティブ期間として説明したが、例えば周波数チャネルCH1に着目すると、図28の無線通信期間130と133がアクティブ期間であり、無線通信期間131と132と134を含めた期間を非アクティブ期間とみなすこともできる。その場合、周波数チャネルCH2のアクティブ期間は周波数チャネルCH1の非アクティブ期間に設定されているとみなすことができる。また、この場合、図27及び図28におけるアクティブ期間は、図11のビーコン期間122にビーコン期間数123を乗算することで算出することができ、また非アクティブ期間は、スーパーフレーム期間121から、算出したアクティブ期間を減算することにより算出することができる。
なお、本実施の形態では、ビーコンフレーム内のチャネル使用順序124の構成は図12に示す構成を用いたが、他の構成として、図29に示す構成を用いても良い。図29に示す構成においては、ビーコン期間番号BNを用いずに、常に最初の位置に配置されている周波数チャネルが現在使用されている周波数チャネルであり、ビーコン期間が終了する毎にチャネル使用順序を入れ替えている。したがって、ビーコン期間ごとにチャネル使用順序124の最初が現在使用しているチャネルでありことがわかり、その次が次のビーコン期間で使用する周波数チャネルであることがわかる。例えば、ビーコン期間BI3では現在のビーコン期間で使用している周波数チャネルはCH3であり、次のビーコン期間で使用する周波数チャンルはCH4、その次のビーコン期間で使用する周波数チャネルはCH5であることがわかる。
なお、本実施の形態では、バックオフテーブルは干渉周波数チャネル数バックオフ管理部13Bにあらかじめ記憶されている構成としたが、これに限定されるものではない。例えば、制御装置20がバックオフテーブルをあらかじめ記憶しており、端末10は、初期起動時にバックオフテーブルを制御装置20から取得して干渉周波数チャネル数バックオフ管理部13Bに記憶させてもよい。
なお、本実施の形態では、干渉管理部13Aの干渉テーブルには干渉検出なしの周波数チャネルの数を記憶したがこれに限定されるものではない。例えば、干渉を検出した周波数チャネルの数を記憶してもよい。
なお、本実施の形態では、端末10はサポートするすべての周波数チャネルを対象に干渉を検出した周波数チャネルの数に応じてバックオフの値を決定したがこれに限定されるものではない。例えば、端末10はビーコンフレームのペイロード120のチャネル使用順序124に含まれる周波数チャネルを対象に干渉の検出を行い、干渉検出なしの周波数チャネルの数を決定してもよい。
なお、本実施の形態では、端末10はビーコンフレームを受信後に各周波数チャネルの干渉の検出を行ったがこれに限定されるものではない。例えばビーコンフレーム受信前に、干渉の検出を行ってもよい。
なお、本実施の形態では端末10で周波数チャネルごとにバックオフの値を制御したがこれに限定されるものではない、例えば制御装置20が端末10と同様の構成を備え、同様の制御を行ってもよい。
なお、本実施の形態では端末10は制御装置20にデータを送信したがこれに限定されものではない。例えば、他の端末10にデータを直接送信してもよい。この場合、相手の端末10の干渉テーブルを取得し相手の端末10で干渉を検出している周波数チャネルを除いて干渉を検出してない周波数チャネルの数を決定してもよい。
なお、本実施の形態では初期起動時に干渉の検出を行ったがこれに限定されるものではない。例えば、定期的におこなってもよいし、送信データの失敗が一定以上になったらおこなってもよいし、制御装置20の指示で行ってよい。また、どのようなタイミングで行ってもよい。
(実施の形態2)
図30は、本発明の実施の形態2の端末の構成を示す機能ブロック図である。図30において、図1に示した端末10と同じ構成要素については同じ符号を用い、説明を省略する。
端末30は、無線送受信部11と、干渉検出部12と、周波数チャネル優先制御部13と、干渉情報作成部31とを備える。
無線送受信部11、干渉検出部12、周波数チャネル優先制御部13は実施の形態1と同等の構成である。
干渉情報作成部31は、干渉検出部12が検出した結果をペイロードに含む干渉情報フレームを作成する。
図31は、本発明の実施の形態2の制御装置の構成を示す機能ブロック図である。図31において、図2に示した制御装置20と同じ構成要素については同じ符号を用い、説明を省略する。
制御装置40は、干渉検出部22と、周波数チャネル決定部23と、ビーコン作成部24と、無線送受信部41と、干渉情報解析部42と、周波数チャネル優先制御部43とを備える。
干渉検出部22、周波数チャネル決定部23、ビーコン作成部24は実施の形態1と同等の構成である。
無線送受信部41は、無線送受信部21の機能に、送信データを一時蓄積するバッファする機能を有する。干渉情報解析部42は、端末30から受信した干渉情報フレームのペイロードを解析する。周波数チャネル優先制御部43は、無線送受信部41において前記信号を送信する際に用いる優先度を干渉情報解析部42での解析結果に応じて変更する。
本実施の形態では、制御装置が端末の干渉状態に応じて端末に送信するデータのバックオフの値を制御するところが実施の形態1と異なる。
図32に、制御装置40の無線送受信部41の内部ブロック図を示す。
無線送受信部41は、送信バッファ41Aと、フレーム処理部41Bと、変復調部41Cと、周波数チャネル設定部41Dとを備える。
送信バッファ41Aは、送信データを一時蓄積する記憶装置である。フレーム処理部41Bは、送信バッファ41Aから出力された送信データに無線ヘッダ情報などを設定する。周波数チャネル設定部41Dは、変復調部41Cでデータを送受信するときに用いられる周波数チャネルを設定する。変復調部41Cは、設定された周波数チャネルにおいて、アンテナから入力されるフレームの復調と無線ネットワークに出力するフレームに対する変調とを行う。
図33に、制御装置40の送信バッファ41Aの内部ブロック図を示す。
送信バッファ41Aは、分類部41Eと、バッファ41F〜41Jとを備える。
分類部41Eは、入力された送信データを、周波数チャネル優先制御部43の保持している情報を用いて分類する。バッファ41F〜41Jのそれぞれは、分類部41Eで分類されたデータを一時蓄積する記憶装置である。
図34に分類部41Eが記憶する分類テーブルの一例を示す。
分類テーブルには、送信データを宛先端末の干渉を検出しない周波数チャネルの数に応じて、データを格納するバッファの情報が記憶されている。例えば、干渉を検出しない周波数チャネルの数が1の場合にはバッファ41Fにデータを格納することを示す情報が記憶されている。また、分類テーブルには、送信するデータがビーコンフレームの場合には、バッファにビーコンフレームを一時蓄積せずフレーム処理部41Bに渡すことを示す情報が記憶されている。
図35に、制御装置40の周波数チャネル優先制御部43の内部ブロック図を示す。
周波数チャネル優先制御部43は、干渉管理部43Aと、干渉周波数チャネル数バックオフ管理部43Bと、バックオフ制御部43Cと、バックオフタイマー43Dとを備える。干渉管理部43Aは、干渉情報解析部42から入力された、端末30から受信した干渉情報フレームのペイロードに含まれる端末30の干渉検出結果を記憶する記憶装置である。干渉周波数チャネル数バックオフ管理部43Bは、端末30で干渉が検出されなかった周波数チャネルの数と、送信データの送信を開始するまでの待機時間であるバックオフ時間とを関連付けて管理する。バックオフ制御部43Cは、干渉管理部43Aおよび干渉周波数チャネル数バックオフ管理部43Bが管理する情報を用いて、送信データのバックオフの値を決定する。バックオフタイマー43Dは、バックオフ制御部43Cから設定された値で動作するタイマーである。
図36に、制御装置40のバックオフタイマー43Dの内部ブロック図を示す。
バックオフタイマー43Dは、バックオフ制御部43Cから設定された値で動作するタイマー43Eから43Jで構成される。
図37に干渉管理部43Aが記憶する周波数チャネルCH1からCH5の干渉の有無を示す干渉テーブルの一例を示す。
干渉テーブルには、端末ごとに、各周波数チャネルにおける干渉の有無を示す情報と、干渉がない周波数チャネルの数とが記憶されている。例えば、端末30Aにおいては、周波数チャネルCH1およびCH3〜CH5において干渉は検出されていないが、周波数チャネルCH2において干渉が検出されていることが分かる。また、端末30Aにおいて干渉がない周波数チャネルの数は4個であることが分かる。
ここでの、各端末の干渉検出結果は実施の形態1と同様とする。
干渉テーブルは、端末30から受信する干渉情報フレームのペイロードに含まれる干渉検出結果の情報から作成される。
図38Aおよび図38Bに干渉周波数チャネル数バックオフ管理部43Bが記憶する干渉が検出されなかった周波数チャネルの数と送信データの送信を開始するまでの待機時間であるバックオフ時間とを示すバックオフテーブルの一例を示す。
図38Aは、送信データの宛先端末が現ビーコン期間で干渉している周波数チャネルの場合に設定するバックオフの値と使用するバックオフタイマーとを記憶したバックオフテーブルの一例を示す。
つまり、宛先端末が現ビーコン期間で干渉している周波数チャネルの場合には、バックオフの値の最大値が64〜127であり、使用するバックオフタイマーがタイマー43Eであることが、一例として示されている。
図38Bは、送信データの宛先端末が現ビーコン期間で干渉している周波数チャネルでない場合に、干渉がない周波数チャネルの数に応じたバックオフの値と使用するバックオフタイマーとを記憶したバックオフテーブルの一例を示す。
例えば、干渉がない周波数チャネルの数が1つの場合には、データを格納する送信バッファがバッファ41Fであり、バックオフの値が0〜3の間の値であり、使用するバックオフタイマーがタイマー43Fであることが示されている。
次に、実施の形態2の端末30と制御装置40の動作について図39A〜図41を用いて説明する。
図39Aおよび図39Bに、干渉情報フレームの送受信処理フローの一例を示す。
図39Aは端末30の干渉情報フレームの送受信処理フローの一例を示す。
端末30は起動すると、最初にビーコンフレームのスキャンを開始し、ビーコンフレームを受信するとペイロードを解析し、記憶する(S51)。
次に、端末30は、各周波数チャネルにおける干渉を測定する(S52)。
つまり、端末10の無線送受信部11は周波数チャネルCH1からCH5までを予め決められた時間だけスキャンする。無線送受信部11は受信した信号を干渉検出部12に渡す。
干渉検出部12は干渉の検出を行う。ここでは干渉の影響がないかを調べるために電力測定などを行うことで、各周波数チャネルが使用可能な周波数チャネルであるか判定する。
次に、端末10の干渉情報作成部31は、干渉検出部12の判定結果をペイロードに含む干渉情報フレームを作成し、無線送受信部11を介して制御装置40に送信する(S53)。
図39Bは、制御装置40の干渉情報フレームの送受信処理フローの一例を示す。制御装置40は、端末30から干渉情報フレームを受信すると変復調部41Cで復調し、フレーム処理部41BでMACヘッダの解析を行い干渉情報解析部42に渡す(S61:YES)。
干渉情報解析部42は、干渉情報フレームのペイロードを解析し、干渉情報フレームを送信した端末30における干渉の検出結果を、干渉管理部43Aに記憶する(S62)。
図40に、制御装置40の送信データの分類処理フローの一例を示す。
制御装置40は、送信データが非図示の上位層から入力されると送信データを無線送受信部41の分類部41Eに入力する(S71:YES)。
分類部41Eは送信データが入力されると送信データの宛先端末情報を解析し、周波数チャネル優先制御部43の干渉管理部43Aに記憶された図37の干渉テーブルを参照し、宛先端末の干渉を検出してない周波数チャネルの数を確認する(S72)。
次に、分類部41Eは図34の分類テーブルを参照し、該当するバッファに送信データを一時蓄積する(S73)。例えば、送信データの宛先が端末30Dならば、干渉を検出しない周波数チャネルの数は1個なので、バッファ41Fに送信データを一時蓄積する。
ここで、分類部41Eはビーコン作成部24からビーコンフレームが入力されるとバッファに一時蓄積せずフレーム処理部41Bに渡す。
図41に、制御装置40の送信データのバックオフ制御処理フローの一例を示す。
制御装置40の周波数チャネル優先制御部43のバックオフ制御部43Cは、送信バッファ41Aに送信データが一時蓄積されているか確認し、データが一時蓄積されている場合はバックオフを設定してバックオフタイマー43Dのタイマー43E〜43Jのいずれかの動作を開始させる(S81)。
無線送受信部41は、バックオフタイマー43Dのタイマー43E〜43Jの動作が終了すると該当する送信データをフレーム処理部41Bに渡す(S82)。
フレーム処理部41Bは送信データにMACヘッダを付加して変復調部41Cに渡す。変復調部41Cは送信データを変調し周波数チャネル設定部41Dで設定された周波数チャネルで送信データを送信する。
図42Aおよび図42Bに、図41のS81のバックオフタイマー設定確認の詳細処理フローの一例を示す。
制御装置40のバックオフ制御部43Cは、送信バッファ41Aのバッファ41Fの先頭に送信データが一時蓄積されているか確認する(S91)。
送信データが蓄積されていない場合は、バッファ41Gの確認処理(S100)にスキップする(S91:NO)。
バックオフ制御部43Cは、バッファ41Fの先頭に送信データが蓄積さている場合(S91:YES)は、送信データの宛先端末が現ビーコン期間で干渉を検出しているかを、干渉管理部43Aで管理している図37の干渉テーブルを用いて確認する。ここで、干渉を検出していない場合(S92:NO)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Bのバックオフテーブルから、使用するバックオフタイマーがタイマー43Fであることを確認すると、タイマー43Fが使用中か確認する(S93)。
タイマー43Fが使用中でない場合は、バックオフ制御部43Cは、バックオフテーブルよりバックオフの値を3〜0の間でランダムに設定し、設定されたバックオフの値でタイマー43Fの動作を開始させる(S94)。
バッファ41Fの先頭に蓄積された送信データの宛先端末が現ビーコン期間で干渉を検出している場合(S92:YES)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Aのバックオフテーブルから、使用するバックオフタイマーがタイマー43Eであることを確認する。また、バックオフ制御部43Cは、タイマー43Eが使用中か確認する(S95)。
バックオフ制御部43Cは、タイマー43Eが使用中でない場合は、バックオフテーブルに基づいて、バックオフの値を127〜64の間でランダムに設定し、設定したバックオフの値でタイマー43Eの動作を開始させる(S96)。
バッファ41Fの2番目以降に送信データが蓄積さている場合は、バックオフ制御部43Cは、現ビーコン期間で干渉を検出していない端末宛の送信データがあるか確認する。その際、バックオフ制御部43Cは、干渉管理部43Aで管理している図37の干渉テーブルを用いて確認を行う(S97)。
バッファ41Fの2番目以降に現ビーコン期間で干渉を検出していない端末宛の送信データがある場合(S97:YES)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Bのバックオフテーブルに基づいて、使用するバックオフタイマーがタイマー43Fであることを確認する。また、バックオフ制御部43Cは、タイマー43Fが使用中か確認する(S98)。
バックオフ制御部43Cは、タイマー43Fが使用中でない場合は、バックオフテーブルよりバックオフの値を3〜0の間でランダムに設定し、設定されたバックオフの値でタイマー43Fの動作を開始させる(S99)。
次に、バックオフ制御部43Cは、バッファ41Gの先頭に送信データが蓄積さている場合(S100:YES)は、送信データの宛先端末が現ビーコン期間で干渉を検出しているかを、干渉管理部43Aで管理している図37の干渉テーブルを用いて確認する。ここで、干渉を検出していない場合(S101:NO)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Bのバックオフテーブルから、使用するバックオフタイマーがタイマー43Gであることを確認すると、タイマー43Gが使用中か確認する(S102)。
タイマー43Gが使用中でない場合は、バックオフ制御部43Cは、バックオフテーブルよりバックオフの値を7〜4の間でランダムに設定し、設定されたバックオフの値でタイマー43Gの動作を開始させる(S103)。
バッファ41Gの先頭に蓄積された送信データの宛先端末が現ビーコン期間で干渉を検出している場合(S101:YES)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Aのバックオフテーブルから、使用するバックオフタイマーがタイマー43Eであることを確認する。また、バックオフ制御部43Cは、タイマー43Eが使用中か確認する(S104)。
バックオフ制御部43Cは、タイマー43Eが使用中でない場合は、バックオフテーブルに基づいて、バックオフの値を127〜64の間でランダムに設定し、設定したバックオフの値でタイマー43Eの動作を開始させる(S105)。
バッファ41Gの2番目以降に送信データが蓄積さている場合は、バックオフ制御部43Cは、現ビーコン期間で干渉を検出していない端末宛の送信データがあるか確認する。その際、バックオフ制御部43Cは、干渉管理部43Aで管理している図37の干渉テーブルを用いて確認を行う(S106)。
バッファ41Gの2番目以降に現ビーコン期間で干渉を検出していない端末宛の送信データがある場合(S106:YES)は、バックオフ制御部43Cは、干渉周波数チャネル数バックオフ管理部43Bで管理している図38Bのバックオフテーブルに基づいて、使用するバックオフタイマーがタイマー43Gであることを確認する。また、バックオフ制御部43Cは、タイマー43Gが使用中か確認する(S107)。
バックオフ制御部43Cは、タイマー43Gが使用中でない場合は、バックオフテーブルよりバックオフの値を7〜4の間でランダムに設定し、設定されたバックオフの値でタイマー43Gの動作を開始させる(S108)。
次に、バックオフ制御部43Cは、以上説明したバッファ41Fまたはバッファ41Gに行ったのと同様の処理を、バッファ41Hから41Jまでに対して行い、処理を終了する(S109)。
図43に、図41のS82のバックオフタイマー終了確認の詳細処理フローの一例を示す。
初めに、無線送受信部41の送信バッファ41Aは、バックオフフラグの値を確認する(S111)。バックオフフラグとは、送信バッファ41Aが非図示のメモリなどに記憶するフラグである。バックオフフラグは、初期値が1で、バックオフタイマー終了確認の詳細処理フローを一巡すると1足した値になり、値が7になると値が1に戻る。
送信バッファ41Aは、バックオフフラグが1の場合は、タイマー43Eの動作が終了したか確認する(S112)。
タイマー43Eの動作が終了している場合は、タイマー43Eを開始したときの送信データをフレーム処理部41Bに渡す。フレーム処理部41Bは、送信データにMACヘッダを付加して変復調部41Cに渡す。変復調部41Cは送信データに変調を行い、アンテナを介して宛先端末へ送信する(S113)。
以下、送信バッファ41Aは、同様の手順でバックオフフラグの値に応じてタイマー43Fから43Jの終了を確認し、タイマーの動作が終了していれば、タイマーを開始したときの送信データを宛先端末に送信する(S114〜S123)。
次に、送信バッファ41Aは、タイマーフラグの値に1を足す(S124)。ここで、送信バッファ41Aは、タイマーフラグの値が7であるか確認(S125)する。タイマーフラグの値が7の場合は、送信バッファ41Aはタイマーフラグの値を1に設定して処理を終了する(S126)。
以上説明したように本実施の形態のバックオフ制御では、制御装置が周波数チャネルによって異なるバックオフの値を設定することが可能となり、システム全体の通信効率低下を防ぐ効果が得られる。
また、干渉が検出されなかった周波数チャネルの数が多い端末への送信データほど、バックオフ時間の最大値を大きくすることにより、干渉が検出されなかった周波数チャネルの数が少ない端末への送信データの送信機会を増やすことが可能になる。
なお、本実施の形態では制御装置40で周波数チャネルごとにバックオフの値を制御したがこれに限定されるものではない、例えば端末30が制御装置40を備え同様の制御を行ってもよい。
また、実施の形態1またはその変形例と本実施の形態を組み合わせた内容も本発明に含まれる。例えば、干渉周波数チャネル数バックオフ管理部43Bのバックオフテーブルは実施の形態1のバックオフテーブルの他の一例である図24と同様に関係式で保持してもよい。また、干渉周波数チャネル数バックオフ管理部43Bのバックオフテーブルは、図21〜図23、図25、または図26に示したバックオフテーブルの構成と組み合わせてもよい。
また、上述の各実施の形態は無線通信ネットワークを用いて説明したがこれに限定されるものではない。例えば、PLC(Power Line Communications)など複数の周波数チャネルを用いた他のネットワークでもよい。
また、上述の各実施の形態の構成では、送信データのバックオフ制御を行ったが、制御対象はこれに限定されるものではない。例えば、データ以外の制御用のフレームのバックオフ制御を行っても良い。例えば、相手機器に自機に対するデータの有無を確認する問合せフレームや隠れ端末対策のRTS(Request to Send)/CTS(Clear to Send)フレームなどその他全てのパケットにバックオフ制御を行っても良い。
また、上述の各実施の形態の構成では、送信データのバックオフ制御を行い、送信データの優先制御を行ったが、優先制御の方法はこれに限定されるものではない。例えば、制御装置は各端末の状況を考慮して帯域を割り当てても良い。
また、上述の各実施の形態の構成では、全端末に同じバックオフの値が記憶されているバックオフテーブルを記憶したがこれに限定されるものではない。各端末は異なるバックオフテーブルを保有してもよい。また、制御装置が端末ごとのバックオフの値を決定し、端末に通知し、端末は決定したバックオフの値でバックオフ制御してもよい。
なお、上述の各実施の形態の構成は、干渉情報解析部42での解析結果に応じて、優先度としての送信データのバックオフの値を制御したがこれに限定されるものではない。例えば、干渉情報解析部42での解析結果に応じて、優先度としての送信データのPHYレートを制御してもよい。図44Aおよび図44Bに干渉が検出されなかった周波数チャネルの数に応じたPHYレートの制御に用いるPHYレートテーブルの一例を示す。
図44Aは、受信電力と標準PHYレートの関係を記憶したテーブルの一例である。端末または制御装置は、相手装置から受信したパケットから受信電力を求めると、図44Aに示すテーブルを参照して、標準PHYレートを決定する。標準PHYレートとは、相手装置からの受信データの受信電力に基づいて決定されるPHYレートのことである。なお、PHYレートは低いほど、同じデータ量の伝送に必要な時間が長くなる。例えば、100バイトのデータを送信するときPHYレートが50kbpsの場合は16msの時間を要するのに対して、10kbpsの場合は80msの時間を要する。
しかし、受信電力が低い場合には送信データのPHYレートを高くすると誤りが発生する場合があるので、低いPHYレートで送信する必要がある。よって、図44Aのテーブルを用いて伝搬状態に適したPHYレートを設定して効率よく帯域を使用する必要がある。
図44Bは、干渉がない周波数チャネルの数に応じたPHYレートの値を記憶したPHYレートテーブルの一例を示す。
端末または制御装置は、図44Aに示すテーブルに基づいて決定した標準PHYレートと、自機の干渉がない周波数チャネルの数(制御装置の場合は通信相手端末の干渉がない周波数チャネルの数)から、図44Bのテーブルを用いて、送信するパケットに使用する送信PHYレートを決定する。送信PHYレートとは、相手装置にデータを送信する際に用いられるPHYレートのことである。
図44BのPHYテーブルに従うと、干渉がない周波数チャネルの数が少ないほど標準PHYレートから低くなるように送信PHYレートが決定される。これにより、干渉がない周波数チャネルの数が少ないほど、伝搬状態のパラメータである受信電力から決定した標準PHYレートに対してPHYレートを下げてデータを送信することにより、誤り耐性を強くし、現周波数チャネルでの送信の確実性を高めることが可能になる。
図45に、端末30のデータ送信処理フローの一例を示す。
端末30は、送信データが非図示の上位層から入力されると送信データを無線送受信部11に入力する(S131:YES)。
周波数チャネル優先制御部13は、無線送受信部11へのデータの入力を検出すると、データの宛先である送信相手装置から過去に受信したデータの受信電力に基づいて、標準PHYレートを決定する(S132)。
次に、周波数チャネル優先制御部13は、無線送受信部11へのデータの入力を検出すると、現ビーコン期間の周波数チャネルで干渉が発生しているか確認する。ここでは、初期処理で記憶した干渉の判定結果を用いて確認する(S133)。
周波数チャネル優先制御部13は、現周波数チャネルで干渉が発生していると判定した場合には(S133:YES)、送信PHYレートを標準PHYレートの値に設定する(S134)。
周波数チャネル優先制御部13は、現周波数チャネルで干渉が発生していないと判定した場合には(S133:NO)、初期処理で記憶した干渉の判定結果を用いて、干渉がない周波数チャネルの数を確認する。ここでは、本システムでサポートする周波数チャネルの総数はCH1〜CH5の5個とする。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が5個の場合(S135:YES)は、送信PHYレートを標準PHYレートの値に設定する(S136)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が4個の場合(S137:YES)は、送信PHYレートを標準PHYレート−10kbpsの値に設定する(S138)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が3個の場合(S139:YES)は、送信PHYレートを標準PHYレート−20kbpsの値に設定する(S140)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が2個の場合(S141:YES)は、送信PHYレートを標準PHYレート−30kbpsの値に設定する(S142)。
周波数チャネル優先制御部13は干渉がない周波数チャネルの数が1個の場合(S141:NO)は、送信PHYレートを標準PHYレート−40kbpsの値に設定する(S143)。
次に、周波数チャネル優先制御部13は設定された送信PHYレートの値が10kbps未満か確認し、10kbps未満の場合は送信PHYレートを10kbpsに設定する(S144)。
無線送受信部11は、周波数チャネル優先制御部13の送信PHYレートの設定の終了の通知を受けると送信データを送信する(S145)。
以上の手順で端末30は送信するデータのPHYレートを決定する。
例えば、実施の形態1の端末10DがCH3を用いてデータを送信する場合、端末10Dの周波数チャネル優先制御部13は、制御装置20から受信したビーコンフレームから受信電力を算出する。周波数チャネル優先制御部13は、図44Aに示すテーブルを参照し、算出した受信電力に対応する標準PHYレートを決定する。ここでは、ビーコンフレームの受信電力は10dBmで標準PHYレートは50kbpsとする。次に端末10Dは、自機の干渉がない周波数チャネルの数と標準PHYレートとから、送信PHYレートを決定する。ここでは干渉がない周波数チャネルの数が1つなので、送信PHYレートは10kbpsに決定される。端末10Dは送信データをPHYレート10kbpsで変調して送信する。
なお、干渉している周波数チャネルを用いてデータを送信する場合は、標準PHYレートと送信PHYレートいずれのPHYレートで送信してもよい。また、PHYレート制御をバックオフ制御と組み合わせてもよい。
なお、過去のデータの受信電力以外のデータの受信電力から標準PHYレートを決定してもよい。
なお、上述の各実施の形態の構成では、干渉が検出されなかった周波数チャネルの数に応じて、優先度としての送信データのバックオフの値を制御したがこれに限定されるものではない。例えば、各ビーコン期間のアクセス期間においてTDMA(時分割多元接続)により無線通信を行う期間を設けて、制御装置が各端末の干渉検出なしの周波数チャネルの数に応じて、TDMA期間を各端末に割り当ててもよい。図46は、TDMA期間を加えたビーコン期間の一例を示す。
ビーコン期間には、制御装置が最初に無線ネットワークの制御情報を含むビーコンを送信する期間と、その後にアクセス期間とを設けている。このアクセス期間内に制御装置を含む無線端末は無線通信を行うことができる。このアクセス期間は、各無線端末がCSMA(キャリアセンス多元接続)により無線通信を行うCSMA期間と制御装置に指定された端末のみが送信を行うTDMA期間で構成される。
さらに、TDMA期間はスロット1とスロット2で構成され、制御装置は各スロットを端末の干渉検出なしの周波数チャネルの数に応じて端末に割り当てる。よって最大2台の端末が各ビーコン期間のTDMAで送信可能になる。
つまり、本変形例では、無線送受信部において信号を送受信する際に用いる優先度は、各ビーコン期間のアクセス期間において時分割多元接続により通信を行う機会を示す。また、周波数チャネル優先制御部は、干渉検出部で干渉が検出されなかった周波数チャネルの数が少ないほど、時分割多元接続による通信機会を増やすように前記優先度を設定する。
図47に、制御装置40のデータ送信処理フローの一例を示す。
制御装置40の周波数チャネル決定部23は、初期処理が終了すると決定した周波数チャネルの情報を無線送受信部41とビーコン作成部24に渡す。
無線送受信部41は、周波数チャネル決定部23から周波数チャネルの情報を受けると、周波数チャネルを、スーパーフレーム期間の先頭のビーコン期間の周波数チャネルCH1に切り替える。
無線送受信部41による周波数チャネルの切り替えが完了すると、ビーコン作成部24は、あらかじめ周波数チャネル決定部23から受けた周波数チャネル情報を含むビーコンフレームを作成し、作成したビーコンフレームを無線送受信部41を介して無線ネットワークに送信する(S151)。
次に、無線送受信部41はビーコン期間が終了するまで周波数チャネルCH1を用いてデータの送受信を行う(S152:NO)。
周波数チャネル優先制御部43は、ビーコン期間が終了、またはビーコン期間の終了までに、次のビーコン期間の周波数チャネルで干渉が検出されない端末を抽出する(S153)。
次に、抽出した次のビーコン期間の周波数チャネルで干渉が検出されない端末を対象に、干渉検出なしの周波数チャネルの数が少ない順番に2台の端末を決定する(S154)。
周波数チャネル優先制御部43は、決定した端末にスロット1とスロット2を割り当て、割り当て情報をビーコン作成部24に渡す。
ビーコン作成部24は、周波数チャネル優先制御部43からスロット1とスロット2に割り当てた端末の情報を受けると、受け取った情報をビーコンフレームのペイロードに設定する(S155)。
無線送受信部41の周波数チャネルの切り替えが終了すると、ビーコン作成部24は、あらかじめ周波数チャネル決定部23から受けた周波数チャネル情報を含むビーコンフレームを作成し、作成したビーコンフレームを、無線送受信部41を介して無線ネットワークに送信する(S156)。
例えば、実施の形態2において現周波数チャネルがCH3の場合、制御装置40は図37の干渉テーブルの情報からCH3で干渉検出していない端末のうち、干渉検出なしの周波数チャネルの数が少ない順から2台の端末を決定し、決定した2台の端末にスロットを割り当てる。ここでは、干渉検出なしの周波数チャネルの数は、端末30Dが1個、端末30Bが3個、端末30Aが4個なので端末30Dにスロット1を、端末30Bにスロット2を割り当てる。制御装置40はビーコンフレームに、スロットの割り当て情報を含めて送信する。
端末30Dと端末30Bはビーコンを受信すると自機に割り当てられたスロットでデータを送信する。このことにより、他端末との衝突を回避し現周波数チャネルでの送信の確実性を高めることが可能になる。
なお、割り当てる端末の対象はあらかじめ制御装置40に対してスロット予約要求を行った端末のみでもよい。また、スロットは2つに限定するものではなく、必要な数だけ設けてもよいし、ビーコン期間ごとに数を変えてもよい。なお、1台の端末に複数のスロットを割り当ててもよい。また、制御装置40は割り当て情報をビーコンフレーム以外のパケットで通知してもよい。さらに、現周波数チャネル期間が干渉している周波数チャネルの場合は優先的にスロットを割り当ててもよいし、割り当てなくてもよい。
なお、上述の各実施の形態の構成において、図6に示すビーコン期間は、ビーコンフレームを送信する期間とアクセス期間で構成したがこれに限定されるものではない、例えばアクセス期間をビーコン期間の途中で終了してもよい。この場合、ビーコンフレームに終了時間の情報を設定する。
なお、上述の各実施の形態の構成は、ビーコンフレームのペイロードに、ビーコン期間、ビーコン期間数およびチャネル使用順序を設定したがこれに限定されるものではい。例えば、これらの情報をビーコンフレーム送信の一定期間後に別のパケットで送信してもよい。
なお、上述の各実施の形態の構成は、干渉がない周波数チャネルの数に応じて優先度を決定したがこれに限定されるものではない。例えば、干渉がない周波数チャネルの数に加え、次のビーコン期間の周波数チャネルにおける干渉の有無を考慮して優先度を決定してもよい。
なお、上述の各実施の形態の構成は、スーパーフレームごとに各周波数チャネルは最大1回のみホッピングしたがこれに限定されるものではない。例えば、CH1→CH2→CH3→CH4→CH4→CH3とホッピングするスーパーフレーム構成でよい。この場合、ホッピングする回数に応じてバックオフ値を決定してもよい。
なお、上述の各実施の形態の構成は、スーパーフレームごとに、周波数チャネルが若い番号順にホッピングしたがこれに限定されるものではない、例えば、CH1→CH4→CH2→CH5→CH3の順番でホッピングしてもよい。
なお、上述の各実施の形態の構成は、バックオフを中断した端末または制御装置は他端末のデータの送信が完了して一定時間経過したのちにバックオフを再開したがこれに限定されるものではない。例えば、データ送信完了後にすぐにバックオフを再開してもよい。
また、上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクドライブ、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムとして構成されても良い。RAMまたはハードディスクドライブには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
また、上述の各実施の形態の構成は、典型的には集積回路であるLSI(Large Scale Integration)で実現されているものとしてもよい。これらは、個別に1チップ化されていてもよいし、全ての構成又は一部の構成を含むように1チップ化されてもよい。集積回路は、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。また、集積回路の手法は、LSIに限定されるものではなく、専用回路又は汎用プロセッサを用いて実現してもよい。更に、FPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成することができるリコンフィギュアラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩により、又は派生する別技術により現在の半導体技術に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の応用等が考えられる。
さらにまた、上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしても良い。
また、本発明は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。
さらに、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読み取り可能な不揮発性の記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray Disc(登録商標))、半導体メモリなどに記録したものとしても良い。また、これらの不揮発性の記録媒体に記録されている上記デジタル信号であるとしても良い。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしても良い。
また、上記プログラムまたは上記デジタル信号を上記不揮発性の記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしても良い。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。