(57)【要約】【課題】アプリの実行により行われる無線通信の円滑な実行を可能にする。【解決手段】測定部１４は、複数の無線通信装置２６の各々から送信された電波であって、且つ受信部１２で受信された受信電波の強度を測定する。切替部１８は、アプリ２４の実行により無線通信を行う処理部１６が無線通信中でない場合、通信先としての無線通信装置２６を、測定部１４で測定された受信電波の強度の変動パターンに応じて切り替える。また、切替部１８は、処理部１６が無線通信中の場合、測定部１４で測定された受信電波の強度の変動パターンに応じた切り替えを抑制する。【選択図】図１
2015095678.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定する測定部と、
アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、前記測定部で測定された受信電波の強度の変動パターンに応じた切り替えを抑制する切替部と、
を含む通信先切替装置。
【請求項２】
前記アプリケーションプログラムは、前記処理部によってフォアグラウンドで実行されるアプリケーションプログラムである請求項１に記載の通信先切替装置。
【請求項３】
前記切替部は、前記測定部で測定された受信電波の強度の変動パターンに応じた切り替えを、前記アプリケーションプログラムの種類に応じて行う請求項２に記載の通信先切替装置。
【請求項４】
前記切替部による切り替えは、異なる通信網に属する無線通信装置間での切り替えである請求項１から請求項３の何れか１項に記載の通信先切替装置。
【請求項５】
所在位置を示す位置情報を取得する取得部を更に含み、
前記切替部は、更に、過去の所在位置毎に、且つ前記測定部による測定が行われた過去の測定時間帯毎に、前記測定部で測定された受信電波の強度の変動パターンの型を示す類型情報が前記複数の無線通信装置の各々と対応付けられて記憶された記憶部から、現在時刻に対応する時刻を含む前記測定時間帯及び前記取得部で取得された位置情報に対応する類型情報を取得し、前記処理部が無線通信中でない場合に、通信先としての無線通信装置を、取得した前記類型情報に応じて切り替える請求項１から請求項４の何れか１項に記載の通信先切替装置。
【請求項６】
前記切替部は、更に、前記アプリケーションプログラムの起動完了に伴って、現在時刻に対応する時刻を含む前記測定時間帯及び前記取得部で取得された位置情報に対応する前記類型情報を前記記憶部から取得し、前記処理部が無線通信中でない場合に、通信先としての無線通信装置を、取得した前記類型情報に応じて切り替える請求項５に記載の通信先切替装置。
【請求項７】
前記切替部は、通信先としての無線通信装置を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替えることを、無線通信装置の回線混雑度が所定条件を満たしたことを条件に行う請求項１から請求項６の何れか１項に記載の通信先切替装置。
【請求項８】
前記切替部は、前記通信先を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替えることを、前記アプリケーションプログラムの実行によりログインされる通信サービスからログアウトされていることを条件に行う請求項１から請求項７の何れか１項に記載の通信先切替装置。
【請求項９】
前記切替部は、前記測定部で測定された前記複数の無線通信装置の各々についての受信電波の強度の変動パターンを、前記測定部で測定された受信電波の強度の平均値及び分散に基づいて特定する請求項１から請求項８の何れか１項に記載の通信先切替装置。
【請求項１０】
複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定し、
アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、測定した受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、測定した受信電波の強度の変動パターンに応じた切り替えを抑制する
ことを含む通信先切替方法。
【請求項１１】
コンピュータに、
複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定し、
アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、測定した受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、測定した受信電波の強度の変動パターンに応じた切り替えを抑制する
ことを含む処理を実行させるための通信先切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、通信先切替装置、通信先切替方法、及び通信先切替プログラムに関する。
【背景技術】
【０００２】
複数のネットワークの各々の利用状況を監視する上位ゲートウェイから各ネットワークのトラフィックが通知され、通知されたトラフィックを参照して、接続先のネットワークを指定する端末装置が知られている。また、無線ＬＡＮ（Local Area Network）装置が送信パケット成功率及び受信パケット成功率を計算し、送信パケット成功率又は受信パケット成功率が閾値未満の場合に周波数チャネルを切り替える技術が知られている。また、サーバが、各端末装置で実行中のアプリケーションプログラム（以下、アプリという）の性能レベル情報（スループットやリトライ回数など）を収集し、収集した性能レベル情報に基づいて、アプリの性能レベルを最適化する技術が知られている。更に、受信した通信データを解析して、トランザクション処理の分割可能位置を検出し、分割可能位置を検出したタイミングで通信先を切り替える端末装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１３４８１９号公報
【特許文献２】特開２００２−２７１３３６号公報
【特許文献３】特表２００８−５３９６６３号公報
【特許文献４】特許第３６０８５０３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術は何れも、アプリ実行部がアプリを実行することにより通信先と無線通信を行っている状態で通信先が切り替えられると、ＩＰアドレスの更新やセッションのやり直し等の準備処理が必要となり、無線通信の円滑な実行が困難になる。無線通信が円滑に実行できなくなると、アプリ実行部によるアプリの実行が滞る。また、アプリの実行停滞を回避するために通信先の切り替えを行わないことにすると、電波不良で無線通信の円滑な実行が困難になる。逆に、通信先の頻繁な切り替えは、その都度、準備処理が必要となるため、無線通信の円滑な実行の妨げになり、アプリが快適に実行できなくなる。
【０００５】
開示の技術は、アプリの実行により行われる無線通信の円滑な実行を可能にすることが目的である。
【課題を解決するための手段】
【０００６】
開示の技術において、測定部は、複数の無線通信装置の各々から送信された電波であって、且つ受信部で受信された受信電波の強度を測定する。切替部は、アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、測定部で測定された受信電波の強度の変動パターンに応じて切り替える。また、切替部は、処理部が無線通信中の場合、測定部で測定された受信電波の強度の変動パターンに応じた切り替えを抑制する。
【発明の効果】
【０００７】
開示の技術は、１つの側面として、アプリの実行により行われる無線通信の円滑な実行を可能にすることができる、という効果を有する。
【図面の簡単な説明】
【０００８】
【図１】第１及び第２実施形態に係るスマートデバイスの要部機能の一例を示すブロック図である。
【図２】第１及び第２実施形態に係るスマートデバイスのハードウェア構成の一例を示すブロック図である。
【図３】第１及び第２実施形態に係るスマートデバイスの二次記憶部の記憶内容の一例を示す模式図である。
【図４Ａ】スマートデバイスの測定部により測定された電波の経時変化の不良型変動パターンの一例である変動パターンＡを示すグラフである。
【図４Ｂ】スマートデバイスの測定部により測定された電波の経時変化の不良型変動パターンの一例である変動パターンＢを示すグラフである。
【図４Ｃ】スマートデバイスの測定部により測定された電波の経時変化の良好型変動パターンの一例である変動パターンＣを示すグラフである。
【図５】第１及び第２実施形態に係るスマートデバイスの二次記憶部に記憶されている電波状態管理テーブルの内容の一例を示す模式図である。
【図６】第１及び第２実施形態に係るスマートデバイスと通信を行うＡＰ及び３Ｇ基地局のハードウェア構成の一例を示すブロック図である。
【図７】第１及び第２実施形態に係るスマートデバイスと通信を行う回線混雑度監視サーバのハードウェア構成の一例を示すブロック図である。
【図８】第１及び第２実施形態に係る変動パターン判定処理の流れの一例を示すフローチャートである。
【図９】第１及び第２実施形態に係る第１切替処理の流れの一例を示すフローチャートである。
【図１０】第１及び第２実施形態に係る回線混雑度算出処理の流れの一例を示すフローチャートである。
【図１１】第１及び第２実施形態に係る回線混雑度収集処理の流れの一例を示すフローチャートである。
【図１２Ａ】第１実施形態に係る第２切替処理の流れの一例を示すフローチャートである。
【図１２Ｂ】図１２Ａに示すフローチャートの続きである。
【図１３】第２実施形態に係る第２切替処理の流れの一例（図１２Ａに示すフローチャートの続き）を示すフローチャートである。
【図１４】第３実施形態に係るスマートデバイスの要部機能の一例を示すブロック図である。
【図１５】第３実施形態に係るスマートデバイスのハードウェア構成の一例を示すブロック図である。
【図１６】第３実施形態に係るスマートデバイスの二次記憶部の記憶内容の一例を示す模式図である。
【図１７】第３実施形態に係るスマートデバイスの二次記憶部に記憶されているアプリ動作状況検出方法管理テーブルの内容の一例を示す模式図である。
【図１８】第３実施形態に係るスマートデバイスの二次記憶部に記憶されている通信先切替ポリシ管理テーブルの内容の一例を示す模式図である。
【図１９】第３実施形態に係るアクセス検出判定処理の流れの一例を示すフローチャートである。
【図２０】第３実施形態に係る無アクセス検出判定処理の流れの一例を示すフローチャートである。
【図２１】第３実施形態に係る第２切替処理の流れの一例を示すフローチャートである。
【図２２】変動パターンの判定方法の変形例の説明に供するグラフである。
【図２３】第３実施形態に係るスマートデバイスの二次記憶部に記憶されているアプリ動作状況管理テーブルの内容の一例を示す模式図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術に係る端末装置の一例としてスマートデバイスを例に挙げて説明するが、開示の技術は、これに限定されるものではない。開示の技術は、例えば、パーソナル・コンピュータ、ゲーム機、カーナビゲーション装置、デジタルカメラ、又は電子辞書などの種々の端末装置に適用可能である。
【００１０】
［第１実施形態］
一例として図１に示すように、本第１実施形態に係るスマートデバイス１０は、通信先切替装置１３を含む。通信先切替装置１３は、受信部１２、測定部１４、処理部１６、切替部１８、取得部２０、記憶部２２、及びアプリ２４を備えている。
【００１１】
受信部１２は、無線通信装置２６１、無線通信装置２６２、・・・・及び無線通信装置２６ｎ（以下、これらを区別して説明する必要がない場合は、「無線通信装置２６」と称する）の各々から送信された電波を受信する。ここで、複数の無線通信装置２６とは、例えば、スマートデバイス１０によって通信先及び通信先候補として検出された複数のＷｉ−Ｆｉアクセスポイント（以下、「ＡＰ」という）及び３Ｇ（3rd Generation）基地局を指す。なお、通信先とは、スマートデバイス１０と無線通信可能に接続されたＡＰ又は３Ｇ基地局を指す。通信先候補とは、スマートデバイス１０と無線通信可能なエリア内に存在する通信先以外のＡＰ及び３Ｇ基地局を指す。
【００１２】
測定部１４は、受信部１２で受信された電波（受信電波）の強度を無線通信装置２６毎に測定する。ここで、測定部１４によって測定される電波の強度とは、例えば、ＲＳＳＩ（Received Signal Strength Indication）を指す。
【００１３】
アプリ２４は、例えば、スマートデバイス１０のユーザ（以下、「ユーザ」という）の指示に従ってインターネット経由でダウンロードされたアプリである。処理部１６は、アプリ２４を実行することにより複数の無線通信装置２６のうちの通信先として定められた無線通信装置２６と無線通信を行う。なお、処理部１６の一例としては、通信ライブラリが例示できる。
【００１４】
切替部１８は、処理部１６が無線通信中でない場合、通信先としての無線通信装置２６を、測定部１４で測定された電波の強度の変動パターンに応じて切り替える。すなわち、処理部１６が無線通信中でなく、且つ通信先として定められた無線通信装置２６が電波不良型の無線通信装置２６の場合に、通信先を電波不良型の無線通信装置２６から電波良好型の無線通信装置２６に切り替える。また、切替部１８は、処理部１６が無線通信中でない場合、測定部１４で測定された電波の強度の変動パターンに応じた切り替えを抑制する。
【００１５】
ここで、電波不良型の無線通信装置２６とは、測定部１４で測定された電波の強度の経時変化が不良型となる電波を送信する無線通信装置２６を指す。電波良好型の無線通信装置２６とは、測定部１４で測定された電波の強度の経時変化が良好型となる電波を送信する無線通信装置２６を指す。不良型の経時変化とは、無線通信が不安定となる経時変化を意味し、例えば、後述の変動パターンＡ及び変動パターンＢ（図４Ａ及び図４Ｂ参照）を指す。また、良好型の経時変化とは、無線通信が安定する経時変化を意味し、例えば、後述の変動パターンＣ（図４Ｃ参照）を指す。
【００１６】
取得部２０は、スマートデバイス１０の所在位置を示す位置情報（例えば、ＧＰＳ（Global Positioning System）を利用して測定された緯度及び経度）を取得する。
【００１７】
記憶部２２は、スマートデバイス１０の過去の所在位置毎に、且つ測定部１４による測定が行われた測定時間帯毎に、測定部１４により測定された電波の強度の経時変化の型を示す類型情報を複数の無線通信装置２６の各々と対応付けて記憶している。ここで、経時変化の型は、良好型と不良型とに分類される。また、類型情報とは、例えば、後述の変動パターンＡ、変動パターンＢ又は変動パターンＣ（図４Ａ〜図４Ｃ参照）を指し、変動パターンＡ及び変動パターンＢは不良型に属し、変動パターンＣは良好型に属する。なお、以下では、説明の便宜上、変動パターンＡ及び変動パターンＢを区別して説明する必要がない場合、不良型変動パターンと称し、変動パターンＣを不良型変動パターンと対比して説明する必要がある場合、良好型変動パターンと称する。
【００１８】
切替部１８は、現在時刻に対応する時刻を含む測定時間帯及び取得部２０により取得された位置情報に対応する類型情報を取得する。そして、処理部１６が無線通信中でない場合に、通信先としての無線通信装置を、取得した類型情報に応じて切り替える。例えば、取得した類型情報が良好型（例えば、変動パターンＣ（図４Ｃ参照））を示し、且つ、処理部１６が無線通信中でない場合に、通信先を、取得した類型情報に対応する無線通信装置２６に切り替える。
【００１９】
一例として図２に示すように、スマートデバイス１０は、ＣＰＵ３０、一次記憶部３２、及び二次記憶部３４を備えている。一次記憶部３２は、揮発性のメモリ（例えばＲＡＭ（Random Access Memory））である。二次記憶部３４は、不揮発性のメモリ（例えばフラッシュメモリやＨＤＤ（Hard Disk Drive）など）である。ＣＰＵ３０、一次記憶部３２及び二次記憶部３４は、バス３６を介して相互に接続されている。
【００２０】
二次記憶部３４は、一例として図３に示すように、アプリ２４１、アプリ２４２、・・・及びアプリ２４ｎ（以下、これらを区別して説明する必要がない場合は、「アプリ２４」と称する）を記憶している。複数のアプリ２４は何れもＣＰＵ３０によって実行されることによりＣＰＵ３０が通信先と無線通信を行うことを含む処理を行うためのアプリである。
【００２１】
図３に示す複数のアプリ２４の一例としては、ストリーミング系アプリ、リアルタイムコミュニケーション系アプリ、ラージデータ取得系アプリ、及び非同期通信系アプリが例示できる。ストリーミング系アプリとは、動画や音声などのデータをダウンロードしながら再生するためのアプリを指す。リアルタイムコミュニケーション系アプリとは、通話中に生成される受話音声データ及び送話音声データなどのリアルタイムデータを送受信するためのアプリを指す。ラージデータ取得系アプリとは、所謂ラージデータと称されるデータをｈｔｔｐ（hyper text transfer protocol）又はｆｔｐ（file transfer protocol）でダウンロードするためのアプリを指す。非同期通信系アプリとは、検索エンジンによってインターネット経由で提供される地図のように、利用者による操作とは非同期的に通信を行うためのアプリを指す。
【００２２】
なお、本第１実施形態では、切替部１８により無線通信中の通信先の切り替えが抑制されるが、開示の技術はこれに限定されるものではなく、同じアプリにおいて切り替え方法がカスタマイズされてもよい。例えば、リアルタイムコミュニケーション系アプリでは、音質が悪化してコミュニケーションが阻害されてしまう場合があるので、通信中でも切り替える。切り替え時期の判断は、パケットロス率や、遅延・ジッタの値を監視して行う。また、ダウンロード系でも、大きなデータのダウンロード中でも、ダウンロードの終盤であれば切り替えを行わず、ダウンロードの序盤であれば切り替えを行ってダウンロードをやり直すようにしてもよい。そのために、ダウンロードに先立ってデータサイズを把握し（ＵＲＬを埋め込んだり、サイズを取得する等）、進行状況に応じて、切り替え要否を判断すればよい。
【００２３】
二次記憶部３４は、変動パターン判定プログラム３８、第１切替プログラム４０、第２切替プログラム４２、及び電波状態管理テーブル４４を記憶している。なお、以下では、変動パターン判定プログラム３８、第１切替プログラム４０、及び第２切替プログラム４２を区別して説明する必要がない場合、これらを総称して「プログラム」という。
【００２４】
ＣＰＵ３０は、二次記憶部３４から変動パターン判定プログラム３８を読み出して一次記憶部３２に展開し、変動パターン判定プログラム３８を実行する。
【００２５】
電波状態管理テーブル４４は、一例として図５に示すように、スマートデバイス１０の過去の所在位置（例えば、過去に取得された位置情報）毎に、且つ、電波強度の測定時間帯毎に、電波状態情報を記憶している。ここで、測定時間帯とは、一例として図５に示すように、１０分刻みの年月日時分で規定される時間帯を指す。電波状態情報とは、識別情報と変動パターンとを対応付けた情報を指す。識別情報とは、スマートデバイス１０によって検出された一例として図２に示すＡＰ６０や３Ｇ基地局６２を識別可能な識別情報（例えば、ＳＳＩＤ（Service Set Identifier））を指す。図５に示す例では、識別情報の一例として、“ＡＡＡＡ−ｘｘｘｘ”、“ＢＢＢＢ−ｙｙｙｙ”、及び“ＣＣＣＣ−ｚｚｚｚ”が例示されている。変動パターンとは、例えば、後述の通信インタフェース５６によって受信された電波の強度（以下、「電波強度」という）の経時変化の型を指す。
【００２６】
なお、本第１実施形態において、変動パターンとは、一例として図４Ａ〜図４Ｃに示すように、変動パターンＡ、変動パターンＢ、及び変動パターンＣを指す。変動パターンＡ〜Ｃは、所定時間に測定された電波強度の平均値及び分散によって定められる。電波強度の平均値を「高」、「中」及び「低」に分類し、電波強度の分散を「大」及び「小」に分類すると、変動パターンＡとは、電波強度の平均値が「低」で、且つ、電波強度の分散が「小」の変動パターンを意味する。また、変動パターンＢとは、電波強度の平均値が「中」で、且つ、電波強度の分散が「大」の変動パターンを意味する。更に、変動パターンＣとは、電波強度の平均値が「高」で、且つ、電波強度の分散が「小」の変動パターンを意味する。
【００２７】
ＣＰＵ３０は、二次記憶部３４から第１切替プログラム４０を読み出して一次記憶部３２に展開し、第１切替プログラム４０を実行する。ＣＰＵ３０は、第１切替プログラム４０を実行することで、図１に示す測定部１４、切替部１８、及び取得部２０として動作する。なお、第１切替プログラム４０がＣＰＵ３０によって実行されることにより図１に示す切替部１８がＣＰＵ３０で実現される場合、電波状態管理テーブル４４を記憶する二次記憶部３４は図１に示す記憶部２２として用いられる。
【００２８】
ＣＰＵ３０は、二次記憶部３４から第２切替プログラム４２を読み出して一次記憶部３２に展開し、第２切替プログラム４２を実行する。ＣＰＵ３０は、第１切替プログラム４２を実行することで、図１に示す測定部１４及び切替部１８として動作する。
【００２９】
なお、ここではプログラムを二次記憶部３４から読み出す場合を例示したが、必ずしも最初から二次記憶部３４に記憶させておく必要はない。例えば、スマートデバイス１０に接続されて使用されるＳＳＤ（Solid State Drive）、ＤＶＤディスク、ＩＣカード、光磁気ディスク、ＣＤ−ＲＯＭなどの任意の可搬型の記憶媒体に先ずはプログラムを記憶させておいてもよい。そして、ＣＰＵ３０がこれらの可搬型の記憶媒体からプログラムを取得して実行するようにしてもよい。また、通信回線を介してスマートデバイス１０に接続されるコンピュータ又はサーバ装置等の外部電子計算機の記憶部にプログラムを記憶させておいてもよい。この場合、ＣＰＵ３０は外部電子計算機からプログラムを取得して実行する。
【００３０】
図２に戻って、スマートデバイス１０は、受付部４６及び表示部４８を備えている。受付部４６及び表示部４８は、バス３６に接続されている。受付部４６は、タッチパネル及びタッチパネル外に設けられたキー（ハードキー）等を含み、スマートデバイス１０の利用者からの指示を受け付ける。表示部４８は、ディスプレイ（例えばタッチパネルに重ねられた液晶ディスプレイ）を含み、ＣＰＵ３０の制御下で、ディスプレイに各種情報を表示する。
【００３１】
スマートデバイス１０は、リアルタイムクロック（以下、「ＲＴＣ」という）５０、ＧＰＳ受信部５２、及び外部インタフェース５４を備えている。ＲＴＣ５０、ＧＰＳ受信部５２、及び外部インタフェース５４は、バス３６に接続されている。
【００３２】
ＲＴＣ５０は、現在時刻を刻む装置であり、ＣＰＵ３０からの要求に応じて現在時刻をＣＰＵ３０へ出力する。なお、本第１実施形態に係るスマートデバイス１０では、電源投入後、ＡＰ６０又は３Ｇ基地局６２を介して時刻を示す時刻情報が受信され、受信された時刻情報により示される時刻が現在時刻としてＲＴＣ５０に上書きされる。これにより、バッテリ無し又はバッテリ放電後でもＲＴＣ５０の現在時刻が高精度に計時される。
【００３３】
ＧＰＳ受信部５２は、ＣＰＵ３０からの指示に応じて複数のＧＰＳ衛星からの電波を受信し、受信結果を示す受信結果情報をＣＰＵ３０に出力する。ＣＰＵ３０は、ＧＰＳ受信部５２から入力された受信結果情報に基づいてスマートデバイス１０の所在位置を示す緯度及び経度を測定する。
【００３４】
外部インタフェース５４は、外部装置（例えばパーソナル・コンピュータやＵＳＢメモリ）が接続され、外部装置とＣＰＵ３０との間の各種情報の送受信を司る。
【００３５】
スマートデバイス１０は、通信インタフェース５６を備えている。通信インタフェース５６は、スマートデバイス１０と外部装置とを通信可能に接続する。通信インタフェース５６は、Ｗｉ−Ｆｉインタフェース５６Ａ及び３Ｇインタフェース５６Ｂを有し、Ｗｉ−Ｆｉインタフェース５６Ａ及び３Ｇインタフェース５６Ｂは、バス３６に接続されている。Ｗｉ−Ｆｉインタフェース５６Ａは、ＡＰ６０を利用してスマートデバイス１０と外部装置（例えば、インターネット回線６４に接続されている通信装置）とを通信可能に接続する。３Ｇインタフェース５６Ｂは、３Ｇ基地局６２を利用してスマートデバイス１０と外部装置（例えば、インターネット回線６４又は３Ｇ回線６６に接続されている通信装置）とを通信可能に接続する。
【００３６】
Ｗｉ−Ｆｉインタフェース５６Ａ及び３Ｇインタフェース５６Ｂは、例えば、無線通信プロセッサ（図示省略）、送受信回路（図示省略）及びアンテナ（図示省略）により実現される。無線通信プロセッサは、ＣＰＵ３０と情報の授受を行う。また、無線通信プロセッサは、ＣＰＵ３０の指示を受けて送受信回路及びアンテナを介して、図１に示す複数の無線通信装置２６の一例であるＡＰ６０１、ＡＰ６０２、・・・・ＡＰ６０ｎ、及び３Ｇ基地局６２を通信先として選択的に設定する。なお、以下では、説明の便宜上、ＡＰ６０１、ＡＰ６０２、・・・・及びＡＰ６０ｎを区別して説明する必要がない場合、「ＡＰ６０」と称する。また、以下では、説明の便宜上、ＡＰ６０及び３Ｇ基地局６２を区別して説明する必要がない場合、「無線基地局」と称する。
【００３７】
スマートデバイス１０は、無線通信プロセッサによって何れかのＡＰ６０が通信先として設定された場合、Ｗｉ−Ｆｉインタフェース５６Ａを介してＡＰ６０と無線通信を行うことが可能となる。また、スマートデバイス１０は、無線通信プロセッサによって３Ｇ基地局６２が通信先として設定された場合、３Ｇインタフェース５６Ｂを介して３Ｇ基地局６２と無線通信を行うことが可能となる。なお、スマートデバイス１０では、無線通信プロセッサと特定の無線基地局（例えば、ＣＰＵ３０によって選択された無線基地局）との間でアソシエーションが行われて通信路が確立されることで、特定の無線基地局が通信先として設定される。
【００３８】
ＡＰ６０は、インターネット回線６４に接続されており、インターネット回線６４には回線混雑度監視サーバ６８が接続されている。また、３Ｇ基地局６２は、３Ｇ回線６６を介してインターネット回線６４に接続されている。
【００３９】
一例として図６に示すように、ＡＰ６０は、ＣＰＵ７０、一次記憶部７２、二次記憶部７４、第１通信インタフェース７６、及び第２通信インタフェース７８を備えている。ＣＰＵ７０、一次記憶部７２、二次記憶部７４、第１通信インタフェース７６、及び第２通信インタフェース７８は、バス８０を介して相互に接続されている。なお、３Ｇ基地局６２は、ＡＰ６０と比べ、第１通信インタフェース７６に代えて第１通信インタフェース８４を有する点、及び第２通信インタフェース７８に代えて第２通信インタフェース８６を有する点が異なる。
【００４０】
一次記憶部７２は、揮発性のメモリであり、二次記憶部７４は、不揮発性のメモリである。二次記憶部７４は、回線混雑度算出プログラム８２を記憶している。ＣＰＵ７０は、二次記憶部７４から回線混雑度算出プログラム８２を読み出して一次記憶部７２に展開し、回線混雑度算出プログラム８２を実行する。
【００４１】
第１通信インタフェース７６は、Ｗｉ−Ｆｉの通信方式に従ってスマートデバイス１０とＡＰ６０とを無線通信可能に接続する。第１通信インタフェース８４は、３Ｇの通信方式に従ってスマートデバイス１０と３Ｇ基地局６２とを無線通信可能に接続する。
【００４２】
第２通信インタフェース７８は、インターネット回線６４に接続されており、インターネット回線６４に接続されている外部装置（例えば、サーバ）とＡＰ６０とを通信可能に接続する。第２通信インタフェース８６は、３Ｇ回線６６に接続されており、インターネット回線６４又は３Ｇ回線６６に接続されている外部装置（例えば、サーバ）と３Ｇ基地局６２とを通信可能に接続する。
【００４３】
一例として図７に示すように、回線混雑度監視サーバ６８は、ＣＰＵ８８、一次記憶部９０、二次記憶部９２、及び通信インタフェース９４を備えている。ＣＰＵ８８、一次記憶部９０、二次記憶部９２、及び通信インタフェース９４は、バス９６を介して相互に接続されている。
【００４４】
一次記憶部９０は、揮発性のメモリであり、二次記憶部９２は、不揮発性のメモリである。二次記憶部９２は、回線混雑度収集プログラム９８及び回線混雑度管理テーブル１００を記憶している。ＣＰＵ８８は、二次記憶部９２から回線混雑度収集プログラム９８を読み出して一次記憶部９０に展開し、回線混雑度収集プログラム９８を実行することで、回線混雑度管理テーブル１００に回線混雑度が識別情報毎に記憶される。ここで、回線混雑度とは、例えば、無線基地局における単位時間あたりのデータ転送量を指す。
【００４５】
通信インタフェース９４は、インターネット回線６４に接続されており、インターネット回線６４又は３Ｇ回線６６に接続されている外部装置（例えば、無線基地局）と回線混雑度監視サーバ６８とを通信可能に接続する。
【００４６】
次に本第１実施形態の作用を説明する。先ず、スマートデバイス１０の主電源がオンされてからＣＰＵ３０によって所定時間毎（例えば、１秒毎）に変動パターン判定プログラム３８が実行されることでスマートデバイス１０によって行われる変動パターン判定処理について、図８を参照して説明する。
【００４７】
なお、以下では、説明の便宜上、スマートデバイス１０の通信先として特定の無線基地局が既に設定されていることを前提にして説明する。また、以下では、説明の便宜上、スマートデバイス１０と無線通信可能なエリア内に複数の無線基地局が存在していることを前提にして説明する。ここで、スマートデバイス１０と無線通信可能なエリア内に存在する複数の無線基地局とは、例えば、スマートデバイス１０と無線通信可能なエリア内に存在する複数のＡＰ６０及び３Ｇ基地局６２を指す。また、以下の変動パターン判定処理の説明では、説明の便宜上、スマートデバイス１０と無線通信可能なエリア内に存在する複数の無線基地局を「複数の無線基地局」と称する。
【００４８】
図８に示す変動パターン判定処理では、先ず、ステップ１５０で、ＣＰＵ３０は、ＧＰＳ受信部５２から受信結果情報を取得し、取得した受信結果情報に基づいて、スマートデバイス１０の現在の所在位置を示す緯度及び経度を測定する。
【００４９】
次のステップ１５２で、ＣＰＵ３０は、ステップ１５０で取得した緯度及び経度に基づく位置情報を生成し、その後、ステップ１５４へ移行する。ここで、位置情報とは、例えば、ステップ１５０で取得した緯度及び経度の各々の小数第２位の値を四捨五入して得た緯度及び経度を指す。
【００５０】
ステップ１５４で、ＣＰＵ３０は、複数の無線基地局の各々の電波強度（ここでは一例として、通信インタフェース５６により受信された電波の電波強度）を取得する。
【００５１】
次のステップ１５６で、ＣＰＵ３０は、ステップ１５４で取得した電波強度を、複数の無線基地局の各々の識別情報毎に、ステップ１５２で生成した位置情報及びＲＴＣ５０から取得した現在時刻と対応付けて一次記憶部３２に記憶する。
【００５２】
次のステップ１５８で、ＣＰＵ３０は、変動パターン判定処理の１回目の実行が開始された時点又は後述のステップ１６３の処理を終了した前回の時点から所定時間（例えば、１０分）が経過したか否かを判定する。ステップ１５８において、変動パターン判定処理の１回目の実行が開始された時点又は後述のステップ１６３の処理を終了した前回の時点から所定時間が経過した場合は、判定が肯定されて、ステップ１５９へ移行する。ステップ１５８において、変動パターン判定処理の１回目の実行が開始された時点又は後述のステップ１６３の処理を終了した前回の時点から所定時間が経過していない場合は、判定が否定されて、ステップ１６４へ移行する。
【００５３】
ステップ１５９で、ＣＰＵ３０は、ステップ１５６で一次記憶部３２に記憶された電波強度の所定時間内（例えば、過去の１０分以内）における平均値及び分散を複数の無線基地局毎に算出し、その後、ステップ１６０へ移行する。
【００５４】
ステップ１６０で、ＣＰＵ３０は、複数の無線基地局のうちの未だに後述のステップ１６１及びステップ１６２の処理対象とされていない１つを注目無線基地局として設定し、その後、ステップ１６１へ移行する。
【００５５】
ステップ１６１で、ＣＰＵ３０は、注目無線基地局について、ステップ１５９で算出した平均値及び分散に基づいて、ステップ１５６で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れかに該当するか否かを判定する。ステップ１６１において、注目無線基地局について、ステップ１５６で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れかに該当する場合は、判定が肯定されて、ステップ１６２へ移行する。ステップ１６１において、注目無線基地局について、ステップ１５６で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れにも該当しない場合は、判定が否定されて、ステップ１６３へ移行する。
【００５６】
ステップ１６２で、ＣＰＵ３０は、ステップ１６１で特定した変動パターンを、注目無線基地局の識別情報、ステップ１５２で生成した位置情報、及びＲＴＣ５０から取得した現在時刻（現在の年月日時分）と対応付けて電波状態管理テーブル４４に記憶する。
【００５７】
次のステップ１６３で、ＣＰＵ３０は、複数の無線基地局の全てについてステップ１６０〜ステップ１６２の処理を終了したか否かを判定する。ステップ１６３において、複数の無線基地局の全てについてステップ１６０〜ステップ１６２の処理を終了した場合は、判定が肯定されて、ステップ１６４へ移行する。ステップ１６３において、複数の無線基地局の全てについてステップ１６０〜ステップ１６２の処理を終了していない場合は、判定が否定されて、ステップ１６０へ移行する。
【００５８】
ステップ１６４で、ＣＰＵ３０は、変動パターン判定処理の終了条件を満足しているか否かを判定する。変動パターン判定処理の終了条件としては、例えば、受付部４６により終了指示が受け付けられたとの条件やスマートデバイス１０のバッテリの残容量が５％を下回ったとの条件が挙げられる。ステップ１６４において、変動パターン判定処理の終了条件を満足していない場合は、判定が否定されて、ステップ１５０へ移行する。ステップ１６４において、変動パターン判定処理の終了条件を満足している場合は、判定が肯定されて、変動パターン判定処理を終了する。
【００５９】
次に、アプリ２４の起動が完了した際にＣＰＵ３０によって第１切替プログラム４０が実行されることでスマートデバイス１０によって行われる第１切替処理について、図９を参照して説明する。なお、以下では、説明の便宜上、複数のアプリ２４が既にＣＰＵ３０によって実行されていることを前提にして説明する。また、以下では、説明の便宜上、電波状態管理テーブル４４に２４時間分（１日分）の測定時間帯毎（ここでは一例として１０分毎）の所在位置及び電波状態情報が記憶されていることを前提にして説明する。
【００６０】
図９に示す第１切替処理では、先ず、ステップ２００で、切替部１８は、アプリ２４毎の通信状況情報を取得する。ここで、通信状況情報とは、例えば、アプリ２４が処理部１６を利用して無線通信を行っているか否かを示す無線通信有無情報、アプリ２４のプロセスＩＤ、及び現在時刻（例えば、年月日時分）を含む情報を指す。
【００６１】
ステップ２０２で、切替部１８は、起動が完了したアプリ２４（以下、「起動アプリ２４」という）のプロセスＩＤを取得し、その後、ステップ２０４へ移行する。
【００６２】
ステップ２０４で、切替部１８は、ステップ２００で取得したアプリ２４毎の通信状況情報から、ステップ２０２で取得したプロセスＩＤにより特定される起動アプリ２４の通信状況情報を取得し、その後、ステップ２０６へ移行する。
【００６３】
ステップ２０６で、切替部１８は、処理部１６が起動アプリ２４を実行することにより無線通信中か否かを、ステップ２０４で取得した通信状況情報を参照して判定する。ステップ２０６において、処理部１６が起動アプリ２４を実行することにより無線通信中でない場合は、判定が否定されて、ステップ２０８へ移行する。ステップ２０６において、処理部１６が起動アプリ２４を実行することにより無線通信中の場合は、判定が肯定されて、第１切替処理を終了する。
【００６４】
ステップ２０８で、切替部１８は、ＧＰＳ受信部５２から受信結果情報を取得し、取得した受信結果情報に基づいて、スマートデバイス１０の現在の所在位置を示す緯度及び経度を測定し、その後、ステップ２１０へ移行する。
【００６５】
ステップ２１０で、切替部１８は、ステップ２０８で取得した緯度及び経度に基づく位置情報を生成し、その後、ステップ２１２へ移行する。
【００６６】
ステップ２１２で、切替部１８は、ステップ２１０で取得した位置情報及びＲＴＣ５０から取得した現在時刻の時分に対応する電波状態情報を電波状態管理テーブル４４から取得し、その後、ステップ２１４へ移行する。
【００６７】
ステップ２１４で、切替部１８は、ステップ２１２で取得した電波状態情報に良好型変動パターンが含まれているか否かを判定する。ステップ２１４において、ステップ２１２で取得した電波状態情報に良好型変動パターンが含まれている場合は、判定が肯定されて、ステップ２１６へ移行する。ステップ２１４において、ステップ２１２で取得した電波状態情報に良好型変動パターンが含まれていない場合は、判定が否定されて、第１切替処理を終了する。
【００６８】
ステップ２１６で、切替部１８は、処理部１６の通信先として現在設定されている無線基地局は良好型変動パターンの無線基地局か否かを、ステップ２１２で取得した電波状態情報に含まれる識別情報を参照して判定する。ステップ２１６において、処理部１６の通信先として現在設定されている無線基地局が良好型変動パターンの無線基地局の場合は、判定が肯定されて、第１切替処理を終了する。ステップ２１６において、処理部１６の通信先として現在設定されている無線基地局が良好型変動パターンの無線基地局でない場合は、判定が否定されて、ステップ２１８へ移行する。
【００６９】
ステップ２１８で、切替部１８は、処理部１６の通信先として現在設定されている無線基地局を、ステップ２１２で取得した電波状態情報に含まれる良好型変動パターンに対応付けられた識別情報により特定される無線基地局に切り替える。そして、その後、第１切替処理を終了する。
【００７０】
次に、無線基地局の主電源がオンされてからＣＰＵ７０によって回線混雑度算出プログラム８２が実行されることで無線基地局によって行われる回線混雑度算出処理について、図１０を参照して説明する。
【００７１】
図１０に示す回線混雑度算出処理では、先ず、ステップ３００で、ＣＰＵ７０は、無線基地局の回線混雑度を算出する時期として予め定められた時期（回線混雑度算出時期）が到来したか否かを判定する。ここで、回線混雑度とは、例えば、単位時間あたりのデータ転送量を指す。回線混雑度算出時期とは、例えば、回線混雑度算出処理の１回目の実行が開始された時点又は後述のステップ３０４の処理を終了した前回の時点から１０秒が経過した時点を指す。
【００７２】
ステップ３００において、回線混雑度算出時期が到来した場合は、判定が肯定されて、ステップ３０２へ移行する。ステップ３００において、回線混雑度算出時期が到来していない場合は、判定が否定されて、ステップ３０６へ移行する。
【００７３】
ステップ３０２で、ＣＰＵ７０は、回線混雑度を算出し、その後、ステップ３０４へ移行する。
【００７４】
ステップ３０４で、ＣＰＵ７０は、ステップ３０２で算出した回線混雑度及び無線基地局のＭＡＣアドレスを回線混雑度監視サーバ６８に送信し、その後、ステップ３０６へ移行する。
【００７５】
ステップ３０６で、ＣＰＵ７０は、回線混雑度算出処理の終了条件を満足しているか否かを判定する。回線混雑度算出処理の終了条件とは、例えば、無線基地局の管理者が回線混雑度算出処理の終了指示を無線基地局に与えたとの条件や無線基地局で重度の輻輳が生じているとの条件が挙げられる。ステップ３０６において、回線混雑度算出処理の終了条件を満足していない場合は、判定が否定されて、ステップ３００へ移行する。ステップ３０６において、回線混雑度算出処理の終了条件を満足している場合は、判定が肯定されて、回線混雑度算出処理を終了する。
【００７６】
次に、回線混雑度監視サーバ６８の主電源がオンされてからＣＰＵ８８によって回線混雑度収集プログラム９８が実行されることで回線混雑度監視サーバ６８によって行われる回線混雑度収集処理について、図１１を参照して説明する。
【００７７】
図１１に示す回線混雑度収集処理では、先ず、ステップ３５０で、ＣＰＵ８８は、図１０に示す回線混雑度算出処理におけるステップ３０４で送信された回線混雑度及びＭＡＣアドレスを受信したか否かを判定する。ステップ３５０において、図１０に示す回線混雑度算出処理におけるステップ３０４で送信された回線混雑度及びＭＡＣアドレスを受信した場合は、判定が肯定されて、ステップ３５２へ移行する。ステップ３５０において、図１０に示す回線混雑度算出処理におけるステップ３０４で送信された回線混雑度及びＭＡＣアドレスを受信していない場合は、判定が否定されて、ステップ３５４へ移行する。
【００７８】
ステップ３５２で、ＣＰＵ８８は、ステップ３５０で受信した回線混雑度とＭＡＣアドレスとを関連付けて回線混雑度管理テーブル１００に記憶し、その後、ステップ３５４へ移行する。
【００７９】
ステップ３５４で、ＣＰＵ８８は、回線混雑度収集処理の終了条件を満足しているか否かを判定する。回線混雑度収集処理の終了条件とは、例えば、回線混雑度監視サーバ６８の管理者が回線混雑度収集処理の終了指示を回線混雑度監視サーバ６８に与えたとの条件や回線混雑度監視サーバ６８で重度の輻輳が生じているとの条件が挙げられる。ステップ３５４において、回線混雑度収集処理の終了条件を満足していない場合は、判定が否定されて、ステップ３５０へ移行する。ステップ３５４において、回線混雑度収集処理の終了条件を満足している場合は、判定が肯定されて、回線混雑度収集処理を終了する。
【００８０】
次に、アプリ２４が起動された際にＣＰＵ３０によって第２切替プログラム４２が実行されることでスマートデバイス１０によって行われる第２切替処理について、図１２Ａ及び図１２Ｂを参照して説明する。なお、ここで、起動されたアプリ２４とは、フォアグラウンドで実行されているアプリ２４（以下、「フォアグラウンドアプリ」という）を意味する。また、以下では、説明の便宜上、バックグラウンドで少なくとも１つのアプリ２４が処理部１６によって実行されていることを前提にして説明する。また、以下では、説明の便宜上、図１２Ａ及び図１２Ｂを区別して説明する必要がない場合、図１２と称する。
【００８１】
図１２に示す第２切替処理では、先ず、ステップ４００で、測定部１４は、無線基地局毎の電波の電波強度を取得する時期として予め定められた時期（電波強度取得時期）が到来したか否かを判定する。電波強度取得時期とは、例えば、第２切替処理の１回目の実行が開始された時点又は後述のステップ４０２で電波強度を取得した前回の時点から１秒が経過した時点を指す。
【００８２】
ステップ４００において、電波強度取得時期が到来した場合は、判定が肯定されて、ステップ４０２へ移行する。ステップ４００において、電波強度取得時期が到来していない場合は、判定が否定されて、ステップ４２８へ移行する。
【００８３】
ステップ４０２で、測定部１４は、スマートデバイス１０と無線通信可能なエリア内に存在する複数の無線基地局の各々の電波強度（ここでは一例として、通信インタフェース５６により受信された電波の電波強度）を取得する。なお、以下の第２切替処理の説明では、説明の便宜上、スマートデバイス１０と無線通信可能なエリア内に存在する複数の無線基地局を「複数の無線基地局」と称する。
【００８４】
次のステップ４０４で、測定部１４は、ステップ４０２で取得した電波強度を、複数の無線基地局の各々の識別情報毎に、ＲＴＣ５０から取得した現在時刻と対応付けて一次記憶部３２に記憶し、その後、ステップ４０６へ移行する。
【００８５】
ステップ４０６で、切替部１８は、第２切替処理の１回目の実行が開始された時点又は後述のステップ４０９で変動パターンを特定した前回の時点から所定時間（例えば、１０分）が経過したか否かを判定する。ステップ４０６において、第２切替処理の１回目の実行が開始された時点又は後述のステップ４０９で変動パターンを特定した前回の時点から所定時間が経過した場合は、判定が肯定されて、ステップ４０８へ移行する。ステップ４０６において、第２切替処理の１回目の実行が開始された時点又は後述のステップ４０９で変動パターンを特定した前回の時点から所定時間が経過していない場合は、判定が否定されて、ステップ４２８へ移行する。
【００８６】
ステップ４０８で、切替部１８は、ステップ４０４で一次記憶部３２に記憶された電波強度の所定時間内（例えば、過去の１０分以内）における平均値及び分散を複数の無線基地局毎に算出し、その後、ステップ４０９へ移行する。
【００８７】
ステップ４０９で、切替部１８は、通信先の無線基地局について、ステップ４０８で算出した平均値及び分散に基づいて、ステップ４０４で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れかに該当するか否かを判定する。ここで、通信先の無線基地局とは、処理部１６の通信先として現在設定されている無線基地局を指す。ステップ４０９において、通信先の無線基地局について、ステップ４０８で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れかに該当する場合は、判定が肯定されて、ステップ４１０へ移行する。ステップ４０９において、通信先の無線基地局について、ステップ４０４で一次記憶部３２に記憶された電波強度の所定時間内の経時変化が変動パターンＡ〜Ｃの何れにも該当しない場合は、判定が否定されて、ステップ４２８へ移行する。
【００８８】
ステップ４１０で、切替部１８は、通信先の無線基地局は３Ｇ基地局６２か否かを判定する。ステップ４１０において、処理部１６の通信先として現在設定されている無線基地局が３Ｇ基地局６２の場合は、判定が肯定されて、ステップ４１２へ移行する。ステップ４１０において、処理部１６の通信先として現在設定されている無線基地局が３Ｇ基地局６２でない場合（ＡＰ６０の場合）は、判定が否定されて、ステップ４１６へ移行する。
【００８９】
ステップ４１２で、切替部１８は、ステップ４０９で特定した変動パターンに基づいて、処理部１６の通信先として現在設定されている３Ｇ基地局６２は良好型変動パターンの３Ｇ基地局６２か否かを判定する。すなわち、切替部１８は、ステップ４０９で特定した変動パターンが変動パターンＡ又は変動パターンＢの場合、処理部１６の通信先として現在設定されている３Ｇ基地局６２が不良型変動パターンの３Ｇ基地局６２であると判定する。また、ステップ４０９で特定した変動パターンが変動パターンＣの場合、処理部１６の通信先として現在設定されている３Ｇ基地局６２が良好型変動パターンの３Ｇ基地局６２であると判定する。
【００９０】
ステップ４１２において、処理部１６の通信先として現在設定されている３Ｇ基地局６２が不良型変動パターンの３Ｇ基地局６２の場合は、判定が肯定されて、ステップ４１４へ移行する。ステップ４１２において、処理部１６の通信先として現在設定されている３Ｇ基地局６２が良好型変動パターンの３Ｇ基地局６２の場合は、判定が否定されて、ステップ４２８へ移行する。
【００９１】
ステップ４１４で、切替部１８は、複数の無線基地局の中に良好型変動パターンのＡＰ６０が存在しているか否かを、ステップ４０８で算出した平均値及び分散に基づいて判定する。ここで、良好型変動パターンのＡＰ６０とは、例えば、変動パターンＣのＡＰ６０を指す。ステップ４１４において、複数の無線基地局の中に良好型変動パターンのＡＰ６０が存在している場合は、判定が肯定されて、ステップ４１９へ移行する。ステップ４１４において、複数の無線基地局の中に良好型変動パターンのＡＰ６０が存在していない場合は、判定が否定されて、ステップ４２８へ移行する。
【００９２】
ステップ４１６で、切替部１８は、ステップ４０９で特定した変動パターンに基づいて、処理部１６の通信先として現在設定されているＡＰ６０は良好型変動パターンのＡＰ６０か否かを判定する。すなわち、切替部１８は、ステップ４０９で特定した変動パターンが変動パターンＡ又は変動パターンＢの場合、処理部１６の通信先として現在設定されているＡＰ６０が不良型変動パターンのＡＰ６０であると判定する。また、ステップ４０９で特定した変動パターンが変動パターンＣの場合、処理部１６の通信先として現在設定されているＡＰ６０が良好型変動パターンのＡＰ６０であると判定する。
【００９３】
ステップ４１６において、処理部１６の通信先として現在設定されているＡＰ６０が不良型変動パターンのＡＰ６０の場合は、判定が肯定されて、ステップ４１８へ移行する。ステップ４１６において、処理部１６の通信先として現在設定されているＡＰ６０が良好型変動パターンのＡＰ６０の場合は、判定が否定されて、ステップ４２８へ移行する。
【００９４】
ステップ４１８で、切替部１８は、複数の無線基地局の中に良好型変動パターンのＡＰ又は３Ｇ基地局が存在しているか否かを、ステップ４０８で算出した平均値及び分散に基づいて判定する。ここで、良好型変動パターンのＡＰ又は３Ｇ基地局とは、例えば、変動パターンＣの無線基地局を指す。ステップ４１８において、複数の無線基地局の中に良好型変動パターンのＡＰ又は３Ｇ基地局が存在している場合は、判定が肯定されて、ステップ４１９へ移行する。ステップ４１８において、複数の無線基地局の中に良好型変動パターンのＡＰ又は３Ｇ基地局が存在していない場合は、判定が否定されて、ステップ４２８へ移行する。
【００９５】
ステップ４１９で、切替部１８は、アプリ２４毎の通信状況情報を取得し、その後、ステップ４２２へ移行する。
【００９６】
ステップ４２２で、切替部１８は、処理部１６が無線通信中か否かを、ステップ４１９で取得した通信状況情報を参照して判定する。ここで、無線通信中とは、処理部１６が複数のアプリ２４のうちの少なくとも１つを実行することにより通信先と無線通信中であることを指す。ステップ４２２において、処理部１６が無線通信中の場合は、判定が肯定されて、ステップ４２８へ移行する。ステップ４２２において、処理部１６が無線通信中でない場合は、判定が否定されて、ステップ４２４へ移行する。
【００９７】
ステップ４２４で、切替部１８は、通信インタフェース５６を介して回線混雑度監視サーバ６８と通信を行うことで、回線混雑度監視サーバ６８から複数の無線基地局の各々の回線混雑度を取得する。すなわち、切替部１８は、回線混雑度監視サーバ６８に対して複数の無線基地局の各々の回線混雑度の提供を要求する。そして、回線混雑度監視サーバ６８は、切替部１８からの要求に応じて、回線混雑度管理テーブル１００から複数の無線基地局の各々の回線混雑度を取得し、取得した回線混雑度を切替部１８に提供する。
【００９８】
次にステップ４２５で、切替部１８は、ステップ４１４において判定が肯定された場合、ステップ４２４で取得した無線基地局毎の回線混雑度を参照して、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ６０が存在するか否かを判定する。ここで、所定条件とは、例えば、所定値未満であるとの条件を指す。所定値とは、通信先として現在設定されている無線基地局の回線混雑度を指す。ステップ４２５において、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ６０が存在する場合は、判定が肯定されて、ステップ４２６へ移行する。ステップ４２５において、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ６０が存在しない場合は、判定が否定されて、ステップ４２８へ移行する。
【００９９】
また、ステップ４２５で、切替部１８は、ステップ４１８において判定が肯定された場合、ステップ４２４で取得した無線基地局毎の回線混雑度を参照して、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ又は３Ｇ基地局が存在するか否かを判定する。ステップ４２５において、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ又は３Ｇ基地局が存在する場合は、判定が肯定されて、ステップ４２６へ移行する。ステップ４２５において、回線混雑度が所定条件を満たす良好型変動パターンのＡＰ又は３Ｇ基地局が存在しない場合は、判定が否定されて、ステップ４２８へ移行する。
【０１００】
次のステップ４２６で、切替部１８は、ステップ４１４において判定が肯定された場合、通信先を、良好型変動パターンのＡＰ６０のうちのステップ４２４で取得した最小の回線混雑度のＡＰ６０に切り替え、その後、ステップ４２８へ移行する。
【０１０１】
また、ステップ４２６で、切替部１８は、ステップ４１８において判定が肯定された場合、通信先を、良好型変動パターンのＡＰ又は３Ｇ基地局無線基地局のうちのステップ４２４で取得した最小の回線混雑度の無線基地局に切り替える。
【０１０２】
次のステップ４２８で、切替部１８は、第２切替処理の終了条件を満足しているか否かを判定する。第２切替処理の終了条件としては、例えば、受付部４６により終了指示が受け付けられたとの条件やスマートデバイス１０のバッテリの残容量が５％を下回ったとの条件が挙げられる。ステップ４２８において、第２切替処理の終了条件を満足していない場合は、判定が否定されて、ステップ４００へ移行する。ステップ４２８において、第２切替処理の終了条件を満足している場合は、判定が肯定されて、第２切替処理を終了する。
【０１０３】
以上説明したように、スマートデバイス１０では、通信先の電波強度の変動パターン（経時変化）が不良型で、且つ、通信先候補の電波強度の変動パターンが良好型の場合に、通信先が、良好型変動パターンの無線基地局に切り替えられる。これにより、安定した無線通信に必要な電波が確保される。また、通信先の電波強度が閾値を超える度に通信先の無線基地局を切り替える場合と比べ、アプリ２４の実行停滞が抑制されるので、無線通信の円滑な実行が可能となる。また、スマートデバイス１０では、不良型変動パターンの無線基地局から良好型変動パターンの無線基地局への切り替えは、無線通信が行われていないときに行われる。また、スマートデバイス１０では、無線通信中に、通信先の電波強度の変動パターンに応じた通信先としての無線基地局の切り替えが抑制される。これにより、無線通信中における通信先の切り替えに伴うアプリ２４の実行停滞が抑制されるので、無線通信の円滑な実行が可能となる。このように、スマートデバイス１０は、アプリ２４の実行により行われる無線通信の円滑な実行を可能にする。
【０１０４】
また、スマートデバイス１０では、アプリ２４の起動完了に伴って、電波状態管理テーブル４４から現在時刻及び現在位置に応じた変動パターンが取得される。そして、取得された変動パターンが良好型で、且つ、処理部１６が無線通信中でない場合に、通信先が良好型変動パターンの無線基地局に切り替えられる。これにより、スマートデバイス１０は、アプリ２４の起動完了時に電波不良の状態から無線通信が開始されることを抑制することができる。
【０１０５】
また、スマートデバイス１０では、通信先を不良型変動パターンの無線基地局から良好型変動パターンの無線基地局へ切り替えることが、良好型変動パターンの無線基地局の回線混雑度が所定条件を満たしたことを条件に行われる。これにより、スマートデバイス１０は、通信先を良好型変動パターンの無線基地局に切り替えたにも拘らず円滑な無線通信が行われないという事態の発生を抑制することができる。
【０１０６】
また、スマートデバイス１０では、電波強度の変動パターンが、測定部１４により測定された電波強度の平均値及び分散に基づいて特定される。これにより、スマートデバイス１０は、変動パターンの高精度な特定を容易に行うことができる。
【０１０７】
なお、上記第１実施形態では、アプリ２４の起動完了に伴って、第１切替処理が行われる場合を例示したが、これに限らず、他のタイミングで第１切替処理が行われてもよい。他のタイミングとは、例えば、予め定められた条件を満たした場合を指す。予め定められた条件とは、例えば、受付部４６で第１切替処理の実行指示が受け付けられたとの条件、又はアプリ２４の起動完了から所定時間（例えば、１分）が経過したとの条件が挙げられる。このように、スマートデバイス１０では、予め定められた条件を満たした場合に第１切替処理が行われることで、予め定められた条件を満たしたときに電波不良の状態から無線通信が開始されることを抑制することができる。
【０１０８】
また、上記第１実施形態では、図８に示す変動パターン判定処理及び図９に示す第１切替処理において位置情報を利用する場合を例示したが、図８に示す変動パターン判定処理及び図９に示す第１切替処理において必ずしも位置情報を利用しなくてもよい。これは、スマートデバイス１０が移動していない場合も想定でき、その場の電波状況を監視して、過去数時間程度の電波の変動パターンから切替先を判定するという使い方もできるからである。これを実現するには、例えば、図８に示す変動パターン判定処理からステップ１５０，１５２を無くし、かつ、ステップ１５６において位置とは無関係に電波強度を記憶し、ステップ１６２において位置とは無関係に変動パターンを記憶すればよい。また、図９に示す第１切替処理からステップ２０８，２１０を無くし、ステップ２１２において位置とは無関係に電波状態情報を取得する。なお、スマートデバイス１０が携帯されて移動するという特性を考慮すると、上記第１実施形態で説明したような使い方が考えられ、より精度の良い切替を行うことが可能となる。また、上記第１実施形態では、図１０に示す回線混雑度算出処理及び図１１に示す回線混雑度収集処理を例示したが、図１０に示す回線混雑度算出処理及び図１１に示す回線混雑度収集処理は必ずしも行うことを要しない。この場合、図１２ｂに示すステップ４２４，４２５は不要となり、ステップ４２６では、回線混雑度が加味されずに無線基地局が切り替えられる。
【０１０９】
［第２実施形態］
上記第１実施形態では、処理部１６がアプリ２４を実行することにより無線通信を行う場合を例示したが、本第２実施形態では、処理部１６がフォアグラウンドでアプリ２４を実行することにより無線通信を行う場合について説明する。なお、本第２実施形態では、上記第１実施形態で説明した構成要素については、同一の符号を付し、説明を省略する。
【０１１０】
一例として図１に示すように、第２実施形態に係るスマートデバイス１１Ａは、第１実施形態に係るスマートデバイス１０と比べ、切替部１８に代えて切替部１９Ａを有する点が異なる。切替部１９Ａは、処理部１６がフォアグラウンドで無線通信中でなく、通信先として定められた無線通信装置２６が電波不良型の無線通信装置２６の場合に、通信先を電波不良型の無線通信装置２６から電波良好型の無線通信装置２６に切り替える。処理部１６がフォアグラウンドで無線通信中とは、処理部１６がフォアグラウンドでアプリ２４を実行することにより通信先の無線通信装置２６と無線通信していることを指す。
【０１１１】
一例として図３に示すように、スマートデバイス１１Ａは、スマートデバイス１０と比べ、二次記憶部３４に第２切替プログラム４２に代えて第２切替プログラム４３が記憶されている点が異なる。ＣＰＵ３０は、第２切替プログラム４３を実行することで、図１に示す切替部１９Ａとして動作する。
【０１１２】
次に、アプリ２４が起動された際にＣＰＵ３０によって第２切替プログラム４２が実行されることでスマートデバイス１０によって行われる第２切替処理について、図１３を参照して説明する。なお、図１３に示すフローチャートは、図１２に示すフローチャートと比べ、ステップ４２０及びステップ４２１を有する点が異なる。また、図１３に示すフローチャートは、図１２に示すフローチャートと比べ、ステップ４２２に代えてステップ４２２Ａを有する点が異なる。そのため、図１３には、図１２Ａに示すフローチャートの続きが示されている。
【０１１３】
図１３に示す第２切替処理では、ステップ４１９の処理が終了するとステップ４２０へ移行する。ステップ４２０で、切替部１９Ａは、処理部１６によって実行されているアプリ２４のうちフォアグラウンドアプリ（フォアグラウンドで実行されているアプリ）のプロセスＩＤを取得し、その後、ステップ４２１へ移行する。
【０１１４】
ステップ４２１で、切替部１９Ａは、ステップ４１９で取得したアプリ２４毎の通信状況情報から、ステップ４２０で取得したプロセスＩＤにより特定されるフォアグラウンドアプリの通信状況情報を取得し、その後、ステップ４２２Ａへ移行する。
【０１１５】
ステップ４２２Ａで、切替部１９Ａは、ステップ４２１で取得した通信状況情報に基づいて、処理部１６がフォアグラウンドアプリを実行することにより通信先と無線通信中か否かを判定する。ステップ４２２Ａにおいて、処理部１６がフォアグラウンドアプリを実行することにより通信先と無線通信中の場合は、判定が肯定されて、ステップ４２８へ移行する。ステップ４２２Ａにおいて、処理部１６がフォアグラウンドアプリを実行することにより通信先と無線通信中でない場合（フォアグラウンドアプリを用いて無線通信中でない場合）は、判定が否定されて、ステップ４２４へ移行する。
【０１１６】
以上説明したように、スマートデバイス１１Ａでは、不良型変動パターンの無線基地局から良好型変動パターンの無線基地局への切り替えは、処理部１６がフォアグラウンドアプリを用いて無線通信を行っていないときに行われる。すなわち、フォアグラウンドアプリの実行による無線通信中に通信先の切り替えは行われない。これにより、スマートデバイス１１Ａは、無線通信中にフォアグラウンドアプリの実行が滞ることを抑制することができる。また、スマートデバイス１１Ａでは、フォアグラウンドアプリの種別に応じて通信先の切り替えが制御されてもよい。例えば、ストリーミング系アプリであれば通信先の切り替えを行うが、ラージデータ系アプリであればセッションを切断してもダウンロードが早く終了するならば切り替えを行うようにしてもよい。なお、動作停滞の意味はフォアグラウンドアプリの種別に応じて異なる。よって、フォアグラウンドアプリの種別に応じて通信先の切り替えが制御されることで、無線通信中のフォアグラウンドアプリの種別特有の動作停滞に起因したユーザへの不快感を抑制することができる。例えば、リアルタイムコミュニケーション系アプリの場合、無線通信中に通信先を切り替えないために音質が悪くなり、コミュニケーションが阻害されてしまうという意味での動作停滞に起因したユーザへの不快感を抑制することができる。また、例えば、ラージデータ系アプリの場合、残り僅かでダウンロードが完了するにも拘らず、通信先を切り替えてしまうことによってダウンロードを最初からやり直さなければならないという意味での動作停滞に起因したユーザへの不快感を抑制することができる。
【０１１７】
［第３実施形態］
上記第１及び第２実施形態では、データ通信中でなければ通信先を切り替えても問題が生じないアプリを対象にした場合を例示した。しかし、Ｗｅｂアプリで一連のトランザクションを実行している場合、同じＩＰアドレスからの通信であることを認識して処理を継続する場合があるので、データ通信をしていないという理由のみで通信先を切り替えることが好ましくない場合がある。そこで、第３実施形態では、ログイン・ログアウトのイベントを検出して、トランザクションの実行中か否かを判定し、通信先を切り替える場合について説明する。なお、本第３実施形態では、上記第２実施形態で説明した構成要素については、同一の符号を付し、説明を省略する。
【０１１８】
一例として図１４に示すように、本第３実施形態に係るスマートデバイス１１Ｂは、図１に示すスマートデバイス１１Ａと比べ、通信先切替装置１３Ａに代えて通信先切替装置１３Ｂを有する点が異なる。通信先切替装置１３Ｂは、図１に示す通信先切替装置１３Ａと比べ、検出部５０２を有する点が異なる。検出部５０２は、アプリ２４が処理部１６によって実行されることでログインされる通信サービスからスマートデバイス１１Ｂがログアウトされているか否かを検出する。また、本第３実施形態に係るスマートデバイス１１Ｂは、図１に示す通信先切替装置１３Ａと比べ、切替部１９Ａに代えて切替部１９Ｂを有する点が異なる。切替部１９Ｂは、通信先を電波良好型の無線通信装置２６に切り替えることを、スマートデバイス１１Ｂが通信サービスからログアウトされていることを条件に行う。
【０１１９】
一例として図１５に示すように、インターネット回線６４にはウェブサーバ５０３が接続されている。ウェブサーバ５０３は、スマートデバイス１１Ｂを含む複数の端末装置が要求するＷｅｂサービス（開示の技術に係る通信サービスの一例）を提供するサーバである。
【０１２０】
一例として図１６に示すように、スマートデバイス１１Ｂの二次記憶部３４は、スマートデバイス１１Ａの二次記憶部３４と比べ、第２切替プログラム４３に代えて第２切替プログラム４５を記憶している点が異なる。また、スマートデバイス１１Ｂの二次記憶部３４は、スマートデバイス１１Ａの二次記憶部３４と比べ、アクセス検出判定プログラム５０４及び無アクセス検出判定プログラム５０５を記憶している点が異なる。また、スマートデバイス１１Ｂの二次記憶部３４は、スマートデバイス１１Ａの二次記憶部３４と比べ、アプリ動作状況検出方法管理テーブル５０６、アプリ動作状況管理テーブル５０７、及び通信先切替ポリシ管理テーブル５０８を記憶している点が異なる。
【０１２１】
ＣＰＵ３０は、二次記憶部３４から第２切替プログラム４５を読み出して一次記憶部３２に展開し、第２切替プログラム４５を実行する。ＣＰＵ３０は、第２切替プログラム４５を実行することで、図１４に示す切替部１９Ｂとして動作する。
【０１２２】
ＣＰＵ３０は、二次記憶部３４からアクセス検出判定プログラム５０４を読み出して一次記憶部３２に展開し、アクセス検出判定プログラム５０４を実行する。ＣＰＵ３０は、アクセス検出判定プログラム５０４を実行することで、図１４に示す検出部５０２として動作する。
【０１２３】
ＣＰＵ３０は、二次記憶部３４から無アクセス検出判定プログラム５０５を読み出して一次記憶部３２に展開し、無アクセス検出判定プログラム５０５を実行する。ＣＰＵ３０は、無アクセス検出判定プログラム５０５を実行することで、図１４に示す検出部５０２として動作する。
【０１２４】
一例として図１７に示すように、アプリ動作状況検出方法管理テーブル５０６は、アプリ２４の名称を示すアプリ名毎に検出方法が対応付けられており、Ｗｅｂサービス毎に意味が異なるＵＲＬを解釈するために用いられる。図１７に示す例では、“Ｏｐｅｎ（．．．．）”というイベントが発生したら、サービスにログイン中という状態になったと判断するという、イベントをアプリの状態に解釈する方法を定義するテーブルである。“Ｏｐｅｎ（．．．．）”というイベントが発生するとは、例えば、ユーザがＵＲＬをブラウザで開くというアクションを起こしたことを意味する。
【０１２５】
ここで、図１７に示す“Ｏｐｅｎ（ｈｔｔｐ:／／ｘｘ．ｘｘ．ｘｘ．ｘｘ／ｌｏｇｉｎ）”とは、“ｈｔｔｐ:／／ｘｘ．ｘｘ．ｘｘ．ｘｘ”により特定されるＷｅｂサービス（以下、「サービス＃１」という）にログインしていることを意味する。また、図１７に示す“Ｏｐｅｎ（ｈｔｔｐ:／／ｘｘ．ｘｘ．ｘｘ．ｘｘ／ｌｏｇｏｕｔ）”とは、サービス＃１からログアウトしていることを意味する。また、図１７に示す“Ｏｐｅｎ（ｈｔｔｐ:／／ｙｙ．ｙｙ．ｙｙ．ｙｙ／ｌｏｇｉｎ）”とは、“ｈｔｔｐ:／／ｙｙ．ｙｙ．ｙｙ．ｙｙ”により特定されるＷｅｂサービス（以下、「サービス＃２」という）にログインしていることを意味する。更に、図１７に示す“Ｎｏ  Ａｃｃｅｓｓ（ｈｔｔｐ：／／ｙｙ．ｙｙ．ｙｙ．ｙｙ／，６０）”とは、サービス＃２にログインしてからサービス＃２を６０秒間利用していないときにログオフ（ログアウト）中という状態と判断する。
【０１２６】
一例として図２３に示すように、アプリ動作状況管理テーブル５０７は、アプリ動作状況検出方法管理テーブル５０６を使って判断したアプリの状態（動作状況）を管理するテーブルである。図２３に示す例では、アプリ名毎に、サービス名及びアプリの動作状況が対応付けられている。
【０１２７】
一例として図１８に示すように、通信先切替ポリシ管理テーブル５０８には、アプリ名毎に、Ｗｅｂサービスの名称を示すサービス名及び通信先切替ポリシが対応付けられて記憶されている。通信先切替ポリシとは、処理部１６がＷｅｂサービスにログイン中に通信先の無線基地局を切り替えることが可能か否かを規定した運用ルールを指す。通信先切替ポリシは、デフォルトで設定されてもよいし、受付部４６で受け付けられた指示に従って設定されても良い。なお、図１８に示す例では、通信先切替ポリシ管理テーブル５０８に、処理部１６がブラウザＡを用いてサービス＃１にログインしている間は通信先の無線基地局を切り替えることができないことを示す通信先切替ポリシが記憶されている。また、図１８に示す例では、通信先切替ポリシ管理テーブル５０８に、処理部１６がブラウザＢを用いてサービス＃２にログインしている間は通信先の無線基地局を切り替えることができないことを示す通信先切替ポリシが記憶されている。
【０１２８】
次に、スマートデバイス１１Ｂの主電源がオンされてからＣＰＵ３０によってアクセス検出判定プログラム５０４が実行されることでスマートデバイス１１Ｂによって行われるアクセス検出判定処理について、図１９を参照して説明する。
【０１２９】
図１９に示すアクセス検出判定処理では、先ず、ステップ５５０で、検出部５０２は、処理部１６からフォアグラウンドで実行中のアプリ２４のアプリ名及びイベント情報が通知されたかを判定する。ここで、イベント情報とは、例えば、ブラウザアプリの場合、リンクをクリックしたり、ＵＲＬを入力したりしてＷｅｂページを開いたという事象に関する情報のこと（例えば、“Ｏｐｅｎ．．．．”や“Ｎｏ  Ａｃｃｅｓｓ．．．．”）を指す。処理部１６は、フォアグラウンドでアプリ２４が実行されている場合に受付部４６によってイベント情報が受け付けられると、受け付けられたイベント情報及びフォアグラウンドで実行中のアプリ名を検出部５０２に通知する。
【０１３０】
ステップ５５０において、処理部１６からフォアグラウンドで実行中のアプリ２４のアプリ名及びイベント情報が通知された場合は、判定が肯定されて、ステップ５５２へ移行する。ステップ５５０において、処理部１６からフォアグラウンドで実行中のアプリ２４のアプリ名及びイベント情報が通知されていない場合は、判定が否定されて、ステップ５６４へ移行する。
【０１３１】
ステップ５５２で、検出部５０２は、ステップ５５０で処理部１６から通知されたアプリ名及びイベント情報に対応する検出方法がアプリ動作状況検出方法管理テーブル５０６に記憶されているか否かを判定する。ステップ５５２において、ステップ５５０で処理部１６から通知されたアプリ名及びイベント情報に対応する検出方法がアプリ動作状況検出方法管理テーブル５０６に記憶されている場合は、判定が肯定されて、ステップ５５４へ移行する。ステップ５５２において、ステップ５５０で処理部１６から通知されたアプリ名及びイベント情報に対応する検出方法がアプリ動作状況検出方法管理テーブル５０６に記憶されていない場合は、判定が否定されて、ステップ５６４へ移行する。
【０１３２】
ステップ５５４で、検出部５０２は、ステップ５５０で処理部１６から通知されたイベント情報に含まれるＵＲＬと一致する無アクセス検出判定用ＵＲＬがアプリ動作状況検出方法管理テーブル５０６に記憶されているか否かを判定する。ここで、無アクセス検出判定用ＵＲＬとは、例えば、“Ｎｏ  Ａｃｃｅｓｓ（ｈｔｔｐ：／／ｙｙ．ｙｙ．ｙｙ．ｙｙ／，６０）”に含まれる“ｈｔｔｐ：／／ｙｙ．ｙｙ．ｙｙ．ｙｙ”を指す。
【０１３３】
ステップ５５４において、ステップ５５０で処理部１６から通知されたイベント情報に含まれるＵＲＬと一致する無アクセス検出判定用ＵＲＬがアプリ動作状況検出方法管理テーブル５０６に記憶されている場合は、判定が肯定されて、ステップ５５６へ移行する。ステップ５５４において、ステップ５５０で処理部１６から通知されたイベント情報に含まれるＵＲＬと一致する無アクセス検出判定用ＵＲＬがアプリ動作状況検出方法管理テーブル５０６に記憶されていない場合は、判定が否定されて、ステップ５６２へ移行する。
【０１３４】
ステップ５５６で、検出部５０２は、無アクセス検出判定用のタイマオブジェクト（以下、「タイマ」という）が存在しているか否かを判定する。無アクセス検出判定用のタイマとは、後述の無アクセス検出判定処理（図２０参照）で用いられるタイマを指す。なお、無アクセス検出判定処理用のタイマは、後述のステップ５６０で作成される。
【０１３５】
ステップ５５６において、無アクセス検出判定処理用のタイマが存在している場合は、判定が肯定されて、ステップ５５８へ移行する。ステップ５５６において、無アクセス検出判定処理用のタイマが存在していない場合は、判定が否定されて、ステップ５６０へ移行する。
【０１３６】
ステップ５５８で、検出部５０２は、作動しているタイマをリセットし、その後、ステップ５６２へ移行する。
【０１３７】
ステップ５６０において、検出部５０２は、タイマを作成し、作成したタイマを起動させ、その後、ステップ５６２へ移行する。
【０１３８】
ステップ５６２で、検出部５０２は、ステップ５５０で処理部１６から通知されたアプリ名及びステップ５５０で処理部１６から通知されたイベント情報に対応するサービス名及び動作状況情報をアプリ動作状況管理テーブル５０７に記憶し、その後、ステップ５６４に移行する。なお、イベント情報に対応する動作状況情報とは、例えば、“ログイン中”又は“ログアウト中”を指す。
【０１３９】
ステップ５６４で、検出部５０２は、アクセス検出判定処理の終了条件を満足しているか否かを判定する。アクセス検出判定処理の終了条件としては、例えば、受付部４６により終了指示が受け付けられたとの条件やスマートデバイス１１Ｂのバッテリの残容量が５％を下回ったとの条件が挙げられる。ステップ５６４において、アクセス検出判定処理の終了条件を満足していない場合は、判定が否定されて、ステップ５５０へ移行する。ステップ５６４において、アクセス検出判定処理の終了条件を満足している場合は、判定が肯定されて、アクセス検出判定処理を終了する。
【０１４０】
次に、ステップ５５８でタイマがリセットされてから、又はステップ５６０でタイマが起動されてから、ＣＰＵ３０によって無アクセス検出判定プログラム５０５が実行されることでスマートデバイス１１Ｂによって行われる無アクセス検出判定処理について、図２０を参照して説明する。
【０１４１】
図２０に示す無アクセス検出判定処理では、先ず、ステップ６００で、検出部５０２は、タイマが所定時間作動したか否かを判定する。ここで、所定時間とは、例えば、図１７に示す“Ｎｏ  Ａｃｃｅｓｓ（ｈｔｔｐ：／／ｙｙ．ｙｙ．ｙｙ．ｙｙ／，６０）”に含まれる“６０”に対応する時間（例えば、６０秒）を指す。ステップ６００において、タイマが所定時間作動していない場合は、判定が否定されて、ステップ６００の判定が再び行われる。ステップ６００において、タイマが所定時間作動した場合は、判定が肯定されて、ステップ６０２へ移行する。
【０１４２】
ステップ６０２で、検出部５０２は、処理部１６がＷｅｂサービスからログアウトしていることを示す動作状況情報及びログアウトされたＷｅｂサービスのサービス名をアプリ動作状況管理テーブル５０７に記憶し、その後、無アクセス検出判定処理を終了する。
【０１４３】
次に、アプリ２４が起動された際にＣＰＵ３０によって第２切替プログラム４５が実行されることでスマートデバイス１１Ｂによって行われる第２切替処理について、図２１を参照して説明する。なお、図２１に示すフローチャートは、図１２Ａに示すフローチャートと比べ、ステップ４０１Ａ及びステップ４０１Ｂを有する点が異なる。
【０１４４】
図２１に示す第２切替処理では、ステップ４００において、判定が肯定された場合、ステップ４０１Ａへ移行する。ステップ４０１Ａで、切替部１９Ｂは、アプリ動作状況管理テーブル５０６からアプリ２４毎に動作状況情報を取得し、その後、ステップ４０１Ｂへ移行する。
【０１４５】
ステップ４０１Ｂで、切替部１９Ｂは、ステップ４０１Ａで取得した動作状況情報と通信先切替ポリシ管理テーブル５０８とを照合し、通信先切替ポリシで“切替不可”と規定されているアプリ２４が処理部１６によって現在実行されているか否かを判定する。ステップ４０１Ｂにおいて、通信先切替ポリシで“切替不可”と規定されているアプリ２４が処理部１６によって現在実行されていない場合は、判定が否定されて、ステップ４０２へ移行する。ステップ４０１Ｂにおいて、通信先切替ポリシで“切替不可”と規定されているアプリ２４が処理部１６によって現在実行されている場合は、判定が肯定されて、ステップ４２８（図１２Ｂ参照）へ移行する。
【０１４６】
以上説明したように、スマートデバイス１１Ｂでは、不良型変動パターンの無線基地局から良好型変動パターンの無線基地局への切り替えは、処理部１６がＷｅｂサービスからログアウトしていることを条件に行われる。すなわち、ログイン中に通信先の切り替えは行われない。これにより、スマートデバイス１１Ｂは、ログイン中にアプリ２４の実行が滞ることを抑制することができる。よって、ログイン中のアプリ２４の動作停滞に伴ってＷｅｂサービスの利用が滞ることが原因でユーザに対して不快感を与えることを抑制することができる。
【０１４７】
なお、上記第３実施形態では、通信先切替ポリシによりログイン中の“切替不可”が規定されている場合、通信先を切り替えるための諸条件を満足していても通信先を切り替えない例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、通話中に、通信先を切り替えるための諸条件を満足した場合、ユーザに対して通信先の切り替えの許否を問い合わせ、問い合わせ後に受付部４６で許可指示が受け付けられた場合に通信先の切り替えを行うようにしてもよい。
【０１４８】
また、特定ブラウザの使用中に、通信先を切り替えるための諸条件を満足した場合、ユーザに対して通信先の切り替えの許否を問い合わせ、問い合わせ後に受付部４６で許可指示が受け付けられた場合に通信先の切り替えを行うようにしてもよい。また、特定ブラウザの使用中に、通信先を切り替えるための諸条件を満足した場合、無線通信中か否かに拘らず、通信先を良好型変動パターンの無線基地局に切り替えるようにしてもよい。
【０１４９】
通信先を切り替えるための諸条件を満足した場合に通信先を切り替えることを許可する許可条件は、上記以外にも様々な条件が考えられるが、何れにしても、通信先切替ポリシ管理テーブル５０８に通信先切替ポリシとして規定しておけばよい。また、通信先切替ポリシ管理テーブル５０８に記憶される通信先切替ポリシは、固定化されてもよいし、受付部４６によって受け付けられた指示に従ってカスタマイズされてもよい。
【０１５０】
上記各実施形態では、切替部１８が、測定部１４により測定された電波強度の変動パターンを電波強度の平均値及び分散に基づいて判定する場合を例示したが、開示の技術はこれに限定されるものではない。例えば、測定部１４により測定された電波強度が閾値を超えた頻度又は割合（例えば、電波強度が閾値を超えた時間／測定時間帯）を利用して電波強度の変動パターンを判定してもよい。この場合、例えば、電波強度が閾値を超えた割合が７０％以上の場合に電波強度の変動パターンを変動パターンＣであると判定する。また、電波強度が閾値を超えた割合が３０％未満の場合に電波強度の変動パターンを変動パターンＡであると判定する。また、電波強度が閾値を超えた割合が３０％以上７０％未満の場合に電波強度の変動パターンを変動パターンＢであると判定する。
【０１５１】
また、一例として図２２に示すように、理想的な変動パターンＣの電波強度を示す第１基準値Ｓｈｉｇｈ及び理想的な変動パターンＡの電波強度を示す第２基準値Ｓｌｏｗを予め設定しておき、数式（１）及び数式（２）に基づいて、変動パターンを判定してもよい。すなわち、数式（１）に示す大小関係が成立した場合に、電波強度の変動パターンが変動パターンＣであると判定する。また、数式（２）に示す大小関係が成立した場合に、電波強度の変動パターンが変動パターンＡであると判定する。また、数式（１）及び数式（２）に示す何れの大小関係も成立しない場合に、電波強度の変動パターンが変動パターンＢであると判定する。なお、数式（１）及び数式（２）において、Ｓｉとは、測定部１４により測定された電波強度の測定値を指す。また、ε０及びε１は、固定値であってもよいし、可変値であってもよい。
【０１５２】
【数１】
2015095678.tif 000003
【０１５３】
【数２】
2015095678.tif 000004
【０１５４】
上記各実施形態では、複数のＡＰ６０と３Ｇ基地局６２との間で通信先を切り替える例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、複数のＡＰ６０と３Ｇ基地局６２とＬＴＥ（４Ｇ）基地局との間で通信先を切り替えるようにしてもよい。また、複数のＡＰ６０の間で通信先を切り替えるようにしてもよい。また、複数のＡＰ６０とＬＴＥ基地局との間で通信先を切り替えるようにしてもよい。基地局間で通信先の切り替えが行われる場合、データフォワーディングなどが行われてセッションが維持されるが、セッション以外の準備処理（例えば、ＩＰアドレスの更新）も必要となり、準備処理のたびにアプリの動作停滞を招き、円滑な無線通信が困難となる。しかし、上記開示の技術（アプリが通信していない場合に通信先を電波良好型の無線基地局に切り替え、アプリが通信している場合に切り替えを抑制する技術）を適用することで、準備処理に伴うアプリの動作停滞が抑制され、円滑な無線通信が可能となる。
【０１５５】
上記各実施形態では、取得部２０がＧＰＳを利用して位置情報を取得する例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、受付部４６によって受け付けられた位置情報、外部インタフェース５４を介して入力された位置情報、又は無線基地局から送信された位置情報が取得部２０によって取得されるようにしてもよい。
【０１５６】
上記各実施形態では、スマートデバイス１０，１１Ａ，１１Ｂの二次記憶部３４の電波状態管理テーブル４４に電波状態情報を記憶する例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、インターネット回線６４に接続されているサーバの記憶領域に電波状態情報を記憶し、必要に応じてサーバから電波状態情報がスマートデバイス１０、１１Ａ，１１Ｂに提供されるようにしてもよい。
【０１５７】
上記各実施形態では、変動パターンＡ及び変動パターンＢを不良型変動パターンとし、変動パターンＣを良好型変動パターンとしたが、開示の技術はこれに限定されるものではない。例えば、３種類以上の変動パターンを不良型変動パターンとし、２種類以上の変動パターンを良好型変動パターンとしてもよい。
【０１５８】
上記各実施形態では、回線混雑度監視サーバ６８の二次記憶部９２に回線混雑度管理テーブル１００が記憶されている場合を例示したが、開示の技術はこれに限定されるものではない。例えば、スマートデバイス１０，１１Ａ，１１Ｂの二次記憶部３４に回線混雑度管理テーブル１００が記憶されていてもよい。
【０１５９】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【０１６０】
以上の実施形態に関し、更に以下の付記を開示する。
【０１６１】
（付記１）
複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定する測定部と、アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、前記測定部で測定された受信電波の強度の変動パターンに応じた切り替えを抑制する切替部と、を含む通信先切替装置。
【０１６２】
（付記２）
前記アプリケーションプログラムは、前記処理部によってフォアグラウンドで実行されるアプリケーションプログラムである付記１に記載の通信先切替装置。
【０１６３】
（付記３）
前記切替部は、前記測定部で測定された受信電波の強度の変動パターンに応じた切り替えを、前記アプリケーションプログラムの種類に応じて行う付記２に記載の通信先切替装置。
【０１６４】
（付記４）
前記切替部による切り替えは、異なる通信網に属する無線通信装置間での切り替えである付記１から付記３の何れか１つに記載の通信先切替装置。
【０１６５】
（付記５）
所在位置を示す位置情報を取得する取得部を更に含み、前記切替部は、更に、過去の所在位置毎に、且つ前記測定部による測定が行われた過去の測定時間帯毎に、前記測定部で測定された受信電波の強度の変動パターンの型を示す類型情報が前記複数の無線通信装置の各々と対応付けられて記憶された記憶部から、現在時刻に対応する時刻を含む前記測定時間帯及び前記取得部で取得された位置情報に対応する類型情報を取得し、前記処理部が無線通信中でない場合に、通信先としての無線通信装置を、取得した前記類型情報に応じて切り替える付記１から付記４の何れか１つに記載の通信先切替装置。
【０１６６】
（付記６）
前記切替部は、更に、前記アプリケーションプログラムの起動完了に伴って、現在時刻に対応する時刻を含む前記測定時間帯及び前記取得部で取得された位置情報に対応する前記類型情報を前記記憶部から取得し、前記処理部が無線通信中でない場合に、通信先としての無線通信装置を、取得した前記類型情報に対応する無線通信装置に切り替える付記５に記載の通信先切替装置。
【０１６７】
（付記７）
前記切替部は、通信先としての無線通信装置を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替えることを、無線通信装置の回線混雑度が所定条件を満たしたことを条件に行う付記１から付記６の何れか１つに記載の通信先切替装置。
【０１６８】
（付記８）
前記切替部は、前記通信先を、前記測定部で測定された受信電波の強度の変動パターンに応じて切り替えることを、前記アプリケーションプログラムの実行によりログインされる通信サービスからログアウトされていることを条件に行う付記１から付記６の何れか１つに記載の通信先切替装置。
【０１６９】
（付記９）
前記切替部は、前記測定部で測定された前記複数の無線通信装置の各々についての受信電波の強度の変動パターンを、前記測定部で測定された受信電波の強度の平均値及び分散に基づいて特定する付記１から付記８の何れか１つに記載の通信先切替装置。
【０１７０】
（付記１０）
複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定し、アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、測定した受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、測定した受信電波の強度の変動パターンに応じた切り替えを抑制することを含む通信先切替方法。
【０１７１】
（付記１１）
前記アプリケーションプログラムは、前記処理部によってフォアグラウンドで実行されるアプリケーションプログラムである付記１０に記載の通信先切替方法。
【０１７２】
（付記１２）
測定した受信電波の強度の変動パターンに応じた切り替えを、前記アプリケーションプログラムの種類に応じて行う付記１１に記載の通信先切替方法。
【０１７３】
（付記１３）
前記切り替えは、異なる通信網に属する無線通信装置間での切り替えである付記１０から付記１２の何れか１つに記載の通信先切替方法。
【０１７４】
（付記１４）
コンピュータに、複数の無線通信装置の各々から送信された電波であって、受信部で受信された受信電波の強度を測定し、アプリケーションプログラムの実行により無線通信を行う処理部が無線通信中でない場合、通信先としての無線通信装置を、測定した受信電波の強度の変動パターンに応じて切り替え、前記処理部が無線通信中の場合、測定した受信電波の強度の変動パターンに応じた切り替えを抑制することを含む処理を実行させるための通信先切替プログラム。
【０１７５】
（付記１５）
前記アプリケーションプログラムは、前記処理部によってフォアグラウンドで実行されるアプリケーションプログラムである付記１４に記載の通信先切替プログラム。
【０１７６】
（付記１６）
測定した受信電波の強度の変動パターンに応じた切り替えを、前記アプリケーションプログラムの種類に応じて行う付記１５に記載の通信先切替プログラム。
【０１７７】
（付記１７）
前記切り替えは、異なる通信網に属する無線通信装置間での切り替えである付記１４から付記１６の何れか１つに記載の通信先切替プログラム。
【符号の説明】
【０１７８】
１０，１１Ａ，１１Ｂ  スマートデバイス
１２  受信部
１３Ａ，１３Ｂ  通信先切替装置
１４  測定部
１６  処理部
１８，１９Ａ，１９Ｂ  切替部
２０  取得部
２２  記憶部
２４  アプリ
２６  無線通信装置
５０２  検出部
【図１】
2015095678.tif 000005
【図２】
2015095678.tif 000006
【図３】
2015095678.tif 000007
【図４Ａ】
2015095678.tif 000008
【図４Ｂ】
2015095678.tif 000009
【図４Ｃ】
2015095678.tif 000010
【図５】
2015095678.tif 000011
【図６】
2015095678.tif 000012
【図７】
2015095678.tif 000013
【図８】
2015095678.tif 000014
【図９】
2015095678.tif 000015
【図１０】
2015095678.tif 000016
【図１１】
2015095678.tif 000017
【図１２Ａ】
2015095678.tif 000018
【図１２Ｂ】
2015095678.tif 000019
【図１３】
2015095678.tif 000020
【図１４】
2015095678.tif 000021
【図１５】
2015095678.tif 000022
【図１６】
2015095678.tif 000023
【図１７】
2015095678.tif 000024
【図１８】
2015095678.tif 000025
【図１９】
2015095678.tif 000026
【図２０】
2015095678.tif 000027
【図２１】
2015095678.tif 000028
【図２２】
2015095678.tif 000029
【図２３】
2015095678.tif 000030