(57)【要約】【課題】コンピュータシステムの位置決定信号受信機が受信した位置決定信号の測定された強度に基づいて位置を判定することを含む方法、プログラム及びコンピュータシステムを提供することを目的とする。【解決手段】中央処理装置、位置決定信号受信機、及びメモリを備えるコンピュータシステムが実行する方法であって、位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、受信した位置決定信号の強度を測定することと、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、コンピュータシステムがアンカー装置と同じ場所に配置されていると判定される場合、受信した位置決定信号の測定された強度に少なくとも基づいて位置を判定することと、を含む方法が提供される。【選択図】図１
2018189630.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置、位置決定信号受信機、及びメモリを備えるコンピュータシステムが実行する方法であって、
ａ．前記位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、
ｂ．受信した前記位置決定信号の強度を測定することと、
ｃ．前記コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、
ｄ．前記コンピュータシステムが前記アンカー装置と同じ場所に配置されていると判定される場合、前記受信した位置決定信号の測定された前記強度に少なくとも基づいて位置を判定することと、
を含む、方法。
【請求項２】
前記コンピュータシステムが前記アンカー装置と同じ場所に配置されているかどうかを判定することは、前記アンカー装置から鍵を含む第１のメッセージを受信することと、少なくとも受信した前記鍵を含む第２のメッセージを前記アンカー装置に送信することと、前記アンカー装置で、前記第２のメッセージのタイミングとの関連で前記第１のメッセージのタイミングを分析することとを含む、請求項１に記載の方法。
【請求項３】
前記コンピュータシステムは、前記第１のメッセージと前記第２のメッセージとの間に経過した時間が所定の閾値を超えない場合、前記アンカー装置と同じ場所に配置されていると判定される、請求項２に記載の方法。
【請求項４】
前記鍵は、ランダムに生成されるノンスである、請求項２に記載の方法。
【請求項５】
前記第２のメッセージは、前記コンピュータシステムに関連付けられた秘密暗号鍵を用いて署名され、前記アンカー装置は前記コンピュータシステムに関連付けられた公開鍵を用いて前記第２のメッセージを検証する、請求項２に記載の方法。
【請求項６】
前記第１のメッセージを受信することと、前記第２のメッセージを送信することとは、近距離無線通信（ＮＦＣ）プロトコルを介して行われる、請求項２に記載の方法。
【請求項７】
前記第２のメッセージは、前記受信した位置決定信号の前記測定された強度を更に含む、請求項２に記載の方法。
【請求項８】
前記アンカー装置は、第３のメッセージをサーバに送信し、前記第３のメッセージは少なくとも前記第２のメッセージと前記アンカー装置の位置証明とを含む、請求項２に記載の方法。
【請求項９】
前記第３のメッセージは、前記アンカー装置に関連付けられた秘密暗号鍵を用いて署名され、前記サーバは前記アンカー装置に関連付けられた公開鍵を用いて第３のメッセージを検証する、請求項８に記載の方法。
【請求項１０】
前記鍵は一意的である、請求項２に記載の方法。
【請求項１１】
前記受信した位置決定信号は、建物の部屋に配設されたビーコンによって提供される、請求項１に記載の方法。
【請求項１２】
前記アンカー装置は、信頼された実行環境を含む信頼された装置である、請求項１に記載の方法。
【請求項１３】
前記受信した位置決定信号の前記測定された強度に少なくとも基づいて位置を判定することは、サーバ上で実行され、前記サーバは位置証明を前記コンピュータシステムに送信するように構成される、請求項１に記載の方法。
【請求項１４】
前記位置証明は、前記アンカー装置を介して前記コンピュータシステムに送信される、請求項１３に記載の方法。
【請求項１５】
前記コンピュータシステムは、ユーザアプリケーションを実行し、前記位置証明は前記ユーザアプリケーションに提供される、請求項１４記載の方法。
【請求項１６】
前記アンカー装置を固定することを更に含む、請求項１に記載の方法。
【請求項１７】
前記アンカー装置を固定することは、前記アンカー装置で少なくとも１つの第２の位置決定信号を受信することと、受信した前記第２の位置決定信号の強度を測定することと、前記受信した第２の位置決定信号の測定された前記強度に少なくとも基づいて前記アンカー装置の位置を判定することとを含む、請求項１６に記載の方法。
【請求項１８】
前記受信した第２の位置決定信号の前記測定された強度に少なくとも基づいて前記アンカー装置の位置を判定することは、サーバ上で実行され、前記サーバは前記アンカー装置に位置証明を送信するように構成される、請求項１７に記載の方法。
【請求項１９】
前記アンカー装置の動きを検出することと、検出した前記動きに基づいて前記アンカー装置の前記位置証明を無効にすることとを更に含む、請求項１８に記載の方法。
【請求項２０】
前記アンカー装置は、加速度計を含み、前記アンカー装置の前記動きは前記加速度計を用いて検出される、請求項１９に記載の方法。
【請求項２１】
前記アンカー装置の前記位置証明は、前記検出した動きが所定の閾値を超える場合に無効にされる、請求項１９に記載の方法。
【請求項２２】
前記コンピュータシステムが前記アンカー装置と同じ場所に配置されているかどうかを判定することは、定期的に実行される、請求項１に記載の方法。
【請求項２３】
中央処理装置、位置決定信号受信機、表示装置、及びメモリを備えるコンピュータシステムに、
ａ．前記位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、
ｂ．受信した前記位置決定信号の強度を測定することと、
ｃ．前記コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、
ｄ．前記コンピュータシステムが前記アンカー装置と同じ場所に配置されていると判定される場合、前記受信した位置決定信号の測定された前記強度に少なくとも基づいて位置を判定することと、
を含む、方法を実行させる、プログラム。
【請求項２４】
中央処理装置、位置決定信号受信機、及びメモリを備えるコンピュータシステムであって、前記メモリが、前記コンピュータシステムに、
ａ．前記位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、
ｂ．受信した前記位置決定信号の強度を測定することと、
ｃ．前記コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、
ｄ．前記コンピュータシステムが前記アンカー装置と同じ場所に配置されていると判定される場合、前記受信した位置決定信号の測定された前記強度に少なくとも基づいて位置を判定することと、
を含む、方法を実行させるためのプログラムを記憶する、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、概して、測位システムに関し、より詳細には、高信頼性の屋内での近接度及び位置決定のための方法、プログラム及びコンピュータシステムに関する。
【背景技術】
【０００２】
当該技術分野において長年の問題は、屋内での位置の高速かつ正確な判定である。様々なハードウェア及びソフトウェア技術が作り出されており、特に近年では、信頼性が高く、かつ配備が容易な解決策が提案されている。これらの技術の多くにより、スマートフォン及びタブレットなどの毎日使用する装置は屋内での位置を判定することが可能となっている。実際に、ＡｐｐｌｅのｉＢｅａｃｏｎ（登録商標）フレームワークなどの技術は、大規模な採用、配備及び使用が分かってきている。結果として、屋内での位置決定に対応したアプリケーションの急増のために技術的基盤が敷かれている。
【０００３】
幅広い種類のアプリケーションに対して、正確な位置情報は、ユーザの体験を支援又は向上させる状況を提供する。これらのアプリケーションとしては、関心地点アプリケーション、地図作成ツール、及びソーシャルプレゼンス共有アプリケーションが挙げられる。不正確又は操作された位置がこれらのアプリケーションの有用性に影響を及ぼすが、サービス提供者の観点から害はないであろう。しかし、位置の精度及び信頼性がアプリケーション自体に不可欠である多くの他のアプリケーションがある。これらのアプリケーションは、部屋への出入り、在庫管理、及び文書アクセスソリューションを含んでおり、物理的対象又は仮想物体へのアクセスを許可又は拒否するこれらの決定はユーザの物理的位置を含む状況的側面を有する。
【０００４】
信頼された位置決定に焦点を当てた研究及び開発がこれまでかなりなされてきた。しかし、この作業の多くは、点の解決策を探求してきた。例えば、匿名だが位置ベースのサービスの検証可能な位置チェックイン、既存の基盤に便乗する共存のコンテキストベースの証明、並びに複数の利害関係者のＷｉＦｉ又はセルラー環境で（粗い）位置の安全な証明を作成及び検証するためのシステムを提供するために、解決策が開発されてきた。参照により本明細書に組み込まれる下記特許文献１には、位置及び時間情報をブルートゥース（登録商標）低エネルギー（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ、ＢＬＥ）ビーコンベースの位置フレームワークに符号化する新規なプロトコルを用いて、ある程度の位置信頼性を保証できる解決策が記載されている。このプロトコルは、リプレイ攻撃を防ぐが、２人以上のユーザがあるユーザのためにそのユーザの物理的位置とは異なる位置証明を生成するように共謀する攻撃の影響を依然として受けやすい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第９４９１５８８号明細書
【非特許文献】
【０００６】
【非特許文献１】Ｆｒｅｕｎｄ，Ｙ．、Ｓｃｈａｐｉｒｅ，Ｒ．、“Ａ  ｄｅｃｉｓｉｏｎ−ｔｈｅｏｒｅｔｉｃ  ｇｅｎｅｒａｌｉｚａｔｉｏｎ  ｏｆ  ｏｎ−ｌｉｎｅ  ｌｅａｒｎｉｎｇ  ａｎｄ  ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｂｏｏｓｔｉｎｇ”、Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｓｙｓｔｅｍ  Ｓｃｉｅｎｃｅｓ、１９９７年、第５５巻第１号、ｐ．１１９−１３９
【非特許文献２】Ｈａｓｔｉｅ，Ｔ．、Ｔｉｂｓｈｉｒａｎｉ，Ｒ．、Ｆｒｉｅｄｍａｎ，Ｊ．、“Ｔｈｅ  Ｅｌｅｍｅｎｔｓ  ｏｆ  Ｓｔａｔｉｓｔｉｃａｌ  Ｌｅａｒｎｉｎｇ”、（米国）、Ｓｐｒｉｎｇｅｒ、２００１年
【非特許文献３】Ｂｏｌｌｉｇｅｒ，Ｐ．、“Ｒｅｄｐｉｎ−ａｄａｐｔｉｖｅ，ｚｅｒｏ−ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｉｎｄｏｏｒ  ｌｏｃａｌｉｚａｔｉｏｎ  ｔｈｒｏｕｇｈ  ｕｓｅｒ  ｃｏｌｌａｂｏｒａｔｉｏｎ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｗｏｒｋｓｈｏｐ  ｏｎ  Ｍｏｂｉｌｅ  ｅｎｔｉｔｙ  ｌｏｋａｌｉｚａｔｉｏｎ  ａｎｄ  ｔｒａｃｋｉｎｇ  ｉｎ  ＧＰＳ−ｌｅｓｓ  ｅｎｖｉｒｏｎｍｅｎｔｓ（ＭＥＬＴ  ２００８）、２００８年、ｐ．５５−６０
【非特許文献４】Ｂｉｅｈｌ，Ｊ．Ｔ．、Ｃｏｏｐｅｒ，Ｍ．、Ｆｉｌｂｙ，Ｇ．、Ｋｒａｔｚ，Ｓ．、“ＬｏＣｏ：Ａ  Ｒｅａｄｙ−ｔｏ−Ｄｅｐｌｏｙ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｒｏｏｍ  Ｌｏｃａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｗｉ−Ｆｉ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｕｂｉｑｕｉｔｏｕｓ  Ｃｏｍｐｕｔｉｎｇ（Ｕｂｉｃｏｍｐ  ２０１４）、２０１４年
【非特許文献５】Ｂｏｇｄａｎ  Ｃａｒｂｕｎａｒ、Ｒａｄｕ  Ｓｉｏｎ、Ｒａｈｕｌ  Ｐｏｔｈａｒａｊｕ、Ｍｏｕｓｓａ  Ｅｈｓａｎ、“Ｐｒｉｖａｔｅ  ｂａｄｇｅｓ  ｉｎ  ｇｅｏｓｏｃｉａｌ  ｎｅｔｗｏｒｋｓ”、Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ａｎｄ  Ｎｅｔｗｏｒｋ  Ｓｅｃｕｒｉｔｙ（ＡＣＮＳ）、２０１２年
【非特許文献６】Ｙｉｈ−Ｃｈｕｎ  Ｈｕ、Ａｄｒｉａｎ  Ｐｅｒｒｉｇ、Ｄａｖｉｄ  Ｂ．Ｊｏｈｎｓｏｎ、“Ｐａｃｋｅｔ  Ｌｅａｓｈｅｓ：Ａ  Ｄｅｆｅｎｓｅ  ａｇａｉｎｓｔ  Ｗｏｒｍｈｏｌｅ  Ａｔｔａｃｋｓ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ”、ＩＮＦＯＣＯＭ  ２００３、２００３年
【非特許文献７】Ｉａｓｏｎａｓ  Ｐｏｌａｋｉｓ、Ｓｔａｍａｔｉｓ  Ｖｏｌａｎｉｓ、Ｅｌｉａｓ  Ａｔｈａｎａｓｏｐｏｕｌｏｓ、Ｅｖａｎｇｅｌｏｓ  Ｐ．Ｍａｒｋａｔｏｓ、“Ｔｈｅ  ｍａｎ  ｗｈｏ  ｗａｓ  ｔｈｅｒｅ：Ｖａｌｉｄａｔｉｎｇ  ｃｈｅｃｋ−ｉｎｓ  ｉｎ  ｌｏｃａｔｉｏｎ−ｂａｓｅｄ  ｓｅｒｖｉｃｅｓ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２９ｔｈ  Ａｎｎｕａｌ  Ｃｏｍｐｕｔｅｒ  Ｓｅｃｕｒｉｔｙ  Ａｐｐｌｉｃａｔｉｏｎｓ  Ｃｏｎｆｅｒｅｎｃｅ、ＡＣＳＡＣ’１３、２０１３年
【非特許文献８】Ｊａｃｏｂ  Ｔ．Ｂｉｅｈｌ、Ａｄａｍ  Ｊ．  Ｌｅｅ、Ｇｅｒｒｙ  Ｆｉｌｂｙ、Ｍａｔｔｈｅｗ  Ｃｏｏｐｅｒ、“Ｙｏｕ’ｒｅ  ｗｈｅｒｅ？  Ｐｒｏｖｅ  ｉｔ！：ｔｏｗａｒｄｓ  ｔｒｕｓｔｅｄ  ｉｎｄｏｏｒ  ｌｏｃａｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ  ｏｆ  ｍｏｂｉｌｅ  ｄｅｖｉｃｅｓ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２０１５  ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｉｎｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｐｅｒｖａｓｉｖｅ  ａｎｄ  Ｕｂｉｑｕｉｔｏｕｓ  Ｃｏｍｐｕｔｉｎｇ”、ＡＣＭ、（米国）、２０１５年、ｐ．９０９−９１９
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、位置決定信号位置決定信号位置決定信号コンピュータシステムの位置決定信号受信機が受信した位置決定信号の測定された強度に基づいて位置を判定することを含む方法、プログラム及びコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本明細書に記載の発明概念の一態様によれば、中央処理装置、位置決定信号受信機、及びメモリを備えるコンピュータシステムが実行する方法であって、位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、受信した位置決定信号の強度を測定することと、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、コンピュータシステムがアンカー装置と同じ場所に配置されていると判定される場合、受信した位置決定信号の測定された強度に少なくとも基づいて位置を判定することとを含む、方法が提供される。
【０００９】
１又は複数の実施形態では、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することは、アンカー装置から鍵を含む第１のメッセージを受信することと、少なくとも受信した鍵を含む第２のメッセージをアンカー装置に送信することと、アンカー装置で、第２のメッセージのタイミングとの関連で第１のメッセージのタイミングを分析することとを含む。
【００１０】
１又は複数の実施形態では、コンピュータシステムは、第１のメッセージと第２のメッセージとの間に経過した時間が所定の閾値を超えない場合、アンカー装置と同じ場所に配置されていると判定される。
【００１１】
１又は複数の実施形態では、鍵は、ランダムに生成されるノンスである。
【００１２】
１又は複数の実施形態では、第２のメッセージは、コンピュータシステムに関連付けられた秘密暗号鍵を用いて署名され、アンカー装置はコンピュータシステムに関連付けられた公開鍵を用いて第２のメッセージを検証する。
【００１３】
１又は複数の実施形態では、第１のメッセージを受信することと、第２のメッセージを送信することとは、近距離無線通信（ＮＦＣ）プロトコルを介して行われる。
【００１４】
１又は複数の実施形態では、第２のメッセージは、受信した位置決定信号の測定された強度を更に含む。
【００１５】
１又は複数の実施形態では、アンカー装置は、第３のメッセージをサーバに送信し、第３のメッセージは少なくとも第２のメッセージとアンカー装置の位置証明とを含む。
【００１６】
１又は複数の実施形態では、第３のメッセージは、アンカー装置に関連付けられた秘密暗号鍵を用いて署名され、サーバはアンカー装置に関連付けられた公開鍵を用いて第３のメッセージを検証する。
【００１７】
１又は複数の実施形態では、鍵は一意的である。
【００１８】
１又は複数の実施形態では、受信した位置決定信号は、建物の部屋に配設されたビーコンによって提供される。
【００１９】
１又は複数の実施形態では、アンカー装置は、信頼された実行環境を含む信頼された装置である。
【００２０】
１又は複数の実施形態では、受信した位置決定信号の測定された強度に少なくとも基づいて位置を判定することは、サーバ上で行われ、サーバは位置証明をコンピュータシステムに送信するように構成される。
【００２１】
１又は複数の実施形態では、位置証明は、アンカー装置を介してコンピュータシステムに送信される。
【００２２】
１又は複数の実施形態では、コンピュータシステムは、ユーザアプリケーションを実行し、位置証明はユーザアプリケーションに提供される。
【００２３】
１又は複数の実施形態では、本方法は、アンカー装置を固定することを更に含む。
【００２４】
１又は複数の実施形態では、アンカー装置を固定することは、アンカー装置で少なくとも１つの第２の位置決定信号を受信することと、受信した第２の位置決定信号の強度を測定することと、受信した第２の位置決定信号の測定された強度に少なくとも基づいてアンカー装置の位置を判定することとを含む。
【００２５】
１又は複数の実施形態では、受信した第２の位置決定信号の測定された強度に少なくとも基づいてアンカー装置の位置を判定することは、サーバ上で行われ、サーバはアンカー装置に位置証明を送信するように構成される。
【００２６】
１又は複数の実施形態では、本方法は、アンカー装置の動きを検出することと、検出した動きに基づいてアンカー装置の位置証明を無効にすることとを更に含む。
【００２７】
１又は複数の実施形態では、アンカー装置は、加速度計を含み、アンカー装置の動きは加速度計を用いて検出される。
【００２８】
１又は複数の実施形態では、アンカー装置の位置証明は、検出した動きが所定の閾値を超える場合に無効にされる。
【００２９】
１又は複数の実施形態では、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することは、定期的に行われる。
【００３０】
本明細書に記載の発明概念の別の態様によれば、中央処理装置、位置決定信号受信機、ディスプレイ、及びメモリを備えるコンピュータシステムに、位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、受信した位置決定信号の強度を測定することと、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、コンピュータシステムがアンカー装置と同じ場所に配置されていると判定される場合、受信した位置決定信号の測定された強度に少なくとも基づいて位置を判定することとを含む、方法を実行させる、プログラムが提供される。
【００３１】
本明細書に記載の発明概念の更に別の態様によれば、中央処理装置、位置決定信号受信機、及びメモリを備えるコンピュータシステムであって、このメモリがこのコンピュータシステムに、位置決定信号受信機を用いて少なくとも１つの位置決定信号を受信することと、受信した位置決定信号の強度を測定することと、コンピュータシステムがアンカー装置と同じ場所に配置されているかどうかを判定することと、コンピュータシステムがアンカー装置と同じ場所に配置されていると判定される場合、受信した位置決定信号の測定された強度に少なくとも基づいて位置を判定することとを含む、方法を実行させるためのプログラムを記憶する、コンピュータシステムが提供される。
【００３２】
本発明と関連した更なる態様は、一部は以下の説明に記載され、一部は該説明から明らかであるか、又は本発明の実践によって知ることができる。本発明の態様は、要素及び様々な要素の組み合わせ、並びに以下の発明を実施するための形態及び添付の特許請求の範囲で特に指摘する態様によって実現及び達成することができる。
【００３３】
前述及び以下の説明は、例示的かつ説明的であるものにすぎず、いかなる形においても特許請求した発明又はこの適用を限定するものではないことが理解されるべきである。
【００３４】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の実施形態を例示しており、その説明とともに、発明概念の原理を説明及び例示するのに役立つ。
【発明の効果】
【００３５】
本発明によれば、コンピュータシステムの位置決定信号受信機が受信した位置決定信号の測定された強度に基づいて位置を判定することを含む方法、プログラム、及びコンピュータシステムが提供される。
【図面の簡単な説明】
【００３６】
【図１】本明細書に記載の高信頼性位置決定システムの一実施形態の例示的論理図を示す。
【図２】安全なビーコンの例示的実施形態を示す。
【図３】アンカー装置と安全なサーバとの間に位置証明を確立するための例示的制御フローを示す。
【図４】高信頼性の位置証明を確立するための例示的制御フロー全体を示す。
【図５】クライアント装置に確認する（任意の）ＢＬＥ近接度の例示的制御フローを示す。
【図６】図１に示した位置決定システムに関連したクライアント装置又はアンカー装置として使用され得るコンピュータ移動体システムの例示的実施形態を示す。
【図７】図１に示した位置決定システムの中央サーバとして使用され得るコンピュータサーバシステムの例示的実施形態を示す。
【発明を実施するための形態】
【００３７】
以下の詳細な説明では、同一の機能的要素が同じ番号を付す添付図面に言及する。前述の添付図面は、例示のために、限定するものではなく、本発明の原理と一致する特定の実施形態及び実装形態を示す。これらの実装形態は、当業者が本発明を実践することを可能にするのに十分詳細に記載され、他の実装形態が利用されてもよく、かつ様々な要素の構造変化及び／又は置換が本発明の範囲及び趣旨から逸脱することなく行われ得ることが理解されるべきである。したがって、以下の詳細な説明は、限定的に解釈すべきではない。加えて、記載されるような本発明の様々な実施形態は、汎用コンピュータで動作するソフトウェアの形態で、専用ハードウェアの形態で、又はソフトウェアとハードウェアとの組み合わせで実施することができる。
【００３８】
下記の説明は、安全な位置ベースのアプリケーションを作成するための技術的枠組みを提供することに焦点を当てる。従来技術に関連付けられた上記及び他の問題に対処するために、本明細書に記載の１又は複数の実施形態は、以前に提案された方法と比較して極めて低い基盤負担を必要とする高信頼性の近接度及び位置決定の証明を実行するための方法、プログラム及びコンピュータシステムを実施する。１又は複数の実施形態では、高信頼性の近接度及び位置決定の証明を実行する前述の目的を達成するために、装置又は複数の装置の組が特定の屋内の位置にありその位置に滞在していることを判断するために、新しい暗号技術を伴う安全な位置決定技術を活用するプロトコルの組及び専用のハードウェア装置が提供される。様々な実施形態では、この技術は、安全な文書アクセスなど、いくつかの安全な位置アプリケーションを支持するために使用することができる。
【００３９】
１又は複数の実施形態では、ユーザが大きな基盤負担なしに一般的商品の計算装置（例えば、タブレット及びスマートフォン）上で安全な情報にアクセスすることを可能にし得る技術的解決策が提供される。様々な実施形態では、記載した技術は、エンドユーザ装置で動作するソフトウェアサービス、ネットワークアクセス可能なサーバ（例えばクラウド）上のサービス、及び耐タンパ性の信頼される計算プラットホーム上に高信頼性位置サービスを提供する専用装置の集合からなる。
【００４０】
記載した技術の必要性を示すために、位置ベースの文書アクセスの単純な事例を考慮されたい。例えば、視聴装置が特定の物理的空間（例えば、オフィスビル内の特定の会議室）にあるときにのみ電子文書が視聴可能であるように指定する事例が挙げられる。このアプリケーションは、適切な部屋で装置を位置決定する正確さ及び精度を有する基礎的な位置決定技術を活用しなければならず、その判定において信頼できなければならない。一般的な商品の市販の装置では、これを実現することは難しい。装置自体は、信頼された計算プラットホームではなく、位置判定を行うために使用された情報を取り込んで送信するために使用されるセンサ及び／又はネットワークでもない。
【００４１】
本明細書に記載の実施形態は、位置推定における信頼性を増大し、この推定を検知、計算、及び再生するために使用される計算基盤を提供する。高信頼性装置位置決定に対する基盤中心の解決策があるが（例えば、以前の発明に記載されるように）、記載した技術は、広範な高信頼性アプリケーションを支持することができる、この問題に対する軽快かつ柔軟な解決策を提供する。
【００４２】
高信頼性位置決定システムアーキテクチャ
図１は、本明細書に記載の高信頼性位置決定システム１００の一実施形態の例示的論理図を示す。例示的な一実施形態では、高信頼性位置決定システム１００は、複数のクラウド接続されたビーコン１０１の配備、クラウドビーコンエージェント（ＣＢＡ）１０５、中央サーバ１０４、中央サーバ１０４で実行する位置分類エンジン（ＬＣＥ）１１２、及びクライアント装置１０２を含む、いくつかの構成要素を含む。クライアント装置１０２は、クライアント位置サービス１０３及びクライアントアンカーサービス１０６の両方を動作させる。最終的に、高信頼性位置決定システム１００は、アンカー装置１０７と呼ばれる専用装置を含む。アンカー装置１０７は、位置サービス１０８、アンカーサービス１０９、及び環境サービス１１０を実行する。高信頼性位置決定システム１００の上記構成要素の各々を詳細に後述する。１又は複数の実施形態では、クライアント装置１０２は、クライアントアプリケーション１１１を更に実行することができる。
【００４３】
クラウド接続された安全なビーコン１０１
本明細書に記載の高信頼性位置決定システムの１又は複数の実施形態では、位置推定は、図１に示す複数の固定されたビーコン装置１０１からの信号強度測定値の収集によって判定される。様々な無線機からの測定値が使用されるが、記載したシステム１００の一実施形態は、幅広い既存の装置にわたって互換性を維持する、当業者に周知のブルートゥース（登録商標）低エネルギー装置に依存する。しかし、他の種類のビーコン装置１０１が位置推定を容易にするために使用されてもよく、したがって記載したシステムはある特定の種類又は複数の種類のビーコン装置に限定されないことに留意されたい。
【００４４】
図２は、ブルートゥース（登録商標）低エネルギー（ＢＬＥ）無線機２０１及びＷｉＦｉ対応システムオンチップ（ＳｏＣ）２０２という２つのハードウェア構成要素を含む安全なビーコン１０１の例示的実施形態を示す。１又は複数の実施形態では、ＳｏＣ２０２は、そのソフトウェア及び機能性を一定の間隔で更新させるクラウドベースのランタイムエンジン（クラウドビーコンエージェント（ＣＢＡ）１０５（図１））と安全に通信する。ＳｏＣ２０２装置はまた、ＩＣＴバス接続を通じてブルートゥース（登録商標）低エネルギー無線機２０１の状態を制御する。例示的な一実施形態では、ビーコン装置１０１は、３Ｖ出力に電力調整された４つのＡＡ  １．５Ｖ単３電池によって動力を供給される。これにより、通常の使用で少なくとも１年間、ビーコンに電力が供給される。
【００４５】
本明細書に記載の位置決定システム１００の１又は複数の実施形態では、クラウドビーコン１０１は、ビーコンモード及び更新モードという２つのモードで動作する。ビーコンモードでは、システムオンチップ２０２はスリープ状態にされ、ブルートゥース（登録商標）低エネルギー無線機２０１は、定期的（例えば２０００ｍｓごと）に起動してｉＢｅａｃｏｎ（登録商標）互換性の広告を送信するようにプログラミングされる。一実施形態では、この広告は、装置を特定のサービス又は能力と関連付けるＵＵＩＤ、主ＩＤ（Ｍａｊｏｒ  ＩＤ）、及び副ＩＤ（Ｍｉｎｏｒ  ＩＤ）という３つの主要セグメントを含む。ＵＵＩＤは、ビーコン１０１を位置決定システム１００のビーコンとして識別するために使用される。主ＩＤは、各ビーコン１０１を一意に識別するために使用される。このＩＤは、ビーコン１０１の受信信号強度とともに、位置分類エンジン１１２によって装置の位置を判定するために使用される。一実施形態では、分類エンジン１１２は、ビーコンの主ＩＤを使用して、装置の部屋レベルの位置を分類する。
【００４６】
最後に、副ＩＤは、更に詳細に後述する位置権限によって使用される暗号材料を提供するために使用される。接続されたビーコンの主要機能は、副ＩＤ値を設定及び制御して、位置権限によって使用される暗号鍵を正確に送信することができることである。分類エンジン１１２は、ビーコンの副ＩＤを使用して、リプレイを又はスプーフィング攻撃を防ぐように広告の鮮度を確保する。
【００４７】
１又は複数の実施形態では、一定間隔だが設定可能な間隔で生じる更新モードで、ＷＩＦＩシステムオンチップ（ＳｏＣ）２０２はＣＢＡ１０５に接続して新しいビーコン割当をダウンロードする。これらの割当は、新しい暗号鍵に基づいた副ＩＤ割当、又は位置基盤全体を無効にして再構成する新しいＵＵＩＤ／主ＩＤ割当を含む。この状態で、ｉＢｅａｃｏｎ（登録商標）広告のすべてのパラメータが更新され得る。ビーコン１０１が配備されると、この動作は、位置権限によって提供された新しい一意の鍵である新しい副ＩＤを正常に構成する。
【００４８】
位置分類エンジン（ＬＣＥ）
一実施形態では、ＬＣＥは、当該技術分野において周知であるランドマークに基づく位置分類を提供する。別の実施形態では、ＬＣＥは、（位置コンテキストではなく距離に基づいたヒューリスティクスを用いて、又はランドマーク位置を判定するための地図オントロジー上への座標位置の投射を介して）座標に基づく位置（Ｘ、Ｙ、ｅ）を提供する位置推定技術を実装する。
【００４９】
１又は複数の実施形態では、記載したシステムに利用される位置分類技術は、例えば、上記非特許文献１及び非特許文献２に記載されるブースティングのアンサンブル学習法に基づいている。上記非特許文献３に記載される方法などのより一般的な整合法とは対照的に、ブースティングは、訓練セットのサイズとともに増大するサーチデータ構造の記憶を必要とせずに類似の分類精度を提供する。さらに、ブースティングは、オフライン訓練での計算のほとんどを行い、大きさ順の分類ランタイム性能を整合法と比較して速くすることが可能である。例えば、上記非特許文献４を参照されたい。
【００５０】
１又は複数の実施形態では、位置分類エンジン１１２は、分離空間量子化、又はより一般的には部屋（例えば、パーソナルオフィス）若しくは対象の位置（例えば、大空間内のランドマークの近く）に対する位置を提供する。１又は複数の実施形態では、各分離位置では、ＲＳＳＩスキャンベクトルＳがその部屋／位置で観察された確率を表す得点を出力するバイナリ分類器が構築される。
【００５１】
Ｆｒｏｏｍ（Ｓ）＝Σｍαｍｈｍ（Ｓ）
【００５２】
１又は複数の実施形態では、各部屋ごとの分類器は、スカラー重みαｍに従って「弱学習器（ｗｅａｋ  ｌｅａｒｎｅｒｓ）」ｈｍを結合する。弱学習器は、スカラー特徴を閾値θｍと比較する決定株である。
【００５３】
【数１】
2018189630.tif 000003
【００５４】
訓練では、閾値θｍは、誤差が最小となるように調整される。特徴ベクトルは、要素Ｘｍからなるように定義され、下記の各ＲＳＳＩベクトルＳから計算される。
【００５５】
１又は複数の実施形態では、観察されたＲＳＳＩベクトルが与えられると、ベクトルの要素間の一意の対の差（マージン）の組が計算される。総計Ｂ個のビーコンの環境では、得られるマージンの特徴ベクトルは、０．５・Ｂ・（Ｂ−１）のサイズを有する。直感的に、これらの特徴は、ビーコン対の粗いオーダーの情報を表す。ＲＳＳＩベクトルＳ∈ＲＢは、以下の要素を有するマージン特徴ベクトルに変換される。
【００５６】
Ｘｍ＝Ｓ（ａｍ）−Ｓ（ｂｍ）
【００５７】
ここで、ａｍ，ｂｍ∈｛１，・・・，Ｂ｝である。訓練セットで特定のビーコンに対するＲＳＳＩ値が欠けている場合、モバイルクライアント１０６に対して可視ではなかったことを示すために公称値Ｒｍｉｎに設定される。したがって、特定のビーコン１０１が特定の位置で可視ではないという事実が特徴に組み込まれる。
【００５８】
１又は複数の実施形態では、訓練スキャンから計算されたマージン特徴は、分類器訓練への入力を形成する。各スカラーマージン特徴は、任意の部屋ごとの分類器Ｆｒｏｏｍ（Ｓ）に含まれるために利用可能な弱学習器（ｈｍ）に対応する。訓練手順は、その位置とすべての他のものを最良に区別する弱学習器の位置固有のセットを識別する。弱学習器及び各位置ごとの分類器に対する相対的な重み（上記式のαｍ）は、例えば、上記非特許文献２に記載されるように、訓練データにわたるサンプルごとの重みを用いて誤差を最適化する貪欲な反復手順で学習される。
【００５９】
１又は複数の実施形態では、位置判定に関して、１対全体の式が使用される。推定された部屋は単純に、試験スキャンＳｔｅｓｔに適用されるとき、部屋ごとの分類器の組の間での最大得点の部屋である。
【００６０】
【数２】
2018189630.tif 000004
【００６１】
１又は複数の実施形態では、分類器訓練で選択されたＲＳＳＩ差の必要な組だけが計算される。これらの差は、閾値（θｍ）と比較され、次に線形結合される。
【００６２】
中央サーバ及びクラウドビーコンエージェント
１又は複数の実施形態では、中央サーバ１０４は、ビーコン１０１とクラウドビーコンエージェント（複数可）１０５とクライアント装置（複数可）１０２とアンカー装置（複数可）１０７との間で基本的な調整活動を行う。１又は複数の実施形態では、中央サーバ１０４の重要な役割は、暗号鍵の組を生成及び維持することである。これらの鍵は、詳細に後述する位置セキュリティプロトコルの証明の一部として使用される。例示的な一実施形態では、規定の間隔で、新しい１６ビットの暗号鍵が中央サーバ１０４によって各ビーコン１０１のために生成される。前述の暗号鍵は、中央サーバ１０４によってクラウドビーコンエージェント１０５に配布され、この鍵は次に、１６ビットの暗号鍵を広告の副ＩＤフィールド内に符号化する各ビーコン１０１のために新しい広告プロファイルを生成する。これらの新しい広告プロファイルは次に、更新のために起動するときに個々のビーコン１０１にプッシュ送信される。中央サーバ１０４は、ビーコン１０１に配布された現在の鍵及び最近の鍵のリストを保持する。中央サーバ１０４はまた、位置証明権限としての役割を果たす。クライアントが中央サーバ１０４にスキャン記録を提供すると、そのサーバは、ＬＣＥを用いて位置決定を行うと共に、暗号鍵を埋め込んだ副ＩＤを比較することができる。１又は複数の実施形態では、サードパーティＡＰＩもまた、中央サーバ１０４によって提供される。一意のＡＰＩアクセス鍵を用いて、外部ウェブアプリケーションは、ユーザ装置１０２の位置に対してＲＥＳＴ型の要求をすることができる。
【００６３】
１又は複数の実施形態では、高信頼性位置推定の基本的方法は次のように行われる。最初に、スキャンデータがクライアント装置１０２及び／又はアンカー装置１０７によって収集され、中央サーバ１０４に渡される。スキャンは、対応するハードウェアＩＤを有するビーコン１０１からの受信信号強度（ＲＳＳＩ）測定値を含み、これらのＩＤはクラウドビーコンエージェント１０５によってビーコン１０１に以前に配布されたビーコンごとの暗号鍵を含む。このスキャンデータは、中央サーバ１０４にも利用可能なクライアントごとの暗号鍵での暗号化を用いて中央サーバ１０４に送信される。中央サーバ１０４は、受信した情報に基づいてユーザ装置１０２の位置を判定し、いずれの場合でも対応する位置情報を用いて位置チケット（証明）を返す。上述した構成は、ビーコンのハードウェアに対する修正を必要とせず、またいかなる追加のクライアント側処理も必要としない。
【００６４】
クライアント装置サービス
１又は複数の実施形態では、クライアント装置１０２は、エンドユーザアプリケーション１１１に加えて、２つの追加のサービスとしてクライアントアンカーサービス１０６及びクライアント位置サービス１０３を実行する。一実施形態では、エンドユーザアプリケーション１１１は、ユーザ装置の位置に基づいて文書へのアクセスを許可又は拒否するように構成された安全な文書ビューアであり得る。別の実施形態では、エンドユーザアプリケーション１１１は、ユーザ装置の位置に基づいてドアロックを開けるように構成された安全な入室制御アプリケーションであり得る。
【００６５】
一実施形態では、クライアント位置サービス１０３は、システムレベルの位置推定活動に関与する。クライアント位置サービス１０３は、受信信号強度（ＲＳＳＩ）の測定値とともにＵＵＩＤ、主ＩＤ、及び副ＩＤを含む近くの位置の広告を定期的に捕捉する。スキャン記録の組が収集されると、クライアント位置サービス１０３は、この情報を位置分類エンジン（ＬＣＥ）に提供する。様々な実施形態では、ＬＣＥは、クライアント装置１０２でローカルに分類を行うか、又はスキャン情報をＬＣＥ１１２のサーバベースのインスタンスに送信することができる。
【００６６】
１又は複数の実施形態では、クライアントアンカーサービス１０６は、アンカー装置１０７との対話を処理する。主に、この通信は、高信頼性位置証明を有効にするように設計される。一実施形態では、これは、クライアント装置１０２が近距離無線通信チャネル（例えば大部分の装置に対するＮＦＣ）を用いてアンカー装置１０７との接続を開始することを含む。このチャネル上で、アンカー装置１０７は、所定の時間窓内で応答されなければならないチャレンジ（後述する、このやり取りのプロトコル）をクライアント装置１０２に発行する。いくつかの実施形態では、暗号化の小さいペイロード（上述したように）を伴う連続測距（ＢＬＥを用いた）は、位置サービス１０３との併用で、クライアント装置１０２がアンカー装置１０７の近接位置に残っていることについてのより高い信頼度を提供するために使用される。
【００６７】
アンカー装置及びサービス
１又は複数の実施形態では、アンカー装置１０７は、専用の携帯型計算装置である。例示的な一実施形態では、この装置は、当該技術分野において周知で市販のＲａｓｐｂｅｒｒｙ  Ｐｉ又はＤｒａｇｏｎＢｏａｒｄなどのＡＲＭベースのコンピュータ、ＷｉＦｉ、ＢＬＥ、ＮＦＣ通信ハードウェア、ｓｉｍｐｌｅ  Ｉ／Ｏ（ＬＥＤライト及びＬＥＤディスプレイ）、及び環境センサ（加速度計）を含む。詳細に後述するように、アンカー装置１０７は、３つの主要サービスにわたって実装される多くの異なる機能を提供する。クライアント装置１０２と同様に、アンカー装置１０７の位置サービス１０８は、アンカー装置１０７の位置を監視することに関与する。したがって、アンカー装置１０７の位置サービス１０８は、ＢＬＥスキャン情報を収集し、アンカー装置１０７の位置を推定し（ローカルで行われる場合）、その情報（暗号化の小さな値を含む）を中央サーバ１０４に送信する。アンカーサービス１０９は、他のアンカー装置１０７と直接通信し、かつ、いくつかの実施形態では、それ自体に対するそれらの他のアンカー装置１０７の近接度を監視するために、ＢＬＥプロトコル上でのローカル通信サービスを提供する。対応するプロトコルを詳細に後述する。最後に、１又は複数の実施形態では、環境サービス１１０は、アンカー装置１０７上の環境センサを使用して、アンカー装置１０７がいつ移動したかを監視及び判定する。例えば、いくつかの使用事例では、このような動きを検出すること（「アンカーの固定状態を壊すこと」）は、アンカー装置１０７によって提供された位置信頼性が取り消されることをもたらす。
【００６８】
信頼された装置管理
１又は複数の実施形態では、アンカー装置１０７の信頼性を高めるために、アンカー装置１０７を実装する際に使用される上述のＡＲＭベースのプラットホームの種類に存在する既存のセキュリティ特徴が活用される。具体的に、一実施形態では、アンカー装置１０７は、ＡＲＭのＴｒｕｓｔＺｏｎｅによって有効にされる信頼された実行環境（ＴＥＥ）を使用する。代替的実施形態では、アンカー装置１０７は、ＤｒａｇｏｎＢｏａｒｄで利用可能である、適切なファームウェアを使用する。更に別の実施形態では、アンカー装置１０７は、Ｒａｓｐｂｅｒｒｙ  Ｐｉで利用可能な分離ＴＰＭを使用して、暗号鍵のプラットホーム完全性及び安全な記憶を確保する。これらの技術により、アンカー装置１０７に必要な暗号鍵の安全な生成、記憶、及び使用が可能となり、それによりアンカー装置１０７からの暗号材料の引き出しを防ぐ。それらの技術により、プラットホームで実行するコードの完全性を確保するための暗号機構を提供する信頼されたブートの使用が更に可能となる。アンカー装置１０７の場合、これは、アンカー装置１０７に対して行われる改ざん攻撃の影響を限定するように、アンカー装置１０７の未修正のソフトウェアイメージのみがアンカー装置１０７のメモリに読み込まれ得るという信頼性を可能にする。
【００６９】
プロトコル
上述の図１は、本明細書に記載の高信頼性位置決定システム１００のすべての構成要素間の通信路を更に示す。具体的に、この図では、使用されるプロトコルは、使用される通信方法を含む線で示され、これらの線は異なる線種で表される。図１の凡例に記すように、４つの異なる通信プロトコルが使用される。これらのプロトコルは、ブルートゥース（登録商標）低エネルギー（ＢＬＥ）、個々の装置でのプロセス間通信（ＩＰＣ）、近距離無線通信（ＮＦＣ）、及びＷｉＦｉ上のトランスポート層セキュリティ（ＴＬＳ）である。次に、これらのシステム構成要素の互いの相互作用を詳述する。
【００７０】
アンカー装置１０７を固定することは、アンカー装置１０７間の相互作用、及び中央サーバ１０４によって実装される安全な屋内での位置決定サービスを含む。一実施形態では、アンカー装置１０７を物理的位置に結び付けるために、ユーザは、アンカー装置１０７を平面に配置し、装置上のアンカーボタンを押すだけである。
【００７１】
図３は、アンカー装置１０７と安全なサーバ１０４との間の位置証明を確立するための例示的制御フロー３００を示す。最初に、工程３０１では、アンカー装置１０７は、中央サーバ１０４によって管理されたＢＬＥビーコン基盤からＲＳＳＩスキャンデータセットを収集することによってその物理的位置を判定する。このスキャンデータセットは次に、アンカー装置１０７によってデジタル署名され、ＴＬＳプロトコルを用いて保護されたＷｉＦｉ上で中央サーバ１０４に渡される（工程３０２参照）。中央サーバ１０４は、ＲＳＳＩスキャンデータセット上のデジタル署名を検証し、ＢＬＥビーコン基盤によってブロードキャストされた、循環している暗号コードが現在のものであることを確認し、アンカー装置１０７の位置を分類し、タイムスタンプ、使用されたＲＳＳＩスキャンデータセット、分類した位置、及びアンカー装置１０７のＩＤを含む、デジタル署名された位置証明を生成する（工程３０３参照）。得られた証明は次に、既存のＴＬＳトンネルを介してアンカー装置１０７に返される（工程３０４参照）。この時点で、装置側での小さいＬＥＤ読み出しは、位置証明内に符号化された位置を表示する。この位置を容認するために、ユーザは、アンカーボタンを再度押し、それによりアンカー装置１０７をこの物理的位置に固定する。
【００７２】
この時点で、アンカー装置１０７は、高信頼性の位置証明の構築に関わる準備ができている。アンカー装置１０７はまた、アンカー装置１０７が移動したかどうかを判定する付属の加速度計を活用する環境監視処理をバックグラウンドで開始する。環境監視手順がアンカー装置１０７の動きを検出する場合、アンカー装置１０７は、それ自体の固定状態を解除し、現在の位置証明を無効にする。この状態で、アンカー装置１０７は再度固定されるまで高信頼性位置証明を作成する助けとなることができない。１又は複数の実施形態では、アンカー装置１０７は、検出した動きパラメータ（複数可）が記憶した閾値（複数可）を超えた場合、現在の位置証明が無効にされなければならないかどうかを判定するために、適切な動き閾値（複数可）を記憶する。
【００７３】
高信頼性の位置証明の初期構築を次に記載する。図４は、高信頼性位置証明を確立するための例示的制御フロー４００の全体を示す。１又は複数の実施形態では、高信頼性承認証明を作成するために、移動装置１０２は、最初にその位置サービスフレームワークを活用して、ＢＬＥビーコン１０１からＲＳＳＩスキャンデータセットを収集することができる（工程４０１参照）。この装置１０２は次に、固定されたアンカー装置１０７上に配置され、前述の２つの装置間のＮＦＣ通信が可能となる。アンカー装置１０７内のアンカーサービスモジュール１０９は、乱数（ｎ）（サーバノンス）を生成し、ＮＦＣを介してそれを移動装置１０２のアンカーサービスモジュール１０６に転送する（工程４０２参照）。移動装置１０２は次に、装置の一意の識別子（ＩＤＤ）、ＲＳＳＩスキャンデータセット（Ｒ）、及びサーバノンス（ｎ）を含むデジタル署名されたメッセージを作成する。このメッセージは次に、ＮＦＣを介してアンカー装置１０７に返される（工程４０３参照）。
【００７４】
高信頼性証明の構築処理を完了するために、アンカー装置１０７は、最初に工程４０４でタイミングチェックを行って、工程４０２での乱数（ｎ）の送信から工程４０３での前述のデジタル署名されたメッセージの受信までの経過時間が、スプーフィングを防ぐための所定の閾値を超えないかを検証する。加えて、前述のデジタル署名されたメッセージ内の移動装置１０２から受信されたノンス（ｎ）は検証され得る。タイミングチェックが成功した場合、アンカー装置１０７はその後、その一意識別子（ＩＤＡ）、固定処理中に取得した位置証明（ｐｆＡ）、及びクライアント装置１０２によって生成されたデジタル署名されたメッセージ（［ＩＤＤ，Ｒ，ｎ］ＫＤ−１）を含むメッセージをデジタル署名する。このメッセージは次に、ＴＬＳを介して中央サーバ１０４に転送される（工程４０５参照）。移動装置１０２の位置証明を生成する前に、中央サーバ１０４は、ｐｆＡが依然として有効であるかを検証し、移動装置１０２及びアンカー装置１０７のデジタル署名が正しいかを検証し、ＲＳＳＩデータセットから装置位置を分類し、この分類された位置がｐｆＡでの位置に整合することを確実にする（工程４０６参照）。加えて、前述のデジタル署名されたメッセージ内の移動装置１０２から受信されたノンス（ｎ）は検証され得る。これらのチェックのすべてが成功した場合、中央サーバ１０４は、移動装置１０２に対する位置証明（ｐｆＤ）を発行する。この位置証明（ｐｆＤ）は、ＴＬＳを介してアンカー装置１０７に返され（工程４０７参照）、続いて、アンカー装置１０７によってＮＦＣを介して移動装置１０２に転送される。
【００７５】
当業者に理解されるように、ＮＦＣの近接場の性質は、移動装置１０２がその承認証明を構築するときにアンカー装置１０７と共在することを確実にする。複数の当事者が現場外の攻撃者に対する位置証明を生成するように共謀する攻撃の脅威を軽減するために、アンカー装置１０７は、図４における第１のメッセージ交換に対する厳しいタイミング制約を実施する（工程４０４参照）。ＷｉＦｉ又はＢＬＥを介してノンスｎを共謀当事者に転送することと、署名を含む応答を待つこととは、これらのタイミング制約に違反し、不当な遅延を検出する際に、アンカー装置１０７にプロトコルを停止させる。さらに、プロトコルの第３のメッセージでのクライアント装置１０２及びアンカー装置１０７の署名により、中央サーバ１０４はクライアント装置１０２及びアンカー装置１０７がこの証明の構築で積極的に協力していることを確実にすることができる。具体的には、第２のメッセージ（クライアント装置１０２によって署名される）は、第３のメッセージ（アンカー装置１０７によって署名される）に埋め込まれ、これらのメッセージをプロトコルの単一の実行に結び付ける。最終的に、スキャンデータセット内の暗号コード、アンカー装置１０７のノンスｎ、及びｐｆＡでのタイムスタンプにより、処理自体の鮮度のチェックが可能となり、リプレイ型の攻撃を防ぐ。
【００７６】
１又は複数の実施形態では、任意に、アンカー装置１０７の支援で作成された位置証明は、２つの手法のうちの１つで連続的な監視を受ける可能性がある。第一に、クライアント装置１０２又は他のクラウドサービスで実行する位置対応アプリケーションは、移動装置１０２がその高信頼性証明ｐｆＤで特定された位置からそれるときに通知されるコールバック（ＴＬＳを介する）を中央サーバ１０４に登録することができる。
【００７７】
第二に、アンカー装置１０７自体は、近くの移動装置１０２の位置を監視するのに積極的な役割を果たすことができる。図５は、クライアント装置１０２に確認する（任意の）ＢＬＥ近接度のための例示的制御フロー５００を示す。図５に示すように、ＢＬＥチャネルは、低電力信号を用いて移動装置１０２をポーリングして、その装置がアンカー装置１０７に近接位置に残っていることを確実にするために使用することができる（その中でハードウェアが制御され、信頼され、かつ特別に構成される）。特定の送信電力を確実にするために、別個のＢＬＥドーターボードが、低電力（例えば−２０ｄＢｍ、約１メートルの受信距離が−１１５ｄＢｍ信号に制限される）で送信するためにファームウェア及び／又は物理的アンテナ制限とともに使用されてもよい。設定可能な時間間隔で、アンカー装置１０７は、特定の装置を識別すると共にその装置にランダムチャレンジを提供するメッセージを送信するためにＢＬＥを使用する（図５の工程５０１参照）。移動装置１０２は次に、ＢＬＥを介してそのチャレンジに対してデジタル署名で応答し、移動装置１０２がチャレンジを受信するのに十分に近接していたことを認める（工程５０２参照）。これらのチャレンジに応答することができない場合、アンカー装置１０７は中央サーバ１０４と連絡を取って、応答しない移動装置１０２の高信頼性位置証明を取り消させる。同様に、アンカー装置１０７が移動していることをアンカー装置１０７に取り付けられた加速度計が検出した場合、アンカー装置１０７が固定されたときから発行されたすべての高信頼性位置証明を取り消すように構成することができる。
【００７８】
１又は複数の実施形態では、アンカー装置１０７によって発行されたランダムチャレンジに対するデジタル署名された応答５０２は、いくつかの移動装置１０２が範囲限定のＢＬＥ送信を受け取るのにアンカー装置１０７に十分に近かったことを確実にする。上述のＮＦＣプロトコルと同様に、この応答を受信するための往復時間に対する制約は、不正な移動装置１０２がそのチャレンジを範囲外の当事者に転送して署名を生成し得る可能性を軽減する。
【００７９】
１又は複数の実施形態では、高信頼性の位置証明は、定期的又はイベントに基づくトリガを用いて更に支援されてもよい。環境監視が十分ではない状況では、アプリケーション１１１は、ユーザ装置１０２が定期的又はイベント駆動型で明示的に高信頼性位置証明を更新することを要求することができる。アプリケーション１１１は、証明が更新される必要があると判定すると、移動装置１０２の位置サービスモジュール１０３から新しい高信頼性証明を要求することができる。これは、移動装置１０２に警告を出し、図４に示されるプロトコルでアンカー装置１０７と関わるようユーザに求める。１又は複数の実施形態では、このプロトコルの正常終了により、更新された高信頼性位置証明が生成され、この証明は移動装置１０２上の位置サービス１０３に返され、要求しているアプリケーション１１１による消費のために利用可能にされる。
【００８０】
例示的使用事例及び応用
以下の説明は、上述のシステム１００が特定の使用シナリオを支持するエンドユーザによってどのように使用されるかについてのいくつかの実施例を提供する。記載のシナリオの各々は、アンカー装置１０７を物理的位置に固定することから始まり、次のように行われる。具体的には、アンカー装置１０７を物理的位置に結び付けるために、ユーザは、アンカー装置１０７を平面に配置し、アンカー装置１０７上のアンカーボタンを押すだけである。最初に、この装置は、上述のように、その物理的位置を判定する。一実施形態では、アンカー装置１０７側での小さいＬＥＤ読み出しは、その後、位置決定サービス１０８によって判定された位置を表示する。この位置を容認するために、ユーザは、アンカーボタンを再度押し、それによりアンカー装置１０７をこの物理的位置に固定する。この時点で、アンカー装置１０７は、高信頼性の位置証明の構築に関わる準備ができている。
【００８１】
シナリオ１：初期位置決定のみ。高信頼性位置証明が位置認識コンピュータ処理セッションの開始時にのみ要求され（例えば、高機密性のリソースへのアクセスを可能にするために）、より低い信頼性の位置証明は連続的な位置追跡のために使用されて、装置が高信頼性証明の位置から離れることが見いだされる場合にアクセスを取り消す。この状況では、管理者がアンカー装置１０７を導入して作業セッションを開始し、装置が固定され、ユーザが装置を活用して高信頼性位置証明をブートストラップすることもある。この時点で、管理者は、アンカー装置１０７とともに離れ、ユーザは、その位置を離れるまで作業を続けることができる。
【００８２】
シナリオ２：継続的監視。アンカー装置１０７はまた、初期の高信頼性証明が作成された後、その環境を厳重に監視することによってユーザの位置を監視することにより積極的な役割を果たすことができる。いずれかの装置がアンカー装置１０７から数メートル以上移動する場合、それらの高信頼性証明は、アンカー装置１０７及び中央サーバ１０４によって取られた協働的動作によって取り消され得る。さらに、アンカー装置１０７がそれ自体、移動していると判定する場合、アンカー装置１０７は、最後に固定されたとき以来自らが作成に関与したすべての高信頼性証明を取り消すことができる。
【００８３】
シナリオ３：定期的又はイベントに基づくトリガ。アプリケーションが移動装置１０２をアンカー装置１０７上に配置し、かつ位置決定プロトコルを再実行することによって、高信頼性位置証明を更新することをユーザに要求するときもある。様々な実施形態では、これは、クラウドサービスＡＰＩを介した、移動装置１０２で動作するアプリケーション１１１とアンカー装置１０７との間の調整によって可能にすることができ、これらのトリガは、定期的に（例えば、１時間に１回）又はイベント駆動型で（例えば、高機密性リソース要求に応じて）設定されてもよい。
【００８４】
シナリオ４：デジタル公証機能。中央サーバ１０４、及び拡大解釈してアンカー装置１０７は、上述のように、信頼される位置及びタイムスタンプが作成され得る機構を提供する。この目的のために、様々な実施形態では、アンカー装置１０７は、複数のユーザの移動装置１０２と、物理的位置と、時間と、文書などのいくつかのコンテンツの項目との間の結合の作成を調整するために使用することができる。これは効果的に、様々なアプリケーションによって使用され得る高信頼性のデジタル公証機能を提供することができる。
【００８５】
計算プラットホーム
図６は、図１に示される位置決定システムに１００関連して携帯クライアント装置１０２として使用され得るコンピュータ移動体システム６００の例示的実施形態を示す。１又は複数の実施形態では、コンピュータ移動体システム６００は、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピュータ、又はスマートウォッチなどの移動計算装置のフォームファクタ内に実装することができ、これらの装置は広く市販されており、当業者に周知である。
【００８６】
コンピュータシステム６００は、データバス６０４、又は移動コンピュータシステム６００の様々なハードウェア構成要素間で情報を通信するための他の相互接続若しくは通信機構と、情報を処理し、かつ他の計算タスク及び制御タスクを実施するためにデータバス６０４と結合した中央処理装置（ＣＰＵ又は単純にプロセッサ）６０１と、を含むことができる。コンピュータシステム６００はまた、ランダムアクセスメモリ（ＲＡＭ）などのメモリ６１２、又はプロセッサ６０１によって実行される様々な情報並びに命令を記憶するためにデータバス６０４に結合した他の動的記憶装置を含む。メモリ６１２はまた、磁気ディスク、光ディスク、固体フラッシュメモリ装置、又は他の不揮発性固体記憶装置などの永続的記憶装置を含むことができる。
【００８７】
１又は複数の実施形態では、メモリ６１２はまた、プロセッサ６０１による命令の実行中に一時変数又は他の中間情報を記憶するために使用されてもよい。任意に、コンピュータシステム６００は、読み出し専用メモリ（ＲＯＭ又はＥＰＲＯＭ）６０２、又はコンピュータシステム６００の操作に必要なファームウェア、基本入出力システム（ＢＩＯＳ）、並びにコンピュータシステム６００の様々な構成パラメータなど、プロセッサ６０１の静的情報及び命令を記憶するためのデータバス６０４に結合された他の静的記憶装置を更に含むことができる。
【００８８】
１又は複数の実施形態では、コンピュータシステム６００は、表示装置６０９を組み込むことができ、この装置はまた、様々な情報をコンピュータシステム６００のユーザに表示するためにデータバス６０４に結合することができる。代替的実施形態では、表示装置６０９は、グラフィックスコントローラ及び／又はグラフィックスプロセッサ（図示せず）に関連付けられてもよい。表示装置６０９は、例えば、薄膜トランジスタ（ＴＦＴ）技術又は有機発光ダイオード（ＯＬＥＤ）技術を用いて製造された結晶ディスプレイ（ＬＣＤ）として実装されてもよく、これらの技術は当業者に周知である。様々な実施形態では、表示装置６０９は、コンピュータシステム６００の残りの構成要素とともに同じ一般的な筐体に組み込まれてもよい。代替的実施形態では、表示装置６０９は、このような筐体の外側に位置決めされてもよい。
【００８９】
１又は複数の実施形態では、コンピュータシステム６００は、データバス６０４に接続され、かつ上述したように建物内の１又は複数のＮＦＣ装置と通信するように構成された近距離無線通信（ＮＦＣ）インタフェース６２５を更に組み込むことができる。
【００９０】
１又は複数の実施形態では、コンピュータシステム６００は、触覚コマンドを受信するためのタッチスクリーンインタフェース６１０、ユーザの顔又は部屋の周囲などの様々な物体の静止画及び映像を取得するためのカメラ６１１、並びにキーボード６０６など、１又は複数の入力装置を組み込むことができ、これらの装置はすべて、これらに限定されないが、画像及び映像、並びにプロセッサ６０１へのユーザコマンド選択などの情報を通信するための前述のデータバス６０４に結合することができる。代替的実施形態では、入力装置は、ユーザの眼球の動きを追跡するためのシステム（図示せず）を含んでもよく、ユーザによるコマンド選択をコンピュータシステム６００に示すために使用されてもよい。
【００９１】
１又は複数の実施形態では、コンピュータシステム６００は、ビーコン１０１に対するスキャンを行い、かつデータバス６０４を介して上述のスキャンデータをプロセッサ６０１に供給するように構成された位置信号受信機６０３を更に含むことができる。
【００９２】
１又は複数の実施形態では、コンピュータシステム６００は、データバス６０４に結合されたネットワークインタフェース６０５などの通信インタフェースを更に含むことができる。ネットワークインタフェース６０５は、ＷＩＦＩインタフェース６０７及びセルラーネットワーク（ＧＳＭ（登録商標）又はＣＤＭＡ）アダプタ６０８の少なくとも１つを用いて、コンピュータシステム６００とインターネット６２４との間の接続を確立するように構成することができる。ネットワークインタフェース６０５は、コンピュータシステム６００とインターネット６２４との間の双方向データ通信を提供するように構成することができる。ＷＩＦＩインタフェース６０７は、当業者に周知の８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及び／又は８０２．１１ｎプロトコル並びにＢｌｕｅｔｏｏｔｈ（登録商標）プロトコルに準拠して動作することができる。例示的実装形態では、ＷＩＦＩインタフェース６０７及びセルラーネットワーク（ＧＳＭ（登録商標）又はＣＤＭＡ）アダプタ６０８は、様々な種類の情報を表すデジタルデータ流を伝送する電気信号又は電磁信号を送受信する。例えば、前述のネットワーク構成要素は、コンピュータシステム６００と、中央サーバ１０４及びサードパーティサービス／アプリケーション１０８などの位置決定システム１００の他の構成要素との間のネットワークデータ接続を確立するために使用されてもよい。
【００９３】
１又は複数の実施形態では、インターネット６２４は一般的に、１つ又は複数のサブネットワークを通じて他のネットワークリソースにデータ通信を提供する。したがって、コンピュータシステム６００は、ウェブサーバ、他のコンテンツサーバ、並びに他のネットワークデータ記憶装置リソースなどのインターネット６２４上のあらゆる場所に配置された様々なネットワークリソースにアクセスすることができる。１又は複数の実施形態では、コンピュータシステム６００は、ネットワークインタフェース６０５によってインターネット６２４を含む様々なネットワーク（複数可）を通じて、メッセージ、媒体及びアプリケーションプログラムコードを含む他のデータを送受信するように構成される。インターネットの例では、コンピュータシステム６００がネットワーククライアントとして役割を果たすとき、このシステムは、コンピュータシステム６００で実行するアプリケーションプログラムに対するコード又はデータを要求することができる。同様に、このシステムは、様々なデータ又はコンピュータコードを他のネットワークリソースに送信することができる。
【００９４】
１又は複数の実施形態では、コンピュータシステム６００は、ネットワークインタフェース６０５を使用して、インターネット６２４を介して、ＨＴＴＰリクエストなどのリクエスト（複数可）を中央サーバ１０４に送信し、これらに限定されないが、そこから前述の位置情報及びタイムスタンプを含む様々な情報を受信する。
【００９５】
１又は複数の実施形態では、本明細書に記載の機能性は、メモリ６１２に含まれた１又は複数の命令の１又は複数のシーケンスを実行するプロセッサ６０１に応答してコンピュータシステム６００によって実施される。このような命令は、別のコンピュータ可読媒体からメモリ６１２に読み込まれてもよい。メモリ６１２に含まれた命令のシーケンスの実行により、プロセッサ６０１に本明細書に記載の様々な処理工程を行わせる。代替的実施形態では、有線回路は、ソフトウェア命令の代わり又はその命令との併用で、本発明の実施形態を実施するために使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されない。
【００９６】
本明細書に使用されるとき、「コンピュータ可読媒体」という用語は、実行するためにプロセッサ６０１に命令を提供することに関わるあらゆる媒体を指す。コンピュータ可読媒体は、機械可読媒体のほんの一例にすぎず、本明細書に記載の方法及び／又は技術のいずれかを実施するための命令を実行することができる。このような媒体は、これらに限定されないが、不揮発性媒体及び揮発性媒体など、多くの形態をとることができる。
【００９７】
非一時的コンピュータ可読媒体の一般的な形態としては、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、若しくは任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープ、孔のパターンを有する任意の他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、任意の他のメモリチップ若しくはメモリカートリッジ、又はコンピュータが読み出すことができる任意の他の媒体が挙げられる。様々な形態のコンピュータ可読媒体は、実行するために１又は複数の命令の１又は複数のシーケンスをプロセッサ６０１に送ることに関わることができる。例えば、命令は最初に、遠隔コンピュータから磁気ディスクで送られてもよい。あるいは、遠隔コンピュータは、命令をその動的メモリに読み込み、インターネット６２４上で命令を送信することができる。具体的には、コンピュータ命令は、当業者に周知の様々なネットワークデータ通信プロトコルを用いて、インターネット６２４を介して前述の遠隔コンピュータからコンピュータシステム６００のメモリ６１２にダウンロードすることができる。
【００９８】
１又は複数の実施形態では、コンピュータシステム６００のメモリ６１２は、以下のソフトウェアプログラム、アプリケーション又はモジュールのいずれかを記憶することができる。
【００９９】
１．基本的なシステムサービスを実装し、コンピュータシステム６００の様々なハードウェア構成要素を管理するための移動オペレーティングシステムであり得る、オペレーティングシステム（ＯＳ）６１３。オペレーティングシステム６１３の例示的実施形態は、当業者に周知であり、あらゆる現時点で既知又は後に開発される移動オペレーティングシステムを含むことができる。
【０１００】
２．モバイルアプリケーション６１４は、例えば、コンピュータシステム６００のプロセッサ６０１によって実行されるソフトウェアアプリケーションの組を含むことができ、このアプリケーションは上述したようにビーコン信号を受信するなど、コンピュータ移動システム６００にある所定の機能を行わせる。１又は複数の実施形態では、モバイルアプリケーション６１４は、例えば、位置サービス１０３、アンカーサービス６１５（アンカーサービス１０９又は１０６のいずれかであり得る）、環境モニタ１１０、並びに１つ以上のクライアントアプリケーション１１１を含むことができる（図１参照）。
【０１０１】
３．データ記憶装置６１６は、例えば、コンピュータ移動体システム６００のビーコンスキャンデータ６１７並びに位置データ６１８を記憶するために使用することができる。
【０１０２】
図７は、例えば、図１に示した位置決定システム１００の中央サーバ１０４として使用され得るコンピュータサーバシステム７００の例示的実施形態を示す。これに限定されないがクラウドビーコンエージェント１０５を含む、位置決定システム１００の他の構成要素もまた、コンピュータサーバシステム７００に基づいて配備され得ることに留意されたい。
【０１０３】
１又は複数の実施形態では、コンピュータサーバシステム７００は、データバス７０４を含むことができ、データバス７０４は、図６に示したコンピュータシステム６００のデータバス６０４と実質的に類似であり、実質的に類似の機能を行い得る。様々な実施形態では、データバス７０４は、データバス６０４と同じ若しくは異なる相互接続及び／又は通信プロトコルを使用することができる。コンピュータサーバシステム７００の１又は複数のプロセッサ（ＣＰＵ）７０１、ネットワークアダプタ７０５、ＥＰＲＯＭ／ファームウェア記憶装置７０２、表示装置７０９、及びキーボード７０６は同様に、このシステムの構成要素がサーバプラットホーム構成で配備されることを除いて、コンピュータシステム６００のそれぞれプロセッサ６０１、ネットワークインタフェース６０５、ＥＰＲＯＭ／ファームウェア記憶装置６０２、表示装置６０９、及びキーボード６０６に実質的に類似であってもよい。様々な実装形態では、１又は複数のプロセッサ７０１は、プロセッサ６０１と比較して、実質的に増加した処理能力を有することができる。
【０１０４】
入力装置７０６（キーボード）に加えて、コンピュータサーバシステム７００は、マウス、トラックボール、又はプロセッサ７０１への方向情報及びコマンド選択を通信し、かつ表示装置７０９でのカーソール移動を制御するためのカーソール方向キーなど、カーソール制御装置７１０を更に含むことができる。この入力装置は一般的に、装置が平面で位置を特定することを可能にする第１の軸（例えば、ｘ）及び第２の軸（例えば、ｙ）の２つの軸における２つの自由度を有する。
【０１０５】
コンピュータサーバシステム７００のＬＡＮ／ＩＳＤＮアダプタ７０７は、例えば、電話回線の対応する種類にデータ通信接続を提供するサービス総合デジタル網（ＩＳＤＮ）カード又はモデムを用いて実装することができ、これはインターネットサービスプロバイダのハードウェア（図示せず）を用いてインターネット６２４とインタフェース接続される。別の例として、ＬＡＮ／ＩＳＤＮアダプタ７０７は、互換性のあるＬＡＮ及びインターネット６２４にデータ通信接続を提供するローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）であってもよい。様々なメディアファイルを記憶するために、コンピュータサーバシステム７００には、記憶装置コントローラ７０３によってユーザに表示される様々なコンテンツを記憶するために文書記憶装置７０８が提供されてもよい。カメラ７１１は、様々な物体の画像及び／又は映像を取得するために使用することができる。
【０１０６】
１又は複数の実施形態では、コンピュータシステム７００のメモリ７１２は、以下のソフトウェアプログラム、アプリケーション、モジュール及び／又はデータのいずれかを記憶することができる。
【０１０７】
１．基本的なシステムサービスを実装し、コンピュータサーバシステム７００の様々なハードウェア構成要素を管理するためのオペレーティングシステムであり得る、サーバオペレーティングシステム（ＯＳ）７１３。サーバオペレーティングシステム７１３の例示的実施形態は、当業者に周知であり、あらゆる現時点で既知又は後に開発されるオペレーティングシステムを含むことができる。
【０１０８】
２．ネットワーク通信モジュール７１４は、例えば、１又は複数のネットワークプロトコルスタックを含むことができ、このプロトコルスタックはＬＡＮ／ＩＳＤＮアダプタ７０７とともに動作するネットワークアダプタ７０５を用いて、コンピュータサーバシステム７００とコンピュータ移動体システム６００などのインターネット６２４の様々なネットワークエンティティとの間のネットワーク接続を確立するために使用される。
【０１０９】
３．サーバアプリケーション７１５は、例えば、コンピュータサーバシステム７００の１又は複数のプロセッサ７０１によって実行されるソフトウェアアプリケーションの組を含むことができ、このアプリケーションはコンピュータサーバシステム７００にある所定の機能又はタスクを実行させる。１又は複数の実施形態では、サーバアプリケーション７１５は、位置分類エンジン１１２を含むことができる。
【０１１０】
４．データ記憶装置７１９は、例えば、上述の位置データ７２０を記憶するために使用することができ、これはデータベース表の形態で記憶することができる。
【０１１１】
最後に、本明細書に記載の処理及び技術は、任意の特定の装置に本質的に関連しておらず、構成要素の任意の好適な組み合わせによって実施され得ることが理解されるべきである。さらに、様々な種類の汎用装置が本明細書に記載の教示に従って使用され得る。本明細書に記載の方法の工程を行う専用装置を構築することが有利であることも分かり得る。本発明は、特定の実施例との関連で説明しており、あらゆる点で限定的ではなく例示的であることを意図する。ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組み合わせが本発明を実践するのに適していることを当業者は理解する。例えば、記載したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ｐｅｒｌ、シェル、ＰＨＰ、Ｊａｖａ（登録商標）などの多種多様なプログラミング又はスクリプト言語、並びにあらゆる現時点で既知若しくは後に開発されるプログラミング又はスクリプト言語で実装されてもよい。
【０１１２】
さらに、本明細書に開示した本発明の明細書及び実践を考慮することにより、本発明の他の実装形態は当業者に明らかである。記載した実施形態の様々な態様及び／又は構成要素は、様々な位置決定方法、プログラム及びコンピュータシステムに単独又は任意の組み合わせで使用することができる。本明細書及び実施例は単に例示と見なされ、本発明の真の範囲及び趣旨は特許請求の範囲で示されるものとする。
【図１】
2018189630.tif 000005
【図２】
2018189630.tif 000006
【図３】
2018189630.tif 000007
【図４】
2018189630.tif 000008
【図５】
2018189630.tif 000009
【図６】
2018189630.tif 000010
【図７】
2018189630.tif 000011