説明

ユーザ・プロフィールに基づく精密化した位置推定及び逆ジオコーディング

本発明は、ユーザ固有情報(210)に基づいて推定された位置を精密化すること又はさらに高めることに関する。ユーザが許可すると(302)、地理的情報は、ウェブ閲覧履歴(212)、検索履歴(214)、マップ履歴(216)、アドレス・ブック(218)、イーメール・アーカイブ(220)及びカレンダー・エントリ(222)を含む多数のユーザ関連のソースから取り出される(402)。そのような情報は、ジオコード結果セットに対して特定の物理的位置の空間インデックス(306)を作るために使用される。これから、ユーザに関連した情報から特定の位置を識別するヒート・マップが、種々の期間に対して作られる(308)。このヒート・マップは、ユーザの最初の位置推定値を精密化するために使用されることができる(512)。これは、所定のヒート・マップ内の1つ以上の位置が最初の推定値よりも正確な位置を提供できるかどうかを判断することによって行われる(516)。提供できる場合には、最良の位置が選択される。これは、ユーザに対して、向上したドライブ方向を提供するために使用できる。

【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、「REFINING LOCATION ESTIMATES AND REVERSE GEOCODING BASED ON A USER PROFILE」という名称で2009年4月8日に出願された米国特許出願第12/437,718号の利点及び優先権を請求する。その全開示内容を引用することによって本明細書の一部をなすものとする。
【0002】
[発明の分野]
本発明は、全体的に、モービル及びディスクトップ・ユーザに対する位置ベースのサービス及びアプリケーションに関する。より詳細には、本発明は、ユーザ固有情報に照らして位置決めを改良することに関する。
【背景技術】
【0003】
位置ベースのサービス及びアプリケーションは、携帯用電子装置の数や種類が増加するにつれて、ますます一般的になってきている。携帯電話、PDA及びラップトップ/パームトップ・コンピュータなどの装置は、1ヶ所で又は動いている間に屋内及び屋外で使用される。ユーザ装置の位置又は関心のある場所の推定位置は、多数の様々な技術を用いて見つけられることができる。1つのそのような技術は、全地球測位システム(「GPS」)を用いる衛星ベースの位置決め技術である。別の位置決め技術は、装置の位置を推定するために、複数のセル・タワー技術の中で三角測量技術を使用する。さらに別の位置決め技術は、IPジオコーディング(IP geocoding)である。この技術では、装置のIPアドレスを、物理的位置にマッピングすることができる。
【0004】
残念なことに、現行の位置決め技術の精度は、限定されている。例えば、セル・タワー式三角測量やIPジオコーディング技術の位置推定値は極めて粗い。信号強度、タワー配列、干渉及び他の要因に基づいて、三角測量エラーが、およそ数百フィート又はそれどころか、数百マイルになることがある。IPジオコーディングは、数百マイルのエラーが起こりうるため、さらに信頼できない。精度が10〜20フィート以上のGPSでさえ、ショッピング・プラザ、オフィスビル、地下鉄などの室内環境では使用できない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザ固有情報に基づいて位置決め情報を改良又は向上させるために、本発明の態様はこれらの問題及び他の問題に対処するものである。
【課題を解決するための手段】
【0006】
1つの実施形態によれば、関心のある位置に関する物理的位置情報をさらに改良するための方法には、少なくとも1つの電子データベースが地理的情報を含んでいるかどうかを判断するために、選択されたユーザに関する情報を含むこの少なくとも1つの電子データベースを分析するステップと、少なくとも1つの電子データベースから地理的情報を含む結果セットを抽出するステップと、この結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、結果セットに対して地点抽出を実行するステップと、1つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築するステップと、時間情報に基づいて、特定の物理的位置に関して選択された位置を含む少なくとも1つのヒート・マップを作るステップとを含む。
【0007】
1つの実施例では、特定の物理的位置内で信頼度を示すために、空間インデックス内の結果を格付けするステップをさらに含む。この場合、信頼度は地点抽出の精度によって決定される。別の方法では、時間情報は、イベントが開始した時間及び終了したイベントに関して選択された情報の時間の少なくとも1つを示すことができる。ここで、種々のヒート・マップは、空間インデックス内で格付けされた結果に基づいて選択された特定の物理的位置の種々の位置を示すことができ、この方法は表示装置上に少なくとも1つのヒート・マップを示すステップをさらに含みうる。
【0008】
別の実施形態では、地理的情報を処理するための処理システムは、少なくとも1つのプロセッサ、この少なくとも1つのプロセッサに関連付けられた位置決めモジュール、及びデータを記憶するためのメモリを備えている。このメモリは、少なくとも1つのプロセッサに電気的に接続されている。位置決めモジュールは、少なくとも1つの電子データベースが地理的情報を含んでいるかどうか判断するために、選択されたユーザに関する情報を含むこの少なくとも1つの電子データベースを分析し、少なくとも1つの電子データベースから結果セット(この結果セットは地理的情報を含む)を抽出し、この結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、結果セットに対して地点抽出を実行し、1つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築し、この空間インデックスを処理システムのメモリ内に記憶し、かつ時間情報に基づいて、特定の物理的位置に関して選択された位置を含む少なくとも1つのヒート・マップを作成するように構成される。
【0009】
1つの実施例では、この位置決めモジュールは、ユーザ装置のディスプレイ上に表示するために、認定ユーザに少なくとも1つヒート・マップを送信するようにさらに構成される。別の実施例では、位置決めモジュールは、少なくとも1つの電子データベースと通信するために保護付きデータ・フェッチャを備えている。この保護付きデータ・フェッチャは、ウェブ・ページ及び検索履歴の中に含まれた位置データについて少なくとも1つの電子データベースを検索するように構成される。
【0010】
さらに別の実施例では、空間インデックスの中に保持された特定の物理的位置は、物理アドレスの緯度及び経度座標に対応する。またさらに別の実施例では、各ヒート・マップは、時間情報に基づいて関心のある格付けされた点として表示された、特定の物理的位置に対して選択された位置を示す。
【0011】
別の実施形態では、ユーザの物理的位置に対する位置推定値をより高める方法には、ユーザの現在の位置を推定するステップと、推定された現在位置を所定の地理的地域内の特定の物理的位置を識別する1つ以上のヒート・マップと比較するステップと、ヒート・マップの選択された1つから関連する適合アドレスの組を決定するステップと、推定された現在位置のプリセット距離内にある、選択されたヒート・マップの関連する適合アドレスの組を分析するステップと、所定の関連する適合アドレスの1つが推定された現在位置よりも正確な位置を提供するかどうかを判断するステップと、また所定の関連する適合アドレスの1つが推定された現在位置よりも正確な位置を提供する場合、この所定のアドレスをユーザの精密化された位置として選択するステップとが含まれ、1つ以上のヒート・マップは、ユーザに関連した1つ以上の特定の物理的位置に関連付けられた時間情報を含み、各ヒート・マップは、ユーザに関する情報を含む少なくとも1つの電子データベースから得られる。
【0012】
1つの実施例では、ユーザの現在位置が、少なくとも1つの電子データベース内に記憶されたユーザの履歴情報から推定される。別の実施例では、少なくとも1つの関連する適合アドレスが、どの位の頻度で少なくとも1つの関連する適合アドレスが、少なくとも1つの電子データベース内に現れるかを示す頻度順位に基づいて選択される。別の実施例では、少なくとも1つの関連する適合アドレスが、どの位の頻度で少なくとも1つの関連する適合アドレスが、所定の時点に少なくとも1つの電子データベース内に現れるかを示す適時性順位に基づいて選択される。
【0013】
さらに別の実施形態では、位置推定システムは、プロセッサと、動作を実行するためのこの少なくとも1つのプロセッサに関連付けられた位置決めモジュールと、及びプロセッサに電気的に接続された、データを記憶するためのメモリとを備えている。この位置決めモジュールは、ユーザの現在位置を推定し、推定された現在位置を所定の地理的地域内の特定の物理的位置を識別する1つ以上のヒート・マップと比較し、ヒート・マップの選択された1つから関連する適合アドレスの組を決定し、推定された現在位置のプリセット距離内にある、選択されたヒート・マップの関連する適合アドレスの組を分析し、所定の関連する適合アドレスの1つが推定された現在位置よりも正確な位置を提供するかどうかを判断し、また所定の関連する適合アドレスの1つが推定された現在位置よりも正確な位置を提供する場合、この所定のアドレスをユーザの精密化された位置として選択するように構成され、1つ以上のヒート・マップは、ユーザに関連した1つ以上の特定の物理的位置に関連付けられた時間情報を含み、各ヒート・マップは、ユーザに関する情報を含む少なくとも1つの電子データベースから得られる。
【0014】
1つの実施例では、プロセッサは、ユーザの推定された現在位置に関連したデータを遠隔のデータベースから先読みし、かつこの先読みされたデータをメモリに記憶するように構成される。この場合、プロセッサは、ディスプレイ装置上の選択されたヒート・マップ内に精密化された位置を示すように動作できる。さらに別の実施例では、少なくとも1つの関連する適合アドレスが、どの位の頻度で少なくとも1つの関連する適合アドレスが、少なくとも1つの電子データベース内に現れるかを示す頻度順位に基づいて選択される。またさらに別の実施例では、少なくとも1つの関連する適合アドレスが、どの位の頻度で少なくとも1つの関連する適合アドレスが、所定の時点に少なくとも1つの電子データベース内に現れるかを示す適時性順位に基づいて選択される。
【図面の簡単な説明】
【0015】
【図1A】本発明の形態によるコンピュータ・ネットワークのアーキテクチャを例示する図である。
【図1B】本発明の形態によるコンピュータ・ネットワークのアーキテクチャを例示する図である。
【図2】本発明の形態によるユーザ装置のアーキテクチャを例示する図である。
【図3】本発明の態様による位置拡大アプリケーションのフローチャートである。
【図4】本発明の態様による位置決めモジュールの動作を例示する図である。
【図5】本発明の態様による位置精密化アプリケーションのフローチャートである。
【図6】本発明の態様による位置決めモジュールの別の動作を例示する図である。
【発明を実施するための形態】
【0016】
本発明の態様、特徴及び利点は、下記の好ましい実施形態及び添付された図面の説明を参照して考察すれば理解されるであろう。種々の図面の同じ参照番号は、同じ又は同様の構成部品を識別することができる。さらに、下記の説明は、本発明を限定するものではない、より正確に言えば、本発明の範囲は添付された請求の範囲及び均等物によって定義される。
【0017】
本発明の態様によれば、位置情報は、正確な住所又は他の特定の位置に連結/リンクされる。より詳細に以下で説明されるように、地理的情報は、ユーザに関連した多数のソースから取り出される。これらの情報には、ユーザのウェブ・ブラウザの履歴、検索履歴、アドレス・ブックなどを含む。そのような情報は、位置精度を高めるために多数の方法によって使用される。
【0018】
システム及び方法が、所定のユーザに対して関心がある物理的位置の時間に敏感なヒート・マップを作るために使用される。1つの実施形態では、物理的位置は、ユーザの位置をより正確に推定するために使用される。例えば、粗いセル・タワー式三角測量が、ユーザのホーム・アドレスに照らして改良される。別の実施形態では、ユーザに関連した地理的情報が、逆ジオコーディング処理の間に細部をいっそう良くするために使用される。
【0019】
図1を参照すると、この説明図は、本発明の態様に基づいて、単独で又はネットワーク構成で使用されうる種々のコンピュータ装置を示すコンピュータ・システムの概略図を示している。例えば、この図は、複数のコンピュータ102、104、106、及び108並びに携帯電話110及びPDA112といった携帯型電子装置などの他の種類の装置を有するコンピュータ・ネットワーク100を例示している。コンピュータ・ネットワーク100内の種々の構成要素は、ローカル又は直接接続114を介して相互接続される、及び/又はWiFiネットワークなどのローカルエリア・ネットワーク(「LAN」)、広域ネットワーク(「WAN」)、インターネットなどの通信ネットワーク116を介して、有線又は無線で接続される。
【0020】
各コンピュータ機器は、例えば、キーボード118及びマウス120などのユーザ入力装置、及び/又はペン入力装置、ジョイステック、ボタン、タッチ・スクリーンなどの様々な他の種類の入力装置、並びに、例えば、CRT、LCD、プラズマ・スクリーン・モニタ、TV、投影器などを含むディスプレイ122を有する1つ以上のコンピュータ装置を備えることができる。各コンピュータ102、104、106、及び108は、パーソナル・コンピュータ、サーバなどでありうる。単に一例として、コンピュータ102及び106はパーソナル・コンピュータとする一方、コンピュータ104はサーバ、またコンピュータ108はラップトップ/パームトップでありうる。図1Bに示されているように、コンピュータ102及び104などの各コンピュータは、プロセッサ124、メモリ126及びコンピュータの中に一般に存在する他の構成要素を備えている。
【0021】
メモリ126は、プロセッサ124が実行できる命令128及びプロセッサが検索、操作、又は記憶できるデータ130を含む、プロセッサ124がアクセス可能な情報を記憶する。このメモリは、ハードディスク、ROM、RAM、CD−ROM、フラッシュ・メモリ、書込み可能又は読出し専用メモリなどの、プロセッサがアクセス可能な情報を記憶できる任意の種類のものでありうる。プロセッサ124は、インテル社が販売しているプロセッサなどの、任意の数の既知のプロセッサから構成することができる。別の方法では、このプロセッサは、ASICなどの、動作を実行する専用のコントローラでありうる。
【0022】
命令128は、コンピュータによって(マシン・コードなどの)直接又は(スクリプトなどの)間接に実行される命令の任意の組から構成されることができる。その点について、本願では「命令」、「ステップ」、及び「プログラム」という用語は、交換可能なように使用される。そのような命令は、オブジェクト・コード又はソース・コードのモジュールなどの、任意のコンピュータ言語又はフォーマットで記憶されることができる。本発明によるの命令の機能、方法、及びルーチンは、以下でより詳細に説明される。
【0023】
データ130は、命令128に基づいて、プロセッサ124によって検索、記憶又は修正される。このデータは、データの集まりとして記憶されることができる。例えば、本発明はいかなる特定のデータ構造によって制限されることはないが、データは、コンピュータ・レジスタの中で、複数の種々のフィールド及びレコードを有するテーブルとしてリレーショナル・データベースの中で、XML文書として、又はフラット・ファイルの中で記憶されることができる。マップ形式の画像データは、キーホール・フラット・ファイル(keyhole flat file)(「KFF」)などのフラット・ファイルの中に記憶されることができる。
【0024】
データは、これらに限定されることはないが、バイナリ値やASCIIなどの任意のコンピュータが読取り可能な形式でフォーマットされることもできる。同様に、データは、可逆の(例えば、BMP)又は「不可逆の」(例えば、JPEG)コード化法を用いて、ベクタ・ベースのイメージ又はビットマップ・イメージなどの種々のフォーマットで記憶された画像を含みうる。さらに、データは、説明文、独占権コード(proprietary code)、ポインタ、他のメモリに記憶されたデータへの参照(他のネットワーク位置を含む)、又は関連データを計算するための機能によって使用される情報などの、関連情報を識別するに十分な情報を含みうる。
【0025】
プロセッサ124とメモリ126とが、図1Bでは同じブロックの中に存在するように機能的に例示されているが、このプロセッサ及びメモリが、実際には、同じ物理的な筐体又は位置内に配置される又は配置されないことができる複数のプロセッサ及びメモリを含みうることは理解される。例えば、幾つかの又は全ての命令及びデータは、着脱可能なCD−ROM又はDVDに記憶されることができる。他の命令及び/又はデータは、読取り専用のコンピュータ・チップの中に記憶される。もう1つの方法として、そのような情報は、読取り専用のコンピュータ・チップ内に記憶される。幾つかの又は全ての命令及びデータは、プロセッサから物理的に離れているが、プロセッサがアクセス可能な位置に記憶されることができる。同様に、プロセッサは、並列に動作できる又は動作できないプロセッサの集まりを含みうる。データは配送され、そしてハードディスク、サーバ・ファーム(server farm)などの複数のメモリ126の中に記憶される。
【0026】
1つの態様では、サーバ104が、1つ以上のクライアント・コンピュータ102、106及び/又は108、並びに携帯電話110及びPDA112などの装置と通信する。各クライアント・コンピュータ又は他のクライアント装置は、プロセッサ、メモリ及び命令、並びに1つ以上のユーザ入力装置118、120及びディスプレイ122などのユーザ出力装置を備えて、サーバ104と同様に構成されることができる。各クライアント・コンピュータは、人が使用するように意図された汎用コンピュータとすることができ、パーソナル・コンピュータの中で通常見出される全ての構成要素を有する。これらの構成要素には、中央処理ユニット(「CPU」)、ディスプレイ、CD−ROM又はDVD、ハードディスク、マウス、キーボード、タッチセンシティブ・スクリーン、スピーカ、マイクロフォン、(電話、ケーブルなどの)モデム及び/又はルータ及びこれらの構成部品を互いに接続するために使用される全ての構成要素を含む。
【0027】
サーバ104及びクライアント・コンピュータ及び他の装置は、ネットワーク116を介して他のコンピュータと直接及び間接に通信を行うことができる。図1A及び図1Bでは、わずか数台のコンピュータ装置しか示されていないが、一般的なシステムは、ネットワークの種々のノードに配置された様々なコンピュータに接続されたサーバやクライアントを含みうることが分かる。ネットワーク116及び介在するノードは、インターネット、イントラネット、仮想プライベート・ネットワーク、広域ネットワーク、ローカル・ネットワーク、1つ以上の会社に固有の通信プロトコルを用いるプライベート・ネットワーク、イーサネット(登録商標)、WiFi、ブルーテュース及びHTTPを含む種々の構成及びプロトコルを含みうる。
【0028】
介在するノードを含むネットワークを介する通信は、モデム(例えば、ダイアル読出し、すなわち、ケーブル・モデム)、ネットワーク・インターフェース及び無線インターフェースなどの、他のコンピュータにデータを送信する及び他のコンピュータからのデータを受信できる装置によって円滑にされる。サーバ104は、ウェブ・サーバとすることができる。情報が上記の方法で送信又は受信される場合、幾つかの利点が得られるが、本発明の他の態様は、情報のどのような特定の送信方法にも限定されることはない。例えば、幾つかの態様では、情報は、ディスク、テープ、CD−ROM、DVDなどの記憶媒体を用いて送られるか、又はダイアル読出しモデムを介して、2台のコンピュータ・システム間で直接送られる。他の態様では、情報は非電子的フォーマットで送信され、次に、手作業でシステム内に入力される。
【0029】
さらに、本願において説明されるシステム及び方法によるコンピュータ及びクライアント装置は、命令を処理し、かつデータを人や他のコンピュータに送信することができる任意の装置を備えることができ、ローカル記憶機能がないネットワーク・コンピュータ、PDA112などのモデム付のPDA、及び携帯電話110などのインターネット可能な無線電話を含む。
【0030】
図1Aに示されているように、ネットワーク100は、データベース132も備えている。このデータベース132は、直接又は間接にサーバ104に接続されている。別の方法では、データベース132は、サーバ104の一部とする、又はさもなければ、サーバ104と論理的に関係付けられることができる。データベース132は、データの種々の組又は種類を含みうる。ほんの一例として、データベース132は、位置及び/又はマップに関連したデータを保持することができ、それらのデータは1つ以上のKFFに記憶されることができる。このデータベース132は、データ130を1つ以上のKFFに記憶記憶することができる。衛星データ、航空写真、ディジタル・マップ、高度データ(elevation data)、GPS座標などを含む資産及び他の情報は、1つ以上の情報源(図示せず)から得ることができる。あるいは、データベース132は、以下で詳細に説明されるように、1つ以上のユーザ/顧客に関する情報を保持することができる。
【0031】
ラップトップ/パームトップ108、PDA112及び携帯電話110は、情報をデータベース134に含む又は記憶することができる。そのようなデータは、例えば、ウェブ閲覧履歴、ウェブ・サイト検索履歴、マップ・データ、ユーザのアドレス・ブック、イーメール・アーカイブ及び/又はカレンダー・エントリを含みうる。この情報の傷つきやすい性質を考えると、データベース134は、許可されていないアクセスを阻止するために、データベースは安全にデータを記憶する必要がある。このため、データは記憶するために暗号化される。1つの実施例では、データベース134は、ユーザ装置から切り離されたネットワーク100上に保存される。別の実施例では、データベース134は、1つ以上のユーザ装置上、例えば、そのメモリ126内にローカルに記憶される。さらに別の実施例では、データベース134は、図2に示されているように、複数のデータベースを備えている。
【0032】
データベース134は、ユーザ装置のアーキテクチャ200の一部とすることができる。このアーキテクチャ200は、プロセッサ・モジュール202、ユーザ・インターフェース/ディスプレイ・モジュール204、通信モジュール206、電源モジュール208及びメモリ・モジュール210を備えている。プロセッサ・モジュール202は、プロセッサ124などのプロセッサ又はコントローラ及びその付帯回路(例えば、ローカル・メモリ、浮動小数点及び/又は整数処理要素(integer processing element)、DMAユニット)を含みうる。ユーザ・インターフェース/ディスプレイ・モジュール204は、図1A及び図1Bの入力部118及び120並びにディスプレイ122などのユーザ入力部及び出力部を備えている。通信モジュール206は、ネットワーク116のようなネットワークを介して通信する、又は直接装置間通信を行うためのプロトコル・スタック及び付帯回路を有している。電源モジュール208は、電力をアーキテクチャ200の種々のモジュールに提供し、また充電式電池及び/又は電力ケーブルを備えている。
【0033】
メモリ・モジュール210は、望ましいことに、データベース134を備えている。1つの実施例では、メモリ・モジュール210は、種々のアプリケーション及び/又はユーザの属性に焦点を合わせた複数のサブデータベースを備えている。例えば、図2に示されているように、メモリ・モジュール210は、ウェブ閲覧履歴用データベース212、検索履歴用データベース214、マップ履歴用データベース216、アドレス・ブック用データベース218、イーメール・アーカイブ用データベース220、及びカレンダー・エントリ用データベース222を含みうる。クレジット・カード処理情報などの他の情報は、他のサブデータベースに記憶されることができる。
【0034】
これらのサブデータベースのそれぞれに記憶された情報は、アプリケーションの特定のプログラム又は種類、又はユーザの全体的な装置の動作に関連付けられる。例えば、ウェブ閲覧履歴及び検索履歴用データベースは、インターネット・エクスプローラ(Internet Explorer)、サファリ(Safari)、ファイアーフォックス(Firefox)又はクローム・ウェブ・ブラウザ(Chrome web browsers)などの1つ以上のウェブ・ブラウザに関連付けられる。マップ履歴用データベースも、ウェブ・ブラウザ又はグーグル・アース(Google Earth)などの他のアプリケーションに関連付けられる。アドレス・ブック及びイーメール・アーカイブ用データベースは、グーグルのジーメール(Google's Gmail)又はマイクロソフト・アウトルック(Microsoft Outlook)などのユーザのメッセージ用アプリケーションにリンクされることができる。カレンダー・エントリ用データベースは、同様に、メッセージ用アプリケーション又はグーグル・カレンダー(Google Calendar)などの別のアプリケーションにリンクされることができる。多数の種々のサブデータベースが上記で明らかにされたが、グーグル・ラチチュード(Google Latitude)に関連したデータベースやユーザに彼らの現在の位置を友人と共有させるツールなど、位置関連情報を含む他のサブデータベースも使用できる。
【0035】
1つのシナリオでは、位置関連情報は、定期的に又は要求に応じて、サブデータベースから得る/取り出すことができる。図3は、1つのそのようなシナリオを例示している。特に、図3は、選択位置拡大用アプリケーション300のフローチャートを示している。最初、ブック302で、ユーザは位置拡大を行うために署名する。これは、ユーザ装置のメモリ・モジュール210内にある1つ以上のサブデータベースを使用するための許可を与えるユーザを含む。1つの実施例によれば、ユーザは、アプリケーションがアクセスを認められている特定のサブデータベースを選択することができる。例えば、ユーザは、アドレス・ブック用データベース218へのアクセスは許可するが、イーメール・アーカイブ用データベース220には許可しないことができる。
【0036】
ブック304に示されるように、許可されると、ユーザ・プロフィールが、図1Aのデータベース132などのユーザ用データベースに加えられる。このユーザ用データベースは、各取り出された位置信号が情報の組に関連付けられるインデックスを持つことができる。この情報の組には、幾つかの又は全ての地理的タグ(geographical tag)すなわち「ジオタグ(geotag)」(それは、「マイ・ホーム」のような項目又は「コーヒー店」といった検索語とすることができる)、一時的情報(例えば、イベントが起こる時間、ある種の情報が失効するオプション時間、及び/又は性能低下因数)、及びその位置内の信頼度を示すスコア、が含まれる。例えば、緯度/経度位置は、イーメール・メッセージから取り出された位置よりも高い信頼性を有している。空間指数では、1つの位置は、複数のデータベースからの集合体情報(aggregate information)を持つことができる。この場合、システムは、その位置に関する集合信頼度(aggregate confidence)及びスコアを計算することができる。
【0037】
次に、ブロック306に従って、位置決めモジュールは、位置補正値を与えかつジオコーディングを逆転する空間インデックスを作る。前のアプリケーションに関しては、位置決めモジュールは、ユーザによって前に許可された種々のサブディレクトリに対するアクセスを得て、また幾つかの情報を使用して、ブロック308に示されているように、所定のユーザに対して異なった時間に特定の物理的位置に関する1つ以上の「ヒート・マップ」を作ることができる。またブロック310に示すように、これらのヒート・マップは、ユーザ装置のディスプレイ上に示される。
【0038】
図4は、位置決めモジュールが位置補正処理すなわち拡大を実行する方法の実施例を例示している。このモジュールは、図1Aのサーバ104上で動作するアプリケーションを含みうる。又は、別の方法では、この位置決めモジュールは、ユーザ装置のアーキテクチャ200の一部でありうる。位置決めモジュールは、サーバ側でローカルに、又はローカルに及びサーバ上の両方で分散型モジュールとして動作することができる。サーバのみで実行することは、効率的で正確である。その理由は、データベース132及び134の中で利用可能なデータの全コーパスを使用できるためである。図1に示されているように、位置決めモジュール136は、サーバ104に関連付けられるか又は、別の方法では、サーバ104の中に組み込まれる。もう1つの選択肢として、ローカルに実行することにより、ユーザの現在の位置に最も良く適用できるデータを先取りし、また同じ推定アルゴリズムをローカルに利用することができる。図2は、ユーザ装置のアーキテクチャ200の一部として、位置決めモジュール224を例示している。
【0039】
最も関連性があるサーバ側プロフィールをミラーリングするキャッシュを、ユーザ装置に組み込むことができる。この場合、サーバ側とローカル側の実施例の利用可能な入力データの量の間にはほとんど相違がない。ローカルな実施例に対して、安全な中央サーバ・ゲートウェイ(secure central server gateway)を使用して、関連したサブデータベースからデータを取り出し、そしてこのデータをクライアントに送信することができる。換言すると、クライアント装置は、種々のサーバ側のデータベースに対して、直接読出し要求を行う必要がない。
【0040】
位置決めモジュールは、サブデータベースと通信するように構成された保護付きデータ・フェッチャ(protected data fetcher)400を備えている。この保護付きデータ・フェッチャ400は、サブデータベースから結果セット402を取り出す。それは、ユーザの認証又はサブデータベースによる許可を必要とする。1つの実施例では、保護付きデータ・フェッチャ400は、サブデータベースに関連した任意の地理的情報を検索する。例えば、それは地理的データを得るために、ウェブ・ページや履歴を検索することができる。
【0041】
それぞれの結果は、所定の物理的位置、人、活動状態及び/又は時間に対応する。このため、1つの実施例では、ウェブ閲覧履歴用データベース212を検索するステップにより、位置(「シティー・ホール、ニューヨーク(City Hall, New York)」)及び時間(t1)が得られる。検索履歴用データベース214を検索するステップにより、位置(「ローリーズ・カフェ(Lorie's Cafe)」)及び時間(t2)も得られる。そして、マップ履歴用データベース216を検索するステップにより、位置(「79 9番街 10011」)及び時間(t3)が得られる。アドレス・ブック用データベース218の調査により、名前(「マイケル・ブルームバーグ(Michael Bloomberg)」)が得られ、一方、イーメール・アーカイブ用データベース220の調査により、活動(「映画の切符の受取り」)及び時間(t5)が得られる。また、カレンダー・エントリ用データベース222の調査により、活動(「マイクとランチを食べる(Work lunch with Mike)」)及び時間(t6)が得られる。
【0042】
ブロック404に示すように、位置決めモジュールは、結果セット402上で地点取出し処理(geopoint extraction process)を実行して、ジオコード結果セット(geocoded result set)404を作る。1つの実施例では、このジオコード結果セット404は、緯度/経度形式で特定の物理的位置を参照する機能を含む。前部ジオコーダ(forward geocoder)は、アドレスを緯度/経度形式に変換するために使用されることができる。ブロック306に関して前述されたように、緯度及び経度を含む空間インデックスが構成される。この空間インデックスは、緯度及び経度に対応する住所などの物理的アドレスの適切にフォーマットされたバージョンを含みうる。空間インデックスは、ウェブ・ページがアクセスされた時間又は検索問合せが実行された時間などの時間情報を含みうる。同様のタイミング情報が、別のサブデータベースに対して収集される。別の実施例では、ユーザが一緒に移動する又は会う予定になっている周知の友人の位置などの、地理的情報に対応するサブデータベース内の任意の情報が、位置決めモジュールによって処理されることができる。
【0043】
この空間インデックスは、「クワッドツリー(quadtree)」構造の中に記憶されるイメージ・タイル(image tile)及び関連データを含みうる。クワッドツリー・データ構造体のノードは、本願では「クワッドノード(quadnode)」と呼ばれる。クワッドノードに1つ以上のディセンデント(descendent)のレベルを加えたものは、本願では「クワッドセット(quadset)」と呼ばれる。クワッドツリー、クワッドノード及びクワッドセットに関係するデータは、KFFデータベースなどのデータベースの中に記憶されることができ、それは図1Aのデータベース132として保持される。
【0044】
空間インデックスを含むKFF又は他のデータベースは、図4に示されているように、特定の物理的位置に関するヒート・マップを発生するために使用される。特に、関心のある領域の1つ以上のヒート・マップは、ジオコード結果セット404を用いて作られる。これは、人の名前、活動又はイベント、及び時間などの、結果セット402からの他のデータと併せて行われる。図示されているように、3つのヒート・マップ406a、406b及び406cが異なる時間(例えば、t1、t2及びt3)に対して発生される。これらのヒート・マップの幾つか又は全てが、図2のユーザ・インターフェース/ディスプレイ・モジュール204を経由するユーザからの入力に基づいて、ユーザ装置のディスプレイ上に示される。この実施例では、種々の画鋲(例えば、A〜J)が、各ヒート・マップに対する該当する点の格付けされたリストを示すことができる。このため、時間が経つにつれて、関心のある点が変化することがあり、また関心のある別の点が別の時間に多少とも関係する可能性がある。従って、図示されている画鋲A〜Jは、種々のヒート・マップの全体にわたって変化する。
【0045】
図5は、本発明の別の実施形態を例示している。特に、図5は、位置推定値を向上させるためのフローチャート500を示している。1つの実施例では、ブロック502に示されるように、ユーザは、グーグル・マップ(Google Maps)などのマッピング・アプリケーションから、2つの位置間の方向を要求する。この場合、ユーザは自身の特定の位置を知らない、またこの要求は現在位置からの方向に対してである。
【0046】
ブロック504に示されているように、現在位置の推定値が次に割り出されて、ユーザの装置のディスプレイ上に示される。ユーザの現在位置が、多数の技術を用いて推定される。ユーザ装置及びネットワークの特定の種類に基づいて、GPS、セル・タワー式三角測量、WiFi三角測量、IPジオコーディング又は他の技術を使用できる。現在位置も同様に、履歴情報から推測することができる。例えば、ユーザが毎日時間Xにおいて一定の位置にいることが知られている場合、彼らが将来の所定の日に同じ位置にいる可能性は大きい。このことは、カレンダー又はアドレス・ブックのエントリ、イーメール・アーカイブ、ユーザ装置の前の使用され方からのGPSの結果、又は他の情報によって判断される。
【0047】
最初の推定値は、緯度/経度座標内の位置を含み、また精度の評価値も含む。この精度は、要因の数に依存する。例えば、ユーザ装置がGPS可能な携帯電話の場合、GPS位置の精度は、携帯電話によって観察されるGPS衛星の数によって影響される。WiFiネットワーク又は携帯電話システムの場合、三角測量又は他の位置決め技術は、地形の状態(例えば、近所のビルの高さや数)、信号強度、天候状態及び1年の時期に依存する。この精度は、ユーザの装置自身によって、ネットワークによって、又はその両方によって判断される。
【0048】
次に、ブロック506で示されるように、推定された緯度及び経度が検索されるか、そうでなければ、ユーザに関連付けられたヒート・マップと比較される。ユーザに対して発生された、又はさもなければ、ユーザに関連付けられた複数のヒート・マップが存在する。そのようなヒート・マップは、過去、現在及び未来にわたって、種々の場所及び時間に対して存在する。位置決めモジュールは、望ましいことに、検索を実行するときに、現在の時刻のヒート・マップを使用する。検索に基づいて、位置決めモジュールは、ブロック508に示されているように、選択されたヒート・マップに対する関連する適合アドレスの組を決定する。これは、1つ以上のアドレスを含みうる。
【0049】
この適合アドレスは、頻度及び適時性のスコア又は順位を含みうる。頻度は、どの位の頻度で同じ位置が同じデータベースの中に又は異なるデータベースにわたって現れるかによって決定される。適時性は、特定の時間に現れる頻度である。従って、位置Xは時間t1(例えば、月曜日の午後1時)に位置Yよりも頻繁に現れ、また位置Yは時間t2(例えば、月曜日の午後11時)により頻繁に現れるとする。この場合、ユーザの現在の時間に基づいて、位置X又はYのいずれも使用されることができる。
【0050】
スコアは、頻度を単純に加えることによって、又はサブデータベースの信頼度に基づいて重み付けされたスコアを割り当てる測定基準を用いて決定されることができる。このように、マップ検索は、イーメールよりも高く重み付けされる。緯度/経度からの現在位置は、ユーザがその位置に物理的に存在していることが知られているため、最も高いスコアが割り当てられる。別のスコア信号は、データの新しさである。ここで、データがあまりに古い(「新鮮でない」)場合、そのデータはより低いスコア又は重み付けを受け取ることになり、これにより、時間に対する性能低下因数がもたらされる。
【0051】
次に、ブロック510に示されるように、最初の推定値よりも適切な位置が利用可能かどうかが判断される。より適切な位置が存在する場合、ブロック512に示されるように、精密化された位置(「最良の形態」)が決定される。1つの実施例では、位置決めモジュールが、最初の緯度及び経度の一定の距離内にある選択されたヒート・マップに関連付けられた空間インデックス内の全てのエントリを分析する。この距離は、初期の精度又は空間インデックスの密度に依存する。これから、位置決めモジュールは、空間インデックス内のエントリが十分に近いか(例えば、最初の推定値のxメータ内の緯度/経度の対)、十分に頻度があるか及び/又は十分新しいかどうか(例えば、要求された日からy日以内)を判断する。好ましいことに、選択工程が、品質に対して最適化される。適切なエントリが空間インデックスの中に見つからない場合は、ブロック514に示されるように、最初の位置推定値に戻る。次に、ブロック516に示されているように、経路方向が、精密化された位置又は最初の位置に基づいて発生されて、ユーザに与えられる。
【0052】
この工程は、図6に示されている。ここで、ブロック600は、「現在位置」からカリフォルニアのマウンテン・ビュー(Mountain View, California)に向かう方向を得るためのユーザの要求を含んでいる。ブロック602に示すように、ユーザの現在位置の推定値が決定される。緯度/経度の推定値が、ユーザ装置のディスプレイ上に示される。推定値の精度が、図示のように円形領域によって例示される。
【0053】
また、このブロックに示されるように、この位置決めモジュールは、現在の時間に対するヒート・マップ内の緯度/経度の推定値を検索する。位置決めモジュールは、前述されたように、適合アドレスを返す又は「信頼できない」結果を返す。複数の適合アドレスが与えられる場合、位置決めモジュールは、最良の形態、すなわち、ユーザの現在位置に対応する最も適切な形態を決定する。次に、ブロック604に示されているように、経路方向が、最良の形態に基づいてユーザに与えられる。形態が戻されない場合は、ブロック606は、経路方向が最初の位置推定値に基づいてユーザに与えられることを示す。
【0054】
システムが、結果を1つの場所に絞り込むことができない場合、信頼性が最も高い結果のリストがユーザに提供されて、最初の位置推定値に依存する代わりに、ユーザはそれらの中から選択することができる。また、向上したドライブ方向をユーザに提供する実施例を除いて、他の用法シナリオは、取引や人のため、ユーザの位置を彼らの友人により正確に同報通信するため、またユーザが彼らの携帯電話を用いて撮影した任意の写真を正確にジオコーディングするために、ユーザの位置の周りを検索するときに、より正確な位置を求めるステップを含む。
【0055】
本願の発明を特定の実施形態を参照して説明してきたが、これらの実施形態は本発明の原理及びアプリケーションを単に例証するものであることは理解されよう。このため、これらの例証となる実施形態に対して多数の変形例を作ることができ、また添付のクレームによって定義される本発明の精神及び範囲から逸脱することなく、別の装置を発明することができることは理解されよう。さらに、特定の処理が添付された図面の中で具体的な順序で示されているが、そのような処理は、そのような順序が本願で明白に記述されない限り、いずれの特定の順序にも限定されることはない。
【0056】
[産業上の利用可能性]
本発明は、ユーザ固有情報に鑑みて、推定された位置を精密化する位置ベースのサービスやアプリケーションを含む広い産業上の利用可能性を有しているが、これらに限定されるものではない。

【特許請求の範囲】
【請求項1】
関心のある位置に関する物理的位置情報を精密化するための方法であって、
少なくとも1つの電子データベースが地理的情報を含んでいるかどうか判断するために、選択されたユーザに関する情報を含む前記少なくとも1つの電子データベースを分析するステップと、
前記少なくとも1つの電子データベースから地理的情報を含む結果セットを抽出するステップと、
前記結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、前記結果セットに対して地点抽出を実行するステップと、
前記1つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築するステップと、
前記時間情報に基づいて、前記特定の物理的位置に関して選択された位置を含む少なくとも1つのヒート・マップを作るステップと、
を含んでなる方法。
【請求項2】
前記特定の物理的位置内で信頼度を示すために、前記空間インデックス内の結果を格付けするステップをさらに含む請求項1に記載の方法。
【請求項3】
前記信頼度は、前記地点抽出の精度によって決定されるものである請求項2に記載の方法。
【請求項4】
前記時間情報は、イベントが開始した時間及びイベントが終了したことに関して選択された情報の時間の少なくとも1つを示すものである請求項2に記載の方法。
【請求項5】
種々の前記ヒート・マップは、前記空間インデックス内で格付けされた結果に基づいて選択された特定の物理的位置の種々の位置を示し、前記方法は、表示装置上に前記少なくとも1つのヒート・マップを示すステップをさらに含むものである請求項4に記載の方法。
【請求項6】
地理的情報を処理するための処理システムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに関連付けられた位置決めモジュールと、
前記少なくとも1つのプロセッサに電気的に接続され、データを記憶するためのメモリと
を含んでなり、
前記位置決めモジュールは、少なくとも1つの電子データベースが地理的情報を含んでいるかどうか判断するために、選択されたユーザに関する情報を含む前記少なくとも1つの電子データベースを分析し、前記少なくとも1つの電子データベースから、地理的情報を含む結果セットを抽出し、前記結果セット内の地理的情報の各項目に対する特定の物理的位置を得るために、前記結果セットに対して地点抽出を実行し、前記1つ以上の特定の物理的位置に対して特定の物理的位置及び時間情報を含む空間インデックスを構築し、前記空間インデックスを前記処理システムの前記メモリ内に記憶し、前記時間情報に基づいて、前記特定の物理的位置に関して選択された位置を含む少なくとも1つのヒート・マップを作成するように構成されるものである、処理システム。
【請求項7】
前記位置決めモジュールは、ユーザ装置のディスプレイ上に表示するために、前記少なくとも1つヒート・マップを認定ユーザに送信するようにさらに構成されるものである請求項6に記載の処理システム。
【請求項8】
前記位置決めモジュールは、前記少なくとも1つの電子データベースと通信するために保護付きデータ・フェッチャを含み、該保護付きデータ・フェッチャは、ウェブ・ページ及び検索履歴の中に含まれた位置データについて少なくとも1つの電子データベースを検索するように構成されるものである請求項6に記載の処理システム。
【請求項9】
前記空間インデックスの中に保持された前記特定の物理的位置は、物理アドレスの緯度及び経度座標に対応するものである請求項6に記載の処理システム。
【請求項10】
前記各ヒート・マップは、前記時間情報に基づいて関心のある格付けされた点として表示された、特定の物理的位置に対して選択された位置を示すものである請求項6に記載の処理システム。
【請求項11】
ユーザの物理的位置に対する位置推定値をより精密化する方法であって、
ユーザの現在位置を推定するステップと、
推定された現在位置を、所定の地理的地域内の特定の物理的位置を識別する1つ以上のヒート・マップと比較するステップと、
前記ヒート・マップの選択された1つから関連する適合アドレスの組を決定するステップと、
前記推定された現在位置のプリセット距離内にある、前記選択されたヒート・マップの関連する適合アドレスの組を分析するステップと、
所定の前記関連する適合アドレスの1つが前記推定された現在位置よりも正確な位置を提供するかどうかを判断するステップと、
前記所定の関連する適合アドレスの1つが前記推定された現在位置よりも正確な位置を提供する場合、前記所定のアドレスをユーザの精密化された位置として選択するステップと
を含んでなり、
前記1つ以上のヒート・マップは、ユーザに関連した前記1つ以上の特定の物理的位置に関連付けられた時間情報を含み、前記各ヒート・マップが、ユーザに関する情報を含む少なくとも1つの電子データベースから得られるものである、方法。
【請求項12】
前記ユーザの現在位置は、前記少なくとも1つの電子データベース内に記憶されたユーザの履歴情報から推定されるものである請求項11に記載の方法。
【請求項13】
前記少なくとも1つの関連する適合アドレスは、どの位の頻度で前記少なくとも1つの関連する適合アドレスが前記少なくとも1つの電子データベース内に現れるかを示す頻度順位に基づいて選択されるものである請求項11に記載の方法。
【請求項14】
前記少なくとも1つの関連する適合アドレスは、どの位の頻度で前記少なくとも1つの関連する適合アドレスが所定の時点に前記少なくとも1つの電子データベース内に現れるかを示す適時性順位に基づいて選択されるものである請求項11に記載の方法。
【請求項15】
プロセッサと、
動作を実行するために前記少なくとも1つのプロセッサに関連付けられた位置決めモジュールと、
前記プロセッサに電気的に接続された、データを記憶するためのメモリと
を含んでなり、
前記位置決めモジュールは、ユーザの現在位置を推定し、前記推定された現在位置を所定の地理的地域内の特定の物理的位置を識別する1つ以上のヒート・マップと比較し、該ヒート・マップの選択された1つから関連する適合アドレスの組を決定し、前記推定された現在位置のプリセット距離内にある、選択されたヒート・マップの前記関連する適合アドレスの組を分析し、前記所定の関連する適合アドレスの1つが前記推定された現在位置よりも正確な位置を提供するかどうかを判断し、また前記所定の関連する適合アドレスの1つが前記推定された現在位置よりも正確な位置を提供する場合には、前記所定のアドレスをユーザの精密化された位置として選択するように構成され、前記1つ以上のヒート・マップが、ユーザに関連した前記1つ以上の特定の物理的位置に関連付けられた時間情報を含み、前記各ヒート・マップが、ユーザに関する情報を含む少なくとも1つの電子データベースから得られるものである、位置推定システム。
【請求項16】
前記プロセッサは、ユーザの前記推定された現在位置に関連したデータを遠隔のデータベースから先読みし、該先読みされたデータを前記メモリに記憶するように構成されるものである請求項15に記載の位置推定システム。
【請求項17】
前記プロセッサは、ディスプレイ装置上の前記選択されたヒート・マップ内に精密化された位置を示すように動作できるものである請求項15に記載の位置推定システム。
【請求項18】
前記少なくとも1つの関連する適合アドレスは、どの位の頻度で前記少なくとも1つの関連する適合アドレスが前記少なくとも1つの電子データベース内に現れるかを示す頻度順位に基づいて選択されるものである請求項15に記載の位置推定システム。
【請求項19】
前記少なくとも1つの関連する適合アドレスは、どの位の頻度で前記少なくとも1つの関連する適合アドレスが所定の時点に前記少なくとも1つの電子データベース内に現れるかを示す適時性順位に基づいて選択されるものである請求項15に記載の位置推定システム。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−526329(P2012−526329A)
【公表日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2012−509972(P2012−509972)
【出願日】平成22年5月6日(2010.5.6)
【国際出願番号】PCT/US2010/033865
【国際公開番号】WO2010/129766
【国際公開日】平成22年11月11日(2010.11.11)
【出願人】(510202765)グーグル インコーポレイテッド (5)
【Fターム(参考)】