(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本実施形態における無線通信システムのシステム構成を示す図である。本実施形態の無線通信システムは、複数の無線LANアクセスポイント10(図では“AP”と記載する)、複数の無線端末20を備える。無線通信システムの近傍には単数もしくは複数の干渉源30が存在する。
無線LANアクセスポイント10は、無線LANのアクセスポイントであり、自装置(無線LANアクセスポイント10)に接続された無線端末20と無線通信を行う。
【0013】
無線端末20は、例えばスマートフォン、携帯電話機、PDA(Personal Digital Assistant)、携帯ゲーム装置、タブレット装置、ノート型パーソナルコンピュータ等の情報処理装置を用いて構成される。無線端末20は、無線LANアクセスポイント10と無線通信を行う。
干渉源30は、無線LANアクセスポイント10と無線端末20とが送受信する無線信号に干渉する電波(以下、「干渉電波」という。)を出力する装置である。
【0014】
図2は、無線LANアクセスポイント10(AP)の機能構成を表す概略ブロック図である。無線LANアクセスポイント10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、無線通信プログラムを実行する。無線通信プログラムの実行によって、無線LANアクセスポイント10は、キャリアセンスタイミング記憶部100、キャリアセンス実施部110、コアデバイス120、アンテナ130、通信部140、インターフェース150を備える装置として機能する。また、コアデバイス120は、干渉情報記憶部121、計算部122、判断部123として機能する。なお、無線LANアクセスポイント10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。また、無線通信プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、無線通信プログラムは、電気通信回線を介して送受信されても良い。
【0015】
キャリアセンスタイミング記憶部100は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。キャリアセンスタイミング記憶部100は、キャリアセンスを行うタイミングを記憶している。
キャリアセンス実施部110は、キャリアセンスタイミング記憶部100に記憶されている所定のタイミングでキャリアセンスを行う。キャリアセンス実施部110は、キャリアセンスを行うことによって干渉情報を取得する。干渉情報は、干渉電波に関する情報である。干渉情報は、例えば、無線LANアクセスポイント10によって受信された干渉電波の強さ(以下、「干渉電波強度」という。)である。
【0016】
コアデバイス120は、無線LANアクセスポイント10の主要な情報処理を行う。以下、コアデバイス120の具体的な構成について説明する。
干渉情報記憶部121は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。干渉情報記憶部121は、干渉情報DB(Data Base:データベース)を記憶している。干渉情報DBは、キャリアセンス実施部110が取得した干渉情報と他の無線LANアクセスポイント10が取得した干渉情報とを格納する。
計算部122は、干渉情報DBに格納されている干渉情報に基づいて、チャネルの計算処理を行う。
【0017】
判断部123は、判断処理を行う。判断処理とは、正否を判断する処理である。
アンテナ130は、通信部140から出力された送信信号を電波として送出する。また、アンテナ130は、電波を受信して受信信号を通信部140に出力する。
通信部140は、アンテナ130を介して無線端末20及び他の無線LANアクセスポイント10との間での信号を送受信する。
インターフェース150は、有線接続又は無線接続により、LANやWAN(Wide Area Network)などの外部ネットワークと接続する。インターフェース150は、無線LANアクセスポイント10と外部ネットワークとのデータの入出力を行う。
【0018】
図3は、干渉情報DBの構成図である。
干渉情報DBは、干渉情報を表すレコード40を複数有する。レコード40は、ホップ数、干渉源特定情報、電波ch(チャネル)及び干渉電波強度の値を有する。
ホップ数は、無線LANアクセスポイント10が他の無線LANアクセスポイント10を経由して宛先まで干渉情報を中継する際に通過する無線LANアクセスポイント10の数を表す。すなわち、ホップ数は、レコード40によって表される干渉情報が、ホップ数を基準としてどれだけ遠くに位置する他の無線LANアクセスポイント10によって取得された干渉情報であるかを表す。例えば、ホップ数が“0”の干渉情報は、自装置によって取得された干渉情報である。ホップ数が“1”の干渉情報は、無線LANアクセスポイント10の隣(1ホップ先)に存在する他の無線LANアクセスポイント10によって取得された干渉電波である。ホップ数が“n”の干渉情報は、nホップ先の他の無線LANアクセスポイント10によって取得された干渉情報である。
【0019】
干渉源特定情報は、レコード40によって表される干渉情報に関する干渉電波の出力元(干渉源30)を特定するための情報である。干渉源特定情報の具体例として、干渉源30のMACアドレス及びBSSIDがある。干渉電波MACアドレスは、干渉電波を出力している干渉源30のMACアドレスである。干渉電波BSSIDは、干渉電波を出力している無線LANアクセスポイント10のBSSIDである。
【0020】
電波chは、レコード40によって表される干渉情報に関する干渉電波のチャネルを表す。干渉電波強度は、レコード40によって表される干渉情報に関する干渉電波が無線LANアクセスポイント10によって受信された際の電波強度を表す。干渉電波強度は、例えば単位dBmで表されても良い。
【0021】
判断部123は、レコード40の中で、干渉源特定情報が同一で、且つ、ホップ数が異なるレコード40が存在するか否か判断する。判断部123は、このような条件を満たすレコード40が存在する場合、そのレコード40の一方を干渉情報DBから削除する。。例えば、干渉電波MACアドレスと干渉電波BSSIDとがいずれも同一である場合に、判断部123は干渉源特定情報が同一であると判断しても良い。また、判断部123は、レコード40を削除する場合、ホップ数がより大きいレコード40を干渉情報DBから削除しても良い。
【0022】
このような削除が行われることによって、無線LANアクセスポイント10は、自装置に対してより近くに位置する無線LANアクセスポイント10によって取得された干渉情報を参照して処理を行うことが可能となる。同一の干渉源30に関する干渉情報が複数存在する場合、一般的には自装置に最も近い位置で取得された干渉情報が、自装置における干渉情報に最も近い情報となる。そのため、上記のような処理を行うことによって、干渉電波についてより精度の高い判断を行うことが可能となる。
【0023】
P1は、自装置によって取得された干渉情報を表す。P1の干渉情報では、いずれもホップ数が0である。そのため、P1が表す干渉情報は、他の無線LANアクセスポイント10から受信された干渉情報ではなく、自装置によって取得された干渉情報であることがわかる。
【0024】
P2は、1ホップ先に存在する他の無線LANアクセスポイント10によって取得された干渉情報を表す。P2の干渉情報では、いずれもホップ数が1である。そのため、P2が表す干渉情報は、自装置と隣接する無線LANアクセスポイント10から受信された干渉情報であることがわかる。
【0025】
P3は、nホップ先に存在する他の無線LANアクセスポイント10によって取得された干渉情報を表す。P3の干渉情報では、いずれもホップ数がnである。そのため、P3が表す干渉情報は、自装置とnホップ分隣に位置する無線LANアクセスポイント10から受信された干渉情報であることがわかる。
無線LANアクセスポイント10は、0〜nホップ先に存在する他の無線LANアクセスポイント10との間で干渉情報DBを交換する。
【0026】
図4及び
図5は、本実施形態の電波干渉抑制方法の処理の流れを示すフローチャートである。
無線LANアクセスポイント10は、起動時もしくはキャリアセンスタイミング記憶部100に記憶された所定のタイミング(例えば、前回の処理からユーザ定義時間が経過した後)で処理を開始する。キャリアセンス実施部110は、キャリアセンスを行うことによって干渉情報を取得する。キャリアセンス実施部110は、取得した干渉情報を干渉情報記憶部121に記録する(ステップS101)。
判断部123は、キャリアセンス前後で干渉情報記憶部121に記録されている干渉情報DBに変更があったか否かを確認する(ステップS102)。
【0027】
判断部123は、キャリアセンス前後で干渉情報記憶部121に記録されている干渉情報DBに変更があった場合(ステップS102−YES)、通信部140にアドホックビーコン発出要求を通知する。通信部140は、判断部123からの通知に応じて、他の無線LANアクセスポイント10にアドホックビーコンを発出する(ステップS103)。アドホックビーコンは、アドホックモードでの無線通信を要求するために用いられるビーコンである。
【0028】
判断部123は、干渉情報DBの交換処理の前後で干渉情報DBに変更があったか否かを判断する(ステップS104)。
判断部123は、干渉情報DBの交換処理の前後で干渉情報DBに変更があった場合(ステップS104−YES)、通信部140にアドホックビーコン発出要求を通知する。通信部140は、判断部123からの通知に応じて、他の無線LANアクセスポイント10にアドホックビーコンを発出する(ステップS105)。
【0029】
判断部123は、所定の設定回数以上ステップS101〜ステップS105の処理を繰り返したか否かを判断する(ステップS106)。判断部123は、ステップS101〜ステップS105の処理が所定の設定回数未満である場合(ステップS106−NO)、処理を繰り返し実行する必要があると判断する。この場合、無線LANアクセスポイント10は、ステップS101から処理を繰り返し実行する。一方、判断部123は、ステップS101〜ステップS105の処理が所定の設定回数以上である場合(ステップS106−YES)、ランダム時間待機する(ステップS107)。通信部140は、ランダム時間経過後にアドホックビーコンの発出を停止する(ステップS108)。
【0030】
計算部122は、無線端末20との間での無線通信に使用するチャネル(以下、「使用チャネル」という。)の計算処理を行う。計算部122は、計算処理を行うことによって、使用チャネルを干渉電波強度の小さいチャネルに決定する。通信部140は、計算部122が決定したチャネルを使用チャネルに設定する。そして、通信部140は、新たに設定された使用チャネルを用いて、インフラストラクチャモードで無線端末20との間の無線通信を実行する(ステップS109)。通信部140は、干渉源30の干渉電波による影響が抑制されていない場合、使用チャネルを変更前の使用チャネルに戻す。通信部140は、例えば無線端末20との間の無線通信において再送エラー数が閾値を超えた場合に、干渉電波による影響が抑制されていないと判断しても良い。
【0031】
判断部123は、自装置の使用チャネルが変更されたか否かを判断する(ステップS110)。判断部123は、使用チャネルが変更された場合(ステップS110−NO)、通信部140にアドホックビーコン発出要求を通知する。通信部140は判断部123からの通知に応じて、他の無線LANアクセスポイント10にアドホックビーコンを発出する(ステップS111)。通信部140がステップS111で発出するアドホックビーコンには、新たに設定された使用チャネルを表す情報が含まれる。通信部140は、所定の時間が経過すると、アドホックビーコンの発出を停止する(ステップS112)。
【0032】
ステップS102の処理において、判断部123は、キャリアセンス前後で干渉情報DBに変更が無い場合(ステップS102−NO)、通信部140にアドホックビーコンの発出要求を通知しない。
ステップS104の処理において、判断部123は、干渉情報DB交換前後で干渉情報DBに変更が無い場合(ステップS106−NO)、通信部140にアドホックビーコンの発出要求を通知しない。
【0033】
ステップS110の処理において、判断部123は、自装置の使用チャネルが変更されていない場合(ステップS110−NO)、通信部140にアドホックビーコンの発出要求を通知しない。
このように、
図4及び
図5に示される処理については、少なくともユーザ定義時間+ランダム時間が経過してからでなければ、次の処理が実行されない。そのため、少なくともユーザ定義時間+ランダム時間の間は、使用チャネルが変更されることはない。したがって、頻繁に使用チャネルが変更されてしまうことにより、無線LANアクセスポイント10と無線端末20との間の通信が頻繁に切れてしまうことを防止できる。
【0034】
図6は、干渉情報DBの交換処理の流れを示すフローチャートである。
通信部140は、他の無線LANアクセスポイント10からアドホックビーコンの応答を受信した場合(ステップS120−YES)、アドホックモードで他の無線LANアクセスポイント10との間での無線通信を行う。
通信部140は、他の無線LANアクセスポイント10との間で無線通信を行うことによって干渉情報DBの交換処理を行う。具体的には、通信部140は、自装置の干渉情報記憶部121が記憶している干渉情報DBを他の無線LANアクセスポイント10に送信する。さらに、通信部140は、他の無線LANアクセスポイント10が保持している干渉情報DBを受信し、自装置の干渉情報記憶部121に記録する(ステップS121)。
【0035】
ステップS120の処理において、通信部140は、他の無線LANアクセスポイント10からアドホックビーコンの応答を受信できなかった場合(ステップS120−NO)、アドホックビーコンの応答を受信できるまで処理を繰り返し実行する。
【0036】
図7は、本実施形態のチャネル計算方法の処理の流れを示すフローチャートである。なお、
図7では、ホップ数の数を表す変数を“A”と記載する。
計算部122は、干渉情報DBに格納されている干渉情報に基づいて、チャネル計算処理を開始する。まず、計算部122は、干渉情報DBのホップ数を表す変数Aに“0”を代入する(ステップS201)。判断部123は、ホップ数が“0”の干渉情報の中で、干渉電波強度が最も小さいチャネルが複数あるか否か判断する(ステップS202)。
【0037】
干渉電波強度が最も小さいチャネルが複数ある場合(ステップS202−YES)、判断部123は、ホップ数が設定値n以上であるか否かを判断する(ステップS203)。設定値は、ユーザによって任意に決められても良いし、予め設定されていても良い。
ホップ数が設定値n未満である場合(ステップS203−NO)、計算部122は、この計算処理の以後の処理では、干渉電波強度が高いと判断したチャネルを除いて計算処理する(ステップS204)。計算部122は、ホップ数に“1”を加算してステップS202以降の処理を繰り返し実行する(ステップS205)。
【0038】
ステップS202の処理において、干渉電波強度が最も小さいチャネルが1つの場合(ステップS202−NO)、計算部122は、自装置の使用チャネルを、干渉電波強度が最も小さいチャネルに決定する(ステップS207)。
ステップS203の処理において、ホップ数が設定値n以上である場合(ステップS203−YES)、計算部122は、干渉電波強度の小さいチャネルの中からランダムに一つのチャネルを選択する(ステップS206)。そして、計算部122は、選択したチャネルを使用チャネルとして設定する。計算部122は、チャネルの中からチャネルを決定する際、可能であれば現在、無線端末20との無線通信に使用しているチャネルに決定する。
【0039】
図8は、本実施形態の具体的な動作を示すシーケンス図である。
以下の説明では、説明を簡単化するために、無線LANアクセスポイント10の台数を2台(AP1及びAP2)、AP1が検知できる干渉源30を干渉源1とし、AP2が検知できる干渉源30を干渉源2として処理の流れを説明する。また、AP1及びAP2は、互いに通信可能である。
【0040】
干渉源1は、インフラストラクチャモードで運用されている(ステップS301)。AP1は、インフラストラクチャモードで運用されている(ステップS302)。AP2は、ユーザによって起動され、インフラストラクチャモードで運用される(ステップS303)。干渉源2は、ビーコン(例えば、1ch)を発出する(ステップS304)。
【0041】
AP1は、インフラストラクチャモードでビーコン(例えば、1ch)を発出する(ステップS305)。干渉源1は、インフラストラクチャモードでビーコン(例えば、2ch)を発出する(ステップS306)。AP2のキャリアセンス実施部110は、キャリアセンスを行う(ステップS307)。
【0042】
AP1は、インフラストラクチャモードで再びビーコンを発出する(ステップS308)。AP2のキャリアセンス実施部110は、キャリアセンスを行う。キャリアセンスの実行において、キャリアセンス実施部110は、各装置(AP1及び干渉源2)から発出されたビーコンを受信する。このとき、干渉源1から発出されたビーコンはAP2に到達していない。そのため、AP2は、干渉源1から発出されたビーコンを受信しない。キャリアセンス実施部110は、各ビーコンを受信することによって、AP1の干渉情報(例えば、1ch)と、干渉源2の干渉情報(例えば、1ch)とを取得する(ステップS309)。キャリアセンス実施部110は、取得した二つの干渉情報を干渉情報DBに格納することによって干渉情報DBを変更する(ステップS310)。
【0043】
AP2の判断部123は、干渉情報DBに格納している干渉情報が変更されたことを通信部140に通知する。AP2の通信部140は、アドホックモードに切り替えを行い、AP1にアドホックビーコンを発出する(ステップS311)。
AP1の通信部140は、AP2によって発出されたアドホックビーコンを受信することによって、インフラストラクチャモードからアドホックモードに切り替える。AP1及びAP2は、アドホックモードで無線通信を行うことによって、AP1が保持している干渉情報DBと、AP2が保持している干渉情報DBとを交換する(ステップS312)。AP1は、この交換によって、干渉源2の干渉情報を取得する。AP2は、この交換によって、干渉源1の干渉情報を取得する。
【0044】
AP2の通信部140は、アドホックビーコンの発出を停止する(ステップS313)。AP2の計算部122は、干渉情報DBに基づいてチャネルの計算処理を行う。AP2の計算部122は、計算処理を行うことによって干渉が小さいチャネルを使用チャネルとして設定する。AP2は、インフラストラクチャモードで無線端末20との間での無線通信を行う(ステップS314)。例えば、AP2は、干渉源1及び干渉源2において使用されていないチャネル(例えば3ch)を使用チャネルとして決定しても良い。AP2の通信部140は、アドホックビーコンをAP1に発出する(ステップS315)。AP2の通信部140は、AP1にアドホックビーコンを発出することによって、使用チャネルをAP1に通知する(ステップS316)。その後、AP2の通信部140は、アドホックビーコンの発出を停止する(ステップS317)。
【0045】
AP1は、AP2によって発出されたアドホックビーコンを受信することによって、インフラストラクチャモードからアドホックモードに切り替える。AP1は、AP2から通知された使用チャネルを記憶する。AP1は、キャリアセンスタイミング記憶部100に記憶されている所定のタイミングで処理を開始する(ステップS318)。まず、AP1のキャリアセンス実施部110は、キャリアセンスを行う(ステップS319)。
【0046】
AP1のキャリアセンス実施部110は、キャリアセンスを行うことによって、干渉情報を取得する(ステップS320)。キャリアセンス実施部110は、取得した二つの干渉情報を干渉情報DBに格納することによって干渉情報DBを変更する(ステップS321)。
AP1の判断部123は、干渉情報DBを格納している干渉情報が変更されたことを通信部140に通知する。AP1の通信部140は、アドホックモードに切り替えを行い、AP2にアドホックビーコンをAP2に発出する(ステップS322)。
【0047】
AP2の通信部140は、AP1によって発出されたアドホックビーコンを受信することによって、インフラストラクチャモードからアドホックモードに切り替える。AP1及びAP2は、アドホックモードで無線通信を行うことによって、AP1が保持している干渉情報DBと、AP2が保持している干渉情報DBとを交換する(ステップS323)。
【0048】
AP1の通信部140は、アドホックビーコンの発出を停止する(ステップS324)。AP1の計算部122は、干渉情報DBに基づいてチャネルの計算処理を行う。AP1の計算部122は、計算処理を行うことによって干渉が小さいチャネルを使用チャネルとして設定する。AP1は、インフラストラクチャモードで無線端末20との間での無線通信を行う(ステップS325)。例えば、AP1は、干渉源1、干渉源2及びAP2において使用されていないチャネル(例えば4ch)を使用チャネルとして決定しても良い。AP1の通信部140は、アドホックビーコンをAP2に発出する(ステップS326)。AP1の通信部140は、AP2にアドホックビーコンを発出することによって、使用チャネルをAP2に通知する(ステップS327)。
【0049】
以上のように構成された無線LANアクセスポイント10は、アドホックモードによって他の無線LANアクセスポイント10の干渉情報DBと、自装置が保持している干渉情報DBとを交換することができる。そのため、無線LANアクセスポイント10は、自身が検知できない干渉情報を取得することができる。その結果、無線LANアクセスポイント10は、インフラストラクチャモードで無線端末20との間での無線通信する際に、自身が検知した干渉情報のみならず、自身が検知できない干渉情報をも使用して、使用チャネルを選択することが可能となる。したがって、より効率よく干渉電波を抑止し、通信品質を向上することが可能となる。
【0050】
<変形例>
干渉情報DBが格納する干渉源特定情報は、干渉源を特定できる情報であれば、MACアドレスやBSSID以外の情報が用いられても良い。
設定回数は、ユーザによって任意に決定されても良い。
ランダム時間は、判断部123が出荷時に予め記憶していても良いし、ユーザによって任意に決定されても良い。
無線LANアクセスポイント同士の干渉情報DBの交換は、アドホックビーコンを受信する度に行われても良い。
ステップS323の処理において、AP1とAP2とは、それぞれが格納する干渉情報DBを交換しなくとも良い。例えば、無線LANアクセスポイント10は、前回の交換から所定時間が経過するまでの間は、干渉情報DBを交換しないように構成されても良い。
【0051】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。