(58)【調査した分野】(Int.Cl.,DB名)
前記生成部は、前記端末装置が備える前記位置情報更新制御部の数に基づいて、前記位置情報更新制御部が位置情報を更新する更新タイミングを定めるタイミング情報を生成するか、前記複数の前記位置情報更新制御部のうちのいずれかを一つを指定する前記タイミング情報を生成するか、を判定する
ことを特徴とする請求項2に記載の位置情報管理装置。
前記生成部は、記憶部が前記位置情報と対応付けて記憶する対応情報に基づいて、前記位置情報更新制御部が位置情報を更新する更新タイミングを定める前記タイミング情報を生成するか、前記複数の前記位置情報更新制御部のうちのいずれかを一つを指定するタイミング情報を生成するか、を判定する
ことを特徴とする請求項2または請求項3に記載の位置情報管理装置。
【発明を実施するための形態】
【0017】
以下、実施形態の位置情報管理システム1を、図面を参照して説明する。
【0018】
[位置情報システムの概要]
図1は、実施形態に係る位置情報管理システム1の構成を示すブロック図である。この位置情報管理システム1は、複数の端末装置10A、10B、・・・、10N(以下、総称する場合には単に「端末装置10」と呼ぶ)、位置情報サーバ30、認証サーバ40、POI(Point Of Interest)サーバ42、およびアプリケーションサーバ50A、50B、・・・、50N(以下、総称する場合には単に「アプリケーションサーバ50」と呼ぶ)を有する。
【0019】
位置情報管理システム1において、端末装置10は、位置情報サーバ30に、自端末装置10の位置情報を送信する。ここで、位置情報には、測位時刻、緯度および経度が含まれている。位置情報サーバ30は、各端末装置10から受信した位置情報を管理する。位置情報サーバ30は、アプリケーションサーバ50に対して、自装置が管理する位置情報などの各種情報を提供する。
【0020】
[位置情報サーバと端末装置による処理の概要]
次に、位置情報サーバ30と端末装置10との概要について説明する。
位置情報サーバ30は、端末装置10の位置を示す位置情報を管理する位置情報管理装置である。また、位置情報サーバ30は、端末装置10による位置情報の更新タイミングを定めるタイミング情報を生成する。ここで、位置情報の更新には、例えば、例えば、(a)端末装置10が測位を行い、新たな位置情報を取得すること、(b)端末装置10が位置情報サーバ30に位置情報を送信すること、の2つがある。つまり、タイミング情報とは、端末装置10による位置情報の取得タイミングと、端末装置10から位置情報サーバ30への送信タイミングとの少なくともいずれか一つのタイミングを定める情報である。タイミング情報には、例えば、(1)送信タイミング情報(2)リトライタイミング情報(3)測位タイミング情報の3種類がある。各種タイミング情報の詳細については、後述する。位置情報サーバ30は、生成した各種タイミング情報を端末装置10に送信する。
【0021】
端末装置10は、位置情報サーバ30から各種タイミング情報を受信する。端末装置10は、測位タイミング情報が定めるタイミングで測位を行い、自装置の位置を示す位置情報を取得する。このように、端末装置10は、位置情報サーバ30から送信されたタイミング情報が定めるタイミングで測位を行うことにより、位置情報の更新を行う。
【0022】
また、端末装置10は、取得した位置情報を、送信タイミング情報が定める送信タイミングで位置情報サーバ30に送信する。端末装置10は、例えば、位置情報サーバ30との通信環境の悪化などにより位置情報の送信に失敗した場合、リトライタイミング情報が示すタイミングで、送信に失敗した位置情報の再送を試みる。このように、端末装置10は、位置情報サーバ30から送信されたタイミング情報が定めるタイミングで、位置情報サーバ30へ位置情報の送信および再送を行うことにより、位置情報を更新する。
【0023】
なお、本実施形態において、位置情報は、許諾設定情報と対応付けられている。許諾設定情報とは、アプリケーションが、端末装置10のユーザにより位置情報の利用が許諾されているか否かを示す情報である。換言すると、許諾設定情報とは、アプリケーションによる位置情報の利用の可否を示す情報である。許諾設定情報は、例えば、ユーザの操作に基づいて、端末装置10の処理部12(
図1)が生成し、位置情報に対応付けられる。そして、位置情報とともに、位置情報サーバ30に送信される。
【0024】
[タイミング情報]
次に、位置情報サーバ30が生成する各種タイミング情報について説明する。各種タイミング情報は、2通りの方法で位置情報の更新タイミングを定めることができる。第1の更新タイミング指定方法とは、端末装置10に含まれる複数の位置情報更新制御部122(
図2)のうち、実際に位置情報の更新を行う一つの位置情報更新制御部122(後述するマスタ)を指定する方法である。ここで、位置情報更新制御部122とは、端末装置10において、位置情報の更新を行う機能部である。第2の更新タイミング指定方法とは、端末装置10が位置情報を更新するタイミングを直接的に指定する方法である。
【0025】
(1)送信タイミング情報
送信タイミング情報は、端末装置10が位置情報を送信するタイミングを定める情報である。送信タイミング情報を用いた位置情報の送信タイミングの指定は、2通りの方法で行うことが可能である。以下では、送信タイミング情報における第1の更新タイミング指定方法のことを第1の送信タイミング指定方法と称する。また、送信タイミング情報における第2の更新タイミング指定方法のことを第2の送信タイミング指定方法と称する。
【0026】
第1の送信タイミング指定方法において、端末装置10は、複数の位置情報更新制御部122を含む。これらの位置情報更新制御部122は、それぞれ異なるタイミングで、端末装置10が備える通信部14(
図2)を介して、位置情報サーバ30に位置情報を送信することができる。ただし、端末装置10は、位置情報サーバ30に位置情報を実際に送信する位置情報更新制御部122を、これら複数の位置情報更新制御部122の中から一つだけ選択する。つまり、端末装置10は、位置情報サーバ30に位置情報を送信可能な位置情報更新制御部122を複数備えるが、実際に位置情報を送信する位置情報更新制御部122は一つだけである。そして、端末装置10は、この一つの位置情報更新制御部122を、位置情報サーバ30から受信する送信タイミング情報に基づいて選択する。つまり、位置情報サーバ30は、端末装置10が位置情報を送信する位置情報更新制御部122を指定することにより、端末装置10が位置情報を送信するタイミングを指定することができる。
これに対し、第2の送信タイミング指定方法において、端末装置10は、位置情報更新制御部122が位置情報を送信するタイミングを直接的に指定する。そして、第2の送信タイミング指定方法において、位置情報サーバ30は、実際に位置情報を送信する位置情報更新制御部122を選択しなくてもよい。
【0027】
送信タイミング情報は、上述の2つの送信タイミング指定方法に対応して、位置情報を送信するタイミングを定める。具体的には、第1の送信タイミング指定方法に対応する送信タイミング情報は、端末装置10において、複数の位置情報更新制御部122のうち、実際に位置情報を送信する位置情報更新制御部122を指定する。また、第2の送信タイミング指定方法に対応する送信タイミング情報は、位置情報更新制御部122が、位置情報を送信するタイミングを示す。この場合、送信タイミング情報は、日時(時刻)、時間間隔、日時と時間間隔との組み合わせ、日時・時間間隔を決定するための規則(ポリシー)などにより表される。
【0028】
送信タイミング情報が日時により表される場合、当該日時は、例えば、端末装置10が次に位置情報を送信するタイミングを示す。なお、送信タイミング情報は、複数の日時を含んでもよい。この場合、端末装置10は、送信タイミング情報に含まれている日時が訪れる度に位置情報を位置情報サーバ30に送信する。
【0029】
送信タイミング情報が時間間隔により表される場合、当該時間間隔は、端末装置10が位置情報を送信する時間間隔を表す。つまり、端末装置10は、前回位置情報を送信してから、送信タイミング情報が示す時間間隔が経過したか否かを判定し、当該時間間隔が経過している場合に位置情報を位置情報サーバ30に送信する。
送信タイミング情報が日時と時間間隔との組み合わせにより表される場合、端末装置10は、送信タイミング情報が示す日時から、当該日時に対応付けられている時間間隔で位置情報を送信する。
【0030】
送信タイミング情報が日時・時間間隔を決定するための規則で表されている場合、端末装置10は、当該規則に基づいて、位置情報の次回送信日時や送信時間間隔などを演算する。そして、端末装置10は、演算結果が示すタイミングで位置情報を位置情報サーバ30に送信する。ここで、送信タイミング情報は、上記演算において参照すべき参照情報を指定可能である。具体的には、例えば、送信タイミング情報は、電力残量、移動状態などの端末装置10の状態を示す状態情報、端末装置10と位置情報サーバ30との通信品質を示す通信品質情報を参照情報として指定可能である。また、送信タイミング情報は、参照情報に基づいて日時、時間間隔を演算するための関数などの演算方法を含んでよい。この場合、端末装置10は、送信タイミング情報により指定された参照情報と、送信タイミング情報に含まれる演算方法とに基づいて、日時、時間間隔を演算する。
【0031】
(2)リトライタイミング情報
リトライタイミング情報は、端末装置10が位置情報の送信に失敗した場合に、当該位置情報を再送するタイミングを定める情報である。また、リトライタイミング情報は、位置情報を再送するタイミングの他、位置情報の再送の試行回数を定める。リトライタイミング情報を用いた位置情報のリトライタイミングの指定は、2通りの方法で行うことが可能である。以下では、リトライタイミング情報における第1の更新タイミング指定方法のことを第1のリトライタイミング指定方法と称する。また、送信タイミング情報における第2の更新タイミング指定方法のことを第2のリトライタイミング指定方法と称する。
【0032】
第1のリトライタイミング指定方法において、端末装置10は、複数の位置情報更新制御部122を含む。これらの位置情報更新制御部122は、位置情報サーバ30への位置情報の送信に失敗した場合、それぞれ異なるタイミングで、失敗した位置情報の再送を試みる(リトライする)ことができる。そして、端末装置10は、実際に位置情報サーバ30に位置情報の再送を試みる位置情報更新制御部122を、これら複数の位置情報更新制御部122の中から一つだけ選択する。つまり、端末装置10は、送信に失敗した位置情報の再送を試みることができる位置情報更新制御部122を複数備えるが、実際に位置情報の再送を試みる位置情報更新制御部122は一つだけである。そして、端末装置10は、この一つの位置情報更新制御部122を、位置情報サーバ30から受信するリトライタイミング情報に基づいて選択する。これにより、位置情報サーバ30は、端末装置10が位置情報をリトライするタイミングを指定することができる。
これに対し、第2のリトライタイミング指定方法において、端末装置10は、位置情報更新制御部122が位置情報を再送するタイミングを直接的に指定する。そして、第2のリトライタイミング指定方法において、位置情報サーバ30は、実際に位置情報の再送を試みる位置情報更新制御部122を選択しなくてもよい。
【0033】
リトライタイミング情報は、上述の2つのリトライタイミング指定方法に対応して、位置情報の再送を試みるタイミングを定める。具体的には、第1のリトライタイミング指定方法に対応するリトライタイミング情報は、端末装置10において、複数の位置情報更新制御部122のうち、実際に位置情報の再送を試みる位置情報更新制御部122を示す。また、第2のリトライタイミング指定方法に対応するリトライタイミング情報は、位置情報更新制御部122が、位置情報の再送を試みるタイミングを示す。この場合、リトライタイミング情報は、時間間隔、および時間間隔を決定するための規則などにより表される。
リトライタイミング情報が時間間隔により表される場合、当該時間間隔は、例えば、端末装置10が位置情報の送信に失敗した場合に、送信に失敗した位置情報の再送を試みるまでの時間間隔を示す。
【0034】
リトライタイミング情報が時間間隔を決定するための規則で表されている場合、端末装置10は、当該規則に基づいて、送信に失敗した位置情報の再送を試みるまでの時間間隔を演算する。ここで、リトライタイミング情報は、上記演算において参照すべき参照情報を指定可能である。具体的には、例えば、リトライタイミング情報は、上述した状態情報、通信品質情報などを参照情報として指定可能である。また、リトライタイミング情報は、指定した参照状態に基づいて時間間隔を演算するための関数などの演算方法を含んでよい。この場合、端末装置10は、リトライタイミング情報により指定された参照情報と、リトライタイミング情報に含まれる演算方法とに基づいて、時間、時間間隔を演算する。
【0035】
(3)測位タイミング情報
測位タイミング情報は、端末装置10が測位を行い、位置情報を取得するタイミングを定める情報である。後述するように、端末装置10では、一つの位置情報更新制御部122が、位置情報取得部160(
図2)による位置情報の取得を制御する。この端末装置10において、位置情報を取得するタイミングの指定は、2通りの方法で行うことが可能である。以下では、測位タイミング情報における第1の更新タイミング指定方法のことを第1の測位タイミング指定方法と称する。また、測位タイミング情報における第2の更新タイミング指定方法のことを第2の測位タイミング指定方法と称する。
【0036】
第1の測位タイミング指定方法において、端末装置10は、複数の位置情報更新制御部122を含む。これらの位置情報更新制御部122は、それぞれ異なるタイミングで位置情報取得部160に位置情報を取得させることができる。そして、端末装置10は、実際に位置情報取得部160に位置情報を取得させる位置情報更新制御部122を、これら複数の位置情報更新制御部122の中から一つだけ選択する。つまり、端末装置10は、位置情報取得部160を制御可能な位置情報更新制御部122を複数備えるが、実際に位置情報取得部160に位置情報を取得させる位置情報更新制御部122は一つだけである。端末装置10は、この一つの位置情報更新制御部122を指定することにより端末装置10は、位置情報を取得するタイミングを指定することができる。
これに対し、第2の測位タイミング指定方法において、端末装置10は、位置情報更新制御部122が位置情報取得部160に位置情報を取得させるタイミングを直接的に指定する。そして、第2の測位タイミング指定方法において、端末装置10は、実際に位置情報取得部160に位置情報を取得させる位置情報更新制御部122を指定しなくてもよい。
【0037】
測位タイミング情報は、上述の2つの測位タイミング指定方法に対応して、位置情報を取得するタイミングを定める。具体的には、第1の測位タイミング指定方法に対応する測位タイミング情報は、端末装置10において、実際に位置情報取得部160を制御する位置情報更新制御部122を示す。また、第2の測位タイミング指定方法に対応する測位タイミング情報は、位置情報取得部160を実際に制御している位置情報更新制御部122が、当該位置情報取得部160に位置情報を取得させるタイミングを示す。この場合、測位タイミング情報は、日時(時刻)、時間間隔、日時と時間間隔との組み合わせ、日時・時間間隔を決定するための規則などにより表される。
【0038】
測位タイミング情報が日時より表される場合、当該日時は、例えば、端末装置10の位置情報更新制御部122が次に位置情報取得部160に対して位置情報の取得を要求する時間間隔を示す。ここで、位置情報更新制御部122が出力する位置情報の取得要求とは、位置情報取得部160の起動要求である。起動要求については後述する。
なお、測位タイミング情報は、複数の日時を含んでもよい。この場合、端末装置10は、測位タイミング情報に含まれている日時が訪れる度に、起動要求を位置情報取得部160に対して出力する。
【0039】
測位タイミング情報が時間間隔により表される場合、当該時間間隔は、例えば、端末装置10の位置情報更新制御部122が位置情報取得部160に対して位置情報の取得を要求する時間間隔を示す。
測位タイミング情報が日時と時間間隔との組み合わせにより表される場合、端末装置10の位置情報更新制御部122は、測位タイミング情報が示す日時から当該日時に対応付けられている時間間隔により、位置情報取得部160に対して起動要求を行い、位置情報を取得させる。
【0040】
測位タイミング情報が日時・時間間隔を決定するための規則で表されている場合、端末装置10は、当該規則に基づいて、位置情報の次回取得日時や測位時間間隔などを演算する。そして、端末装置10は、演算結果が示すタイミングで位置情報を位置情報サーバ30に送信する。ここで、測位タイミング情報は、上記演算において参照すべき参照情報を指定可能である。具体的には、例えば、測位タイミング情報は、端末装置10の状態に関する情報や端末装置10に含まれるアプリケーションに関する情報など、任意の情報を参照情報として指定可能である。また、測位タイミング情報は、指定した参照状態に基づいて日時、時間間隔を演算するための関数などの演算方法を含んでよい。この場合、端末装置10は、測位タイミング情報により指定された参照情報と、測位タイミング情報に含まれる演算方法とに基づいて、時間、時間間隔を演算する。
【0041】
なお、第1の送信タイミング指定方法、第1のリトライタイミング指定方法、および第1の測位タイミング指定方法において、各種タイミング情報により指定される位置情報更新制御部122は、一括して指定されてよい。この場合は、タイミング情報が指定する一つの位置情報更新制御部122が、所定のタイミングで位置情報を取得し、取得した位置情報を所定のタイミングにおいて位置情報サーバ30に送信する。そして、当該位置情報更新制御部122は、位置情報の送信に失敗した場合、送信に失敗した位置情報の再送を所定のタイミングにおいて試みる。
なお、送信タイミング情報、リトライタイミング情報、および測位タイミング情報は、それぞれ各種タイミング情報が示すタイミングの有効期間を定める情報を含んでもよい。そして、端末装置10は、各種タイミング情報が示すタイミングに応じた処理を、当該有効期間の間だけ実行してもよい。
【0042】
[アプリケーションサーバ、認証サーバ、POIサーバの概要]
次に、アプリケーションサーバ50、認証サーバ40、及びPOIサーバ42の概要について説明する。
アプリケーションサーバ50は、複数のアプリケーションのそれぞれに対応したサーバ装置である。端末装置10には、複数のアプリケーションプログラムをインストールすることができる。本実施形態においては、端末装置10にアプリケーションプログラムA〜Cがインストールされている場合を一例にして説明する。この具体例においては、アプリケーションサーバ50Aは、アプリケーションプログラムAに対応したサーバ装置である。また、アプリケーションサーバ50Bは、アプリケーションプログラムBに対応したサーバ装置である。また、アプリケーションサーバ50Cは、アプリケーションプログラムCに対応したサーバ装置である。このアプリケーションサーバ50は、位置情報サーバ30を介して、自身のアプリケーションについて位置情報の利用が許諾された端末装置10から、位置情報を受信する。つまり、アプリケーションサーバ50は、位置情報サーバ30に記憶されている位置情報のうち、自身に割り当てられているアプリケーションについて位置情報の利用を許諾することを示す許諾設定情報と対応付けられた位置情報を受信する。
【0043】
アプリケーションサーバ50は、トラッキングされた端末装置10の位置情報を用いて所定のアプリケーション処理を行う。トラッキングされた位置情報には、任意または所定の期間ごとに繰り返して更新された端末装置10の最新位置または過去の位置が含まれる。このアプリケーション処理には、端末装置10の位置の変化を解析して、端末装置10に適した広告情報等のアプリケーション情報を判定する処理などが含まれていてもよい。アプリケーション情報は、アプリケーションサーバ50から端末装置10に送信されてもよく、POIサーバ42から端末装置10に送信されてもよい。これによりアプリケーションサーバ50およびPOIサーバ42は、端末装置10に、端末装置10の位置に適した広告等を表示させることができる。この一例の場合、アプリケーション情報は、端末装置10の位置情報取得部で取得された位置情報に基づく情報に相当する。
【0044】
認証サーバ40は、端末装置10が位置情報サーバ30と通信を開始する際に、各種の認証処理を行う。この認証サーバ40が行う認証処理には、一例として、端末認証処理、ユーザ認証処理、またはアプリケーション認証処理が含まれている。これら認証処理の具体例について説明すると、端末認証処理において認証サーバ40は、端末装置10から送信された端末IDと予め記憶しておいた端末IDとが合致した場合に認証を成功させる。ここで、端末IDとは、端末装置10を識別するための固有の記号や番号などの情報である。ユーザ認証処理における認証サーバ40は、端末装置10から送信されたユーザIDと予め記憶しておいたユーザIDとが合致した場合に認証を成功させる。ここで、ユーザIDとは、端末装置10を利用するユーザを識別するための固有の記号や番号などの情報である。アプリケーション認証処理における認証サーバ40は、端末装置10から送信されたアプリケーションIDと予め記憶しておいたアプリケーションIDとが合致した場合に認証を成功させる。ここで、アプリケーションIDとは、各アプリケーションプログラムを識別するための固有の記号や番号などの情報である。
【0045】
認証サーバ40による認証が成功した場合、認証サーバ40は、端末装置10にトークンを生成して、端末装置10に送信する。認証サーバ40から送信されたトークンは、端末装置10に記憶される。これにより端末装置10は、位置情報サーバ30およびアプリケーションサーバ50とセキュアな通信が可能となる。なお、トークンは任意のタイミングで更新されてもよい。これにより、端末装置10は、さらにセキュアな通信が可能となる。
【0046】
また、認証サーバ40は、端末装置10が携帯電話である場合、端末認証処理においてIP(Internet Protocol)アドレスおよび電話番号を用いてもよい。認証サーバ40は、位置情報サーバ30を介して、端末装置10から送信されたIPアドレスおよび電話番号を受信する。認証サーバ40は、受信したIPアドレスおよび電話番号と、正当なIPアドレスおよび電話番号とを照合する。認証サーバ40は、受信したIPアドレスおよび電話番号が正当なIPアドレスおよび電話番号と照合できた場合には、通信を許可する認証結果を位置情報サーバ30に送信する。
【0047】
POIサーバ42は、POI情報を蓄積している。POI情報は、少なくとも店舗等の緯度、経度を示す情報を含んでいる。POIサーバ42は、端末装置10、位置情報サーバ30またはアプリケーションサーバ50から要求を受け付ける。この要求には、端末装置10の位置情報が含まれる。POIサーバ42は、この要求の受け付けに応じて当該位置情報に対応したPOI情報を検索し、当該位置情報付近のPOI情報を返信する。なお、POI情報には、店舗等のロケーションID、ロケーション名、およびカテゴリ等を含んでいてもよい。これによりPOIサーバ42は、位置情報に対応したロケーションID、ロケーション名、およびカテゴリ等を検索結果として返信できる。
【0048】
また、POIサーバ42は、POI情報をキーとして端末装置10を検索してもよい。これによりPOIサーバ42は、POI情報に該当する端末装置10を抽出して、検索結果として返信することができる。例えば、POIサーバ42は、ある店舗内に存在する端末装置10を検索して、端末装置10のユーザIDを返信することができる。
また、POIサーバ42は、POI情報をキーとして端末装置10を検索してもよい。これによりPOIサーバ42は、POI情報に該当する端末装置10を抽出して、検索結果として返信することができる。例えば、POIサーバ42は、ある店舗内に存在する端末装置10を検索して、端末装置10のユーザIDを返信することができる。
【0049】
[端末装置の構成]
次に、端末装置10の構成について説明する。
図2は、実施形態に係る端末装置10の構成を示すブロック図である。端末装置10は、処理部12、通信部14、GPS(Global Positioning System)測位部16、および記憶部18を含む。端末装置10は、ユーザに保有されて移動する機器である。端末装置10は、例えば携帯電話またはスマートフォンであってもよい。
【0050】
通信部14は、位置情報サーバ30との間で通信を行う。通信部14は、例えば通信ICチップにより構成されている。通信部14は、処理部12から供給された位置情報と各種情報とを所定の通信データに変換して位置情報サーバ30に送信する。位置情報サーバ30またはアプリケーションサーバ50から通信データを受信した場合、通信部14は、受信した通信データに所定の処理を施して処理部12に出力する。また、通信部14は、位置情報サーバ30からタイミング情報を受信する。
【0051】
記憶部18は、各種の情報を記憶する記録媒体である。
記憶部18は、アプリケーションプログラムA、B、Cのそれぞれに付属する位置情報ライブラリを記憶している。実施形態において、アプリケーションプログラムAには、位置情報ライブラリAが付属している。また、アプリケーションプログラムBには、位置情報ライブラリBが付属しており、アプリケーションプログラムCには、位置情報ライブラリCが付属している。以下の説明において、これら位置情報ライブラリA、B、Cを総称して、位置情報ライブラリという。位置情報ライブラリとは、端末装置10のCPU(Central Processing Unit)によって実行されるソフトウェアである。
なお、ここでは、位置情報ライブラリは、各アプリケーションに1つずつ付属するソフトウェアであり、各位置情報ライブラリは、それぞれ付属するアプリケーションに対応するとして説明するが、これには限られない。後述する
図3に示されるように、一つの位置情報ライブラリが、複数のアプリケーションに対応していてもよい。
【0052】
ここで、アプリケーションプログラムと位置情報ライブラリの取得について説明する。
アプリケーションプログラムは、予め端末装置10にインストールされる。アプリケーションプログラムは、位置情報ライブラリが端末装置10に供給されることに伴って、端末装置10にインストールされてもよい。具体的には、位置情報ライブラリが付属したアプリケーションプログラムを同時にダウンロードして端末装置10にインストールする。
【0053】
位置情報ライブラリは、ユーザの許可に応じて、例えば、位置情報サーバ30からダウンロードされる。この場合、端末装置10は、アプリケーションプログラムを起動しているときに、自装置の位置情報の送信を許可するかをユーザに問い合わせる画面を表示させる。ユーザの操作により位置情報の送信が許可された場合、端末装置10は、位置情報ライブラリのダウンロード要求を送信する。位置情報サーバ30は、ダウンロード要求を受信すると位置情報ライブラリを要求元の端末装置10に送信する。これにより端末装置10は、位置情報ライブラリのダウンロードを開始する。端末装置10は、ダウンロードが完了すると、位置情報ライブラリを各アプリケーションプログラムに付属させる。
【0054】
なお、端末装置10は、ダウンロードした位置情報ライブラリを他のアプリケーションに付属させてもよい。この場合、端末装置10は、ダウンロードした位置情報ライブラリを複製し、位置情報ライブラリが付属していないアプリケーションに組み込む。これにより端末装置10は、位置情報ライブラリが付属していないアプリケーションに位置情報ライブラリを付属させることができる。
また、端末装置10は、既にアプリケーションに組み入れられている古いバージョンの位置情報ライブラリに代えて最新バージョンの位置情報ライブラリに更新してもよい。これにより端末装置10は、アプリケーションの位置情報ライブラリを最新なものに更新することができる。
【0055】
記憶部18の説明に戻る。
記憶部18には、位置情報更新制御部122により取得された位置情報が記憶される。記憶部18は、位置情報を時系列で記憶する。また、位置情報には、位置情報サーバ30への送信が完了したか否かを表す情報が対応付けられて記憶されている。
また、記憶部18には、許諾設定情報が格納されている。許諾設定情報には、アプリケーションに対して、位置情報の利用が許諾された日時を示す情報、位置情報の利用が非許諾にされた日時を示す情報等が含まれてもよい。
【0056】
また、記憶部18には、位置情報更新制御部122が動作するための位置取得制御用プログラムとしての位置情報ライブラリが記憶される。位置取得制御用プログラムは、コンピュータにより読込可能なプログラムである。
【0057】
また、記憶部18には、端末装置10に割り当てられた端末IDが格納されている。
また、記憶部18には、端末装置10のユーザに割り当てられたユーザIDが格納されている。
記憶部18には、位置情報が示す位置において端末装置10がアクセスしたウェブブラウザの履歴を示すウェブ履歴情報が格納されている。アクセス履歴情報には、端末装置10が企業の広告、または、ホームページ等のWebページにアクセスした時刻とアクセスしたWebページのアドレスとが含まれる。
【0058】
また、記憶部18には、位置情報が示す位置において端末装置10が実行したプログラムに関するプログラム実行履歴情報が格納されている。プログラム実行履歴情報には、端末装置10がプログラムを実行した時刻、実行したプログラムの種類、プログラムが実行された回数、およびプログラムがユーザにより無効化された回数などが含まれる。また、プログラム実行履歴情報には、プログラムが起動された時刻と、スリープ状態からのプログラムが再起動された時刻とが含まれる。端末装置10が実行するプログラムには、例えば、カメラプログラム、メールプログラム、電話プログラム、音楽再生プログラム、電卓プログラム、その他位置情報を利用するアプリケーションが含まれる。
【0059】
また、記憶部18には、位置情報が示す位置において端末装置10が受け付けたユーザからの操作に関する操作履歴情報が格納されている。操作履歴情報には、端末装置10が操作を受け付けた時刻と受け付けた操作の種類とが含まれる。端末装置10が受け付ける操作には、例えば、電源をONする操作、電源をOFFする操作等が含まれる。また、操作には、例えば、端末装置10を省電力モードにする操作、省電力モード以外の通常モードにする操作が含まれる。なお、省電力モードとは、自装置の電力消費を抑制するために、GPS測位部16による測位間隔もしくは回数、または通信部14による位置情報の送信の間隔もしくは回数を低下させる動作モードである。
【0060】
また、記憶部18には、位置情報が示す位置において端末装置10が充電モードであるか否かを示す充電履歴情報が格納されている。充電履歴情報には、端末装置10が充電を開始した時刻と充電を終了した時刻とが含まれる。また、充電履歴情報には、端末装置10の充電量が含まれていてもよい。
【0061】
記憶部18には、位置情報が示す位置における端末装置10の姿勢の変化を示す姿勢変化情報が格納されている。姿勢変化情報には、端末装置10の姿勢が変化した時刻が含まれる。なお、端末装置10の姿勢の変化は、後述する加速度センサ等により検出される。
【0062】
記憶部18には、位置情報が示す位置において端末装置10が取得した環境情報が格納されている。環境情報には、端末装置10が収集した音情報や、近距離通信の通信履歴等が含まれる。端末装置10が収集した音情報は、例えば店舗で流される可聴音や不可聴音に関する情報である。近距離通信の通信履歴は、例えばBluetooth(登録商標)および赤外線等の通信を行った時刻等が含まれる。
【0063】
また、記憶部18には、端末装置10と位置情報サーバ30との通信品質を示す通信品質情報が格納されている。通信品質情報には、端末装置10における電波の受信強度を示す電波情報、端末装置10および位置情報サーバ30間の通信におけるエラーの発生率などを含む。通信品質情報は、例えば、電波の受信信号強度(RSSI;Received Signal Strength Indicatior)、パケットエラー率(PER;Packet Error Rate)などにより表される。
【0064】
また、記憶部18には、端末装置10の状態を示す状態情報が格納されている。状態情報には、端末装置10が含む電池の電力残量を示す電力残量情報、端末装置10の移動状態を示す移動状態情報、及び端末装置10の動作モードを示す動作モード情報が含まれる。電力残量情報は、例えば、現在の蓄電容量や満充電時の蓄電容量に対する現在の蓄電容量の比率である充電率(SOC;State Of Charge)などにより表される。移動状態情報は、例えば、単位時間当たりの端末装置10の移動量により表される。単位時間当たりの端末装置10の移動量は、例えば、時間的に連続する2回の測位結果に基づいて、その移動量を測位の時間間隔で除算することにより求められる。また、単位時間当たりの端末装置10の移動量は、例えば、端末装置10に含まれる加速度センサが、単位時間に出力する加速度の検出結果から積分により求められてもよい。このように移動状態情報は、任意の方法により生成されてよい。動作モード情報は、例えば、端末装置10が省電力モードであるか、通常モードであるかを表す。
【0065】
なお、本実施形態において、許諾設定情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、通信品質情報、および状態情報は、処理部12により生成され、位置情報と対応付けられる。そして、これらの情報は、記憶部18に記憶される。なお、状態情報のうち、移動情報は、位置情報サーバ30により生成されてもよい。以下では、位置情報管理システム1において、端末位置情報と対応付けられている情報を対応情報と称することがある。つまり、許諾設定情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報、通信品質情報、および状態情報は、対応情報の例である。また、対応情報は、個別に位置情報サーバ30に送信されてもよい。この場合、位置情報サーバ30は、位置情報と対応情報との対応付けを行い、対応付けた位置情報と対応情報とを自装置の記憶部に記憶する。
【0066】
GPS測位部16は、測位を行って自装置の位置を示す位置情報を取得する位置情報取得部として機能する。GPS測位部16は、自装置の位置を特定して位置情報を生成し、処理部12に出力する。このときGPS測位部16は、複数のGPS衛星からGPS衛星の位置および時刻を含むGPS信号を受信する。GPS測位部16は、複数のGPS衛星と端末装置10の距離を演算し、三角測量演算により自装置の位置を特定する。特定された位置および時刻は、位置情報としてGPS測位部16から処理部12に供給される。
【0067】
GPS測位部16は、スリープ状態と、通常動作状態との少なくとも2つの状態で動作する。このうち、スリープ状態とは、測位を実施せずに待機している状態であって、通常動作状態よりも消費電力が少ない状態である。また、通常動作状態とは、測位を実施する状態であって、スリープ状態よりも消費電力が多い状態である。GPS測位部16は、処理部12による起動要求、および、通常動作の完了によって、状態を遷移させる。具体的には、GPS測位部16の動作状態は、処理部12による起動要求をトリガにして、スリープ状態から通常動作状態に遷移する。また、GPS測位部16の動作状態は、測位演算が完了したことをトリガにして、通常動作状態からスリープ状態に遷移する。ここで、起動要求とは、処理部12がGPS測位部16に対して出力する要求であって、自装置の位置を特定して位置情報を生成する処理の実行を要求するコマンドである。
【0068】
換言すれば、GPS測位部16は、処理部12から出力される起動要求の入力を待機している期間においてスリープ状態となっている。スリープ状態とは、省電力で動作している状態であり、起動要求により解除される。GPS測位部16は、処理部12から起動要求を入力することに応じて起動する。これによりGPS測位部16は、スリープ状態から通常動作状態に切り替わる。起動要求は、自装置の位置情報を取得する命令である。GPS測位部16は、起動要求に応じて位置情報を取得して処理部12に出力すると、所定時間後にスリープ状態となる。
【0069】
なお、位置情報を取得する位置情報取得部は、他の方式により位置情報を取得してもよい。他の方式とは、具体的には、例えばセルID(携帯電話基地局)方式、Wi−Fi方式、ネットワーク測位方式などである。セルID方式は、端末装置10が携帯電話端末としての通信機能を応用して、3つ以上の携帯電話基地局の電波情報に基づいて端末装置10の現在地を算出する方式である。Wi−Fi方式は、端末装置10周辺の無線LANのアクセスポイントから送信される電波を検出し、アクセスポイントの位置情報に基づいてアクセスポイントまたは所定のサーバ等から端末装置10の位置情報を取得する方式である。ネットワーク測位方式は、セルID方式とWi−Fi方式による測位で位置情報を取得する方式である。
【0070】
このように、位置情報取得部は、GPS測位方式のみならず、セルID方式、Wi−Fi方式、またはネットワーク測位方式を用いる構成であっても、処理部12からの起動要求に応じてスリープ状態から起動して、位置情報を取得できる。ただし、本実施形態において、端末装置10は、位置情報の取得方式として、Wi−Fi方式およびセルID方式よりも、GPS測位部16による測位方式を優先する。そして、端末装置10は、例えば自装置が屋内にいる等のGPS測位部16に測位ができない状況において、GPS測位部16による測位に代えて、セルID方式またはWi−Fi方式による測位に切り替える。
【0071】
処理部12は、例えば、CPU等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
【0072】
処理部12は、アプリケーション処理部120A、120B、120C(以下、総称する場合には単に「アプリケーション処理部120」と呼ぶ。)を有する。アプリケーション処理部120A、120B、120Cは、CPUが端末装置10にインストールされているアプリケーションプログラムA、B、Cを実行することにより機能するソフトウェア機能部である。本実施形態において、複数のアプリケーション処理部120A、120B、120Cは、それぞれ所定のアプリケーション処理を実行する。また、本実施形態では、アプリケーションプログラムA、B、Cの3つを実行する例について説明するが、これに限られない。アプリケーション処理部120は、2以上のアプリケーションプログラムを同時に実行するものであればよい。
【0073】
端末装置10は、アプリケーションプログラムA、B、Cの起動時にアプリケーション認証のための動作を行ってもよい。この場合、端末装置10は、アプリケーションプログラムが起動する際に、アプリケーションプログラムごとに予め定められているアプリケーションIDを認証サーバ40に送信する。より具体的には、端末装置10は、アプリケーションプログラムAが起動する際に、アプリケーションプログラムAを示すアプリケーションIDを認証サーバ40に送信する。端末装置10は、認証サーバ40からアプリケーション認証が許可されたか否かの認証結果を受信する。端末装置10は、認証結果が「許可」の場合のみアプリケーションプログラムの起動を許可する。
【0074】
処理部12は、同時に複数のアプリケーションプログラムA、B、Cを実行可能である。処理部12は、複数のアプリケーションプログラムA、B、Cのうち優先度の低いアプリケーションプログラムをバックグラウンドで実行する。なお、アプリケーションプログラムA、B、Cは、所定期間ごとに起動要求を出力することが設定されていてもよい。所定期間は、アプリケーションプログラムA、B、Cごとに設定されていてもよい。所定期間は、例えば、1分、10分、1時間などが挙げられる。
【0075】
アプリケーション処理部120は、位置情報更新制御部122がGPS測位部16に取得させた位置情報を利用する。
「位置情報を利用する」とは、端末装置10内で位置情報を使用することを含む。アプリケーション処理部120は、例えば、位置情報を使用することにより、GPS測位部16により取得された位置情報に基づいて自装置の位置を地図上に表示させることができる。
「位置情報を利用する」とは、GPS測位部16により取得した位置情報に基づく情報を使用することを含む。位置情報に基づく情報は、位置情報を用いることによって得られた新たな情報である。位置情報に基づく情報は、端末装置10内で位置情報に基づいて処理をしたことによって得られた情報であってもよく、アプリケーションサーバ50内で位置情報に基づいて処理したことによって得られた情報であってもよい。例えば、アプリケーション処理部120は、自装置の位置に近い店舗の広告情報を抽出して、広告情報をプッシュ広告として表示してもよい。アプリケーション処理部120は、アプリケーションサーバ50によって位置情報に基づいて抽出された広告情報を受信して、広告情報をプッシュ広告として表示してもよい。
【0076】
また、アプリケーション処理部120は、一つの位置情報更新制御部122が取得する位置情報を利用可能にする。
「位置情報を利用可能にする」とは、端末装置10以外の装置に位置情報を取得させ、端末装置10以外の装置に位置情報を処理可能にすることを含む。
このために、アプリケーション処理部120は、GPS測位部16により取得された位置情報の利用を許可する。このときアプリケーション処理部120は、位置情報を送信することを許可するかをユーザに問い合わる。ユーザが位置情報の送信を許可した場合、アプリケーション処理部120は、位置情報の利用を許可する許可情報を生成する。アプリケーション処理部120は、生成した許可情報を位置情報サーバ30に送信する。位置情報サーバ30は、端末装置10から送信された許可情報を受信した後、以降において端末装置10から送信された位置情報を蓄積して、アプリケーションサーバ50等に送信できる。これによりアプリケーション処理部120は、アプリケーションサーバ50によって位置情報を利用して、端末装置10の位置の解析等を行わせることができる。
【0077】
また、処理部12は、位置情報更新制御部122A、122B、122C(以下、総称する場合には単に「位置情報更新制御部122」と呼ぶ。)を有する。位置情報更新制御部122A、122B、122Cは、それぞれ、CPUが端末装置10にインストールされている位置情報ライブラリA、B、Cを実行することにより機能するソフトウェア機能部である。本実施形態において、位置情報ライブラリは、アプリケーションプログラムに付属しているため、処理部12は、これら位置情報更新制御部122をアプリケーションごとに有している。
【0078】
位置情報更新制御部122は、位置情報の更新を制御する。具体的には、位置情報更新制御部122は、自端末装置10の現在位置を示す位置情報の取得、取得した位置情報の位置情報サーバ30への送信、および位置情報の送信に失敗した場合の位置情報の再送信を制御する。本実施形態において、位置情報更新制御部122が複数ある場合であっても、実際に位置情報の更新を制御する位置情報更新制御部122は、一つだけである。以下では、この一つの位置情報更新制御部122を、「マスタの権限を有する位置情報更新制御部122」、又は、単に「マスタ」と称する。また、マスタ以外の位置情報更新制御部122を、「マスタの権限を有しない位置情報更新制御部122」、「スレーブの位置情報更新制御部122」、または単に「スレーブ」とも称する。上述したように実際に位置情報の更新を制御するのは、マスタだけであるため、スレーブは位置情報の更新を制御しない。
【0079】
なお、以下では、位置情報の更新を制御するマスタは一つだけであるして説明するが、これには限られない。例えば、自端末装置10の現在位置を示す位置情報の取得を制御するマスタと、位置情報の送信を制御するマスタと、位置情報の送信に失敗した場合の位置情報の再送信を制御するマスタとは、互いに異なる位置情報更新制御部122であってもよい。
【0080】
本実施形態において、各位置情報更新制御部122には、それぞれ、マスタの権限を有した場合に、位置情報の更新を行うタイミングが予め定められている。位置情報の更新を行うタイミングとは、自端末装置10の現在位置を示す位置情報の取得するタイミング、取得した位置情報を位置情報サーバ30に送信するタイミング、および位置情報の送信に失敗した場合の位置情報を再送信するタイミングである。これらのタイミングは、それぞれ、位置情報更新制御部122ごとに異なっている。例えば、位置情報更新制御部122A、位置情報更新制御部122B、および位置情報更新制御部122Cは、マスタの権限を有したときに、それぞれ異なるタイミングで、自端末装置10の現在位置を示す位置情報の取得、位置情報サーバ30への位置情報の送信、および位置情報の再送信を行う。
【0081】
なお、位置情報更新制御部122ごとの更新タイミングは、ユーザにより指定された期間であってもよい。さらに、この更新タイミングは、過去の測位履歴に基づいて自動的に変更されてもよい。例えば、次の更新タイミングを設定する際に、マスタは、前回位置情報を更新してから今回までの移動距離を算出し、前回の更新から自装置の移動がある、または移動距離が長い場合には、次の更新タイミングを、現在から近いタイミングに変更してもよい。また、マスタは、自装置が通信する基地局に対応したセルID、自装置が通信可能なWiFiアクセスポイントのアクセスポイントIDが変化したタイミングを更新タイミングとしてもよい。さらに、更新タイミングは、後述する加速度センサ等により検知される自装置の移動距離が、所定距離以上であると推定されたタイミングであってもよい。この所定距離は、後述するように、自装置が所定エリアに進入したことに応じて再設定または変更されてもよい。また、所定距離は、ユーザにより指定された距離であってもよい。
【0082】
処理部12が複数の位置情報更新制御部122を有する場合、マスタは、位置情報サーバ30から送信されるタイミング情報に基づいて定められる。具体的には、通信部14が位置情報サーバからタイミング情報を受信すると、処理部12は、受信したタイミング情報が示す更新タイミング指定方法が、第1の更新タイミング指定方法であるか、第2の更新タイミング指定方法であるかを判定する。第1の更新タイミング指定方法である場合、処理部12は、タイミング情報が指定する位置情報更新制御部122をマスタとする。また、第2のタイミング指定方法である場合、マスタは、タイミング情報が定めるタイミングで、位置情報を更新する。
【0083】
なお、第1の更新タイミング指定方法において、複数の位置情報更新制御部122が優先順位と対応付けられて指定されてもよい。この場合、処理部12は、動作可能な位置情報更新制御部122のうち、最も優先順位が高い位置情報更新制御部122をマスタとする。また、マスタが動作を停止した場合には、処理部12は、その次に優先順位が高い位置情報更新制御部122をマスタとする。これにより、端末装置10は、マスタに対応する位置情報ライブラリがアンインストールされることなどにより、マスタが動作を停止した場合であっても、位置情報の更新を継続することができる。
【0084】
次に、位置情報の取得の制御について説明する。
位置情報更新制御部マスタは、GPS測位部16に対して、起動要求を出力する。ここで、マスタは、位置情報サーバ30により指定されたタイミングと、自位置情報更新制御部122に予め定められたタイミングとの2通りの測位タイミングで起動要求を出力可能である。マスタは、通信部14が測位タイミング情報を受信し、その測位タイミング情報が第2の測位タイミング指定方法により測位タイミングを指定している場合に、当該指定されたタイミングで起動要求を出力する。また、マスタは、第2の測位タイミング指定方法により測位タイミングが指定されていない場合に、自位置情報更新制御部122に予め定められた測位タイミングで起動要求を出力する。
【0085】
マスタは、起動要求に応じてGPS測位部16により生成された位置情報を取得する。マスタは、取得した位置情報をアプリケーション処理部120A、120B、120C、及び、スレーブに出力する。これにより、各アプリケーション処理部120A、120B、120Cは、GPS測位部16が生成した位置情報の利用が可能になる。 なお、マスタは、位置情報の利用が許可されたアプリケーションに付属する位置情報取得制御部122にのみ、位置情報を出力する。
【0086】
次に、位置情報の送信の制御について説明する。 マスタは、記憶部18に蓄積した位置情報を読み出して、通信部14に出力する。これによりマスタは、記憶部18から読み出した位置情報を、通信部14から位置情報サーバ30に送信させる。
ここで、マスタは、位置情報サーバ30により指定されたタイミングと、自位置情報取得制御部122に予め定められたタイミングとの2通りの送信タイミングで位置情を出力可能である。マスタは、通信部14が送信タイミング情報を受信し、その送信タイミング情報が第2の送信タイミング指定方法により送信タイミングを指定している場合に、当該指定されたタイミングで、位置情報を記憶部18から読み出し、通信部14に出力する。また、マスタは、第2の送信タイミング指定方法により送信タイミングが指定されていない場合に、自位置情報取得制御部122に予め定められた送信タイミングで、位置情報を記憶部18から読み出し、通信部14に出力する。
【0087】
また、マスタは、位置情報の送信に失敗した場合、当該送信に失敗した位置情報を記憶部18から読み出して、通信部14に出力する。これによりマスタは、送信に失敗した位置情報の送信を、通信部14から位置情報サーバ30にリトライさせる。
ここで、マスタは、位置情報サーバ30により指定されたタイミングと、自位置情報取得制御部122に予め定められたタイミングとの2通りのリトライタイミングで位置情を出力可能である。マスタは、通信部14がリトライタイミング情報を受信し、そのリトライタイミング情報が第2のリトライタイミング指定方法によりリトライタイミングを指定している場合に、当該指定されたタイミングで、位置情報を記憶部18から読み出し、通信部14に出力する。また、マスタは、第2の送信タイミング指定方法により送信タイミングが指定されていない場合に、自位置情報取得制御部122に予め定められたリトライタイミングで、位置情報を記憶部18から読み出し、通信部14に出力する。
【0088】
なお、本実施形態において、マスタは、記憶部18に記憶されているプログラム実行履歴情報、操作履歴情報、充電履歴情報、通信品質情報、および状態情報を位置情報に対応付けて送信する。これにより、位置情報サーバ30は、これら各種情報に基づいて、タイミング情報を生成することができる。
なお、マスタは、位置情報に、ユーザID、端末ID、端末機種名、およびOS(Operating System)の種別等の端末装置10に関する情報を対応付けて、通信部14を介して位置情報サーバ30に送信してもよい。さらに、マスタは、位置情報に、位置情報の測位方式、および当該測位方式で測位された位置情報の測位誤差を対応付けて送信してもよい。さらに、端末装置10がWi−Fiネットワークに存在する場合、マスタは、位置情報に、Wi−FiネットワークのアクセスポイントのIDを対応付けて送信してもよい。さらに、端末装置10がBluetooth(登録商標)機能を起動して通信している場合、マスタは、位置情報に、Bluetooth(登録商標)端末としてのIDを対応付けて送信してもよい。
【0089】
また、マスタは、位置情報サーバ30を介さずに、アプリケーションサーバ50に直接的に位置情報を送信してもよい。この場合、マスタは、アプリケーションサーバ50から指定されたタイミングで位置情報を送信してもよい。これにより端末装置10は、アプリケーションサーバ50が要求する頻度で、アプリケーションサーバ50に位置情報を送信できる。
【0090】
図3に端末装置10の他の構成例を示す。端末装置10は、
図2に示した構成に限らず、
図3に示すように構成されていてもよい。
図3の端末装置10は、複数のアプリケーション処理部120A、120B、120Cに対して1つの位置情報更新制御部122を有している。位置情報更新制御部122は、複数のアプリケーションに対応した1つの位置情報ライブラリとして実装される。
【0091】
図4に端末装置10のさらに他の構成例を示す。この端末装置10において、位置情報取得部160は、上述したGPS測位部16に加えて、加速度センサ161を含んでいる。加速度センサ161は、自装置である端末装置10に加わる加速度の変化に応じて物理量が変化する。この加速度センサ161は、半導体静電容量センサであってもよい。
なお、端末装置10は、自装置の挙動を検出するため、重力センサ、ジャイロセンサ、または地磁気センサを含んでいてもよい。本実施形態においては、加速度センサ161のみを備えることを説明するが、これらの重力センサ、ジャイロセンサ、または地磁気センサは、加速度センサ161と共に、または、加速度センサ161に代えて備えていてもよい。
【0092】
加速度センサ161により検出された加速度は、端末装置10の挙動に相当する。位置情報取得部160は、加速度センサ161により検出された挙動に基づいて自装置の移動を検出する。位置情報取得部160は、自装置の移動を検出したことに応じて移動量を更新する。この移動量は、実際の端末装置10の移動量とは異なり、端末装置10の挙動から推定される移動量である。この移動量は位置情報取得部160から処理部12に出力される。これにより、処理部12は、移動量に応じて変化する自装置の位置情報を記憶部18に蓄積することができる。
【0093】
なお、位置情報取得部160は、加速度センサ161における物理量の変化に基づいて自装置が移動したことを検知してもよい。位置情報取得部160は、自装置が移動したことを検知したことに応じて、位置情報更新制御部122により測位タイミングを判定させることができる。例えば、位置情報更新制御部122は、自装置が移動状態である場合に、測位タイミングであることを判定することができる。また、位置情報更新制御部122は、単位時間当たりの移動距離または所定位置からの移動距離が所定距離(例えば100メートル)を超えている場合には、測位タイミングであることを判定することができる。
【0094】
さらに位置情報更新制御部122は、通信部14が通信可能な通信エリアの識別子に基づいて測位タイミングを判定してもよい。この通信エリアの識別子としては、基地局のセルIDまたはWi−FiネットワークにおけるアクセスポイントIDが挙げられる。位置情報更新制御部122は、通信部14により検出された通信エリアの識別子が変更したことを判定したタイミングを、測位タイミングであると判定できる。
【0095】
次に、端末装置10の動作を説明する。
図5は、端末装置10において、マスタがGPS測位部16に位置情報を取得させ、取得された位置情報を位置情報サーバ30に送信する処理手順を示すフローチャートである。
【0096】
まずステップS100において、マスタは、測位タイミングとなったか否かを判定する。測位タイミングは、自装置の位置情報を取得するタイミングである。測位タイミングは、予めマスタに設定されたタイミング、または、タイミング情報が、第2の測位タイミング指定方法により指定するタイミングである。
【0097】
次のステップS102において、マスタは、GPS測位部16に起動要求を出力する。これによりGPS測位部16は、GPS信号を受信して三角測量演算を行って自装置の位置を特定する。GPS測位部16は、特定した位置を位置情報として取得する。マスタには、GPS測位部16により取得された位置情報が供給される。マスタは、供給された位置情報を測位時刻と共に記憶部18に蓄積する。
【0098】
次のステップS104において、マスタは、ステップS102にて位置情報を取得したことをスレーブに通知する。
【0099】
次のステップS106において、マスタの権限は、スレーブから要求を受信したか否かを判定する。要求を受信した場合(ステップS106:YES)、マスタは、要求を送信したスレーブに、ステップS102にて蓄積した位置情報を出力する(ステップS108)。マスタは、要求を出力した全てのスレーブに位置情報を出力する。なお、ステップS104の通知後、スレーブから要求がなくなって所定時間が経過した場合には、タイムアウトしてステップS110に処理を進めてもよい。
【0100】
ステップS110において、マスタは、位置情報サーバ30への位置情報の送信タイミングであるか否かを判定する。位置情報の送信タイミングは、予めマスタに設定されたタイミング、または、タイミング情報が、第2の送信タイミング指定方法により指定するタイミングである。位置情報の送信タイミングとなった場合(ステップS110:YES)、マスタは、位置情報サーバ30に未送信の位置情報を記憶部18から読み出して、読み出した位置情報を位置情報サーバ30に通信部14を介して送信する(ステップS112)。そして、マスタは、ステップS114に処理を進める。また、位置情報の送信タイミングではない場合、マスタは、処理をステップS100に戻す。
【0101】
次のステップS114において、マスタは、位置情報の送信に成功したか否かを判定する。位置情報の送信に成功した場合(ステップS114:YES)、マスタは、ステップS100に処理を戻す。また、位置情報の送信に失敗した場合(ステップS116:NO)、マスタは、送信に失敗した位置情報の再送を試みる(ステップS116)。このとき、再送を試みるタイミングは、予めマスタに設定されたタイミング、または、タイミング情報が、第2のリトライタイミング指定方法により指定するタイミングである。そして、位置情報の送信に失敗した場合、マスタは、予めマスタに設定された回数、または、タイミング情報が指定する回数、位置情報の再送を試みる。その後、マスタは、ステップS114に処理を戻す。
【0102】
[位置情報サーバの構成]
次に、
図6を参照して、位置情報サーバ30の構成について説明する。
図6は、実施形態に係る位置情報サーバ30の構成を示すブロック図である。位置情報サーバ30は、処理部32、第1通信部34、第2通信部36、および記憶部38を含む。
【0103】
第1通信部34は、端末装置10との間で通信を行う受信部と送信部とを備える。第1通信部34は、端末装置10から位置情報を受信する。また、第1通信部34は、位置情報の利用の許諾または非許諾の設定値(許諾設定情報)を端末装置10から受信する。また、第1通信部34は、送信タイミング情報、リトライタイミング情報、および測位タイミング情報を端末装置10に送信する。
第2通信部36は、アプリケーションサーバ50との間で通信を行う受信部と送信部とを備える。第2通信部36は、ユーザにより位置情報の利用が許諾されているアプリケーションを提供するアプリケーションサーバ50に対して、位置情報を送信する。
【0104】
記憶部38は、タイミング情報の生成規則を記憶する。タイミング情報の生成規則については後述する。
また、記憶部38は、端末装置10から受信した位置情報等を記憶する。
ここで、
図7および
図8を参照して、記憶部38に格納される対応テーブル38Tの一例について説明する。
図7および
図8は、記憶部38に格納される対応テーブル38Tの一例を示す図である。
図7および
図8に示す通り、対応テーブル38Tは、ユーザIDと、許諾設定情報と、位置情報と、通信品質情報と、移動情報と、電力残量情報と、アクセス履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とを対応付けるテーブルである。
ユーザIDと、位置情報と、通信品質情報と、移動情報と、電力残量情報と、アクセス履歴情報と、プログラム実行履歴情報と、操作履歴情報と、充電履歴情報と、姿勢変化情報と、環境情報とは、端末装置10から受信した情報である。移動情報は、位置情報サーバ30により生成されてもよい。
【0105】
対応テーブル38Tにおいて、ユーザIDに対応付けられる許諾設定情報と位置情報との詳細について説明する。
許諾設定情報は、アプリケーションIDごとの列を含む。許諾設定情報は、端末装置10においてインストールされているアプリケーションの列だけで構成されていてもよく、位置情報サーバ30において認識している全てのアプリケーションの列を含むものでもよい。つまり、許諾設定情報は、端末装置10においてインストールされていないアプリケーションの列を含むものでもよい。許諾設定情報の各行には、位置情報ごとに、ユーザにより利用が許諾されているか否かを示す情報が格納されている。
図7において、“○”は、ユーザにより位置情報の利用が許諾されていることを示す。“−”は、ユーザにより位置情報の利用が許諾されていないことを示す。
位置情報は、緯度と経度を示す列と、測位時刻を示す列とを含む。
【0106】
通信品質情報は、端末装置10におけるRSSIや端末装置10と位置情報サーバ30との通信におけるPERに基づき、通信品質の良否を表す。
図8において、“○”は、通信品質が良好であることを表す。また、“−”は、通信品質が良好ではない、すなわち不良であることを表す。通信品質情報は、例えば、RSSI、PERなど通信品質の指標ごとの列を含んでもよい。
移動情報は、端末装置10の移動速度に基づき、端末装置10が移動したか否かを表す。
図8において、“○”は、端末装置10が移動したことを表す。また、“−”は、端末装置10が移動していないことを表す。
電力残量情報は、端末装置10に含まれる電池のSOCに基づき、当該電池の電力残量が少ないか否かを表す。
図8において、“○”は、電力残量が少なくない、すなわち十分であることを表す。また、“−”は、電力残量が少ないことを表す。
【0107】
処理部32は、例えば、CPU等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、LSIやASIC等のハードウェア機能部であってもよい。
処理部32は、抽出部321と、生成部322と、を有する。抽出部321は、記憶部38から、抽出条件を満たす位置情報を抽出する。抽出条件は、位置情報サーバ30またはアプリケーションサーバ50により任意に設定可能である。アプリケーションサーバ50により設定された場合、第2受信部36が、抽出条件を設定する情報を受信する。抽出部321は、第2受信部36が受信した情報により設定された抽出条件を満たす位置情報を抽出する。第2受信部36は、アプリケーションサーバ50により設定された抽出条件に基づき抽出された位置情報を、抽出条件を送信したアプリケーションサーバ50に送信する。
【0108】
次に、生成部322が行う処理について説明する。
生成部322は、送信タイミング情報、リトライタイミング情報、測位タイミング情報を生成し、生成した各種タイミング情報を、第1通信部34を介して端末装置10に送信する。生成部322は、タイミング決定規則に基づいて各種タイミング情報を生成する。タイミング決定規則は、各種タイミングの決定において、参照すべき参照情報と、当該参照情報の値に応じた処理内容とを定める規則である。タイミング決定規則は、例えば、位置情報サーバ30の管理者により、任意に定められてよい。そして、タイミング情報は、タイミング決定規則を示す情報であってもよいし、タイミング決定規則に基づいて決定されたタイミングを示す情報であってもよい。
【0109】
上述したように、タイミング情報は、2通りの方法により位置情報の更新タイミングを指定することができる。生成部322は、端末装置10は、ユーザの行動履歴に基づいて、生成するタイミング情報における更新タイミングの指定方法を選択する。ここで、ユーザの行動履歴に基づく更新タイミング指定方法の選択の具体例について説明する。
【0110】
(ア)アプリケーションの利用傾向に基づく選択
端末装置10に複数のアプリケーションがインストールされている場合、端末装置10のユーザが好んで利用するアプリケーションとそうではないアプリケーションとが存在する場合がある。この場合、ユーザが好んで利用するアプリケーションは、その実行頻度が増えるとともに、削除される可能性が低い。これに対して、ユーザが好まないアプリケーションは、ユーザにより無効化されたり、削除などされたりする可能性が高い。このように、端末装置10のユーザによる各アプリケーションの利用傾向には偏りが生じる場合がある。そこで、生成部322は、アプリケーションの利用傾向に偏りがある場合には、更新タイミング指定方法により位置情報の更新タイミングを定めるタイミング情報を生成する。具体的には、生成部322は、例えば、アプリケーションの実行回数が多い、すなわち実行頻度が高いアプリケーションに付属する位置情報ライブラリ(位置情報更新制御部122)をマスタに指定するタイミング情報を生成する。これにより、位置情報サーバ30は、ユーザにより削除される可能性が低い位置情報ライブラリをマスタに定めることができる。従って、位置情報サーバ30は、端末装置10から端末位置情報をより安定的に収集することができる。
【0111】
(イ)アプリケーションの数に基づく選択
端末装置10において、ユーザにより位置情報の利用が許可されているアプリケーションの数が多い場合は、マスタとして選択可能な位置情報更新制御部122が多く存在している。つまり、この場合は、第1の更新タイミング指定方法により指定可能な更新タイミングが多く存在している。従って、この場合、位置情報サーバ30は、第1の更新タイミング指定方法であっても自装置にとって最適な更新タイミングを指定しやすい。これに対して、端末装置10において、ユーザにより位置情報の利用が許可されているアプリケーションの数が少ない場合は、マスタとして選択可能な位置情報更新制御部122が少ない。つまり、この場合は、第1の更新タイミング指定方法により指定可能な更新タイミングが少ない。従って、この場合、位置情報サーバ30は、第1の更新タイミング指定方法では、自装置にとって最適な更新タイミングを指定できない恐れがある。そのため、生成部322は、タイミング情報の生成において、許諾設定情報を参照し、端末装置10において位置情報が利用可能なアプリケーションの数をカウントする。そして、生成部322は、カウントした数が所定数よりも多い場合に、第1の更新タイミング指定方法により、位置情報の更新タイミングを定めるタイミング情報を生成する。また、生成部322は、カウントした数が所定数以下の場合に、第2の更新タイミング指定方法により、位置情報の更新タイミングを定めるタイミング情報を生成する。
【0112】
このように生成部322は、第1の更新タイミング指定方法と第2の更新タイミング指定方法とのいずれかが適切かを端末装置10のユーザの行動履歴に基づいて判定するため、自装置にとっても端末装置10のユーザにとっても望ましい更新タイミングで、端末装置10に位置情報を更新させることができる。
【0113】
なお、生成部322は、タイミング情報を生成するか否かと、生成したタイミング情報を端末装置10へ送信するか否かとを、任意の条件に基づいて判定してよい。具体的には、例えば、生成部322は、現在の曜日、時間帯、場所において、利用頻度の高いアプリケーションがあり、現在のマスタが当該利用頻度の高いアプリケーションではない場合に、タイミング情報を生成し、新たなマスタを指定する。また、例えば、生成部322は、端末装置10から受信した位置情報に対応付けられている許諾設定情報を参照し、端末装置10において、新たにユーザにより位置情報の利用が許可されたアプリケーションが存在する場合に、マスタにする位置情報更新制御部122を選択し直す。そして、新たなマスタとして選択された位置情報更新制御部122が現在のマスタと異なる場合、新たなマスタを指定するタイミング情報を生成する。
【0114】
また、例えば、生成部322は、未来の所定期間において、複数の端末装置10による位置情報の送信タイミングが集中している場合、当該複数の端末装置10による位置情報の送信タイミングを調整するためのタイミング情報を生成する。また、例えば、生成部322は、所定の日時になった場合に、予め定められた測位タイミング、送信タイミング、リトライタイミング、リトライ回数などを示すタイミング情報を生成し、生成したタイミング情報を端末装置10に送信してもよい。また、例えば、生成部322は、所定の場所に所在する端末装置10に対して、生成したタイミング情報を送信してもよい。このように、生成部322は、位置情報、対応情報など、任意の情報が所定の条件を満たすか否かを判定することにより、タイミング情報を送信するか否かを判定してよい。また、生成部322は、位置情報、対応情報など、任意の情報が所定の条件を満たすか否かを判定することにより、タイミング情報の送信先の端末装置10を選択してよい。
【0115】
[位置情報サーバの動作]
次に、位置情報サーバ30の動作について説明する。
図9は、第1の更新タイミング指定方法により更新タイミングを定める場合に、マスタとして指定する位置情報更新制御部122を選択する処理の流れの一例を示す図である。この図に示される例において、生成部322は、端末装置10に関する各種情報を対応テーブル38Tを参照することにより取得する。以下では、対応テーブル38Tの参照については、説明を省略する。
【0116】
先ず
図9のステップS200において、生成部322は、端末装置10の現在の動作モードが省電力モードであるか否かを判定する。この省電力モードは、端末装置10の電力消費を抑制するために、GPS測位部16による測位間隔またもしくは回数、またはおよび通信部14による位置情報の送信の間隔もしくまたは回数を低下させる動作モードである。
このとき生成部322は、端末装置10における電力残量を参照する。生成部322は、電力残量が所定値以下である場合には省電力モードであることを判定する。省電力モードである場合にはステップS202に処理を進め、そうでない場合にはステップS204に処理を進める。なお、生成部322は、ユーザの操作によって省電力モードに設定されていることを検知してもよい。
【0117】
次のステップS202において、生成部322は、省電力モードに対応したアプリケーションに付属された位置情報更新制御部122を、マスタに決定する。このとき、生成部322は、予め記憶部18に記憶されたアプリケーションの属性情報を参照して、省電力モードに対応したアプリケーションに付属された位置情報更新制御部122を選択する。省電力モードに対応したアプリケーションとは、省電力モード時であっても、測位間隔、測位回数、位置情報の送信間隔、位置情報の送信回数を低下させない、または低下幅が少ないアプリケーションである。
【0118】
さらに、生成部322は、省電力モード時に、アプリケーションに付属された位置情報更新制御部122ではなく、アプリケーションとは独立して動作される省電力モード専用の位置情報更新制御部122をマスタとして選択してもよい。これにより、アプリケーションが省電力モードに移行したことによって、起動中のアプリケーションによることなく、端末装置10の電力消費を抑制できる。このアプリケーションから独立した位置情報ライブラリに対応した位置情報更新制御部122は、例えば、
図3に示したように、複数のアプリケーションに対応した1つの位置情報ライブラリとして実装されるものであってもよい。
図3に示した位置情報更新制御部122は、各アプリケーションが省電力モードに移行しても、測位および位置情報の送信の頻度を維持させる。
【0119】
このときさらに、省電力モードに対応したアプリケーションに付属された位置情報更新制御部122を選択する際に、生成部322は、バージョンが古いアプリケーションに付属された位置情報更新制御部122を、マスタに決定してもよい。
【0120】
また、生成部322は、取得する情報が少ないアプリケーションに付属された位置情報更新制御部122を、マスタに決定してもよい。アプリケーションが取得させる情報には、位置情報が含まれる。この位置情報には、上述したようにウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、及び環境情報が含まれる。生成部322は、位置情報に含まれる何れかの情報の量、または、位置情報に含まれる全ての情報の量を判定してマスタを選択してもよい。
また、このステップS202において、生成部322は、マスタの権限以外の位置情報更新制御部122を、スレーブに決定する。
【0121】
ステップS204において、生成部322は、所定のマスタ決定条件に合致する位置情報更新制御部122を検出する。所定のマスタ決定条件は、位置情報更新制御部122をマスタとするための条件が予め設定されている。この所定のマスタ決定条件は、複数のアプリケーションのうち、使用GPS測位部16に起動要求を行う頻度が高いアプリケーションに付属した位置情報更新制御部122、であってもよい。この場合、生成部322は、アプリケーションの起動時間の履歴を含むデータを参照する。生成部322は、起動回数が最も多いアプリケーションを検出する。これにより生成部322は、起動回数が最も多いアプリケーションに付属した位置情報更新制御部122を、マスタ候補として検出する。
【0122】
所定のマスタ決定条件は、複数のアプリケーションのうち最先に起動したアプリケーションに付属した位置情報更新制御部122、であってもよい。この場合、生成部322は、アプリケーションの起動時間の履歴を含むデータを参照する。生成部322は、現在起動しているアプリケーションのうち起動時刻が最も古いアプリケーションを検出する。起動時刻が最も古いアプリケーションに付属した位置情報更新制御部122を、マスタ候補として検出する。
【0123】
所定のマスタ決定条件は、複数の位置情報ライブラリのうちバージョンが最新の位置情報ライブラリ、であってもよい。この場合、生成部322は、複数のアプリケーションに付属している各位置情報ライブラリのバージョン情報を参照する。生成部322は、位置情報ライブラリのバージョン情報のうち最新のバージョン情報の位置情報ライブラリを検出する。生成部322は、最新のバージョン情報の位置情報ライブラリに対応した位置情報更新制御部122を、マスタ候補として検出する。
【0124】
なお、所定のマスタ決定条件には、他の条件が含まれていてもよい。
他のマスタ決定条件は、ユーザの操作に基づいて位置情報の測位または送信が許可されたアプリケーションに付属した位置情報ライブラリを選択することであってもよい。端末装置10には、例えば、位置情報を利用するアプリケーション、または位置情報を利用可能にするアプリケーションがインストールされる。これらのアプリケーションをインストールする際、または、これらのアプリケーションが起動した際に、アプリケーションの制御により、生成部322は、端末装置10のディスプレイに位置情報の測位または送信を許可するメッセージを表示させる。ユーザの操作を受け付けることにより、位置情報の測位または送信が許可された場合、生成部322は、位置情報の測位または送信が許可されたアプリケーションであることを記憶部18に登録する。その後、生成部322は、マスタを選択する際に、対応テーブル38Tに登録された情報を参照して、位置情報の測位または送信が許可されたアプリケーションがあるか否かを判定する。生成部322は、位置情報の測位または送信が許可されたアプリケーションがある場合、当該アプリケーションに付属された位置情報取得制御部122をマスタとして選択できる。
【0125】
生成部322は、インストール日時が最も古いアプリケーションであって、削除される可能性が低いアプリケーションに付属した位置情報更新制御部122を、マスタ候補として検出してもよい。
また、生成部322は、過去にGPS測位部16へ起動要求を行って取得させた取得する位置情報の種別が最も多い アプリケーションに付属した位置情報更新制御部122を、マスタ候補として検出選択してもよい。アプリケーションが取得させる情報には、位置情報が含まれる。この位置情報には、上述したようにウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、及び環境情報が含まれる。生成部322は、位置情報に含まれる何れかの情報の量、または、位置情報に含まれる全ての情報の量を判定してマスタ候補としてしてもよい。
さらに生成部322は、GPS測位部16に測位させる頻度(測位頻度)が最も多いアプリケーションに付属した位置情報更新制御部122を、マスタ候補として検出してもよい。
【0126】
ステップS206において、生成部322は、ステップS204において検出された所定のマスタ決定条件に該当する位置情報更新制御部122を、マスタに決定する。生成部322は、マスタ以外の位置情報更新制御部122を、スレーブに決定する。
このマスタの決定により、端末装置10の位置情報の測位タイミングおよび位置情報の送信タイミングを変更させる。これにより、複数の位置情報ライブラリのうち何れかひとつの位置情報ライブラリに独自に設定された測位タイミングおよび送信タイミングに従って位置情報の測位および送信が実行される。
【0127】
なお、生成部322は、マスタ候補が複数検出された場合には、所定のマスタ決定条件に合致した数が多い位置情報更新制御部122を、マスタに決定してもよい。
また、スレーブは、独自の測位タイミングが設定されており、当該独自のタイミングでマスタに位置情報を要求してもよい。これにより、スレーブは、自己が付属されているアプリケーションに、当該アプリケーションにとって望ましいタイミングで位置情報を供給することができる。
【0128】
図10を参照して、位置情報サーバ30によるタイミング情報の生成手順の別例について説明する。
図10は、通信品質情報と、移動状態情報と、電力残量情報とに基づいて、第2の送信タイミング指定方法に対応する送信タイミング情報の生成手順の一例を示す。
まず、ステップS300において、位置情報サーバ30の第1通信部34は、端末装置10から各種情報を受信する。ここで、各種情報とは、対応テーブル38Tに記述されるユーザID、位置情報、通信品質情報、移動情報、電力残量情報、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、環境情報などである。第1通信部34が受信したこれらの情報は、記憶部38の対応テーブル38Tに記憶される。その後、位置情報サーバ30は、ステップS302に処理を進める。
【0129】
ステップS302において、生成部322は、記憶部38から対応テーブル38Tを読み出し、対応テーブル38Tに含まれる電力残量情報を参照する。次に、生成部322は、参照した電力残量情報に基づいて、端末装置10の電力残量が少ないか否かを判定する。端末装置10の電力残量が少ない場合(ステップS302:YES)、所定の頻度で位置情報の送信が続けられると、端末装置10が短時間で電力切れとなり、端末装置10から位置情報を取得することができなくなる恐れがある。従って、位置情報サーバ30は、ステップS304に処理を進める。また、端末装置10の電力残量が多い場合(ステップS302:NO)、所定の頻度で位置情報の送信を続けても、端末装置10が短時間で電力切れを起こす恐れはない。従って、位置情報サーバ30は、ステップS306に処理を進める。
【0130】
ステップS304において、位置情報サーバ30は、端末装置10による位置情報の送信時間間隔を増加させる。具体的には、生成部322は、例えば、マスタによる位置情報の送信時間間隔に対して、所定の時間間隔を加えた時間間隔を、送信時間間隔の候補とする。また、生成部322は、マスタによる位置情報の送信時間間隔を、所定の割合で延長した時間間隔を、送信時間間隔の候補とする。このように、端末装置10におけるマスタの送信時間間隔を延長することにより、位置情報の送信時間隔を増加させる。
【0131】
ステップS306において、位置情報サーバ30の生成部322は、記憶部38から対応テーブル38Tを読み出し、対応テーブル38Tに含まれる通信品質情報を参照する。次に、生成部322は、参照した通信品質情報に基づいて、端末装置10における通信の品質が不良であるか否かを判定する。例えば、端末装置10が基地局からの電波を受信しにくい場所に所在しているなどの理由により、通信の品質が不良である場合(ステップS306:YES)、位置情報サーバ30は、ステップS308に処理を進める。また、通信の品質が不良ではない、すなわち良好である場合(ステップS306:NO)、位置情報サーバ30は、ステップS312に処理を進める。
【0132】
ステップS308において、生成部322は、記憶部38から対応テーブル38Tを読み出し、対応テーブル38Tに含まれる移動情報を参照する。次に、生成部322は、参照した移動情報に基づいて、端末装置10が移動中であるか否かを判定する。端末装置10が移動中ではない場合(ステップS308:NO)、端末装置10は、マスタが予定する位置情報の次回送信日時までの間に、その所在を変えていない可能性がある。そのため、端末装置10における通信の品質が不良のままである可能性がある。従って、位置情報サーバ30は、ステップS310に処理を進める。また、端末装置10が移動中である場合(ステップS308:YES)、端末装置10は、マスタが予定する位置情報の次回送信日時までの間に、例えば、基地局周辺などの受信電波強度の高い場所に移動する可能性がある。従って、位置情報サーバ30は、ステップS312に処理を進める。
【0133】
ステップS310において、生成部322は、端末装置10による位置情報の次回の送信を遅延させる。具体的には、生成部322は、例えば、マスタによる位置情報の次回送信予定日時に対して、所定の時間間隔を加えた日時を、次回送信予定日時の候補とする。また、例えば、生成部322は、マスタによる位置情報の次回送信予定日時における測位を禁止し、次々回送信予定日時を次回送信予定日時の候補とする。このように、生成部322は、端末装置10におけるマスタの次回送信予定日時以降の日時を、次回送信予定日時として指定することにより次回の送信予定日時を遅延させる。その後、位置情報サーバ30は、ステップS312に処理を進める。
【0134】
ステップS312において、生成部322は、端末装置10による位置情報の送信予定日時において、位置情報サーバ30による位置情報の受信予定が過密か否かを判定する。具体的には、生成部322は、判定対象の端末装置10におけるマスタによる位置情報の次回送信予定日時を特定する。次に、生成部322は、特定した送信予定日時に近い日時を次回以降の送信予定日時とする端末装置10の数をカウントする。次に、生成部322は、カウントした端末装置10の数が所定の閾値以上である否かを判定する。これにより、生成部322は、位置情報サーバ30による位置情報の受信予定が過密か否かを判定する。端末装置10の数が所定の閾値以上である場合、すなわち位置情報サーバ30による位置情報の受信予定が過密である場合(ステップS312;YES)、位置情報サーバ30は、ステップS314に処理を進める。また、端末装置10の数が所定の閾値より小さい場合、すなわち位置情報サーバ30による位置情報の受信予定が過密ではない場合(ステップS312)、位置情報サーバ30は、ステップS316に処理を進める。
【0135】
ステップS314において、生成部322は、送信タイミングを調整する。つまり、生成部322は、送信予定日時を、例えば所定の時間長前後させることにより、位置情報サーバ30による位置情報の受信予定が過密ではない日時を、次回送信予定日時とする。
【0136】
ステップS316において、生成部322は、端末装置10による位置情報の送信タイミングを変更したか否かを判定する。具体的には、生成部322は、ステップS304、S310、S314の処理の少なくともいずれか一つを行ったか否かを判定する。送信タイミングを変更した場合(ステップS316:YES)、位置情報サーバ30は、ステップS318に処理を進める。また、送信タイミングを変更しなかった場合(ステップS316:NO)、位置情報サーバ30は、
図10に示される処理を終了する。
【0137】
ステップS318において、生成部322は、端末装置10による位置情報の次回送信予定日時と送信時間間隔との少なくともいずれか一つを示す送信タイミング情報を生成する。次に、生成部322は、第1通信部34を介して、生成した送信タイミング情報を端末装置10に送信する。
これにより、位置情報サーバ30は、位置情報の受信による自装置の負荷を分散することができる。
【0138】
次に、位置情報サーバ30によるユーザの行動履歴に基づくタイミング情報の生成手順の例について説明する。この一例において、生成部322は、位置情報の更新タイミングをユーザの移動の活発さに基づいて決定する。つまり、生成部322は、ユーザが活発に移動する時間帯では、更新頻度が高い更新タイミングを示すタイミング情報を生成する。これに対して、ユーザが活発に移動しない時間帯では、更新頻度が低い更新タイミングを示すタイミング情報を生成する。以下、この一例において、生成部322が行う処理の具体例について説明する。
【0139】
まず、生成部322は、対応テーブル38Tを参照し、解析対象の端末装置10について、過去1週間の位置情報を取得する。次に、生成部322は、取得した位置情報が示す位置の変化を、例えば、1時間ごとに解析する。より具体的には、生成部322は、例えば、時系列の位置情報において、連続する2つの時刻に対応する位置の距離を、1時間単位で合計する。つまり、生成部322は、端末装置10のユーザの1時間ごとの移動距離を算出する。次に、生成部322は、1日24時間の時間ごとの移動距離を、過去1週間の7日分について合計する。換言すると、生成部322は、過去1週間における、1日24時間の時間ごとのユーザの移動距離を算出する。次に、生成部322は、1日24時間の時間ごとのユーザの移動距離を、所定の閾値と比較する。ユーザの移動距離が所定の閾値に比して大きい場合、すなわち、ユーザが活発に移動する時間帯である場合、生成部322は、更新頻度が高い更新タイミングを定めるタイミング情報を生成する。また、ユーザの移動距離が所定の閾値以下の場合、すなわち、ユーザが活発に移動しない時間帯である場合、生成部322は、更新頻度が低い更新タイミングを定めるタイミング情報を生成する。これにより、位置情報サーバ30は、ユーザの活動に応じて位置情報の更新タイミングを定めることができるため、端末装置10の電力消費を抑えつつ、ユーザの実際の位置とのずれが少ない位置情報を取得することができる。
【0140】
なお、上述の例では、1日24時間の時間ごとのユーザの移動距離に基づくタイミング情報の生成について説明したが、時間帯の区分けは、例えば、朝、昼、夜など長さが異なる期間であってもよく、曜日ごとなどの日単位であってもよい。また、解析に利用する位置情報の期間は過去1週間でなく、過去1日間、1ヶ月間などの任意の期間であってもよい。
【0141】
なお、
図10などを用いて説明したように、タイミング決定規則は、参照すべき参照情報と、当該参照情報の値に応じた処理内容とを任意に定めてよい。また、各種タイミングは、相互に参照されてもよい。例えば、測位タイミング情報が示す端末装置10における位置情報の取得タイミングは、端末装置10における位置情報の送信タイミングに応じて決定されてもよい。具体的には、例えば、測位タイミング情報が示す位置情報の取得タイミングは、端末装置10が位置情報サーバ30に位置情報を送信する所定時間前のタイミングであってもよい。これにより、位置情報サーバ30は、端末装置10において取得されてから間もない位置情報を、端末装置10から受信することができる。従って、位置情報サーバ30は、より信頼性の高い位置情報を端末装置10から取得することができる。
【0142】
また、生成部322は、例えば、電力残量に応じて、端末装置10による位置情報の再送の試行回数(リトライ回数)を指定してもよい。この場合には、例えば、電力残量ごとのリトライ回数が予め定められ、記憶部38に記憶されている。この場合に、生成部322が実行する処理について説明する。まず、生成部322は、対応テーブル38Tの電力残量情報を参照し、端末装置10の電力残量を取得する。次に、生成部322は、記憶部38に記憶されている電力残量ごとのリトライ回数を参照し、端末装置10の電力残量に応じたリトライ回数を取得する。次に、生成部322は、取得したリトライ回数を端末装置10に対して指定するリトライタイミング情報を生成する。そして、生成部322は、生成したリトライタイミング情報を端末装置10に送信する。
【0143】
ここで、端末装置10の電力残量が少ない場合、位置情報サーバ30は、少ない回数のリトライ回数を指定する。これにより、端末装置10は、電力残量が少ない場合に、位置情報の送信の再試行による電力の消費を抑制する。従って、位置情報サーバ30は、より長時間、継続的に端末装置10から位置情報を取得することができる。これに対し、端末装置10の電力残量が多い場合、位置情報サーバ30は、多い回数のリトライ回数を指定する。これにより、端末装置10は、電力残量が多い場合に、送信に失敗した位置情報の再送信を多数回試みる。従って、位置情報サーバ30は、より確実に端末装置10から位置情報を取得することができる。
【0144】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明は、例えば、位置情報サーバなどとして実施することができる。
【0145】
また、上述した端末装置10および位置情報サーバ30の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0146】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。