(57)【特許請求の範囲】
【請求項１】
モバイルコンピューティングデバイスの、計算された位置のエラー半径(error radius)を判定するコンピューター実装方法であって、
複数レベルのスケーリングされた地理的領域を含むデータ構造を、前記モバイルコンピューティングデバイスによって生成するステップであって、前記スケーリングされた地理的領域の異なったレベルが、異なったサイズのスケーリングを有し、前記データ構造が更に、全地球投影参照システム(global projection reference system)に基づくスケーリングされた複数の地理的領域を特定する複数の第１のフィールド、及び、前記第１のフィールドのそれぞれについて、位置エラー半径を特定する複数の第２のフィールドを含み、前記位置エラー半径のそれぞれが、エラー半径であって、当該エラー半径に対応するパーセンテージエラーが、しきい値パーセンテージ(threshold percentage)より大きくなるように計算され、前記エラー半径が、スケーリングされた地理的領域であって、当該スケーリングされた地理的領域の中に、推測された位置が存在する、スケーリングされた地理的領域に割り当てられるものである、ものと、
前記モバイルコンピューティングデバイスによって、前記データ構造から、スケーリングされた地理的領域を判定するステップであって、
前記スケーリングされた地理的領域が、前記モバイルコンピューティングデバイスの前記計算された位置に関連付けられるものと、
前記モバイルコンピューティングデバイスによって、前記データ構造から、対応するエラー半径を返すステップであって、当該対応するエラー半径が、前記モバイルコンピューティングデバイスの、前記計算された位置に関連付けられた前記スケーリングされた地理的領域にマッピングされるものと、
を含み、
前記データ構造を生成するステップが、
会場(venue)についての位置調査情報を受信するステップであって、当該会場に対して、限定的な全地球測位システム（ＧＰＳ）データのみが利用可能であり、前記位置調査情報が、第１のデータセット、及び、第２のデータセットを含み、前記位置調査情報が、前記モバイルコンピューティングデバイスのアンテナを介して検出された、無線ビーコンの、観測された位置を含み、前記位置調査情報が、ビーコンフィンガープリントを含むものと、
前記スケーリングされた地理的領域の複数のレベルに対して、前記第1のデータセットに基づく複数の第1の推定された位置と、前記ビーコンフィンガープリントに関連する前記モバイルコンピューティングデバイス既知の実際の位置と、の間の第1のエラーを判定するステップと、
前記スケーリングされた地理的領域の複数のレベルに対して、前記第２のデータセットに基づく複数の第２の推定された位置と、前記ビーコンフィンガープリントに関連する前記モバイルコンピューティングデバイス既知の実際の位置と、の間の第2のエラーを判定するステップと、
前記スケーリングされた地理的領域の複数のレベルに対して、前記第１のエラーと前記第２のエラーとの間の相関を判定するステップと、
前記スケーリングされた地理的領域を選択するステップであって、前記第１のエラーと前記第２のエラーが、相関しきい値を充足する前記スケーリングされた地理的領域を選択するステップと、
前記選択されたスケーリングされた地理的領域と、対応するエラー半径とを、前記データ構造の関連付けられたフィールドに包含させるステップと、
を含む、コンピューター実装方法。
【請求項２】
前記対応するエラー半径を返すステップは、
前記計算された位置を含む前記全地球投影参照システムにおける前記スケーリングされた地理的領域が、前記データ構造の或るレベルにおいて特定されるかどうかを判定するステップと、
前記全地球投影参照システムにおける前記スケーリングされた地理的領域が前記データ構造の前記レベルに存在する場合、前記対応するエラー半径を返すステップと、
前記全地球投影参照システムにおける前記スケーリングされた地理的領域が前記データ構造の前記レベルに存在しない場合、前記計算された位置を含む、他のレベルにおける、より低い解像度のスケーリングされた地理的領域の検索から、前記対応するエラー半径を返すステップと、
を含む、請求項１に記載のコンピューター実装方法。
【請求項３】
前記計算された位置を含むより低い解像度のスケーリングされた地理的領域が前記データ構造に存在しない場合、前記対応するエラー半径として会場レベル(venue-level)のデフォルトを返す、請求項２に記載のコンピューター実装方法。
【請求項４】
モバイルコンピューティングデバイスであって、
アンテナと、
プロセッサーと、
メモリーと
を備え、前記メモリーは、
複数の位置推定エラー半径を有するデータ構造であって、当該複数の位置推定エラー半径は、可変のスケーリングされた地理的領域のレベルに区分された全地球投影参照システムにマッピングされ、前記データ構造の前記位置推定エラー半径のそれぞれのエラー半径は、それぞれ１つのエラー半径として計算され、当該エラー半径の、対応するパーセンテージエラーが、しきい値パーセンテージを上回るようになり、当該しきい値パーセンテージが、或るスケーリングされた領域に割り当てられ、当該或るスケーリングされた領域の中に推測された複数の位置が配置されるものと、
前記メモリーに記憶されたコードと、
を含み、
前記コードが、
前記プロセッサーに、
会場(venue)についての位置調査情報を受信するステップであって、当該会場に対して、限定的な全地球測位システム（ＧＰＳ）データのみが利用可能であり、前記位置調査情報が、第１のデータセット、及び、第２のデータセットを含み、前記位置調査情報が、前記モバイルコンピューティングデバイスのアンテナを介して検出された、無線ビーコンの、観測された位置を含み、前記位置調査情報が、ビーコンフィンガープリントを含むものと、
前記スケーリングされた地理的領域の複数のレベルに対して、前記第1のデータセットに基づく複数の第1の推定された位置と、前記ビーコンフィンガープリントに関連する前記モバイルコンピューティングデバイス既知の実際の位置と、の間の第1のエラーを判定するステップと、
前記スケーリングされた地理的領域の複数のレベルに対して、前記第２のデータセットに基づく複数の第２の推定された位置と、前記ビーコンフィンガープリントに関連する前記モバイルコンピューティングデバイス既知の実際の位置と、の間の第2のエラーを判定するステップと、
前記スケーリングされた地理的領域を選択するステップであって、前記第１のエラーと前記第２のエラーが、相関しきい値を充足する前記スケーリングされた地理的領域を選択するステップと、
前記選択されたスケーリングされた地理的領域と、対応するエラー半径とを、前記データ構造の関連付けられたフィールドに包含させるステップと、
前記モバイルコンピューティングデバイスの推測された位置を計算するステップ、
前記データ構造を用いて、前記推測された位置に関連付けられたスケーリングされた地理的領域を、判定するステップ、および、
前記推測された位置に関連付けられた前記スケーリングされた地理的領域にマッピングされた対応するエラー半径を、前記データ構造から返すステップ、
を行うように命令する、
モバイルコンピューティングデバイス。
【請求項５】
前記対応するエラー半径を、前記データ構造から返すステップが、
前記推測された位置を含む前記全地球投影参照システムにおけるスケーリングされた前記地理的領域が、前記データ構造の或るレベルにおいて特定されるかどうかを判定するステップと、
前記全地球投影参照システムにおける前記スケーリングされた地理的領域が前記データ構造の前記レベルに存在する場合、前記対応するエラー半径を返すステップと、
前記全地球投影参照システムにおける前記スケーリングされた地理的領域が前記データ構造の前記レベルに存在しない場合、前記計算された位置を含む、他のレベルにおける、より低い解像度のスケーリングされた地理的領域の検索から、前記対応するエラー半径を返すステップと、
を含む、請求項４に記載のモバイルコンピューティングデバイス。
【請求項６】
前記推測された位置を含むより低い解像度のスケーリングされた地理的領域が前記データ構造に存在しない場合、前記対応するエラー半径として会場レベルのデフォルトを返す、請求項５に記載のモバイルコンピューティングデバイス。
【請求項７】
前記データ構造は、会場に関連するそれぞれの推測された位置について、少なくとも１つの会場レベルのデフォルトエラー半径を更に含む、請求項５に記載のモバイルコンピューティングデバイス。 
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、ロケーションエラー半径判定に関する。
【背景技術】
【０００２】
[0001]ロケーション推定は、デバイスの場所を確定するためにモバイル処理デバイスによって使用され、デバイスのいくつかのアプリケーションによって使用される機能である。一般に、ロケーション推定技法は、位置を計算するためにいくつかの異なるデータソースを使用することができる。Ｗｉ−Ｆｉ位置決めシステムは、ワイヤレスアクセスポイントの可用性を使用するようなデバイスが屋内にある時、ロケーション情報を提供することができる。そのようなアプローチの精度は、位置決めアルゴリズムに知られている位置の数に依存する。しかしながら、生じる得る可能性のある信号の変動が、ユーザーの経路のエラーおよび不正確さを高める可能性がある。典型的には、エラー半径が、判定の精度を反映する計算された位置に対して判定される。マッピングアプリケーションなどのいくつかのアプリケーションでは、エラー半径は計算された位置の周りに表示される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]処理デバイスの推測された（または計算された）位置の精度を反映するエラー半径を判定するための技術が提供される。データ構造は、推測された位置が判定できる領域を含む、スケーリングされた地理的領域または「タイル」にマッピングされたエラー半径を含む。ビーコンの観測結果に基づく推測された位置の任意の計算では、データ構造内の新しく推測された位置を含む対応するスケーリングされた領域の迅速なルックアップが、新しく推測された位置についてのエラー半径を返す。
【課題を解決するための手段】
【０００４】
[0003]データ構造は、全地球投影参照システムに基づくスケーリングされた地理的領域を特定する複数の第１のフィールドと、第１のフィールドのそれぞれについて、スケーリングされた地理的領域およびレベルに関連付けられた位置エラー半径を特定する複数の第２のフィールドとを含むことができる。それぞれの位置エラー半径は、関連付けられたスケーリングされた地理的領域における推測された位置の少なくともしきい値パーセンテージに対して最大エラー半径となるように計算される。
【０００５】
[0004]この発明の概要は、発明を実施するための形態においてさらに後述される抜粋された概念を簡略化された形式で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することは意図されていないし、特許請求される主題の範囲を判定するのに役立つように使用されることも意図されていない。
【図面の簡単な説明】
【０００６】
【図１】[0005]位置計算のために利用されるワイヤレスビーコンに対するモバイルコンピューティングデバイスを示すブロック図である。
【図２】[0006]複数のワイヤレスビーコンがある屋内ロケーションの分解斜視図である。
【図３】[0007]位置およびエラー半径を判定するための本技術による方法を表すフローチャートである。
【図４】[0008]第１の処理デバイスおよびコンピューティングデバイスの機能表現のブロック図である。
【図５】[0009]第２の処理デバイスおよびコンピューティングデバイスの機能表現のブロック図である。
【図６】[0010]本技術に従ってエラー半径を判定する際に使用するためにデータ構造をポピュレートする方法を表すフローチャートである。
【図７】[0011]図３におけるエラー半径を判定するステップを示すフローチャートである。
【図８】[0012]図８Ａはさまざまなレベルのスケーリングされた地理的領域による全地球投影参照システムを示す図である。
【０００７】
[0013]図８Ｂはデータ構造を示す図である。
【図９Ａ】[0014]２つのデータセットに基づく計算された推測された位置間の相関のグラフである。
【図９Ｂ】[0015]スケーリングされた地理的領域のセットの相関をタイルで示す図である。
【図９Ｃ】[0016]計算されたエラー半径に対する累積分布関数（ＣＤＦ）の関数を示す図である。
【図１０】[0017]処理システムのブロック図である。
【図１１】[0018]第２の処理システムのブロック図である。
【発明を実施するための形態】
【０００８】
[0019]処理デバイスの推測された（または計算された）位置の精度を反映するエラー半径を判定するための技術が提供される。推測された位置が判定できる領域を含む、スケーリングされた地理的領域または「タイル」にマッピングされたエラー半径を含むデータ構造が提供される。データ構造内のそれぞれのエラー半径は、相関性を持つ推測された位置のしきい値パーセンテージに正確であるように計算されている。それぞれのエラー半径とスケーリングされた地理的領域との関連付けは、所与のロケーションのビーコン観測結果に基づく２セットのデータ（トレーニングデータセットおよびテストデータセット）について判定され、かつ、該ロケーションについてのグランドトゥルースデータに対する、推測された位置におけるエラー間の相関から生じる。相関に対するしきい値のパーセンテージエラーが確定され、しきい値を満たすスケーリングされた領域がデータ構造に含められる。新しい観測結果に基づく推測された位置を後に計算する場合は、データ構造内の対応するスケーリングされた領域の迅速なルックアップが、推測された位置についてのエラー半径を返す。エラー半径は、処理デバイス上のロケーション認識アプリケーションのユーザーに対するフィードバックを提供するために使用できる。この技術は、ネットワークを介してモバイルデバイスに連結されるコンピューティングシステム上のモバイル処理デバイス上で全てが行われても、またはモバイルデバイスと、ネットワーク接続されたコンピューティングシステムとの間で分けてもよい。
【０００９】
[0020]この開示の文脈において、推測された位置は、緯度、経度、ならびに、会場識別子、店舗識別子、および、会場の範囲内のフロアー識別子などの他の論理的なロケーション情報を含むことができる。図１は、モバイルデバイスの位置を計算するために１つまたは複数のビーコン１１０ａ〜１１０ｄ、または他のセルサイト１２０ａ、１２０ｂを利用する複数のモバイルコンピューティングデバイス１０２、１０４のブロック図を示す。モバイルコンピューティングデバイス１０２、１０４は、ビーコン１１０、１２０の１つまたは複数を観測するか、その他の方法で検出し、かつ、位置を計算するためにこれらのビーコンからの信号を利用する。例示のビーコンは、携帯電話中継塔、基地局、無線基地局、基地局サイト、および／または、任意の数量およびタイプの休暇モードをサポートする任意の他のネットワーク要素を含む。典型的には、ビーコン１１０ａ〜１１０ｄはワイヤレスフィデリティー（Ｗｉ−Ｆｉ）ビーコンを表す。該ビーコンは、ビルの内部など、他のタイプの信号が存在しない場合がある領域における位置をモバイルデバイスが計算することを可能にする情報を提供する既知の伝搬特性および信号を有する。モバイルコンピューティングデバイス１０２、１０４のそれぞれは、それぞれの観測されたビーコン１１０、１２０の特性を記憶することができる。いくつかの実施形態では、例示の特性は、観測するモバイルコンピューティングデバイスの緯度および経度、ならびに観測時間を含む。会場などの内部のロケーションにおいて、観測結果は、フロアーロケーションといったより詳細な情報を含むことができる。
【００１０】
[0021]それぞれのモバイルコンピューティングデバイスはそれ自体で位置計算を行うことができるか、または、ネットワーク５０を介してロケーションサービスプロバイダー１２５に接続することができる。それぞれのモバイルデバイスは、カルマンフィルター（または他の方法）をビーコンフィンガープリント（例えば、コンピューティングデバイスによって観測されるビーコンのセット）に適用して、推測されたデバイスの位置を得ることができる。デバイスエラー半径は、本明細書で論じられるデータ構造から取得される。エラー半径は、推定されるデバイスエラー半径を半径として有する円として反映可能である。その結果、特定のビーコンが所与の信頼レベルで検出される場合、図４の４１８で示されるように、推定されたビーコン半径を持ち、推定されたビーコンの位置に中心がある円の範囲内にある推測されたデバイスの位置を得ることができる。
【００１１】
[0022]ロケーションサービスプロバイダー１２５は、モバイルコンピューティングデバイス（１０２、１０４）の観測結果、浸透性の高いロケーションの調査、および、集められロケーションサービスプロバイダー１２５に記憶された他のデータに基づくロケーション計算を行うことができる。いくつかの実施形態では、ロケーションサービスプロバイダー１２５は、多数の異なるモバイルコンピューティングデバイスからのデータのみならず、本明細書ではグランドトゥルースとして言及される、既知の実際の位置に対するビーコンのスケジュールされた観測結果を収集してよい。モバイルコンピューティングデバイス１０２、１０４は、観測された位置、および、さまざまなロケーションにおいて観測されたビーコンの特性を、ネットワーク５０を介してロケーションサービスへ送ることができる。ロケーションサービスプロバイダー１２５は、ロケーション判定サービスをネットワーク５０を介してモバイル処理デバイスへ提供するために、本明細書に示されるように１つまたは複数のコンピューティングデバイスを動作させてよい。
【００１２】
[0023]計算または推測された位置は、両方の位置を含み、かつ、関連付けられたエラー半径を有することができる。エラー半径は、位置の計算に存在する場合がある不確実性またはエラーの反映である。計算された位置を使用してマッピングアプリケーションによって表示されるようなエラー半径の実例が、図４に示される。一般に、エラー半径は、計算された位置のユーザーに計算の相対的な精度を示す、計算された位置を取り囲む領域を表す。
【００１３】
[0024]観測結果は、位置を判定するために全地球測位システム（ＧＰＳ）サービスと併せて使用されてよい。いくつかの事例では、ＧＰＳデータは利用可能ではない。ＧＰＳは、地球を周回し、かつ、ＧＰＳ受信機によって受信され、該ＧＰＳ受信機が自機のロケーション、速度、および方向を判定することができる無線信号を送信する２ダース以上のＧＰＳ衛星を使用する衛星ナビゲーションシステムである。よって、ＧＰＳ衛星は地上のＧＰＳ受信機に信号を送信し、ＧＰＳ受信機はそれらの衛星信号を受動的に受信し、その信号を処理する（しかし一般にはＧＰＳ受信機自体の信号は全く送信しない）。しかしながら、モバイルコンピューティングデバイスがビルの会場の内部に存在する時には、ＧＰＳデータへのアクセスは一般に受信するのが困難である。それ故に、ＷｉＦｉまたは他の情報を使用すると、より正確な推測された位置データをもたらすことができる。
【００１４】
[0025]図２は、構造の内部を中心に位置決めされる複数のＷｉ−Ｆｉビーコンを有する会場２００の分解斜視図を示す。会場２００は、例えば、ショッピングモール、学校、オフィスビル、空港、またはＧＰＳデータへのアクセスが容易に利用可能ではない他のビルであってよい。図２は、会場２００の１階２１０および２階２１２を示す。複数の壁２２０が、会場２００内のさまざまな部屋２２５を分離する。ビーコン１１０は構造２００の両方のフロアー全体を通して位置決めされる。処理デバイスは、処理デバイスの位置を計算するために、会場２００内のビーコンの特性を使用することができる。一般に、計算された位置は、情報をユーザーに提供するために計算された位置を利用するアプリケーションへ返される。いくつかの種々のタイプのロケーションアプリケーションがあるが、マッピングアプリケーションは典型的には計算された位置を使用するものである。
【００１５】
[0026]局所的な位置決めは、多くの種々の特性を利用して行われる。信号の物理的特性を使用するものがあり、また信号が宛先ノードに達するのにかかる時間を使用するものもある。いくつかの一般的な位置決め方法は、到着角、セルＩＤ、到着時間、到着時間差、および、電力ベースのワイヤレス位置決め方法を含む。１つの一般的なアプローチは、特定の領域における信号強度情報の調査を採用する。この情報は、その領域の信号強度フィンガープリントを記述するデータベースを形成する。データベースは、特定のパターンマッチングアルゴリズムによってモバイルデバイスのロケーションを判定するために後に使用される。別の電力ベースのワイヤレス位置決めアプローチは、信号強度と送信機からの距離との間の関係を推定するために経路損失モデルを使用する。３つ以上の送信機からの推定された距離は、デバイスの最終的な位置を三辺測量で求めるために使用される。前述の方法のいずれも本技術に従って利用されてよい。
【００１６】
[0027]図３は、本技術に従って、モバイル処理デバイスの計算または推測された位置に関連付けられたエラー半径を判定するための方法を示すフローチャートである。この方法は、モバイル処理デバイス単独で全体もしくは一部が行われても、または、ロケーションサービス１２５と通信および協働して行われてもよい。ステップ３１０では、１つまたは複数の物理施設についての位置調査情報が得られる。位置調査情報は、施設において検出されるビーコンのロケーションのビーコンフィンガープリントを含んでよい。所与の時点でモバイルコンピューティングデバイス１０２、１０４によって検出されるビーコンは、位置観測結果を表し、ビーコンフィンガープリントを含む。ビーコンフィンガープリントは、信号強度、および観測日時などの検出の他の属性を含むこともできる。施設は、屋内施設である必要はなく、複数のビーコンが存在するロケーションであってよい。サイト情報を集めるための１つの機構が、米国特許出願第２０１４００５７６５１号に開示される。
【００１７】
[0028]一般に、位置調査情報は、モバイル処理デバイスを使用してサイトを物理的に調査し、ロケーションについてのビーコンフィンガープリントを判定し、会場のビーコンフィンガープリントに関連付けられる実際のロケーションのグランドトゥルースデータのセットを確立することによって集められてよい。特定の会場のグランドトゥルースを確立するために、会場の観測データは観測データの既知の位置に関連付けられる。観測データは、所与の時間にビーコンフィンガープリントにマッピングされる（既知の緯度、経度、およびフロアーの位置に関する）既知の位置情報を使用した調査によって関連付けられてよい。マップロケーションのセットのそれぞれにおける既知のビーコンのフィンガープリントが作成される。
【００１８】
[0029]グランドトゥルースおよび観測結果は、下で論じられるように、推測された位置を計算して、複数のデータセットについて、推測された位置と既知の位置との間のエラー距離を判定するために使用される。さまざまなレベルのスケーリングされた地理的領域における推測されたエラー間の相関を使用して、推測された位置におけるエラー半径の精度を査定し、かつ、エラー半径を全地球投影参照システムにおけるスケーリングされた地理的領域の特定のセットのそれぞれに割り当てる。
【００１９】
[0030]ステップ３２０において、調査されたロケーションのいずれかについて、エラー統計を使用して、スケーリングされた地理的領域内の計算または推測された位置間のしきい値相関を上回るものを実現するエラー半径を判定する。エラー半径が選択された相関しきい値を上回って正確である可能性が高いことをエラー統計が示すスケーリングされた地理的領域が、３３０において、データ構造内でエラー半径に関連付けられる。ステップ３２０および３３０は、モバイル処理デバイス上で、または、１つもしくは複数の処理デバイス上のロケーションサービスプロバイダーによって行われ得ることは理解されるべきである。あらかじめ定められたスケーリングされた地理的領域内の領域を判定する方法は、図６に関して論じられる。
【００２０】
[0031]データ構造が３３０で作成されると、データ構造は、モバイルコンピューティングデバイス１０２、１０４に記憶されるか、および／または、ロケーションサービス１２４において維持できる。これによって、位置および関連付けられたエラー半径を推測しようとするそれぞれのモバイルコンピューティングデバイスは、デバイス上でリアルタイムでデータ構造を参照して、正確なエラー半径を迅速に取得することが可能になる。
【００２１】
[0032]３３０におけるデータ構造の作成後の任意の時点で、ステップ３４０においてロケーション判定要求が受信される。該要求は、ロケーションサービスまたはモバイル処理デバイスによって受信できる。３４５において、３４０で要求を生じさせるデバイスのロケーションの位置観測結果（フィンガープリント）が取得される。ステップ３５０では、推測された位置は、要求元のデバイスによって行われる位置観測結果から計算される。ロケーション判定計算のために利用される特定のアルゴリズムに従って、ステップ３５０で、推測された位置が、要求元のデバイスに対して計算される。
【００２２】
[0033]推測された位置が計算されると、３６０で、推測されたロケーションの位置に一致するデータ構造内の対応するスケーリングされた地理的領域のルックアップで、スケーリングされた地理的領域に関連付けられたエラー半径を判定する。３７０では、判定された推測されたロケーションについて、該ロケーションに関連付けられたエラー半径が、スケーリングされた地理的領域に基づいて返される。
【００２３】
[0034]図４は、図１のモバイル処理デバイス１０２、１０４のうちの１つを含むことができ、かつ、以下の図１０に示されるようなモバイルデバイスの要素を含むことができるモバイルコンピューティングデバイス４００のブロック図を示す。コンピューティングデバイス４００は、例えば、プロセッサー４１２およびユーザーインターフェイス４１８を含んでよい。ユーザーインターフェイス４１８のディスプレイの分解図は、推測されたロケーションの指示４１５を取り囲むエラー半径４１７と共に推測された位置の指示４１５がマップ上に表示された、会場２００などの会場のマップ２００ａの平面図を示す。
【００２４】
[0035]デバイス４００は、複数の位置観測結果４１１、４２２を記憶することができるメモリー４１０を含む。２つの位置観測結果４１１および４２２のみが示されるが、いくつかの位置観測結果がメモリー４１０に存在することになることは理解されるであろう。それぞれの位置観測結果は、ビーコン４０２のフィンガープリントおよび関連付けられたビーコンデータ４０４を含む。位置観測結果は位置計算アプリケーション４２０によって利用可能である。位置計算アプリケーション４２０を利用して、推測された位置を位置観測結果４１１、４２２から計算することができる。位置計算アプリケーション４２０は、エラー半径を位置計算アプリケーションによって計算された推測されたロケーションに割り当てるために、エラー半径とスケーリングされた領域のデータ構造４２５を利用することができる。ロケーション認識アプリケーション４３０は、いくつかの目的のいずれについても計算アプリケーションの位置によって計算された推測された位置を利用する。一実施形態（図４に示される）では、ロケーション認識アプリケーションは、マップアプリケーションであってよく、ユーザーインターフェイス上にエラー半径と共に推測する位置を表示できる。多数の他のタイプのアプリケーションが推測されたロケーションを利用し、本明細書で論じられる技術がマッピングアプリケーションであるロケーション認識アプリケーションに限定されないことは理解されるであろう。
【００２５】
[0036]図５は、一実施形態において図３に示されるステップを行うことができるコンピューティングデバイス５００の機能コンポーネントのブロック図を示す。コンピューティングデバイス５００はプロセッサー５１２およびユーザーインターフェイス５１８を含む。デバイス５００は、観測された位置５１１およびグランドトゥルース観測結果５２２を含むコンポーネントが設けられているメモリー５１０をさらに含むことができる。上で述べられたように、グランドトゥルース観測結果は、既知の位置における位置のセット（緯度、経度、およびフロアー）に対して、既知の位置において観測される既知のビーコンのフィンガープリントのセットを含んでよい。図６に関して後述されるように、この情報は、スケーリングされた地理的領域にマッピングされるエラー半径を判定するために、位置観測結果と併せて利用できる。図６の方法を行う際に、位置観測結果のセット５２０は、トレーニングデータセット５５０およびテストデータセット５６０に分けられる。メモリー５１０は、スケーリングされた地理的領域データ５７０、相関アプリケーション５８０、半径計算アプリケーション５７５をさらに含むことができ、任意で、位置計算アプリケーション５７６およびロケーション認識アプリケーション５７８を含むことができる。スケーリングされた地理的領域を使用する全地球投影参照システムの一例は、Ｂｉｎｇ  Ｍａｐｓ  Ｔｉｌｅシステム（ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｌｉｂｒａｒｙ／ｂｂ２５９６８９．ａｓｐｘ）である。そのシステムで使用されるタイルは、スケーリングされた地理的領域データを含むことができる。スケーリングされた地理的領域は図８Ａに関して示され、説明される。位置計算アプリケーション５７６は、図４に示されるのと同様のやり方で動作する。ロケーション認識アプリケーション５７８は、図４に関して上述されるようなアプリケーションと同様であってよい。
【００２６】
[0037]図６は、本技術に従って、エラー半径対タイルのデータ構造を作成するために、推測されたエラー相関を有するスケーリングされた地理的領域に関連付けられたエラーが、定められたしきい値を上回るかを判定する、図３におけるステップ３３０を行うための方法を示す。ステップ６１０では、ロケーションについての調査データが収集される。調査データは、推測された位置が計算可能である観測結果のセットになる。調査データはロケーションについてのグランドトゥルースデータと異なる。これによって、（図３のステップ３４０と同様に）位置判定を求めるリアルタイムの要求がなされる時には真の位置は実際のところ未知であるため、スケーリングされた地理的領域と相関付けられるエラー半径を、真の位置ではなく、推測された位置に基づかせることが可能になる。
【００２７】
[0038]６１５において、調査データは、トレーニングデータセットおよびテストデータセットに分割される。トレーニングデータセットはトレーニング位置観測結果を含み、テストデータセットはテスト位置観測結果を含む。いくつかの実施形態では、トレーニングデータセットはロケーションモデルを構築するために使用され、テストデータセットおよびロケーションモデルはトレーニングデータに対してテストされる推測されたロケーションを生成するために使用される。推測された位置の計算は、トレーニングデータセットおよびテストデータセットのそれぞれ、それぞれのデータセットの推測された位置と計算されたグランドトゥルースとの間のエラー、および、計算が、特定のスケーリングされた地理的領域に対するエラー半径における計算に依拠するのに十分正確であるかどうかを判定するために使用される２つのエラー間の相関から導出可能である。
【００２８】
[0039]６２０では、ロケーション位置モデルが、トレーニングデータセットを使用して作成される。ロケーション位置モデルの作成は、位置観測結果から位置を推測するために使用されることになる特定の計算の作成である。パターンマッチングアルゴリズム、三辺測量、または、Ｋ．ＣｈｉｎｔａｌａｐｕｄｉおよびＶ．Ｐａｄｍａｎａｂｈａｎによる「Ｉｎｄｏｏｒ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ｗｉｔｈｏｕｔ  ｔｈｅ  Ｐａｉｎ」、ＭＯＢＩＣＯＭ、Ａｓｓｏｃｉａｔｉｏｎ  ｆｏｒ  Ｃｏｍｐｕｔｉｎｇ  Ｍａｃｈｉｎｅｒｙ，Ｉｎｃ．、２０１０年９月（ｈｔｔｐ：／／ｒｅｓｅａｒｃｈ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｐｕｂｓ／１３５７２１／ｅｚ−ｍｏｂｉｃｏｍ．ｐｄｆ）に記載される方法を使用する、いくつかの異なるタイプの位置計算のいずれも利用可能である。
【００２９】
[0040]６２５では、トレーニングデータセットは、トレーニングデータエラー結果を判定するために６２０において選択されたロケーション位置モデルを使用して評価される。ステップ６２５における評価は、トレーニングデータセットにおける観測結果のセットについて、グランドトゥルースデータに対する位置についての位置および距離エラーを判定することを含むことができる。６３０において、ステップ６２５と同様のやり方で、テストデータセットが、ロケーション位置モデルを使用して評価されて、テストデータエラー結果を返す。
【００３０】
[0041]６３５では、トレーニングエラーおよびテストエラーは、スキル地理的領域（タイル）単位で、ならびに会場ごとにおよびフロアーごとに集約されて、それぞれのスケーリングされた地理的領域に対して（すなわち、タイルごとに）累積分布関数（ＣＤＦ）を使用してエラー統計を取得し、エラー結果を、それぞれに対して計算された推測された位置に基づいて、それぞれのスケーリングされた地理的領域に割り当てる。したがって、エラー結果が属するスケーリングされた領域は、真の位置ではなく推測された位置に基づく。図９Ａは、スケーリングされた地理的領域についての累積分布関数のグラフである。Ｘ軸値はエラー距離を含み、Ｙ軸値はパーセンテージエラーである。
【００３１】
[0042]図８Ａは、本明細書において使用するのに適したスケーリングされた地理的領域の３つのレベルを示す。この例で使用されるスケーリングされた地理的領域および投影システムはＢｉｎｇ  Ｍａｐｓ  Ｔｉｌｅシステムである。図８Ａに示されるように、それぞれのスケーリングされた領域またはタイルレイヤーは均一サイズのタイルファイル（２５６×２５６画素）のセットから成る。これらのタイルのそれぞれは、球面ウェブメルカトル図法において固定の全球的な格子上で位置合わせされる。それぞれのタイルは、所定の固定されたズームレベルにおける地上の画像またはマップである。よって、任意のズームレベルにおけるあらゆるタイルにあるあらゆる画素が単一の固定の地上ロケーションを表す。タイルセットにおけるタイルの数（およびその記憶されたサイズ）は、図示される領域のサイズ、ソース画像またはマップの解像度、および、タイルセットを見るために作成されたズームレベル数に依存する。Ｂｉｎｇ  Ｍａｐｓは、図８Ａの実例に示されるような番号付けされた一連のズームレベルを使用する。最小詳細ズームレベルはレベル１であり、このレベル１は、２×２のグリッドのタイルで地球全体を表す。これら４つのタイルの共通の隅は、０度の経度および０度の緯度に位置する。ズームレベルが整数増加する度に、南北方向および東西方向の両方においてタイルの数が２倍になる。ズームレベル２は４×４のグリッドのタイル、ズームレベル３は８×８のグリッドのタイルで地球を包含し、以降同様に続く。タイルサイズは固定されるため、ズームレベルが増加する度に、タイル中で１画素によって表される地上における領域のサイズも２分の１ずつ縮小し、それによって、ズームレベルが高いほどタイルセットにおける視覚的な詳細を高める。
【００３２】
[0043]テストエラーをスケーリングされた地理的領域に割り当てることは、ステップ６４０において、投影システムにおけるいくつかの選択されたレベル（この例では３つのレベル）でそれぞれのタイルに対して、および、６４５において、それぞれの会場およびフロアーについてエラー百分位数のセットに対して行われてよく、６５０において、各点に対して、トレーニングエラーデータがＸ値として使用され、かつ、テストエラーがＹ値として使用されるデータ点のグラフが作成される。一実施形態では、トレーニングエラーおよびテストエラー両方についての定められたサンプルサイズを上回るデータ点のみ、例えば３０個のサンプルが有効と考えられる。
【００３３】
[0044]このグラフ化が図９Ａおよび図９Ｂに示される。図９Ａは、９５％のエラータイルのグラフの拡大図である。図９Ｂは、５０％、６７％、８０％、８５％、９０％および９５％のパーセンテージエラーについて、会場に対する、スケーリングされた投影システムのレベル１８、１９および２０についてのエラー統計を示す。図９Ａ、Ｘ値としてのエラーデータ、およびＹ値としてのテストデータに示されるように、テストエラー間の完全な相関は、１の傾きを有するデータ点の線をもたらすことになる。しかしながら、図９Ａおよび図９Ｂに示されるように、より低い（より低い解像度）レベルのおよびより低いエラーパーセンテージのデータ点は、この分布に近づくことになる。図９Ｂに示されるプロットでは、９５％のエラーにおけるレベル１９のスケーリングされた領域（タイル）は許容できる可能性がある。
【００３４】
[0045]６５５では、テストエラーにおけるトレーニングエラーが一定の距離内にある場合は、スケーリングされた地理的領域が使用のために選択される。例えば、スケーリングされた地理的領域は、トレーニングエラーとテストエラーとが十分近い場合、例えば、５メートル内または１０メートル内にある場合に、相関要件を満たすとされる。最高レベルの解像度（例ではレベル２０）から最低レベルの解像度（例ではレベル１８）までの選択が生じる。
【００３５】
[0046]６６０では、スケーリングされた地理的領域は、それぞれのレベルの解像度に対して、ならびに、それぞれの会場、フロアー、およびタイルに対して選択され、相関性を持つタイルは、エラー半径データ構造に含めるために選択される（そうでないものはスキップされる）。会場についてのエラーモデルは、＜フロアー−タイル，９５％のエラー＞のキーと値のペア、およびフロアーレベル９５％のエラーから成る。図９Ｃは、特定のタイルに対して判定されるエラー距離に対するパーセンテージエラーのグラフを表す。この例において、推定された位置の９５％は、所与の半径距離より小さいエラーを有することになる。
【００３６】
[0047]６６５では、スケーリングされた地理的領域は、図８Ｂに示されるようなデータ構造内のエラー距離にマッピングされる。一実施形態では、データ構造は、注目位置で使用されるタイルをモバイルデバイスにマッピングすることと併せて、エラー半径をデバイス上で局所的に判定するためにモバイル処理デバイスに提供される。ステップ６６５は図３のステップ３３０に相当する。
【００３７】
[0048]上述の例において、さまざまなパラメータが本技術から逸脱することなく変えられてよいことは認識されるべきである。例えば、上述の例では９５％のエラーを有するタイルが使用されるが、異なるエラーレベルが使用されることになる。図７は、判定されたロケーションに対応するスケーリングされた地理的領域をルックアップし、かつ、対応するエラー距離を返すために図３のステップ３６０を行うための方法を示す。図７に示される例、および当該技術の一実施形態では、位置決めシステムは、ロケーション認識アプリケーションについてマッピングデータを返すためにスケーリングされた地理的領域を利用してよい。このようなケースでは、推測された位置に対応するタイルは、推測された位置から既知となるであろう。図３に示されるように、ステップ３５０では、モバイル処理デバイスの位置が、調査データおよび検出されるビーコンを使用して推測される。次に、ステップ３６０では、エラー半径の計算が、最初に７１０において推測された位置を使用することによって行われ、最高レベルから最低レベルまでの解像度で対応するタイルを判定するために使用される。７１５では、特定の領域に対する最高レベルの解像度を有する第１のスケーリングされた領域が選択される。図８Ａに示される例では、レベル２０が最高レベルの解像度である。７２０では、見つかった最高レベルのタイルがエラー半径データ構造に存在するかどうかについての判定が行われる。選択されたタイルが９５％のエラー半径を有する場合は、そのタイルについてのエラー半径が７３５で返され、そうでない場合は、７２５において、次のレベルのより低い解像度が利用可能であるか否かについての判定が行われる。利用可能である場合、次のレベルと解像度が７３０で選択され、方法は７２０に戻る。追加のタイルが利用可能でない場合、データ構造は、会場についてのフォールバックエラー半径、および、会場についてのフォールバックに関連付けられたエラー半径が７４０で返されることを含んでよい。
【００３８】
[0049]図１０は、開示された技術の動作を実装するためのモバイルデバイスの例示のブロック図を示す。典型的なモバイルフォンの例示の電子回路が示される。モバイルデバイス１４００は、１つまたは複数のマイクロプロセッサー１４１２、および、本明細書に記載される機能性を実施するために制御プロセッサー１４１２の１つまたは複数のプロセッサーによって実行されるプロセッサー可読コードを記憶するメモリー１４１０（例えば、ＲＯＭなどの不揮発性メモリー、およびＲＡＭなどの揮発性メモリー）を含む。
【００３９】
[0050]モバイルデバイス１４００は、例えば、プロセッサー１４１２、アプリケーションおよび不揮発性記憶域を含むメモリー１４１０を含むことができる。プロセッサー１４１２は、通信手段のみならず、本明細書に論じられるアプリケーションを含む、任意の数のアプリケーションを実装できる。メモリー１４１０は、不揮発性メモリーおよび揮発性メモリーを含む、任意のさまざまなメモリー記憶媒体タイプとすることができる。デバイスオペレーティングシステムは、モバイルデバイス１４００の種々の動作に対処し、通話の発信および受信、テキストメッセージの送受信、ボイスメールのチェックなどの動作のためのユーザーインターフェイスを含んでよい。アプリケーション１４３０は、写真および／もしくはビデオ用のカメラアプリケーション、アドレスブック、カレンダーアプリケーション、メディアプレーヤー、インターネットブラウザー、ゲーム、アラームアプリケーション、または、他のサードパーティーのアプリケーションといったプログラムの任意の取り合わせとすることができる。メモリー１４１０における不揮発性記憶コンポーネント１４４０は、ウェブキャッシュ、音楽、写真、連絡先データ、スケジュールデータ、および他のファイルといったデータを含む。
【００４０】
[0051]プロセッサー１４１２はまた、次にアンテナ１４０２に連結されるＲＦ送信／受信回路１４０６と、赤外線送信機／受信機１４０８と、および、加速度計および磁気計１４１５などの運動／方位センサー１４１４と通信する。加速度計はモバイルデバイスに組み入れられており、ユーザーにジェスチャーを通してコマンドを入力させる知的ユーザーインターフェイスなどのアプリケーション、および、ＧＳＰ衛星との接触の遮断後、デバイスの運動および方向を計算する屋内ＧＰＳ機能性を可能にし、かつ、電話が回転される時、デバイスの方位を検出して、縦方向から横方向へディスプレイを自動的に変更する。例えば、半導体チップに組み込まれた（マイクロメートル寸法の）極めて小さい機械デバイスであるマイクロ電気機械システム（ＭＥＭＳ）による加速度計が設けられることが可能である。加速方向、ならびに、方位、振動および衝撃は感知可能である。プロセッサー１４１２は、リンガー／バイブレーター１４１６、ユーザーインターフェイスキーパッド／画面１４１８、スピーカー１４２０、マイクロフォン１４２２、カメラ１４２４、光センサー１４２６、および温度センサー１４２８とさらに通信する。磁気計は、モバイルデバイスに組み入れられており、モバイルデバイス付近の磁場の方向および大きさ、ならびに磁場への軌道変更を測定し、かつ、磁場の方向をユーザーへ表示するデジタルコンパスなどのアプリケーションを可能にする。
【００４１】
[0052]プロセッサー１４１２は、ワイヤレス信号の送受信を制御する。送信モード中、プロセッサー１４１２は、マイクロフォン１４２２からの音声信号または他のデータ信号を送信／受信回路１４０６へ提供する。送信／受信回路１４０６は、アンテナ１４０２を通して通信するために、信号をリモート局（例えば、固定局、オペレーター、他のセルラーフォンなど）へ送信する。リンガー／バイブレーター１４１６は、着信、テキストメッセージ、カレンダーリマインダー、目覚まし時計リマインダー、または、他の通知をユーザーに信号で送信するために使用される。受信モード中、送信／受信回路１４０６は、音声または他のデータ信号をアンテナ１４０２を通してリモート局から受信する。受信された音声信号はスピーカー１４２０に提供され、他の受信されたデータ信号はまた、適宜処理される。
【００４２】
[0053]さらには、物理コネクター１４８８は、モバイルデバイス１００をＡＣアダプターまたは電動式ドッキングステーションなどの外部電源へ接続するために使用できる。物理コネクター１４８８は、コンピューティングデバイスへのデータ接続としても使用可能である。データ接続は、モバイルデバイスデータと別のデバイス上のコンピューティングデータとの同期といった動作を可能にする。ユーザーアプリケーションの位置を中継するために衛星を利用した無線ナビゲーションを利用する全地球測位サービス（ＧＰＳ）受信機１４６５は、かかるサービスに対応可能である。
【００４３】
[0054]図１０は、開示された技術の動作を実装するためのモバイルデバイスの例示のブロック図を示す。図１０のデバイスは、例えば図１のデバイス１０２、１０４のより詳細な実例である。典型的なモバイル処理デバイスの例示の電子回路が示される。モバイルデバイス１０００は、１つまたは複数のマイクロプロセッサー１０１２、および、本明細書に記載される機能性を実装するために制御プロセッサー１０１２の１つまたは複数のプロセッサーによって実行されるプロセッサー可読コードを記憶するメモリー１０１０（例えば、ＲＯＭなどの不揮発性メモリー、およびＲＡＭなどの揮発性メモリー）を含む。
【００４４】
[0055]モバイルデバイス１０００は、例えば、プロセッサー１０１２、アプリケーションおよび不揮発性記憶域を含むメモリー１０１０を含むことができる。プロセッサー１０１２は、通信のみならず、本明細書に論じられるアプリケーションを含む、任意の数のアプリケーションを実装できる。メモリー１０１０は、不揮発性メモリーおよび揮発性メモリーを含む、任意のさまざまなメモリー記憶媒体タイプとすることができる。デバイスオペレーティングシステムは、モバイルデバイス１０００の種々の動作に対処し、通話の発信および受信、テキストメッセージの送受信、ボイスメールのチェックなどの動作のためのユーザーインターフェイスを含んでよい。アプリケーション１０３０は、写真および／もしくはビデオ用のカメラアプリケーション、アドレスブック、カレンダーアプリケーション、メディアプレーヤー、インターネットブラウザー、ゲーム、アラームアプリケーション、または、他のサードパーティーのアプリケーションといったプログラムの任意の取り合わせとすることができる。メモリー１０１０における不揮発性記憶コンポーネント１０４０は、ウェブキャッシュ、音楽、写真、連絡先データ、スケジュールデータ、および他のファイルといったデータを含む。
【００４５】
[0056]プロセッサー１０１２はまた、次にアンテナ１００２に連結されるＲＦ送信／受信回路１００６と、赤外線送信機／受信機１００８と、ならびに、加速度計および磁気計１０１５などの運動／方位センサー１０１４と通信する。加速度計はモバイルデバイスに組み入れられており、ユーザーにジェスチャーを通してコマンドを入力させる知的ユーザーインターフェイスなどのアプリケーションや、ＧＳＰ衛星との接触の遮断後にデバイスの運動および方向を計算する屋内ＧＰＳ機能性を可能にし、かつ、電話が回転されるとデバイスの方位を検出して、ディスプレイを縦方向から横方向に自動的に変更する。例えば、半導体チップに組み込まれた（マイクロメートル寸法の）極めて小さい機械デバイスであるマイクロ電気機械システム（ＭＥＭＳ）による加速度計が設けられることが可能である。加速方向、ならびに、方位、振動、および衝撃が感知可能である。プロセッサー１０１２は、リンガー／バイブレーター１０１６、ユーザーインターフェイスキーパッド／画面１０１８、スピーカー１０２０、マイクロフォン１０２２、カメラ１０２４、光センサー１０２６、および温度センサー１０２８とさらに通信する。磁気計は、モバイルデバイスに組み入れられており、モバイルデバイス付近の磁場の方向および大きさ、ならびに磁場への軌道変更を測定し、かつ、磁場の方向をユーザーに表示するデジタルコンパスなどのアプリケーションを可能にする。
【００４６】
[0057]プロセッサー１０１２は、ワイヤレス信号の送受信を制御する。送信モード中、プロセッサー１０１２は、マイクロフォン１０２２からの音声信号または他のデータ信号を送信／受信回路１００６に提供する。送信／受信回路１００６は、アンテナ１００２を通して通信するために、信号をリモート局（例えば、固定局、オペレーター、他のセルラーフォンなど）に送信する。リンガー／バイブレーター１０１６は、着信、テキストメッセージ、カレンダーリマインダー、目覚まし時計リマインダー、または、他の通知をユーザーへ信号で送信するために使用される。受信モード中、送信／受信回路１００６は、音声または他のデータ信号をアンテナ１００２を通してリモート局から受信する。受信された音声信号はスピーカー１０２０へ提供され、他の受信されたデータ信号はまた、適宜処理される。
【００４７】
[0058]さらには、物理コネクター１０８８は、モバイルデバイス１００をＡＣアダプターまたは電動式ドッキングステーションなどの外部電源へ接続するために使用できる。物理コネクター１０８８は、コンピューティングデバイスへのデータ接続としても使用可能である。データ接続は、モバイルデバイスデータと別のデバイス上のコンピューティングデータとの同期といった動作を可能にする。ユーザーアプリケーションの位置を中継するために衛星を利用した無線ナビゲーションを利用する全地球測位サービス（ＧＰＳ）受信機１０６５は、かかるサービスに対応可能である。
【００４８】
[0059]図１１は、当該技術が実装可能であるパーソナルコンピューターなどの適切なコンピューティングシステム環境９００の例を示す。コンピューティングシステム環境９００は、適切なコンピューティング環境の一例に過ぎず、技術の使用または機能性の範囲に関するいかなる限定の示唆も意図するものではない。また、コンピューティング環境９００は、例示のオペレーティング環境９００に示されるコンポーネントの任意の１つまたは組合せに関連するいずれの従属性または要件を有するものとも解釈されないものとする。
【００４９】
[0060]一実施形態では、図９のシステムまたはそのうち複数個は、ロケーションサービス１５０を提供するために使用可能である。
[0061]コンピューター９１０のコンポーネントは、処理ユニット９２０、システムメモリー９３０、および、システムメモリーを含むさまざまなシステムコンポーネントを処理ユニット９２０に連結するシステムバス９２１を含むことができるが、これらに限定されない。システムバス９２１は、メモリーバスまたはメモリーコントローラー、周辺バス、および、さまざまなバスアーキテクチャーのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造のいずれかであってよい。限定ではなく例として、かかるアーキテクチャーは、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロチャネルアーキテクチャー（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、および、メザニンバスとしても既知であるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスを含む。
【００５０】
[0062]コンピューター９１０は典型的には、さまざまなコンピューター可読媒体を含む。コンピューター可読媒体は、コンピューター９１０によってアクセス可能である任意の利用可能な媒体とすることができ、揮発性および不揮発性媒体の両方、ならびに、取り外し可能および取り外し不可能媒体の両方を含む。限定ではなく例として、コンピューター可読媒体はコンピューター記憶域を含んでよい。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するために、揮発性および不揮発性媒体の両方、ならびに、取り外し可能および取り外し不可能媒体の両方を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーもしくは他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスク記憶域、磁気カセット、磁気テープ、磁気ディスク記憶域もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用でき、かつ、コンピューター９１０によってアクセスできる任意の他の媒体を含むが、これらに限定されない。
【００５１】
[0063]システムメモリー９３０は、読み取り専用メモリー（ＲＯＭ）９３１、ランダムアクセスメモリー（ＲＡＭ）９３２などの揮発性および／または不揮発性メモリーの形態のコンピューター記憶媒体を含む。起動中などにコンピューター９１０内の要素間で情報を伝達するのに役立つ基本ルーチンを含む基本入出力システム９３３（ＢＩＯＳ）は、典型的には、ＲＯＭ９３１に記憶される。ＲＡＭ９３２は典型的には、処理ユニット９２０に即座にアクセス可能である、および／または処理ユニット９２０によって現在動作されているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図９は、オペレーティングシステム９３４、アプリケーションプログラム９３５、他のプログラムモジュール９３６、およびプログラムデータ９３９を示す。
【００５２】
[0064]コンピューター９１０は、他の有形の取り外し可能／取り外し不可能な揮発性／不揮発性コンピューター記憶媒体を含むこともできる。単なる例として、図９は、取り外し不可能な不揮発性磁気媒体に対して読み書きするハードディスクドライブ９４０、取り外し可能な不揮発性磁気ディスク９５２に対して読み書きする磁気ディスクドライブ９５１、および、ＣＤ  ＲＯＭまたは他の光媒体などの取り外し可能な不揮発性光ディスク９５６に対して読み書きする光ディスクドライブ９５５を示す。例示のオペレーティング環境において使用できる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピューター記憶媒体は、磁気テープカセット、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、およびソリッドステートＲＯＭなどを含むがこれらに限定されない。ハードディスクドライブ９４１は典型的には、インターフェイス９４０などの取り外し不可能メモリーインターフェイスを通してシステムバス９２１に接続され、磁気ディスクドライブ９５１および光ディスクドライブ９５５は典型的には、インターフェイス９５０などの取り外し可能メモリーインターフェイスによってシステムバス９２１に接続される。
【００５３】
[0065]上で論じられかつ図９に示されるドライブおよびそれらに関連するコンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、およびコンピューター９１０の他のデータの記憶域を提供する。図９では、例えば、ハードディスクドライブ９４１は、オペレーティングシステム９４４、アプリケーションプログラム９４５、他のプログラムモジュール９４６、およびプログラムデータ９４９を記憶するものとして示される。これらのコンポーネントは、オペレーティングシステム９３４、アプリケーションプログラム９３５、他のプログラムモジュール９３６、およびプログラムデータ９３９と同じである場合も、またはこれらと異なる場合もある可能性があることは留意されたい。オペレーティングシステム９４４、アプリケーションプログラム９４５、他のプログラムモジュール９４６、およびプログラムデータ９４９は、少なくとも異なるコピーであることを示すために、ここでは異なる数字で挙げられる。ユーザーは、コマンドおよび情報を、一般的に、マウス、トラックボールまたはタッチパッドと呼ばれる、キーボード９６２およびポインティングデバイス９６１などの入力デバイスを通してコンピューター２０に入力してよい。（図示されない）他の入力デバイスは、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、またはスキャナーなどを含むことができる。これらのおよび他の入力デバイスは、システムバスに連結されるユーザー入力インターフェイス９６０を通して処理ユニット９２０に連結されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェイスおよびバス構造によって接続されてよい。モニター９９１または他のタイプのディスプレイデバイスはまた、ビデオインターフェイス９９０などのインターフェイスを介してシステムバス９２１に接続される。モニターに加えて、コンピューターは、他の周辺インターフェイス９９０を通して接続可能であるスピーカー９９９およびプリンター９９６などの他の周辺出力デバイスを含むこともできる。
【００５４】
[0066]コンピューター９１０は、リモートコンピューター９８０などの１つまたは複数のリモートコンピューターへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピューター９８０は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、コンピューター９１０に関して上述される要素の多くまたは全てを含むが、図９にはメモリー記憶デバイス９８１のみが示されている。図９に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）９９１およびワイドエリアネットワーク（ＷＡＮ）９９３を含むが、他のネットワークを含むこともできる。このようなネットワーク接続環境は、オフィス、企業規模コンピューターネットワーク、イントラネット、およびインターネットでは通常のものである。
【００５５】
[0067]ＬＡＮネットワーク接続環境で使用される時、コンピューター９１０はネットワークインターフェイスまたはアダプター９９０を通してＬＡＮ９９１に接続される。ＷＡＮネットワーク接続環境で使用される時、コンピューター９１０は典型的には、モデム９９２、または、インターネットなどのＷＡＮ９９３上での通信を確立するための他の手段を含む。内蔵型または外付けであってよいモデム９９２は、ユーザー入力インターフェイス９６０または他の適切な機構を介してシステムバス９２１に接続可能である。ネットワーク化された環境では、コンピューター９１０に関して示されるプログラムモジュールまたはその一部は、リモートメモリー記憶デバイスに記憶されてよい。限定ではなく例として、図９は、メモリーデバイス９８１に常駐するようにリモートアプリケーションプログラム９８５を示す。示されるネットワーク接続は例示的なものであり、コンピューター間に通信リンクを確立する他の手段が使用可能であることは理解されるであろう。
【００５６】
[0068]当該技術は、多数の他の汎用のまたは特殊用途向けのコンピューティングシステム環境または構成によって動作可能である。当該技術によって使用されるのに適する場合がある周知のコンピューティングシステム、環境、および／または構成の例として、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースのシステム、セットトップボックス、プログラマブル家電機器、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、および、上記のシステムまたはデバイスなどのいずれかを含む分散型コンピューティング環境などを含むが、これらに限定されない。
【００５７】
[0069]当該技術は、コンピューターによって実行されるプログラムモジュールなどのコンピューター実行可能命令という一般的な文脈において説明可能である。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、および、特定のタスクを行うまたは特定の抽象データ型を実装するデータ構造などを含む。当該技術はまた、通信ネットワークを通してリンクさせるリモート処理デバイスによってタスクが実行される分散型コンピューティング環境において実践可能である。分散型コンピューティング環境では、プログラムモジュールは、メモリー記憶デバイスを含むローカルおよびリモートコンピューター記憶媒体両方に位置することができる。
【００５８】
[0070]主題は、構造的特徴および／または方法論的行動に特有の文言で記載されているが、添付の特許請求の範囲に定められる主題は、必ずしも上述された特有の特徴または行動に限定されないことは理解されたい。むしろ、上述される特有の特徴および行動は、特許請求項を実装する例示的形態として開示されるものである。
【図１】
0006684226.tif 000002
【図２】
0006684226.tif 000003
【図３】
0006684226.tif 000004
【図４】
0006684226.tif 000005
【図５】
0006684226.tif 000006
【図６】
0006684226.tif 000007
【図７】
0006684226.tif 000008
【図８】
0006684226.tif 000009
【図９Ａ】
0006684226.tif 000010
【図９Ｂ】
0006684226.tif 000011
【図９Ｃ】
0006684226.tif 000012
【図１０】
0006684226.tif 000013
【図１１】
0006684226.tif 000014