(57)【要約】      （修正有）【課題】移動デバイスを使用して、ユーザのロケーションを生成する方法を提供する。【解決手段】移動デバイス１３１における信号スナップショットであって、移動デバイスによって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定することを含んでいる。信号スナップショットと、移動デバイスからの少なくとも１つの追加の入力を使用して、移動デバイスにおけるユーザのロケーションを生成する。前記判定することと前記生成することとが反復して繰り返えされる。未規制ＲＦ送信信号は、ＷｉＦｉ送信信号を含でいる。【選択図】図２
2015181252.tif 000002
【特許請求の範囲】
【請求項１】
移動デバイスを使用して、ユーザのロケーションを生成する方法であって、
前記移動デバイスにおける信号スナップショットであって、前記移動デバイスによって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定するステップと、
前記信号スナップショットと、前記移動デバイスからの少なくとも１つの追加の入力を使用して、前記移動デバイスにおける前記ユーザのロケーションを生成するステップと、
前記移動デバイスにおける前記判定するステップと前記生成するステップとを反復して繰り返し、前記ユーザのロケーションと前記信号スナップショットを更新するステップと
を備えることを特徴とする方法。
【請求項２】
前記未規制ＲＦ送信信号は、ＷｉＦｉ送信信号を含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記移動デバイスからの前記追加の入力は、慣性センサ、占有マップ、及び信号を含むセットから選択され、
前記信号は、ユーザのロケーションのユーザ入力を含むセットから選択される少なくとも１つの項目に対応する
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記移動デバイスからの前記追加の入力は、ビデオ画像であり、
前記方法は、バーコード、ＱＲコード、及び他のマシーン可読コードの少なくとも１つから選択されるコードを識別するために、前記ビデオ画像を解析するステップを更に備える
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記移動デバイスは、前記判定するステップの前に、ネットワークを介して、第１のコンピュータから前記信号マップを受信する
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記移動デバイスのディスプレイ上に、前記生成するステップで生成される前記ユーザのロケーションを表示するステップを更に備える
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記ユーザのロケーションの周辺のエリアのマップを重畳するステップを更に備える
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記マップは、サードパーティから取得され、
前記サードパーティは、前記エリアに接続されていない
ことを特徴とする請求項７に記載の方法。
【請求項９】
移動デバイスであって、
記憶装置と、
ユーザ入力メカニズムと、
センサと、
未規制無線周波数（ＲＦ）信号を受信するための受信機と、
前記記憶装置、前記ユーザ入力メカニズム、前記センサ、前記受信機と通信接続されるコンピュータシステムであって、コントローラを含むコンピュータシステムとを備え、
前記コントローラは、
前記移動デバイスにおける信号スナップショットであって、前記受信機によって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定すること、
前記信号スナップショットと、前記ユーザ入力メカニズムと前記センサの内の１つからの少なくとも１つの入力を使用して、前記移動デバイスにおける前記ユーザのロケーションを生成すること、
当該コントローラにおける前記判定することと前記生成することとを反復して繰り返し、前記ユーザのロケーションと前記信号スナップショットを更新すること
を実行する
ことを特徴とする移動デバイス。
【請求項１０】
ネットワークインタフェースを更に備え、
前記判定することは、更に、
前記信号スナップショットを最初に判定する前に、前記ネットワークインタフェースを使用して、サーバから前記信号スナップショットを取得する
ことを特徴とする請求項９に記載の移動デバイス。
【請求項１１】
前記センサは、慣性センサ、ジャイロスコープ、コンパス、磁気探知機、及び加速度計を含むセットから選択され、
前記ユーザ入力メカニズムは、キーボード、タッチ感知ディスプレイ、オーディオ入力、ビデオ入力を含むセットから選択される
ことを特徴とする請求項９に記載の移動デバイス。
【請求項１２】
移動デバイスにおけるユーザのロケーションを判定する方法であって、
複数の無線周波数送信信号の複数のサンプルに対する信号情報であって、異なる時間で複数の異なる受信機によって取得される信号情報を取得するステップと、
前記信号情報から信号スナップショットを生成するステップと、
前記信号スナップショットを使用して、前記移動デバイスにおける前記ユーザのロケーションを計算するステップと
を備えることを特徴とする方法。
【請求項１３】
前記取得するステップと前記生成するステップは、前記移動デバイスとは異なるサーバ上で発生し、
前記信号スナップショットを前記移動デバイスで受信するステップを更に備える
ことを特徴とする請求項１２に記載の方法。
【請求項１４】
移動デバイスを使用してショッピングする方法であって、
前記移動デバイスにおける信号スナップショットであって、前記移動デバイスによって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定するステップと、
前記信号スナップショットを使用して、前記移動デバイスにおける前記ユーザのロケーションを生成するステップと、
前記ユーザのロケーションに基づく商品情報であって、前記ユーザのロケーションの近所における販売用の製品についての情報に関連する商品情報を取得するステップと、
前記移動デバイスにおける前記判定するステップと前記生成するステップとを反復して繰り返し、前記ユーザのロケーションと前記信号スナップショットを更新するステップと、
前記ユーザのロケーションと前記商品情報に基づいてコンテキスト情報を選択的に表示するステップと
を備えることを特徴とする方法。
【請求項１５】
前記取得するステップは、ネットワークを介して前記商品情報を取得する
ことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記商品情報は、前記ユーザのロケーションの近所における販売用の商品のクーポンと、前記ユーザのロケーションの近所における販売用の商品に関連する情報と、前記ユーザのロケーションの近所における販売用の商品に関連する補助商品の提案と、前記ユーザのロケーションの近所における販売用の商品に類似する商品を販売する競合提案と、前記ユーザのロケーションの近所における販売用の商品についての栄養情報、前記ユーザのロケーションの近所における販売用の商品についてのレビューを含むセットから選択される
ことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記選択的に表示するステップは、信号に応じて発生し、
前記信号は、コンテキスト情報をリクエストするユーザ入力と、所定のロケーションに対する前記ユーザのロケーションのプロキシミティを含むセットから選択される
ことを特徴とする請求項１４に記載の方法。
【請求項１８】
移動デバイスを使用する方法であって、
前記移動デバイスにおける信号スナップショットであって、前記移動デバイスによって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定するステップと、
前記信号スナップショットを使用して、前記移動デバイスにおけるユーザのロケーションを生成するステップと、
前記ユーザのロケーションに基づく会議情報であって、前記ユーザのロケーションの近所にある会議ブースについての情報に関連する会議情報を取得するステップと、
前記移動デバイスにおける前記判定するステップと前記生成するステップとを反復して繰り返し、前記ユーザのロケーションと前記信号スナップショットを更新するステップと、
前記ユーザのロケーションと前記会議情報に基づいてコンテキスト情報を選択的に表示するステップと
を備えることを特徴とする方法。
【請求項１９】
前記取得するステップは、ネットワークを介して前記会議情報を取得する
ことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記会議情報は、会議ブースについての詳細情報、訪問先のブースのリストにおいて訪問済及び未訪問を示す経路計画、１つ以上のブースの訪問に関する提案を含むセットから選択される
ことを特徴とする請求項１８に記載の方法。
【請求項２１】
前記選択的に表示するステップは、信号に応じて発生し、
前記信号は、コンテキスト情報をリクエストするユーザ入力と、所定のロケーションに対する前記ユーザのロケーションのプロキシミティを含むセットから選択される
ことを特徴とする請求項１８に記載の方法。
【請求項２２】
移動デバイスを使用する方法であって、
前記移動デバイスにおける信号スナップショットであって、前記移動デバイスによって検出可能な未規制無線周波数（ＲＦ）送信信号の特徴を記述する信号スナップショットを判定するステップと、
前記信号スナップショットを使用して、前記移動デバイスにおけるユーザのロケーションを生成するステップと、
前記ユーザのロケーションに基づくソーシャルロケーション情報であって、前記ユーザのロケーションの近所にいる他のユーザについての情報に関連するソーシャルロケーション情報を取得するステップと、
前記移動デバイスにおける前記判定するステップと前記生成するステップとを反復して繰り返し、前記ユーザのロケーションと前記信号スナップショットを更新するステップと、
前記ユーザのロケーションと前記ソーシャルロケーション情報に基づいてコンテキスト情報を選択的に表示するステップと
を備えることを特徴とする方法。
【請求項２３】
前記取得するステップは、ネットワークを介して前記ソーシャルロケーション情報を取得する
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記取得することは、更に、サーバと第２の移動デバイスの内の１つから、前記ネットワークを介して受信することを含んでいる
ことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記ソーシャルロケーション情報は、前記ユーザの友人によるソーシャルネットワークのチェックイン、前記ユーザの友人のロケーション情報、前記ロケーションへの類似訪問パターンと類似のソーシャルネットワークへの関心を有する匿名の近隣の人を含むセットから選択される
ことを特徴とする請求項２２に記載の方法。
【請求項２６】
前記選択的に表示するステップは、信号に応じて発生し、
前記信号は、情報をリクエストするユーザ入力と、前記ソーシャルロケーション情報によって識別される他のユーザに対する前記ユーザのロケーションのプロキシミティを含むセットから選択される
ことを特徴とする請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１１年２月５日に出願された、ヒュアング等による、仮出願番号６１／４３９８７６号の非仮出願であり、その名称は、「本発明は、無線あるいは信号強度に基づくマッピング及びローカライゼーション（位置確認）についてのソリューションに関するものであり、より詳しくは、走行距離計測法、ヒューマンインタラクション、あるいは環境コンテキストの任意の組み合わせを伴う、送受信無線強度情報及び／あるいは送受信信号強度情報の、同時あるいはリアルタイムあるいは後処理マッピング及び／あるいはローカライゼーションに関するものである」である。
【背景技術】
【０００２】
本開示は、一般的には、移動デバイスを使用するロケーション判定に関連する。より詳しくは、本開示は、ロケーション判定用のＧＰＳに依存しない技術に関連するものである。
【０００３】
関連技術
ＧＰＳ、基地局、及び予めマッピングされているＲＦ送信機、例えば、ＷｉＦｉアクセスポイントの組み合わせによる移動体の位置決めが、広く利用可能となっている。このような位置決めは、通常は、約７−２５メートルの精度となっているが、失敗する場合には２５０メートルの誤差が生じる場合がある。また、屋内環境では、ＧＰＳの受信状態は貧弱となる傾向があり、他のメカニズムへの依存を必要とする。受信状態を改善するための１つのメカニズムは、基地局を使用することであり、これは、例えば、複数の既知の基地局からの信号強度についての情報を使用して、概略ロケーション（２００−１０００ｍの精度）を三角測量する。別の方法は、既知のＷｉＦｉ送信機のデータベースを使用すること、あるいは、他の未規制無線周波数（ＲＦ）送信機のデータベースを使用することである。
【０００４】
例えば、スカイフック無線は、既知のＷｉＦｉアクセスポイント、ＧＰＳ衛星及び基地局のデータベースを使用して、ソフトウェアだけによる、１０−２０メートルの精度のロケーションマッピングを提供して、ロケーション（location）を計算する。スカイフック無線のようなサービスに対する核となる要件は、ＷｉＦｉアクセスポイントのリファレンスデータベースである。このデータベースは、例えば、現地調査を介しての、手動によるデータエントリによって手動で生成しなければならない。アップル社のような企業では、移動デバイスのＧＰＳを使用して、ＷｉＦｉ基地局を記録している。これらのデータベース自身は、良好な精度を提供するために、定期的に保守され、かつ更新されなければならない。このようなデータベースの保守は、高価な監視機器、ロケーションを調査するための熟練のその分野の部隊、定期的な更新を要求する場合がある。加えて、このような方法は、混雑しているエリアと空いているエリアとの違いによる信号環境の変化に対応していない、あるいは、ユーザが移動デバイスを携帯している状態を変えることによって、ユーザの手によって移動デバイスのアンテナ（群）が遮られることによる信号状態の変化に対応しない。
【０００５】
屋内信号強度モデリング用の光線追跡電波モデルを使用するような屋内ロケーション判定用の更なる別の方法、スパース拡張情報フィルタ及びグラフＳＬＡＭに基づく方法、あるいは、これらの方法に基づく推測航法は、ロケーションの形状、レイアウトアウトについての事前情報を要求し、時には、例えば、過去の形状のようなロケーションの構成要素を要求する。この方法は、権威筋が提供することができる、既存のマップ及び形状情報が存在する場合に機能することができる。しかしながら、このような方法は、移動デバイスの制約内で動作するためには、たいていは、かなり計算上、複雑となる、あるいは、変化するあるいは動的な環境では、必ずしも良好に動作しない。
【発明の概要】
【０００６】
従って、必要とされることは、ロケーションについての事前情報、例えば、空間自身、あるいは、その空間内での未規制ＲＦ送信機／送信信号についての情報を必要とすることなく、移動デバイスのロケーション判定のための方法及び装置である。
【図面の簡単な説明】
【０００７】
【図１】実施形態に従うシステムのアーキテクチャレベルの概要を示す図である。
【図２】移動デバイスにおいて使用するロケーションシステムの実施形態の例を示す図である。
【図３】一実施形態に従うロケーション判定プロセスに対するプロセスフロー図である。
【図４】一実施形態に従うロケーション判定プロセスの改良のためのプロセスフロー図である。
【図５】ロケーション判定プロセスの実施形態による例示の結果を示す図である。
【図６】ロケーション判定プロセスの実施形態による例示の結果を示す図である。
【発明を実施するための形態】
【０００８】
詳細説明
関連事例                            １
背景                                １
分野                              １
関連技術                          ２
図面の簡単な説明                    ３
詳細説明                            ３
概要                              ４
用語                              ７
システム概要                      ８
位置決め（ポジショニング）      １６
更なる改善信号マップ            ３０
例示及び更なる議論              ３５
結論及び追加の実施形態          ３７
請求項                            ４５
要約                              ５１
概要
ここでの説明は、以下のように構成される。まず、様々な実施形態によって取り扱われるいくつかの問題を説明する導入を、説明を通じて使用される以下の例示の用語によって提示する。次に、より高いレベルの一実施形態の記載を、アーキテクチャレベルで説明する。次に、いくつかの実施形態で使用されるプロセスの詳細を説明する。次に、いくつかの用途を説明する。そして、様々な代替の実施形態を説明する。
【０００９】
レーンが、会議に参加することを想定する。会場はぎりぎりに設営されたので、コンベンションセンター（会議施設）にはＷｉＦｉアクセスポイントのマッピングは存在しておらず、そのうちのいくつかは最近取り換えられていて、かつ検査されておらず、また、そのうちのいくつかは展示用のブースで構築されている等である。しかしながら、会議の主催者は、出展者の名前が付記されている展示会場の一般図（マップ）を持っていると思われ、これらの主催者は、そのマップを会議用の移動アプリケーションにロードすることができる。会議施設で、レーンは、自身の移動電話を取り出し、移動アプリケーション、あるいは、例えば、ＸＹＺ会議２０１１のような会議用のウェブサイトを起動する。ＧＰＳが貧弱あるいは利用不可能である場合でさえ、かつマップが仕上ってから会議場の景観が変更されているとしても、移動デバイスで、レーンは、会議場の自身の通過経路を簡単に追跡し、そして、レーンが、面会する人のリストに挙がっているすべての出展者を訪問することを確実にすることが望まれる。この状況（コンテキスト）では、ＧＰＳは、信号品質の観点だけでなく、高出力要件の観点でも貧弱となる可能性がある。また、既存のＧＰＳの代用品は、例えば、ロケーションの事前マッピング、あるいはロケーション内に所定のビーコンを設定する等、かなり費用がかかる場合がある。他の特徴には、会議で他人を探して会う際の良好な精度が含まれる。また、他の特徴には、自身が特に関心のあるブースを訪問するための最適ルートが含まれる。他の特徴には、例えば、会議場の一部の混雑に基づいて代替の経路を動的に提案することのような、エリア内の混雑の取り扱いが含まれる。同様の特徴を、ロケーションシステム１２０が、例えば、企業情報１１２あるいはサードパーティのウェブサイトにおいて、アトラクションの待ち時間についての情報を提供するデータソースに接続することができる場合、アトラクションが併設されているテーマパークのような大規模なロケーションでの経路計画に対して使用することができる。加えて、このような特徴は、パレードやショーのようなイベントによって引き起こされる混雑を考慮することができる。他の特徴には、例えば、自身が訪れたブースのような閲覧履歴の提供；例えば、近隣のブースに関連する内容の表示のような展示場との双方向性；例えば、自身の関心事項に依存して様々な情報が表示されるようなパーソナライゼーションの少なくとも１つを含むことができる。パーソナライゼーションの状況では、例えば、医学会議に登録されている医師は、同一のブースで付近にいる病院管理者以外の情報を見ることができる。
【００１０】
より良好な移動体ロケーション判定のための他の用途は、例えば、一般的なモールでの買い物や、百貨店、食料品店、薬局、専門店等の店舗内での買い物が含まれる。例えば、レーンが、ＸＹＺモールアプリケーションを使用して、ＸＹＺモールを散策している場合、ある店に立ち寄ることで、彼は、目的の広告を受信することができる。同様に、店内の（隣接の）ブランドＸのおむつ展示を見ているユーザは、そのブランドのおむつ用のクーポン、あるいは他の競合他社のおむつのクーポンの提供を受けることができる。いくつかの実施形態では、価格チェック機能がサポートされる。この実施形態は、例えば、Ｓａｆｅｗａｙ＃１２３のような、ある店のレイアウトの知識を使用する競合他社が、自身が販売するより低価格の代替品を提案するために提供される、あるいはブランド競合メカニズムとして提供されるものであり、あなたが丁度、今、Ｐｅｐｓｉのところにいるが、数メートル離れた所には、Ｃｏｋｅの特売品が存在している。他の実施形態は、付近の商品の補助的な栄養情報を提供すること；付近の商品についてのレビューを他のウェブサイト及び自身のソーシャルネットワーク（群）の少なくとも一方から提供すること；及び／あるいは、既に販売中の注目商品のような補助的な情報を提供すること；先物売買の勧告を行うことを含むことができる。
【００１１】
特に、この実施形態の使用は、ロケーションにおける基本的な「チェックイン」をしのぐものであり、ユーザのより正確なロケーションについての改良された機能を提供する。例えば、棚位置の例では、１ｍに近い精度、オプションでは、ヘディング（heading：機種方位）（おむつを見ているあるいは別の売り場を見ている）、移動速度（追い越しに対するおむつの前に依然として立っている）のような他の情報で補足されている、精度が重要である。
【００１２】
実施形態は通信を使用して、かつ、例えば、移動デバイスからサーバへの通信用の、インターネットのような公衆ネットワークを使用することができるが、１つの重要な特徴は、相対的に、サーバとの通信量が少ないことである。最小の通信オーバヘッドは、サーバに、何百万のユーザを処理することを可能にする。これは、エンドポイントが、異なるプロバイダ、及び／あるいは、それがサポートする様々なアプリケーションによるものである場合でさえでもある。ここで、いくつかの実施形態では、通信が全くない、及び／あるいはすべての通信が、オフラインのロケーション判定プロセスであることに注意されたい。しかしながら、いくつかの実施形態では、いくつかのエンティティは、移動デバイスが接続することができる専用サーバをセットアップすることができる。最小の通信要件は、セルラーのような帯域幅制限ネットワークを介して、大規模な会場で、何万ものデバイスを処理することにも役立てる。例えば、移動デバイスを携帯する、コンサート場での３千人以上の出席者はすべて、著しい帯域幅の影響を受けることなく、ロケーションシステム１２０を容易に使用することができる。加えて、移動デバイスの電力消費は慎重に管理される必要があるので、実施形態は、ロケーション判定用に、特に、低電力消費技術を使用する。
【００１３】
いくつかの実施形態による、ロケーション判定用のＷｉＦｉ送信信号の使用は、そのＷｉＦｉ送信信号を使用してネットワークに移動デバイスを接続することを必要とすることなく、ＷｉＦｉの遍在性と、そのＷｉＦｉ送信信号を使用する能力との組み合わせを利用する。特に、ＭＡＣアドレスを含むＷｉＦｉビーコンは、マッピング目的に対して十分である。加えて、電力消費の観点からは、移動デバイスは、ＷｉＦｉアクセスポイントを定期的にスキャンするように既にプログラムされていて、いくつかの実施形態では、このような定期的なスキャンを利用して、及び／あるいは、そのようなスキャンの頻度を増やして、自己位置推定及び環境地図作成情報（location and mapping information）を構築する。
【００１４】
加えて、実施形態は、ＦａｓｔＳＬＡＭ改良型を含むＳＬＡＭ（自己位置推定及び環境地図作成）のようなロボット工学の分野から得られる技術を変形して、移動体ロケーション判定を提供する。実施形態は、機械学習技術、構造化確率モデル、ベイジアンフィルタリング（Bayesian filtering）、及び逐次重要度リサンプリングを使用して、移動体ロケーション判定を提供する。
【００１５】
ここでは、改良された移動体ロケーション判定を提供するシステム及び様々な実施形態について記載する。
【００１６】
用語
本明細書全体を通して、以下の用語を使用する。
【００１７】
移動デバイス：移動デバイスは、移動電話、スマートフォン、あるいはその類のようなポータブル電子デバイスである。現行の典型的な移動デバイスは、ｉＰｈｏｎｅのようなｉＯＳデバイス、Ｎｅｘｕｓスマートフォン、あるいはＫｉｎｄｌｅタブレットのようなアンドロイドデバイスを含んでいる。一般的に、いくつかの実施形態では、ユーザが、持ち運ぶことが容易で、かつ歩きながら使用することができる、小型の携帯デバイスを対象としている。一般的に、移動デバイスは、加速度計、ジャイロコンパスのような複数の組み込みセンサに加えて、ＧＰＳ、セルラー、ＷｉＦｉ、及びブルートゥースのような複数の受信機を有することができる。加えて、移動デバイスは、ディスプレイと、ユーザ入力機能を有している。特に、実施形態では、ボタン及びタッチ入力のような移動デバイスで一般的な入力と、バーコード、ＱＲコード（登録商標）、及び他の画像解析の少なくとも１つを復号し解析するためのカメラ、音声認識及び音解析の少なくとも一方用のマイクロフォンを使用することができる。このように、移動デバイスの定義は、タブレット、あるいは、ポータブルコンピュータ、あるいはラップトップコンピュータ、及びそれらの周辺機器以外のポータブル電子デバイスを含むことになる。
【００１８】
未規制無線周波数（ＲＦ）送信機、未規制ＲＦ送信信号：未規制無線周波数（ＲＦ）送信機あるいは未規制送信信号は、送信機／送信ソースを位置決めするための政府規制の管理体制が存在していなＲＦ送信機／送信信号を意味する。例えば、３Ｇ／ＬＴＥに対して使用される基地局は、規制されたＲＧ送信機である。同様に、ＧＰＳ衛星は、規制されたたＲＦ送信機として観測される。これに対して、未規制ＲＦ送信機は、アドホック形態、例えば、ＷｉＦｉ基地局、ブルートゥースデバイス、近距離通信（ＮＦＣ）送信機で、展開される。一定のＲＦソースは、１つのカテゴリあるいは他のカテゴリ、例えば、セルラー通信用のマイクロセル／ピコセルにうまく分類されない。しかしながら、ここでの説明のために、用語「未規制」は、送信機が定期的に移動する／設置される／変更される場合の送信機／送信信号に焦点を合わせる。いくつかの実施形態では、ＷｉＦｉ送信機／送信信号を更に重要視する。これは、それらの普遍性によるものである。加えて、たとえ送信機の位置が既知であるということになっているとしても、そのことは十分でない場合がある。例えば、ＷｉＦｉデバイスの位置を記録するためのインストローラが想定されている管理済ＷｉＦｉネットワークは、不正確なロケーション情報を頻繁に含んで報告を受ける。このような利用可能な情報は、いくつかの実施形態に対しては、粗悪なロケーション判定の入力となる。
【００１９】
ロケーション（location：場所）：ロケーションは、本明細書では、２つの明確な概念を指し示すために使用され、その使用は、内容（コンテキスト）によって明らかにされるべきである。１つ目の意味は、例えば、ＸＹＺストア＃１２３、ＡＢＣコンベンションセンター、セントラルパーク、あるいはセントラルパーク内の領域のような、ユーザ自身が存在する一般的なエリアを指し示している。２つ目の意味は、移動デバイス、つまり、ユーザのより正確な位置を指し示している。特に、ロケーションの２つ目の意味は、例えば、緯度／経度と姿勢／フロア、あるいは相対ｘ、ｙ、ｚ座標とすることができる。このロケーションの第２の意味は、位置としても指し示すことができる。
【００２０】
システム概要
移動ロケーション判定を改善するためのシステム及び様々な実施形態を図１を参照して説明する。ここで、図１は、実施形態に従うシステムのアーキテクチャレベルの概要を示している。図１はアーキテクチャ図であるので、その詳細の一部は、説明をより明確にするために意図的に省略している。図１は、以下のように構成される。まず、互いに相互に接続されている、図１の各種要素を説明する。そして、システム内の各種要素を使用して、より詳細に説明する。
【００２１】
図１は、システム１００を含んでいる。このシステムは、外部ソース１１０、ロケーションシステム（位置決めシステム）１２０、エンドポイント１３０を含んでいる。外部ソース１１０は、マップ（地図）ソース１１１、企業情報１１２、及びロケーション情報１１３を含んでいる。ロケーションシステム１２０は、コントローラ１２１と記憶装置１２２を含んでいる。エンドポイント１３０は、移動体（モバイル）１３１、移動体１３２、移動体１３３及びタブレット１３１を含んでいる。移動体１３１は、ディスプレイ１６０と通信接続されていて、ディスプレイ１６０は、一実施形態に従って、移動体１３１上のロケーションソフトウェアとロケーションシステム１２０の組み合わせによって生成されるユーザインタフェースを提示する。加えて、移動体１３１へのユーザ入力１５０が示されていて、それに加えて、センサ１５５、未規制ＲＦ受信機１５７とロケーションソフトウェア１５９が示されている。
【００２２】
システム１００の構成要素の相互接続を説明する。外部ソース１１０は、ロケーションシステム１２０と通信接続されている（両端矢印によって示される）。異なるソースが、異なるメカニズムを介して到達することができる。例えば、マップソース１１１は、ネットワーク、例えば、インターネットを介して、ＲＥＳＴあるいはＳＯＡＰのような様々なＡＰＩを使用するＨＴＴＰのような１つ以上のプロトコルを使用して、取得することができる。企業情報１１２あるいはロケーション情報１１３のような他の情報は、例えば、プライベートネットワーク、ＶＰＮ、ＭＰＬＳ回線、あるいはインターネットのような異なるネットワークを介してアクセスすることができ、また、ロケーションシステム１２０による処理及び記憶のための、データのＳＦＴＰダウンロードのようなダウンロードメカニズム、あるいは適切なＡＰＩを使用して取得することができる。あらゆる通信を、適宜、暗号化することができ、暗号解読信用証明書を、直接、ロケーションシステム１２０で利用可能とすることができる、あるいは、暗号化形式で記憶装置１２２に記憶することができる。加えて、ユーザ名／パスワード、オーオース（OAuth）、ケルベロス（Kerberos）の類のような様々な認証技術を、外部ソース１１０とロケーションシステム１２０との間の通信のために使用することができる。
【００２３】
コントローラ１２１と記憶装置１２２は、相互に通信接続されている１つ以上のコンピュータとコンピュータシステムで構成することができる。これらは、１つ以上の仮想コンピュータ処理及び記憶リソースの少なくとも一方とすることもできる。例えば、コントローラ１２１は、ＡｍａｚｏｎＥＣ２インスタンスとすることができ、記憶装置１２２は、ＡｍａｚｏｎＳ３記憶装置とすることができる。物理コンピュータあるいは、伝統的な仮想マシーンを制御する物理コンピュータを使用するオペレータによってロケーションシステム１２０を直接実現することに代えて、ＳａｌｅｓｆｏｒｃｅによるＦｏｒｃｅ．ｃｏｍ、Ｒａｃｋｓｐａｃｅ、Ｈｅｒｏｋｕのような、他のコンピュータによるサービスプラットホームを使用することができる。潜在的にかつ地理的に分散しているコンピュータと、ロケーションシステム１２０を備える記憶リソースとの間の通信は図示していない。
【００２４】
エンドポイント１３０は、同様に、ロケーションシステム１２０と通信接続されている（両端矢印で示されている）。この通信は、一般的には、インターネットのようなネットワークを介している。このインターネットには、ＥＤＧＥ、３Ｇ、ＬＴＥ、ＷｉＦｉ、及びＷｉＭａｘのようなプロトコルを介する移動体インターネットを含んでいる。エンドポイント１３０は、ＨＴＴＰ／ＨＴＴＰＳプロトコルを使用して、ロケーションシステム１２０と通信することができ、また、一実施形態では、エンドポイント１３０としてデバイスタイプの範囲を容易にサポート可能にするためにウェイブインタフェースあるいはアプリケーションを使用して実現することができる。移動体１３１は、任意の移動デバイスとすることができ、例えば、上記で参照される、ｉＰｈｏｎｅ、アンドロイドフォン、ウィンドウズフォン、ブラックベリーがある。タブレット１３４は、上記で参照される、移動デバイスと見なせ、また、ｉＰａｄ、ｉＰｏｄタッチ、アンドロイドタブレット、ブラックベリータブレットのようなタブレットコンピュータデバイスとすることができる。ラップトップのような他のタイプの移動デバイスは示されていないが、使用することができる。いくつかの実施形態に従えば、ロケーションソフトウェア１５９は、ＨＴＭＬ、あるいはウェブ、アプリケーションのようなエンドポイントで実現され、一方、他の実施形態では、カスタムあるいはネイティブ、ユーザインタフェースがデバイス用に用意される。同様に、いくつかの実施形態は、「アプリケーションストア」の概念をサポートし、ロケーションソフトウェア１５９は、アプリケーションストアからダウンロードすることができる。いくつかの実施形態では、エンドポイント１３０と外部ソース１１０との間で直接通信（不図示）が実行される。これは、上述の通信は、ロケーション判定プロセス、つまり、本明細書で説明されるプロセス中に、オプションのサーバリソースと通信するロケーション判定プロセスに対してオフラインとすることができることを強調しておく。
【００２５】
ディスプレイ１６０は移動体１３１と通信接続され、移動体１３１は、例えば、キーボード、マウス、トラックパッド、タッチジェスチャ（オプションでは、ディスプレイ１６０上で）、カメラ、及びマイクロフォン、周辺機器を介して、ユーザ入力１５０を受け付けることができる。センサ１５５は、移動体１３１と通信接続される（かつ、一般的にはそれとともに統合されている）。同様に、未規制ＲＦ受信機１５７は、移動体１３１と通信接続されている（かつ、一般的にはそれとともに統合されている）。ロケーションソフトウェア１５９は、移動体１３１上の、例えば、移動体１３１のプロセッサ（群）の実行用の揮発性メモリ及び不揮発性メモリの少なくとも一方のメモリ内に記憶される。
【００２６】
ロケーションシステム１２０とエンドポイント１３０との間の通信は、ロケーションシステム１２０へ直接リクエストを行うエンドポイント１３０と、外部ソース１１０へ直接リクエストを行うロケーションシステム１２０との双方向とすることができる。
【００２７】
図１の構成要素とそれらの相互接続を用いて、システムの詳細を更に説明する。これについては、図２の説明とともに行う。図２は、状況２００における移動デバイスで使用するロケーションシステムの実施形態を示している。具体的には、状況２００は、ロケーション２２０をナビゲートする移動体１３１を有するユーザ２１０を示している。状況２００は、エンドポイント１３０とロケーションシステム１２０との間のオプションの通信を、オプションである移動体１３１とロケーションシステム１２０との通信経路（オプション通信経路２０５）をマーキングすることによって、強調表示している。
【００２８】
説明のために、ここでは、ロケーション２２０を食料品店として取り扱うことにする。状況２００では、ロケーション２２０は、４つの無線アクセスポイント（無線アクセスポイント２３２、無線アクセスポイント２３４、無線アクセスポイント２３６、無線アクセスポイント２３８）を有し、これらは、不規則に分散されている。食料品店内の無線アクセスポイントのロケーションは、説明のために図で示しているが、移動体１３１あるいはロケーションシステム１２０に既知である必要はなく、また、食料品店の内部あるいは外部にあっても良い。加えて、無線アクセスポイントは、食料品店内に存在している必要はなく、例えば、アクセスポイントのいくつかあるいはすべては、隣接店内に存在することもでき、これらのＲＦ送信信号は、食料品店内で検出することができる。食料品店は、いくつかの棚と冷凍ケース（障害物２２２、障害物２２４、障害物２２６、障害物２２８）を有している。ここで、障害物のロケーションは、説明の目的のために示しているが、移動体１３１あるいはロケーションシステム１２０に既知である必要はない。また、ユーザ２１０が店内を歩くことになる実経路２５０が示されている（二点鎖線）。ユーザの存在位置は、ｔ0の実点として示されている。ユーザの経路上にはいくつかの更なる点が、ｔ1、ｔ2、ｔ3、ｔ4、ｔ5、ｔ6、ｔ7として示されている。これらの点は、説明のために選択されていて、これは、食料品店へ訪問中に、ユーザの実経路２５０上でユーザが訪れることになるロケーションを表している。ここで、実経路２５０は移動体１３１あるいはロケーションシステム１２０に既知ではないが、ロケーションソフトウェア１５９及びロケーションシステム１２０の少なくとも一方の目的は、任意の時間に、食料品店内のユーザのロケーションを判定することである。このことは、実経路２５０を大まかに辿ることになる計算経路（不図示）を生成するために使用することができる。しかしながら、ここで示される方法を使用することで、約１メートルの精度が可能である。
【００２９】
ロケーションソフトウェア１５９は、ライブラリ、ソフトウェア開発キット（ＳＤＫ）として、アプリケーションデベロッパーへ配信することができる、あるいはアプリケーションプログラマインタフェース（ＡＰＩ）として他のソフトウェアへ配信することができることを強調しておく。本明細書における説明は、ロケーションソフトウェア１５９がスタンドアローンアプリケーションである実施形態に焦点を当てることにする。しかしながら、いくつかの実施形態は、例えば、より汎用的なロケーションソフトウェアに対するセーフウェイ（Ｓａｆｅｗａｙ）アプリケーションのような他のソフトウェアにカプセル化されているロケーションソフトウェア１５９の機能を有している。このような実施形態は、アプリケーション内に直接、企業情報１１２のいくつかあるいはすべてをカプセル化することができ、例えば、店舗マップ及び区分を、セーフウェイアプリケーションに予めロードしておくことができる。加えて、このようなアプリケーションは、より大規模の利用可能なコンテキストデータを有することができ、及び／あるいは、カスタマイズ機能を提供することができる。いくつかの実施形態では、正常なコンテキストアプリケーション、例えば、セーフウェイアプリケーションは、概略ロケーション（概略位置）に基づいて移動デバイスのオペレーティングシステムによって起動されることで、システム１００のより詳細なロケーション機能が、特定アプリケーション内で利用可能となる。
【００３０】
最後に、図２は、移動体１３１上で１つのディスプレイ１６０を示している。この特定のディスプレイは、ユーザの存在位置（実点）と、障害物を示している。これは、例えば、ロケーションシステム１２０がマップソース１１１あるいは企業情報１１１２から屋内マップを取得することができる場合である。上述のように、障害物のロケーションは要求されない。しかしながら、マッピングデータの外部ソースとの簡単統合は、いくつかの実施形態によって提供される特徴であり、図２に示されるディスプレイは例を提供するために有用な場所となる。
【００３１】
ロケーション判定方法の基本動作は以下のようになる。移動体１３１は、ユーザが自身のロケーション、例えば、ユーザが存在する正確なロケーションを知りたいことを示す信号を受信する。移動体１３１は、オプションで、情報用のロケーションシステム１２０と通信することができる。しかしながら、実施形態の１つの特徴は最小限のものであり、あるいは、移動体とサーバ間の通信に対して必要とされるものでない。具体的には、１つの利点は、この実施形態が、移動体１３１上で実行されるロケーション計算の全処理を可能にすることである。しかしながら、移動体とサーバ間の通信は、有用な情報の取得を可能にする。具体的には、主要なサーバオプション情報は、（ｉ）マップ、（ｉｉ）企業専用情報（企業情報１１２）及び／あるいはカスタマイズ、（ｉｉｉ）補助ロケーション情報、（ｉｖ）事前訪問データ、（ｖ）他のインターネット配信情報を含むことができる。より一般的には、企業情報１１２は、現場及びイベントの少なくとも一方についてのコンテキストメタデータを含んでいる。
【００３２】
マップで開始するオプションデータのそれぞれのタイプを用いると、一番簡単な形式のマップは、食料品店、会議フロア、野外コンサート開催地あるいはその類の縮尺画像となる。より高度なマップは、特定の項目／ブランド／商品の位置のような動的な追加の情報を含むことができる。システムを説明するために、マップは、マップソース１１１から取得されるものと見なす。このマップソース１１１は、企業ウェブサイト、会議場ウェブサイト、及びその類のような複数のソースとすることができる。いくつかの例では、エンティティは、手動で、及び／あるいはプログラムでマップを提供するために、ロケーションシステム１２０と対話するメカニズム（不図示）が提供される。例えば、企業は、自身の店舗ロケーションのすべてのリストを含むファイルをアップロードするためのメカニズムを、店舗のマップを取得するためのＵＲＬとともに提供することができる。このような例では、マップ用のダウンロードサイトは、マップソース１１１となる。野外開催地に対しては、より正確に開催地の自身のロケーション、加えて、その開催地の自身の友人のロケーションを簡単に知ることは、マップがなくても十分である場合がある。いくつかの実施形態は、友達検索機能をサポートし、また、この機能を実現するために移動体とサーバ間の通信を使用する。しかしながら、多くの屋内ロケーションに対しては、マップは、システムを使用するために、ユーザに対して追加のコンテキストを提供することができる。
【００３３】
オプションのサーバ提供情報の次のカテゴリは、企業情報（例えば、企業情報１１２）である。上述のように、これは、いくつかの形態をとることができ、これには、ロケーションソフトウェア１５９を使用するためのカスタマイズ及び／あるいはブランド提携ソフトウェアを含んでいる。他の実施形態では、ロケーションソフトウェア１５９は、ロケーションへのエントリにおいてカスタマイズすることができる。例えば、ユーザがセーフウェイへエントリすると、一定のセーフウェイ専用カスタマイズがロードされる。企業情報１１２は、より高度にロケーション専用の近隣商品に対する補助的な食物データとすることができ、例えば、ユーザが立っている傍にあるパンをどのようにして新鮮に焼くかについてとかである。ロケーションシステム１２０は、企業情報１１２からこの情報を取得する。例示の機能は、コンテキスト、かつロケーション気付形式の１つ以上のカスタマイズボタンの表示をディスプレイに含ませることができる。例えば、ユーザが迷子になっていると感じている場合（同一のエリアを繰り返し移動している、あるいは旋回している）場合、「ヘルプボタンが必要ですか？」が現れ、ユーザのロケーションを、店舗における担当者へ送信する。同様に、クーポン及び広告の少なくとも一方を、ユーザが立っている場所に基づいて対象とすることができる。他の使用コンテキストは、他の機能を有することができ、例えば、会議用のカスタマイズ機能は、ユーザが訪問したいブースのリストを作成し、展示フロアに渡る経路を計画し、少なくとも３０秒はユーザが停止したブースを自動的に除外することを支援することができる。別の実施形態では、訪問済のブースと訪問時間のレコードが保持され、これは、ユーザと、名刺、企業ウェブサイトコンテンツを、多くのロケーションデータとともに関連付けることを可能にする訪問先のリストとしてユーザに利用可能にする。これは、企業情報１１２による、いくつかの実施形態に対するサポート機能のリストの例であるが、システムの機能であることを強調する。
【００３４】
ロケーション情報１１３を調整すると、ＷｉＦｉホットスポットロケーションのスカイフックリストのような１つ以上のサードパーティデータベース、基地局ロケーションのデータベース、オペレーティングシステム提供ロケーション情報を、（ｉ）精度、（ｉｉ）初期絶対ロケーション判定、（ｉｉｉ）ロケーションにおける測位時間、及び（ｉｖ）異常値棄却を改善するために使用することができる。状況２００に戻り、この状況が、ロケーションシステム１２０の任意のユーザが初めてロケーション２２０を訪問している場合、ユーザの出発位置（ｔ0）を判定することは難しくなる。これは、特に、屋内ロケーションに対してあてはまる。このように、システムは機能しながら、ユーザが様々な困難な態度を開始している場所の正確なマップを検出し及び／あるいはその場所を把握する、絶対的な位置決め情報を伴わない経路を示すことになる。この困難とは、ロケーションの長い測位時間、方向判定等がある。いくつかの例では、ロケーション情報は、コンテキスト、例えば、ユーザが、自身の出発位置をより一意に識別するセーフウェイアプリケーション（例えば、ロケーションソフトウェア１５９として）を使用していることから提供される。つまり、ロケーション情報１１３は、サードパーティデータソースを使用するメカニズムを提供する。いくつかの実施形態では、移動体１３１は、ユーザのグローバル位置を推定することができるオペレーティングシステムにおける機能を含むことができ、これらの機能は、ロケーション情報１１３の代わりに、あるいはそれに加えて使用することができる。
【００３５】
最終のメインカテゴリの、オプションの、サーバによって移動体に提供される情報は、過去の訪問先のロケーション２２０の信号マップである。固有のＷｉＦｉ  ＭＡＣ識別子が与えられると、移動体１３１は、移動体１３１の付近のホットスポットのＭＡＣ識別子をロケーションシステム１２０へ通信し、過去の訪問先のロケーション２２０の信号マップデータが、ロケーション判定のために移動体１３１へ送信される。過去の運用データを使用して信号マップを構築する方法は、図４で説明する。
【００３６】
図１の基本プロセスと要素の使用に戻り、ユーザ２１０が実経路２５０に沿って移動すると、移動体１３１のセンサ１５５は移動を記録し、ロケーションソフトウェア１５９はセンサ情報のログを保持するとともに、未規制ＲＦ受信機１５７における信号強度と、ユーザ入力装置１５０からのユーザ入力を保持する。例えば、一定のバーコードが定期的に、一定のＷｉＦｉ  ＭＡＣアドレスのセットに関連付けられている場合、このことは、ロケーション判定と信号スナップショット微調整を支援することができる。収集された情報は、図３で詳細に説明されるように、ユーザのロケーションを判定するために使用することができる。
【００３７】
まとめると、システム１００のアーキテクチャと、移動体のロケーション判定を改善するコンポーネント及びメカニズムが記載される。上述の実施形態の効果は、ＧＰＳにおける非信頼性（高出力、屋内環境での低品質、及び精度不足）を最小限にすること、計算を移動デバイスで単独で実行することができること、移動デバイスとサーバとの間の通信を最小限にすること（数百万のデバイスを、相対的に容易に扱うことができる）、オプションでは、過去のロケーションの知識を必要としないこと（例えば、（アクセスポイント及びフロアレイアウト／障害物の少なくとも一方）の再配置のようなロケーションの変更に容易に適応すること、コストのかかる事前マッピングが要求されないので、企業が自身のロケーションを含めることの低コスト化）、高精度が可能である（１−３ｍのポジショニング精度、これは、より大規模の情報及び提案を対象とすることをサポートする）、利用可能なロケーションと情報についての直接フィードバックを用いたユーザのパーソナライズ化（ソーシャルネットワーク（群）からの情報を組み込むことができる）。
【００３８】
これらの利点のそれぞれを拡大することについて、手短に、ＧＰＳの非信頼性を最小限にすることについて始める。ＧＰＳは、移動デバイス、及び、特に精度が落ちる屋内使用に対しては相対的に高電力消費を要求する。加えて、ＧＰＳによって提供される精度は、要求される粒度のレベルである１−３ｍのロケーション精度に対して不十分である。いくつかの実施形態は、ＧＰＳを最小限に使用して、初期の絶対的なロケーション判定を行い、オプションとしては、クエリーの一部として、ネットワークを介してソースから情報を取得する。計算は、移動デバイスで単独で実行することができ、これは、移動デバイスとサーバとの間の通信を削減する。上述のように、このことは、サーバ、例えば、ロケーションシステム１２０に、大量数のユーザに容易に拡大して、かつ大量数のユーザを効率的に同時に取り扱うことを可能にする。
【００３９】
多くの既存のロケーションシステム、特に、ＷｉＦｉを使用するシステムは、ロケーションの詳細な事前知識を要求する。例えば、店舗の間取り図なしでは、従来のシステムは動作しない場合がある。同様に、従来のシステムには、特別な測定機器によって測定されるＷｉＦｉホットスポットについての情報が事前に提供されないので、動作できない場合がある。フロアレイアウトとＷｉＦｉ送信パターンは定期的に変化するので、この方法は、自身の敷地内で高度のロケーションベースの機能を提供したい企業にとっては極めてコストがかかる。加えて、ＷｉＦｉアクセスポイントの配置のロケーションについての不正データが頻繁に提供される。より高い相関は、１−３ｍの高精度を提供する実施形態に対する能力であり、これは、企業及びユーザの両方に対して様々な機能をサポートすることを可能にする。
【００４０】
システムの更なる態様を、後続の図面における状況２００とプロセスフロー図を参照してより詳細に説明する。
【００４１】
ポジショニング（位置決め）
図３は、一実施形態に従うロケーション判定プロセスに対するプロセスフロー図である。この実施形態では、プロセス処理は、いくつかの地点を経由する、移動デバイス、例えば、移動体１３１上で単独で発生する。これらの地点では、ロケーションシステム１２０とのオプションの通信が使用される。この実施形態では、プロセスは、ロケーションソフトウェア１５９によって主に実行される。
【００４２】
図３は、２つの基本フローを有するプロセス３００を含み、これは、独立性及び並行性を強調するために別々に示されている。第１のフローは、ステップＳ３１０であり、これは、（ステップＳ３３０で使用される）測定値を収集する。ループは、このプロセスの継続的な反復を強調している。一実施形態では、このステップは、秒単位で複数回発生する。例えば、一実施形態では、以下で説明する、ロケーション判定（ステップ３３０）は、０．０５秒毎に発生する。これは、そのような測定値の収集が、一般的には、より頻繁にあるからであり、異なるセンサが様々な収集レートを有しているからである。収集された特定の測定値は、移動体１３１の利用可能なセンサ１５５、ユーザ入力１５０及び受信機１５７に基づいて変化することになる。加えて、いくつかの実施形態では、ステップ３１０は、オペレーティングシステムに登録しているソフトウェアを介在させて、そのオペレーティングシステムによって既に収集されている測定値情報を含むメッセージを受信することができる。他の実施形態では、いくつかの測定値は直接取得されなければならず、また、ソフトウェアは、バックグランドで動作すること、及び情報を定期的にポーリングすることの少なくとも一方を行う必要がある場合がある。一実施形態では、ステップ３１０は、タイムスタンプを伴うログファイルに、センサ１５５からのログ情報を、受信機からの情報（識別子を伴う、通信範囲内の送信機の信号強度）、及び選択されたユーザ入力１５０とともに含める。ログ情報は、ステップ３３０とともに以下で詳細に説明する。また、この説明は、データを記憶するためのテキストファイルを使用する実施形態を含むものであるが、他のデータ記憶の方法は、構造化データベース、キー値記憶等の他の実施形態によって使用される。本明細書で使用される用語であるログあるいはログファイルは、テキストログファイル、ストリングフォーマット、データ構造及びデータベースの少なくとも１つを含む特定のフォーマットに対して、タイムスタンプにリンクされている情報を指し示すものという意味で使用される。本明細書で使用される用語であるデータ構造は、コンピュータシステムにデータを記憶して体系化する方法を意味し、また、オブジェクト及びオブジェクト指向方法の少なくとも一方を包含するものと理解されるべきである。加えて、いくつかのデータ構造は、データベースに記憶される、あるいはデータベース上で表現される。
【００４３】
プロセス３００の他のフローは、メインのロケーション判定フローである。これは、ロケーションシステム１２０からのオプションの情報のダウンロードを伴って、ステップ３２０で開始する。上述のように、これは、マップ、企業情報、ロケーション情報、及びロケーション用の従前の信号マップの少なくとも１つを取得することを含むことができる。このステップは、測定値のいくつかの情報を送信することを含むことができる（ステップ３１０）。例えば、最新のいくつかの読取値における、移動デバイスによって位置決めされるＷｉＦｉ基地局に対するＭＡＣ識別子は、ロケーションシステム１２０に送信することができる。ロケーションシステム１２０は、ロケーションについての他のユーザあるいは他の情報から信号マップを提供することができる。
【００４４】
このプロセスは、収集された測定値によるロケーション計算を伴うステップ３３０で継続する。ロケーションが一旦計算されると、それは、ステップ３４０で、ユーザに対して、例えば、移動体１３１のディスプレイ１６０におけるユーザ２１０に対して、更新されそして表示される。プロセス３００は、インタラクティブロケーションマップ／経路表示用のプロセスを反映する、そのため、ステップ３４０は、定期的に発生するように示されている。いくつかの実施形態では、ユーザのロケーションは継続的に表示されないばかりか、訪問済／未訪問エリアのコンテキストで、選択的に表示される及び表示されることの少なくとも一方がなされる。例えば、博物館において、ユーザは、未訪問の展示と訪問済の展示の対比を提示することができる。ステップ３５０で、オプションのユーザによるロケーション入力が可能であり、これは、初期のロケーション判定、及び、ロケーションのシステムによる微調整の支援の少なくとも一方に対して特に有益である。上述のように、いくつかのユーザ入力は、ビデオ及びオーディオの少なくとも一方の形式にすることができる。例えば、カメラで復号されるバードコードは、ロケーション及び信号マップの微調整に有用である場合がある。これは、特に、企業専用アプリケーションに当てはまり、例えば、Ｓａｆｅｗａｙのアプリケーションとユーザは、Ｓａｆｅｗａｙ１２３の通路７に通常、保存されている冷凍食料品項目を精査する。加えて、ここでは、明示的なループがステップ３３０に戻るように示され、プロセス３００の継続する性質を強調している。
【００４５】
単独で、移動体１３１からロケーションシステム１２０への信号マップ情報（例えば、ステップ３１０からのログデータ）のアップロードは、ステップ３６０におけるメインループの外として示されていて、これは、オプションである。ステップ３６０は、様々な時間で発生し、例えば、ｘ秒／分／時毎；ステップＳ３１０の一部として：ロケーション感知の形態では、例えば、ユーザがロケーションを離れた場合に、そのロケーションに対するログが送信される場合；エンドポイント１３０とロケーションシステム１２０との間の帯域幅に基づいて；様々なロケーションへの訪問と、様々なロケーションからの信号スナップショットの収集とを促すための報奨／ゲームメカニックの一部として。他の実施形態では、ステップ３６０に対して追加のロケーション感知トリガーを使用することができ、例えば、既存の信号スナップショットがより少ない場所は、あるいは、より高い精度が必要とされる場所は、ステップ３６０で、より頻繁にそして激しく訪問するロケーションをトリガーすることができる。
【００４６】
ステップ３３０で、いくつかの実施形態によって使用されるプロセスを、より詳細に説明する。パイソン（Python）形式の疑似コードフォーマットを、このプロセスを議論するために使用するが、他の実装も可能である。提示するプロセスに対しては２つの基本概念が存在する：（ｉ）ロケーションの推測が、過去の経路モデル及び収集された測定値にどれほど正確に一致するように評価すること、現在のロケーションについてどのようにして正確に推測を行うことである。
【００４７】
適合機能
最初の課題に戻り、単純な例として、加速度入力だけを検討する（つまり、単なる相対的な移動情報であり、絶対的な位置情報ではない）。そして、ユーザが、移動デバイスを携帯して歩いており、そして、タイムスタンプ付きの加速度データを伴うデータ構造として利用可能なraw_log_file（生ログファイル）が存在する。この機能は、適合値を提案される位置へ割り当てる。この提案される位置は、一実施形態では、０．０５秒毎のロケーションを伴う経路履歴（path_history）データ構造でのユーザが歩行する位置である。０．０５秒は、秒単位のraw_log_file周期にはリンクしておらず、むしろ経路判定用に選択されるレートで更新する。
【００４８】
def fit function(path history, raw_log_file) :
total_fit = 1.0 # start with 100% fit
for each u in path_history :
total_fit *= 
fit_function_accelerometer(u, raw_log_f ile) 
return total_fit
計算における乗算を回避するために、加算及び対数を代わりに使用することができ、こうして、計算を高速化し、オーバフローの可能性を回避する。そして、加速度計の適合がどのようにして計算されるかを検討する。以下の慣習を使用する。ｕは、その時のモーメントに対応し、u.location()は、その時間に対する特定のｘ、ｙ、ｚであり、u.t()は、タイムスタンプである。同様に、ｐは、経路履歴（path_history）におけるｕに対する従前の推測値であり、この実施形態では、ｐは、時間内の厳密に０．０５秒であるが、より一般的な式が以下で示される。
【００４９】
def fit_function_accelerometer(u, raw_log_file) :
distance = distance(u. location, p.location)
accelerometer_readings =
raw_log_file.get_accel_readings(u.t() - 0.2), u.t())
if at_rest(accelerometer_readings)
return StandardGaussian(distance, sigma_squared=0.01)
else: 
regular_walking_speed = 1.22 meters per second
regular_walking_distance =
regular_walking_speed * (u.t() - p.t())
return Laplace (distance - 
regular_walking_distance, scale = 0.44)
上記で使用される定数は、単なる例示であり、例えば、毎秒１．２２メートルは、加速度計の読取値を直近の０．２秒で参照し、ガウシアン（Gaussian）で０．０１を使用し、そして、０．４４でラプラス（Laplace）を変倍することによるものである。しかしながら、選択される値は、歩行速度についての過去の調査値に対応する。他の実施形態は、万歩計（登録商標）のようなインパルス数／周波数を計数することによってより動的な方法を使用することができる。同様に、ガウシアン関数及びラプラス関数の使用は要求されず、他の関数を代わりに使用することができる。これらの数値は、ポケットに電話を携帯する、電話を手の中で携帯する、自分の前に携帯を置いている場合の一般的な用法でうまく動作するべきである。at_restに対するテストは、以下のものを指し示している。
【００５０】
def at_rest (accelerometer_readings) : 
# input is a time series of accelerometer measurements
return false if there are oscillations in the readings
return true otherwise
この時点で、加速度計だけを使用して、ユーザの経路に対して客がうまく当てはまっているかあるいはあまり当てはまっていないかを判定する方法が提示される。図２に戻ると、ユーザがｔ3で示されるロケーションに存在していて、かつ直近の加速度計データがｔ2とｔ3との間の距離を反映している場合、ｔ7でのロケーションの推測は、ｔ5でのロケーションの推測よりも加速度計の読取値に対してあまりうまくあてはまらない。推測を行うためのプロセスを説明する前に、１つの未規制ＲＦ信号を組み込む例としてＷｉＦｉを組み合わせたものを説明する。
【００５１】
signal_snapshotは、物理的な近所での受信したＷｉＦｉ送信機についての情報をマッピングするデータ構造である。一実施形態では、このマップは、２メートル（２ｍ）正方のグリッド（格子）に分割され、これは、しばしばセルと呼ばれるものであり、マップグリッド内でそれぞれ送信されるものに対して、次のものが付随する。サンプルの平均値、分散値、及び数である。より一般的な実施形態は、（ａ）過去の測定値、例えば、リストを直接、保持する、あるいは、（ｂ）十分な統計値のセットを保持する。サンプルの平均値、分散値及び数の使用は、データをコンパクトにし、そして、新規のデータを更新するために有効である。
【００５２】
fit_functionは、signal_snapshotとＷｉＦｉに基づく調整を含むように修正することができる。
【００５３】
total_fit *= fit_function_wifi (u, raw_log_file, signal_snapshot)
ここでも、乗算を回避するために、対数及び加算を使用することができる。また１つのセンサが別のセンサよりもより精度がある場合、重み付けを適用することができる。選択的には、動的重み付けを適用することができ、これは、例えば、at_rest==trueである場合に、加速度計を際立たせることになる。これは、ＷｉＦｉ読取値が同一のロケーションによるものになることから、そのＷｉＦｉ読取値がより冗長になるからである。fit_function_wifiは、以下のものとして実現することができる。
【００５４】
def fit_function_wifi (u, raw_log_file, signal_snapshot) : 
raw_wifi_readings = raw_log_file.get_wifi_readings (u.t( ))
radio_map_cell = 
signal_snapshot.get_nearest_radio_map_cell(u.location( ))
total fit = 1.0
for each mac_address in raw_wifi_readings : 
expected_wifi = radio_map_cell [mac_address]
measured_signal_strength = raw_wifi_readings [mac_address]
total fit *= 
Rayleigh (measured_signal_strength, expected_wifi.parameters)
return total_fit
この例は、ゲインファクタに対する調整は含んでいない。ここで、ゲインファクタには、例えば、過渡的環境効果、移動デバイス／アンテナの方向、混雑／空き部屋、移動デバイスモデル特有のアンテナ特性、あるいはアンテナに渡るハンドポジションがある。ゲインファクタは、レーリー波計算への入力の調整として、例えば、measured_signal_strengthあるいはexpected_wifi.parametersとして、推測され、そして組み込まれる。現在のsignal_snapshotが現在のセルに対するマップを有しない場合を取り扱うために、get_nearest_radio_map_cellは、隣接する近隣セルを返し、expected_wifi.parametersは、これらの近隣セルとの間の双線補間を返す。他の補間方法も可能であり、例えば、８つの近隣セルによる二次補間も可能である。また、電位におけるレーリー波分布の使用が要求されないかわりに、利点をもたらす。いくつかの実施形態によって選択される他の選択肢は、経験的対数距離経路損失モデルの使用、ｄＢｍにおけるガウシアン分布の使用、ボルト（電圧）におけるナカガミ−リースアン（Nakagami-Ricean）の使用、ルー（Loo）分布（シャドー及びマルチパス用）。
【００５５】
直観的には、signal_snapshotの各グリッド（あるいはセル／正方）は、セルのロケーションにおいて「可視」となる各送信機に対して取り得るＷｉＦｉ信号強度の分布を表現している。図２及び状況２００に戻ると、ユーザがｔ3の位置に立っている場合、無線アクセスポイント２３２−２３８に対する信号強度は、ユーザがｔ7に存在する場合よりもかなり異なって見えるべきである。また、他の未規制ＲＦ送信信号は、例えば、ＲＦＩＤ、ＮＦＣ、ブルートゥースにマッピングされ得る。代替の実施形態では、セルラー信号及び放送ＴＶ／ラジオのような規制信号を使用することもできるが、いくつかの実施形態では、放送ＴＶ／ラジオは、細かいレベルでの有用なロケーション判定を提供するための小距離に渡る分散は小さすぎる場合がある。いくつかの実施形態において、重要なことは、小距離に渡る信号強度の分散は小さく、かつソースが識別できることができることである。それでもなお、ＴＶ／ラジオのような規制信号は、大まかなロケーション識別を支援することができ、また、以下のことについて有用となる。：建物のフロア間を区別すること、２つの異なる部屋（その部屋内の位置とは対照的に）を区別すること、初回測位時間、異常値棄却、及びＧＰＳに対する代替。
【００５６】
どのようにロケーション推測が行われるかを説明する前に、いくつかの機能について説明する。具体的には、先の例におけるfit_functionにおいて、signal_snapshotが既知であるという仮定を取り除き、いくつかの実施形態によって使用される関数に適合するいくつかの追加のセンサを例示する。
【００５７】
def fit_function (path_history, raw_log_file): 
signal_snapshot = new_empty_signal_snapshot()
total fit = 1.0 
for each u in path_history :
total_fit *= fit_function_accelerometer(u, raw_log_file)
total_fit *= fit_function_wifi (u, raw_log_file, signal_snapshot)
signal_snapshot.append (u, raw_log_file)
return total_fit 
ベイジアンフィルタによる概念は、signal_snapshotの内容を判定するために使用される。具体的には、マップの各グリッド（あるいはセル）は、ロケーションにおける過去のＷｉＦｉ観測値に対する平均値及び分散値を記憶する（あるいは総和及びサンプル数による後の除算用の平方和を記憶する）ことだけを必要とする。これは、signal_snapshot.append()に、最新の観測値を有するマップを単に更新することを許容する。
【００５８】
def signal_snapshot.append(u, raw_log_file):
raw_wifi_readings = raw_log_file.get_wifi_readingds(u.t())
radio_map_cell = signal_snapshot.get_nearest_radio_map_cell(u.location( ))
＃  本実施形態では、path_historyは０．０５秒間隔であるが、ｗｉｆｉスキャンは、１．５秒毎に発生する。
【００５９】
if there exists wifi scan between u.t() and prior guess :
＃  この新規のスキャンを追加する。但し、代替として、読取値のリストを記憶する
for each mac_address : 
radio_map_cell [mac_address].sum1 += raw_wifi_readings [mac_address] ** 1
radio_map_cell [mac_address].sum2 += raw_wifi_readings [mac_address] ** 2
radio_map_cell [mac_address ]. N  += 1
こうして、平均値及び分散値、各mac_addressの信号強度の観測値の数が、所与のロケーションに対するシステムによって記憶される。一実施形態では、添付の関数は、ボルト（電圧）とｄＢｍの２つの単位における合計値を保持するように変形される。電圧は、マルチパスフェージングを伴うエリアにおけるロケーション計算に対して有用であり、ｄＢｍは、シャドーフェージングを伴うロケーション計算に対して有用である。いくつかの実施形態は、近隣スナップショットグリッドセルに対してより複雑な調整を使用する場合がある。例えば、各スキャンは、観測値の一部分を、双線重み付け及びＮに対する小数値を伴って寄与する。
【００６０】
いくつかの更なる適合関数を、利用可能なセンサに依存する主要なfit_functionに追加できることを説明する。
【００６１】
ゲインファクタは、例えば、ＷｉＦｉあるいはセルラーアンテナのアンテナゲインを測定する。ゲインは、部屋の中に何人いるか、ユーザが移動デバイスをどのように携帯しているかとに基づいて、大きく変化し得る。一実施形態は、最大ゲインファクタとして、例えば、フラットカットオフ（flat cutoff）とする０．０２ｄｂを設定する。これは、例えば、if abs(p.gain()-u.gain()) then a fit of 0（abs(p.gain()-u.gain())である場合、０のｆｉｔ（適合）である）がリターンされ、かつカットオフａ１ないであることがリターンされる場合である。つまり、新規の推測は、相対的に遅ゲインを示すべきである。fit_function_gain_factorに対する他のリターン値は、より平滑なスコアを示すガウシアン（p.gain()-u.gain(), sigma=0.003）となる。
【００６２】
多くの移動デバイスは、ヘディング（機首方位）を提供することができる、コンパスあるいは他の合成ヘディング推定器を含んでいる。ここでは、このセンサを使用することで、継続する方向での移動を示すロケーションの推測を有利に働かせることができる。
【００６３】
def fit_function_heading(u, raw_log_file) :
guessed_heading = (p.heading() + u.heading())/2.0
t_midpoint = (p.t()+u.t())/2.0
measured_heading = raw_log_file.get_heading_reading(t_midpoint)
return Gaussian(angle_between(guessed_heading, measured_heading)
ヘディング推定では、いくつかの実施形態によって使用されるガウシアンに対する代替は、矩形あるいは三角カーネルを含んでいる。移動デバイスのジャイロスコープを、同様にする使用することができる（ここで、ｑ＝ｐ以前の経路履歴エントリ）。
【００６４】
def fit_function_gyroscope(u, raw_log_file) :
initial_heading = direction vector from q.location() to p.location()
final_heading = direction vector from p.location to u.location()
timespan = u.t() - q.t()
guessed_rotation = angle between initial/final headings 
measured_rotation = row_log_file.get_gyroscope_readings (q.t(), u.t())
return Gaussian (guessed_rotation -
measured_rotation, sigma_squared = timespan)
ジャイロスコープのいくつかの実施形態は、サーチ機能（後述する）が適切値をサーチすることを可能にするために、ジャイロスコープに推測バイアスをかけることができる。推測バイアスを伴う同様の方法を、同様に、コンパスデータに適用することができる。
【００６５】
磁気探知機（コンパスとは異なる）は、屋内の特徴に敏感にすることができ、また、ジャイロスコープがなくても特に有効に機能することができる。磁力探知機は、また、特定の正常な移動／静止識別機能とすることができる。以下のことは一実施形態であり、他の実施形態を、以下のジャイロスコープ機能と同様に実現される。
【００６６】
def fit_function_magnetometer (u, raw_log_file) :
rotation = angle between p.heading() and u. heading()
magnetometer readings = raw_log_file.get_mag_readings (p.t(), u.t())
if magnetometer readings steady /unchanging : 
return 
StandardGaussian(rotation, sigma_squared=0.001 radians) 
else 
return 1.0
概念的には、ユーザが歩行していない場合である定常状態では、「適合（fit）」は、ユーザが直進している場合が最適である。ユーザが歩いたり、電話を回したり等の変化がある場合、ａ  ｆｉｔ  ｏｆ  １（１の適合）がリターンされ、ローテンション非制約状態を解除する。但し、電話の移動は、体の移動とは相関させないようにすることができる。例えば、ユーザは、自身の体を動かすことなく、自身の電話を回転させることができる。
【００６７】
ＧＰＳ適合関数は、ガウシアン（gps_location at u.t(), gps_confidence_interval at u.t()）とすることができる。高度ＷｉＦｉシステム及び飛行時間計測システムからの、赤外線時差到達推定値のような、他の時間測距信号を同様に組み込むことができる。
【００６８】
空間を歩行可能であるかどうかを意味する占有状態は、特に、有用である。いくつかの実施形態では、占有状態情報は、暗黙的に、signal_snapshotを介して交換される。特に、signal_snapshotの各格子（グリッド）は、５０％から開始する、０から１００％の占有状態値に帰する。ログデータが収集されるので、信号スナップショットは、どのエリアが歩行可能であるかどうかを評価することを開始して、占有状態値を調整することができる。同様の形式で、旧経路はデッドスペースに識別する。一実施形態では、占有状態マップを、ロケーション用のraw_log_filesを使用して計算される旧経路から生成することができる。占有状態マップは、ステップ３２０でダウンロードすることができる。更に別の実施形態では、同様の形式で、より一般的な歩行エリアを識別する歩行者通行マップを保持することができる。
【００６９】
ブルートゥース及び、ＮＦＣ／ＲＦＩＤ、Ｚｉｇｂｅｅ（登録商標）、クロス−フォンＷｉＦｉ検出のような他の短距離無線技術は、以下の基本的な方法で使用することができる（また、図示のブルートゥースプロセスは、ロケーションシステム１２０との更なる通信、あるいは計算用のピアツーピアによる移動デバイス間の直接通信に使用する）。
【００７０】
def fit_function_bluetooth(u1, u2, raw_log_file1, raw_log_file2) :
visible_bluetooth_devices1 = raw_logfile1.get_bluetooth_detects(u1.t())
visible_bluetooth_devices2 = raw_logfile1.get_bluetooth_detects(u2.t())
if user1 in user2's visible list and user2 in user1's visible list then:
＃  ユーザは互いに近接している
return Gaussian (distance
between u1.location() and u2.location(), sigma=3.5 meters)
else:
return 1.0 - Gaussian (distance between u1.location() and
u2.location(), sigma=3.5 meters)
いくつかの実施形態は、ユーザ間の距離を推定するために、３．５メートル以外の値、及びブルートゥース信号強度の少なくとも一方を使用する。
【００７１】
ステップ３３０で使用される適合関数は、ロケーション判定で使用するために移動デバイス上の様々なセンサを評価するために使用することができるＷｉＦｉのような未規制ＲＦ送信信号の信号スナップショットを作成するためのプロセスとともに説明している。次のセクションは、ユーザのロケーションを判定するために、適合情報を使用するためのサーチ方法を説明する。
【００７２】
サーチ機能
サーチプロセスでは、線形時間の選択された適合関数で与えられるbest-fitting path_historyを検出することに着目する。提案の方法は、最終的には、逐次重要リサンプリングを使用する。この適合関数は、逐次計算用、例えば、経路履歴（path_history）に従う「推測」用に設計されているので、total_fitは、年代順にかつ増加的に累積される。これは、経路履歴（path_history）を、１つの推測を年代順に作成することによって繰り返し生成することを可能にする。そして、各ステップで、増分適合スコアと、選択される上位のいくつかと比較する必要がある。これは、最長（欲張り）サーチプロセス（greedy search process）をもたらすことになる。
【００７３】
def search_simple(raw_log_file, signal_snapshot) :
hypothesis [0...499] = all empty path
histories # make 500 empty path_histories
for t = earliest timestamp to last timestamp in 0.05s increments
weights [0...499] = all 1.0 # 500 total fit values
for i = 0 to 499 :
next_guess = make a guess for
timestamp t in a uniformly random fashion
hypothesis[i].append (next_guess)
w = run one iteration of
fit function() to get incremental fitness
weights[i] *= w
resample hypothesis by weights
この方法の改良型は、不規則（ランダム）推測用の提案分布群を選択することから由来する。１つの方法は、完全な不規則ロケーションに対するより高い尤度のエリアに直目し、そうすることで、内部ループ内の符号（コード）は、next_guess = sample from Gaussian (hypothesis[i].prev_guess.location(), sigma=5m) and weights[i] *= w/Probsample(next_guess)となる。
【００７４】
他のインスタンスでは、等価分布をサンプリングすることによって、センサ（例えば、加速度計）の適合関数の計算を回避することができる。例えば、加速度計を使用すると、if at_rest == trueであり、先の適合関数を与えられると、Gaussian(distance, sigma_squared=0.01)に合致することになる。むしろ、推測をサンプリングし、そして、適合を評価すると、次の推測は、分布であるGaussian(distance, sigma_squared=0.01)から直接選択することができる。これを実現するための方法の１つは、sigma_squared=0.01に従う不規則ガウシアン距離を生成し、次の推測を、先行推測（prev_guess）からのその距離に設定することである。自身の適合関数に等価な分布をサンプリングする場合、更なる簡略化を行うことができる。なぜなら、w == Probsample(next guess)であり、weights[i] *= w/Probsample(next_guess)を更新する必要性を取り除くからである。
【００７５】
simple_search()（単純サーチ）は見かけによらず単純であり、ステップ３３０で、raw_log_filesとsignal_snapshotから経路履歴（path_history）を繰り返して生成する時に、数百の（合理的な）推測値を高速にテストし、ステップ３４０で、ユーザに現在のロケーションを表示することを可能にする。テスト前提条件の数である５００は、計算時間、電力使用、精度及び応答性を調和させるために、今日の移動デバイスにおける処理能力に基づいて選択されている。将来のデバイスをテストするための前提条件の数は、大きくなる場合もあれば、小さくなる場合もある。例えば、将来のデバイスにおけるより大きな計算能力は、より少ない推論でより複雑な解析を可能にするとともに、より良好な結果をもたらすことができる。同様に、経路を更新するための０．０５秒のサンプリング間隔と、更新されたＷｉＦｉ（あるいは、他の未規制ＲＦ送信信号／送信機）をスキャンするための１．５秒のサンプリング間隔は、同一のトレードオフに基づいていて、そして、同様に調整することができる。
【００７６】
更なる信号マップの改良
信号スナップショットに対する更なる最適化及び改良が可能であり、これは、いくつかの実施形態に従って使用される。まず、制限された観測データの取り扱いについて検討する。ここでは、例えば、図２のロケーション２２０に最初に訪問する際の観測データの取り扱いについて検討し、signal_snapshotに最小のデータが存在するとする。この状況では、実経路２５０を歩いていくことをユーザが開始するので、signal_snapshotは、データの累積を開始するが、多くのグリッドセルは空きであり、N==0である。
【００７７】
１つの方法は、空きセルに対する推定平均値及び推定分散値を計算することである。これは、一実施形態では、以下のように実行される。まず、global_prior（グローバル事前分布）が計算される（あるいは、例えば、ロケーションシステム１２０から取得される）。グローバル事前分布（global_prior）は、利用可能なすべてのraw_log_filesにおける、すべてのｄＢｍ値のグローバル平均値及びグローバル分散値として計算することができる。空きセル用のradio_map_cell[mac_address]パラメータは、このglobal_priorで初期化することができる。どのログファイルを使用するかの選択は、実装固有ものであり、いくつかの実施形態は、利用可能なログファイルをすべて使用する。一方、他の実施形態は、利用可能なログファイルのサブセットを使用することができる。このサブセットとは、利用可能なすべてのログファイルを、ユーザ、移動デバイス、一般的なロケーション用にフィルタ処理したものである。global_priorに代えて、１つのセルからの実際の観測値を、近隣セルで使用することができる。これは、そのデータを利用可能となるからである。これらのセルの平均値と分散値を調整することは、近接近隣に基づく補間のタイプである。一実施形態は、最大距離、例えば、５メートルまでに、観測値の伝播を制限している。また、いくつかの実施形態は、ｄＢｍの線形減衰に対して、１／ｖｏｌｔｓ（ボルト）の単位で表示される対減衰関数（counterintuitive decat funciton）を使用する。他の十分な統計的手法に、例えば、メジアン、平均二乗値の平方根を使用することができる。
【００７８】
ユニット（単位）で選択する理由は、局所的に信号強度がログ距離経路損失モデルに従うという仮定によるものである。補間は、Ｗａｔｔｓ＊＊（−１．０／γ）の単位での平均関数である。ここで、γは、無線経路損失指数である。近接範囲内での空き空間を有するエリアに対しては、γ＝２．０を使用することができる。signal_snapshotはボルトの単位で維持され、計算用に平均値及び分散値を１／ｖｏｌｔｓに変換し、そうすることで、結果、単純となる。
【００７９】
加えて、いくつかの実施形態は、signal_snapshotにおける各セルにα値を割り当てる。観測セルのこのα値は１．０であり、最近接観測値から３セル以上離れている「空きル」セル用のα値は、０．０である。観測セルに近いセルは、観測値により近いセルよりも高いα値を有している。０．７のα値を有するセルは、７０％の重みで自身の補間信号強度を獲得することになる。残りの重みは、均一事前分布、グローバル事前分布（global_prior）、汎用分布、アクセスポイントからの距離に基づくヒューリスティック、ログ−距離経路損失モデルに基づくヒューリスティックのセットから選択することができる。観測値による距離に基づくαの減少（フォールオフ）は、窓関数として実現され、例えば、方形窓（Ｅｐａｎｅｃｈｎｉｋｏｖ）、三角窓、定常／矩形窓がある。
【００８０】
以下の説明では、signal_snapshotにおけるセル形状は、正方形の均一グリッド（格子）であると想定する。しかしながら、他のセル形状が、他の実施形態によって使用され、これには、信号強度が最強の場所を中心にしたｌｏｇ−ｐｏｌａｒセル、信号強度が最大勾配となる場所を中心にしたｌｏｇ−ｐｏｌａｒセル、不均一なサイズの正方形セルがある。例えば、一様でない正方形セルを実現するために、いくつかの実施形態は、より小さいセルに分割される単一のセルグリッドで開始する。これは、十分なＷｉＦｉ観測値が受信され、例えば、各セルが少なくともＮ個の観測値を有することを保証するからである。
【００８１】
更なる改善特徴サーチ
ここからは、いくつかの実施形態によって使用される、適合関数、サーチストラテジー、及び信号マップの改善について説明する。いくつかの実施形態によって使用される別の技術は、より大規模なログファイルの収集物を最適化し、そして、サーチすることで、より良好なスナップショットを構築する。図３の説明では、オプションのステップ（ステップ３２０、及びステップ３６０）に及んでいて、ここでは、データが移動デバイスからロケーションシステム１２０へと送信され、かつ返信されている。
【００８２】
上述のように、移動デバイス１３１へ送信されるものの１つにはsignal_snapshotがあり、また、ロケーションシステム１２０へ送信されるものの１つにはraw_log_filesがある。１つの最適化技術については図４で説明され、これは、一実施形態に従うロケーション判定プロセスの改良版に対する図である。加えて、図４は、サーバ、例えば、ロケーションシステム１２０で発生する複数のデバイスからの処理を伴うクライアント−サーバタイプを使用する状況で説明される。いくつかの実施形態では、図４のプロセスは、１つの移動デバイスからの複数のログファイル、及び他の移動デバイスから受信される更なるログファイルの少なくとも一方を使用して、その１つの移動デバイス上で実行される。そのような実施形態では、図４のプロセスは、ロケーションソフトウェア１５９によって実行される。
【００８３】
上述のsignal_snapshotデータ構造に戻ると、１つの実施形態に従う追加の機能が説明される。この１つの実施形態では、クラウドソーシング（corudsourcing）、自己回復作用（signal_snapshotの変化に応じて）、及びリアルタイムローカライゼーションを容易に可能にする。いくつかの実施形態は、処理負荷、ネットワーク帯域幅、移動デバイスにおける応答時間を削減するために、ロケーションシステム１２０上でこれらの機能のいくつかあるいは一部を実行することができる。加えて、ユーザに対してより良好なロケーション判定を提供することに加えて、サーバ上でこの情報を処理することは、企業分析を提供することができる。具体的には、複数の訪問（異なるユーザ、異なるデバイス）からのraw_log_filesを集約することによって、大規模データベースの読取値に渡る統合推測が可能である。具体的には、raw_log_filesが時系列順で配置されている場合、fit_functionが時系列順の各推測値に対して計算される。fit_functionが繰り返されている間は、システムは、signal_snapshotの累積を継続し、また、将来の繰り返し用に、最新の累積signal_snapshotを使用して継続する。実装用に、いくつかの実施形態は、ステップ３６０で、raw_log_filesをアップロードし、ステップ３２０で、signal_snapshotsをダウンロードする。
【００８４】
図４は、ロケーションから、測定値のストリーム、例えば、raw_log_filesを収集するステップ４１０で開始する。例えば、複数の移動デバイス（及びそのユーザ）がロケーション２２０を訪問する場合、利用可能な多数のraw_log_filesが存在する場合がある。これらの測定値のストリームのいくつかは、単一のユーザ／移動デバイスからのものである場合がある。例えば、食料品店の例において、ユーザ２１０が従業員である場合、その従業員が、利用可能な測定値のストリームの大部分を占めている場合がある。プロセス４００は、以下で詳細に説明する実施形態を使用して、測定値のストリームの解析を伴うステップ４２０を継続する。１つの実施形態では、ステップ４２０は、raw_log_filesに対する確率座標上昇のアプリケーションを通じて達成される。これは、自己誘導機械学習のアプリケーションと見なすことができる。ステップ４２０の結果は、ステップ４３０で生成されるsignal_snapshotの更新版となる。
【００８５】
ステップ４２０の詳細に戻ると、上述のsimple_search()方法の変形を使用して、良好なsignal_snapshotを構築するために使用することができる。ステップ４２０で、上述のsimple_search()を、時系列順のraw_log_filesそれぞれについて実行することができる。他の順序を利用することが可能であり、これには、例えば、最新のものを最初に実行する、最長の持続時間のものを最初に実行する、最も信頼性のある寄与するもの（例えば、過去の履歴に基づく）を、最もユーザと対話しているものとともに最初に実行する等がある。
【００８６】
この初期化の最後には、raw_log_fileそれぞれに対する１つの経路が、simple_search()の実行用の最大重み、例えば、best_hypothesis_so_far[logfileID]となる。次に、各「次元」の逐次改善が発生し得る。この例では、次のものを使用して、データベースは、ログファイルの集合を参照する。
【００８７】
def optimize (best_hypothesis_so_far, database) :
for each i in dimensions :
signal_snapshot.append(best_hypothisis_so_far[1..(i-1)])
best_hypothisis_so_far[i] =
search_simple(database[i], signal_snapshot)
ループが実行される順序は、実装専用であり、例えば、降順／昇順の時系列順序、ランダム等がある。図示されるように、simple_search()を再実行するためのsignal_snapshotを構築するために、ｉまでの調査次元のすべてが使用される。上述の符号（コード）は信号スナップショット（signal_snapshot）１．．．ｉ−１を付加しながら、より一般的には、これは、座標上昇を実行する場合、すべてｅｘｃｅｐｔ  ｉ（ｉ以外）となる。ここで、サーバで実行される場合には、移動デバイス上でsimple_search()が実行される場合に比べて、より複雑な計算及びより大きなサーチ空間、例えば、５００以上の少なくとも一方が使用されることになることに注意されたい。
【００８８】
更なる改良型には、異常値棄却技術をデータに適用することを含んでいる。自己矛盾のない異常値のグループは、建物の異なるフロア（階）のようなものであり、また、これは、個別のsignal_snapshotに分けることができる、及び／あるいは、適宜、ログファイルの集合とすることができる。この能力は、いくつかの実施形態では、多層屋内環境の改善策を提供する。単独の異常値は、移動している／除去されている送信機を含んでいて、データから除去されているもの、及び／あるいは、ログファイル全体が判断対象から除外されているものである。例えば、ＷｉＦｉ環境における個別変化が発生している場合、システムは、ある時点のある地点以降では、ログが、首尾一貫してより低い尤度となり、また、その時点の前の時点に比べて悪化することになることを検出することになる。
【００８９】
ＷｉＦｉ環境は規制されていないので、あるいは即興のものであるので、この環境は定期的に変化する可能性がある。その理由としては、一定の期間後、例えば、３−６か月後に、古いログファイルを破棄することが要望される場合がある。いくつかの実施形態では、大量のより新しいログファイルを有しているロケーション内のより古いログファイルは、より少ないログファイルを有するロケーションよりもより早く廃棄される。つまり、例えば、図２のロケーション２２０が、毎日、数ダースのログファイルが生成されている頻繁な訪問がある食料品店である場合、３か月以上の古いファイルの価値は、数か月毎に１回しか訪問されないロケーションに対してより低くなり、これは、より長期間のログファイルを保存するために有用な場合がある。
【００９０】
例示及び更なる議論
上述の図３−図４のプロセスは、図２の状況２００と、図５−図６の状況の例のコンテキストで示され、ここでは、状況２００の変形におけるロケーション判定プロセスの実施形態による例示の結果を示している。具体的には、図５は、図２と同様に、ユーザ２１０、移動体１３１、及び除外される関連要素、及び図示の計算経路５１０を伴う状況５００を示している。同様に、図６は、図５のような状況６００を示していて、図２の要素を省略するとともに、代替の計算経路６１０を示している。図５−図６においては、計算経路は、ｔ0からｔ7における計算済ロケーションを示すｃ0からｃ7の添え字で示されている。
【００９１】
ここでの議論では、ロケーション２２０は食料品店であり、障害物２２２−２２２８は食料品店の通路と棚である。ここでの説明では、ロケーションシステム１２０は、例えば、企業情報１１２あるいは公共ウェブサイト、例えば、クラウドソーシングによるマップウェブサイトから、例えば、プロセス３００のステップ３２０における、食料品店の縮尺あるいは概略縮尺マップ（地図）を、移動体１３１へ提供する。図５の説明では、ロケーションシステム１２０と移動体１３１で利用可能な信号スナップショットは存在せず、また、ロケーション２２０へ初めて訪問するものと想定している。
【００９２】
移動体１３１は、１．５秒毎に信号スナップショット（例えば、signal_snapshotデータ構造）を作成し、更新し、移動体１３１において加速度計が使用されることになる。この例では、移動体１３１は、ステップ３３０で、まず、測定値の収集を開始し、ステップ３２０で、マップを取得するために使用されるＧＰＳに基づいて、ユーザに、マップ上でユーザが存在する場所をタッチすることを指示する（ステップ３５０）。この特定の例では、経路に方向を合わせるために、いくつかの追加の入力が要求されることになる。追加の入力がなく、このロケーションへの最初の訪問であり、かつsignal_snapshotがロケーション専用情報を欠いているならば、この経路は方向を欠くことになる。追加の入力は、センサから、例えば、コンパスヘディングから、第２のユーザタッチから、例えば、対面するあるいは「私は今ここにいます」の２〜３秒後に得られる。ロケーションは、実際のロケーションｔ0に対するｃ0として示される。ここで、入力を受信する前に最初に表示されるロケーションは、ディスプレイの他の場所でも良い（ステップ３４０）が、最初の「固定されていない」ロケーションは、図５では示されていないことに注意されたい。
【００９３】
ユーザがｔ0からｔ1に沿って歩行すると、ログファイルが保持され、そして、信号スナップショットが構築される。信号スナップショットは、無線アクセスポイント２３２−２３８からの受信済のＷｉＦｉ送信信号を反映するものである。ｃ0からｃ1への計算経路５１０と、実経路２５０との間の偏差は、ログデータに対する最良適合である、選択された推測値を反映するものである。状況５００では、このロケーションを訪問することがないので、占有データ（例えば、障害物２２２−２２８は、プロセスによって使用可能なフォーマットには反映されない）は存在せず、また、事前に存在する信号スナップショットも存在しない。
【００９４】
これに対して、状況６００を備える図６は、計算経路６１０（ここでも、ｃ0からｃ7の添え字を備える）を示していて、これは、実経路により厳密に適合している。状況６００は、ログファイルを解析し、そして、より有用な信号スナップショットを導出するために、図４のプロセス５００のようなプロセスが使用される場所に、より多くの訪問がなされた後の状況を反映している。この例では、移動デバイス（エンドポイント１３０）を携帯する五百人の顧客が、ロケーションシステム１２０へログファイルを送信するロケーションソフトウェア１５９を伴うロケーション２２０を訪問している。プロセス４００は、複数の読取値に基づく条件をより考慮している信号マップを構築するために使用されるものである。この信号マップは、ユーザのロケーションをより正確に判定するために、状況６００における移動体１３１によって使用することができる。加えて、ユーザ入力がｃ0を見つけるために必要とされる場合がある状況５００と比べて、状況６００では、認識可能なＷｉＦｉ  ＭＡＣアドレスと信号強度との組み合わせは、最初のロケーション判定に対してはおそらく十分である。
【００９５】
２つの結果を対比することは有用である。状況５００では、計算経路５１０は、実経路２５０と多くの特徴を共有する一方で、状況６００では、計算経路６１０は、実経路２５０をより厳密に追跡する。状況５００では、ＧＰＳ及びユーザ入力の少なくとも一方が、最初のロケーション判定に対して有用であるのに対して、状況６００ではそれは不要である。この２つの状況の間のその他の違いは、より大きな信頼性、及び状況５００と状況６００との間での非ＷｉＦｉ適合関数の重み付けの少なくとも一方を含む場合がある。具体的には、状況５００では、慣性センサ（例えば、加速度計、コンパス、ジャイロスコープ、ヘッディング、及びその類）が、適切な信号スナップショットが構築されるまでは、特に、重要となる場合がある。選択的には、慣性センサの代わりに、占有マップ及びユーザ入力、例えば、「ここにいます」の少なくとも一方が、新規に展開する信号スナップショットを補足するために使用することができる。状況５００は、そのロケーションについて前提条件が課されないという事実を強調するものである。無線アクセスポイント２３２−２３８のロケーションについての情報が要求されず、また、この例でマップを使用することは、説明及び略図の便宜のみのものである。注目すべきことは、単一のユーザだけが、データを収集し、そして、完全にオフラインにしている場合でさえも、信号スナップショットは追加の訪問によって改善されるので、過去及び将来のロケーション判定は、時間とともにより改善される。ロケーションへの最初の訪問／コールドスタートを改善することができる他の実施形態は、意図する歩行経路を提供することを含んでいる。これには、例えば、ユーザが、店舗を通る自身の計画経路を描画することがある。
【００９６】
状況６００では、ロケーションシステム１２０に対して、従前の訪問先とログファイルに基づいて占有マップを作成することを可能にすることができる。例えば、店舗を通過する５００経路を介して、障害物２２２が存在する場所をだれも歩行していない場合、その障害物２２２は、移動デバイスにおける適合関数への入力として使用する、占有空間／歩行不可能としてブロックすることができる。
【００９７】
より詳細な履歴を伴うロケーションは、サンプリングレートの変更を可能にすることができる。例えば、定期的に何万もの訪問がある環境の場合、精度を維持しながら、電力を節約するために移動デバイスにおけるサンプリング周波数を提言することができる。頻繁な訪問があるロケーションでさえも、そのロケーションのいくつかの部分は、残りの部分よりも、より少ない頻度で訪問される可能性がある。そのため、データを維持するために、例えば、ロケーションのよりトラフィックが少ない部分が、より頻繁に訪問されるエリアよりもより長いデータのストリームを有することを保証することの選択を適用することができる。
【００９８】
結論及び更なる実施形態
ここでは、移動体ロケーション判定を改善するシステム及びプロセスを説明している。
【００９９】
いくつかの更なる実施形態及び特徴は、以下のことを含んでいる。
【０１００】
●グループでショッピング／旅行する場合に、あなたの随行者あるいはあなたの友人の他のメンバの、リアルタイムの及び過去のロケーションを確認して、かつ共有することを可能にすること
●写真を撮るあるいは見る場合に、写真に位置情報をタグ付けすること、また、対話形式で、１−３ｍの高い精度で、２次元平面図あるいは３次元環境に投影される写真を視覚的に閲覧することを可能にすること
●インタラクティブゲーム及び拡張現実、例えば、
○オーディオ、及び／あるいは、ビデオキュー、及び／あるいは、ゲーム内のイベントを、アプリケーションのコンテキストに結び付けられているロケーションに基づいて、自動的にユーザにディスパッチすることができる。
【０１０１】
○ユーザが特定の関心点に進入するときはいつでも自動チェックインすること
○ロケーションシステム（例えば、ロケーションシステム１２０）及び／あるいは記憶装置（記憶装置１２２）にまだ追加されていないロケーションにおけるロー（生）ログファイルをキャプチャするための、報酬、スコアボード、あるいは他のインセンティブ
●商店街、病院、空港、及び他の同様の場所において、
○特定の店、休憩室、ゲート、乗継便、受付、あるいは他の関心地点への経路を検出すること、
○チェックアウト、切符売り場、チェックイン、手荷物検査のためのより短い列を識別するための行列検出を含む、ロケーションベースのサーチあるいはショップとのリアルタイム対話
○施設及び建物のオペレータが、歩行者ロケーションデータ分析を使用することができる。これは、テナント賃貸最適化を含む要望計画用の看板及び印刷マップ（地図）の効率性を測定すること、あるいは、トラフィックパターンに基づいて、物理的な広告スペース及びデジタル看板の効率性を測定することを容易にすることができる。
【０１０２】
○一定の概略位置における顧客だけに的を絞った警告、提案あるいはメッセージの発行
○あるロケーションで、メッセージ、提案、警告を残すこと、そうすることで、だれかがそのロケーションを歩行する場合にのみそのメッセージがトリガーされる（第１の時間の間、常に、等）。ロケーションに従って、このトリガーは、日時、他人のロケーション、及び他のアプリケーションのコンテキストの少なくとの１つと組み合わせて、いつ情報を表示するかを判定することもできる。
【０１０３】
●博物館の実施形態で提示することができる、いくつかの更なる特徴は、次のことを含んでいる。
【０１０４】
○展示会をどの経路で通過するかに基づいて自身のコンテンツをカスタマイズするリアルタイムのあるいは過去のロケーションに基づくインタラクティブオーディオ／ビデオツアー、及び／あるいは関連する展示会へのインタラクティブガイド
○ロケーションベースの統計、リアルタイムのあるいは過去の解析：例えば、「この展示会に最も多く費やされた時間の人物層」、「この展示会は、この時間で最も人気がある」、「その展示会は、現在最短待機時間である」
○「支援機能用の呼出」は、ユーザのロケーションに最も近いスタッフメンバへ警告する
●病院の実施形態で提示することができる、いくつかの更なる特徴は、次のことを含んでいる。
【０１０５】
○あなたの友人、親愛なる人、あるいはあなたの随行者の他のメンバのリアルタイムのロケーションを追跡すること、あなたのロケーションを付近のスタッフメンバへブロードキャストすること、患者及び訪問者のサーチ、ナビゲーション及び状況対話
○医者、看護師、及び他のスタッフメンバ用のロケーションベースの座標ツール
○巡回及びスケジュールの統合
○患者介護用のロケーションモニタリング
●オフィス及びキャンパスの実施形態で提示することができる、いくつかの更なる特徴は、次のことを含んでいる。
【０１０６】
○どの共用部屋、例えば、会議室あるいは研究室が使用中であるか否かのリアルタイム表示、利用可能な最も近い共用部屋への音声案内によるナビゲーション、共用部屋の使用についての過去の及びリアルタイムの解析、例えば、一日の中での最大及び最低の使用回数
○少なくとも一人のメンバがまだ存在していない場合のミーティング時間中に、参加者のリアルタイムロケーションをブロードキャストし、受信し、共有すること
○インタラクティブレポート、例えば、「この部屋の電球は切れている」
●ロケーション解析の実施形態で提示することができる、いくつかの更なる特徴は、次のことを含んでいる。
【０１０７】
○ケーススタディ及びユーザリサーチ：ユーザの訪問のニュアンスを学習するために、店舗を通行する無匿名のユーザの経路を再生する
○統合マーケティング最適化：例えば、コアメトリクスあるいはグーグル解析のような既存の解析エンジンにおける解析用に、移動体ロケーション及び対話イベントの少なくとも一方をウェブイベント、あるいはその等価物に変換すること
●基礎となるチーム調整の実施形態で提示することができる、いくつかの更なる特徴は、次のことを含んでいる。
【０１０８】
○セキュリティチーム、救急隊、クリーニングスタッフ、門番、ツアーガイド、及び他の基礎となるチームに対するリアルタイム調整
○コンテキストに基づく支援、例えば、「この部屋のヒューズボックスはそこです」
●加えて、ロケーション追跡に注目するいくつかの実施形態は、次のことを含んでいても良い。
【０１０９】
○私物、ペット及び幼児の追跡
○Ｅ９１１あるいはＡＧＰＳ拡張に制限されないことを含む、セーフティアプリケーション
○全商品及び備品の少なくとも一方の追跡、例えば、倉庫、工場、病院
●前もって平面図を提供すること以外に、いくつかの実施形態は、以下のことに基づいて、あるいは対話を通じて、推定平面図の自動作成をサポートすることができる。
【０１１０】
○歩行／移動パターン、例えば、決して歩行することのないエリアは、壁、家具、あるいは他の障害物である可能性が高い；頻繁に歩行するエリアは、部屋あるいは廊下の障害物がない空き空間である可能性が高い
○急峻な信号強度の降下の垂直領域は、壁及び家具のような障害物になる傾向がある
○関心地点及び他の有意なロケーションは手動でタグ付けすることができる、例えば、タイムスタンプ、位置、写真から、
●他の実施形態は、競技場、アリーナ、ホテル、クルーズ船、及びカジノの少なくとも１つに対する、状況（コンテキスト）、ロケーション駆動型情報を提供することができる。
【０１１１】
●いくつかの実施形態は、以下のことを含むプロキシミティ（近接度）に基づくソーシャルアプリケーションを提供する
○プロキシミティに密接してどのくらい時間を費やしたかに基づいて、関係を自動的に形成するあるいは解消する、あるいは関係、及び／あるいはグループ／サークルの強度を調整する、ソーシャルネットワーク
○プロキシミティに基づくペアリングと通信を行う情報交換デバイス、例えば、デバイス間の直接通信あるいはバンプすることを必要としない「バンプアプリケーション」を提供すること
○自身の時間を費やした場所と結び付けられている関心に基づく人物発見、例えば、ソーシャル日付決定アプリケーションは、同一の公園を定期的に訪問している人物を組にする、あるいは会議での食事用にグループの組をつくるために何らかのアプリケーションを伴って食事をする人物を組にする
●いくつかの実施形態は、例えば、「自分の家」のような個別感知ツール、及び自己認識ツール用の解析を提供することができる。
【０１１２】
○これは、一般に頻繁に訪問されるロケーションのリストを表示することを含んでいる。特徴としては、「ｉｎ（入る）」あるいは「ｏｕｔ（出る）」、及び、ロケーションコンテキストから自動的に判定される「ｉｎ」あるいは「ｏｕｔ」を伴う最新の入場／出場からの時間を表示するインジケータを含むことができる。
【０１１３】
○「自身についての学習」機能は、データ収集ユーティリティとしてパーソナル移動デバイスを使用することを含むことができる。このデバイスは、アクティブであり、かつほとんどの時間、そのユーザの近くにあるので、自身についての情報のログをとることができる。
【０１１４】
■信号スナップショットとログを記録して、新規のロケーションへいつ進入したか、そして、過去のロケーションへいつ再訪問したかを判定するために、それらを比較することができる。
【０１１５】
■新規の信号スナップショットを、例えば、「ミーティングルームＡ」にタグ付けすることができる。
【０１１６】
■データは、次のことを含む解析を提供するために解析することができる。：「今日」のロケーションで費やされる時間、ロケーションで費やされる総時間、旧／新／すべてのロケーションで取られるステップ数、燃焼カロリー数、このロケーションで時間を費やしている他の人物、どのくらいの頻度で「ミーティングルームＡ」が使用されているか、冒険心の定性レーティング。
【０１１７】
●いくつかの実施形態は、以下のことを含む、例えば、視覚障害者のようなユーザに対する支援技術を提供することができる。
【０１１８】
○アプリケーションのコンテキスト、自身の正確なロケーション、及びユーザがどの方向に機首方位（ヘディング）を示しているかに基づいて、オーディオキュー（音声合図）、方向、及び情報を提供すること。これは、専用のナビゲーションあるいは一般ガイドを提供するように機能することができる。
【０１１９】
○そのロケーションへいつもどるか、そこへ近づくか、あるいはそこを離れるかについての警告を伴う前に、事前に訪問しているロケーションのログをとること、及び／あるいはタグを付けること。
【０１２０】
●いくつかの実施形態は、以下のことを含むモニタリング及び義務に着目している。
【０１２１】
○滑って転ぶ：アクシデントが発生する前に、従業員が既に危険なエリアについて対処しているかどうかを検証するためのロケーション追跡
○セキュリティサービス：いつ警備員が、最近に事件の現場を調査しているかを検証するためためのロケーション追跡
●いくつかの実施形態は、以下のことを含むロケーションに基づく、コンテキストリモートコントロールを提供する。
【０１２２】
○カスタマイズ及び／あるいは動的ボタン及び行動を有する、ＴＶ部屋、書斎、あるいは台所にいるかどうかに基づく、パーソナライズリモートコントロールインタフェース
○デバイスに対するプロキシミティに応答する他のデバイスのコントロール（例えば、車のドアの解除、ステレオから音楽を流す）
○自身のいる部屋のタイプが、例えば、居間なのか寝室なのか、教室なのか図書室なのかと、及びアプリケーションのコンテキストに基づく、アラーム、リマインダー、及び電話設定（例えば、バイブレーションとサイレント）。
【０１２３】
●いくつかの実施形態は、以下のことを含む、送信機及び受信機の少なくとも一方の信号強度及びロケーションの少なくとも一方の直接対話及び視覚化を提供することができる。
【０１２４】
○無線通信範囲及びパフォーマンスのモニタリング、デッドゾーン等を識別する等
○送信機及び受信機の少なくとも一方の位置決定
○新規のアクセスポイントを追加するためのロケーション勧告
●いくつかの実施形態は、例えば、都市の谷間のようなＧＰＳサービスが貧弱となるエリアにおける車両位置決め及びナビゲーションの少なくとも一方のためのあるいは、歩行者用のためのＧＰＳ代替として機能することができる。
【０１２５】
●いくつかの実施形態は、自身の生ログファイル、適合機能、サンプリング機能、及びキャプチャされ判定された後の結果として得られる信号スナップショットに関する、生成された経路履歴のすべてあるいは一部を、インポートすること、エクスポートすること、閲覧すること、修正すること、及び解析することの少なくとも１つのためのアプリケーションを含んでいる。このような実施形態は、次のことを含むことができる。
【０１２６】
○ログファイル、制約あるいはデータ地点が変更される／追加される／除去される場合に、リアルタイムで、及び／あるいは、対話形式で、信号スナップショット及び経路履歴の少なくとも一方を再生成すること
○ロケーションデータに対する平面図あるいは企業情報を、自動的にあるいは対話形式で、整列すること、解析すること、あるいは表示すること
○特定のデータセットのコンテキストにおける適合機能及びサンプリング機能の少なくとも一方の視覚化
●本明細書で説明される改良された移動体ロケーションシステムは、他の移動体アプリケーション、意図、及びユーザがロケーションへ進入するあるいはロケーションから離脱するような行動の少なくとも１つを行うことによって、シームレスでかつ総合的なロケーション経験を提供することができる。
【０１２７】
●いくつかの実施形態では、本明細書で説明される方法は、サーバ側から「フリップされ」かつ実行される。つまり、ロケーション判定は、移動デバイス自身で行われる計測に対して、サーバと通信接続される送信機及び受信機の少なくとも一方からの信号情報を使用してサーバ上で発生する。
【０１２８】
●いくつかの実施形態では、判定されたロケーションは、以下のように表現される：
○例えば、信頼区間を示す、確率的あるいは経験則的なエリア／領域
○最も近い関心地点あるいは論理ロケーションのような定性記述（例えば、「ミーティングルームＡの外側」あるいは「人物Ｂの脇」）
○座標（例えば、ｘ、ｙあるいは緯度、経度）ではなく、確率の高いエリアをより暗く、確率の低いエリアをより明るくする、グラフィックによる確率性インジケータ
●いくつかの実施形態では、モーション機能を有するロボットが、データをキャプチャするために使用される。また、生ログファイルは、ロボットのセンサからの入力を含むことができる。アプリケーションは、以下のものを含んでいる。
【０１２９】
○例えば、会議室、小個室のようなロケーション間を行き来する、例えば、遠隔プレゼンスロボットのような、インタラクティブガイダンス及び完全自動ロボットナビゲーションの少なくとも一方
○任意の屋内あるいは屋外ロケーション用の信号スナップショット及びロケーション情報の少なくとも一方の、自動判定及び低負荷判定の少なくとも一方
○例えば、無線アクセスポイントのシーケンスに渡る、ネットワークアクセスのインテリジェントなハンドオフをしながら、ネットワーク接続性を維持する経路計画
○所望の屋内あるいは屋外空間に渡って、可能なら一纏めで、トランスポートされるあるいは推進されることによる、所与のロケーション用の信号スナップショットを急速に検査するように設計されている使い捨てデバイスあるいはロボット、一方で、これは、生ログファイルをキャプチャし、そして、それらを処理する、あるいは、後処理用に外部サーバへアップロードする／送信する。
【０１３０】
●本明細書で説明される、改良された移動ロケーションシステムは、個別のソフトウェアアプリケーションに代えて、本明細書で説明されるロケーション判定プロセスのすべてあるいは一部が、以下のものによって実行される。
【０１３１】
○オペレーティングシステムカーネル、ドライバ、ソフトウェアの少なくともいずれか
○ベンダレベルのシステム、ファームウェア、ソフトウェア
○チップレベルのシステム、ハードウェア実装
○ライブラリ、ＳＤＫあるいはＡＰＩを介してロケーション判定へアクセスするサードパーティアプリケーション
●いくつかの実施形態は、ロケーション判定のプロセスは、次のことを含むが、それに制限されない、受信環境における変化を考慮する。これは、日時、障害物の数、ユーザの数、通行人の往来、無線信号受信機及び送信機の少なくとも一方の、制作及びモデル、及びキャリブレーションパラメータの少なくとも１つを含んでいる。
【０１３２】
本明細書で説明される、改良された移動体ロケーションシステムは、いくつかの実施形態では、次のことを行うことができる。
【０１３３】
○一度に、２つ以上のフロア及び建物の少なくとも一方を一緒に及び／あるいは同時に取り扱うこと
○適合機能及びサンプリング機能の少なくとも一方として、フロアと建物とを区別するために、大まかなロケーション及びユーザのロケーションへの近似の少なくとも一方を組み込むこと及び取り扱うことの少なくとも一方を行うこと
○ＭＡＣアドレス、ユーザ対話、ＧＰＳと他の伝統的な信号ソースの可用性、及び適合機能及びサンプリング機能の少なくとも一方としてこのロケーションシステムに組み合わされるアプリケーションコンテキストの少なくとも１つにおける明確な違いを識別すること。例えば、既知の建物に対するプロキシミティによる、ＭＡＣアドレスの空間インデックス作成（例えば、ｋ−平均クラスタリング、四分木、八分木、あるいはｋｄツリーデータ構造、離散化、及び分類化等）。
【０１３４】
○これらの機能を使用して、屋内から屋外へのシームレスなあるいは対話的な遷移
いくつかの実施形態では、本明細書で説明される異常値棄却（環境における、その環境に対する動的あるいは静的な変化、あるいはそのログファイルあるいはそのログファイル内のデータ地点の、動的あるいは静的な変化）は、次のものに基づいている。
【０１３５】
○例えば、過去の稼働による出力と、新規のデータとの相関の一貫性
○特定のグループ／クラスの測定値の相対的な首尾一貫性
○所与の値と、異なる状態空間でのその他の測定値との間の首尾一貫性
○１つのアクセスポイントの自身の信号強度誤差と、同一の対応する空間と時間測定位置からの別のアクセスポイントの信号強度とを比較することによって、データ地点が異常値であるかを判定すること
いくつかの実施形態では、歩行可能なロケーションは空間的な接続性グラフとして表現され、また、ユーザ（群）がそのグラフ上であるいは異なるフロア／建物上に存在する可能性が高いということを想定している。これは、新規のデータがどこに位置決めされるかを識別するために必要とされるサーチ空間を制限することができる。新規の測定値が到来すると、状態空間に渡る全体サーチよりもより少ない比較で済むグラフにおいてデータベースと個別ノードとの間に対して比較することができる。要求されるＡＰ／送信機の最小数は存在しない。
【０１３６】
多くの実施形態に従って、記載されるあるいは参照される任意のデータ構造及び符号は、コンピュータ可読記憶媒体に記憶され、これは、コンピュータシステムによって使用するためのコード及びデータの少なくとも一方を記憶することができる任意のデバイスあるいは媒体である。これには、制限するものではないが、揮発性メモリ、不揮発性メモリ、特定用途集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＧＰＡ）、ディスクドライブのような光磁気記憶デバイス、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクあるいはデジタルビデオディスク）、あるいは、現在知られている、あるいは将来開発されるコンピュータ可読媒体を記憶することができる他の媒体を含んでいる。
【０１３７】
上述の説明は、本発明の実現及び使用を可能にするために提示されている。開示される実施形態に対する様々な変形は明らかであり、また、本明細書で定義される一般的な原理は、本発明の精神及び範囲を逸脱することなく、他の実施形態及びアプリケーションに適用することができる。このように、本発明は、図示の実施形態に制限されることを意図するものではなく、本明細書で開示される原理及び特徴と一致する最大限の範囲が許容されるべきである。本発明の範囲は、添付の請求項によって定義される。
【図１】
2015181252.tif 000003
【図２】
2015181252.tif 000004
【図３】
2015181252.tif 000005
【図４】
2015181252.tif 000006
【図５】
2015181252.tif 000007
【図６】
2015181252.tif 000008
【手続補正書】
【提出日】平成27年6月3日(2015.6.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
移動デバイスが動作する屋内空間のための信号スナップショットを、前記移動デバイスによって受信するステップと、
前記屋内空間における前記移動デバイスの推定されたロケーションを、少なくとも前記信号スナップショットに基づいて、前記移動デバイスによって判定するステップと、を含み、
前記信号スナップショットは、前記屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の、受信信号強度の測定値の分布を表す統計的モデルを含み、かつ、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに関連付けられ、
前記受信信号強度の測定値は、複数の移動デバイスによって、前記屋内空間への事前訪問の間に前記複数の移動デバイスのログに含めて提供される、
ことを特徴とする方法。
【請求項２】
前記統計的モデルは、平均と分散を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記統計的モデルは、受信信号強度の総和及び平方和、ならびに受信信号強度の測定値の数を含む、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記信号スナップショットと前記屋内空間における前記移動デバイスの移動方向を示すセンサデータとに基づいて、前記移動デバイスの推定されたロケーションを前記移動デバイスによって判定するステップ、を更に含む、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記センサデータは、万歩計のデータである、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記屋内空間における前記移動デバイスの複数の推定されたロケーション、前記移動デバイスの移動方向を示すセンサデータ、及び屋内空間が歩行可能であるかどうかを示す占有マップに基づいて、経路データを前記移動デバイスによって計算するステップ、を更に含む、
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記経路データと前記センサデータとを、前記屋内空間を通る既知の経路を示す前記屋内空間のための経路履歴データと、前記移動デバイスによって比較するステップと、
前記比較に基づいて、前記経路データに適合値を、前記移動デバイスによって割り当てるステップと、
前記移動デバイスが前記屋内空間を通る既知の経路上を移動していることを、前記適合値に基づいて、前記移動デバイスによって判定するステップと、
を更に含むことを特徴とする請求項６に記載の方法。
【請求項８】
方法であって、
屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の受信信号強度の測定値を少なくとも含むログファイルを、前記屋内空間で動作する複数の移動デバイスからサーバコンピュータによって受信するステップと、
前記アクセスポイントによって送信されたＲＦ信号の、前記受信信号強度の測定値の分布を表す統計的モデルを含む、前記屋内空間のための信号スナップショットを、前記サーバコンピュータによって生成するステップと、
前記信号スナップショットを、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに、前記サーバコンピュータによって関連づけるステップと、を含む、
ことを特徴とする方法。
【請求項９】
前記統計的モデルは、平均と分散を含む、
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記統計的モデルは、受信信号強度の総和及び平方和、ならびに受信信号強度の測定値の数を含む、
ことを特徴とする請求項８に記載の方法。
【請求項１１】
前記信号スナップショットに基づいて、移動デバイスの推定されたロケーションを、前記サーバコンピュータによって判定するステップ、を更に含む、
ことを特徴とする請求項８に記載の方法。
【請求項１２】
移動デバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサによって実行されると前記１つ以上のプロセッサに動作を実行させる命令を格納したメモリと、を含み、前記動作は、
前記移動デバイスが動作する屋内空間のための信号スナップショットを、前記移動デバイスによって受信するステップと、
前記屋内空間における前記移動デバイスの推定されたロケーションを、少なくとも前記信号スナップショットに基づいて、前記移動デバイスによって判定するステップと、を含み、
前記信号スナップショットは、前記屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の、受信信号強度の測定値の分布を表す統計的モデルを含み、かつ、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに関連付けられ、
前記受信信号強度の測定値は、複数の移動デバイスによって、前記屋内空間への事前訪問の間に前記複数の移動デバイスのログに含めて提供される、
ことを特徴とする移動デバイス。
【請求項１３】
前記統計的モデルは、平均と分散を含む、
ことを特徴とする請求項１２に記載の移動デバイス。
【請求項１４】
前記統計的モデルは、受信信号強度の総和及び平方和、ならびに受信信号強度の測定値の数を含む、
ことを特徴とする請求項１２に記載の移動デバイス。
【請求項１５】
前記信号スナップショットと前記屋内空間における前記移動デバイスの移動方向を示すセンサデータとに基づいて、前記移動デバイスの推定されたロケーションを前記移動デバイスによって判定するステップ、を更に含む、
ことを特徴とする請求項１２に記載の移動デバイス。
【請求項１６】
前記センサデータは、万歩計のデータである、
ことを特徴とする請求項１５に記載の移動デバイス。
【請求項１７】
前記屋内空間における前記移動デバイスの複数の推定されたロケーション、前記移動デバイスの移動方向を示すセンサデータ、及び屋内空間が歩行可能であるかどうかを示す占有マップに基づいて、経路データを前記移動デバイスによって計算するステップ、を更に含む、
ことを特徴とする請求項１２に記載の移動デバイス。
【請求項１８】
前記経路データと前記センサデータとを、前記屋内空間を通る既知の経路を示す前記屋内空間のための経路履歴データと、前記移動デバイスによって比較するステップと、
前記比較に基づいて、前記経路データに適合値を、前記移動デバイスによって割り当てるステップと、
前記移動デバイスが前記屋内空間を通る既知の経路上を移動していることを、前記適合値に基づいて、前記移動デバイスによって判定するステップと、を更に含む、
ことを特徴とする請求項１７に記載の移動デバイス。
【請求項１９】
サーバコンピュータであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサにより実行さると前記１つ以上のプロセッサに動作を実行させる命令を格納したメモリと、を含み、前記動作は、
屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の受信信号強度の測定値を少なくとも含むログファイルを、前記屋内空間で動作する複数の移動デバイスからサーバコンピュータによって受信するステップと、
前記アクセスポイントによって送信されたＲＦ信号の、前記受信信号強度の測定値の分布を表す統計的モデルを含む、前記屋内空間のための信号スナップショットを、前記サーバコンピュータによって生成するステップと、
前記信号スナップショットを、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに、前記サーバコンピュータによって関連づけるステップと、を含む、
ことを特徴とするサーバコンピュータ。
【請求項２０】
前記統計的モデルは、平均と分散を含む、
ことを特徴とする請求項１９に記載のサーバコンピュータ。
【請求項２１】
前記統計的モデルは、受信信号強度の総和及び平方和、ならびに受信信号強度の測定値の数を含む、
ことを特徴とする請求項１９に記載のサーバコンピュータ。
【請求項２２】
前記信号スナップショットに基づいて、移動デバイスの推定されたロケーションを、前記サーバコンピュータによって判定するステップ、を更に含む、
ことを特徴とする請求項１９に記載のサーバコンピュータ。
【請求項２３】
システムであって、
移動デバイスが動作する屋内空間のための信号スナップショットを、前記移動デバイスによって受信する手段と、
前記屋内空間における前記移動デバイスの推定されたロケーションを、少なくとも前記信号スナップショットに基づいて、前記移動デバイスによって判定する手段と、を含み、
前記信号スナップショットは、前記屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の、受信信号強度の測定値の分布を表す統計的モデルを含み、かつ、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに関連付けられ、
前記受信信号強度の測定値は、複数の移動デバイスによって、前記屋内空間への事前訪問の間に前記複数の移動デバイスのログに含めて提供される、
ことを特徴とするシステム。
【請求項２４】
システムであって、
屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の受信信号強度の測定値を少なくとも含むログファイルを、前記屋内空間で動作する複数の移動デバイスからサーバコンピュータによって受信する手段と、
前記アクセスポイントによって送信されたＲＦ信号の、前記受信信号強度の測定値の分布を表す統計的モデルを含む、前記屋内空間のための信号スナップショットを、前記サーバコンピュータによって生成する手段と、
前記信号スナップショットを、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに、前記サーバコンピュータによって関連づける手段と、を含む、
ことを特徴とするシステム。
【請求項２５】
１つ以上のプロセッサに実行されると前記１つ以上のプロセッサに動作を実行させる命令を格納した、コンピュータで読み取り可能な記録媒体であって、前記動作は、
移動デバイスが動作する屋内空間のための信号スナップショットを、前記移動デバイスによって受信するステップと、
前記屋内空間における前記移動デバイスの推定されたロケーションを、少なくとも前記信号スナップショットに基づいて、前記移動デバイスによって判定するステップと、を含み、
前記信号スナップショットは、前記屋内空間のアクセスポイントによって送信された無線周波数（ＲＦ）信号の、受信信号強度の測定値の分布を表す統計的モデルを含み、かつ、前記屋内空間のマップを分割する複数のセルのグリッドのうちの１つのセルに関連付けられ、
前記受信信号強度の測定値は、複数の移動デバイスによって、前記屋内空間への事前訪問の間に前記複数の移動デバイスのログに含めて提供される、
ことを特徴とするコンピュータで読み取り可能な記録媒体。
【外国語明細書】
2015181252000001.pdf