(57)【要約】【課題】ローミングによる通信時間の損失を低減することができる通信装置を提供する。【解決手段】接続している中継装置を識別する装置識別情報を記憶する識別情報記憶部１３１と、接続可能な中継装置からの応答を要求する要求メッセージを送信し、要求メッセージを受信した中継装置のそれぞれから中継装置の装置識別情報を含む応答メッセージを受信する送受信部１２１ａと、受信した応答メッセージに、識別情報記憶部１３１に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定するスキャン結果判定部１２２と、受信した応答メッセージのいずれもが、識別情報記憶部１３１に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求部１２４と、を備えた。【選択図】        図８
2010021765.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を中継する複数の中継装置に接続可能な通信装置であって、
接続している中継装置を識別する装置識別情報を記憶する識別情報記憶手段と、
接続可能な中継装置からの応答を要求する要求メッセージを送信する送信手段と、
前記要求メッセージを受信した中継装置のそれぞれから、前記要求メッセージを受信した中継装置の装置識別情報を含む応答メッセージを受信する受信手段と、
受信した前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定する受信結果判定手段と、
受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、
を備えたことを特徴とする通信装置。
【請求項２】
前記中継装置は、無線通信のネットワークを識別するネットワーク識別情報が付与されており、
前記識別情報記憶手段は、接続している中継装置の前記装置識別情報と、接続している前記中継装置に付与された前記ネットワーク識別情報とを記憶し、
前記送信手段は、前記識別情報記憶手段に記憶された前記ネットワーク識別情報を含む前記要求メッセージを送信し、
前記受信手段は、前記要求メッセージを受信した中継装置のうち、前記要求メッセージに含まれる前記ネットワーク識別情報と一致する前記ネットワーク識別情報が付与された中継装置のそれぞれから前記応答メッセージを受信すること、
を特徴とする請求項１に記載の通信装置。
【請求項３】
前記ネットワーク識別情報は、ＩＥＥＥ８０１．１１に準拠したＳＳＩＤ（Service Set Identifier）であること、
を特徴とする請求項２に記載の通信装置。
【請求項４】
前記送信手段は、さらに、前記識別情報記憶手段に記憶された前記ネットワーク識別情報と、前記識別情報記憶手段に記憶された前記装置識別情報とを含む前記要求メッセージを送信し、
前記受信手段は、さらに、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを受信した中継装置のうち、前記要求メッセージに含まれる前記ネットワーク識別情報と一致する前記ネットワーク識別情報が付与された中継装置から前記応答メッセージを受信し、
前記受信結果判定手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージに対する前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定し、
前記接続要求手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージに対する前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、
を特徴とする請求項２に記載の通信装置。
【請求項５】
前記装置識別情報は、ＩＥＥＥ８０１．１１に準拠したＢＳＳＩＤ（Basic Service Set Identifier）およびＭＡＣアドレスの少なくとも一方であること、
を特徴とする請求項４に記載の通信装置。
【請求項６】
前記識別情報記憶手段は、さらに、接続している中継装置との無線通信で利用するチャンネルを記憶し、
前記送信手段は、無線通信で利用可能なすべてのチャンネルで前記ネットワーク識別情報のみを含む前記要求メッセージを送信し、前記識別情報記憶手段に記憶されたチャンネルで前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを送信すること、
を特徴とする請求項４に記載の通信装置。
【請求項７】
前記応答メッセージを受信したときの電波強度を検出する電波強度検出手段をさらに備え、
前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記電波強度が予め定められた第１閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、
を特徴とする請求項１に記載の通信装置。
【請求項８】
前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、
前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、
同一の装置識別情報を含む前記応答メッセージの前記電波強度の平均値を算出する算出手段をさらに備え、
前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記電波強度の平均値が前記第１閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、
を特徴とする請求項７に記載の通信装置。
【請求項９】
前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージを受信したときの前記電波強度が前記第１閾値より大きい中継装置に対して接続を要求すること、
を特徴とする請求項７に記載の通信装置。
【請求項１０】
前記応答メッセージを受信したときの電波強度と雑音強度とを検出する強度検出手段と、
前記電波強度と前記雑音強度との比を算出する算出手段と、をさらに備え、
前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記電波強度と前記雑音強度とに対して算出された前記比が予め定められた第２閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、
を特徴とする請求項１に記載の通信装置。
【請求項１１】
前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、
前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、
前記算出手段は、さらに、同一の装置識別情報を含む前記応答メッセージの前記比の平均値を算出し、
前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記比の平均値が前記第２閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、
を特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージに対して算出された前記比が前記第２閾値より大きい中継装置に対して接続を要求すること、
を特徴とする請求項１０に記載の通信装置。
【請求項１３】
前記応答メッセージを受信したときの受信信号の品質尺度を検出する品質尺度検出手段をさらに備え、
前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記品質尺度が予め定められた第３閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、
を特徴とする請求項１に記載の通信装置。
【請求項１４】
前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、
前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、
同一の装置識別情報を含む前記応答メッセージの前記品質尺度の平均値を算出する算出手段をさらに備え、
前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記品質尺度の平均値が前記第３閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、
を特徴とする請求項１３に記載の通信装置。
【請求項１５】
前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージに対して算出された前記品質尺度が前記第３閾値より大きい中継装置に対して接続を要求すること、
を特徴とする請求項１３に記載の通信装置。
【請求項１６】
無線通信を中継する複数の中継装置に接続可能な通信装置で実行される通信プログラムであって、
前記通信装置は、
接続している中継装置を識別する装置識別情報を記憶する識別情報記憶手段を備え、
前記通信装置を、
接続可能な中継装置からの応答を要求する要求メッセージを送信する送信手段と、
前記要求メッセージを受信した中継装置のそれぞれから、前記要求メッセージを受信した中継装置の装置識別情報を含む応答メッセージを受信する受信手段と、
受信した前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定する受信結果判定手段と、
受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、
として機能させる通信プログラム。
【請求項１７】
請求項１６に記載の通信プログラムを記憶したことを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信を中継するアクセスポイントへのローミングを行う通信装置、通信プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
無線ＬＡＮ（Local Area Network）の規格であるＩＥＥＥ８０２．１１では、基地局（アクセスポイント（以下、ＡＰという））と端末局（ステーション（以下、ＳＴＡという））とが相互に無線通信を行うシステムが規定されている。ＡＰは、配置された空間を管理する親局であり、ＡＰに接続するＳＴＡを複数台管理して、ＡＰとＳＴＡとの間の通信を制御する。
【０００３】
ＡＰからの電波の届く物理的範囲に限界が存在するため、ＳＴＡがＡＰを見失わないようにするために、境界付近で電波範囲がオーバーラップするように、複数のＡＰが設置されるのが一般的である。これにより、例えばモバイル用途のＰＣ（パーソナルコンピュータ）が、あるＡＰ（ＡＰ１）から別のＡＰ（ＡＰ２）の方向に移動しながらデータ通信を行う場合に、ＡＰを切り替えるローミングを行って、データ通信が途切れないようにすることができる。
【０００４】
各ＡＰはＳＳＩＤ（Service Set Identifier）と呼ばれる識別情報を所持している。このＳＳＩＤは、ＳＴＡが接続可能な無線通信ネットワークを識別する識別情報である。複数のＡＰは、同一のＳＳＩＤを使用することが可能である。例えば、あるビルの３階で使用するネットワークに対して「Ｆｌｏｏｒ３」というＳＳＩＤを決定し、この階に設置するすべてのＡＰに「Ｆｌｏｏｒ３」を付与することが可能である。
【０００５】
この例のように、あるビルの階ごとにＳＳＩＤを定めている場合、その階内で移動するのみであれば、ローミング機能を使用して問題なく接続が維持できる。一方、別の階に移動した場合は、ＳＳＩＤが異なるためローミングできず、接続が保持できなくなる。このような場合は、移動先の階のＳＳＩＤを指定して再接続処理を実行する必要がある。しかし、再接続処理の間はデータ通信が停止するため望ましくない。
【０００６】
そこで、これを避けるために、例えばビル全体で一つのＳＳＩＤを使用することがある。これにより、別の階に移動した場合であってもローミングによって接続が保持される。
【０００７】
なお、ローミングは、一般に以下のような手法で行われる。まず、ＳＴＡは、データ通信中、定期的に接続可能なＡＰをスキャンするために、接続可能なＡＰからの応答を要求する要求メッセージ（ＰｒｏｂｅＲｅｑｕｅｓｔフレーム）を送信する。そして、ＳＴＡは、その応答メッセージ（ＰｒｏｂｅＲｅｓｐｏｎｓｅフレーム）をＡＰから受信することにより、ローミングによる接続先の候補となるＡＰを検出する。
【０００８】
このようにして検出した複数のＡＰのうちローミングにより接続先とするＡＰを決定する技術としては、受信したメッセージの電波強度が大きいＡＰを優先する技術が提案されている（例えば、特許文献１）。この方法では、ＳＴＡは、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームに含まれるＳＳＩＤが一致しているかどうかを判定し、一致する場合は、電波強度が大きいＡＰに対してローミングする。例えば、ＡＰ１と接続中、ＡＰ１よりＡＰ２からの電波強度の方が大きければＡＰ２へのローミングを行う。また、ＡＰ１の電波強度の方が大きければそのままＡＰ１との接続を保持する。
【０００９】
【特許文献１】特開２００１−３５２５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、このように電波強度によってローミング先を決定する方法では、ローミングが頻繁に発生することによりデータ通信時間の損失が生じる場合があった。
【００１１】
例えば、あるビルのすべての階で同一のＳＳＩＤを使用し、３階に設置されたＳＴＡがビルの窓際に配置されていると仮定する。このような場合、このＳＴＡに対してガラス越しに別の階からの電波が紛れ込むことがある。一般に、このようにしてビルの外部を回って検出される電波は、マルチパス、反射、フェージングなどのさまざまな外的要因により電波強度が安定しない。このため、電波強度のみで判定すると、３階のＡＰと別の階のＡＰとの間のローミングが高頻度で生じる場合がある。そしてこのような場合、再接続処理による停止時間に比べれば短いが、ローミング動作自体によりデータ通信が停止する。
【００１２】
本発明は、上記に鑑みてなされたものであって、ローミングによる通信時間の損失を低減することができる通信装置、通信プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、無線通信を中継する複数の中継装置に接続可能な通信装置であって、接続している中継装置を識別する装置識別情報を記憶する識別情報記憶手段と、接続可能な中継装置からの応答を要求する要求メッセージを送信する送信手段と、前記要求メッセージを受信した中継装置のそれぞれから、前記要求メッセージを受信した中継装置の装置識別情報を含む応答メッセージを受信する受信手段と、受信した前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定する受信結果判定手段と、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、を備えたことを特徴とする。
【００１４】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記中継装置は、無線通信のネットワークを識別するネットワーク識別情報が付与されており、前記識別情報記憶手段は、接続している中継装置の前記装置識別情報と、接続している前記中継装置に付与された前記ネットワーク識別情報とを記憶し、前記送信手段は、前記識別情報記憶手段に記憶された前記ネットワーク識別情報を含む前記要求メッセージを送信し、前記受信手段は、前記要求メッセージを受信した中継装置のうち、前記要求メッセージに含まれる前記ネットワーク識別情報と一致する前記ネットワーク識別情報が付与された中継装置のそれぞれから前記応答メッセージを受信すること、を特徴とする。
【００１５】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記ネットワーク識別情報は、ＩＥＥＥ８０１．１１に準拠したＳＳＩＤ（Service Set Identifier）であること、を特徴とする。
【００１６】
また、請求項４にかかる発明は、請求項２にかかる発明において、前記送信手段は、さらに、前記識別情報記憶手段に記憶された前記ネットワーク識別情報と、前記識別情報記憶手段に記憶された前記装置識別情報とを含む前記要求メッセージを送信し、前記受信手段は、さらに、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを受信した中継装置のうち、前記要求メッセージに含まれる前記ネットワーク識別情報と一致する前記ネットワーク識別情報が付与された中継装置から前記応答メッセージを受信し、前記受信結果判定手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージに対する前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定し、前記接続要求手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージに対する前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、を特徴とする。
【００１７】
また、請求項５にかかる発明は、請求項４にかかる発明において、前記装置識別情報は、ＩＥＥＥ８０１．１１に準拠したＢＳＳＩＤ（Basic Service Set Identifier）およびＭＡＣアドレスの少なくとも一方であること、を特徴とする。
【００１８】
また、請求項６にかかる発明は、請求項４にかかる発明において、前記識別情報記憶手段は、さらに、接続している中継装置との無線通信で利用するチャンネルを記憶し、前記送信手段は、無線通信で利用可能なすべてのチャンネルで前記ネットワーク識別情報のみを含む前記要求メッセージを送信し、前記識別情報記憶手段に記憶されたチャンネルで前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを送信すること、を特徴とする。
【００１９】
また、請求項７にかかる発明は、請求項１にかかる発明において、前記応答メッセージを受信したときの電波強度を検出する電波強度検出手段をさらに備え、前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記電波強度が予め定められた第１閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、を特徴とする。
【００２０】
また、請求項８にかかる発明は、請求項７にかかる発明において、前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、同一の装置識別情報を含む前記応答メッセージの前記電波強度の平均値を算出する算出手段をさらに備え、前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記電波強度の平均値が前記第１閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、を特徴とする。
【００２１】
また、請求項９にかかる発明は、請求項７にかかる発明において、前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージを受信したときの前記電波強度が前記第１閾値より大きい中継装置に対して接続を要求すること、を特徴とする。
【００２２】
また、請求項１０にかかる発明は、請求項１にかかる発明において、前記応答メッセージを受信したときの電波強度と雑音強度とを検出する強度検出手段と、前記電波強度と前記雑音強度との比を算出する算出手段と、をさらに備え、前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記電波強度と前記雑音強度とに対して算出された前記比が予め定められた第２閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、を特徴とする。
【００２３】
また、請求項１１にかかる発明は、請求項１０にかかる発明において、前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、前記算出手段は、さらに、同一の装置識別情報を含む前記応答メッセージの前記比の平均値を算出し、前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記比の平均値が前記第２閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、を特徴とする。
【００２４】
また、請求項１２にかかる発明は、請求項１０にかかる発明において、前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージに対して算出された前記比が前記第２閾値より大きい中継装置に対して接続を要求すること、を特徴とする。
【００２５】
また、請求項１３にかかる発明は、請求項１にかかる発明において、前記応答メッセージを受信したときの受信信号の品質尺度を検出する品質尺度検出手段をさらに備え、前記接続要求手段は、さらに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージを受信したときの前記品質尺度が予め定められた第３閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、を特徴とする。
【００２６】
また、請求項１４にかかる発明は、請求項１３にかかる発明において、前記送信手段は、前記ネットワーク識別情報と前記装置識別情報とを含む前記要求メッセージを複数回送信し、前記受信手段は、複数回送信された前記要求メッセージに対する前記応答メッセージを複数回受信し、同一の装置識別情報を含む前記応答メッセージの前記品質尺度の平均値を算出する算出手段をさらに備え、前記接続要求手段は、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれる前記応答メッセージに対して算出された前記品質尺度の平均値が前記第３閾値より小さい場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求すること、を特徴とする。
【００２７】
また、請求項１５にかかる発明は、請求項１３にかかる発明において、前記接続要求手段は、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージに含まれる装置識別情報の中継装置のうち、対応する前記応答メッセージに対して算出された前記品質尺度が前記第３閾値より大きい中継装置に対して接続を要求すること、を特徴とする。
【００２８】
また、請求項１６にかかる発明は、無線通信を中継する複数の中継装置に接続可能な通信装置で実行される通信プログラムであって、前記通信装置は、接続している中継装置を識別する装置識別情報を記憶する識別情報記憶手段を備え、前記通信装置を、接続可能な中継装置からの応答を要求する要求メッセージを送信する送信手段と、前記要求メッセージを受信した中継装置のそれぞれから、前記要求メッセージを受信した中継装置の装置識別情報を含む応答メッセージを受信する受信手段と、受信した前記応答メッセージに、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報が含まれるか否かを判定する受信結果判定手段と、受信した前記応答メッセージのいずれもが、前記識別情報記憶手段に記憶された装置識別情報と一致する装置識別情報を含まない場合に、受信した前記応答メッセージのいずれかに含まれる装置識別情報の中継装置に対して接続を要求する接続要求手段と、として機能させる通信プログラムである。
【００２９】
また、請求項１７にかかる発明は、請求項１６に記載の通信プログラムを記憶したことを特徴とするコンピュータ読取可能な記憶媒体である。
【発明の効果】
【００３０】
本発明によれば、接続中の中継装置（ＡＰ）から応答メッセージが受信できなかった場合にのみ他のＡＰへのローミングを行うため、ローミングによる通信時間の損失を低減することができるという効果を奏する。
【００３１】
また、本発明によれば、ネットワークの識別情報（ＳＳＩＤ）を指定したスキャンと、ネットワークの識別情報およびＡＰの識別情報（ＢＳＳＩＤ）を指定したスキャンとを行い、後者の結果から、接続中の中継装置（ＡＰ）から応答メッセージが受信できたか否かを判断するため、ネットワークの識別情報を指定したスキャンのみを実行する場合と比較してメモリサイズを低減できるという効果を奏する。
【００３２】
また、本発明によれば、接続中の中継装置（ＡＰ）からの応答メッセージの電波強度、電波強度と雑音強度との比、および受信信号品質のいずれかを検出し、検出した値が閾値より小さい場合には、他のＡＰへのローミングを行うため、データ通信の安定化を実現できるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、この発明にかかる通信装置の最良な実施の形態を詳細に説明する。
【００３４】
（第１の実施の形態）
上述のように、電波強度のみでローミングを判定する場合、ローミングが頻繁に発生することによりデータ通信時間の損失が生じる可能性があった。また、別の問題として、ＳＳＩＤが一致するＡＰにローミングする方法では、「成りすまし」に対する脆弱性の問題が存在する。例えば、窓際に設置されたＳＴＡに対して、成りすましのＡＰが強い電波強度でビルの外部から近寄ってきたとする。この場合、従来の方法のように電波強度のみでローミング先を判定すると、成りすましのＡＰに対して簡単にローミングし、データが流出するという弊害が生じうる。これはセキュリティ上、非常に危険である。
【００３５】
これらを解決するため、接続後にＩＤ情報をＡＰとＳＴＡとの間で交換し、ＡＰ側で適否判定を行いながら接続を維持する方法も提案されている。しかし、このような方法では、ＡＰ側もＳＴＡに対応した管理用ソフトを準備して移植しなければならない。したがって、これまで運用されてきた古いＡＰ（特に生産・保守が終了したＡＰ）では対応できない場合がある。
【００３６】
そこで、第１の実施の形態にかかる通信装置は、ＰｒｏｂｅＲｅｑｕｅｓｔフレームの送信、その応答であるＰｒｏｂｅＲｅｓｐｏｎｓｅフレームの受信により接続可能なＡＰをスキャンする。そして、接続可能なＡＰの中に現在接続中のＡＰが含まれる場合には、電波強度によらず接続を維持し、接続可能なＡＰの中に現在接続中のＡＰが含まれない場合に、他のＡＰにローミングする。これにより、ＡＰ側の対応を行わなくてもセキュリティや利便性の低下を招くことなく、ＡＰおよびＳＴＡ間の接続・ローミングを実現することができる。
【００３７】
まず、第１の実施の形態にかかる通信装置であるＳＴＡと、無線通信を中継する中継装置であるＡＰとを含む通信システムの構成例について図１を用いて説明する。図１は、第１の実施の形態にかかる通信システムの構成図である。
【００３８】
同図に示すように、本実施の形態の通信システムは、ＳＴＡ１０と、２つのＡＰ２０ａ、２０ｂとを含んでいる。
【００３９】
ＳＴＡ１０は、ＩＥＥＥ８０２．１１に準拠した端末局である。ＳＴＡ１０は、例えば携帯型のノートＰＣなどによって構成することができる。ＳＴＡ１０の構成の詳細については後述する。
【００４０】
ＡＰ２０ａ、２０ｂは、ＩＥＥＥ８０２．１１に準拠した無線ＬＡＮの基地局である。同図に示すように、ＡＰ２０ａおよび２０ｂは、それぞれ電波範囲３１および３２を電波の届く範囲としている。なお、ＡＰ２０ａ、２０ｂは同様の構成を備えるため、以下では単にＡＰ２０という場合がある。
【００４１】
同図の例では、ＳＴＡ１０はＡＰ２０ａの電波範囲３１内に存在するため、ＡＰ２０ａとの間でＰｒｏｂｅＲｅｑｕｅｓｔフレームの送信、および、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームの受信を行い、接続を確立する。
【００４２】
次に、ＳＴＡ１０とＡＰ２０との間の接続確立処理について図２を用いて説明する。図２は、第１の実施の形態にかかる接続確立処理の流れを示すシーケンス図である。
【００４３】
まず、ＳＴＡ１０は、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを送信する（ステップＳ２０１）。ＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信したＡＰ２０は、応答としてＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを返信する（ステップＳ２０２）。
【００４４】
図３は、ＰｒｏｂｅＲｅｑｕｅｓｔフレームのデータ構造の一例を示す図である。図３に示すようにＰｒｏｂｅＲｅｑｕｅｓｔフレームは、ＩＥＥＥ８０２．１１に準拠し、ＭＡＣアドレス（Ｓｒｃ．ＡｄｄｒｅｓｓおよびＤｅｓ．Ａｄｄｒｅｓｓ）、ＢＳＳＩＤ、およびＳＳＩＤなどを含んでいる。ＭＡＣアドレスは、デバイスごとに一意で決まるアドレスであり、ＡＰ２０を識別する識別情報の一つとして使用可能である。Ｓｒｃ．Ａｄｄｒｅｓｓには、ＳＴＡ１０のＭＡＣアドレスが設定される。Ｄｅｓ．Ａｄｄｒｅｓｓには、ＩＥＥＥ８０２．１１規格に準拠し、Ｂｒｏａｄｃａｓｔフレームとして送信することを表す“FF:FF:FF:FF:FF:FF”が設定される。なお、後述するように、Ｄｅｓ．ＡｄｄｒｅｓｓにＡＰ２０のＭＡＣアドレスを設定するように構成してもよい。
【００４５】
なお、ＰｒｏｂｅＲｅｑｕｅｓｔフレームにＳＳＩＤを指定し、ＢＳＳＩＤを指定しない場合は、ＳＳＩＤが一致するＡＰ２０からＰｒｏｂｅＲｅｓｐｏｎｓｅフレームが返される。また、ＰｒｏｂｅＲｅｑｕｅｓｔフレームにＳＳＩＤおよびＢＳＳＩＤを共に指定した場合は、ＳＳＩＤおよびＢＳＳＩＤが一致するＡＰ２０からＰｒｏｂｅＲｅｓｐｏｎｓｅフレームが返される。
【００４６】
図４は、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームのデータ構造の一例を示す図である。図４に示すようにＰｒｏｂｅＲｅｓｐｏｎｓｅフレームは、ＩＥＥＥ８０２．１１に準拠し、ＭＡＣアドレス（Ｓｒｃ．ＡｄｄｒｅｓｓおよびＤｅｓ．Ａｄｄｒｅｓｓ）、ＢＳＳＩＤ、およびＳＳＩＤなどを含んでいる。Ｓｒｃ．Ａｄｄｒｅｓｓには、ＡＰ２０のＭＡＣアドレスが設定される。Ｄｅｓ．Ａｄｄｒｅｓｓには、ＳＴＡ１０のＭＡＣアドレスが設定される。なお、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームは、この他に、使用可能なチャンネル、接続プロトコル、国情報などのＡＰ２０に関する多数の情報が含まれる。
【００４７】
図２に戻り、ＳＴＡ１０およびＡＰ２０は、相互認証のためのメッセージ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ）を相互に送受信する（ステップＳ２０３、ステップＳ２０４）。認証された場合、ＳＴＡ１０は、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームで返されたＳＳＩＤを使用して、ＡＰ２０との接続確立を試みる。具体的には、ＳＴＡ１０は、ＳＳＩＤを含むＡｓｓｏｃｉａｔｉｏｎＲｅｑｕｅｓｔをＡＰ２０に送信する（ステップＳ２０５）。受信したむＡｓｓｏｃｉａｔｉｏｎＲｅｑｕｅｓｔによって接続が可能な場合は、ＡＰ２０は、ＡｓｓｏｃｉａｔｉｏｎＲｅｓｐｏｎｓｅで接続の成功（Ｓｕｃｃｅｓｓ）を返信する（ステップＳ２０６）。
【００４８】
これにより、ＳＴＡ１０とＡＰ２０との間の接続が確立し、データ通信が可能となる。なお、データ通信の暗号化が必要な場合は、この後に暗号認証のためのメッセージ送受信が行われる場合もある。また、この後、接続を維持するためのローミングが行われる。
【００４９】
ここで、ローミングのために接続可能なＡＰ２０をスキャンする方法について説明する。通常、接続可能なＡＰ２０をスキャンするときには、ＳＳＩＤが検索キーとされる。また、通常、ＢＳＳＩＤとしてＡＰ２０のＭＡＣアドレスが使用される。すなわち、ＢＳＳＩＤは、ＡＰ２０を個々に識別可能な識別情報（装置識別情報）に相当する。ただし、ＡＰ２０を使用しないＡｄＨｏｃモードでは、ＢＳＳＩＤは固定の値にならない。本実施の形態では、ＡＰ２０を使用するインフラモードでのローミングを対象とするため、ＢＳＳＩＤとしてＭＡＣアドレスを使用するものとする。
【００５０】
スキャン方法には、アクティブスキャンとパッシブスキャンとが存在する。アクティブスキャンは、ＳＴＡ１０がＰｒｏｂｅＲｅｑｕｅｓｔフレームを送出し、これに応答してＡＰ２０によって返信されたＰｒｏｂｅＲｅｓｐｏｎｓｅフレームから、ＡＰ２０に関する情報（ＡＰ情報）を取得する方法である。パッシブスキャンは、ＳＴＡ１０がＰｒｏｂｅＲｅｑｕｅｓｔフレームを送出することなく、ＡＰ２０により一定間隔で送出されるビーコン（Beacon）フレームを受信して、ビーコンフレームに含まれるＡＰ情報を取得する方法である。
【００５１】
アクティブスキャンは、ＳＴＡ１０が所望のタイミングでＰｒｏｂｅＲｅｑｕｅｓｔフレームを送出し、それに対してＡＰ２０が応答するため、スキャン時間が短い。一方、パッシブスキャンは、ビーコンフレームが送出されるのを待ってＡＰ情報を得る方法である。そして、通常、ビーコンフレームは１００ｍｓに一回しか送出されないため、スキャン時間が長くなる。
【００５２】
ビーコンフレームやＰｒｏｂｅＲｅｓｐｏｎｓｅフレームに含まれる情報はほぼ同等である。したがって、両方式では、ＡＰ情報が取得できるまでの時間のみが異なる。以下では、アクティブスキャンを使用することを前提として説明するが、パッシブスキャンを使用することもできる。したがって、以下では単にスキャンと表現して説明する。
【００５３】
次に、ＳＴＡ１０を移動させた場合の処理について、図１および図５を用いて説明する。
【００５４】
データ通信が行われている状態でＳＴＡ１０が物理的な移動を開始した場合に、現在接続しているＡＰ２０から離れることによって電波状態が悪化することがある。そこで、ＳＴＡ１０は、データ通信中でも定期的にスキャンを行う。これは、接続しているＡＰ２０の電波状態を捕捉すること、および、電波状態が悪化した場合に別の電波状態の良好なＡＰ２０が周辺に存在するか否かを検出することを目的としている。
【００５５】
具体的には、図１に示すように、ＳＴＡ１０は、ＡＰ２０ａと接続を確立してデータ通信中のときも、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを任意の時間間隔で送信する。そして、ＳＴＡ１０は、接続しているＡＰ２０ａからのＰｒｏｂｅＲｅｓｐｏｎｓｅフレームの応答を待つ。
【００５６】
ＳＴＡ１０がＡＰ２０ａの電波範囲３１内に存在すれば、ＡＰ２０ａからＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信できる。しかし、電波状態によっては、ＡＰ２０ａからのＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信できない場合が生じうる。例えば、ＳＴＡ１０が、電波範囲３１から電波範囲３２へ向かって移動している状況では、ＡＰ２０ａからの電波が弱くなり、ＡＰ２０ａからＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信できなくなる可能性がある。
【００５７】
図５は、ＳＴＡ１０が移動している状況の一例を示す図である。ＰｒｏｂｅＲｅｑｕｅｓｔフレームは、ＡＰ２０ａのみではなく、Ｂｒｏａｄｃａｓｔフレームとして、すべてのＡＰ２０に対して送出されている。したがって、図５に示すように、ＳＴＡ１０が移動してＡＰ２０ｂに接近した場合には、ＡＰ２０ｂからもＰｒｏｂｅＲｅｓｐｏｎｓｅフレームが返信される。
【００５８】
ここで、ＳＳＩＤの管理形態の例について図６および図７を用いて説明する。図６は、ビルの階ごとに異なるＳＳＩＤを割り当てる例を示す図である。同図では、ビルの４階に設置されたＡＰ２０ａ、２０ｂに対してＳＳＩＤ＝“Ｆｌｏｏｒ４”が割り当てられ、ビルの３階に設置されたＡＰ２０ｃ、２０ｄにＳＳＩＤ＝“Ｆｌｏｏｒ３”が割り当てられた例が示されている。
【００５９】
図７は、ビル全体で１つのＳＳＩＤを割り当てる例を示す図である。例えばビル全体が一つの会社で構成されている場合に会社名を表すＳＳＩＤを割り当てる場合などが該当する。同図では、ビルの４階に設置されたＡＰ２０ａ、２０ｂ、および、ビルの３階に設置されたＡＰ２０ｃ、２０ｄのいずれに対してもＳＳＩＤ＝“ＣｏｍｐａｎｙＮａｍｅ”が割り当てられた例が示されている。
【００６０】
なお、第１の実施の形態の方法は、図６および図７のいずれの管理形態に対しても適用できる。
【００６１】
次に、ＳＴＡ１０の構成の詳細について図８を用いて説明する。図８は、第１の実施の形態にかかるＳＴＡ１０のブロック図である。同図に示すように、ＳＴＡ１０は、アンテナ１０１と、ＲＦ（Radio Frequency）部１０２と、ベースバンド信号処理部１１０と、プロトコル制御部１２０と、を備えている。
【００６２】
アンテナ１０１は、ＡＰ２０などの外部装置との間で無線通信を行うための電波を送受信する。ＲＦ部１０２は、周波数変換および電力増幅などを行う。
【００６３】
ベースバンド信号処理部１１０は、ＩＥＥＥ８０２．１１に準拠した直交周波数分割多重方式などにより周波数変復調処理を実行する制御部である。直交周波数分割多重方式は、多数の搬送波を使用し、変調する信号波の位相が隣り合う搬送波間で直交するように搬送波の帯域を一部重ね合わせて周波数帯域を有効利用する方式であり、無線ＬＡＮの規格であるＩＥＥＥ８０２．１１ａ、およびＩＥＥＥ８０２．１１ｇに採用されている。ベースバンド信号処理部１１０は、さらに詳細な構成として、復調処理を行う復調部１１１と、変調処理を行う変調部１１２とを備えている。
【００６４】
プロトコル制御部１２０は、ＩＥＥＥ８０２．１１に準拠したプロトコルにより、外部装置との間の無線によるメッセージ（フレーム）の送受信を制御する。プロトコル制御部１２０は、さらに詳細な構成として、識別情報記憶部１３１と、スキャン結果記憶部１３２と、スキャン処理部１２１と、スキャン結果判定部１２２と、ローミング判定部１２３と、接続要求部１２４とを備えている。
【００６５】
識別情報記憶部１３１は、現在接続中のＡＰ２０のＳＳＩＤと、ＢＳＳＩＤとを記憶する。ＳＴＡ１０は、例えば、図２に示すような接続シーケンスによりＡＰ２０との接続を確立したときに、接続したＡＰ２０のＳＳＩＤとＢＳＳＩＤとを識別情報記憶部１３１に記憶する。
【００６６】
スキャン結果記憶部１３２は、ＰｒｏｂｅＲｅｑｕｅｓｔフレームの送信、およびＰｒｏｂｅＲｅｓｐｏｎｓｅフレームの受信による接続可能なＡＰ２０のスキャン結果を表す２つのリストを記憶する。図９および図１０は、スキャン結果記憶部１３２に記憶されるリストのデータ構造の一例を示す図である。
【００６７】
図９は、スキャンされたＡＰ２０のうち、ＳＳＩＤが識別情報記憶部１３１に記憶されたＳＳＩＤと一致するＡＰ２０のリスト（以下、リスト１という）を表している。同図に示すように、リスト１には、スキャンされたＡＰ２０の名称（ＡＰ名）と、ＡＰ２０に割り当てられたＳＳＩＤと、ＡＰ２０の識別情報であるＢＳＳＩＤと、ＡＰ２０のＭＡＣアドレスを表すＳｒｃＡｄｄｒｅｓｓと、受信パワーと、Ｓｕｐｐｏｒｔｅｄ  Ｒａｔｅｓとが含まれる。
【００６８】
受信パワーは、ＡＰ２０からの受信信号のパワーを表す。Ｓｕｐｐｏｒｔｅｄ  Ｒａｔｅｓは、ＡＰ２０がサポートする通信レートを表す。Ｓｕｐｐｏｒｔｅｄ  Ｒａｔｅｓは、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームから取得することができる。なお、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームに含まれる他の情報をリストに格納するように構成してもよい。
【００６９】
図１０は、スキャンされたＡＰ２０のうち、ＳＳＩＤおよびＢＳＳＩＤが、それぞれ識別情報記憶部１３１に記憶されたＳＳＩＤおよびＢＳＳＩＤと一致するＡＰ２０のリスト（以下、リスト２という）を表している。同図に示すように、リスト２は、リスト１と同様のデータ構造となっている。なお、リスト２をリスト１と異なるデータ構造としてもよい。
【００７０】
図８に戻り、スキャン処理部１２１は、接続可能なＡＰ２０をスキャンするための処理を実行する。スキャン処理部１２１は、ＡＰ２０などの外部装置との間でメッセージを送受信する送受信部１２１ａを備えている。
【００７１】
例えば、スキャン処理部１２１は、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを生成し、送受信部１２１ａによって送信する。また、スキャン処理部１２１は、ＡＰ２０から送信されたＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを送受信部１２１ａによって受信する。そして、スキャン処理部１２１は、受信したＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを元に、リスト１およびリスト２を生成してスキャン結果記憶部１３２に保存する。
【００７２】
なお、スキャン処理部１２１は、利用可能なすべてのチャンネルでスキャンを実行する。チャンネルは、ＩＥＥＥ８０２．１１でも規定されているように、各国の法律にしたがって利用可能な帯域が規定されている。日本国では、２．４ＧＨｚ帯で１４チャンネル（２．４１２〜２．４８４ＧＨｚ）、５ＧＨｚ帯では１２チャンネル（５．１７ＧＨｚ〜５．３２ＧＨｚ）の中から１チャンネルを使用して一つの無線ＬＡＮネットワークを構築することができる。したがって、スキャン処理部１２１は、２．４ＧＨｚ帯と５ＧＨｚ帯とを合わせて２６チャンネルをスキャンする。
【００７３】
スキャン結果判定部１２２は、スキャン結果記憶部１３２のリストを参照し、接続中のＡＰ２０との接続が維持できるかを判定する。上述のように、リスト２は、スキャンされたＡＰ２０のうち、識別情報記憶部１３１に記憶されている接続中のＡＰ２０のＳＳＩＤおよびＢＳＳＩＤと一致するＡＰ２０のリストを表す。したがって、スキャン結果判定部１２２は、リスト２に情報が保存されているか否かを判定することによって、接続中のＡＰ２０との接続が維持できるかを判定することができる。
【００７４】
ローミング判定部１２３は、接続中のＡＰ２０と接続が維持できないと判定された場合に、ローミング先となるＡＰ２０を判定する。例えば、ローミング判定部１２３は、接続可能なＡＰ２０のリストであるリスト１から、受信パワーが最大のＡＰ２０を、ローミング先として決定する。
【００７５】
接続要求部１２４は、ローミング判定部１２３により決定されたＡＰ２０に対して接続を要求してローミングを行う。
【００７６】
なお、同図では省略しているが、ＳＴＡ１０は、システム全体を制御するプロセッサ（ＣＰＵ）、ＣＰＵがワークエリアとして利用可能なＳＲＡＭ（Static Random Access Memory）、およびＣＰＵで実行されるプログラムを格納する記憶部であるＲＯＭなどを備えている。
【００７７】
そして、例えば、ＳＲＡＭを、同図のスキャン結果記憶部１３２および識別情報記憶部１３１として機能させてもよい。また、ＲＯＭに保存されたプログラムをロードして実行することにより、ＣＰＵを、同図のスキャン処理部１２１、スキャン結果判定部１２２、ローミング判定部１２３、および接続要求部１２４として機能させてもよい。すなわち、上記の各機能をソフトウェアで実現してもよいし、各機能をハードウェア回路で実現してもよい。
【００７８】
次に、このように構成された第１の実施の形態にかかるＳＴＡ１０によるローミング処理について説明する。図１１は、第１の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【００７９】
なお、上述のように、接続時に取得したＡＰ情報のうち、現在接続中のＡＰ２０のＳＳＩＤとＢＳＳＩＤとが予め識別情報記憶部１３１に保存されているものとする。
【００８０】
まず、スキャン処理部１２１は、接続可能なＡＰ２０をスキャンする（ステップＳ１１０１）。具体的には、スキャン処理部１２１は、まず、接続中のＡＰ２０のＳＳＩＤを指定してＰｒｏｂｅＲｅｑｕｅｓｔフレームを生成し、送受信部１２１ａによって送信する。そして、スキャン処理部１２１は、送受信部１２１ａによって、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信したＡＰ２０のそれぞれから、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信する。
【００８１】
次に、スキャン処理部１２１は、受信したＰｒｏｂｅＲｅｑｕｅｓｔに含まれる情報を参照し、現在接続中のＡＰ２０とＳＳＩＤが一致するＡＰ２０のリストであるリスト１を作成する（ステップＳ１１０２）。
【００８２】
また、スキャン処理部１２１は、受信したＰｒｏｂｅＲｅｑｕｅｓｔに含まれる情報を参照し、現在接続中のＡＰ２０とＳＳＩＤおよびＢＳＳＩＤが一致するＡＰ２０のリストであるリスト２を作成する（ステップＳ１１０３）。なお、ステップＳ１１０２とステップＳ１１０３の実行順序を逆にしてもよいし、並列に実行してもよい。
【００８３】
次に、スキャン結果判定部１２２が、接続中のＡＰ２０の情報がリスト２に存在するか否かを判断する（ステップＳ１１０４）。通常、接続中のＡＰ２０の情報は、リスト２に格納される。しかし、電波状態が悪化した場合などには、接続中のＡＰ２０からのＰｒｏｂｅＲｅｓｐｏｎｓｅフレームが受信できず、リスト２に接続中のＡＰ２０の情報が格納されないことがある。
【００８４】
接続中のＡＰ２０の情報がリスト２に存在する場合は（ステップＳ１１０４：ＹＥＳ）、プロトコル制御部１２０は、接続中のＡＰ２０との接続を維持する（ステップＳ１１０５）。
【００８５】
接続中のＡＰ２０の情報がリスト２に存在しない場合は（ステップＳ１１０４：ＮＯ）、ローミング判定部１２３が、接続可能なＡＰ２０がリスト１に存在するか否かを判断する（ステップＳ１１０６）。
【００８６】
存在しない場合は（ステップＳ１１０６：ＮＯ）、ローミング可能な他のＡＰ２０が存在しないため、プロトコル制御部１２０は、接続中のＡＰ２０との接続を維持する（ステップＳ１１０５）。これにより、例えば、電波の干渉などでフレーム取得ができずにスキャンに失敗した場合などであっても接続を維持することができる。
【００８７】
接続可能なＡＰ２０がリスト１に存在する場合は（ステップＳ１１０６：ＹＥＳ）、接続要求部１２４が、接続可能なＡＰ２０に対して接続を要求してローミングする（ステップＳ１１０７）。なお、複数の接続可能なＡＰ２０がリスト１に格納されている場合は、接続要求部１２４は、例えば、リスト１に含まれる受信パワーが最大のＡＰ２０に対してローミングする。
【００８８】
このように、第１の実施の形態にかかる通信装置（ＳＴＡ）では、所定のメッセージを送受信すること等により接続可能なＡＰをスキャンする。そして、接続可能なＡＰの中に現在接続中のＡＰが含まれる場合には、電波強度によらず接続を維持し、接続可能なＡＰの中に現在接続中のＡＰが含まれない場合に、他のＡＰにローミングする。
【００８９】
これにより、電波強度でローミングする従来方法と比較して、ローミングによる通信時間の損失を低減することができる。また、ＡＰ、ＳＴＡのインタフェースや特殊な制御フレームを追加することなく、ＳＴＡ側の追加改修のみによって、意図するＡＰと接続することが可能となる。また、その結果、セキュリティ面での頑強さが向上する。例えば偽りのＳＳＩＤを所持したＡＰが強い電波強度で近づいてきたとしても、電波強度のみによってローミングをしないことにより無線接続の頑強さが増す。さらに、ＡＰ側のソフト改修が不要となるため、従来の古いバージョンで構成されているＡＰに対しても無線接続の頑強さを増加させることができる。
【００９０】
（第２の実施の形態）
第２の実施の形態にかかる通信装置は、ＳＳＩＤを指定したスキャンと、ＳＳＩＤおよびＢＳＳＩＤを指定したスキャンの２回のスキャンを実行し、後者のスキャン結果から、接続中のＡＰとの接続を維持できるか否かを判断する。そして、接続を維持できない場合は、前者のスキャン結果からローミング先とするＡＰを決定する。
【００９１】
図１２は、第２の実施の形態にかかるＳＴＡ１２００の構成を示すブロック図である。同図に示すように、ＳＴＡ１２００は、アンテナ１０１と、ＲＦ部１０２と、ベースバンド信号処理部１１０と、プロトコル制御部１２２０と、を備えている。
【００９２】
第２の実施の形態では、識別情報記憶部１２３１に記憶する情報、スキャン処理部１２２１の機能、および、プロトコル制御部１２２０にチャンネル選択部１２２５を追加したことが第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかるＳＴＡ１０の構成を表すブロック図である図８と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９３】
識別情報記憶部１２３１は、現在接続中のＡＰ２０のＳＳＩＤとＢＳＳＩＤに加え、現在接続中のＡＰ２０が使用するチャンネルを記憶する。なお、識別情報記憶部１２３１と異なる記憶部（図示せず）にチャンネルを記憶するように構成してもよい。
【００９４】
スキャン処理部１２２１は、接続可能なＡＰ２０をスキャンするために２回のスキャン処理を実行する。スキャン処理部１２２１は、１回目は、接続中のＡＰ２０のＳＳＩＤのみを指定してスキャンを行う。また、スキャン処理部１２２１は、２回目は、接続中のＡＰ２０のＳＳＩＤおよびＢＳＳＩＤを指定してスキャンを行う。なお、１回目のスキャンと２回目のスキャンの実行順序に意味はなく、任意の順序で２種類のスキャンを行えばよい。
【００９５】
これにより、１回目のスキャンでは、ＳＳＩＤが一致するすべてのＡＰ２０の情報が取得できる。この中には現在接続しているＡＰ２０とローミング可能な別のＡＰ２０がリストアップされる。２回目のスキャンでは、ＳＳＩＤとＢＳＳＩＤとが一致するＡＰ２０の情報が取得される。すなわち、現在接続中のＡＰ２０のみがリストアップされる。
【００９６】
ここで、スキャンを２回行う理由について説明する。上述のように、１回目のスキャンではＳＳＩＤが一致するすべてのＡＰ２０の情報が取得される。該当するＡＰ２０が多数存在する場合には、スキャン結果を格納するメモリサイズが不足することにより、現在接続中のＡＰ２０の情報が格納できないことも想定される。ＡＰ情報は、１００ｂｙｔｅ〜２００ｂｙｔｅ程度のデータサイズであるため、例えば、８件のＡＰ情報を記憶するためであっても、合計１ｋＢｙｔｅの記憶容量が必要となる。
【００９７】
そこで、本実施の形態では、１回目のスキャンでは、接続可能なＡＰ２０の上位８件をリストアップし、２回目のスキャンで、接続しているＡＰ２０をリストアップする。これにより、メモリサイズを増大させなくても、接続中のＡＰ２０が接続可能か否かを判定すること、および、ローミングするＡＰ２０を判定することが可能となる。すなわち、メモリサイズを小さくできると同時に必要なＡＰ情報を効率よく取得できるようになる。
【００９８】
なお、スキャン処理部１２２１は、次に説明するチャンネル選択部１２２５によって接続中のＡＰ２０のチャンネルとして選択されたチャンネルのみを用いて２回目のスキャンを実行する。
【００９９】
チャンネル選択部１２２５は、スキャン処理部１２２１の２回目のスキャンで使用するチャンネルを選択する。具体的には、チャンネル選択部１２２５は、識別情報記憶部１２３１に記憶されているチャンネルを、２回目のスキャン用のチャンネルとして選択する。
【０１００】
このようにチャンネルを限定して２回目のスキャンを実行することにより、スキャン結果を短時間で取得し、ローミングが必要な場合にローミングを迅速に実行できる。なお、このように動作させることで、例えば以下のようなケースで効果がある。
【０１０１】
例えば、５ＧＨｚ帯のチャンネルでは、法律で規制された動作が存在する。具体的には、Ｗ５３といわれるチャンネル帯では、気象レーダや航空レーダの帯域と重なっているため、レーダが存在しないことをＷＬＡＮ管理者が確認できるまで電波を送出することができない。これはＷ５３チャンネルでＡＰ２０の存在が確認できない限りアクティブスキャンが実行できないことを意味する。
【０１０２】
上述のように、アクティブスキャンは、スキャン結果を高速に取得することができる。しかし、アクティブスキャンが実行できない場合は、パッシブスキャンを実行するしかない。そして、パッシブスキャンを実行する場合、ビーコンフレームの受信を待たなければならない。また、通常は、ビーコンフレームの取得ミスを防止するために、複数回のビーコンフレームの受信を待つ必要がある。受信を４回待つとすると、１チャンネル当たり０．４秒（＝ビーコン間隔１００ｍｓ×４）が必要となる。Ｗ５３では４チャンネルが使用可能であるため、パッシブスキャンの場合は、１．５〜２秒間程度待たないとスキャンが完了しない。
【０１０３】
すなわち、２回目のスキャンで全チャンネルをスキャンする場合には、２秒近くのスキャン時間がかかることになる。これに対し、上述のようにチャンネルを限定して２回目のスキャンを実行すれば、５０ｍｓ程度でスキャンを完了できるため、ローミング動作をスムーズに行うことができる。
【０１０４】
次に、このように構成された第２の実施の形態にかかるＳＴＡ１２００によるローミング処理について説明する。図１３は、第２の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【０１０５】
まず、スキャン処理部１２２１は、ＳＳＩＤが一致する接続可能なＡＰ２０をスキャンする（ステップＳ１３０１）。具体的には、スキャン処理部１２２１は、まず、接続中のＡＰ２０のＳＳＩＤを指定してＰｒｏｂｅＲｅｑｕｅｓｔフレームを生成し、送受信部１２１ａによって送信する。そして、スキャン処理部１２２１は、送受信部１２１ａによって、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信したＡＰ２０のそれぞれから、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信する。なお、スキャン処理部１２２１は、使用可能なすべてのチャンネルでＳＳＩＤを指定したスキャンを実行する。
【０１０６】
次に、スキャン処理部１２２１は、受信したＰｒｏｂｅＲｅｑｕｅｓｔに含まれる情報を参照し、現在接続中のＡＰ２０とＳＳＩＤが一致するＡＰ２０のリストであるリスト１を作成する（ステップＳ１３０２）。
【０１０７】
次に、スキャン処理部１２２１は、ＳＳＩＤおよびＢＳＳＩＤが一致する接続可能なＡＰ２０をスキャンする（ステップＳ１３０３）。具体的には、スキャン処理部１２２１は、まず、接続中のＡＰ２０のＳＳＩＤおよびＢＳＳＩＤを指定してＰｒｏｂｅＲｅｑｕｅｓｔフレームを生成し、送受信部１２１ａによって送信する。そして、スキャン処理部１２２１は、送受信部１２１ａによって、ＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信したＡＰ２０のそれぞれから、ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを受信する。
【０１０８】
なお、２回目のスキャンでは、スキャン処理部１２２１は、接続中のＡＰ２０が使用するチャンネルでＳＳＩＤを指定したスキャンを実行する。具体的には、まず、チャンネル選択部１２２５が、識別情報記憶部１２３１から現在接続中のＡＰ２０が使用するチャンネルを、２回目のスキャンで使用するチャンネルとして取得する。そして、スキャン処理部１２２１は、チャンネル選択部１２２５が取得したチャンネルで２回目のスキャンを実行する。
【０１０９】
次に、スキャン処理部１２２１は、受信したＰｒｏｂｅＲｅｑｕｅｓｔに含まれる情報を参照し、現在接続中のＡＰ２０とＳＳＩＤおよびＢＳＳＩＤが一致するＡＰ２０のリストであるリスト２を作成する（ステップＳ１３０４）。
【０１１０】
ステップＳ１３０５からステップＳ１３０８までの、接続性判定処理は、第１の実施の形態にかかるＳＴＡ１０におけるステップＳ１１０４からステップＳ１１０７までと同様の処理なので、その説明を省略する。
【０１１１】
このように、第２の実施の形態にかかるＳＴＡ１２００は、ＳＳＩＤを指定したスキャンと、ＳＳＩＤおよびＢＳＳＩＤを指定したスキャンの２回のスキャンを実行し、後者のスキャン結果から、接続中のＡＰとの接続を維持できるか否かを判断する。これにより、メモリサイズを増大させずに、必要なＡＰ情報を効率よく取得できる。
【０１１２】
（変形例１）
スキャンに使用されるＰｒｏｂｅＲｅｑｕｅｓｔフレームは、一般的には、Ｂｒｏａｄｃａｓｔフレームとして送信される。Ｂｒｏａｄｃａｓｔフレームでは、図３のＤｅｓＡｄｄｒｅｓｓを“FF:FF:FF:FF:FF:FF”とすることが、ＩＥＥＥ８０２．１１規格で規定されている。
【０１１３】
そして、第２の実施の形態では、接続中のＡＰ２０と接続可能か否かを確認するために、接続中のＡＰ２０を識別する識別情報としてＢＳＳＩＤを指定してＰｒｏｂｅＲｅｑｕｅｓｔフレームを送信し、２回目のスキャンを実行していた。
【０１１４】
しかし、ＡＰ２０によっては、ブロードキャストフレームを受信したときに、ＢＳＳＩＤを無視してＰｒｏｂｅＲｅｓｐｏｎｓｅフレームを返す場合がある。すなわち、２回目のスキャンでＢＳＳＩＤのみを指定した場合には、ＢＳＳＩＤが一致しないＡＰ２０から応答メッセージが返信される場合がある。
【０１１５】
そこで、本変形例では、２回目のスキャンでＢＳＳＩＤの代わりにＭＡＣアドレスを指定する。すなわち、本変形例では、接続中のＡＰ２０のＭＡＣアドレスを、ＰｒｏｂｅＲｅｑｕｅｓｔフレームのＤｅｓＡｄｄｒｅｓｓに指定して２回目のスキャンを実行する。このＰｒｏｂｅＲｅｑｕｅｓｔフレームは、接続中のＡＰ２０に対する限定されたスキャン要求となる。接続中のＡＰ２０は、このＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信すれば、応答を返せばよい。受信できなければ無応答となる。また、接続中のＡＰ２０以外のＡＰ２０がこのＰｒｏｂｅＲｅｑｕｅｓｔフレームを受信しても、自分宛てのフレームでもなく、またブロードキャストフレームでもないので、応答することはない。なお、ローミング処理の全体の流れは第２の実施の形態の図１３と同様である。
【０１１６】
このように、本変形例によれば、ＤｅｓＡｄｄｒｅｓｓを指定しているので、ターゲットとなる接続中のＡＰ２０のみからＰｒｏｂｅＲｅｓｐｏｎｓｅフレームが返信されることが保障できる。
【０１１７】
（変形例２）
変形例２では、２回目のスキャンで、ＢＳＳＩＤとＭＡＣアドレスとを共に指定する。ＢＳＳＩＤおよびＤｅｓＡｄｄｒｅｓｓに指定するＭＡＣアドレスの両方を使用することで、接続中のＡＰ２０の応答が確実になる。
【０１１８】
（第３の実施の形態）
第３の実施の形態にかかる通信装置は、各ＡＰからの電波強度を検出し、電波強度が所定の閾値より小さい場合には、接続中のＡＰであっても他のＡＰへローミングする。
【０１１９】
図１４は、第３の実施の形態にかかるＳＴＡ１４００の構成を示すブロック図である。同図に示すように、ＳＴＡ１４００は、アンテナ１０１と、ＲＦ部１０２と、ベースバンド信号処理部１４１０と、プロトコル制御部１４２０と、を備えている。
【０１２０】
第２の実施の形態では、ベースバンド信号処理部１４１０に電波強度検出部１４１３を追加したこと、プロトコル制御部１４２０に算出部１４２６を追加したこと、スキャン処理部１４２１の機能、およびスキャン結果判定部１４２２の機能が第２の実施の形態と異なっている。その他の構成および機能は、第２の実施の形態にかかるＳＴＡ１２００の構成を表すブロック図である図１２と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１２１】
スキャン処理部１４２１は、２回目のスキャンを複数回実行する点が、第２の実施の形態のスキャン処理部１２２１と異なっている。
【０１２２】
電波強度検出部１４１３は、ＡＰ２０から受信した信号の強度を表す電波強度を検出する。電波強度検出部１４１３は、電波強度を、例えばＲＳＳＩ（Receive Signal Strength Indicator）のＡＤ(Analog to Digital)変換値で表すことができる。
【０１２３】
算出部１４２６は、複数回実行した２回目のスキャンのそれぞれで電波強度検出部１４１３により検出された電波強度の平均値を算出する。これにより、ローミング判定に関わる重要なスキャンである２回目のスキャンの信頼性を高め、性能を改善することができる。なお、第２の実施の形態と同様に２回目のスキャンを１回のみ実行し、算出部１４２６を省略するように構成してもよい。
【０１２４】
スキャン結果判定部１４２２は、接続中のＡＰ２０との接続が維持できるかを判定することに加え、接続が維持できる場合であっても電波強度が所定の閾値より小さい場合は、接続中のＡＰ２０から他のＡＰ２０にローミングすると判定する。
【０１２５】
次に、このように構成された第３の実施の形態にかかるＳＴＡ１４００によるローミング処理について説明する。図１５は、第３の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【０１２６】
ステップＳ１５０１からステップＳ１５０５までの、リスト作成処理、およびリスト判定処理は、第２の実施の形態にかかるＳＴＡ１２００におけるステップＳ１３０１からステップＳ１３０５までと同様の処理なので、その説明を省略する。
【０１２７】
ただし、本実施の形態では、２回目のスキャン（ステップＳ１５０３）を複数回実行し、そのときの電波強度を検出し、算出部１４２６が、複数の電波強度の平均値を算出するものとする（同図では省略）。
【０１２８】
ステップＳ１５０５で、接続中のＡＰ２０の情報がリスト２に存在すると判断された場合（ステップＳ１５０５：ＹＥＳ）、スキャン結果判定部１４２２は、さらに、接続中のＡＰ２０から受信した電波の電波強度の平均値が予め定められた閾値より大きいか否かを判断する（ステップＳ１５０６）。そして、電波強度の平均値が閾値より大きい場合は（ステップＳ１５０６：ＹＥＳ）、プロトコル制御部１４２０は、接続中のＡＰ２０との接続を維持する（ステップＳ１５０７）。
【０１２９】
一方、電波強度の平均値が閾値より大きくない場合は（ステップＳ１５０６：ＮＯ）、ローミング判定部１２３が、接続可能なＡＰ２０がリスト１に存在するか否かを判断する（ステップＳ１５０８）。
【０１３０】
接続可能なＡＰ２０がリスト１に存在しない場合は（ステップＳ１５０８：ＮＯ）、ローミング可能な他のＡＰ２０が存在しないため、プロトコル制御部１４２０は、接続中のＡＰ２０との接続を維持する（ステップＳ１５０７）。
【０１３１】
接続可能なＡＰ２０がリスト１に存在する場合は（ステップＳ１５０８：ＹＥＳ）、接続要求部１２４が、接続可能なＡＰ２０に対して接続を要求してローミングする（ステップＳ１５０９）。
【０１３２】
このように、第３の実施の形態では、接続中のＡＰ２０からの電波の電波強度が予め設定した閾値を下回る場合には、接続中のＡＰ２０がＳＴＡ１４００から遠ざかっている（実際にはＳＴＡ１４００がＡＰ２０から離れている）と判断してローミングを積極的に行うように動作させることができる。これにより、データ通信の安定化を実現できる。
【０１３３】
（変形例３）
第３の実施の形態では、電波強度でローミングを判定していた。これに対し、本変形例では、電波強度と雑音レベル（雑音強度）との比を表すＳ／Ｎ比を使用する。例えば、電波強度検出部１４１３に代わり、電波強度と雑音レベルとを検出する強度検出部を備え、強度検出部が、電波を受信していない無信号状態のＲＳＳＩのＡＤ変換値で表した値を雑音レベルとして検出するように構成する。そして、算出部１４２６が、電波強度と雑音レベルとの比をＳ／Ｎ比として算出する。なお、上述のように２回目のスキャンを複数回実行し、算出部１４２６が、対応する複数のＳ／Ｎ比の平均値を算出するように構成してもよい。また、２回目のスキャンを１回実行し、算出部１４２６がＳ／Ｎ比の平均値を算出しないように構成してもよい。
【０１３４】
（変形例４）
本変形例では、電波強度やＳ／Ｎ比の代わりに、ＥＶＭ（Error Vector Magnitude）のような受信した信号の品質を表す尺度を使用してもよい。例えば、本変形例では、電波強度検出部１４１３に代わり、ＥＶＭを検出する品質尺度検出部を備える。ＥＶＭは、受信した信号がＩＱ平面での理想点からどれだけ離れているかを示す値である。ＥＶＭの値が悪化すると信号品質が悪いと判断できる。なお、ＥＶＭの詳細は、ＩＥＥＥ８０２．１１規格書の１７．３．１０に記載されている。
【０１３５】
ＥＶＭを用いる場合も、２回目のスキャンを複数回実行してＥＶＭの平均値を求め、平均値と閾値とを比較するように構成してもよいし、２回目のスキャンを１回のみ実行し、ＥＶＭと閾値とを比較するように構成してもよい。
【０１３６】
（変形例５）
本変形例では、電波強度が所定の閾値より小さい場合に、他のＡＰのうち、電波強度が閾値より大きいＡＰへローミングする。図１６は、第３の実施の形態の変形例５にかかるＳＴＡ１６００の構成を示すブロック図である。同図に示すように、ＳＴＡ１６００は、アンテナ１０１と、ＲＦ部１０２と、ベースバンド信号処理部１４１０と、プロトコル制御部１６２０と、を備えている。
【０１３７】
本変形例では、プロトコル制御部１６２０のローミング判定部１６２３の機能が第３の実施の形態と異なっている。その他の構成および機能は、第３の実施の形態にかかるＳＴＡ１４００の構成を表すブロック図である図１４と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１３８】
ローミング判定部１６２３は、リスト１に含まれるＡＰ２０のうち、電波強度が所定の閾値より大きいＡＰ２０をローミング先として決定する。
【０１３９】
次に、このように構成された第３の実施の形態の変形例５にかかるＳＴＡ１６００によるローミング処理について説明する。図１７は、第３の実施の形態の変形例５におけるローミング処理の全体の流れを示すフローチャートである。
【０１４０】
本変形例は、ステップＳ１６０８のローミング先判定処理が、第３の実施の形態のローミング処理を表す図１５のステップＳ１５０８と異なっている。他の処理は、第３の実施の形態にかかるＳＴＡ１４００と同様の処理なので、その説明を省略する。
【０１４１】
ステップＳ１６０８では、ローミング判定部１６２３が、電波強度＞閾値を満たす接続可能なＡＰ２０がリスト１に存在するか否かを判断する（ステップＳ１６０８）。
【０１４２】
このように、本変形例では、１回目のスキャンで検出したローミング候補となるＡＰの電波強度を、ローミング先の判定に使用している。すなわち、２回目のスキャンの結果に応じてローミングを試みる場合、ローミング候補のＡＰの電波強度が閾値に達した場合にのみローミングを行うようにする。そして、ローミング候補のＡＰの電波強度が閾値に達しない場合にはローミングしない。これにより、さらにデータ通信を安定化させることができる。
【０１４３】
なお、電波強度を判定する代わりに、電波強度と雑音レベルとの比（Ｓ／Ｎ比）、または、ＥＶＭなどの受信信号の品質尺度を閾値と比較し、ローミング先のＡＰを判定するように構成してもよい。また、第２の実施の形態の変形例と同様に、ＢＳＳＩＤの代わりに、ＭＡＣアドレスを利用してもよいし、ＢＳＳＩＤとＭＡＣアドレスとを共に利用してもよい。
【０１４４】
次に、第１〜第３の実施の形態にかかる通信装置のハードウェア構成について説明する。
【０１４５】
第１〜第３の実施の形態にかかる通信装置は、ＣＰＵなどの制御装置と、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置と、ＨＤＤ（Hard Disk Drive）、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１４６】
第１〜第３の実施の形態にかかる通信装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１４７】
また、第１〜第３の実施の形態にかかる通信装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第１〜第３の実施の形態にかかる通信装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１４８】
また、第１〜第３の実施の形態の通信プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４９】
第１〜第３の実施の形態にかかる通信装置で実行される通信プログラムは、上述した各部（スキャン処理部、スキャン結果判定部、ローミング判定部、および接続要求部等）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１５０】
以上のように、本発明にかかる通信装置、通信プログラムおよび記憶媒体は、無線通信を中継するアクセスポイントへのローミングを行う通信装置、通信プログラムおよび記憶媒体に適している。
【図面の簡単な説明】
【０１５１】
【図１】第１の実施の形態にかかる通信システムの構成図である。
【図２】第１の実施の形態にかかる接続確立処理の流れを示すシーケンス図である。
【図３】ＰｒｏｂｅＲｅｑｕｅｓｔフレームのデータ構造の一例を示す図である。
【図４】ＰｒｏｂｅＲｅｓｐｏｎｓｅフレームのデータ構造の一例を示す図である。
【図５】ＳＴＡが移動している状況の一例を示す図である。
【図６】ビルの階ごとに異なるＳＳＩＤを割り当てる例を示す図である。
【図７】ビル全体で１つのＳＳＩＤを割り当てる例を示す図である。
【図８】第１の実施の形態にかかるＳＴＡのブロック図である。
【図９】スキャン結果記憶部に記憶されるリストのデータ構造の一例を示す図である。
【図１０】スキャン結果記憶部に記憶されるリストのデータ構造の一例を示す図である。
【図１１】第１の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【図１２】第２の実施の形態にかかるＳＴＡの構成を示すブロック図である。
【図１３】第２の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【図１４】第３の実施の形態にかかるＳＴＡの構成を示すブロック図である。
【図１５】第３の実施の形態におけるローミング処理の全体の流れを示すフローチャートである。
【図１６】第３の実施の形態の変形例５にかかるＳＴＡの構成を示すブロック図である。
【図１７】第３の実施の形態の変形例５におけるローミング処理の全体の流れを示すフローチャートである。
【符号の説明】
【０１５２】
１０  ＳＴＡ
２０ａ〜２０ｄ  ＡＰ
３１、３２  電波範囲
１０１  アンテナ
１０２  ＲＦ部
１１０  ベースバンド信号処理部
１１１  復調部
１１２  変調部
１２０  プロトコル制御部
１２１  スキャン処理部
１２１ａ  送受信部
１２２  スキャン結果判定部
１２３  ローミング判定部
１２４  接続要求部
１３１  識別情報記憶部
１３２  スキャン結果記憶部
１２２０  プロトコル制御部
１２２１  スキャン処理部
１２２５  チャンネル選択部
１２３１  識別情報記憶部
１４１０  ベースバンド信号処理部
１４１３  電波強度検出部
１４２０  プロトコル制御部
１４２１  スキャン処理部
１４２２  スキャン結果判定部
１４２６  算出部
１６２０  プロトコル制御部
１６２３  ローミング判定部
【図１】
2010021765.tif 000003
【図２】
2010021765.tif 000004
【図３】
2010021765.tif 000005
【図４】
2010021765.tif 000006
【図５】
2010021765.tif 000007
【図６】
2010021765.tif 000008
【図７】
2010021765.tif 000009
【図８】
2010021765.tif 000010
【図９】
2010021765.tif 000011
【図１０】
2010021765.tif 000012
【図１１】
2010021765.tif 000013
【図１２】
2010021765.tif 000014
【図１３】
2010021765.tif 000015
【図１４】
2010021765.tif 000016
【図１５】
2010021765.tif 000017
【図１６】
2010021765.tif 000018
【図１７】
2010021765.tif 000019