(57)【特許請求の範囲】
【請求項１】
ユーザの物理的位置に対する位置推定値をより精密化する方法であって、
ユーザの現在位置を推定するステップと、
推定された現在位置を、所定の地理的地域内の特定の物理的位置を識別する、前記ユーザに関連した１つ以上のヒート・マップと比較するステップと、
前記ヒート・マップの選択された１つから関連する適合アドレスの組を決定するステップと、
前記推定された現在位置のプリセット距離内にある、前記選択されたヒート・マップの関連する適合アドレスの組を分析するステップと、
所定の前記関連する適合アドレスの１つが前記推定された現在位置よりも正確な位置を提供するかどうかを判断するステップと、
前記所定の関連する適合アドレスの１つが前記推定された現在位置よりも正確な位置を提供するとの判断に応じて、前記推定された現在位置のかわりに前記所定のアドレスをユーザの精密化された位置として選択するステップと
を含んでなり、
前記１つ以上のヒート・マップは、ユーザに関連した前記１つ以上の特定の物理的位置に関連付けられた時間情報を含み、前記各ヒート・マップが、ユーザに関する情報を含む少なくとも１つの電子データベースから得られるものである、方法。
【請求項２】
前記ユーザの現在位置は、前記少なくとも１つの電子データベース内に記憶されたユーザの履歴情報から推定されるものである請求項１に記載の方法。
【請求項３】
前記少なくとも１つの関連する適合アドレスは、どの位の頻度で前記少なくとも１つの関連する適合アドレスが前記少なくとも１つの電子データベース内に現れるかを示す頻度順位に基づいて選択されるものである請求項１に記載の方法。
【請求項４】
前記少なくとも１つの関連する適合アドレスは、どの位の頻度で前記少なくとも１つの関連する適合アドレスが所定の時点に前記少なくとも１つの電子データベース内に現れるかを示す適時性順位に基づいて選択されるものである請求項１に記載の方法。
【請求項５】
プロセッサと、
動作を実行するために前記少なくとも１つのプロセッサに関連付けられた位置決めモジュールと、
前記プロセッサに電気的に接続された、データを記憶するためのメモリと
を含んでなり、
前記位置決めモジュールは、ユーザの現在位置を推定し、前記推定された現在位置を、所定の地理的地域内の特定の物理的位置を識別する、前記ユーザに関連した１つ以上のヒート・マップと比較し、該ヒート・マップの選択された１つから関連する適合アドレスの組を決定し、前記推定された現在位置のプリセット距離内にある、選択されたヒート・マップの前記関連する適合アドレスの組を分析し、前記所定の関連する適合アドレスの１つが前記推定された現在位置よりも正確な位置を提供するかどうかを判断し、また前記所定の関連する適合アドレスの１つが前記推定された現在位置よりも正確な位置を提供するとの判断に応じて、前記推定された現在位置のかわりに前記所定のアドレスをユーザの精密化された位置として選択するように構成され、前記１つ以上のヒート・マップが、ユーザに関連した前記１つ以上の特定の物理的位置に関連付けられた時間情報を含み、前記各ヒート・マップが、ユーザに関する情報を含む少なくとも１つの電子データベースから得られるものである、位置推定システム。
【請求項６】
前記プロセッサは、ユーザの前記推定された現在位置に関連したデータを遠隔のデータベースから先読みし、該先読みされたデータを前記メモリに記憶するように構成されるものである請求項５に記載の位置推定システム。
【請求項７】
前記プロセッサは、ディスプレイ装置上の前記選択されたヒート・マップ内に精密化された位置を示すように動作できるものである請求項５に記載の位置推定システム。
【請求項８】
前記少なくとも１つの関連する適合アドレスは、どの位の頻度で前記少なくとも１つの関連する適合アドレスが前記少なくとも１つの電子データベース内に現れるかを示す頻度順位に基づいて選択されるものである請求項５に記載の位置推定システム。
【請求項９】
前記少なくとも１つの関連する適合アドレスは、どの位の頻度で前記少なくとも１つの関連する適合アドレスが所定の時点に前記少なくとも１つの電子データベース内に現れるかを示す適時性順位に基づいて選択されるものである請求項５に記載の位置推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、「REFINING LOCATION ESTIMATES AND REVERSE GEOCODING BASED ON A USER PROFILE」という名称で２００９年４月８日に出願された米国特許出願第１２／４３７，７
１８号の利点及び優先権を請求する。その全開示内容を引用することによって本明細書の一部をなすものとする。
【０００２】
［発明の分野］
本発明は、全体的に、モービル及びディスクトップ・ユーザに対する位置ベースのサービス及びアプリケーションに関する。より詳細には、本発明は、ユーザ固有情報に照らして位置決めを改良することに関する。
【背景技術】
【０００３】
位置ベースのサービス及びアプリケーションは、携帯用電子装置の数や種類が増加するにつれて、ますます一般的になってきている。携帯電話、ＰＤＡ及びラップトップ／パームトップ・コンピュータなどの装置は、１ヶ所で又は動いている間に屋内及び屋外で使用される。ユーザ装置の位置又は関心のある場所の推定位置は、多数の様々な技術を用いて見つけられることができる。１つのそのような技術は、全地球測位システム（「ＧＰＳ」）を用いる衛星ベースの位置決め技術である。別の位置決め技術は、装置の位置を推定するために、複数のセル・タワー技術の中で三角測量技術を使用する。さらに別の位置決め技術は、ＩＰジオコーディング（IP geocoding）である。この技術では、装置のＩＰアドレスを、物理的位置にマッピングすることができる。
【０００４】
残念なことに、現行の位置決め技術の精度は、限定されている。例えば、セル・タワー式三角測量やＩＰジオコーディング技術の位置推定値は極めて粗い。信号強度、タワー配列、干渉及び他の要因に基づいて、三角測量エラーが、およそ数百フィート又はそれどころか、数百マイルになることがある。ＩＰジオコーディングは、数百マイルのエラーが起こりうるため、さらに信頼できない。精度が１０〜２０フィート以上のＧＰＳでさえ、ショッピング・プラザ、オフィスビル、地下鉄などの室内環境では使用できない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザ固有情報に基づいて位置決め情報を改良又は向上させるために、本発明の態様はこれらの問題及び他の問題に対処するものである。
【課題を解決するための手段】
【０００６】
１つの実施形態によれば、関心のある位置に関する物理的位置情報をさらに改良するための方法には、少なくとも１つの電子データベースが地理的情報を含んでいるかどうかを判断するために、選択されたユーザに関する情報を含むこの少なくとも１つの電子データベースを分析するステップと、少なくとも１つの電子データベースから地理的情報を含む結果セットを抽出するステップと、この結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、結果セットに対して地点抽出を実行するステップと、１つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築するステップと、時間情報に基づいて、特定の物理的位置に関して選択された位置を含む少なくとも１つのヒート・マップを作るステップとを含む。
【０００７】
１つの実施例では、特定の物理的位置内で信頼度を示すために、空間インデックス内の結果を格付けするステップをさらに含む。この場合、信頼度は地点抽出の精度によって決定される。別の方法では、時間情報は、イベントが開始した時間及び終了したイベントに関して選択された情報の時間の少なくとも１つを示すことができる。ここで、種々のヒート・マップは、空間インデックス内で格付けされた結果に基づいて選択された特定の物理的位置の種々の位置を示すことができ、この方法は表示装置上に少なくとも１つのヒート・マップを示すステップをさらに含みうる。
【０００８】
別の実施形態では、地理的情報を処理するための処理システムは、少なくとも１つのプロセッサ、この少なくとも１つのプロセッサに関連付けられた位置決めモジュール、及びデータを記憶するためのメモリを備えている。このメモリは、少なくとも１つのプロセッサに電気的に接続されている。位置決めモジュールは、少なくとも１つの電子データベースが地理的情報を含んでいるかどうか判断するために、選択されたユーザに関する情報を含むこの少なくとも１つの電子データベースを分析し、少なくとも１つの電子データベースから結果セット（この結果セットは地理的情報を含む）を抽出し、この結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、結果セットに対して地点抽出を実行し、１つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築し、この空間インデックスを処理システムのメモリ内に記憶し、かつ時間情報に基づいて、特定の物理的位置に関して選択された位置を含む少なくとも１つのヒート・マップを作成するように構成される。
【０００９】
１つの実施例では、この位置決めモジュールは、ユーザ装置のディスプレイ上に表示するために、認定ユーザに少なくとも１つヒート・マップを送信するようにさらに構成される。別の実施例では、位置決めモジュールは、少なくとも１つの電子データベースと通信するために保護付きデータ・フェッチャを備えている。この保護付きデータ・フェッチャは、ウェブ・ページ及び検索履歴の中に含まれた位置データについて少なくとも１つの電子データベースを検索するように構成される。
【００１０】
さらに別の実施例では、空間インデックスの中に保持された特定の物理的位置は、物理アドレスの緯度及び経度座標に対応する。またさらに別の実施例では、各ヒート・マップは、時間情報に基づいて関心のある格付けされた点として表示された、特定の物理的位置に対して選択された位置を示す。
【００１１】
別の実施形態では、ユーザの物理的位置に対する位置推定値をより高める方法には、ユーザの現在の位置を推定するステップと、推定された現在位置を所定の地理的地域内の特定の物理的位置を識別する１つ以上のヒート・マップと比較するステップと、ヒート・マップの選択された１つから関連する適合アドレスの組を決定するステップと、推定された現在位置のプリセット距離内にある、選択されたヒート・マップの関連する適合アドレスの組を分析するステップと、所定の関連する適合アドレスの１つが推定された現在位置よりも正確な位置を提供するかどうかを判断するステップと、また所定の関連する適合アドレスの１つが推定された現在位置よりも正確な位置を提供する場合、この所定のアドレスをユーザの精密化された位置として選択するステップとが含まれ、１つ以上のヒート・マップは、ユーザに関連した１つ以上の特定の物理的位置に関連付けられた時間情報を含み、各ヒート・マップは、ユーザに関する情報を含む少なくとも１つの電子データベースから得られる。
【００１２】
１つの実施例では、ユーザの現在位置が、少なくとも１つの電子データベース内に記憶されたユーザの履歴情報から推定される。別の実施例では、少なくとも１つの関連する適合アドレスが、どの位の頻度で少なくとも１つの関連する適合アドレスが、少なくとも１つの電子データベース内に現れるかを示す頻度順位に基づいて選択される。別の実施例で
は、少なくとも１つの関連する適合アドレスが、どの位の頻度で少なくとも１つの関連する適合アドレスが、所定の時点に少なくとも１つの電子データベース内に現れるかを示す適時性順位に基づいて選択される。
【００１３】
さらに別の実施形態では、位置推定システムは、プロセッサと、動作を実行するためのこの少なくとも１つのプロセッサに関連付けられた位置決めモジュールと、及びプロセッサに電気的に接続された、データを記憶するためのメモリとを備えている。この位置決めモジュールは、ユーザの現在位置を推定し、推定された現在位置を所定の地理的地域内の特定の物理的位置を識別する１つ以上のヒート・マップと比較し、ヒート・マップの選択された１つから関連する適合アドレスの組を決定し、推定された現在位置のプリセット距離内にある、選択されたヒート・マップの関連する適合アドレスの組を分析し、所定の関連する適合アドレスの１つが推定された現在位置よりも正確な位置を提供するかどうかを判断し、また所定の関連する適合アドレスの１つが推定された現在位置よりも正確な位置を提供する場合、この所定のアドレスをユーザの精密化された位置として選択するように構成され、１つ以上のヒート・マップは、ユーザに関連した１つ以上の特定の物理的位置に関連付けられた時間情報を含み、各ヒート・マップは、ユーザに関する情報を含む少なくとも１つの電子データベースから得られる。
【００１４】
１つの実施例では、プロセッサは、ユーザの推定された現在位置に関連したデータを遠隔のデータベースから先読みし、かつこの先読みされたデータをメモリに記憶するように構成される。この場合、プロセッサは、ディスプレイ装置上の選択されたヒート・マップ内に精密化された位置を示すように動作できる。さらに別の実施例では、少なくとも１つの関連する適合アドレスが、どの位の頻度で少なくとも１つの関連する適合アドレスが、少なくとも１つの電子データベース内に現れるかを示す頻度順位に基づいて選択される。またさらに別の実施例では、少なくとも１つの関連する適合アドレスが、どの位の頻度で少なくとも１つの関連する適合アドレスが、所定の時点に少なくとも１つの電子データベース内に現れるかを示す適時性順位に基づいて選択される。
【図面の簡単な説明】
【００１５】
【図１Ａ】本発明の形態によるコンピュータ・ネットワークのアーキテクチャを例示する図である。
【図１Ｂ】本発明の形態によるコンピュータ・ネットワークのアーキテクチャを例示する図である。
【図２】本発明の形態によるユーザ装置のアーキテクチャを例示する図である。
【図３】本発明の態様による位置拡大アプリケーションのフローチャートである。
【図４】本発明の態様による位置決めモジュールの動作を例示する図である。
【図５】本発明の態様による位置精密化アプリケーションのフローチャートである。
【図６】本発明の態様による位置決めモジュールの別の動作を例示する図である。
【発明を実施するための形態】
【００１６】
本発明の態様、特徴及び利点は、下記の好ましい実施形態及び添付された図面の説明を参照して考察すれば理解されるであろう。種々の図面の同じ参照番号は、同じ又は同様の構成部品を識別することができる。さらに、下記の説明は、本発明を限定するものではない、より正確に言えば、本発明の範囲は添付された請求の範囲及び均等物によって定義される。
【００１７】
本発明の態様によれば、位置情報は、正確な住所又は他の特定の位置に連結／リンクされる。より詳細に以下で説明されるように、地理的情報は、ユーザに関連した多数のソースから取り出される。これらの情報には、ユーザのウェブ・ブラウザの履歴、検索履歴、アドレス・ブックなどを含む。そのような情報は、位置精度を高めるために多数の方法に
よって使用される。
【００１８】
システム及び方法が、所定のユーザに対して関心がある物理的位置の時間に敏感なヒート・マップを作るために使用される。１つの実施形態では、物理的位置は、ユーザの位置をより正確に推定するために使用される。例えば、粗いセル・タワー式三角測量が、ユーザのホーム・アドレスに照らして改良される。別の実施形態では、ユーザに関連した地理的情報が、逆ジオコーディング処理の間に細部をいっそう良くするために使用される。
【００１９】
図１を参照すると、この説明図は、本発明の態様に基づいて、単独で又はネットワーク構成で使用されうる種々のコンピュータ装置を示すコンピュータ・システムの概略図を示している。例えば、この図は、複数のコンピュータ１０２、１０４、１０６、及び１０８並びに携帯電話１１０及びＰＤＡ１１２といった携帯型電子装置などの他の種類の装置を有するコンピュータ・ネットワーク１００を例示している。コンピュータ・ネットワーク１００内の種々の構成要素は、ローカル又は直接接続１１４を介して相互接続される、及び／又はＷｉＦｉネットワークなどのローカルエリア・ネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、インターネットなどの通信ネットワーク１１６を介して、有線又は無線で接続される。
【００２０】
各コンピュータ機器は、例えば、キーボード１１８及びマウス１２０などのユーザ入力装置、及び／又はペン入力装置、ジョイステック、ボタン、タッチ・スクリーンなどの様々な他の種類の入力装置、並びに、例えば、ＣＲＴ、ＬＣＤ、プラズマ・スクリーン・モニタ、ＴＶ、投影器などを含むディスプレイ１２２を有する１つ以上のコンピュータ装置を備えることができる。各コンピュータ１０２、１０４、１０６、及び１０８は、パーソナル・コンピュータ、サーバなどでありうる。単に一例として、コンピュータ１０２及び１０６はパーソナル・コンピュータとする一方、コンピュータ１０４はサーバ、またコンピュータ１０８はラップトップ／パームトップでありうる。図１Ｂに示されているように、コンピュータ１０２及び１０４などの各コンピュータは、プロセッサ１２４、メモリ１２６及びコンピュータの中に一般に存在する他の構成要素を備えている。
【００２１】
メモリ１２６は、プロセッサ１２４が実行できる命令１２８及びプロセッサが検索、操作、又は記憶できるデータ１３０を含む、プロセッサ１２４がアクセス可能な情報を記憶する。このメモリは、ハードディスク、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、フラッシュ・メモリ、書込み可能又は読出し専用メモリなどの、プロセッサがアクセス可能な情報を記憶できる任意の種類のものでありうる。プロセッサ１２４は、インテル社が販売しているプロセッサなどの、任意の数の既知のプロセッサから構成することができる。別の方法では、このプロセッサは、ＡＳＩＣなどの、動作を実行する専用のコントローラでありうる。
【００２２】
命令１２８は、コンピュータによって（マシン・コードなどの）直接又は（スクリプトなどの）間接に実行される命令の任意の組から構成されることができる。その点について、本願では「命令」、「ステップ」、及び「プログラム」という用語は、交換可能なように使用される。そのような命令は、オブジェクト・コード又はソース・コードのモジュールなどの、任意のコンピュータ言語又はフォーマットで記憶されることができる。本発明によるの命令の機能、方法、及びルーチンは、以下でより詳細に説明される。
【００２３】
データ１３０は、命令１２８に基づいて、プロセッサ１２４によって検索、記憶又は修正される。このデータは、データの集まりとして記憶されることができる。例えば、本発明はいかなる特定のデータ構造によって制限されることはないが、データは、コンピュータ・レジスタの中で、複数の種々のフィールド及びレコードを有するテーブルとしてリレーショナル・データベースの中で、ＸＭＬ文書として、又はフラット・ファイルの中で記憶されることができる。マップ形式の画像データは、キーホール・フラット・ファイル（
keyhole flat file）（「ＫＦＦ」）などのフラット・ファイルの中に記憶されることが
できる。
【００２４】
データは、これらに限定されることはないが、バイナリ値やＡＳＣＩＩなどの任意のコンピュータが読取り可能な形式でフォーマットされることもできる。同様に、データは、可逆の（例えば、ＢＭＰ）又は「不可逆の」（例えば、ＪＰＥＧ）コード化法を用いて、ベクタ・ベースのイメージ又はビットマップ・イメージなどの種々のフォーマットで記憶された画像を含みうる。さらに、データは、説明文、独占権コード（proprietary code）、ポインタ、他のメモリに記憶されたデータへの参照（他のネットワーク位置を含む）、又は関連データを計算するための機能によって使用される情報などの、関連情報を識別するに十分な情報を含みうる。
【００２５】
プロセッサ１２４とメモリ１２６とが、図１Ｂでは同じブロックの中に存在するように機能的に例示されているが、このプロセッサ及びメモリが、実際には、同じ物理的な筐体又は位置内に配置される又は配置されないことができる複数のプロセッサ及びメモリを含みうることは理解される。例えば、幾つかの又は全ての命令及びデータは、着脱可能なＣＤ−ＲＯＭ又はＤＶＤに記憶されることができる。他の命令及び／又はデータは、読取り専用のコンピュータ・チップの中に記憶される。もう１つの方法として、そのような情報は、読取り専用のコンピュータ・チップ内に記憶される。幾つかの又は全ての命令及びデータは、プロセッサから物理的に離れているが、プロセッサがアクセス可能な位置に記憶されることができる。同様に、プロセッサは、並列に動作できる又は動作できないプロセッサの集まりを含みうる。データは配送され、そしてハードディスク、サーバ・ファーム（server farm）などの複数のメモリ１２６の中に記憶される。
【００２６】
１つの態様では、サーバ１０４が、１つ以上のクライアント・コンピュータ１０２、１０６及び／又は１０８、並びに携帯電話１１０及びＰＤＡ１１２などの装置と通信する。各クライアント・コンピュータ又は他のクライアント装置は、プロセッサ、メモリ及び命令、並びに１つ以上のユーザ入力装置１１８、１２０及びディスプレイ１２２などのユーザ出力装置を備えて、サーバ１０４と同様に構成されることができる。各クライアント・コンピュータは、人が使用するように意図された汎用コンピュータとすることができ、パーソナル・コンピュータの中で通常見出される全ての構成要素を有する。これらの構成要素には、中央処理ユニット（「ＣＰＵ」）、ディスプレイ、ＣＤ−ＲＯＭ又はＤＶＤ、ハードディスク、マウス、キーボード、タッチセンシティブ・スクリーン、スピーカ、マイクロフォン、（電話、ケーブルなどの）モデム及び／又はルータ及びこれらの構成部品を互いに接続するために使用される全ての構成要素を含む。
【００２７】
サーバ１０４及びクライアント・コンピュータ及び他の装置は、ネットワーク１１６を介して他のコンピュータと直接及び間接に通信を行うことができる。図１Ａ及び図１Ｂでは、わずか数台のコンピュータ装置しか示されていないが、一般的なシステムは、ネットワークの種々のノードに配置された様々なコンピュータに接続されたサーバやクライアントを含みうることが分かる。ネットワーク１１６及び介在するノードは、インターネット、イントラネット、仮想プライベート・ネットワーク、広域ネットワーク、ローカル・ネットワーク、１つ以上の会社に固有の通信プロトコルを用いるプライベート・ネットワーク、イーサネット（登録商標）、ＷｉＦｉ、ブルーテュース及びＨＴＴＰを含む種々の構成及びプロトコルを含みうる。
【００２８】
介在するノードを含むネットワークを介する通信は、モデム（例えば、ダイアル読出し、すなわち、ケーブル・モデム）、ネットワーク・インターフェース及び無線インターフェースなどの、他のコンピュータにデータを送信する及び他のコンピュータからのデータを受信できる装置によって円滑にされる。サーバ１０４は、ウェブ・サーバとすることが
できる。情報が上記の方法で送信又は受信される場合、幾つかの利点が得られるが、本発明の他の態様は、情報のどのような特定の送信方法にも限定されることはない。例えば、幾つかの態様では、情報は、ディスク、テープ、ＣＤ−ＲＯＭ、ＤＶＤなどの記憶媒体を用いて送られるか、又はダイアル読出しモデムを介して、２台のコンピュータ・システム間で直接送られる。他の態様では、情報は非電子的フォーマットで送信され、次に、手作業でシステム内に入力される。
【００２９】
さらに、本願において説明されるシステム及び方法によるコンピュータ及びクライアント装置は、命令を処理し、かつデータを人や他のコンピュータに送信することができる任意の装置を備えることができ、ローカル記憶機能がないネットワーク・コンピュータ、ＰＤＡ１１２などのモデム付のＰＤＡ、及び携帯電話１１０などのインターネット可能な無線電話を含む。
【００３０】
図１Ａに示されているように、ネットワーク１００は、データベース１３２も備えている。このデータベース１３２は、直接又は間接にサーバ１０４に接続されている。別の方法では、データベース１３２は、サーバ１０４の一部とする、又はさもなければ、サーバ１０４と論理的に関係付けられることができる。データベース１３２は、データの種々の組又は種類を含みうる。ほんの一例として、データベース１３２は、位置及び／又はマップに関連したデータを保持することができ、それらのデータは１つ以上のＫＦＦに記憶されることができる。このデータベース１３２は、データ１３０を１つ以上のＫＦＦに記憶記憶することができる。衛星データ、航空写真、ディジタル・マップ、高度データ（elevation data）、ＧＰＳ座標などを含む資産及び他の情報は、１つ以上の情報源（図示せず）から得ることができる。あるいは、データベース１３２は、以下で詳細に説明されるように、１つ以上のユーザ／顧客に関する情報を保持することができる。
【００３１】
ラップトップ／パームトップ１０８、ＰＤＡ１１２及び携帯電話１１０は、情報をデータベース１３４に含む又は記憶することができる。そのようなデータは、例えば、ウェブ閲覧履歴、ウェブ・サイト検索履歴、マップ・データ、ユーザのアドレス・ブック、イーメール・アーカイブ及び／又はカレンダー・エントリを含みうる。この情報の傷つきやすい性質を考えると、データベース１３４は、許可されていないアクセスを阻止するために、データベースは安全にデータを記憶する必要がある。このため、データは記憶するために暗号化される。１つの実施例では、データベース１３４は、ユーザ装置から切り離されたネットワーク１００上に保存される。別の実施例では、データベース１３４は、１つ以上のユーザ装置上、例えば、そのメモリ１２６内にローカルに記憶される。さらに別の実施例では、データベース１３４は、図２に示されているように、複数のデータベースを備えている。
【００３２】
データベース１３４は、ユーザ装置のアーキテクチャ２００の一部とすることができる。このアーキテクチャ２００は、プロセッサ・モジュール２０２、ユーザ・インターフェース／ディスプレイ・モジュール２０４、通信モジュール２０６、電源モジュール２０８及びメモリ・モジュール２１０を備えている。プロセッサ・モジュール２０２は、プロセッサ１２４などのプロセッサ又はコントローラ及びその付帯回路（例えば、ローカル・メモリ、浮動小数点及び／又は整数処理要素（integer processing element）、ＤＭＡユニット）を含みうる。ユーザ・インターフェース／ディスプレイ・モジュール２０４は、図１Ａ及び図１Ｂの入力部１１８及び１２０並びにディスプレイ１２２などのユーザ入力部及び出力部を備えている。通信モジュール２０６は、ネットワーク１１６のようなネットワークを介して通信する、又は直接装置間通信を行うためのプロトコル・スタック及び付帯回路を有している。電源モジュール２０８は、電力をアーキテクチャ２００の種々のモジュールに提供し、また充電式電池及び／又は電力ケーブルを備えている。
【００３３】
メモリ・モジュール２１０は、望ましいことに、データベース１３４を備えている。１つの実施例では、メモリ・モジュール２１０は、種々のアプリケーション及び／又はユーザの属性に焦点を合わせた複数のサブデータベースを備えている。例えば、図２に示されているように、メモリ・モジュール２１０は、ウェブ閲覧履歴用データベース２１２、検索履歴用データベース２１４、マップ履歴用データベース２１６、アドレス・ブック用データベース２１８、イーメール・アーカイブ用データベース２２０、及びカレンダー・エントリ用データベース２２２を含みうる。クレジット・カード処理情報などの他の情報は、他のサブデータベースに記憶されることができる。
【００３４】
これらのサブデータベースのそれぞれに記憶された情報は、アプリケーションの特定のプログラム又は種類、又はユーザの全体的な装置の動作に関連付けられる。例えば、ウェブ閲覧履歴及び検索履歴用データベースは、インターネット・エクスプローラ（Internet
Explorer）、サファリ（Safari）、ファイアーフォックス（Firefox）又はクローム・ウェブ・ブラウザ（Chrome web browsers）などの１つ以上のウェブ・ブラウザに関連付け
られる。マップ履歴用データベースも、ウェブ・ブラウザ又はグーグル・アース（Google
Earth）などの他のアプリケーションに関連付けられる。アドレス・ブック及びイーメール・アーカイブ用データベースは、グーグルのジーメール（Google's Gmail）又はマイクロソフト・アウトルック（Microsoft Outlook）などのユーザのメッセージ用アプリケー
ションにリンクされることができる。カレンダー・エントリ用データベースは、同様に、メッセージ用アプリケーション又はグーグル・カレンダー（Google Calendar）などの別
のアプリケーションにリンクされることができる。多数の種々のサブデータベースが上記で明らかにされたが、グーグル・ラチチュード（Google Latitude）に関連したデータベ
ースやユーザに彼らの現在の位置を友人と共有させるツールなど、位置関連情報を含む他のサブデータベースも使用できる。
【００３５】
１つのシナリオでは、位置関連情報は、定期的に又は要求に応じて、サブデータベースから得る／取り出すことができる。図３は、１つのそのようなシナリオを例示している。特に、図３は、選択位置拡大用アプリケーション３００のフローチャートを示している。最初、ブック３０２で、ユーザは位置拡大を行うために署名する。これは、ユーザ装置のメモリ・モジュール２１０内にある１つ以上のサブデータベースを使用するための許可を与えるユーザを含む。１つの実施例によれば、ユーザは、アプリケーションがアクセスを認められている特定のサブデータベースを選択することができる。例えば、ユーザは、アドレス・ブック用データベース２１８へのアクセスは許可するが、イーメール・アーカイブ用データベース２２０には許可しないことができる。
【００３６】
ブック３０４に示されるように、許可されると、ユーザ・プロフィールが、図１Ａのデータベース１３２などのユーザ用データベースに加えられる。このユーザ用データベースは、各取り出された位置信号が情報の組に関連付けられるインデックスを持つことができる。この情報の組には、幾つかの又は全ての地理的タグ（geographical tag）すなわち「ジオタグ（geotag）」（それは、「マイ・ホーム」のような項目又は「コーヒー店」といった検索語とすることができる）、一時的情報（例えば、イベントが起こる時間、ある種の情報が失効するオプション時間、及び／又は性能低下因数）、及びその位置内の信頼度を示すスコア、が含まれる。例えば、緯度／経度位置は、イーメール・メッセージから取り出された位置よりも高い信頼性を有している。空間指数では、１つの位置は、複数のデータベースからの集合体情報（aggregate information）を持つことができる。この場合
、システムは、その位置に関する集合信頼度（aggregate confidence）及びスコアを計算することができる。
【００３７】
次に、ブロック３０６に従って、位置決めモジュールは、位置補正値を与えかつジオコーディングを逆転する空間インデックスを作る。前のアプリケーションに関しては、位置
決めモジュールは、ユーザによって前に許可された種々のサブディレクトリに対するアクセスを得て、また幾つかの情報を使用して、ブロック３０８に示されているように、所定のユーザに対して異なった時間に特定の物理的位置に関する１つ以上の「ヒート・マップ」を作ることができる。またブロック３１０に示すように、これらのヒート・マップは、ユーザ装置のディスプレイ上に示される。
【００３８】
図４は、位置決めモジュールが位置補正処理すなわち拡大を実行する方法の実施例を例示している。このモジュールは、図１Ａのサーバ１０４上で動作するアプリケーションを含みうる。又は、別の方法では、この位置決めモジュールは、ユーザ装置のアーキテクチャ２００の一部でありうる。位置決めモジュールは、サーバ側でローカルに、又はローカルに及びサーバ上の両方で分散型モジュールとして動作することができる。サーバのみで実行することは、効率的で正確である。その理由は、データベース１３２及び１３４の中で利用可能なデータの全コーパスを使用できるためである。図１に示されているように、位置決めモジュール１３６は、サーバ１０４に関連付けられるか又は、別の方法では、サーバ１０４の中に組み込まれる。もう１つの選択肢として、ローカルに実行することにより、ユーザの現在の位置に最も良く適用できるデータを先取りし、また同じ推定アルゴリズムをローカルに利用することができる。図２は、ユーザ装置のアーキテクチャ２００の一部として、位置決めモジュール２２４を例示している。
【００３９】
最も関連性があるサーバ側プロフィールをミラーリングするキャッシュを、ユーザ装置に組み込むことができる。この場合、サーバ側とローカル側の実施例の利用可能な入力データの量の間にはほとんど相違がない。ローカルな実施例に対して、安全な中央サーバ・ゲートウェイ（secure central server gateway）を使用して、関連したサブデータベー
スからデータを取り出し、そしてこのデータをクライアントに送信することができる。換言すると、クライアント装置は、種々のサーバ側のデータベースに対して、直接読出し要求を行う必要がない。
【００４０】
位置決めモジュールは、サブデータベースと通信するように構成された保護付きデータ・フェッチャ（protected data fetcher）４００を備えている。この保護付きデータ・フェッチャ４００は、サブデータベースから結果セット４０２を取り出す。それは、ユーザの認証又はサブデータベースによる許可を必要とする。１つの実施例では、保護付きデータ・フェッチャ４００は、サブデータベースに関連した任意の地理的情報を検索する。例えば、それは地理的データを得るために、ウェブ・ページや履歴を検索することができる。
【００４１】
それぞれの結果は、所定の物理的位置、人、活動状態及び／又は時間に対応する。このため、１つの実施例では、ウェブ閲覧履歴用データベース２１２を検索するステップにより、位置（「シティー・ホール、ニューヨーク（City Hall, New York）」）及び時間（
ｔ１）が得られる。検索履歴用データベース２１４を検索するステップにより、位置（「ローリーズ・カフェ（Lorie's Cafe）」）及び時間（ｔ２）も得られる。そして、マップ履歴用データベース２１６を検索するステップにより、位置（「７９ ９番街 １００１１」）及び時間（ｔ３）が得られる。アドレス・ブック用データベース２１８の調査により、名前（「マイケル・ブルームバーグ（Michael Bloomberg）」）が得られ、一方、イー
メール・アーカイブ用データベース２２０の調査により、活動（「映画の切符の受取り」）及び時間（ｔ５）が得られる。また、カレンダー・エントリ用データベース２２２の調査により、活動（「マイクとランチを食べる（Work lunch with Mike）」）及び時間（ｔ６）が得られる。
【００４２】
ブロック４０４に示すように、位置決めモジュールは、結果セット４０２上で地点取出し処理（geopoint extraction process）を実行して、ジオコード結果セット（geocoded 
result set）４０４を作る。１つの実施例では、このジオコード結果セット４０４は、緯度／経度形式で特定の物理的位置を参照する機能を含む。前部ジオコーダ（forward geocoder）は、アドレスを緯度／経度形式に変換するために使用されることができる。ブロック３０６に関して前述されたように、緯度及び経度を含む空間インデックスが構成される。この空間インデックスは、緯度及び経度に対応する住所などの物理的アドレスの適切にフォーマットされたバージョンを含みうる。空間インデックスは、ウェブ・ページがアクセスされた時間又は検索問合せが実行された時間などの時間情報を含みうる。同様のタイミング情報が、別のサブデータベースに対して収集される。別の実施例では、ユーザが一緒に移動する又は会う予定になっている周知の友人の位置などの、地理的情報に対応するサブデータベース内の任意の情報が、位置決めモジュールによって処理されることができる。
【００４３】
この空間インデックスは、「クワッドツリー（quadtree）」構造の中に記憶されるイメージ・タイル（image tile）及び関連データを含みうる。クワッドツリー・データ構造体のノードは、本願では「クワッドノード（quadnode）」と呼ばれる。クワッドノードに１つ以上のディセンデント（descendent）のレベルを加えたものは、本願では「クワッドセット（quadset）」と呼ばれる。クワッドツリー、クワッドノード及びクワッドセットに
関係するデータは、ＫＦＦデータベースなどのデータベースの中に記憶されることができ、それは図１Ａのデータベース１３２として保持される。
【００４４】
空間インデックスを含むＫＦＦ又は他のデータベースは、図４に示されているように、特定の物理的位置に関するヒート・マップを発生するために使用される。特に、関心のある領域の１つ以上のヒート・マップは、ジオコード結果セット４０４を用いて作られる。これは、人の名前、活動又はイベント、及び時間などの、結果セット４０２からの他のデータと併せて行われる。図示されているように、３つのヒート・マップ４０６ａ、４０６ｂ及び４０６ｃが異なる時間（例えば、ｔ１、ｔ２及びｔ３）に対して発生される。これらのヒート・マップの幾つか又は全てが、図２のユーザ・インターフェース／ディスプレイ・モジュール２０４を経由するユーザからの入力に基づいて、ユーザ装置のディスプレイ上に示される。この実施例では、種々の画鋲（例えば、Ａ〜Ｊ）が、各ヒート・マップに対する該当する点の格付けされたリストを示すことができる。このため、時間が経つにつれて、関心のある点が変化することがあり、また関心のある別の点が別の時間に多少とも関係する可能性がある。従って、図示されている画鋲Ａ〜Ｊは、種々のヒート・マップの全体にわたって変化する。
【００４５】
図５は、本発明の別の実施形態を例示している。特に、図５は、位置推定値を向上させるためのフローチャート５００を示している。１つの実施例では、ブロック５０２に示されるように、ユーザは、グーグル・マップ（Google Maps）などのマッピング・アプリケ
ーションから、２つの位置間の方向を要求する。この場合、ユーザは自身の特定の位置を知らない、またこの要求は現在位置からの方向に対してである。
【００４６】
ブロック５０４に示されているように、現在位置の推定値が次に割り出されて、ユーザの装置のディスプレイ上に示される。ユーザの現在位置が、多数の技術を用いて推定される。ユーザ装置及びネットワークの特定の種類に基づいて、ＧＰＳ、セル・タワー式三角測量、ＷｉＦｉ三角測量、ＩＰジオコーディング又は他の技術を使用できる。現在位置も同様に、履歴情報から推測することができる。例えば、ユーザが毎日時間Ｘにおいて一定の位置にいることが知られている場合、彼らが将来の所定の日に同じ位置にいる可能性は大きい。このことは、カレンダー又はアドレス・ブックのエントリ、イーメール・アーカイブ、ユーザ装置の前の使用され方からのＧＰＳの結果、又は他の情報によって判断される。
【００４７】
最初の推定値は、緯度／経度座標内の位置を含み、また精度の評価値も含む。この精度は、要因の数に依存する。例えば、ユーザ装置がＧＰＳ可能な携帯電話の場合、ＧＰＳ位置の精度は、携帯電話によって観察されるＧＰＳ衛星の数によって影響される。ＷｉＦｉネットワーク又は携帯電話システムの場合、三角測量又は他の位置決め技術は、地形の状態（例えば、近所のビルの高さや数）、信号強度、天候状態及び１年の時期に依存する。この精度は、ユーザの装置自身によって、ネットワークによって、又はその両方によって判断される。
【００４８】
次に、ブロック５０６で示されるように、推定された緯度及び経度が検索されるか、そうでなければ、ユーザに関連付けられたヒート・マップと比較される。ユーザに対して発生された、又はさもなければ、ユーザに関連付けられた複数のヒート・マップが存在する。そのようなヒート・マップは、過去、現在及び未来にわたって、種々の場所及び時間に対して存在する。位置決めモジュールは、望ましいことに、検索を実行するときに、現在の時刻のヒート・マップを使用する。検索に基づいて、位置決めモジュールは、ブロック５０８に示されているように、選択されたヒート・マップに対する関連する適合アドレスの組を決定する。これは、１つ以上のアドレスを含みうる。
【００４９】
この適合アドレスは、頻度及び適時性のスコア又は順位を含みうる。頻度は、どの位の頻度で同じ位置が同じデータベースの中に又は異なるデータベースにわたって現れるかによって決定される。適時性は、特定の時間に現れる頻度である。従って、位置Ｘは時間ｔ１（例えば、月曜日の午後１時）に位置Ｙよりも頻繁に現れ、また位置Ｙは時間ｔ２（例えば、月曜日の午後１１時）により頻繁に現れるとする。この場合、ユーザの現在の時間に基づいて、位置Ｘ又はＹのいずれも使用されることができる。
【００５０】
スコアは、頻度を単純に加えることによって、又はサブデータベースの信頼度に基づいて重み付けされたスコアを割り当てる測定基準を用いて決定されることができる。このように、マップ検索は、イーメールよりも高く重み付けされる。緯度／経度からの現在位置は、ユーザがその位置に物理的に存在していることが知られているため、最も高いスコアが割り当てられる。別のスコア信号は、データの新しさである。ここで、データがあまりに古い（「新鮮でない」）場合、そのデータはより低いスコア又は重み付けを受け取ることになり、これにより、時間に対する性能低下因数がもたらされる。
【００５１】
次に、ブロック５１０に示されるように、最初の推定値よりも適切な位置が利用可能かどうかが判断される。より適切な位置が存在する場合、ブロック５１２に示されるように、精密化された位置（「最良の形態」）が決定される。１つの実施例では、位置決めモジュールが、最初の緯度及び経度の一定の距離内にある選択されたヒート・マップに関連付けられた空間インデックス内の全てのエントリを分析する。この距離は、初期の精度又は空間インデックスの密度に依存する。これから、位置決めモジュールは、空間インデックス内のエントリが十分に近いか（例えば、最初の推定値のｘメータ内の緯度／経度の対）、十分に頻度があるか及び／又は十分新しいかどうか（例えば、要求された日からｙ日以内）を判断する。好ましいことに、選択工程が、品質に対して最適化される。適切なエントリが空間インデックスの中に見つからない場合は、ブロック５１４に示されるように、最初の位置推定値に戻る。次に、ブロック５１６に示されているように、経路方向が、精密化された位置又は最初の位置に基づいて発生されて、ユーザに与えられる。
【００５２】
この工程は、図６に示されている。ここで、ブロック６００は、「現在位置」からカリフォルニアのマウンテン・ビュー（Mountain View, California）に向かう方向を得るた
めのユーザの要求を含んでいる。ブロック６０２に示すように、ユーザの現在位置の推定値が決定される。緯度／経度の推定値が、ユーザ装置のディスプレイ上に示される。推定値の精度が、図示のように円形領域によって例示される。
【００５３】
また、このブロックに示されるように、この位置決めモジュールは、現在の時間に対するヒート・マップ内の緯度／経度の推定値を検索する。位置決めモジュールは、前述されたように、適合アドレスを返す又は「信頼できない」結果を返す。複数の適合アドレスが与えられる場合、位置決めモジュールは、最良の形態、すなわち、ユーザの現在位置に対応する最も適切な形態を決定する。次に、ブロック６０４に示されているように、経路方向が、最良の形態に基づいてユーザに与えられる。形態が戻されない場合は、ブロック６０６は、経路方向が最初の位置推定値に基づいてユーザに与えられることを示す。
【００５４】
システムが、結果を１つの場所に絞り込むことができない場合、信頼性が最も高い結果のリストがユーザに提供されて、最初の位置推定値に依存する代わりに、ユーザはそれらの中から選択することができる。また、向上したドライブ方向をユーザに提供する実施例を除いて、他の用法シナリオは、取引や人のため、ユーザの位置を彼らの友人により正確に同報通信するため、またユーザが彼らの携帯電話を用いて撮影した任意の写真を正確にジオコーディングするために、ユーザの位置の周りを検索するときに、より正確な位置を求めるステップを含む。
【００５５】
本願の発明を特定の実施形態を参照して説明してきたが、これらの実施形態は本発明の原理及びアプリケーションを単に例証するものであることは理解されよう。このため、これらの例証となる実施形態に対して多数の変形例を作ることができ、また添付のクレームによって定義される本発明の精神及び範囲から逸脱することなく、別の装置を発明することができることは理解されよう。さらに、特定の処理が添付された図面の中で具体的な順序で示されているが、そのような処理は、そのような順序が本願で明白に記述されない限り、いずれの特定の順序にも限定されることはない。
【００５６】
［産業上の利用可能性］
本発明は、ユーザ固有情報に鑑みて、推定された位置を精密化する位置ベースのサービスやアプリケーションを含む広い産業上の利用可能性を有しているが、これらに限定されるものではない。
【図１Ａ】
0005798661.tif 000002
【図１Ｂ】
0005798661.tif 000003
【図２】
0005798661.tif 000004
【図３】
0005798661.tif 000005
【図４】
0005798661.tif 000006
【図５】
0005798661.tif 000007
【図６】
0005798661.tif 000008