以下、発明の実施の形態を通じて本発明の(一)側面を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一又は類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
図1は、通信状況解析システム100の一例を概略的に示す。本実施形態において、通信状況解析システム100は、通信端末110と、情報収集サーバ120とを備える。通信状況解析システム100及び通信端末110は、情報処理装置の一例であってよい。通信端末110は、通信機能を有するコンピュータの一例であってよい。
通信端末110及び情報収集サーバ120は、通信ネットワーク10を介して情報を送受する。通信端末110及び情報提供サーバ20は、通信ネットワーク10を介して情報を送受する。通信ネットワーク10は、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、携帯電話回線網などの移動体通信網、無線パケット通信網、インターネッ及び専用回線又はそれらの組み合わせであってもよい。
情報提供サーバ20及び情報収集サーバ120のそれぞれは、一般的な構成の情報処理装置において、情報提供サーバ20及び情報収集サーバ120のそれぞれの各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。情報提供サーバ20及び情報収集サーバ120として用いられる情報処理装置は、CPU等のプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカなどの出力装置と、メモリ、HDDなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。情報提供サーバ20及び情報収集サーバ120は、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
情報提供サーバ20及び情報収集サーバ120のそれぞれは、仮想サーバ又はクラウドシステムであってもよい。また、情報提供サーバ20及び情報収集サーバ120のそれぞれの機能が、複数のサーバによって実現されてもよい。
情報提供サーバ20は、通信ネットワーク10を介して、通信端末110に情報を提供することで、通信端末110のユーザにサービスを提供する。情報提供サーバ20により提供されるサービスとしては、情報検索サービス、地図上でのナビゲーションサービス、メールサービス、映像・音楽データ配信サービス、電子書籍配信サービスなどを例示することができる。情報提供サーバ20は、通信端末110から、通信端末110のユーザにより指定された情報に関する送信要求を受信する。情報提供サーバ20は、通信端末110からの送信要求に応じて、通信端末110に情報を送信する。
通信端末110は、通信機能を有する。通信端末110は、無線通信機能を有してよい。通信端末110は、複数の通信方式に対応してもよい。例えば、通信端末110は、3G方式、LTE方式、4G方式などの移動体通信方式と、WiFi(登録商標)、WiMAX(登録商標)などの無線通信方式との両方の通信方式に対応する。通信端末110は、情報提供サーバ20及び情報収集サーバ120と情報を送受することができる装置であればよく、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末(PDA、タブレット又はノートブック・コンピュータ若しくはラップトップ・コンピュータなどを例示することができる。)、無線端末などであってよい。
通信端末110は、一般的な構成の情報処理装置において、通信端末110の各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。通信端末110として用いられる情報処理装置は、CPU等のプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイク、GPS情報取得装置、加速度センサ、ジャイロセンサなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、HDDなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。通信端末110は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
通信端末110は、ユーザ指示を受け付け、ユーザ指示によって指示された処理を実行する。ユーザ指示は、通信端末110に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する指示であってよい。通信端末110は、ユーザ指示を受け付けた場合に、通信端末110の通信環境に関する情報(通信環境情報と称する場合がある。)と、通信環境情報を取得した位置を示す位置情報とを取得する。通信端末110は、ユーザ指示によって指示された処理が実行される場合に、通信環境情報及び位置情報を取得してもよい。位置情報は、緯度及び経度に関する情報であってよく、さらに高度に関する情報を含んでもよい。通信端末110は、少なくとも通信環境情報及び位置情報が対応付けられた情報(ログ情報と称する場合がある。)を、情報収集サーバ120に送信する。
通信環境情報としては、通信の可否、電波状況(電波受信レベル、電波強度、RSCP(Received Signal Code Power)、CID(Cell ID)などを例示することができる。)、通信品質(通信速度、データ通信のスループット、データ通信のレイテンシなどを例示することができる。)、通信方式、通信キャリアなどに関する情報を例示することができる。通信環境情報は、電波に関連する情報以外のネットワークに関する情報を含んでもよい。通信の可否は、例えば、電波受信レベルが予め定められたレベルよりも小さい場合(例えば、圏外である場合)に、通信が可能でない(通信不可と称する場合がある。)と判断される。
ログ情報は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのGPS強度を示す情報及び通信端末110に関する情報の少なくとも1つとが対応づけられた情報であってもよい。通信端末110に関する情報としては、通信端末110のそれぞれを識別する端末識別情報、通信端末110の機種を示す情報、通信端末110のOSを示す情報などを例示することができる。
通信環境情報を取得した時刻を示す情報は、通信端末110が通信環境情報の取得処理を開始した時刻であってもよく、通信端末110が通信環境情報の取得処理を完了した時刻であってもよく、通信端末110がユーザ指示を受け付けた時刻であってもよい。端末識別情報は、コンピュータを識別する識別情報の一例であってよい。
端末識別情報は、通信端末110のそれぞれを識別することができる情報であれば特に限定されないが、ユーザを特定することなく、通信端末110を識別することができる情報であることが好ましい。これにより、情報収集サーバ120は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。
例えば、特定の通信端末110の端末識別情報として、ランダムに選択された符号列が付与される。符号列は、1以上の通信端末110のそれぞれに固有の符号列であってもよく、複数の通信端末110の間で再利用されてもよい。端末識別情報は、予め定められた期間ごとに更新されてもよく、任意のタイミングで更新されてもよい。
情報収集サーバ120は、1以上の通信端末110のそれぞれからログ情報を受信する。情報収集サーバ120は、受け取ったログ情報を記憶装置に格納してよい。情報収集サーバ120は、ログ情報を用いて通信状況を解析してよい。
図2は、通信端末110の一例を概略的に示す。図2の説明において、図1に関連した説明と重複する部分については説明を省略する場合がある。本実施形態において、通信端末110は、入力部212と、処理実行部214と、環境情報取得部216と、位置情報取得部218と、出力部222と、識別情報取得部224と、ログ情報生成部226と、通信制御部228とを備える。通信端末110の各部は、互いに情報を送受する。
通信端末110の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末110の一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末110のコンピュータにインストールされてよい。
コンピュータを通信端末110の一部として機能させるプログラムは、通信端末110の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、GPS情報取得装置等に働きかけて、コンピュータを通信端末110の各部として機能させたり、コンピュータに通信端末110における情報処理方法を実行させたりする。
これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、通信端末110の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた通信端末110を構築することができる。
入力部212は、ユーザから、ユーザ指示を受け付ける。入力部212は、キーボード、タッチパネル又はマイクであってよい。ユーザ指示は、通信端末110に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する。したがって、専ら回線速度又は通信速度を測定するための情報を取得することを要求する指示、専ら回線速度又は通信速度を測定するサービスを提供するサーバにアクセスすることを要求する指示などは、ユーザ指示に含まれない。入力部212は、ユーザ要求受付部の一例であってよい。
処理実行部214は、ユーザ指示によって指示された処理を実行する。ユーザ指示によって指示された処理は、通信機能を利用する処理であってもよく、通信機能を利用しない処理であってもよい。
ユーザ指示によって指示された処理は、通信端末110がユーザ指示を受け付けた時点で実行される処理であってもよい。ユーザ指示によって指示された処理は、ユーザの設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよく、通信端末110の初期設定又は通信端末110上で動作するプログラムの初期設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよい。
ユーザ指示によって指示された処理は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する処理であってよい。このような処理としては、通信端末110の表示画面をスクロールして、表示画面に表示される画像の表示位置を変更する処理、情報提供サーバ20にアクセスして、情報提供サーバ20からユーザが指示した情報を取得して、取得した情報を通信端末110の表示画面に表示する処理などを例示することができる。
ユーザ指示によって指示された処理は、通信端末110のボタンの押下又はスイッチの切替えに対応づけられた処理であってよい。ユーザ指示によって指示された処理は、通信端末110の電源をOFFにする処理であってもよい。ユーザ指示によって指示された処理は、通信端末110からログオフする処理であってもよく、通信端末110をスリープ状態にする処理であってもよい。
環境情報取得部216は、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末110の通信環境情報を取得する。環境情報取得部216は、処理実行部214がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、通信環境情報を取得してもよい。環境情報取得部216は、予め定められた時刻に又は予め定められた時間が経過するごとに(通信環境情報を取得するタイミングと称する場合がある。)、通信環境情報を取得してもよい。
一実施形態によれば、入力部212がGPSロガーの起動を指示するユーザ指示を受け付けた場合、環境情報取得部216は、GPSロガーが一定の時間間隔でログ情報を取得するたびに、通信環境情報を取得する。他の実施形態によれば、入力部212がメールソフトの起動を指示するユーザ指示を受け付けた場合、環境情報取得部216は、メールソフトがバックグラウンドでメールサーバにアクセスするたびに、通信環境情報を取得する。さらに他の実施形態によれば、入力部212が目覚まし機能の設定を指示するユーザ指示を受け付けた場合、環境情報取得部216は、目覚まし機能の設定時または作動時に、通信環境情報を取得する。
環境情報取得部216は、情報提供サーバ20に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ20から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。通信環境情報を取得する処理は、バックグラウンドで実行されてよい。
これにより、ユーザが通信端末110を操作している間に、通信環境情報を取得することができる。また、通信端末110が通信機能を利用しない処理を実行している場合であっても、通信環境情報を取得することができる。さらに、ユーザが通信環境情報を取得するために特別な操作を実施しなくても、通信環境情報を取得することができる。その結果、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
位置情報取得部218は、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末110の位置情報を取得する。位置情報取得部218は、処理実行部214がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、位置情報を取得してもよい。位置情報取得部218は、環境情報取得部216が通信環境情報を取得する場合に、位置情報を取得してよい。これにより、通信環境情報を位置情報に対応付けることができる。位置情報を取得する処理は、バックグラウンドで実行されてよい。
位置情報取得部218は、GPS情報と、無線通信網又は移動体通信網のアクセスポイントからの電波情報との少なくとも一方の情報に基づいて、位置情報を取得してよい。位置情報取得部218は、GPS情報取得装置であってもよく、通信端末110に配されたGPS情報取得装置から位置情報を取得してもよい。位置情報取得部218は、位置情報とともに、GPS精度に関する情報を取得してもよい。
出力部222は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する。出力部222は、液晶ディスプレイ、有機ELディスプレイなどの表示装置、スピーカなどの音声出力装置又はバイブレータなどの振動装置であってよい。
例えば、出力部222は、ユーザからの指示に応じて、画面上に画像を表示したり、画面上に表示される画像の表示位置を変更したりする。出力部222は、通信ネットワーク10を介して情報提供サーバ20から取得した情報又は通信端末110の記憶装置に格納されている情報に基づいて、画像を表示してよい。また、出力部222は、通信ネットワーク10を介して情報提供サーバ20から取得した情報又は通信端末110の記憶部に格納されている情報を、音声情報としてスピーカから出力してもよい。これにより、ユーザは、情報を知覚することができる。
一方、特定の処理がバックグラウンドで実行されている場合、当該処理で利用される情報は出力部222から、ユーザが知覚することができる形態で出力されない。そのため、ユーザは、情報を知覚することができない。
識別情報取得部224は、通信端末110のそれぞれを識別する端末識別情報を取得する。識別情報取得部224は、通信端末110のそれぞれに対する端末識別情報を生成してもよく、端末識別情報を情報収集サーバ120から受信してもよい。端末識別情報は、例えば乱数を用いてランダムに定められてもよい。端末識別情報は、予め定められた時刻に又は予め定められた時間が経過するごとに更新されてもよい。識別情報取得部224は、通信端末110の機種を示す情報、通信端末110のOSを示す情報などの通信端末110に関する情報を取得してもよい。
ログ情報生成部226は、環境情報取得部216から、通信環境情報を取得する。ログ情報生成部226は、環境情報取得部216から、通信環境情報を取得した時刻を示す情報を取得してよい。ログ情報生成部226は、位置情報取得部218から、通信環境情報を取得した位置を示す位置情報を取得する。ログ情報生成部226は、位置情報取得部218から、位置情報を取得したときのGPS精度に関する情報を取得してよい。ログ情報生成部226は、識別情報取得部224から端末識別情報を取得してよい。
ログ情報生成部226は、ログ情報を生成する。ログ情報生成部226は、少なくとも、通信環境情報と位置情報とを対応付けて、ログ情報を生成する。ログ情報生成部226は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのGPS強度を示す情報及び通信端末110に関する情報の少なくとも1つとが対応づけて、ログ情報を生成してよい。ログ情報を生成する処理はバックグラウンドで実行されてよい。
ログ情報生成部226は、通信環境情報に含まれるデータ通信のレイテンシに関する情報に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してよい。例えば、レイテンシが予め定められた値より小さい場合、ログ情報生成部226は、環境情報取得部216が取得した通信環境情報は、通信端末110が第1の通信方式(LTE方式、4G方式などを例示することができる。)により通信していた場合の情報であると判断する。一方、レイテンシが予め定められた値以上である場合、ログ情報生成部226は、環境情報取得部216が取得した通信環境情報は、通信端末110が第2の通信方式(3G方式などを例示することができる。)により通信していた場合の情報であると判断する。ログ情報生成部226は、通信環境情報が取得されたときに使用されていた通信方式に関する情報と、通信環境情報及び位置情報とを対応付けて、ログ情報を生成してよい。
ログ情報生成部226は、通信端末110上で動作するOSの内部関数を取得してよい。ログ情報生成部226は、取得した内部関数に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してもよい。
ログ情報生成部226は、入力部212がユーザ指示を受け付けるごとに、ログ情報を生成してよい。ログ情報生成部226は、ユーザ指示によって指示された処理が実行されるごとに、ログ情報を生成してよい。ログ情報生成部226は、予め定められた時刻に又は予め定められた時間が経過するごとに(ログ情報を生成するタイミングと称する場合がある。)、ログ情報を生成してもよい。ログ情報を生成するタイミングは、通信環境情報を取得するタイミングとほぼ同一であってもよく、異なってもよい。
ログ情報生成部226は、生成されたログ情報を情報収集サーバ120に送信してよい。ログ情報生成部226は、ログ情報が生成されるごとに、ログ情報を情報収集サーバ120に送信してもよい。ログ情報生成部226は、予め定められた時刻に又は予め定められた時間が経過するごとに(ログ情報を送信するタイミングと称する場合がある。)、生成したログ情報を情報収集サーバ120に送信してよい。ログ情報を送信するタイミングは、ログ情報を生成するタイミングとほぼ同一であってもよく、異なってもよい。
ログ情報生成部226は、通信端末110の起動時、通信端末110のスリープ状態からの復帰時及びコンピュータを通信端末110の一部として機能させるためのプログラムの起動時の少なくとも一方のタイミングにおいて、生成したログ情報を情報収集サーバ120に送信してもよい。ログ情報生成部226は、ログ情報を送信してから、次回のログ情報を送信するまでの間、生成したログ情報を格納しておいてよい。
通信制御部228は、通信端末110と、通信ネットワーク10、情報提供サーバ20及び情報収集サーバ120との間の通信を制御する。通信制御部228は、通信インターフェースであってよい。通信制御部228は、複数の通信方式に対応していてもよい。
本実施形態において、情報収集サーバ120が情報提供サーバ20とは異なるサーバであり、通信端末110が通信環境情報を情報収集サーバ120に送信する場合について説明した。しかし、通信状況解析システム100は本実施形態に限定されない。他の実施形態によれば、通信端末110は、通信環境情報を情報提供サーバ20に送信する。情報提供サーバ20は、通信端末110から受け取った通信環境情報を記憶装置に格納する。情報収集サーバ120は、情報提供サーバ20に格納された通信環境情報に基づいて、通信状況を解析する。また、通信端末110の各部の機能は厳密に区別されるものではなく、通信端末110の各部の機能は上記の実施形態に限定されない。
以上の実施形態においては、通信端末110が、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けた場合に、通信環境情報及び位置情報を取得することで、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する場合について説明した。しかしながら、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する方法は、上記の実施形態に限定されない。
他の実施形態において、通信端末110は、ユーザから、処理を開始する旨の入力を受け付けた後、予め定められた時刻に又は予め定められた時間が経過するごとに、通信環境に関する情報を自動的に取得してよい。ユーザは、通信環境情報を取得するたびに、通信環境情報を取得するための操作を実施する必要がないので、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
この場合において、通信端末110は、通信環境情報を取得するごとに、通信環境情報を情報収集サーバ120に送信してよい。通信端末110は、取得した通信環境情報を記憶しておき、予め定められた条件に従って、記憶した通信環境情報を情報収集サーバ120に送信してもよい。例えば、予め定められた条件としては、通信環境情報の取得回数が予め定められた回数に到達した場合、記憶した通信環境情報の情報量が予め定められた容量に到達した場合、予め定められた時刻に到達した場合、予め定められた時間が経過した場合などを例示することができる。通信端末110は、情報収集サーバ120に通信環境情報を送信するタイミングにおいて、通信を実施することができない場合、取得した通信環境情報を送信せずに記憶しておき、次回の送信のタイミングにおいて送信してもよい。
図3は、ログ情報のデータテーブル300の一例を概略的に示す。データテーブル300は、端末ID310と、通信環境情報が取得された日時320に関する情報と、通信環境情報が取得された位置を示す位置情報330と、位置情報330が取得されたときのGPS精度340に関する情報と、通信環境情報350とを対応付けて格納する。通信環境情報350は、通信可否352に関する情報と、データ通信のスループット354に関する情報と、データ通信のレイテンシ356に関する情報とを含んでよい。端末ID310は、コンピュータを識別する識別情報の一例であってよい。
本実施形態において、端末ID310は、ランダムに選択された符号列であり、例えば1日おきに更新される。これにより、情報収集サーバ120は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。なお、端末ID310は、予め定められた期間ごとに更新されてもよく、外部からの信号に基づいて更新されてもよい。
図4は、通信端末110の動作の一例を概略的に示す。図4を用いて、ユーザ指示により指示された処理が通信機能を利用しない処理であり、通信端末110が情報提供サーバ20にアクセスしない場合に、通信端末110がログ情報を生成する動作について説明する。
本実施形態によれば、ステップ402(ステップをSと省略して表記する場合がある。)において、入力部212が、ユーザから、通信端末110の操作に関するユーザ指示を受け付ける。例えば、画面をスクロールさせるためのユーザ指示を受け付ける。S404において、処理実行部214が、ユーザ指示により指示された操作に応じた処理を実行する。
一方、S412において、S404のバックグラウンドで、環境情報取得部216が通信環境情報を取得する。ユーザ指示により指示された処理が通信機能を利用しない処理である場合、環境情報取得部216は、少なくとも、通信の可否に関する情報を取得する。可能であれば、環境情報取得部216は、電波強度、通信方式及び通信キャリアの少なくとも1つに関する情報を取得してよい。
S414において、S404のバックグラウンドで、位置情報取得部218が位置情報を取得する。S414の後、S416において、S404のバックグラウンドで、ログ情報生成部226がログ情報を生成して処理を終了する。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
図5は、通信端末110の動作の他の例を概略的に示す。図5を用いて、ユーザ指示により指示された処理が通信機能を利用する処理であり、通信端末110が情報提供サーバ20にアクセスして情報を取得する場合に、通信端末110がログ情報を生成する動作について説明する。
本実施形態によれば、S502において、入力部212が、ユーザから、情報提供サーバ20にアクセスして、情報提供サーバ20からユーザが指示した情報を取得するためのユーザ指示を受け付ける。例えば、検索条件に一致する飲食店に関する情報を取得するためのユーザ指示を受け付ける。S504において、処理実行部214が、ユーザ指示により指示された処理を実行して、情報提供サーバ20から該当するコンテンツをダウンロードする。
S506において、環境情報取得部216が通信環境情報を取得する。S506の処理は、バックグラウンドで実行されてよい。環境情報取得部216は、少なくとも通信の可否に関する情報を取得する。ユーザ指示により指示された処理が通信機能を利用する処理である場合、環境情報取得部216は、さらに、電波状況、電波強度、通信速度、データ通信のスループット、データ通信のレイテンシ、通信方式及び通信キャリアの少なくとも1つに関する情報を取得してよい。環境情報取得部216は、情報提供サーバ20に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ20から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。
一方、S512において、S504及びS506の少なくとも一方のバックグラウンドで、位置情報取得部218が位置情報を取得する。S506及びS512の後、S520において、ログ情報生成部226がログ情報を生成して処理を終了する。S520の処理は、バックグラウンドで実行されてよい。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
図6は、通信端末610の一例を概略的に示す。通信端末610は、通信端末110に代わって又は通信端末110とともに、通信状況解析システム100の一部を構成してよい。通信端末610は、プログラム管理部632、移行判断部634及びタイミング決定部636を備える点で、通信端末110と相違する。通信端末610は、上記の相違点以外の点については、通信端末110と同様の構成を有してよい。
通信端末110に関連して、環境情報取得部216は、通信環境を取得する処理をバックグラウンドで実行してもよく、位置情報取得部218は、位置情報を取得する処理をバックグラウンドで実行してもよい旨を説明した。しかし、通信端末のOS(Operating System)によっては、バックウラウンド状態におけるプログラムの動作を制限している場合がある。
例えば、Apple社が提供するiOS(商標)においては、フォアグラウンド状態及びバックグラウンド状態のそれぞれに、2つの起動状態が存在する。具体的には、フォアグラウンド状態には、プログラムはフォアグラウンドにあるが、利用されていない状態(Inactiveと称される場合がある。)と、プログラムがフォアグラウンドにあり、利用されている状態(Activeと称される場合がある。)という2つの起動状態がある。バックグラウンド状態には、プログラムはバックグラウンドにあるが、まだ動作している状態(Background又はBackgorund Runningと称される場合がある。)と、プログラムがバックグラウンドにあり、動作していない状態(Suspendedと称される場合がある)という2つの起動状態がある。
iOSにおいては、プログラムの起動状態が「Background Running」に移行した後、予め定められた時間が経過すると、一部の例外的な処理を除いて、強制的に、プログラムの起動状態を「Suspended」に移行させる。プログラムの起動状態が「Suspended」になると、当該プログラムは処理を続行することができなくなるので、例えば、環境情報取得部216を実現するためのプログラムの起動状態が「Suspended」になると、通信環境を取得する処理をバックグラウンドで実行することができなくなる。
通信端末610によれば、OSによって、バックウラウンド状態におけるプログラムの動作が制限される場合であっても、通信端末610の位置が予め定められた程度を超えて変化した場合に、通信環境を取得する処理を実行することができる情報処理装置、方法及びプログラムが提供される。この場合において、通信端末610は、通信環境を取得する処理をバックグラウンドで実行してもよい。
通信端末610の各部は、通信端末110の各部と同様に、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末610の一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末610のコンピュータにインストールされてよい。通信端末610は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。
プログラム管理部632は、通信端末610上で動作するプログラムの起動状態を管理する。本実施形態において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を管理する。通信端末610の通信環境に関する情報を取得するためのプログラムは、通信端末610のコンピュータを、少なくとも環境情報取得部216として機能させるためのプログラムであってよい。通信端末610の通信環境に関する情報を取得するためのプログラムは、通信端末610のコンピュータを、通信端末610の各部として機能させるためのプログラムであってもよい。プログラム管理部632は、通信端末610のOSによって提供される機能の一部であってもよく、通信端末610のOSのモジュールが、通信端末610のコンピュータに読み込まれることにより、プログラム管理部632として機能してよい。
プログラム管理部632は、予め定められた種類のイベントが発生したことを示す情報を取得した場合に、バックグラウンドで動作を停止している1以上のプログラムに対して、当該イベントが発生したことを示す情報を送信する。プログラム管理部632は、上記の情報を受信したプログラムから、当該プログラムの起動状態を変更するための要求を受信すると、当該要求に応じて、当該プログラムの起動状態を変更する。プログラム管理部632は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
本実施形態において、プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を取得した場合に、バックグラウンドで動作を停止している1以上のプログラムに対して、当該情報又は当該情報を取得したことを示す情報(これらの情報は、位置変更情報の一例であってよい。)を送信する。プログラム管理部632は、上記の情報を受信した1以上のプログラムのいずれかから、当該プログラムの起動状態を変更するための要求を受信すると、当該プログラムの起動状態を変更する。これにより、例えば、通信端末610の通信環境に関する情報を取得するためのプログラムは、「Suspended」のように、プログラムがバックグラウンドで動作を停止する状態から、「Background Running」のように、プログラムがバックグラウンドで動作する状態に移行する。
プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を、通信ネットワーク10を介して外部のサーバ(図示していない。)から取得してもよい。例えば、通信端末610は、通信端末610上で動作するプログラムの起動状態に関わらず、基地局又はアクセスポイント(基地局等と称する場合がある。)からの電波を受信している。基地局等からの電波には、基地局又はアクセスポイントを識別する識別情報が含まれる。通信端末610は、基地局識別情報と当該基地局の位置情報とを対応付けて格納しているサーバに対して、基地局からの電波に含まれる基地局識別情報を定期的に送信する。
サーバは、通信端末610の位置の変化が予め定められた条件を満足した場合に、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を、通信端末610に送信する。プログラム管理部632は、例えば通信制御部228を介して、上記の情報を取得する。これにより、通信端末610の消費電力を抑制しながら、通信端末610の位置が大幅に変更した場合に、特定のプログラムの起動状態を変更することができる。
本実施形態においては、プログラム管理部632が、外部のサーバから、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を取得する場合について説明した。しかし、プログラム管理部632は本実施形態に限定されない。例えば、プログラム管理部632は、位置情報取得部218から通信端末610の位置情報を取得して、通信端末610の位置の変化量が予め定められた値を超えたか否かを判断する。プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたと判断した場合、バックグラウンドで動作を停止している1以上のプログラムに対して、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報(当該情報は、位置変更情報の一例であってよい。)を送信してもよい。
移行判断部634は、プログラム管理部632からイベントが発生したことを示す情報を受信する。移行判断部634は、プログラムの起動状態を移行させるか否かを判断する。移行判断部634は、受信した情報に含まれる上記のイベントが、プログラムの起動状態を移行させるための予め定められたイベントである場合に、プログラムの起動状態を移行させることを決定する。移行判断部634は、プログラムの起動状態を移行させることを決定すると、プログラム管理部632に対して、プログラムの起動状態を移行させるための要求を送信する。移行判断部634は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
本実施形態において、移行判断部634は、通信端末610の通信環境に関する情報を取得するためのプログラムのモジュールであり、プログラム管理部632から、予め定められた種類のイベントが発生したことを示す情報を受信すると、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を移行させるか否かを判断する。移行判断部634は、プログラム管理部632から受信した情報に、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報又は当該情報を取得したことを示す情報が含まれている場合に、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を、バックグラウンドで動作を停止する状態から、バックグラウンドで動作する状態に移行させることを決定する。
本実施形態によれば、通信端末610の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作を停止する状態になっている場合であっても、当該プログラムは、通信端末610がある程度の距離を移動した場合には、バックグラウンドで動作する状態に移行することができる。これにより、通信端末610は、通信環境に関する情報を取得する処理をバックグラウンドで実行することができる。
タイミング決定部636は、通信端末610が、通信端末610の通信環境に関する情報を取得する処理を実行するタイミングを決定する。タイミング決定部636によって決定されるタイミングは、通信端末610の通信環境に関する情報を取得するためのプログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであってよい。
タイミング決定部636は、予め定められた規則に従って、上記のタイミングを決定してよい。一実施形態において、タイミング決定部636は、乱数表、乱数発生アルゴリズムなどを用いて、上記のタイミングをランダムに決定してよい。これにより、データの偏りを防止することができる。他の実施形態において、タイミング決定部636は、上記のタイミングを決定するごとに、決定されたタイミングを記憶しておき、上記のプログラムがバックグラウンドで動作する状態に移行した後、通信環境に関する情報を取得する処理を実行するまでの時間が予め定められた分布に従うように、上記のタイミングを決定してよい。これにより、データの偏りを防止しつつ、データの用途に応じたデータを収集することができる。
図7は、通信端末610の動作の一例を概略的に示す。本実施形態において、通信端末610の通信環境に関する情報を取得するためのプログラムが、通信端末610のコンピュータを、入力部212、処理実行部214、環境情報取得部216、位置情報取得部218、出力部222、識別情報取得部224、ログ情報生成部226、移行判断部634及びタイミング決定部636として機能させ、通信端末610のOSが、通信端末610のコンピュータを、通信制御部228及びプログラム管理部632として機能させる場合を例として、通信端末610の各部の動作について説明する。
ステップ702(ステップをSと表記する場合がある。)において、通信端末610の通信環境に関する情報を取得するためのプログラムは、フォアグラウンドで処理を実行する。例えば、入力部212は、ユーザ指示を受け付けるユーザ指示受付手順を実行する。処理実行部214は、ユーザ指示によって指示された処理を実行する処理実行手順を実行する。環境情報取得部216は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末610の通信環境に関する情報を取得する通信環境情報取得手順を実行する。また、位置情報取得部218は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末610の位置情報を取得する位置情報取得手順を実行する。
S704において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムをバックグラウンド状態に移行させるための移行指示を受信したか否かを判断する。ここで、バックグラウンド状態とは、「Background Running」のようなバックグラウンドで動作する状態と、「Suspended」のようなバックグラウンドで動作を停止する状態とを含む。
S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合(S704のYesの場合)、S706において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。S708において、タイミング決定部636は、環境情報取得部216が通信端末610の通信環境に関する情報を取得する処理を実行するタイミングを決定する。
S710において、環境情報取得部216は、タイミング決定部636によって決定されたタイミングで、通信端末610の通信環境に関する情報を取得する処理をバックグラウンドで実行する。S710の処理において取得される通信環境情報としては、通信の可否及び電波状況(電波受信レベル、電波強度、RSCP(Received Signal Code Power)、CID(Cell ID)などを例示することができる。)、通信方式、通信キャリアなどに関する情報を例示することができる。なお、環境情報取得部216が処理を実行するタイミングにおいて、位置情報取得部218、識別情報取得部224及びログ情報生成部226も、それぞれの処理を実行してよい。
S712において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作する状態に移行した後、予め定められた時間が経過したか否かを判断する。S712において、プログラム管理部632が、予め定められた時間が経過したと判断した場合(S712のYesの場合)、S714において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させる。
S716において、プログラム管理部632は、予め定められた種類のイベントの発生を検知すると、当該イベントが発生したことを示す情報を移行判断部634に送信する。本実施形態において、プログラム管理部632は、外部のサーバ(図示していない。)から、通信ネットワーク10及び通信制御部228を介して、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を受信して、当該情報又は当該情報を取得したことを示す情報を移行判断部634に送信する。
移行判断部634は、通信端末610の通信環境に関する情報を取得するためのプログラムがバックグラウンドで動作を停止する状態において、予め定められた種類のイベントが発生したことを示す情報を取得する。移行判断部634が、プログラム管理部632から受信した情報に含まるイベントが、プログラムの起動状態を移行させるための予め定められたイベントであると判断した場合(S716のYesの場合)、移行判断部634は、プログラム管理部632に対して、プログラムの起動状態を移行させるための要求を送信する。プログラムの起動状態を移行させるための予め定められたイベントは、通信端末610の位置の変化量が予め定められた値を超えたことであってよい。プログラム管理部632は、プログラムの起動状態を移行させるための要求を受信すると、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。
一方、移行判断部634が、プログラムの起動状態を移行させるための予め定められたイベントが発生していないと判断した場合(S716のNoの場合)、S718の処理に進む。S718において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させるための移行指示を受信したか否かを判断する。
S718において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合(S718のYesの場合)、通信端末610の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させる。一方、S718において、プログラム管理部632が、ユーザからの移行指示を受信していないと判断した場合(S718のNoの場合)、S720の処理に進む。
S720において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムの終了指示を受信したか否かを判断する。S720において、プログラム管理部632が、ユーザからの終了指示を受信したと判断した場合(S720のYesの場合)、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを終了させて、処理を完了する。
本実施形態においては、S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合、S706において、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを、一旦、バックグラウンドで動作する状態に移行させ、通信端末610が、S708〜S712における処理を実行する場合について説明した。しかし、通信端末610の動作は、本実施形態に限定されない。他の実施形態において、S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合、S708〜S712の処理をスキップして、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させてもよい。
図8は、通信端末810の一例を概略的に示す。通信端末810は、通信端末110及び通信端末610に代わって又はこれらの通信端末とともに、通信状況解析システム100の一部を構成してよい。通信端末810は、属性解析部832、解析情報格納部834及び出力制御部836を備える点で、通信端末110と相違する。通信端末810は、上記の相違点以外の点については、通信端末110と同様の構成を有してよい。通信端末810及び属性解析部832のそれぞれは、属性解析装置の一例であってよい。
属性解析部832は、通信端末810の操作履歴及び通信端末810の移動履歴の少なくとも一方を解析して、通信端末810のユーザの属性を決定する。属性解析部832は、通信端末810の操作履歴及び通信端末810の移動履歴の少なくとも一方を解析して、予め定められた1以上の属性パターンのうち、通信端末810のユーザの属性に合致する属性パターンを決定してよい。
通信端末810の操作履歴は、通信端末810が受け付けたユーザからの指示の履歴であってよい。通信端末810の操作履歴としては、ブラウザの閲覧履歴、インターネット上での検索履歴、Webサイトへのアクセス履歴、オンラインショッピングの購買履歴、入力部212への入力履歴、電源のON/OFF、マナーモードのON/OFF、通信方式の変更などを例示することができる。
通信端末810の移動履歴は、位置情報取得部218により取得された通信端末810の位置情報の履歴であってよい。通信端末810の移動履歴は、特定の位置における移動速度及び移動の方向の履歴であってもよい。通信端末810の移動履歴は、通信端末810のユーザが滞在した施設の履歴であってもよい。通信端末810のユーザが滞在した施設の履歴は、当該施設の属性と対応付けられてよい。通信端末810の位置情報が、予め定められた時間を超えて、予め定められた地理的範囲内に収まっている場合、通信端末810のユーザが当該地理的範囲に存在する施設に滞在していると判断してよい。施設としては、店舗、イベント会場、鉄道の路線、空港、港、高速道路などを例示することができる。1以上のログ情報は、移動履歴の一例であってよい。
解析情報格納部834は、属性解析部832における属性の解析に用いられる情報を格納する。解析情報格納部834は、属性解析部832における属性の解析の過程で生成された情報を格納してもよい。解析情報格納部834は、属性解析部832におけるユーザの属性の解析結果を格納してもよい。解析情報格納部834は、出現情報格納部及び属性情報格納部の少なくとも一方の一例であってよい。
ユーザの属性の解析結果は、予め定められた1以上の属性パターンのそれぞれについて、通信端末810のユーザの属性に合致するか否かを示す情報であってよい。ユーザの属性の解析結果は、通信端末810のユーザの属性に合致すると判断された属性パターンを識別する情報であってもよい。
出力制御部836は、出力部222を制御する。出力制御部836は、通信端末810の他の構成要素から、出力部222に出力すべき情報を受信する。出力制御部836は、受信した情報の属性と、解析情報格納部834に格納されているユーザの属性の解析結果とに基づいて、受信した情報の出力方法を制御する。
出力制御部836は、受信した情報を解析して、当該情報の属性を決定してよい。例えば、出力制御部836は、受信した情報から、当該情報の属性を示す情報を抽出することで、当該情報の属性を決定する。出力制御部836は、受信した情報の内容、受信した情報の送信元などに基づいて、当該情報の属性を決定してもよい。受信した情報の内容としては、テキストの内容、画像又は映像の色、画像又は映像に含まれる人物又は物の特徴、音声データの内容などを例示することができる。出力制御部836は、個人情報を特定することなく、当該情報の属性を決定することが好ましい。
一実施形態において、出力制御部836は、受信した情報の属性と、解析情報格納部834に格納されているユーザの属性の解析結果とに基づいて、受信した情報を出力部222に出力するか否かを決定する。例えば、出力制御部836は、受信した情報の属性と、通信端末810のユーザの属性とを比較して、両者が一致又は類似する場合には、受信した情報を出力部222に出力することを決定する。また、出力制御部836は、受信した情報の属性と、通信端末810のユーザの属性とを比較して、両者が一致も類似もしない場合には、受信した情報を出力部222に出力しないことを決定する。
他の実施形態において、出力制御部836は、受信した情報の属性と、解析情報格納部834に格納されているユーザの属性の解析結果に基づいて、受信した情報の出力態様及び出力部222の設定の少なくとも一方を決定してよい。受信した情報の出力態様としては、受信した情報が出力部222に出力される位置、大きさ及び色、音色、振動パターン、発光パターンなどを例示することができる。出力部222の設定としては、画面の明るさ、音声の音量などを例示することができる。
例えば、通信端末810が、情報提供サーバ20から、通信ネットワーク10を介してHTMLデータを受信した場合において、当該HTMLデータの中に広告情報が含まれる場合、出力制御部836は、当該広告情報のターゲットを示す属性と、通信端末810のユーザの属性とを比較する。広告情報のターゲットを示す属性と、通信端末810のユーザの属性とが一致する場合、出力制御部836は、広告情報を目立たせるように、出力部222を制御する。広告情報のターゲットを示す属性と、通信端末810のユーザの属性とが一致しない場合、出力制御部836は、広告情報が目立たないように出力部222を制御してもよく、当該広告情報を表示しないように出力部222を制御してもよい。
本実施形態によれば、通信端末810が属性解析部832を有するので、通信端末810の操作履歴などを外部のサーバなどに送信しなくても、通信端末810のユーザの属性を決定することができる。これにより、通信端末810のユーザのプライバシーを、より一層、保護することができる。
本実施形態においては、属性解析部832が通信端末810に配される場合について説明した。しかし、属性解析部832は本実施形態に限定されない。他の実施形態において、属性解析部832は、通信端末810と通信ネットワーク10を介して情報を送受するコンピュータに配されてもよい。属性解析部832は、情報収集サーバ120に配されてもよい。
図9は、属性解析部832の一例を概略的に示す。本実施形態において、属性解析部832は、操作パターン比較部912と、移動パターン比較部914と、属性決定部916と、パターン格納部918とを備える。
操作パターン比較部912は、通信端末810の操作履歴と、予め定められた1以上の操作パターンとを比較して、1以上の操作パターンのそれぞれについて、予め定められた期間における出現頻度及び出現確率の少なくとも一方を決定する。予め定められた期間は、端末ID310の更新期間と同一の期間であってもよく、異なる期間であってもよい。操作パターン比較部912は、決定された出現頻度及び出現確率を、解析情報格納部834に格納する。
操作パターンとしては、特定の種類のWebサイトを閲覧するための指示を受け付けたこと、特定のキーワードに合致する入力を受け付けたこと、特定の操作を実行するための指示を受け付けたこと、特定の操作から特定の操作までの時間が予め定められた時間区分に合致すること、及びこれらの組み合わせなどを例示することができる。一実施形態によれば、1以上の操作パターンには、和食を提供する飲食店のWebサイトを閲覧するための指示を受け付けたという操作パターン、飲食店の検索サイトを閲覧するための指示を受け付けたという操作パターン、電源をOFFにしてから電源をONにするまでの時間が1時間以上5時間未満であるという操作パターンが含まれる。また、操作パターンは、複数の操作を実行する順序であってもよい。
操作パターン比較部912は、例えば、下記の手順にしたがって、出現頻度及び出現確率の少なくとも一方を決定する。操作パターン比較部912は、通信端末810が受け付けたユーザからの指示を監視する。通信端末810がユーザからの指示を受け付けると、操作パターン比較部912は、ユーザからの指示と、パターン格納部918に格納されている1以上の操作パターンのそれぞれとを比較して、ユーザからの指示が、パターン格納部918に格納されている1以上の操作パターンのそれぞれに合致するか否かを判断する。操作パターン比較部912は、予め定められた期間において、上記の操作を繰り返し、パターン格納部918に格納されている1以上の操作パターンのそれぞれについて、「ユーザからの指示が当該パターンに合致する」という事象の出現頻度及び出現確率の少なくとも一方を算出する。
操作パターン比較部912は、時間に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。例えば、操作パターン比較部912は、時間に関する1以上の区分のそれぞれについて、ユーザからの指示を監視して収集されたデータの中から、各区分に該当するデータを抽出する。そして、区分ごとに、1以上の操作パターンのそれぞれの出現頻度及び出現確率の少なくとも一方を算出する。
操作パターン比較部912は、通信端末810が受け付けたユーザからの指示と、通信端末810に設けられた時計又はカレンダー、Webサイトなどから取得した情報とに基づいて、時間に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。時間に関する情報は、ログ情報に含まれていてもよい。時間に関する1以上の区分としては、時間帯、曜日の種類、季節及びこれらの組み合わせなどを例示することができる。曜日の種類は、曜日ごと区分してもよく、平日及び休日という区分であってもよい。なお、操作パターン比較部912は、時間に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。
操作パターン比較部912は、通信端末の外部環境に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。通信端末の外部環境としては、天候の状況、通信環境、コンサート、運動会などのイベントの開催状況、公共交通機関の運行状況、道路の混雑状況、及びこれらの組み合わせなどを例示することができる。通信環境としては、通信端末が屋内に存在すると判断された場合、通信端末が屋外に存在すると判断された場合、通信速度が特定の値よりも大きいと判断された場合、通信速度が特定の値よりも小さいと判断された場合などを例示することができる。通信端末の外部環境に関する情報は、ログ情報に含まれていてもよい。操作パターン比較部912は、通信端末の外部環境に関する情報をWebサイトなどから取得してもよい。なお、操作パターン比較部912は、通信端末の外部環境に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。
操作パターン比較部912が、天候に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定する場合において、操作パターン比較部912は、通信端末810が受け付けたユーザからの指示と、通信端末810に設けられた温度センサ、Webサイトなどから取得した情報とに基づいて、天候に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。天候に関する1以上の区分としては、天気の種類、気温区分及びこれらの組み合わせなどを例示することができる。天気の種類としては、晴天、曇天、雨天、台風、警報発令時などの区分を例示することができる。気温区分としては、0度未満、0度以上10度未満、10度以上20度未満、20度以上30度未満、30度以上などの区分を例示することができる。
操作パターン比較部912が、通信端末810が屋内に存在すると決定された場合と、通信端末810が屋外に存在すると決定された場合とのそれぞれの場合について、出現頻度及び出現確率の少なくとも一方を決定する場合において、操作パターン比較部912は、位置情報取得部218が取得したGPS情報のGPS精度に関する情報に基づいて、通信端末810が屋内に存在するか、屋外に存在するかを決定してよい。例えば、操作パターン比較部912は、CEPの値が特定の値より大きな場合に、通信端末810が屋内に存在すると決定し、CEPの値が特定の値より小さな場合に、通信端末810が屋外に存在すると決定する。
操作パターン比較部912は、時間及び通信端末の外部環境に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。操作パターン比較部912は、時間及び通信端末の外部環境に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。
移動パターン比較部914は、通信端末810の移動履歴と、予め定められた1以上の移動パターンとを比較して、1以上の移動パターンのそれぞれについて、予め定められた期間における出現頻度又は出現確率を決定する。予め定められた期間は、端末ID310の更新期間と同一の期間であってもよく、異なる期間であってもよい。移動パターン比較部914は、決定された出現頻度及び出現確率を、解析情報格納部834に格納する。移動パターン比較部914は、操作パターン比較部912における処理と同様の手順により、出現頻度又は出現確率を決定してよい。
移動パターンとしては、特定の属性を有する施設に滞在したこと、特定の施設から他の施設への移動距離が、予め定められた距離区分に合致すること、特定の施設を出発してから当該施設に戻ってくるまでの時間が、予め定められた時間区分に合致すること、移動速度が予め定められた速度区分に合致すること、特定の位置において予め定められた操作が実行されたこと、及びこれらの組み合わせなどを例示することができる。一実施形態によれば、1以上の移動パターンには、自宅から他の施設への移動距離が1km以上10km未満であるという移動パターン、自宅を出発してから帰宅するまでの時間が5分以上30分未満であるという移動パターン、鉄道沿線において通信端末810の電源がOFFにされたという移動パターンなどが含まれる。
移動パターン比較部914は、操作パターン比較部912と同様にして、時間に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。移動パターン比較部914は、時間に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。移動パターン比較部914は、操作パターン比較部912と同様にして、通信端末の外部環境に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。移動パターン比較部914は、通信端末の外部環境に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。移動パターン比較部914は、通信端末の外部環境に関する1以上の区分のそれぞれについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。移動パターン比較部914は、通信端末の外部環境に関する1以上の区分の少なくとも1つについて、出現頻度及び出現確率の少なくとも一方を決定してもよい。
属性決定部916は、1以上の操作パターンのそれぞれに関する出現頻度及び出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、通信端末810のユーザの属性に合致する属性パターンを決定してよい。属性決定部916は、1以上の移動パターンのそれぞれに関する出現頻度及び出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、通信端末810のユーザの属性に合致する属性パターンを決定してよい。属性決定部916は、1以上の操作パターンのそれぞれに関する出現頻度及び出現確率の少なくとも一方と、1以上の移動パターンのそれぞれに関する出現頻度及び出現確率の少なくとも一方とに基づいて、予め定められた1以上の属性パターンのうち、通信端末810のユーザの属性に合致する属性パターンを決定してもよい。
属性決定部916は、パターン格納部918を参照して、通信端末810のユーザの属性が、1以上の属性パターンのそれぞれに該当するか否かを決定してよい。属性決定部916は、通信端末810のユーザの属性に合致すると決定された属性パターンを解析情報格納部834に格納してよい。なお、属性決定部916は、通信端末810のユーザの属性が、1以上の属性パターンのそれぞれに該当するか否かを、数値により評価してもよい。例えば、属性決定部916は、パターン格納部918を参照して、通信端末810のユーザの属性が、1以上の属性パターンのそれぞれに該当する確からしさを示す数値を算出する。例えば、属性決定部916は、通信端末810の操作履歴が特定の操作パターンに該当するか否かを判定するための複数の条件のうち、一致する条件の割合を0から100%までの類似度として算出する。
パターン格納部918は、1以上の操作パターンのそれぞれについて、1以上の操作パターンのそれぞれを識別する操作パターン識別情報と、通信端末810の操作履歴が1以上の操作パターンのそれぞれに該当するか否かを判定するための条件とを対応づけて格納する。パターン格納部918は、1以上の移動パターンのそれぞれについて、1以上の移動パターンのそれぞれを識別する移動パターン識別情報と、通信端末810の移動履歴が、1以上の移動パターンのそれぞれに該当するか否かを判定するための条件とを対応づけて格納する。パターン格納部918は、1以上の属性パターンのそれぞれについて、1以上の属性パターンのそれぞれを識別する属性パターン識別情報と、通信端末810のユーザの属性が、1以上の属性パターンのそれぞれに該当するか否かを判定するための条件とを対応づけて格納する。
パターン格納部918は、1以上の通信端末から操作履歴及び移動履歴の少なくとも一方を解析して、パターン格納部918に格納されている上記の条件を更新してよい。パターン格納部918は、1以上の通信端末から操作履歴及び移動履歴の少なくとも一方を解析して、新たな操作パターンを抽出し、当該新たな操作パターンに該当するか否かを判定するための条件を生成してもよい。例えば、パターン格納部918は、通信端末のユーザの属性を決定するための質問を通信端末に送信し、当該質問に対するユーザの操作履歴に基づいて、ユーザの属性を判断する。または、特定の操作履歴を有するユーザは、特定の属性を有すると判断する。次に、同一の属性を有すると判断された複数のユーザの操作履歴及び移動履歴の少なくとも一方を比較して、出現頻度又は出現確率の大きな操作パターン及び移動パターンの少なくとも一方を抽出する。これにより、上記の条件を更新又は生成することができる。
本実施形態においては、属性解析部832が、操作パターン比較部912及び移動パターン比較部914を備える場合について説明した。しかし、属性解析部832は本実施形態に限定されない。他の実施形態において、属性解析部832は、操作パターン比較部912及び移動パターン比較部914の少なくとも一方を備えてもよい。
図10は、属性決定部916における情報処理の一例を概略的に示す。図10に示すとおり、属性決定部916は、解析情報格納部834に格納されているデータテーブル1020、データテーブル1040及びデータテーブル1060を参照して、データテーブル1080を生成する。属性決定部916は、生成されたデータテーブル1080を、解析情報格納部834に格納する。
データテーブル1020は、操作パターンID1022と、操作パターンID1022により識別される操作パターンの出現確率1024とを対応付けて格納する。操作パターンID1022は、操作パターン識別情報の一例であってよい。
データテーブル1040は、移動パターンID1042と、移動パターンID1042によって識別される移動パターンの出現確率出現確率1044とを対応付けて格納する。移動パターンID1042は、移動パターン識別情報の一例であってよい。
データテーブル1060は、属性パターンID1062と、通信端末810のユーザの属性が、属性パターンID1062により識別される属性パターンに該当するか否かを判定するための判定条件1064とを対応づけて格納する。属性パターンID1062は、属性パターン識別情報の一例であってよい。
判定条件1064としては、1以上の操作パターンの少なくとも1つに関する条件、1以上の移動パターンの少なくとも1つに関する条件、1以上の操作パターンの少なくとも1つと1以上の移動パターンの少なくとも1つとが組み合わされた条件などを例示することができる。例えば、操作パターンOP−001の出現確率が5%以下であることという条件、操作パターンOP−001の出現確率が5%以下である又は操作パターンOP−002の出現確率が10%以上であることという条件、操作パターンOP−001の出現確率が5%以下であり、かつ移動パターンMP−001の出現確率が10%以上であることという条件などである。
データテーブル1080は、属性パターンID1062と、通信端末810のユーザの属性が、属性パターンID1062により識別される属性パターンに該当するか否かを示す判定結果1084とを対応付けて格納する。なお、データテーブル1080は、通信端末810のユーザの属性が、当該属性パターンに該当すると判定された属性パターンの属性パターンID1062を格納してもよい。
本実施形態においては、データテーブル1020及びデータテーブル1040が、各パターンの出現確率を格納する場合について説明した。データテーブル1020及びデータテーブル1040は、本実施形態に限定されない。他の実施形態において、データテーブル1020及びデータテーブル1040は、各パターンの出現頻度を格納してよい。
図11は、情報提供サーバ20とともに、情報配信システム1100の一例を概略的に示す。本実施形態において、情報配信システム1100は、通信端末110と、情報配信サーバ1120とを備える。情報配信システム1100及び情報配信サーバ1120は、情報処理システムの一例であってよい。
情報配信サーバ1120は、1以上の通信端末110のそれぞれから、1以上のログ情報を取得する。情報配信サーバ1120は、取得したログ情報を記憶装置に格納してよい。情報配信サーバ1120は、ログ情報を解析して、第1のエリアに存在する通信端末が、予め定められた1以上の期間のそれぞれが経過した後に、第2のエリアに存在する確率に関する存在確率情報を生成する。第1のエリア及び第2のエリアは、予め定められた地理的範囲を有する1以上のエリアのうちの1つであってよい。第1のエリア及び第2のエリアは同一のエリアであってもよく、異なるエリアであってもよい。
情報配信サーバ1120は、通信端末110に広告情報を配信する。情報配信サーバ1120は、存在確率情報に基づいて、通信端末110に送信する広告情報を選択してよい。情報配信サーバ1120は、存在確率情報に基づいて、広告情報を配信する通信端末及び広告情報を配信するエリアの少なくとも一方を選択してよい。
情報配信サーバ1120は、選択された広告情報を通信端末110に送信してよい。情報配信サーバ1120は、選択された広告情報又は当該広告情報を識別する情報を情報提供サーバ20に送信してもよい。情報配信サーバ1120は、情報提供サーバ20から通信端末110に送信されるHTMLデータに、選択された広告情報を付与してもよい。
広告情報は、通信端末110のユーザに対して告知される情報であれば、特に限定されない。広告情報は、配信者の商品又はサービスに関する情報であってよい。商品又はサービスに関する情報は、商品又はサービスの割引情報(クーポン情報と称される場合がある。)、イベントの告知情報などであってよい。広告情報は、特定の地域に関する情報であってもよい。
商品又はサービスに関する情報の他の例としては、配信者が公共交通機関である場合には、広告情報は、運休情報、遅延情報、渋滞情報などであってよい。また、配信者が天気予報サービスを提供する事業者又は行政庁である場合には、広告情報は、局所的な豪雨、落雷、突風などに関する警報又は注意報であってよい。広告情報は、災害に関する情報であってもよい。
情報配信サーバ1120の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、情報収集サーバ120の一部として機能してもよい。プログラムは、コンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。
コンピュータにインストールされ、コンピュータを本実施形態に係る情報配信サーバ1120の一部として機能させるプログラムは、情報配信サーバ1120の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU等に働きかけて、コンピュータを情報配信サーバ1120の各部としてそれぞれ機能させる、又は、コンピュータに情報配信サーバ1120における情報処理方法を実行させる。これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、情報配信サーバ1120の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた情報配信サーバ1120を構築することができる。
本実施形態においては、情報配信システム1100が通信端末110を備え、情報配信サーバ1120が通信端末110と情報を送受する場合について説明した。しかし、情報配信システム1100及び情報配信サーバ1120は本実施形態に限定されない。他の実施形態において、情報配信システム1100は、通信端末110の代わりに、又は、通信端末110とともに、通信端末610及び通信端末810の少なくとも一方を備えてよい。情報配信サーバ1120は、通信端末110の代わりに、又は、通信端末110とともに、通信端末610及び通信端末810の少なくとも一方と情報を送受してよい。
図12は、情報配信サーバ1120の一例を概略的に示す。本実施形態において、情報配信サーバ1120は、ログ情報取得部1220と、外れ値検出部1222と、存在確率生成部1224と、確率情報格納部1226と、広告情報選択部1228と、広告情報格納部1230と、配信端末選択部1232と、配信部1234とを備える。
ログ情報取得部1220は、1以上の通信端末110から、1以上のログ情報を取得する。ログ情報取得部1220は、取得したログ情報を外れ値検出部1222に送信する。ログ情報取得部1220は、移動履歴取得部の一例であってよい。なお、本実施形態においては、移動履歴としてログ情報を利用する場合について説明した。しかし、移動履歴は、1以上の通信端末のそれぞれを識別する端末識別情報と、通信端末の存在する位置を示す端末位置情報と、端末位置情報が取得された時刻を示す取得時刻情報とが対応付けられた情報であればよく、ログ情報に限定されない。
外れ値検出部1222は、ログ情報取得部1220から、1以上のログ情報を受けとる。外れ値検出部1222は、受け取ったログ情報の中から、他のログ情報が示す値から外れた値を示すログ情報を、外れ値として検出する。これにより、存在確率の精度を向上させることができる。外れ値検出部1222は、外れ値として検出したログ情報に対して、外れ値であることを示す情報を付加した後、ログ情報取得部1220から受け取ったログ情報の全てを存在確率生成部1224に送信してよい。外れ値検出部1222は、ログ情報取得部1220から受け取ったログ情報から、外れ値として検出したログ情報を除外したものを、存在確率生成部1224に送信してもよい。
外れ値検出部1222は、外れ値として検出する対象の平均値及び標準偏差に基づいて、外れ値を検出してもよい。例えば、平均値を中心として標準偏差の数倍(例えば、2倍又は3倍)の範囲に含まれない場合に外れ値として検出する。外れ値検出部1222は、予め定められた値との比較に基づいて、外れ値を検出してもよい。
一実施形態によれば、1以上のログ情報の少なくとも一部について、位置情報と、通信端末の通信環境情報と、位置情報が取得された時点において通信端末が取得したGPS情報のGPS精度に関する情報とが対応づけられている場合、外れ値検出部1222は、以下の手順で特定のログ情報を外れ値として検出する。外れ値検出部1222は、まず、GPS情報を含むログ情報のそれぞれについて、GPS精度が、予め定められた値よりも大きいか否かを判断する。GPS精度が予め定められた値よりも大きい場合、当該GPS精度に関する情報を含むログ情報を外れ値として検出する。
本実施形態によれば、位置情報の精度が予め定められた値よりも悪い情報を除外することができる。その結果、存在確率生成部1224により生成される統計情報の精度を向上させることができる。また、本実施形態によれば、ログ情報を、屋外又は窓際におけるログ情報と、屋内におけるログ情報とに分離することができる。
GPS精度は、例えば、CEP(Circular Error Probability)を用いて表される。CEPは、GPS受信機が特定の円内にいる確率が50%である場合に、当該円の半径として表される。GPS受信機が屋外又は屋内であってもGPS信号を受信しやすい場所(例えば、窓際)にある場合、CEPは小さな値となる。一方、GPS受信機が屋内などのGPS信号を受信しにくい場所にある場合、CEPは大きな値となる。
他の実施形態によれば、外れ値検出部1222は、通信端末の移動速度に基づいて外れ値を検出してよい。本実施形態によれば、何らかのエラーにより、ログ情報に含まれる位置情報が、実際に通信環境情報を取得した位置とは大きく異なる位置を示す場合であっても、そのような情報を除外することができる。その結果、存在確率情報の精度を向上させることができる。
さらに他の実施形態によれば、外れ値検出部1222は、ログ情報に含まれる位置情報によって示される位置が、予め定められた地理的範囲の外側である場合に、当該ログ情報を外れ値として検出してよい。例えば、存在確率生成部1224が日本国内における存在確率情報を生成しているにもかかわらず、ログ情報に含まれる位置情報が日本国外の位置を示している場合、外れ値検出部1222は、当該ログ情報を外れ値として検出する。
存在確率生成部1224は、外れ値検出部1222から、1以上のログ情報を受信する。存在確率生成部1224は、受信したログ情報に基づいて、1以上の存在確率情報を生成する。一実施形態において、存在確率生成部1224は、1以上のエリアから2つのエリアを選択する全ての組み合わせについて存在確率を算出する。存在確率生成部1224は、第1のエリアのエリア識別情報と、第2のエリアのエリア識別情報と、第1のエリア及び第2のエリアの組み合わせに係る存在確率とを対応付けて、存在確率情報を生成する。エリア識別情報は、1以上のエリアのそれぞれを識別する情報であってよい。
他の実施形態において、存在確率生成部1224は、特定のエリアを第1のエリアとした場合に、予め定められた距離に存在する1位以上のエリア又は電車、飛行機などの公共交通機関を利用して予め定められた時間内に到達することができる1以上のエリアを第2のエリアとして設定して、それぞれの存在確率を算出してよい。存在確率生成部1224は、第1のエリアのエリア識別情報と、第2のエリアのエリア識別情報と、第1のエリア及び第2のエリアの組み合わせに係る存在確率とを対応付けて、存在確率情報を生成する。これにより、存在確率生成部1224における処理速度が向上する。また、広告情報選択部1228及び配信端末選択部1232における処理速度が向上する。
他の実施形態において、存在確率生成部1224は、存在確率を算出した後、特定のエリアのエリア識別情報と、その存在確率が予め定められた値よりも大きな1以上のエリアのエリア識別情報とを対応付けて、存在確率情報を生成してもよい。これにより、存在確率生成部1224における処理速度が向上する。また、広告情報選択部1228及び配信端末選択部1232における処理速度が向上する。
他の実施形態において、存在確率生成部1224は、存在確率を算出した後、特定のエリアについて、存在確率を算出したエリアの中から、存在確率の値が大きな順に予め定められた個数のエリアを抽出してよい。存在確率生成部1224は、当該特定のエリアのエリア識別情報と、抽出されたエリアのエリア識別情報とを対応付けて、存在確率情報を生成してもよい。これにより、存在確率生成部1224における処理速度が向上する。また、広告情報選択部1228及び配信端末選択部1232における処理速度が向上する。
存在確率生成部1224は、時間に関する1以上の区分のそれぞれについて、1以上の存在確率情報のそれぞれを生成してよい。ログ情報に、位置情報が取得された時刻における天候に関する情報が含まれている場合、又は、ログ情報と、位置情報が取得された時刻における天候に関する情報とを対応付けることができる場合、存在確率生成部1224は、天候に関する1以上の区分のそれぞれについて、1以上の存在確率情報のそれぞれを生成してよい。ログ情報に、通信端末のユーザの属性に関する情報が含まれている場合、又は、ログ情報と、通信端末のユーザの属性に関する情報とを対応付けることができる場合、存在確率生成部1224は、通信端末のユーザの属性に関する1以上の区分のそれぞれについて、1以上の存在確率情報のそれぞれを生成してよい。
存在確率生成部1224は、生成された存在確率情報を、確率情報格納部1226に格納する。確率情報格納部1226は、広告情報選択部1228及び配信端末選択部1232からの要求に応じて、存在確率を抽出する。
広告情報選択部1228は、1以上の存在確率情報の少なくとも1つに基づいて、第1エリアに存在する少なくとも1つの通信端末に配信すべき広告情報を選択する。広告情報選択部1228は、確率情報格納部1226を参照して、広告情報を選択してよい。
例えば、東京駅に存在する通信端末110に配信すべき広告情報を選択する場合において、広告情報選択部1228は、東京駅に存在する通信端末110が1時間後に存在する確率が、特定の閾値よりも大きなエリアを抽出するよう、確率情報格納部1226に要求する。この場合、広告情報選択部1228は、第1のエリアとして、東京駅を含むエリアのエリア識別番号を、確率情報格納部1226に通知してよい。また、1時間後の存在確率を抽出すべき旨と、存在確率の閾値とを確率情報格納部1226に通知してよい。
時間に関する区分、天候に関する区分及び通信端末のユーザの属性に関する区分の少なくとも1つに対応付けて、存在確率情報が生成されている場合、広告情報選択部1228は、1以上の存在確率情報の少なくとも1つと、広告情報が配信される時間、広告情報が配信されるときの天候及び広告情報が配信される通信端末のユーザの属性の少なくとも1つとに基づいて、広告情報を選択してよい。これにより、通信端末のユーザに対して、より適切な広告情報を配信することができる。
広告情報格納部1230は、配信すべき広告情を格納する。広告情報格納部1230は、配信すべき広告情報を、当該広告情報のターゲットの属性と対応付けて格納してよい。
配信端末選択部1232は、1以上の存在確率情報の少なくとも1つに基づいて、1以上の通信端末のうち、特定の広告情報を配信すべき通信端末を選択する。配信端末選択部1232は、確率情報格納部1226を参照して、特定の広告情報を配信すべき通信端末を選択してよい。
例えば、東京駅の近傍の飲食店に関する広告情報を配信する場合において、配信端末選択部1232は、1時間後に東京駅に存在する確率が特定の閾値よりも大きな通信端末が、現在存在するエリアを抽出するよう、確率情報格納部1226に要求する。この場合、配信端末選択部1232は、第2のエリアとして、東京駅を含むエリアのエリア識別番号を、確率情報格納部1226に通知してよい。また、1時間後の存在確率を抽出すべき旨と、存在確率の閾値とを確率情報格納部1226に通知してよい。
時間に関する区分、天候に関する区分及び通信端末のユーザの属性に関する区分の少なくとも1つに対応付けて、存在確率情報が生成されている場合、広告情報選択部1228は、1以上の存在確率情報の少なくとも1つと、広告情報が配信される時間、広告情報が配信されるときの天候及び広告情報が配信される通信端末のユーザの属性の少なくとも1つとに基づいて、特定の広告情報を配信すべき通信端末を選択してよい。通信端末のユーザに対して、より適切な広告情報を配信することができる。
配信部1234は、広告情報選択部1228及び配信端末選択部1232の少なくとも一方により選択された広告情報を、通信端末110に配信する。配信部1234は、1以上の存在確率情報の少なくとも1つに基づいて、第1のエリアに存在する少なくとも1つの通信端末に広告情報を配信してよい。配信部1234は、広告情報選択部1228及び配信端末選択部1232の少なくとも一方により選択された広告情報を識別する情報を、情報提供サーバ20に送信してもよい。
本実施形態においては、情報配信サーバ1120が外れ値検出部1222を備える場合について説明した。しかし、情報配信サーバ1120は、本実施形態に限定されない。例えば、情報配信サーバ1120は外れ値検出部1222を備えなくてもよく、存在確率生成部1224は、ログ情報取得部1220が取得したログ情報に基づいて、存在確率情報を生成してよい。他の実施形態において、情報配信サーバ1120は、通信端末から取得した1以上のログ情報を解析して、当該1以上のログ情報を利用して、特定の時刻における当該通信端末の位置を補完してもよい。情報配信サーバ1120は、補完されたデータを利用して、上記の処理を実行してもよい。
情報配信サーバ1120は、1以上の通信端末から取得した1以上のログ情報を解析して、地図情報を取得してよい。地図情報は、交通網、施設などの位置に関する情報であってよい。情報配信サーバ1120は、特定の期間における特定の位置に関するログ情報の数が特定の値よりも大きい場合に、当該位置の位置情報を地図情報として取得してよい。位置情報は、高さに関する情報を含んでもよい。情報配信サーバ1120は、上記のログ情報を解析して得られた地図情報と、既存の地図情報とを比較して、当該既存の地図情報に含まれない地図情報を取得してよい。これにより、地図情報を更新すべき地点の情報を容易に取得することができる。
図13は、存在確率情報のデータテーブル1300の一例を概略的に示す。データテーブル1300は、時間に関する区分及び天候に関する区分に対応付けて生成された存在確率情報の一例であってよい。
データテーブル1300は、エリアID1302と、エリアID1304と、存在確率1306とを対応付けて格納する。エリアID1302は、第1のエリアのエリア識別情報の一例であってよい。エリアID1304は、第2のエリアのエリア識別情報の一例であってよい。図13において、存在確率1312は、第1のエリアとしてエリアID1302を設定し、第2のエリアとしてエリアID1304を設定した場合において、平日の晴天時における1時間後の存在確率を示す。
同様に、存在確率1314は、平日の晴天時における3時間後の存在確率を示す。存在確率1316は、平日の雨天時における1時間後の存在確率を示す。存在確率1318は、平日の雨天時における3時間後の存在確率を示す。存在確率1322は、休日の晴天時における1時間後の存在確率を示す。存在確率1324は、休日の晴天時における3時間後の存在確率を示す。存在確率1326は、休日の雨天時における1時間後の存在確率を示す。存在確率1328は、休日の雨天時における3時間後の存在確率を示す。
図14は、存在確率情報のデータテーブル1400の一例を概略的に示す。データテーブル1400は、時間に関する区分及び天候に関する区分に対応付けて生成された存在確率情報の一例であってよい。データテーブル1400は、特定のエリアのエリア識別情報と、その存在確率が予め定められた値よりも大きな1以上のエリアのエリア識別情報とを対応付けて生成された存在確率情報の一例であってよい。
データテーブル1400は、エリアID1402と、頻出エリアのエリアID1404とを対応付けて格納する。エリアID1402は、第1のエリアのエリア識別情報の一例であってよい。エリアID1404は、第1のエリアとしてエリアID1402を設定し、第2のエリアとしてエリアID1404を設定した場合の存在確率が予め定められた値よりも大きなエリアのエリア識別情報の一例であってよい。
エリアID1412は、平日の晴天時における1時間後の存在確率が予め定められた値よりも大きなエリアのエリアIDを示す。エリアID1414、エリアID1416、エリアID1418、エリアID1422、エリアID1424、エリアID1426及びエリアID1428も同様に、図14に示す条件を満たすエリアIDである。
図15は、存在確率情報のデータテーブル1500の一例を概略的に示す。データテーブル1500は、時間に関する区分及び天候に関する区分に対応付けて生成された存在確率情報の一例であってよい。データテーブル1500は、特定のエリアのエリア識別情報と、その存在確率が予め定められた値よりも大きな1以上のエリアのエリア識別情報とを対応付けて生成された存在確率情報の一例であってよい。
データテーブル1500は、エリアID1502と、頻出速度ベクトル1504とを対応付けて格納する。速度ベクトルは、特定の地点における移動方向と、移動速度との組み合わせであってよい。移動方向は、予め定められた範囲の方角を含む区分により示されてもよい。例えば、方角の区分が「北」である場合には、北西から北を介して北東までの方角を示してよい。
移動速度は、予め定められた範囲の速度を含む区分により示されてよい。例えば、5km/hr未満、5km/hr以上20km/hr未満、20km/hr以上60km/hr未満、60km/hr以上のような区分であってよい。これにより、任意の時間が経過した後において、通信端末が存在する可能性の高いエリアを抽出することができる。
移動速度は、移動速度の確率分布関数により示されてもよい。移動速度は、移動速度の平均値と、標準偏差とにより示されてもよい。これにより、任意の時間が経過した後において、任意の存在確率に基づいて、広告情報などを選択することができる。
移動方向1512は、平日の晴天時において、存在確率が予め定められた値よりも大きな移動方向を示す。速度分布1514は、例えば、平日の晴天時において、存在確率が予め定められた値よりも大きな速度区分を示す。移動方向1516、速度分布1518、移動方向1522、速度分布1524、移動方向1526及び速度分布1528も同様である。
図16は、情報収集サーバ120の一例を概略的に示す。図16は、図1に関連して説明した情報収集サーバ120の他の例を概略的に示す。
図1においては、情報収集サーバ120が、1以上の通信端末110のそれぞれから受け取ったログ情報を用いて、通信状況を解析する場合について説明した。図1に関連して説明した情報収集サーバ120は、例えば、1以上の位置の少なくとも一部における通信状況に関する情報を生成する。通信状況に関する情報は、通信環境の位置に関する統計情報であってよい。統計情報は、通信環境に関する情報の少なくとも1つの時間的若しくは地理的な傾向に関する情報であってよい。統計情報は、同一の位置又は同一の地理的範囲における、通信の可否又は通信品質の経時変化であってよい。統計情報は、同一の位置又は同一のエリアにおける、通信の可否又は通信品質の集計結果であってもよい。
これに対して、図16においては、情報収集サーバ120が、1以上の通信端末のそれぞれから受け取ったログ情報を用いて人口流量を推定する場合を例として、情報収集サーバ120について説明する。
図16において、情報収集サーバ120は、人口流量の推定に特有の構成要素以外の構成要素については、図1に関連して説明した情報収集サーバ120と同様の構成を有してよい。例えば、図16においても、情報収集サーバ120は、一般的な構成の情報処理装置において、情報提供サーバ20及び情報収集サーバ120のそれぞれの各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。なお、図1に関連して説明した情報収集サーバ120と同様の構成については説明を省略する。また、通信端末110、通信端末610及び通信端末810は、1以上の通信端末の一例であってよい。情報収集サーバ120は、人口流量推定装置の一例であってよい。
本実施形態において、情報収集サーバ120は、ログ情報取得部1220と、外れ値検出部1222と、変動量決定部1632と、拠点ユーザ数決定部1634と、居住ユーザ数決定部1636と、人口流量推定部1638とを備える。ログ情報取得部1220及び外れ値検出部1222は、情報配信サーバ1120のログ情報取得部1220及び外れ値検出部1222と同様の構成を有してよい。
変動量決定部1632は、外れ値検出部1222からログ情報を受信する。変動量決定部1632は、受信したログ情報に基づいて、特定の期間について、予め定められた地理的範囲を有する1以上のエリアのうち少なくとも1つのエリア内に存在する通信端末の数を集計する。変動量決定部1632は、集計結果に基づいて、当該予め定められた期間における、通信端末の数の変動量を決定する。
拠点ユーザ数決定部1634は、予め定められた地理的範囲を有する1以上のエリアのそれぞれについて、1以上の通信端末のうち、1以上のエリアのそれぞれのエリア内に行動拠点を有するユーザの通信端末の数を示す拠点ユーザ数を決定する。拠点ユーザ数決定部1634は、通信端末の移動履歴に基づいて、当該通信端末のユーザの行動拠点を決定してよい。
居住ユーザ数決定部1636は、予め定められた地理的範囲を有する1以上のエリアのそれぞれについて、1以上の通信端末のうち、1以上のエリアのそれぞれのエリア内に住居を有するユーザの通信端末の数を示す居住ユーザ数を決定する。居住ユーザ数決定部1636は、通信端末の移動履歴に基づいて、当該通信端末のユーザの住居を決定してよい。
人口流量推定部1638は、予め定められた期間における通信端末の数の変動量に基づいて、人口流量を推定する。人口流量推定部1638は、変動量決定部1632により決定された通信端末の数の変動量と、人口統計値との換算係数を算出してよい。人口流量推定部1638は、変動量決定部1632により決定された通信端末の数の変動量に、当該換算係数を乗ずることで、人口流量を推定してよい。人口統計値としては、総務省統計局の公表している人口統計値などを例示することができる。
本実施形態によれば、1以上の通信端末からの1以上のログ情報に基づいて、人口流量を推定する。そのため、人口流量の実態をより正確に把握することができる。
人口流量推定部1638は、1以上の通信端末から取得した1以上のログ情報を解析して、地図情報を取得してよい。地図情報は、交通網、施設などの位置に関する情報であってよい。人口流量推定部1638は、特定の期間における特定の位置に関するログ情報の数、出現頻度又は出現確率が特定の値よりも大きい場合に、当該位置の位置情報を地図情報として取得してよい。人口流量推定部1638は、上記のログ情報を解析して得られた地図情報と、既存の地図情報とを比較して、当該既存の地図情報に含まれない地図情報を取得してよい。これにより、既存の地図情報を更新すべき地点の情報を容易に取得することができる。人口流量推定部1638は、地図情報生成部の一例であってよい。
なお、情報収集サーバ120は、情報配信サーバ1120の場合と同様に、通信端末から取得した1以上のログ情報を解析して、当該1以上のログ情報を利用して、特定の時刻における当該通信端末の位置を補完してもよい。情報配信サーバ1120は、補完されたデータを利用して、上記の処理を実行してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば、一実施形態において、情報処理システムは、情報配信サーバ1120と、図16に関連して説明した情報収集サーバ120とを備える。他の実施形態において、情報配信サーバ1120は、図16に関連して説明した情報収集サーバ120に特有の構成をさらに備えてもよい。例えば、情報配信サーバ1120が、変動量決定部1632を更に備えてもよい。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
[項目1]
通信端末の操作履歴と、予め定められた1以上の操作パターンとを比較して、上記1以上の操作パターンのそれぞれについて、予め定められた期間における出現頻度及び出現確率の少なくとも一方を決定する操作パターン比較部と、
上記1以上の操作パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、上記通信端末のユーザの属性に合致する属性パターンを決定する属性決定部と、
を備える、属性決定装置。
[項目2]
通信端末の移動履歴と、予め定められた1以上の移動パターンとを比較して、上記1以上の移動パターンのそれぞれについて、予め定められた期間における出現頻度又は出現確率を決定する移動パターン比較部を更に備え、
上記属性決定部は、上記1以上の操作パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方と、上記1以上の移動パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方とに基づいて、予め定められた1以上の属性パターンのうち、上記通信端末のユーザの属性に合致する属性パターンを決定する、
項目1に記載の属性決定装置。
[項目3]
通信端末の移動履歴と、予め定められた1以上の移動パターンとを比較して、上記1以上の移動パターンのそれぞれについて、予め定められた期間における出現頻度又は出現確率を決定する移動パターン比較部と、
上記1以上の移動パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、上記通信端末のユーザの属性に合致する属性パターンを決定する属性決定部と、
を備える、属性決定装置。
[項目4]
項目1から項目3までの何れか一項に記載の属性決定装置と、
上記出現頻度及び上記出現確率の少なくとも一方を格納する出現情報格納部と、
を備える、
通信端末。
[項目5]
上記属性決定部により上記通信端末のユーザの属性に合致すると決定された属性パターンを格納する属性情報格納部を更に備える、
項目4に記載の通信端末。
[項目6]
通信端末の操作履歴と、予め定められた1以上の操作パターンとを比較して、上記1以上の操作パターンのそれぞれについて、予め定められた期間における出現頻度及び出現確率の少なくとも一方を決定する操作パターン比較段階と、
上記1以上の操作パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、上記通信端末のユーザの属性に合致する属性パターンを決定する属性決定段階と、
を備える、属性決定方法。
[項目7]
通信端末の移動履歴と、予め定められた1以上の移動パターンとを比較して、上記1以上の移動パターンのそれぞれについて、予め定められた期間における出現頻度又は出現確率を決定する移動パターン比較段階と、
上記1以上の移動パターンのそれぞれに関する上記出現頻度及び上記出現確率の少なくとも一方に基づいて、予め定められた1以上の属性パターンのうち、上記通信端末のユーザの属性に合致する属性パターンを決定する属性決定段階と、
を備える、属性決定方法。
[項目8]
コンピュータに、項目6又は項目7に記載の属性決定方法を実行させるためのプログラム。