以下、実施形態の位置提供システム1を、図面を参照して説明する。
図1は、実施形態に係る位置提供システム1の構成を示すブロック図である。この位置提供システム1は、複数の端末装置10A、10B、・・・、10N(以下、総称する場合には単に「端末装置10」と呼ぶ)、位置情報サーバ30、認証サーバ40、POI(Point Of Interest)サーバ42、契約者情報サーバ44、及びアプリケーションサーバ50A、50B、・・・、50N(以下、総称する場合には単に「アプリケーションサーバ50」と呼ぶ)を有する。
位置提供システム1は、端末装置10から位置情報サーバ30に、端末装置10の位置情報を送信し、位置情報サーバ30において、受信した位置情報を管理するものである。位置情報サーバ30は、位置情報とともに、各端末装置10を識別する識別情報(端末ID)を受信する。契約者情報サーバ44には、端末IDと対応付けられるユーザの属性情報が記憶されている。なお、端末IDは、端末装置10の所有者であるユーザのユーザIDと対応付けられている。位置情報サーバ30は、契約者情報サーバ44を参照して、端末IDに基づき、端末装置10から受信した位置情報に対応するユーザの属性情報を取得し、位置情報と対応付けて管理する。
また、位置情報サーバ30は、各位置情報に対して、位置情報の利用が許諾されているアプリケーションであるか否かを示す情報を対応付けて記憶する。これにより、位置情報サーバ30は、各位置情報の利用が許諾されているか否かを各アプリケーションについて管理することができる。ユーザは、位置情報の利用の許諾または非許諾、許諾期間等を、各アプリケーションについて設定できる。ユーザにより設定された許諾または非許諾を示す設定値を、以下、許諾設定情報という。許諾設定情報は、例えば、各アプリケーションについて設定される設定値であって、位置情報の利用を許諾するか否かを示す情報である。また、許諾設定情報は、許諾期間を示す設定値等を含んでよい。
また、位置情報サーバ30は、受信した位置情報の中から抽出条件を満たす位置情報を抽出する。実施形態において、位置情報サーバ30は、位置情報の中から、位置情報の利用が許諾されていることを示す情報と対応付けられた位置情報のうち、抽出条件を満たす位置情報を抽出する。位置情報サーバ30は、抽出した位置情報をPOIサーバ42又はアプリケーションサーバ50へ提供する。
端末装置10は、任意の送信タイミング又は所定期間ごとに位置情報を送信する。位置情報には、測位時刻、緯度及び経度が含まれている。本実施形態においては、予め端末装置10内で決定された送信タイミングによって位置情報を送信する例について説明する。しかし、端末装置10の位置情報の送信タイミングは、位置情報サーバ30によって設定されてもよい。
位置情報サーバ30は、端末装置10から送信された位置情報を受信して蓄積する。この具体例においては、位置情報サーバ30は、端末装置10毎に時系列に位置情報を蓄積する。また、位置情報サーバ30は、位置情報に対応付けて、端末装置10のユーザにより位置情報の利用が許諾されているアプリケーションであるか否かを示す許諾設定情報を蓄積する。ここで、ユーザには、端末装置10の位置情報(例えば、自分の現在位置)を、自分以外の他者に知らせたい場合と、知らせたくない場合とがある。ユーザが位置情報を他者に知らせたい場合の一例としては、他者とある場所において待ち合わせをする場合や、ある場所の情報を取得したい場合などがある。この場合、ユーザは、位置情報の利用を許諾することにより、他者に端末装置10の位置情報を提供することができる。また、ユーザが位置情報を他者に知らせたくない場合には、ユーザは、位置情報の利用を非許諾することにより、位置情報の提供を停止することができる。
また、ユーザは、現在以降の位置情報について、位置情報の利用の許諾または非許諾を設定することができる。また、ユーザは、過去の位置情報について、位置情報の利用の許諾または非許諾を、時間を遡って設定することができる。つまり、ここでいう位置情報の利用の許諾または非許諾の設定には、新しい位置情報についての使用の諾否という意味と、既に登録されている位置情報の使用の諾否という意味が含まれる。
なお、ここでいうアプリケーションとは、端末装置10にインストールされた場合に、所定の機能を提供するソフトウェアである。このアプリケーションには、端末装置10にインストールされているアプリケーションと、端末装置10にインストールされていないアプリケーションとがある。上述した許諾設定情報は、端末装置10にインストールされているアプリケーションだけでなく、端末装置10にインストールされていないアプリケーションに対して設定されてもよい。
また、アプリケーションには、認証サーバ40によって認証されたアプリケーションと、認証サーバ40による認証をされていないアプリケーションとがある。ここで認証サーバ40によって認証されたアプリケーションとは、認証サーバ40により端末装置10において利用することが許可されたアプリケーションである。また、認証サーバ40による認証をされていないアプリケーションとは、認証サーバ40により端末装置10において利用することが許可されていないアプリケーションである。上述した許諾設定情報は、認証サーバ40により端末装置10において利用することが許可されたアプリケーションだけでなく、認証サーバ40により端末装置10において利用することが許可されていないアプリケーションに対して設定されてもよい。
許諾設定情報は、さまざまな方法で設定可能である。例えば、端末装置10において、アプリケーションごとに設定されていてもよい。また、端末装置10が位置情報サーバ30にアクセスして、位置情報サーバ30で管理している全てのアプリケーションに対してそれぞれ設定してもよい。これにより、ユーザは、端末装置10上でアプリケーションごとに許諾設定情報を設定できるだけでなく、位置情報サーバ30にアクセスして、許諾設定情報を設定することができる。例えば、現在使用しているアプリケーションの一覧を端末装置10に表示させて、ユーザは、一覧を見ながら、アプリケーションごと、会社ごと、またはアプリケーションの種別ごとに、許諾設定情報を設定できる。さらに、端末装置10において新しいアプリケーションがインストールされた場合、その旨が位置情報サーバ30へ自動的にアップロードされてもよく、位置情報サーバ30からのプッシュ指示でアップロードされてもよい。位置情報サーバ30は、端末装置10に対して、新しくインストールされたアプリケーションについて、位置情報の利用を許諾するか否かを設定するよう求めてもよい。
また、許諾設定情報は、設定された時から将来において、位置情報の利用の許諾または非許諾を設定する情報に限られない。許諾設定情報は、設定される時点よりも過去に遡って設定されてもよい。例えば、許諾設定情報として、位置情報の利用を許諾する期間を示す許諾期間が設定されてもよい。
許諾設定情報は、さまざまな方法で管理可能である。例えば、端末装置10または位置情報サーバ30において、アプリケーションごと、またはユーザIDごとに、許諾または非許諾が決められた許諾設定情報を保持する。また、端末装置10および位置情報サーバ30の両方において許諾設定情報を保持してもよい。
位置情報サーバ30は、位置情報と許諾設定情報と対応付けた情報とを自身の記憶部に格納しており、ユーザにより許諾設定情報が設定または変更された場合、記憶部に格納されている許諾設定情報の一部を更新してもよい。更新には、設定値がない状態から設定値が登録される処理と、設定値が他の値に変更される処理とを含む。
位置情報サーバ30は、蓄積した位置情報を、POIサーバ42及びアプリケーションサーバ50に送信する。実施形態において、位置情報サーバ30は、位置情報の利用の許諾の有無に応じて、POIサーバ42及びアプリケーションサーバ50に送信するか、送信しないかを選択する。具体的には、位置情報サーバ30は、蓄積した位置情報のうち、アプリケーションサーバ50が提供するアプリケーションにおいて位置情報の利用が許諾されている位置情報をアプリケーションサーバ50に送信する。逆に、位置情報サーバ30は、蓄積した位置情報のうち、アプリケーションサーバ50が提供するアプリケーションにおいて位置情報の利用が許諾されていない位置情報を、アプリケーションサーバ50に送信しない。
ただし、端末装置10が位置情報を取得した時点では、位置情報の利用が許諾されていなかったアプリケーションであっても、その後許諾期間が遡って変更された結果、その時点の位置情報の利用が許諾されることになった場合、位置情報サーバ30は、その位置情報をアプリケーションサーバ50に送信できる。つまり、位置情報サーバ30は、位置情報の利用が許諾されている許諾期間に対応する位置情報をアプリケーションサーバ50に送信する。位置情報を利用できる許諾期間は、いつでも変更可能である。
ここで、位置情報サーバ30は、位置情報と許諾設定情報とを自身で対応付けてもよく、端末装置10が対応付けた位置情報と許諾設定情報とを端末装置10から取得してもよい。前者の方式を、以下、サーバ紐づけ方式という。後者の方式を、以下、端末紐づけ方式という。
サーバ紐づけ方式について説明する。この方式の場合、位置情報サーバ30は、許諾設定情報を保持しておく。ここで、許諾設定情報には、位置情報の利用が許諾されたアプリケーションを示すアプリケーションID又はアプリケーションの名称や種類、位置情報の利用が許諾された許諾期間を示す情報等が含まれている。位置情報サーバ30は、端末装置10から、位置情報を受信する。位置情報サーバ30は、許諾設定情報を参照して、受信した位置情報に含まれる測位時刻に基づき、測位時刻において、位置情報を送信した端末装置10のユーザにおいて位置情報の利用が許諾されているアプリケーションを特定する。なお、位置情報サーバ30は、許諾設定情報を参照して、受信した位置情報に対応付けられた情報に基づき、位置情報を送信した端末装置10のユーザにおいて位置情報の利用が許諾されているアプリケーションを特定してもよい。位置情報に対応付けられた情報には、端末ID、ユーザID、OS情報や、後述するウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、端末の電池残量などの情報が含まれる。
位置情報サーバ30は、特定したアプリケーションを提供するアプリケーションサーバ50による位置情報の利用が許諾されていることを示す許諾設定情報を、位置情報に対応付けて記憶部に記憶させる。許諾設定情報のうち、位置情報の利用が許諾されていることを表わす許諾設定情報を許諾設定情報(許諾)と、位置情報の利用が許諾されていないことを表わす許諾設定情報を許諾設定情報(非許諾)と、以下記す。
端末紐づけ方式について説明する。この方式の場合、端末装置10は、許諾設定情報を記憶部から読み出す。なお、許諾設定情報が位置情報サーバ30に格納されている場合、端末装置10は、位置情報サーバ30の許諾設定情報を参照してもよい。端末装置10は、許諾設定情報を参照して、位置情報サーバ30に送信する位置情報に含まれる測位時刻に基づき、測位時刻において位置情報の利用が許諾されているアプリケーションを特定する。端末装置10は、許諾設定情報を参照して、位置情報サーバ30に送信する位置情報に対応付けられた情報に基づき、位置情報の利用が許諾されているアプリケーションを特定してもよい。
端末装置10は、許諾設定情報(許諾)を、位置情報に対応付けて、位置情報サーバ30に送信する。位置情報サーバ30は、端末装置10から受信した位置情報に、許諾設定情報(許諾)を対応付けて、自身の記憶部に記憶させる。なお、端末装置10は、取得した位置情報を、位置情報の利用が許諾されているアプリケーションを提供するアプリケーションサーバ50へ直接送信してもよい。
アプリケーションサーバ50は、複数のアプリケーションのそれぞれに対応したサーバ装置である。端末装置10には、複数のアプリケーションプログラムをインストールすることができる。本実施形態においては、端末装置10にアプリケーションプログラムA〜Cがインストールされている場合を一例にして説明する。この具体例においては、アプリケーションサーバ50Aは、アプリケーションプログラムAに対応したサーバ装置である。また、アプリケーションサーバ50Bは、アプリケーションプログラムBに対応したサーバ装置である。また、アプリケーションサーバ50Cは、アプリケーションプログラムCに対応したサーバ装置である。このアプリケーションサーバ50は、位置情報サーバ30を介して、自身のアプリケーションについて位置情報の利用が許諾された端末装置10から、位置情報を受信する。つまり、アプリケーションサーバ50は、位置情報サーバ30に記憶されている位置情報のうち、自身に対応したアプリケーションについて位置情報の利用を許諾することを示す許諾設定情報(許諾)と対応付けられた位置情報を受信する。
アプリケーションサーバ50は、トラッキングされた端末装置10の位置情報を用いて所定のアプリケーション処理を行う。トラッキングされた位置情報には、任意又は所定の期間ごとに繰り返して更新された端末装置10の最新位置又は過去の位置が含まれる。このアプリケーション処理には、端末装置10の位置の変化を解析して、端末装置10に適した広告情報等のアプリケーション情報を判定する処理などが含まれていてもよい。アプリケーション情報は、アプリケーションサーバ50から端末装置10に送信されてもよく、POIサーバ42から端末装置10に送信されてもよい。これによりアプリケーションサーバ50及びPOIサーバ42は、端末装置10に、端末装置10の位置に適した広告等を表示させることができる。この一例の場合、アプリケーション情報は、端末装置10の位置情報取得部で取得された位置情報に基づく情報に相当する。
認証サーバ40は、端末装置10が位置情報サーバ30と通信を開始する際に、各種の認証処理を行う。この認証サーバ40が行う認証処理には、一例として、端末認証処理、ユーザ認証処理、又はアプリケーション認証処理が含まれている。これら認証処理の具体例について説明すると、端末認証処理において認証サーバ40は、端末装置10から送信された端末IDと予め記憶しておいた端末IDとが合致した場合に認証を成功させる。ここで、端末IDとは、端末装置10を識別するための固有の記号や番号などの情報である。ユーザ認証処理における認証サーバ40は、端末装置10から送信されたユーザIDと予め記憶しておいたユーザIDとが合致した場合に認証を成功させる。ここで、ユーザIDとは、端末装置10を利用するユーザを識別するための固有の記号や番号などの情報である。アプリケーション認証処理における認証サーバ40は、端末装置10から送信されたアプリケーションIDと予め記憶しておいたアプリケーションIDとが合致した場合に認証を成功させる。ここで、アプリケーションIDとは、各アプリケーションプログラムを識別するための固有の記号や番号などの情報である。
認証サーバ40による認証が成功した場合、認証サーバ40は、端末装置10にトークンを生成して、端末装置10に送信する。認証サーバ40から送信されたトークンは、端末装置10に記憶される。これにより端末装置10は、位置情報サーバ30及びアプリケーションサーバ50とセキュアな通信が可能となる。なお、トークンは任意のタイミングで更新されてもよい。これにより、端末装置10は、さらにセキュアな通信が可能となる。
また、認証サーバ40は、端末装置10が携帯電話である場合、端末認証処理においてIP(Internet Protocol)アドレス及び電話番号を用いてもよい。認証サーバ40は、位置情報サーバ30を介して、端末装置10から送信されたIPアドレス及び電話番号を受信する。認証サーバ40は、受信したIPアドレス及び電話番号と、正当なIPアドレス及び電話番号とを照合する。認証サーバ40は、受信したIPアドレス及び電話番号が正当なIPアドレス及び電話番号と照合できた場合には、通信を許可する認証結果を位置情報サーバ30に送信する。
POIサーバ42は、POI情報を蓄積している。POI情報は、少なくとも店舗等の緯度、経度を示す情報を含んでいる。POIサーバ42は、端末装置10、位置情報サーバ30又はアプリケーションサーバ50から要求を受け付ける。この要求には、端末装置10の位置情報が含まれる。POIサーバ42は、この要求の受け付けに応じて当該位置情報に対応したPOI情報を検索し、当該位置情報付近のPOI情報を返信する。なお、POI情報には、店舗等のロケーションID、ロケーション名、及びカテゴリ等を含んでいてもよい。これによりPOIサーバ42は、位置情報に対応したロケーションID、ロケーション名、及びカテゴリ等を検索結果として返信できる。
また、POIサーバ42は、POI情報をキーとして端末装置10を検索してもよい。これによりPOIサーバ42は、POI情報に該当する端末装置10を抽出して、検索結果として返信することができる。例えば、POIサーバ42は、ある店舗内に存在する端末装置10を検索して、端末装置10のユーザIDを返信することができる。
図2は、実施形態に係る端末装置10の構成を示すブロック図である。端末装置10は、処理部12、通信部14、GPS(Global Positioning System)測位部16、及び記憶部18を含む。端末装置10は、ユーザに保有されて移動する機器である。端末装置10は、例えば携帯電話又はスマートフォンであってもよい。
通信部14は、位置情報サーバ30との間で通信を行う。通信部14は、例えば通信ICチップにより構成されている。通信部14は、処理部12から供給された位置情報を所定の通信データに変換して位置情報サーバ30に送信する。認証サーバ40がアプリケーション認証をする場合には、位置情報に、アプリケーション認証が成功しているアプリケーションのアプリケーションIDが対応付けられていてもよい。位置情報サーバ30又はアプリケーションサーバ50から通信データを受信した場合、通信部14は、受信した通信データに所定の処理を施して処理部12に出力する。
GPS測位部16は、位置情報を取得する位置情報取得部として機能する。GPS測位部16は、自装置の位置を特定して位置情報を生成し、処理部12に出力する。このときGPS測位部16は、複数のGPS衛星からGPS衛星の位置及び時刻を含むGPS信号を受信する。GPS測位部16は、複数のGPS衛星と端末装置10の距離を演算し、三角測量演算により自装置の位置を特定する。特定された位置及び時刻は、位置情報としてGPS測位部16から処理部12に供給される。
GPS測位部16は、スリープ状態と、通常動作状態との少なくとも2つの状態で動作する。このうち、スリープ状態とは、測位を実施せずに待機している状態であって、通常動作状態よりも消費電力が少ない状態である。また、通常動作状態とは、測位を実施する状態であって、スリープ状態よりも消費電力が多い状態である。GPS測位部16は、処理部12による起動要求、及び、通常動作の完了によって、状態を遷移させる。具体的には、GPS測位部16の動作状態は、処理部12による起動要求をトリガにして、スリープ状態から通常動作状態に遷移する。また、GPS測位部16の動作状態は、測位演算が完了したことをトリガにして、通常動作状態からスリープ状態に遷移する。ここで、起動要求とは、処理部12がGPS測位部16に対して出力する要求であって、自装置の位置を特定して位置情報を生成する処理の実行を要求するコマンドである。
換言すれば、GPS測位部16は、処理部12から出力される起動要求の入力を待機している期間においてスリープ状態となっている。スリープ状態とは、省電力で動作している状態であり、起動要求により解除される。GPS測位部16は、処理部12から起動要求を入力することに応じて起動する。これによりGPS測位部16は、スリープ状態から通常動作状態に切り替わる。起動要求は、自装置の位置情報を取得する命令である。GPS測位部16は、起動要求に応じて位置情報を取得して処理部12に出力すると、所定時間後にスリープ状態となる。
なお、位置情報を取得する位置情報取得部は、他の方式により位置情報を取得してもよい。
この位置情報取得部は、セルID(携帯電話基地局)方式によって位置情報を取得してもよい。このセルID方式は、端末装置10が携帯電話端末の場合、携帯電話端末としての通信機能を応用して、3つ以上の携帯電話基地局の電波情報に基づいて端末装置10の現在地を算出する。
位置情報取得部は、Wi−Fi方式によって位置情報を取得してもよい。Wi−Fi方式は、端末装置10周辺の無線LANのアクセスポイントから送信される電波を検出し、アクセスポイントの位置情報に基づいてアクセスポイントまたは所定のサーバ等から端末装置10の位置情報を取得する。
さらに、位置情報取得部は、ネットワーク測位方式によって位置情報を取得してもよい。ネットワーク測位方式は、セルID方式とWi−Fi方式による測位で位置情報を取得する。
このように、位置情報取得部は、GPS測位方式のみならず、セルID方式又はWi−Fi方式を用いる構成であっても、処理部12からの起動要求に応じてスリープ状態から起動して、位置情報を取得できる。
本実施形態において、端末装置10は、位置情報の取得方式として、Wi−Fi方式およびセルID方式よりも、GPS測位部16による測位方式を優先する。端末装置10は、例えば自装置が屋内にいる等のGPS測位部16に測位ができない状況において、GPS測位部16による測位に代えて、セルID方式またはWi−Fi方式による測位に切り替える。
処理部12は、例えば、CPU(Central Processing Unit)等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
処理部12は、アプリケーション処理部120A、120B、120C(以下、総称する場合には単に「アプリケーション処理部120」と呼ぶ。)を有する。アプリケーション処理部120A、120B、120Cは、CPUがアプリケーションプログラムA、B、Cを実行することにより機能するソフトウェア機能部である。本実施形態において、複数のアプリケーション処理部120A、120B、120Cは、それぞれ任意のアプリケーション処理を実行する。また、本実施形態では、アプリケーションプログラムA、B、Cの3つを実行する例について説明するが、これに限られない。アプリケーション処理部120は、2以上のアプリケーションプログラムを同時に実行するものであればよい。
端末装置10は、アプリケーションプログラムA、B、Cの起動時にアプリケーション認証のための動作を行ってもよい。この場合、端末装置10は、アプリケーションプログラムが起動する際に、アプリケーションプログラムごとに予め定められているアプリケーションIDを認証サーバ40に送信する。より具体的には、端末装置10は、アプリケーションプログラムAが起動する際に、アプリケーションプログラムAを示すアプリケーションIDを認証サーバ40に送信する。端末装置10は、認証サーバ40からアプリケーション認証が許可されたか否かの認証結果を受信する。端末装置10は、認証結果が「許可」の場合のみアプリケーションプログラムの起動を許可する。
処理部12は、同時に複数のアプリケーションプログラムA、B、Cが実行可能である。処理部12は、複数のアプリケーションプログラムA、B、Cのうち優先度の低いアプリケーションプログラムをバックグラウンドで実行する。なお、アプリケーションプログラムA、B、Cは、所定期間ごとに起動要求を出力することが設定されていてもよい。所定期間は、アプリケーションプログラムA、B、Cごとに設定されていてもよい。所定期間は、例えば、1分、10分、1時間などが挙げられる。
本実施形態の端末装置10は、アプリケーションプログラムが起動要求を出力するものであっても、位置情報取得制御部122A、122B、122Cのうちいずれか1つがGPS測位部16に起動要求を出力する。
記憶部18は、アプリケーションプログラムA、B、Cのそれぞれに付属する位置情報ライブラリを記憶している。実施形態において、アプリケーションプログラムAには、位置情報ライブラリAが付属している。また、アプリケーションプログラムBには、位置情報ライブラリBが付属しており、アプリケーションプログラムCには、位置情報ライブラリCが付属している。以下の説明において、これら位置情報ライブラリA、B、Cを総称して、位置情報ライブラリという。
位置情報ライブラリとは、端末装置10のCPUによって実行されるソフトウェアである。すなわち、端末装置10において、CPUが位置情報ライブラリを実行する。これにより、端末装置10は、ソフトウェア機能部として位置情報取得制御部122A、122B、122C(以下、総称する場合には単に「位置情報取得制御部122」と呼ぶ。)を構成する。すなわち、処理部12は、これら位置情報取得制御部122をアプリケーションごとに有している。
位置情報取得制御部122A、122B、122Cは、GPS測位部16に対して、起動要求を出力する。実施形態において、起動要求は、位置情報取得制御部122A、122B、122Cのうちいずれか1つから出力される。位置情報取得制御部122A、122B、122Cは、この起動要求に応じてGPS測位部16により生成された位置情報を取得し、取得した位置情報をアプリケーション処理部120A、120B、120Cに出力する。実施形態において、GPS測位部16は、生成した位置情報を、起動要求を出力した位置情報取得制御部122A、122B、122Cのうちいずれか1つに出力する。位置情報が入力した位置情報取得制御部122A、122B、122Cのうちいずれか1つは、他の位置情報取得制御部に対して位置情報を出力してもよい。これにより、各アプリケーション処理部120A、120B、120Cは、GPS測位部16が生成した位置情報の利用が可能になる。
ここで、位置情報取得制御部122A、122B、122Cは、許諾設定情報に基づき、位置情報の利用を許諾されているアプリケーションに対応するアプリケーション処理部120に対して、位置情報を出力してもよい。つまり、位置情報取得制御部122A、122B、122Cは、位置情報の利用を許諾されていないアプリケーションに対応するアプリケーション処理部120に対しては位置情報を出力しない。位置情報取得制御部122A、122B、122Cは、端末装置10に記憶されている許諾設定情報を参照してもよく、位置情報サーバ30に記憶されている許諾設定情報を参照してもよい。
なお、アプリケーションプログラムA、B、Cには、それぞれに位置情報ライブラリA、B、Cが付属しているが、必ずしも、すべての位置情報取得制御部122A、122B、122CがGPS測位部16に対して起動要求を出力しなくてもよい。つまり、処理部12には、複数の位置情報取得制御部122A、122B、122Cのうち、位置情報を取得させて位置情報をアプリケーション処理部120に利用可能にする一つの位置情報取得制御部122が存在していればよい。「一つの位置情報取得制御部122」は、後述するマスタとされた位置情報ライブラリにより実現される。「一つの位置情報取得制御部122」は、図3を参照して後述するように、複数のアプリケーションに対応した1つの位置情報ライブラリとして付属していてもよい。
アプリケーション処理部120は、一つの位置情報取得制御部122によってGPS測位部16に取得させる位置情報を利用する。
「位置情報を利用する」とは、端末装置10内で位置情報を使用することを含む。アプリケーション処理部120は、例えば、位置情報を使用することにより、GPS測位部16により取得された位置情報に基づいて自装置の位置を地図上に表示させることができる。
「位置情報を利用する」とは、GPS測位部16により取得した位置情報に基づく情報を使用することを含む。位置情報に基づく情報は、位置情報を用いることによって得られた新たな情報である。位置情報に基づく情報は、端末装置10内で位置情報に基づいて処理をしたことによって得られた情報であってもよく、アプリケーションサーバ50内で位置情報に基づいて処理したことによって得られた情報であってもよい。例えば、アプリケーション処理部120は、自装置の位置に近い店舗の広告情報を抽出して、広告情報をプッシュ広告として表示してもよい。アプリケーション処理部120は、アプリケーションサーバ50によって位置情報に基づいて抽出された広告情報を受信して、広告情報をプッシュ広告として表示してもよい。
アプリケーション処理部120は、一つの位置情報取得制御部122が取得する位置情報を利用可能にする。「位置情報を利用可能にする」とは、端末装置10以外の装置に位置情報を取得させ、端末装置10以外の装置に位置情報を処理可能にすることを含む。
このために、アプリケーション処理部120は、GPS測位部16により取得された位置情報の利用を許可する。このときアプリケーション処理部120は、位置情報を送信することを許可するかをユーザに問い合わる。ユーザが位置情報の送信を許可した場合、アプリケーション処理部120は、位置情報の利用を許可する許可情報を生成する。アプリケーション処理部120は、生成した許可情報を位置情報サーバ30に送信する。位置情報サーバ30は、端末装置10から送信された許可情報を受信した後、以降において端末装置10から送信された位置情報を蓄積して、アプリケーションサーバ50等に送信できる。これによりアプリケーション処理部120は、アプリケーションサーバ50によって位置情報を利用して、端末装置10の位置の解析等を行わせることができる。
さらに、アプリケーション処理部120は、予め端末装置10にインストールされたものである。アプリケーション処理部120は、位置情報ライブラリが端末装置10に供給されることに伴って、端末装置10にインストールされたものであってもよい。具体的には、位置情報ライブラリが付属したアプリケーションプログラムを同時にダウンロードして端末装置10にインストールする。これにより端末装置10は、アプリケーション処理部120及び位置情報取得制御部122を備えることができる。
位置情報ライブラリは、ユーザの許可に応じてダウンロードされる。アプリケーションプログラムを起動している時に、アプリケーション処理部120は、自装置の位置情報の送信を許可するかを問い合わせる画面を表示させる。ユーザの操作に基づいて位置情報の送信が許可された場合、アプリケーション処理部120は、位置情報ライブラリのダウンロード要求を送信させる。
位置情報サーバ30は、ダウンロード要求を受信したことに応じて位置情報ライブラリを端末装置10に送信する。これにより端末装置10は、位置情報ライブラリのダウンロードを開始する。処理部12は、ダウンロードが完了すると、位置情報ライブラリを各アプリケーションプログラムに付属させる。
処理部12は、ダウンロードした位置情報ライブラリを他のアプリケーションに付属させてもよい。処理部12は、ダウンロードした位置情報ライブラリを複製し、位置情報ライブラリが付属していないアプリケーションに組み込む。これにより処理部12は、位置情報ライブラリが付属していないアプリケーションに位置情報ライブラリを付属させることができる。
処理部12は、既にアプリケーションに組み入れられている古いバージョンの位置情報ライブラリに代えて最新バージョンの位置情報ライブラリに更新してもよい。これにより処理部12は、アプリケーションの位置情報ライブラリを最新なものに更新することができる。
上述の通り、位置情報取得制御部122は、GPS測位部16に起動要求を行う。複数のアプリケーション処理部120A、120B、120Cに付属した複数の位置情報取得制御部122A、122B、122Cのうちの一つの位置情報取得制御部122が、GPS測位部16に起動要求を行う。複数の位置情報取得制御部122のうち起動要求を行う一つの位置情報取得制御部122は、予め特定されている。すなわち、複数のアプリケーションプログラムA、B、Cのうちどのアプリケーションプログラムの位置情報取得制御部122からGPS測位部16に起動要求を出力するかは特定されている。
複数の位置情報取得制御部122のうち、起動要求を出力した位置情報取得制御部122には、GPS測位部16から位置情報が供給される。この位置情報取得制御部122は、GPS測位部16から位置情報が供給されたことを、他の位置情報取得制御部122に通知する。この、他の位置情報取得制御部122は、位置情報が供給されたことを示す通知に応じて、起動要求を出力した位置情報取得制御部122に対して位置情報を要求する。起動要求を出力した位置情報取得制御部122は、他の位置情報取得制御部122からの要求に応じて、他の位置情報取得制御部122に対して位置情報を出力する。ここで、起動要求を出力した位置情報取得制御部122とは、予め特定されたアプリケーションに付属した位置情報取得制御部122である。また、他の位置情報取得制御部122とは、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部122である。つまり、予め特定されたアプリケーションに付属した位置情報取得制御部122は、他のアプリケーションに付属した位置情報取得制御部122に位置情報を出力する。これにより、他のアプリケーションに付属した位置情報取得制御部122は、GPS測位部16に起動要求を行うことなく、GPS測位部16が生成した位置情報を取得することができる。
ここで、予め特定されたアプリケーションに付属した位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122とも称する。また、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部122を、マスタの権限を有しない位置情報取得制御部122、または、スレーブの位置情報取得制御部122とも称する。
換言すれば、起動要求を出力する一つの位置情報取得制御部122は、他の位置情報取得制御部122に対してマスタの権限を有する。他の位置情報取得制御部122は、マスタの位置情報取得制御部122に対してスレーブとして機能する。他の位置情報取得制御部122は、GPS測位部16に対して起動要求を送信しない。他の位置情報取得制御部122は、マスタの位置情報取得制御部122から通知を受けた場合に、マスタの位置情報取得制御部122に位置情報を要求して、位置情報を取得する。
記憶部18は、各種の情報を記憶する記録媒体である。記憶部18は、位置情報取得制御部122により取得された位置情報を蓄積する。記憶部18は、位置情報を時系列で記憶する。また、記憶部18は、許諾設定情報を記憶してもよい。許諾設定情報には、位置情報の利用が許諾された日時を示す情報、位置情報の利用が非許諾にされた日時を示す情報等が含まれてもよい。
また、記憶部18には、位置情報取得制御部122が動作するための位置取得制御用プログラムとしての位置情報ライブラリが記憶される。位置取得制御用プログラムは、コンピュータにより読込可能なプログラムである。
さらに、記憶部18には、以下の情報が記憶されている。
記憶部18には、端末装置10に割り当てられた端末IDが格納されている。
記憶部18には、端末装置10のユーザに割り当てられたユーザIDが格納されている。
記憶部18には、位置情報が示す位置において端末装置10がアクセスしたウェブページへのアクセス履歴や起動したウェブブラウザの操作履歴に関するウェブ履歴情報が格納されている。ウェブ履歴情報には、端末装置10が企業の広告、又は、ホームページ等のWebページにアクセスした時刻とアクセスしたWebページのアドレスとが含まれる。
記憶部18には、位置情報が示す位置において端末装置10が実行したプログラムに関するプログラム実行履歴情報が格納されている。プログラム実行履歴情報には、端末装置10がプログラムを実行した時刻と実行したプログラムの名称や種類が含まれる。なお、プログラム実行履歴情報には、プログラムの起動された時刻と、スリープ状態からのプログラムが再起動された時刻とが含まれる。端末装置10が実行するプログラムには、例えば、カメラプログラム、メールプログラム、電話プログラム、音楽再生プログラム(再生した楽曲名などを含んでもよい)、電卓プログラム等が含まれる。
記憶部18には、位置情報が示す位置において端末装置10が受け付けたユーザからの操作に関する操作履歴情報が格納されている。操作履歴情報には、端末装置10が操作を受け付けた時刻と受け付けた操作の名称や種類が含まれる。端末装置10が受け付ける操作には、例えば、電源をONする操作、電源をOFFする操作、スピーカ音量の調節操作、省電力モードへの切替操作等が含まれる。
記憶部18には、位置情報が示す位置において端末装置10が充電モードであるか否かを示す充電履歴情報が格納されている。充電履歴情報には、端末装置10が充電を開始した時刻と充電を終了した時刻とが含まれる。また、充電履歴情報には、端末装置10の充電容量の残容量や残容量の割合が含まれていてもよい。
記憶部18には、位置情報が示す位置における端末装置10の姿勢の変化を示す姿勢変化情報が格納されている。姿勢変化情報には、端末装置10の姿勢が変化した時刻が含まれる。なお、端末装置10の姿勢の変化は、後述する加速度センサ等により検出される。
記憶部18には、位置情報が示す位置において端末装置10が取得した環境情報が格納されている。環境情報には、端末装置10が収集した音情報や、近距離通信の通信履歴等が含まれる。端末装置10が収集した音情報は、例えば店舗で流される可聴音や不可聴音に関する情報である。近距離通信の通信履歴は、例えばBluetooth(登録商標)及び赤外線等の通信を行った時刻等が含まれる。
ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、及び環境情報は、処理部12により生成される。
位置情報取得制御部122は、位置情報サーバ30に位置情報を送信する場合に、記憶部18に蓄積した位置情報を読み出して、通信部14に出力する。これにより位置情報取得制御部122は、記憶部18から読み出した位置情報を、通信部14から位置情報サーバ30に送信させる。なお、位置情報取得制御部122は、位置情報とともに、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報及び環境情報の全部又は一部を送信してもよい。
さらに、位置情報取得制御部122は、位置情報を記憶部18から読み出して通信部14により通信させる度に、位置情報の送信完了または送信不能を送信履歴として記憶させてもよい。位置情報取得制御部122は、例えば自装置周辺の電波の影響により位置情報の送信ができない場合には、位置情報の送信を中止し、当該位置情報に対応づけて送信不能であるという送信履歴を記憶部18に記憶させる。位置情報取得制御部122は、送信タイミングにおいて送信履歴を参照し、前回の送信タイミング以降にGPS測位部16により取得された位置情報、および送信不能の位置情報を記憶部18から読み出し、通信部14により通信させる。これにより、位置情報取得制御部122は、位置情報の送信ができない状況が生じても、位置情報を漏れなく送信できる。
位置情報取得制御部122は、位置情報に、ユーザID、端末ID、端末機種名、及びOS(Operating System)の種別等の端末装置10に関する情報を対応付けて、通信部14を介して位置情報サーバ30に送信してもよい。さらに、位置情報取得制御部122は、位置情報に、位置情報の測位方式、及び当該測位方式で測位された位置情報の測位誤差を対応づけて送信してもよい。測位方式としては、例えばGPS測位方式、セルID方式、Wi−Fi方式、又はネットワーク測位方式が挙げられる。さらに、端末装置10がWi−Fiネットワークに存在する場合、位置情報取得制御部122は、位置情報に、Wi−FiネットワークのアクセスポイントのIDを対応付けて送信してもよい。さらに、端末装置10がBluetooth(登録商標)機能を起動して通信している場合、位置情報取得制御部122は、位置情報に、Bluetooth(登録商標)端末としてのIDを対応付けて送信してもよい。また、位置情報のそれぞれについて、許諾設定できてもよい。
また、位置情報取得制御部122は、位置情報サーバ30を介さずに、アプリケーションサーバ50に直接的に位置情報を送信してもよい。
位置情報取得制御部122は、所定条件となった場合に、端末装置10から位置情報サーバ30に位置情報を送信させる。所定条件は、予め端末装置10内で決定された送信タイミングである。所定条件は、位置情報サーバ30から送信された所定期間であってもよい。これにより端末装置10は、位置情報サーバ30が要求する頻度で位置情報サーバ30に位置情報を送信できる。
所定条件は、アプリケーションによって設定されたタイミングであってもよい。例えば、端末装置10は、位置情報サーバ30のプッシュ指示に従い、位置情報を測位してもよい。また、位置情報サーバ30のプッシュ指示は、アプリケーションサーバ50から位置情報サーバ30に指示される測位タイミングに従って行われてもよい。これにより端末装置10は、アプリケーションが要求する頻度で位置情報サーバ30に位置情報を送信できる。
所定条件は、位置情報サーバ30を介さずにアプリケーションサーバ50に直接的に位置情報を送信する場合、アプリケーションサーバ50から送信された所定期間であってもよい。これにより端末装置10は、アプリケーションサーバ50が要求する頻度で、アプリケーションサーバ50に位置情報を送信できる。
次に、端末紐づけ方式が採用されているシステムにおいて、位置情報に位置情報の利用が許可されたアプリケーションであるか否かを示す情報を対応付ける一例について説明する。
例えば、処理部12が、位置情報に、許諾設定情報を対応付ける。なお、処理部12に限られず、マスタの権限を有する位置情報取得制御部122が、位置情報に、許諾設定情報を対応付けてもよい。処理部12は、許諾設定情報を参照して、端末装置10のユーザにより位置情報の利用が許諾されているアプリケーションを示すアプリケーションIDと、許諾期間において取得された位置情報とを対応付ける。許諾期間とは、例えば、ユーザにより位置情報の利用が許諾されている期間である。許諾期間は、アプリケーションプログラムごとにユーザにより設定される。許諾期間は、許諾設定情報に含まれる。
上述の通り、GPS測位部16は、マスタの権限を有する位置情報取得制御部122が出力した起動要求に応じて、位置情報を測位する。しかし本実施形態において、処理部12は、位置情報が測位されたときに位置情報の利用が許諾されている全てのアプリケーションを示すアプリケーションIDを位置情報に対応付ける。つまり、処理部12は、起動要求を出力したマスタの権限を有するアプリケーションに限られず、スレーブの権限を有するアプリケーションを示すアプリケーションIDも含めて、位置情報に対応付ける。このようにして対応付けられた位置情報と許諾設定情報を受信することにより、位置情報サーバ30は、以下のような情報を対応テーブル38Tに書き込む。
例えば、アプリAの測位間隔が5分毎であり、アプリBの測位間隔が1時間であり、アプリCの測位間隔が3時間であるとする。ここで、アプリAがマスタ権限を有する場合、位置情報サーバ30の対応テーブル38Tには、5分間隔に測位された位置情報が書き込まれる。また、アプリA〜Cのそれぞれにおいて、位置情報の利用が許諾されている場合、対応テーブル38Tの許諾設定情報の“アプリA”と“アプリB”と“アプリC”の欄に“○”が書き込まれる。これにより、位置情報サーバ30は、アプリA〜Cのアプリケーションサーバ50A〜50Cの全てに対して、5分間隔に測位された位置情報を提供できる。また、アプリB,Cのアプリケーションサーバ50B,50Cは、自身においてそれぞれ規定の測位間隔よりも短い間隔で測位された位置情報を利用できる。
図3に端末装置10の他の構成例を示す。端末装置10は、図2に示した構成に限らず、図3に示すように構成されていてもよい。図3の端末装置10は、複数のアプリケーション処理部120A、120B、120Cに対して1つの位置情報取得制御部122を有している。位置情報取得制御部122は、複数のアプリケーションに対応した1つの位置情報ライブラリとして実装される。
図4に端末装置10のさらに他の構成例を示す。この端末装置10において、位置情報取得部160は、上述したGPS測位部16に加えて、加速度センサ161を含んでいる。加速度センサ161は、自装置である端末装置10に加わる加速度の変化に応じて物理量が変化する。この加速度センサ161は、半導体静電容量センサであってもよい。
なお、端末装置10は、自装置の挙動を検出するため、重力センサ、ジャイロセンサ、又は地磁気センサを含んでいてもよい。本実施形態においては、加速度センサ161のみを備えることを説明するが、これらの重力センサ、ジャイロセンサ、又は地磁気センサは、加速度センサ161と共に、又は、加速度センサ161に代えて備えていてもよい。
加速度センサ161により検出された加速度は、端末装置10の挙動に相当する。位置情報取得部160は、加速度センサ161により検出された挙動に基づいて自装置の移動を検出する。位置情報取得部160は、自装置の移動を検出したことに応じて移動量を更新する。この移動量は、実際の端末装置10の移動量とは異なり、端末装置10の挙動から推定される移動量である。この移動量は位置情報取得部160から処理部12に出力される。これにより、処理部12は、移動量に応じて変化する自装置の位置情報を記憶部18に蓄積することができる。
なお、位置情報取得部160は、加速度センサ161における物理量の変化に基づいて自装置が移動したことを検知してもよい。位置情報取得部160は、自装置が移動したことを検知したことに応じて、位置情報取得制御部122により測位タイミングを判定させることができる。例えば、位置情報取得制御部122は、自装置が移動状態である場合に、測位タイミングであることを判定することができる。また、位置情報取得制御部122は、単位時間当たりの移動距離又は所定位置からの移動距離が所定距離(例えば100メートル)を超えている場合には、測位タイミングであることを判定することができる。
さらに位置情報取得制御部122は、通信部14が通信可能な通信エリアの識別子に基づいて測位タイミングを判定してもよい。この通信エリアの識別子としては、基地局のセルID又はWi−FiネットワークにおけるアクセスポイントIDが挙げられる。位置情報取得制御部122は、通信部14により検出された通信エリアの識別子が変更したことを判定したタイミングを、測位タイミングであると判定できる。
つぎに、端末装置10の動作を説明する。図5は、図2に示すように構成された端末装置10によって、マスタの権限を有する位置情報取得制御部122を決定するマスタ決定処理を行うかを判定するフローチャートである。図5はマスタ決定処理の処理手順を示すフローチャートである。
先ず図5のステップS100において、端末装置10は、処理部12によって複数のアプリケーションプログラムを同時に起動しているか否かを判定する。複数のアプリケーションプログラムが起動している場合にはステップS102に処理を進める。1つのアプリケーションプログラムしか起動していない場合には、端末装置10は、この判定を繰り返す。
ステップS102において、処理部12は、図6のマスタ決定処理を行う。このマスタ決定処理は、各位置情報取得制御部122の処理部12によって行うものとして説明する。なお、このマスタ決定処理は、あくまで一例であり、他の処理によってマスタとしての位置情報ライブラリを決定してよいのは勿論である。
先ず図6のステップS200において、処理部12は、自装置の現在の動作モードが省電力モードであるか否かを判定する。このとき処理部12は、自装置における電池残量を参照する。処理部12は、電池残量が所定値以下である場合には省電力モードであることを判定する。省電力モードである場合にはステップS202に処理を進め、そうでない場合にはステップS204に処理を進める。なお、処理部12は、ユーザの操作によって省電力モードに設定されていることを検知してもよい。
次のステップS202において、処理部12は、省電力モードに対応したアプリケーションプログラムに付属された位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122に決定する。このとき処理部12は、バージョンが古いアプリケーションプログラムに付属された位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122に決定してもよい。処理部12は、取得する情報が少ないアプリケーションプログラムに付属された位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122に決定してもよい。処理部12は、マスタの権限を有する位置情報取得制御部122以外の位置情報取得制御部122を、スレーブの位置情報取得制御部122に決定する。
ステップS204において、処理部12は、所定のマスタ決定条件に合致する位置情報取得制御部122を検出する。所定のマスタ決定条件は、位置情報ライブラリをマスタの権限を有する位置情報取得制御部122とするための条件が予め設定されている。この所定のマスタ決定条件は、複数のアプリケーションのうち、GPS測位部16に起動要求を行う頻度が高いアプリケーションに付属した位置情報取得制御部122、であってもよい。この場合、処理部12は、アプリケーションプログラムの起動時間の履歴を含むデータを参照する。処理部12は、起動回数が最も多いアプリケーションを検出する。これにより処理部12は、起動回数が最も多いアプリケーションに付属した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出する。
所定のマスタ決定条件は、複数のアプリケーションのうち最先に起動したアプリケーションに付属した位置情報取得制御部122、であってもよい。この場合、処理部12は、アプリケーションの起動時間の履歴を含むデータを参照する。処理部12は、現在起動しているアプリケーションのうち起動時刻が最も古いアプリケーションを検出する。起動時刻が最も古いアプリケーションに付属した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出する。
所定のマスタ決定条件は、複数の位置情報ライブラリのうちバージョンが最新の位置情報ライブラリ、であってもよい。この場合、処理部12は、複数のアプリケーションに付属している各位置情報ライブラリのバージョン情報を参照する。処理部12は、位置情報ライブラリのバージョン情報のうち最新のバージョン情報の位置情報ライブラリを検出する。処理部12は、最新のバージョン情報の位置情報ライブラリに対応した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出する。
なお、所定のマスタ決定条件には、他の条件も含まれていてもよい。処理部12は、インストール日時が最も古いアプリケーションプログラムであって、削除される可能性が低いアプリケーションプログラムに付属した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出してもよい。また、処理部12は、取得する位置情報の種別が最も多いアプリケーションに付属した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出してもよい。さらに処理部12は、測位頻度が最も多いアプリケーションに付属した位置情報取得制御部122を、マスタ候補の位置情報取得制御部122として検出してもよい。
ステップS206において、処理部12は、ステップS204において検出された所定のマスタ決定条件に該当する位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122に決定する。処理部12は、マスタの権限を有する位置情報取得制御部122以外の位置情報取得制御部122を、スレーブの権限を有する位置情報取得制御部122に決定する。なお、処理部12は、マスタ候補の位置情報取得制御部122が複数検出された場合には、所定のマスタ決定条件に合致した数が多い位置情報取得制御部122を、マスタの権限を有する位置情報取得制御部122に決定してもよい。
なお、この実施形態において、位置情報サーバ30がマスタの権限を有する位置情報取得制御部122を決定してもよい。位置情報サーバ30は、端末装置10から、起動しているアプリケーションの情報及びユーザが位置情報の利用を許可した許可情報を定めたリストを受信する。位置情報サーバ30は、受信したリストを参照して、位置情報の利用が許可され、かつ起動しているアプリケーションのうち、どのアプリケーションに付属している位置情報ライブラリがマスタとなるかを決定できる。位置情報サーバ30は、決定したマスタとなる位置情報ライブラリが付属しているアプリケーションを端末装置10に通知する。これにより端末装置10は、位置情報サーバ30によって決定されたアプリケーションに付属した位置情報ライブラリをマスタに設定できる。
なお、位置情報サーバ30は、定期的、決まった日時、あるいは前回送信したリストに変更が生じたタイミングに、端末装置10から、起動しているアプリケーションの情報及びユーザが位置情報の利用を許可した許可情報を定めたリストを受信してもよい。これにより、位置情報サーバ30は、起動しているアプリケーションやユーザが位置情報の利用を許可した許可情報に変化があった場合でも、端末装置10に、次のマスタを遅滞なく通知することができる。
また、位置情報サーバ30は、端末装置10から位置情報とともに充電の残量を示す情報を受信して、充電の残量が所定容量を下回った場合に、マスタを変更する指示を行ってもよい。
また、位置情報サーバ30は、端末装置10から受信した、起動しているアプリケーションの情報及びユーザが位置情報の利用を許可した許可情報を定めたリストに基づき、マスタとなる位置情報ライブラリが付属しているアプリケーションの順位を定めたリストを作成してもよい。これにより、端末装置10は、マスタの位置情報ライブラリが付属されたアプリケーションが削除された場合に、次の順位のアプリケーションに付属された位置情報ライブラリをマスタに決定することができる。
以上のように、処理部12は、複数の位置情報取得制御部122のうちいずれかの位置情報取得制御部122をマスタの権限を有する位置情報取得制御部122に決定できる。
図7は、端末装置10において、マスタの位置情報取得制御部122によって位置情報を取得させ、取得された位置情報を位置情報サーバ30に送信する処理手順を示すフローチャートである。
先ずステップS300において、マスタの位置情報取得制御部122は、測位タイミングとなったか否かを判定する。測位タイミングは、自装置の位置情報を取得するタイミングである。測位タイミングは、予め自装置内に設定された時間間隔である。なお、測位タイミングは、位置情報サーバ30により指定された時間間隔であってもよい。
次のステップS302において、マスタの位置情報取得制御部122は、GPS測位部16に起動要求を出力する。これによりGPS測位部16は、GPS信号を受信して三角測量演算を行って自装置の位置を特定する。GPS測位部16は、特定した位置を位置情報として取得する。マスタの権限を有する位置情報取得制御部122には、GPS測位部16により取得された位置情報が供給される。マスタの権限を有する位置情報取得制御部122は、供給された位置情報を測位時刻と共に記憶部18に蓄積する。
次のステップS304において、マスタの権限を有する位置情報取得制御部122は、ステップS302にて位置情報を取得したことをスレーブの権限を有する位置情報取得制御部122に通知する。
次のステップS306は、マスタの権限を有する位置情報取得制御部122は、スレーブの権限を有する位置情報取得制御部122から要求を受信したか否かを判定する。要求を受信した場合(ステップS306:YES)、マスタの権限を有する位置情報取得制御部122は、要求を送信したスレーブの権限を有する位置情報取得制御部122に、ステップS302にて蓄積した位置情報を出力する(ステップS308)。マスタの権限を有する位置情報取得制御部122は、要求を出力した全てのスレーブの権限を有する位置情報取得制御部122に位置情報を出力する。なお、ステップS304の通知後、スレーブの権限を有する位置情報取得制御部122から要求がなくなって所定時間が経過した場合には、タイムアウトしてステップS310に処理を進めてもよい。
ステップS310において、マスタの権限を有する位置情報取得制御部122は、位置情報サーバ30への位置情報の送信タイミングであるか否かを判定する。位置情報の送信タイミングは、前回の送信タイミングから所定時間を経過した時である。所定時間は、予め自装置内で決定された時間である。なお、所定時間は、位置情報サーバ30により要求された時間間隔であってもよい。
位置情報の送信タイミングとなった場合(ステップS310:YES)、マスタの権限を有する位置情報取得制御部122は、位置情報サーバ30に未送信の位置情報を記憶部18から読み出して、位置情報サーバ30に送信させる(ステップS312)。送信タイミングではない場合、マスタの権限を有する位置情報取得制御部122は、処理をステップS300に戻す。
次に、図8を参照して、許諾設定情報を設定するための操作画面について説明する。図8は、許諾設定情報を設定するための操作画面の一例を示す図である。
操作画面は、端末装置10が位置情報サーバ30にアクセスすることにより、端末装置10に表示される画面であってもよく、端末装置10が所定のアドレスにアクセスすることにより端末装置10に表示される画面であってもよい。
図8に示す通り、許諾設定情報を設定するための操作画面には、「全アプリ許諾」B1、「許諾」B2、及び「非許諾」B3が表示される。「許諾」B2及び「非許諾」B3は、アプリケーションごとに設けられる。許諾設定情報を設定するための操作画面には、例えば、端末装置10においてインストールされているアプリケーションが表示されている。これに限られず、許諾設定情報を設定するための操作画面には、端末装置10において未だインストールされていないがインストール可能なアプリケーションが表示されてもよい。
「全アプリ許諾」B1は、操作画面に表示される全てのアプリケーションについて位置情報の利用を許諾するための操作を受け付ける操作部である。「全アプリ許諾」B1が指示された場合、許諾設定情報を設定するための操作画面に表示される全てのアプリケーションについての位置情報の利用を許諾するという設定を受け付ける。
「許諾」B2は、対応付けられたアプリケーションについて位置情報の利用を許諾するための操作を受け付ける操作部である。「許諾」B2が指示された場合、対応付けられたアプリケーションについての位置情報の利用を許諾するという設定を受け付ける。
「非許諾」B3は、対応付けられたアプリケーションについて位置情報の利用を許諾しないための操作を受け付ける操作部である。「非許諾」B3が指示された場合、対応付けられたアプリケーションについての位置情報の利用を許諾しないという設定を受け付ける。
「許諾」B2及び「非許諾」B3と対応付けられたアプリケーションとは、「許諾」B2及び「非許諾」B3のそれぞれの操作画面内の左側に表示されたアプリケーションである。図示の例では、アプリAについては位置情報の利用が許諾されており、アプリB,Cについては位置情報の利用が許諾されていない。なお、「許諾」B2及び「非許諾」B3において、設定されている方の表示態様は、背景の色よりも文字の色の方が薄くなっている。一方、設定されていない方の表示態様は、判定表示されており、背景の色よりも文字の色の方が濃くなっている。
また、許諾設定情報を設定するための操作画面には、許諾された場合に外部装置に送信される情報の種類や、外部装置に情報を送信する目的、アプリケーションの種類ごとに各設定が可能であることなどが記載されている。
次に、図9を参照して、位置情報サーバ30の構成について説明する。図9は、実施形態に係る位置情報サーバ30の構成を示すブロック図である。位置情報サーバ30は、処理部32、第1通信部34、第2通信部36、及び記憶部38を含む。
第1通信部34は、端末装置10との間で通信を行う受信部と送信部とを備える。第1通信部34は、端末装置10から位置情報を受信する。また、第1通信部34は、許諾設定情報を端末装置10から受信する。
第2通信部36は、アプリケーションサーバ50との間で通信を行う受信部と送信部とを備える。第2通信部36は、ユーザにより位置情報の利用が許諾されているアプリケーションを提供するアプリケーションサーバ50に対して、位置情報を送信する。
記憶部38は、端末装置10から受信した位置情報等を記憶する。ここで、図10を参照して、記憶部38に格納される対応テーブル38Tの一例について説明する。図10は、記憶部38に格納される対応テーブル38Tの一例を示す図である。
図10に示す通り、対応テーブル38Tは、ユーザIDと、許諾設定情報と、位置情報と、ウェブ履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とを対応付けるテーブルである。
ユーザIDと、位置情報と、ウェブ履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とは、端末装置10から受信した情報である。許諾設定情報は、端末紐づけ方式の場合は端末装置10から受信される情報であり、サーバ紐づけ方式の場合は位置情報サーバ30が対応付ける情報である。
対応テーブル38Tにおいて、ユーザIDに対応付けられる許諾設定情報と位置情報との詳細について説明する。
許諾設定情報は、アプリケーションIDごとの列を含む。許諾設定情報は、端末装置10においてインストールされているアプリケーションの列だけで構成されていてもよく、位置情報サーバ30において認識している全てのアプリケーションの列を含むものでもよい。つまり、許諾設定情報は、端末装置10においてインストールされていないアプリケーションの列を含むものでもよい。許諾設定情報の各行には、位置情報ごとに、ユーザにより利用が許諾されているか否かを示す情報が格納されている。図示において、許諾設定情報(許諾)は“○”で示され、ユーザにより位置情報の利用が許諾されていることを示す。許諾設定情報(非許諾)は“−”で示され、ユーザにより位置情報の利用が許諾されていないことを示す。
位置情報は、緯度と経度を示す列と、測位時刻を示す列とを含む。
処理部32は、例えば、CPU等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSIやASIC等のハードウェア機能部であってもよい。
処理部32は、抽出部321と認証部322とを有する。認証部322は、位置情報を要求するアプリケーションサーバ50が正当なアプリケーションサーバ50であるか否かを判定する。正当なアプリケーションサーバ50とは、位置情報の取得が許可されているサーバである。認証部322は、例えば、認証サーバ40と連携し、認証サーバ40により認証されたアプリケーションサーバ50を、正当なアプリケーションサーバ50であると判定する。なお、これに限られず、認証部322は、認証サーバ40が実行する認証処理と同様の処理を実行することにより、正当なアプリケーションサーバ50であるか否かを判定してもよい。正当なアプリケーションサーバ50であるか否かの認証は、IDとパスワードとの組み合わせに基づく認証であってもよく、IPアドレスを用いた認証であってもよい。
抽出部321は、記憶部38から、抽出条件を満たす位置情報を抽出する。抽出条件は、位置情報サーバ30又はアプリケーションサーバ50により任意に設定可能である。アプリケーションサーバ50により設定された場合、第2通信部36が、抽出条件を設定する情報を受信する。抽出部321は、第2通信部36が受信した情報により設定された抽出条件を満たす位置情報を抽出する。第2通信部36は、アプリケーションサーバ50により設定された抽出条件に基づき抽出された位置情報を、抽出条件を送信したアプリケーションサーバ50に送信する。
例えば、抽出条件としてアプリケーションが設定された場合、抽出部321は、許諾設定情報(許諾)と対応付けられた位置情報のうち、抽出条件として設定されたアプリケーションと対応付けられた位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定されたアプリケーションのうち位置情報の利用が許諾されたことを示す“○”が書き込まれたアプリケーションと対応付けられた位置情報を抽出する。これにより、抽出部321は、設定されたアプリケーションに対応する位置情報であって、利用が許諾されている位置情報を抽出し、アプリケーションサーバ50に送信することができる。よって、アプリケーションサーバ50は、ユーザが利用を許諾した位置情報のうち、自身のアプリケーションについての位置情報しか取得し、表示することができない。
なお、これに限られず、抽出部321は、許諾設定情報を参照して、抽出条件として設定されたアプリケーションのうち位置情報の利用が許諾されたアプリケーションを抽出してもよい。例えば、抽出部321は、対応テーブル38Tにおいて、位置情報に含まれる測位時刻に基づき、許諾設定情報において利用が許諾されている期間内に測位された位置情報を抽出する。
また、抽出部321は、抽出条件として設定されたアプリケーションの利用を許諾したユーザを示すユーザIDに基づき、ユーザIDと対応付けられるユーザの属性情報を参照して、設定されたアプリケーションの利用が許諾したユーザの属性を抽出してもよい。これにより、特定のアプリケーションの利用を許諾したユーザの属性を抽出することができる。
例えば、抽出条件としてユーザの属性が設定された場合、抽出部321は、ユーザIDと対応付けられるユーザの属性情報を参照して、抽出条件として設定されたユーザの属性を満たすユーザのユーザIDと対応付けられた位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定されたユーザの属性と対応付けられたユーザIDを検索し、検索により得たユーザIDと対応付けられている位置情報を抽出する。なお、ユーザIDと対応付けられるユーザの属性情報は、記憶部38に記憶されていてもよく、外部のサーバに記憶されていてもよい。ユーザの属性情報には、例えば、年齢、性別、嗜好、住んでいる地域、よく出かける地域等が含まれる。これにより、抽出部321は、設定された属性を有するユーザが存在した位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定されたユーザの属性を満たすユーザのユーザIDと対応付けられた位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
例えば、抽出条件として時刻又は期間が設定された場合、抽出部321は、位置情報に含まれる測位時刻を参照して、抽出条件として設定された時刻又は期間に測位された位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定された時刻又は時間に合致する測位時刻を含む位置情報を抽出する。時刻に合致するとは、設定された時刻と一致する場合であってもよく、設定された時刻を含む所定の期間に含まれる場合とを含む。時間に合致するとは、例えば、12時から13時までのように、設定された時間内に含まれる場合をいう。これにより、抽出部321は、設定された時刻又は期間に端末装置10が存在した位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された時刻又は期間に測位された位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、設定された時刻又は時間に位置情報を送信した端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定された時刻又は時間に位置情報を送信した端末装置10のユーザの属性を抽出してもよい。これにより、特定の時刻又は時間に位置情報を送信した端末装置10のユーザの属性を抽出することができる。
例えば、抽出条件として場所が設定された場合、抽出部321は、地図データを参照して、抽出条件として設定された場所を含む所定範囲内に該当する位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された場所の緯度と経度を中心として所定半径の範囲内に含まれる緯度と経度の位置情報を抽出する。抽出条件として設定される場所としては、例えば、駅、ランドマーク等の施設、山、川、海等が含まれる。地図データは、記憶部38に記憶されていてもよく、外部のサーバに記憶されていてもよい。これにより、抽出部321は、設定された場所、または、設定された場所の周辺に存在した端末装置10の位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された場所を含む所定範囲内に該当する位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、設定された場所に存在した端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定された場所に存在したユーザの属性を抽出してもよい。これにより、特定の場所に存在したユーザの属性を抽出することができる。
例えば、抽出条件として施設のカテゴリが設定された場合、抽出部321は、地図データを参照して、抽出条件として設定されたカテゴリの施設の所在地を含む所定範囲内に該当する位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定されたカテゴリの施設の緯度と経度を中心として所定半径の範囲内に含まれる緯度と経度の位置情報を抽出する。なお、抽出条件として設定されたカテゴリの施設は、複数ある場合が想定される。抽出部321は、少なくとも何れか一つの施設を中心とした所定範囲内に含まれる位置情報を抽出する。抽出条件として設定されるカテゴリとしては、例えば、飲食店、コンビニエンスストア、本屋、駐車場、スーパー、保育園、学校等が含まれる。また、施設のカテゴリには、店舗の名称、駐車場の名称等も含まれる。これにより、抽出部321は、設定されたカテゴリの施設に存在した端末装置10の位置を示す位置情報を抽出することができる。例えば、カテゴリとしてコンビニエンスストアが設定された場合、抽出部321は、異なる店名のコンビニエンスストアに存在した端末装置10の位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定されたカテゴリの施設の所在地を含む所定範囲内に該当する位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、設定されたカテゴリの施設に存在した端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定されたカテゴリの施設に存在したユーザの属性を抽出してもよい。これにより、特定のカテゴリの施設に存在したユーザの属性を抽出することができる。
例えば、抽出条件としてウェブサイトが設定された場合、抽出部321は、ウェブ履歴情報を参照して、例えば、抽出条件として設定されたウェブサイトにアクセスした端末装置10の位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定されたウェブサイトへのアクセス履歴を示すウェブ履歴情報と対応付けられた位置情報を抽出する。これにより、特定のウェブサイトにアクセスした端末装置10の位置を示す位置情報を、そのウェブサイト情報とともに抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、位置情報の利用が許諾されているアプリケーション又はアプリケーションサーバ50の許諾設定情報に基づき、抽出条件として設定されたウェブサイトにアクセスした端末装置10の位置を示す位置情報を抽出してもよい。
また、抽出部321は、設定されたウェブサイトにアクセスした端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定されたウェブサイトにアクセスしたユーザの属性を抽出してもよい。これにより、特定のウェブサイトにアクセスしたユーザの属性を抽出することができる。
例えば、抽出条件としてプログラムの種類又は名称が設定された場合、抽出部321は、プログラム実行履歴情報を参照して、抽出条件として設定された種類又は名称のプログラムを端末装置10が実行した位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定されたプログラムを示すプログラム実行履歴情報と対応付けられた位置情報を抽出する。これにより、特定のプログラムを実行した端末装置10の位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された種類又は名称のプログラムを端末装置10が実行した位置を示す位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、設定されたプログラムを実行した端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定されたプログラムを実行したユーザの属性を抽出してもよい。これにより、特定のプログラムを実行したユーザの属性を抽出することができる。
例えば、抽出条件としてユーザによる操作の種類又は名称が設定された場合、抽出部321は、操作履歴情報を参照して、抽出条件として設定された種類又は名称の操作を端末装置10がユーザから受け付けた位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定された操作を示す操作履歴情報と対応付けられた位置情報を抽出する。これにより、特定の操作が端末装置10に入力された位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された種類又は名称の操作を端末装置10がユーザから受け付けた位置を示す位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、設定された操作を受け付けた端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、設定された操作を入力したユーザの属性を抽出してもよい。これにより、特定の操作を入力したユーザの属性を抽出することができる。
例えば、抽出条件として充電状態であることが設定された場合、抽出部321は、充電履歴情報を参照して、端末装置10が充電状態であった位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、充電が開始した時刻から終了した時刻までの間に測位時刻が含まれる位置情報を抽出する。これにより、端末装置10が充電された位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、端末装置10が充電状態であった位置を示す位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、充電状態にあった端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、充電状態にあった端末装置10のユーザの属性を抽出してもよい。これにより、充電しているユーザの属性を抽出することができる。
例えば、抽出条件として姿勢の変化が設定された場合、抽出部321は、姿勢変化情報を参照して、端末装置10の姿勢が変化した位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、姿勢変化情報と対応付けられている位置情報を抽出する。これにより、端末装置10の姿勢が変化した位置を示す位置情報を抽出することができる。なお、姿勢変化情報に、どのように姿勢が変化したのかが示される場合、抽出部321は、端末装置10の姿勢が抽出条件として設定された姿勢変化の条件を満たした位置を示す位置情報を抽出してもよい。また、抽出部321は、姿勢変化情報に基づき、ユーザの状態を判定してもよい。例えば、抽出部321は、姿勢変化情報が示す時系列の変化に基づき、ユーザが移動中であるか、または、ユーザが走行中であるかを判定する。抽出条件として、ユーザの状態が走行中であることが設定されている場合、抽出部321は、ユーザが走行中であることを示す姿勢変化情報と対応付けられている位置情報を抽出する。
ここで、抽出部321は、対応テーブル38Tを参照して、端末装置10の姿勢が変化した位置を示す位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、姿勢変化情報と対応付けられた端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、姿勢が変化した端末装置10のユーザの属性を抽出してもよい。これにより、移動中やジョギング中であったユーザの属性を抽出することができる。
例えば、抽出条件として環境条件が設定された場合、抽出部321は、環境情報を参照して、抽出条件として設定された環境条件を満たした位置を示す位置情報を抽出する。具体的に説明すると、抽出部321は、対応テーブル38Tを参照して、設定された環境条件を満たす環境情報と対応付けられた位置情報を抽出する。これにより、設定された環境条件に存在した可能性の高い端末装置10の位置を示す位置情報を抽出することができる。例えば、所定の施設では、場所を示す識別情報を含む可聴音又は不可聴音を出力する。この施設に存在する端末装置10は、集音した可聴音または不可聴音から識別情報を抽出し、位置情報サーバ30に出力する。このように、場所を示す識別情報を含む可聴音または不可聴音を出力している施設の位置を把握したい場合、抽出条件として、場所を示す識別情報を端末装置10が受信したことを設定する。これにより、抽出部321は、抽出条件を満たす施設の位置を示す位置情報を抽出することができる。
ここで、抽出部321は、対応テーブル38Tを参照して、抽出条件として設定された環境条件を満たす環境情報を端末装置10が取得した位置を示す位置情報のうち、許諾設定情報(許諾)と対応付けられた位置情報を抽出してもよい。
また、抽出部321は、環境条件を満たす環境に存在した端末装置10を示す端末IDに基づき、端末IDと対応付けられるユーザの属性情報を参照して、環境条件を満たす環境に存在したユーザの属性を抽出してもよい。これにより、環境条件を満たす環境に存在したユーザの属性を抽出することができる。
抽出部321は、抽出した情報に基づき、端末装置10を所有するユーザの行動を解析する解析処理を実行してもよい。
なお、処理部32の抽出部321は、アプリケーションサーバ50からの要求に応じて、位置情報をアプリケーションサーバ50に送信することに限られない。例えば、アプリケーションサーバ50は、将来の期間又は日時を位置情報サーバ30に対して指定し、指定した期間又は日時に測位された位置情報を要求してもよい。位置情報サーバ30は、アプリケーションサーバ50により指定された期間又は日時を経過した場合、指定された期間又は日時に測位された位置情報やユーザID等を抽出し、アプリケーションサーバ50に送信する。
次に、サーバ紐づけ方式が採用されているシステムにおいて、位置情報と許諾設定情報とを対応付ける一例について説明する。
例えば、処理部32は、記憶部38に記憶されている許諾設定情報に基づき、許諾期間内に測位された位置情報の利用を許可するアプリケーションがあるか否かを判定する。処理部32は、位置情報の利用を許可するアプリケーションがあると判定した場合、許諾設定情報(許諾)を対応付ける。
例えば、位置情報P1の測位時刻が、アプリAの許諾期間に含まれ、アプリB,Cの許諾期間に含まれていないとする。この場合、処理部32は、許諾設定情報に基づき、対応テーブル38Tにおいて位置情報P1と対応する許諾設定情報の欄のうち、アプリAの欄に“○”を、アプリB,Cの欄に“−”を、それぞれ書き込む。なお、許諾設定情報において、許諾期間が変更された場合、処理部32は、変更後の許諾設定情報に基づき、対応テーブル38Tの許諾設定情報を書き換える。
なお、上述において、許諾設定情報が位置情報の利用の許諾または非許諾を示す情報である例について説明したが、限られない。例えば、許諾設定情報は、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報のうち少なくとも1つの利用を許諾するか否かを示す情報を含んでもよい。これら情報についても、各ユーザが、利用を許諾するか否かを設定できる。また、ユーザは、これらの情報についての利用の許諾又は非許諾について、アプリケーションごとに設定することもできる。これらの利用が許諾されている場合、位置情報サーバ30の抽出部321は、利用が許諾されている情報を利用して、位置情報を抽出することができる。
以上のように、位置情報サーバ30によれば、位置情報の利用を許諾されたアプリケーション及びアプリケーションサーバ50がそれぞれ個別に位置情報を記憶し管理することなく、ユーザごとに記憶した1セットの位置情報を、複数のアプリケーション及びアプリケーションサーバ50に共通して利用させることができる。これにより、位置情報の管理の効率化、サーバ容量の削減が可能となる。
また、位置情報サーバ30によれば、位置情報の利用の許諾期間に含まれている限り、アプリケーション及びアプリケーションサーバ50は、その期間内の位置情報を利用できる。これにより、自身のアプリケーション及びアプリケーションサーバ50で設定された位置情報の項目以外の情報や測位タイミング以外の情報を取得することができる。
また、この位置情報サーバ30によれば、1つの位置情報に対して複数のアプリケーションで利用が許可されている情報が対応付けられた場合、複数のアプリケーションについて1つの位置情報を共通して利用することができる。これにより、位置情報の管理の効率化、サーバ容量の削減が可能となる。
また、この位置情報サーバ30によれば、端末装置10で利用可能な複数のアプリケーション間の関係に応じて決められた起動要求に基づき位置情報取得部160により取得された位置情報を記憶する。つまり、この位置情報サーバ30は、他のアプリケーションの測位タイミングであって自身の測位タイミングでないときに測位された位置情報についても、アプリケーションごとに利用を許諾するか否かを管理することができる。これにより、アプリケーションサーバ50等は、自身のアプリケーションの測位タイミングで測位された位置情報だけでなく、自身のアプリケーションの測位タイミング以外のタイミングで測位された位置情報を利用することが可能となる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明は、例えば、位置情報サーバなどとして実施することができる。
また、上述した端末装置10及び位置情報サーバ30の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。