以下、図面を参照しつつ、この発明の実施の形態について説明する。
(A:構成)
図1は、本発明の無線通信装置の一実施形態である無線アクセスポイント装置102および103を含む無線通信システム1の構成を示すブロック図である。この無線通信システム1は、企業内などに敷設される通信システムである。図1に示すように、無線通信システム1は、上記企業の従業者等が使用するパーソナルコンピュータ(以下、パソコン)101および104と、無線アクセスポイント装置102および103と、を含んでいる。図1に示すようにパソコン101は有線LANを介して無線アクセスポイント装置102に接続されており、パソコン104は別の有線LANを介して無線アクセスポイント装置103に接続されている。本実施形態では、パソコン101とパソコン104の間のデータ通信は、無線アクセスポイント装置102および103より成る無線LAN経由で実現される。つまり、図1に示す無線通信システム1は無線LANを含んでいる。パソコン101とパソコン104にデータ通信を行わせる場合、パソコン101とパソコン104を同一の有線LANに接続し、この有線LANを介した通信により上記データ通信を実現することも勿論考えられる。しかし、パソコン101と104が設置される場所によってはパソコン101と104とを接続する信号線を敷設することが困難な場合もある。例えば、パソコン101とパソコン104とが防火扉を隔てて設置される場合などのである。本実施形態によれば、防火扉等によって信号線の敷設ができない場合であっても、上記無線LAN経由でパソコン101とパソコン104との間のデータ通信を実現することができる。
本実施形態の上記無線LANでは、5GHz帯の周波数帯域が使われる。そして、無線アクセスポイント装置102と103は、WDSモードで相互に無線通信を行う。本実施形態では、無線アクセスポイント装置102と103は、最初の接続時にのみWDSモードの接続手順(暗号鍵の交換等)を実行し、以降、暗号鍵も最初の接続時に交換したものを使い続ける。そのため、本実施形態の無線通信システム1では、無線通信に使用されるチャネルが変更されても再度接続手順を踏むことなく、すぐに無線通信を再開することができる。
周知のように5GHz帯の周波数帯域は複数のチャネルに分割されており、これら複数のチャネルのうちW53およびW56の各チャネルは気象レーダ等と共用されている。本実施形態では、上記複数のチャネルの各々について、各チャネルの通信品質等を一定の基準にしたがって評価することで無線通信に使用するチャネルとして選択される優先順位(以下、チャネル選択順位)が動的に定められる。無線アクセスポイント装置102および103は、上記チャネル選択順位を表すチャネル選択順位情報を記憶しており、無線通信の途絶や干渉波等に起因してチャネル変更が必要になると、上記チャネル選択順位にしたがって変更先のチャネルを選択し、チャネル変更を実行する。
ここで注目すべき点は、本実施形態の無線アクセスポイント装置102および103の各々は、上記チャネル変更を行う際に、変更先のチャネルを相手装置へ通知しないという点であり、この点に本実施形態の特徴の1つがある。より詳細に説明すると、本実施形態では、無線アクセスポイント装置102と103の各々は、相手装置へハートビートを定期的に送信する。ハートビートとは、自装置が正常に稼働していることを他の装置へ知らせるための信号である。無線アクセスポイント装置102および103の各々は、相手装置からのハートビートの途絶により相手装置側でのチャネル変更の発生を検知し、自装置に記憶されているチャネル選択順位情報にしたがって変更先のチャネルを判別する。このため、本実施形態では、チャネル変更に先立って相手装置へ変更先のチャネルを通知する必要はないのである。以下、本実施形態の特徴を顕著に示す無線アクセスポイント装置102および103を中心に説明する。
(A−1:無線アクセスポイント装置102の構成)
図2は、無線アクセスポイント装置102のハードウェア構成を示すブロック図である。図2に示すように、無線アクセスポイント装置102は、アンテナ201、RF(Radio Frequency)部202、変復調部203、無線LANMAC多重部204、CPU(Central Processing Unit)205、ハートビート(図中ではHBと表記する)受信タイマ部206、ハートビート送信タイマ部207、レーダ波監視部208、チャネル制御部209、基本クロック生成部210、有線LANMAC多重部211、変復調部212、有線LANPHY部213、RAM(Random Access Memory)214およびROM(Read Only Memory)215を含んでいる。
ROM215には、本実施形態の特徴を顕著に示す処理をCPU205に実行させる制御プログラム(図2では図示略)が予め記憶されている。RAM214は、当該制御プログラムを実行する際のワークエリアとしてCPU205によって利用される。また、RAM214には、チャネル選択順位情報が記憶される他、後述するレーダ波検知フラグやCRCエラー率等の各種データが記憶される。CPU205は無線アクセスポイント装置102の電源投入(図示略)を契機として上記制御プログラムをROM215からRAM214に読み出し、その実行を開始する。この制御プログラムにしたがって作動しているCPU205は、無線アクセスポイント装置102の制御中枢の役割を担う制御部として機能する。CPU205が制御プログラムにしたがって実行する処理の詳細については後に明らかにする。
有線LANPHY部213は、有線LANを介してパソコン101に接続されている。有線LANPHY部213は、パソコン101から送信されてくる信号(本実施形態では、パソコン101からパソコン104へ送信されたMACフレームを表す信号)を受信し、変復調部212に与える。なお、MACフレームとは、OSI参照モデルの第2層(データリンク層)におけるデータ送受信単位である。変復調部212は、有線LANPHY部から与えられた信号を有線LANの規格に準じて復調し、有線LANMAC多重部211に与える。
有線LANMAC多重部211は、変復調部212の出力信号から上記MACフレームを復元しCPU205に与える。CPU205は、当該MACフレームを無線LANMAC多重部204に与える。無線LANMAC多重部204は、当該MACフレームに多重化を施して変復調部203に与える。変復調部203は、無線LANMAC多重部204から与えられたMACフレームに無線LANの規格に準じた変調を施し、この変調により得られた回路信号をRF部202に与える。RF部202は、変復調部203の出力信号を通信電力へ変換してアンテナ201に与え、アンテナ201はその通信電力を空間へ放射する。これにより、無線アクセスポイント装置102から無線アクセスポイント装置103へのMACフレームの送信が実現される。
これに対して、無線アクセスポイント装置103から送信されたMACフレーム(例えば、パソコン104からパソコン101へ送信されたMACフレーム)の受信は以下の要領で実現される。アンテナ201は、無線アクセスポイント装置103から受信した通信電力をRF部202に与える。RF部202は、アンテナ201から与えられた通信電力を回路信号に変換し、変復調部203に出力する。変復調部203は、RF部202の出力信号を無線LANの規格に準じて復調して無線LANMAC多重部204に与える。無線LANMAC多重部204は、変復調部203の出力信号から上記MACフレームを復元する。無線LANMAC多重部204は、復元したMACフレームの送信先MACアドレスがパソコン101のMACアドレスである場合にのみそのMACフレームをCPU205に与え、その他の場合は破棄する。なお、MACフレームを取捨選択する役割をRF部202、変復調部203もしくはCPU205に担わせても良い。
CPU205は、無線LANMAC多重部204から与えられたMACフレームを有線LANMAC多重部211に与える。有線LANMAC多重部211は、そのMACフレームに多重化を施して変復調部212に与える。変復調部212は、有線LANMAC多重部211から与えられたMACフレームに有線LANの規格に準じて変調を施し、この変調により得られた信号を有線LANPHY部213に与える。有線LANPHY部213は、変復調部212から与えられる信号を有線LANを介してパソコン101に送信する。
また、CPU205は、無線LANMAC多重部204から受け取ったMACフレームについてCRC誤りの有無の判定、および再送フレームであるか否かの判定を行い、CRCエラー率およびフレーム再送率を算出してRAM214に書き込む。ここで、CRC誤りとは、無線LANMAC多重部204から受け取ったMACフレームから算出されるチェックサムと当該MACフレームのヘッダ部に書き込まれているチェックサムとが一致しないことを言う。CRCエラー率とは、無線LANMAC多重部204から受け取ったMACフレームの個数に対するCRC誤りの発生したMACフレームの数の割合を言う。また、フレーム再送率とは、無線LANMAC多重部204から受け取ったMACフレームの個数に対する再送処理により再送されたMACフレームの数の割合を言う。再送処理により再送されたフレームであるか否かは当該フレームのヘッダ部を参照して判定することができる。CPU205は、フレーム再送率については送信先MACアドレス毎にその算出を行い、送信先MACアドレス毎に(すなわち、送信先MACアドレスと対応付けて)RAM214へ書き込む。なお、CRCエラー率およびフレーム再送率の算出を無線LANMAC多重部204が行い、その算出結果をCPU205に与える態様をとっても良い。
チャネル制御部209は、CPU205による制御の下、RF部202の送受信周波数を変更する。また、レーダ波監視部208は、RF部202から出力される信号を受け取り、その信号に対してスペクトル解析および特定のパルスパターン監視を施してレーダ波の検知を試み、レーダ波が検知された場合にはその旨の通知をCPU205に与える。
ハートビート受信タイマ部206は、ハートビートの不受信時間を初期値からのダウンカウントで計測するためのタイマである。ハートビート受信タイマ部206はハートビートを受信する毎にリセットされ、計時を開始する。ハートビート送信タイマ部207は、ハートビートの送信間隔を計測するためのタイマである。ハートビート送信タイマ部207は、ハートビート送信処理が完了したことを契機として計時を開始する。また、基本クロック生成部210は、上記各時間計測のための基本クロックを生成する。また、この基本クロックは後述するチャネル選択順位決定処理においても参照される。
以上が無線アクセスポイント装置102のハードウェア構成である。
次いで、無線アクセスポイント装置102のCPU205が制御プログラムにしたがって実行する処理について説明する。前述したように無線アクセスポイント装置102のCPU205は、無線アクセスポイント装置102の電源投入を契機として制御プログラムをROM215からRAM214へ読み出し、当該制御プログラムの実行を開始する。図3は無線アクセスポイント装置102のCPU205が制御プログラムに従って実行するメイン処理の流れを示すフローチャートである。図3に示すように、CPU205は、まず、チャネル選択順位決定処理(図4参照)を実行する(ステップS301)。詳細については後述するが、チャネル選択順位決定処理では、CPU205は、チャネル選択順位を決定し、そのチャネル選択順位を表すチャネル選択順位情報をRAM214に書き込む。
ステップS301に後続するステップS302では、CPU205は、ハートビート送信タイマ部207のタイマ値を参照し、タイムアウトとなっているか否かを判定する。ただし、無線アクセスポイント装置102の電源投入直後に実行されるステップS302では、CPU205は無条件に上記タイムアウトが発生していると判定する。電源投入直後であれば、ハートビートは一回も送信されていないからである。ステップS302の判定結果が”Yes”であると、CPU205はハートビート送信処理を実行し(ステップS303)、その後、ステップS304の処理を実行する。これに対して、ステップS302の判定結果が”No”であると、CPU205はハートビート送信処理(ステップS303)を実行せず、ステップS304の処理を実行する。
図5は、メイン処理のステップS303において実行されるハートビート送信処理の流れを示すフローチャートである。図5に示すように、ハートビート送信処理では、CPU205は、まず、ハートビートの役割を担うMACフレーム(以下、ハートビートフレーム)のヘッダを組み立てる(ステップS501)。次に、CPU205は、上記ハートビートフレームのペイロードにRAM214に記憶されているチャネル選択順位情報を書き込む(ステップS502)。そして、CPU205は、上記の要領で生成したハートビートフレームを無線LANMAC多重部204、変復調部203、RF部202およびアンテナ201を介して無線アクセスポイント装置103に送信し(ステップS503)、ハートビート送信処理を完了する。上記の要領でハートビートの送信を完了すると、ハートビート送信タイマ部207はリセットされ、その時点から再度計時を開始する。
図3に戻って、メイン処理のステップS304では、CPU205は、無線アクセスポイント装置102が無線アクセスポイント装置103からハートビートを受信したか否かを判定する。ステップS304の判定結果が“Yes”であると、CPU205はハートビート受信処理(ステップS305)を実行する。図6は、ハートビート受信処理の流れを示すフローチャートである。このハートビート受信処理では、CPU205は、まず、ハートビート受信タイマ部206のタイマ値を最大値(すなわち、ダウンカウントの開始点となる初期値、本実施形態では、15秒)にリセットする(ステップS601)。次に、CPU205は、受信したハートビートフレームのペイロードにチャネル選択順位情報が書き込まれているか否かを判定する(ステップS602)。ステップS602の判定結果が“Yes”であると、CPU205は、当該ハートビートフレームのペイロードからチャネル選択順位情報を読み出してRAM214の所定領域に書き込み(ステップS603)、ハートビート受信処理を完了する。より詳細に説明すると、本実施形態では、CPU205は、チャネル選択順位決定処理にてRAM214に書き込んだチャネル選択順位情報が上書きされないように、RAM214の別箇所に上記受信したチャネル選択情報を書き込む。ステップS602の判定の結果が”No”であると、CPU205はステップS603の処理を実行することなく、ハートビート受信処理を完了する。上記の要領でハートビート受信処理が完了すると、ハートビート受信タイマ部206は計時を開始する。
一方、ステップS304の判定結果が“No”であると、CPU205はハートビート受信タイマ部206のタイムアウトが発生しているか否かを判定する(ステップS306)。ステップS306の判定結果が“Yes”であると(すなわち、タイムアウトが発生した場合)、CPU205はレーダ波検知フラグに“0”をセットし、チャネル変更処理(ステップS307)を実行する。このチャネル変更処理の詳細については後述する。チャネル変更処理が完了すると、CPU205はチャネル選択順位決定処理(ステップS301)を再び実行する。一方、ステップS306の判定結果が“No”であると、CPU205はステップS308の処理を実行する。
ステップS308では、CPU205は、レーダ波が検知されたか否かを判定する。ステップS308の判定の結果、“Yes”であると、CPU205はレーダ波検知フラグに“1”をセットし、チャネル変更処理(ステップS309)を実行する。つまり、レーダ波検知フラグは、チャネル変更の要因がレーダ波の検知であったか否かを示すフラグである。チャネル変更処理(ステップS309)を完了すると、CPU205はチャネル選択順位決定処理(ステップS301)を再び実行する。一方、ステップS308の判定結果が“No”であれば、CPU205はステップS309を実行することなく、チャネル選択順位決定処理(ステップS301)を再び実行する。
以上がメイン処理、ハートビート送信処理およびハートビート受信処理の流れである。
次に、チャネル選択順位決定処理について説明する。
図4は、チャネル選択順位決定処理の流れを示すフローチャートである。CPU205は、まず、基本クロック生成部210から出力される基本クロックを参照して前回のチャネル選択順位決定処理の完了から1秒以上経過しているか否かを判定する(ステップS401)。なお、無線アクセスポイント装置102の電源投入を契機にチャネル選択順位決定処理が開始された場合は、ステップS401の判定の結果は必ず“Yes”となる。
ステップS401の判定結果が“Yes”であった場合、CPU205は、無線LANMAC多重部204へのMACフレームの出力を停止(すなわち、無線LANへのMACフレームの送信を停止)し(ステップS402)、ステップS403以降の処理を実行する。送信される予定だったMACフレームは、送信停止が解除されるまでRAM214にバッファリングされる。一方、ステップS401の判定結果が“No”であった場合には、CPU205はステップS402以降の処理を実行することなく、チャネル選択順位決定処理を完了する。なお、CPU205はチャネル選択順位決定処理を完了する際には、その時刻を示すデータをRAM214の所定領域に書き込む。前述したステップS401では、CPU205は当該領域に記憶されているデータを参照して前回のチャネル選択順位決定処理の完了から1秒以上経過しているか否かを判定するのである。
ステップS402に後続するステップS403では、CPU205はチャネル制御部209を制御して評価対象チャネルを切り替える(ステップS403)。チャネル制御部209は、CPU205の制御下で、アンテナ201を介してRF部202が受信するチャネルをラウンドロビン方式で1チャネルずつ切り替える。
CPU205は、無線LANMAC多重部204をプロミスキャスモードに切り替える。以降、無線LANMAC多重部204は、再度モード切り換えが行われるまで、受信したMACフレームをその送信先MACアドレスを問わずに全てCPU205に与える。CPU205は、無線LANMAC多重部204から受け取ったMACフレームの中から、再送ビットの立っているフレームとビーコンフレームとを選択する。ビーコンフレームは、上記チャネルにおけるBSSIDの数を数えるために使用され、CPU205は、各チャネルの評価中に新たに発見されたBSSIDの数をRAM214に累積的に記録する。また、再送ビットの立っているフレームは、フレーム再送率の計算のために使用され、CPU205は算出したフレーム再送率をRAM214に累積的に記録する。このようにして、CPU205は各チャネルの通信品質に関する評価情報を収集する(ステップS404)。なお、CPU205が無線LANMAC多重部204をプロミスキャスモードに切り替えている間は、レーダ波監視部208からレーダ波を検知した旨の通知が与えられたとしても、CPU205はその通知を無視する。
CPU205は、基本クロック生成部210が生成した基本クロックを参照し、ステップS404の処理を開始してから200msの時間が経過したか否かを判定する(ステップS405)。このステップS405の判定結果が“No”である間、CPU205は、ステップS404の処理を続行する。ステップS405の判定結果が“Yes”になると、CPU205は、無線LANMAC多重部204のプロミスキャスモードを解除し、無線アクセスポイント装置103との間で使用していたチャネルに切り戻し(ステップS406)、無線LANの送信停止を解除する(ステップS407)。以降、CPU205は、有線LANMAC多重部211から受け取ったMACフレームを無線LANMAC多重部204に与え、無線通信を再開する。
ステップS405の判定に用いる閾値(すなわち、200ms)は、CPU205が5GHz帯の全チャネルの通信品質に関する評価情報を収集するのに十分な長さの時間である。しかし、回路設計等の都合により当該時間内に全チャネルの通信品質に関する評価情報を収集できないのであれば、上記閾値をより大きな値にしても良いが、ステップS401の存在により上記閾値は1秒より短いことが求められる。このため、上記閾値については、1秒以下の範囲で実験等を行って好適な値に定めるようにすれば良い。
ステップS407に後続するステップS408では、CPU205は、RAM214に記憶されたBSSIDの数とCRCエラー率とフレーム再送率から、評価対象となったチャネルの評価スコアをチャネル毎に算出する。ここで、評価スコアの算出アルゴリズムについては種々の態様が考えられるが、BSSIDの数が少ないほど評価スコアが高く、CRCエラー率が低いほど評価スコアが高く、フレーム再送率が低いほど評価スコアが高くなるようなアルゴリズムであれば良い。BSSIDの数が少ないほど通信品質が良く、CRCエラー率やフレーム再送率が低いほど通信品質が良いからである。例えば、CRCエラー率(或いはフレーム再送率)として0〜1の範囲の実数値を用いる場合は、(所定の正の整数値−BSSSIDの数)+(1−CRCエラー率)+(1−フレーム再送率)を評価スコアとする、といった具合である。なお、評価スコアの計算にBSSIDの数のみを用いても良いし、CRCエラー率のみを用いても良いし、フレーム再送率のみを用いても良い。また、BSSIDの数、CRCエラー率およびフレーム再送率のうちの任意の2つを用いて評価スコアを算出しても良い。
CPU205は、ステップS408にて算出した各チャネルの評価スコアを降順にソートし、通信品質が良いと見込まれる順(すなわち、評価スコアの降順)にチャネル選択順位を決定する(ステップS409)。そして、CPU205は、ステップS409で決定したチャネル選択順位を表すチャネル選択順位情報をRAM214に書き込み(ステップS410)、チャネル選択順位決定処理(ステップS301)が完了する。なお、上記チャネル選択順位情報の具体例としては、無線通信に使用可能な複数のチャネルの各々を一意に示す識別子をステップS409にて決定されたチャネル選択順位の順に配列したリスト形式のデータが挙げられる。
次いで、チャネル変更処理について説明する。
図7は、チャネル変更処理の流れを示すフローチャートである。このチャネル変更処理では、CPU205は、まず、無線LANへのMACフレームの送信を停止する(ステップS701)。次いで、CPU205は、ハートビート受信タイマ部206の計時を停止させる(ステップS702)。
ステップS702に後続するステップS703では、CPU205は、RAM214からチャネル選択順位情報を読み出す。次いで、CPU205は、ステップS703にて読み出したチャネル選択順位情報を参照して最も通信品質が良いと見込まれるチャネルを選択し、無線通信に使用するチャネルを当該選択したチャネルに変更する(ステップS704)。なお、ステップS703の実行前に使用していたチャネルが最も通信品質が良いと見込まれる場合には、CPU205は、2番目に通信品質が良いと見込まれるチャネルに変更する。
次いで、CPU205は、レーダ波検知フラグを参照してチャネル変更の理由がレーダ波検知のためであるか否かを判定する(ステップS705)。本実施形態では、レーダ波検知フラグの値が“1”であれば、ステップS705の判定結果は“Yes”となり、レーダ波検知フラグの値が“0”であれば、ステップS705の判定結果は“No”となる。
ステップS705の判定の結果、“Yes”であると、CPU205はハートビート受信タイマ部206のタイマ値を、現時点の最大値(すなわち、ダウンカウンタの初期値)に15秒を加えた値にリセットする(ステップS706)。一方、ステップS705の判定の結果、“No”であると、CPU205はハートビート受信タイマ部206のタイマ値を15秒にリセットする(ステップS707)。前述したようにステップS307ではレーダ波検知フラグには“0”がセットされ、ステップS309ではレーダ波検知フラグには“1”がセットされる。このため、ステップS307のチャネル変更処理の場合には、ステップS707の処理が実行され、ステップS309のチャネル変更処理の場合には、ステップS706の処理が実行される。
ステップS706もしくは707に後続して実行されるステップS708では、CPU205は、ステップS704における変更先のチャネルがW53もしくはW56であるか否かを判定する(ステップS708)。ステップS708の判定結果が“No”であると、CPU205は、ハートビート受信タイマ部206の計時停止を解除させ(ステップS712)、さらに、無線LANへのMACフレーム送信停止を解除し(ステップS713)、チャネル変更処理を終了する。これに対して、ステップS708の判定の結果、“Yes”であると、CPU205は待機状態になり、レーダ波監視部208によるレーダ波の検知を待つ(ステップS709)。CPU205は、レーダ波監視部208からの通知の有無によらず、この待機状態を1分間継続する(ステップS710)。
上記1分間の待機を完了すると(ステップS710:Yes)、CPU205は、上記待機状態の間にレーダ波を検知した旨の通知をレーダ波監視部208から受け取ったか否かを判定する(ステップS711)。ステップS711の判定結果が“Yes”であると、CPU205は、レーダ波検知フラグに“1”をセットしてステップS703以降の処理を再度実行する。これに対して、ステップS711の判定結果が“No”であると、CPU205は、前述したステップS712およびS713の各処理を実行してチャネル変更処理を終了する。
以上が、無線アクセスポイント装置102の構成である。
(A−2:無線アクセスポイント装置103の構成)
次いで、無線アクセスポイント装置103の構成について説明する。
無線アクセスポイント装置103のハードウェア構成は無線アクセスポイント装置102のハードウェア構成(図2参照)と同一であるため、詳細な説明を省略する。無線アクセスポイント装置103のCPU205が制御プログラムにしたがって実行する処理は、以下の2つの点を除いて無線アクセスポイント装置102のCPU205が制御プログラムにしたがって実行する処理と同一である。
第1に、無線アクセスポイント装置103の電源投入時にのみ、チャネル選択順位決定処理(ステップS301)を実行する点である。つまり、無線アクセスポイント装置103のCPU205は、チャネル変更処理(図3:ステップS307或いはS309)を完了した場合、もしくはステップS308の判定結果が“No”であった場合には、ステップS301の処理を実行することなく、ステップS302の処理を実行する。第2に、無線アクセスポイント装置102から受信したハートビートから読み出したチャネル選択順位情報を用いて自装置のRAM214に記憶されているチャネル選択順位情報を更新する(より具体的には、前者で後者を上書きする)点である。このため、無線アクセスポイント装置102のRAM214と無線アクセスポイント装置103のRAM214には、同一のチャネル選択順位情報が記憶されることとなる。
以上が、無線アクセスポイント装置103の構成である。
(B:動作)
次いで、無線アクセスポイント装置102と無線アクセスポイント装置103がW53を用いて無線通信を行っている状況下で、レーダ波の検知によりチャネル切り換えを行う場合の動作について説明する。以下では、W53を「チャネルA」とし、W56を「チャネルB」とし、5GHz帯のその他のチャネルを「チャネルC」とする。なお、以下に説明する動作の開始時点では、チャネルAの優先順位が最も高く、次いでチャネルBの優先順位が高く、チャネルCの優先順位が最も低いことを示すチャネル選択順位情報がチャネル選択順位決定処理により生成され、無線アクセスポイント装置102のRAM214に記憶されている。そして、このチャネル選択順位情報が無線アクセスポイント装置102と無線アクセスポイント装置103の間のハートビートの送受信により無線アクセスポイント装置103に伝送され、無線アクセスポイント装置103のRAM214にも当該チャネル選択順位情報が記憶されている。
(B−1:チャネルBがレーダで使用されていない場合の動作)
まず、チャネルBがレーダで使用されていない場合の動作を説明する。
図8は、チャネルBがレーダで使用されていない場合の無線アクセスポイント装置102および103の動作の流れを示すタイムチャートである。図8に示すように、無線アクセスポイント装置102と無線アクセスポイント装置103はチャネルAを用いて無線通信を行っている。この状況下で、図8のタイミングT81において無線アクセスポイント装置102のレーダ波監視部208によってレーダ波が検知されたとする。無線アクセスポイント装置102では、レーダ波監視部208からCPU205へレーダ波の検知が通知される。無線アクセスポイント装置102のCPU205が実行するメイン処理では、このタイミングT81においてステップS308の判定結果が“Yes”となり、無線アクセスポイント装置102のCPU205は、レーダ波検知フラグに“1”をセットしてチャネル変更処理(ステップS309)を実行する。
無線アクセスポイント装置102のCPU205は、図7に示すチャネル変更処理を開始し、ステップS701からステップS705の処理を実行する。レーダ波検知フラグの値が“1”であるため、ステップS705の判定結果は“Yes”となり、ステップS706の処理が実行される。本動作の開始時点ではハートビート受信タイマ部206のタイマ値の最大値は15秒である。このため、無線アクセスポイント装置102では、ハートビート受信タイマ部206のタイマ値の最大値は、それまでの最大値+15秒、すなわち、30秒に更新される。本動作例では、チャネル選択順位情報にしたがって定まる変更先のチャネルはチャネルB(すなわち、W56)である。このため、ステップS708の判定結果は“Yes”となり、無線アクセスポイント装置102のCPU205はステップS709からステップS711の処理を実行する。すなわち、無線アクセスポイント装置102のCPU205は、タイミングT81から1分間に亙ってレーダ波の検知のために待機状態となるが、チャネルBはレーダで使用されていない。このため、上記1分間の待機期間にレーダ波が検知されることはなく、ステップS711の判定結果は“No”となる。その結果、無線アクセスポイント装置102のCPU205はステップS712およびステップS713の処理を実行し、切り換え後のチャネル(チャネルB)を用いてハートビートの送信を再開する。この再開タイミングが図8におけるタイミングT82(タイミングT81から1分経過後のタイミング)である。
一方、無線アクセスポイント装置103のCPU205が実行するメイン処理では、図8のタイミングT83(T81から15秒経過後のタイミング)においてハートビートの受信タイムアウトが発生し(図3:ステップS306,Yes)、無線アクセスポイント装置103のCPU205は、レーダ波検知フラグに“0”をセットしてチャネル変更処理(ステップS307)を実行する。前述したように、無線アクセスポイント装置102のCPU205は上記タイミングT81において無線LANへのフレームの送信を停止しており、ハートビートの送信も停止されるからである。
無線アクセスポイント装置103のCPU205は、図7に示すチャネル変更処理を開始し、ステップS701からステップS705の処理を実行する。ただし、レーダ波検知フラグの値が“0”であるため、ステップS705の判定結果は“No”となり、ステップS707の処理が実行される。つまり、無線アクセスポイント装置103では、ハートビート受信タイマ部206のタイマ値はその時点の最大値(すなわち、15秒)にリセットされる。無線アクセスポイント装置103のCPU205が実行するチャネル変更処理においても、チャネル選択順位情報にしたがって定まる変更先のチャネルはチャネルB(すなわち、W56)であるため、ステップS708の判定結果は“Yes”となり、ステップS709〜S711の処理(すなわち、レーダ波検知のために1分間に待機)が実行される。しかし、前述したように本動作例では、チャネルBはレーダで使用されていないため、ステップS711の判定結果は“No”となり、ステップS712およびS713の処理が実行され、変更後のチャネル(チャネルB)を用いてハートビートの送信が再開される。この再開タイミングが図8におけるタイミングT84である。
図8におけるタイミングT82の時点では無線アクセスポイント装置102のハートビート受信タイマ部206のタイマ値の最大値は30秒である一方、無線アクセスポイント装置103からハートビートの送信が再開されるタイミングT84はタイミングT82から15秒が経過した時点である。このため、無線アクセスポイント装置102において、無線アクセスポイント装置103から送信されたハートビートについての受信タイムアウトは発生せず、ハートビートの受信タイムアウトに起因したチャネル変更が発生することはない。よって、無線アクセスポイント装置102と103は、最も通信品質が良いと見込まれるチャネルBを使用して無線通信を継続することができる。
(B−2:チャネルBもレーダで使用されていた場合の動作)
次いで、チャネルBもレーダで使用されていた場合の動作について説明する。
この場合、無線アクセスポイント装置102において実行されるチャネル変更処理と無線アクセスポイント装置103において実行されるチャネル変更処理の何れにおいても、チャネルBにおいてレーダ波を検知し、ステップS711の判定結果は“No”となり得る。しかし、無線アクセスポイント装置102においてステップS711の判定結果が“Yes”となった場合と、無線アクセスポイント装置103においてステップS711の判定結果が“Yes”となった場合とで以降の動作は異なったものとなる。このため、以下では、無線アクセスポイント装置102においてレーダ波が検知された場合と、無線アクセスポイント装置103においてレーダ波が検知された場合に分けて動作を説明する。なお、無線アクセスポイント装置102のCPU205がチャネルAにレーダ波を検知してチャネル変更処理を実行するまでの動作、および無線アクセスポイント装置103のCPU205がハートビートの受信タイムアウトの発生を契機としてチャネル変更処理を実行するまでの動作は、何れもチャネルBがレーダで使用されていない場合と同一であるため、説明を省略する。
(B−2−1:チャネルBのレーダでの使用が無線アクセスポイント装置102で検知された場合の動作)
図9は、チャネルBもレーダで使用されており、かつその使用が無線アクセスポイント装置102において検知された場合の無線アクセスポイント装置102および103の動作を示すタイムチャートである。なお、図9におけるタイミングT91、T92、T93およびT94の各々は図8におけるタイミングT81、T82、T83およびT84の各々に対応する。
無線アクセスポイント装置102のCPU205は、タイミングT91においてチャネル変更処理の実行を開始する。このチャネル変更処理においてステップS701からステップS705の処理に後続してステップS706の処理が実行される点はチャネルBがレーダで使用されていない場合と同一である。同様に、ステップS708からステップS711の処理も実行されるが、本実施形態ではチャネルBはレーダで使用されており、無線アクセスポイント装置102においてその使用が検知される。このため、本動作例ではステップS711の判定結果は“Yes”となり、ステップS703以降の処理が再度実行される。すなわち、無線通信に使用するチャネルはチャネル選択順位情報にしたがってチャネルCに切り換えられ(ステップS704)、ハートビートの受信タイマの最大値はその時点の最大値(30秒)にさらに15秒を加算した値(すなわち、45秒)に更新される(ステップS706)。その後、無線アクセスポイント装置102のCPU205は、ステップS708の判定を行うであるが、チャネルCはW53ではなく、W56でもないため、ステップS708の判定結果は“No”となる。このため、無線アクセスポイント装置102のCPU205は、ステップS709〜S711の処理を実行することなく、ステップS712およびS713の処理を実行し、切り換え後のチャネル(チャネルC)を用いてハートビートの送信を再開する。この再開タイミングが図9におけるタイミングT92である。
一方、無線アクセスポイント装置103のCPU205は、図9のタイミングT93(T91から15秒経過後のタイミング)においてハートビートの受信タイムアウトを検出し、レーダ波検知フラグに“0”をセットしてチャネル変更処理(ステップS307)を実行する。ただし、無線アクセスポイント装置103ではチャネルBのレーダでの使用は検知されないため、前述したチャネルBがレーダで使用されていない場合と同様に、無線アクセスポイント装置103のCPU205はタイミングT94からハートビートの送信を開始する。しかしながら、本動作例では、タイミングT94の時点では無線アクセスポイント装置102の無線通信チャネルはチャネルCにさらに変更されており、無線アクセスポイント装置103が無線アクセスポイント装置102から送信されたハートビートをチャネルBを介して受信することはない。このため、無線アクセスポイント装置103においては、タイミングT94から15秒経過後のタイミングT95においてハートビートの受信タイムアウトが発生し、再度、チャネル変更処理(ステップS307)が実行される。
このようにして再度実行されるチャネル変更処理においては、無線通信に使用するチャネルはチャネル選択順位情報にしたがってチャネルCに切り換えられ(ステップS704)、ハートビートの受信タイマの最大値は15秒にリセットされる(ステップS706)。その後、無線アクセスポイント装置103のCPU205は、ステップS708の判定を行うであるが、チャネルCはW53ではなく、W56でもないため、ステップS708の判定結果は“No”となる。このため、無線アクセスポイント装置103のCPU205は、ステップS709〜S711の処理を実行することなく、ステップS712およびS713の処理を実行し、チャネルCを用いてハートビートの送信を再開する。ステップS709〜S711の処理が実行されないため、上記ハートビートの送信再開タイミングは図9におけるタイミングT95と略一致する。
図9におけるタイミングT92の時点では無線アクセスポイント装置102のハートビート受信タイマ部206のタイマの最大値は45秒である一方、無線アクセスポイント装置103からチャネルCへのハートビートの送信が再開されるタイミングT95はタイミングT94から15秒が経過した時点(タイミングT94はタイミングT92から15秒が経過した時点であるから、タイミングT92から30秒が経過した時点)である。無線アクセスポイント装置102はタイミングT92から45秒が経過した時点であるタイミングT96よりも前に無線アクセスポイント装置103からチャネルCへ送信されたハートビートを受信するので、無線アクセスポイント装置103から送信されたハートビートについての受信タイムアウトは発生しない。したがって、ハートビートの受信タイムアウトに起因したチャネル変更が発生することはない。よって、無線アクセスポイント装置102と103は、レーダ波等の干渉のないチャネルのうちで最も通信品質が良いと見込まれるチャネルCを使用して無線通信を継続することができる。
(B−2−2:チャネルBのレーダでの使用が無線アクセスポイント装置103で検知された場合の動作)
図10は、チャネルBもレーダで使用されており、かつその使用が無線アクセスポイント装置103において検知された場合の無線アクセスポイント装置102および103の動作の流れを示すタイムチャートである。なお、図9におけるタイミングT101、T102、T103およびT104の各々は図8におけるタイミングT81、T82、T83およびT84の各々に対応する。
無線アクセスポイント装置102のCPU205は、タイミングT101においてチャネル変更処理の実行を開始する。このチャネル変更処理においてステップS701からステップS705の処理に後続してステップS706の処理が実行される点はチャネルBがレーダで使用されていない場合と同一である。同様に、ステップS708からステップS711の処理も実行されるのである。本動作例では、チャネルBはレーダで使用されているものの、無線アクセスポイント装置102ではその使用が検知されるため、ステップS711の判定結果は“No”となり、ステップS712およびS713の処理が実行される。したがって、無線アクセスポイント装置102のCPU205は、図10におけるタイミングT102の時点でチャネルBへのハートビートの送信を再開する。
無線アクセスポイント装置103のCPU205は、図10のタイミングT103(T101から15秒経過後のタイミング)においてハートビートの受信タイムアウトを検出し、レーダ波検知フラグに“0”をセットしてチャネル変更処理(ステップS307)を実行する。すなわち、無線アクセスポイント装置103のCPU205は、無線通信に使用するチャネルをチャネル選択順位情報にしたがってチャネルBに切り換え(ステップS704)、ハートビートの受信タイマの最大値を15秒にリセット(ステップS707)し、その後、ステップS709〜S711の処理を実行する。本動作例では、無線アクセスポイント装置103ではチャネルBのレーダでの使用が検知されるため、上記ステップS711の判定結果は“Yes”となり、ステップS703以降の処理が再度実行される。すなわち、無線通信に使用するチャネルはチャネル選択順位情報にしたがってチャネルCに切り換えられ(ステップS704)、ハートビートの受信タイマの最大値はその時点の最大値(15秒)に15秒を加算した値(すなわち、30秒)に更新される(ステップS706)。その後、無線アクセスポイント装置103のCPU205は、ステップS708の判定を行うが、チャネルCはW53ではなく、W56でもないため、ステップS708の判定結果は“No”となる。このため、無線アクセスポイント装置103のCPU205は、ステップS709〜S711の処理を実行することなく、ステップS712およびS713の処理を実行し、チャネルCを用いてハートビートの送信を再開する。この再開タイミングが図10におけるタイミングT104である。
このように、図10のタイミングT104の時点では、無線アクセスポイント装置102はチャネルBへハートビートを送信し、無線アクセスポイント装置103はチャネルCへハートビートを送信している。このため、タイミングT102から30秒経過した時点であるタイミングT105までに無線アクセスポイント装置102が、無線アクセスポイント装置103から送信されたハートビートを受信することはなく、無線アクセスポイント装置102においてハートビートの受信タイムアウトが発生する。無線アクセスポイント装置102のCPU205は、この受信タイムアウトの発生を契機として、レーダ波検知フラグに“0”をセットし、チャネル変更処理(S307)を実行する。このチャネル変更処理では、無線通信に使用するチャネルはチャネル選択順位情報にしたがってチャネルCに切り換えられ(ステップS704)、ハートビートの受信タイマの最大値は15秒にリセットされる(ステップS706)。その後、無線アクセスポイント装置102のCPU205は、ステップS708の判定を行うが、チャネルCはW53ではなく、W56でもないため、ステップS708の判定結果は“No”となる。このため、無線アクセスポイント装置102のCPU205は、ステップS709〜S711の処理を実行することなく、ステップS712およびS713の処理を実行し、チャネルCを用いてハートビートの送信を再開する。ステップS709〜S711の処理が実行されないため、上記ハートビートの送信再開タイミングは図10におけるタイミングT105と略一致する。
図10におけるタイミングT104の時点では無線アクセスポイント装置103のハートビート受信タイマ部206のタイマの最大値は30秒である一方、無線アクセスポイント装置102からチャネルCへのハートビートの送信が開始されるタイミングT105はタイミングT102から30秒が経過した時点(タイミングT102はタイミングT104より15秒前の時点であるから、タイミングT104から15秒が経過した時点)である。無線アクセスポイント装置103はタイミングT104から30秒が経過した時点であるタイミングT106よりも前に無線アクセスポイント装置102からチャネルCへ送信されたハートビートを受信するので、無線アクセスポイント装置102から送信されたハートビートについての受信タイムアウトは発生しない。したがって、ハートビートの受信タイムアウトに起因したチャネル変更が発生することはない。よって、無線アクセスポイント装置102と103は、レーダ波等の干渉のないチャネルのうちで最も通信品質が良いと見込まれるチャネルCを使用して無線通信を継続することができる。
以上説明したように、本実施形態の無線通信装置(無線アクセスポイント装置102および103)では、当該無線通信装置のRAM214に記憶されたチャネル選択順位情報の示すチャネル選択順位にしたがってチャネル変更が行われるため、チャネル変更に先立って変更先のチャネルを相手装置に通知する必要は無く、使用中のチャネルに干渉波が存在したとしてもチャネル変更に何らの問題も生じない。そして、上記チャネル選択順位情報は定期的に更新されるため、チャネル変更の必要が生じた時点で最良の通信品質のチャネルに変更することができる。つまり、本実施形態によれば、無線通信に使用しているチャネルに干渉波が存在する場合であっても、より良い通信品質のチャネルへの切り換えを確実に行うことができる。さらに、干渉がレーダ波によるものであっても法令に違反することはなく、法令の趣旨に反することもない。また、チャネル選択順位に従ってチャネル変更が行われるので、チャネル変更を何度も連続して行う必要があっても最終的な変更先のチャネルが決まるまでの所要時間が短くなる。
(C:変形例)
以上、本発明の一実施形態について説明したが、この実施形態を以下のように変形しても良い。
(1)上記実施形態では相手装置からのハートビートの途絶により相手装置側でもチャネル変更の発生を検知した。しかし、無線アクセスポイント装置102および103の各々に、自装置の存在を通信相手へ通知するためのフレーム(以下、存在通知フレーム)を定期的に通信相手へ送信する処理を実行させ、この存在通知フレームに上記ハートビートの役割を担わせるようにしてもよい。この場合、無線アクセスポイント装置102には、自装置が定めたチャネル選択順位を表すチャネル選択順位情報を存在通知フレームのペイロードに書き込んで送信する処理を実行させ、無線アクセスポイント装置103には、相手装置から受信した存在通知フレームのペイロードに書き込まれているチャネル選択順位情報を用いて、自装置のチャネル選択順位情報を更新する処理を実行させるようにすればよい。また、ビーコンフレームに存在通知フレームの役割を担わせてもよい。この場合、無線アクセスポイント装置102は、ビーコンフレームにおいて汎用的な情報要素、例えば、ベンダー固有情報が書き込まれたフィールド等にチャネル選択順位情報を書き込んで相手装置に送信すればよく、無線アクセスポイント装置102および103は、相手装置から送信されてくるビーコンの消失をもってチャネル変更を行えばよい。また、上記実施形態では、無線通信に使用中のチャネルにおける干渉波(上記実施形態では、レーダ波)の有無を検出するための干渉波検出部(上記実施形態では、レーダ波監視部208)をCPU205とは別個のハードウェアとして実装したが、CPU205によるソフトウェア処理により干渉波の検出を実現しても良い。
(2)上記実施形態の無線通信システム1は、無線アクセスポイント装置102および103という2つの無線通信装置を有していた。しかし、3以上の無線通信装置を有する無線通信システムに本発明を適用してもよい。つまり、本発明の無線通信装置の通信相手となる相手装置は複数であってもよく、この場合、相手装置毎にチャネル選択順位情報をRAM214に記憶させておけば良い。
例えば、相手装置1、相手装置2および相手装置3の3台の相手装置と無線通信する場合、相手装置1と対応付けて図11(a)に示すチャネル選択順位情報をRAM214に記憶させ、相手装置2と対応付けて図11(b)に示すチャネル選択順位情報をRAM214に記憶させ、相手装置3と対応付けて図11(c)に示すチャネル選択順位情報をRAM214に記憶させておく。相手装置1との無線通信に使用するチャネルを変更する場合には、図11(a)に示すチャネル選択順位情報を参照して変更先のチャネルを選択し、相手装置2との無線通信に使用するチャネルを変更する場合には、図11(b)に示すチャネル選択順位情報を参照して変更先のチャネルを選択し、相手装置3との無線通信に使用するチャネルを変更する場合には、図11(a)に示すチャネル選択順位情報を参照して変更先のチャネルを選択するようにすればよい。
図11(a)〜(c)に示すチャネル選択順位情報には、各チャネルのチャネル選択順位(図11では、“選択順位”と略記)の他に、当該チャネル選択順位(スコア)の算出根拠となった各種情報(通信品質の評価項目(この例では、CRCエラー率およびフレーム再送率)、信号強度(最小の信号強度:端末が複数ある中で最小のもの)、および干渉波の有無)が格納されている。これらの情報は定期的に更新され、各チャネルのチャネル選択順位(スコア)もこれら情報を用いて所定のアルゴリズムにしたがって更新される。上記実施形態のチャネル選択順位情報には各チャネルのチャネル選択順位(スコア)のみが含まれていたが、本変形例のようにチャネル選択順位の算出根拠となった各種情報(或いはその一部の情報)が含まれていてもよい。なお、本発明の無線通信装置の相手装置が一台のみである場合には、図11(a)〜(c)に示すチャネル選択順位情報の何れか一つだけをRAM214に記憶させておけば良い。
また、本発明の無線通信装置の相手装置が複数である場合、当該無線通信装置の複数の相手装置の配置態様には種々の態様が考えられる。例えば、3以上の無線通信装置を線状に連ねた無線通信システムであれば、無線アクセスポイント装置102−1、無線アクセスポイント装置103−1、無線アクセスポイント装置102−2、無線アクセスポイント装置103−2・・・といった具合に無線アクセスポイント装置120および103を交互に配置すれば良い。この無線通信システムでは、無線アクセスポイント装置102−1と無線アクセスポイント装置103−1の間の無線通信のチャネルは、無線アクセスポイント装置102−1がチャネル選択順位決定処理(ステップS301)を実行することで定まるチャネル選択順位にしたがって決定される。同様に、無線アクセスポイント装置103―1と無線アクセスポイント装置102−2の間の無線通信のチャネルは、無線アクセスポイント装置102−2により定められたチャネル選択順位にしたがって決定され、無線アクセスポイント装置102−2と無線アクセスポイント装置103−2の間の無線通信のチャネルも、無線アクセスポイント装置102−2により定められたチャネル選択順位にしたがって決定される。つまり、無線アクセスポイント102−2は、無線アクセスポイント103−1および無線アクセスポイント103−2の各々に対応付けて記憶した各チャネル選択順位情報の表すチャネル選択順位にしたがって各々との無線通信のチャネルを相手装置毎に変更する。そのため、無線アクセスポイント102−2と無線アクセスポイント103−1との間の無線通信のチャネルと、無線アクセスポイント102−2と無線アクセスポイント103−2との間の無線通信のチャネルが、同じになるとは限らない。
また、1つの無線通信装置を中心として複数の無線通信装置が放射状に配置されたスター型のネットワークトポロジの無線通信システムに本発明を適用する場合には、無線アクセスポイント102を上記スター型のネットワークトポロジの中心に配置し、複数の無線アクセスポイント103の各々を上記中心から放射状に配置すればよい。そして、無線アクセスポイント102に複数の無線アクセスポイント装置103の各々との無線通信に使用するチャネルについてのチャネル選択順位を表すチャネル選択順位情報を当該無線アクセスポイント装置103と対応付けて記憶させておき、無線アクセスポイント装置103との無線通信に使用するチャネルをその無線アクセスポイント装置103に対応するチャネル選択順位情報の示すチャネル選択順位にしたがって変更する処理を無線アクセスポイント装置103毎に無線アクセスポイント装置102に実行させるようにすればよい。
(3)上記実施形態ではWDSモードで無線通信する無線アクセスポイント装置(無線アクセスポイント装置102および無線アクセスポイント装置103)への本発明の適用例を説明した。しかし、本発明では、ビーコンを用いないためアドホックモードの無線通信への適用も可能であり、無線アクセスポイント装置と無線通信端末間のインフラストラクチャモードの無線通信への適用も可能である。つまり、本発明の無線通信装置は無線アクセスポイント装置に限定される訳ではなく、無線通信端末であっても良い。
(4)上記実施形態では、レーダ波の検知またはハートビートの受信タイムアウトを契機にチャネル変更を行う態様について説明した。しかし、図4のチャネル選択順位決定処理のステップS408において計算されるチャネル評価スコアが予め定められた閾値を下回ったことを契機としてチャネル変更を行う態様であっても良く、両者の組み合わせであっても良い。要は、相手装置との無線通信に使用中のチャネルの通信品質に応じてチャネル変更の要否を判断する態様であれば良い。また、上記実施形態では、相手装置から送信されたハートビートについての受信タイムアウトが発生した場合(すなわち、使用中のチャネルの通信品質が劣化した場合)または干渉波を検出した場合にチャネル変更を行ったが、何れか一方のみの監視を行ってチャネル変更の要否を判断しても良い。
(5)上記実施形態では、ハートビート受信タイマ部206のタイマ値の初期値を15秒としたが、当該初期値は必ずしも15秒である必要はない。また、レーダ波検知時の初期値の増分についても同様である。ただし、上記初期値(或いは増分)が余りにも長くなると無線の送受信が停止している時間が長くなり無線通信がスムーズに行われなくなる。逆に、余りにも短すぎるとハートビートの受信タイムアウトに起因するチャネル変更が頻繁に行われスムーズな無線通信が行われなくなる。上記初期値および初期値の増分については適宜実測を行って好適な値に定めるようにすれば良い。なお、上記初期値および初期値の増分を図4のチャネル選択順位決定処理のステップS408で計算したチャネル評価スコアにより、可変とする態様をとっても良い。チャネル評価スコアが高いほどスムーズにハートビートを送受信できるので、当該スコアが高いほど上記初期値および初期値の増分を小さくするといった具合である。なお、初期値が充分に大きければ上記増分を設ける必要はない。また、ハートビート受信タイマ部206をカウントアップを行うタイマで実現し、当該タイマの値が上記初期値等に達したことを契機としてチャネル変更が必要と判定するようにしてもよい。
(6)上記実施形態では、図4に示すチャネル選択順位決定処理を無線アクセスポイント装置102のみで実行した。しかし、図4のチャネル選択順位決定処理をチャネル評価情報収集処理とチャネル評価スコア計算処理に分割して、各処理を無線アクセスポイント装置102および103の各々に分散して行わせても良い。詳述すると、図4に示すチャネル選択順位決定処理は、ステップS408からステップS410のチャネル評価スコア計算処理と、それ以外のチャネル評価情報収集処理に分割することができる。各処理は必ずしも同じ無線通信装置で行わなければいけないわけではないので、各無線通信装置間に情報のやり取りがあれば、各処理を異なる無線通信装置において行う態様をとっても良い。無線アクセスポイント装置102および103は定期的にハートビートを互いに送受信しているので、例えば、無線アクセスポイント装置102がチャネル評価スコア計算処理を行い、無線アクセスポイント装置103がチャネル評価情報収集処理を行っても良い。この場合、無線アクセスポイント装置102が送信するハートビートのペイロードにはチャネル評価スコア計算処理の結果であるチャネル選択順位情報を書き込んでおき、無線アクセスポイント装置103が送信するハートビートのペイロードにはチャネル評価情報(BSSIDの数やCRCエラー率、フレーム再送率など)を書き込んでおくようにすれば良い。このような態様によれば、チャネル評価情報収集処理およびチャネル評価スコア計算処理の各処理負荷を2つの無線通信装置に分散させることが可能になる。
(7)チャネル選択順位決定処理(チャネル評価情報収集処理およびチャネル評価スコア計算処理)、ハートビート送信処理およびハートビート受信処理の各処理についても同様に複数の無線通信装置に分散実行させても良い。図12は、この分散態様の組み合わせを示す表である。上記において説明した一実施形態は、図12のパターン1に相当する。
図12のパターン2では、チャネル選択順位決定処理とハートビート送信処理は無線アクセスポイント装置102が行い、ハートビート受信処理は無線アクセスポイント装置103が行う。具体的には、無線アクセスポイント装置102におけるメイン処理からステップS304、S305、S306およびS307の各処理を削除し、無線アクセスポイント装置103におけるメイン処理からステップS301、S302およびS303の各処理を削除するのである。このパターン2では、無線アクセスポイント装置103はハートビートの送信を行わないため、無線アクセスポイント装置102にはハートビート受信タイマ部206を設ける必要はなく、無線アクセスポイント装置103にはハートビート送信タイマ部207を設ける必要はない。
図12のパターン3では、チャネル評価情報収集処理は無線アクセスポイント装置102が実行し、チャネル評価スコア計算処理は無線アクセスポイント装置103が実行し、ハートビート送信処理とハートビート受信処理は無線アクセスポイント装置102および103の両方が実行する。
図12のパターン4〜6は、パターン1〜3の無線アクセスポイント装置102と無線アクセスポイント装置103を各々の役割を入れ換えただけに過ぎないので、詳細な説明は省略する。
図12のパターン7では、全ての処理を無線アクセスポイント装置102および103の両者が行う。無線アクセスポイント装置102および103が送信するハートビートのペイロードには、各々独立して決定したチャネル選択順位情報が各々書き込まれている。無線アクセスポイント装置102および103は互いに隣接するように設置されるため、各々の決定したチャネル選択順位情報は同じになると考えられる。しかし、チャネル評価情報収集処理の方法によっては、無線アクセスポイント装置102および103が各々独立に決定したチャネル選択順位情報が異なることもある。このような場合、事前に決定した片方の無線アクセスポイント装置のチャネル選択順位情報を優先的に用いるようにしても良いし、無線アクセスポイント装置102および103が決定したチャネル選択順位情報を比較して異なる場合には、アラーム等を用いて無線通信システム1の使用者に状況を伝達するような態様をとっても良い。
図12のパターン8は、チャネル評価スコア計算処理のみ無線アクセスポイント装置102が実行し、残りの各処理を無線アクセスポイント装置102および103の両者に実行させる態様である。このパターン8では、無線アクセスポイント装置102が送信するハートビートのペイロードにはチャネル評価スコア計算処理の結果であるチャネル選択順位情報が書き込まれており、無線アクセスポイント装置103が送信するハートビートのペイロードにはチャネル評価情報が書き込まれている。パターン8では、最終的なチャネル選択順位決定処理は無線アクセスポイント装置102が行うので、無線アクセスポイント装置102および103が共有するチャネル選択順位情報が異なることはないが、両者が収集したチャネル評価情報が異なる場合がある。このような場合には、パターン7のように片方の無線アクセスポイント装置が収集したチャネル評価情報を優先的に用いる態様をとっても良いし、アラーム等で使用者に状況を伝達する態様をとっても良い。
図12のパターン9は、パターン8の無線アクセスポイント装置102および103を入れ換えただけである。このパターン9では、チャネル評価スコア計算処理を無線アクセスポイント装置103が行う。そのため、詳細な説明は省略する。
(8)上記実施形態では、無線アクセスポイント装置102(或いは103)のROM215に、本実施形態の特徴を顕著に示す処理をCPU205に実行させる制御プログラムが予め記憶されていた。しかし、CD−ROM(Compact Disk-Read Only Memory)などのコンピュータ読み取り可能な記録媒体に上記制御プログラムを書き込んで配布しても良く、インターネットなどの電気通信回線経由のダウンロードにより上記制御プログラムを配布しても良い。このようにして配布される制御プログラムにしたがって一般的な無線通信装置の制御部(CPUなどのコンピュータ)を作動させることで当該無線通信装置を本発明の無線通信装置として機能させることが可能になるからである。また、上記実施形態では、チャネル選択順位情報の示す優先順位の高い順に相手装置との無線通信に使用するチャネルを選択するチャネル選択部と、無線通信に使用中のチャネルの通信品質または干渉波の有無に応じてチャネル変更の要否を相手装置毎に判定する判定部と、チャネル変更が必要と前記判定部により判定された相手装置との無線通信に用いるチャネルを記憶装置に記憶されているチャネル選択順位情報の示す優先順位の高い順に選択したチャネルに変更するチャネル変更部をソフトウェアモジュールにより実現したが、これら各部を電子回路等のハードウェアモジュールにより実現してもよい。同様に、ハートビート受信タイマ部206のリセットについてもソフトウェアモジュールで実現するのではなく専用のハードウェア(リセット部)により実現してもよく、チャネル選択順位情報の更新についても専用のハードウェア(チャネル選択順位更新部)により実現してもよい。例えば、図13に示すように、各々ハードウェアで実現されたチャネル選択部、判定部、チャネル変更部およびチャネル選択順位更新部と、チャネル選択順位情報を記憶した記憶部(記憶装置)とを組み合わせて無線アクセスポイント装置102および103を構成すればよい。
(9)上記実施形態では、チャネル選択順位情報は無線アクセスポイント装置102(或いは103)に内蔵された記憶装置(すなわち、RAM214)に記憶されていたが、図14に示すように、無線アクセスポイント装置102および103がアクセス可能な外部の記憶装置(例えば、ネットワーク対応のハードディスク装置など、インターネットなどの電気通信回線経由で無線アクセスポイント装置102がアクセス可能な記憶装置)にチャネル選択順位情報が記憶されていてもよい。なお、図14では、無線アクセスポイント装置102および103の各々を、上記チャネル選択部、判定部およびチャネル変更部の組み合わせにより構成する場合について例示されている。このように、無線アクセスポイント装置102および103がアクセス可能な外部の記憶装置にチャネル選択順位情報を記憶させておく態様によれば、無線アクセスポイント装置102および103によるチャネル選択順位情報の共有を自然に実現することができる。
(10)上記実施形態では、チャネル選択順位情報にしたがって選択した変更先のチャネルを使用する前に変更先のチャネルにおける干渉波の不存在を所定期間に亙って確認するチャネル変更確認処理(図7におけるステップS708〜S711の処理)をCPU205に実行させた。しかし、当該チャネル変更確認処理を実行するチャネル使用確認部をCPU205とは異なるハードウェアとして実装し、CPU205にはチャネル使用確認部による確認結果に応じて干渉波の有無を監視させるようにしてもよい。また、上記実施形態では、無線アクセスポイント装置102および103に5GHz帯の無線通信を行わせたが、2.4GHz帯の無線通信を行わせてもよい。2.4GHz帯はレーダで使用されることが無いため、無線アクセスポイント装置102および103に2.4GHz帯の無線通信を行わせる場合には、チャネル変更確認処理を省略しても良い。