(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される通信装置と、前記通信装置に接続される処理装置と、前記処理装置に接続される記憶装置と、を備える測位データ管理サーバであって、
前記測位データ管理サーバは、
複数の領域に対応する複数のノードと、隣接する前記領域間を接続する通行可能な経路に各々が対応する複数のリンクと、の接続関係を示すネットワークデータを保持し、
端末装置が位置する領域を示す位置情報と、前記位置情報が取得された時刻と、の複数の組を含む測位データを保持し、
前記測位データは、第１時刻における第１測位データと、前記第１時刻の一つ前の第２時刻における第２測位データと、を含み、
前記測位データ管理サーバは、
前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されている場合、前記第１測位データが連続であると判定し、前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが同一である場合、前記第１測位データが連続であると判定し、前記第２測位データが連続であり、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されず、かつ、それらが同一でない場合、前記第１測位データが不連続であると判定することによって、前記保持された測位データの連続性を判定し、
前記連続性の判定結果に基づいて、測位の不具合が発生した領域を特定し、
前記第１測位データが不連続であると判定された場合、前記第１測位データに含まれる位置情報として、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を示す位置情報を書き込み、
前記第１測位データが不連続であると判定された場合に、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を本来検出されるべき位置として保持し、
所定の時間内の前記測位データのうち、第１位置を示す連続な測位データの数と、前記本来検出されるべき位置として前記第１位置が保持された測位データの数との合計値に対する、前記本来検出されるべき位置として前記第１位置が保持された測位データの数の割合を、前記測位データが不連続であると判定される頻度として計算し、
前記測位データが不連続であると判定される頻度が所定の閾値より低い場合には前記位置情報を書き込まず、前記頻度が所定の閾値より高い場合には前記位置情報を書き込むことを特徴とする測位データ管理サーバ。
【請求項２】
前記測位データ管理サーバは、前記測位データの連続性を判定する手順において、さらに、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一である場合、前記第１測位データが不連続であると判定し、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一でなく、かつ、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の連続な測位データが示す位置に対応するノードとが一つ以上のリンクを介して接続されている場合、前記第１測位データが連続であると判定し、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一でなく、かつ、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の連続な測位データが示す位置に対応するノードとが一つ以上のリンクを介して接続されていない場合、前記第１測位データが不連続であると判定することを特徴とする請求項１に記載の測位データ管理サーバ。
【請求項３】
前記測位データ管理サーバは、
前記計算された頻度が前記所定の閾値を超える場合に、前記第１位置を前記測位の不具合が発生した位置として特定し、
前記特定された位置を記録することを特徴とする請求項１に記載の測位データ管理サーバ。
【請求項４】
前記測位データ管理サーバは、
第１の閾値及び前記第１の閾値より大きい第２の閾値を保持し、
前記計算された頻度が前記第１の閾値より大きく、かつ、前記第２の閾値より小さい場合、前記第１位置において一時的な環境変化が発生したことを示す情報を出力し、前記計算された頻度が前記第２の閾値より大きい場合、前記第１位置において持続的な環境変化が発生したことを示す情報を出力することを特徴とする請求項１に記載の測位データ管理サーバ。
【請求項５】
前記一時的な環境変化が前記第１位置を含む前記領域における利用者の混雑に起因する環境変化であり、前記持続的な環境変化が前記第１位置を含む前記領域におけるレイアウト変更に起因する環境変化であることを特徴とする請求項４に記載の測位データ管理サーバ。
【請求項６】
計算機が実行する測位データ管理方法であって、
前記計算機は、
ネットワークに接続される通信装置と、前記通信装置に接続される処理装置と、前記処理装置に接続される記憶装置と、を備え、
複数の領域に対応する複数のノードと、隣接する前記領域間を接続する通行可能な経路に各々が対応する複数のリンクと、の接続関係を示すネットワークデータを保持し、
端末装置が位置する領域を示す位置情報と、前記位置情報が取得された時刻と、の複数の組を含む測位データを保持し、
前記測位データは、第１時刻における第１測位データと、前記第１時刻の一つ前の第２時刻における第２測位データと、を含み、
前記測位データ管理方法は、
前記ネットワークデータと、前記測位データとを比較することによって、前記保持された測位データの連続性を判定する第１手順と、
前記連続性の判定結果に基づいて、測位の不具合が発生した領域を特定する第２手順と、
前記第１測位データが不連続であると判定された場合、前記第１測位データに含まれる位置情報として、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を示す位置情報を書き込む第３手順と、
前記測位データが不連続であると判定される頻度を計算する第４手順と、を含み、
前記第１手順は、
前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されている場合、前記第１測位データが連続であると判定する手順と、
前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが同一である場合、前記第１測位データが連続であると判定する手順と、
前記第２測位データが連続であり、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されず、かつ、それらが同一でない場合、前記第１測位データが不連続であると判定する手順と、を含み、
前記第４手順は、
前記第１測位データが不連続であると判定された場合に、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を本来検出されるべき位置として保持する手順と、
所定の時間内の前記測位データのうち、第１位置を示す連続な測位データの数と、前記本来検出されるべき位置として前記第１位置が保持された測位データの数との合計値に対する、前記本来検出されるべき位置として前記第１位置が保持された測位データの数の割合を、前記測位データが不連続であると判定される頻度として計算する手順と、を含み、
前記頻度が所定の閾値より低い場合には前記第３手順を実行せず、前記頻度が所定の閾値より高い場合には前記第３手順を実行することを特徴とする測位データ管理方法。
【請求項７】
前記第１手順は、さらに、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一である場合、前記第１測位データが不連続であると判定する手順と、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一でなく、かつ、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の連続な測位データが示す位置に対応するノードとが一つ以上のリンクを介して接続されている場合、前記第１測位データが連続であると判定する手順と、
前記第２測位データが不連続であり、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の不連続な測位データが示す位置に対応するノードとが同一でなく、かつ、前記第１測位データが示す位置に対応するノードと前記第１時刻の一つ以上前の時刻における最新の連続な測位データが示す位置に対応するノードとが一つ以上のリンクを介して接続されていない場合、前記第１測位データが不連続であると判定する手順と、を含むことを特徴とする請求項６に記載の測位データ管理方法。
【請求項８】
前記第２手順は、
前記計算された頻度が前記所定の閾値を超える場合に、前記第１位置を前記測位の不具合が発生した位置として特定する手順と、
前記特定された位置を記録する手順と、を含むことを特徴とする請求項６に記載の測位データ管理方法。
【請求項９】
前記計算機は、第１の閾値及び前記第１の閾値より大きい第２の閾値を保持し、
前記第２手順は、前記計算された頻度が前記第１の閾値より大きく、かつ、前記第２の閾値より小さい場合、前記第１位置において一時的な環境変化が発生したことを示す情報を出力し、前記計算された頻度が前記第２の閾値より大きい場合、前記第１位置において持続的な環境変化が発生したことを示す情報を出力する手順を含むことを特徴とする請求項６に記載の測位データ管理方法。
【請求項１０】
前記一時的な環境変化が前記第１位置を含む前記領域における利用者の混雑に起因する環境変化であり、前記持続的な環境変化が前記第１位置を含む前記領域におけるレイアウト変更に起因する環境変化であることを特徴とする請求項９に記載の測位データ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体端末の位置計測技術に関し、特に、屋内において位置計測の不具合を検出及び補正する技術に関する。
【背景技術】
【０００２】
近年、屋内における人の誘導、設備の管理及び物流の管理等を目的とした屋内空間情報基盤の整備のニーズが高まっている。具体的には、上記の目的の達成に必要とされる主要な技術として、屋内地図の管理技術及び屋内における測位技術が挙げられる。
【０００３】
特許文献１には、複数の位置検知装置の精度を評価して、最も高精度の位置検知装置の検知出力を位置検知結果として出力する技術が開示されている。
【０００４】
特許文献２には、ユーザの複数の通過位置を取得し、それらを補間することによって経路関数を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８６７３７号公報
【特許文献２】特開２００９−２２２６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
屋内における測位の精度は、測位が行われる環境に依存する。例えば、端末装置の位置を計測する場合において、端末装置と環境側の装置（すなわち端末装置との間で無線による測位信号を送受信する装置）との間に遮蔽物が存在すると、測位信号を送受信できないか、又は送受信の品質が低下するため、測位が不可能になるか、又は測位の精度が低下する。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、特に次の三つの課題を解決することを目的とする。
【０００８】
第１の課題は、環境の変化に起因して正しい測位できなくなった場所（すなわち、測位システムの不具合が発生した場所）を特定することである。環境の変化とは、例えば屋内のレイアウト変更又は人による混雑の発生などである。例えばユーザに屋内誘導サービスを提供する場合、ユーザ（すなわち測位対象）の位置を連続的に計測できることが重要である。上記のように正しい測位ができない場所をユーザが通過すると、ユーザが自分の位置を連続的に把握することができず、その結果現在地を見失うことがある。
【０００９】
第２の課題は、正しい測位ができない場所を測位対象が通過するときに、測位の連続性を維持することである。
【００１０】
第３の課題は、正しい測位ができない原因となった環境の変化を推定することである。
【課題を解決するための手段】
【００１１】
本発明の代表的な一例を示せば次のとおりである。すなわち、ネットワークに接続される通信装置と、前記通信装置に接続される処理装置と、前記処理装置に接続される記憶装置と、を備える測位データ管理サーバであって、前記測位データ管理サーバは、複数の領域に対応する複数のノードと、隣接する前記領域間を接続する通行可能な経路に各々が対応する複数のリンクと、の接続関係を示すネットワークデータを保持し、端末装置が位置する領域を示す位置情報と、前記位置情報が取得された時刻と、の複数の組を含む測位データを保持し、前記測位データは、第１時刻における第１測位データと、前記第１時刻の一つ前の第２時刻における第２測位データと、を含み、前記測位データ管理サーバは、前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されている場合、前記第１測位データが連続であると判定し、前記第２測位データが連続であり、かつ、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが同一である場合、前記第１測位データが連続であると判定し、前記第２測位データが連続であり、前記第１測位データが示す位置に対応するノードと前記第２測位データが示す位置に対応するノードとが一つのリンクを介して接続されず、かつ、それらが同一でない場合、前記第１測位データが不連続であると判定することによって、前記保持された測位データの連続性を判定し、前記連続性の判定結果に基づいて、測位の不具合が発生した領域を特定し、前記第１測位データが不連続であると判定された場合、前記第１測位データに含まれる位置情報として、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を示す位置情報を書き込み、前記第１測位データが不連続であると判定された場合に、前記第１測位データが示す位置に対応するノードに一つのリンクを介して接続されたノードに対応する位置を本来検出されるべき位置として保持し、所定の時間内の前記測位データのうち、第１位置を示す連続な測位データの数と、前記本来検出されるべき位置として前記第１位置が保持された測位データの数との合計値に対する、前記本来検出されるべき位置として前記第１位置が保持された測位データの数の割合を、前記測位データが不連続であると判定される頻度として計算し、前記測位データが不連続であると判定される頻度が所定の閾値より低い場合には前記位置情報を書き込まず、前記頻度が所定の閾値より高い場合には前記位置情報を書き込むことを特徴とする。
【発明の効果】
【００１２】
本発明の一実施形態によれば、測位システムの不具合の原因究明及び不具合解消のための対応を迅速に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態の測位システムの構成を示すブロック図である。
【図２】本発明の実施形態における屋内空間の構造の説明図である。
【図３Ａ】本発明の実施形態における屋内空間ネットワークの説明図である。
【図３Ｂ】本発明の実施形態におけるネットワークデータに含まれるノードテーブルの説明図である。
【図３Ｃ】本発明の実施形態におけるネットワークデータに含まれるリンクテーブルの説明図である。
【図４】本発明の実施形態のサーバ装置が実行する測位不具合検知処理を示すフローチャートである。
【図５】本発明の実施形態のサーバ装置が実行する測位不具合条件設定処理を示すフローチャートである。
【図６Ａ】本発明の実施形態のサーバ装置が実行する測位データ連続性検証処理を示すフローチャートである。
【図６Ｂ】本発明の実施形態のサーバ装置が実行する測位データ連続性検証処理を示すフローチャートである。
【図７】本発明の実施形態のサーバ装置が実行する本来検出されるべき位置の算出処理を示すフローチャートである。
【図８】本発明の実施形態のサーバ装置が実行する測位不具合条件の検証処理を示すフローチャートである。
【図９】本発明の実施形態のサーバ装置が実行する測位不具合位置の記録処理を示すフローチャートである。
【図１０Ａ】本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第１の具体例を示す説明図である。
【図１０Ｂ】本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第２の具体例を示す説明図である。
【図１０Ｃ】本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第３の具体例を示す説明図である。
【図１１】本発明の実施形態のサーバ装置が実行する測位データ補正処理を示すフローチャートである。
【図１２】本発明の実施形態のサーバ装置が実行する測位データ補正条件設定処理を示すフローチャートである。
【図１３】本発明の実施形態のサーバ装置が実行する測位データ補正条件の検証処理を示すフローチャートである。
【図１４】本発明の実施形態のサーバ装置が実行する測位データ補正処理を示すフローチャートである。
【図１５】本発明の実施形態における測位データ及びそれに基づく測位データ補正処理の具体例を示す説明図である。
【図１６】本発明の実施形態のサーバ装置が実行する環境変化推定処理を示すフローチャートである。
【図１７】本発明の実施形態のサーバ装置が実行する環境変化の推定条件設定処理を示すフローチャートである。
【図１８】本発明の実施形態のサーバ装置が実行する環境変化推定条件の検証処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を用いて本発明の実施の形態を説明する。
【００１５】
図１は、本発明の実施形態の測位システムの構成を示すブロック図である。
【００１６】
本実施形態の測位システムは、端末装置１１０、基地局装置１２０及びサーバ装置１３０によって構成される。基地局装置１２０はネットワーク１６０を介して端末装置１１０と通信し、サーバ装置１３０はネットワーク１７０を介して基地局装置１２０と通信することができる。
【００１７】
端末装置１１０は、測位機能及び通信機能を有する持ち運び可能な端末である。例えば、端末装置１１０は、ユーザ（すなわち測位対象）が携行する計算機又は携帯電話機等であってもよい。端末装置１１０は、測位及び通信を制御する処理装置１１１、及び、処理装置１１１による制御に従って通信を実行する通信装置１１２を備える。
【００１８】
本実施形態では、ユーザの位置として、ユーザが携行する端末装置１１０の位置が計測される。そのために使用される測位方法は、端末装置１１０が周囲に設置された測位装置（後述）から受信した信号を用いて自身の位置を計測する方法であってもよいし、測位装置が端末装置１１０から受信した信号を用いて端末装置１１０の位置を計測する方法であってもよい。なお、後者の場合、測位装置が端末装置１１０の位置を計測するというよりは、サーバ装置で端末装置１１０の位置を計測する場合が多い。例えば、測位装置が、端末装置１１０から受信した信号の強度や到達時間などをサーバ装置に送信し、サーバ装置が信号の強度や到達時間に基づき、端末装置１１０の位置を計測する。
【００１９】
例えば、本実施形態の端末装置１１０は、受信したＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を用いて自身の現在位置の座標を取得してもよい。ただし、通常、屋内でＧＰＳ衛星からの信号を受信することは困難であるため、屋内にＧＰＳ信号と互換性のある信号を送信する測位装置を予め設置しておく必要がある。
【００２０】
あるいは、例えば、端末装置１１０と測位装置との間の通信に基づいて端末装置１１０の測位が行われてもよい。例えば、測位装置が無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の基地局であり、端末装置１１０が無線ＬＡＮに接続する機能を備える装置である場合、端末装置１１０がどの基地局のエリア内にあるかを特定することによって、その端末装置１１０の位置を計測することができる。この場合、図１の基地局装置１２０が測位装置に相当する。
【００２１】
上記のような測位方法は一例に過ぎず、本実施形態では種々の測位方法を使用することができる。例えば、無線ＬＡＮの代わりにＺｉｇＢｅｅ（登録商標、以下同じ）又はＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）等が使用されてもよい。あるいは、複数の測位方法が組み合わせて使用されてもよい。いずれの測位方法が使用される場合にも、端末装置１１０の位置を計測するために、その端末装置１１０への信号の送信又は端末装置１１０からの信号の受信の少なくとも一方を行う複数の測位装置を設置する必要がある。
【００２２】
端末装置１１０は、測位によって自身の位置情報を取得した場合、ネットワーク１６０を介してその位置情報を基地局装置１２０に送信する。基地局装置１２０は、受信した位置情報を、ネットワーク１７０を介してサーバ装置１３０に送信する。基地局装置１２０が測位を行って位置情報を取得した場合、基地局装置１２０はその位置情報をサーバ装置１３０に送信する。
【００２３】
端末装置１１０と基地局装置１２０との間の通信は、どのような手段によって実現されてもよい。例えば、端末装置１１０が無線ＬＡＮによる通信機能を備える携帯電話機又は計算機である場合、端末装置１１０は、無線ＬＡＮのプロトコルに従って基地局装置１２０に位置情報を送信することができる。
【００２４】
基地局装置１２０は、上記のような通信を実行する通信装置１２２、及び、その通信装置１２２を制御する処理装置１２１を備える。これらは、従来の無線ＬＡＮ基地局等が備えるものと同様のものであってよい。
【００２５】
なお、図１には端末装置１１０及び基地局装置１２０を一つずつ図示したが、通常は、屋内空間には複数の端末装置１１０が存在し、複数の基地局装置１２０が設置される。
【００２６】
ネットワーク１６０は、典型的には無線ＬＡＮのような無線ネットワークであるが、ＺｉｇＢｅｅ又はＵＷＢによる通信が行われてもよい。一方、ネットワーク１７０は、ネットワーク１６０と同様のものであってもよいが、典型的には、有線ＬＡＮのような有線ネットワークである。
【００２７】
サーバ装置１３０は、基地局装置１２０から取得した端末装置１１０の位置情報を処理する装置であり、一般的な計算機と同様のハードウェアによって実現することができる。具体的には、サーバ装置１３０は、相互に接続された処理装置１３１、通信装置１３２、主記憶装置１３３、外部記憶装置１３４及び入出力装置１３５を備える。
【００２８】
処理装置１３１は、通信装置１３２、主記憶装置１３３及び外部記憶装置１３４を制御し、主記憶装置１３３に格納されたプログラムを実行することによって種々の処理を実行するプロセッサである。
【００２９】
通信装置１３２は、ネットワーク１７０を介して基地局装置１２０と通信するインターフェースである。
【００３０】
主記憶装置１３３は、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような半導体記憶装置であり、処理装置１３１によって実行されるプログラムを格納する。図１の例では、測位部１４１、測位不具合検知部１４２、測位データ補正部１４３及び環境変化推定部１４４が格納される。これらはいずれも処理装置１３１によって実行されるプログラムである。以下の説明において上記の各部が実行する処理は、実際には、これらのプログラムに従う処理装置１３１によって実行される。各部が実行する処理の詳細については後述する。
【００３１】
外部記憶装置１３４は、例えばハードディスクドライブのような不揮発性の記憶装置であり、上記の各部によって参照及び更新されるデータを格納する。図１の例では、地図構造化データ１５１、ネットワークデータ１５２、測位データ１５３、位置未検出データ１５４及び測位不具合データ１５５が格納される。
【００３２】
地図構造化データ１５１は、屋内空間を構成する部屋等の領域の位置及び形状を示すデータであり、例えば、建物内のどのフロアにどのような形状の部屋があるかを示すデータを含む。
【００３３】
ネットワークデータ１５２は、ノード及びリンクから構成される、屋内空間の接続関係を示すデータで、人の移動軌跡を示すデータになる。本実施形態では、屋内空間の領域及び領域間をユーザが通行可能となるように接続する移動経路が、複数のノード及びそれらを接続するリンクからなるネットワークによって表現される。ネットワークデータ１５２は、そのようなノード及びリンクに関するデータを含み、建物形状、測位装置の設置場所及び測位方法に基づいて決定される。ネットワークデータ１５２の具体例については後述する。
【００３４】
測位データ１５３は、サーバ装置１３０が基地局装置１２０から取得した端末装置１１０の位置情報を含む。
【００３５】
位置未検出データ１５４は、測位によって位置を検出できなかった場所に関する情報を含む。
【００３６】
測位不具合データ１５５は、検知された測位の不具合に関する情報を含む。測位の不具合とは、例えば屋内空間のレイアウト変更又はユーザの混雑等によって、端末装置と測位装置の間で無線通信を行えず、測位装置による測位に生じた支障を意味する。
【００３７】
本実施形態において、測位データ１５３、位置未検出データ１５４及び測位不具合データ１５５は、それぞれ測位データテーブル、位置未検出データテーブル及び測位不具合データテーブルとして実装される。それらの具体例については後述する（図１０Ａ〜図１０Ｃ等参照）。
【００３８】
なお、図１に示したプログラムは、外部記憶装置１３４に格納され、必要に応じてその一部又は全部が主記憶装置１３３にコピーされてもよい。同様に、外部記憶装置１３４に格納されたデータの一部又は全部が必要に応じて主記憶装置１３３にコピーされてもよい。
【００３９】
入出力装置１３５は、管理者によるサーバ装置１３０への情報の入力及びサーバ装置１３０からの管理者への情報の出力に使用される。入出力装置１３５は、情報の入出力に使用できる装置である限りどのようなものであってもよいが、典型的には、キーボード及びマウスのような入力装置及び画像表示装置のような出力装置を含む。
【００４０】
なお、本実施形態において、端末装置１１０を携行する人物をユーザ、サーバ装置１３０を使用する人物を管理者と記載する。以下、端末装置１１０がユーザ（すなわち人間）に携行される場合を例として説明するが、端末装置１１０が人間以外のもの（例えば物品の運搬装置等）に取り付けられる場合にも本実施形態は成立する。
【００４１】
図２は、本発明の実施形態における屋内空間の構造の説明図である。
【００４２】
本実施形態では、図２に示すように、部屋２０１〜２０６の６部屋からなる建物の屋内空間を例として説明する。
【００４３】
部屋２０１〜２０６には、それぞれ、測位装置２１１〜２１６が設置される。既に説明したように、測位装置２１１〜２１６は、ＧＰＳ信号と等価な信号を送信する装置又は無線ＬＡＮの基地局（すなわち基地局装置１２０）等であってよい。各測位装置２１１〜２１６は、各部屋の全域で測位可能となるように設置される。例えば、測位装置２１１〜２１６の各々が基地局装置１２０である場合、各基地局装置１２０が各部屋のどの位置の端末装置１１０とも測位信号を送受信できるよう、各基地局装置１２０の通信装置１２２の一部であるアンテナが各部屋の略中心の天井部分に取り付けられてもよい。ただし、後述するように、測位装置の運用が開始された後、環境の変化等によって、部屋の中に正常な測位ができない部分が生じる場合がある。
【００４４】
部屋の間を仕切る壁には、人が通行可能なドア２２１〜２２５が設けられる。具体的には、部屋２０１と部屋２０２との間にドア２２１が、部屋２０２と部屋２０３との間にドア２２２が、部屋２０３と部屋２０４との間にドア２２３が、部屋２０２と部屋２０５との間にドア２２４Ａ及びドア２２４Ｂが、部屋２０３と部屋２０６との間にドア２２５が、それぞれ設けられる。
【００４５】
なお、本明細書では、建物内の、それぞれ範囲が定められた領域を「部屋」と記載しているが、実際には各部屋２０１〜２０６は一般的な部屋のほか、部屋の一部の区画、通路、又は階段室等、任意の領域であってよい。また、部屋を仕切る壁には、ドア以外の通行可能な開口部が設けられてもよいし、壁自体が設けられなくてもよい。
【００４６】
次に、図３Ａ〜図３Ｃを参照して、ネットワークデータ１５２の一例を説明する。
【００４７】
図３Ａは、本発明の実施形態における屋内空間ネットワークの説明図である。
【００４８】
本実施形態では、屋内空間がノード及びリンクからなるネットワークとして表現される。具体的には、各部屋が一つのノードに対応し、二つの部屋の間の通行可能な経路が一つのリンクに対応する。
【００４９】
図３Ａは、図２に示す屋内空間を表現するネットワークの例を示す。すなわち、図３Ａに示すネットワークは、それぞれ部屋２０１〜２０６に対応するノード３０１〜３０６と、それらを接続するリンク３１１〜３１５と、からなる。部屋２０１と部屋２０２との間のドア２２１が通行可能であるため、ノード３０１とノード３０２はリンク３１１によって接続される。同様に、ノード３０２とノード３０３はリンク３１２によって接続される。ノード３０３とノード３０４はリンク３１３によって接続される。ノード３０３とノード３０６はリンク３１５によって接続される。
【００５０】
なお、図３Ａでは、ノード３０１〜３０６の識別子としてそれぞれ「Ｎ１」〜「Ｎ６」が、リンク３１１〜３１５の識別子としてそれぞれ「Ｌ１」〜「Ｌ５」が表示されている。これらは、後述するノードテーブル３３０及びリンクテーブル３５０においてリンク及びノードを識別するために使用される。
【００５１】
部屋２０２と部屋２０５との間のドア２２４Ａ及びドア２２４Ｂがいずれも通行可能であるため、ノード３０２とノード３０５はリンク３１４によって接続される。なお、本実施形態では、二つの部屋の間に通行可能なドア（又はその他の開口部）が複数存在する場合であっても、それらは一つのリンクによって表現される。
【００５２】
また、一般には通行可能な開口部のない壁によって二つの部屋の間が仕切られていてもよいが、その場合、その壁をユーザが通過することができないため、それらの部屋に対応する二つのノードは一つのリンクによって接続されない。
【００５３】
図３Ａに示す破線は、各測位装置による測位精度、言い換えると、各測位装置が設置された時点における、各測位装置によって測位可能な範囲を示す。図３Ａでは、表示の便宜上、各部屋とほぼ同じだが少し小さい範囲が測位精度として表示されているが、実際には各部屋の全域で測位可能になるように各測位装置が設置されるため、各測位装置による測位精度は、それが設置された各部屋の範囲と同一になる。
【００５４】
例えば、測位装置が基地局装置１２０である場合、端末装置１１０の位置を測定することは、端末装置１１０がどの基地局装置１２０のエリア内にあるかを判定することに相当する。一般に、部屋の中に設置された基地局装置１２０から送信された無線信号が部屋の外まで届く場合がある。端末装置１１０は、複数の基地局装置１２０と通信可能である場合、受信電波強度が強い基地局装置１２０のエリア内にあると判定される。
【００５５】
例えば、端末装置１１０が測位装置２１２に相当する基地局装置１２０のエリア内にあると判定された場合、端末装置１１０の位置情報として、部屋２０２に対応するノード３０２の識別子「Ｎ２」が取得されてもよいし、そのノードの座標値（図３Ｂ参照）が取得されてもよい。ただし、マルチパス、部屋のレイアウト変更又はユーザの混雑等によって、端末装置１１０が実際には部屋２０２内にあるにもかかわらず、別の部屋の測位装置（例えば測位装置２１５）からの信号を、測位装置２１２からの信号より強く受信する場合がある。このような場合に実行する処理については後述する。
【００５６】
上記のように、本実施形態では、一つの部屋に一つの測位装置が設置されている場合、端末装置１１０がどの部屋にあるかを特定することはできるが、部屋の中のどの位置にあるかを特定することまではできない。より分解能の高い測位を行う必要がある場合には、一つの部屋に複数の測位装置を設置することによって、一つの部屋を複数のエリアに分割することができる。この場合、各エリアが測位精度に相当するため、より分解能の高い測位を行うことが可能になる。その場合、各エリアが一つのノードに対応付けられてもよい。
【００５７】
あるいは、例えば測位の分解能を高める必要がなくても、部屋の全域で確実に正常な測位を可能にするために、一つの部屋に複数の測位装置を設置することもできる。この場合、設置された複数の測位装置が一つの部屋に対応する一つのノードに対応付けられる。例えば、部屋２０２に複数の測位装置２１２が設置され、測位によって端末装置１１０がそれらの測位装置２１２のいずれのエリア内にあると判定された場合にも、位置情報として「Ｎ２」又はそれに対応する座標値が取得される。
【００５８】
なお、本実施形態では、測位が所定のタイミングにおいて（例えば所定の時間間隔ごとに）実行される。ただし、後述する測位データの連続性の検証のため、移動する端末装置１１０が通過する各部屋で少なくとも１回は測位が行われるように、端末装置１１０の移動速度及び部屋の大きさに応じて、十分に短い時間を測位間隔として設定する必要がある。以下の説明では、測位間隔を単位時間とも記載する。例えば、ある測位時刻に対して、その一つ前の時刻とは、当該測位時刻の１単位時間前の時刻を意味する。
【００５９】
図３Ｂは、本発明の実施形態におけるネットワークデータ１５２に含まれるノードテーブル３３０の説明図である。
【００６０】
ノードテーブル３３０は、各ノードを識別するノードＩＤ３３１及び各ノードの位置を示す座標３３２からなる。図３Ｂの例では、ノードＩＤ３３１として、図３Ａに示したノード３０１〜３０６を識別する「Ｎ１」〜「Ｎ６」が保持され、座標３３２として、それらのノードの位置を示す座標値（ｘ１，ｙ１）〜（ｘ６，ｙ６）が保持される。なお、各ノードの座標値は、各ノードに対応する部屋（言い換えると、各測位装置による測位精度の範囲）を代表する座標値である。例えば、各ノードの座標値は、各部屋に設置された測位装置２１１〜２１６の座標値であってもよいし、それ以外の値（例えば各部屋の中心の座標値）であってもよい。
【００６１】
図３Ｃは、本発明の実施形態におけるネットワークデータ１５２に含まれるリンクテーブル３５０の説明図である。
【００６２】
リンクテーブル３５０は、各リンクを識別するリンクＩＤ３５１、各リンクの始点ノードを識別する始点３５２及び各リンクの終点ノードを識別する終点３５３からなる。
【００６３】
図３Ｃの例では、リンクＩＤ３５１として、図３Ａに示したリンク３１１〜３１５を識別する「Ｌ１」〜「Ｌ５」が保持され、始点３５２及び終点３５３として、それらのリンクの始点ノード及び終点ノードの識別子が保持される。例えば、「Ｌ１」によって識別されるリンク３１１の始点３５２及び終点３５３として、それぞれ、ノード３０１及び３０２を識別する「Ｎ１」及び「Ｎ２」が保持される。
【００６４】
なお、本実施形態では、ユーザが各リンクを両方向（すなわち始点ノードから終点ノードの方向及び終点ノードから始点ノードの方向の両方）に移動できることが前提となる。このように、本実施形態では両方向リンクを用いて空間ネットワークを表現するが、片方向ネットワークを用いて表現した場合にも本発明を適用することができる。その場合、例えばリンク「Ｌ１」に対応する二つのレコードがリンクテーブル３５０に登録され、その一方のレコードの始点３５２及び終点３５３にはそれぞれ「Ｎ１」及び「Ｎ２」が、もう一方のレコードの始点３５２及び終点３５３にはそれぞれ「Ｎ２」及び「Ｎ１」が登録される。１方向にしか通過できない経路がある場合には、通過できない方向に対応するレコードは登録されない。
【００６５】
図４は、本発明の実施形態のサーバ装置１３０が実行する測位不具合検知処理を示すフローチャートである。
【００６６】
サーバ装置１３０の測位不具合検知部１４２は、最初に、測位不具合条件を設定する（ステップ４０１）。この処理については、図５を参照して後述する。
【００６７】
次に、測位不具合検知部１４２は、基地局装置１２０から、端末装置１１０の位置情報を含む測位データを受信する（ステップ４０２）。受信した測位データは、測位データ１５３として格納される。測位部１４１が測位データを受信してそれを測位データ１５３として格納し、測位不具合検知部１４２が測位データ１５３を参照してもよい。測位データ１５３の具体例については、図１０Ａ〜図１０Ｃ等を参照して後述する。
【００６８】
なお、測位データ１５３は、後述するように、測位が実行された時刻を示す情報と、その時刻における端末装置１１０の位置を示す情報とを含む。以下の説明において、取得された測位データ１５３のうち最も新しい時刻における測位データを現在の測位データと記載し、現在の測位データより古い測位データ（すなわち過去の測位データ）のうち最も新しい時刻における測位データを過去最も新しい測位データと記載する。
【００６９】
次に、測位不具合検知部１４２は、ネットワークデータ１５２及び測位データ１５３に基づいて、現在の測位データと過去の測位データとの間の連続性を検証する（ステップ４０３）。測位データの連続性は、測位データと予め保持されたネットワークデータとを比較することによって検証される。測位データが不連続であることは、測位データがネットワークデータと矛盾することを意味する。ステップ４０３の処理の詳細については、図６Ａ及び図６Ｂを参照して後述する。
【００７０】
次に、測位不具合検知部１４２は、ステップ４０３の検証結果に基づいて、現在の測位データと過去の測位データとが連続であるか否かを判定する（ステップ４０４）。不連続であると判定された場合、処理はステップ４０５に進み、連続であると判定された場合、処理はステップ４０９に進む。
【００７１】
ステップ４０５において、測位不具合検知部１４２は、ネットワークデータ１５２及び測位データ１５３に基づいて、本来検出されるべき位置を求め、これを位置未検出データ１５４として格納する。この処理については、図７を参照して後述する。
【００７２】
次に、測位不具合検知部１４２は、測位不具合条件が満たされるか否かを検証する（ステップ４０６）。この処理については、図８を参照して後述する。
【００７３】
次に、測位不具合検知部１４２は、ステップ４０６の検証結果に基づいて、測位不具合条件が満たされるか否かを判定する（ステップ４０７）。測位不具合条件が満たされると判定された場合、処理はステップ４０８に進み、満たされないと判定された場合、処理はステップ４０９に進む。
【００７４】
ステップ４０８において、測位不具合検知部１４２は、ステップ４０５において求められた本来検出されるべき位置が測位不具合位置であることを示す情報を測位不具合データ１５５として格納する。この処理については、図９を参照して後述する。
【００７５】
次に、測位不具合検知部１４２は、測位不具合検知処理を終了するか否かを判定する（ステップ４０９）。例えば、管理者が処理の終了を指示した場合又は所定の終了条件が満たされた場合に測位不具合検知処理を終了すると判定されてもよい。測位不具合検知処理を終了すると判定された場合、測位不具合検知部１４２は測位不具合検知処理を終了する。一方、測位不具合検知処理を終了しないと判定された場合、処理はステップ４０２に戻る。
【００７６】
図５は、本発明の実施形態のサーバ装置１３０が実行する測位不具合条件設定処理を示すフローチャートである。
【００７７】
図５に示す処理は、図４のステップ４０１において実行される。
【００７８】
測位不具合検知部１４２は、例えば、過去ｔ単位時間以内に、測位データテーブル及び位置未検出データテーブルにおいて、測位不具合検知対象の位置に対応するレコードの数の合計値がｘ件以上あり、かつ、位置未検出割合がｐ以上である場合に、当該位置を測位不具合位置とみなすように測位不具合条件を設定することができる（ステップ５０１）。この場合、測位不具合検知部１４２は、上記の時間ｔ、件数ｘ及び割合ｐを任意に（例えば管理者から入力された値を）設定することができる。
【００７９】
以上で測位不具合条件設定処理が終了する。
【００８０】
図６Ａ及び図６Ｂは、本発明の実施形態のサーバ装置１３０が実行する測位データ連続性検証処理を示すフローチャートである。
【００８１】
図６Ａ及び図６Ｂに示す処理は、図４のステップ４０３において実行される。
【００８２】
ここで、図６Ａ及び図６Ｂにおける処理の概要を説明する。
【００８３】
既に説明したように、本実施形態では、端末装置１１０が通過するいずれの部屋においても、少なくとも１回は測位が実行される。このため、正常な測位に成功し続けている限り、隣接する二つの時刻における測位データは、必ず同一の位置又は隣接する位置を示し、隣接しない位置を示す可能性はない。ここで、隣接する二つの時刻とは、ある時刻と、その１単位時間後の時刻とを意味する。また、本実施形態において、一つのリンクを介して接続された二つのノード（すなわちそれぞれが一つのリンクの始点ノード及び終点ノードである二つのノード）を隣接ノードと記載し、隣接する二つのノードに対応する二つの部屋を隣接する部屋と記載し、隣接する二つのノードに対応する二つの位置を隣接する位置と記載する。したがって、二つの位置が隣接するか否かは、ネットワークデータに基づいて判定される。
【００８４】
隣接する二つの時刻における測位データが示す位置が同一でなく、隣接もしないことは、測位データがネットワークデータと矛盾することを意味する。この場合、少なくとも一方の時刻において正常な測位に失敗していると判定される。このように測位データがネットワークデータと矛盾することを本実施形態では測位データが不連続であると記載する。
【００８５】
具体的には、隣接する二つの時刻における測位データが示す位置が同一でなく、隣接もしない場合において、それらの二つの時刻のうち前の時刻において測位データが連続であると判定されている場合には、後の時刻の測位データが不連続であると判定される（図６Ａ参照）。
【００８６】
二つの隣接する時刻における測位データのうち前の時刻における測位データが不連続であると判定され、かつ、それらの二つの測位データが同一の位置を示す場合、端末装置１１０が正常な測位に失敗した部屋にとどまっているとの推定に基づいて、後の時刻における測位データも不連続であると判定される。一方、それらの二つの測位データが異なる位置を示し、かつ、後の時刻の測位データが示す位置が、最後に連続と判定された測位データ（すなわち過去最も新しい連続な測位データ）が示す位置と一つ以上のリンクを介して接続されている場合、端末装置１１０が正常な測位に失敗した部屋から別の部屋に移ったとの推定に基づいて、後の時刻における測位データが連続であると判定される（図６Ｂ参照）。
【００８７】
次に、図６Ａ及び図６Ｂにおける処理の詳細を説明する。
【００８８】
最初に、測位不具合検知部１４２は、リンクテーブル３５０を参照して、始点ノードが現在の測位データが示す位置（すなわち現在の測位データに含まれる位置情報によって特定される端末装置１１０の位置。以下、現在の位置と記載）に対応するノードであるレコードの終点ノードの集合を隣接ノードとして取得する（図６Ａのステップ６０１）。さらに、測位不具合検知部１４２は、終点ノードが現在の位置に対応するノードであるレコードの始点ノードの集合を隣接ノードとして取得する（ステップ６０２）。
【００８９】
結局、ステップ６０１及び６０２のいずれか一方の条件に該当する全てのノードが隣接ノードとして取得される。
【００９０】
次に、測位不具合検知部１４２は、過去最も新しい測位データが連続であるか否かを判定する（ステップ６０３）。過去に実行された測位データ連続性検証処理の結果を参照することによって、ステップ６０３の判定をすることができる。過去最も新しい測位データが不連続であると判定された場合の処理については、図６Ｂを参照して後述する。
【００９１】
過去最も新しい測位データが連続であると判定された場合、測位不具合検知部１４２は、ステップ６０１及び６０２において取得された隣接ノードの集合が、過去最も新しい測位データの位置に対応するノードを含むか否かを判定する（ステップ６０４）。
【００９２】
隣接ノードの集合が過去最も新しい測位データの位置に対応するノードを含む場合、現在の位置と過去最も新しい測位データが示す位置とが隣接する。この場合、測位不具合検知部１４２は、現在の測位データが過去の測位データに連続すると判定し、その判定の結果を返す（ステップ６０５）。
【００９３】
一方、隣接ノードの集合が過去最も新しい測位データの位置に対応するノードを含まない場合、現在の位置と過去最も新しい測位データが示す位置とが隣接しない。この場合、測位不具合検知部１４２は、現在の位置と、過去最も新しい測位データが示す位置とが同一であるか否かを判定する（ステップ６０６）。
【００９４】
現在の位置と、過去最も新しい測位データが示す位置とが同一である場合、測位不具合検知部１４２は、現在の測位データが過去最も新しい測位データに連続していると判定し、その判定の結果を返す（ステップ６０５）。
【００９５】
現在の位置と、過去最も新しい測位データが示す位置とが同一でない場合、測位不具合検知部１４２は、現在の測位データが過去の測位データに連続しない（すなわち現在の測位データが不連続である）と判定し、その判定の結果を返す（ステップ６０７）。
【００９６】
ステップ６０３において、過去最も新しい測位データが不連続であると判定された場合、測位不具合検知部１４２は、現在の位置と、過去最も新しい不連続な測位データが示す位置とが同一であるか否かを判定する（ステップ６１１）。
【００９７】
現在の位置と、過去最も新しい不連続な測位データが示す位置とが同一である場合、測位不具合検知部１４２は、現在の測位データが過去の測位データに連続しないと判定し、その判定の結果を返す（ステップ６０７）。
【００９８】
ステップ６１１において、現在の位置と、過去最も新しい不連続な測位データが示す位置とが同一でないと判定された場合、測位不具合検知部１４２は、現在の測位データに対応するノードと、過去最も新しい連続な測位データが示すノードとが１以上のリンクを介して接続されているか否かを判定する（ステップ６１３）。
【００９９】
現在の測位データに対応するノードと、過去最も新しい連続な測位データが示すノードとが１以上のリンクを介して接続されている場合、測位不具合検知部１４２は、現在の測位データが過去の測位データに連続すると判定し、その判定の結果を返す（ステップ６０５）。
【０１００】
なお、ステップ６１３において、現在の測位データに対応するノードと、過去最も新しい連続な測位データが示すノードとが同一である場合にも、現在の測位データが過去の測位データに連続すると判定される。これは、例えば端末装置１１０が部屋２０１から部屋２０２に移動し、部屋２０２において測位の不具合が発生し、その後、端末装置１１０が部屋２０１に戻り、部屋２０１では正常な測位が行われた場合に相当する。
【０１０１】
一方、現在の測位データに対応するノードと、過去最も新しい連続な測位データが示すノードとが１以上のリンクを介して接続されていない場合、測位不具合検知部１４２は、現在の測位データが過去の測位データに連続しないと判定し、その判定の結果を返す（ステップ６０７）。
【０１０２】
ステップ６０５又は６０７が終了すると、測位データ連続性検証処理が終了する。
【０１０３】
上記の処理の具体例については、図１０Ａ〜図１０Ｃ等を参照して後述する。
【０１０４】
なお、実際には、測位部１４１が複数の時刻における複数の測位データをまとめて取得する場合がある。そのように測位データをまとめて取得した時点では、現在の（すなわち最新の）測位データだけでなく、過去のいくつかの測位データについても連続性の検証が行われていない。この場合には、まだ連続性が検証されていない測位データのうち最も古い時刻における測位データを上記の「現在の測位データ」として扱い、上記の処理を繰り返し実行することによって、全ての測位データの連続性を検証することができる。
【０１０５】
図７は、本発明の実施形態のサーバ装置１３０が実行する本来検出されるべき位置の算出処理を示すフローチャートである。
【０１０６】
図７に示す処理は、図４のステップ４０５において実行される。
【０１０７】
最初に、測位不具合検知部１４２は、リンクテーブル３５０を参照して、始点ノードが現在の位置に対応するノードであるレコードの終点ノードの集合を隣接ノードとして取得する（ステップ７０１）。さらに、測位不具合検知部１４２は、終点ノードが現在の位置に対応するノードであるレコードの始点ノードの集合を隣接ノードとして取得する（ステップ７０２）。これらの処理は、図６Ａのステップ６０１及び６０２と同じである。
【０１０８】
次に、測位不具合検知部１４２は、ステップ７０１及び７０２によって取得された隣接ノードの集合に含まれる一つのノードを、本来検出されるべきノードとして選択する（ステップ７０３）。
【０１０９】
次に、測位不具合検知部１４２は、ステップ７０３において選択された本来検出されるべきノードを示す情報を位置未検出データテーブルに記録する（ステップ７０４）。
【０１１０】
以上で本来検出されるべき位置の算出処理が終了する。
【０１１１】
図８は、本発明の実施形態のサーバ装置１３０が実行する測位不具合条件の検証処理を示すフローチャートである。
【０１１２】
図８に示す処理は、図４のステップ４０６において実行される。
【０１１３】
最初に、測位不具合検知部１４２は、測位データテーブルから、過去ｔ単位時間以内のレコードのうち、検証対象の位置に対応するレコードの集合Ｒ１を取得する（ステップ８０１）。
【０１１４】
次に、測位不具合検知部１４２は、位置未検出データテーブルから、過去ｔ単位時間以内のレコードのうち、検証対象の位置に対応するレコードの集合Ｒ２を取得する（ステップ８０２）。
【０１１５】
次に、測位不具合検知部１４２は、集合Ｒ１に含まれるレコードの数と集合Ｒ２に含まれるレコードの数の合計がｘ以上であり、かつ、その合計の数に対する集合Ｒ２に含まれるレコードの数の割合（すなわち位置未検出割合）がｐ以上であるか否かを判定する（ステップ８０３）。
【０１１６】
ステップ８０３において、計算された合計がｘ以上であり、かつ、計算された割合がｐ以上であると判定された場合、測位不具合検知部１４２は、現在の測位データが測位不具合条件を満たすことを返す（ステップ８０４）。
【０１１７】
ステップ８０３において、計算された合計がｘ以上でないか、又は、計算された割合がｐ以上でないと判定された場合、測位不具合検知部１４２は、現在の測位データが測位不具合条件を満たさないことを返す（ステップ８０５）。
【０１１８】
以上で測位不具合条件の検証処理が終了する。
【０１１９】
図９は、本発明の実施形態のサーバ装置１３０が実行する測位不具合位置の記録処理を示すフローチャートである。
【０１２０】
図９に示す処理は、図４のステップ４０８において実行される。
【０１２１】
測位不具合検知部１４２は、測位不具合条件を満たすと判定された測位データが示す位置、時刻、及び算出された位置未検出割合を含むレコードを測位不具合データテーブルに登録する（ステップ９０１）。以上で測位不具合位置の記録処理が終了する。
【０１２２】
続いて、図４〜図９に示した処理の具体例を、図１０Ａ〜図１０Ｃを参照して説明する。図１０Ａ〜図１０Ｃは、いずれも、図３Ａに示す屋内空間において、端末装置１１０が部屋２０１から部屋２０２、部屋２０３を経由して部屋２０４に移動した場合の測位データ等を示す。
【０１２３】
図１０Ａは、本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第１の具体例を示す説明図である。
【０１２４】
詳細には、図１０Ａは、識別子「Ａ」によって識別される端末装置１１０が、時刻「１００」に部屋２０１に、時刻「１０１」から「１０３」に部屋２０２に、時刻「１０４」及び「１０５」にそれぞれ部屋２０３及び２０４にあり、かつ、いずれの時刻においても正常に測位が行われた場合に測位データ１５３として格納される測位データテーブル１０００Ａを示す。
【０１２５】
測位データテーブル１０００Ａの各レコードは、端末装置１１０の識別子を格納する端末ＩＤ１００１、測位が行われた時刻を格納する時刻１００２及び測位データが示す位置を格納する位置１００３を含む。図１０Ａに示す位置１００３の値「Ｎ１」〜「Ｎ４」は、それぞれ、部屋２０１〜２０４に対応するノードの識別子であり、これによって端末装置１１０の位置が特定される（図３Ａ〜図３Ｃ参照）。以下の説明では、ノードの識別子を位置情報として使用する。
【０１２６】
ここで、図１０Ａを参照して、図４〜図９に示した処理の具体例を説明する。
【０１２７】
時刻「１０１」における位置「Ｎ２」が現在の位置として取得された場合、測位不具合検知部１４２は、リンクテーブル３５０を参照して、ノード「Ｎ２」が始点３５２として登録されているレコードの終点３５３のノード「Ｎ３」及び「Ｎ５」を取得し（ステップ６０１）、さらに、ノード「Ｎ２」が終点３５３として登録されているレコードの始点３５２のノード「Ｎ１」を取得する（ステップ６０２）。すなわち、隣接ノードの集合はノード「Ｎ１」、「Ｎ３」及び「Ｎ５」の三つを要素として含む。
【０１２８】
この時点より前に実行された測位データ連続性検証処理において、過去最も新しい測位データ（すなわち時刻「１００」における位置「Ｎ１」を示す測位データ）が連続であると判定されていた場合（ステップ６０３）、上記のように取得された隣接ノードの集合が、過去最も新しい測位データが示す位置に対応するノード「Ｎ１」を含むため（ステップ６０４）、時刻「１０１」における測位データが連続であると判定される（ステップ６０５）。
【０１２９】
次に、時刻「１０２」において位置「Ｎ２」が現在の位置として取得された場合、上記と同様に、「Ｎ１」、「Ｎ３」及び「Ｎ５」の三つを要素として含む隣接ノードの集合が取得される。この場合、過去最も新しい測位データ（すなわち時刻「１０１」における位置「Ｎ２」を示す測位データ）が連続であると判定されているが（ステップ６０３）、その位置「Ｎ２」は隣接ノードの集合に含まれていない（ステップ６０４）。この例では、現在の位置「Ｎ２」が、過去最も新しい測位データが示す位置「Ｎ２」と同一であるため（ステップ６０６）、時刻「１０２」における測位データが連続であると判定される（ステップ６０５）。
【０１３０】
時刻「１０３」〜「１０５」における測位データについても同様の処理が実行され、その結果、全ての測位データが連続であると判定される（ステップ４０４）。このため、図１０Ａの例では図４のステップ４０５〜４０８は実行されない。したがって、この場合、位置未検出データ１５４及び測位不具合データ１５５には何も格納されない。
【０１３１】
図１０Ｂは、本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第２の具体例を示す説明図である。
【０１３２】
詳細には、図１０Ｂは、識別子「Ａ」によって識別される端末装置１１０が、図１０Ａの例と同じ経路を移動した場合の測位データ１５３、位置未検出データ１５４及び測位不具合データ１５５（すなわち、測位データテーブル１０００Ｂ、位置未検出データテーブル１０１０Ｂ及び測位不具合データテーブル１０２０Ｂ）を示す。ただし、この例において、部屋２０２における測位は一度も成功していない。言い換えると、端末装置１１０が部屋２０２内にある間、そのことを一度も検出できていない。
【０１３３】
測位データテーブル１０００Ｂの各レコードの構成は、図１０Ａに示した測位データテーブル１０００Ａと同様である。ただし、測位データテーブル１０００Ｂでは、時刻「１０１」〜「１０３」において、本来取得されるはずの位置「Ｎ２」の代わりに、部屋２０５に対応する位置「Ｎ５」が取得されている。これは、部屋２０２におけるレイアウト変更又は一時的な混雑などによって、端末装置１１０が測位装置２１２からの測位信号より強い測位信号を部屋２０５の測位装置２１５から受信したこと（又は、測位装置２１２が端末装置１１０から受信した測位信号の強度より測位装置２１５が受信した測位信号の強度が強かったこと）を意味する。
【０１３４】
位置未検出データテーブル１０１０Ｂの各レコードは、端末装置１１０の識別子を格納する端末ＩＤ１０１１、測位が行われた時刻を格納する時刻１０１２及び測位データが示す位置を格納する位置１０１３を含む。これらは、測位データテーブル１０００Ｂの各レコードの構成と同じである。ただし、位置未検出データテーブル１０１０Ｂには、測位データ連続性検証処理によって不連続であると判定された測位データに対応するレコードのみが格納される。さらに、各レコードの位置１０１３には、各時刻において本来検出されるべきであった位置（すなわち本来検出されるべき位置の算出処理（図７）によって取得された位置）が格納される。
【０１３５】
測位不具合データテーブル１０２０Ｂの各レコードは、測位不具合が検知された位置を格納する位置１０２１、測位不具合が検知された時刻を格納する検知時刻１０２２及び未検出割合１０２３を含む。これらの値は図９のステップ９０１において格納される。
【０１３６】
ここで、図１０Ｂを参照して、図４〜図９に示した処理の具体例を説明する。
【０１３７】
時刻「１０１」における位置「Ｎ５」が現在の位置として取得された場合、測位不具合検知部１４２は、リンクテーブル３５０を参照して、ノード「Ｎ５」が終点３５３として登録されているレコードの始点３５２のノード「Ｎ２」を取得する（ステップ６０２）。この例において、ノード「Ｎ５」が始点３５２として登録されているレコードは存在しない（ステップ６０１）。すなわち、隣接ノードの集合はノード「Ｎ２」のみを要素として含む。
【０１３８】
図１０Ａの場合と同様、時刻「１００」における位置「Ｎ１」を示す測位データが連続であると判定されたと仮定する（ステップ６０３）。上記のように取得された隣接ノードの集合は、過去最も新しい測位データが示す位置に対応するノード「Ｎ１」を含まない（ステップ６０４）。この例では、現在の位置「Ｎ５」が、過去最も新しい測位データが示す位置「Ｎ１」と同一でないため（ステップ６０６）、時刻「１０１」における測位データが不連続であると判定される（ステップ６０７）。
【０１３９】
この場合、時刻「１０１」における測位データが不連続であると判定されるため（ステップ４０４）、隣接ノードの集合に含まれるノードのうち一つの位置が本来検出されるべき位置として選択される（ステップ７０３）。この例では、隣接ノードの集合にノード「Ｎ２」しか含まれないため、「Ｎ２」が選択される。隣接ノードの集合に複数のノードが含まれる場合、測位不具合検知部１４２がそれらのいずれかを選択する。
【０１４０】
なお、本実施形態において、測位データが不連続であると判定された場合に、現在の位置に隣接するいずれかのノードの位置を本来検出されるべき位置として選択する理由は、次の通りである。
【０１４１】
現在の測位データが不連続であると判定されたことは、検出された現在の位置が、端末装置１１０の真の位置と一致していないと推定されたことを意味する。図１０Ｂは、その一例として、端末装置１１０が実際には部屋２０２内にあるのに、現在の位置として部屋２０５に対応するノード「Ｎ５」検出されたことを示す。このような不一致は、既に説明したように、例えば部屋２０２内にある端末装置１１０が測位装置２１２からの測位信号より測位装置２１５からの測位信号を強く受信した場合に発生する。このようなことは、例えば、部屋２０２内のレイアウト変更又は混雑によって測位装置２１２からの測位信号の受信が阻害された場合に発生する。
【０１４２】
一般には、部屋２０２内の端末装置１１０が複数の測位装置からの測位信号を受信できる場合、部屋２０２に設置された測位装置２１２からの測位信号の受信強度が最も強く、部屋２０２の周囲の部屋に設置された測位装置からの測位信号の受信強度はそれより弱い。部屋２０２の周囲の部屋に設置された測位装置からの測位信号の中では、部屋２０２に隣接する部屋に設置された測位装置（すなわち測位装置２１１、２１３又は２１５）からの測位信号の受信強度が最も強いと推定される。したがって、上記のように測位装置２１２からの測位信号の受信が阻害された場合、隣接する部屋に設置された測位装置２１１、２１３又は２１５からの測位信号の受信強度が最も強くなる可能性が高い。
【０１４３】
このことから、本実施形態では、現在の位置として「Ｎ５」が検出され、かつ、その位置情報を含む測位データが不連続であると判定された場合、端末装置１１０の真の位置は「Ｎ５」に隣接する「Ｎ２」であると推定される。
【０１４４】
上記のように時刻「１０１」において本来検出されるべき位置として「Ｎ２」が選択された場合、位置未検出データテーブル１０１０Ｂの時刻「１０１」に対応する位置１０１３に「Ｎ２」が格納される（ステップ７０４）。
【０１４５】
次に、測位データが測位不具合条件を満たすか否かが判定される（ステップ４０６）。ここでは、例として、ステップ５０１においてｔ＝５、ｘ＝３及びｐ＝０．５が入力された場合について説明する。この場合、後述するように、時刻「１０１」の時点では、測位不具合条件は満たされない（ステップ４０７）。なお、これらの数値は一例に過ぎず、実際には、測位間隔、測位装置の性能及びマルチパスの起こりやすさ等に応じて適切な数値を選択することができる。
【０１４６】
次に、時刻「１０２」における位置「Ｎ５」が現在の位置として取得された場合、測位不具合検知部１４２は、時刻「１０１」の場合と同様に、ノード「Ｎ２」のみを要素として含む隣接ノードの集合を取得する（ステップ６０１及び６０２）。
【０１４７】
上記のように、時刻「１０１」における位置「Ｎ５」を示す測位データが不連続であると判定され（ステップ６０３）、現在の位置「Ｎ５」は、過去最も新しい不連続な測位データが示す位置「Ｎ５」と同一である（ステップ６１１）。このため、時刻「１０２」における測位データが不連続であると判定される（ステップ６０７）。
【０１４８】
この場合も、時刻「１０１」の場合と同様にステップ４０５及び４０７が実行される。すなわち、ステップ４０５では、時刻「１０２」において本来検出されるべき位置として「Ｎ２」が選択される。そして、時刻「１０２」でも、測位不具合条件は満たされない（ステップ４０７）。
【０１４９】
次に、時刻「１０３」における位置「Ｎ５」が現在の位置として取得された場合、時刻「１０２」の場合と同様の処理によって、時刻「１０３」における測位データが不連続であると判定される。さらに、時刻「１０２」の場合と同様、ステップ４０５では、時刻「１０３」において本来検出されるべき位置として「Ｎ２」が選択される。ここまでの処理によって、位置未検出データテーブル１０１０Ｂには、図１０Ｂに示すように、それぞれが時刻「１０１」から「１０３」に対応する三つのレコードが格納され、それらの位置１０１３の値はいずれも「Ｎ２」である。
【０１５０】
次に、ステップ４０６が実行される。最初に、測位データテーブル１０００Ｂに格納された過去５単位時間以内のレコードのうち、位置１００３が検証対象の位置と一致するレコードの集合Ｒ１が取得される（ステップ８０１）。
【０１５１】
ここで、検証対象の位置とは、測位不具合の検証対象の位置、言い換えると、測位不具合が発生していることが疑われる位置である。上記のように、不連続であると判定された測位データについて、本来検出されるべき位置として「Ｎ２」が選択された場合、位置「Ｎ２」（すなわちそれに対応する部屋２０２）において測位不具合が発生していることが疑われる。このため、ステップ８０１及び続くステップ８０２では、検証対象の位置として「Ｎ２」が指定される。
【０１５２】
したがって、ステップ８０１では、過去５単位時間以内のレコードのうち、位置１００３が「Ｎ２」であるレコードが取得される。しかし、図１０Ｂの例では、この条件に該当するレコードは存在しない。したがって、集合Ｒ１は空集合となる。
【０１５３】
次に、位置未検出データテーブル１０１０Ｂに格納された過去５単位時間以内のレコードのうち、位置１０１３が検証対象の位置「Ｎ２」と一致するレコードの集合Ｒ２が取得される（ステップ８０２）。図１０Ｂの例では、集合Ｒ２には時刻「１０１」〜「１０３」に対応する三つのレコードが含まれる。
【０１５４】
集合Ｒ１に含まれるレコードの数「０」と集合Ｒ２に含まれるレコードの数「３」の合計「３」がｘの値「３」以上であり、かつ、合計「３」の値に対する集合Ｒ２に含まれるレコードの数「３」の割合（すなわち位置未検出割合）「１」がｐの値「０．５」以上であるため（ステップ８０３）、この時点の測位データが測位不具合条件を満たすことが返される（ステップ８０４）。
【０１５５】
この場合、測位不具合条件を満たすと判定された検証対象の位置「Ｎ２」、測位不具合条件を満たすと判定された時刻「１０３」及び位置未検出割合「１」が、それぞれ、測位不具合データテーブル１０２０Ｂの位置１０２１、検知時刻１０２２及び未検出割合１０２３として格納される（ステップ４０８及び９０１）。
【０１５６】
なお、時刻「１０１」及び「１０２」において実行される測位不具合条件の検証処理では、ステップ８０３において、集合Ｒ１に含まれるレコードの数と集合Ｒ２に含まれるレコードの数の合計がｘの値「３」未満であると判定されるため、測位不具合条件は満たされない。
【０１５７】
上記のようにある程度以上の頻度で（上記の例では０．５以上）測位データの不連続が発生しない限り測位不具合が発生したと判定しない理由は、次の通りである。
【０１５８】
すなわち、既に説明したように、通常は、部屋のレイアウト変更等によって測位信号の受信が阻害されない限り、ある部屋内にある端末装置１１０は、その部屋内の測位装置からの測位信号を最も強く受信することが期待されている。しかし、実際には、特に屋内空間においては、マルチパス等の影響によって、端末装置１１０が偶発的に周辺の部屋からの測位信号を最も強く受ける場合がある。このため、本実施形態では、不連続が発生する頻度が所定の値より低ければ、それが偶発的に発生したものであり、レイアウト変更等に起因するものではないと判断される。後述する測位データ補正条件（図１２等参照）も、同様の考え方に基づく。
【０１５９】
また、測位データの不連続が発生する頻度を計算するために、ある程度のサンプル数を確保する必要があるため、本実施形態ではレコード数の合計値についてｘ以上という制限が設けられる。
【０１６０】
図１０Ｃは、本発明の実施形態における測位データ及びそれに基づく測位不具合検知処理の第３の具体例を示す説明図である。
【０１６１】
詳細には、図１０Ｃは、識別子「Ａ」によって識別される端末装置１１０が、図１０Ａの例と同じ経路を移動した場合の測位データ１５３、位置未検出データ１５４及び測位不具合データ１５５（すなわち、測位データテーブル１０００Ｃ、位置未検出データテーブル１０１０Ｃ及び測位不具合データテーブル１０２０Ｃ）を示す。ただし、この例において、部屋２０２における測位は時折成功している。言い換えると、端末装置１１０が部屋２０２内にある間に実行された複数回の測位の一部が成功している。
【０１６２】
測位データテーブル１０００Ｃの各レコードの構成は、図１０Ａに示した測位データテーブル１０００Ａと同様である。ただし、測位データテーブル１０００Ｃでは、時刻「１０１」及び「１０３」において、本来取得されるはずの位置「Ｎ２」の代わりに、部屋２０５に対応する位置「Ｎ５」が取得されている。
【０１６３】
位置未検出データテーブル１０１０Ｃ及び測位不具合データテーブル１０２０Ｃの構成は、それぞれ図１０Ｂに示した位置未検出データテーブル１０１０Ｂ及び測位不具合データテーブル１０２０Ｂと同様であるが、後述するように、図１０Ｃの例では、図１０Ｂの例とは異なる値が格納される。
【０１６４】
ここで、図１０Ｃを参照して、図４〜図９に示した処理の具体例を説明する。
【０１６５】
時刻「１０１」までの処理は、図１０Ｂの例と同様であるため、説明を省略する。図１０Ｂの場合と同様、時刻「１０１」における処理が終了した時点で、位置未検出データテーブル１０１０Ｃには、時刻「１０１」及び位置「Ｎ２」を含むレコードが格納されている。
【０１６６】
次に、時刻「１０２」における位置「Ｎ２」が現在の位置として取得された場合、測位不具合検知部１４２は、図１０Ａの例の時刻「１０１」の場合と同様に、ノード「Ｎ１」、「Ｎ３」及び「Ｎ５」の三つを要素として含む隣接ノードの集合を取得する（ステップ６０１及び６０２）。
【０１６７】
図１０Ｃの例では、時刻「１０１」における位置「Ｎ５」を示す測位データが不連続であると判定され（ステップ６０３）、現在の位置「Ｎ２」は、過去最も新しい不連続な測位データが示す位置「Ｎ５」と同一でない（ステップ６１１）。さらに、現在の位置「Ｎ２」は、過去最も新しい連続な測位データが示す位置「Ｎ１」と一つのリンクを介して接続されている（ステップ６１３）。このため、時刻「１０２」における測位データは連続であると判定される（ステップ６０５）。この場合、ステップ４０５〜４０８は実行されない。
【０１６８】
次に、時刻「１０３」における位置「Ｎ５」が現在の位置として取得された場合、測位不具合検知部１４２は、ノード「Ｎ２」のみを要素として含む隣接ノードの集合を取得する（ステップ６０１及び６０２）。過去最も新しい測位データが連続であり（ステップ６０３）、その過去最も新しい測位データが示す位置「Ｎ２」が隣接ノードの集合に含まれるため（ステップ６０４）、時刻「１０３」における測位データは連続であると判定される（ステップ６０５）。この場合も、ステップ４０５〜４０８は実行されない。
【０１６９】
次に、時刻「１０４」における位置「Ｎ３」が現在の位置として取得された場合、測位不具合検知部１４２は、ノード「Ｎ２」、「Ｎ４」及び「Ｎ６」の三つを要素として含む隣接ノードの集合を取得する（ステップ６０１及び６０２）。この場合、過去最も新しい測位データが連続と判定され（ステップ６０３）、過去最も新しい測位データが示す位置「Ｎ５」が隣接ノードの集合に含まれず（ステップ６０４）、現在の位置「Ｎ３」と過去最も新しい測位データが示す位置「Ｎ５」が同一でないため（ステップ６０６）、時刻「１０４」における測位データは不連続であると判定される（ステップ６０７）。この場合、ステップ４０５〜４０８が実行される。
【０１７０】
具体的には、隣接ノードの集合からいずれかのノード（図１０Ｃの例ではノード「Ｎ２」）が本来検出されるべきノードとして選択され（ステップ７０３）、時刻「１０４」及び位置「Ｎ２」を含むレコードが位置未検出データテーブル１０１０Ｃに追加される（ステップ７０４）。
【０１７１】
また、時刻「１０４」において、過去５単位時間以内のレコードのうち、位置１００３が「Ｎ２」である１レコード及び位置１０１３が「Ｎ２」である２レコードが取得される（ステップ８０１及び８０２）。
【０１７２】
集合Ｒ１に含まれるレコードの数「１」と集合Ｒ２に含まれるレコードの数「２」の合計「３」がｘの値「３」以上であり、かつ、合計「３」の値に対する集合Ｒ２に含まれるレコードの数「２」の割合（すなわち位置未検出割合）「０．６７」がｐの値「０．５」以上であるため（ステップ８０３）、この時点の測位データが測位不具合条件を満たすことが返される（ステップ８０４）。
【０１７３】
この場合、測位不具合条件を満たすと判定された検証対象の位置「Ｎ２」、測位不具合条件を満たすと判定された時刻「１０４」及び位置未検出割合「０．６７」が、それぞれ、測位不具合データテーブル１０２０Ｂの位置１０２１、検知時刻１０２２及び未検出割合１０２３として格納される（ステップ４０８及び９０１）。
【０１７４】
サーバ装置１３０は、入出力装置１３５を用いて、位置未検出データ１５４又は測位不具合データ１５５等の内容を（例えばステップ４０８において）管理者に出力してもよい。管理者は、これらの情報を参照して、どの位置において測位の不具合が発生しているかを知り、その情報に基づいて、測位不具合の原因究明及び不具合解消のための対策を迅速に行うことができる。
【０１７５】
次に、測位データの補正について説明する。
【０１７６】
図１１は、本発明の実施形態のサーバ装置１３０が実行する測位データ補正処理を示すフローチャートである。
【０１７７】
サーバ装置１３０の測位データ補正部１４３は、最初に、測位データの補正条件を設定する（ステップ１１０１）。この処理については、図１２を参照して後述する。
【０１７８】
次に、測位データ補正部１４３は、基地局装置１２０から、端末装置１１０の位置情報を含む測位データを受信する（ステップ１１０２）。受信した測位データは、測位データ１５３として格納される。測位部１４１が測位データを受信してそれを測位データ１５３として格納し、測位データ補正部１４３が測位データ１５３を参照してもよい。測位データ１５３の具体例については、図１５を参照して後述する。
【０１７９】
次に、測位データ補正部１４３は、ネットワークデータ１５２及び測位データ１５３に基づいて、現在の測位データと過去の測位データとの間の連続性を検証する（ステップ１１０３）。この処理は図４のステップ４０３と同様に実行されるため、ここでは説明を省略する。
【０１８０】
次に、測位データ補正部１４３は、ステップ１１０３の検証結果に基づいて、現在の測位データと過去の測位データとが連続であるか否かを判定する（ステップ１１０４）。不連続であると判定された場合、処理はステップ１１０５に進み、連続であると判定された場合、処理はステップ１１０８に進む。
【０１８１】
ステップ１１０５において、測位データ補正部１４３は、測位データ補正条件が満たされるか否かを検証する処理を実行し、次に、ステップ１１０６において、測位データ補正部１４３は、検証処理の結果に従って測位データ補正条件が満たされるか否かを判定する。検証処理については、図１３を参照して後述する。補正条件が満たされる場合、処理はステップ１１０７に進み、満たされない場合、処理はステップ１１０８に進む。
【０１８２】
ステップ１１０７において、測位データ補正部１４３は、測位データを補正する。この処理については、図１４を参照して後述する。
【０１８３】
ステップ１１０８において、測位データ補正部１４３は、測位データ補正処理を終了するか否かを判定する。例えば、管理者が処理の終了を指示した場合又は所定の終了条件が満たされた場合に測位データ補正処理を終了すると判定されてもよい。測位データ補正処理を終了すると判定された場合、測位データ補正部１４３は測位データ補正処理を終了する。一方、測位データ補正処理を終了しないと判定された場合、処理はステップ１１０２に戻る。
【０１８４】
図１２は、本発明の実施形態のサーバ装置１３０が実行する測位データ補正条件設定処理を示すフローチャートである。
【０１８５】
図１２に示す処理は、図１１のステップ１１０１において実行される。
【０１８６】
測位データ補正部１４３は、例えば、測位データの位置として本来検出されるべき位置に関して、過去ｔ単位時間以内に、位置未検出割合がｐ以上である場合に、測位データを補正するように測位データ補正条件を設定することができる（ステップ１２０１）。この場合、測位データ補正部１４３は、上記の時間ｔ及び割合ｐを任意に（例えば管理者から入力された値を）設定することができる。
【０１８７】
以上で測位不具合条件設定処理が終了する。
【０１８８】
図１３は、本発明の実施形態のサーバ装置１３０が実行する測位データ補正条件の検証処理を示すフローチャートである。
【０１８９】
図１３に示す処理は、図１１のステップ１１０５において実行される。
【０１９０】
最初に、測位データ補正部１４３は、測位不具合データテーブルから、過去ｔ単位時間以内のレコードのうち、本来検出されるべき位置を含むレコードの集合Ｒ３を取得する（ステップ１３０１）。
【０１９１】
次に、測位データ補正部１４３は、集合Ｒ３に、位置未検出割合がｐ以上であるレコードが含まれるか否かを判定する（ステップ１３０２）。位置未検出割合がｐ以上であるレコードが含まれる場合、補正条件が満たされることが返され（ステップ１３０３）、含まれない場合、補正条件が満たされないことが返される（ステップ１３０４）。
【０１９２】
以上で測位データ補正条件の検証処理が終了する。
【０１９３】
図１４は、本発明の実施形態のサーバ装置１３０が実行する測位データ補正処理を示すフローチャートである。
【０１９４】
図１４に示す処理は、図１１のステップ１１０７において実行される。
【０１９５】
測位データ補正部１４３は、測位データテーブルの補正対象のレコードの補正位置の値を、「ＮＵＬＬ」から本来検出されるべき位置に更新する（ステップ１４０１）。以上で測位データ補正処理が終了する。
【０１９６】
図１５は、本発明の実施形態における測位データ及びそれに基づく測位データ補正処理の具体例を示す説明図である。
【０１９７】
具体的には、図１５は、端末装置１１０が図１０Ｂの場合と同様の経路を移動し、図１０Ｂの場合と同様に、部屋２０２において一度も測位に成功しなかった場合の測位データ等を示す。
【０１９８】
図１５に示す測位データテーブル１０００Ｄの各レコードは、図１０Ｂに示した測位データテーブル１０００Ｂと同様の端末ＩＤ１００１、時刻１００２及び位置１００３に加えて、補正された後の位置が格納される補正位置１００４を含む。補正が行われる前の時点においては、いずれのレコードの補正位置１００４の値も「ＮＵＬＬ」である。
【０１９９】
ステップ１１０３において測位データの連続性が検証され、その結果、測位不具合データテーブル１０２０Ｂが取得される。これは、図１０Ｂに示したものと同じである。なお、図１５では省略されているが、図１０Ｂに示したものと同じ位置未検出データテーブル１０１０Ｂも取得される。
【０２００】
測位データテーブル１０００Ｄ及び測位不具合データテーブル１０２０Ｂが取得された場合、時刻「１０３」において位置未検出割合がｐの値「０．５」を超える。すなわち、時刻「１０３」において測位データ補正条件が満たされるため、時刻「１０３」に対応する補正位置１００４の値が「ＮＵＬＬ」から位置１０２１の値「Ｎ２」に補正される（測位データテーブル１０００Ｅ参照）。
【０２０１】
サーバ装置１３０は、端末装置１１０のユーザに対して、端末装置１１０の位置情報を利用したサービス（例えば地図情報の送信又は経路案内等）を提供している場合、上記のように補正された位置情報を用いてサービスを提供することができる。これによって、環境変化等のために正常な測位が阻害された場合にも、サービスの品質が提供しないようにシステムの運用を継続することができる。
【０２０２】
次に、環境変化の推定について説明する。
【０２０３】
図１６は、本発明の実施形態のサーバ装置１３０が実行する環境変化推定処理を示すフローチャートである。
【０２０４】
サーバ装置１３０の環境変化推定部１４４は、最初に、環境変化の推定条件を設定する（ステップ１６０１）。この処理については、図１７を参照して後述する。
【０２０５】
次に、環境変化推定部１４４は、所定の時間が経過するのを待つ（ステップ１６０２）。この間、図６Ａ及び図６Ｂに示した測位データ連続性検証処理が実行される必要がある。
【０２０６】
所定の時間が経過すると、環境変化推定部１４４は、環境変化の推定条件が満たされるか否かを検証し（ステップ１６０３）、その検証結果に基づいて、環境変化の推定条件が満たされるか否かを判定する（ステップ１６０４）。検証処理については、図１８を参照して後述する。環境変化の推定条件が満たされる場合、処理はステップ１６０５に進み、満たされない場合、処理はステップ１６０６に進む。
【０２０７】
ステップ１６０５において、環境変化推定部１４４は、推定条件を満たすと判定された環境変化の検知時刻及び種類を管理者に通知する。この通知は、サーバ装置１３０が管理者に対して環境変化の検知時刻及び種類を示す情報を出力することによって行われる。例えば、入出力装置１３５が当該情報を表示してもよいし、通信装置１３２がネットワーク１７０に当該情報を送信してもよい。
【０２０８】
次に、環境変化推定部１４４は、環境変化推定処理を終了するか否かを判定する（ステップ１６０６）。例えば、管理者が処理の終了を指示した場合又は所定の終了条件が満たされた場合に環境変化推定処理を終了すると判定されてもよい。環境変化推定処理を終了すると判定された場合、環境変化推定部１４４は環境変化推定処理を終了する。一方、環境変化推定処理を終了しないと判定された場合、処理はステップ１６０２に戻る。
【０２０９】
図１７は、本発明の実施形態のサーバ装置１３０が実行する環境変化の推定条件設定処理を示すフローチャートである。
【０２１０】
図１７に示す処理は、図１６のステップ１６０１において実行される。
【０２１１】
環境変化推定部１４４は、測位不具合データテーブルを参照して、過去ｔ単位時間以内に、位置未検出割合がｑ以上であったレコードに含まれる位置において、レイアウト変更及び混雑の少なくとも一方に起因する環境変化が発生したことを推定するように、環境変化の推定条件を設定する（ステップ１７０１）。
【０２１２】
さらに、環境変化推定部１４４は、測位不具合データテーブルを参照して、過去ｔ単位時間以内に、位置未検出割合がｐ以上ｑ未満であったレコードに含まれる位置において、混雑に起因する環境変化が発生したことを推定するように、環境変化の推定条件を設定する（ステップ１７０２）。
【０２１３】
以上で、環境変化の推定条件設定処理が終了する。
【０２１４】
図１８は、本発明の実施形態のサーバ装置１３０が実行する環境変化推定条件の検証処理を示すフローチャートである。
【０２１５】
図１８に示す処理は、図１６のステップ１６０３において実行される。
【０２１６】
環境変化推定部１４４は、測位不具合データテーブルを参照して、過去ｔ単位時間以内に、位置未検出割合がｑ以上であったレコードＲ４を取得し、Ｒ４に含まれる位置において、レイアウト変更及び混雑の少なくとも一方に起因する環境変化が発生したと推定する（ステップ１８０１）。
【０２１７】
さらに、環境変化推定部１４４は、測位不具合データテーブルを参照して、過去ｔ単位時間以内に、位置未検出割合がｐ以上でｑ未満あったレコードＲ５を取得し、Ｒ５に含まれる位置において、混雑に起因する環境変化が発生したと推定する（ステップ１８０２）。
【０２１８】
ここで、環境変化推定処理の具体例を、図１０Ｂ及び図１０Ｃを参照して説明する。この具体例において、環境変化の推定条件は、ｐ＝０．５、ｑ＝０．９と設定される（ステップ１７０１及び１７０２）。
【０２１９】
図１０Ｂの測位データテーブル１０００Ｂに示すような測位データが取得された場合、位置「Ｎ２」及び時刻「１０３」に対応する未検出割合１０２３が「１」と算出される（測位不具合データテーブル１０２０Ｂ参照）。この未検出割合の値は、ｑの値「０．９」以上であるため、位置「Ｎ２」においてレイアウト変更及び混雑の少なくとも一方に起因する環境変化が発生したことが推定される（ステップ１８０１）。そして、その環境変化が検知された時刻「１０３」と、推定された環境変化の内容、すなわち、その環境変化がレイアウト変更及び混雑の少なくとも一方に起因するものであることを示す情報が管理者に通知される（ステップ１６０５）。
【０２２０】
一方、図１０Ｃの測位データテーブル１０００Ｃに示すような測位データが取得された場合、位置「Ｎ２」及び時刻「１０４」に対応する未検出割合１０２３が「０．６７」と算出される（測位不具合データテーブル１０２０Ｃ参照）。この未検出割合の値は、ｐの値「０．５」以上かつｑの値「０．９」未満であるため、位置「Ｎ２」において混雑に起因する環境変化が発生したことが推定される（ステップ１８０２）。そして、その環境変化が検知された時刻「１０４」と、推定された環境変化の内容、すなわち、その環境変化が混雑に起因するものであることを示す情報が管理者に通知される（ステップ１６０５）。
【０２２１】
なお、図１６に示した処理は、図４に示した処理とは独立に実行されてもよいが、図４に示した処理と組み合わせて実行されてもよい。具体的には、図４のステップ４０１において図１６のステップ１６０１と同様の処理を行い、図４のステップ４０６から４０８においてそれぞれ図１６のステップ１６０３から１６０５と同様の処理を行ってもよい。
【０２２２】
上記の環境変化の推定は、ある位置における位置未検出割合（すなわち測位データが不連続であると判定される頻度）が高いほど、持続的な環境変化が発生した可能性が高いという推定に基づく。このため、本実施形態では閾値ｐ及びそれより高い閾値ｑが設定され、未検出割合が閾値ｐを超えた場合には一時的な環境変化が発生した可能性があり、未検出割合が閾値ｑを超えた場合には一時的な環境変化が発生した可能性に加えて持続的な環境変化が発生した可能性があると判定される。なお、未検出割合が閾値ｑを超えた場合には、一時的な環境変化が発生した可能性よりも持続的な環境変化が発生した可能性が高いと判定し、持続的な環境変化を示す情報のみを管理者に通知してもよい。
【０２２３】
ここで、持続的な環境変化とは、その環境変化が発生した後の状態がある程度の期間持続するような環境変化である。上記の説明では持続的な環境変化の原因の一例として屋内空間のレイアウト変更を挙げたが、それ以外の原因によるものであってもよい。一方、一時的な環境変化とは、その環境変化が発生した後の状態が上記の持続的な環境変化の場合ほどには持続しないような環境変化である。上記の説明では一時的な環境変化の原因として、部屋に滞在する人又はそこを通行する人の混雑を挙げたが、それ以外の原因によるものであってもよい。
【０２２４】
ステップ１６０５の通知を受けた管理者は、推定された環境変化の種類に応じた適切な対策を行うことができる。例えば、レイアウト変更に起因する環境変化が推定された場合、管理者は、実際にレイアウト変更が行われたか否かを確認し、行われた場合には、変更後の空間においても正常に測位ができるように、測位装置の移設又は増設等の対策を行うことができる。混雑に起因する環境変化が推定された場合も同様であり、例えば、混雑の影響を受けにくい場所に測位装置を移設又は増設する等の対策を行うことができる。
【符号の説明】
【０２２５】
１１０  端末装置
１１１、１２１、１３１  処理装置
１１２、１２２、１３２  通信装置
１２０  基地局装置
１３０  サーバ装置
１３３  主記憶装置
１３４  外部記憶装置
１３５  入出力装置
１６０、１７０  ネットワーク
２０１〜２０６  部屋
２１１〜２１６  測位装置
３０１〜３０６  ノード
３１１〜３１５  リンク
【図１】
0005166502.tif 000002
【図２】
0005166502.tif 000003
【図３Ａ】
0005166502.tif 000004
【図３Ｂ】
0005166502.tif 000005
【図３Ｃ】
0005166502.tif 000006
【図４】
0005166502.tif 000007
【図５】
0005166502.tif 000008
【図６Ａ】
0005166502.tif 000009
【図６Ｂ】
0005166502.tif 000010
【図７】
0005166502.tif 000011
【図８】
0005166502.tif 000012
【図９】
0005166502.tif 000013
【図１０Ａ】
0005166502.tif 000014
【図１０Ｂ】
0005166502.tif 000015
【図１０Ｃ】
0005166502.tif 000016
【図１１】
0005166502.tif 000017
【図１２】
0005166502.tif 000018
【図１３】
0005166502.tif 000019
【図１４】
0005166502.tif 000020
【図１５】
0005166502.tif 000021
【図１６】
0005166502.tif 000022
【図１７】
0005166502.tif 000023
【図１８】
0005166502.tif 000024