〔実施形態1〕
<構成例>
以下では、本実施形態の構成例について図面を参照して説明する。図1は本実施形態に係るシステム1の構成の一例を示す図である。システム1は、一例として、端末装置100およびサーバ200によって構成されてよい。
本実施形態において、無線信号源とは、識別情報を含む無線信号を送信する無線装置であり、少なくとも一部は特定の位置座標に固定されているものであってよい。また、一態様において、無線信号源は、セルラー基地局およびWi-Fiアクセスポイントのような、端末装置100が無線接続可能な無線接続点であってよい。以下では、端末装置100の周囲に存在する無線信号源として、第1の種類の無線接続点(端末装置100が在圏しているセル(在圏セル)を提供するセルラー基地局2、端末装置100が在圏していない周囲のセル(隣接セル)を提供するセルラー基地局3)、ならびに、第2の種類の無線接続点(Wi-Fiアクセスポイント4および5)が存在する場合について説明するが、端末装置100の周囲に存在する無線信号源はこれらに限定されないことを当業者は容易に理解する。すなわち、一態様において、無線信号源は、Bluetooth(登録商標)等の他の通信規格により無線信号を送信可能な無線装置によって実現されてもよい。また、一態様において、無線接続可能とは、端末装置100が無線信号源から到達した電波から識別情報を取得可能であることを含んでよい。すなわち、一態様において、端末装置100が無線信号源の識別情報を取得可能であれば、無線信号源と端末装置100とは、必ずしも通信コネクションを確立しなくともよい。
端末装置100は、セルラー基地局2を介してサーバ200に接続していてもよく、Wi-Fiアクセスポイント4または5を介してサーバ200に接続していてもよく、その他の通信経路を介してサーバ200に接続していてもよい。
サーバ200は、ネットワークを介して位置情報サービスプロバイダ(外部サーバ)10と接続してよい。位置情報サービスプロバイダ10は、端末装置100の周囲に存在する無線信号源の情報を受信すると、端末装置100の推定位置情報を含む情報を返信するサービスを提供するサーバであってよい。位置情報サービスプロバイダ10は、例えば、グーグル社(米国マウンテンビュー)などによって提供されている。
続いて、参照する図面を替えて、本実施形態に係る端末装置100およびサーバ200の構成について説明する。図2は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。
<端末装置>
端末装置100は、通信部110、メモリ120、記憶部130および主制御部140を備えてよい。
通信部110は、少なくとも無線信号源から識別番号を含む無線信号を受信するものであってよく、無線信号源との間で無線信号を送受信してもよい。また、通信部110は、ネットワークを介して、サーバ200と通信を行ってよい。
メモリ120には、主制御部140が実行する各種のプログラムおよびそれらのプログラムによって参照される各種のデータが一時的に格納されてよい。
記憶部130には、主制御部140によって、読み出し、書き込み、参照などされる各種の情報が格納されてよい。
主制御部140は、検出処理部142、送信処理部144、受信処理部146、セルラー通信処理部148およびWi-Fi通信処理部150を備えてよい。
検出処理部142は、端末装置100と無線通信可能な範囲に存在する無線信号源を検出する検出処理を行ってよい。
送信処理部144は、検出処理部142が検出処理を複数回行った結果を含む検出結果情報を、サーバ200に送信する送信処理を行ってよい。
受信処理部146は、少なくとも、サーバ200が推定した端末装置100の位置情報を、サーバ200から受信する受信処理を行ってよい。
セルラー通信処理部148は、規定のプロトコルに従ってセルラー基地局との通信を行ってよい。セルラー通信処理部148はまた、規定のプロトコルに従って在圏セルおよび隣接セルに関する情報を取得してよい。
Wi-Fi通信処理部150は、規定のプロトコルに従ってWi-Fiアクセスポイントとの通信を行ってよい。Wi-Fi通信処理部150はまた、規定のプロトコルに従って周囲に存在するWi-Fiアクセスポイントのスキャン(Wi-Fiスキャン)を行ってよい。
<サーバ>
サーバ200は、通信部210、メモリ220、記憶部230および主制御部240を備えてよい。
通信部210は、ネットワークを介して、端末装置100と通信を行ってよい。
メモリ220には、主制御部240が実行する各種のプログラムおよびそれらのプログラムによって参照される各種のデータが一時的に格納されてよい。
記憶部230には、主制御部240によって、読み出し、書き込み、参照などされる各種の情報が格納されてよい。
主制御部240は、受信処理部242、位置情報推定部244および送信処理部246を備えてよい。
受信処理部242は、端末装置100から、端末装置100と無線通信可能な範囲に存在する無線信号源を検出する検出処理を複数回行った結果を含む検出結果情報を受信する受信処理を行ってよい。
位置情報推定部244は、検出結果情報に含まれるいずれかの回の検出処理の結果に基づいて端末装置100の位置情報を推定してよい。
送信処理部246は、少なくとも、位置情報推定部244が推定した端末装置100の位置情報を端末装置100に送信する送信処理を行ってよい。
<動作>
続いて、システム1におけるネットワーク測位の具体的動作の一例について、図3に示すフロー図を参照しつつ説明する。
システム1におけるネットワーク測位は、例えば、端末装置100に対するユーザの操作によって実行されてもよいし、端末装置100に設定された間隔で定期的に実行されてもよいし、その他の契機によって実行されてもよい。
まず、ステップS10において、端末装置100の検出処理部142は、端末装置100と無線通信可能な範囲に存在する無線信号源を検出する検出処理を複数回行ってよい。なお、ステップS10における検出処理の回数および間隔は、工場出荷時に設定されてもよいし、ユーザによって設定されてもよいし、サーバ200からの信号によって設定されてもよい。
また、ステップS10における検出処理の回数および間隔の具体的な値は、本実施形態を限定するものではないが、例えば、0秒~100秒毎に5回~20回程度行う構成が挙げられる。
一態様において、検出処理部142は、無線信号源が送信する識別情報を含む無線信号を通信部110が受信したことに基づいて、当該無線信号源を、端末装置100と無線通信可能な範囲に存在する無線信号源として検出してよい。また、検出処理部142は、各回の検出処理において、検出した無線信号源からの無線信号に基づいて、当該無線信号源の識別情報および当該無線信号の電波強度を検出して、検出処理の結果として記憶部130に蓄積してよい。そして、検出処理部142は、各回の検出処理のタイミングを示すタイミング情報(タイムスタンプ)を検出処理の結果に関連付けて記憶部130に蓄積してよい。
また、一態様において、検出処理部142は、各回の検出処理において、種々の無線信号源、例えば、第1の種類の無線接続点(セルラー基地局2および3)および第2の種類の無線接続点(Wi-Fiアクセスポイント4および5)をそれぞれ異なる方法で検出してもよい。
例えば、検出処理部142は、各回の検出処理において、Wi-Fi通信処理部150を介してWi-Fiスキャンを行い、第2の種類の無線接続点(Wi-Fiアクセスポイント4および5)を検出するとともに、Wi-Fiスキャン完了時における在圏セル(セルラー基地局2)および隣接セル(セルラー基地局3)の情報を、セルラー通信処理部148を介して取得することにより、第1の種類の無線接続点を検出してよい。
この場合、検出処理部142は、Wi-Fi通信処理部150からWi-Fiスキャンにおいて検出された各Wi-Fiアクセスポイントの識別情報(例えば、MACアドレス、BSSIDなど)および当該Wi-Fiアクセスポイントからの無線信号の電波強度(例えば、RSSIなど)を取得して、記憶部130に蓄積してよい。
また、検出処理部142は、セルラー通信処理部148から在圏セルおよび隣接セルの識別情報(例えば、セルID、拡張セルID、国コード、ネットワークコード、エリアコードなど)および各セルの電波強度(例えば、dbmなど)を取得して、記憶部130に蓄積してよい。
さらに、検出処理部142は、Wi-Fiスキャンの開始または完了のタイミングを示すタイミング情報(タイムスタンプ)を検出処理の結果に関連付けて記憶部130に蓄積してよい。
続いて、ステップS20において、送信処理部144は、記憶部130に蓄積された情報から、検出処理部142が検出処理を複数回行った結果を含む検出結果情報を生成し、当該検出結果情報を、通信部110を介してサーバ200に送信する送信処理を行ってよい。なお、送信処理部144は、検出結果情報と併せて、端末装置100のデバイス名(機種名、型名)、実行するサービスのサービス名、ユーザまたは端末装置100を一意に特定する識別情報(IMSI、IMEI、MSN、uuidなど)などをサーバ200に送信してもよい。
図4は、検出結果情報のデータ構造の一例を示す図である。検出結果情報には、各回の検出処理毎に、当該検出処理の結果と、当該検出処理のタイミングを示すタイミング情報とが含まれてよい。また、各回の検出処理の結果には、それぞれの検出処理において検出されたセルの識別情報と、当該セルの電波強度に関する情報とが、検出されたセルの数(0個であってもよい)含まれてよく、それぞれの検出処理において検出されたWiFiアクセスポイントの識別情報と、当該WiFiアクセスポイントの電波強度に関する情報とが、検出されたWiFiアクセスポイントの数(0個であってもよい)含まれてよい。送信処理部144は、情報を、例えばJSON形式、XML形式、protocol buffer形式、平文形式、またはそれらがバイナリ符号化された形式でサーバ200に送信してよい。
図5は、検出結果情報のデータの一例を示す図である。図5に示す検出結果情報は、説明のために、ステップS10において検出処理は11:59:00および12:00:00の2回行われ、11:59:00の検出処理では、Wi-Fiアクセスポイント4(識別情報X1、電波強度A1)、Wi-Fiアクセスポイント5(識別情報X2、電波強度A2)、セルラー基地局2(識別情報Y1、電波強度B1)およびセルラー基地局3(識別情報Y1、電波強度B1)が検出され、12:00:00の検出処理では、セルラー基地局2(識別情報Y1、電波強度B1)およびセルラー基地局3(識別情報Y1、電波強度B1)のみが検出された場合の検出結果情報の一例である。
サーバ200は、受信した当該検出結果情報に基づいて端末装置100の位置情報を推定してよい。まず、ステップS30において、サーバ200の受信処理部242は、通信部210を介して、端末装置100から送信された検出結果情報を受信する受信処理を行ってよい。受信処理部242は、必要に応じて受信した情報を復号してよい。
続いて、ステップS40~S70において、位置情報推定部244は、検出結果情報に含まれるいずれかの回の検出処理の結果に基づいて端末装置100の位置情報を推定してよい。以下、各ステップについて説明する。
ステップS40において、位置情報推定部244は、検出結果情報に含まれる未送信の検出処理の結果のうち、最も検出処理のタイミングが新しい回の検出処理の結果を、位置情報サービスプロバイダ10に送信してよい。このとき、位置情報推定部244は、位置情報サービスプロバイダ10に対応するデータ形式(例えば、グーグル社の提供する位置情報サービスプロバイダに対しては、https://developers.google.com/maps/documentation/geolocation/overview?hl=jaに規定されるデータ形式)で、情報を送信してよい。
図5に示す検出結果情報を例に挙げて説明すれば、一回目のステップS40では、位置情報推定部244は、セルラー基地局2および3の情報のみが含まれる2回目の検出処理の結果を位置情報サービスプロバイダ10に送信してもよい。二回目のステップS40では、位置情報推定部244は、セルラー基地局2および3ならびにWi-Fiアクセスポイント4および5の情報が含まれる1回目の検出処理の結果を位置情報サービスプロバイダ10に送信してもよい。
ステップS50において、位置情報サービスプロバイダ10は、いずれかの回の検出処理の結果をサーバ200から受信し、推定位置情報および当該推定位置情報の精度に関する情報をサーバ200に返信する。
位置情報サービスプロバイダ10は、固定された無線信号源の識別情報と位置座標とが関連付けられたデータベースを備えていてもよいし、当該データベースに接続可能になっていてもよい。なお、当該データベースに、移動可能な無線信号源(例えば、モバイルルーターなど)の識別情報も含まれていてもよい。
ステップS50において、位置情報サービスプロバイダ10は、受信した検出処理の結果に含まれる無線信号源の識別情報をデータベースと照合する。その結果、検出処理の結果に含まれる無線信号源の識別情報に対応する位置座標が見つかれば、位置情報サービスプロバイダ10は、当該識別情報によって識別される無線信号源(端末装置100の周囲に存在する無線信号源)の位置座標を取得することができる。一方、検出処理の結果に含まれる無線信号源の識別情報がデータベースに含まれない場合、および、当該識別情報が移動可能な無線信号源の識別情報と一致する場合には、当該識別情報によって識別される無線信号源の位置座標を取得することはできない。位置情報サービスプロバイダ10は、位置座標を取得できた識別情報と、位置座標を取得できなかった識別情報とをサーバ200への返信に含めてよい。
そして、位置情報サービスプロバイダ10は、端末装置100の周囲に存在する無線信号源の位置座標から端末装置100の推定位置情報を算出してよい。位置情報サービスプロバイダ10が、端末装置100の周囲に存在する無線信号源の位置座標から端末装置100の推定位置情報を算出する方法は特に限定されないが、受信した検出処理の結果に含まれる各無線信号源の電波強度を参照して、各無線信号源からの距離を推定することにより、端末装置100の推定位置情報を算出してもよい。そして、位置情報サービスプロバイダ10は、算出した推定位置情報をサーバ200に返信する。
また、位置情報サービスプロバイダ10は、ステップS50において、算出した推定位置情報の精度に関する情報を併せてサーバ200に送信してよい。推定位置情報の精度に関する情報は、推定位置情報の算出に用いた無線信号源の種類であってよい。
前述したように、無線信号源に、第1の種類の無線接続点(セルラー基地局)と、第2の種類の無線接続点(Wi-Fiアクセスポイント)が含まれている。一般に、位置情報サービスプロバイダ10が、第1の種類の無線接続点のみの位置座標に基づいて端末装置100の推定位置情報を算出した場合(セル測位)よりも、位置情報サービスプロバイダ10が、第2の種類の無線接続点を含む無線信号源の位置座標に基づいて端末装置100の推定位置情報を算出した場合(Wi-Fi測位)の方が、推定位置情報の精度が高くなる。そのため、位置情報サービスプロバイダ10は、推定位置情報の算出に用いた無線信号源の種類を示す情報(セル測位かWi-Fi測位かを示す情報)を、推定位置情報の精度に関する情報としてサーバ200に返信することができる。なお、前述した位置座標を取得できた識別情報と、位置座標を取得できなかった識別情報とを含む情報を、推定位置情報の算出に用いた無線信号源の種類を示す情報として用いてもよい。
また、電波強度が大きい無線信号源の位置座標を用いて推定位置情報を算出した場合の方が、電波強度が小さい無線信号源の位置座標を用いて推定位置情報を算出した場合よりも精度が高くなる。そのため、位置情報サービスプロバイダ10は、推定位置情報を算出するために用いた無線信号源の種類および電波強度に基づいて、推定位置情報の精度を算出して、推定位置情報の精度に関する情報としてサーバ200に送信してもよい。なお、位置情報サービスプロバイダ10は、推定位置情報の精度を、推定位置情報の誤差範囲として算出してもよい。
図5に示す検出結果情報を例に挙げて説明すれば、一回目のステップS50では、位置情報サービスプロバイダ10は、セルラー基地局2および3の位置座標に基づいて算出した推定位置情報と、当該推定位置情報が第1の種類の無線接続点のみの位置座標に基づいて推定されたことを示す情報(精度に関する情報)とをサーバ200に返信してもよい。二回目のステップS50では、位置情報サービスプロバイダ10は、セルラー基地局2および3の位置座標ならびにWi-Fiアクセスポイント4および5の位置座標に基づいて算出した推定位置情報と、当該推定位置情報が第2の種類の無線接続点を含む無線信号源の位置座標に基づいて推定されたことを示す情報(精度に関する情報)とをサーバ200に返信してもよい。
ステップS60において、サーバ200の位置情報推定部244は、位置情報サービスプロバイダ10から推定位置情報および当該推定位置情報の精度に関する情報を受信し、当該精度に関する情報が所定の条件を満たす場合に受信した推定位置情報を端末装置100の位置情報として推定してよい。
一態様において、所定の条件としては、推定位置情報の精度に関する情報が、推定位置情報の算出に用いた無線信号源が第2の種類の無線接続点を含むこと(Wi-Fi測位)を示すという条件であってよい。これにより、位置情報推定部244は、精度の低い推定位置情報に基づいて端末装置100の位置情報を推定することを避けることができる。
また、所定の条件には、推定位置情報の精度に関する情報が、所定の閾値以上の精度または所定の閾値未満の誤差範囲を示すという条件が付加されていてもよい。これにより、位置情報推定部244は、より精度の高い位置情報を推定することができる。
図5に示す検出結果情報を例に挙げて説明すれば、一回目のステップS60では、位置情報サービスプロバイダ10から取得した精度に関する情報が、推定位置情報が第1の種類の無線接続点のみの位置座標に基づいて推定されたことを示しているので、所定の条件を満たしておらず、位置情報を推定できなかったと判断してもよい。一回目のステップS60では、位置情報サービスプロバイダ10から取得した精度に関する情報が、推定位置情報が第2の種類の無線接続点を含む無線信号源の位置座標に基づいて推定されたことを示しているので、所定の条件を満たしていると判断し、当該推定位置情報を端末装置100の位置情報と推定してもよい。
そして、位置情報推定部244が位置情報を推定できなかった場合(ステップS70においてNO)、位置情報推定部244は、再度、ステップS40に戻って、次に新しい回の検出処理の結果を用いて位置情報サービスプロバイダ10に問合せを行ってよい。但し、所定の条件が満たされなかった場合であっても、位置情報推定部244が、検出結果情報に含まれる全ての回の検出処理の結果を位置情報サービスプロバイダ10に送信済みの場合は、所定の条件が満たされたものとして、ステップS80に進んでよい。この場合、位置情報推定部244は、位置情報サービスプロバイダ10から取得した推定位置情報のうち、最も精度の高かったもの、または、最もタイミングの新しい検出処理を用いて取得したものを、端末装置100の位置情報として推定してよい。
一方、位置情報推定部244が位置情報を推定できた場合(ステップS70においてYES)、ステップS80において、送信処理部246は、位置情報推定部244が推定した端末装置100の位置情報を、通信部210を介して端末装置100に送信する送信処理を行ってよい。送信処理部246は、情報を、例えばJSON形式、XML形式、平文形式、またはそれらがバイナリ符号化された形式で端末装置100に送信してよい。
続いて、ステップS90において、端末装置100の受信処理部146は、サーバ200が推定した端末装置100の位置情報をサーバ200から受信する受信処理を行ってよい。受信処理部146は、必要に応じて受信した情報を復号してよい。
そして、ステップS100において、端末装置100の主制御部140は、受信した端末装置100の位置情報を用いた二次処理を行ってよい。二次処理としては、位置情報に基づくアラートを報知することや、通信部110を介して所定のサーバに位置情報をアップロードすること、地図の表示または更新を行うことなどが挙げられるが、特に限定されない。
以上のように、本実施形態では、端末装置100(の送信処理部144)は、検出処理を複数回行った結果を含む検出結果情報をサーバ200に送信してよい。そして、サーバ200(の位置情報推定部244)は、検出結果情報に含まれるいずれかの回の検出処理の結果に基づいて端末装置100の位置情報を推定してよい。特に、サーバ200の位置情報推定部244は、少なくとも一つの第2の種類の無線接続点を検出した回の検出処理の結果に基づいて端末装置100の位置情報を推定してよい。
これにより、サーバ200は、例え、あるタイミング(ある回の検出処理)において検出された無線信号源が第1の種類の無線接続点のみ(セル測位)となり、当該タイミングにおける検出処理の結果を用いた推定位置情報の精度が悪くなる場合であっても、他のタイミング(別の回の検出処理)の検出処理の結果を用いて推定位置情報を取得することができるので、精度の高い位置情報を取得することができる。これにより、ユーザが長い期間精度の高い位置情報を取得できない状況を避けることができる。また、端末装置100からサーバ200への検出結果情報の送信の間隔を短くする必要がないため、電池消費の増大を最小限に抑えることができる。
また、本実施形態では、ステップS40~S70において、位置情報推定部244が、検出結果情報に含まれる各回の検出処理の結果を当該検出処理のタイミングが新しい順に位置情報サービスプロバイダ10に送信し、当該位置情報サービスプロバイダ10から推定位置情報および当該推定位置情報の精度に関する情報を受信し、当該精度に関する情報が所定の条件を満たす場合に当該推定位置情報を端末装置100の位置情報として推定する構成としてよい。
これにより、位置情報推定部244は、検出結果情報に含まれる各回の検出処理の結果うち、なるべく新しい検出処理の結果を優先して用いて端末装置100の位置情報を推定することができる。これにより、システム1は、最新に近い端末装置100の位置をユーザに提供することができる。
<変形例>
(ネットワーク測位のタイミングの例)
前述したように、システム1におけるネットワーク測位のタイミングは種々の契機によって実行されてよいが、端末装置100に設定された所定の間隔で定期的に実行される場合、換言すれば、端末装置100が検出結果情報を所定時間ごとに送信するように設定されている場合、検出処理部142は、以下のように動作してもよい。
すなわち、検出処理部142は、ステップS10における複数回の検出処理を、送信処理部144による検出結果情報の直前の送信から所定時間経過する前に完了するように実行してよい。一態様において、検出処理部142は、ステップS10における複数回の検出処理を、送信処理部144による検出結果情報の直前の送信から所定時間経過するタイミングよりも、検出処理の回数および間隔に応じた時間以上前に開始してよい。
例えば、所定時間が10minであり、検出処理の回数が10回であり、間隔が20msである場合には、検出処理部142は、直前のステップS20における送信のタイミングから10min経過するタイミングよりも、10×20ms以上前に、ステップS10における複数回の検出処理を行ってよい。これにより、ユーザが期待のタイミングで測位を実行することができる。
また、検出結果情報には、各回の検出処理毎に、当該検出処理のタイミング情報が含まれていなくともよい。検出結果情報に、各回の検出処理の結果が時系列に沿って配置されていれば、各回の検出処理のタイミング情報が含まれていなくとも、位置情報推定部244は、ステップS40において、検出結果情報に含まれる未送信の検出処理の結果のうち、最も検出処理のタイミングが新しい回の検出処理の結果を位置情報サービスプロバイダに送信することができ、同等の効果を得ることができる。
(サーバで二次処理を行う例)
図6は、システム1におけるネットワーク測位の動作の一例を示すフロー図である。図6に示す例では、システム1において、ステップS80、S90およびS100を実行する替りに、ステップS101を実行する点が、図3に示す例と異なっている。
以下、端末装置100の位置情報を用いた二次処理をサーバ200が実行する構成について説明する。サーバ200は、ステップS60において位置情報推定部244が端末装置100の位置情報を推定した後、当該位置情報を端末装置100に送信せずに、主制御部240が、当該位置情報を用いた二次処理を実行してもよい(ステップS101)。二次処理としては、主制御部240が、端末装置100の位置情報を記憶部230に蓄積することや、当該位置情報に基づくアラートを報知することや、通信部210を介して他のサーバに当該位置情報を転送すること、SMS(Short Message Service)、MMS(Multimedia Messaging Service)等のメッセージサービスや電子メール等を介して、他機器やユーザへ位置情報、アラート情報などの通知を行うことなどが挙げられるが、特に限定されない。
このように構成することにより、ステップS20における端末装置100からサーバ200への検出結果情報の送信が完了した時点で、端末装置100とサーバ200との通信セッションを開放させることができる。これにより、端末装置100の電池消費量をさらに抑制することができる。
また、一例において、サーバ200の主制御部240は、ステップS101において、位置情報推定部244が推定した位置情報に基づいて、端末装置100の二次処理における動作(例えば、端末装置100がアラートを鳴動すべきか否かなど)を判断してもよい。この場合のシステム1の動作の一例を、図7に示す。
図7に示すように、ステップS83において、送信処理部246は、位置情報推定部244が推定した位置情報と、上記の判断結果とを、通信部210を介して端末装置100に送信する送信処理を行ってよい。
そして、ステップS93において、端末装置100の受信処理部146は、サーバ200が推定した端末装置100の位置情報および上記の判断結果をサーバ200から受信する受信処理を行ってよい。そして、ステップS104において、端末装置100の主制御部140は、受信した端末装置100の位置情報および上記の判断結果を用いた二次処理を行ってよい。例えば、上記の判断結果が、端末装置100がアラートを鳴動すべきことを示していた場合、端末装置100はサーバ200の判断に従って、アラートを鳴動させてよい。
また、ステップS83では、送信処理部246は、上記の判断結果に限らず、独自のパラメータを端末装置100に送信してよい。
(その他の変形例)
また、無線信号源の識別情報によって無線信号源の種類が判明する場合には、検出結果情報の各回の検出処理の結果は、無線信号源の種類ごとに並べられていなくともよい。また、位置情報サービスプロバイダ10に対して電波強度の情報を送信しなくとも位置情報サービスプロバイダ10から推定位置情報を取得可能な場合、検出結果情報の各回の検出処理の結果には、電波強度が含まれていなくともよい。
また、ステップS40において、検出結果情報に含まれる未送信の検出処理の結果のうち、最も検出処理のタイミングが新しい回の検出処理の結果に、第1の種類の無線接続点の識別情報しか含まれておらず、第2の種類の無線接続点の識別情報しか含まれていない場合には、得られる推定位置情報の精度が悪いことが予測されるため、位置情報推定部244は、当該検出処理の結果の送信をスキップして、次に新しい回の検出処理の結果を位置情報サービスプロバイダ10に送信するようにしてもよい。
また、無線信号源としては、セルラー基地局およびWi-Fiアクセスポイントの他、Bluetooth(登録商標)機器(ビーコン機器)等も含まれていてもよい。
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
本実施形態では、端末装置100における検出処理の態様(検出処理の回数および間隔)を変更する処理を実行する点が、実施形態1と異なっている。検出処理の態様を変更する処理の方法としては、種々の方法を取ることができる。以下、いくつかの例について説明する。
(検出したセルラー基地局の識別情報に基づいて検出処理の態様を変更)
一例として、端末装置100の検出処理部142は、検出したセルラー基地局の識別情報に基づいて、検出処理の態様を変更してもよい。例えば、一例として、端末装置100の検出処理部142は、検出した無線信号源の識別情報に基づいて、検出処理の態様を変更してもよい。
この場合、前提として、端末装置100は、セルラー基地局の識別情報(セルID)のリスト情報を保持してよい。リスト情報には、各識別情報に関連付けて、検出処理の態様を指定する設定情報が含まれてよい。設定情報は、場所の特徴を示す場所情報、または、検出処理の態様を直接指定するパラメータであってもよい。場所情報としては、例えば、「地下鉄駅」、「地下街」、「都市部」などを示すフラグ値または文字列、数値などが含まれていてもよい。当該リスト情報は、端末装置100が、定期的に、検出したセルラー基地局の識別情報をキーにサーバ200から受信してもよい。
図8は、端末装置100による検出処理の設定変更処理の一例を説明するフロー図である。図8に示すように、端末装置100は、サーバ200からリスト情報を受信してよい(ステップS11)。
続いて、ステップS12において、検出処理部142がセルラー基地局の識別情報を取得した場合、検出処理部142は、検出処理部142が取得したセルラー基地局の識別情報と、リスト情報に含まれる識別情報とを比較してよい(ステップS13)。検出処理部142が取得したセルラー基地局の識別情報が、リスト情報に含まれる識別情報と一致した場合(ステップS13におけるYES)、検出処理部142は、リスト情報において識別情報に関連付けられた設定情報に基づいて、検出処理の態様を変更してよい。一方、検出処理部142が取得したセルラー基地局の識別情報が、リスト情報に含まれる識別情報と一致しなかった場合(ステップS13におけるNO)、検出処理部142は、検出処理の態様をデフォルトに戻してよい。
なお、設定情報が場所情報である場合、検出処理部142は、以下のように検出処理の態様を変更してもよい。
例えば、検出処理部142は、場所情報が「地下鉄駅」を示している場合、検出処理の間隔を長くしてもよい。これは、電車の到着、発車、あるいはその前後の状況で、Wi-Fiアクセスポイントの状況が変動しやすいためである。検出処理の間隔を長くすることにより、ホームが空いており、電車内のWi-Fiアクセスポイントや、乗客の携帯機器が少ないタイミングにおいて、検出処理を実行する可能性を高くすることができる。これにより、固定Wi-Fiアクセスポイントを検出する可能性を向上することができる。そして、複数回検知されたWi-Fiアクセスポイントは、固定Wi-Fiアクセスポイントである可能性が高く、信頼度が高いと考えられるため、位置情報サービスプロバイダ側でも信頼度が高いWi-Fiアクセスポイントであると判定される可能性が高い。従って、端末装置100が、測位処理のパラメータとして優先すべきWi-Fiアクセスポイントを判断しやすくなる。また、一例において、検出処理の間隔を長めにとり、検出結果を蓄積するのではなく、複数回にわたり重複して検知されたWi-Fiアクセスポイントをサーバ200に送信するようにしてもよい。
(検出したWi-Fiアクセスポイントの識別情報に基づいて検出処理の態様を変更)
一例として、端末装置100の検出処理部142は、検出したWi-Fiアクセスポイントの識別情報に基づいて、検出処理の態様を変更してもよい。
この場合、前提として、端末装置100は、Wi-Fiアクセスポイントの第1の識別情報のリスト情報を保持してよい。リスト情報には、各識別情報に関連付けて、検出処理の態様を指定する設定情報が含まれてよい。設定情報は、場所の特徴を示す場所情報、または、検出処理の態様を直接指定するパラメータであってもよい。場所情報としては、例えば、「店舗」、「鉄道事業者」などを示すフラグ値または文字列、数値などが含まれていてもよい。当該リスト情報は、端末装置100が、定期的に、または、電源オン時やネットワーク接続時など決まったタイミングで、サーバ200から受信してもよい。なお、第1の識別情報は、例えば、Wi-Fiアクセスポイントを識別可能な情報であれば特に限定されない。例えば、第1の識別情報は、ESSIDやBSSIDであってよい。以下では、第1の識別情報がESSIDである場合を例として説明する。
本例においても、図8に示すように、端末装置100は、サーバ200からリスト情報を受信してよい(ステップS11)。
続いて、ステップS12において、検出処理部142がWi-Fiアクセスポイントの識別情報を取得した場合、検出処理部142は、検出処理部142が取得したWi-Fiアクセスポイントの識別情報と、リスト情報に含まれる識別情報とを比較してよい(ステップS13)。検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、リスト情報に含まれる識別情報と一致した場合(ステップS13におけるYES)、検出処理部142は、リスト情報において識別情報に関連付けられた設定情報に基づいて、検出処理の態様を変更してよい。一方、検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、リスト情報に含まれる識別情報と一致しなかった場合(ステップS13におけるNO)、検出処理部142は、検出処理の態様をデフォルトに戻してよい。
なお、設定情報が場所情報である場合、主制御部140は、以下のように検出処理の態様を変更してもよい。
例えば、検出処理部142は、場所情報が電車内に配される可能性を示している場合、検出処理の間隔を長くしてもよい。これは、移動中である可能性が高いため、検出処理の間隔を長くして、駅に到着して駅の固定Wi-Fiアクセスポイントを検知する可能性を高めるためである。一方、検出処理部142は、場所情報が特定店舗や施設を示している場合、検出処理の間隔を短くしてもよいし、検出処理の回数を少なくしてもよい。これは、固定Wi-Fiアクセスポイントを検知する可能性が高く、高い位置精度が期待できるためである。
(なりすまし防止)
但し、検出したWi-Fiアクセスポイントの識別情報に基づいて検出処理の態様を変更する場合、悪意のある者によってWi-Fiアクセスポイントの識別情報の詐称が行われると、周辺にある端末装置の検出処理の間隔などが変更され、端末装置の電池持ちなどに悪影響を及ぼす可能性がある。これを防ぐ為、リスト情報の一部を暗号化し、そこにWi-Fiアクセスポイントの他の識別情報(第2の識別情報)を含めることで詐称、コピーを防止してもよい。例えば、第1の識別情報を他のWi-Fiアクセスポイントからコピーして送出する詐称デバイスが存在していても、第2の識別情報の一致をチェックすることにより、当該詐称デバイスが詐称であることを見破ることができる。第2の識別情報は、例えば、BSSIDであってよい。
この場合、前提として、端末装置100は、Wi-Fiアクセスポイントの第1の識別情報(例えば、ESSID)のリスト情報を保持してよい。当該リスト情報には、第1の識別情報に関連付けて、第2の識別情報(例えば、BSSID)と、検出処理の設定を示す設定情報とが暗号化された暗号化部とが含まれており、復号対象リストとも称される。また、端末装置100は、当該暗号化部を復号するための共通鍵を保持している。当該復号対象リスト情報は、端末装置100が、定期的に、または、電源オン時やネットワーク接続時など決まったタイミングで、サーバ200から受信してもよい。
そして、検出処理部142は、検出したWi-Fiアクセスポイントの識別情報と、リスト情報の第1の識別情報との比較結果に応じて、検出したWi-Fiアクセスポイントの識別情報と、復号した暗号化部の第2の識別情報とを比較し、当該無線信号源の識別情報と、当該第2の識別情報とが一致した場合に、復号した暗号化部の設定情報に基づいて、検出処理の態様を変更してもよい。以下、当該設定変更処理の詳細について説明する。
図9は、端末装置100による検出処理の設定変更処理の一例を説明するフロー図である。図9に示すように、ステップS16において、端末装置100は、復号対象リスト情報を受信する。図10は、復号対象リスト情報を示し、図11は、暗号化部に暗号化されている情報を示す。暗号化部の生成方法は特に限定されないが、サーバ200は、BSSIDの末尾に、設定情報を示すパラメータを付加した後、所定の暗号化方式によって暗号化し、所定のアルゴリズムによって文字列化して、ESSIDの末尾に付加してもよい。
続いて、ステップS12において、検出処理部142がWi-Fiアクセスポイントの識別情報を取得した場合、検出処理部142は、検出処理部142が取得したWi-Fiアクセスポイントの識別情報と、復号対象リスト情報に含まれる第1の識別情報とが部分一致するか比較してよい(ステップS17)。部分一致は、本例では、前方一致でもよいし、後方一致など別の部位の一致でもよい。
検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、リスト情報に含まれる第1の識別情報と部分一致した場合(ステップS17におけるYES)、検出処理部142は、リスト情報において識別情報に関連付けられた暗号化部を復号して(ステップS18)、検出処理部142が取得したWi-Fiアクセスポイントの識別情報と、復号した暗号化部の第2の識別情報とが一致するか比較してよい(ステップS19)。検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、復号した暗号化部の第2の識別情報と一致した場合(ステップS19におけるYES)、検出処理部142は、復号した暗号化部の設定情報に基づいて、検出処理の態様を変更してよい(ステップS14)。一方、検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、リスト情報に含まれる第1の識別情報と部分一致しなかった場合(ステップS17におけるNO)、および、検出処理部142が取得したWi-Fiアクセスポイントの識別情報が、復号した暗号化部の第2の識別情報と一致しなかった場合(ステップS19におけるNO)、検出処理部142は、検出処理の態様をデフォルトに戻してよい。
なお、上述したなりすまし防止の構成は、検出したWi-Fiアクセスポイントの識別情報に基づいて検出処理の態様を変更する場合に限らず、検出したその他の種類の無線信号源の識別情報に基づいて検出処理の態様を変更する場合に適用してもよい。
(サーバが端末装置における検出処理の態様を制御)
一例において、サーバ200は、端末装置100から受信した無線信号源の識別情報に基づいて、端末装置100における検出処理の態様を制御してもよい。図12は、サーバ200による検出処理の設定変更処理の一例を説明するフロー図である。図12に示すように、位置情報推定部244が位置情報サービスプロバイダ10から推定位置情報を取得した後、ステップS84において、送信処理部246は、位置情報推定部244が推定した端末装置100の位置情報とともに、主制御部240が設定した設定情報を、通信部210を介して端末装置100に送信してよい。ステップS94において、端末装置100の受信処理部146は、サーバ200が推定した端末装置100の位置情報および設定情報をサーバ200から受信してよい。検出処理部142は、受信した設定情報に基づいて、次回以降の検出処理の態様を変更してよい(ステップS95)。
一例において、サーバ200は、上述したようなリスト情報を保持しており、サーバ200の主制御部240は、端末装置100から検出結果情報を受信した際に、検出結果情報に含まれている識別情報を、サーバ200が保持しているリスト情報と比較して、検出結果情報に含まれている識別情報が、リスト情報に含まれる識別情報と一致した場合、リスト情報において識別情報に関連付けられた設定情報を、端末装置100に送信するようにしてもよい。
一例において、サーバは、例えば、緯度経度ベースの特定地区毎にジオフェンスを設定しておき、ジオフェンスごとに設定情報を関連付けておき、サーバ200の主制御部240は、位置情報サービスプロバイダ10から推定位置情報を受信した際に、当該推定位置情報に対応するジオフェンスに関連付けられた設定情報を、端末装置100に送信するようにしてもよい。ジオフェンスと設定情報との対応関係は、例えば、以下のようなものとすることができる。例えば、特定地区が都心部であれば固定Wi-Fiアクセスポイントならびに移動するWi-Fiアクセスポイントが大量にある可能性が高く、検出処理結果の変化も大きいと想定し、検出処理回数を増やして異なる検出処理結果をもとにした測位結果を位置情報サービスプロバイダから得られるようにしてもよい。また、特定地区が過疎地であれば、Wi-Fiアクセスポイントが少ないと想定し、検出処理を繰り返してもその結果の変動が少ないと想定し、電池持ちへの考慮から検出処理回数を少なくしてもよい。
一例において、サーバ200の主制御部240は、全ての端末装置100に共通の設定情報を設定し、各端末装置100から検出結果情報を受信したことに応答して、位置情報と共に設定情報を端末装置100に送信してもよい。これにより、例えば、市場動向やユーザの申告から電池持ちに対する不満などが多く見られた場合に、全体のポリシーとして検出処理の間隔および回数を変更することができる。
一例において、サーバ200の主制御部240は、特定の機種やサービス、ユーザ、デバイスに対して市場クレームなどの動向を加味した設定情報を設定してもよい。一例において、サーバ200は、端末装置100から検出結果情報とともに、当該端末装置100の機種名やサービス名を受信することで、市場動向をみながら機種・サービスごとにことなる検出処理の態様を設定してもよい。また、一例において、サーバ200は、端末装置100から検出結果情報とともに、IMSIやIMEIといった当該端末装置100またはユーザを特定する情報を受信することで、電池持ち不満などを訴えたユーザのみ検出処理の間隔を長くしたり、回数を少なくするような対応をとってもよい。また、一例において、サーバ200は、端末装置100から検出結果情報とともに、当該端末装置100の機種名やサービス名、当該端末装置100またはユーザ等を特定する情報を受信することで、当該端末装置100のユーザとそのユースケースを判定し、判定したユースケースに応じた設定情報を端末装置100に送信してもよい。例えば、都市近郊の駅員専用の端末装置100であれば、駅や車内に居ることが多いと判定し、検知するWi-Fiアクセスポイントの状況が変化しやすいという前提から、検出処理の間隔を長めにとったり、回数を多めにとったりしてもよい。
〔実施形態3〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図13は本実施形態に係るシステム1の構成の一例を示す図である。セカンダリプロバイダとして、位置情報サービスプロバイダ11がサーバ200に接続されている点が実施形態1と異なっている。
本実施形態では、位置情報サービスプロバイダ(外部サーバ)が複数存在する場合について説明する。ステップS40において、位置情報推定部244は、検出結果情報に含まれる各回の検出処理の結果を、位置情報サービスプロバイダ10だけでなく、位置情報サービスプロバイダ11にも送信してよく。ステップS60において、位置情報サービスプロバイダ10および11からそれぞれ受信した推定位置情報のうち、当該推定位置情報の精度に関する情報が所定の条件を満たす推定位置情報を端末装置100の位置情報として推定してよい。
例えば、ある無線信号源について、位置情報サービスプロバイダ10のデータベースには位置座標が含まれていないが、位置情報サービスプロバイダ11のデータベースには位置座標が含まれている場合に、位置情報推定部244が位置情報サービスプロバイダ10だけでなく位置情報サービスプロバイダ11にも検出処理の結果を送信することによって、より精度の高い推定位置情報を取得できる可能性がある。
なお、位置情報推定部244は、まず、位置情報サービスプロバイダ10に検出処理の結果を送信し、得られた推定位置情報の精度が低い場合に、位置情報サービスプロバイダ11に検出処理の結果を送信してもよいし、最初から位置情報サービスプロバイダ10および11の両方に検出処理の結果を送信し、得られた推定位置情報を取捨選択してもよい。
以下、位置情報サービスプロバイダが複数存在する場合のシステム1におけるネットワーク測位の具体的動作の一例について、図14に示すフロー図を参照しつつ説明する。
図14に示す例では、位置情報推定部244は、ステップS42において、上述したステップS40~S70と同様の処理を行い、第1の位置情報サービスプロバイダ(位置情報サービスプロバイダ10)から推定位置情報および精度情報を取得してよい。また、位置情報推定部244は、ステップS43において、上述したステップS40~S70と同様の処理を行い、第2の位置情報サービスプロバイダ(位置情報サービスプロバイダ11)から推定位置情報および精度情報を取得してよい。なお、位置情報推定部244は、ステップS42およびS43の順序を入れ替えて実行してもよいし、並行して実行してもよいし、一方のステップにおいて得られた精度情報に応じて、他方のステップを実行しないようにしてもよい。
そして、ステップS61において、位置情報推定部244は、ステップS42において取得した推定位置情報と、ステップS43において取得した推定位置情報とのうち、対応する精度情報が高い推定位置情報に基づいて、端末装置100の位置情報を推定してよい。
そして、ステップS85において、送信処理部246は、位置情報推定部244がステップS61において推定した位置情報にプロバイダ情報を関連付けて、端末装置100に送信してよい。プロバイダ情報は、位置情報推定部244が、ステップS61において、どの位置情報サービスプロバイダから取得した情報に基づいて位置情報を推定したのかを示す情報であり、位置情報サービスプロバイダ名や、位置情報サービスプロバイダを示す値であってよい。
そして、ステップS96において、端末装置100の受信処理部146は、サーバ200が推定した端末装置100の位置情報およびプロバイダ情報をサーバ200から受信する受信処理を行ってよい。そして、ステップS105において、端末装置100の主制御部140は、受信した端末装置100の位置情報およびプロバイダ情報を用いた二次処理を行ってよい。例えば、端末装置100は、どの位置情報サービスプロバイダの情報に基づいて位置情報が推定されたかを判定することができる。また、端末装置100は、必要に応じてプロバイダ情報を表示したり、ログデータに含めて保存したりしてもよい。
<変形例>
一例において、位置情報推定部244は、ステップS61において、複数の位置情報サービスプロバイダから取得した情報に基づいて、位置情報サービスプロバイダ毎に、端末情報の位置情報を推定してもよい。この場合、位置情報推定部244は、さらに、いずれの位置情報サービスプロバイダに対応する位置情報を推奨するか、または、各位置情報サービスプロバイダに対応する位置情報の優先度を算出してもよい。
そして、ステップS85において、送信処理部246は、位置情報推定部244がステップS61において推定した各位置情報にプロバイダ情報を関連付けて、端末装置100に送信してよい。また、送信処理部246は、上述した、いずれの位置情報サービスプロバイダに対応する位置情報を推奨するかを示す情報、または、各位置情報サービスプロバイダに対応する位置情報の優先度を示す情報を併せて送信してもよい。
そして、ステップS96において、端末装置100の受信処理部146は、サーバ200が推定した端末装置100の位置情報およびプロバイダ情報をサーバ200から受信する受信処理を行ってよい。そして、ステップS105において、端末装置100の主制御部140は、受信した端末装置100の位置情報およびプロバイダ情報を用いた二次処理を行ってよい。端末装置100は、複数の位置情報サービスプロバイダに対応する位置情報のすべてを表示したり、他サーバへアップロードしてもよいし、最も優先度が高いものや、サーバ200が推奨するものを表示したり、他サーバへアップロードしてもよい。また、当該表示やアップロードの際には、優先度やプロバイダ名も付与してもよい。
また、端末装置100は、ステップS20において、検出結果情報に加えて、位置情報サービスプロバイダを指定する指定情報をサーバ200に送信してもよい。この場合、位置情報推定部244は、当該指定情報に基づいて、選択した位置情報サービスプロバイダから推定位置情報を取得するようにしてもよい。
〔実施形態4〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図15は、本実施形態におけるシステム1におけるネットワーク測位の動作の一例を示すフロー図である。本実施形態は、システム1において、ステップS80、S90、S100を実行する替りに、ステップS81、S91およびS102を実行する点が、実施形態1と異なっている。
本実施形態では、位置情報推定部244が、検出結果情報に含まれる最新ではない検出処理の結果を用いて端末装置100の位置情報を推定した場合の動作について説明する。最新ではない検出処理の結果を用いて推定された場合、端末装置100の位置情報はある程度過去の位置を示すことになってしまう。この問題について、システム1は以下のように対処してもよい。
すなわち、ステップS60において位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果(位置情報推定部244が、直前のステップS40において位置情報サービスプロバイダ10に送信した検出処理の結果)が、検出結果情報に含まれる最新の検出処理の結果ではない場合、システム1は以下の動作を行ってよい。
まず、ステップS81において、サーバ200の送信処理部246は、ステップS60において位置情報推定部244が推定した端末装置100の位置情報に加えて、位置情報推定部244が当該端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報を端末装置100に送信してよい。
また、ステップS91において、端末装置100の受信処理部146は、端末装置100の位置情報およびサーバ200の位置情報推定部244が当該位置情報を推定するために用いた検出処理の結果に対応するタイミング情報を受信してよい。
以上のように、サーバ200の位置情報推定部244が当該端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報が端末装置100に送信されることにより、端末装置100の位置情報がどの程度過去のものかを示すことができる。これにより、ユーザがより正確に位置情報を認識することができる。
ステップS102において、主制御部140は、ステップS91において受信された端末装置100の位置情報およびタイミング情報に基づいて二次処理を実行してよい。主制御部140は、二次処理として、ステップS91において受信されたタイミング情報を位置情報に関連付けて所定のサーバに送信してもよいし、当該タイミング情報に基づいて、端末装置100の位置情報の誤差範囲を算出してもよい。
なお、ステップS102において、主制御部140が、端末装置100の位置情報の誤差範囲を算出する場合、検出結果情報に含まれる最新の検出処理の結果に対応するタイミング情報と、位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報との差に、所定値を乗じた値を誤差範囲に加算してもよい。所定値としては、例えば、人の平均歩行速度などを使用することができる。
例えば、図5に示す例であれば、ステップS60において位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果は、1回目の検出処理の結果であり、検出結果情報に含まれる最新の検出処理の結果(2回目の検出処理の結果)ではない。そのため、ステップS81において、送信処理部246は、1回目の検出処理に対応するタイミング情報11:59:00を端末装置に送信し、ステップS91において受信処理部146は、当該タイミング情報11:59:00を受信してよい。
そして、ステップS102において、主制御部140は、検出結果情報に含まれる最新の検出処理の結果に対応するタイミング情報12:00:00と、位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報11:59:00との差00:01:00に、5km/hを乗じた値を誤差範囲に加算してもよい。
なお、主制御部140が、検出結果情報に含まれる最新の検出処理の結果に対応するタイミング情報と、位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報との差に乗じる値は、所定値でなくともよい。例えば、主制御部140は、図示しないセンサ(加速度センサ、ジャイロセンサ、地磁気センサなど)に基づいて、端末装置100の移動速度を示す移動状態情報を算出し、タイミング情報の差に当該移動状態情報が示す移動速度を乗じた値を誤差範囲に加算してもよい。
なお、ステップS60において、位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果が、検出結果情報に含まれる最新の検出処理の結果である場合も、ステップS81、S91およびS102を実行してもよい。
<変形例>
なお、ステップS81において、送信処理部246が位置情報およびタイミング情報を端末装置100に送信せずに、実施形態2のように、主制御部240が、位置情報にタイミング情報を関連付けて記憶部230に保存してもよい。
〔実施形態5〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図16は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。図17は本実施形態に係るシステム1の動作の一例を説明するフロー図である。端末装置100がセンサ160を備え、サーバ200の主制御部240が誤差算出部248を備え、システム1において、ステップS20、S30、S80、S90およびS100の替りにステップS21、S31、S82、S92およびS103を実行する点において実施形態1と異なっている。
本実施形態でも、実施形態4と同様に、位置情報推定部244が、検出結果情報に含まれる最新ではない検出処理の結果を用いて端末装置100の位置情報を推定した場合の動作について説明する。本実施形態では、実施形態4とは異なり、サーバ200の誤差算出部248が端末装置100の位置情報の誤差を算出する。
センサ160は、加速度センサ、ジャイロセンサ、地磁気センサなどから構成されてよく、端末装置100の移動状態を示す移動状況情報を検出してよい。移動状況情報は、端末装置100の移動速度を示すものであってもよいし、端末装置100が移動しているか否かを示すものであってもよい。また、移動状況情報は、移動中、停止中、高速移動中、低速移動中などの種別を示すものであってもよいし、さらに、乗り物への乗車中などのステータスを示すものであってもよい。
ステップS21において、端末装置100の送信処理部144は、検出結果情報に加えて、センサ160が検出した移動状況情報をサーバ200に送信してよい。ステップS31において、サーバ200の受信処理部242は、検出結果情報および移動状況情報を受信し、記憶部230に移動状況情報を保存してよい。
そして、ステップS60において、位置情報推定部244が端末装置100の位置情報を推定できた場合(ステップS70におけるYES)、ステップS75に進む。
ステップS75では、誤差算出部248が、検出結果情報に含まれる最新の検出処理の結果に対応するタイミング情報および移動状態情報に基づいて、端末装置100の位置情報の誤差を算出してよい。一態様において、誤差算出部248は、検出結果情報に含まれる最新の検出処理の結果に対応するタイミング情報と、位置情報推定部244が端末装置100の位置情報を推定するために用いた検出処理の結果に対応するタイミング情報との差に、移動状況情報が示す移動速度を乗じた値から誤差を算出してよい。
そして、ステップS82において、送信処理部246は、位置情報推定部244が推定した端末装置100の位置情報、および、誤差算出部248が算出した誤差を示す情報を端末装置に送信してよい。
ステップS92において、端末装置100の受信処理部146は、位置情報推定部244が推定した端末装置100の位置情報、および、誤差算出部248が算出した誤差を示す情報を受信する。ステップS103において、主制御部140は二次処理を実行する。その際、主制御部140は、ステップS90において受信した誤差を示す情報を利用して二次処理を行ってもよい。
以上により、端末装置100の位置情報が過去の検出処理の結果に基づくものであったことを位置情報の誤差に反映させることができる。これにより、ユーザがより正確に位置情報を認識することができる。
<変形例>
なお、ステップS75において、誤差算出部248は、移動状況情報が示す移動速度を用いる替りに、人の平均歩行速度などの所定値を用いて端末装置100の位置情報の誤差を算出してもよい。この場合、端末装置100は、センサ160を備えていなくともよく、送信処理部144は、ステップS20において移動状況情報をサーバ200に送信しなくともよい。
〔実施形態6〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図18は本実施形態に係るシステム1の構成の一例を示す図である。システム1に、サーバ200の替りに、位置情報サービスプロバイダ10と接続されていないサーバ201が含まれている点が実施形態1と異なっている。
本実施形態では、サーバ201が位置情報サービスプロバイダ10の機能を兼ねていている構成について説明する。サーバ201は、固定された無線信号源の識別情報と位置座標とが関連付けられたデータベースを備えているか、当該データベースに接続可能になっており、位置情報サービスプロバイダ10の機能を兼ねていてもよい。これにより、サーバ201は、位置情報サービスプロバイダ10と接続せずに、サーバ200と同等の処理を実行することができる。
<変形例>
また、サーバ201は、位置情報サービスプロバイダと接続し、実施形態3と同様に、複数の位置情報サービスプロバイダがある状態を実現してもよい。この場合、サーバ201が推定位置情報を算出した場合、端末装置100に送信するプロバイダ情報は、サーバ200を示すものとしてもよい。
〔ハードウェア構成およびソフトウェアによる実現例〕
端末装置100およびサーバ200の制御ブロック(特に主制御部140および240に含まれる各部等)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、端末装置100およびサーバ200は、図19に示すようなコンピュータ(電子計算機)を用いて構成されてよい。
図19は、端末装置100およびサーバ200として利用可能なコンピュータ910の構成を例示したブロック図である。コンピュータ910は、バス911を介して互いに接続された演算装置912と、主記憶装置913と、補助記憶装置914と、入出力インターフェース915とを備えている。演算装置912、主記憶装置913、および補助記憶装置914は、それぞれ、例えばCPU、RAM(random access memory)、ソリッドステートドライブまたはハードディスクドライブであってもよい。入出力インターフェース915には、ユーザがコンピュータ910に各種情報を入力するための入力装置920、および、コンピュータ910がユーザに各種情報を出力するための出力装置930が接続される。入力装置920および出力装置930は、コンピュータ910に内蔵されたものであってもよいし、コンピュータ910に接続された(外付けされた)ものであってもよい。例えば、入力装置920は、ボタン、キーボード、マウス、タッチセンサなどであってもよく、出力装置930は、ランプ、ディスプレイ、プリンタ、スピーカなどであってもよい。また、タッチセンサとディスプレイとが一体化されたタッチパネルのような、入力装置920および出力装置930の双方の機能を有する装置を適用してもよい。そして、通信インターフェース916は、コンピュータ910が外部の装置と通信するためのインターフェースである。
補助記憶装置914には、コンピュータ910を、端末装置100またはサーバ200として動作させるための情報処理プログラムが格納されている。そして、演算装置912は、補助記憶装置914に格納された上記情報処理プログラムを主記憶装置913上に展開して該情報処理プログラムに含まれる命令を実行することによって、コンピュータ910を、端末装置100またはサーバ200が備える各部として機能させる。なお、補助記憶装置914が情報処理プログラム等の情報の記録に用いる記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。
また、コンピュータ910の外部の記録媒体に記録されているプログラム、あるいは任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータ910に供給されたプログラムを用いてコンピュータ910を機能させる構成を採用してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔付記事項〕
本明細書に記載の発明の一部は以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
端末装置であって、
前記端末装置と無線通信可能な範囲に存在し、識別情報を送信する無線信号源を検出する検出処理を行う検出処理部と、
前記検出処理部が前記検出処理を複数回行った結果を含む検出結果情報を、当該検出結果情報に基づいて前記端末装置の位置情報を推定するサーバに送信する送信処理部と、
を備えている、端末装置。
(付記2)
端末装置から、前記端末装置と無線通信可能な範囲に存在し、識別情報を送信する無線信号源を検出する検出処理を複数回行った結果を含む検出結果情報を受信する受信処理部と、
前記検出結果情報に含まれるいずれかの回の前記検出処理の結果に基づいて前記端末装置の位置情報を推定する位置情報推定部と、
を備えている、サーバ。
(付記3)
端末装置およびサーバを備えたシステムであって、
前記端末装置は、
前記端末装置と無線通信可能な範囲に存在し、識別情報を送信する無線信号源を検出する検出処理を行う検出処理部と、
前記検出処理部が前記検出処理を複数回行った結果を含む検出結果情報を、前記サーバに送信する送信処理部と、
を備え、
前記サーバは、
前記端末装置から、前記検出処理を複数回行った結果を含む検出結果情報を受信する受信処理部と、
前記検出結果情報に含まれるいずれかの回の前記検出処理の結果に基づいて前記端末装置の位置情報を推定する位置情報推定部と、
を備えている、システム
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。