以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の移動通信装置を示す図である。
第1の実施の形態の移動通信装置10は、無線通信網2(第1の無線通信網)と無線通信網3(第2の無線通信網)とを選択的に利用することができる。
無線通信網2は、広域ネットワークであり、例えば、携帯電話網などのセルラ網である。無線通信網2は、1または2以上の基地局を含む。無線通信網3は、無線通信網2よりも無線エリアの狭い局所的ネットワークであり、例えば、無線LANである。無線通信網3は、アクセスポイント3aなどの1または2以上のアクセスポイントを含む。ただし、アクセスポイントも基地局と呼ばれることがある。移動通信装置10は、例えば、携帯電話機、スマートフォン、PDA(Personal Digital Assistant)、タブレット端末、ノート型PC(Personal Computer)などの移動可能な無線端末装置である。
例えば、移動通信装置10は、無線通信網2または無線通信網3を利用してデータ通信を行う。データ通信には、VoIPを用いて音声データをパケットとして送信する音声通話が含まれ得る。移動通信装置10は、通信中に無線通信網2と無線通信網3との間でハンドオーバを行うことができる。例えば、移動通信装置10は、データ通信を切断せずに、通信経路を無線通信網2から無線通信網3へ切り替えることや、通信経路を無線通信網3から無線通信網2へ切り替えることが可能である。
移動通信装置10は、無線通信部11(第1の無線通信部)、無線通信部12(第2の無線通信部)および制御部13を有する。
無線通信部11は、無線通信網2の基地局と無線通信を行うことができる無線インタフェースである。無線通信部12は、無線通信網3のアクセスポイントと無線通信を行うことができる無線インタフェースである。無線通信網2の通信方式と無線通信網3の通信方式とは異なっていてもよい。制御部13は、無線通信部11,12を制御する。制御部13は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサを含んでもよい。また、制御部13は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、例えば、RAM(Random Access Memory)やフラッシュメモリなどの記憶装置に記憶された通信制御プログラムを実行する。なお、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶこともある。
まず、制御部13は、通信経路として無線通信網2を選択する。無線通信部11は、制御部13の制御のもと、無線通信網2を介して通信16を開始する。通信16は、例えば、VoIPを用いた音声通話などのデータ通信である。
次に、制御部13は、無線通信部12にスキャン17(第1のスキャン)を実行させる。無線通信部12は、無線通信網3のアクセスポイント3aを検出するスキャン17を実行する。無線通信部12は、スキャン17において、検出されたアクセスポイント3aの識別情報を取得する。識別情報として、例えば、ESSID(Extended Service Set Identifier)が用いられる。また、無線通信部12は、スキャン17において、検出されたアクセスポイント3aからの受信信号の信号レベルを算出する。信号レベルは、例えば、RSSI(Received Signal Strength Indicator)などの指標値で表現される。スキャン17は、例えば、検出対象を限定しないブロードキャストスキャンとして実行される。
制御部13は、スキャン17によって算出された信号レベルが閾値14(第1の閾値)を超えた場合、通信16の経路を無線通信網2から無線通信網3に切り替える。すなわち、制御部13は、無線通信網2から無線通信網3へのハンドオーバを決定する。また、制御部13は、スキャン17によって算出された信号レベルが閾値14より小さい閾値15(第2の閾値)以下である場合、無線通信部12にスキャン17を再実行させる。
これに対し、制御部13は、スキャン17によって算出された信号レベルが閾値14以下でありかつ閾値15を超えた場合、無線通信部12にスキャン18(第2のスキャン)を実行させる。スキャン18は、スキャン17によって検出されたアクセスポイント3aの識別情報を用いてスキャン17よりも検出対象を限定したものである。スキャン18は、例えば、検出対象を上記の識別情報をもつアクセスポイントに限定したユニキャストスキャンとして実行される。スキャン18は、スキャン17よりも負荷の軽いスキャンであり、例えば、スキャン17よりも短い周期で実行される。無線通信部12は、制御部13の制御のもと、スキャン18を実行する。無線通信部12は、例えば、スキャン18において、スキャン17と同様にアクセスポイント3aを検出し、検出されたアクセスポイント3aからの受信信号の信号レベルを算出する。
そして、制御部13は、スキャン18によって算出された信号レベルが閾値14を超えた場合、通信16の経路を無線通信網2から無線通信網3に切り替える。すなわち、制御部13は、無線通信網2から無線通信網3へのハンドオーバを決定する。スキャン17またはスキャン18の結果としてハンドオーバが決定されると、無線通信部11は、無線通信網2を介した通信16を停止する。無線通信部12は、スキャン17またはスキャン18によって検出されたアクセスポイント3aに接続し、通信16を引き継ぐ。
第1の実施の形態の移動通信装置10によれば、無線通信網2を介して通信16が行われているときにスキャン17が実行される。スキャン17によって算出された信号レベルが閾値14以下でありかつ閾値15を超えた場合、スキャン17によって検出されたアクセスポイント3aの識別情報を用いて検出対象を限定したスキャン18が実行される。そして、スキャン18によって算出された信号レベルが閾値14を超えた場合、通信16の経路が無線通信網2から無線通信網3に切り替えられる。
これにより、スキャン18の負荷をスキャン17よりも軽減することができ、スキャン18をスキャン17よりも短い周期で実行することが容易となる。また、移動通信装置10の近傍に多数のアクセスポイントが存在していても、それら多数のアクセスポイントに紛れて利用可能なアクセスポイントを検出し逃すリスクを低減できる。よって、スキャン17によって検出されたアクセスポイント3aの信号レベルの上昇を追跡することが容易となり、信号レベルが閾値14を超えた後に迅速にアクセスポイント3aに接続できる。
その結果、閾値14を高く設定しても、移動通信装置10が無線通信網3のアクセスポイント3aに接続する機会を見逃してしまうリスクを低減することができる。また、閾値14を高く設定することで、無線通信網2から無線通信網3に経路を切り替えた直後の通信16の品質を高く維持することが可能となる。
[第2の実施の形態]
図2は、第2の実施の形態の無線通信システムを示す図である。
第2の実施の形態の無線通信システムは、セルラ網20、無線LAN30、SGW(Serving Gateway)41、MME(Mobility Management Entity)42、ePDG(enhanced Packet Data Gateway)43、PGW(Packet Data Gateway)44、PDN(Packet Data Network)45および移動通信装置100を有する。セルラ網20は、基地局21を含む。無線LAN30は、アクセスポイント31〜34を含む。
なお、移動通信装置100は、第1の実施の形態の移動通信装置10の一例である。セルラ網20は、第1の実施の形態の無線通信網2の一例である。無線LAN30は、第1の実施の形態の無線通信網3の一例である。アクセスポイント31〜34それぞれは、第1の実施の形態のアクセスポイント3aの一例である。
セルラ網20は、無線LAN30の無線エリアを包含する広域の無線エリアをカバーする。セルラ網20に含まれる基地局21は、マクロセルを形成しているとも言える。セルラ網20は、3GPP(3rd Generation Partnership Project)の規格に準拠した無線通信を行う。準拠する規格としては、例えば、W−CDMA(Wideband Code Division Multiple Access)やLTE(Long Term Evolution)などが挙げられる。
基地局21は、移動通信装置100と無線通信を行う無線インタフェースを備える。また、基地局21は、SGW41およびMME42と有線通信を行う有線インタフェースを備える。基地局21は、移動通信装置100とSGW41との間でパケットデータを中継する。また、基地局21は、移動通信装置100との間の無線通信を制御するための制御データをMME42から受信し、また、制御データをMME42に送信する。
無線LAN30は、アクセスポイント31〜34によって、セルラ網20の無線エリアの一部分を局所的にカバーする。無線LAN30の無線エリアは、セルラ網20の無線エリア内に点在しているとも言える。無線LAN30は、IEEE(The Institute of Electrical and Electronics Engineers)802.11シリーズの規格に準拠した無線通信を行う。準拠する規格としては、例えば、IEEE802.11g,IEEE802.11n,IEEE802.11acなどが挙げられる。Wi−Fiに準拠していてもよい。
アクセスポイント31〜34は、移動通信装置100と無線通信を行う無線インタフェースを備える。また、アクセスポイント31〜34は、ePDG43と有線通信を行う有線インタフェースを備える。アクセスポイント31〜34は、移動通信装置100とePDG43との間でパケットデータを中継する。なお、アクセスポイント31〜34を「基地局」と呼ぶこともある。また、基地局21を「アクセスポイント」と呼ぶこともある。
SGW41は、セルラ網20が扱うパケットデータを処理する通信装置である。SGW41は、PGW44から受信したパケットデータを基地局21に転送し、基地局21から受信したパケットデータをPGW44に転送する。MME42は、セルラ網20の制御に用いる制御データを処理する通信装置である。MME42は、基地局21から制御データを受信し、基地局21に制御データを送信する。また、MME42は、SGW41から制御データを受信し、SGW41に制御データを送信する。
ePDG43は、セルラ網20以外のアクセス網(例えば、信頼性が保証されていないアクセス網)からのアクセスをセルラ網20やPDN45に収容する通信装置である。ePDG43は、アクセスポイント31〜34からのアクセスを許可する。ePDG43は、アクセスポイント31〜34から受信したパケットデータをPGW44に転送し、PGW44から受信したパケットデータをアクセスポイント31〜34に転送する。
PGW44は、アクセス網であるセルラ網20や無線LAN30とPDN45とを相互接続するゲートウェイとしての通信装置である。PGW44は、SGW41またはePDG43から受信したパケットデータをPDN45に転送し、PDN45から受信したパケットデータをSGW41またはePDG43に転送する。PDN45は、パケットデータを伝送するデータ通信網である。パケットデータの伝送には、例えば、IP(Internet Protocol)が用いられる。PDN45には、各種サービスを提供する情報処理装置が接続されてもよく、インターネットなどの他のネットワークが接続されてもよい。
移動通信装置100は、セルラ網20を利用する無線インタフェースと無線LAN30を利用する無線インタフェースの両方を備えた、移動可能な無線通信装置である。移動通信装置100として、例えば、携帯電話機、スマートフォン、PDA、タブレット端末、ノート型PCなど、ユーザが操作するユーザ端末装置が挙げられる。
移動通信装置100は、セルラ網20または無線LAN30を介してPDN45にアクセスし、PDN45からWebページ・静止画像・動画像などの各種のデータを受信することができる。また、PDN45は、SIPサーバとして動作し、セルラ網20と無線LAN30との間のハンドオーバを制御する。これにより、移動通信装置100は、セルラ網20または無線LAN30を介して、VoIPを用いて音声データを送受信し、ハンドオーバすることで音声通話を継続して行うことができる。
ここで、無線LAN30には、ショッピングモールやオフィスなどの広い場所をカバーするように、同一の設置者によって密に配置されたアクセスポイントの集合が含まれる。これらのアクセスポイントは、無線エリアが互いに部分的に重複するように配置されることがある。これにより、移動通信装置100は、ショッピングモールやオフィスなどの場所の中を移動するときに、アクセスポイント間でハンドオーバを行うことができる。また、無線LAN30には、ユーザの自宅や小さな店舗などの狭い場所をカバーするように、単独で設置されたアクセスポイントが含まれる。通常、単独で設置されたアクセスポイントとその周辺のアクセスポイントとの間では、ハンドオーバは行われない。
ただし、移動通信装置100は、あるアクセスポイントの周辺にハンドオーバ先となる他のアクセスポイントが存在するか(ハンドオーバ環境(HO環境)が形成されているか)は、事前には知らないものとする。後述するように、移動通信装置100は、複数のアクセスポイントの検出状況に基づいてHO環境の有無を推定する。第2の実施の形態では、少なくともアクセスポイント31,32は、同一のHO環境に属しているとする。
各アクセスポイントには、識別情報としてBSSID(Basic Service Set Identifier)とESSIDが付与されている。BSSIDは、個々のアクセスポイントを物理的に識別する48ビット数値であり、通常はそのアクセスポイントのMAC(Medium Access Control)アドレスが用いられる。ESSIDは、アクセスポイントの集合を論理的に識別する32文字以下の英数字である。例えば、ある事業者が提供する無線LANサービスに属する複数のアクセスポイントに、同じESSIDが付与されることがある。
また、各アクセスポイントは、2.4GHz帯の14個のチャネルと5GHz帯の19個のチャネルのうちの少なくとも1つを、無線通信に使用する。アクセスポイント31〜34には、同一の事業者によって「ESSID_00」という共通のESSIDが付与されている。アクセスポイント31は、「BSSID_01」というBSSIDを有し、チャネルCH1を使用する。アクセスポイント32は、「BSSID_02」というBSSIDを有し、チャネルCH6を使用する。アクセスポイント33は、「BSSID_03」というBSSIDを有し、チャネルCH11を使用する。アクセスポイント34は、「BSSID_04」というBSSIDを有し、チャネルCH44を使用する。
図3は、移動通信装置のハードウェア例を示すブロック図である。
移動通信装置100は、無線通信部101,101a、CPU102、RAM103、不揮発性メモリ104、ディスプレイ105、キーパッド106、音声信号処理部107、スピーカ107aおよびマイクロホン107bを有する。スピーカ107aおよびマイクロホン107bは、音声信号処理部107に接続されている。無線通信部101,101a、CPU102、RAM103、不揮発性メモリ104、ディスプレイ105、キーパッド106および音声信号処理部107は、バス108に接続されている。
なお、無線通信部101は、第1の実施の形態の無線通信部12の一例である。無線通信部101aは、第1の実施の形態の無線通信部11の一例である。CPU102は、第1の実施の形態の制御部13の一例である。
無線通信部101は、無線LAN30の通信方式に従って無線通信を行う無線インタフェースである。無線通信部101は、CPU102からの指示に応じてアクセスポイントをスキャンし、スキャン結果をCPU102に報告する。このとき、無線通信部101は、検出したアクセスポイントそれぞれからの受信信号の信号レベルを測定する。信号レベルを示す指標値として、第2の実施の形態ではRSSIを用いる。スキャン結果には、検出されたアクセスポイントのBSSID、ESSID、チャネル番号およびRSSIが含まれる。また、無線通信部101は、CPU102から指示されたアクセスポイントに接続する手続や、指示されたアクセスポイントから切断する手続を行う。
無線通信部101aは、セルラ網20の通信方式に従って無線通信を行う無線インタフェースである。無線通信部101aは、CPU102からの指示に応じて基地局21に接続し、基地局21を介したデータ通信を行うことができる。
CPU102は、プログラムを実行するプロセッサである。CPU102は、不揮発性メモリ104に記憶されたプログラムやデータの少なくとも一部をRAM103にロードし、プログラムに応じた処理を行う。なお、CPU102は複数のプロセッサコアを備えてもよく、移動通信装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶことがある。
RAM103は、CPU102が実行するプログラムやプログラムから参照されるデータを一時的に記憶する揮発性の半導体メモリである。なお、移動通信装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
不揮発性メモリ104は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、無線通信を制御する通信制御プログラムが含まれる。不揮発性メモリ104として、例えば、フラッシュメモリを用いることができる。ただし、移動通信装置100は、SSD(Solid State Drive)やHDD(Hard Disk Drive)など他の種類の不揮発性の記憶装置を備えてもよく、複数種類の記憶装置を備えてもよい。
ディスプレイ105は、CPU102からの指示に応じて、Webページ・静止画像・動画像などのコンテンツ、および、操作画面を表示する。ディスプレイ105としては、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、様々な種類のディスプレイを使用できる。
キーパッド106は、ユーザからの入力を受け付ける入力装置である。キーパッド106は、1または2以上のキーを備え、ユーザによって押下されたキーを示す入力信号をCPU102に出力する。なお、移動通信装置100は、キーパッド106に代えてまたはキーパッド106と共に、タッチパネルなどの他の入力装置を有してもよい。例えば、タッチパネルは、ディスプレイ105に重ねて設置される。タッチパネルは、ディスプレイ105に対するタッチ操作を検出し、タッチ位置をCPU102に通知する。
音声信号処理部107は、CPU102からの指示に応じて音声信号を処理する。音声信号処理部107は、デジタルの音声データを取得し、アナログの音声信号に変換してスピーカ107aに出力する。また、音声信号処理部107は、マイクロホン107bからアナログの音声信号を取得し、デジタルの音声データに変換する。
スピーカ107aは、音声信号処理部107から音声信号としての電気信号を取得し、物理振動に変換して音を再生する。例えば、ユーザが通話を行っているとき、通話相手の声や背景雑音が再生される。マイクロホン107bは、音の物理振動を電気信号に変換し、音声信号としての電気信号を音声信号処理部107に出力する。例えば、ユーザが通話を行っているとき、当該ユーザの声や背景雑音がマイクロホン107bから入力される。
次に、接続可能なアクセスポイントを検出するためのスキャンについて説明する。
移動通信装置100は、VoIPを用いた音声通話を行いつつ、通信経路をセルラ網20から無線LAN30に切り替えることができる。また、移動通信装置100は、音声通話を行いつつ、通信経路を無線LAN30からセルラ網20に切り替えることができる。
ここで、あるアクセスポイントのRSSIが小さいうちに基地局21から当該アクセスポイントにハンドオーバしてしまうと、ハンドオーバ直後の音声品質が低くなる。また、接続中のアクセスポイントのRSSIが十分に低くなるのを待って当該アクセスポイントから基地局21にハンドオーバすると、ハンドオーバ直前の音声品質が低くなる。
そこで、移動通信装置100は、音声品質を確保するため、基地局21とアクセスポイント31〜34との間のハンドオーバを判定するためのRSSIの閾値を高く設定しておく。すなわち、移動通信装置100は、RSSIが十分に高くなるのを待って基地局21からハンドオーバする。また、移動通信装置100は、RSSIが大きいうちに早めに基地局21にハンドオーバする。一方、移動通信装置100は、アクセスポイント31〜34への接続しづらさを軽減するため、以下に説明するようなスキャンを行う。
図4は、HO環境におけるアクセスポイントへの接続例を示す図である。
移動通信装置100は、無線LAN30のアクセスポイントを検出するスキャンとして、通常スキャン、候補チャネルスキャン(候補CHスキャン)、ハンドオーバ用スキャン(HO用スキャン)の3種類のスキャンを行うことができる。
通常スキャンは、32個のチャネル全てについて、ESSIDを指定せずに任意のESSIDをもつアクセスポイントを検出するスキャンである。通常スキャンを繰り返す場合、移動通信装置100は、例えば、10秒・20秒・60秒・120秒・300秒と徐々に通常スキャンの間隔を広げていく。間隔が300秒に達すると、移動通信装置100は、以降は300秒周期で通常スキャンを行う。候補CHスキャンは、32個のチャネル全てについて、指定されたESSIDをもつアクセスポイントのみを検出するスキャンである。候補CHスキャンを繰り返す場合、移動通信装置100は、例えば、5秒周期で候補CHスキャンを行う。HO用スキャンは、指定されたチャネルについて、指定されたESSIDをもつアクセスポイントのみを検出するスキャンである。HO用スキャンを繰り返す場合、移動通信装置100は、例えば、5秒周期でHO用スキャンを行う。
ここでは、移動通信装置100がセルラ網20を介して、VoIPを用いた音声通話を行っているとする。移動通信装置100は、基地局21とデータ通信を行いながら、無線LAN30について通常スキャンを実行する。通常スキャンによってアクセスポイント31が検出され、アクセスポイント31のRSSIが候補CHスキャン閾値54を超えると(T11)、移動通信装置100は、基地局21とデータ通信を行いながら候補CHスキャンを開始する。この候補CHスキャンでは、検出されたアクセスポイント31のESSIDである「ESSID_00」が指定される。すなわち、移動通信装置100は、「ESSID_00」をもつアクセスポイントに限定してRSSIを監視する。
候補CHスキャンによって測定されたアクセスポイント31のRSSIが接続閾値52を超えると(T12)、移動通信装置100は、データ通信を行いながら基地局21からアクセスポイント31にハンドオーバする。このとき、移動通信装置100は、直前の候補CHスキャンにおいて「ESSID_00」をもつアクセスポイントが複数検出されたか確認し、複数のアクセスポイントが検出された場合には現在地がHO環境であると判定する。ここでは、アクセスポイント31,32が検出され、HO環境と判定される。
HO環境においてアクセスポイント31のRSSIがHO用スキャン閾値51以下に低下すると(T13)、移動通信装置100は、アクセスポイント31とデータ通信を行いながらHO用スキャンを開始する。このHO用スキャンでは、アクセスポイント31のESSIDである「ESSID_00」が指定される。また、このHO用スキャンでは、候補CHスキャンでアクセスポイントが検出された1CHと6CHが指定される。すなわち、移動通信装置100は、チャネルとESSIDを限定してRSSIを監視する。
アクセスポイント32のRSSIがアクセスポイント31のRSSIよりも大きくなり両者の差がHO開始閾値56より大きくなると(T14)、移動通信装置100は、データ通信を行いながらアクセスポイント31からアクセスポイント32にハンドオーバする。同様に、HO環境においてアクセスポイント32のRSSIがHO用スキャン閾値51以下に低下すると(T15)、移動通信装置100は、アクセスポイント32とデータ通信を行いながらHO用スキャンを開始する。このHO用スキャンでは、アクセスポイント32のESSIDである「ESSID_00」が指定される。また、このHO用スキャンでは、候補CHスキャンでアクセスポイントが検出された1CHと6CHが指定される。
アクセスポイント32のRSSIが切断閾値53以下に低下すると(T16)、移動通信装置100は、データ通信を行いながらアクセスポイント32から基地局21にハンドオーバする。また、移動通信装置100は、候補CHスキャンを開始する。この候補CHスキャンでは、直前に接続していたアクセスポイント32のESSIDである「ESSID_00」が指定される。すなわち、移動通信装置100は、「ESSID_00」をもつアクセスポイントに限定してRSSIを監視する。
候補CHスキャンによって測定されたアクセスポイント32のRSSIがスキャン停止閾値55以下に低下すると(T17)、移動通信装置100は、スキャン方法を候補CHスキャンから通常スキャンに変更する。すなわち、移動通信装置100は、HO環境の外に移動した可能性があると判断し、ESSIDを限定しない通常スキャンを開始する。なお、候補CHスキャンによって、「ESSID_00」をもちRSSIが接続閾値52を超えたアクセスポイントが検出されると、移動通信装置100は、基地局21から当該アクセスポイントにハンドオーバする。ハンドオーバ先のアクセスポイントが、直前に接続していたアクセスポイント32になる可能性もある。
通常スキャンによってアクセスポイント33が検出され、アクセスポイント33のRSSIが候補CHスキャン閾値54を超えると(T18)、移動通信装置100は、基地局21とデータ通信を行いながら候補CHスキャンを開始する。この候補CHスキャンでは、アクセスポイント33のESSIDである「ESSID_00」が指定される。
候補CHスキャンによって測定されたアクセスポイント33のRSSIが接続閾値52を超えると(T19)、移動通信装置100は、データ通信を行いながら基地局21からアクセスポイント33にハンドオーバする。なお、通常スキャンまたは候補CHスキャンによって、直前に接続していたアクセスポイント32が検出される可能性がある。その場合、ハンドオーバ先がアクセスポイント32になることもある。
図5は、単独環境におけるアクセスポイントへの接続例を示す図である。
ここでは、図4の場合と同様に、移動通信装置100がセルラ網20を介してVoIPを用いた音声通話を行っているとする。移動通信装置100は、基地局21とデータ通信を行いながら通常スキャンを実行する。通常スキャンによってアクセスポイント34が検出され、アクセスポイント34のRSSIが候補CHスキャン閾値54を超えると(T21)、移動通信装置100は、基地局21とデータ通信を行いながら候補CHスキャンを開始する。この候補CHスキャンでは、検出されたアクセスポイント34のESSIDである「ESSID_00」が指定される。
候補CHスキャンによって測定されたアクセスポイント34のRSSIが接続閾値52を超えると(T22)、移動通信装置100は、データ通信を行いながら基地局21からアクセスポイント34にハンドオーバする。このとき、移動通信装置100は、直前の候補CHスキャンにおいて「ESSID_00」をもつアクセスポイントが複数検出されたか確認し、複数のアクセスポイントが検出されなかった場合には現在地が単独環境であると判定する。単独環境は、接続したアクセスポイントの周辺にハンドオーバ先となる他のアクセスポイントが存在しない(HO環境が形成されていない)ことを示す。ここでは、アクセスポイント34のみが検出され、単独環境と判定される。
単独環境の場合、アクセスポイント34のRSSIがHO用スキャン閾値51以下になってもHO用スキャンは行われない。HO用スキャンを行っても、ハンドオーバ先となる他のアクセスポイントが検出される可能性は小さいためである。アクセスポイント34のRSSIが切断閾値53以下に低下すると(T23)、移動通信装置100は、データ通信を行いながらアクセスポイント34から基地局21にハンドオーバする。また、移動通信装置100は、候補CHスキャンを開始する。この候補CHスキャンでは、直前に接続していたアクセスポイント34のESSIDである「ESSID_00」が指定される。
候補CHスキャンによって測定されたアクセスポイント34のRSSIがスキャン停止閾値55以下に低下すると(T24)、移動通信装置100は、スキャン方法を候補CHスキャンから通常スキャンに変更する。なお、候補CHスキャンまたは通常スキャンによって測定されたアクセスポイント34のRSSIが接続閾値52を超えると、移動通信装置100は、基地局21からアクセスポイント34に再びハンドオーバする。
図6は、無線LANのチャネルの例を示す図である。
無線LAN30のアクセスポイント31〜34は、周波数帯域61〜64の少なくとも1つを使用することができる。周波数帯域61は、2.4GHz帯に属し、1CH〜13CHの13個のチャネルを含む。周波数帯域62は、5GHz帯に属する5.15〜5.25GHz(W52)であり、36CH,40CH,44CH,48CHの4個のチャネルを含む。周波数帯域63は、5GHz帯に属する5.25〜5.35GHz(W53)であり、52CH,56CH,60CH,64CHの4個のチャネルを含む。周波数帯域64は、5GHz帯に属する5.47〜5.725GHz(W56)であり、100CH,104CH,108CH,112CH,116CH,120CH,124CH,128CH,132CH,136CH,140CHの11個のチャネルを含む。
周波数帯域61については、移動通信装置100はアクティブスキャンを行う。アクティブスキャンは、ブロードキャストスキャンまたはユニキャストスキャンとして行われる。ブロードキャストスキャンでは、移動通信装置100は、ESSIDを指定しないプローブ(Probe)要求を送信する。プローブ要求を受信したアクセスポイントは、BSSIDやESSIDを含むプローブ応答を返信する。ユニキャストスキャンでは、移動通信装置100は、ESSIDを指定したプローブ要求を送信する。プローブ要求を受信したアクセスポイントは、指定されたESSIDと自身のESSIDが一致するときのみ、BSSIDやESSIDを含むプローブ応答を返信する。1チャネル分のプローブ要求の送信とプローブ応答の受信に要する時間は、約30ミリ秒である。
周波数帯域62〜64については、移動通信装置100は原則としてパッシブスキャンを行う。パッシブスキャンでは、移動通信装置100は、アクセスポイントが送信するビーコン(Beacon)を検出する。アクセスポイントは、ビーコンと呼ばれる制御信号を所定の周期(例えば、102.4ミリ秒周期)で報知している。ビーコンは、BSSIDやESSIDなど、アクティブスキャンのプローブ応答に相当する情報を含む。1チャネル分のビーコンの検出に要する時間は、約120ミリ秒である。
通常スキャンでは、移動通信装置100は、周波数帯域61の13個のチャネル全てについてブロードキャストスキャンを行い、周波数帯域62〜64の19個のチャネル全てについてパッシブスキャンを行う。候補CHスキャンでは、移動通信装置100は、周波数帯域61の13個のチャネル全てについてユニキャストスキャンを行い、周波数帯域62〜64の19個のチャネル全てについてパッシブスキャンを行う。
一方、HO用スキャンでは、移動通信装置100は、周波数帯域61の13個のチャネルのうち特定の候補CHについてのみユニキャストスキャンを行い、周波数帯域62〜64の19個のチャネルのうち特定の候補CHについてのみパッシブスキャンを行う。また、HO用スキャンを行っているときは、移動通信装置100は無線LAN30を利用したデータ通信を中断することになる。そこで、HO用スキャンでは、移動通信装置100は複数のチャネルのスキャンを500ミリ秒ずつ間隔を空けて間欠的に行う。データ通信が連続的に中断される時間を短縮することで、VoIPを用いた音声通話の品質などデータ通信の品質がHO用スキャンによって低下するのを抑制できる。
なお、5GHz帯のスキャンがアクティブスキャンではなくパッシブスキャンであるのは、法令により屋外での5GHz帯の信号の発信が制限されているためである。ただし、移動通信装置100は、W52,W53の信号を受信している場合など、現在地が屋内であると推定できる場合には、5GHz帯でアクティブスキャンを行うようにしてもよい。
次に、移動通信装置100の機能について説明する。
図7は、移動通信装置の機能例を示すブロック図である。
移動通信装置100は、記憶部110、スキャン制御部121、AP管理部122、HO制御部123およびセルラHO制御部124を有する。記憶部110は、RAM103または不揮発性メモリ104に確保した記憶領域を用いて実現できる。スキャン制御部121、AP管理部122、HO制御部123およびセルラHO制御部124は、CPU102が実行するプログラムのモジュールを用いて実現できる。
記憶部110は、アクセスポイントのスキャンやアクセスポイントへの接続の制御に用いられる制御情報を記憶する。制御情報には、接続実績テーブル111、閾値テーブル112および候補CHテーブル113が含まれる。
接続実績テーブル111には、ユーザからの指示に応じて移動通信装置100が過去に接続したアクセスポイントのESSIDが登録される。閾値テーブル112には、前述のHO用スキャン閾値51や接続閾値52などの各種閾値が登録される。閾値は、移動通信装置100の製造時や出荷時などに予め設定されてもよい。また、閾値は、移動通信装置100の出荷後、ソフトウェアのアップデート時に併せて更新されてもよい。候補CHテーブル113には、候補CHスキャンによって特定された候補CH、すなわち、候補CHスキャンでアクセスポイントが検出されたチャネルが登録される。
スキャン制御部121は、無線通信部101にスキャンを指示し、スキャン結果を無線通信部101から取得する。スキャン制御部121は、スキャン対象のESSIDやチャネルを無線通信部101に対して指定することがある。また、スキャン制御部121は、アクセスポイントの検出基準とするRSSIの閾値を指定することがある。スキャン制御部121は、無線通信部101から取得したスキャン結果を、スキャンの種類に応じてAP管理部122またはHO制御部123に転送する。スキャン結果には、検出された各アクセスポイントのBSSID、ESSID、チャネル番号およびRSSIが含まれる。
通常スキャンでは、ESSIDやチャネルは限定されない。無線通信部101から取得した通常スキャン結果は、AP管理部122に転送される。候補CHスキャンでは、ESSIDが限定されチャネルは限定されない。また、候補CHスキャンでは、検出基準として通常スキャンよりも小さい閾値が使用される。候補CHスキャン結果は、AP管理部122に転送される。HO用スキャンでは、ESSIDとチャネルが限定される。HO用スキャン結果は、HO制御部123に転送される。
AP管理部122は、アクセスポイントの選択、選択したアクセスポイントへの接続、接続中のアクセスポイントからの切断などを管理する。AP管理部122は、スキャン制御部121から通常スキャン結果を取得すると、ESSIDが接続実績テーブル111に登録されておりかつRSSIが候補CHスキャン閾値54を超えるアクセスポイントが検出されたか判定する。該当するアクセスポイントが検出されると、AP管理部122は、ESSIDを限定した候補CHスキャンをスキャン制御部121に指示する。
候補CHスキャン結果をスキャン制御部121から取得すると、AP管理部122は、RSSIが接続閾値52を超えるアクセスポイントが検出されたか判定する。該当するアクセスポイントが検出されると、AP管理部122は、セルラHO制御部124にセルラ網20のパケット停止を依頼し、無線通信部101に接続手続を実行させる。また、AP管理部122は、候補CHスキャン結果から、現在地がHO環境か単独環境かを判定する。同一ESSIDをもつ2以上のアクセスポイントが検出された場合、AP管理部122は、HO環境と判定し候補CHテーブル113を更新する。また、AP管理部122は、HO制御部123からの依頼に応じて、無線通信部101に切断手続を実行させる。
HO制御部123は、無線LAN30内のハンドオーバを制御する。HO制御部123は、接続中のアクセスポイントのRSSIがHO用スキャン閾値51以下に低下したことが検出されると、スキャン制御部121を介してRSSI低下の通知を取得する。すると、HO制御部123は、スキャン制御部121にHO用スキャンを指示する。
HO用スキャン結果をスキャン制御部121から取得すると、HO制御部123は、RSSIが十分に大きいハンドオーバ先の他のアクセスポイントが検出されたか判定する。該当するアクセスポイントが検出された場合、HO制御部123は、接続中のアクセスポイントからの切断とハンドオーバ先のアクセスポイントへの接続を無線通信部101に指示する。また、HO制御部123は、接続中のアクセスポイントのRSSIが切断閾値53以下に低下した場合、アクセスポイントからの切断をAP管理部122に依頼し、セルラ網20のパケット再開をセルラHO制御部124に依頼する。
セルラHO制御部124は、セルラ網20と無線LAN30との間のハンドオーバを制御する。セルラHO制御部124は、AP管理部122からの依頼に応じて、無線通信部101aにパケットの送受信を停止させる。また、セルラHO制御部124は、HO制御部123からの依頼に応じて、無線通信部101aにパケットの送受信を再開させる。
図8は、接続実績テーブルと閾値テーブルの例を示す図である。
接続実績テーブル111は、記憶部110に記憶されている。接続実績テーブル111は、ESSIDのリストを含む。このESSIDは、過去にユーザからの指示に応じて接続したことのあるアクセスポイントのESSIDである。移動通信装置100は、過去にユーザが選択したアクセスポイントと同じESSIDをもつアクセスポイントには、ユーザからの明示的な指示がなくても自動的に接続することができる。図8の例では、接続実績テーブル111に「ESSID_00」と「ESSID_01」が登録されている。ただし、信頼し得る所定のESSIDが予め接続実績テーブル111に登録されてもよい。
閾値テーブル112は、記憶部110に記憶されている。閾値テーブル112は、閾値名とRSSIとの組のリストを含む。閾値には、前述のHO用スキャン閾値51、接続閾値52、切断閾値53、候補CHスキャン閾値54、スキャン停止閾値55およびHO開始閾値56が含まれる。また、閾値には更に、検出1閾値と検出2閾値が含まれる。
HO用スキャン閾値51は、HO用スキャンを開始するか否か判定するためのRSSIの閾値であり、例えば、−55dBmに設定される。接続閾値52は、無線LAN30のアクセスポイントへの接続可否を判定するためのRSSIの閾値であり、例えば、−60dBmに設定される。接続閾値52は、セルラ網20から無線LAN30にハンドオーバするか否か判定するためのRSSIの閾値でもある。切断閾値53は、無線LAN30のアクセスポイントから切断するか否か判定するためのRSSIの閾値であり、例えば、−70dBmに設定される。切断閾値53は、無線LAN30からセルラ網20にハンドオーバするか否か判定するためのRSSIの閾値でもある。
候補CHスキャン閾値54は、候補CHスキャンを開始するか否か判定するためのRSSIの閾値であり、例えば、−80dBmに設定される。スキャン停止閾値55は、候補CHスキャンを停止するか否か判定するためのRSSIの閾値であり、例えば、−85dBmに設定される。検出1閾値は、通常スキャンおよびHO用スキャンにおいて無線通信部101がアクセスポイントを検出する基準として用いるRSSIの閾値であり、例えば、−85dBmに設定される。通常スキャン結果およびHO用スキャン結果には、RSSIが検出1閾値を超えるアクセスポイントの情報が含まれる。
検出2閾値は、候補CHスキャンにおいて無線通信部101がアクセスポイントを検出する基準として用いるRSSIの閾値であり、例えば、−90dBmに設定される。候補CHスキャン結果には、RSSIが検出2閾値を超えるアクセスポイントの情報が含まれる。HO開始閾値56は、無線LAN30のアクセスポイントの間でハンドオーバ可否を判定するためのRSSI差の閾値であり、例えば、10dBに設定される。
HO用スキャン閾値51は、接続閾値52より大きい。接続閾値52は、切断閾値53より大きい。切断閾値53は、候補CHスキャン閾値54以上である。候補CHスキャン閾値54は、スキャン停止閾値55より大きい。スキャン停止閾値55は、検出1閾値以上である。検出1閾値は、検出2閾値より大きい。
以下の説明では、RSSIの大きさを表すために、「RSSI_」と2桁の数字を組み合わせた表記を用いることがある。2桁の数字が大きいほど、RSSIが大きいことを表す。HO用スキャン閾値51はRSSI_60、接続閾値52はRSSI_50、切断閾値53はRSSI_40、候補CHスキャン閾値54はRSSI_30、スキャン停止閾値55はRSSI_20である。検出1閾値はRSSI_10、検出2閾値はRSSI_00である。HO開始閾値56はΔRSSI_10である。
図9は、候補CHテーブルの例を示す図である。
候補CHテーブル113は、記憶部110に記憶されている。候補CHテーブル113は、ESSID、BSSID、チャネルおよび候補チャネルの項目を有する。ESSIDおよびBSSIDの項目には、あるアクセスポイントのESSIDとBSSIDが登録される。チャネルの項目には、そのアクセスポイントが使用するチャネルの番号が登録される。候補チャネルの項目には、候補CHスキャンによってそのアクセスポイントと同じ場所で検出された他のアクセスポイントのチャネル番号が登録される。
例えば、1回の候補CHスキャンによってアクセスポイント31,32が検出されたとする。その場合、アクセスポイント31に関して、ESSIDが「ESSID_00」、BSSIDが「BSSID_01」、チャネルが「CH1」、候補チャネルが「CH6」という情報が候補CHテーブル113に登録される。更に、アクセスポイント32に関して、ESSIDが「ESSID_00」、BSSIDが「BSSID_02」、チャネルが「CH6」、候補チャネルが「CH1」という情報が登録される。
次に、典型的なハンドオーバのシーケンスについて説明する。以下で説明するシーケンスは、図4のHO環境での通信および図5の単独環境での通信に対応する。
図10は、HO環境の通信例を示す第1のシーケンス図である。
ここでは、移動通信装置100が、基地局21とデータ通信を行いながらアクセスポイント31に向かって移動しているとする。なお、移動通信装置100がセルラ網20に接続中であることが、PDN45に登録されているとする。以下の説明では、セルラ網20や無線LAN30に接続する場合は、PDN45に接続情報が登録されるものとする。
ユーザが移動通信装置100の無線LAN機能をONにしていると、スキャン制御部121は、無線通信部101に通常スキャンを通知する。無線通信部101は、全てのチャネルを対象としてスキャンを行う。2.4GHz帯のスキャンは、ESSIDを限定しないブロードキャストスキャンとして行う。無線通信部101は、チャネルCH1でプローブ要求を送信してアクセスポイント31からプローブ応答を受信し、チャネルCH6でプローブ要求を送信してアクセスポイント32からプローブ応答を受信する(S110)。
ここでは、アクセスポイント31のRSSIがRSSI_45であるとする。無線通信部101は、RSSIが検出1閾値を超えたアクセスポイント31を抽出し、アクセスポイント31の情報を含む通常スキャン結果をスキャン制御部121に通知する。なお、ブロードキャストスキャンによって、RSSIが接続閾値52を超えるアクセスポイントが検出された場合、無線通信部101はそのまま接続処理を行ってもよい。
スキャン制御部121は、通常スキャン結果をAP管理部122に通知する。AP管理部122は、アクセスポイント31のESSIDが接続実績テーブル111にあり、アクセスポイント31のRSSIが候補CHスキャン閾値54を超えたことを確認する。すると、AP管理部122は、アクセスポイント31の「ESSID_00」を指定して、候補CHスキャンをスキャン制御部121に通知する(S111)。
スキャン制御部121は、無線通信部101に候補CHスキャンを通知する。また、スキャン制御部121は、RSSIの閾値を検出1閾値から検出2閾値に下げる。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う。2.4GHz帯のスキャンは、ESSIDを限定したユニキャストスキャンとして行う。無線通信部101は、チャネルCH1でプローブ要求を送信してアクセスポイント31からプローブ応答を受信し、チャネルCH6でプローブ要求を送信してアクセスポイント32からプローブ応答を受信する(S112)。
ここでは、アクセスポイント31のRSSIがRSSI_48、アクセスポイント32のRSSIがRSSI_20であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント31,32を抽出し、アクセスポイント31,32の情報を含む候補CHスキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、複数のアクセスポイントが検出されたため、現在地がHO環境と判定する。そこで、AP管理部122は、候補CHスキャン結果に基づいて候補CHテーブル113を更新する。すなわち、AP管理部122は、アクセスポイント31,32を候補CHテーブル113に登録する。また、AP管理部122は、アクセスポイント31に対する候補CHにチャネルCH6を追加し、アクセスポイント32に対する候補CHにチャネルCH1を追加する。これは、同じ場所で検出されたアクセスポイント31,32のチャネルCH1,CH6を相互に関連付けていると言うことができる。
また、AP管理部122は、アクセスポイント31のRSSIが候補CHスキャン閾値54を超えているが接続閾値52以下であることを確認する。すると、AP管理部122は、アクセスポイント31の「ESSID_00」を指定して、再び候補CHスキャンをスキャン制御部121に通知する(S113)。
スキャン制御部121は、無線通信部101に候補CHスキャンを通知する。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S114)。ここでは、アクセスポイント31のRSSIがRSSI_55、アクセスポイント32のRSSIがRSSI_20であるとする。無線通信部101は、候補CHスキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、複数のアクセスポイントが検出されたため、現在地がHO環境と判定する。また、AP管理部122は、アクセスポイント31のRSSIが接続閾値52を超えたことを確認する。すると、AP管理部122は、アクセスポイント31への接続を決定し、HO開始をセルラHO制御部124に通知する(S115)。
セルラHO制御部124は、パケット停止を無線通信部101aに通知する(S116)。無線通信部101aは、基地局21との間のパケットの送受信を停止し、セルラHO制御部124に完了を応答する(S117)。セルラHO制御部124は、AP管理部122にパケット停止完了を通知する。AP管理部122は、BSSID、ESSIDおよびチャネル番号を指定して、無線通信部101に接続開始を通知する。
無線通信部101は、アクセスポイント31との間で、チャネルCH1を用いて接続手続を行う。アクセスポイント31に接続すると、無線通信部101は、アクセスポイント31、ePDG43およびPWG44を経由して、PDN45のセッション情報を変更する。また、無線通信部101は、アクセスポイント31からビーコンを周期的に(例えば、約100ミリ秒周期で)受信する。音声パケット通信中であれば、無線通信部101はパケット通信を再開する(S118)。AP管理部122は、HO制御部123にHO環境を通知する。HO制御部123は、HO用の制御を開始し、無線通信部101にHO環境を通知する(S119)。
図11は、HO環境の通信例を示す第2のシーケンス図である。
ここでは、移動通信装置100が、アクセスポイント31に接続したまま、アクセスポイント31からアクセスポイント32に向かって移動しているとする。
無線通信部101は、アクセスポイント31からビーコンを受信してRSSIを測定する。ここでは、アクセスポイント31のRSSIがRSSI_48であるとする。無線通信部101は、RSSIがHO用スキャン閾値51以下であることを検出し、RSSI低下をスキャン制御部121に通知する(S120)。
スキャン制御部121は、RSSI低下をHO制御部123に通知する。HO制御部123は、アクセスポイント31に対応する候補チャネルを候補CHテーブル113から検索する。そして、HO制御部123は、「ESSID_00」と候補チャネルCH6を指定して、HO用スキャンをスキャン制御部121に通知する(S121)。
スキャン制御部121は、HO用スキャンを無線通信部101に通知する。無線通信部101は、チャネルを候補チャネルCH6に限定し、ESSIDを「ESSID_00」に限定してスキャンを行う。2.4GHz帯のスキャンは、ユニキャストスキャンとして行う。無線通信部101は、チャネルCH6でプローブ要求を送信してアクセスポイント32からプローブ応答を受信する(S122)。なお、無線通信部101は、候補チャネルに対するユニキャストは別に、接続中のアクセスポイント31からビーコンを受信している。HO用スキャン結果には、アクセスポイント31の情報も含めるようにする。
ここでは、アクセスポイント31のRSSIがRSSI_47、アクセスポイント32のRSSIがRSSI_55であるとする。無線通信部101は、RSSIが検出1閾値を超えたアクセスポイント31,32を抽出し、アクセスポイント31,32の情報を含むHO用スキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、HO用スキャン結果をHO制御部123に通知する。HO制御部123は、最大RSSIであるRSSI_55と接続中のアクセスポイント31のRSSI_47との差を算出し、RSSI差がHO開始閾値56以下であることを確認する。すると、HO制御部123は、所定時間(例えば、5秒)待って、HO用スキャンをスキャン制御部121に再度通知する(S123)。
スキャン制御部121は、HO用スキャンを無線通信部101に通知する。無線通信部101は、上記のステップS122と同様に、チャネルを候補チャネルCH6に限定し、ESSIDを「ESSID_00」に限定してスキャンを行う(S124)。ここでは、アクセスポイント31のRSSIがRSSI_47、アクセスポイント32のRSSIがRSSI_62であるとする。無線通信部101は、RSSIが検出1閾値を超えたアクセスポイント31,32を抽出し、アクセスポイント31,32の情報を含むHO用スキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、HO用スキャン結果をHO制御部123に通知する。HO制御部123は、最大RSSIであるRSSI_62と接続中のアクセスポイント31のRSSI_47との差を算出し、RSSI差がHO開始閾値56を超えたことを確認する。すると、HO制御部123は、ハンドオーバ可能と判定し、BSSID、ESSIDおよびチャネル番号を指定して、HO開始を無線通信部101に通知する(S125)。
無線通信部101は、アクセスポイント31との間で切断手続を行い、アクセスポイント32との間で接続手続を行う。アクセスポイント32に接続すると、無線通信部101は、アクセスポイント32からのビーコンを周期的に受信する(S126)。
図12は、HO環境の通信例を示す第3のシーケンス図である。
ここでは、移動通信装置100が、アクセスポイント32に接続したまま、アクセスポイント31,32から遠ざかるように移動しているとする。
無線通信部101は、アクセスポイント32からビーコンを受信してRSSIを測定する。ここでは、アクセスポイント32のRSSIがRSSI_54であるとする。無線通信部101は、RSSIがHO用スキャン閾値51以下であることを検出し、RSSI低下をスキャン制御部121に通知する(S130)。
スキャン制御部121は、RSSI低下をHO制御部123に通知する。HO制御部123は、アクセスポイント32に対応する候補チャネルを候補CHテーブル113から検索する。そして、HO制御部123は、「ESSID_00」と候補チャネルCH1を指定して、HO用スキャンをスキャン制御部121に通知する(S131)。
スキャン制御部121は、HO用スキャンを無線通信部101に通知する。無線通信部101は、チャネルを候補チャネルCH1に限定し、ESSIDを「ESSID_00」に限定してスキャンを行う。2.4GHz帯のスキャンは、ユニキャストスキャンとして行う。無線通信部101は、チャネルCH1でプローブ要求を送信してアクセスポイント31からプローブ応答を受信する(S132)。また、無線通信部101は、接続中のアクセスポイント32からビーコンを受信している。
ここでは、アクセスポイント32のRSSIがRSSI_35であり、アクセスポイント31のRSSIが検出1閾値以下であるとする。無線通信部101は、RSSIが検出1閾値を超えたアクセスポイント32を抽出し、アクセスポイント32の情報を含むHO用スキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、HO用スキャン結果をHO制御部123に通知する。HO制御部123は、アクセスポイント32のRSSIが切断閾値53以下であることを確認する。すると、HO制御部123は、AP管理部122に切断開始を通知し、セルラHO制御部124にHO開始を通知する(S133)。
AP管理部122は、無線通信部101に切断開始を通知する(S134)。無線通信部101は、アクセスポイント32からの切断手続を行い、AP管理部122に完了を応答する。AP管理部122は、切断完了をセルラHO制御部124に通知する。セルラHO制御部124は、HO制御部123からHO開始が通知され、AP管理部122から切断完了が通知されると、無線通信部101aにパケット再開を通知する(S135)。無線通信部101aは、基地局21を経由してPDN45に対し、登録情報(セッション情報)の変更を行う。その後、無線通信部101aは、基地局21との間のパケットの送受信を再開する(S136)。
アクセスポイント32から基地局21へのハンドオーバが完了すると、AP管理部122は、直前に接続していたアクセスポイント32の「ESSID_00」を指定して、候補CHスキャンをスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャンを無線通信部101に通知する。また、スキャン制御部121は、RSSIの閾値を検出1閾値から検出2閾値に下げる。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S137)。
ここでは、アクセスポイント31は検出されず、アクセスポイント32のRSSIがRSSI_25であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント32を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、RSSIが接続閾値52を超えたアクセスポイントが検出されなかったため、候補CHスキャンをスキャン制御部121に再度通知する。スキャン制御部121は、候補CHスキャンを無線通信部101に通知する。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S138)。
ここでは、アクセスポイント31は検出されず、アクセスポイント32のRSSIがRSSI_15であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント32を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、RSSIがスキャン停止閾値55以下であることを確認する。すると、AP管理部122は、スキャン方法を候補CHスキャンから通常スキャンに変更することを決定し、スキャン制御部121に通常スキャンを通知する。
スキャン制御部121は、通常スキャンを無線通信部101に通知する。無線通信部101は、全てのチャネルを対象としてスキャンを行う。2.4GHz帯のスキャンは、ESSIDを限定しないブロードキャストスキャンとして行う(S139)。
図13は、単独環境の通信例を示す第1のシーケンス図である。
ここでは、移動通信装置100が、基地局21とデータ通信を行いながらアクセスポイント34に向かって移動しているとする。
ユーザが移動通信装置100の無線LAN機能をONにしていると、スキャン制御部121は、無線通信部101に通常スキャンを通知する。無線通信部101は、チャネルおよびESSIDを限定せずにスキャンを行う。無線通信部101は、チャネルCH44でアクセスポイント34からビーコンを受信する(S140)。ここでは、アクセスポイント34のRSSIがRSSI_45であるとする。無線通信部101は、RSSIが検出1閾値を超えたアクセスポイント34を抽出し、アクセスポイント34の情報を含む通常スキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、通常スキャン結果をAP管理部122に通知する。AP管理部122は、アクセスポイント34のESSIDが接続実績テーブル111にあり、アクセスポイント34のRSSIが候補CHスキャン閾値54を超えたことを確認する。すると、AP管理部122は、アクセスポイント34の「ESSID_00」を指定して、候補CHスキャンをスキャン制御部121に通知する(S141)。
スキャン制御部121は、無線通信部101に候補CHスキャンを通知する。また、スキャン制御部121は、RSSIの閾値を検出1閾値から検出2閾値に下げる。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う。無線通信部101は、チャネルCH44でアクセスポイント34からビーコンを受信する(S142)。ここでは、アクセスポイント34のRSSIがRSSI_48であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント34を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、1つのアクセスポイントのみが検出されたため、現在地が単独環境と判定する。また、AP管理部122は、アクセスポイント34のRSSIが候補CHスキャン閾値54を超えているが接続閾値52以下であることを確認する。すると、AP管理部122は、アクセスポイント34の「ESSID_00」を指定して、再び候補CHスキャンをスキャン制御部121に通知する(S143)。
スキャン制御部121は、無線通信部101に候補CHスキャンを通知する。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S144)。ここでは、アクセスポイント34のRSSIがRSSI_55であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント34を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。
スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、1つのアクセスポイントのみが検出されたため、現在地が単独環境と判定する。また、AP管理部122は、アクセスポイント34のRSSIが接続閾値52を超えたことを確認する。すると、AP管理部122は、アクセスポイント34への接続を決定し、HO開始をセルラHO制御部124に通知する(S145)。
セルラHO制御部124は、パケット停止を無線通信部101aに通知する(S146)。無線通信部101aは、基地局21との間のパケットの送受信を停止し、セルラHO制御部124に完了を応答する(S147)。セルラHO制御部124は、AP管理部122にパケット停止完了を通知する。AP管理部122は、BSSID、ESSIDおよびチャネル番号を指定して、無線通信部101に接続開始を通知する。
無線通信部101は、アクセスポイント34との間で、チャネルCH44を用いて接続手続を行う。アクセスポイント34に接続すると、無線通信部101は、アクセスポイント34、ePDG43およびPWG44を経由して、PDN45のセッション情報を変更する。また、無線通信部101は、アクセスポイント34からビーコンを周期的に受信する。音声パケット通信中であれば、無線通信部101はパケット通信を再開する(S148)。
図14は、単独環境の通信例を示す第2のシーケンス図である。
ここでは、移動通信装置100が、アクセスポイント34に接続したまま、アクセスポイント34から遠ざかるように移動しているとする。
無線通信部101は、アクセスポイント34からビーコンを受信してRSSIを測定する。ここでは、アクセスポイント34のRSSIがRSSI_35であるとする。無線通信部101は、RSSIが切断閾値53以下であることを検出し、RSSI低下をスキャン制御部121に通知する(S150)。スキャン制御部121は、RSSI低下をHO制御部123に通知する。HO制御部123は、アクセスポイント34のRSSIが切断閾値53以下であることを確認する。すると、HO制御部123は、AP管理部122に切断開始を通知し、セルラHO制御部124にHO開始を通知する(S151)。
AP管理部122は、無線通信部101に切断開始を通知する(S152)。無線通信部101は、アクセスポイント34からの切断手続を行い、AP管理部122に完了を応答する。AP管理部122は、切断完了をセルラHO制御部124に通知する。セルラHO制御部124は、HO制御部123からHO開始が通知され、AP管理部122から切断完了が通知されると、無線通信部101aにパケット再開を通知する(S153)。無線通信部101aは、基地局21を経由してPDN45に対し、登録情報(セッション情報)の変更を行う。その後、無線通信部101aは、基地局21との間のパケットの送受信を再開する(S154)。
アクセスポイント34から基地局21へのハンドオーバが完了すると、AP管理部122は、直前に接続していたアクセスポイント34の「ESSID_00」を指定して、候補CHスキャンをスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャンを無線通信部101に通知する。また、スキャン制御部121は、RSSIの閾値を検出1閾値から検出2閾値に下げる。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S155)。
ここでは、アクセスポイント34のRSSIがRSSI_25であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント34を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、候補CHスキャンをスキャン制御部121に再度通知する。スキャン制御部121は、候補CHスキャンを無線通信部101に通知する。無線通信部101は、チャネルを限定せず、ESSIDを「ESSID_00」に限定してスキャンを行う(S156)。
ここでは、アクセスポイント34のRSSIがRSSI_15であるとする。無線通信部101は、RSSIが検出2閾値を超えたアクセスポイント34を抽出し、候補CHスキャン結果をスキャン制御部121に通知する。スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。AP管理部122は、RSSIがスキャン停止閾値55以下であることを確認する。すると、AP管理部122は、スキャン方法を通常スキャンに変更することを決定し、スキャン制御部121に通常スキャンを通知する。
スキャン制御部121は、通常スキャンを無線通信部101に通知する。無線通信部101は、チャネルおよびESSIDを限定せずにスキャンとして行う(S157)。このように、単独環境では、移動通信装置100は、アクセスポイント34のRSSIがHO用スキャン閾値51以下になってもHO用スキャンを行わない。
次に、移動通信装置100の処理手順について説明する。
図15は、無線通信部の手順例を示すフローチャートである。
(S210)無線通信部101は、スキャン制御部121、AP管理部122またはHO制御部123から通知を受け付ける。無線通信部101は、受け付けた通知が、スキャン制御部121からの通常スキャンの通知か判断する。通常スキャンの通知である場合はステップS220に処理が進み、それ以外の場合はステップS211に処理が進む。
(S211)無線通信部101は、受け付けた通知が、スキャン制御部121からの候補CHスキャンの通知か判断する。候補CHスキャンの通知である場合はステップS230に処理が進み、それ以外の場合はステップS212に処理が進む。
(S212)無線通信部101は、受け付けた通知が、スキャン制御部121からのHO用スキャンの通知か判断する。HO用スキャンの通知である場合はステップS240に処理が進み、それ以外の場合はステップS213に処理が進む。
(S213)無線通信部101は、受け付けた通知が、AP管理部122からの接続開始の通知か判断する。接続開始の通知である場合はステップS260に処理が進み、それ以外の場合はステップS214に処理が進む。
(S214)無線通信部101は、受け付けた通知が、AP管理部122からの切断開始の通知か判断する。切断開始の通知である場合はステップS215に処理が進み、それ以外の場合はステップS216に処理が進む。
(S215)無線通信部101は、接続中のアクセスポイントとの間で切断手続を行う。そして、無線通信部101の処理が終了する。
(S216)無線通信部101は、受け付けた通知が、HO制御部123からのHO開始の通知か判断する。HO開始の通知である場合はステップS217に処理が進み、それ以外の場合はステップS218に処理が進む。
(S217)無線通信部101は、接続中のアクセスポイントとの間で切断手続を行う。また、無線通信部101は、HO制御部123から指定されたアクセスポイントとの間で接続手続を行う。そして、無線通信部101の処理が終了する。
(S218)無線通信部101は、受け付けた通知が、HO制御部123からのHO環境の通知か判断する。HO環境の通知である場合はステップS219に処理が進み、それ以外の場合は無線通信部101の処理が終了する。
(S219)無線通信部101は、HOフラグ=1に設定する。なお、HOフラグの初期値は0である。
図16は、無線通信部の手順例を示すフローチャート(続き1)である。
(S220)無線通信部101は、検出基準を検出1閾値に設定する。
(S221)無線通信部101は、次の通常スキャンまでの間隔を設定する。通常スキャンの間隔は、10秒から始まり、連続して行う毎に20秒、60秒、120秒、300秒と徐々に長くなる。通常スキャンの間隔の最大値は300秒である。
(S222)無線通信部101は、2.4GHz帯のチャネルを1つ選択する。2.4GHz帯には、チャネルCH1,CH2,CH3,CH4,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13が含まれる。
(S223)無線通信部101は、ステップS222で選択したチャネルで、ESSIDを指定しないプローブ要求を送信する。これはブロードキャストスキャンに相当する。
(S224)無線通信部101は、ステップS223で送信したプローブ要求に対応するプローブ応答を受信する。プローブ応答には、送信元のアクセスポイントのBSSIDとESSIDが含まれる。ここでは、任意のESSIDをもつ1以上のアクセスポイントからプローブ応答を受信する可能性がある。ただし、プローブ要求が何れのアクセスポイントにも到達せずに、プローブ応答を全く受信しない可能性もある。無線通信部101は、プローブ応答を含む受信信号に基づいてRSSIを測定する。
(S225)無線通信部101は、ステップS222で2.4GHz帯の全てのチャネルを選択したか判断する。全てのチャネルを選択した場合はステップS226に処理が進み、未選択のチャネルがある場合はステップS222に処理が進む。
(S226)無線通信部101は、5GHz帯のチャネルを1つ選択する。5GHz帯には、チャネルCH36,CH40,CH44,CH48,CH52,CH56,CH60,CH64,CH100,CH104,CH108,CH112,CH116,CH120,CH124,CH128,CH132,CH136,CH140が含まれる。
(S227)無線通信部101は、ステップS226で選択したチャネルでビーコンを受信する。移動通信装置100の近くにアクセスポイントが存在する場合、120ミリ秒待つことで当該アクセスポイントから1回または2回ビーコンを受信することができる。ビーコンには、送信元のアクセスポイントのBSSIDとESSIDが含まれる。ここでは、任意のESSIDをもつ1以上のアクセスポイントからビーコンを受信する可能性がある。ただし、ビーコンを全く受信しない可能性もある。無線通信部101は、ビーコンを含む受信信号に基づいてRSSIを測定する。
(S228)無線通信部101は、ステップS226で5GHz帯の全てのチャネルを選択したか判断する。全てのチャネルを選択した場合はステップS229に処理が進み、未選択のチャネルがある場合はステップS226に処理が進む。
(S229)無線通信部101は、ステップS224で受信したプローブ応答の送信元およびステップS227で受信したビーコンの送信元のうち、測定したRSSIが検出1閾値を超えるアクセスポイントを抽出する。そして、無線通信部101は、通常スキャン結果をスキャン制御部121に通知する。通常スキャン結果は、抽出されたアクセスポイントそれぞれのBSSID、ESSID、チャネルおよびRSSIを含む。
図17は、無線通信部の手順例を示すフローチャート(続き2)である。
(S230)無線通信部101は、候補CHスキャンの通知においてESSIDが指定されたか判断する。ESSIDが指定された場合はステップS231に処理が進み、ESSIDが指定されていない場合は無線通信部101の処理が終了する。
(S231)無線通信部101は、検出基準を検出2閾値に設定する。
(S232)無線通信部101は、2.4GHz帯のチャネルを1つ選択する。
(S233)無線通信部101は、ステップS232で選択したチャネルで、ESSIDを指定したプローブ要求を送信する。これはユニキャストスキャンに相当する。
(S234)無線通信部101は、ステップS233で送信したプローブ要求に対応するプローブ応答を受信する。ここでは、指定したESSIDをもつアクセスポイントのみからプローブ応答を受信する。ただし、プローブ応答を全く受信しない可能性もある。無線通信部101は、プローブ応答を含む受信信号に基づいてRSSIを測定する。
(S235)無線通信部101は、ステップS232で2.4GHz帯の全てのチャネルを選択したか判断する。全てのチャネルを選択した場合はステップS236に処理が進み、未選択のチャネルがある場合はステップS232に処理が進む。
(S236)無線通信部101は、5GHz帯のチャネルを1つ選択する。
(S237)無線通信部101は、ステップS236で選択したチャネルでビーコンを受信する。ここでは、任意のESSIDをもつ1以上のアクセスポイントからビーコンを受信する可能性がある。ただし、ビーコンを全く受信しない可能性もある。無線通信部101は、受信したビーコンをESSIDに基づいてフィルタリングする。すなわち、無線通信部101は、指定されたESSIDを含むビーコンを抽出し、その他のビーコンを破棄する。無線通信部101は、ビーコンを含む受信信号に基づいてRSSIを測定する。
(S238)無線通信部101は、ステップS236で5GHz帯の全てのチャネルを選択したか判断する。全てのチャネルを選択した場合はステップS239に処理が進み、未選択のチャネルがある場合はステップS236に処理が進む。
(S239)無線通信部101は、ステップS234で受信したプローブ応答の送信元およびステップS237で抽出したビーコンの送信元のうち、測定したRSSIが検出2閾値を超えるアクセスポイントを抽出する。そして、無線通信部101は、候補CHスキャン結果をスキャン制御部121に通知する。候補CHスキャン結果は、抽出されたアクセスポイントそれぞれのBSSID、ESSID、チャネルおよびRSSIを含む。
図18は、無線通信部の手順例を示すフローチャート(続き3)である。
(S240)無線通信部101は、HO用スキャンの通知においてESSIDと候補チャネルが指定されたか判断する。ESSIDと候補チャネルが指定された場合はステップS241に処理が進み、指定されていない場合は無線通信部101の処理が終了する。
(S241)無線通信部101は、検出基準を検出1閾値に設定する。
(S242)無線通信部101は、500ミリ秒タイマを開始する。タイマ管理には、無線通信部101が有するハードウェアタイマまたは無線通信部101外部のハードウェアタイマを利用してもよいし、CPU102のソフトウェアタイマを利用してもよい。
(S243)無線通信部101は、HO用スキャンの通知で指定された候補チャネルのうち、2.4GHz帯に属する候補チャネルを1つ選択する。
(S244)無線通信部101は、ステップS243で選択した候補チャネルで、ESSIDを指定したプローブ要求を送信する。これはユニキャストスキャンに相当する。
(S245)無線通信部101は、ステップS244で送信したプローブ要求に対応するプローブ応答を受信する。ここでは、指定したESSIDをもつアクセスポイントのみからプローブ応答を受信する。ただし、プローブ応答を全く受信しない可能性もある。無線通信部101は、プローブ応答を含む受信信号に基づいてRSSIを測定する。
(S246)無線通信部101は、500ミリ秒タイマの終了を待つ。
(S247)無線通信部101は、ステップS243で2.4GHz帯の全ての候補チャネルを選択したか判断する。全ての候補チャネルを選択した場合はステップS248に処理が進み、未選択の候補チャネルがある場合はステップS242に処理が進む。
(S248)無線通信部101は、500ミリ秒タイマを開始する。
(S249)無線通信部101は、HO用スキャンの通知で指定された候補チャネルのうち、5GHz帯に属する候補チャネルを1つ選択する。
(S250)無線通信部101は、ステップS249で選択したチャネルでビーコンを受信する。ここでは、任意のESSIDをもつ1以上のアクセスポイントからビーコンを受信する可能性がある。ただし、ビーコンを全く受信しない可能性もある。無線通信部101は、受信したビーコンをESSIDに基づいてフィルタリングする。無線通信部101は、ビーコンを含む受信信号に基づいてRSSIを測定する。
(S251)無線通信部101は、500ミリ秒タイマの終了を待つ。
(S252)無線通信部101は、ステップS249で5GHz帯の全ての候補チャネルを選択したか判断する。全ての候補チャネルを選択した場合はステップS253に処理が進み、未選択の候補チャネルがある場合はステップS248に処理が進む。
(S253)無線通信部101は、ステップS245で受信したプローブ応答の送信元およびステップS250で抽出したビーコンの送信元のうち、測定したRSSIが検出1閾値以上であるアクセスポイントを抽出する。そして、無線通信部101は、HO用スキャン結果をスキャン制御部121に通知する。HO用スキャン結果は、抽出されたアクセスポイントそれぞれのBSSID、ESSID、チャネルおよびRSSIを含む。なお、無線通信部101は、接続中のアクセスポイントからビーコンを受信した場合には、接続中のアクセスポイントの情報もHO用スキャン結果に含めておく。
図19は、無線通信部の手順例を示すフローチャート(続き4)である。
(S260)無線通信部101は、接続開始の通知においてAP管理部122から指定されたアクセスポイントとの間で接続手続を行う。その後、無線通信部101は、接続したアクセスポイント、ePDG43およびPWG44を経由して、PDN45のセッション情報(登録情報)を変更する。
(S261)無線通信部101は、接続したアクセスポイントからビーコンを受信する。ビーコンは、所定周期(例えば、約100ミリ秒周期)で送信されている。無線通信部101は、ビーコンを含む受信信号に基づいてRSSIを測定する。
(S262)無線通信部101は、ステップS261で測定したRSSIがHO用スキャン閾値51を超えているか判断する。RSSIがHO用スキャン閾値51を超える場合はステップS261に処理が進み、それ以外の場合はステップS263に処理が進む。
(S263)無線通信部101は、ステップS261で測定したRSSIが切断閾値53を超えているか判断する。RSSIが切断閾値53を超える場合はステップS264に処理が進み、それ以外の場合はステップS266に処理が進む。
(S264)無線通信部101は、HOフラグ=1であるか判断する。HOフラグ=1である場合はステップS265に処理が進み、HOフラグ=0である場合はステップS261に処理が進む。
(S265)無線通信部101は、RSSI低下をスキャン制御部121に通知する。RSSI低下の通知は、接続中のアクセスポイントのBSSID、ESSID、チャネル番号およびRSSIを含む。そして、無線通信部101の処理が終了する。
(S266)無線通信部101は、HOフラグ=1であるか判断する。HOフラグ=1である場合はステップS267に処理が進み、HOフラグ=0である場合はステップS268に処理が進む。
(S267)無線通信部101は、HOフラグ=0に設定する。
(S268)無線通信部101は、RSSI低下をスキャン制御部121に通知する。
図20は、スキャン制御部の手順例を示すフローチャートである。
(S270)スキャン制御部121は、無線通信部101、AP管理部122またはHO制御部123から通知を受け付ける。スキャン制御部121は、受け付けた通知が、AP管理部122からの通常スキャンの通知か判断する。通常スキャンの通知である場合はステップS271に処理が進み、それ以外の場合はステップS273に処理が進む。
(S271)スキャン制御部121は、通常フラグ=1に設定し、候補CHフラグ=0に設定し、HO用フラグ=0に設定する。なお、通常フラグ、候補CHフラグおよびHO用フラグの3つのフラグの初期値は0である。
(S272)スキャン制御部121は、通常スキャンを無線通信部101に通知する。そして、スキャン制御部121の処理が終了する。
(S273)スキャン制御部121は、受け付けた通知が、AP管理部122からの候補CHスキャンの通知か判断する。候補CHスキャンの通知である場合はステップS274に処理が進み、それ以外の場合はステップS276に処理が進む。
(S274)スキャン制御部121は、候補CHフラグ=1に設定し、通常フラグ=0に設定し、HO用フラグ=0に設定する。
(S275)スキャン制御部121は、候補CHスキャンを無線通信部101に通知する。そして、スキャン制御部121の処理が終了する。
(S276)スキャン制御部121は、受け付けた通知が、HO制御部123からのHO用スキャンの通知か判断する。HO用スキャンの通知である場合はステップS277に処理が進み、それ以外の場合はステップS279に処理が進む。
(S277)スキャン制御部121は、HO用フラグ=1に設定し、通常フラグ=0に設定し、候補CHフラグ=0に設定する。
(S278)スキャン制御部121は、HO用スキャンを無線通信部101に通知する。そして、スキャン制御部121の処理が終了する。
(S279)スキャン制御部121は、受け付けた通知が、HO制御部123からのHO用スキャン停止の通知か判断する。HO用スキャン停止の通知である場合はステップS280に処理が進み、それ以外の場合はステップS281に処理が進む。
(S280)スキャン制御部121は、HO用フラグ=0に設定する。そして、スキャン制御部121の処理が終了する。
(S281)スキャン制御部121は、受け付けた通知が、無線通信部101からのRSSI低下の通知か判断する。RSSI低下の通知である場合はステップS282に処理が進み、それ以外の場合はステップS283に処理が進む。
(S282)スキャン制御部121は、RSSI低下をHO制御部123に通知する。そして、スキャン制御部121の処理が終了する。
(S283)スキャン制御部121は、受け付けた通知が、無線通信部101からのスキャン結果の通知か判断する。スキャン結果には、通常スキャン結果、候補CHスキャン結果およびHO用スキャン結果が含まれる。スキャン結果の通知である場合はステップS284に処理が進み、それ以外の場合はスキャン制御部121の処理が終了する。
(S284)スキャン制御部121は、スキャン結果に含まれるRSSIがスキャン停止閾値55を超えているか判断する。RSSIがスキャン停止閾値55を超える場合はステップS285に処理が進み、それ以外の場合はステップS286に処理が進む。
(S285)スキャン制御部121は、上記の3つのフラグに応じて、スキャン結果をAP管理部122またはHO制御部123に通知する。具体的には、HO用フラグ=1である場合、スキャン結果はHO用スキャン結果である。この場合、スキャン制御部121は、HO用スキャン結果をHO制御部123に通知する。通常フラグ=1である場合、スキャン結果は通常スキャン結果である。この場合、スキャン制御部121は、通常スキャン結果をAP管理部122に通知する。候補CHフラグ=1である場合、スキャン結果は候補CHスキャン結果である。この場合、スキャン制御部121は、候補CHスキャン結果をAP管理部122に通知する。そして、スキャン制御部121の処理が終了する。
(S286)スキャン制御部121は、候補CHスキャン停止をAP管理部122に通知する。
図21は、AP管理部の手順例を示すフローチャートである。
(S310)AP管理部122は、無線通信部101、スキャン制御部121、HO制御部123またはセルラHO制御部124から通知を受け付ける。AP管理部122は、受け付けた通知が、HO制御部123からの切断開始の通知か判断する。切断開始の通知である場合はステップS311に処理が進み、それ以外の場合はステップS313に処理が進む。
(S311)AP管理部122は、セルラHOフラグ=1に設定する。なお、セルラHOフラグの初期値は0である。
(S312)AP管理部122は、切断開始を無線通信部101に通知する。そして、AP管理部122の処理が終了する。
(S313)AP管理部122は、受け付けた通知が、無線通信部101からの切断完了の通知か判断する。切断完了の通知である場合はステップS314に処理が進み、それ以外の場合はステップS316に処理が進む。
(S314)AP管理部122は、切断完了をセルラHO制御部124に通知する。
(S315)AP管理部122は、候補CHスキャンをスキャン制御部121に通知する。このとき、AP管理部122は、直前に接続していたアクセスポイントのESSIDを指定する。そして、AP管理部122の処理が終了する。
(S316)AP管理部122は、受け付けた通知が、セルラHO制御部124からのパケット停止完了の通知か判断する。パケット停止完了の通知である場合はステップS317に処理が進み、それ以外の場合はステップS319に処理が進む。
(S317)AP管理部122は、セルラHOフラグ=0に設定する。
(S318)AP管理部122は、接続開始を無線通信部101に通知する。このとき、AP管理部122は、接続先のアクセスポイントのBSSID、ESSIDおよびチャネル番号を指定する。そして、AP管理部122の処理が終了する。
(S319)AP管理部122は、受け付けた通知が、スキャン制御部121からの通常スキャン結果の通知か判断する。通常スキャン結果の通知である場合はステップS320に処理が進み、それ以外の場合はステップS324に処理が進む。
(S320)AP管理部122は、通常スキャン結果の中から、接続実績のあるESSIDをもつアクセスポイント、すなわち、ESSIDが接続実績テーブル111に登録されているアクセスポイントを抽出する。AP管理部122は、該当するアクセスポイントが1以上あるか判断する。該当するアクセスポイントがある場合はステップS321に処理が進み、それ以外の場合はAP管理部122の処理が終了する。
(S321)AP管理部122は、ステップS320で抽出したアクセスポイントの中から、RSSIが最大のアクセスポイントを抽出する。
(S322)AP管理部122は、ステップS321で抽出したアクセスポイントのRSSIが候補CHスキャン閾値54を超えているか判断する。RSSIが候補CHスキャン閾値54を超える場合はステップS323に処理が進み、それ以外の場合はAP管理部122の処理が終了する。
(S323)AP管理部122は、候補CHスキャンをスキャン制御部121に通知する。このとき、AP管理部122は、ステップS321で抽出したアクセスポイントのESSIDを指定する。そして、AP管理部122の処理が終了する。
(S324)AP管理部122は、受け付けた通知が、スキャン制御部121からの候補CHスキャン停止の通知か判断する。候補CHスキャン停止の通知である場合はステップS325に処理が進み、それ以外の場合はステップS330に処理が進む。
(S325)AP管理部122は、HO環境フラグ=1であるか判断する。HO環境フラグ=1である場合はステップS327に処理が進み、HO環境フラグ=0である場合はステップS326に処理が進む。なお、HO環境フラグの初期値は0である。
(S326)AP管理部122は、通常スキャンをスキャン制御部121に通知する。そして、AP管理部122の処理が終了する。
(S327)AP管理部122は、圏外をHO制御部123に通知する。
(S328)AP管理部122は、HO環境フラグ=0に設定する。
図22は、AP管理部の手順例を示すフローチャート(続き)である。
(S330)AP管理部122は、受け付けた通知が、スキャン制御部121からの候補CHスキャン結果の通知か判断する。候補CHスキャン結果の通知である場合はステップS331に処理が進み、それ以外の場合はAP管理部122の処理が終了する。
(S331)AP管理部122は、セルラHOフラグ=1であるか判断する。セルラHOフラグ=1である場合はステップS335に処理が進み、セルラHOフラグ=0である場合はステップS332に処理が進む。
(S332)AP管理部122は、候補CHスキャン結果に複数のアクセスポイントの情報が含まれているか判断する。これは、同じESSIDをもつアクセスポイントが複数のチャネルで検出されたか判断することを意味する。条件に該当する場合はステップS333に処理が進み、条件に該当しない場合はステップS334に処理が進む。
(S333)AP管理部122は、現在地がHO環境であると判定し、HO環境フラグ=1に設定する。そして、ステップS338に処理が進む。
(S334)AP管理部122は、現在地が単独環境であると判定し、HO環境フラグ=0に設定する。そして、ステップS338に処理が進む。
(S335)AP管理部122は、候補CHスキャンにおいて1つ以上のアクセスポイントが検出されたか判断する。1つ以上のアクセスポイントが検出された場合はステップS336に処理が進み、検出されなかった場合はステップS337に処理が進む。
(S336)AP管理部122は、候補CHスキャン結果に含まれるRSSIのうち最大のRSSIを抽出し、抽出したRSSIがスキャン停止閾値55を超えているか判断する。RSSIがスキャン停止閾値55を超える場合はステップS338に処理が進み、それ以外の場合はステップS337に処理が進む。
(S337)AP管理部122は、通常スキャンをスキャン制御部121に通知する。そして、AP管理部122の処理が終了する。
(S338)AP管理部122は、候補CHスキャン結果に基づいて候補CHテーブル113を更新する。すなわち、AP管理部122は、検出されたアクセスポイントが候補CHテーブル113に登録されていない場合、当該アクセスポイントのBSSID、ESSIDおよびチャネル番号を候補CHテーブル113に登録する。また、AP管理部122は、異なるチャネルで複数のアクセスポイントが検出された場合、候補チャネルとして、それらアクセスポイントのチャネル番号を相互に関連づける。
(S339)AP管理部122は、候補CHスキャン結果に含まれるRSSIのうち最大のRSSIを抽出し、抽出したRSSIが接続閾値52を超えているか判断する。RSSIが接続閾値52を超える場合はステップS340に処理が進み、それ以外の場合はステップS341に処理が進む。
(S340)AP管理部122は、接続開始を無線通信部101に通知する。そして、AP管理部122の処理が終了する。
(S341)AP管理部122は、5秒タイマを開始してタイマが終了するのを待つ。
(S342)AP管理部122は、候補CHスキャンをスキャン制御部121に通知する。このとき、AP管理部122は、前回と同じESSIDを指定する。
図23は、HO制御部の手順例を示すフローチャートである。
(S350)HO制御部123は、スキャン制御部121またはAP管理部122から通知を受け付ける。HO制御部123は、受け付けた通知が、AP管理部122からのHO環境の通知か判断する。HO環境の通知である場合はステップS351に処理が進み、それ以外の場合はステップS352に処理が進む。
(S351)HO制御部123は、HO環境を無線通信部101に通知する。これにより、無線通信部101は、RSSIがHO用スキャン閾値51以下に低下したときにRSSI低下を通知するようになる。そして、HO制御部123の処理が終了する。
(S352)HO制御部123は、受け付けた通知が、スキャン制御部121からのRSSI低下の通知か判断する。RSSI低下の通知である場合はステップS353に処理が進み、それ以外の場合はステップS356に処理が進む。
(S353)HO制御部123は、RSSI低下の通知に含まれるRSSIがHO用スキャン閾値51を超えているか判断する。RSSIがHO用スキャン閾値51を超える場合はステップS355に処理が進み、それ以外の場合はステップS354に処理が進む。
(S354)HO制御部123は、候補CHテーブル113から、接続中のアクセスポイントに対応する候補チャネルを検索する。そして、HO制御部123は、HO用スキャンをスキャン制御部121に通知する。このとき、HO制御部123は、接続中のアクセスポイントのESSIDと、接続中のアクセスポイントに対応する候補チャネルを指定する。そして、HO制御部123の処理が終了する。
(S355)HO制御部123は、HO用スキャン停止をスキャン制御部121に通知する。そして、HO制御部123の処理が終了する。
(S356)HO制御部123は、受け付けた通知が、スキャン制御部121からのHO用スキャン結果か判断する。HO用スキャン結果である場合はステップS357に処理が進み、それ以外の場合はHO制御部123の処理が終了する。
(S357)HO制御部123は、HO用スキャン結果から、最大のRSSIと接続中のアクセスポイントのRSSIとを抽出し、両者の差(ΔRSSI)を算出する。HO制御部123は、最大のRSSIが接続中のアクセスポイントのRSSIより大きく、ΔRSSIがHO開始閾値56より大きいか判断する。条件に該当する場合はステップS358に処理が進み、条件に該当しない場合はステップS359に処理が進む。
(S358)HO制御部123は、HO開始を無線通信部101に通知する。そして、HO制御部123の処理が終了する。
(S359)HO制御部123は、接続中のアクセスポイントのRSSIが切断閾値53を超えているか判断する。RSSIが切断閾値53を超える場合はステップS360に処理が進み、それ以外の場合はステップS362に処理が進む。
(S360)HO制御部123は、5秒タイマを開始してタイマが終了するのを待つ。
(S361)HO制御部123は、HO用スキャンをスキャン制御部121に通知する。そして、HO制御部123の処理が終了する。
(S362)HO制御部123は、HO開始をセルラHO制御部124に通知する。
(S363)HO制御部123は、切断開始をAP管理部122に通知する。
図24は、セルラHO制御部の手順例を示すフローチャートである。
(S370)セルラHO制御部124は、AP管理部122またはHO制御部123から通知を受け付ける。セルラHO制御部124は、受け付けた通知が、HO制御部123からのHO開始の通知(無線LAN30からセルラ網20へのHO開始の通知)か判断する。セルラ網20へのHO開始の通知である場合はステップS371に処理が進み、それ以外の場合はステップS373に処理が進む。
(S371)セルラHO制御部124は、AP管理部122の切断完了の通知を待つ。
(S372)セルラHO制御部124は、パケット再開を無線通信部101aに通知する。そして、セルラHO制御部124の処理が終了する。
(S373)セルラHO制御部124は、受け付けた通知が、AP管理部122からのHO開始の通知(セルラ網20から無線LAN30へのHO開始の通知)か判断する。無線LAN30へのHO開始の通知である場合はステップS374に処理が進み、それ以外の場合はセルラHO制御部124の処理が終了する。
(S374)セルラHO制御部124は、パケット停止を無線通信部101aに通知し、停止完了の応答を無線通信部101aから受け付ける。
(S375)セルラHO制御部124は、停止完了の応答を受け付けると、パケット停止完了をAP管理部122に通知する。
図25は、他の無線通信部の手順例を示すフローチャートである。
(S380)無線通信部101aは、セルラHO制御部124から通知を受け付ける。無線通信部101aは、受け付けた通知が、セルラHO制御部124からのパケット再開の通知か判断する。パケット再開の通知である場合はステップS381に処理が進み、それ以外の場合はステップS382に処理が進む。
(S381)無線通信部101aは、セルラ網20とのパケット送受信を再開する。すなわち、基地局21からPDN45に対して登録情報(セッション情報)の変更が行なわれ、パケットの送信経路が無線LAN30からセルラ網20に切り替えられる。そして、無線通信部101aの処理が終了する。
(S382)無線通信部101aは、受け付けた通知が、セルラHO制御部124からのパケット停止の通知か判断する。パケット停止の通知である場合はステップS383に処理が進み、それ以外の場合は無線通信部101aの処理が終了する。
(S383)無線通信部101aは、セルラ網20とのパケット送受信を停止する。すなわち、パケットの送信経路がセルラ網20から無線LAN30に切り替えられる。
第2の実施の形態の無線通信システムによれば、通常スキャンによってRSSIが候補CHスキャン閾値54を超えるアクセスポイントが検出されると、ESSIDを限定した候補CHスキャンが通常スキャンよりも短い周期で実行される。これにより、移動通信装置100の負荷を軽減しつつRSSIの変化を精度よく監視できる。また、移動通信装置100の周辺に多数のアクセスポイントが存在しても、通常スキャンで検出されたアクセスポイントを周辺の多数のアクセスポイントに紛れて見逃してしまうリスクを低減できる。よって、通常スキャンによって検出されたアクセスポイントを追跡することが容易となり、RSSIが接続閾値52を超えた後に迅速にアクセスポイントに接続できる。
また、接続閾値52を高く設定して十分にRSSIが大きくなってから無線LAN30にハンドオーバするようにすることで、無線LAN30にハンドオーバした直後の通信品質を高く維持することができる。また、切断閾値53を高く設定して早めにセルラ網20にハンドオーバするようにすることで、セルラ網20にハンドオーバする直前の通信品質を高く維持することができる。よって、音声通話中にセルラ網20と無線LAN30との間でハンドオーバが行われても、通話品質を高く維持することが可能となる。
また、候補CHスキャンによって同一ESSIDをもつ複数のアクセスポイントが検出された場合、HO環境が形成されていると判定され、アクセスポイントと通信中にESSIDおよびチャネルを限定したHO用スキャンが行われる。これにより、無線LAN30のアクセスポイントの間で円滑にハンドオーバを行うことができる。また、チャネルを限定しているため、HO用スキャンの時間を短縮することができ、通信の中断時間が短くなってアクセスポイントとの間の通信品質への影響を軽減することができる。
また、候補CHスキャンにおいて、アクセスポイントを検出する閾値を通常スキャンやHO用スキャンよりも引き下げることで、より遠くのアクセスポイントも検出することができ、HO環境の有無を判定しやすくなる。また、接続閾値52を切断閾値53よりも大きく設定することで、セルラ網20と無線LAN30との間のハンドオーバが短期間に繰り返されてしまうことを抑制できる。また、候補CHスキャン閾値54をスキャン停止閾値55よりも大きく設定することで、候補CHスキャンと通常スキャンとの間の切り替えが短期間に繰り返されてしまうことを抑制できる。
なお、前述のように、第1の実施の形態の処理は、移動通信装置10に通信制御プログラムを実行させることで実現できる。また、第2の実施の形態の処理は、移動通信装置100に通信制御プログラムを実行させることで実現できる。
通信制御プログラムは、コンピュータ読み取り可能な記録媒体に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD(Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(Rewritable)、DVD(Digital Versatile Disc)およびDVD−R/RWが含まれる。通信制御プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(例えば、不揮発性メモリ104)に通信制御プログラムをコピーして実行するようにしてもよい。