(57)【要約】【課題】複数のアプリケーションに対応して位置情報の取得を制御する位置情報取得制御部を複数の中から適切に選択する。【解決手段】端末装置は、起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含み、複数の前記ライブラリのうち、処理部を位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが位置情報取得制御部として機能させることができない場合、自ライブラリが位置情報取得制御部として処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部が判定する。【選択図】図２
2018007270.tif 000002
【特許請求の範囲】
【請求項１】
起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、
それぞれ１つのアプリケーションに対応した複数のライブラリと、
を含み、
複数の前記ライブラリのうち、処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部が判定する、
ことを特徴とする端末装置。
【請求項２】
複数の前記ライブラリのいずれか一つのみが、前記処理部を前記位置情報取得制御部として機能させると前記処理部が判定する、
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記位置情報取得制御部は、自ライブラリの機能を停止させる操作が行われる場合に、他の前記ライブラリにより機能している前記位置情報取得制御部に前記処理部が前記位置情報取得制御部として機能しなくなることを通知する、
ことを特徴とする請求項１又は請求項２に記載の端末装置。
【請求項４】
前記位置情報取得制御部として機能していない前記位置情報取得制御部は、前記位置情報取得制御部として機能していた前記位置情報取得制御部に対して応答を要求し、応答がない場合に、前記処理部は、自ライブラリにより機能していた前記位置情報取得制御部を前記応答がない前記位置情報取得制御部に替えて機能させるか否かを判定する、
ことを特徴とする請求項１から請求項３のいずれか一項に記載の端末装置。
【請求項５】
起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含む端末装置における位置取得方法であって、
複数の前記ライブラリのうち、処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部が判定する第１ステップと、
前記第１ステップにおいて、自ライブラリが前記位置情報取得制御部として前記処理部を機能させると判定した前記ライブラリが、前記位置情報取得制御部として前記処理部を機能させる第２ステップと、
を含むことを特徴とする位置取得方法。
【請求項６】
起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含む端末装置の処理部に、
複数の前記ライブラリのうち、前記処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部に判定させる第１ステップ、
前記第１ステップにおいて、自ライブラリが前記位置情報取得制御部として前記処理部を機能させると判定した前記ライブラリが、前記位置情報取得制御部として前記処理部を機能させる第２ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、位置取得方法、およびプログラムに関する。
【背景技術】
【０００２】
Webサービスとしては、サービスの利用者に関する利用者情報を利用者端末から取得し、利用者情報を利用してサービスを提供するものがある。このサービスのうち、利用者端末が自装置の位置情報をWebサーバに送信し、Webサーバが位置情報に関連した情報を送信するものがある。
【０００３】
利用者端末が自装置の位置情報を得る技術としては、下記の特許文献１に記載された端末装置が知られている。この端末装置における１またはそれ以上のアプリケーションは、測位方法選択装置に測位データを要求する。測位方法選択装置は、１またはそれ以上の測位方法を使用する。このとき、測位方法選択装置は、ある測位方法によって提供される測位データの質と、アプリケーションが要求する測位の質とを比較して、１またはそれ以上のアプリケーションに測位データを提供する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２０９２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、測位方法選択装置は、複数のアプリケーションから送信された測位要求を受け取る度に測位データを生成しているので、測位データを得る度に電力を消費してしまう。特に、ＧＰＳ電波を受信して測位演算を行う場合には、他の測位方法と比較して大きな電力を必要とする。そこで、複数のアプリケーションに対応する一つの位置情報取得制御部により測位データの取得を制御させることにより測位データの取得回数を低減させ、電力の消費を抑制することが考えられる。ところがこの場合、上述の一つの位置情報取得制御部が機能しなくなると、測位データの取得を制御できなくなるおそれがあった。
【０００６】
本発明は、このような事情を考慮してなされたもので、複数のアプリケーションに対応して位置情報の取得を制御する位置情報取得制御部を複数の中から選択することができる端末装置、位置取得方法、およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
（１）上記の課題を解決するために、本発明の一態様に係る端末装置は、起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含み、複数の前記ライブラリのうち、処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部が判定する。
【０００８】
（２）本発明の一態様は、上記した（１）に記載の端末装置において、複数の前記ライブラリのいずれか一つのみが、前記処理部を前記位置情報取得制御部として機能させると前記処理部が判定する、構成が用いられてもよい。
【０００９】
（３）本発明の一態様は、上記した（１）又は（２）に記載の端末装置において、前記位置情報取得制御部は、自ライブラリの機能を停止させる操作が行われる場合に、他の前記ライブラリにより機能している前記位置情報取得制御部に前記処理部が前記位置情報取得制御部として機能しなくなることを通知する、構成が用いられてもよい。
【００１０】
（４）本発明の一態様は、上記した（１）から（３）のいずれかに記載の端末装置において、前記位置情報取得制御部として機能していない前記位置情報取得制御部は、前記位置情報取得制御部として機能していた前記位置情報取得制御部に対して応答を要求し、応答がない場合に、前記処理部は、自ライブラリにより機能していた前記位置情報取得制御部を前記応答がない前記位置情報取得制御部に替えて機能させるか否かを判定する、構成が用いられてもよい。
【００１１】
（５）上記の課題を解決するために、本発明の一態様に係る位置取得方法は、起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含む端末装置における位置取得方法であって、複数の前記ライブラリのうち、処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部が判定する第１ステップと、前記第１ステップにおいて、自ライブラリが前記位置情報取得制御部として前記処理部を機能させると判定した前記ライブラリが、前記位置情報取得制御部として前記処理部を機能させる第２ステップと、を含む。
【００１２】
（６）上記の課題を解決するために、本発明の一態様に係るプログラムは、起動要求に応じて起動することにより位置情報を取得する位置情報取得部と、それぞれ１つのアプリケーションに対応した複数のライブラリと、を含む端末装置の処理部に、複数の前記ライブラリのうち、前記処理部を前記位置情報取得部へ起動要求を行う位置情報取得制御部として機能させていたライブラリが前記位置情報取得制御部として機能させることができない場合、自ライブラリが前記位置情報取得制御部として前記処理部を機能させるか否かを、記憶部に記憶されているライブラリの優先順位に基づいて前記処理部に判定させる第１ステップ、前記第１ステップにおいて、自ライブラリが前記位置情報取得制御部として前記処理部を機能させると判定した前記ライブラリが、前記位置情報取得制御部として前記処理部を機能させる第２ステップ、を実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、複数のアプリケーションに対応して測位データの取得を制御する位置情報取得制御部を複数の中から適切に選択することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態における位置提供システムの構成を示すブロック図である。
【図２】本発明の一実施形態に係る端末装置の構成を示すブロック図である。
【図３】本発明の一実施形態に係るライブラリ管理情報の一例を示す図である。
【図４】本発明の一実施形態に係る端末装置の他の構成を示すブロック図である。
【図５】本発明の一実施形態に係る端末装置の他の構成を示すブロック図である。
【図６】本発明の一実施形態に係る端末装置において行われる位置情報の取得および送信処理の手順の一例を示すフローチャートである。
【図７】本発明の一実施形態に係る端末装置において行われるマスタとスレーブとの切替処理の手順の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１５】
以下、実施形態の位置提供システム１、端末装置、位置取得方法、および、位置取得用プログラムを、図面を参照して説明する。
【００１６】
図１は、実施形態に係る位置提供システム１の構成を示すブロック図である。この位置提供システム１は、複数の端末装置１０Ａ、１０Ｂ、・・・、１０Ｎ（以下、総称する場合には単に「端末装置１０」と呼ぶ）、位置情報サーバ３０、認証サーバ４０、ＰＯＩ（Point Of Interest）サーバ４２、およびアプリケーションサーバ５０Ａ、５０Ｂ、・・・、５０Ｎ（以下、総称する場合には単に「アプリケーションサーバ５０」と呼ぶ）を有する。
【００１７】
位置提供システム１は、端末装置１０から位置情報サーバ３０に、端末装置１０の位置情報を送信し、この位置情報を位置情報サーバ３０からアプリケーションサーバ５０に提供するものである。端末装置１０は、任意の送信タイミングまたは所定期間ごとに位置情報を送信する。本実施形態においては、予め端末装置１０内で決定された送信タイミングによって位置情報を送信する例について説明する。しかし、端末装置１０の位置情報の送信タイミングは、位置情報サーバ３０によって設定されてもよい。
【００１８】
位置情報サーバ３０は、端末装置１０から送信された位置情報を受信して蓄積する。この具体例においては、位置情報サーバ３０は、端末装置１０毎に時系列に位置情報を蓄積する。また、位置情報サーバ３０は、端末装置１０において利用が許可されているアプリケーションの識別情報（ＩＤ）も蓄積してもよい。位置情報サーバ３０は、蓄積した位置情報をＰＯＩサーバ４２およびアプリケーションサーバ５０に送信する。
また、位置情報サーバ３０は、後述するライブラリ管理情報（図３）をその記憶部に記憶する。位置情報サーバ３０は、ライブラリ管理情報を定期的に端末装置１０に送信する。また、端末装置１０において、複数の位置情報ライブラリのうち、特定の位置情報ライブラリが端末装置１０における位置情報の取得を制御する。ここで、位置情報サーバ３０は、端末装置１０の複数の位置情報ライブラリのうち、いずれの位置情報ライブラリを、特定の位置情報ライブラリにするかということを、端末装置１０に対して指定可能である。
【００１９】
アプリケーションサーバ５０は、端末装置１０にインストールされた複数のアプリケーションプログラムのそれぞれに対応したサーバ装置である。ここで、端末装置１０には、アプリケーションプログラムＡ〜Ｎから選択される、複数のアプリケーションプログラムをインストールすることができる。本実施形態においては、端末装置１０にアプリケーションプログラムＡ〜Ｃがインストールされている場合を一例にして説明する。この具体例においては、アプリケーションサーバ５０Ａは、端末装置１０にインストールされた複数のアプリケーションプログラムのうち、アプリケーションプログラムＡに対応したサーバ装置である。また、アプリケーションサーバ５０Ｂは、端末装置１０にインストールされた複数のアプリケーションプログラムのうち、アプリケーションプログラムＢに対応したサーバ装置である。また、アプリケーションサーバ５０Ｃは、端末装置１０にインストールされた複数のアプリケーションプログラムのうち、アプリケーションプログラムＣに対応したサーバ装置である。このアプリケーションサーバ５０は、位置情報サーバ３０を介して端末装置１０の位置情報を受信する。
【００２０】
アプリケーションサーバ５０は、トラッキングされた端末装置１０の位置情報を用いて所定のアプリケーション処理を行う。トラッキングされた位置情報には、任意または所定の期間ごとに繰り返して更新された端末装置１０の最新位置または過去の位置が含まれる。このアプリケーション処理には、端末装置１０の位置の変化を解析して、端末装置１０に適した広告情報等のアプリケーション情報を判定する処理などが含まれていてもよい。
アプリケーション情報は、アプリケーションサーバ５０から端末装置１０に送信されてもよい。これによりアプリケーションサーバ５０は、端末装置１０に、端末装置１０の位置に適した広告等を表示させることができる。この一例の場合、アプリケーション情報は、端末装置１０の位置情報取得部で取得された位置情報に基づく情報に相当する。
【００２１】
認証サーバ４０は、端末装置１０が位置情報サーバ３０と通信を開始する際に、各種の認証処理を行う。この認証サーバ４０が行う認証処理には、一例として、端末認証処理、ユーザ認証処理、またはアプリケーション認証処理が含まれている。これら認証処理の具体例について説明すると、端末認証処理において認証サーバ４０は、端末装置１０から送信された端末ＩＤと予め記憶しておいた端末ＩＤとが合致した場合に認証を成功させる。
ここで、端末ＩＤとは、端末装置１０を識別するための固有の記号や番号などの情報である。ユーザ認証処理における認証サーバ４０は、端末装置１０から送信されたユーザＩＤと予め記憶しておいたユーザＩＤとが合致した場合に認証を成功させる。ここで、ユーザＩＤとは、端末装置１０を利用するユーザを識別するための固有の記号や番号などの情報である。アプリケーション認証処理における認証サーバ４０は、端末装置１０から送信されたアプリケーションＩＤと予め記憶しておいたアプリケーションＩＤとが合致した場合に認証を成功させる。ここで、アプリケーションＩＤとは、端末装置１０において利用可能なアプリケーションプログラムを識別するための固有の記号や番号などの情報である。
【００２２】
認証サーバ４０による認証が成功した場合、認証サーバ４０は、端末装置１０にトークンを生成して、端末装置１０に送信する。認証サーバ４０から送信されたトークンは、端末装置１０に記憶される。これにより端末装置１０は、位置情報サーバ３０およびアプリケーションサーバ５０とセキュアな通信が可能となる。なお、トークンは任意のタイミングで更新されてもよい。これにより、端末装置１０は、さらにセキュアな通信が可能となる。
【００２３】
また、認証サーバ４０は、端末装置１０が携帯電話である場合、端末認証処理においてＩＰ（Internet Protocol）アドレスおよび電話番号を用いてもよい。認証サーバ４０は、位置情報サーバ３０を介して、端末装置１０から送信されたＩＰアドレスおよび電話番号を受信する。認証サーバ４０は、受信したＩＰアドレスおよび電話番号と、正当なＩＰアドレスおよび電話番号とを照合する。認証サーバ４０は、受信したＩＰアドレスおよび電話番号が正当なＩＰアドレスおよび電話番号と照合できた場合には、通信を許可する認証結果を位置情報サーバ３０に送信する。
【００２４】
ＰＯＩサーバ４２は、ＰＯＩ情報を蓄積している。ＰＯＩ情報は、少なくとも店舗等の緯度、経度を示す情報を含んでいる。ＰＯＩサーバ４２は、端末装置１０、位置情報サーバ３０またはアプリケーションサーバ５０から出力される、端末装置１０の位置情報を含む要求を受け付けると、この要求の受け付けに応じて当該位置情報に対応したＰＯＩ情報を検索し、当該位置情報付近のＰＯＩ情報を返信する。なお、ＰＯＩ情報には、店舗等のロケーションＩＤ、ロケーション名、およびカテゴリ等を含んでいてもよい。これによりＰＯＩサーバ４２は、位置情報に対応したロケーションＩＤ、ロケーション名、およびカテゴリ等を検索結果として返信できる。
また、ＰＯＩサーバ４２は、ＰＯＩ情報をキーとして端末装置１０を検索してもよい。
これによりＰＯＩサーバ４２は、ＰＯＩ情報に該当する端末装置１０を抽出して、検索結果として返信することができる。例えば、ＰＯＩサーバ４２は、ある店舗内に存在する端末装置１０を検索して、端末装置１０のユーザＩＤを返信することができる。
【００２５】
図２は、実施形態に係る端末装置１０の構成を示すブロック図である。端末装置１０は、処理部１２、通信部１４、ＧＰＳ（Global Positioning System）測位部１６、および記憶部１８を含む。端末装置１０は、ユーザに保有されて移動する機器である。端末装置１０は、例えば携帯電話またはスマートフォンであってもよい。
【００２６】
通信部１４は、位置情報サーバ３０との間で通信を行う。通信部１４は、例えば通信ＩＣチップにより構成されている。通信部１４は、処理部１２から供給された位置情報を所定の通信データに変換して位置情報サーバ３０に送信する。この位置情報には、測位時刻、緯度および経度が含まれている。認証サーバ４０がアプリケーション認証をする場合には、位置情報には、端末装置１０において許可されているアプリケーションのアプリケーションＩＤが含まれていてもよい。位置情報サーバ３０またはアプリケーションサーバ５０から通信データを受信した場合、通信部１４は、受信した通信データに所定の処理を施して処理部１２に出力する。
【００２７】
位置情報には、ユーザＩＤ、端末ＩＤ、端末機種名、およびＯＳ（Operating System）の種別等の端末装置１０に関する情報が含まれていてもよい。さらに、位置情報には、位置情報の測位方式、および当該測位方式で測位された位置情報の測位誤差を含んでいてもよい。測位方式としては、例えばＧＰＳ測位方式、セルＩＤ方式、Ｗｉ−Ｆｉ方式、またはネットワーク測位方式が挙げられる。さらに、端末装置１０がＷｉ−Ｆｉネットワークに存在する場合には、位置情報には、Ｗｉ−ＦｉネットワークのアクセスポイントのＩＤが含まれていてもよい。さらに、端末装置１０がBluetooth（登録商標）機能を起動して通信している場合、位置情報には、Bluetooth（登録商標）端末としてのＩＤが含まれていてもよい。
【００２８】
さらに、位置情報には、位置情報が示す位置において端末装置１０が実行したプログラムに関するプログラム実行履歴情報が含まれていてもよい。プログラム実行履歴情報には、端末装置１０がプログラムを実行した時刻と実行したプログラムの名称や種類が含まれる。なお、プログラム実行履歴情報には、プログラムの起動された時刻と、スリープ状態からのプログラムが再起動された時刻とが含まれる。端末装置１０が実行するプログラムには、例えば、カメラプログラム、メールプログラム、電話プログラム、音楽再生プログラム（再生した楽曲名などを含んでもよい）、電卓プログラム等が含まれる。
【００２９】
さらに、位置情報には、位置情報が示す位置において端末装置１０がアクセスしたウェブページへのアクセス履歴や起動したウェブブラウザの操作履歴に関するウェブ履歴情報が含まれていてもよい。ウェブ履歴情報には、端末装置１０が企業の広告、又は、ホームページ等のＷｅｂページにアクセスした時刻とアクセスしたＷｅｂページのアドレスとが含まれる。
【００３０】
さらに、位置情報には、位置情報が示す位置において端末装置１０が受け付けたユーザからの操作に関する操作履歴情報が含まれていてもよい。操作履歴情報には、端末装置１０が操作を受け付けた時刻と受け付けた操作の名称や種類が含まれる。端末装置１０が受け付ける操作には、例えば、電源をＯＮする操作、電源をＯＦＦする操作、スピーカ音量の調節操作、省電力モードへの切替操作等が含まれる。
【００３１】
さらに、位置情報には、位置情報が示す位置における端末装置１０の姿勢の変化を示す姿勢変化情報が含まれていてもよい。姿勢変化情報には、端末装置１０の姿勢が変化した時刻が含まれる。なお、端末装置１０の姿勢の変化は、後述する加速度センサ等により検出される。
【００３２】
さらに、位置情報には、位置情報が示す位置において端末装置１０が取得した環境情報が含まれていてもよい。環境情報には、端末装置１０が収集した音情報や、近距離通信の通信履歴等が含まれる。端末装置１０が収集した音情報は、例えば店舗で流される可聴音や不可聴音に関する情報である。近距離通信の通信履歴は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）及び赤外線等の通信を行った時刻等が含まれる。
ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報、及び環境情報は、処理部１２により生成される。
【００３３】
ＧＰＳ測位部１６は、位置情報を取得する位置情報取得部として機能する。ＧＰＳ測位部１６は、自装置の位置を特定して位置情報を生成し、処理部１２に出力する。このときＧＰＳ測位部１６は、複数のＧＰＳ衛星からＧＰＳ衛星の位置および時刻を含むＧＰＳ信号を受信する。ＧＰＳ測位部１６は、複数のＧＰＳ衛星と端末装置１０の距離を演算し、三角測量演算により自装置の位置を特定する。特定された位置および時刻は、位置情報としてＧＰＳ測位部１６から処理部１２に供給される。
【００３４】
ＧＰＳ測位部１６は、スリープ状態と、通常動作状態との少なくとも２つの状態によって動作する。このうち、スリープ状態とは、測位を実施せずに待機している状態であって、通常動作状態よりも消費電力が少ない状態である。また、通常動作状態とは、測位を実施する状態であって、スリープ状態よりも消費電力が多い状態である。ＧＰＳ測位部１６は、処理部１２による起動要求によって、状態を遷移させる。具体的には、ＧＰＳ測位部１６は、処理部１２による起動要求をトリガにして、スリープ状態から通常動作状態に状態を遷移させる。また、ＧＰＳ測位部１６は、測位演算が終了したことをトリガにして、通常動作状態からスリープ状態に状態を遷移させる。ここで、起動要求とは、処理部１２がＧＰＳ測位部１６に対して出力する要求であって、自装置の位置を特定して位置情報を生成する処理の実行の要求である。
【００３５】
換言すれば、ＧＰＳ測位部１６は、処理部１２から出力される起動要求の入力を待機している期間においてスリープ状態となっている。スリープ状態とは、省電力で動作している状態であり、起動要求により解除される。ＧＰＳ測位部１６は、処理部１２から起動要求を入力することに応じて起動する。これによりＧＰＳ測位部１６は、スリープ状態から通常動作状態に切り替わる。起動要求は、自装置の位置情報を取得する命令である。ＧＰＳ測位部１６は、起動要求に応じて位置情報を取得して処理部１２に出力すると、所定時間後にスリープ状態となる。
【００３６】
なお、位置情報を取得する位置情報取得部は、他の方式により位置情報を取得してもよい。
この位置情報取得部は、セルＩＤ（携帯電話基地局）方式によって位置情報を取得してもよい。このセルＩＤ方式は、端末装置１０が携帯電話端末の場合、携帯電話端末としての通信機能を応用して、３つ以上の携帯電話基地局の電波情報に基づいて端末装置１０の現在地を算出する。
位置情報取得部は、Ｗｉ−Ｆｉ方式によって位置情報を取得してもよい。Ｗｉ−Ｆｉ方式は、端末装置１０周辺の無線ＬＡＮのアクセスポイントから送信される電波を検出し、アクセスポイントの位置情報に基づいてアクセスポイントまたは所定のサーバ等から端末装置１０の位置情報を取得する。
さらに、位置情報取得部は、ネットワーク測位方式によって位置情報を取得してもよい。ネットワーク測位方式は、セルＩＤ方式とＷｉ−Ｆｉ方式による測位で位置情報を取得する。
このように、位置情報取得部は、ＧＰＳ測位方式のみならず、セルＩＤ方式またはＷｉ−Ｆｉ方式を用いる構成であっても、処理部１２からの起動要求に応じてスリープ状態から起動して、位置情報を取得できる。
本実施形態において、端末装置１０は、位置情報の取得方式として、Ｗｉ−Ｆｉ方式およびセルＩＤ方式よりも、ＧＰＳ測位部１６による測位方式を優先する。端末装置１０は、例えば自装置が屋内にいる等のＧＰＳ測位部１６に測位ができない状況において、ＧＰＳ測位部１６による測位に代えて、セルＩＤ方式またはＷｉ−Ｆｉ方式による測位に切り替える。
【００３７】
記憶部１８は、各種の情報を記憶する記録媒体である。記憶部１８は、位置情報取得制御部１２２により取得させた位置情報を蓄積する。記憶部１８は、位置情報を時系列で記憶する。記憶部１８は、アプリケーション認証を行う場合、位置情報に対応付けて、起動が許可されたアプリケーションプログラムのアプリケーションＩＤを記憶してもよい。また、記憶部１８は、後述するライブラリ管理情報とマスタ選択条件とを記憶する。
【００３８】
また、記憶部１８には、位置情報取得制御部１２２が動作するための位置取得制御用プログラムとしての位置情報ライブラリが記憶される。位置取得制御用プログラムは、コンピュータにより読込可能なプログラムである。
【００３９】
処理部１２は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、メモリに記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア機能部であってもよい。
【００４０】
処理部１２は、アプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃ（以下、総称する場合には単に「アプリケーション処理部１２０」と呼ぶ。）を有する。アプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃは、ＣＰＵがアプリケーションプログラムＡ、Ｂ、Ｃを実行することにより機能するソフトウェア機能部である。本実施形態において、複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃは、それぞれ任意のアプリケーション処理を実行する。また、本実施形態では、アプリケーションプログラムＡ、Ｂ、Ｃの３つを実行するが２以上のアプリケーションプログラムを同時に実行するものであればよい。
【００４１】
端末装置１０は、アプリケーションプログラムＡ、Ｂ、Ｃの起動時にアプリケーション認証のための動作を行ってもよい。この場合、端末装置１０は、アプリケーションプログラムが起動する際に、アプリケーションプログラムごとに予め定められているアプリケーションＩＤを認証サーバ４０に送信する。より具体的には、端末装置１０は、アプリケーションプログラムＡが起動する際に、アプリケーションプログラムＡを示すアプリケーションＩＤを認証サーバ４０に送信する。端末装置１０は、認証サーバ４０からアプリケーション認証が許可されたか否かの認証結果を受信する。端末装置１０は、認証結果が「許可」の場合のみアプリケーションプログラムの起動を許可する。
【００４２】
処理部１２は、同時に複数のアプリケーションプログラムＡ、Ｂ、Ｃが実行可能である。処理部１２は、複数のアプリケーションプログラムＡ、Ｂ、Ｃのうち優先度の低いアプリケーションプログラムをバックグラウンドで実行する。なお、アプリケーションプログラムＡ、Ｂ、Ｃは、所定期間ごとに起動要求を出力することが設定されていてもよい。所定期間は、アプリケーションプログラムＡ、Ｂ、Ｃごとに設定されていてもよい。
【００４３】
独自の所定期間は、例えばアプリケーションの種類等に基づき、１分、１０分、１時間などが挙げられる。また、独自の所定期間は、ユーザの操作を受け付け、ユーザにより指定された期間となるように変更させてもよい。さらに、独自の所定期間は、過去の測位履歴に基づいて自動的に変更させてもよい。例えば、次の所定期間を設定する際に、処理部１２は、前回の所定期間の開始前および経過時において測位された２つの位置情報から前回の所定期間内の移動距離を算出し、前回の所定期間において自装置の移動がある、または移動距離が長い場合には、次の所定期間を短く変更してもよい。
【００４４】
独自のタイミングは、自装置が通信する基地局に対応したセルＩＤ、自装置が通信可能なＷｉＦｉアクセスポイントのアクセスポイントＩＤが変化したタイミングが挙げられる。処理部１２は、セルＩＤまたはアクセスポイントＩＤが変化したことをトリガとして起動要求の出力タイミングの到来を判断できる。さらに、独自のタイミングは、後述する加速度センサ等の自装置の移動を検知し、自装置が所定距離移動したと推定されるタイミングであってもよい。この所定距離は、後述するように、自装置が所定エリアに進入したことに応じて再設定または変更されてもよい。また、所定距離は、ユーザの操作を受け付け、ユーザにより指定された距離となるように変更させてもよい。
本実施形態の端末装置１０は、アプリケーションプログラムが起動要求を出力するものであっても、一つの位置情報取得制御部１２２のみがＧＰＳ測位部１６に起動要求を出力する。
【００４５】
図２の構成において、アプリケーションプログラムＡ、Ｂ、Ｃには、それぞれに位置情報ライブラリが付属している。すなわち、アプリケーションプログラムＡには、位置情報ライブラリＡが付属している。また、アプリケーションプログラムＢには、位置情報ライブラリＢが付属しており、アプリケーションプログラムＣには、位置情報ライブラリＣが付属している。以下の説明において、これら位置情報ライブラリＡ、Ｂ、Ｃを総称して、位置情報ライブラリという。また、以下では、一つのアプリケーションに対して、一つの位置情報ライブラリが付属する例について説明する。
この位置情報ライブラリは、ＧＰＳ測位部１６に対して、起動要求を出力する。また、位置情報ライブラリは、この起動要求に応じてＧＰＳ測位部１６が生成した位置情報を取得し、取得した位置情報をアプリケーションプログラムに出力する。これにより、アプリケーションプログラムは、ＧＰＳ測位部１６が生成した位置情報の利用が可能になる。
また、この位置情報ライブラリとは、端末装置１０のＣＰＵによって実行されるソフトウェアである。すなわち、端末装置１０において、ＣＰＵが位置情報ライブラリを実行する。これにより、端末装置１０は、ソフトウェア機能部として位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃ（以下、総称する場合には単に「位置情報取得制御部１２２」と呼ぶ。）を構成する。すなわち、処理部１２は、これら位置情報取得制御部１２２をアプリケーションごとに有している。
【００４６】
位置情報取得制御部１２２を実現するための位置情報ライブラリは、それぞれ、独自の測位タイミングおよび位置情報の送信タイミングが設定される。複数のアプリケーションに付属されるそれぞれの位置情報ライブラリは、付属されるアプリケーションの種類および使用頻度、ダウンロードされた日時、またはソフトウェアバージョン等が異なる。従って、それぞれの位置情報ライブラリの測位タイミングおよび送信タイミングは、それぞれ好ましいタイミングが設定される。
後述するように、自装置が通常モードと省電力モードの切替によって変更され、変更された動作モードに応じてマスタとしての位置情報ライブラリが変更されることに伴い、自装置の測位タイミングおよび送信タイミングを変更させる。
【００４７】
ここで、アプリケーションプログラムＡ、Ｂ、Ｃには、それぞれに位置情報ライブラリが付属しているが、必ずしも、これら全ての位置情報ライブラリがＧＰＳ測位部１６に対して起動要求を出力しなくてもよい。つまり、処理部１２には、複数の位置情報取得制御部１２２のうち、位置情報を取得させて位置情報をアプリケーション処理部１２０に利用可能にする一つの位置情報取得制御部１２２が存在していればよい。「一つの位置情報取得制御部１２２」は、後述するマスタとされた位置情報ライブラリにより実現される。「一つの位置情報取得制御部１２２」は、図４を参照して後述するように、複数のアプリケーションに対応した１つの位置情報ライブラリとして付属していてもよい。
【００４８】
アプリケーション処理部１２０は、一つの位置情報取得制御部１２２によってＧＰＳ測位部１６に取得させる位置情報を利用する。
「位置情報を利用する」とは、端末装置１０内で位置情報を使用することを含む。アプリケーション処理部１２０は、例えば、位置情報を使用することにより、ＧＰＳ測位部１６により取得された位置情報に基づいて自装置の位置を地図上に表示させることができる。
「位置情報を利用する」とは、ＧＰＳ測位部１６により取得した位置情報に基づく情報を使用することを含む。位置情報に基づく情報は、位置情報を用いることによって得られた新たな情報である。位置情報に基づく情報は、端末装置１０内で位置情報に基づいて処理をしたことによって得られた情報であってもよく、アプリケーションサーバ５０内で位置情報に基づいて処理したことによって得られた情報であってもよい。例えば、アプリケーション処理部１２０は、自装置の位置に近い店舗の広告情報を抽出して、広告情報をプッシュ広告として表示してもよい。アプリケーション処理部１２０は、アプリケーションサーバ５０によって位置情報に基づいて抽出された広告情報を受信して、広告情報をプッシュ広告として表示してもよい。
【００４９】
アプリケーション処理部１２０は、一つの位置情報取得制御部１２２が取得する位置情報を利用可能にする。「位置情報を利用可能にする」とは、端末装置１０以外の装置に位置情報を取得させ、端末装置１０以外の装置に位置情報を処理可能にすることを含む。
このために、アプリケーション処理部１２０は、ＧＰＳ測位部１６により取得された位置情報の利用を許可する。このときアプリケーション処理部１２０は、位置情報を送信することを許可するかをユーザに問い合わせる。ユーザが位置情報の送信を許可した場合、アプリケーション処理部１２０は、位置情報の利用を許可する許可情報を生成する。アプリケーション処理部１２０は、生成した許可情報を位置情報サーバ３０に送信する。位置情報サーバ３０は、端末装置１０から送信された許可情報を受信した後、以降において端末装置１０から送信された位置情報を蓄積して、アプリケーションサーバ５０等に送信できる。これによりアプリケーション処理部１２０は、アプリケーションサーバ５０によって位置情報を利用して、端末装置１０の位置の解析等を行わせることができる。
【００５０】
さらに、アプリケーション処理部１２０は、予め端末装置１０にインストールされたものである。アプリケーション処理部１２０は、位置情報ライブラリが端末装置１０に供給されることに伴って、端末装置１０にインストールされたものであってもよい。具体的には、位置情報ライブラリが付属したアプリケーションプログラムを同時にダウンロードして端末装置１０にインストールする。これにより端末装置１０は、アプリケーション処理部１２０および位置情報取得制御部１２２を備えることができる。
【００５１】
位置情報ライブラリは、ユーザの許可に応じてダウンロードされる。アプリケーションプログラムを起動している時に、アプリケーション処理部１２０は、自装置の位置情報の送信を許可するかを問い合わせる画面を表示させる。ユーザの操作に基づいて位置情報の送信が許可された場合、アプリケーション処理部１２０は、位置情報ライブラリのダウンロード要求を送信させる。
位置情報サーバ３０は、ダウンロード要求を受信したことに応じて位置情報ライブラリを端末装置１０に送信する。これにより端末装置１０は、位置情報ライブラリのダウンロードを開始する。処理部１２は、ダウンロードが完了すると、位置情報ライブラリを各アプリケーションプログラムに付属させる。
【００５２】
処理部１２は、ダウンロードした位置情報ライブラリを他のアプリケーションに付属させてもよい。処理部１２は、ダウンロードした位置情報ライブラリを複製し、位置情報ライブラリが付属していないアプリケーションに組み込む。これにより処理部１２は、位置情報ライブラリが付属していないアプリケーションに位置情報ライブラリを付属させることができる。
処理部１２は、既にアプリケーションに組み入れられている古いバージョンの位置情報ライブラリに代えて最新バージョンの位置情報ライブラリに更新してもよい。これにより処理部１２は、アプリケーションの位置情報ライブラリを最新なものに更新することができる。
【００５３】
次に、位置情報取得制御部１２２について説明する。位置情報取得制御部１２２は、ＧＰＳ測位部１６を制御して位置情報を取得し、取得した位置情報を位置情報サーバ３０に送信する機能を有する。
まず、位置情報取得制御部１２２によるＧＰＳ測位部１６の制御について説明する。位置情報取得制御部１２２は、ＧＰＳ測位部１６に起動要求を行う。複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃに付属した複数の位置情報取得制御部１２２Ａ、１２２Ｂ、１２２Ｃのうちの一つの位置情報取得制御部１２２が、ＧＰＳ測位部１６に起動要求を行う。複数の位置情報取得制御部１２２のうち起動要求を行う一つの位置情報取得制御部１２２は、予め特定されている。すなわち、複数のアプリケーションプログラムＡ、Ｂ、Ｃのうちどのアプリケーションプログラムの位置情報取得制御部１２２からＧＰＳ測位部１６に起動要求を出力するかは特定されている。
【００５４】
複数の位置情報取得制御部１２２のうち、起動要求を出力した位置情報取得制御部１２２には、ＧＰＳ測位部１６から位置情報が供給される。この位置情報取得制御部１２２は、ＧＰＳ測位部１６から位置情報が供給されたことを、他の位置情報取得制御部１２２に通知する。この、他の位置情報取得制御部１２２は、位置情報が供給されたことを示す通知に応じて、起動要求を出力した位置情報取得制御部１２２に対して位置情報を要求する。起動要求を出力した位置情報取得制御部１２２は、他の位置情報取得制御部１２２からの要求に応じて、他の位置情報取得制御部１２２に対して位置情報を出力する。ここで、起動要求を出力した位置情報取得制御部１２２とは、予め特定されたアプリケーションに付属した位置情報取得制御部１２２である。また、他の位置情報取得制御部１２２とは、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部１２２である。つまり、予め特定されたアプリケーションに付属した位置情報取得制御部１２２は、他のアプリケーションに付属した位置情報取得制御部１２２に位置情報を出力する。これにより、他のアプリケーションに付属した位置情報取得制御部１２２は、ＧＰＳ測位部１６に起動要求を行うことなく、ＧＰＳ測位部１６が生成した位置情報を取得することができる。
【００５５】
予め特定されたアプリケーションに付属した位置情報取得制御部１２２は、位置情報サーバ３０に位置情報を送信する場合に、記憶部１８に蓄積した位置情報を読み出して、通信部１４に出力する。これにより位置情報取得制御部１２２は、記憶部１８から読み出した位置情報を、通信部１４から位置情報サーバ３０に送信させる。
なお、位置情報取得制御部１２２は、位置情報サーバ３０を介さずに、アプリケーションサーバ５０に直接的に位置情報を送信してもよい。
【００５６】
予め特定されたアプリケーションに付属した位置情報取得制御部１２２は、所定条件を満たす場合に、端末装置１０から位置情報サーバ３０に位置情報を送信させる。所定条件は、予め端末装置１０内で決定された送信タイミングである。
所定条件は、位置情報サーバ３０から送信された所定期間であってもよい。これにより端末装置１０は、位置情報サーバ３０が要求する頻度で位置情報サーバ３０に位置情報を送信できる。
所定条件は、アプリケーションによって設定されたタイミングであってもよい。これにより端末装置１０は、アプリケーションが要求する頻度で位置情報サーバ３０に位置情報を送信できる。
所定条件は、位置情報サーバ３０を介さずにアプリケーションサーバ５０に直接的に位置情報を送信する場合、アプリケーションサーバ５０から送信された所定期間であってもよい。これにより端末装置１０は、アプリケーションサーバ５０が要求する頻度で、アプリケーションサーバ５０に位置情報を送信できる。
【００５７】
また、予め特定されたアプリケーションに付属した位置情報取得制御部１２２は、位置情報とともに、ウェブ履歴情報、プログラム実行履歴情報、操作履歴情報、充電履歴情報、姿勢変化情報及び環境情報の全部又は一部を位置情報サーバ３０に送信してもよい。
さらに、位置情報取得制御部１２２は、位置情報を記憶部１８から読み出して通信部１４により通信させる度に、位置情報の送信完了または送信不能を送信履歴として記憶してもよい。位置情報取得制御部１２２は、例えば自装置周辺の電波の影響により位置情報の送信ができない場合には、位置情報の送信を中止し、当該位置情報に対応付けて送信不能であるという送信履歴を記憶部１８に記憶させる。位置情報取得制御部１２２は、送信タイミングにおいて送信履歴を参照し、前回の送信タイミング以降にＧＰＳ測位部１６により取得された位置情報、および送信不能の位置情報を記憶部１８から読み出し、通信部１４により通信させる。これにより、位置情報取得制御部１２２は、位置情報の送信ができない状況が生じても、位置情報を漏れなく送信できる。
【００５８】
ここで、予め特定されたアプリケーションに付属した位置情報取得制御部１２２を、マスタ権限を有する位置情報取得制御部１２２（位置情報ライブラリ）、または、単にマスタとも称する。また、予め特定されたアプリケーション以外のアプリケーションに付属した位置情報取得制御部１２２を、マスタの権限を有しない位置情報取得制御部１２２（位置情報ライブラリ）、または、スレーブとも称する。
【００５９】
この位置情報ライブラリの状態には、動作不可状態と動作状態とがある。ここで、動作不可状態とは、位置情報ライブラリが機能していない状態である。この動作不可状態になる条件には、位置情報ライブラリが付属されるアプリケーションのアンインストール、ユーザの操作によるアプリケーションの動作停止、ユーザの操作による測位機能の停止などが含まれる。また、動作状態とは、上述したマスタまたはスレーブのいずれかとして位置情報ライブラリが機能している状態である。すなわち、この動作状態には、位置情報ライブラリが、マスタとして動作している状態と、スレーブとして動作している状態とが含まれる。動作可能状態になる条件には、位置情報ライブラリが付属されるアプリケーションのインストール、ユーザの操作によるアプリケーションの動作開始、ユーザの操作による測位機能の開始などが含まれる。ここで、位置情報ライブラリが、動作不可状態から動作可能状態に遷移する場合に、マスタとして動作する場合と、スレーブとして動作する場合とがある。以下では、一例として、アプリケーションがインストールされるなどして、位置情報ライブラリが新たに端末装置１０に追加された場合に、この位置情報ライブラリが、先ずはスレーブとして動作する場合について説明する。
【００６０】
スレーブとして動作する位置情報ライブラリ（以下、単にスレーブとも記載する。）は、ＧＰＳ測位部１６に対して起動要求を送信しない。スレーブが位置情報の取得を欲する場合には、ＧＰＳ測位部１６から直接的に位置情報を取得するのではなく、位置情報を取得しているマスタとして動作する位置情報ライブラリ（以下、単にマスタとも記載する。
）を介して位置情報を取得する。ここで、マスタは、ＧＰＳ測位部１６から直接的に位置情報を取得する。また、マスタは、ＧＰＳ測位部１６から直接的に位置情報を取得したことを、スレーブに対して通知する。スレーブは、マスタから通知を受けた場合に、マスタに位置情報を要求して、位置情報を取得する。これにより、スレーブは、ＧＰＳ測位部１６から直接的に位置情報を取得することなく、位置情報を取得することができる。すなわち、スレーブは、ＧＰＳ測位部１６に対して起動要求をすることなく、位置情報を取得することができる。
【００６１】
なお、端末装置１０は、アプリケーションに対して位置情報の利用を禁止する操作を植え付けてもよい。換言すると、端末装置１０は、位置情報ライブラリによる位置情報の取得を禁止するユーザの操作を受け付けてもよい。位置情報の取得が禁止された位置情報ライブラリは、マスタの権限を得ることがない。また、マスタは、位置情報の取得が禁止された位置情報ライブラリに対しては、ＧＰＳ測位部１６から位置情報を取得したことを通知しない。そして、マスタは、位置情報の取得が禁止された位置情報ライブラリから位置情報の要求があった場合にも、当該位置情報ライブラリに対しては位置情報を提供しない。
【００６２】
次に、マスタとスレーブとの切替について説明する。何らかの要因により、マスタが動作できなくなると、すべての位置情報ライブラリが位置情報を取得することができなくなる。このため、何らかの要因によりマスタが動作できなくなった場合、あるスレーブをマスタにする、すなわち、マスタとスレーブとを切替えることにより、位置情報を取得する。ここで、マスタとスレーブとを切替するためには、切替が行われる条件を検出する制御が必要になる。また、スレーブが複数ある場合には、いずれのスレーブをマスタに切替するのか、すなわちスレーブの選択の制御が必要になる。以下、まずマスタとスレーブとの切替が行われる条件について説明し、次に、スレーブが複数ある場合の、マスタとなるべきスレーブの選択について説明する。
【００６３】
［マスタとスレーブとの切替が行われる条件］
処理部１２による、位置情報ライブラリのマスタとスレーブとの切替が行われる条件について説明する。マスタとスレーブとの切替は、例えば、以下の３つの条件により発生する。
第１の切替条件は、ユーザからマスタの機能停止を指示する操作を受け付けることである。機能停止を指示する操作とは、例えば、位置情報ライブラリが付属するアプリケーション、すなわち位置情報ライブラリに対して行われる、アンインストール、実行の停止、実行に必要な情報の削除、位置情報の利用の不承諾などの操作をいう。つまり、第１の切替条件によりマスタとスレーブの切替が行われる場合、それまでにマスタとして機能していた位置情報ライブラリの機能の一部または全てが制限されるとともに、それまでスレーブとして機能していた位置情報ライブラリのいずれかが新たにマスタとして機能する。
【００６４】
また、第２の切替条件は、現在のマスタよりもマスタとしての優先性が高い位置情報ライブラリが発生することである。現在のマスタよりもマスタとしての優先性が高い位置情報ライブラリは、例えば、端末装置１０に新たな位置情報ライブラリがインストールされること、マスタ選択条件が変更されることなどにより発生する。
また、第３の切替条件は、位置情報サーバ３０からマスタの変更を指示されることである。つまり、第２、第３の切替条件によりマスタとスレーブの切替が行われる場合、それまでマスタとして機能していた位置情報ライブラリはスレーブとして機能を始め、それまでスレーブとして機能していた位置情報ライブラリのいずれかが新たにマスタとして機能する。
【００６５】
［マスタとなるべきスレーブの選択条件（マスタ選択条件）］
本実施形態において、マスタとスレーブとの切替は、位置情報サーバ３０から取得されるライブラリ管理情報に基づいて行われる。ライブラリ管理情報は、ライブラリ属性情報と優先順位情報とを含む。ライブラリ属性情報は、端末装置１０に含まれる位置情報ライブラリの属性を表す情報である。ライブラリ属性情報は、マスタ選択における位置情報ライブラリの優先順位の決定のために参照される情報である。つまり、ライブラリ属性情報は、マスタ選択における位置情報ライブラリの評価指標である。優先順位情報は、端末装置１０に含まれる位置情報ライブラリ各々についてのマスタ選択における優先順位を表す情報である。
【００６６】
図３は、ライブラリ管理情報の一例を示す図である。
図３に示される例において、ライブラリ管理情報は、位置情報取得制御部識別情報（位置情報取得制御部ＩＤ）、インストール日時情報（インストール日時）、起動日時情報（起動日時）、バージョン情報（バージョン）、認証情報（認証）、起動要求頻度情報（起動要求頻度）、アプリ起動回数情報（アプリ起動回数）、アプリ種別情報（アプリ種別）、発行主体情報（発行主体）および優先順位情報（優先順位）を含み、これらが互いに対応付けられ構成される。これらの各種情報のうち、位置情報取得制御部識別情報、インストール日時情報、起動日時情報、バージョン情報、認証情報、起動要求頻度情報、アプリ起動回数情報、アプリ種別情報、および発行主体情報とは、ライブラリ属性情報の一例である。
【００６７】
位置情報取得制御部識別情報は、端末装置１０に含まれる複数の位置情報ライブラリを識別するための識別情報である。位置情報取得制御部識別情報は、例えば、位置情報ライブラリが付属するアプリケーションの識別情報である。図３に示される例では、位置情報取得制御部識別情報の値は、位置情報ライブラリが付属するアプリケーションの名称である。
インストール日時情報は、処理部１２により処理情報ライブラリがインストールされた日時を表す情報である。インストールされた日時が古ければ古い程、位置情報ライブラリが付属するアプリケーションは、ユーザにより削除されずに長い期間利用されていると考えられる。従って、インストール日時情報は、ユーザによる位置情報ライブラリへの信頼度を表す情報である。
【００６８】
起動日時情報は、端末装置１０において、処理部１２により位置情報ライブラリについて、最後の実行が開始された日時を表す情報である。最後の実行が開始された日時が古ければ古い程、位置情報ライブラリが付属するアプリケーションは、ユーザによりその機能が停止されることなく長い期間利用されていると考えられる。従って、起動日時情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
なお、起動日時情報は、端末装置１０おいて、処理部１２により位置情報ライブラリが初めて実行された日時を表す情報であってもよい。初めて実行された日時が古ければ古い程、位置情報ライブラリが付属するアプリケーションは、ユーザにより削除されずに長い期間利用されていると考えられる。従って、この場合も、起動日時情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
【００６９】
バージョン情報は、位置情報ライブラリのバージョンを表す情報である。バージョン情報は、例えば、数値により表される。そして、バージョン情報は、その数値が高い程、新しいバージョンであることを表す。位置情報ライブラリのバージョンは、バグフィックスなどにより更新される。従って、バージョン情報は、位置情報ライブラリの性能を表す情報である。
【００７０】
認証情報は、位置情報ライブラリが付属するアプリケーションに対して、認証サーバ４０による認証が成功しているか否かを表す情報である。すなわち、認証情報は、認証サーバ４０の管理者による位置情報ライブラリへの信頼度を表す情報である。認証情報は、例えば「ＴＲＵＥ」、「ＦＡＬＳＥ」、「ＮＵＬＬ」の３つの値により表される。そして、「ＴＲＵＥ」、「ＦＡＬＳＥ」、「ＮＵＬＬ」は、それぞれ、認証が成功したこと、認証が失敗したこと、認証処理が行われていないことを表す。
【００７１】
起動要求頻度情報は、位置情報ライブラリがマスタの権限を有した時に、位置情報取得部１６０を起動する頻度を表す情報である。位置情報取得部１６０の起動頻度が高い程、位置情報の鮮度は向上するが、消費電力が増加して端末装置１０の省電力性が損なわれる。これに対し、位置情報取得部１６０の起動頻度が低い程、消費電力が減少して端末装置１０の省電力性が向上するが、位置情報の鮮度が損なわれる。つまり、起動要求頻度情報は、端末装置１０の省電力性と位置情報の鮮度とを表す情報である。起動要求頻度情報の値は、例えば、位置情報ライブラリが付属するアプリケーションによる位置情報の要求頻度である。図３に示される例において、起動要求頻度情報は、位置情報ライブラリが位置情報取得部１６０に起動要求を行う時間間隔を表している。
【００７２】
なお、ライブラリ管理情報として、上述の起動要求頻度情報以外に、位置情報取得部１６０の起動頻度を表す情報が含まれてもよい。例えば、ライブラリ管理情報は、位置情報ライブラリがマスタである場合に、位置情報取得部１６０に対して起動要求を出力する規則を定める起動規則情報であってもよい。具体的には、例えば、ライブラリ管理情報は、端末装置１０において移動が検知された場合に、位置情報ライブラリが位置情報取得部１６０の起動要求を出力するか否かを表す起動規則情報を含んでもよい。また、例えば、ライブラリ属性情報は、端末装置１０が所定の区域に存在する場合に、位置情報ライブラリが所定の時刻、所定の時間間隔などに応じて起動要求を出力することを定める起動規則情報であってもよい。
【００７３】
なお、起動頻度を表す情報は、各位置情報ライブラリについて、複数定められてもよい。具体的には、例えば、端末装置１０が通常の動作を行う通常モードと、自装置の電力消費を抑制する省電力モードを有する場合、起動頻度を表す情報は、モードごとに定められてもよい。この場合、省電力モードにおいて、通常モードよりも低い起動頻度を定める。
これにより、端末装置１０は、省電力モードにおいて、ＧＰＳ測位部１６を起動する頻度を低減し、端末装置１０の電力消費を抑制することができる。
【００７４】
アプリ種別情報は、位置情報ライブラリが付属するアプリケーションの種別を示す情報である。アプリケーションの種別には、例えば、常駐型、定期起動型、および手動起動型がある。常駐型のアプリケーションは、例えば、端末装置１０の電源投入に応じて起動するアプリケーションである。定期起動型のアプリケーションは、所定日時の到来または所定期間の経過に応じて起動するアプリケーションである。手動起動型のアプリケーションは、ユーザによる起動操作に応じて起動するアプリケーションである。常駐型および定期起動型のアプリケーションは、ユーザの意図により実行されているとは限らない。これに対し、手動起動型のアプリケーションは、ユーザの意図により実行される。従って、アプリ種別情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
【００７５】
また、アプリ種別情報は、位置情報ライブラリの可用性を表す情報でもある。この観点から、アプリケーションの種別について具体的に説明する。常駐型のアプリケーションは、その起動がユーザにより意識されにくいため、ユーザにより削除される可能性が低い。
また、定期起動型のアプリケーションも、手動起動型のアプリケーションに比して、その起動がユーザにより意識されにくく、ユーザに削除される可能性が低い。これに対し、手動起動型のアプリケーションの起動は、ユーザにより意識的に行われる。そのため、手動起動型のアプリケーションは、インストールされてから間もない期間において、ユーザにより頻繁に起動されるが、時間が経過して使われなくなると直ぐに削除されてしまう傾向がある。このように、端末装置１０において、位置情報ライブラリが安定的に存在しうるか否か、あるいは、位置情報ライブラリが安定的に利用可能か否かは、アプリケーションの種別により異なっている。つまり、アプリ種別情報は、位置情報ライブラリに対するユーザの信頼度と、位置情報ライブラリの可用性とを表す情報である。
【００７６】
アプリ起動回数情報は、位置情報ライブラリが付属するアプリケーションが処理部１２により起動された回数（頻度）を表す情報である。アプリ起動回数情報は、例えば、アプリケーションが初めて起動されてから、これまでに起動された回数を数値により表す。アプリケーションが起動された回数が多い程、そのアプリケーションは、ユーザにより頻用されていると考えられる。従って、アプリ起動回数情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
【００７７】
なお、アプリ起動回数情報の数値は、他のライブラリ属性情報に応じて重み付けされてもよい。具体的には、例えば、ユーザによる信頼度が高い手動起動型のアプリケーションが起動された場合、アプリ起動回数情報が表す回数は、アプリケーションの起動回数に一定の割合を加算した、重み付けのされた回数で更新される。これに対して、ユーザによる信頼度が低い常駐型のアプリケーションが起動された場合、アプリ起動回数情報が表す回数は、アプリケーションの起動回数そのままの回数で更新されてもよい。このように各種ライブラリ管理情報は、他のライブラリ管理情報の値に応じて重み付けされてもよい。これにより、端末装置１０は、マスタ選択における位置情報ライブラリの優先順位の決定において、複数の異なる評価指標を統合することができる。
【００７８】
発行主体情報は、位置情報ライブラリが付属するアプリケーションの発行主体（発行元）を表す情報である。発行主体が、例えば、端末装置１０の製造元の関連企業、ユーザが端末装置１０に関して通信契約を結んだ通信事業者などである場合、当該企業はユーザによる信頼性が高いと考えられる。そして、信頼性が高い発行主体から提供されるアプリケーションもまた、信頼性が高いと考えられる。従って、発行主体情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
【００７９】
優先順位情報は、位置情報ライブラリの複数のスレーブのうち、いずれのスレーブをマスタとして選択するのかという場合の、マスタ選択順位を表す情報である。すなわち、優先順位情報は、位置情報ライブラリのマスタとしての優先度（ふさわしさ）を表す情報である。図３に示される例において、優先順位情報の値は、数字または「ＮＵＬＬ」で表される。優先順位情報の値が数字の場合、マスタに選択される優先順位が高い程、小さい値である。特に、優先順位情報の値が「１」の場合、この位置情報ライブラリはマスタである。これに対して、優先順位情報の値が「２」以上など「１」以外の数値の場合、この位置情報ライブラリはスレーブである。優先順位情報の値が「ＮＵＬＬ」の場合、この位置情報ライブラリはマスタの候補ではないことを表す。具体的には、位置情報ライブラリが動作不可状態の場合、優先順位情報の値は「ＮＵＬＬ」で表される。位置情報ライブラリが動作状態の場合、優先順位情報の値は数字で表される。また、例えば、端末装置１０に新たに追加された位置情報ライブラリの優先順位情報には、複数の位置情報ライブラリにそれぞれ与えられている値のうち、最も大きな値が、先ずは割り当てられる。
【００８０】
図３に示される例において、第２段目に登録されているライブラリ管理情報は、位置情報取得制御部識別情報「アプリＡ」、インストール日情報「２０１４／７／１０  ２０：０３：４０」、起動日時情報「２０１４/０８/１０  １５：１６：２０」、バージョン情報「０２」、認証情報「ＴＲＵＥ」、起動要求頻度情報「３０  ｓｅｃ」、アプリ起動回数情報「５０」、アプリ種別情報「常駐型」、発行主体情報「Ａ社」、および優先順位情報「２」を対応付けている。すなわち、このライブラリ管理情報は、「アプリＡ」が、「２０１４年７月１０日  ２０時０３分４０秒」にインストールされ、「２０１４年０８月１０日  １５時１６分２０秒」に起動されたことを表す。また、このライブラリ管理情報は、「アプリＡ」に付属する位置情報ライブラリがマスタの権限を有した場合には、「３０秒」間隔で、位置情報取得部１６０に起動要求を出力することを表す。また、このライブラリ管理情報は、「アプリＡ」に付属する位置情報ライブラリが、そのバージョンが「０２」であり、認証サーバ４０による認証に成功していることを表す。また、このライブラリ管理情報は、「アプリＡ」が、「Ａ社」により提供される「常駐型」のアプリケーションであり、初めて起動されてからこれまでに「５０」回起動されたことを表す。また、このライブラリ管理情報は、「アプリＡ」に付属する位置情報ライブラリの優先順位が「２」位であり、マスタの位置情報ライブラリがマスタの権限を有しなくなった場合に、「アプリＡ」に付属する位置情報ライブラリがマスタとして機能するスレーブであることを表す。
【００８１】
図３に示される例において、第３段目に登録されているライブラリ管理情報は、位置情報取得制御部識別情報「アプリＢ」、インストール日時情報「２０１４／６／１２  ２１：３３：０３」、起動日時情報「２０１４/０８/１２  １０：１１：０３」、バージョン情報「０２」、認証情報「ＴＲＵＥ」、起動要求頻度情報「１５  ｓｅｃ」、アプリ起動回数情報「１００」、アプリ種別情報「手動起動型」、発行主体情報「Ｂ社」、および優先順位情報「１」を対応付けている。すなわち、このライブラリ管理情報は、「アプリＢ」が、「２０１４年６月１２日  ２１時３３分０３秒」にインストールされ、「２０１４年０８月１２日  １０時１１分０３秒」に起動されたことを表す。また、このライブラリ管理情報は、「アプリＢ」に付属する位置情報ライブラリがマスタの権限を有した場合には、「１５秒」間隔で、位置情報取得部１６０に起動要求を出力することを表す。また、このライブラリ管理情報は、「アプリＢ」に付属する位置情報ライブラリが、そのバージョンが「０２」であり、認証サーバ４０による認証に成功していることを表す。また、このライブラリ管理情報は、「アプリＢ」が、「Ｂ社」により提供される「手動起動型」のアプリケーションであり、初めて起動されてからこれまでに「１００」回起動されたことを表す。また、このライブラリ管理情報は、「アプリＢ」が示す位置情報ライブラリの優先順位が「１」位であり、現在マスタとして機能していることを表す。
【００８２】
なお、ライブラリ属性情報は、上述した各種情報のうち、任意の情報を含まなくてもよい。また、ライブラリ管理情報は、上述した各種ライブラリ属性情報以外にも、マスタを選択するための任意の情報を含んでよい。具体的には、例えば、ライブラリ管理情報は、アプリケーションの実行がユーザの操作により禁止された回数を示す情報、アプリケーションの測位機能がユーザの操作により停止された回数を示す情報などを含んでもよい。ユーザによるアプリケーションの実行禁止の操作は、当該アプリケーションに対してユーザが悪感情を抱いた場合に行われることが考えられる。従って、これらの情報は、位置情報ライブラリが付属するアプリケーションに対するユーザの信頼度、つまり、位置情報ライブラリに対するユーザの信頼度を表す情報である。
なお、本実施形態において、ライブラリ管理情報は、位置情報サーバ３０により管理されている。マスタは、例えば定期的に、位置情報サーバ３０から送信されるライブラリ管理情報を取得する。マスタは、取得したライブラリ管理情報を記憶部１８に記憶させる。
【００８３】
なお、位置情報サーバ３０がライブラリ管理情報を更新するための情報は、例えば、端末装置１０から位置情報サーバ３０に送信される。具体的には、例えば、端末装置１０は、位置情報ライブラリを新規にインストールした場合、そのインストール日時を示すインストール日時情報を位置情報サーバ３０に送信する。そして、位置情報サーバ３０は、受信したインストール日時情報により、自装置が管理するライブラリ管理情報のインストール日時情報を更新する。また、例えば、端末装置１０は、アプリケーションが起動された場合、その起動日時を示す起動日時情報を位置情報サーバ３０に送信する。そして、位置情報サーバ３０は、受信した起動日時情報により、自装置が管理するライブラリ管理情報の起動日時情報を更新するとともに、アプリ起動回数情報の値に「１」を加算して更新する。このように、端末装置１０は、ライブラリ属性情報の更新が必要となるタイミングで、逐次その旨を位置情報サーバ３０に通知してよい。また、端末装置１０は、位置情報サーバ３０へのライブラリ属性情報の前回の送信からの差分を記憶しておき、当該差分を位置情報サーバ３０に送信してもよい。この場合、端末装置１０は、位置情報とともに、ライブラリ属性情報を位置情報サーバ３０に送信してもよい。
また、位置情報サーバ３０は、例えば、端末装置１０から送信されたアプリケーションの認証要求に対する認証結果を認証サーバ４０から取得し、認証情報を更新する。
【００８４】
また、位置情報サーバ３０は、ライブラリ属性情報のうち、アプリケーションの属性情報を他の装置から取得してもよい。位置情報サーバ３０は、例えば、バージョン情報、起動要求頻度情報、アプリ種別情報、発行主体情報などのアプリケーションの属性情報を、アプリケーションの属性情報の管理装置などから取得する。当該管理装置は、例えば、これらのアプリケーションの属性情報をアプリケーションの識別情報と対応付けて管理し、位置情報サーバ３０から送信されるアプリケーションの識別情報（位置情報取得制御部識別情報）に応じてライブラリ属性情報を送信する。
【００８５】
次に、マスタ選択条件について説明する。マスタ選択条件は、複数の位置情報ライブラリからマスタを選択するための条件を定める。マスタ選択条件は、目的に応じて任意に定められてよい。具体的には、マスタ選択条件は、例えば、位置情報ライブラリに対するユーザの信頼度、位置情報ライブラリに対する位置情報サーバ３０の管理者の信頼度、端末装置１０の省電力性、位置情報の鮮度などを担保する目的に応じて定められる。
【００８６】
例えば、位置情報ライブラリに対するユーザの信頼度を担保することを目的とする場合、インストール日時情報が表す日時が古いこと、起動日時情報が表す日時が古いこと、アプリ起動回数情報が示すアプリケーションの起動回数が多いこと、発行主体情報が信頼性の高い特定の発行主体を表していること、アプリケーションの実行が禁止された回数が少ないこと、アプリケーションの測位機能が停止された回数が少ないこと、およびこれらの組み合わせなどをマスタ選択条件とする。
【００８７】
また、例えば、位置情報ライブラリに対する認証サーバ４０の管理者の信頼度を担保することを目的とする場合、認証情報が認証の成功を表していることなどをマスタ選択条件とする。
また、例えば、位置情報ライブラリの性能を担保することを目的とする場合、バージョン情報が表す位置情報ライブラリのバージョンが新しいことなどをマスタ選択条件とする。
【００８８】
また、例えば、端末装置１０の省電力性を担保することを目的とする場合、起動要求頻度情報が表す位置情報取得部１６０に対する位置情報ライブラリからの起動要求の出力頻度が低いこと、位置情報取得部１６０への起動要求を位置情報ライブラリが出力可能にするための規則が少ないこと、位置情報ライブラリが付属するアプリケーションの消費電力が低いこと、バージョン情報が表す位置情報ライブラリのバージョンが新しいこと、およびこれらの組み合わせなどをマスタ選択条件とする。アプリケーションの消費電力が低いとは、例えば、アプリケーションの測位の要求頻度が低いこと、アプリケーションが外部装置に要求する情報量が少ないこと、アプリケーションが端末装置１０のＣＰＵに要求する処理量が少ないことなどである。
【００８９】
また、例えば、位置情報の鮮度を担保することを目的とする場合、起動要求頻度情報が表す位置情報取得部１６０に対する位置情報ライブラリからの起動要求の出力頻度が高いこと、位置情報取得部１６０への起動要求を位置情報ライブラリが出力可能にするための規則が多いこと、およびこれらの組み合わせなどをマスタ選択条件とする。
これら異なる目的に応じて定められるマスタ選択条件は、それぞれに優先順位を付し、互いに組み合わされてもよい。
【００９０】
［マスタとスレーブとの切替手順］
次に、処理部１２によるマスタとスレーブとの切替手順について説明する。以下では、マスタとスレーブの切替処理の前におけるマスタを「現マスタ」と称する。また、マスタとスレーブの切替処理の後におけるマスタを「次期マスタ」と称する。
マスタとスレーブとの切替処理において、先ず、現マスタは、第１の切替条件、第２の切替条件、または第３の切替条件が満たされたか否かを判定する。具体的には、例えば、現マスタは、自位置情報ライブラリまたは自位置情報ライブラリが付属するアプリケーションに対するアンインストール、実行の停止、実行に必要な情報の削除、位置情報の利用の不承諾などの操作を端末装置１０が受け付けた場合に、第１の切替条件が満たされたと判定する。
【００９１】
また、例えば、現マスタは、端末装置１０に新たな位置情報ライブラリがインストールされた場合やマスタ選択条件の変更が行われた場合などに、記憶部１８に記憶されているライブラリ管理情報を参照し、自位置情報ライブラリに比してマスタ選択条件を好適に満たすスレーブが存在するか否かを判定する。自位置情報ライブラリに比してマスタ選択条件を好適に満たすスレーブが存在する場合、現マスタは、第２の切替条件が満たされたと判定する。また、例えば、現マスタは、端末装置１０が位置情報サーバ３０からスレーブの位置情報ライブラリのいずれかをマスタとして指定する通知を受信した場合、第３の切替条件が満たされたと判定する。
【００９２】
第１の切替条件、第２の切替条件、または第３の切替条件が満たされた場合、現マスタは、記憶部１８に記憶されているライブラリ属性情報とマスタ選択条件とを参照し、各位置情報ライブラリの優先順位を決定する。次に、現マスタは、決定した優先順位を示す優先順位情報を位置情報サーバ３０に通信部１４を介して送信する。つまり、現マスタは、位置情報サーバ３０に次期マスタを通知する。次に、現マスタは、次期マスタの位置情報ライブラリに、当該位置情報ライブラリが次期マスタとして選択されたことを通知する。
そして、次期マスタは、端末装置１０に含まれる各スレーブに、自位置情報ライブラリがマスタであることを通知する。
【００９３】
これにより、通知を受けた位置情報ライブラリは、自位置情報ライブラリがマスタであるかスレーブであるかを判定するとともに次期マスタを識別する。なお、次期マスタは、各スレーブに対してマスタの変更があった旨を通知してもよい。この場合、通知を受けた各スレーブは、優先順位情報を参照して、自位置情報ライブラリがマスタであるかスレーブであるかを判定するとともに、次期マスタを識別する。これにより、マスタが機能しなくなった場合にも、端末装置１０は、新たなマスタを、スレーブの中から選択することができる。そして、端末装置１０は、位置情報を継続して取得することができる。
【００９４】
なお、スレーブが上述した第１〜第３の切替条件が満たされたか否かを判定してもよい。この場合、各スレーブは、例えば、記憶部１８に記憶されている優先順位情報を定期的に参照する。そして、例えば、自位置情報ライブラリの優先順位が「２」位の場合、当該位置情報ライブラリは第１の切替条件が満たされたか否かを判定する。このように、特定のスレーブ（監視スレーブ）が切替条件が満たされたか否かの判定を行ってもよい。また、この場合、第１の条件が満たされたか否かの判定を、上述の方法とは別の方法で行ってもよい。具体的には、例えば、監視スレーブが現マスタに応答を要求する。この応答要求は、マスタが機能しているか否かを確認する目的で行われる。つまり、監視スレーブは、マスタから応答があれば、マスタは機能しており、第１の条件は満たされていないと判定する。これに対し、監視スレーブは、マスタから応答がなければマスタは機能しておらず、第１の条件が満たされていると判定する。そして、マスタとスレーブとの切替処理において現マスタが行う処理を、監視スレーブが実行する。これにより端末装置１０は、プログラムエラーなど、何らかの理由によりマスタがマスタの変更を通知できずに機能を停止した場合であっても、新たなマスタを、スレーブの中から選択することができる。
【００９５】
図４に端末装置１０の他の構成例を示す。端末装置１０は、図２に示した構成に限らず、図４に示すように構成されていてもよい。図４の端末装置１０は、複数のアプリケーション処理部１２０Ａ、１２０Ｂ、１２０Ｃに対して１つの位置情報取得制御部１２２を有している。位置情報取得制御部１２２は、複数のアプリケーションに対応した１つの位置情報ライブラリとして実装される。
【００９６】
図５に端末装置１０のさらに他の構成例を示す。この端末装置１０において、位置情報取得部１６０は、上述したＧＰＳ測位部１６に加えて、加速度センサ１６１を含んでいる。加速度センサ１６１は、自装置である端末装置１０に加わる加速度の変化に応じて物理量が変化する。この加速度センサ１６１は、半導体静電容量センサであってもよい。
なお、端末装置１０は、自装置の挙動を検出するため、重力センサ、ジャイロセンサ、または地磁気センサを含んでいてもよい。本実施形態においては、加速度センサ１６１のみを備えることを説明するが、これらの重力センサ、ジャイロセンサ、または地磁気センサは、加速度センサ１６１とともに、または、加速度センサ１６１に代えて備えていてもよい。
【００９７】
加速度センサ１６１により検出された加速度は、端末装置１０の挙動に相当する。位置情報取得部１６０は、加速度センサ１６１により検出された挙動に基づいて自装置の移動を検出する。位置情報取得部１６０は、自装置の移動を検出したことに応じて移動量を更新する。この移動量は、実際の端末装置１０の移動量とは異なり、端末装置１０の挙動から推定される移動量である。この移動量は位置情報取得部１６０から処理部１２に出力される。これにより、処理部１２は、移動量に応じて変化する自装置の位置情報を記憶部１８に蓄積することができる。
【００９８】
なお、位置情報取得部１６０は、加速度センサ１６１における物理量の変化に基づいて自装置が移動したことを検知してもよい。位置情報取得部１６０は、自装置が移動したことを検知したことに応じて、位置情報取得制御部１２２により測位タイミングを判定させることができる。例えば、位置情報取得制御部１２２は、自装置が移動状態である場合に、測位タイミングであることを判定することができる。また、位置情報取得制御部１２２は、単位時間当たりの移動距離または所定位置からの移動距離が所定距離（例えば１００メートル）を超えている場合には、測位タイミングであることを判定することができる。
【００９９】
さらに位置情報取得制御部１２２は、通信部１４が通信可能な通信エリアの識別子に基づいて測位タイミングを判定してもよい。この通信エリアの識別子としては、基地局のセルＩＤまたはＷｉ−ＦｉネットワークにおけるアクセスポイントＩＤが挙げられる。位置情報取得制御部１２２は、通信部１４により検出された通信エリアの識別子が変更したことを判定したタイミングを、測位タイミングであると判定できる。
【０１００】
次に、端末装置１０の動作を説明する。
図６は、端末装置１０において、マスタによって位置情報を取得させ、取得された位置情報を位置情報サーバ３０に送信する処理手順を示すフローチャートである。
【０１０１】
先ずステップＳ１００において、マスタは、測位タイミングとなったか否かを判定する。測位タイミングは、自装置の位置情報を取得するタイミングである。測位タイミングは、予め自装置内に設定された時間間隔である。なお、測位タイミングは、位置情報サーバ３０により指定された時間間隔であってもよい。
【０１０２】
次のステップＳ１０２において、マスタは、ＧＰＳ測位部１６に起動要求を出力する。
これによりＧＰＳ測位部１６は、ＧＰＳ信号を受信して三角測量演算を行って自装置の位置を特定する。ＧＰＳ測位部１６は、特定した位置を位置情報として取得する。マスタには、ＧＰＳ測位部１６により取得された位置情報が供給される。マスタは、供給された位置情報を測位時刻と共に記憶部１８に蓄積する。
【０１０３】
次のステップＳ１０４において、マスタは、ステップＳ１０２にて位置情報を取得したことをスレーブに通知する。
【０１０４】
次のステップＳ１０６において、マスタは、スレーブから位置情報の取得要求を受信したか否かを判定する。位置情報の取得要求を受信した場合（ステップＳ１０６：ＹＥＳ）、マスタは、位置情報の取得要求を送信したスレーブに、ステップＳ１０２にて蓄積した位置情報を出力する（ステップＳ１０８）。マスタは、位置情報の取得要求を出力した全てのスレーブに位置情報を出力する。なお、ステップＳ１０４の通知後、スレーブから位置情報の取得要求がなくなって所定時間が経過した場合には、タイムアウトしてステップＳ１１０に処理を進めてもよい。
【０１０５】
ステップＳ１１０において、マスタは、位置情報サーバ３０への位置情報の送信タイミングであるか否かを判定する。位置情報の送信タイミングは、前回の送信タイミングから所定時間を経過した時である。所定時間は、予め自装置内で決定された時間である。なお、所定時間は、位置情報サーバ３０により要求された時間間隔であってもよい。
位置情報の送信タイミングとなった場合（ステップＳ１１０：ＹＥＳ）、マスタは、位置情報サーバ３０に未送信の位置情報を記憶部１８から読み出して、位置情報サーバ３０に送信させる（ステップＳ１１２）。送信タイミングではない場合（ステップＳ１１０：ＮＯ）、マスタは、処理をステップＳ１００に戻す。
【０１０６】
図７は、端末装置１０において、マスタとスレーブとの切替処理の流れの一例を示すシーケンスチャートである。
図７では、一例として、端末装置１０が３つの位置情報ライブラリ「アプリＡ」、「アプリＢ」、「アプリＣ」を含む場合を示している。また、図７に示される例において、「アプリＡ」が現マスタであり、「アプリＢ」が次期マスタであり、「アプリＣ」がスレーブである。
先ず図７のステップＳ２００において、「アプリＡ」は、マスタとして機能している。
次のステップＳ２０２において、「アプリＡ」は、第１の切替条件、第２の切替条件、または第３の切替条件が満たされたか否かを判定する。第１〜第３の切替条件のうちのいずれの切替条件も満たされていない場合（ステップＳ２０２；ＮＯ）、「アプリＡ」は、マスタとして機能し続ける（ステップＳ２００）。また、第１〜第３の切替条件のうち、少なくともいずれかの切替条件が満たされた場合（ステップＳ２０２；ＹＥＳ）、「アプリＡ」は、記憶部１８に記憶されているライブラリ属性情報とマスタ選択条件とを参照し、次期マスタを決定する（ステップＳ２０４）。
【０１０７】
次のステップＳ２０６において、「アプリＡ」は、「アプリＢ」に「アプリＢ」が次期マスタであることを通知する。
次のステップＳ２０８において、「アプリＢ」は、マスタとして機能を始める。
次のステップＳ２１０において、「アプリＢ」は、自位置情報ライブラリがマスタであることをスレーブの「アプリＡ」および「アプリＣ」に通知する。
なお、「アプリＡ」は、「アプリＢ」がマスタの権限を有したことを認識しているため、「アプリＢ」は、「アプリＡ」に対するステップＳ２１０の処理を省略してもよい。
次のステップＳ２１２において、「アプリＡ」および「アプリＣ」は、「アプリＢ」がマスタであることを識別し、「アプリＢ」のスレーブとして機能し始める。
【０１０８】
なお、上述した実施形態において、ライブラリ管理情報は、位置情報サーバ３０により管理されているものとして説明したが、これには限られない。ライブラリ管理情報の全てまたはその一部は、端末装置１０などの位置情報サーバ３０以外の装置により管理されてもよい。
また、上述した実施形態において、マスタ選択情報は、端末装置１０の記憶部１８に記憶されているものとして説明したが、これには限られない。マスタ選択情報は、例えば、位置情報サーバ３０などの端末装置１０以外の装置に記憶されていてもよい。そして、位置情報サーバ３０は、端末装置１０にマスタ選択条件を送信し、端末装置１０は、位置情報サーバ３０から受信したマスタ選択条件に基づいてマスタを決定してもよい。
【０１０９】
また、上述した実施形態において、マスタの決定処理は、端末装置１０が行う者として説明したが、これには限られない。例えば、位置情報サーバ３０は、自装置または自装置以外の装置に記憶されているマスタ選択条件およびライブラリ属性情報を参照して、優先順位情報を生成する。次に、位置情報サーバ３０は、生成した優先順位情報を端末装置１０に送信する。そして、端末装置１０に含まれる各位置情報ライブラリは、位置情報サーバ３０から受信した優先順位情報に基づいて、それぞれマスタまたはスレーブとして機能する。
【０１１０】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明は、例えば、端末装置、位置取得方法、および位置情報取得制御用プログラムなどとして実施することができる。
【０１１１】
また、上述した端末装置１０の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１１２】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１１３】
１…位置提供システム、１０、１０Ａ、１０Ｂ、・・・、１０Ｎ…端末装置、１２…処理
部、１４…通信部、１６…ＧＰＳ測位部、１６０…位置情報取得部、１６１…加速度セン
サ、１８…記憶部、３０…位置情報サーバ、４０…認証サーバ、４２…ＰＯＩサーバ、５
０、５０Ａ、５０Ｂ、・・・、５０Ｎ…アプリケーションサーバ、１２０、１２０Ａ、１
２０Ｂ、１２０Ｃ…アプリケーション処理部、１２２、１２２Ａ、１２２Ｂ、１２２Ｃ…
位置情報取得制御部
【図１】
2018007270.tif 000003
【図２】
2018007270.tif 000004
【図３】
2018007270.tif 000005
【図４】
2018007270.tif 000006
【図５】
2018007270.tif 000007
【図６】
2018007270.tif 000008
【図７】
2018007270.tif 000009