(57)【特許請求の範囲】
【請求項１】
通信環境に関する情報を取得するためのプログラムであって、
通信機能を有するコンピュータに、
画像を表示する表示手順と、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付手順と、
前記ユーザ指示によって指示された処理を実行する処理実行手順と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記コンピュータの位置情報を取得する位置情報取得手順を実行する手順と、
を実行させるためのプログラムであって、
前記通信環境に関する情報を取得するための処理以外の処理は、表示された前記画像の表示位置を変更する処理であり、
前記通信環境情報取得手順は、
前記画像の表示位置を変更する処理が、通信機能を利用しない処理である場合、前記通信環境に関する情報として、通信の可否、電波強度、通信方式及び通信キャリアからなる群から選択される少なくとも１つに関する情報を取得する手順と、
前記画像の表示位置を変更する処理が、通信機能を利用する処理である場合、前記通信環境に関する情報として、通信速度、データ通信のスループット、データ通信のレイテンシからなる群から選択される情報の少なくとも１つに関する情報を取得する手順と、
を含む、
プログラム。
【請求項２】
前記コンピュータに、
前記コンピュータとネットワークを介して接続されるサーバから取得した情報を、前記コンピュータのユーザが知覚することができる形態で出力する出力手順を、さらに実行させるためのプログラムであって、
前記通信環境に関する情報を取得するための処理以外の処理は、前記ユーザが指示した情報を、前記サーバから取得する処理であり、
前記通信環境情報取得手順は、
前記サーバに対して前記ユーザが指示した情報を送信するよう要求してから、前記ユーザが指示した情報を前記サーバから取得するまでの時間と、前記ユーザが指示した情報の情報量とに基づいて、前記通信環境に関する情報を取得する手順を含む、
請求項１に記載のプログラム。
【請求項３】
前記コンピュータに、
前記コンピュータの通信環境に関する情報と、前記コンピュータの位置情報とが対応づけられたログ情報を生成するログ情報生成手順を、さらに実行させるための、
請求項１又は請求項２に記載のプログラム。
【請求項４】
前記位置情報取得手順は、少なくともＧＰＳ情報に基づいて、前記コンピュータの位置情報と、ＧＰＳ精度に関する情報とを取得する手順を含み、
前記ログ情報は、前記ＧＰＳ精度に関する情報と、前記コンピュータの通信環境に関する情報と、前記コンピュータの位置情報とが対応づけられた情報である、
請求項３に記載のプログラム。
【請求項５】
前記コンピュータに、
前記コンピュータを識別する識別情報を取得する識別情報取得手順をさらに実行させるためのプログラムであって、
前記ログ情報は、前記識別情報と、前記コンピュータの通信環境に関する情報と、前記コンピュータの位置情報とが対応づけられた情報である、
請求項３又は請求項４に記載のプログラム。
【請求項６】
前記コンピュータに、
前記プログラムがバックグラウンドで動作を停止する状態において、前記コンピュータの位置の変化量が予め定められた値を超えたことを示す位置変更情報を取得する位置変更情報取得手順と、
前記位置変更情報を取得した場合に、前記プログラムがバックグラウンドで動作する状態に移行する移行手順と、
前記プログラムがバックグラウンドで動作する状態において、前記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順と、
をさらに実行させるための、
請求項１から請求項５までの何れか一項に記載のプログラム。
【請求項７】
前記コンピュータに、
前記プログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであって、前記コンピュータに前記通信環境情報取得手順を実行させるタイミングを、ランダムに決定する実行タイミング決定手順をさらに実行させるための、
請求項１から請求項６までの何れか一項に記載のプログラム。
【請求項８】
通信環境に関する情報を取得する情報処理装置であって、
画像を表示する出力部と、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付部と、
前記ユーザ指示によって指示された処理を実行する処理実行部と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記情報処理装置の通信環境に関する情報を取得する通信環境情報取得部と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記情報処理装置の位置情報を取得する位置情報取得部と、
を備え、
前記通信環境に関する情報を取得するための処理以外の処理は、前記出力部に表示された前記画像の表示位置を変更する処理であり、
前記通信環境情報取得部は、
前記画像の表示位置を変更する処理が、通信機能を利用しない処理である場合、前記通信環境に関する情報として、通信の可否、電波強度、通信方式及び通信キャリアからなる群から選択される少なくとも１つに関する情報を取得し、
前記画像の表示位置を変更する処理が、通信機能を利用する処理である場合、前記通信環境に関する情報として、通信速度、データ通信のスループット、データ通信のレイテンシからなる群から選択される情報の少なくとも１つに関する情報を取得する、
情報処理装置。
【請求項９】
情報処理装置の通信環境に関する情報を取得する方法であって、
画像を表示する段階と、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付段階と、
前記ユーザ指示によって指示された処理を実行する処理実行段階と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記情報処理装置の通信環境に関する情報を取得する通信環境情報取得段階と、
前記ユーザ指示を受け付けた場合又は前記ユーザ指示によって指示された処理が実行される場合に、前記情報処理装置の位置情報を取得する位置情報取得段階と、
を有し、
前記通信環境に関する情報を取得するための処理以外の処理は、表示された前記画像の表示位置を変更する処理であり、
前記通信環境情報取得段階は、
前記画像の表示位置を変更する処理が、通信機能を利用しない処理である場合、前記通信環境に関する情報として、通信の可否、電波強度、通信方式及び通信キャリアからなる群から選択される少なくとも１つに関する情報を取得する段階と、
前記画像の表示位置を変更する処理が、通信機能を利用する処理である場合、前記通信環境に関する情報として、通信速度、データ通信のスループット、データ通信のレイテンシからなる群から選択される情報の少なくとも１つに関する情報を取得する段階と、
を含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び方法に関する。
【背景技術】
【０００２】
携帯電話などの無線通信端末を利用して、移動体通信ネットワークの回線速度を測定することが知られている（例えば、特許文献１を参照。）。
（先行技術文献）
（特許文献）
（特許文献１）特開２００３−２４９８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、上記の測定方法によれば、ユーザがサーバにアクセスした特定の時刻及び特定の場所における回線速度を測定する。そのため、回線速度の情報を収集することができる時間及び場所が限定され、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができない。また、通信状況の経時変化などを把握することも難しい。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、通信環境に関する情報を取得するためのプログラムであって、通信機能を有するコンピュータに、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付手順と、ユーザ指示によって指示された処理を実行する処理実行手順と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、コンピュータの通信環境に関する情報を取得する通信環境情報取得手順と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、コンピュータの位置情報を取得する位置情報取得手順とを実行させるためのプログラムが提供される。
【０００５】
本発明の第２の態様においては、通信環境に関する情報を取得するためのプログラムであって、通信機能を有するコンピュータに、プログラムがバックグラウンドで動作を停止する状態において、コンピュータの位置の変化量が予め定められた値を超えたことを示す位置変更情報を取得する位置変更情報取得手順と、位置変更情報を取得した場合に、プログラムがバックグラウンドで動作する状態に移行する移行手順と、プログラムがバックグラウンドで動作する状態において、コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順とを実行させるためのプログラムが提供される。
【０００６】
本発明の第３の態様においては、通信環境に関する情報を取得するためのプログラムであって、通信機能を有するコンピュータに、コンピュータの通信環境に関する情報を取得する通信環境情報取得手順と、コンピュータの位置情報を取得する位置情報取得手順と、プログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであって、コンピュータに通信環境情報取得手順を実行させるタイミングを、ランダムに決定する実行タイミング決定手順とを実行させるためのプログラムが提供される。
【０００７】
本発明の第４の態様においては、通信環境に関する情報を取得する情報処理装置であって、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付部と、ユーザ指示によって指示された処理を実行する処理実行部と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、情報処理装置の通信環境に関する情報を取得する通信環境情報取得部と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、情報処理装置の位置情報を取得する位置情報取得部とを備える情報処理装置が提供される。
【０００８】
本発明の第５の態様においては、情報処理装置の通信環境に関する情報を取得する方法であって、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付段階と、ユーザ指示によって指示された処理を実行する処理実行段階と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、情報処理装置の通信環境に関する情報を取得する通信環境情報取得段階と、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、情報処理装置の位置情報を取得する位置情報取得段階とを有する方法が提供される。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】通信状況解析システム１００の一例を概略的に示す。
【図２】通信端末１１０の一例を概略的に示す。
【図３】ログ情報のデータテーブル３００の一例を概略的に示す。
【図４】通信端末１１０の動作の一例を概略的に示す。
【図５】通信端末１１０の動作の他の例を概略的に示す。
【図６】通信端末６１０の一例を概略的に示す。
【図７】通信端末６１０の動作の一例を概略的に示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明の（一）側面を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【００１２】
図１は、通信状況解析システム１００の一例を概略的に示す。本実施形態において、通信状況解析システム１００は、通信端末１１０と、情報収集サーバ１２０とを備える。通信状況解析システム１００及び通信端末１１０は、情報処理装置の一例であってよい。通信端末１１０は、通信機能を有するコンピュータの一例であってよい。
【００１３】
通信端末１１０及び情報収集サーバ１２０は、通信ネットワーク１０を介して情報を送受する。通信端末１１０及び情報提供サーバ２０は、通信ネットワーク１０を介して情報を送受する。通信ネットワーク１０は、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク１０は、携帯電話回線網などの移動体通信網、無線パケット通信網、インターネッ及び専用回線又はそれらの組み合わせであってもよい。
【００１４】
情報提供サーバ２０及び情報収集サーバ１２０のそれぞれは、一般的な構成の情報処理装置において、情報提供サーバ２０及び情報収集サーバ１２０のそれぞれの各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。情報提供サーバ２０及び情報収集サーバ１２０として用いられる情報処理装置は、ＣＰＵ等のプロセッサ、ＲＯＭ、ＲＡＭ、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカなどの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。情報提供サーバ２０及び情報収集サーバ１２０は、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
【００１５】
情報提供サーバ２０及び情報収集サーバ１２０のそれぞれは、仮想サーバ又はクラウドシステムであってもよい。また、情報提供サーバ２０及び情報収集サーバ１２０のそれぞれの機能が、複数のサーバによって実現されてもよい。
【００１６】
情報提供サーバ２０は、通信ネットワーク１０を介して、通信端末１１０に情報を提供することで、通信端末１１０のユーザにサービスを提供する。情報提供サーバ２０により提供されるサービスとしては、情報検索サービス、地図上でのナビゲーションサービス、メールサービス、映像・音楽データ配信サービス、電子書籍配信サービスなどを例示することができる。情報提供サーバ２０は、通信端末１１０から、通信端末１１０のユーザにより指定された情報に関する送信要求を受信する。情報提供サーバ２０は、通信端末１１０からの送信要求に応じて、通信端末１１０に情報を送信する。
【００１７】
通信端末１１０は、通信機能を有する。通信端末１１０は、無線通信機能を有してよい。通信端末１１０は、複数の通信方式に対応してもよい。例えば、通信端末１１０は、３Ｇ方式、ＬＴＥ方式、４Ｇ方式などの移動体通信方式と、ＷｉＦｉ（登録商標）、ＷｉＭＡＸ（登録商標）などの無線通信方式との両方の通信方式に対応する。通信端末１１０は、情報提供サーバ２０及び情報収集サーバ１２０と情報を送受することができる装置であればよく、Ｗｅｂブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末（ＰＤＡ、タブレット又はノートブック・コンピュータ若しくはラップトップ・コンピュータなどを例示することができる。）、無線端末などであってよい。
【００１８】
通信端末１１０は、一般的な構成の情報処理装置において、通信端末１１０の各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。通信端末１１０として用いられる情報処理装置は、ＣＰＵ等のプロセッサ、ＲＯＭ、ＲＡＭ、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイク、ＧＰＳ情報取得装置、加速度センサ、ジャイロセンサなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。通信端末１１０は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
【００１９】
通信端末１１０は、ユーザ指示を受け付け、ユーザ指示によって指示された処理を実行する。ユーザ指示は、通信端末１１０に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する指示であってよい。通信端末１１０は、ユーザ指示を受け付けた場合に、通信端末１１０の通信環境に関する情報（通信環境情報と称する場合がある。）と、通信環境情報を取得した位置を示す位置情報とを取得する。通信端末１１０は、ユーザ指示によって指示された処理が実行される場合に、通信環境情報及び位置情報を取得してもよい。位置情報は、緯度及び経度に関する情報であってよく、さらに高度に関する情報を含んでもよい。通信端末１１０は、少なくとも通信環境情報及び位置情報が対応付けられた情報（ログ情報と称する場合がある。）を、情報収集サーバ１２０に送信する。
【００２０】
通信環境情報としては、通信の可否、電波状況（電波受信レベル、電波強度、ＲＳＣＰ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｃｏｄｅ  Ｐｏｗｅｒ）、ＣＩＤ（Ｃｅｌｌ  ＩＤ）などを例示することができる。）、通信品質（通信速度、データ通信のスループット、データ通信のレイテンシなどを例示することができる。）、通信方式、通信キャリアなどに関する情報を例示することができる。通信環境情報は、電波に関連する情報以外のネットワークに関する情報を含んでもよい。通信の可否は、例えば、電波受信レベルが予め定められたレベルよりも小さい場合（例えば、圏外である場合）に、通信が可能でない（通信不可と称する場合がある。）と判断される。
【００２１】
ログ情報は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのＧＰＳ強度を示す情報及び通信端末１１０に関する情報の少なくとも１つとが対応づけられた情報であってもよい。通信端末１１０に関する情報としては、通信端末１１０のそれぞれを識別する端末識別情報、通信端末１１０の機種を示す情報、通信端末１１０のＯＳを示す情報などを例示することができる。
【００２２】
通信環境情報を取得した時刻を示す情報は、通信端末１１０が通信環境情報の取得処理を開始した時刻であってもよく、通信端末１１０が通信環境情報の取得処理を完了した時刻であってもよく、通信端末１１０がユーザ指示を受け付けた時刻であってもよい。端末識別情報は、コンピュータを識別する識別情報の一例であってよい。
【００２３】
端末識別情報は、通信端末１１０のそれぞれを識別することができる情報であれば特に限定されないが、ユーザを特定することなく、通信端末１１０を識別することができる情報であることが好ましい。これにより、情報収集サーバ１２０は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。
【００２４】
例えば、特定の通信端末１１０の端末識別情報として、ランダムに選択された符号列が付与される。符号列は、１以上の通信端末１１０のそれぞれに固有の符号列であってもよく、複数の通信端末１１０の間で再利用されてもよい。端末識別情報は、予め定められた期間ごとに更新されてもよく、任意のタイミングで更新されてもよい。
【００２５】
情報収集サーバ１２０は、１以上の通信端末１１０のそれぞれからログ情報を受け取る。情報収集サーバ１２０は、受け取ったログ情報を記憶装置に格納してよい。情報収集サーバ１２０は、ログ情報を用いて通信状況を解析してよい。
【００２６】
図２は、通信端末１１０の一例を概略的に示す。図２の説明において、図１に関連した説明と重複する部分については説明を省略する場合がある。本実施形態において、通信端末１１０は、入力部２１２と、処理実行部２１４と、環境情報取得部２１６と、位置情報取得部２１８と、出力部２２２と、識別情報取得部２２４と、ログ情報生成部２２６と、通信制御部２２８とを備える。通信端末１１０の各部は、互いに情報を送受する。
【００２７】
通信端末１１０の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末１１０の一部として機能してもよい。プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末１１０のコンピュータにインストールされてよい。
【００２８】
コンピュータを通信端末１１０の一部として機能させるプログラムは、通信端末１１０の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、ＧＰＳ情報取得装置等に働きかけて、コンピュータを通信端末１１０の各部として機能させたり、コンピュータに通信端末１１０における情報処理方法を実行させたりする。
【００２９】
これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、通信端末１１０の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた通信端末１１０を構築することができる。
【００３０】
入力部２１２は、ユーザから、ユーザ指示を受け付ける。入力部２１２は、キーボード、タッチパネル又はマイクであってよい。ユーザ指示は、通信端末１１０に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する。したがって、専ら回線速度又は通信速度を測定するための情報を取得することを要求する指示、専ら回線速度又は通信速度を測定するサービスを提供するサーバにアクセスすることを要求する指示などは、ユーザ指示に含まれない。入力部２１２は、ユーザ要求受付部の一例であってよい。
【００３１】
処理実行部２１４は、ユーザ指示によって指示された処理を実行する。ユーザ指示によって指示された処理は、通信機能を利用する処理であってもよく、通信機能を利用しない処理であってもよい。
【００３２】
ユーザ指示によって指示された処理は、通信端末１１０がユーザ指示を受け付けた時点で実行される処理であってもよい。ユーザ指示によって指示された処理は、ユーザの設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよく、通信端末１１０の初期設定又は通信端末１１０上で動作するプログラムの初期設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよい。
【００３３】
ユーザ指示によって指示された処理は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する処理であってよい。このような処理としては、通信端末１１０の表示画面をスクロールして、表示画面に表示される画像の表示位置を変更する処理、情報提供サーバ２０にアクセスして、情報提供サーバ２０からユーザが指示した情報を取得して、取得した情報を通信端末１１０の表示画面に表示する処理などを例示することができる。
【００３４】
ユーザ指示によって指示された処理は、通信端末１１０のボタンの押下又はスイッチの切替えに対応づけられた処理であってよい。ユーザ指示によって指示された処理は、通信端末１１０の電源をＯＦＦにする処理であってもよい。ユーザ指示によって指示された処理は、通信端末１１０からログオフする処理であってもよく、通信端末１１０をスリープ状態にする処理であってもよい。
【００３５】
環境情報取得部２１６は、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末１１０の通信環境情報を取得する。環境情報取得部２１６は、処理実行部２１４がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、通信環境情報を取得してもよい。環境情報取得部２１６は、予め定められた時刻に又は予め定められた時間が経過するごとに（通信環境情報を取得するタイミングと称する場合がある。）、通信環境情報を取得してもよい。
【００３６】
一実施形態によれば、入力部２１２がＧＰＳロガーの起動を指示するユーザ指示を受け付けた場合、環境情報取得部２１６は、ＧＰＳロガーが一定の時間間隔でログ情報を取得するたびに、通信環境情報を取得する。他の実施形態によれば、入力部２１２がメールソフトの起動を指示するユーザ指示を受け付けた場合、環境情報取得部２１６は、メールソフトがバックグラウンドでメールサーバにアクセスするたびに、通信環境情報を取得する。さらに他の実施形態によれば、入力部２１２が目覚まし機能の設定を指示するユーザ指示を受け付けた場合、環境情報取得部２１６は、目覚まし機能の設定時または作動時に、通信環境情報を取得する。
【００３７】
環境情報取得部２１６は、情報提供サーバ２０に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ２０から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。通信環境情報を取得する処理は、バックグラウンドで実行されてよい。
【００３８】
これにより、ユーザが通信端末１１０を操作している間に、通信環境情報を取得することができる。また、通信端末１１０が通信機能を利用しない処理を実行している場合であっても、通信環境情報を取得することができる。さらに、ユーザが通信環境情報を取得するために特別な操作を実施しなくても、通信環境情報を取得することができる。その結果、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
【００３９】
位置情報取得部２１８は、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末１１０の位置情報を取得する。位置情報取得部２１８は、処理実行部２１４がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、位置情報を取得してもよい。位置情報取得部２１８は、環境情報取得部２１６が通信環境情報を取得する場合に、位置情報を取得してよい。これにより、通信環境情報を位置情報に対応付けることができる。位置情報を取得する処理は、バックグラウンドで実行されてよい。
【００４０】
位置情報取得部２１８は、ＧＰＳ情報と、無線通信網又は移動体通信網のアクセスポイントからの電波情報との少なくとも一方の情報に基づいて、位置情報を取得してよい。位置情報取得部２１８は、ＧＰＳ情報取得装置であってもよく、通信端末１１０に配されたＧＰＳ情報取得装置から位置情報を取得してもよい。位置情報取得部２１８は、位置情報とともに、ＧＰＳ精度に関する情報を取得してもよい。
【００４１】
出力部２２２は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する。出力部２２２は、液晶ディスプレイ、有機ＥＬディスプレイなどの表示装置、スピーカなどの音声出力装置又はバイブレータなどの振動装置であってよい。
【００４２】
例えば、出力部２２２は、ユーザからの指示に応じて、画面上に画像を表示したり、画面上に表示される画像の表示位置を変更したりする。出力部２２２は、通信ネットワーク１０を介して情報提供サーバ２０から取得した情報又は通信端末１１０の記憶装置に格納されている情報に基づいて、画像を表示してよい。また、出力部２２２は、通信ネットワーク１０を介して情報提供サーバ２０から取得した情報又は通信端末１１０の記憶部に格納されている情報を、音声情報としてスピーカから出力してもよい。これにより、ユーザは、情報を知覚することができる。
【００４３】
一方、特定の処理がバックグラウンドで実行されている場合、当該処理で利用される情報は出力部２２２から、ユーザが知覚することができる形態で出力されない。そのため、ユーザは、情報を知覚することができない。
【００４４】
識別情報取得部２２４は、通信端末１１０のそれぞれを識別する端末識別情報を取得する。識別情報取得部２２４は、通信端末１１０のそれぞれに対する端末識別情報を生成してもよく、端末識別情報を情報収集サーバ１２０から受信してもよい。端末識別情報は、例えば乱数を用いてランダムに定められてもよい。端末識別情報は、予め定められた時刻に又は予め定められた時間が経過するごとに更新されてもよい。識別情報取得部２２４は、通信端末１１０の機種を示す情報、通信端末１１０のＯＳを示す情報などの通信端末１１０に関する情報を取得してもよい。
【００４５】
ログ情報生成部２２６は、環境情報取得部２１６から、通信環境情報を取得する。ログ情報生成部２２６は、環境情報取得部２１６から、通信環境情報を取得した時刻を示す情報を取得してよい。ログ情報生成部２２６は、位置情報取得部２１８から、通信環境情報を取得した位置を示す位置情報を取得する。ログ情報生成部２２６は、位置情報取得部２１８から、位置情報を取得したときのＧＰＳ精度に関する情報を取得してよい。ログ情報生成部２２６は、識別情報取得部２２４から端末識別情報を取得してよい。
【００４６】
ログ情報生成部２２６は、ログ情報を生成する。ログ情報生成部２２６は、少なくとも、通信環境情報と位置情報とを対応付けて、ログ情報を生成する。ログ情報生成部２２６は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのＧＰＳ強度を示す情報及び通信端末１１０に関する情報の少なくとも１つとが対応づけて、ログ情報を生成してよい。ログ情報を生成する処理はバックグラウンドで実行されてよい。
【００４７】
ログ情報生成部２２６は、通信環境情報に含まれるデータ通信のレイテンシに関する情報に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してよい。例えば、レイテンシが予め定められた値より小さい場合、ログ情報生成部２２６は、環境情報取得部２１６が取得した通信環境情報は、通信端末１１０が第１の通信方式（ＬＴＥ方式、４Ｇ方式などを例示することができる。）により通信していた場合の情報であると判断する。一方、レイテンシが予め定められた値以上である場合、ログ情報生成部２２６は、環境情報取得部２１６が取得した通信環境情報は、通信端末１１０が第２の通信方式（３Ｇ方式などを例示することができる。）により通信していた場合の情報であると判断する。ログ情報生成部２２６は、通信環境情報が取得されたときに使用されていた通信方式に関する情報と、通信環境情報及び位置情報とを対応付けて、ログ情報を生成してよい。
【００４８】
ログ情報生成部２２６は、通信端末１１０上で動作するＯＳの内部関数を取得してよい。ログ情報生成部２２６は、取得した内部関数に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してもよい。
【００４９】
ログ情報生成部２２６は、入力部２１２がユーザ指示を受け付けるごとに、ログ情報を生成してよい。ログ情報生成部２２６は、ユーザ指示によって指示された処理が実行されるごとに、ログ情報を生成してよい。ログ情報生成部２２６は、予め定められた時刻に又は予め定められた時間が経過するごとに（ログ情報を生成するタイミングと称する場合がある。）、ログ情報を生成してもよい。ログ情報を生成するタイミングは、通信環境情報を取得するタイミングとほぼ同一であってもよく、異なってもよい。
【００５０】
ログ情報生成部２２６は、生成されたログ情報を情報収集サーバ１２０に送信してよい。ログ情報生成部２２６は、ログ情報が生成されるごとに、ログ情報を情報収集サーバ１２０に送信してもよい。ログ情報生成部２２６は、予め定められた時刻に又は予め定められた時間が経過するごとに（ログ情報を送信するタイミングと称する場合がある。）、生成したログ情報を情報収集サーバ１２０に送信してよい。ログ情報を送信するタイミングは、ログ情報を生成するタイミングとほぼ同一であってもよく、異なってもよい。
【００５１】
ログ情報生成部２２６は、通信端末１１０の起動時、通信端末１１０のスリープ状態からの復帰時及びコンピュータを通信端末１１０の一部として機能させるためのプログラムの起動時の少なくとも一方のタイミングにおいて、生成したログ情報を情報収集サーバ１２０に送信してもよい。ログ情報生成部２２６は、ログ情報を送信してから、次回のログ情報を送信するまでの間、生成したログ情報を格納しておいてよい。
【００５２】
通信制御部２２８は、通信端末１１０と、通信ネットワーク１０、情報提供サーバ２０及び情報収集サーバ１２０との間の通信を制御する。通信制御部２２８は、通信インターフェースであってよい。通信制御部２２８は、複数の通信方式に対応していてもよい。
【００５３】
本実施形態において、情報収集サーバ１２０が情報提供サーバ２０とは異なるサーバであり、通信端末１１０が通信環境情報を情報収集サーバ１２０に送信する場合について説明した。しかし、通信状況解析システム１００は本実施形態に限定されない。他の実施形態によれば、通信端末１１０は、通信環境情報を情報提供サーバ２０に送信する。情報提供サーバ２０は、通信端末１１０から受け取った通信環境情報を記憶装置に格納する。情報収集サーバ１２０は、情報提供サーバ２０に格納された通信環境情報に基づいて、通信状況を解析する。また、通信端末１１０の各部の機能は厳密に区別されるものではなく、通信端末１１０の各部の機能は上記の実施形態に限定されない。
【００５４】
以上の実施形態においては、通信端末１１０が、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けた場合に、通信環境情報及び位置情報を取得することで、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する場合について説明した。しかしながら、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する方法は、上記の実施形態に限定されない。
【００５５】
他の実施形態において、通信端末１１０は、ユーザから、処理を開始する旨の入力を受け付けた後、予め定められた時刻に又は予め定められた時間が経過するごとに、通信環境に関する情報を自動的に取得してよい。ユーザは、通信環境情報を取得するたびに、通信環境情報を取得するための操作を実施する必要がないので、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
【００５６】
この場合において、通信端末１１０は、通信環境情報を取得するごとに、通信環境情報を情報収集サーバ１２０に送信してよい。通信端末１１０は、取得した通信環境情報を記憶しておき、予め定められた条件に従って、記憶した通信環境情報を情報収集サーバ１２０に送信してもよい。例えば、予め定められた条件としては、通信環境情報の取得回数が予め定められた回数に到達した場合、記憶した通信環境情報の情報量が予め定められた容量に到達した場合、予め定められた時刻に到達した場合、予め定められた時間が経過した場合などを例示することができる。通信端末１１０は、情報収集サーバ１２０に通信環境情報を送信するタイミングにおいて、通信を実施することができない場合、取得した通信環境情報を送信せずに記憶しておき、次回の送信のタイミングにおいて送信してもよい。
【００５７】
図３は、ログ情報のデータテーブル３００の一例を概略的に示す。データテーブル３００は、端末ＩＤ３１０と、通信環境情報が取得された日時３２０に関する情報と、通信環境情報が取得された位置を示す位置情報３３０と、位置情報３３０が取得されたときのＧＰＳ精度３４０に関する情報と、通信環境情報３５０とを対応付けて格納する。通信環境情報３５０は、通信可否３５２に関する情報と、データ通信のスループット３５４に関する情報と、データ通信のレイテンシ３５６に関する情報とを含んでよい。端末ＩＤ３１０は、コンピュータを識別する識別情報の一例であってよい。
【００５８】
本実施形態において、端末ＩＤ３１０は、ランダムに選択された符号列であり、１日おきに更新される。これにより、情報収集サーバ１２０は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。
【００５９】
図４は、通信端末１１０の動作の一例を概略的に示す。図４を用いて、ユーザ指示により指示された処理が通信機能を利用しない処理であり、通信端末１１０が情報提供サーバ２０にアクセスしない場合に、通信端末１１０がログ情報を生成する動作について説明する。
【００６０】
本実施形態によれば、ステップ４０２（ステップをＳと省略して表記する場合がある。）において、入力部２１２が、ユーザから、通信端末１１０の操作に関するユーザ指示を受け付ける。例えば、画面をスクロールさせるためのユーザ指示を受け付ける。Ｓ４０４において、処理実行部２１４が、ユーザ指示により指示された操作に応じた処理を実行する。
【００６１】
一方、Ｓ４１２において、Ｓ４０４のバックグラウンドで、環境情報取得部２１６が通信環境情報を取得する。ユーザ指示により指示された処理が通信機能を利用しない処理である場合、環境情報取得部２１６は、少なくとも、通信の可否に関する情報を取得する。可能であれば、環境情報取得部２１６は、電波強度、通信方式及び通信キャリアの少なくとも１つに関する情報を取得してよい。
【００６２】
Ｓ４１４において、Ｓ４０４のバックグラウンドで、位置情報取得部２１８が位置情報を取得する。Ｓ４１４の後、Ｓ４１６において、Ｓ４０４のバックグラウンドで、ログ情報生成部２２６がログ情報を生成して処理を終了する。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
【００６３】
図５は、通信端末１１０の動作の他の例を概略的に示す。図５を用いて、ユーザ指示により指示された処理が通信機能を利用する処理であり、通信端末１１０が情報提供サーバ２０にアクセスして情報を取得する場合に、通信端末１１０がログ情報を生成する動作について説明する。
【００６４】
本実施形態によれば、Ｓ５０２において、入力部２１２が、ユーザから、情報提供サーバ２０にアクセスして、情報提供サーバ２０からユーザが指示した情報を取得するためのユーザ指示を受け付ける。例えば、検索条件に一致する飲食店に関する情報を取得するためのユーザ指示を受け付ける。Ｓ５０４において、処理実行部２１４が、ユーザ指示により指示された処理を実行して、情報提供サーバ２０から該当するコンテンツをダウンロードする。
【００６５】
Ｓ５０６において、環境情報取得部２１６が通信環境情報を取得する。Ｓ５０６の処理は、バックグラウンドで実行されてよい。環境情報取得部２１６は、少なくとも通信の可否に関する情報を取得する。ユーザ指示により指示された処理が通信機能を利用する処理である場合、環境情報取得部２１６は、さらに、電波状況、電波強度、通信速度、データ通信のスループット、データ通信のレイテンシ、通信方式及び通信キャリアの少なくとも１つに関する情報を取得してよい。環境情報取得部２１６は、情報提供サーバ２０に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ２０から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。
【００６６】
一方、Ｓ５１２において、Ｓ５０４及びＳ５０６の少なくとも一方のバックグラウンドで、位置情報取得部２１８が位置情報を取得する。Ｓ５０６及びＳ５１２の後、Ｓ５２０において、ログ情報生成部２２６がログ情報を生成して処理を終了する。Ｓ５２０の処理は、バックグラウンドで実行されてよい。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
【００６７】
図６は、通信端末６１０の一例を概略的に示す。通信端末６１０は、通信端末１１０に代わって又は通信端末１１０とともに、通信状況解析システム１００の一部を構成してよい。通信端末６１０は、プログラム管理部６３２、移行判断部６３４及びタイミング決定部６３６を備える点で、通信端末１１０と相違する。通信端末６１０は、上記の相違点以外の点については、通信端末１１０と同様の構成を有してよい。
【００６８】
通信端末１１０に関連して、環境情報取得部２１６は、通信環境を取得する処理をバックグラウンドで実行してもよく、位置情報取得部２１８は、位置情報を取得する処理をバックグラウンドで実行してもよい旨を説明した。しかし、通信端末のＯＳ（Operating System）によっては、バックウラウンド状態におけるプログラムの動作を制限している場合がある。
【００６９】
例えば、Ａｐｐｌｅ社が提供するｉＯＳ（商標）においては、フォアグラウンド状態及びバックグラウンド状態のそれぞれに、２つの起動状態が存在する。具体的には、フォアグラウンド状態には、プログラムはフォアグラウンドにあるが、利用されていない状態（Ｉｎａｃｔｉｖｅと称される場合がある。）と、プログラムがフォアグラウンドにあり、利用されている状態（Ａｃｔｉｖｅと称される場合がある。）という２つの起動状態がある。バックグラウンド状態には、プログラムはバックグラウンドにあるが、まだ動作している状態（Ｂａｃｋｇｒｏｕｎｄ又はＢａｃｋｇｏｒｕｎｄ  Ｒｕｎｎｉｎｇと称される場合がある。）と、プログラムがバックグラウンドにあり、動作していない状態（Ｓｕｓｐｅｎｄｅｄと称される場合がある）という２つの起動状態がある。
【００７０】
ｉＯＳにおいては、プログラムの起動状態が「Ｂａｃｋｇｒｏｕｎｄ  Ｒｕｎｎｉｎｇ」に移行した後、予め定められた時間が経過すると、一部の例外的な処理を除いて、強制的に、プログラムの起動状態を「Ｓｕｓｐｅｎｄｅｄ」に移行させる。プログラムの起動状態が「Ｓｕｓｐｅｎｄｅｄ」になると、当該プログラムは処理を続行することができなくなるので、例えば、環境情報取得部２１６を実現するためのプログラムの起動状態が「Ｓｕｓｐｅｎｄｅｄ」になると、通信環境を取得する処理をバックグラウンドで実行することができなくなる。
【００７１】
通信端末６１０によれば、ＯＳによって、バックウラウンド状態におけるプログラムの動作が制限される場合であっても、通信端末６１０の位置が予め定められた程度を超えて変化した場合に、通信環境を取得する処理を実行することができる情報処理装置、方法及びプログラムが提供される。この場合において、通信端末６１０は、通信環境を取得する処理をバックグラウンドで実行してもよい。
【００７２】
通信端末６１０の各部は、通信端末１１０の各部と同様に、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末６１０の一部として機能してもよい。プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末６１０のコンピュータにインストールされてよい。通信端末６１０は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。
【００７３】
プログラム管理部６３２は、通信端末６１０上で動作するプログラムの起動状態を管理する。本実施形態において、プログラム管理部６３２は、通信端末６１０の通信環境に関する情報を取得するためのプログラムの起動状態を管理する。通信端末６１０の通信環境に関する情報を取得するためのプログラムは、通信端末６１０のコンピュータを、少なくとも環境情報取得部２１６として機能させるためのプログラムであってよい。通信端末６１０の通信環境に関する情報を取得するためのプログラムは、通信端末６１０のコンピュータを、通信端末６１０の各部として機能させるためのプログラムであってもよい。プログラム管理部６３２は、通信端末６１０のＯＳによって提供される機能の一部であってもよく、通信端末６１０のＯＳのモジュールが、通信端末６１０のコンピュータに読み込まれることにより、プログラム管理部６３２として機能してよい。
【００７４】
プログラム管理部６３２は、予め定められた種類のイベントが発生したことを示す情報を取得した場合に、バックグラウンドで動作を停止している１以上のプログラムに対して、当該イベントが発生したことを示す情報を送信する。プログラム管理部６３２は、上記の情報を受信したプログラムから、当該プログラムの起動状態を変更するための要求を受信すると、当該要求に応じて、当該プログラムの起動状態を変更する。プログラム管理部６３２は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
【００７５】
本実施形態において、プログラム管理部６３２は、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報を取得した場合に、バックグラウンドで動作を停止している１以上のプログラムに対して、当該情報又は当該情報を取得したことを示す情報（これらの情報は、位置変更情報の一例であってよい。）を送信する。プログラム管理部６３２は、上記の情報を受信した１以上のプログラムのいずれかから、当該プログラムの起動状態を変更するための要求を受信すると、当該プログラムの起動状態を変更する。これにより、例えば、通信端末６１０の通信環境に関する情報を取得するためのプログラムは、「Ｓｕｓｐｅｎｄｅｄ」のように、プログラムがバックグラウンドで動作を停止する状態から、「Ｂａｃｋｇｒｏｕｎｄ  Ｒｕｎｎｉｎｇ」のように、プログラムがバックグラウンドで動作する状態に移行する。
【００７６】
プログラム管理部６３２は、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報を、通信ネットワーク１０を介して外部のサーバ（図示していない。）から取得してもよい。例えば、通信端末６１０は、通信端末６１０上で動作するプログラムの起動状態に関わらず、基地局又はアクセスポイント（基地局等と称する場合がある。）からの電波を受信している。基地局等からの電波には、基地局又はアクセスポイントを識別する識別情報が含まれる。通信端末６１０は、基地局識別情報と当該基地局の位置情報とを対応付けて格納しているサーバに対して、基地局からの電波に含まれる基地局識別情報を定期的に送信する。
【００７７】
サーバは、通信端末６１０の位置の変化が予め定められた条件を満足した場合に、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報を、通信端末６１０に送信する。プログラム管理部６３２は、例えば通信制御部２２８を介して、上記の情報を取得する。これにより、通信端末６１０の消費電力を抑制しながら、通信端末６１０の位置が大幅に変更した場合に、特定のプログラムの起動状態を変更することができる。
【００７８】
本実施形態においては、プログラム管理部６３２が、外部のサーバから、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報を取得する場合について説明した。しかし、プログラム管理部６３２は本実施形態に限定されない。例えば、プログラム管理部６３２は、位置情報取得部２１８から通信端末６１０の位置情報を取得して、通信端末６１０の位置の変化量が予め定められた値を超えたか否かを判断する。プログラム管理部６３２は、通信端末６１０の位置の変化量が予め定められた値を超えたと判断した場合、バックグラウンドで動作を停止している１以上のプログラムに対して、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報（当該情報は、位置変更情報の一例であってよい。）を送信してもよい。
【００７９】
移行判断部６３４は、プログラム管理部６３２からイベントが発生したことを示す情報を受信する。移行判断部６３４は、プログラムの起動状態を移行させるか否かを判断する。移行判断部６３４は、受信した情報に含まれる上記のイベントが、プログラムの起動状態を移行させるための予め定められたイベントである場合に、プログラムの起動状態を移行させることを決定する。移行判断部６３４は、プログラムの起動状態を移行させることを決定すると、プログラム管理部６３２に対して、プログラムの起動状態を移行させるための要求を送信する。移行判断部６３４は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
【００８０】
本実施形態において、移行判断部６３４は、通信端末６１０の通信環境に関する情報を取得するためのプログラムのモジュールであり、プログラム管理部６３２から、予め定められた種類のイベントが発生したことを示す情報を受信すると、通信端末６１０の通信環境に関する情報を取得するためのプログラムの起動状態を移行させるか否かを判断する。移行判断部６３４は、プログラム管理部６３２から受信した情報に、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報又は当該情報を取得したことを示す情報が含まれている場合に、通信端末６１０の通信環境に関する情報を取得するためのプログラムの起動状態を、バックグラウンドで動作を停止する状態から、バックグラウンドで動作する状態に移行させることを決定する。
【００８１】
本実施形態によれば、通信端末６１０の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作を停止する状態になっている場合であっても、当該プログラムは、通信端末６１０がある程度の距離を移動した場合には、バックグラウンドで動作する状態に移行することができる。これにより、通信端末６１０は、通信環境に関する情報を取得する処理をバックグラウンドで実行することができる。
【００８２】
タイミング決定部６３６は、通信端末６１０が、通信端末６１０の通信環境に関する情報を取得する処理を実行するタイミングを決定する。タイミング決定部６３６によって決定されるタイミングは、通信端末６１０の通信環境に関する情報を取得するためのプログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであってよい。
【００８３】
タイミング決定部６３６は、予め定められた規則に従って、上記のタイミングを決定してよい。一実施形態において、タイミング決定部６３６は、乱数表、乱数発生アルゴリズムなどを用いて、上記のタイミングをランダムに決定してよい。これにより、データの偏りを防止することができる。他の実施形態において、タイミング決定部６３６は、上記のタイミングを決定するごとに、決定されたタイミングを記憶しておき、上記のプログラムがバックグラウンドで動作する状態に移行した後、通信環境に関する情報を取得する処理を実行するまでの時間が予め定められた分布に従うように、上記のタイミングを決定してよい。これにより、データの偏りを防止しつつ、データの用途に応じたデータを収集することができる。
【００８４】
図７は、通信端末６１０の動作の一例を概略的に示す。本実施形態において、通信端末６１０の通信環境に関する情報を取得するためのプログラムが、通信端末６１０のコンピュータを、入力部２１２、処理実行部２１４、環境情報取得部２１６、位置情報取得部２１８、出力部２２２、識別情報取得部２２４、ログ情報生成部２２６、移行判断部６３４及びタイミング決定部６３６として機能させ、通信端末６１０のＯＳが、通信端末６１０のコンピュータを、通信制御部２２８及びプログラム管理部６３２として機能させる場合を例として、通信端末６１０の各部の動作について説明する。
【００８５】
ステップ７０２（ステップをＳと表記する場合がある。）において、通信端末６１０の通信環境に関する情報を取得するためのプログラムは、フォアグラウンドで処理を実行する。例えば、入力部２１２は、ユーザ指示を受け付けるユーザ指示受付手順を実行する。処理実行部２１４は、ユーザ指示によって指示された処理を実行する処理実行手順を実行する。環境情報取得部２１６は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末６１０の通信環境に関する情報を取得する通信環境情報取得手順を実行する。また、位置情報取得部２１８は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末６１０の位置情報を取得する位置情報取得手順を実行する。
【００８６】
Ｓ７０４において、プログラム管理部６３２は、入力部２１２が、ユーザから、通信端末６１０の通信環境に関する情報を取得するためのプログラムをバックグラウンド状態に移行させるための移行指示を受信したか否かを判断する。ここで、バックグラウンド状態とは、「Ｂａｃｋｇｒｏｕｎｄ  Ｒｕｎｎｉｎｇ」のようなバックグラウンドで動作する状態と、「Ｓｕｓｐｅｎｄｅｄ」のようなバックグラウンドで動作を停止する状態とを含む。
【００８７】
Ｓ７０４において、プログラム管理部６３２が、ユーザからの移行指示を受信したと判断した場合（Ｓ７０４のＹｅｓの場合）、Ｓ７０６において、プログラム管理部６３２は、通信端末６１０の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。Ｓ７０８において、タイミング決定部６３６は、環境情報取得部２１６が通信端末６１０の通信環境に関する情報を取得する処理を実行するタイミングを決定する。
【００８８】
Ｓ７１０において、環境情報取得部２１６は、タイミング決定部６３６によって決定されたタイミングで、通信端末６１０の通信環境に関する情報を取得する処理をバックグラウンドで実行する。Ｓ７１０の処理において取得される通信環境情報としては、通信の可否及び電波状況（電波受信レベル、電波強度、ＲＳＣＰ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｃｏｄｅ  Ｐｏｗｅｒ）、ＣＩＤ（Ｃｅｌｌ  ＩＤ）などを例示することができる。）、通信方式、通信キャリアなどに関する情報を例示することができる。なお、環境情報取得部２１６が処理を実行するタイミングにおいて、位置情報取得部２１８、識別情報取得部２２４及びログ情報生成部２２６も、それぞれの処理を実行してよい。
【００８９】
Ｓ７１２において、プログラム管理部６３２は、通信端末６１０の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作する状態に移行した後、予め定められた時間が経過したか否かを判断する。Ｓ７１２において、プログラム管理部６３２が、予め定められた時間が経過したと判断した場合（Ｓ７１２のＹｅｓの場合）、Ｓ７１４において、プログラム管理部６３２は、通信端末６１０の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させる。
【００９０】
Ｓ７１６において、プログラム管理部６３２は、予め定められた種類のイベントの発生を検知すると、当該イベントが発生したことを示す情報を移行判断部６３４に送信する。本実施形態において、プログラム管理部６３２は、外部のサーバ（図示していない。）から、通信ネットワーク１０及び通信制御部２２８を介して、通信端末６１０の位置の変化量が予め定められた値を超えたことを示す情報を受信して、当該情報又は当該情報を取得したことを示す情報を移行判断部６３４に送信する。
【００９１】
移行判断部６３４は、通信端末６１０の通信環境に関する情報を取得するためのプログラムがバックグラウンドで動作を停止する状態において、予め定められた種類のイベントが発生したことを示す情報を取得する。移行判断部６３４が、プログラム管理部６３２から受信した情報に含まるイベントが、プログラムの起動状態を移行させるための予め定められたイベントであると判断した場合（Ｓ７１６のＹｅｓの場合）、移行判断部６３４は、プログラム管理部６３２に対して、プログラムの起動状態を移行させるための要求を送信する。プログラムの起動状態を移行させるための予め定められたイベントは、通信端末６１０の位置の変化量が予め定められた値を超えたことであってよい。プログラム管理部６３２は、プログラムの起動状態を移行させるための要求を受信すると、通信端末６１０の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。
【００９２】
一方、移行判断部６３４が、プログラムの起動状態を移行させるための予め定められたイベントが発生していないと判断した場合（Ｓ７１６のＮｏの場合）、Ｓ７１８の処理に進む。Ｓ７１８において、プログラム管理部６３２は、入力部２１２が、ユーザから、通信端末６１０の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させるための移行指示を受信したか否かを判断する。
【００９３】
Ｓ７１８において、プログラム管理部６３２が、ユーザからの移行指示を受信したと判断した場合（Ｓ７１８のＹｅｓの場合）、通信端末６１０の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させる。一方、Ｓ７１８において、プログラム管理部６３２が、ユーザからの移行指示を受信していないと判断した場合（Ｓ７１８のＮｏの場合）、Ｓ７２０の処理に進む。
【００９４】
Ｓ７２０において、プログラム管理部６３２は、入力部２１２が、ユーザから、通信端末６１０の通信環境に関する情報を取得するためのプログラムの終了指示を受信したか否かを判断する。Ｓ７２０において、プログラム管理部６３２が、ユーザからの終了指示を受信したと判断した場合（Ｓ７２０のＹｅｓの場合）、プログラム管理部６３２が、通信端末６１０の通信環境に関する情報を取得するためのプログラムを終了させて、処理を完了する。
【００９５】
本実施形態においては、Ｓ７０４において、プログラム管理部６３２が、ユーザからの移行指示を受信したと判断した場合、Ｓ７０６において、プログラム管理部６３２が、通信端末６１０の通信環境に関する情報を取得するためのプログラムを、一旦、バックグラウンドで動作する状態に移行させ、通信端末６１０が、Ｓ７０８〜Ｓ７１２における処理を実行する場合について説明した。しかし、通信端末６１０の動作は、本実施形態に限定されない。他の実施形態において、Ｓ７０４において、プログラム管理部６３２が、ユーザからの移行指示を受信したと判断した場合、Ｓ７０８〜Ｓ７１２の処理をスキップして、プログラム管理部６３２が、通信端末６１０の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させてもよい。
【００９６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９８】
１０  通信ネットワーク、２０  情報提供サーバ、１００  通信状況解析システム、１１０  通信端末、１２０  情報収集サーバ、２１２  入力部、２１４  処理実行部、２１６  環境情報取得部、２１８  位置情報取得部、２２２  出力部、２２４  識別情報取得部、２２６  ログ情報生成部、２２８  通信制御部、３００  データテーブル、３１０  端末ＩＤ、３２０  日時、３３０  位置情報、３４０  ＧＰＳ精度、３５０  通信環境情報、３５２  通信可否、３５４  スループット、３５６  レイテンシ、６１０  通信端末、６３２  プログラム管理部、６３４  移行判断部、６３６  タイミング決定部
【図１】
0005632032.tif 000002
【図２】
0005632032.tif 000003
【図３】
0005632032.tif 000004
【図４】
0005632032.tif 000005
【図５】
0005632032.tif 000006
【図６】
0005632032.tif 000007
【図７】
0005632032.tif 000008