次に本発明について図面を参照して説明する。図面では類似の参照番号を、全体を通して類似の要素を参照するために使用する。以下の記述では、説明のために、多数の特定の詳細が、本発明の完全な理解を提供するために示されている。しかし、本発明をこれらの特定の詳細なしに実施できることは明らかであろう。他の例では、本発明の説明を容易にするために、周知の構造およびデバイスをブロック図に示している。
本出願で使用されるように、「コンポーネント」という用語は、コンピュータ関連のエンティティで、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェアまたは実行中のソフトウェアのいずれかを指すように意図されている。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で稼働しているプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行のスレッド、プログラムおよび/またはコンピュータとすることができる。例として、サーバ上で稼働しているアプリケーションおよびサーバの両方をコンピュータコンポーネントとすることができる。1つまたは複数のコンポーネントは、プロセスおよび/または実行のスレッド内に存在することができ、コンポーネントは1つのコンピュータ上にローカライズし、そして/または2つ以上のコンピュータ間で分散させることができる。「スレッド」は、オペレーティングシステムカーネルが実行のためにスケジュールするプロセス内のエンティティである。当技術分野で周知のように、各スレッドは関連付けられた「コンテキスト」を有し、これはそのスレッドの実行に関連付けられた揮発性データである。スレッドのコンテキストには、システムレジスタの内容、およびスレッドのプロセスに属する仮想アドレスが含まれる。このように、スレッドのコンテキストを備える実際のデータは、実行時に変わる。
本明細書で使用されるように、「推論」という用語は一般に、システム、環境および/またはユーザの状態について、イベントおよび/またはデータを介して取り込まれた観察のセットから、推定または推論するプロセスを指す。推論を使用して、特定のコンテキストまたはアクションを特定することができ、あるいは、例えば複数の状態にわたる確率分布を生成することができる。推論は確率的とすることができ、すなわちデータおよびイベントの考察に基づいた所定の状態にわたる確率分布の計算とすることができる。推論はまた、イベントおよび/またはデータのセットからより高いレベルのイベントを構成するために使用される技術を指す。このような推論は結果として、観察されたイベントおよび/または格納されたイベントデータのセットからこれらのイベントが時間的に近接して相関されるかどうかや、これらのイベントおよびデータが1つまたは複数のイベントおよびデータ源に由来しているかにかかわらず、新しいイベントまたはアクションを構成することになる。
本発明は、屋内および/または屋外の粗い位置情報を、例えば商用ラジオ局など、複数の信号放射体からの環境信号の分析を介して特定するためのアプローチを開示する。本発明の一例では、これは非常に小さい電力で動作し、例えばMicrosoftのSPOTなど、信号強度表示の形態を提供する小型の低電力デバイスの位置情報の実現可能な源となる。SPOTは、通常のFMラジオ放送内で符号化されたデジタルデータを介して通知を受信するための能力を有する腕時計サイズのデバイスの開発を中心としている。本発明を使用するデバイスおよび/または方法により、一例では、以前から実在するSPOTデバイスの機能を利用してFMを受信し、信号強度を測定する位置特有の通知サービスの構築が可能となる。一例では、本発明は「RightSPOT」アルゴリズムという名称のアルゴリズムを利用する。本発明はまた、本発明を使用するデバイスの構造における製造上の違いによって引き起こされるばらつきに対しても不感である。
ポータブルデバイスの位置認識は、販売およびマーケティングのための新しいメカニズムを可能にする。例えば、ユーザは、彼らがいるか、あるいはその付近にいる場所に関連する割引およびプロモーションを提供するサービスに申し込むことを望むことができる。レストラン経営者などの小売業者は、負荷分散を行うために時間制限付きのオファーについてこのような位置依存のアラートを使用して、出足の遅い夕方を考えて閑なレストランを満したいと望む場合がある。位置依存のフィルタリングは、ビジネスの場所に十分近いクライアントに対してのみプロモーションを制限して、このような応答型の負荷分散を、短い時間フレーム中に関連のある可能性のあるもののみをリレーすることによって、アラートの数を制限しつつ提供することができる。
図1に、本発明の一態様による情報システム100のブロック図を示す。情報システム100は、情報コンポーネント104、位置特定システム106および信号コンポーネント108を有する情報システムコンポーネント102からなる。信号110は信号コンポーネント108によって受信され、信号強度インジケータに処理される。この処理は一般に、アナログからデジタルへのプロセスを必要とする。信号コンポーネント108は、環境電波など、様々な信号を処理可能にすることができ、これらの信号には、これらに限定されないが、周波数変調(FM)信号が含まれる。信号が信号インジケータに変換されると、位置特定システム106にわたされる。位置特定システム106は信号インジケータを処理し、位置を情報コンポーネント104に提供する。情報コンポーネント104は位置を利用して、関連するデータのセットを導出する。データの関連性は、位置、および/または位置と(図示しないユーザ入力を介した)ユーザプリファレンスとの組合せに厳密に基づくことができる。データはまた、このプロセスを容易にするダウンロード可能なルックアップテーブルからの情報に関連付けることもできる。データが選択されると、グラフィカルユーザインターフェース(GUI)および/またはテキストベースのユーザインターフェースなどのユーザインターフェースを介して、ユーザに「所望の関連情報」112として提供される。
本発明の別の例では、位置特定システム106は位置を格納する。これにより、位置データを後で、例えば、デバイスの向きのために位置の感度を減じる(例えば、最後の「X」個の位置推論を平均化する)などのために利用することができる。追跡システム(例えば、車両、包み、人、装置追跡など)もまた、この種の履歴位置データを使用することができる。このように、本発明を利用して、例えば、警察が車などの盗難物があった場所を判定することなどを容易にしたり、小包配達サービスが、配達の遅れが判明した後で特定の小包がどのように配送されたかを判定するのを助けたりすることができる。親が、本発明の一例を使用して、自分の子供たちが以前の時間帯にどこにいたかを知ることもできる。同様に、雇用者は従業員および装置を追跡して業績を向上させることができる。本発明はまた、ペットなどの動物を追跡するために利用することもできる。コンピュータもまた、本発明を利用して、それらの位置を自動的にレポートすることができる。これにより、コンピュータがそれ自体をその位置に基づいて、時間帯、国および言語などについて自動的に構成することができる。
本発明のさらに別の例では、限りのあるリソースを位置に基づいて管理する手段が提供される。限りのあるリソースには、これらに限定されないが、メモリ、電力、処理能力などが含まれうる。例えば、データストレージ能力が限られている場合、位置を使用して、デバイスの現在位置の近くではない地域の地図など、格納されたデータを廃棄することができる。これにより、そうでない場合は格納することができなかった現在の位置についての追加の情報のストレージ空間を可能にする。本発明のさらに別の例では、位置情報を利用して、ハードウェアデバイスおよびソフトウェアプログラムなど、他のエンティティを促進することができる。これらのエンティティには、これらに限定されないが、ナビゲーションシステム、マッピングソフトウェア、追跡ソフトウェアおよび位置特定ソフトウェアなどが含まれうる。同様に、本発明の一例を緊急ベースのデバイスで、医学的な緊急事態、火事、洪水およびインフラストラクチャの修復など、危機的状況で支援を提供するために利用することができる。消火用の水源、ビルの建築レイアウト、医療サービスの場所、地下のユーティリティ、および天気予報などの情報を提供することができる。本発明はまた、位置に基づいて、時間依存情報、広告、天気予報、エンティティの近接情報などを広めるために利用することもできる。エンティティの近接情報には、これらに限定されないが、友人または仲間がデバイスの位置に近いときに通知されるような仲間リストタイプのサービスが含まれうる。同様に、他の車両が地域内にあるときにデバイスに通知することもできる。この情報を、オブジェクトをクラスタリングするためのプラスの効果としても、そして/またはオブジェクトに警告して間隔を置くか、または分離が起こるようにするためのマイナスの効果としても利用することができる。
本発明のさらに別の例では、イベントのタイミングではなくイベントの位置に基づいて、項目をグループ化するための手段が提供される。例えば、ある人が休暇中にグランドキャニオンへ行き、次いでラスベガスへ行き、次いでグランドキャニオンに戻る間に写真を撮影した場合、その写真を自動的に、写真が撮影された実際の順序ではなく位置によって(例えば、すべてのグランドキャニオンの場面を一緒に)ソートすることができる。本発明は屋内でも利用することができるので、本発明は屋内イベントならびに屋外イベントの項目をグループ化することができる。このような応用例では、多くの場合、詳細な緯度および経度の座標を有する必要はなく、単にどの都市または都市のどの部分でそれらの写真が撮影されたかを知るだけでよい。このような応用例は、粗い位置を暗黙的に保つこともでき、項目を表示および/またはソートのための別個のセットにクラスタリングおよび/またはグループ化するために、これらのプロパティを使用することができる。
図2を参照すると、本発明の一態様による位置システム200のブロック図が例示されている。位置システム200は、位置特定コンポーネント202からなる。位置特定コンポーネント202は、位置特定コンポーネント202をトレーニングするために利用されるトレーニングデータ204を受信する。トレーニングデータ204は、様々な地域特有の信号などのハッシュコード順列などから構成することができる。このデータ204は、物理的にある位置へ移動して信号特性を得ることを介して、そして/または所望の信号特性を提供するシミュレーションソフトウェアを介して得られた情報から計算することができる。本発明の他の例では、トレーニングデータは利用されない。信号強度インジケータ入力206は、位置特定コンポーネント202がその位置を信号強度インジケータに基づいて判定できるようにする。インジケータは、実際の信号強度に関して絶対的である必要はない。位置特定コンポーネント202は、絶対値に関して感度を減じられた手段で信号強度入力206を処理して位置208を提供する。位置特定コンポーネント202は一般に、絶対値に関係なく信号強度インジケータを順位付けする手段を提供する順位ベクトルを計算する分析コンポーネント(図示せず)からなる。
図3には、SPOTデバイス300の例示が示されている。SPOTデバイス300には、ウエアラブルデバイス302、天気予報表示304、交通表示306、レストラン表示308およびエンターテインメント表示310が含まれる。ユビキタスコンピューティングの展望の1つは、ユーザが世界中を移動するときに、ユーザを重要な情報に接続することである。本発明の一例では、SPOTデバイスの小型の低電力デバイスプラットフォームを活用する。SPOTは、図3に示すような腕時計サイズのデバイスで重要な通知を受信する手段をユーザに提供する。SPOTデバイスは、標準のFMラジオの搬送周波数上で、ホストラジオ局から特別にリースされている帯域幅上で送信されたニュース記事、天気予報、パーソナルメッセージ、最新交通情報、および小売業者名簿など、デジタル符号化されたデータを受信聴取するように設計されている。このデバイスは、何百万もの人々を貴重な通知およびアラートに接続する可能性を有する。
小型サイズの形状ファクタを超えて、SPOTデバイスの特徴は、充電の間の時間を最大にする、デジタル時計に関連する種類の長寿命バッテリである。このように、SPOTデバイスは、サイズおよび電力消費量を最小限にするように構成される。本発明は、一例では、例えばSPOTデバイスなど、デバイスの位置を特定するための極めて低電力の方法を提供するために利用される。本発明を利用するSPOTデバイスは、位置情報を判定することができるので、デバイスが特定の位置に関連するアラートのみを受信聴取することができるようにするなど、新しい種類の体験をサポートすることができる。データを特定のデバイスへの伝送にローカライズするための以前の基本的な方法は、FMラジオ信号の限られたレンジに依拠していた。このように、特定の無線塔のレンジ内のデバイスのみが、その塔のカバレッジエリアに関連するデータを受信していた。しかし、あるメッセージについては、この位置の分解能は粗すぎる。最新交通情報、時間制限付きの割引オファー、および付近のアトラクションのリストには、FMラジオ局のカバレッジエリアによって得られるものよりも細かい位置フィルタリングが必要である。GPSは、より精密な位置情報を提供するための候補であるが、GPSレシーバは貴重なバッテリ電力を消費し、すでに密にパックされたデバイスの体積および費用を付加するようになる。加えて、GPSは、衛星への直接リンクを確立することができる外部での使用に限定される。
本発明の一例では、既存の信号周波数放射体、例えばFMラジオ局などからの環境信号強度の分析に基づいて、デバイスをローカライズするための手段が提供される。「RightSPOT」などのアルゴリズムを使用する本発明のシステムおよび方法は、FMバンドの任意の周波数上の信号強度を測定するためのハードウェアおよびソフトウェアを含み、通知を受信するためにすでに開発されているSPOT技術上に構築することができる。
本発明は、一例では、異なる周波数から得られた無線信号強度のベクトルを利用して位置を特定する。位置が推論されるたびに、デバイスはFM周波数のセットを走査し、各々の信号強度を記録する。標準のSPOTデバイスは、SPOTデータを送信する十分に強力なものを見つけるために、複数のFMラジオ局を走査し、信号強度を測定する。本発明の一例では、SPOTのRSSI(Received Signal Strength Indicator)が、デバイス内のアナログ−デジタルコンバータ(ADC)によって本発明に提供される。各周波数についての未加工のデジタル測定値がスケールされ、次いで、例えば13ミリ秒につき20個の読み取りにわたって平均化される。ADCおよび関連する回路は一般に、いかなる特定の単位でRSSIを測定するように較正されたり、またはデバイスからデバイスにわたって一貫するように較正されたりしない。上記の例ではRSSIなどのSPOT技術を利用するが、信号強度インジケータを得るための他の手段が本発明と適合することは、当業者には理解されよう。本発明は、単位の有無にかかわらず、相対的な信号強度を提供するいかなる信号強度インジケータをも利用することができる。
図4に、本発明の一態様による信号強度を例示するグラフ400を示す。縦軸は入力信号強度を表し、横軸は、例えばRSSIを提供するSPOTデバイスなどのデバイスからの測定信号強度(RSSI)である。曲線402は、小さい三角形404によって表された測定データポイントに適合させた数学的関数を表す。RSSIの測定のためのデバイスの間の予期される不整合は障害をもたらし、これは、このようなばらつきが信号強度と位置との間の単一のマッピングの再利用のために一般化しようとする試みを困難にするからである。この問題に対する1つの可能な解決策は、既知のFM送信強度の源を使用して事前に各デバイスを特別に較正することである。これらのテストの1つの結果を図4に示し、これは、特定のデバイスのRSSI読み取りが既知の送信信号強度と共にどのように変化するかを示している。このテストのデータは、ファラデーケージの中で取られたが、この手順は大量生産には費用がかかり過ぎると見なされた。別の解決策は、後で同じデバイスで使用するために、既知の場所で信号強度ベクトルを収集して、各デバイスを異なる位置でトレーニングすることである。通常の消費者はこのようなトレーニングの処方を許容しないであろう。
製造上のばらつきに加えて、信号強度はまた、デバイスの向き、その周囲環境、そして信号受信アンテナとしての機能を果たすことがあるリストバンドなどの取り付け手段の調整によっても影響を受ける。絶対信号強度に影響を及ぼすすべてのこうした可変要素を予想することは、ほぼ不可能であろう。絶対信号強度を予想することができる場合、非特許文献1のような確率的フレームワークが適切であろう。しかし、各デバイスの応答特性を発見することの実行不可能性を考えれば、信号強度を比較する代替の方法が必要とされる。
位置のインジケータとして絶対信号強度に依存するのではなく、本発明は、より頑強な推論を提供する信号強度の変換を使用する。一般的なテストで、例えば、RightSPOTアルゴリズムなど、本発明を使用するデバイスは、以下で説明するように測定RSSIによってラジオ局のセットの順位付けを与えた。最終的に、このデバイスに依存して、一貫性のある絶対信号強度を与えることはできなかった。この事実のために、代替の仮定を相対信号強度が比較的一貫しているという事実に基づいて利用する(すなわち、信号強度によってソートされたラジオ局の順序付きリストは、所与の位置については大幅に変わらない)。より正確には、入力信号強度と測定RSSIの間の関係は単調増加であると仮定される。図5に、本発明の一態様による信号強度の単調性を例示するグラフ500を示す。グラフ500は、モバイルデバイスの測定RSSIが入力信号強度の単調増加関数である場合、入力の信号強度順序も保持されることを示している。例えば、A<B<Cである場合、異なるRSSI測定関数を通じて変換されたこれらの値は、実質的に類似の信号強度順序で維持される。これにより、信号強度を測定する方法においてデバイス間のばらつきにもかかわらず、本発明は多種多様なデバイスで動作させることができるようになる。
本発明は、一例では、n個の無線周波数(FMラジオ周波数など)のリストf=(f1,f2,...,fn)を走査し、結果として測定信号強度s=(s1,s2,...,sn)の対応するベクトルをもたらすことによって、デバイスの位置を推論するアルゴリズムを使用する。次いで、ソートルーチンを利用して、信号強度の順位ベクトルv=(r1,r2,...,rn)を昇順で計算する。ここで、各riは、sにおける対応するsiの順位を与える。例えば、信号強度ベクトルがs=(12,40,38,10)である場合、対応する順位ベクトルはv=(2,4,3,1)である。順位ベクトルは、sの要素のいかなる単調増加関数にも不感であり、これによりこのアルゴリズムは、様々なデバイスが信号強度を測定する方法におけるばらつきに対して頑強となることに留意されたい。このように、本発明は、デバイスの位置を判定するために絶対信号強度を必要としない。
さらなる例として、無線周波数は、インデックス[1...n]によって特定することができる様々なラジオ局を表すことができる。各局のRSSIを測定することにより、各無線局の局インデックスおよび信号強度を与える順序付きペアのセット{(1,s1),(2,s2),(n,sn)}がもたらされる。次いで、このラジオ局強度のタプルのセットが信号強度によってソートされて、順位ベクトルが得られる。例えば、n=3であり、走査結果が{(1,40),(2,30),(3,35)}と仮定する。この順序付きペアのセットを信号強度でソートすると、{(2,30),(3,3),(1,40)}が得られる。次いで、順位ベクトルは、信号強度の順序で得られたラジオ局インデックス、すなわち、v=(2,3,1)であり、s2<s3<s1であることを示している。等しい信号強度は、例えば、任意のソート、最初に検出されたソート、最も高い頻度で検出されたソートなどによって解決することができる。
n個の無線局につき、n!個の可能な順位ベクトルがあり、これらの順位ベクトルは整数の1,2,...nの順列である。各順位ベクトルは、非特許文献2に記載の整数の混合基数表現(例えば、参照)を使用して整数r∈{0,1,...,n!−1}にマップすることができる。このように、一意のハッシュコードが信号強度の各順列について生成される。
本発明の分類スキームは、異なる位置は異なる相対信号強度を示すであろうという仮定によって動機付けられている。理想的には、各位置が単一の一意の値rにマップするであろう。実際には、例えばSPOTアンテナなどの受信ユニットの局所的な傾きおよび位置、異なる構成に基づく環境信号放射体への相対パスの変化、ならびにビルおよび地理的な地形に関連付けられたジオメトリのような要因から導出された雑音のために、各位置は異なるrの分布を生じる。
本発明の様々な態様による分類は、確率的および/または統計ベースの分析(例えば、分析のユーティリティおよびコストをファクタリングする)を使用して、ユーザが自動的に実行されることを望むアクションを予知または推論することができることを理解されたい。分類器は、入力属性ベクトルx=(x1,x2,x3,...,xn)を、その入力があるクラスに属する、すなわちf(x)=信頼性(クラス)である信頼性にマップする関数とすることができる。例えば、サポートベクトルマシン(SVM)分類器を使用することができ、SVMは一般に、可能な入力の空間内で動的に変化する超曲面(hypersurface)を見つけることによって動作する。他の有向または無向のモデル分類アプローチには、例えば、ナイーブベイズ、ベイズネットワーク、決定樹、そして独立性の異なるパターンを使用することができるという場合には確率分類モデルが含まれる。本明細書で使用される分類はまた、優先順位のモデルを開発するために利用される統計的回帰も含まれる。
図6を見ると、本発明の一態様によるハッシュコード順列を例示する3次元グラフ600が示されている。グラフ600は、正規化ヒストグラム軸602、位置軸604、および導出された順列ハッシュコード軸606からなる。本発明の一例では、例えば、システムをトレーニングするため、例えばSPOTデバイスなどの受信デバイスがL個の位置それぞれにもたらされ、ハッシュコードri (l)を収集する。ここで、l=1,2,...,Lは、位置にわたってインデックス付けし、i=1,2,...,Nlは、位置lで観察されたハッシュコードにわたってインデックス付けしている。各位置につき、ハッシュコードの正規化ヒストグラムが構成されて、そのポイントで見られるハッシュコードの離散確率分布p(r|l)を概算する。6つの位置および3つの周波数についてのこれらの正規化ヒストグラムの一例を図6に示している。
観察尤度p(r|l)および観察R*が与えられると、L個の位置のいずれかにいる確率は、ベイズ則を使用して次のように計算される:
ここで、p(l)は、位置lにいる事前確率である。デバイスの位置についての特定の事前の知識が存在しないので、一様分布が仮定され、p(l)=1/Lに設定される。尤度を計算するのではなく、非正規化された事後のものが直接比較される。例えば、ベイズ分類器などの分類器は、最大事後確率を有するクラスを特定する。すなわち:
である。アルゴリズム的には、これは、観察r*について、正規化ヒストグラムが調べられ(例えば、図6)、位置の全レンジl∈{1,2,...,L}にわたってp(r*|l)の値をルックアップし、p(r*|l)の最大値を有する位置lを得ることを意味する。
本発明の一例を使用する一例として、以下のテストを説明する。3つのSPOT腕時計が研究室のテストデバイスの蓄えからランダムに選択された。一貫性のある信号強度を与える腕時計を選択しようという努力は行われず、絶対信号源に関して、または互いに関して腕時計を較正しようという努力は行われなかった。これは、デバイスを較正するためのテストを実行することが経済的に実行不可能であることを考慮して、このようなデバイスの通常のプロダクションランをシミュレートしている。
図7を参照すると、本発明の一態様により利用された地図700の例示が示されている。地図700は、シアトルの郊外を表す6つの位置702〜712からなる。各デバイスは、32個の異なる地元FMラジオ局の信号強度を測定するようにプログラムされた。次いで、これらのデバイスはシアトル地域内の6つの異なる郊外に運ばれ、すべての32個の信号強度を記録し、1秒につき各局の1回の測定を行った。各郊外で、郊外の小売店の中心の周囲を移動しながら、約720個の読み取りの平均が取られた(10分程度)。小売店の中心が選択されたのは、本発明の一例のための有力な応用例が、例えば時間依存のオファーおよび地元のアトラクションのリストを送る小売業者に関係するからである。
図8に、本発明の一態様による無線信号強度インジケータ値を例示するグラフ800を示す。グラフ800は、未加工のRSSIデータ802およびメジアンフィルタされたデータ804からなる。デバイスからの未加工のRSSIデータには、図8のように、雑音があることが判り、そのためにウィンドウメジアンフィルタをデータに適用して、各RSSIをそれ自体と先行する29個のフィルタされていない値のメジアンで置き換えている。他のフィルタリング手段をウィンドウメジアンフィルタの代わりに実施することができることは、当業者には理解されよう。
テストは、正規化ヒストグラムの基礎としてデータを3つのデバイスのうち1つから交互に選択し、他の2つからのデータでテストすることによって行われた。これは、単に各デバイスをそれ自体に対してテストするよりも現実的なテストである。というのは、最終的にこのデバイスが、本発明の一例では、それらの位置を判定するためのヒストグラムの事前にプログラムされた1つのセットに依存するからである。
図9を見ると、本発明の一態様による分類精度の一例900が例示されている。例900は、環境信号放射体数量902、環境信号放射体のサブセット904、および分類精度結果906からなる。これは、デバイスがどのくらいの頻度で正しく、テストに使用された6つの郊外のうちの1つに分類されたかを示している。位置判定のストレージおよび計算の負担を最小限にするために、例えば、32個の記録されたラジオ局からはるかに縮小されたサブセットを使用するなどして、実験が実施された。n個のラジオ局の各テストにつき、位置を分類するのに使用するために局の
個の異なる組合せのセットが調べられた。結果は、分類精度に関して、図9に示されている。このように、本発明をより少数の環境信号放射体で利用することができ、それでもなおデバイスの位置を特定するために利用することができる。
報告された精度は、すべてのテストにわたって行われた正しい推論の一部であり、ここで、1つのデバイスがヒストグラム作成のために提供され、他の2つのデバイスがテストのために使用された。n≦5では、すべての可能な組合せを網羅的にテストすることができる。n>5では、10,000個の組合せのランダムなサブセットがテストされた。これは、n=5からn=6個の局に移動するときに分類精度が下がる理由の説明となり、すなわち、n=6では、ランダムなサブセットのシミュレーションベースの選択を介して最適な組合せが見つからなかった可能性が高い。最良の分類精度は、n=8個のラジオ局を使用した81.7%である。このレベルの位置精度の活用は、日和見的な方法で環境信号放射体(例えば、無線送信機など)を利用し、位置情報を提供するために意図されていなかった受信機を利用して行われたことに留意されたい。
この例は、本発明の一例を利用して、デバイスを郊外までローカライズするために、既存の環境信号放射体、例えばFMラジオ信号などを使用することの実現可能性を実証している。例えばSPOTデバイスなど、既存の技術を本発明と共に使用することによって、既存のハードウェアを活用して、例えばFMラジオ信号強度などの信号強度を測定することができ、そのためには本発明の一例ではローカライゼーションの機能が、少量のソフトウェアを既存の構成に追加することを必要とするだけである。異なるデバイスが信号強度を異なるように測定し、信号強度もまた多数の他の変数によって影響を受ける。例えば、ベイズ分類アルゴリズムを使用する本発明は、絶対信号強度を利用しないが、その代わりに信号強度の順位付けを利用して、デバイスおよび他の変数にわたる頑強性を保証することを容易にする。
明らかに、位置を順位ハッシュコードから推論するには、位置とハッシュコードの間の関係があることが必要である。この関係を確認する1つの方法は、上述のように、地上の位置を物理的に訪れて信号強度を記録することである。しかし、一般的な有用性については、これは単純であり、ラジオ局がその送信機の出力および/または位置を変更すると、保守作業が必要となる。このように、本発明はまた、異なる位置の信号強度特性を、実際にそれらの位置を訪れて信号特性または「トレーニングデータ」を得ることなく予想するために使用することもできる。多数の物理的な測定を行うのではなく、RadioSoftのComStudyソフトウェア(一般には、非特許文献3のインターネットウェブサイトを参照)などを利用して、シミュレートされたFMラジオ信号強度地図を生成する。このようなシミュレーションはまた、ラジオ局の良好なサブセットを判定して最良のローカライゼーションのために受信聴取することを容易にすることもできる。無線強度地図の最適な使用のための方法論には、確率的方法を利用して、トポロジーや、トポロジーおよび/または送信機の間の幾何学的関係、ならびにビルおよび他の人工の構造物の存在のような特徴に基づいて、実際に受信されたデータから、シミュレーションの信頼性および潜在的な偏りがどのように変化するかを学習することが含まれる。例えば、我々は、統計分類器を信頼性および/または偏りについて、シミュレートされた無線強度および実際の検出された無線強度における違いについてのデータの収集に基づいてトレーニングすることができ、このような分類器を利用して、無線地図テーブルおよび無線強度順序付け関数における確度および/または修正を構築することができる。
また、位置の永続性の概念を利用して、現れる可能性のある確度の格差を埋めることができる。例えば、特定の位置でデバイスの確信がない場合、遠距離の移動が可能なほど十分に時間が経過していない場合には、デバイスが最後に検知された位置に最も近いと確信を持って想定する。
ComStudyソフトウェアは、FM無線地図を予測するために利用することができる多数の無線伝播モデルをサポートしている。Longley−Riceモデル(非特許文献4参照)は、本発明の一例であるこの例で、その周知の精度のために選択された。これは、反射、屈折(光線が大気中を上昇するときの屈曲)、およびいくつかのタイプの回折(丘を越えた信号の流出)を組み込んでいるので、一般に選択肢の中でも最も精度の高いものである。このモデルは地形図を利用して、丘および谷の影響をシミュレートする。
ComStudyは各無線局送信機をその周波数、送信電力および位置(緯度、経度)によってパラメータ化する。各送信機につき、電界強度マトリックスが生成される。このマトリックスは、地上で選択された地域にわたって広がる長方形のセルのグリッドであり、各セルは、問題の送信機からの信号レベル情報を含む。セルの幅は6秒角になるように選択された(南北に約185m、および東西に124m)。これは、1平方kmにつき40ポイント(セル)を有することに相当する。次いで、ComStudyは、選択された伝播モデルを適用して、各セルの中心の電界強度を計算する。この例では、ワシントンのシアトル地域内の28個の地元FMラジオ局についての地図が生成された。
シミュレートされた信号強度地図を位置推論のために利用する前に、これらの地図が正確に順位ベクトルを予測する信頼性のレベルについての判定が行われた。これを実施するために、SPOT時計は、生成された地図について同じ28個のFMラジオ局の信号強度を測定するようにプログラムされた。次いで、SPOT時計がこの地域に運ばれ、すべての28局の信号強度を記録し、1秒につき28局の走査を1回行い、結果として各局につき約3920個の読み取りをもたらした。緯度および経度もGPSレシーバから記録された。シミュレーションの精度を査定するために、スピアマンの順位相関(非特許文献5参照)が、測定信号強度、およびシミュレートされた信号強度からの、順位付けされたラジオ局の間で計算され、GPS読み取りを利用して、地図からどのシミュレートされた強度を使用するかが判定された。スピアマンの順位相関は、ケンダルの順位相関の代わりに利用された。これは、さらに離れて順位付けされたデータ値の間の差に、スピアマンではより大きい重みが与えられるからである。両方の相関は[−1...1]のレンジにわたり、「1」は等しい順位付けを示し、「−1」は反対の順位付けを示している。
図10に、本発明の一態様による、測定信号強度とシミュレートされた信号強度の間のスピアマンの相関のヒストグラム1000を示す。ヒストグラム1000は、測定ランキングの95%以上が、[−1...1]のスケール上で少なくとも0.6の係数で、シミュレートされた順位付けと相関したことを示している。これは、シミュレートされた結果が、SPOT腕時計の位置を判定するために十分精度が高いことを示す。以下でより詳細に論じるように、局の数が減らされる場合、さらによい相関を得ることができる。
28個の使用可能なラジオ局では、28!≒3.05×1029の異なる順位ベクトルが提供され、これは非常に大きい計算およびストレージのオーバーヘッドを要する。しかし、これらの局のうち多数は同じ塔から放送され、そのうちいくつかの局は類似の送信出力を有する。同じ場所に配置され、類似の出力を有する局からの信号強度の測定は、冗長である。これらの冗長性を除くために、28個の局がほぼ類似の局のグループに分けられる。次いで、以下の基準が、類似性を査定するために利用される。
1.シミュレートされた信号強度地図上の空間的に対応するポイントに基づいて、すべての局のペアの間のピアソンの相関係数(同上参照)を計算する(ピアソンの相関係数は、順位相関ではなく標準の線形相関係数であることに留意されたい)。
2.あるしきい値ρより大きく互いに相関する局のグループを見つける。本発明の一例のこの例では、ρ=0.95が利用される。
3.各相関されたグループから、最も高い平均信号強度を有する局を選択してグループを代表する。
上記の基準をシアトル地域のシミュレートされた信号強度に適用すると(この基準はまたSPOT腕時計からの実際の測定値にも適用され、結果としてτ=0.9とほぼ同じ結果となった)、少なくとも0.95のピアソンの相関係数を有する相関性のある局の7つのグループがあることが判明した。図11に、本発明の一態様による、シアトル地域内のラジオ局についてのシミュレートされた信号強度の表1100を示す。表1100は、局の7つのグループを、各グループ内の相関性のある局の周波数、平均値および分散と共に示す。各グループから選択された局を、太字の字体で示す。
上記の基準を適用すると、局の数は28から7に減らされる。これは、28!の異なる順位ベクトルを有する代わりに、7!=5040の順位ベクトルのみがあり、25桁の減少であることを意味する。これは、位置判定のために利用される技術についての計算およびメモリ性能に関して著しくプラスの効果を有する。これは特に、リソースが制限されたデバイスには重要である。図12に、本発明の一態様による、7個の選択された局の測定信号強度とシミュレートされた信号強度間のスピアマンの相関のヒストグラム1200を例示する。ヒストグラム1200は、28局を有する類似のヒストグラム1000(図10)に対して著しい向上を示し、測定およびシミュレートされた信号強度間のさらに高い相関を有する。測定信号強度順位ベクトルの95%以上が、シミュレートされた信号強度と、0.8以上の係数で相関している。これは、シミュレートされた結果が、SPOT腕時計および類似のデバイスなどの位置を判定するために使用するのに有効であることをさらに強調している。
シミュレートされた信号強度地図の各セルは、順位ハッシュコードに変換され、これが最終的に、測定された順位ハッシュコードから位置を推論するために利用される。シミュレートされた信号強度地図は、約124mの幅(東西)および185mの高さ(南北)のセルを有するグリッド上に生成される。これは、ComStudyの最大シミュレーション分解能の限界に近く、本発明のこの例に必要とされるよりはるかに細かい。さらに、この細かい分解能は、シアトルの周囲のテスト地域を表すために442,806個のセル(東西811個×南北546個)を提供する。順位ハッシュコードは[0...7!−1]のレンジにわたり、これは、各細かいセルがそのハッシュコードを表すために13ビットの整数を必要とすることを意味する。次いで、無線地図は、テスト地域のためのハッシュコードの細かいグリッドを表すために811×546×13/8≒0.7MBを必要とするであろう。一般にこれは、小型の、リソースが限られたデバイスには大きすぎる。
このストレージの問題を緩和し、ハッシュコードを適当な分解能で表すために、粗いグリッドが細かいグリッド上に作成され、各粗いセルは、その下にある細かいセルからの順位ハッシュコードのヒストグラムとして表される。粗いセルのサイズは多様であるが、通常のサイズは3km×3kmであり、16×24=384個の細かいセルをカバーする。各粗いセルのヒストグラムが正規化されて、セルについての順位ハッシュコードの確率分布の推定が与えられる。数学的には、この尤度推定はP’(r|ci)であり、ここでr∈[0...n!−1]は、n個の無線局の順位ハッシュコードを表し、ci、i∈[0...m]は、m個の粗いセルの1つを表す。
実際には、ヒストグラムは、多数の可能な順位ハッシュコードのために、まばらにしか取り込まれない。雑音、デバイスの向き、そしてシミュレートされていない無線伝播効果のため、シミュレートされた尤度P’(r|ci)がゼロであるセル内の順位ハッシュコードがしばしば測定される。このようにして、尤度推定が平滑化されて、格差が埋められる。残念ながら、順位ハッシュコードrにわたる単純な平滑化は適当ではなく、これは、隣接したハッシュコードが必ずしも類似の順位ベクトルを表すとは限らないからである。その代わりに、平滑化は、各ヒストグラム区分内の値を、問題の区分のスピアマン相関係数が選択されたしきい値ρsより上であるすべての区分にわたる最大値によって置き換えることによって行われる。式の形式では、(正規化されていない)平滑化された尤度は次のように計算される:
ここで、S(r,r’)は、ハッシュコードrおよびr’によって表された順位ベクトル間のスピアマン相関係数である。次いで、Pu(r|ci)はrにわたってP(r|ci)に正規化されて、粗いセルが与えられると順位ハッシュコードの平滑化された尤度関数が与えられる。直観的に、ρsは平滑化パラメータとしての機能を果たし、より高い値がさらなる平滑化を与える。
測定された順位ハッシュコードrが与えられると、セルckにいる確率は、ベイズ則によって次のように与えられる:
rが与えられると、この分母は定数であり、m個のセルのどれにデバイスがいるかに関する事前仮定は行われず、これはP(ck)=1/mを意味する。このように、最大尤度推定がデバイスの位置として選択される:
実際には、これらの結果は、最後のK回の信号強度走査(時間ウィンドウサイズ)にわたって最も高い頻度で推論されたセルを取ることによって平滑化される。これは、位置推論が所々で不当にジャンプしないようにする助けとなるが、過度なKの値は推論を「硬直」にしすぎる場合がある。
上の例は、より広いシアトル地域内で、7個の地元FMラジオ局の縮小されたセットの信号強度を測定するようにプログラムされたSPOT腕時計を用いて実行された。SPOT腕時計はこの地域の周辺に運ばれ、すべての7局の信号強度を記録し、毎秒7局の走査を1回行い、結果としてGPS位置読み取りと共に、各局について約3920個の読み取りを得た。その間、7局についてのシミュレートされた無線地図が生成された。図13に、本発明の一態様によるテスト領域を例示する地図1300を示す。地図1300は、位置を推論するために使用された、7kmのセル幅を有する粗いグリッド1304と共に、走行経路1302を示す。走行経路1302にはハイウェイおよび地方道路が含まれている。
この例は、シミュレートされた無線地図上に構築された単純なヒストグラムを利用して、デバイスの位置を本発明により10マイル未満(16km程度)の精度まで判定できることを例示している。以下では、推定された位置の精度に関する相関しきい値ρs、時間ウィンドウサイズKおよびグリッドセル幅wの影響について考察する。
この例では、粗いグリッドのセル幅wが、位置推論の精度に影響を及ぼすという点で重要なパラメータであることを示している。粗いセル幅を増すと、P’(r|c)のヒストグラム推定においてより細かいグリッドセルを有し、よって順位付け確率分布についてより多くの情報を有する利点がある。また、セル幅を増すと、グリッド内のセルの全体数を減らし、従って計算のオーバーヘッドを減らす。しかし、セル幅が増すにつれて、位置の分解能は当然下がる。図14に、本発明の一態様による、ρs=0.9およびK=5についての、セル幅とメジアン誤差の間の関係を例示するグラフ1400を示す。このグラフ1400から、10マイル(16km程度)の周辺でより低いメジアン誤差の結果となる3つの値(1、7、11km)があることがわかる。図15に、グラフ1500、1502は、本発明の一態様によるある所与のセル幅についての確率密度関数および累積密度関数誤差を例示する。誤差確率密度関数(PDF)グラフ1500および累積密度関数(CDF)グラフ1502は、セル幅w=1km、ρs=0.9およびK=5に対応する。
推論アルゴリズムの精度に影響を及ぼす第2の要因は、相関平滑化しきい値ρsである。上述のように、相関しきい値は、尤度推定を平滑化するために導入された。それゆえ、ρsを増すと、P’(r|ci)のヒストグラムベースの推定においてより多くの格差を埋める結果となる。しかし、ρsをある値より増すと、平滑化しすぎる結果となり、異なる位置の区別可能性が低下する。図16に、本発明の一態様による、相関しきい値とメジアン誤差の間の関係を例示するグラフ1600を示す。グラフ1600は、ρs=0.9でメジアン誤差の全体の最小値があることを示している。ここで、w=1kmおよびK=5である(グラフ補間の異形が、ρs=0.95付近での偽りの低下の原因である)。
精度に影響を及ぼす別の要因は、時間ウィンドウサイズKである。ラジオ局が1Hzで走査されたので、Kは、場所を推論するために利用されたデータの秒数に対応する。明らかに、Kを増すと精度が向上するが、メモリストレージおよび計算能力の要求も増す。図17に、本発明の一態様による、ウィンドウサイズとメジアン誤差の間の関係を例示するグラフ1700を例示する。グラフ1700から、10マイル未満(16km程度)のメジアン誤差がウィンドウサイズK≧10で得られることが明らかである。ここで、w=1kmおよびρs=0.9である。
本発明は、FMラジオ信号強度など、環境信号強度に基づいて、デバイスの位置を推論するための手段を提供する。その利点には、屋内および屋外の位置に及ぶFMラジオの幅広いカバレッジと、無線信号強度を測定し、数マイルの精度を提供するためにSPOTデバイスなどのターゲットデバイスの用意ができていることが挙げられる。本発明は、デバイスの間の測定差に対して頑強であり、環境信号の絶対信号強度ではなく順位付けに基づいた推論に依拠している。シミュレートされた信号強度を使用すると、位置に応じて信号強度のマニュアルによる測量は必要ではない。順位ハッシュコードの平滑化されたヒストグラムを利用することによって、デバイスの位置を10マイル未満(16km程度)の精度まで推論することができる。本発明によって使用された極めて低いリソース利用により、小型のウエアラブルデバイスなど、リソースが限られたデバイスに機能性を提供することができる。
本発明の別の例では、ある特定のデバイスの限られた記憶容量を考慮して、どのラジオ局ヒストグラムをデバイスに送信するかを特定するための方法が使用される。本発明のさらに別の例では、位置推論を経時的に平滑化し、位置の隣接性についての知識を活用し、デバイスがどれだけ速く位置の間を移動すると考えられるかについての制約に従うことによって、分類精度を高めることができる。本発明のさらに別の例は、複数の位置にわたる確率分布を考慮して、決定論的アプローチを使用して誤診を最小化する。また、本発明のさらに別の例は、順位の順序付けを超えて相対信号強度のプロパティを取り込む他の基本的表現を使用し、これには、強度によってクラスタ化された信号放射体のグループ間の強度比率および関係を取り込む方法が含まれる。
図示および上述した例示的システムに鑑みて、本発明により実施することができる方法は、図18〜23の流れ図を参照してよりよく理解されよう。説明を簡単にするために、これらの方法を一連のブロックとして示し、説明するが、本発明はブロックの順序によって限定されず、これは、いくつかのブロックは本発明によれば、本明細書に示し、説明するものとは異なる順序で、そして/または、他のブロックと同時に発生することができるためであることを理解および認識されたい。また、例示されたブロックのすべてが、本発明によりこれらの方法を実施するために必要であるとは限らない場合がある。
本発明を一般に、プログラムモジュールなど、1つまたは複数のコンポーネントによって実行されるコンピュータ実行可能命令の一般的コンテキストで説明することができる。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、データ構造などが含まれ、これらは特定のタスクを実行するか、特定の抽象データ型を実装する。通常、プログラムモジュールの機能性を、本発明の様々な例において要望どおりに結合または分散させることができる。
図18を見ると、本発明の一態様による、デバイスの位置を特定する方法1800の流れ図が示されている。方法1800は1802で開始し、1804で信号強度インジケータを提供する。これらのインジケータは一般に、塔、ビルのアンテナおよびモバイルユニット(地形および航空ユニットなど)などの信号源からの、環境信号などの信号の表現である。これらの信号は、これらに限定されないが、周波数変調信号、振幅変調信号、極超短波信号、超短波信号など、そしてマイクロ波信号の上部などのさらに指向性のある信号を含むことができる。本発明はまた、赤外線、x線および宇宙線などの信号強度を示すことができるさらに高周波の受信デバイスと共に動作するように適合させることもできる。同様に、超音波、音波および超低周波などのための受信を提供するより低周波の受信デバイスも本発明と共に動作可能である。本発明はまた、時間変化する信号、そしてモバイルプラットフォームから放射された信号を明らかにすることもできる。地形依存の伝播モデルもまた、地形の障害物による信号の変化を明らかにするために利用することができる。同様に、他の伝播モデルを、ビル、記念碑、および人工の物体などの大きな構造物からの反射などを明らかにするために利用することができる。速度予測モデルを利用することによって、本発明はまた、デバイスの速度ならびにその位置を判定するために利用することもできる。
信号強度インジケータは、精度の高い強度をスケールの絶対値で提供するインジケータのみに限定されない。本発明は信号強度インジケータを、インジケータに関連付けられた単位を全く使うことなく受け入れることができる。信号強度インジケータが提供されると、1806で提供された信号強度インジケータに基づいて位置が判定され、1808で流れが終了する。この判定は一般に、推論を通じて位置を提供するために分布を活用することができるアルゴリズムに基づく。本発明の一態様では、絶対信号強度に依拠しないベイズ分類アルゴリズムが利用される。その代わりに、信号強度の順位付けを使用して、信号検出誤差、較正誤差、および、未知の信号強度インジケータ源などのばらつきが位置判定に影響を与えないことを保証することが容易になる。
図19に、本発明の一態様による、デバイスの位置を特定する方法1900の別の流れ図を示す。方法1900は1902で開始し、1904で例えば無線周波数信号などの環境信号を、例えば商用FMラジオ塔および/または局などの源から得る。次いで、1906で無線周波数のリストが走査され、1908で測定信号強度ベクトルが判定される。次いで、1910で相対強度がソートされ、順位ベクトルが周波数について計算される。次いで、1912でハッシュコードが信号強度の順列に基づいて生成される。次いで、1914で位置システムをトレーニングするためハッシュコードを各所望の位置から得る。次いで、1916で正規化ヒストグラムがハッシュコードから構築される。次いで、1918で例えばベイズ則を介して確率が計算される。次いで、1920で例えばベイズ分類器などの分類器を利用して、デバイスがその特定の位置にある可能性が最も高いことを示す最大事後確率を特定し、1922で流れが終了する。
図20を参照すると、本発明の一態様による、位置特定デバイスをトレーニングする方法2000の流れ図が例示されている。方法2000は2002で開始し、2004で環境信号を受信するデバイスを特定の位置に位置付ける。2006で無線周波数信号などの環境信号をそれぞれ複数回走査して、それらの信号強度を得る。次いで、2008で順位ハッシュコードなどの順位情報を各走査について計算する。2010で順位ハッシュコードなどの順位情報の正規化ヒストグラムを特定の位置について生成し、格納する。次いで、2012でデータを得るために別の場所が望まれるかどうかについての判定が行われる。そうである場合、2004でデバイスが別の場所に運ばれ、方法2000を再度開始する。さらなる場所が望まれない場合、2014で流れが終了する。
図21に、本発明の一態様による、デバイスの位置を特定するために利用されるヒストグラムを平滑化する方法2100の流れ図を示す。方法2100は2102で開始し、2104で粗いグリッドセルのヒストグラムを、下にある細かいグリッドセルに基づいて計算する。ComStudyなどのシミュレーションソフトウェアによって提供された細かいグリッドの代わりに粗いグリッドを利用することによって、基礎となるデバイス上に重いストレージおよび処理負荷を引き起こすことなく、適当な分解能が得られる。次いで、2106で粗いグリッドセルのヒストグラムを正規化する。これは、セルについての順位ハッシュコードの確率分布の推定を提供する。次いで、2108で相関しきい値を選択する。これは、まばらに取り込まれたヒストグラムの平滑化の制御を可能にし、より高い値はさらなる平滑化を与える。次いで、2110で相関しきい値より上のスピアマン相関係数を有するヒストグラム区分が判定される。2112で相関しきい値より上のすべてのヒストグラム区分にわたる最大値が計算される。相関しきい値より上の各ヒストグラム区分は、2114でその値を最大値によって置き換え、2116で流れが終了する。式の形式では、平滑化された尤度は次のように計算される:
ここで、S(r,r’)は、ハッシュコードrおよびr’によって表された順位ベクトル間のスピアマン相関係数である。次いで、Pu(r|ci)がrにわたってP(r|ci)に正規化されて、粗いセルが与えられると順位ハッシュコードの平滑化された尤度関数が与えられる。
図22を参照すると、本発明の一態様による、位置推論を平滑化する方法2200の流れ図が示されている。方法2200は2202で開始し、2204で信号強度走査の履歴を得る。次いで、2206で位置推論平滑化値「K」(時間ウィンドウサイズ)が選択される。次いで、2208で最後の「K」回の信号強度走査にわたって最も高い頻度で推論された位置が判定され、2210で流れが終了する。最も高い頻度で推論された位置は、基礎となるデバイスのために利用された位置となる。これは頻繁に行われて、デバイスの向きの動きおよび他の環境上の影響により、デバイスが位置から位置へと「ジャンプする」ことを防止する。推論された位置を平滑化することによって、実質的に安定した値がデバイスによって示される。
図23に移ると、本発明の一態様による、デバイス位置特定で利用するために環境信号セットを最適化する方法2300の流れ図を示す。方法2300は2302で開始し、2304で環境信号およびそれらの各信号強度のセットを得る。次いで、2306でピアソンの相関係数が、信号源のすべてのペア間で計算される。本発明の一例では、信号源の組合せは、シミュレートされた信号強度地図などで空間的に対応する点に基づいている。ピアソンの相関係数は、標準の線形相関係数を表し、順位相関を表さない。次いで、2308で相関しきい値が選択される。本発明の一例では、この相関しきい値の代表的な値は約0.95である。2310で選択された相関しきい値より大きく相関する信号源がまとめてグループ化される。次いで、2312で各グループの最高平均信号強度を有する信号がそのグループを代表するために選択され、2314で流れが終了する。この方法2300は、デバイスの位置特定で利用される順位ベクトルの数を数桁減らす。2300はまた、環境信号が単一の源から発するときに特に有用であり、源の冗長性を取り除く。
本発明の例には、プログラミングデバイスおよび/またはエンドポイントデバイス自体に関するユーザからの入力および/またはフィードバックを受け入れる手段を包含することが含まれうる。このような入力には、ユーザが推論から除外することを望む領域を含むことができ、例えば「このより大きな都市の領域内の地域のこの特定のサブセットのみを考慮する;他の地域に移動することはない」とする。このような制約は、位置の範囲を狭めることによって、システムの推論の精度を向上させることができる。本発明の別の例では、ユーザはシステムの精度についてのフィードバック、例えば「これは正しくない、これは正しい」を、簡単なボタンを押すことで入力することができる。このようなフィードバックを使用して、将来の推論の精度を向上させることができる。
本発明の様々な態様を実施するための追加のコンテキストを提供するために、図24および以下の考察は、本発明の様々な態様を実施することができる適切なコンピューティング環境2400の簡単な全体的説明を提供するように意図されている。本発明を、ローカルコンピュータおよび/またはリモートコンピュータ上で稼働するコンピュータプログラムのコンピュータ実行可能命令の一般的なコンテキストで上述したが、本発明を他のプログラムモジュールとの組合せで実施することもできることは、当業者には理解されよう。一般に、プログラムモジュールには、ルーチン、プログラム、コンポーネント、データ構造などが含まれ、これらは特定のタスクを実行するか、そして/または、特定の抽象データ型を実施する。また、本発明の方法を他のコンピュータシステム構成により実施することができ、これには、シングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびに、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースおよび/またはプログラム可能な民生用電子機器などが含まれ、これらのそれぞれが1つまたは複数の関連デバイスと動作可能に通信することができることは、当業者には理解されよう。本発明の例示した態様はまた、分散コンピューティング環境で実施することもでき、この環境ではあるタスクが通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。しかし、本発明の、すべてでなければ、いくつかの態様をスタンドアロンコンピュータ上で実施することができる。分散コンピューティング環境では、プログラムモジュールはローカルおよび/またはリモートのメモリストレージデバイスに配置することができる。
本出願で使用されるように、「コンポーネント」という用語は、コンピュータ関連エンティティであり、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェアまたは実行中のソフトウェアのいずれをも指すように意図されている。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で稼働するプロセス、プロセッサ、オブジェクト、実行可能プログラム、実行のスレッド、プログラムおよびコンピュータにすることができる。例として、サーバ上で稼働するアプリケーションおよび/またはサーバは、コンポーネントとすることができる。加えて、コンポーネントは1つまたは複数のサブコンポーネントを含むことがある。
図24を参照すると、本発明の様々な態様を実施するための例示的システム環境2400は、従来のコンピュータ2402を含み、これは、処理装置2404、システムメモリ2406およびシステムバス2408を含み、システムバスは、システムメモリを含む様々なシステムコンポーネントを処理装置2404に結合する。処理装置2404は、任意の市販または独自のプロセッサとすることができる。加えて、処理装置は、並列に接続することができるなど、複数のプロセッサから形成されたマルチプロセッサとして実施することができる。
システムバス2408はいくつかのタイプのバス構造のいずれとすることもでき、これらには、2〜3例を挙げると、PCI、VESA、マイクロチャネル、ISAおよびEISAなど、様々な従来のバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスが含まれる。システムメモリ2406は、読み取り専用メモリ(ROM)2410およびランダムアクセスメモリ(RAM)2412を含む。基本入出力システム(BIOS)2414は、起動中など、コンピュータ2402内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、ROM2410に格納される。
コンピュータ2402はまた、例えば、ハードディスクドライブ2416、例えばリムーバブルディスク2420に対する読み書きを行うための磁気ディスクドライブ2418、そして、例えばCD−ROMディスク2424または他の光メディアに対する読み書きを行うための光ディスクドライブ2422を含むこともできる。ハードディスクドライブ2416、磁気ディスクドライブ2418および光ディスクドライブ2422はそれぞれ、ハードディスクドライブインターフェース2426、磁気ディスクドライブインターフェース2428および光ドライブインターフェース2430によってシステムバス2408に接続されている。これらのドライブ2416〜2422およびそれらの関連するコンピュータ可読媒体は、コンピュータ2402のためのデータ、データ構造、コンピュータ実行可能命令などの不揮発性ストレージを提供している。上記のコンピュータ可読媒体の説明では、ハードディスク、リムーバブル磁気ディスクおよびCDに言及しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなど、コンピュータによって可読である他のタイプのメディアもまた例示的オペレーティング環境2400内で使用することができ、さらに、このようないかなるメディアも、本発明の方法を実行するためのコンピュータ実行可能命令を収容することができることを、当業者は理解されたい。
いくつかのプログラムモジュールは、ドライブ2416〜2422およびRAM2412に格納することができ、これらには、オペレーティングシステム2432、1つまたは複数のアプリケーションプログラム2434、他のプログラムモジュール2436、およびプログラムデータ2438が含まれる。オペレーティングシステム2432は、任意の適切なオペレーティングシステムまたはオペレーティングシステムの組合せとすることもできる。例として、アプリケーションプログラム2434およびプログラムモジュール2436は、本発明の一態様によるデバイスの位置の推論を含むことができる。
ユーザは、キーボード2440およびポインティングデバイス(例えば、マウス2442)など、1つまたは複数のユーザ入力デバイスを通じて、コマンドおよび情報をコンピュータ2402へ入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、無線リモコン、スキャナなどを含んでもよい。これらおよび他の入力デバイスは、システムバス2408に結合されるシリアルポートインターフェース2444を通じて処理装置2404へ接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)などの他のインターフェースによって接続することができる。モニタ2446または他のタイプの表示デバイスもまた、ビデオアダプタ2448などのインターフェースを介してシステムバス2408に接続される。モニタ2446に加えて、コンピュータ2402は、スピーカ、プリンタなどの他の周辺出力デバイス(図示せず)を含むこともある。
コンピュータ2402は、1つまたは複数のリモートコンピュータ2460への論理接続を使用してネットワーク環境で動作することができることを理解されたい。リモートコンピュータ2460は、ワークステーション、サーバコンピュータ、ルーター、ピアデバイスまたは他の共通ネットワークノードとすることができ、通常、コンピュータ2402に関連して上述した要素の多くまたはすべてを含むが、簡潔にするために、メモリストレージデバイス2462のみが図24に例示されている。図24に示す論理接続には、ローカルエリアネットワーク(LAN)2464およびワイドエリアネットワーク(WAN)2466が含まれうる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
LANネットワーキング環境で使用するとき、例えば、コンピュータ2402は、ネットワークインターフェースまたはアダプタ2468を通じてローカルネットワーク2464に接続される。WANネットワーキング環境で使用するとき、コンピュータ2402は通常、モデム(例えば、電話、DSL、ケーブルなど)2470を含むか、LAN上で通信サーバに接続されるか、またはインターネットなどのWAN2466を介して通信を確立するための他の手段を有する。モデム2470は、コンピュータ2402に対して内蔵または外付けとすることができ、シリアルポートインターフェース2444を介してシステムバス2408に接続される。ネットワーク環境では、プログラムモジュール(アプリケーションプログラム2434を含む)および/またはプログラムデータ2438は、リモートメモリストレージデバイス2462に格納することができる。図示したネットワーク接続は例示的であり、本発明の一態様を実行するとき、コンピュータ2402および2460の間で通信リンクを確立する他の手段(例えば、有線または無線)を使用することができることは理解されよう。
コンピュータプログラミングの技術分野の当業者の慣例に従って、特に明記しない限り、本発明は、コンピュータ2402またはリモートコンピュータ2460などのコンピュータによって実行される動作、および操作の記号表現を参照して説明した。このような動作および操作は時として、コンピュータにより実行されるものとして参照される。この動作および記号的に表現された操作には、データビットを表す電子信号の処理装置2404による操作が含まれ、これは電子信号表現の結果として得られる変換または縮小を引き起こし、また、メモリシステム(システムメモリ2406、ハードドライブ2416、フロッピー(登録商標)ディスク2420、CD−ROM2424およびリモートメモリ2462を含む)のメモリロケーションでデータビットを保持して、それによりコンピュータシステムの操作ならびに信号の他の処理を再構成するか、そうでなければ変更することが含まれることは理解されよう。このようなデータビットが維持されるメモリロケーションは、データビットに対応する特定の電気的、磁気的または光学的プロパティを有する物理的位置である。
図25は、本発明が対話することができるサンプルコンピューティング環境2500の別のブロック図である。システム2500は、1つまたは複数のクライアント2502を含むシステムをさらに例示している。クライアント2502は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)とすることができる。システム2500はまた、1つまたは複数のサーバ2504を含む。サーバ2504はまた、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)とすることができる。サーバ2504はスレッドを収容して、例えば本発明を使用することによって変換を実行することができる。クライアント2502とサーバ2504の間の1つの可能な通信は、2つ以上のコンピュータプロセス間で伝送されるように適合されたデータパケットの形態とすることができる。システム2500はフレームワーク2508を含み、このフレームワークを使用して、クライアント2502とサーバ2504の間の通信を容易にすることができる。クライアント2502は、1つまたは複数のクライアントデータストア2510に動作可能に接続され、このクライアントデータストアを使用して情報をクライアント2502にローカルに格納することができる。同様に、サーバ2504は、1つまたは複数のサーバデータストア2506に動作可能に接続され、このサーバデータストアを使用して情報をサーバ2504にローカルに格納することができる。
本発明の一例では、データパケットは、デバイスの位置特定を容易にする2つ以上のコンピュータコンポーネント間で伝送され、このデータパケットは、少なくとも1つの環境周波数信号インジケータに基づいてデバイスの位置の概算を判定する位置特定システムに関係する情報から少なくとも部分的に構成される。
本発明の別の例では、デバイスの位置特定を容易にするためのシステムのコンピュータ実行可能コンポーネントをストアするコンピュータ可読媒体は、少なくとも1つの環境周波数信号インジケータに基づいてデバイスの位置の概算を判定する位置特定システムから少なくとも部分的に構成される。
本発明のさらに別の例では、位置が、モバイルおよび/または静止した信号放射体に基づいた信号強度インジケータに基づいて判定される。モバイルユニットから送信されたデータを利用して、位置を判定するための安定化が提供される。
本発明のさらに別の例では、信号放射体の放射パターンが位置の判定で利用される。
本発明のシステムおよび/または方法は、コンピュータコンポーネントおよび非コンピュータ関連コンポーネントなどを容易にする位置特定システムで利用することができることを理解されたい。さらに、本発明のシステムおよび/または方法は、ありとあらゆる電子関連技術で使用可能であり、これらの技術には、これらに限定されないが、コンピュータ、サーバおよび/またはハンドヘルド電子デバイス、添え付け可能な電子デバイス(例えば、磁気取り付け、マジックテープ(登録商標)取り付け、フック取り付け、接着取り付けなど)、ウエアラブル電子デバイス(例えば、腕時計、眼鏡、衣料品、補聴器、ネックレス、ブレスレット、ベルト、アンクルブレスレット、タイ留め、指輪など)などが含まれることは、当業者には理解されよう。
上述したものは、本発明の例が含まれている。言うまでもなく、本発明を説明する目的でコンポーネントまたは方法のあらゆる考えられる組合せを説明することは可能ではないが、本発明の多数のさらなる組合せおよび置換が可能であることは、当業者には理解されよう。したがって、本発明は、添付の特許請求の範囲の精神および範囲内に入るこのようなすべての代替、変更および変形形態を包含するように意図されている。さらに、「含む」という用語が詳細な説明または特許請求の範囲において使用される範囲で、このような用語は、「備える」という用語が特許請求の範囲の移行語として使用されるときに解釈されるように「備える」という用語と同様に包含的であるように意図されている。