〔実施形態1〕
<構成例>
以下では、本実施形態の構成例について図面を参照して説明する。図1は本実施形態に係るシステム1の構成の一例を示す図である。システム1は、一例として、端末装置100およびサーバ200によって構成されてよい。
本実施形態において、無線信号源とは、識別情報を含む無線信号を送信する無線装置であり、少なくとも一部は特定の位置座標に固定されているものであってよい。また、一態様において、無線信号源は、セルラー基地局およびWi-Fiアクセスポイントのような、端末装置100が無線接続可能な無線接続点であってよい。以下では、端末装置100の周囲に存在する無線信号源として、第1の種類の無線接続点(端末装置100が在圏しているセル(在圏セル)を提供するセルラー基地局2、端末装置100が在圏していない周囲のセル(隣接セル)を提供するセルラー基地局3)、ならびに、第2の種類の無線接続点(Wi-Fiアクセスポイント4および5)が存在する場合について説明するが、端末装置100の周囲に存在する無線信号源はこれらに限定されないことを当業者は容易に理解する。一態様において、無線信号源は、Bluetooth(登録商標)等の通信規格により無線信号を送信可能な無線装置によって実現されてもよく、例えば、BLEビーコン等であってもよい。また、一態様において、無線接続可能とは、端末装置100が無線信号源から到達した電波から識別情報を取得可能であることを含んでよい。すなわち、一態様において、端末装置100が無線信号源の識別情報を取得可能であれば、無線信号源と端末装置100とは、必ずしも通信コネクションを確立しなくともよい。
端末装置100は、セルラー基地局2を介してサーバ200に接続していてもよく、Wi-Fiアクセスポイント4または5を介してサーバ200に接続していてもよく、その他の通信経路を介してサーバ200に接続していてもよい。
サーバ200は、ネットワークを介して第1位置情報サービスプロバイダ(位置情報提供装置)10および第2位置情報サービスプロバイダ(位置情報提供装置)11と接続してよい。位置情報サービスプロバイダ(第1位置情報サービスプロバイダ10および第2位置情報サービスプロバイダ11)は、端末装置100の周囲に存在する無線信号源の情報を受信すると、端末装置100の推定位置情報を含む情報を返信するサービスを提供するサーバであってよく、本実施形態においては、端末装置100と無線通信可能な範囲に存在する無線信号源であって、識別情報を送信する少なくとも1つの無線信号源の検出結果を示す検出結果情報に基づいて、端末装置100の位置を推定する位置情報提供装置といってもよい。位置情報サービスプロバイダは、例えば、グーグル社(米国マウンテンビュー)を初めとする各社によって提供されている。また、サーバ200は、さらに、他の位置情報サービスプロバイダ(位置情報提供装置)、例えば、第3位置情報サービスプロバイダ、第4位置情報サービスプロバイダ、…等と接続してもよい。
続いて、参照する図面を替えて、本実施形態に係る端末装置100およびサーバ200の構成について説明する。図2は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。
<端末装置>
端末装置100は、通信部110、GNSS受信部115、メモリ120、記憶部130および主制御部140を備えてよい。
通信部110は、少なくとも無線信号源から識別番号を含む無線信号を受信するものであってよく、無線信号源との間で無線信号を送受信してもよい。また、通信部110は、ネットワークを介して、サーバ200と通信を行ってよい。
GNSS受信部115は、GNSS(Global Navigation Satellite System)測位用の信号を受信するものであってよい。
メモリ120には、主制御部140が実行する各種のプログラムおよびそれらのプログラムによって参照される各種のデータが一時的に格納されてよい。
記憶部130には、主制御部140によって、読み出し、書き込み、参照などされる各種の情報が格納されてよい。
主制御部140は、検出処理部142、送信処理部144、受信処理部146、セルラー通信処理部148、Wi-Fi通信処理部150およびGNSS処理部154を備えてよい。
検出処理部142は、端末装置100と無線通信可能な範囲に存在する無線信号源を検出する検出処理を行ってよい。
送信処理部144は、検出処理部142が検出処理を行った結果を示す検出結果情報を、サーバ200に送信する送信処理を行ってよい。
受信処理部146は、少なくとも、サーバ200が推定した端末装置100の位置情報を、サーバ200から受信する受信処理を行ってよい。
セルラー通信処理部148は、規定のプロトコルに従ってセルラー基地局との通信を行ってよい。セルラー通信処理部148はまた、規定のプロトコルに従って在圏セルおよび隣接セルに関する情報を取得してよい。
Wi-Fi通信処理部150は、規定のプロトコルに従ってWi-Fiアクセスポイントとの通信を行ってよい。Wi-Fi通信処理部150はまた、規定のプロトコルに従って周囲に存在するWi-Fiアクセスポイントのスキャン(Wi-Fiスキャン)を行ってよい。
GNSS処理部154は、GNSS受信部115が受信した信号に基づいて、GNSS測位を行い、端末装置100の位置情報を取得してよい。
<サーバ>
サーバ200は、通信部210、メモリ220、記憶部230および主制御部240を備えてよい。
通信部210は、ネットワークを介して、端末装置100と通信を行ってよい。
メモリ220には、主制御部240が実行する各種のプログラムおよびそれらのプログラムによって参照される各種のデータが一時的に格納されてよい。
記憶部230には、主制御部240によって、読み出し、書き込み、参照などされる各種の情報が格納されてよい。
主制御部240は、受信処理部242、位置情報取得部244、判定部246、特定部248および送信処理部250を備えてよい。
受信処理部242は、端末装置100から、端末装置100と無線通信可能な範囲に存在する少なくとも1つの無線信号源の検出結果を示す検出結果情報を受信する受信処理を行ってよい。
位置情報取得部244は、検出結果情報を用いて、位置情報サービスプロバイダ(例えば、第1位置情報サービスプロバイダ10および第2位置情報サービスプロバイダ11)から端末装置100の位置情報を取得してよい。
判定部246は、位置情報サービスプロバイダから取得した位置情報に基づいて、さらに他の位置情報サービスプロバイダから端末装置100の位置情報を取得するか否かを判定してよい。位置情報取得部244は、判定部246が他の位置情報サービスプロバイダから位置情報を取得すると判定した場合に、さらに他の位置情報サービスプロバイダから端末装置100の位置情報を取得してよい。
特定部248は、取得した1以上の位置情報に基づいて、端末装置100の位置情報を特定してよい。なお、特定部248が特定した端末装置100の位置情報は、測位結果と呼んでもよい。ここで、取得した位置情報が2以上の場合に、特定部248が端末装置100の位置情報を特定する方法は特に限定されず、種々の方法を取ることができる。
一例として、特定部248は、最後に取得が完了した位置情報に基づいて、端末装置100の位置情報を特定することとしてもよい。
また、一例として、端末装置100の位置情報を特定する一連の処理に要する時間に所定の上限値を設け、特定部248は、処理時間が当該上限値に達した時点で、最後に取得が完了した位置情報に基づいて、端末装置100の位置情報を特定することとしてもよい。所定の上限値は、予め設定した固定値であってもよいし、端末装置100から受信した検出結果情報に当該上限値を示す情報が含まれていてもよいし、端末装置100の種類ごとに異なる上限値を設定してもよい。
また、一例として、特定部248は、取得した位置情報に基づいて、どの位置情報に基づいて端末装置100の位置情報を特定するかを判定してもよい。例えば、特定部248は、取得した位置情報同士の精度を比較して、精度が高い位置情報に基づいて端末装置100の位置情報を特定してもよい。
送信処理部250は、特定部248が特定した端末装置100の位置情報を端末装置100に送信する送信処理を行ってよい。
<動作>
続いて、サーバ200の具体的動作の一例について、図3に示すフロー図を参照しつつ説明する。
まず、ステップS10において、サーバ200の受信処理部242は、通信部210を介して、端末装置100から送信された検出結果情報を受信する受信処理を行ってよい。受信処理部242は、必要に応じて受信した情報を復号してよい。
ここで、端末装置100による検出結果情報の送信について説明する。端末装置100による検出結果情報の送信は、端末装置100のネットワーク測位のために実行される。端末装置100のネットワーク測位は、例えば、端末装置100に対するユーザの操作を契機に実行されてもよいし、端末装置100に設定された間隔で定期的に実行されてもよいし、その他の契機によって実行されてもよい。
また一例として、端末装置100は、位置情報が必要な場合に、まず、GNSS処理部154がGNSS測位を実行し、GNSS測位に失敗した場合に、ネットワーク測位を実行してもよい。また一例として、端末装置100は、GNSS処理部154によるGNSS測位と、ネットワーク測位との両方を実行してもよい。また一例として、端末装置100は、ネットワーク測位のみを実行してもよい。
端末装置100は、検出結果情報の送信のため、まず、検出処理部142が、端末装置100と無線通信可能な範囲に存在する無線信号源を検出する検出処理を行ってよい。
一態様において、検出処理部142は、無線信号源が送信する識別情報を含む無線信号を通信部110が受信したことに基づいて、当該無線信号源を、端末装置100と無線通信可能な範囲に存在する無線信号源として検出してよい。また、検出処理部142は、各回の検出処理において、検出した無線信号源からの無線信号に基づいて、当該無線信号源の識別情報および当該無線信号の電波強度を検出してよい。そして、検出処理部142は、検出処理のタイミングを示すタイムスタンプを取得してよい。
また、一態様において、検出処理部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など)を取得してよい。
また、検出処理部142は、セルラー通信処理部148から在圏セルおよび隣接セルの識別情報(例えば、セルID、拡張セルID、国コード、ネットワークコード、エリアコードなど)および各セルの電波強度(例えば、dbmなど)を取得してよい。
さらに、検出処理部142は、Wi-Fiスキャンの開始または完了のタイミングを示すタイムスタンプを取得してよい。
続いて、送信処理部144は、検出処理部142が検出処理を行った結果を示す検出結果情報を生成し、当該検出結果情報を、通信部110を介してサーバ200に送信する送信処理を行ってよい。検出結果情報は、例えば、検出処理により検出した無線信号源の識別情報、当該無線信号源の電波強度、当該検出処理のタイムスタンプを含んでよい。なお、検出結果情報は、測位に用いる任意の情報を、さらに含んでよく、これらの例に特に限定されない。例えば、検出結果情報には、端末装置100のデバイス名(機種名、型名)、ユーザが端末装置100を介して享受するサービスの名称または、サービスを特定する情報(例えば、事業者が設けたサービスID)、端末装置100が接続されたネットワークを特定する情報(例えば、MCCやMNCなど)、ユーザまたは端末装置100を一意に特定する端末ID(例えば、IMSI、IMEI、MSN、uuidなど)、過去の検出結果情報に基づく過去の測位結果などが含まれてもよい。なお、記憶部130は、過去の測位結果を蓄積していてよい。また、送信処理部144は、検出結果情報と併せて、GNSS測位の結果を、通信部110を介してサーバ200に送信する処理を行ってよい。
図4は、検出結果情報のデータ構造の一例を示す図である。一例において、検出結果情報には、端末装置100の端末ID、検出処理において検出された無線信号源の識別情報、当該無線信号源の電波強度、および、当該検出処理のタイミングを示すタイミング情報が含まれてよい。一例において、識別情報には、検出処理において検出されたセルの識別情報が含まれ、電波強度には、当該セルの電波強度に関する情報が、検出されたセルの数(0個であってもよい)含まれてもよい。また、一例において、識別情報には、検出処理において検出されたWiFiアクセスポイントの識別情報が含まれ、電波強度には、当該WiFiアクセスポイントの電波強度に関する情報が、検出されたWiFiアクセスポイントの数(0個であってもよい)含まれてもよい。送信処理部144は、情報を、例えばJSON形式、XML形式、protocol buffer形式、平文形式、またはそれらにバイナリ符号化、暗号化、データ圧縮などの処理を施した形式でサーバ200に送信してよい。以上により、端末装置100による検出結果情報の送信が完了する。
サーバ200の動作の説明に戻る。ステップS11において、位置情報取得部244は、検出結果情報を、第1位置情報サービスプロバイダ10に送信し、第1位置情報サービスプロバイダ10から、第1位置情報サービスプロバイダ10が推定した端末装置100の位置情報を取得する。このとき、位置情報取得部244は、第1位置情報サービスプロバイダ10に対応するデータ形式(例えば、グーグル社の提供する位置情報サービスプロバイダに対しては、https://developers.google.com/maps/documentation/geolocation/overview?hl=jaに規定されるデータ形式)で、情報を送受信してよい。
図5は、位置情報のデータ構造の一例を示す図である。一例において、位置情報には、端末装置100の推定された位置(緯度、経度、高度)、端末装置100の位置の推定精度を示す精度情報、タイムスタンプ、端末ID、および、当該位置情報を提供する位置情報サービスプロバイダを識別する位置情報サービスプロバイダIDが含まれてよい。
一例において、精度情報には、位置情報サービスプロバイダが端末装置100の位置の推定に用いた無線信号源の種類が含まれていてもよい。一般に、位置情報サービスプロバイダが、セルラー基地局の識別情報に基づいて端末装置100の位置を推定した場合(セル測位)よりも、WiFiアクセスポイントの識別情報に基づいて端末装置100の位置を推定した場合(Wi-Fi測位)の方が、推定位置情報の精度が高くなり、BLEビーコンの識別情報に基づいて端末装置100の位置を推定した場合の方が、推定位置情報の精度がさらに高くなる。
また、一例において、精度情報には、端末装置100の位置の推定の誤差範囲(距離)を示す情報が含まれていてもよい。
ここで、位置情報サービスプロバイダの一般的な動作について説明する。但し、位置情報サービスプロバイダは、当該位置情報サービスプロバイダを運用する企業による独自のデータおよびロジックを備えていることに留意されたい。一態様において、位置情報サービスプロバイダは、固定された無線信号源の識別情報と位置座標とが関連付けられたデータベースを備えていてもよいし、当該データベースに接続可能になっていてもよい。なお、当該データベースに、移動可能な無線信号源(例えば、モバイルルーターなど)の識別情報も含まれていてもよい。
位置情報サービスプロバイダは、受信した検出結果情報に含まれる無線信号源の識別情報をデータベースと照合する。その結果、検出結果情報に含まれる無線信号源の識別情報に対応する位置座標が見つかれば、位置情報サービスプロバイダは、当該識別情報によって識別される無線信号源の位置座標を取得することができる。一方、検出結果情報に含まれる無線信号源の識別情報がデータベースに含まれない場合、および、当該識別情報が移動可能な無線信号源の識別情報と一致する場合には、当該識別情報によって識別される無線信号源の位置座標を取得することはできない。位置情報サービスプロバイダは、位置座標を取得できた識別情報と、位置座標を取得できなかった識別情報とをサーバ200への返信に含めてよい。
そして、位置情報サービスプロバイダは、端末装置100の周囲に存在する無線信号源の位置座標から端末装置100の位置を推定してよい。位置情報サービスプロバイダが、端末装置100の周囲に存在する無線信号源の位置座標から端末装置100の位置を推定する方法は特に限定されないが、受信した検出結果情報に含まれる各無線信号源の電波強度を参照して、各無線信号源からの距離を推定することにより、端末装置100の位置を推定してもよい。そして、位置情報サービスプロバイダは、推定した位置情報をサーバ200に返信する。
また、位置情報サービスプロバイダは、位置情報に、当該位置情報の精度を示す精度情報を含めてもよい。精度情報は、端末装置100の位置の推定に用いた無線信号源の種類であってよい。
また、電波強度が大きい無線信号源の位置座標を用いて位置を推定した場合の方が、電波強度が小さい無線信号源の位置座標を用いて位置を推定した場合よりも精度が高くなる。そのため、位置情報サービスプロバイダは、端末装置100の位置を推定するために用いた無線信号源の種類および電波強度に基づいて、位置情報の誤差の程度を示す値を算出して、精度情報としてサーバ200に送信してもよい。
サーバ200の動作の説明に戻る。ステップS12において、判定部246が、位置情報サービスプロバイダ(ステップS12では、第1位置情報サービスプロバイダ10)から取得した位置情報に基づいて、さらに他の位置情報サービスプロバイダ(ステップS12では、第2位置情報サービスプロバイダ11)から位置情報を取得するか否かを判定してよい。
一態様において、判定部246は、位置情報サービスプロバイダから取得した位置情報が外れ値である場合、または、位置情報サービスプロバイダから取得した位置情報の精度が低い場合に、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してよい。例えば、これに限定するものではないが、以下に示す場合に、判定部246は、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してよい:
・位置情報サービスプロバイダから取得した位置情報が、前回特定した位置情報から一定以上離れている場合、
・位置情報サービスプロバイダから取得した位置情報が、検出結果情報から特定される範囲の外である場合、
・位置情報サービスプロバイダから取得した位置情報の精度が低い場合、
・過去の測位結果の履歴に基づいて移動速度を推定し、推定に用いた過去の測位結果の測位に用いた無線信号源の属性に基づいて、当該移動速度で移動することが妥当でないと判断した場合、
・位置情報サービスプロバイダから取得した位置情報が特定の地域である場合、等。各ケースの詳細については後述する。
ステップS12において、判定部246が、他の位置情報サービスプロバイダから位置情報を取得しないと判定した場合(ステップS12におけるNO)、ステップS14に進んでよい。一方、ステップS12において、判定部246が、他の位置情報サービスプロバイダから位置情報を取得すると判定した場合(ステップS12におけるYES)、ステップS13において、位置情報取得部244は、第2位置情報サービスプロバイダ11から位置情報を取得してよい。そして、位置情報サービスプロバイダが3以上存在する場合には、同様にステップS12~S13を繰り返してもよい。すなわち、判定部246は、新たに取得した位置情報(例えば、第2位置情報サービスプロバイダ11から取得した位置情報)に基づいて、さらに他の位置情報サービスプロバイダ(例えば、第3位置情報サービスプロバイダ)から位置情報を取得するか否かを判定してもよい。
そして、ステップS14において、特定部248は、ステップS11およびステップS13(実行した場合)において取得した1以上の位置情報に基づいて、端末装置100の位置を特定してよい。一態様において、特定部248は、最後に取得した位置情報を、端末装置100の位置情報として特定してよいし、位置情報に含まれる精度情報が示す精度が最も高い位置情報を、端末装置100の位置情報として特定してよい。
そして、ステップS15において、送信処理部250は、特定部248が特定した位置情報を、通信部210を介して端末装置100に送信する送信処理を行ってよい。送信処理部250は、情報を、例えばJSON形式、XML形式、平文形式、またはそれらがバイナリ符号化された形式で端末装置100に送信してよい。
端末装置100に送信された位置情報は、端末装置100の受信処理部146が、通信部110を介して受信し、端末装置100の主制御部140が、位置情報を用いた二次処理を行ってよい。二次処理としては、位置情報に基づくアラートを報知することや、通信部110を介して所定のサーバに位置情報をアップロードすること、地図の表示または更新を行うことなどが挙げられるが、特に限定されない。
<判定例1:位置情報サービスプロバイダから取得した位置情報が、前回特定した位置情報から一定以上離れている場合>
続いて、判定部246による判定例について詳細に説明する。まず、位置情報サービスプロバイダから取得した位置情報が、前回特定した位置情報から一定以上離れている場合に、判定部246が、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定する例について説明する。
一態様において、判定部246は、位置情報サービスプロバイダ(位置情報提供装置)から取得した位置情報と、特定部248が前回特定した位置情報との差異に基づいて、他の位置情報サービスプロバイダ(位置情報提供装置)から位置情報を取得するか否かを判定してよい。
この場合、一例として、特定部248は、端末装置100毎に、取得した1以上の位置情報と、当該位置情報を取得するために用いた検出結果情報とを履歴情報として、記憶部130に記憶させてよい。一態様において、記憶部130には、各端末装置100について、当該端末装置100が、これまでネットワーク測位を行っていなかった場合を除き、少なくとも1回分の履歴情報が記憶されていればよい。
また、他の例として、受信処理部146が、端末装置100から受信した検出結果情報に端末装置100の前回の測位結果が含まれており、特定部248は、当該検出結果情報に含まれる前回の測位結果を、上述した前回特定した位置情報として用いてもよい。この場合は、記憶部130に、上記履歴情報を記憶しなくともよい。
図6は、履歴情報のデータ構造の一例を示す図である。一例において、履歴情報には、検出結果情報と、1以上の位置情報とが含まれてよい。各位置情報には、当該位置情報が特定部248によって端末装置100の位置を示すものとして特定された位置情報であるか否かを示す特定結果が含まれていてよい。
判定部246は、ステップS12において、記憶部130から履歴情報を読み出すことにより、特定部248が前回、端末装置100の位置情報として特定した位置情報(以下、「前回位置情報」と記載する。)を取得してよい。そして、判定部246は、位置情報サービスプロバイダから取得した位置情報(以下、「今回位置情報」と記載する。)と、前回位置情報との間の距離(移動距離)を算出してよい。判定部246は、また、今回位置情報に含まれるタイムスタンプが示す時刻と、前回位置情報に含まれるタイムスタンプが示す時刻との差(測位間隔)を算出してよい。そして、判定部246は、移動距離を測位間隔(移動に要した時間)で除した値が閾値以上であった場合には、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してよい。すなわち、測位間隔に比べた移動距離の比が閾値以上の場合、端末装置100は想定外の速度で移動していることになり、今回位置情報の精度が疑わしいものとして、判定部246は、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してよい。なお、この時に用いる前回位置情報は、精度情報を考慮してもよく、例えば精度情報が一定以下であった場合には、さらに前の測位結果を用いることとしてもよい。また、閾値の値は予め設定された値でもよいし、過去の位置情報の履歴に基づいて、推定された移動速度に応じて決定されてもよい。これにより、さらに他の位置情報サービスプロバイダから位置情報を取得するか否かを適切に判定することができる。
なお、一例として、判定部246は、端末装置100の移動状況を考慮して、上記判定を行ってもよい。例えば、端末装置100の送信処理部144は、検出結果情報に、端末装置100の移動状態を示す移動状況情報を含めてもよい。移動状況情報は、端末装置100の移動速度を示すものであってもよいし、端末装置100が移動しているか否かを示すものであってもよい。また、移動状況情報は、移動中、停止中、高速移動中、低速移動中などの種別を示すものであってもよいし、さらに、乗り物への乗車中などのステータスを示すものであってもよい。端末装置100は、移動状況情報を、端末装置100が備える加速度センサ、ジャイロセンサ、地磁気センサなどから取得してもよいし、端末装置100が備えるICカード情報の利用履歴やBlutoothの接続状況や接続先のデバイス情報などを参照して判定してもよい。
そして、判定部246は、当該移動状況情報に応じて、ステップS12において用いる閾値を変化させてもよい。例えば、判定部246は、端末装置100の移動が検知された場合には、閾値を大きくしてもよい。これにより、端末装置100が実際に移動している場合に、判定部246が誤って、位置情報の精度が疑わしいと判定することを防ぐことができる。
<判定例2:位置情報サービスプロバイダから取得した位置情報が、検出結果情報から特定される範囲の外である場合>
次に、位置情報サービスプロバイダから取得した位置情報が、検出結果情報から特定される範囲の外である場合に、判定部246が、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定する例について説明する。
一態様において、検出結果情報が示す無線信号源に、特定の無線信号源が含まれている場合、判定部246は、当該特定の無線信号源の電波到達範囲を取得してよい。そして、位置情報サービスプロバイダ(位置情報提供装置)から取得した位置情報が、当該電波到達範囲外である場合に、判定部246は、他の位置情報提供装置から位置情報を取得すると判定してもよい。
一例として、サーバ200の記憶部230には、図7に示すような、特定の複数の無線信号源の各々の識別情報とその電波到達範囲との組が記憶されていてもよい。そして、ステップS12において、判定部246は、検出結果情報が示す無線信号源の識別情報が、記憶部230に記憶された特定の複数の無線信号源のいずれかの識別情報と一致した場合には、当該識別情報に対応する電波到達範囲を取得してよい。そして、判定部246は、位置情報サービスプロバイダから取得した位置情報が、当該電波到達範囲外である場合に、判定部246は、他の位置情報提供装置から位置情報を取得すると判定してよい。
特定の複数の無線信号源は、無線到達範囲が既知の無線信号源であってよい。検出結果情報が示す無線信号源に、無線到達範囲が既知の無線信号源が含まれている場合には、当該無線到達範囲外を示す位置情報は、その精度が疑わしいものとして、判定部246は、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してよい。これにより、さらに他の位置情報サービスプロバイダから位置情報を取得するか否かを適切に判定することができる。
なお、特定の複数の無線信号源の各々の識別情報とその電波到達範囲との組は、サーバ200が記憶している必要はなく、例えば、外部のサーバが記憶しており、判定部246が、通信部210を介して当該外部のサーバと通信する構成であってもよい。
<判定例3:位置情報サービスプロバイダから取得した位置情報の精度が低い場合>
次に、位置情報サービスプロバイダから取得した位置情報の精度が低い場合に、判定部246が、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定する例について説明する。
一態様において、位置情報サービスプロバイダ(位置情報提供装置)から取得した位置情報には、精度情報が含まれており、判定部246は、当該精度情報に基づいて、他の位置情報サービスプロバイダ(位置情報提供装置)から位置情報を取得するか否かを判定してもよい。
一例として、精度情報が、例えば、想定される誤差範囲など、誤差の程度を示すものであり、精度情報が示す誤差の程度が閾値以上である場合に、判定部246は、他の位置情報サービスプロバイダから位置情報を取得すると判定してもよい。
他の一例として、精度情報が、例えば、位置情報サービスプロバイダが位置情報の推定に用いた無線信号源の種類であり、精度情報が示す種類が、他の種類の無線信号源よりも位置情報の精度が低い傾向にある種類の無線信号源、例えば、セルラー基地局を示している場合に、判定部246は、他の位置情報サービスプロバイダから位置情報を取得すると判定してもよい。
これにより、例えば、検出結果情報に含まれる無線信号源に、あるWiFiアクセスポイントの識別情報が含まれていたが、この識別情報を第1位置情報サービスプロバイダ10が知らず、第1位置情報サービスプロバイダ10からの位置情報がセルラー基地局に基づくものとなった場合に、判定部246が、第2位置情報サービスプロバイダ11から位置情報を取得すると判定することで、WiFiアクセスポイントの識別情報に基づく位置情報を取得できる可能性がある。
但し、検出結果情報に含まれる無線信号源に、セルラー基地局の識別情報しか含まれていない場合には、WiFiアクセスポイントの識別情報に基づく位置情報を取得できる可能性はないため、判定部246は、第2位置情報サービスプロバイダ11から位置情報を取得しないと判定してもよい。
<判定例4:過去の測位結果の履歴に基づいて移動速度を推定し、当該移動速度で移動することが妥当でないと判断した場合>
一態様において、判定部246は、端末装置100の過去の測位結果から推定した端末装置100の移動速度に基づいて、さらに他の位置情報サービスプロバイダから位置情報を取得するか否かを判定してもよい。
すなわち、判定部246は、過去の測位結果の履歴に基づいて端末装置100の移動速度を推定し、当該移動速度で移動することが妥当でないと判断した場合に、さらに他の位置情報サービスプロバイダから位置情報を取得すると判定してもよい。
判定部246は、端末装置100の移動速度が妥当であるか否かを、例えば、(i)一律に所定の閾値を用いて判断してもよいし、(ii)当該移動速度の推定に用いた無線信号源の属性(例えば、「新幹線の沿線にある」、「遊歩道にある」など)に応じた閾値を用いて判断してもよいし、(iii)端末装置100の用途(例えば、「人が携帯して使用する装置」、「車載用装置」など)に応じた閾値を用いて判断してもよいし、その他の指標に応じた閾値を用いて判断してもよい。
一例として、判定部246は、過去の測位結果の測位に用いた無線信号源の属性を、例えば、地図データを参照して判定してもよい。地図データには、当該地図データが示す地域に存在する各無線信号源の属性と、設置場所(例えば、緯度および経度)および電波到達範囲が含まれてよい。地図データは、記憶部230に予め記憶されていてもよいし、通信部210を介して、インターネット等から取得してもよい。また、他の例として、判定部246は、無線信号源のIDと属性とを対応付けたデータベースを参照して、過去の測位結果の測位に用いた無線信号源の属性を判定してもよい。
無線信号源の属性としては、端末装置100の移動速度の想定範囲を規定するものであってよい。一例として、判定部246は、推定した端末装置100の移動速度が閾値を越えた場合に、当該移動速度で移動することが妥当でないと判断してよく、当該閾値は、端末装置100の移動速度の推定に用いた無線信号源の属性に応じて設定してよい。例えば、無線信号源の属性が「遊歩道にある」である場合の閾値に比べ、属性が「新幹線の沿線にある」である場合の閾値を大きく設定してよい。
他の一例として、判定部246は、端末装置100の用途を、端末装置100から送出された識別子(例えば、IMEI、UUIDなど)に応じて判定してもよい。判定部246は、端末装置100から送出された識別子によって特定されるユーザやデバイスと、その用途とを対応付けたデータベースを参照して、端末装置100の用途を判定してよい。また、判定部246は、端末装置100の用途を、端末装置100を用いてユーザが利用しているサービスの名称または、サービスを特定する識別子に応じて判断してもよい。
端末装置100の用途としては、端末装置100の移動速度の想定範囲を規定するものであってよい。一例として、判定部246は、推定した端末装置100の移動速度が閾値を越えた場合に、当該移動速度で移動することが妥当でないと判断してよく、当該閾値は、端末装置100の用途に応じて設定してよい。例えば、端末装置100の用途が「人が携帯して使用する装置」である場合の閾値に比べ、用途が「車載用装置」である場合の閾値を大きく設定してよい。
さらに他の一例として、端末装置100は、当該端末装置100の用途に応じた閾値を保持して、サーバ200に送出するようになっており、判定部246は、推定した端末装置100の移動速度が当該閾値を越えた場合に、当該移動速度で移動することが妥当でないと判断してよい。
<判定例5:位置情報サービスプロバイダから取得した位置情報が特定の地域である場合>
一態様において、判定部246は、位置情報サービスプロバイダから取得した位置情報が特定の地域である場合に、さらに、当該特定の地域に対応付けられた他の位置情報サービスプロバイダから位置情報を取得すると判定してもよい。
例えば、東日本では、位置情報サービスプロバイダAから取得した位置情報が使用されるケースが多いが、西日本では、位置情報サービスプロバイダBから取得した位置情報が使用されるケースが多い場合、東日本および西日本を特定の地域として、東日本に位置情報サービスプロバイダAを対応付け、西日本に位置情報サービスプロバイダBを対応付けておき、判定部246は、最初の位置情報サービスプロバイダから取得した位置情報が、東日本または西日本である場合に、東日本または西日本に対応付けられた位置情報サービスプロバイダから位置情報を取得すると判定してもよい。なお、判定部246は、最初の位置情報サービスプロバイダと、最初の位置情報サービスプロバイダから取得した位置情報が示す特定の地域に対応付けられた位置情報サービスプロバイダとが一致する場合には、さらに他の位置情報サービスプロバイダから位置情報を取得しないと判定してよい。
<特定例>
続いて、特定部248による特定例について詳細に説明する。上述したように、一態様において、特定部248は、最後に取得した位置情報を端末装置100の位置情報として特定してもよいが、これに限定されない。
一態様において、特定部248は、以下のような指標に基づいて、端末装置100の位置情報を特定してもよい。
・各位置情報に含まれる精度情報、
・各位置情報と、特定部248が前回特定した位置情報との差異、
・検出結果情報が示す無線信号源に特定の無線信号源が含まれている場合、各位置情報が、当該特定の無線信号源の電波到達範囲内か否か、
・位置情報サービスプロバイダからの位置情報取得処理においてエラーが発生したか否か(位置情報サービスプロバイダのサーバがダウンしている場合、および、位置情報サービスプロバイダが位置情報の推定に失敗した場合を含む)、
・位置情報の含まれるエリア、等。
ここで、位置情報の含まれるエリア(国、地域等)に基づいて、端末装置100の位置情報を特定する場合について詳細に説明する。一態様において、特定部248は、位置情報サービスプロバイダ毎に好適(得意)または不適(苦手)なエリア(国、地域等)の座標範囲を示す情報を紐づけた情報を参照し、いずれの位置情報サービスプロバイダから取得した位置情報を端末装置100の位置情報として特定してもよい。例えば、特定部248は、取得した位置情報が含まれるエリアに好適な位置情報サービスプロバイダから取得した位置情報を端末装置100の位置情報として特定してもよいし、取得した位置情報が含まれるエリアに不適な位置情報サービスプロバイダ以外の位置情報サービスプロバイダから取得した位置情報を端末装置100の位置情報として特定してもよい。
一般に、位置情報サービスプロバイダは、各位置情報サービスプロバイダを運営する企業が独自に収集した各無線信号源(セルラー基地局、WiFiアクセスポイント、BLEビーコン等)の識別情報および座標情報に基づいて、独自のロジックによって位置を推定する。そのため、端末装置100の検出結果情報が同一であっても、各位置情報サービスプロバイダから取得される位置情報は異なることがある。
そのため、サーバ200は、複数の位置情報サービスプロバイダから位置情報を取得し、外れ値などを検知して疑わしい位置情報を除外することにより、端末装置100の位置の推定精度を高めることができる。
ただし、ネットワークを介して、各位置情報サービスプロバイダにアクセスを行う場合、常に複数のプロバイダに対してアクセスを行うこととすると、同一の検出結果情報をサービスプロバイダの数だけネットワークに送信する必要があり、ネットワークの負荷を高める。一方、ネットワークの負荷を抑制するために、順に、各位置情報サービスプロバイダから位置情報を取得する場合、1つ目の位置情報サービスプロバイダの処理が完了するのを待った後で、2つ目以降の位置情報サービスプロバイダへアクセスするため、全体の処理時間が増大する。
本実施形態によれば、サーバ200は、位置情報サービスプロバイダ(位置情報提供装置)から取得した位置情報に基づいて、さらに他の位置情報サービスプロバイダ(位置情報提供装置)から位置情報を取得するか否かを判定することにより、利用する位置情報サービスプロバイダを適切に絞ることが可能となる。複数の位置情報サービスプロバイダを利用することによるメリット(位置の推定精度の向上)の享受と、デメリット(処理時間の増大)の抑制を両立させることができる。
<位置情報サービスプロバイダの選択>
本実施形態において、サーバ200が、複数の位置情報サービスプロバイダをどのような順番で利用するか、換言すれば、次に利用する位置情報サービスプロバイダとして、複数の位置情報サービスプロバイダのうちのいずれの位置情報サービスプロバイダを選択するかについては、種々の態様を取ることができる。
一態様において、サーバ200は、予め定められた順序で、位置情報サービスプロバイダを利用してもよい。なお、サーバ200は、全ての端末装置100について共通の順序で、位置情報サービスプロバイダを利用してもよいし、端末装置100毎に予め定められた順序で、位置情報サービスプロバイダを利用してもよい。端末装置100毎に予め定められた順序で、位置情報サービスプロバイダを利用する場合には、当該順序は、端末装置100のユーザの契約情報、当該ユーザが設定した設定情報等に応じて予め定められたものであってもよい。ユーザの契約情報、ユーザが設定した設定情報等の順序を決定するための情報は、予めサーバ200に記憶されていてもよいし、端末装置100から適宜送信されてもよい。また、サーバ200は、端末装置100から送信されたユーザの契約情報、ユーザが設定した設定情報等の更新にともなって順序を再更新してもよい。この場合、端末装置100は、各種情報に変更があった場合に、変更後の情報をサーバ200に送信してもよい。
また、他の一態様において、サーバ200は、位置情報サービスプロバイダを利用する順序や組み合わせを動的に変更してもよい。動的に変更する例としては、以下のような例が挙げられる。
(1)位置情報サービスプロバイダを利用するか否かを変更する
一態様において、サーバ200(の位置情報取得部244)は、第1位置情報サービスプロバイダ10から取得した位置情報に基づいて、第2位置情報サービスプロバイダ11以下の各位置情報サービスプロバイダを利用するか否かを選択してもよい。
例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダBは位置精度が悪く使用することが適切でないなどの事情があるものとする。このとき、サーバ200は、位置情報サービスプロバイダAから得られた位置情報が所定の地域である場合に、位置情報サービスプロバイダBをスキップして、位置情報サービスプロバイダCを利用してもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダA、位置情報サービスプロバイダCの順となる。これにより、好適でない位置情報サービスプロバイダの使用を避けることが出来る。
(2)利用する位置情報サービスプロバイダの組み合わせや順序を変更する
一態様において、サーバ200(の位置情報取得部244)は、第1位置情報サービスプロバイダ10から取得した位置情報に基づいて、第2位置情報サービスプロバイダ11以下の各位置情報サービスプロバイダとして利用する位置情報サービスプロバイダを入れ替えてもよいし、各位置情報サービスプロバイダを利用する順序を変更してもよい。
例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダBよりも位置情報サービスプロバイダDの方が得られる位置精度が良いなどの事情があるものとする。このとき、サーバ200は、位置情報サービスプロバイダAから得られた位置情報が所定の地域である場合に、位置情報サービスプロバイダBに替えて、位置情報サービスプロバイダDを利用してもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダA、位置情報サービスプロバイダD、位置情報サービスプロバイダCの順となる。これにより、好適な位置情報サービスプロバイダを利用することが出来る。
また例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダBよりも位置情報サービスプロバイダCの方が得られる位置精度が良いなどの事情があるものとする。このとき、サーバ200は、位置情報サービスプロバイダAから得られた位置情報が所定の地域である場合に、位置情報サービスプロバイダBと位置情報サービスプロバイダCの利用順序を入れ替えてもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダA、位置情報サービスプロバイダC、位置情報サービスプロバイダBの順となる。これにより、好適な位置情報サービスプロバイダを優先的に利用することが出来る。
(3)位置情報サービスプロバイダから取得された位置情報以外の情報に基づいて変更する
一態様において、サーバ200(の位置情報取得部244)は、位置情報サービスプロバイダから取得された位置情報以外の情報に基づいて、第1位置情報サービスプロバイダ10以下の各位置情報サービスプロバイダを利用するか否かを選択してもよいし、各位置情報サービスプロバイダとして利用する位置情報サービスプロバイダを入れ替えてもよいし、各位置情報サービスプロバイダを利用する順序を変更してもよい。
位置情報サービスプロバイダから取得された位置情報以外の情報としては、例えば以下が挙げられる:
・端末装置100によるGNSS測位結果
・端末装置100が在圏しているネットワークを特定する情報(例えば、MCC、MNCなど)
・端末装置100またはユーザが端末装置100を介して享受するサービスを特定する情報(例えば、端末ID、サービス名など)。
・端末装置100が送信した、もしくは、サーバ200が予め記憶している、ユーザが設定した設定情報。
例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダAよりも位置情報サービスプロバイダDの方が位置精度が良く、位置情報サービスプロバイダBは、当該地域の測位に対応していないなどの事情があるものとする。このとき、サーバ200は、端末装置100によるGNSS測位結果が所定の地域を示している場合に、位置情報サービスプロバイダAに替えて、位置情報サービスプロバイダDを利用し、位置情報サービスプロバイダBをスキップしてもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダD、位置情報サービスプロバイダCの順となる。これにより、好適な位置情報サービスプロバイダを利用することが出来る。
また、端末装置100が在圏しているネットワークを特定する情報(例えば、MCC、MNCなど)によれば、国単位もしくはキャリア単位のサービスエリアを特定することができる。これにより、端末装置100が所定の地域にあるか否かを判定することができる。例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダAよりも位置情報サービスプロバイダDの方が位置精度が良く、位置情報サービスプロバイダBは、当該地域の測位に対応していないなどの事情があるものとする。このとき、サーバ200は、端末装置100が在圏しているネットワークを特定する情報が所定の地域を示している場合に、位置情報サービスプロバイダAに替えて、位置情報サービスプロバイダDを利用し、位置情報サービスプロバイダBをスキップしてもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダD、位置情報サービスプロバイダCの順となる。これにより、好適な位置情報サービスプロバイダを利用することが出来る。特に、国際ローミングデバイスである場合に、国ごとに利用する位置情報サービスプロバイダを変更することができる。
また、所定の地域でのみ利用される端末装置やサービスがある場合、端末装置100またはユーザが端末装置100を介して享受するサービスを特定する情報によれば、端末装置100が所定の地域にあるか否かを判定することができる。例えば、通常、サーバ200は、位置情報サービスプロバイダA、位置情報サービスプロバイダB、位置情報サービスプロバイダCの順に各位置情報サービスプロバイダを利用するものとする。また、所定の地域では、位置情報サービスプロバイダAよりも位置情報サービスプロバイダDの方が位置精度が良く、位置情報サービスプロバイダBは、当該地域の測位に対応していないなどの事情があるものとする。このとき、サーバ200は、端末装置100またはサービスを特定する情報が、端末装置100が所定の地域にあることを示している場合に、位置情報サービスプロバイダAに替えて、位置情報サービスプロバイダDを利用し、位置情報サービスプロバイダBをスキップしてもよい。すなわち、サーバ200が各位置情報サービスプロバイダを利用する順序は、位置情報サービスプロバイダD、位置情報サービスプロバイダCの順となる。これにより、好適な位置情報サービスプロバイダを利用することが出来る。
<変形例>
なお、サーバ200は、ステップS15において位置情報を端末装置100に送信せずに、主制御部240が、当該位置情報を用いた二次処理を実行してもよい。二次処理としては、主制御部240が、端末装置100の位置情報を記憶部230に蓄積することや、当該位置情報に基づくアラートを報知することや、通信部210を介して他のサーバに当該位置情報を転送すること、SMS(Short Message Service)、MMS(Multimedia Messaging Service)等のメッセージサービスや電子メール等を介して、他機器やユーザへ位置情報、アラート情報などの通知を行うことなどが挙げられるが、特に限定されない。
また、端末装置100がネットワーク測位のみを実行する場合、端末装置100は、GNSS受信部115およびGNSS処理部154を備えていなくともよい。
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図8は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。本実施形態では、サーバ200の主制御部240が、履歴処理部252を備え、記憶部230に履歴情報を蓄積する点が実施形態1と異なっている。
本実施形態において、特定部248は、ステップS14において、端末装置100毎に、取得した1以上の位置情報と、当該位置情報を取得するために用いた検出結果情報とを履歴情報として、記憶部130に記憶させてよい。なお、履歴情報を記憶部130に記憶させる処理は、履歴処理部252が行ってもよい。
一例において、履歴情報には、検出結果情報と、1以上の位置情報とが含まれてよい。各位置情報には、当該位置情報が特定部248によって端末装置100の位置を示すものとして特定された位置情報であるか否かを示す特定結果が含まれていてよい。また、履歴情報に含まれる過去の位置情報には、同じ履歴情報に含まれる検出結果情報のタイムスタンプが対応付けられているといってもよい。履歴処理部252は、記憶部230に記憶されている履歴情報のうち、一定期間以上過去のものを削除してもよい。
そして、履歴処理部252は、受信処理部242が受信した検出結果情報と、記憶部230に蓄積された履歴情報が示す過去の検出結果情報とを比較して、一致度を算出する。
一例として、一致度は、受信処理部242が受信した検出結果情報と過去の検出結果情報とがどの程度一致しているかを示す指標であればよく、特に限定されない。例えば、一致度は、検出結果情報に含まれる識別情報が一致する割合であってもよいし、検出結果情報に含まれるセルラー基地局の識別情報が一致していることを前提として、検出結果情報に含まれるWiFiアクセスポイントの識別情報のうち、電波強度が強い上位所定数の識別情報が一致する割合であってもよい。
一態様において、履歴処理部252が比較を行う履歴情報は、前回特定部248が端末装置100の位置を特定した際の履歴情報(前回の履歴情報)のみであってもよい。また、他の一態様において、履歴処理部252は、一定期間内の履歴情報全てに対して比較を行ってもよい。
そして、履歴処理部252は、ある履歴情報について算出した一致度が、第1の基準を満たしている場合(例えば、第1の閾値を越えている場合)、当該履歴情報に含まれる過去の位置情報を使用して、端末装置100の位置情報を特定すると判定してもよい。
一例として、履歴処理部252が、過去の位置情報を使用して、端末装置100の位置情報を特定すると判定した場合、特定部248は当該過去の位置情報を、端末装置100の位置情報として特定してもよい。特に、特定部248は、履歴情報に含まれる過去の位置情報のうち、端末装置100の位置情報として過去に特定された位置情報を、端末装置100の位置情報として特定してもよい。
この時、位置情報取得部244は、いずれの位置情報サービスプロバイダからも位置情報を取得しないこととしてもよいし、位置情報サービスプロバイダから位置情報を取得してもよい。
ここで、特定部248は、使用する過去の位置情報のタイムスタンプが所定の基準より古い場合、当該過去の位置情報の正否を、位置情報サービスプロバイダから取得した端末装置100の位置情報と比較することにより判定し、正しいと判定した場合には、当該過去の位置情報に対応付けられたタイムスタンプを更新し、正しくないと判定した場合には、当該過去の位置情報を削除してもよい。これにより、古く、正しくない過去の位置情報を誤って用いることを避けるとともに、古くても正しい過去の位置情報を有効利用することができる。なお、特定部248は、過去の位置情報と、位置情報サービスプロバイダから取得した端末装置100の位置情報との差異が所定の閾値以下である場合に、当該過去の位置情報が正しいと判定してもよい。
続いて、本実施形態におけるサーバ200の具体的動作の一例について、図9に示すフロー図を参照しつつ説明する。ステップS10、S11、S12、S13、S14およびS15の内容は、実施形態1と同様であり、ステップS10の後、ステップS20を実行する点が異なっている。
ステップS20では、履歴処理部252が、上述したように、端末装置100の位置を特定するために、過去の位置情報を使用するか否かを判定する。履歴処理部252が、過去の位置情報を使用しないと判定した場合(ステップS20におけるNO)、ステップS11に進んでよい。履歴処理部252が、過去の位置情報を使用すると判定した場合(ステップS20におけるYES)、ステップS11、S12、S13およびS14をスキップし、ステップS21において、特定部248が、当該過去の位置情報を、端末装置100の位置情報として特定して、ステップS15に進んでよい。
以上のように、サーバ200は、過去の検出結果情報および当該過去の検出結果情報に対応する過去の位置情報を含む履歴情報を蓄積し、受信処理部242が受信した検出結果情報が、過去の検出結果情報と所定の基準以上の一致度を有している場合に、当該過去の検出結果情報に対応する過去の位置情報を用いて、端末装置100の位置を特定することができる。これにより、サーバ200は、位置情報サービスプロバイダから位置情報を取得せずに、端末装置100の位置を特定することができ、コストおよび処理時間を削減することができる。
<変形例>
続いて、本実施形態におけるサーバ200の具体的動作の一変形例について、図10に示すフロー図を参照しつつ説明する。ステップS10、S11、S12、S13、S14およびS15の内容は、実施形態1と同様であり、ステップS20およびS21の内容は、上述した通りであり、ステップS14の前に、ステップS22を実行する点が異なっている。
ステップS22では、それまでに取得した1以上の位置情報が所定の条件を満たさない場合に、再度、履歴処理部252が、端末装置100の位置を特定するために、過去の位置情報を使用するか否かを判定してよい。但し、ステップS22では、履歴処理部252は、第1の基準の代わりに第1の基準よりも緩い第2の基準を用いて、過去の位置情報を使用するか否かを判定してよい。
なお、取得した1以上の位置情報が所定の条件を満たさない場合とは、(i)各位置情報に含まれる精度情報が所定の条件を満たさない場合や、(ii)各位置情報と、特定部248が前回特定した位置情報との差異が所定の閾値よりも大きい場合、および(iii)検出結果情報が示す無線信号源に特定の無線信号源が含まれている場合、各位置情報が、当該特定の無線信号源の電波到達範囲の外である場合などであってよい。
そして、履歴処理部252が、過去の位置情報を使用しないと判定した場合(ステップS22におけるNO)、ステップS14に進んでよい。履歴処理部252が、過去の位置情報を使用すると判定した場合(ステップS22におけるYES)、ステップS14をスキップし、ステップS21において、特定部248が、当該過去の位置情報を、端末装置100の位置情報として特定して、ステップS15に進んでよい。
すなわち、ステップS20において算出された受信処理部242が受信した検出結果情報と過去の検出結果情報との一致度が第1の基準を満たさない場合において、ステップS11~S13において取得した1以上の位置情報が所定の条件を満たない場合に、当該一致度が第1の基準よりも緩い第2の基準を満たせば、特定部248は当該過去の検出結果情報に対応する過去の位置情報を、端末装置100の位置情報として特定してもよい。これにより、サーバ200は、位置情報サービスプロバイダから取得した位置情報の精度が悪い場合に、過去の位置情報を用いて端末装置100の位置を特定することができる。
なお、サーバ200は、過去の位置情報の使用を優先するか否かの設定を、端末装置100から受信するようになっていてもよい。例えば、端末装置100の送信処理部144は、検出結果情報に、過去の位置情報の使用を優先するか否かの設定を含めてもよい。
端末装置100から過去の位置情報の使用を優先する設定を受信した場合、履歴処理部252は、ステップS20において、第1の基準を緩くしてもよいし、セルラー基地局の識別情報が一致すれば、過去の位置情報を使用すると判定してもよい。これにより、精度がそれほど必要とされない場合に、コストおよび処理負荷軽減を実現することができる。
〔実施形態3〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図11は本実施形態に係るシステム1の構成の一例を示す図である。本実施形態では、BLEビーコン6が端末装置100の近傍に存在し、サーバ200が、第2の種類の位置情報サービスプロバイダ12と接続している点が実施形態1と異なっている。
図12は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。本実施携帯では、端末装置100の主制御部140は、ビーコン通信処理部152を備えてよい。ビーコン通信処理部152は、BLEビーコン6が送信するアドバタイズパケットを受信し、アドバタイズパケットに含まれる識別情報(例えば、uuid、major、minorなど)を取得してよい。送信処理部144は、ビーコン通信処理部152が取得したBLEビーコンの識別情報を、検出結果情報に含めて、サーバ200に送信する。
ここで、本実施形態では、無線信号源のうち、例えば、セルラー基地局およびWiFiアクセスポイントを、第1の種類の無線信号源と呼び、第1の種類の無線信号源よりも、位置推定精度が高くなる無線信号源、例えば、BLEビーコンを、第2の種類の無線信号源と呼ぶ。また、本実施形態では、第1位置情報サービスプロバイダ10および第2位置情報サービスプロバイダ11は、第1の種類の無線信号源に基づいて端末装置100の位置を推定する第1の種類の位置情報サービスプロバイダと呼び、第2の種類の位置情報サービスプロバイダ12は、第2の種類の無線信号源に基づいて端末装置100の位置を推定してよい。
続いて、本実施形態におけるサーバ200の具体的動作の一例について、図13に示すフロー図を参照しつつ説明する。ステップS10、S11、S12、S13、S14およびS15の内容は、実施形態1と同様であり、ステップS10の後、ステップS30を実行する点が異なっている。
ステップS30では、位置情報取得部244は、受信した検出結果情報が示す無線信号源に、第2の種類の無線信号源が含まれているか否かを判定してよい。そして、位置情報取得部244が、第2の種類の無線信号源が含まれていないと判定した場合(ステップS30におけるNO)、ステップS11に進んでよい。位置情報取得部244が、第2の種類の無線信号源が含まれていると判定した場合(ステップS30におけるYES)、ステップS11、S12、S13およびS14をスキップし、ステップS31において、位置情報取得部244は、当該第2の種類の無線信号源の識別情報を第2の種類の位置情報サービスプロバイダ12に送信し、第2の種類の位置情報サービスプロバイダ12から位置情報を取得してよい。そして、特定部248が第2の種類の位置情報サービスプロバイダ12から取得された位置情報を、端末装置100の位置情報として特定して、ステップS15に進んでよい。
このように、検出結果情報が示す無線信号源に、第2の種類の無線信号源が含まれている場合、特定部248は、位置情報取得部244が、当該第2の種類の無線信号源に基づいて取得した位置情報を、端末装置100の位置情報として特定してもよい。これにより、第2の種類の無線信号源に基づいて端末装置100の位置を精度高く推定することができる。
<変形例>
続いて、本実施形態におけるサーバ200の具体的動作の一変形例について、図14に示すフロー図を参照しつつ説明する。ステップS10、S11、S13、S14およびS15の内容は、実施形態1と同様であり、ステップS30の内容は、上述した通りである。
ステップS30において、位置情報取得部244が、第2の種類の無線信号源が含まれていると判定した場合(ステップS30におけるYES)、ステップS32において、位置情報取得部244は、当該第2の種類の無線信号源の識別情報を第2の種類の位置情報サービスプロバイダ12に送信し、第2の種類の位置情報サービスプロバイダ12から位置情報および当該第2の種類の無線信号源の電波到達範囲を取得してよい。そして、ステップS11に進んでよい。
ここで、ステップS11において、位置情報取得部244が、第1位置情報サービスプロバイダ10から位置情報を取得した後、ステップS12の代わりにステップS33を実行する。
ステップS33では、判定部236は、位置情報サービスプロバイダ(第1位置情報サービスプロバイダ10)から取得した位置情報が、ステップS32において取得された第2の種類の無線信号源の電波到達範囲の外である場合には、(i)他の位置情報サービスプロバイダ(第2位置情報サービスプロバイダ11)から位置情報を取得すると判定してもよいし、(ii)他の位置情報サービスプロバイダから位置情報を取得せずに、第2の種類の無線信号源に基づいて位置情報取得部244が取得した位置情報を、端末装置100の位置情報として特定すると判定してもよい。
そして、ステップS33において、判定部236が、第2の種類の無線信号源に基づいて位置情報取得部244が取得した位置情報を、端末装置100の位置情報として特定すると判定していた場合には、ステップS34において、特定部238が、位置情報取得部244が取得した位置情報を、端末装置100の位置情報として特定してよい。
また、ステップS33において、判定部236が、他の位置情報サービスプロバイダ(第2位置情報サービスプロバイダ11)から位置情報を取得すると判定していた場合には、ステップS34において、特定部238は、第2位置情報サービスプロバイダ11から取得された位置情報が、ステップS32において取得された第2の種類の無線信号源の電波到達範囲の外であるか否かを判定してよい。第2位置情報サービスプロバイダ11から取得された位置情報が、第2の種類の無線信号源の電波到達範囲の外である場合には、特定部238は、位置情報取得部244が取得した位置情報を、端末装置100の位置情報として特定してよい。第2位置情報サービスプロバイダ11から取得された位置情報が、第2の種類の無線信号源の電波到達範囲の内である場合には、特定部238は、第2位置情報サービスプロバイダ11から取得された位置情報を、端末装置100の位置情報として特定してもよい。これにより、第2の種類の無線信号源に基づいて端末装置100の位置を精度高く推定することができる。
〔実施形態4〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
本実施形態では、位置情報サービスプロバイダの優先順位と、当該優先順位の変更について説明する。
まず、位置情報取得部244は、優先順位に従って各位置情報サービスプロバイダから位置情報を取得してよい。すなわち、上述した実施形態では、第1位置情報サービスプロバイダ10の優先順位が、第2位置情報サービスプロバイダ11の優先順位よりも高く設定されており、位置情報取得部244は、これに従って、第1位置情報サービスプロバイダ10、第2位置情報サービスプロバイダ11の順序で位置情報を取得してよい。
また、特定部248は、各位置情報サービスプロバイダについて、当該位置情報サービスプロバイダから取得した位置情報に基づいて端末装置100の位置を特定した割合に応じて各位置情報サービスプロバイダの優先順位を変更してもよい。
本実施形態における優先順位の変更動作の一例について、図15に示すフロー図を参照しつつ説明する。
ステップS40において、特定部248は、各位置情報サービスプロバイダについて、当該位置情報サービスプロバイダから取得した位置情報に基づいて端末装置100の位置を特定した回数をカウントする。すなわち、ステップS24において、特定部248が、第1位置情報サービスプロバイダ10から取得された位置情報を、端末装置100の位置情報として特定した場合には、第1位置情報サービスプロバイダ10の特定回数を一つ増やす。また、ステップS24において、特定部248が、第2位置情報サービスプロバイダ11から取得された位置情報を、端末装置100の位置情報として特定した場合には、第2位置情報サービスプロバイダ11の特定回数を一つ増やす。
そして、ステップS41において、各位置情報サービスプロバイダの特定回数の合計に占める第2位置情報サービスプロバイダ11の特定回数の割合が、閾値を越えたか否かを判定してよい。第2位置情報サービスプロバイダ11の特定回数の割合が閾値を越えた場合(ステップS41におけるYES)、ステップS42において、第1位置情報サービスプロバイダ10および第2位置情報サービスプロバイダ11の優先順位を変更し、第1位置情報サービスプロバイダ10と第2位置情報サービスプロバイダ11とを入れ替えてもよい。そして、各位置情報サービスプロバイダの特定回数のカウントをリセットしてよい。
以上により、優先順位の低い位置情報サービスプロバイダから取得した位置情報に基づいて端末装置100の位置を特定する割合が多い場合には、位置情報サービスプロバイダの優先順位を入れ替えることができる。
〔実施形態5〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図16は本実施形態に係る端末装置100が送信する検出結果情報のデータ構造の一例を示す図である。本実施形態において、送信処理部144は、検出結果情報に、位置情報サービスプロバイダ使用設定および履歴情報使用設定を含めてもよい。
一態様において、位置情報サービスプロバイダ使用設定としては、各位置情報サービスプロバイダの優先順位を指定する設定が含まれていてもよい。当該設定は、例えば、第1位の優先順位を有する位置情報サービスプロバイダ(プライマリプロバイダ)、第2位の優先順位を有する位置情報サービスプロバイダ(セカンダリプロバイダ)およびその他の優先順位を有する位置情報サービスプロバイダの各々のプロバイダ名またはプロバイダIDを指定するものであってもよい。
また、位置情報サービスプロバイダ使用設定には、使用可能な位置情報サービスプロバイダの数を指定する設定が含まれていてもよい。
一態様において、履歴情報使用設定としては、過去の位置情報を使用するか否かを指定する設定が含まれていてもよい。また、上述したように、履歴情報使用設定としては、過去の位置情報の使用を優先するか否かを指定する設定が含まれていてもよい。
なお、位置情報サービスプロバイダ使用設定および履歴情報使用設定はそれぞれ、ユーザによって設定されたものであってもよいし、端末装置100の製造時に設定されたものであってもよい。また、一態様において、主制御部140が、位置情報サービスプロバイダ使用設定および履歴情報使用設定の少なくとも一方を、端末装置100が備える各種センサ情報や日時情報、その他の端末状態などの情報に応じて切り替えてもよい。
〔実施形態6〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図17は本実施形態に係る端末装置100およびサーバ200の機能ブロックの一例を示す図である。本実施形態では、端末装置100が、セルラー通信処理部148、GNSS受信部115およびGNSS処理部154を備えていない点が実施形態2と異なっている。
本実施形態では、端末装置100が、セルラー通信処理部148を備えていないため、送信処理部144は、検出結果情報に、セルラー基地局の検出結果を含めることができない。このとき、端末装置100がWiFiアクセスポイントと接続している場合、送信処理部144は、端末装置100が接続しているWiFiアクセスポイントの識別情報を、セルラー基地局の識別情報の代替情報として、検出結果情報に含めてもよい。
これにより、サーバ200の履歴処理部252は、受信処理部242が受信した検出結果情報と、記憶部230に蓄積されている過去の検出結果情報との一致度を判定するときに、セルラー基地局の識別情報の一致度の代わりに、端末装置100が接続しているWiFiアクセスポイントの識別情報の一致度を用いて、過去の位置情報を使用するか否かの基準を判定することができる。
また、上述したように、端末装置100がネットワーク測位のみを実行する場合、端末装置100は、GNSS受信部115およびGNSS処理部154を備えていなくともよい。
〔実施形態7〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
図18は本実施形態に係るシステム1の構成の一例を示す図である。本実施形態では、サーバ200が、第1位置情報サービスプロバイダ10の機能を兼ねている点が実施形態1と異なっている。
本実施形態において、サーバ200は、固定された無線信号源の識別情報と位置座標とが関連付けられたデータベースを備えているか、当該データベースに接続可能になっており、第1位置情報サービスプロバイダ10の機能を兼ねていてもよい。これにより、システム1は、サーバ200が第1位置情報サービスプロバイダ10と接続せずとも、他の実施形態に係るシステム1と同等の処理を実行することができる。
〔実施形態8〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する場合がある。
本実施形態において、端末装置100の主制御部140は、取得した測位結果をタイムスタンプとともに記憶部130に蓄積してよい。そして、端末装置100の送信処理部144は、検出結果情報に、記憶部130に蓄積された前回の測位結果およびそのタイムスタンプを含めてよい。
このとき、判定部246は、前回特定した位置情報として、検出結果情報に含まれた前回の測位結果を使用してもよい。すなわち、一態様において、判定部246は、位置情報サービスプロバイダ(位置情報提供装置)から取得した位置情報と、検出結果情報に含まれた前回の測位結果との差異に基づいて、他の位置情報サービスプロバイダ(位置情報提供装置)から位置情報を取得するか否かを判定してよい。
また、一態様において、判定部246は、検出結果情報に含まれた前回の測位結果のタイムスタンプが、記憶部230に記憶された前回の測位結果のタイムスタンプより新しい場合のみ、検出結果情報に含まれる前回の測位結果を使用してもよい。端末装置100がGNSS測位を実行し、その測位結果を記憶部130に蓄積している場合、検出結果情報に含まれる前回の測位結果の方が、特定部248が前回特定した位置情報よりも新しい場合がある。このような場合に、検出結果情報に含まれる前回の測位結果を用いることにより、より新しい測位結果を利用することができる。
〔ハードウェア構成およびソフトウェアによる実現例〕
サーバ200の制御ブロック(特に主制御部240に含まれる各部等)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、サーバ200は、コンピュータ(電子計算機)を用いて構成されてよい。
図19は、サーバ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を、サーバ200として動作させるための情報処理プログラムが格納されている。そして、演算装置912は、補助記憶装置914に格納された上記情報処理プログラムを主記憶装置913上に展開して該情報処理プログラムに含まれる命令を実行することによって、コンピュータ910を、サーバ200が備える各部として機能させる。なお、補助記憶装置914が情報処理プログラム等の情報の記録に用いる記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。
また、コンピュータ910の外部の記録媒体に記録されているプログラム、あるいは任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータ910に供給されたプログラムを用いてコンピュータ910を機能させる構成を採用してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔付記事項〕
本明細書に記載の発明の一部は以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
端末装置から、前記端末装置と無線通信可能な範囲に存在する無線信号源であって、識別情報を送信する少なくとも1つの無線信号源の検出結果を示す検出結果情報を受信する受信処理部と、前記検出結果情報に基づいて前記端末装置の位置を推定する位置情報提供装置から、前記位置情報提供装置が推定した前記端末装置の位置情報を取得する位置情報取得部と、前記位置情報提供装置から取得した位置情報に基づいて、さらに他の位置情報提供装置から前記端末装置の位置情報を取得するか否かを判定する判定部と、取得した1以上の位置情報に基づいて、前記端末装置の位置を特定する特定部と、を備え、前記位置情報取得部は、前記判定部が前記他の位置情報提供装置から位置情報を取得すると判定した場合に、さらに前記他の位置情報提供装置から前記端末装置の位置情報を取得する、サーバ。
(付記2)
端末装置およびサーバを備えたシステムであって、前記端末装置は、前記端末装置と無線通信可能な範囲に存在する無線信号源であって、識別情報を送信する少なくとも1つの無線信号源の検出結果を示す検出結果情報を、前記サーバに送信する送信処理部を備え、前記サーバは、前記端末装置から、前記検出結果情報を受信する受信処理部と、前記検出結果情報に基づいて前記端末装置の位置を推定する位置情報提供装置から、前記位置情報提供装置が推定した前記端末装置の位置情報を取得する位置情報取得部と、前記位置情報提供装置から取得した位置情報に基づいて、さらに他の位置情報提供装置から前記端末装置の位置情報を取得するか否かを判定する判定部と、取得した1以上の位置情報に基づいて、前記端末装置の位置を特定する特定部と、を備え、前記位置情報取得部は、前記判定部が前記他の位置情報提供装置から位置情報を取得すると判定した場合に、さらに前記他の位置情報提供装置から前記端末装置の位置情報を取得する、システム。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。