(57)【特許請求の範囲】
【請求項１】
端末装置と、第１サーバと、第２サーバとを備え、
前記端末装置は、
当該端末装置の位置を示す端末位置情報を利用して、当該端末装置において所定の機能を提供するアプリケーションプログラムを実行するアプリケーション処理部と、
当該端末装置のユーザから、当該端末装置の端末位置情報の利用の可否を、前記アプリケーションプログラム毎に示す許諾設定情報の入力を受け付ける入力受付部と、
を備え、
前記第１サーバは、
前記端末位置情報と、当該端末位置情報の許諾設定情報とを対応付けて記憶する記憶部と、
前記許諾設定情報により利用が許可されている端末位置情報を、前記第２サーバのうち前記アプリケーションプログラムに対応するサーバから受信した抽出条件に基づき前記記憶部から検索する抽出部と、
前記抽出部が検索した前記端末位置情報をプル方式又はプッシュ方式により前記第２サーバに送信する第１サーバ送信部と、
を備え、
前記第２サーバは、
前記第１サーバから受信する前記端末位置情報が示す端末装置に報知するレコメンド情報を取得するレコメンド情報取得部と、
前記レコメンド情報取得部が取得した前記レコメンド情報を、前記抽出部が検索した前記端末位置情報に対応する前記端末装置に送信する第２サーバ送信部と、
を備えることを特徴とする情報提供システム。
【請求項２】
前記記憶部は、前記端末位置情報と、当該端末位置情報に対応する対応情報とを対応付けて記憶し、
前記抽出部は、前記検索した端末位置情報に対応する対応情報を抽出し、
前記第１サーバ送信部は、前記抽出部が抽出した前記対応情報を、プル方式又はプッシュ方式により前記第２サーバに送信する
ことを特徴とする請求項１に記載の情報提供システム。
【請求項３】
前記記憶部は、前記端末位置情報と、当該端末位置情報に対応する対応情報とを対応付けて記憶し、
前記抽出部は、前記対応情報を検索キーとして検索した前記端末位置情報を抽出する
ことを特徴とする請求項１又は請求項２に記載の情報提供システム。
【請求項４】
前記抽出部は、前記対応情報の値の変化に基づいて前記端末位置情報を抽出する
ことを特徴とする請求項３に記載の情報提供システム。
【請求項５】
前記対応情報は、前記端末装置を識別する端末識別情報を含み、
前記抽出部は、前記端末位置情報が示す位置が所定のエリア内である場合に、前記端末位置情報に対応する端末識別情報を抽出し、
前記第１サーバ送信部は、前記抽出部が抽出した前記端末識別情報を、プル方式又はプッシュ方式により前記第２サーバに送信し、
前記第２サーバ送信部は、前記抽出部が抽出した前記端末識別情報が示す前記端末装置に前記レコメンド情報を送信する
ことを特徴とする請求項２から請求項４のいずれか一項に記載の情報提供システム。
【請求項６】
前記抽出部は、前記端末位置情報が示す前記端末装置の位置が所定期間以上、所定のエリア内であるか否かを判定し、判定結果に基づいて端末識別情報を抽出する
ことを特徴とする請求項５に記載の情報提供システム。
【請求項７】
前記抽出部は、所定のエリア内の位置を示す前記端末位置情報を検索し、検索した前記端末位置情報に対応する端末識別情報を抽出し、
前記レコメンド情報取得部は、前記抽出部が抽出した前記端末識別情報が示す端末装置の数と当該数の変化の程度との少なくともいずれか１つに基づいて、前記レコメンド情報を取得する
ことを特徴とする請求項５又は請求項６に記載の情報提供システム。
【請求項８】
端末装置と、第１サーバと、第２サーバとを備える情報提供システムにおける情報提供方法であって、
前記端末装置が、当該端末装置の位置を示す端末位置情報を利用して、当該端末装置において所定の機能を提供するアプリケーションプログラムを実行するアプリケーション処理ステップと、
前記端末装置が、当該端末装置のユーザから、当該端末装置の端末位置情報の利用の可否を、前記アプリケーションプログラム毎に示す許諾設定情報の入力を受け付ける入力受付ステップと、
前記第１サーバが、前記端末位置情報と当該端末位置情報の許諾設定情報とを対応付けて記憶している記憶部から、前記許諾設定情報により利用が許可されている端末位置情報を、前記第２サーバのうち前記アプリケーションプログラムに対応するサーバから受信した抽出条件に基づき検索する抽出ステップと、
前記第１サーバが、前記抽出ステップにおいて検索された前記端末位置情報をプル方式又はプッシュ方式により前記第２サーバに送信する第１送信ステップと、
前記第２サーバが、前記第１サーバから受信する前記端末位置情報が示す端末装置に報知するレコメンド情報を取得するレコメンド情報取得ステップと、
前記第２サーバが、前記レコメンド情報取得ステップにおいて取得され前記レコメンド情報を、前記抽出ステップにおいて検索された前記端末位置情報に対応する前記端末装置に送信する第２送信ステップと、
を含むことを特徴とする情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提供システム及び情報提供方法に関する。
【背景技術】
【０００２】
Webサービスとしては、サービスの利用者に関する利用者情報を利用者端末から取得し、利用者情報を利用してサービスを提供するものがある。このサービスのうち、利用者端末が自装置の位置を示す端末位置情報をWebサーバに送信し、Webサーバが端末位置情報に関連した情報を送信するものがある。
【０００３】
利用者端末が自装置の端末位置情報を得る技術としては、下記の特許文献１に記載された端末装置が知られている。この端末装置における１又はそれ以上のアプリケーションは、測位方法選択装置に測位データを要求する。測位方法選択装置は、１又はそれ以上の測位方法を使用する。このとき、測位方法選択装置は、ある測位方法によって提供される測位データの質と、アプリケーションが要求する測位の質とを比較して、１又はそれ以上のアプリケーションに測位データを提供する。
【０００４】
測位方法選択装置により測位された端末位置情報は、サーバに集められる。アプリケーションを提供する提供者は、サーバに集められた端末位置情報を利用して、利用者端末の位置を把握することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２０９２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、サーバに集められる端末位置情報が膨大であるため、端末位置情報の取り扱いが煩雑になる問題があった。特に、アプリケーションの提供者がそれぞれのタイミングで端末位置情報を求める場合、各利用者端末が測位する端末位置情報がアプリケーションの数だけ増える場合があった。この場合、サーバに集められる端末位置情報が、より増大する問題があった。そして、集められた端末位置情報がユーザの意図に反して利用される可能性があった。
【０００７】
本発明は、このような事情を考慮してなされたもので、サーバに集められた端末位置情報を利用する際の利便性を向上させることができる情報提供システム及び情報提供方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
（１）上記の課題を解決するために、本発明の一態様に係る情報提供システムは、端末装置の位置を示す端末位置情報と、当該端末位置情報の利用の可否を示す許諾設定情報とを対応付けて記憶する記憶部と、前記許諾設定情報により利用が許可されている端末位置情報を前記記憶部から検索する抽出部と、前記抽出部が検索した前記端末位置情報に対応する端末装置に報知するレコメンド情報を取得するレコメンド情報取得部と、前記レコメンド情報取得部が取得した前記レコメンド情報を、前記抽出部が検索した前記端末位置情報に対応する前記端末装置に送信する送信部と、を備える。
【０００９】
（２）本発明の一態様は、上記した（１）に記載の情報提供システムは、前記抽出部を備える第１サーバと、前記レコメンド情報取得部と、前記送信部と、を備える第２サーバと、を備える。
【００１０】
（３）本発明の一態様は、上記した（１）又は（２）に記載の情報提供システムにおいて、前記記憶部は、前記端末位置情報と、当該端末位置情報に対応する対応情報とを対応付けて記憶し、前記抽出部は、前記検索した端末位置情報に対応する対応情報を抽出する。
【００１１】
（４）本発明の一態様は、上記した（１）又は（２）に記載の情報提供システムにおいて、前記記憶部は、前記端末位置情報と、当該端末位置情報に対応する対応情報とを対応付けて記憶し、前記抽出部は、前記対応情報を検索キーとして検索された前記端末位置情報を抽出する。
【００１２】
（５）本発明の一態様は、上記した（４）に記載の情報提供システムにおいて、前記抽出部は、前記対応情報の値の変化に基づいて前記端末位置情報を抽出する。
【００１３】
（６）本発明の一態様は、上記した（３）から（５）のいずれかに記載の情報提供システムにおいて、前記対応情報は、前記端末装置を識別する端末識別情報を含み、前記端末位置情報が示す位置が所定のエリア内である場合に、前記端末位置情報に対応する端末識別情報を抽出し、前記送信部は、前記抽出部が抽出した前記端末識別情報が示す前記端末装置に前記レコメンド情報を送信する。
【００１４】
（７）本発明の一態様は、上記した（６）に記載の情報提供システムにおいて、前記抽出部は、前記端末位置情報が示す前記端末装置の位置が所定期間以上、所定のエリア内であるか否かを判定し、判定結果に基づいて端末識別情報を抽出する。
【００１５】
（８）本発明の一態様は、上記した（７）又は（８）に記載の情報提供システムにおいて、前記抽出部は、所定のエリア内の位置を示す前記端末位置情報を検索し、検索した前記端末位置情報に対応する端末識別情報を抽出し、前記レコメンド情報取得部は、前記抽出部が抽出した前記端末識別情報が示す端末装置の数と当該数の変化の程度とのうち少なくともいずれか１つに基づいて、前記レコメンド情報を取得する。
【００１６】
（９）本発明の一態様は、端末装置の位置を示す端末位置情報と、当該端末位置情報の利用の可否を示す許諾設定情報とを対応付けて記憶する記憶部を備える情報提供システムにおける情報提供方法であって、前記情報提供システムが、前記許諾設定情報により利用が許可されている端末位置情報を前記記憶部から検索する抽出ステップと、前記情報提供システムが、前記抽出ステップにおいて検索された前記端末位置情報に対応する端末装置に報知するレコメンド情報を取得するレコメンド情報取得ステップと、前記情報提供システムが、前記レコメンド情報取得ステップにおいて取得された前記レコメンド情報を、前記抽出ステップにおいて検索された前記端末位置情報に対応する前記端末装置に送信する送信ステップと、を含むことを特徴とする情報提供方法である。
【発明の効果】
【００１７】
本発明によれば、サーバに集められた端末位置情報を利用する際の利便性を向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態におけるレコメンドシステムの構成を示すブロック図である。
【図２】本発明の一実施形態に係る端末装置の構成を示すブロック図である。
【図３】本発明の一実施形態に係る端末装置の他の構成を示すブロック図である。
【図４】本発明の一実施形態に係る端末装置の他の構成を示すブロック図である。
【図５】本発明の一実施形態に係る端末装置において行われる処理手順の一例を示すフローチャートである。
【図６】本発明の一実施形態に係る端末装置において行われるマスタ決定処理の手順の一例を示すフローチャートである。
【図７】本発明の一実施形態に係る端末装置において行われる端末位置情報の取得及び送信処理の手順の一例を示すフローチャートである。
【図８】本発明の一実施形態に係る許諾設定情報を設定するための操作画面の一例を示す図である。
【図９】本発明の一実施形態に係る位置情報サーバの構成を示すブロック図である。
【図１０】本発明の一実施形態に係る対応テーブルの一例を示す図である。
【図１１】本発明の一実施形態に係るＰＯＩサーバの構成を示すブロック図である。
【図１２】本発明の一実施形態に係るアプリケーションサーバの構成を示すブロック図である。
【図１３】本発明の一実施形態に係るレコメンドシステムの動作手順の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１９】
以下、実施形態のレコメンドシステム１を、図面を参照して説明する。本実施形態に係るレコメンドシステム１は、端末装置に対して情報を提示する情報提供システムである。
【００２０】
［位置情報システムの概要］
図１は、実施形態に係るレコメンドシステム１の構成を示すブロック図である。このレコメンドシステム１は、複数の端末装置１０Ａ、１０Ｂ、・・・、１０Ｎ（以下、総称する場合には単に「端末装置１０」と呼ぶ）、位置情報サーバ３０、認証サーバ４０、ＰＯＩ（Point Of Interest）サーバ４２、契約者情報サーバ４４、及びアプリケーションサーバ５０Ａ、５０Ｂ、・・・、５０Ｎ（以下、総称する場合には単に「アプリケーションサーバ５０」と呼ぶ）を有する。
なお、端末装置１０には、アプリケーションがインストールされている。そして、アプリケーションサーバ５０と、端末装置１０にインストールされているアプリケーションとは、それぞれ対応している。また、本実施形態におけるアプリケーションとは、端末装置１０の端末位置情報を利用するアプリケーションである。
【００２１】
レコメンドシステム１において、端末装置１０は、位置情報サーバ３０に自装置の位置を示す端末位置情報を送信する装置である。また、端末装置１０は、アプリケーションサーバ５０から受信するレコメンド情報に応じた処理を行うアプリケーションを実行する。つまり、端末装置１０は、アプリケーションを実行することにより、アプリケーションサーバ５０から受信するレコメンド情報をユーザに提示する。ここで、レコメンド情報とは、端末装置１０の位置などに応じてユーザに提示される情報である。具体的には、レコメンド情報は、例えば、お勧め情報（ユーザの嗜好や行動に応じたものに限らない）、広告、クーポン、ニュース、所在地周辺の混雑状況などの端末装置１０の所在地に関連する情報である。
なお、端末装置１０は、ユーザ及び認証サーバ４０によりその利用が許可されたアプリケーションのみを実行する。以下では、その利用が許可されたアプリケーションを許諾アプリケーションと称する。
【００２２】
位置情報サーバ３０は、端末装置１０から受信した端末位置情報を管理する装置である。位置情報サーバ３０は、端末位置情報を利用して、自装置、ＰＯＩサーバ４２、及び契約者情報サーバ４４から情報を抽出する。そして、位置情報サーバ３０は、アプリケーションサーバ５０のうち、許諾アプリケーションに対応するアプリケーションサーバ５０に対してのみ、抽出した情報を送信する。
ＰＯＩサーバ４２は、ＰＯＩ情報を管理する装置である。ＰＯＩ情報については、後述する。
契約者情報サーバ４４は、端末装置１０のユーザの属性情報を管理する装置である。
【００２３】
アプリケーションサーバ５０は、端末装置１０にレコメンド情報を送信する装置である。アプリケーションサーバ５０は、位置情報サーバ３０から、位置情報サーバ３０が管理する各種情報を受信する。アプリケーションサーバ５０は、受信した各種情報に応じて、端末装置１０に送信するレコメンド情報を選択する。アプリケーションサーバ５０は、選択したレコメンド情報を端末装置１０に送信する。
【００２４】
これにより、レコメンドシステム１は、ユーザなどによる許可が得られている場合に、アプリケーションを介したレコメンド情報を提供するため、位置情報サーバ３０に集められた端末位置情報を利用する際の利便性を向上させることができる。
なお、以下では、位置情報サーバ３０がＰＯＩサーバ４２や契約者情報サーバから情報を取得する場合について説明するが、アプリケーションサーバ５０は、位置情報サーバ３０を介さずに、ＰＯＩサーバ４２や契約者情報サーバ４４から直接情報を取得してもよい。
【００２５】
［端末装置の概要］
端末装置１０は、任意の送信タイミング又は所定期間ごとに端末位置情報を送信する。端末位置情報には、測位時刻、緯度及び経度が含まれている。本実施形態においては、予め端末装置１０内で決定された送信タイミングによって端末位置情報を送信する例について説明する。しかし、端末装置１０の端末位置情報の送信タイミングは、位置情報サーバ３０によって設定されてもよい。
【００２６】
端末装置１０は、端末位置情報とともに、各端末装置１０を識別する識別情報（端末ＩＤ）、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、及び環境情報などを位置情報サーバ３０に送信する。ここで、端末ＩＤは、端末装置１０の所有者であるユーザのユーザＩＤと対応付けられている。なお、ユーザＩＤとは、ユーザを識別する識別情報である。ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、セルＩＤ情報、及びＷｉＦｉＡＰ情報については、後述する。これらの情報は、位置情報サーバ３０において、端末装置１０と対応付けられて管理されている。以下では、レコメンドシステム１において、端末位置情報と対応付けられている情報を対応情報と称することがある。ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、セルＩＤ情報、ＷｉＦｉＡＰ情報、ユーザの属性情報、及びＰＯＩ情報は、対応情報の例である。
【００２７】
また、端末装置１０は、アプリケーションサーバ５０からレコメンド情報を受信すると、当該アプリケーションサーバ５０に対応するアプリケーションを実行し、受信したレコメンド情報に基づく表示を行う。これにより、アプリケーションサーバ５０は、端末装置１０に、例えば、当該端末装置１０の位置に応じた広告等を表示させることができ、レコメンドを行うことができる。
【００２８】
［位置情報サーバの概要］
次に、位置情報サーバ３０の概要について説明する。
上述したように、位置情報サーバ３０は、端末位置情報を利用して、自装置、ＰＯＩサーバ４２、及び契約者情報サーバ４４から情報を抽出する。以下では、この処理を抽出処理と称する。また、抽出処理により抽出された情報を抽出結果と称する。抽出処理において、位置情報サーバ３０は、抽出条件を参照し、抽出条件に適合する情報を抽出結果として抽出する。この抽出条件とは、キー情報及びその値と、要求抽出結果情報とを定める情報である。キー情報とは、抽出処理における検索キーを定める情報である。また、要求抽出結果情報とは、抽出処理において、出力される情報の種類を定める情報である。抽出条件において定められるキー情報と要求抽出情報とは、それぞれ、位置情報サーバ３０、ＰＯＩサーバ４２、及び契約者情報サーバ４４において管理される端末位置情報及び対応情報の中から指定可能である。なお、本実施形態において、抽出条件は、アプリケーションサーバ５０ごとに定められる。また、抽出条件は、アプリケーションサーバ５０から送信されてもよいし、予め位置情報サーバ３０に記憶されていてもよい。
【００２９】
ここで、位置情報サーバ３０が実行する抽出処理には、第１の抽出方式と第２の抽出方式との２つの方式がある。
第１の抽出方式とは、端末位置情報を検索キーとして対応情報を抽出する方式である。第１の抽出方式において、位置情報サーバ３０は、例えば、端末位置情報を参照し、所定のエリアに所在する端末装置１０の端末識別情報を抽出する。
第２の抽出方式は、対応情報を検索キーとして端末位置情報を抽出する方式である。第２の抽出方式において、位置情報サーバ３０は、例えば、対応情報の一例である端末識別情報を参照し、特定の端末装置１０の端末位置情報を抽出する。
このように位置情報サーバ３０は、キー情報と抽出結果とのいずれかにおいて、端末位置情報を利用するため、アプリケーションサーバ５０は、端末装置１０の位置に応じたレコメンド情報を端末装置１０に送信することができる。
【００３０】
また、位置情報サーバ３０によるアプリケーションサーバ５０への端末位置情報の送信方式には、プル方式とプッシュ方式との２つの送信方式がある。
プル方式とは、位置情報サーバ３０が、アプリケーションサーバ５０から抽出条件を受信することに応じて、当該抽出条件に基づく抽出結果を要求元のアプリケーションサーバ５０に送信する方式である。
プッシュ方式とは、位置情報サーバ３０が、所定の時間間隔、所定の日時などの予め定められたタイミングで抽出処理を実行する方式である。プッシュ方式の場合、抽出条件は、例えば、予め位置情報サーバ３０に記憶されている。
【００３１】
また、上述したように、位置情報サーバ３０は、アプリケーションサーバ５０のうち、許諾アプリケーションに対応するアプリケーションサーバ５０に対してのみ、抽出した情報を送信する。位置情報サーバ３０は、許諾設定情報を参照することにより、アプリケーションサーバ５０が許諾アプリケーションに対応しているか否かを判定することができる。ここで、許諾設定情報とは、アプリケーションが、許諾アプリケーションであるか否かを示す情報である。換言すると、許諾設定情報とは、位置情報サーバ３０がアプリケーションサーバ５０に、抽出結果を送信するか否かを示す情報である。位置情報サーバ３０は、端末位置情報と許諾設定情報とを対応付けて記憶する。
【００３２】
ただし、端末装置１０が端末位置情報を取得した時点では、端末位置情報の利用が許諾されていなかったアプリケーションであっても、その後許諾期間が遡って変更された結果、その時点の端末位置情報の利用が許諾されることになった場合、位置情報サーバ３０は、その端末位置情報をアプリケーションサーバ５０に送信できる。つまり、位置情報サーバ３０は、端末位置情報の利用が許諾されている許諾期間に対応する端末位置情報をアプリケーションサーバ５０に送信する。端末位置情報を利用できる許諾期間は、いつでも変更可能である。
【００３３】
次に、許諾設定情報の設定について説明する。
ユーザは、端末位置情報の利用の許諾又は非許諾を、例えばアプリケーションごとに設定できる。
ユーザにより設定された許諾又は非許諾を示す設定値を、以下、許諾設定情報という。許諾設定情報は、例えば、各アプリケーションについて設定される設定値であって、端末位置情報の利用を許諾するか否かを示す設定値である。
ここで、ユーザには、端末装置１０の端末位置情報（例えば、自分の現在位置）を、自分以外の他者に知らせたい場合と、知らせたくない場合とがある。ユーザが端末位置情報を他者に知らせたい場合の一例としては、他者とある場所において待ち合わせをする場合や、ある場所の情報を取得したい場合などがある。この場合、ユーザは、端末位置情報の利用を許諾することにより、他者に端末装置１０の端末位置情報を提供することができる。また、ユーザが端末位置情報を他者に知らせたくない場合には、ユーザは、端末位置情報の利用を非許諾とすることにより、端末位置情報の提供を停止することができる。
【００３４】
また、ユーザは、現在以降の端末位置情報について、端末位置情報の利用の許諾又は非許諾を設定することができる。また、ユーザは、過去の端末位置情報について、端末位置情報の利用の許諾又は非許諾を、時間を遡って設定することができる。つまり、ここでいう端末位置情報の利用の許諾又は非許諾の設定には、新しい端末位置情報についての使用の諾否という意味と、既に登録されている端末位置情報の使用の諾否という意味が含まれる。
【００３５】
なお、ここでいうアプリケーションとは、端末装置１０にインストールされた場合に、所定の機能を提供するソフトウェアである。このアプリケーションには、端末装置１０にインストールされているアプリケーションと、端末装置１０にインストールされていないアプリケーションとがある。上述した許諾設定情報は、端末装置１０にインストールされているアプリケーションだけでなく、端末装置１０にインストールされていないアプリケーションに対して設定されてもよい。
【００３６】
また、アプリケーションには、認証サーバ４０によって認証されたアプリケーションと、認証サーバ４０による認証をされていないアプリケーションとがある。ここで認証サーバ４０によって認証されたアプリケーションとは、認証サーバ４０により端末装置１０において利用することが許可されたアプリケーションである。また、認証サーバ４０による認証をされていないアプリケーションとは、認証サーバ４０により端末装置１０において利用することが許可されていないアプリケーションである。上述した許諾設定情報は、認証サーバ４０により端末装置１０において利用することが許可されたアプリケーションだけでなく、認証サーバ４０により端末装置１０において利用することが許可されていないアプリケーションに対して設定されてもよい。
【００３７】
許諾設定情報は、さまざまな方法で設定可能である。例えば、端末装置１０において、アプリケーションごとに設定されていてもよい。また、端末装置１０が位置情報サーバ３０にアクセスして、位置情報サーバ３０で管理している全てのアプリケーションに対してそれぞれ設定してもよい。これにより、ユーザは、端末装置１０上でアプリケーションごとに許諾設定情報を設定できるだけでなく、位置情報サーバ３０にアクセスして、許諾設定情報を設定することができる。例えば、現在使用しているアプリケーションの一覧を端末装置１０に表示させて、ユーザは、一覧を見ながら、アプリケーションごと、会社ごと、又はアプリケーションの種別ごとに、許諾設定情報を設定できる。さらに、端末装置１０において新しいアプリケーションがインストールされた場合、その旨が位置情報サーバ３０へ自動的にアップロードされてもよく、位置情報サーバ３０からのプッシュ指示でアップロードされてもよい。位置情報サーバ３０は、端末装置１０に対して、新しくインストールされたアプリケーションについて、端末位置情報の利用を許諾するか否かを設定するよう求めてもよい。
【００３８】
また、許諾設定情報は、設定された時から将来において、端末位置情報の利用の許諾又は非許諾を設定する情報に限られない。許諾設定情報は、設定される時点よりも過去に遡って設定されてもよい。例えば、許諾設定情報として、端末位置情報の利用を許諾する期間を示す許諾期間が設定されてもよい。
【００３９】
許諾設定情報は、さまざまな方法で管理可能である。例えば、端末装置１０又は位置情報サーバ３０において、アプリケーションごと、又はユーザＩＤごとに、許諾又は非許諾が決められた許諾設定情報を保持する。また、端末装置１０及び位置情報サーバ３０の両方において許諾設定情報を保持してもよい。
【００４０】
位置情報サーバ３０は、さまざまな方法で、許諾設定情報を取得可能である。例えば、端末装置１０から受信した許諾設定情報に基づき、自身の記憶部に記憶されている許諾設定情報を更新してもよい。更新には、設定値がない状態から設定値が登録される処理と、設定値が他の値に変更される処理とを含む。また、位置情報サーバ３０は、端末装置１０において許諾期間が設定された場合、端末装置１０から受信した許諾期間を示す情報に基づき、自身の記憶部に記憶されている許諾設定情報を更新してもよい。
【００４１】
ここで、位置情報サーバ３０は、端末位置情報と許諾設定情報とを自身で対応付けてもよく、端末装置１０が対応付けた端末位置情報と許諾設定情報とを端末装置１０から取得してもよい。前者の方式を、以下、サーバ紐づけ方式という。後者の方式を、以下、端末紐づけ方式という。
【００４２】
サーバ紐づけ方式について説明する。この方式の場合、位置情報サーバ３０は、端末位置情報の利用が許諾されたアプリケーションであるか否かを示す許諾設定情報を保持しておく。位置情報サーバ３０は、端末装置１０から、端末位置情報を受信する。位置情報サーバ３０は、許諾設定情報を参照して、受信した端末位置情報に含まれる測位時刻に基づき、測位時刻において、端末位置情報を送信した端末装置１０のユーザにおいて端末位置情報の利用が許諾されているアプリケーションを特定する。なお、位置情報サーバ３０は、許諾設定情報を参照して、受信した端末位置情報に対応付けられた情報に基づき、端末位置情報を送信した端末装置１０のユーザにおいて端末位置情報の利用が許諾されているアプリケーションを特定してもよい。端末位置情報に対応付けられた情報には、端末ＩＤ、ユーザＩＤ、ＯＳ情報や、後述するウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、端末の電池残量などの情報が含まれる。
位置情報サーバ３０は、特定したアプリケーションの利用が許諾されていることを示す情報（許諾設定情報）を、端末位置情報に対応付けて記憶部に記憶させる。なお、端末装置１０が送信する許諾設定情報には、端末位置情報の利用が許諾されたアプリケーションを示すアプリケーションＩＤ又はアプリケーションの名称や種類が含まれる。また、端末装置１０が送信する許諾設定情報には、端末位置情報の利用が許諾された許諾期間を示す情報が含まれてもよい。
【００４３】
端末紐づけ方式について説明する。この方式の場合、端末装置１０は、端末位置情報の利用が許諾されたアプリケーションであるか否かを示す許諾設定情報を記憶部から読み出す。なお、許諾設定情報が位置情報サーバ３０に格納されている場合、端末装置１０は、位置情報サーバ３０の許諾設定情報を参照してもよい。端末装置１０は、許諾設定情報を参照して、位置情報サーバ３０に送信する端末位置情報に含まれる測位時刻に基づき、測位時刻において端末位置情報の利用が許諾されているアプリケーションを特定する。端末装置１０は、許諾設定情報を参照して、位置情報サーバ３０に送信する端末位置情報に対応付けられた情報に基づき、端末位置情報の利用が許諾されているアプリケーションを特定してもよい。
【００４４】
［アプリケーションサーバの概要］
アプリケーションサーバ５０は、複数のアプリケーションのそれぞれに対応したサーバ装置である。端末装置１０には、複数のアプリケーションプログラムをインストールすることができる。本実施形態においては、端末装置１０にアプリケーションプログラムＡ〜Ｃがインストールされている場合を一例にして説明する。この具体例においては、アプリケーションサーバ５０Ａは、アプリケーションプログラムＡに対応したサーバ装置である。また、アプリケーションサーバ５０Ｂは、アプリケーションプログラムＢに対応したサーバ装置である。また、アプリケーションサーバ５０Ｃは、アプリケーションプログラムＣに対応したサーバ装置である。このアプリケーションサーバ５０は、位置情報サーバ３０を介して、自身のアプリケーションの利用が許諾された端末装置１０の端末位置情報を検索キーとして抽出された対応情報、又は、対応情報を検索キーとして抽出された端末位置情報を受信する。
【００４５】
そして、アプリケーションサーバ５０は、位置情報サーバ３０から取得した抽出結果に基づいて、アプリケーション処理を実行する。ここで、アプリケーション処理とは、アプリケーションサーバ５０によるレコメンド情報の取得と、アプリケーションサーバ５０から端末装置１０へのレコメンド情報の送信とを含む。以下では、レコメンド情報の送信先の端末装置１０をレコメンド対象と称することがある。
アプリケーションサーバ５０は、アプリケーション処理において、位置情報サーバ３０から受信した抽出結果に応じたレコメンド情報を取得する。具体的には、アプリケーションサーバ５０は、例えば、抽出結果に基づいて、端末装置１０のユーザの行動などについて情報解析を行い、当該情報解析に基づいて、端末装置１０に送信するレコメンド情報の選択、生成などを行う。情報解析の例については、後述する。
【００４６】
［認証サーバの概要］
認証サーバ４０は、端末装置１０が位置情報サーバ３０と通信を開始する際に、各種の認証処理を行う。この認証サーバ４０が行う認証処理には、一例として、端末認証処理、ユーザ認証処理、又はアプリケーション認証処理が含まれている。これら認証処理の具体例について説明すると、端末認証処理において認証サーバ４０は、端末装置１０から送信された端末ＩＤと予め記憶しておいた端末ＩＤとが合致した場合に認証を成功させる。ここで、端末ＩＤとは、端末装置１０を識別するための固有の記号や番号などの情報である。ユーザ認証処理における認証サーバ４０は、端末装置１０から送信されたユーザＩＤと予め記憶しておいたユーザＩＤとが合致した場合に認証を成功させる。ここで、ユーザＩＤとは、端末装置１０を利用するユーザを識別するための固有の記号や番号などの情報である。アプリケーション認証処理における認証サーバ４０は、端末装置１０から送信されたアプリケーションＩＤと予め記憶しておいたアプリケーションＩＤとが合致した場合に認証を成功させる。ここで、アプリケーションＩＤとは、各アプリケーションプログラムを識別するための固有の記号や番号などの情報である。
【００４７】
認証サーバ４０による認証が成功した場合、認証サーバ４０は、端末装置１０にトークンを生成して、端末装置１０に送信する。認証サーバ４０から送信されたトークンは、端末装置１０に記憶される。これにより端末装置１０は、位置情報サーバ３０及びアプリケーションサーバ５０とセキュアな通信が可能となる。なお、トークンは任意のタイミングで更新されてもよい。これにより、端末装置１０は、さらにセキュアな通信が可能となる。
【００４８】
また、認証サーバ４０は、端末装置１０が携帯電話である場合、端末認証処理においてＩＰ（Internet Protocol）アドレス及び電話番号を用いてもよい。認証サーバ４０は、位置情報サーバ３０を介して、端末装置１０から送信されたＩＰアドレス及び電話番号を受信する。認証サーバ４０は、受信したＩＰアドレス及び電話番号と、正当なＩＰアドレス及び電話番号とを照合する。認証サーバ４０は、受信したＩＰアドレス及び電話番号が正当なＩＰアドレス及び電話番号と照合できた場合には、通信を許可する認証結果を位置情報サーバ３０に送信する。
【００４９】
［ＰＯＩサーバの概要］
ＰＯＩサーバ４２は、ＰＯＩ情報を蓄積している。ＰＯＩ情報は、少なくとも店舗等の緯度、経度を示す情報を含んでいる。ＰＯＩサーバ４２は、端末装置１０、位置情報サーバ３０又はアプリケーションサーバ５０から要求を受け付ける。この要求には、端末装置１０の端末位置情報が含まれる。ＰＯＩサーバ４２は、この要求の受け付けに応じて当該端末位置情報に対応したＰＯＩ情報を検索し、当該端末位置情報付近のＰＯＩ情報を返信する。なお、ＰＯＩ情報には、店舗等のロケーションＩＤ、ロケーション名、及びカテゴリ等を含んでいてもよい。これによりＰＯＩサーバ４２は、端末位置情報に対応したロケーションＩＤ、ロケーション名、及びカテゴリ等を検索結果として返信できる。
また、ＰＯＩサーバ４２は、ＰＯＩ情報をキーとして端末装置１０を検索してもよい。これによりＰＯＩサーバ４２は、ＰＯＩ情報に該当する端末装置１０を抽出して、検索結果として返信することができる。例えば、ＰＯＩサーバ４２は、ある店舗内に存在する端末装置１０を検索して、端末装置１０のユーザＩＤを返信することができる。
【００５０】
［端末装置の構成］
次に、図２を参照して、端末装置１０の構成について説明する。
図２は、実施形態に係る端末装置１０の構成を示すブロック図である。端末装置１０は、処理部１２、通信部１４、ＧＰＳ（Global Positioning System）測位部１６、及び記憶部１８を含む。端末装置１０は、ユーザに保有されて移動する機器である。端末装置１０は、例えば携帯電話又はスマートフォンであってもよい。
【００５１】
通信部１４は、位置情報サーバ３０との間で通信を行う。通信部１４は、例えば通信ＩＣチップにより構成されている。通信部１４は、処理部１２から供給された端末位置情報を所定の通信データに変換して位置情報サーバ３０に送信する。認証サーバ４０がアプリケーション認証をする場合には、端末位置情報に、アプリケーション認証が成功しているアプリケーションのアプリケーションＩＤが対応付けられていてもよい。位置情報サーバ３０又はアプリケーションサーバ５０から通信データを受信した場合、通信部１４は、受信した通信データに所定の処理を施して処理部１２に出力する。
【００５２】
ＧＰＳ測位部１６は、端末位置情報を取得する位置情報取得部として機能する。ＧＰＳ測位部１６は、自装置の位置を特定して端末位置情報を生成し、処理部１２に出力する。このときＧＰＳ測位部１６は、複数のＧＰＳ衛星からＧＰＳ衛星の位置及び時刻を含むＧＰＳ信号を受信する。ＧＰＳ測位部１６は、複数のＧＰＳ衛星と端末装置１０の距離を演算し、三角測量演算により自装置の位置を特定する。特定された位置及び時刻は、端末位置情報としてＧＰＳ測位部１６から処理部１２に供給される。
【００５３】
ＧＰＳ測位部１６は、スリープ状態と、通常動作状態との少なくとも２つの状態で動作する。このうち、スリープ状態とは、測位を実施せずに待機している状態であって、通常動作状態よりも消費電力が少ない状態である。また、通常動作状態とは、測位を実施する状態であって、スリープ状態よりも消費電力が多い状態である。ＧＰＳ測位部１６は、処理部１２による起動要求、及び、通常動作の完了によって、状態を遷移させる。具体的には、ＧＰＳ測位部１６の動作状態は、処理部１２による起動要求をトリガにして、スリープ状態から通常動作状態に遷移する。また、ＧＰＳ測位部１６の動作状態は、測位演算が完了したことをトリガにして、通常動作状態からスリープ状態に遷移する。ここで、起動要求とは、処理部１２がＧＰＳ測位部１６に対して出力する要求であって、自装置の位置を特定して端末位置情報を生成する処理の実行を要求するコマンドである。
【００５４】
換言すれば、ＧＰＳ測位部１６は、処理部１２から出力される起動要求の入力を待機している期間においてスリープ状態となっている。スリープ状態とは、省電力で動作している状態であり、起動要求により解除される。ＧＰＳ測位部１６は、処理部１２から起動要求を入力することに応じて起動する。これによりＧＰＳ測位部１６は、スリープ状態から通常動作状態に切り替わる。起動要求は、自装置の端末位置情報を取得する命令である。ＧＰＳ測位部１６は、起動要求に応じて端末位置情報を取得して処理部１２に出力すると、所定時間後にスリープ状態となる。
【００５５】
なお、端末位置情報を取得する位置情報取得部は、他の方式により端末位置情報を取得してもよい。
この位置情報取得部は、セルＩＤ（携帯電話基地局）方式によって端末位置情報を取得してもよい。このセルＩＤ方式は、端末装置１０が携帯電話端末の場合、携帯電話端末としての通信機能を応用して、３つ以上の携帯電話基地局の電波情報に基づいて端末装置１０の現在地を算出する。
位置情報取得部は、Ｗｉ−Ｆｉ方式によって端末位置情報を取得してもよい。Ｗｉ−Ｆｉ方式は、端末装置１０周辺の無線ＬＡＮのアクセスポイントから送信される電波を検出し、アクセスポイントの端末位置情報に基づいてアクセスポイント又は所定のサーバ等から端末装置１０の端末位置情報を取得する。
さらに、位置情報取得部は、ネットワーク測位方式によって端末位置情報を取得してもよい。ネットワーク測位方式は、セルＩＤ方式とＷｉ−Ｆｉ方式による測位で端末位置情報を取得する。
このように、位置情報取得部は、ＧＰＳ測位方式のみならず、セルＩＤ方式又はＷｉ−Ｆｉ方式を用いる構成であっても、処理部１２からの起動要求に応じてスリープ状態から起動して、端末位置情報を取得できる。
本実施形態において、端末装置１０は、端末位置情報の取得方式として、Ｗｉ−Ｆｉ方式及びセルＩＤ方式よりも、ＧＰＳ測位部１６による測位方式を優先する。端末装置１０は、例えば自装置が屋内にいる等のＧＰＳ測位部１６に測位ができない状況において、ＧＰＳ測位部１６による測位に代えて、セルＩＤ方式又はＷｉ−Ｆｉ方式による測位に切り替える。
【００５６】
処理部１２は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部又は全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア機能部であってもよい。
【００５７】
処理部１２は、アプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃ（以下、総称する場合には単に「アプリケーション処理部１２０」と呼ぶ。）を有する。アプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃは、ＣＰＵがアプリケーションプログラムＡ、Ｂ、Ｃを実行することにより機能するソフトウェア機能部である。本実施形態において、複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃは、それぞれ任意のアプリケーション処理を実行する。また、本実施形態では、アプリケーションプログラムＡ、Ｂ、Ｃの３つを実行する例について説明するが、これに限られない。アプリケーション処理部１２０は、２以上のアプリケーションプログラムを同時に実行するものであればよい。
【００５８】
端末装置１０は、アプリケーションプログラムＡ、Ｂ、Ｃの起動時にアプリケーション認証のための動作を行ってもよい。この場合、端末装置１０は、アプリケーションプログラムが起動する際に、アプリケーションプログラムごとに予め定められているアプリケーションＩＤを認証サーバ４０に送信する。より具体的には、端末装置１０は、アプリケーションプログラムＡが起動する際に、アプリケーションプログラムＡを示すアプリケーションＩＤを認証サーバ４０に送信する。端末装置１０は、認証サーバ４０からアプリケーション認証が許可されたか否かの認証結果を受信する。端末装置１０は、認証結果が「許可」の場合のみアプリケーションプログラムの起動を許可する。
【００５９】
処理部１２は、同時に複数のアプリケーションプログラムＡ、Ｂ、Ｃが実行可能である。処理部１２は、複数のアプリケーションプログラムＡ、Ｂ、Ｃのうち優先度の低いアプリケーションプログラムをバックグラウンドで実行する。なお、アプリケーションプログラムＡ、Ｂ、Ｃは、所定期間ごとにＧＰＳ測位部１６に対して起動要求を出力することが設定されていてもよい。所定期間は、アプリケーションプログラムＡ、Ｂ、Ｃごとに設定されていてもよい。所定期間は、例えば、１分、１０分、１時間などが挙げられ、また、この所定期間は、端末装置１０の位置などに応じて変更されてもよい。
【００６０】
また、この所定期間は、各アプリケーションに対応する各アプリケーションサーバ５０が、レコメンドを行う上で適した頻度に設定される。具体的には、例えば、レコメンド情報としてユーザの所在地近傍の店舗の広告情報を送信するアプリケーションサーバ５０の場合、店舗の密集地帯に端末装置１０が位置している場合、より高い頻度で取得された端末位置情報に基づいてレコメンド情報を送信することができれば、よりユーザに近い位置の店舗の広告を配信することができるため、質の高いレコメンドが行えることがある。これに対して、店舗の過疎地帯に端末装置１０が位置している場合、低い頻度で取得された端末位置情報であっても、レコメンドには十分であることがある。このように、レコメンドシステム１において、レコメンドに適した端末位置情報の取得頻度は、アプリケーション及びアプリケーションサーバ５０ごとに異なっている。
【００６１】
本実施形態の端末装置１０は、アプリケーションプログラムが起動要求を出力するものであっても、位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちいずれか１つがＧＰＳ測位部１６に起動要求を出力する。
端末装置１０は、この１つの位置情報取得制御部１２２を、例えば、起動要求を行う頻度が最も高い位置情報取得制御部１２２とすることにより、レコメンドの質を維持しつつ、測位に伴う電力の消費を抑制することができる。
【００６２】
記憶部１８は、アプリケーションプログラムＡ、Ｂ、Ｃのそれぞれに付属する端末位置情報ライブラリを記憶している。実施形態において、アプリケーションプログラムＡには、端末位置情報ライブラリＡが付属している。また、アプリケーションプログラムＢには、端末位置情報ライブラリＢが付属しており、アプリケーションプログラムＣには、端末位置情報ライブラリＣが付属している。以下の説明において、これら端末位置情報ライブラリＡ、Ｂ、Ｃを総称して、端末位置情報ライブラリという。
【００６３】
端末位置情報ライブラリとは、端末装置１０のＣＰＵによって実行されるソフトウェアである。すなわち、端末装置１０において、ＣＰＵが端末位置情報ライブラリを実行する。これにより、端末装置１０は、ソフトウェア機能部として位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃ（以下、総称する場合には単に「位置情報取得制御部１２２」と呼ぶ。）を構成する。すなわち、処理部１２は、これら位置情報取得制御部１２２をアプリケーションごとに有している。
【００６４】
位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃは、ＧＰＳ測位部１６に対して、起動要求を出力する。実施形態において、起動要求は、位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちいずれか１つから出力される。位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃは、この起動要求に応じてＧＰＳ測位部１６により生成された端末位置情報を取得し、取得した端末位置情報をアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃに出力する。実施形態において、ＧＰＳ測位部１６は、生成した端末位置情報を、起動要求を出力した位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちいずれか１つに出力する。端末位置情報が入力した位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちいずれか１つは、他の位置情報取得制御部に対して端末位置情報を出力してもよい。これにより、各アプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃは、ＧＰＳ測位部１６が生成した端末位置情報の利用が可能になる。
【００６５】
ここで、位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃは、許諾設定情報に基づき、端末位置情報の利用を許諾されているアプリケーションに対応するアプリケーション処理部１２０に対して、端末位置情報を出力してもよい。つまり、位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃは、端末位置情報の利用を許諾されていないアプリケーションに対応するアプリケーション処理部１２０に対しては端末位置情報を出力しない。位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃは、端末装置１０に記憶されている許諾設定情報を参照してもよく、位置情報サーバ３０に記憶されている許諾設定情報を参照してもよい。
【００６６】
なお、アプリケーションプログラムＡ、Ｂ、Ｃには、それぞれに端末位置情報ライブラリＡ、Ｂ、Ｃが付属しているが、必ずしも、すべての位置情報取得制御部１２２Ａ、１２２Ｂ、１２２ＣがＧＰＳ測位部１６に対して起動要求を出力しなくてもよい。つまり、処理部１２には、複数の位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうち、端末位置情報を取得させて端末位置情報をアプリケーション処理部１２０に利用可能にする一つの位置情報取得制御部１２２が存在していればよい。「一つの位置情報取得制御部１２２」は、後述するマスタとされた端末位置情報ライブラリにより実現される。「一つの位置情報取得制御部１２２」は、図３を参照して後述するように、複数のアプリケーションに対応した１つの端末位置情報ライブラリとして付属していてもよい。
【００６７】
アプリケーション処理部１２０は、一つの位置情報取得制御部１２２によってＧＰＳ測位部１６に取得させる端末位置情報を利用する。
端末装置１０において、「端末位置情報を利用する」とは、端末装置１０内で端末位置情報を使用することを含む。アプリケーション処理部１２０は、例えば、端末位置情報を使用することにより、ＧＰＳ測位部１６により取得された端末位置情報に基づいて自装置の位置を地図上に表示させることができる。
端末装置１０において、「端末位置情報を利用する」とは、ＧＰＳ測位部１６により取得した端末位置情報に基づく情報を使用することを含む。端末位置情報に基づく情報は、端末位置情報を用いることによって得られた新たな情報である。端末位置情報に基づく情報は、端末装置１０内で端末位置情報に基づいて処理をしたことによって得られた情報であってもよく、アプリケーションサーバ５０内で端末位置情報に基づいて処理したことによって得られた情報であってもよい。例えば、アプリケーション処理部１２０は、自装置の位置に近い店舗の広告情報を抽出して、広告情報をプッシュ広告として表示してもよい。アプリケーション処理部１２０は、アプリケーションサーバ５０によって端末位置情報に基づいて抽出された広告情報を受信して、広告情報をプッシュ広告として表示してもよい。
【００６８】
アプリケーション処理部１２０は、一つの位置情報取得制御部１２２が取得する端末位置情報を利用可能にする。「端末位置情報を利用可能にする」とは、端末装置１０以外の装置に端末位置情報を取得させ、端末装置１０以外の装置に端末位置情報を処理可能にすることを含む。
このために、アプリケーション処理部１２０は、ＧＰＳ測位部１６により取得された端末位置情報の利用を許可する。このときアプリケーション処理部１２０は、端末位置情報を送信することを許可するかをユーザに問い合わる。ユーザが端末位置情報の送信を許可した場合、アプリケーション処理部１２０は、端末位置情報の利用を許可する許可情報を生成する。アプリケーション処理部１２０は、生成した許可情報を位置情報サーバ３０に送信する。位置情報サーバ３０は、端末装置１０から送信された許可情報を受信した後、以降において端末装置１０から送信された端末位置情報を蓄積して、アプリケーションサーバ５０等に送信できる。これによりアプリケーション処理部１２０は、アプリケーションサーバ５０によって端末位置情報を利用して、端末装置１０の位置の解析等を行わせることができる。
【００６９】
さらに、アプリケーション処理部１２０は、予め端末装置１０にインストールされたものである。アプリケーション処理部１２０は、端末位置情報ライブラリが端末装置１０に供給されることに伴って、端末装置１０にインストールされたものであってもよい。具体的には、端末位置情報ライブラリが付属したアプリケーションプログラムを同時にダウンロードして端末装置１０にインストールする。これにより端末装置１０は、アプリケーション処理部１２０及び位置情報取得制御部１２２を備えることができる。
【００７０】
端末位置情報ライブラリは、ユーザの許可に応じてダウンロードされる。アプリケーションプログラムを起動している時に、アプリケーション処理部１２０は、自装置の端末位置情報の送信を許可するかを問い合わせる画面を表示させる。ユーザの操作に基づいて端末位置情報の送信が許可された場合、アプリケーション処理部１２０は、端末位置情報ライブラリのダウンロード要求を送信させる。
位置情報サーバ３０は、ダウンロード要求を受信したことに応じて端末位置情報ライブラリを端末装置１０に送信する。これにより端末装置１０は、端末位置情報ライブラリのダウンロードを開始する。処理部１２は、ダウンロードが完了すると、端末位置情報ライブラリを各アプリケーションプログラムに付属させる。
【００７１】
処理部１２は、ダウンロードした端末位置情報ライブラリを他のアプリケーションに付属させてもよい。処理部１２は、ダウンロードした端末位置情報ライブラリを複製し、端末位置情報ライブラリが付属していないアプリケーションに組み込む。これにより処理部１２は、端末位置情報ライブラリが付属していないアプリケーションに端末位置情報ライブラリを付属させることができる。
処理部１２は、既にアプリケーションに組み入れられている古いバージョンの端末位置情報ライブラリに代えて最新バージョンの端末位置情報ライブラリに更新してもよい。これにより処理部１２は、アプリケーションの端末位置情報ライブラリを最新なものに更新することができる。
【００７２】
上述の通り、位置情報取得制御部１２２は、ＧＰＳ測位部１６に起動要求を行う。複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃに付属した複数の位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちの一つの位置情報取得制御部１２２が、ＧＰＳ測位部１６に起動要求を行う。複数の位置情報取得制御部１２２のうち起動要求を行う一つの位置情報取得制御部１２２は、予め特定されている。すなわち、複数のアプリケーションプログラムＡ、Ｂ、Ｃのうちどのアプリケーションプログラムの位置情報取得制御部１２２からＧＰＳ測位部１６に起動要求を出力するかは特定されている。
【００７３】
複数の位置情報取得制御部１２２のうち、起動要求を出力した位置情報取得制御部１２２には、ＧＰＳ測位部１６から端末位置情報が供給される。この位置情報取得制御部１２２は、ＧＰＳ測位部１６から端末位置情報が供給されたことを、他の位置情報取得制御部１２２に通知する。この、他の位置情報取得制御部１２２は、端末位置情報が供給されたことを示す通知に応じて、起動要求を出力した位置情報取得制御部１２２に対して端末位置情報を要求する。起動要求を出力した位置情報取得制御部１２２は、他の位置情報取得制御部１２２からの要求に応じて、他の位置情報取得制御部１２２に対して端末位置情報を出力する。ここで、起動要求を出力した位置情報取得制御部１２２とは、予め特定されたアプリケーションに付属した位置情報取得制御部１２２である。また、他の位置情報取得制御部１２２とは、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部１２２である。つまり、予め特定されたアプリケーションに付属した位置情報取得制御部１２２は、他のアプリケーションに付属した位置情報取得制御部１２２に端末位置情報を出力する。これにより、他のアプリケーションに付属した位置情報取得制御部１２２は、ＧＰＳ測位部１６に起動要求を行うことなく、ＧＰＳ測位部１６が生成した端末位置情報を取得することができる。
【００７４】
ここで、予め特定されたアプリケーションに付属した位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２とも称する。また、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部１２２を、マスタの権限を有しない位置情報取得制御部１２２、又は、スレーブの位置情報取得制御部１２２とも称する。
換言すれば、起動要求を出力する一つの位置情報取得制御部１２２は、他の位置情報取得制御部１２２に対してマスタの権限を有する。他の位置情報取得制御部１２２は、マスタの位置情報取得制御部１２２に対してスレーブとして機能する。他の位置情報取得制御部１２２は、ＧＰＳ測位部１６に対して起動要求を送信しない。他の位置情報取得制御部１２２は、マスタの位置情報取得制御部１２２から通知を受けた場合に、マスタの位置情報取得制御部１２２に端末位置情報を要求して、端末位置情報を取得する。
【００７５】
記憶部１８は、各種の情報を記憶する記録媒体である。記憶部１８は、位置情報取得制御部１２２により取得された端末位置情報を蓄積する。記憶部１８は、端末位置情報を時系列で記憶する。また、記憶部１８は、許諾設定情報を記憶してもよい。許諾設定情報には、端末位置情報の利用が許諾された日時を示す情報、端末位置情報の利用が非許諾にされた日時を示す情報等が含まれてもよい。
【００７６】
また、記憶部１８には、位置情報取得制御部１２２が動作するための位置取得制御用プログラムとしての端末位置情報ライブラリが記憶される。位置取得制御用プログラムは、コンピュータにより読込可能なプログラムである。
【００７７】
さらに、記憶部１８には、以下の情報が記憶されている。
記憶部１８には、端末装置１０に割り当てられた端末ＩＤが格納されている。
記憶部１８には、端末装置１０のユーザに割り当てられたユーザＩＤが格納されている。
記憶部１８には、端末位置情報が示す位置において端末装置１０がアクセスしたウェブページへのアクセス履歴や起動したウェブブラウザの操作履歴に関するウェブ履歴情報が格納されている。ウェブ履歴情報には、端末装置１０が企業の広告、又は、ホームページ等のＷｅｂページにアクセスした時刻とアクセスしたＷｅｂページのアドレスとが含まれる。
【００７８】
記憶部１８には、端末位置情報が示す位置において端末装置１０が実行したプログラムに関するプログラム実行履歴情報が格納されている。プログラム実行履歴情報には、端末装置１０がプログラムを実行した時刻と実行したプログラムの名称や種類が含まれる。なお、プログラム実行履歴情報には、プログラムの起動された時刻と、スリープ状態からのプログラムが再起動された時刻とが含まれる。端末装置１０が実行するプログラムには、例えば、カメラプログラム、メールプログラム、電話プログラム、音楽再生プログラム（再生した楽曲名などを含んでもよい）、電卓プログラム等が含まれる。
【００７９】
記憶部１８には、端末位置情報が示す位置において端末装置１０が受け付けたユーザからの操作に関する操作履歴情報が格納されている。操作履歴情報には、端末装置１０が操作を受け付けた時刻と受け付けた操作の名称や種類が含まれる。端末装置１０が受け付ける操作には、例えば、電源をＯＮする操作、電源をＯＦＦする操作、スピーカ音量の調節操作、省電力モードへの切替操作等が含まれる。
【００８０】
記憶部１８には、端末位置情報が示す位置において端末装置１０が充電モードであるか否かを示す充電履歴情報が格納されている。充電履歴情報には、端末装置１０が充電を開始した時刻と充電を終了した時刻とが含まれる。また、充電履歴情報には、端末装置１０の充電容量の残容量や残容量の割合が含まれていてもよい。
【００８１】
記憶部１８には、端末位置情報が示す位置における端末装置１０の姿勢の変化を示す姿勢変化情報が格納されている。姿勢変化情報には、端末装置１０の姿勢が変化した時刻が含まれる。なお、端末装置１０の姿勢の変化は、後述する加速度センサ等により検出される。
【００８２】
記憶部１８には、端末位置情報が示す位置において端末装置１０が取得した環境情報が格納されている。環境情報には、端末装置１０が収集した音情報や、近距離通信の通信履歴等が含まれる。端末装置１０が収集した音情報は、例えば店舗で流される可聴音や不可聴音に関する情報である。近距離通信の通信履歴は、例えばBluetooth（登録商標）及び赤外線等の通信を行った時刻等が含まれる。
【００８３】
記憶部１８には、端末位置情報が示す位置において、端末装置１０が所在したセルを識別するセルＩＤが格納されている。セルＩＤには、端末装置１０がセルを形成する基地局と通信を開始した時刻と、通信を終了した時刻とが含まれる。
【００８４】
記憶部１８には、端末位置情報が示す位置において、端末装置１０が通信するＷｉＦｉネットワークのアクセスポイント（ＡＰ、Access Point）を識別するＷｉＦＩＡＰ情報が格納されている。ＷｉＦｉＡＰ情報には、端末装置１０がアクセスポイントと通信を開始した時刻と、通信を終了した時刻とが含まれる。
【００８５】
ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、セルＩＤ情報、及びＷｉＦｉＡＰ情報は、処理部１２により生成される。
【００８６】
位置情報取得制御部１２２は、位置情報サーバ３０に端末位置情報を送信する場合に、記憶部１８に蓄積した端末位置情報を読み出して、通信部１４に出力する。これにより位置情報取得制御部１２２は、記憶部１８から読み出した端末位置情報を、通信部１４から位置情報サーバ３０に送信させる。なお、位置情報取得制御部１２２は、端末位置情報とともに、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報及び環境情報の全部又は一部を送信してもよい。
【００８７】
さらに、位置情報取得制御部１２２は、端末位置情報を記憶部１８から読み出して通信部１４により通信させる度に、端末位置情報の送信完了又は送信不能を送信履歴として記憶させてもよい。位置情報取得制御部１２２は、例えば自装置周辺の電波の影響により端末位置情報の送信ができない場合には、端末位置情報の送信を中止し、当該端末位置情報に対応づけて送信不能であるという送信履歴を記憶部１８に記憶させる。位置情報取得制御部１２２は、送信タイミングにおいて送信履歴を参照し、前回の送信タイミング以降にＧＰＳ測位部１６により取得された端末位置情報、及び送信不能の端末位置情報を記憶部１８から読み出し、通信部１４により通信させる。これにより、位置情報取得制御部１２２は、端末位置情報の送信ができない状況が生じても、端末位置情報を漏れなく送信できる。
【００８８】
位置情報取得制御部１２２は、端末位置情報に、ユーザＩＤ、端末ＩＤ、端末機種名、及びＯＳ（Operating System）の種別等の端末装置１０に関する情報を対応付けて、通信部１４を介して位置情報サーバ３０に送信してもよい。さらに、位置情報取得制御部１２２は、端末位置情報に、端末位置情報の測位方式、及び当該測位方式で測位された端末位置情報の測位誤差を対応づけて送信してもよい。測位方式としては、例えばＧＰＳ測位方式、セルＩＤ方式、Ｗｉ−Ｆｉ方式、又はネットワーク測位方式が挙げられる。さらに、端末装置１０がＷｉ−Ｆｉネットワークに存在する場合、位置情報取得制御部１２２は、端末位置情報に、Ｗｉ−ＦｉネットワークのアクセスポイントのＩＤを対応付けて送信してもよい。さらに、端末装置１０がBluetooth（登録商標）機能を起動して通信している場合、位置情報取得制御部１２２は、端末位置情報に、Bluetooth（登録商標）端末としてのＩＤを対応付けて送信してもよい。また、端末位置情報のそれぞれについて、許諾設定できてもよい。
また、位置情報取得制御部１２２は、位置情報サーバ３０を介さずに、アプリケーションサーバ５０に直接的に端末位置情報を送信してもよい。
【００８９】
位置情報取得制御部１２２は、所定条件となった場合に、端末装置１０から位置情報サーバ３０に端末位置情報を送信させる。所定条件は、予め端末装置１０内で決定された送信タイミングである。所定条件は、位置情報サーバ３０から送信された所定期間であってもよい。これにより端末装置１０は、位置情報サーバ３０が要求する頻度で位置情報サーバ３０に端末位置情報を送信できる。
所定条件は、アプリケーションによって設定されたタイミングであってもよい。例えば、端末装置１０は、位置情報サーバ３０のプッシュ指示に従い、端末位置情報を測位してもよい。また、位置情報サーバ３０のプッシュ指示は、アプリケーションサーバ５０から位置情報サーバ３０に指示される測位タイミングに従って行われてもよい。これにより端末装置１０は、アプリケーションが要求する頻度で位置情報サーバ３０に端末位置情報を送信できる。
所定条件は、位置情報サーバ３０を介さずにアプリケーションサーバ５０に直接的に端末位置情報を送信する場合、アプリケーションサーバ５０から送信された所定期間であってもよい。これにより端末装置１０は、アプリケーションサーバ５０が要求する頻度で、アプリケーションサーバ５０に端末位置情報を送信できる。
【００９０】
次に、端末紐づけ方式が採用されているシステムにおいて、端末位置情報に端末位置情報の利用が許可されたアプリケーションであるか否かを示す情報を対応付ける一例について説明する。
例えば、処理部１２が、端末位置情報に、端末位置情報の利用が許可されたアプリケーションであるか否かを示す情報を対応付ける。なお、処理部１２に限られず、マスタの権限を有する位置情報取得制御部１２２が、端末位置情報に、端末位置情報の利用が許可されたアプリケーションであるか否かを示す情報を対応付けてもよい。処理部１２は、許諾設定情報を参照して、端末装置１０のユーザにより端末位置情報の利用が許諾されているアプリケーションを示すアプリケーションＩＤと、許諾期間において取得された端末位置情報とを対応付ける。許諾期間とは、例えば、ユーザにより端末位置情報の利用が許諾されている期間である。許諾期間は、アプリケーションプログラムごとにユーザにより設定される。許諾期間は、許諾設定情報に含まれる。
【００９１】
上述の通り、ＧＰＳ測位部１６は、マスタの権限を有する位置情報取得制御部１２２が出力した起動要求に応じて、端末位置情報を測位する。しかし本実施形態において、処理部１２は、端末位置情報が測位されたときに端末位置情報の利用が許諾されている全てのアプリケーションを示すアプリケーションＩＤを端末位置情報に対応付ける。つまり、処理部１２は、起動要求を出力したマスタの権限を有するアプリケーションに限られず、スレーブの権限を有するアプリケーションを示すアプリケーションＩＤも含めて、端末位置情報に対応付ける。このようにして対応付けられた端末位置情報と許諾設定情報を受信することにより、位置情報サーバ３０は、以下のような情報を対応テーブル３８Ｔに書き込む。
【００９２】
例えば、アプリＡの測位間隔が５分毎であり、アプリＢの測位間隔が１時間であり、アプリＣの測位間隔が３時間であるとする。ここで、アプリＡがマスタ権限を有する場合、位置情報サーバ３０の対応テーブル３８Ｔには、５分間隔に測位された端末位置情報が書き込まれる。また、アプリＡ〜Ｃのそれぞれにおいて、端末位置情報の利用が許諾されている場合、対応テーブル３８Ｔの許諾設定情報の“アプリＡ”と“アプリＢ”と“アプリＣ”の欄に“○”が書き込まれる。これにより、位置情報サーバ３０は、アプリＡ〜Ｃのアプリケーションサーバ５０Ａ〜５０Ｃの全てに対して、５分間隔に測位された端末位置情報を提供できる。また、アプリＢ，Ｃのアプリケーションサーバ５０Ｂ，５０Ｃは、自身においてそれぞれ規定の測位間隔よりも短い間隔で測位された端末位置情報を利用できる。
【００９３】
図３に端末装置１０の他の構成例を示す。端末装置１０は、図２に示した構成に限らず、図３に示すように構成されていてもよい。図３の端末装置１０は、複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃに対して１つの位置情報取得制御部１２２を有している。位置情報取得制御部１２２は、複数のアプリケーションに対応した１つの端末位置情報ライブラリとして実装される。
【００９４】
図４に端末装置１０のさらに他の構成例を示す。この端末装置１０において、位置情報取得部１６０は、上述したＧＰＳ測位部１６に加えて、加速度センサ１６１を含んでいる。加速度センサ１６１は、自装置である端末装置１０に加わる加速度の変化に応じて物理量が変化する。この加速度センサ１６１は、半導体静電容量センサであってもよい。
なお、端末装置１０は、自装置の挙動を検出するため、重力センサ、ジャイロセンサ、又は地磁気センサを含んでいてもよい。本実施形態においては、加速度センサ１６１のみを備えることを説明するが、これらの重力センサ、ジャイロセンサ、又は地磁気センサは、加速度センサ１６１と共に、又は、加速度センサ１６１に代えて備えていてもよい。
【００９５】
加速度センサ１６１により検出された加速度は、端末装置１０の挙動に相当する。位置情報取得部１６０は、加速度センサ１６１により検出された挙動に基づいて自装置の移動を検出する。位置情報取得部１６０は、自装置の移動を検出したことに応じて移動量を更新する。この移動量は、実際の端末装置１０の移動量とは異なり、端末装置１０の挙動から推定される移動量である。この移動量は位置情報取得部１６０から処理部１２に出力される。これにより、処理部１２は、移動量に応じて変化する自装置の端末位置情報を記憶部１８に蓄積することができる。
【００９６】
なお、位置情報取得部１６０は、加速度センサ１６１における物理量の変化に基づいて自装置が移動したことを検知してもよい。位置情報取得部１６０は、自装置が移動したことを検知したことに応じて、位置情報取得制御部１２２により測位タイミングを判定させることができる。例えば、位置情報取得制御部１２２は、自装置が移動状態である場合に、測位タイミングであることを判定することができる。また、位置情報取得制御部１２２は、単位時間当たりの移動距離又は所定位置からの移動距離が所定距離（例えば１００メートル）を超えている場合には、測位タイミングであることを判定することができる。
【００９７】
さらに位置情報取得制御部１２２は、通信部１４が通信可能な通信エリアの識別子に基づいて測位タイミングを判定してもよい。この通信エリアの識別子としては、基地局のセルＩＤ又はＷｉ−ＦｉネットワークにおけるアクセスポイントＩＤが挙げられる。位置情報取得制御部１２２は、通信部１４により検出された通信エリアの識別子が変更したことを判定したタイミングを、測位タイミングであると判定できる。
【００９８】
次に、端末装置１０の動作を説明する。図５は、図２に示すように構成された端末装置１０によって、マスタの権限を有する位置情報取得制御部１２２を決定するマスタ決定処理を行うかを判定するフローチャートである。図５はマスタ決定処理の処理手順を示すフローチャートである。
【００９９】
まず、図５のステップＳ１００において、端末装置１０は、処理部１２によって複数のアプリケーションプログラムを同時に起動しているか否かを判定する。複数のアプリケーションプログラムが起動している場合にはステップＳ１０２に処理を進める。１つのアプリケーションプログラムしか起動していない場合には、端末装置１０は、この判定を繰り返す。
【０１００】
ステップＳ１０２において、処理部１２は、図６のマスタ決定処理を行う。このマスタ決定処理は、各位置情報取得制御部１２２の処理部１２によって行うものとして説明する。なお、このマスタ決定処理は、あくまで一例であり、他の処理によってマスタとしての端末位置情報ライブラリを決定してよいのは勿論である。
【０１０１】
先ず図６のステップＳ２００において、処理部１２は、自装置の現在の動作モードが省電力モードであるか否かを判定する。このとき処理部１２は、自装置における電池残量を参照する。処理部１２は、電池残量が所定値以下である場合には省電力モードであることを判定する。省電力モードである場合にはステップＳ２０２に処理を進め、そうでない場合にはステップＳ２０４に処理を進める。なお、処理部１２は、ユーザの操作によって省電力モードに設定されていることを検知してもよい。
【０１０２】
次のステップＳ２０２において、処理部１２は、省電力モードに対応したアプリケーションプログラムに付属された位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２に決定する。このとき処理部１２は、バージョンが古いアプリケーションプログラムに付属された位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２に決定してもよい。処理部１２は、取得する情報が少ないアプリケーションプログラムに付属された位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２に決定してもよい。処理部１２は、マスタの権限を有する位置情報取得制御部１２２以外の位置情報取得制御部１２２を、スレーブの位置情報取得制御部１２２に決定する。
【０１０３】
ステップＳ２０４において、処理部１２は、所定のマスタ決定条件に合致する位置情報取得制御部１２２を検出する。所定のマスタ決定条件は、端末位置情報ライブラリをマスタの権限を有する位置情報取得制御部１２２とするための条件が予め設定されている。この所定のマスタ決定条件は、複数のアプリケーションのうち、ＧＰＳ測位部１６に起動要求を行う頻度が高いアプリケーションに付属した位置情報取得制御部１２２、であってもよい。この場合、処理部１２は、アプリケーションプログラムの起動時間の履歴を含むデータを参照する。処理部１２は、起動回数が最も多いアプリケーションを検出する。これにより処理部１２は、起動回数が最も多いアプリケーションに付属した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出する。
所定のマスタ決定条件は、複数のアプリケーションのうち最先に起動したアプリケーションに付属した位置情報取得制御部１２２、であってもよい。この場合、処理部１２は、アプリケーションの起動時間の履歴を含むデータを参照する。処理部１２は、現在起動しているアプリケーションのうち起動時刻が最も古いアプリケーションを検出する。起動時刻が最も古いアプリケーションに付属した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出する。
所定のマスタ決定条件は、複数の端末位置情報ライブラリのうちバージョンが最新の端末位置情報ライブラリ、であってもよい。この場合、処理部１２は、複数のアプリケーションに付属している各端末位置情報ライブラリのバージョン情報を参照する。処理部１２は、端末位置情報ライブラリのバージョン情報のうち最新のバージョン情報の端末位置情報ライブラリを検出する。処理部１２は、最新のバージョン情報の端末位置情報ライブラリに対応した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出する。
【０１０４】
なお、所定のマスタ決定条件には、他の条件も含まれていてもよい。処理部１２は、インストール日時が最も古いアプリケーションプログラムであって、削除される可能性が低いアプリケーションプログラムに付属した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出してもよい。また、処理部１２は、取得する端末位置情報の種別が最も多いアプリケーションに付属した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出してもよい。さらに処理部１２は、測位頻度が最も多いアプリケーションに付属した位置情報取得制御部１２２を、マスタ候補の位置情報取得制御部１２２として検出してもよい。
【０１０５】
ステップＳ２０６において、処理部１２は、ステップＳ２０４において検出された所定のマスタ決定条件に該当する位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２に決定する。処理部１２は、マスタの権限を有する位置情報取得制御部１２２以外の位置情報取得制御部１２２を、スレーブの権限を有する位置情報取得制御部１２２に決定する。なお、処理部１２は、マスタ候補の位置情報取得制御部１２２が複数検出された場合には、所定のマスタ決定条件に合致した数が多い位置情報取得制御部１２２を、マスタの権限を有する位置情報取得制御部１２２に決定してもよい。
【０１０６】
なお、この実施形態において、位置情報サーバ３０がマスタの権限を有する位置情報取得制御部１２２を決定してもよい。位置情報サーバ３０は、端末装置１０から、起動しているアプリケーションの情報及びユーザが端末位置情報の利用を許可した許可情報を定めたリストを受信する。位置情報サーバ３０は、受信したリストを参照して、端末位置情報の利用が許可され、かつ起動しているアプリケーションのうち、どのアプリケーションに付属している端末位置情報ライブラリがマスタとなるかを決定できる。位置情報サーバ３０は、決定したマスタとなる端末位置情報ライブラリが付属しているアプリケーションを端末装置１０に通知する。これにより端末装置１０は、位置情報サーバ３０によって決定されたアプリケーションに付属した端末位置情報ライブラリをマスタに設定できる。
なお、位置情報サーバ３０は、定期的、決まった日時、あるいは前回送信したリストに変更が生じたタイミングに、端末装置１０から、起動しているアプリケーションの情報及びユーザが端末位置情報の利用を許可した許可情報を定めたリストを受信してもよい。これにより、位置情報サーバ３０は、起動しているアプリケーションやユーザが端末位置情報の利用を許可した許可情報に変化があった場合でも、端末装置１０に、次のマスタを遅滞なく通知することができる。
また、位置情報サーバ３０は、端末装置１０から端末位置情報とともに充電の残量を示す情報を受信して、充電の残量が所定容量を下回った場合に、マスタを変更する指示を行ってもよい。
【０１０７】
また、位置情報サーバ３０は、端末装置１０から受信した、起動しているアプリケーションの情報及びユーザが端末位置情報の利用を許可した許可情報を定めたリストに基づき、マスタとなる端末位置情報ライブラリが付属しているアプリケーションの順位を定めたリストを作成してもよい。これにより、端末装置１０は、マスタの端末位置情報ライブラリが付属されたアプリケーションが削除された場合に、次の順位のアプリケーションに付属された端末位置情報ライブラリをマスタに決定することができる。
【０１０８】
以上のように、処理部１２は、複数の位置情報取得制御部１２２のうちいずれかの位置情報取得制御部１２２をマスタの権限を有する位置情報取得制御部１２２に決定できる。
【０１０９】
図７は、端末装置１０において、マスタの位置情報取得制御部１２２によって端末位置情報を取得させ、取得された端末位置情報を位置情報サーバ３０に送信する処理手順を示すフローチャートである。
【０１１０】
先ずステップＳ３００において、マスタの位置情報取得制御部１２２は、測位タイミングとなったか否かを判定する。測位タイミングは、自装置の端末位置情報を取得するタイミングである。測位タイミングは、予め自装置内に設定された時間間隔である。なお、測位タイミングは、位置情報サーバ３０により指定された時間間隔であってもよい。
【０１１１】
次のステップＳ３０２において、マスタの位置情報取得制御部１２２は、ＧＰＳ測位部１６に起動要求を出力する。これによりＧＰＳ測位部１６は、ＧＰＳ信号を受信して三角測量演算を行って自装置の位置を特定する。ＧＰＳ測位部１６は、特定した位置を端末位置情報として取得する。マスタの権限を有する位置情報取得制御部１２２には、ＧＰＳ測位部１６により取得された端末位置情報が供給される。マスタの権限を有する位置情報取得制御部１２２は、供給された端末位置情報を測位時刻と共に記憶部１８に蓄積する。
【０１１２】
次のステップＳ３０４において、マスタの権限を有する位置情報取得制御部１２２は、ステップＳ３０２にて端末位置情報を取得したことをスレーブの権限を有する位置情報取得制御部１２２に通知する。
【０１１３】
次のステップＳ３０６は、マスタの権限を有する位置情報取得制御部１２２は、スレーブの権限を有する位置情報取得制御部１２２から要求を受信したか否かを判定する。要求を受信した場合（ステップＳ３０６：ＹＥＳ）、マスタの権限を有する位置情報取得制御部１２２は、要求を送信したスレーブの権限を有する位置情報取得制御部１２２に、ステップＳ３０２にて蓄積した端末位置情報を出力する（ステップＳ３０８）。マスタの権限を有する位置情報取得制御部１２２は、要求を出力した全てのスレーブの権限を有する位置情報取得制御部１２２に端末位置情報を出力する。なお、ステップＳ３０４の通知後、スレーブの権限を有する位置情報取得制御部１２２から要求がなくなって所定時間が経過した場合には、タイムアウトしてステップＳ３１０に処理を進めてもよい。
【０１１４】
ステップＳ３１０において、マスタの権限を有する位置情報取得制御部１２２は、位置情報サーバ３０への端末位置情報の送信タイミングであるか否かを判定する。端末位置情報の送信タイミングは、前回の送信タイミングから所定時間を経過した時である。所定時間は、予め自装置内で決定された時間である。なお、所定時間は、位置情報サーバ３０により要求された時間間隔であってもよい。
端末位置情報の送信タイミングとなった場合（ステップＳ３１０：ＹＥＳ）、マスタの権限を有する位置情報取得制御部１２２は、位置情報サーバ３０に未送信の端末位置情報を記憶部１８から読み出して、位置情報サーバ３０に送信させる（ステップＳ３１２）。送信タイミングではない場合、マスタの権限を有する位置情報取得制御部１２２は、処理をステップＳ３００に戻す。
【０１１５】
次に、図８を参照して、許諾設定情報を設定するための操作画面について説明する。図８は、許諾設定情報を設定するための操作画面の一例を示す図である。
操作画面は、端末装置１０が位置情報サーバ３０にアクセスすることにより、端末装置１０に表示される画面であってもよく、端末装置１０が所定のアドレスにアクセスすることにより端末装置１０に表示される画面であってもよい。
図８に示す通り、許諾設定情報を設定するための操作画面には、「全アプリ許諾」Ｂ１、「許諾」Ｂ２、及び「非許諾」Ｂ３が表示される。「許諾」Ｂ２及び「非許諾」Ｂ３は、アプリケーションごとに設けられる。許諾設定情報を設定するための操作画面には、例えば、端末装置１０においてインストールされているアプリケーションが表示されている。これに限られず、許諾設定情報を設定するための操作画面には、端末装置１０において未だインストールされていないがインストール可能なアプリケーションが表示されてもよい。
【０１１６】
「全アプリ許諾」Ｂ１は、操作画面に表示される全てのアプリケーションについて端末位置情報の利用を許諾するための操作を受け付ける操作部である。「全アプリ許諾」Ｂ１が指示された場合、許諾設定情報を設定するための操作画面に表示される全てのアプリケーションについての端末位置情報の利用を許諾するという設定を受け付ける。
【０１１７】
「許諾」Ｂ２は、対応付けられたアプリケーションについて端末位置情報の利用を許諾するための操作を受け付ける操作部である。「許諾」Ｂ２が指示された場合、対応付けられたアプリケーションについての端末位置情報の利用を許諾するという設定を受け付ける。
「非許諾」Ｂ３は、対応付けられたアプリケーションについて端末位置情報の利用を許諾しないための操作を受け付ける操作部である。「非許諾」Ｂ３が指示された場合、対応付けられたアプリケーションについての端末位置情報の利用を許諾しないという設定を受け付ける。
【０１１８】
「許諾」Ｂ２及び「非許諾」Ｂ３と対応付けられたアプリケーションとは、「許諾」Ｂ２及び「非許諾」Ｂ３のそれぞれの操作画面内の左側に表示されたアプリケーションである。図示の例では、アプリＡについては端末位置情報の利用が許諾されており、アプリＢ，Ｃについては端末位置情報の利用が許諾されていない。なお、「許諾」Ｂ２及び「非許諾」Ｂ３において、設定されている方の表示態様は、背景の色よりも文字の色の方が薄くなっている。一方、設定されていない方の表示態様は、判定表示されており、背景の色よりも文字の色の方が濃くなっている。
また、許諾設定情報を設定するための操作画面には、許諾された場合に外部装置に送信される情報の種類や、外部装置に情報を送信する目的、アプリケーションの種類ごとに各設定が可能であることなどが記載されている。
【０１１９】
次に、図９を参照して、位置情報サーバ３０の構成について説明する。図９は、実施形態に係る位置情報サーバ３０の構成を示すブロック図である。位置情報サーバ３０は、処理部３２、第１通信部３４、第２通信部３６、及び記憶部３８を含む。
【０１２０】
第１通信部３４は、端末装置１０との間で通信を行う受信部と送信部とを備える。第１通信部３４は、端末装置１０から端末位置情報を受信する。また、第１通信部３４は、端末位置情報の利用の許諾又は非許諾の設定値（許諾設定情報）を端末装置１０から受信する。
第２通信部３６は、アプリケーションサーバ５０との間で通信を行う受信部と送信部とを備える。第２通信部３６は、ユーザにより端末位置情報の利用が許諾されているアプリケーションを提供するアプリケーションサーバ５０に対して、端末位置情報を送信する。
【０１２１】
記憶部３８は、端末装置１０から受信した端末位置情報等を記憶する。ここで、図１０を参照して、記憶部３８に格納される対応テーブル３８Ｔの一例について説明する。図１０は、記憶部３８に格納される対応テーブル３８Ｔの一例を示す図である。
図１０に示す通り、対応テーブル３８Ｔは、ユーザＩＤと、許諾設定情報と、端末位置情報と、ウェブ履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とを対応付けるテーブルである。
ユーザＩＤと、端末位置情報と、ウェブ履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とは、端末装置１０から受信した情報である。許諾設定情報は、端末紐づけ方式の場合は端末装置１０から受信される情報であり、サーバ紐づけ方式の場合は位置情報サーバ３０が対応付ける情報である。
【０１２２】
対応テーブル３８Ｔにおいて、ユーザＩＤに対応付けられる許諾設定情報と端末位置情報との詳細について説明する。
許諾設定情報は、アプリケーションＩＤごとの列を含む。許諾設定情報は、端末装置１０においてインストールされているアプリケーションの列だけで構成されていてもよく、位置情報サーバ３０において認識している全てのアプリケーションの列を含むものでもよい。つまり、許諾設定情報は、端末装置１０においてインストールされていないアプリケーションの列を含むものでもよい。許諾設定情報の各行には、端末位置情報ごとに、ユーザにより利用が許諾されているか否かを示す情報が格納されている。図示において、“○”は、ユーザにより端末位置情報の利用が許諾されていることを示す。“−”は、ユーザにより端末位置情報の利用が許諾されていないことを示す。
端末位置情報は、緯度と経度を示す列と、測位時刻を示す列とを含む。
【０１２３】
処理部３２は、例えば、ＣＰＵ等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
処理部３２は、抽出部３２１と認証部３２２とを有する。認証部３２２は、端末位置情報を要求するアプリケーションサーバ５０が正当なアプリケーションサーバ５０であるか否かを判定する。正当なアプリケーションサーバ５０とは、端末位置情報の取得が許可されているサーバである。認証部３２２は、例えば、認証サーバ４０と連携し、認証サーバ４０により認証されたアプリケーションサーバ５０を、正当なアプリケーションサーバ５０であると判定する。なお、これに限られず、認証部３２２は、認証サーバ４０が実行する認証処理と同様の処理を実行することにより、正当なアプリケーションサーバ５０であるか否かを判定してもよい。正当なアプリケーションサーバ５０であるか否かの認証は、ＩＤとパスワードとの組み合わせに基づく認証であってもよく、ＩＰアドレスを用いた認証であってもよい。
【０１２４】
抽出部３２１は、記憶部３８から、抽出条件を満たす端末位置情報を抽出する。アプリケーションサーバ５０が抽出条件を設定する場合、第２通信部３６が、抽出条件を設定する抽出条件情報を受信する。抽出部３２１は、第２通信部３６が受信した抽出条件情報により設定された抽出条件を満たす端末位置情報を抽出する。第２通信部３６は、アプリケーションサーバ５０により設定された抽出条件に基づき抽出された抽出結果を、抽出条件情報を送信したアプリケーションサーバ５０に送信する。
【０１２５】
以下、抽出部３２１が実行する処理の具体例について説明する。ここでは、抽出条件の要求抽出結果情報として、端末位置情報が定められている場合について説明する。なお、ここでは、説明を省略するが、抽出部３２１は、対応テーブル３８Ｔに対応付けられている任意の情報、及び、ＰＯＩサーバ４２と契約者情報サーバ４４とに管理されている任意の情報を抽出することができる。
【０１２６】
例えば、抽出条件の検索キーとしてアプリケーションが設定された場合、抽出部３２１は、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報のうち、検索キーとして設定されたアプリケーションと対応付けられた端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定されたアプリケーションのうち端末位置情報の利用が許諾されたことを示す“○”が書き込まれたアプリケーションと対応付けられた端末位置情報を抽出する。これにより、抽出部３２１は、設定されたアプリケーションに対応する端末位置情報であって、利用が許諾されている端末位置情報を抽出し、アプリケーションサーバ５０に送信することができる。よって、アプリケーションサーバ５０は、ユーザが利用を許諾した端末位置情報のうち、自身のアプリケーションについての端末位置情報しか取得し、表示することができない。
【０１２７】
また、抽出部３２１は、検索キーとして設定されたアプリケーションの利用を許諾したユーザを示すユーザＩＤに基づき、ユーザＩＤと対応付けられるユーザの属性情報を参照して、設定されたアプリケーションの利用が許諾したユーザの属性を抽出してもよい。これにより、特定のアプリケーションの利用を許諾したユーザの属性を抽出することができる。
【０１２８】
例えば、抽出条件の検索キーとしてユーザの属性が設定された場合、抽出部３２１は、ユーザＩＤと対応付けられるユーザの属性情報を参照して、検索キーとして設定されたユーザの属性を満たすユーザのユーザＩＤと対応付けられた端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定されたユーザの属性と対応付けられたユーザＩＤを検索し、検索により得たユーザＩＤと対応付けられている端末位置情報を抽出する。なお、ユーザＩＤと対応付けられるユーザの属性情報は、記憶部３８に記憶されていてもよく、外部のサーバに記憶されていてもよい。ユーザの属性情報には、例えば、年齢、性別、嗜好、住んでいる地域、よく出かける地域等が含まれる。これにより、抽出部３２１は、設定された属性を有するユーザが存在した位置を示す端末位置情報を抽出することができる。
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定されたユーザの属性を満たすユーザのユーザＩＤと対応付けられた端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
【０１２９】
例えば、抽出条件の検索キーとして時刻又は期間が設定された場合、抽出部３２１は、端末位置情報に含まれる測位時刻を参照して、検索キーとして設定された時刻又は期間に測位された端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定された時刻又は時間に合致する測位時刻を含む端末位置情報を抽出する。時刻に合致するとは、設定された時刻と一致する場合であってもよく、設定された時刻を含む所定の期間に含まれる場合とを含む。時間に合致するとは、例えば、１２時から１３時までのように、設定された時間内に含まれる場合をいう。これにより、抽出部３２１は、設定された時刻又は期間に端末装置１０が存在した位置を示す端末位置情報を抽出することができる。
【０１３０】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定された時刻又は期間に測位された端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、設定された時刻又は時間に端末位置情報を送信した端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定された時刻又は時間に端末位置情報を送信した端末装置１０のユーザの属性を抽出してもよい。これにより、特定の時刻又は時間に端末位置情報を送信した端末装置１０のユーザの属性を抽出することができる。
【０１３１】
なお、検索キーとして、未来（将来）の期間又は日時が指定されてもよい。この場合、位置情報サーバ３０は、検索キーにより定められた期間又は日時を経過した場合に、指定された期間又は日時に測位された端末位置情報やユーザＩＤ等を抽出し、アプリケーションサーバ５０に送信する。これにより、レコメンドシステム１は、リアルタイムにレコメンドを行うことができる。
ここで、このリアルタイムのレコメンドにおけるレコメンドシステム１の動作の一例について説明する。まず、アプリケーションサーバ５０は、例えば、明日の１２時から１３時の間に、所定のエリアに所在する端末装置１０の端末ＩＤを抽出するように位置情報サーバ３０に要求する。次に、位置情報サーバ３０は、当日の１２時になると、所定のエリアに所在する端末装置１０の端末ＩＤを抽出する。そして、位置情報サーバ３０は、１３時までの間、抽出した端末ＩＤを順次アプリケーションサーバ５０に送信する。アプリケーションサーバ５０は、位置情報サーバ３０から順次受信する端末ＩＤが示す端末装置１０にレコメンド情報を送信する。このように、アプリケーションサーバ５０は、位置情報サーバ３０による情報の抽出を予約してもよい。
なお、エリアとは、例えば、緯度と経度とにより区切られる領域である。
【０１３２】
例えば、抽出条件の検索キーとして場所が設定された場合、抽出部３２１は、地図データを参照して、検索キーとして設定された場所を含む所定範囲内に該当する端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定された場所の緯度と経度を中心として所定半径の範囲内に含まれる緯度と経度の端末位置情報を抽出する。検索キーとして設定される場所としては、例えば、駅、ランドマーク等の施設、山、川、海等が含まれる。地図データは、記憶部３８に記憶されていてもよく、外部のサーバに記憶されていてもよい。これにより、抽出部３２１は、設定された場所、又は、設定された場所の周辺に存在した端末装置１０の位置を示す端末位置情報を抽出することができる。
【０１３３】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定された場所を含む所定範囲内に該当する端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、設定された場所に存在した端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定された場所に存在したユーザの属性を抽出してもよい。これにより、特定の場所に存在したユーザの属性を抽出することができる。
【０１３４】
例えば、抽出条件の検索キーとして施設のカテゴリが設定された場合、抽出部３２１は、地図データを参照して、検索キーとして設定されたカテゴリの施設の所在地を含む所定範囲内に該当する端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定されたカテゴリの施設の緯度と経度を中心として所定半径の範囲内に含まれる緯度と経度の端末位置情報を抽出する。なお、検索キーとして設定されたカテゴリの施設は、複数ある場合が想定される。抽出部３２１は、少なくとも何れか一つの施設を中心とした所定範囲内に含まれる端末位置情報を抽出する。検索キーとして設定されるカテゴリとしては、例えば、飲食店、コンビニエンスストア、本屋、駐車場、スーパー、保育園、学校等が含まれる。また、施設のカテゴリには、店舗の名称、駐車場の名称等も含まれる。これにより、抽出部３２１は、設定されたカテゴリの施設に存在した端末装置１０の位置を示す端末位置情報を抽出することができる。例えば、カテゴリとしてコンビニエンスストアが設定された場合、抽出部３２１は、異なる店名のコンビニエンスストアに存在した端末装置１０の位置を示す端末位置情報を抽出することができる。
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定されたカテゴリの施設の所在地を含む所定範囲内に該当する端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、設定されたカテゴリの施設に存在した端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定されたカテゴリの施設に存在したユーザの属性を抽出してもよい。これにより、特定のカテゴリの施設に存在したユーザの属性を抽出することができる。
【０１３５】
例えば、抽出条件の検索キーとしてウェブサイトが設定された場合、抽出部３２１は、ウェブ履歴情報を参照して、例えば、検索キーとして設定されたウェブサイトにアクセスした端末装置１０の位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定されたウェブサイトへのアクセス履歴を示すウェブ履歴情報と対応付けられた端末位置情報を抽出する。これにより、特定のウェブサイトにアクセスした端末装置１０の位置を示す端末位置情報を、そのウェブサイト情報とともに抽出することができる。
【０１３６】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、端末位置情報の利用が許諾されているアプリケーション又はアプリケーションサーバ５０の許諾設定情報に基づき、検索キーとして設定されたウェブサイトにアクセスした端末装置１０の位置を示す端末位置情報を抽出してもよい。
また、抽出部３２１は、設定されたウェブサイトにアクセスした端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定されたウェブサイトにアクセスしたユーザの属性を抽出してもよい。これにより、特定のウェブサイトにアクセスしたユーザの属性を抽出することができる。
【０１３７】
例えば、抽出条件の検索キーとしてプログラムの種類又は名称が設定された場合、抽出部３２１は、プログラム実行履歴情報を参照して、検索キーとして設定された種類又は名称のプログラムを端末装置１０が実行した位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定されたプログラムを示すプログラム実行履歴情報と対応付けられた端末位置情報を抽出する。これにより、特定のプログラムを実行した端末装置１０の位置を示す端末位置情報を抽出することができる。
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定された種類又は名称のプログラムを端末装置１０が実行した位置を示す端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、設定されたプログラムを実行した端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定されたプログラムを実行したユーザの属性を抽出してもよい。これにより、特定のプログラムを実行したユーザの属性を抽出することができる。
【０１３８】
例えば、検索キーとしてユーザによる操作の種類又は名称が設定された場合、抽出部３２１は、操作履歴情報を参照して、検索キーとして設定された種類又は名称の操作を端末装置１０がユーザから受け付けた位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定された操作を示す操作履歴情報と対応付けられた端末位置情報を抽出する。これにより、特定の操作が端末装置１０に入力された位置を示す端末位置情報を抽出することができる。
【０１３９】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、検索キーとして設定された種類又は名称の操作を端末装置１０がユーザから受け付けた位置を示す端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、設定された操作を受け付けた端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、設定された操作を入力したユーザの属性を抽出してもよい。これにより、特定の操作を入力したユーザの属性を抽出することができる。
【０１４０】
例えば、抽出条件の検索キーとして充電状態であることが設定された場合、抽出部３２１は、充電履歴情報を参照して、端末装置１０が充電状態であった位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、充電が開始した時刻から終了した時刻までの間に測位時刻が含まれる端末位置情報を抽出する。これにより、端末装置１０が充電された位置を示す端末位置情報を抽出することができる。
【０１４１】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、端末装置１０が充電状態であった位置を示す端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、充電状態にあった端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、充電状態にあった端末装置１０のユーザの属性を抽出してもよい。これにより、充電しているユーザの属性を抽出することができる。
【０１４２】
例えば、抽出条件の検索キーとして姿勢の変化が設定された場合、抽出部３２１は、姿勢変化情報を参照して、端末装置１０の姿勢が変化した位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、姿勢変化情報と対応付けられている端末位置情報を抽出する。これにより、端末装置１０の姿勢が変化した位置を示す端末位置情報を抽出することができる。なお、姿勢変化情報に、どのように姿勢が変化したのかが示される場合、抽出部３２１は、端末装置１０の姿勢が検索キーとして設定された姿勢変化の条件を満たした位置を示す端末位置情報を抽出してもよい。また、抽出部３２１は、姿勢変化情報に基づき、ユーザの状態を判定してもよい。例えば、抽出部３２１は、姿勢変化情報が示す時系列の変化に基づき、ユーザが移動中であるか、又は、ユーザが走行中であるかを判定する。検索キーとして、ユーザの状態が走行中であることが設定されている場合、抽出部３２１は、ユーザが走行中であることを示す姿勢変化情報と対応付けられている端末位置情報を抽出する。
【０１４３】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、端末装置１０の姿勢が変化した位置を示す端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、姿勢変化情報と対応付けられた端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、姿勢が変化した端末装置１０のユーザの属性を抽出してもよい。これにより、移動中であったユーザの属性を抽出することができる。
【０１４４】
例えば、抽出条件の検索キーとしていずれかの環境条件が設定された場合、抽出部３２１は、環境情報を参照して、検索キーとして設定された環境条件を満たした位置を示す端末位置情報を抽出する。具体的に説明すると、抽出部３２１は、対応テーブル３８Ｔを参照して、設定された環境条件を満たす環境情報と対応付けられた端末位置情報を抽出する。これにより、設定された環境条件に存在した可能性の高い端末装置１０の位置を示す端末位置情報を抽出することができる。例えば、所定の施設では、場所を示す識別情報を含む可聴音又は不可聴音を出力する。この施設に存在する端末装置１０は、集音した可聴音又は不可聴音から識別情報を抽出し、位置情報サーバ３０に出力する。このように、場所を示す識別情報を含む可聴音又は不可聴音を出力している施設の位置を把握したい場合、検索キーとして、場所を示す識別情報を端末装置１０が受信したことを設定する。これにより、抽出部３２１は、抽出条件を満たす施設の位置を示す端末位置情報を抽出することができる。
【０１４５】
ここで、抽出部３２１は、対応テーブル３８Ｔを参照して、キー情報として設定された環境条件を満たす環境情報を端末装置１０が取得した位置を示す端末位置情報のうち、端末位置情報の利用が許諾されているアプリケーションであることを示す許諾設定情報と対応付けられた端末位置情報を抽出してもよい。
また、抽出部３２１は、環境条件を満たす環境に存在した端末装置１０を示す端末ＩＤに基づき、端末ＩＤと対応付けられるユーザの属性情報を参照して、環境条件を満たす環境に存在したユーザの属性を抽出してもよい。これにより、環境条件を満たす環境に存在したユーザの属性を抽出することができる。
【０１４６】
また、抽出部３２１は、抽出した情報に基づき、端末装置１０を所有するユーザの行動を解析する解析処理を実行してもよい。
なお、抽出部３２１は、上述した複数の検索キーを組み合わせたキー情報に基づいて抽出を行ってもよい。具体的には、例えば、アプリケーションサーバ５０がユーザ状態と端末状態との組み合わせをキー情報に定め、徒歩で移動中、且つ、端末装置１０を操作中のユーザの端末ＩＤを抽出結果として定めた場合、抽出部３２１は、姿勢変化情報と操作履歴情報とを参照する。そして、姿勢変化情報が示す端末装置１０の姿勢が徒歩での移動を示し、且つ、操作履歴情報が示す端末装置１０の状態が操作受付（電源ＯＮ）中である端末装置１０の端末ＩＤを抽出する。これにより、アプリケーションサーバ５０は、徒歩で移動中、且つ、端末装置１０を操作中のユーザにレコメンドを行うことができる。このように、アプリケーションサーバ５０は、複数の検索キーの組み合わせを指定して、位置情報サーバ３０から情報を取得してもよい。これにより、アプリケーションサーバ５０は、位置情報サーバ３０が実行する抽出処理における検索キーと抽出結果とをより詳細に定めることができため、さらに効果的なレコメンドを行うことができる。
【０１４７】
なお、抽出部３２１は、情報の変化を示す検索キーに基づいて抽出を行ってもよい。具体的には、例えば、アプリケーションサーバ５０がユーザの移動状態の変化や端末装置１０の状態の変化などをキー情報に定めることができる。
例えば、アプリケーションサーバ５０がユーザの移動状態が乗車から徒歩へと変化することをキー情報に定め、端末装置１０の端末位置情報を抽出結果に定めた場合、位置情報サーバ３０は、時間的に連続する２つの端末位置情報に対応付けられている姿勢変化情報を順次参照する。そして、姿勢変化情報が示す移動状態が乗車から徒歩へと変化した場合に、抽出部３２１は、当該姿勢変化情報に対応付けられている端末位置情報を抽出する。
【０１４８】
また、例えば、アプリケーションサーバ５０が端末装置１０の状態が電源ＯＦＦから電源ＯＮへと変化することをキー情報に定め、端末装置１０の端末位置情報を抽出結果に定めた場合、位置情報サーバ３０は、時間的に連続する２つの端末位置情報に対応付けられている操作履歴情報を順次参照する。そして、操作履歴情報が示す端末状態が電源ＯＦＦから電源ＯＮへと変化した場合に、抽出部３２１は、当該姿勢変化情報に対応付けられている端末位置情報を抽出する。
また、例えば、アプリケーションサーバ５０が、端末装置１０において、ウェブ操作が行われていない状態から行われる状態へと変化することをキー情報に定め、端末装置１０の端末位置情報を抽出結果に定めた場合、位置情報サーバ３０は、時間的に連続する２つの端末位置情報に対応付けられているプログラム実行履歴情報を順次参照する。そして、プログラム実行履歴情報が、ウェブブラウザプログラムの起動やバックグラウンド実行からフォアグラウンド実行への変化を示す場合に、抽出部３２１は、当該プログラム実行履歴情報に対応付けられている端末位置情報を抽出する。
【０１４９】
このように、位置情報サーバ３０は、対応情報の変化に基づいて端末位置情報や他の対応情報を抽出してもよい。これにより、アプリケーションサーバ５０は、例えば、ユーザの移動状態に変化があった場合や端末装置１０の状態に変化があった場合など、特定の状況にあるユーザに対してレコメンドを行うことができるため、さらに効果的なレコメンドを行うことができる。具体的には、例えば、アプリケーションサーバ５０は、バスや電車を降りたユーザの端末装置１０の端末位置情報を取得し、降車場所周辺の店舗情報などのレコメンドを行うこともできる。
【０１５０】
なお、抽出部３２１は、１つのキー情報に対して、複数の抽出結果を送信してもよい。ここで、アプリケーションサーバ５０が期間とエリアとを検索キーに定めた場合について説明する。例えば、アプリケーションサーバ５０が端末装置１０の数と、端末位置情報の利用が許諾されている端末装置１０の数とを定めた場合、抽出部３２１は、検索キーに定められた期間において、検索キーに定められたエリアに位置する端末装置１０の端末ＩＤを検索する。次に、抽出部３２１は、検索された端末ＩＤの数を計数する。また、抽出部３２１は、検索された端末ＩＤに対応付けられている許諾設定情報を参照し、要求元のアプリケーションサーバ５０に対応するアプリケーションに対して、端末位置情報の利用が許諾されている端末ＩＤを検索する。次に、抽出部３２１は検索された端末ＩＤの数を計数する。これにより、アプリケーションサーバ５０は、自装置が指定した期間において、指定したエリアに所在した端末装置１０の数と、当該端末装置１０のうち自装置が端末位置情報を利用できる端末装置１０の数とを取得することができる。
【０１５１】
なお、上述において、許諾設定情報が端末位置情報の利用の許諾又は非許諾を示す情報である例について説明したが、限られない。例えば、許諾設定情報は、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報のうち少なくとも１つの利用を許諾するか否かを示す情報を含んでもよい。これら情報についても、各ユーザが、利用を許諾するか否かを設定できる。また、ユーザは、これらの情報についての利用の許諾又は非許諾について、アプリケーションごとに設定することもできる。これらの利用が許諾されている場合、位置情報サーバ３０の抽出部３２１は、利用が許諾されている情報を利用して、端末位置情報を抽出することができる。
【０１５２】
以上のように、位置情報サーバ３０によれば、端末位置情報の利用を許諾されたアプリケーション及びアプリケーションサーバ５０がそれぞれ個別に端末位置情報を記憶し管理することなく、ユーザごとに記憶した１セットの端末位置情報を、複数のアプリケーション及びアプリケーションサーバ５０に共通して利用させることができる。これにより、端末位置情報の管理の効率化、サーバ容量の削減が可能となる。
【０１５３】
また、位置情報サーバ３０によれば、端末位置情報の利用の許諾期間に含まれている限り、アプリケーション及びアプリケーションサーバ５０は、その期間内の端末位置情報を利用できる。これにより、自身のアプリケーション及びアプリケーションサーバ５０で設定された端末位置情報の項目以外の情報や測位タイミング以外の情報を取得することができる。
【０１５４】
また、この位置情報サーバ３０によれば、１つの端末位置情報に対して複数のアプリケーションで利用が許可されている情報が対応付けられた場合、複数のアプリケーションについて１つの端末位置情報を共通して利用することができる。これにより、端末位置情報の管理の効率化、サーバ容量の削減が可能となる。
【０１５５】
また、この位置情報サーバ３０によれば、端末装置１０で利用可能な複数のアプリケーション間の関係に応じて決められた起動要求に基づき位置情報取得部１６により取得された端末位置情報を記憶する。つまり、この位置情報サーバ３０は、他のアプリケーションの測位タイミングであって自身の測位タイミングでないときに測位された端末位置情報についても、アプリケーションごとに利用を許諾するか否かを管理することができる。これにより、アプリケーションサーバ５０等は、自身のアプリケーションの測位タイミングで測位された端末位置情報だけでなく、自身のアプリケーションの測位タイミング以外のタイミングで測位された端末位置情報を利用することが可能となる。
【０１５６】
次に、図１１を参照してＰＯＩサーバ４２の構成について説明する。
図１１は、ＰＯＩサーバ４２の構成を示すブロック図である。
ＰＯＩサーバ４２は、処理部４２２、第１通信部４２４、及び記憶部４２８を含む。
【０１５７】
第１通信部４２４は、位置情報サーバ３０との間で通信を行う受信部と送信部とを備える。第１通信部４２４は、位置情報サーバ３０からの要求に応じて、自装置が管理する各種情報を、要求元の位置情報サーバ３０に送信する。
第２通信部４２６は、アプリケーションサーバ５０との間で通信を行う受信部と送信部とを備える。
【０１５８】
記憶部４２８は、ＰＯＩ情報等を記憶する。本実施形態において、ＰＯＩ情報は、店舗などのロケーションを識別するロケーションＩＤ（ロケーション名）、当該ロケーションの位置を示すロケーション位置情報、当該ロケーションの種別（カテゴリ）を示すカテゴリ情報を含む。ここで、ロケーションとは、例えば、駅、施設などのランドマーク、山、川、海等の任意の場所である。また、ロケーション位置情報は、例えば、ロケーションの基準位置を示す情報と、当該基準位置からの距離とを定める情報とを含む。また、カテゴリとは、例えば、飲食店、コンビニエンスストア、本屋、駐車場、スーパー、保育園、学校等、複数の場所を統合する概念である。
処理部４２２は、例えば、ＣＰＵ等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
処理部４２２は、位置情報サーバ３０又はアプリケーションサーバ５０からの要求に応じて自装置が管理するロケーションＩＤやロケーション位置情報などの各種情報を提供する。
【０１５９】
例えば、第１通信部４２４が特定の施設を示すロケーションＩＤを受信した場合、処理部４２２は、記憶部４２８に記憶されているＰＯＩ情報を参照する。処理部４２２は、ＰＯＩ情報において、受信したロケーションＩＤに対応するロケーション位置情報を抽出する。処理部４２２は、抽出したロケーション位置情報を位置情報サーバ３０に送信する。
【０１６０】
また、例えば、第１通信部４２４が、位置情報サーバ３０から特定の端末装置１０の位置を示す端末位置情報を受信した場合、処理部４２２は、記憶部４２８に記憶されているＰＯＩ情報を参照する。処理部４２２は、ＰＯＩ情報におけるロケーション位置情報のうち、受信した端末位置情報が示す位置から所定の距離以内の位置を示すロケーション位置情報を特定する。次に、処理部４２２は、ＰＯＩ情報において、特定したロケーション位置情報に対応付けられているロケーションＩＤを抽出する。そして、処理部４２２は、抽出したロケーションＩＤを、第１通信部４２４を介して位置情報サーバ３０に送信する。
【０１６１】
なお、処理部４２２は、カテゴリ情報に基づいてロケーションＩＤを抽出してもよい。ここでは、端末位置情報と、端末装置１０からの距離の情報と、カテゴリ情報とに基づいて、ロケーションＩＤを取得する態様について説明する。具体的には、まず、第１通信部４２４が、位置情報サーバ３０から端末位置情報と、端末装置１０からの距離の情報と、カテゴリ情報とを受信する。次に、処理部４２２は、端末位置情報と端末装置１０からの距離の情報とにより定められる範囲に所在するランドマークのロケーションＩＤを検索する。そして、処理部４２２は、ＰＯＩ情報において、検索したロケーションＩＤに対応付けられているカテゴリ情報が、位置情報サーバ３０から受信したカテゴリ情報に合致するロケーションＩＤを取得する。そして、処理部４２２は、取得したロケーションＩＤを、第１通信部４２４を介して位置情報サーバ３０に送信する。これにより、位置情報サーバ３０は、例えば、ある端末装置１０の半径１ｋｍ以内に所在するコンビニエンスストアのロケーションＩＤを取得することができる。
【０１６２】
なお、処理部４２２は、ロケーションＩＤに基づいて、エリアの情報を抽出してもよい。具体的には、まず、第１通信部４２４が、位置情報サーバ３０からロケーションＩＤを受信する。次に、処理部１２は、受信したロケーションＩＤに対応するロケーション位置情報を取得する。次に、処理部１２は、取得したロケーション位置情報を位置情報サーバ３０に送信する。このロケーション位置情報は、例えば、ロケーションの中心の緯度及び経度と、当該中心からの距離とにより、円形のエリアを表す。そして、位置情報サーバ３０は、受信したロケーション位置情報が示すエリアに所在する端末装置１０の端末ＩＤを抽出し、アプリケーションサーバ５０に送信してもよい。これにより、アプリケーションサーバ５０は、例えば、ランドマークの中心から半径１ｋｍ以内のエリアに所在する端末装置１０に対して、レコメンド情報を送信することができる。
【０１６３】
なお、この例では、ロケーション位置情報は、ロケーションの中心の位置と、当該中心からの距離とによりエリアを表す情報として説明したが、これには限られない。例えば、ロケーション位置情報は、ロケーションの中心位置を表す情報であってもよい。この場合、アプリケーションサーバ５０は、ロケーションの中心位置からの距離を別途指定する。そして、位置情報サーバ３０は、ＰＯＩサーバ４２から取得したロケーションの中心位置と、アプリケーションサーバ５０により指定された距離とにより定まるエリアに所在する端末装置１０の端末ＩＤを抽出する。
【０１６４】
このように、処理部４２２は、位置情報サーバ３０又はアプリケーションサーバ５０からの要求に応じて、ＰＯＩ情報に含まれる各種情報を送信する。なお、上述の説明ではＰＯＩサーバ４２が位置情報サーバ３０からの要求に応じて情報を送信する例について説明したが、ＰＯＩサーバ４２は、アプリケーションサーバ５０からの要求に応じて情報を送信してもよい。
【０１６５】
次に、図１２を参照して、アプリケーションサーバ５０の構成について説明する。
図１２は、アプリケーションサーバ５０の構成を示すブロック図である。
アプリケーションサーバ５０は、処理部５２、第１通信部５４、第２通信部５６、及び記憶部５８を含む。
【０１６６】
第１通信部５４は、端末装置１０との間で通信を行う受信部と送信部とを備える。第１通信部５４は、例えば、端末装置１０にレコメンド情報を送信する。
第２通信部５６は、位置情報サーバ３０との間で通信を行う受信部と送信部とを備える。第２通信部５６は、抽出条件情報を送信する抽出条件送信部として機能する。また、第２通信部５６は、自装置が送信した抽出条件情報に応じた抽出結果を受信する抽出結果受信部として機能する。
記憶部５８は、レコメンド情報等を記憶する。レコメンド情報は、例えば、端末ＩＤ、ロケーションＩＤ、位置などと対応付けられて記憶部５８に記憶されている。
処理部５２は、例えば、ＣＰＵ等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【０１６７】
また、処理部５２は、レコメンド情報取得部５２１を備える。レコメンド情報取得部５２１は、第２通信部５６が位置情報サーバ３０から抽出結果を受信すると、レコメンド情報を取得する。ここで、レコメンド情報取得部５２１は、記憶部５８に予め記憶されているレコメンド情報を読み出したり、抽出結果に基づいてレコメンド情報を生成したりすることにより、レコメンド情報を取得する。レコメンド情報取得部５２１は、取得したレコメンド情報を、第１通信部５４を介して、レコメンド対象の端末装置１０に送信する。
【０１６８】
なお、アプリケーションサーバ５０は、レコメンド情報を任意のタイミングで送信してよい。具体的には、例えば、アプリケーションサーバ５０は、レコメンド情報を所定期間に所定回数送信する。また、例えば、アプリケーションサーバ５０は、レコメンド情報を、所定時間間隔で送信する。また、アプリケーションサーバ５０は、送信したレコメンド情報に応じた操作が行われた端末装置１０に対して、繰り返しレコメンド情報を送信する。より具体的には、例えば、アプリケーションサーバ５０がレコメンド対象の端末装置１０に、Ｗｅｂサイトを紹介するレコメンド情報を送信した後に、当該端末装置１０からＷｅｂサイトへのアクセス等の反応があった場合に、アプリケーションサーバ５０は、反応に応じた新たなレコメンド情報を同じ端末装置１０に送信する。これにより、アプリケーションサーバ５０は、端末装置１０のユーザに対してインタラクティブなレコメンドを行うことができる。
【０１６９】
［レコメンドシステムの動作］
次に、図１３を参照して、レコメンドシステム１による処理の流れの例について説明する。
ここでは、プッシュ方式により、レコメンド情報が送信される場合について説明する。
まず、ステップＳ４００において、端末装置１０は、自装置の位置を示す端末位置情報を位置情報サーバ３０に送信する。その後、レコメンドシステム１は、ステップＳ４０２に処理を進める。
次に、ステップＳ４０２において、位置情報サーバ３０は、端末装置１０から端末位置情報を受信し、受信した端末位置情報を時系列に記憶する。位置情報サーバ３０は、受信した端末位置情報を許諾設定情報とともに管理する。その後、レコメンドシステム１は、ステップＳ４０４に処理を進める。
【０１７０】
次に、ステップＳ４０４において、位置情報サーバ３０は、自装置に記憶されているアプリケーションサーバ５０ごとの抽出条件情報を参照し、抽出処理を実行する。その後、レコメンドシステム１は、ステップＳ４０６に処理を進める。
次に、ステップＳ４０６において、位置情報サーバ３０は、ステップＳ４０４における抽出処理の結果をアプリケーションサーバ５０に送信する。その後、レコメンドシステム１は、ステップＳ４０８に処理を進める。
次に、ステップＳ４０８において、アプリケーションサーバ５０は、位置情報サーバ３０から送信された抽出結果を受信する。その後、レコメンドシステム１は、ステップＳ４１０に処理を進める。
【０１７１】
次に、ステップＳ４１０において、アプリケーションサーバ５０は、自装置の記憶部５８からレコメンド情報を読み出したり、アプリケーションサーバ５０から取得した情報に基づいてレコメンド情報を生成したりすることにより、レコメンド情報を取得する。その後、レコメンドシステム１は、ステップＳ４１２に処理を進める。
次に、ステップＳ４１２において、アプリケーションサーバ５０は、取得したレコメンド情報を端末装置１０に送信する。その後、レコメンドシステム１は、ステップＳ４１４に処理を進める。
【０１７２】
次に、ステップＳ４１４において、端末装置１０は、アプリケーションサーバ５０から送信されたレコメンド情報を受信する。その後、レコメンドシステム１は、ステップＳ４１６に処理を進める。
次に、ステップＳ４１６において、端末装置１０は、レコメンド情報の送信元のアプリケーションサーバ５０に対応するアプリケーションを実行し、レコメンド情報を表示、音声などにより提示する。そして、レコメンドシステム１は、図１３に示される処理を終了する。
【０１７３】
次に、レコメンドシステム１の動作の具体例について説明する。
（１）端末装置１０の現在位置に応じたレコメンド
このレコメンド方法において、レコメンドシステム１は、レコメンド対象の端末装置１０の所在地の地理情報などを提示する。
まず、アプリケーションサーバ５０は、レコメンド対象の端末装置１０を示す端末ＩＤをキー情報とし、且つ、端末位置情報を要求抽出結果情報として含む抽出条件情報を位置情報サーバ３０に送信する。次に、位置情報サーバ３０は、キー情報として指定された端末装置１０の端末位置情報、すなわち指定された端末ＩＤに対応する端末位置情報を検索する。次に、位置情報サーバ３０は、許諾設定情報を参照し、検索した端末位置情報の利用が許可されている場合に、当該端末位置情報を取得する。次に、位置情報サーバ３０は、取得した端末位置情報をアプリケーションサーバ５０に送信する。アプリケーションサーバ５０は、端末装置１０の端末位置情報を受信すると、例えば、自装置の記憶部から当該端末位置情報が示す位置に対応付けられているレコメンド情報を読み出す。このレコメンド情報は、例えば、地理情報である。アプリケーションサーバ５０は、読み出したレコメンド情報を、レコメンド対象の端末装置１０に送信する。
【０１７４】
（２）端末装置１０の周囲に所在するランドマークのレコメンド
このレコメンド方法において、レコメンドシステム１は、レコメンド対象の端末装置１０の周囲に所在するランドマークの広告、クーポンなどを提示する。
まず、アプリケーションサーバ５０は、レコメンド対象の端末装置１０を示す端末ＩＤをキー情報とし、且つ、ロケーションＩＤを要求抽出条件情報として含む抽出条件情報を位置情報サーバ３０に送信する。次に、位置情報サーバ３０は、キー情報として指定された端末ＩＤに対応する端末位置情報を検索する。次に、位置情報サーバ３０は、許諾設定情報を参照し、検索した端末位置情報の利用が許可されている場合に、当該端末位置情報を取得する。次に、位置情報サーバ３０は、取得した端末位置情報をＰＯＩサーバ４２に送信する。次に、ＰＯＩサーバ４２は、自装置が管理するＰＯＩ情報を参照し、受信した端末位置情報が示す位置から所定の距離内に所在するロケーションを検索する。次に、ＰＯＩサーバ４２は、検索したロケーションを示すロケーションＩＤを位置情報サーバ３０に送信する。次に、位置情報サーバ３０は、ＰＯＩサーバ４２から受信したロケーションＩＤを、アプリケーションサーバ５０に送信する。次に、アプリケーションサーバ５０は、位置情報サーバ３０からロケーションＩＤ受信すると、例えば、自装置の記憶部から当該ロケーションＩＤと対応付けられているレコメンド情報を読み出す。このレコメンド情報は、例えば、広告やクーポンを示す情報である。そして、アプリケーションサーバ５０は、読み出したレコメンド情報を、レコメンド対象の端末装置１０に送信する。
【０１７５】
（３）特定のロケーションに所在する端末装置１０へのレコメンド
このレコメンド方法において、レコメンドシステム１は、所定のロケーション（以下、「対象ロケーション」と称する。）に所在する端末装置１０に対して、広告やクーポンなどを提示する。また、位置情報サーバ３０は、抽出結果をプル方式によりアプリケーションサーバ５０に送信する。また、ここでは、ロケーション位置情報が、ロケーションの中心位置を表す場合について説明する。
【０１７６】
まず、アプリケーションサーバ５０は、対象ロケーションを示すロケーションＩＤと距離とをキー情報とし、且つ、端末ＩＤを要求抽出条件情報として含む抽出条件情報を位置情報サーバ３０に送信する。次に、位置情報サーバ３０は、抽出条件情報を受信すると、キー情報として指定されたロケーションＩＤをＰＯＩサーバ４２に送信する。次に、ＰＯＩサーバ４２は、自装置が管理するＰＯＩ情報を参照し、受信したロケーションＩＤが示す対象ロケーションの中心位置を検索する。次に、ＰＯＩサーバ４２は、検索した対象ロケーションの中心位置を示すロケーション位置情報を位置情報サーバ３０に送信する。次に、位置情報サーバ３０は、自装置が管理する端末位置情報のうち、当該端末位置情報が示す位置が、受信したロケーション位置情報が示す中心位置と、アプリケーションサーバ５０から受信した距離とにより定まるエリアに含まれる端末位置情報を検索する。次に、位置情報サーバ３０は、許諾設定情報を参照し、検索した端末位置情報の利用が許可されている場合に、検索した端末位置情報に対応する端末ＩＤを取得する。ここで、取得される端末ＩＤは、レコメンド対象の端末装置１０を示す端末ＩＤである。次に、レコメンドシステム１は、取得した端末ＩＤをアプリケーションサーバ５０に送信する。次に、アプリケーションサーバ５０は、位置情報サーバ３０から端末ＩＤを受信すると、例えば、自装置の記憶部５８から対象ロケーションのロケーションＩＤに対応付けられているレコメンド情報を読み出す。そして、アプリケーションサーバ５０は、読み出したレコメンド情報を、位置情報サーバ３０から取得した端末ＩＤが示す端末装置１０に送信する。
【０１７７】
このように、アプリケーションサーバ５０は、対象ロケーションのロケーションＩＤとその半径を指定することにより、そのエリアに所在する端末装置１０の端末ＩＤを取得できる。そして、取得した端末ＩＤが示す端末装置１０に対してレコメンドを行うことができる。
なお、アプリケーションサーバ５０は、位置情報サーバ３０に対して、期間の指定やその他任意の対応情報の値を指定することにより、位置情報サーバ３０が抽出する情報の絞り込みを行ってもよい。
【０１７８】
（４）特定のエリアに所在する端末装置１０へのレコメンド
このレコメンド方法において、レコメンドシステム１は、所定のエリア（（以下、「対象エリア」と称する。）に所在する端末装置１０に対して、広告やクーポンなどを提示する。また、位置情報サーバ３０は、抽出結果をプッシュ方式によりアプリケーションサーバ５０に送信する。
まず、アプリケーションサーバ５０は、対象エリアの範囲を示す情報をキー情報とし、且つ、端末ＩＤを要求抽出条件情報として含む抽出条件情報を位置情報サーバ３０に送信する。なお、この一例において、抽出条件情報は、予め位置情報サーバ３０に送信され、位置情報サーバ３０の記憶部３８に記憶されている。次に、位置情報サーバ３０は、端末装置１０から端末位置情報を受信すると、当該端末位置情報が示す位置が、対象エリアの範囲に含まれるか否かを判定する。端末装置１０の位置が対象エリアの範囲に含まれる場合、位置情報サーバ３０は、許諾設定情報を参照する。そして、位置情報サーバ３０は、受信した端末位置情報の利用が許可されている場合に、検索した端末位置情報に対応する端末ＩＤをアプリケーションサーバ５０に送信する。ここで、送信される端末ＩＤは、レコメンド対象の端末装置１０を示す端末ＩＤである。次に、レコメンドシステム１は、取得した端末ＩＤをアプリケーションサーバ５０に送信する。次に、アプリケーションサーバ５０は、位置情報サーバ３０から端末ＩＤを受信すると、例えば、自装置の記憶部５８から対象エリアに対応付けられているレコメンド情報を読み出す。そして、アプリケーションサーバ５０は、読み出したレコメンド情報を、位置情報サーバ３０から取得した端末ＩＤが示す端末装置１０に送信する。
【０１７９】
なお、上述した（４）のレコメンドにおいて、位置情報サーバ３０による端末ＩＤを送信する条件に任意の条件を付加してもよい。具体的には、例えば、位置情報サーバ３０は、所定期間中に、同一の端末装置１０から送信された端末位置情報の位置が、所定回数、対象エリア内であった場合に、当該端末装置１０の端末ＩＤをアプリケーションサーバ５０に送信する。つまり、位置情報サーバ３０は、特定のユーザの位置情報が所定回数以上取得できた場合に、当該ユーザの端末ＩＤをアプリケーションサーバ５０に送信する。また、例えば、位置情報サーバ３０は、所定期間以上の間隔を開けて同一の端末装置１０から送信された２つの端末位置情報が示す位置が、いずれも対象エリア内である場合に、アプリケーションサーバ５０に端末ＩＤを送信する。つまり、位置情報サーバ３０は、特定のユーザが対象エリアに所定時間以上滞在している場合に、当該ユーザの端末ＩＤをアプリケーションサーバ５０に送信する。このように、位置情報サーバ３０は、端末装置１０の位置が所定期間以上、所定のエリア内である場合に、当該端末装置１０を示す端末ＩＤをアプリケーションサーバ５０に送信してもよい。
【０１８０】
次に、アプリケーションサーバ５０が位置情報サーバ３０から受信した抽出結果を解析して、レコメンド情報を取得する場合における、レコメンドシステム１の動作の具体例について説明する。以下では、説明を簡潔にするため、位置情報サーバ３０による抽出処理については説明を省略する。また、ここでは、抽出結果の解析をアプリケーションサーバ５０が行うとして説明するが、当該解析は、位置情報サーバ３０が行ってもよい。
【０１８１】
（５）混雑状況の解析に基づく混雑状況の通知
このレコメンド方法において、レコメンドシステム１は、端末装置１０の所在地周辺の混雑状況を判定し、判定結果を提示する。
まず、アプリケーションサーバ５０は、レコメンド対象の端末装置１０の端末ＩＤをキー情報として、位置情報サーバ３０から解析対象の端末装置１０の端末位置情報、環境情報、セルＩＤ情報、ＷｉＦｉＡＰ情報などを取得する。次に、アプリケーションサーバ５０は、取得した端末位置情報、環境情報、セルＩＤ情報、ＷｉＦｉＡＰ情報などから特定される端末装置１０の現在位置から所定距離以内の範囲を、例えば、東西南北の４つのエリアに分割する。次に、アプリケーションサーバ５０は、当該分割されたエリアを抽出条件として、各エリアに所在する端末装置１０の数を位置情報サーバ３０から取得する。このとき、位置情報サーバ３０は、例えば、自装置が管理する端末位置情報のうち、端末位置情報が示す位置が各エリアに含まれている端末位置情報を抽出し、抽出した端末位置情報に対応する端末ＩＤの数を計数することにより各エリアに所在する端末装置１０の数を演算する。次に、アプリケーションサーバ５０は、取得した各エリアの端末装置１０の数を所定の閾値と比較することにより、各エリアの混雑状況を判定する。次に、アプリケーションサーバ５０は、各エリアの混雑状況についての判定結果を示すレコメンド情報を生成する。そして、アプリケーションサーバ５０は、生成したレコメンド情報を、レコメンド対象の端末装置１０に送信する。
【０１８２】
これにより、アプリケーションサーバ５０は、ユーザの周囲の混雑状況に応じたレコメンドを行うことができる。ここで、アプリケーションサーバ５０は、混雑状況の解析結果に基づいて、自装置が対応するアプリケーションの種類に応じたレコメンド情報を通知してよい。ここでは、具体例として、アプリケーションが、目的地への案内を行うナビゲーションアプリである場合、飲食店の紹介を行うグルメアプリである場合、公共交通機関へのアクセスを案内する交通機関案内アプリである場合について説明する。
アプリケーションサーバ５０がナビゲーションアプリに対応する場合、アプリケーションサーバ５０は、例えば、目的地までの複数の経路のうち、混雑の少ない経路をレコメンドする。これにより、ユーザは、混雑を避けて、短時間で目的に到達することができる。
【０１８３】
アプリケーションサーバ５０がグルメアプリに対応する場合、アプリケーションサーバ５０は、例えば、混雑が発生していると判定した場合に、端末装置１０の周囲の飲食店の予約案内を提示する。これにより、ユーザは、混雑が解消されるまで、時間を有効利用することができる。
アプリケーションサーバ５０が交通機関案内アプリである場合、アプリケーションサーバ５０は、例えば、タクシーの配車センタの連絡先を提示する。また、例えば、バスの乗車位置や乗車時刻を提示する。これにより、ユーザは、混雑に巻き込まれることを避けることができる。
【０１８４】
また、アプリケーションサーバ５０は、アプリケーションをレコメンドしてもよい。例えば、アプリケーションサーバ５０は、混雑が発生していると判定した場合に、端末装置１０にインストールされていないアプリケーションを提示する。これにより、ユーザは、目的地まで到達できない、時間を無駄にしてしまう、効率よく移動できないなど、混雑の発生により生じる問題を避けることができる。
なお、混雑状況の判定を行うためのエリアは任意に定められてよい。例えば、エリアは矩形の領域として予め定められていてもよい。この場合、アプリケーションサーバ５０は、レコメンド対象の端末装置１０が所在するエリアと、その隣接エリアなどにおいて混雑状況の判定を行ってもよい。
【０１８５】
なお、アプリケーションサーバ５０による混雑状況の判定は、上述した例に限られない。具体的には、例えば、アプリケーションサーバ５０は、各エリアにおける端末装置１０の台数の増加率と、所定の閾値とを比較することにより、混雑が発生しているか否かを判定してもよい。この場合、アプリケーションサーバ５０は、例えば、各エリアにおける端末装置１０の台数の３０分ごとの平均値を算出する。そして、アプリケーションサーバ５０は、３０分ごとの平均を前後で比較し、その増加率が３割以上である場合に、混雑が発生していると判定する。
なお、混雑状況の判定において、アプリケーションサーバ５０は、端末装置１０の数以外の情報を参照してもよい。例えば、アプリケーションサーバ５０は、車や電車の混雑状況を示す情報を外部装置から取得して、混雑状況を判定してもよい。
【０１８６】
以上のように、レコメンド情報取得部５２１は、複数の抽出条件により位置情報サーバ３０から抽出される情報に基づいて、端末装置１０の位置や状態などを解析し、レコメンド情報を選択してよい。
なお、上述した位置情報サーバ３０、アプリケーションサーバ５０、ＰＯＩサーバ４２、及び契約者情報サーバ４４が備える各種機能は、それぞれ、一体の装置に備えられてもよいし、別体の装置に備えられてもよい。
【０１８７】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明は、例えば、位置情報サーバなどとして実施することができる。
【０１８８】
また、上述した端末装置１０及び位置情報サーバ３０の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１８９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１９０】
１…レコメンドシステム、１０、１０Ａ、１０Ｂ、・・・、１０Ｎ…端末装置、１２…処理部、１４…通信部、１６…ＧＰＳ測位部、１６０…位置情報取得部、１６１…加速度センサ、１８…記憶部、３０…位置情報サーバ、４０…認証サーバ、４２…ＰＯＩサーバ、５０、５０Ａ、５０Ｂ、・・・、５０Ｎ…アプリケーションサーバ、１２０、１２０Ａ、１２０Ｂ、１２０Ｂ…アプリケーション処理部、１２２、１２２Ａ、１２２Ｂ、１２２Ｃ…位置情報取得制御部、３２…処理部、３２１…抽出部、３４…第１通信部、３６…第２通信部、３８…記憶部
【図１】
0006271386.tif 000002
【図２】
0006271386.tif 000003
【図３】
0006271386.tif 000004
【図４】
0006271386.tif 000005
【図５】
0006271386.tif 000006
【図６】
0006271386.tif 000007
【図７】
0006271386.tif 000008
【図８】
0006271386.tif 000009
【図９】
0006271386.tif 000010
【図１０】
0006271386.tif 000011
【図１１】
0006271386.tif 000012
【図１２】
0006271386.tif 000013
【図１３】
0006271386.tif 000014