(57)【特許請求の範囲】
【請求項１】
顧客のコンピュータに地理データを提供するサーバであって、
サービス地域内に位置する地理的特徴を表すデータを含み、前記サービス地域が複数の所定の小さい副区分に分割され、前記データが等しいバイトサイズを有する複数の均一サイズのデータの集合に編成され、前記均一サイズのデータの集合の各々がそれぞれ前記複数の別個の小さい副区分の１つの中に位置する地理的特徴を表すデータを含んでいる地理データベースが複数保存される地理データ保存庫と、
前記顧客のコンピュータの情報が保存される顧客データベースと、
前記サーバで実行されるデータ・ダウンロード・アプリケーションと、
を備え、
前記複数の地理データベースの各々は、前記サービス地域の全地域を表し、前記複数の地理データベースの１つの中の前記均一サイズのデータの集合は、前記複数の別の地理データベースの中の前記均一サイズのデータの集合とは異なる均一サイズを有し、
前記データ・ダウンロード・アプリケーションは、前記顧客データベースを参照し、前記複数の地理データベースの中から、前記顧客のコンピュータに適した地理データベースを選択し、選択された前記地理データベースに含まれる１つ又はそれ以上の前記均一サイズのデータの集合を、前記地理データ保存庫から前記顧客のコンピュータにダウンロードすることを特徴とするサーバ。
【請求項２】
前記サーバがさらに、前記顧客のコンピュータにダウンロードして前記顧客のコンピュータで実行するためのアプリケーションが保存されるアプリケーション保存庫も含むことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記アプリケーション保存庫に保存されるアプリケーションが、アプレットであることを特徴とする請求項２に記載のサーバ。
【請求項４】
前記アプリケーション保存庫に保存されるアプリケーションが、プラグインであることを特徴とする請求項２に記載のサーバ。
【請求項５】
前記アプリケーション保存庫に保存されるアプリケーションが、メモリ管理アプリケーションを含むことを特徴とする請求項２に記載のサーバ。
【請求項６】
前記アプリケーション保存庫に保存されるアプリケーションが、前記顧客のコンピュータに既にインストールされているアプリケーションの更新版を含むことを特徴とする請求項２に記載のサーバ。
【請求項７】
前記アプリケーション保存庫に保存されるアプリケーションが、前記顧客のコンピュータにインストールされたブラウザで実行されるアプレットであることを特徴とする請求項２に記載のサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、地域にわたるエンドユーザに、ナビゲーション関連のサービスとデータを提供するシステムに関し、より詳細には、本発明は、中央に設置されたサーバを含み、該サーバは、それに関連した地理データベースを有し、サービス地域にわたって配置されたエンドユーザのコンピュータに、ナビゲーション関連のサービスとデータを提供するようになったシステムに関する。
【０００２】
【従来の技術】
ナビゲーション・システムは、所望の目的地までの経路を計算し、計算した経路に従って指針を与え、地図を表示すること等のような種々の有用な特徴を提供する。ナビゲーション関連及び地図関連の特徴を配信するナビゲーション・システムのための様々なコンピュータ・アーキテクチャがある。ナビゲーション・システムのためのアーキテクチャの形式の１つは、エンドユーザ（乗物の運転者等）が有するローカル・ナビゲーション・システム装置である。これらのエンドユーザのローカル・ナビゲーション・システム装置は、遠隔配置された地理データベースから地理データを入手する。遠隔配置された地理データベースは、比較的大量の地理データを所有している。遠隔配置された地理データベースに関連するサーバは、エンドユーザのローカル・ナビゲーション・システム装置からのナビゲーション関連又は地図関連データに対する要求を処理する。エンドユーザのローカル・ナビゲーション・システム装置がデータを要求すると、サーバがそれに関連した地理データベースにアクセスして、要求に応えるのに必要なデータを入手し、次いでこのデータを、要求しているエンドユーザのローカル・ナビゲーション・システム装置に送信する。
【０００３】
この種のナビゲーション・システム・アーキテクチャは、幾つかの利点を与える。利点の１つは、更新された地理データを提供することに関連する。ナビゲーション・システムで使用する地理データは、継続的に更新される必要がある。例えば、新しい道ができたり、道路工事で道が閉鎖されたり、迂回路が設けられたり、新しい店舗が開店したり、標示されている速度制限が変更されたり、交差点に新しい転回制限が設けられたり、通りの名前が変更されること等がある。この種の変化は、地域を通る移動に影響を及ぼすことがある。したがって、ナビゲーション・システムで使用する地理データは、表示される地理的特徴の変化を正確に反映するために、定期的に更新されるべきである。個々のローカル・ナビゲーション・システム装置が単一の地理データベースから地理データを入手するコンピュータ・アーキテクチャは、地理データを更新することに関する利点を与える。個々のローカル・ナビゲーション・システム装置が、中央サーバに関連した単一の地理データベースからデータを入手するコンピュータ・アーキテクチャでは、更新の必要性は中央データベースにのみ生じる。
【０００４】
個々のローカル・ナビゲーション・システム装置が、中央サーバに関連した単一の地理データベースからデータを入手するようになったナビゲーション・システム・アーキテクチャでは、それに関連した利点があるが、さらに考慮すべき事項がある。考慮事項の１つは、エンドユーザが使用する種々の異なるコンピュータ・プラットフォームに、データを提供することに関連する。中央サーバは、様々な異なる種類のエンドユーザ・コンピュータ・プラットフォームに対応していることが好ましい。これらの異なるエンドユーザ・コンピュータ・プラットフォームは、異なる容量のメモリ、異なる処理速度、異なるオペレーティングシステムその他のような異なるリソースを有することがある。これらの異なる種類のエンドユーザ・コンピュータ・プラットフォームの幾つかは、ナビゲーション・アプリケーションを実行する多目的計算装置を含むことがある。他のエンドユーザ・コンピュータ・プラットフォームは、車載ナビゲーション・システムのような専用装置を含むことがある。これらの異なるエンドユーザ・コンピュータ・プラットフォームの幾つかは、音声情報と可視情報の両方をエンドユーザに提供することができるが、他のエンドユーザ・コンピュータ・プラットフォームは、音声のみ又は映像のみを提供する。コンピュータ・プラットフォームの各々が、該プラットフォームのリソースに適した地理データを受信することが好ましい。これは、コンピュータの利用可能なリソースを有意義な方法で利用するために十分なデータを送信するが、該プラットフォームで使用できないデータは送信しないようにすることを含む。
【０００５】
【発明が解決しようとする課題】
したがって、サーバが、異なる種類のエンドユーザ・コンピュータに対応するために、ナビゲーション関連のサービス及びデータを提供できるようにする、という改良の必要性がある。
【０００６】
さらに、データが中央サーバからエンドユーザ・コンピュータに送信されるナビゲーション・システム・アーキテクチャにおいて、データが、サーバとエンドユーザ・コンピュータの両方で効果的に管理されるようにする、という改良の必要性がある。
【０００７】
【課題を解決するための手段】
これらの及び他の目的に応えるために、本発明は、ナビゲーション関連のサービスをエンドユーザのコンピュータに提供するためのシステム及び方法からなる。サーバは、ダウンロード可能な地理データを管理し、該データは、該サーバによるサービス地域全体を分割する所定の副区分に対応している予め計算されたデータの集合に系統化される。サーバは、予め計算され選択された地理データのデータの集合をエンドユーザのコンピュータに送信することで、ナビゲーション・サービスとデータに対する要求に応える。エンドユーザのコンピュータの各々は、サーバから受信したデータの集合を、メモリ・キャッシュに保存する。エンドユーザのコンピュータは、データの集合の中のデータを使用して、ナビゲーション関連の特徴を局所的に提供する。
また、本発明は以下の特徴を有する。
（１）顧客のコンピュータ（１３０）に地理データを提供するサーバ（１２０）であって、サービス地域（１００）内に位置する地理的特徴を表すデータ（３３６）を含み、前記サービス地域（１００）が複数の所定の小さい副区分（３１２）に分割され、前記データ（３３６）が等しいバイトサイズを有する複数の均一サイズのデータの集合（３２０）に編成され、前記均一サイズのデータの集合（３２０）の各々がそれぞれ前記複数の別個の小さい副区分（３１２）の１つの中に位置する地理的特徴を表すデータ（３３６）を含んでいる地理データベース（２３２）が複数保存される地理データ保存庫（１２４）と、前記顧客のコンピュータ（１３０）の情報が保存される顧客データベース（２０８）と、前記サーバ（１２０）で実行されるデータ・ダウンロード・アプリケーション（２２８）と、を備え、前記複数の地理データベース（２３２）の各々は、前記サービス地域（１００）の全地域を表し、前記複数の地理データベース（２３２）の１つの中の前記均一サイズのデータの集合（３２０）は、前記複数の別の地理データベース（２３２）の中の前記均一サイズのデータの集合（３２０）とは異なる均一サイズを有し、前記データ・ダウンロード・アプリケーション（２２８）は、前記顧客データベース（２０８）を参照し、前記複数の地理データベース（２３２）の中から、前記顧客のコンピュータ（１３０）に適した地理データベース（２３２）を選択し、選択された前記地理データベース（２３２）に含まれる１つ又はそれ以上の前記均一サイズのデータの集合（３２０）を、前記地理データ保存庫（１２４）から前記顧客のコンピュータ（１３０）にダウンロードすることを特徴とするサーバ。
（２）前記サーバがさらに、前記顧客のコンピュータ（１３０）にダウンロードして前記顧客のコンピュータ（１３０）で実行するためのアプリケーション（８００）が保存されるアプリケーション保存庫（８０２）も含むことを特徴とする上記（１）に記載のサーバ。
（３）前記アプリケーション保存庫（８０２）に保存されるアプリケーション（８００）が、アプレットであることを特徴とする上記（２）に記載のサーバ。
（４）前記アプリケーション保存庫（８０２）に保存されるアプリケーション（８００）が、プラグインであることを特徴とする上記（２）に記載のサーバ。
（５）前記アプリケーション保存庫（８０２）に保存されるアプリケーション（８００）が、メモリ管理アプリケーションを含むことを特徴とする上記（２）に記載のサーバ。
（６）前記アプリケーション保存庫（８０２）に保存されるアプリケーション（８００）が、前記顧客のコンピュータに既にインストールされているアプリケーションの更新版を含むことを特徴とする上記（２）に記載のサーバ。
（７）前記アプリケーション保存庫（８０２）に保存されるアプリケーション（８００）が、前記顧客のコンピュータにインストールされたブラウザで実行されるアプレットであることを特徴とする上記（２）に記載のサーバ。
【０００８】
【発明の実施の形態】
Ｉ．分散型ナビゲーション・システムの概要
図１は、地域１００を示す。地域１００は、大都市地域又は農村地域、州、国又はこれらの組み合わせ、或いは他の類似の規模の地域のいずれかに対応させることができる。この地域１００には、道路網１０４がある。
【０００９】
ナビゲーション・システム１１０が、この地域１００内のエンドユーザ（例えば、乗り物の運転者及び乗客並びにその他の者）にサービスを提供する。このナビゲーション・システム１１０は、地域１００についてのナビゲーション関連のサービスと地図関連のサービスを得るために、エンドユーザによって使用される。ナビゲーション関連のサービスと地図関連のサービスは、経路計算及び案内、個人及び企業検索サービス（例えばエレクトロニック・イエロー及びホワイトページズ）、地図、関心のある地点の検索、目的地選択その他を含む道路網１０４沿いの移動に関する情報を含む。
【００１０】
ナビゲーション・システム１１０は、ハードウェアとソフトウェアとデータとの組み合わせである。ナビゲーション・システム１１０は、遠隔コンポーネント（例えば、エンドユーザから離れた中心位置にあるハードウェア、ソフトウェア又はデータ）と局所的コンポーネント（例えば、物理的に各エンドユーザと共に位置するハードウェア、ソフトウェア又はデータ）を含む。
【００１１】
ナビゲーション・システム１１０の遠隔コンポーネントの中には、ナビゲーション・サービス・サーバ１２０が含まれる。ナビゲーション・サービス・サーバ１２０に関連するのは、作業地理データベース１２２と、ダウンロード可能な地理データ記憶装置（すなわち保存庫）１２４である。ナビゲーション・サービス・サーバ１２０と、作業地理データベース１２２と、ダウンロード可能な地理データ記憶装置１２４は、ナビゲーション・サービス・プロバイダ１２８により管理され、動作される。
【００１２】
ナビゲーション・システム１１０の局所的コンポーネントには、エンドユーザにより、ナビゲーション関連及び地図関連の特徴と地理データをナビゲーション・サービス・プロバイダ１２８に要求して入手するように作動される、様々なコンピュータ・プラットフォーム１３０が含まれる。これらの様々なコンピュータ・プラットフォーム１３０（「エンドユーザ・コンピュータ」又は「顧客のコンピュータ」とも呼ばれる）は、データ・ネットワーク１７０を介してナビゲーション・サービス・プロバイダ１２８にアクセスするのに適したハードウェアとソフトウェアを有し、乗物１３４、パーソナルコンピュータ１４０、個人用整理手帳（例えばＰＤＡ、ＰａｌｍＰｉｌｏｔ（登録商標）型の装置）１５０、携帯電話１６０、又は他の種類の計算装置に搭載されたナビゲーション・システム装置１３２を含むことができる。
【００１３】
データ・ネットワーク１７０は、現在利用可能な適当な技術及び／又はプロトコル、並びに将来利用可能となる技術及び／又はプロトコルのいずれをも使用することができる。例えば、データ・ネットワークは、ＷＡＰ、ＴＣＰ／ＩＰその他を使用することができる。データ・ネットワーク１７０には、適当な変換により、１つより多いプロトコルを使用することができる。
【００１４】
データ・ネットワーク１７０は、インターネットの一部とすることもできるし、インターネットに接続できるようにすることもできる。
【００１５】
ネットワーク１７０は、無線部分１７２を含むことができる。データ・ネットワーク１７０の無線部分１７２は、エンドユーザのモバイル・コンピュータ１３０とサービスプロバイダ１２８との間で双方向通信できるようにする。無線部分１７２は、セルラー方式、ＰＣＳ、衛星、ＦＭ、無線、又は将来開発されることとなる技術の適当な形式で実行することができる。無線部分１７２は、トランスポンダ塔、アンテナ塔、ＦＭ塔、衛星その他適当な手段のような１つ又はそれ以上の送波器１７４を含むことができる。送波器１７４は、ネットワーク１７０及び／又はサービスプロバイダ１２８との適当な通信リンク１７６を有する。このリンク１７６は、地上回線とすることもできるし、無線とすることもできる。送波器１７４は、サービスプロバイダ１２８とエンドユーザのモバイル・コンピュータ１３０との間で双方向通信できるようにする適当な技術を含む。
【００１６】
図１のナビゲーション・システム１１０における特徴の１つは、異なる形式のエンドユーザ・コンピュータ１３０に対応しているということである。図１のナビゲーション・システム１１０は、異なる形式のコンピュータ１３０を有するエンドユーザが、ナビゲーション・サービス・プロバイダ１２８からナビゲーション・サービスを受け、該ナビゲーション・サービス・プロバイダ１２８から地理データを入手して使用することができるようにする。
【００１７】
II．ナビゲーション・サービス・サーバ
Ａ．概要
図２は、ナビゲーション・サービス・プロバイダ１２８のコンポーネントの幾つかを示すブロック図である。ナビゲーション・サービス・プロバイダ１２８のナビゲーション・サービス・サーバ１２０には、サーバ・アプリケーション２００が含まれる。サーバ・アプリケーション２００の１つは、加入者用サービス・アプリケーション２０４である。ナビゲーション・サービス・プロバイダ１２８により提供される他のサービスの幾つか又は全てを使用するためには、エンドユーザが加入者になることが必要とされる。加入者用サービス・アプリケーション２０４は、この機能に対応するサービスを提供する。加入者用サービスの幾つかは、登録、支払い、更新、加入者身分確認、対象広告その他を含む。加入者用サービス・アプリケーション２０４は、様々な加入者に関する様々な種類の情報を保有している加入者データベース２０８を管理し、使用する。
【００１８】
サーバ・アプリケーション２００のその他には、通信用アプリケーション２１２がある。通信用アプリケーション２１２は、エンドユーザとメッセージを送受信するために、データ・ネットワーク（図１の１７０）とインターフェースしている。通信用アプリケーション２１２はまた、エンドユーザとの通信セッションを維持管理する。
【００１９】
サーバ・アプリケーション２００には、ナビゲーション関連アプリケーション２１６が含まれる。ナビゲーション関連アプリケーション２１６は、様々な異なる種類のナビゲーション関連のサービスを提供するために、ナビゲーション・サービス・サーバ１２０に関連する作業地理データベース１２２を使用する。ナビゲーション関連アプリケーション２１６の１つは、経路計算アプリケーション２２０である。出発地と目的地の位置を特定するデータが与えられると、経路計算アプリケーション２２０は、出発地と目的地との間の経路を計算する。経路計算アプリケーション２２０は、この目的に合う様々な手段又はアルゴリズムのいずれをも使用することができる。経路を計算する方法は、米国特許第６,１９２，３１４号に開示されており、その開示全体を引用によりここに組み入れる。例えば、経路の計算方法は、Ａ*アルゴリズムか又はディクストラ・アルゴリズムのいずれかを含むことができる。（上述の特許に開示されている方法には、経路を計算することができる方法のうちの幾つかのみしか記載されていないが、ここで特許請求される内容は、特定の経路計算方法のいずれにも限定されるものではない。既知の又は将来開発されることとなる好適な経路計算方法のいずれも使用することができる。）
【００２０】
使用する方法に関係なく、経路計算アプリケーション２２０は、出発地と目的地との間の合法的解答経路を形成する連続する一続きの道（又はこれらの区分）を特定する、リストの形態の出力を与える。「合法的解答経路」は、一方通行路、転回制限その他のような確認されている交通規制に従う。経路計算アプリケーション２２０で用いられる方法は、解答経路が１つ又はそれ以上の所定の基準を満たすよう最適化されるように設計することができる。このような基準は、最短移動時間、最短距離、最少回数の転回その他を含むことができる。経路計算アプリケーション２２０で用いられる方法が、１つ又はそれ以上の基準のために最適化された解答経路を見つけるように設計される場合には、解答経路も、理想的にはこれらの１つ又はそれ以上の基準を満たす。
【００２１】
ナビゲーション関連アプリケーション２１６のその他には、企業及び個人検索アプリケーション２２４がある。企業及び個人検索アプリケーション２２４は、イエロー及びホワイトページ形式の機能を含む。企業及び個人検索アプリケーション２２４は、特定の企業又は個人の位置或いは住所を見つけるか、或いは特定の企業又は個人についての他の情報を見つける。企業及び個人検索アプリケーション２２４はまた、種々の基準に基づいて、企業又は個人のカテゴリの位置又は住所を検索することも提供する。例えば、企業及び個人検索アプリケーション２２４は、特定の位置（例えばエンドユーザの位置）から特定の距離内（例えば５マイル）の、特定のエスニック風（例えば中華）又はチェーン店（例えばマクドナルド）の飲食店の全てを検索することを提供する。企業及び個人検索アプリケーション２２４は、エンドユーザが、目的地として使用可能な関心のある企業、個人又は地点を見つけるのを支援することができ、次いで、経路計算アプリケーション２２０が、そこまでの解答経路を求めることができる。
【００２２】
ナビゲーション関連の特徴を提供するために、経路計算アプリケーション２２０と検索アプリケーション２２４は、作業地理データベース１２２からのデータを使用する。作業地理データベース１２２は、地域（図１の１００）の道路と交差点を表すデータを含み、さらに、交差点での転回制限、道路沿いの速度制限、様々な道路の通りの名前、道路沿いの住所範囲その他のような表された道路と交差点に関する情報も含んでいる。作業地理データベース１２２はまた、関心のある地点と企業についての情報とその他の情報も保有している。作業地理データベース１２２は、ナビゲーション関連機能の実行を容易にするために系統化することができる。ある種のナビゲーション関連機能の性能を向上させるため地理データベースを系統化する方法は、米国特許第５，９７４，４１９号と、米国特許第５，９６８，１０９号と、米国特許第５，９５３，７２２号に記載されており、その開示全体を引用によりここに組み入れる。
【００２３】
ナビゲーション・サービス・サーバ１２０におけるナビゲーション関連アプリケーション２１６のその他は、地理データ提供アプリケーション２２８である。地理データ提供アプリケーション２２８は、地理データをエンドユーザのコンピュータ１３０にダウンロードするのを管理する。ナビゲーション・システム（図１の１１０）の一実施形態によれば、ある種のナビゲーション関連機能は、ナビゲーション・サービス・サーバ１２０上で遠隔的にエンドユーザに向けて実行され、他のナビゲーション関連機能は、エンドユーザ・コンピュータ１３０上で局所的にエンドユーザに向けて実行される。例えば、一実施形態によれば、経路計算は、最新の交通情報を利用するために、ナビゲーション・サービス・サーバ１２０上で実行される。経路案内は、各エンドユーザが好む方法で情報を与え、各エンドユーザのコンピュータ１３０の各々のリソースに対応させるために、各エンドユーザのコンピュータ１３０上で局所的に実行される。
【００２４】
エンドユーザのコンピュータ上のナビゲーション・アプリケーションは、該エンドユーザのコンピュータ上で局所的にある種のナビゲーション関連機能を実行するために、地理データを要求することができる。この実施形態において、エンドユーザのコンピュータの各々は、ある種のナビゲーション関連機能を局所的に実行するのに必要な地理データを、ナビゲーション・サービス・サーバ１２０から入手する。ナビゲーション・サービス・サーバ１２０がエンドユーザのコンピュータ１３０に送信するデータは、ダウンロード可能な地理データ記憶装置１２４から入手される。ナビゲーション・サーバ１２０の地理データ提供アプリケーション２２８は、ダウンロード可能な地理データ記憶装置１２４からエンドユーザのコンピュータ１３０までの、地理データの供給を管理する。
【００２５】
地理データ提供アプリケーション２２８は、幾つかの機能を実行する。地理データ提供アプリケーション２２８が実行する機能の１つは、ダウンロード可能な地理データ記憶装置１２４からエンドユーザのコンピュータに送信するのに適したデータを決定することである。この決定は、幾つかの要素を考慮に入れることができる。一実施形態によれば、エンドユーザのコンピュータは、地理データのコレクションを特定する。ナビゲーション・サービス・プロバイダ１２８は、ダウンロード可能な地理データ記憶装置１２４の中で、地理データの異なるコレクション２３２を保管することができる。個々のコレクション２３２の各々は、全地域（図１の１００）の個々の表示である。これらの異なるコレクション２３２の構成は、後でより詳細に説明する。地理データのコレクション２３２からどのデータを送信するかが決定されると、地理データ提供アプリケーション２２８が、後でより詳細に説明するように、コレクション２３２から特定のデータ部分を選択し、選択されたデータ部分をエンドユーザのコンピュータに送信する。
【００２６】
別の実施形態によれば、地理データ提供アプリケーション２２８は、加入者データベース２０８を参照することで、特定のエンドユーザに送信するデータを選択するのに適した地理データのコレクション２３２を決定することができる。加入者データベース２０８は、各エンドユーザに送信するデータが選択される地理データのコレクションを識別する情報を、管理することができる。さらに別の実施形態によれば、地理データ提供アプリケーション２２８は、その他の手段により特定のエンドユーザに送信するデータを選択するのに適した地理データのコレクションを決定することができる。
【００２７】
ダウンロード可能な地理データ記憶装置１２４から、エンドユーザのコンピュータに送信する地理データが選択されるコレクション２３２を決定した後に、送信する地理データの特定部分が選択される。この機能を実行するために、地理データ提供アプリケーション２２８は、（１）エンドユーザのコンピュータの位置と、（２）エンドユーザのプラットフォームがどこへ行くのかということと、（３）他の要素と、を考慮に入れる。エンドユーザが、経路計算アプリケーション２２０により計算された経路に追従する場合には、地理データ提供アプリケーション２２８が、この経路沿いの区域を表すデータを選択する。経路沿いの区域は、「進路要図」と呼ぶことができる。進路要図の尺度は、地理データ提供アプリケーション２２８によって決定される。この決定は、エンドユーザによる進路要図の尺度の指定を考慮に入れることができる。或いは、地理データ提供アプリケーション２２８が、エンドユーザの好みやコンピュータ・プラットフォームのリソースに関する保存された情報に基づいて、適した進路要図の尺度を決定することができる。この保存された情報は、加入者データベース２０８で管理される。
【００２８】
Ｂ．ダウンロード可能な地理データ
上述のように、地理データ提供アプリケーション２２８は、どのデータをエンドユーザのコンピュータ１３０に送信するかを決定する。地理データ提供アプリケーション２２８がエンドユーザのコンピュータに送信するデータは、ナビゲーション・サービス・サーバ１２０で管理されるダウンロード可能な地理データ記憶装置１２４から入手する。ナビゲーション・サービス・サーバ１２０からエンドユーザのコンピュータ１３０にデータをダウンロードするのを容易にするために、該データは、１つ又はそれ以上の所定のコレクション２３２に系統化される。さらに、ダウンロード可能な地理データ記憶装置１２４の中のデータのコレクション２３２の各々は、複数のグループ分け（すなわち「データの集合」）に系統化される。一実施形態において、各データの集合に格納されるデータは、空間的に決定されるものであり、すなわち、地理的特徴を表す各データの集合の中のデータは、互いに近接するものである。より具体的には、各データの集合に格納されるデータは、表された全地域（図１の１００）を分割する複数の別個の地理的区分のうちの別個の区別されるものが所有している地理的特徴を表す。
【００２９】
上述のように、この実施形態によれば、ダウンロード可能な地理データ記憶装置１２４は、種々の異なるコレクション２３２を含む。これらのコレクション２３２の各々は、全地域１００の別個の表示からなる。これらのコレクション２３２の各々は、複数のデータの集合に系統化される。
【００３０】
図３及び図４は、ダウンロード可能な地理データ記憶装置１２４のコレクション２３２の各々に格納されるデータが、一実施形態によってどのように系統化されるのかを示している。図３は、図１に既に示されている地域１００の地図３００を示す。図３では、地域１００を表す地図３００にグリッド３０４が重ね合わされている。グリッド３０４は、グリッド線３０８で構成されている。グリッド線３０８は、表された地域１００を複数の区域３１２に分割する。この実施形態において、区域３１２は長方形であるが、しかしながら、別の実施形態において区域３１２を別の形状にすることもできる。グリッド３０４のグリッド線３０８は、区域３１２の境界を表す。これらの区域３１２は、図３に示すように異なる大きさにすることができる。或いは、区域３１２は、全て同じ大きさにすることもできる。区域３１２の大きさ、及び、該区域３１２の大きさが全て同じかどうかということは、これらの地理的区分に含まれている地理的特徴を表すデータをデータの集合に系統化するのに用いる手順により定まる。同様に、区域３１２の境界の位置は、これらの地理的区分に含まれている地理的特徴を表すデータをデータの集合に系統化するのに用いる手順により定まる。データの集合を生成するため区域の境界を決定する方法は、米国特許第５，９７４，４１９号に記載されており、その開示全体を引用によりここに組み入れる。
【００３１】
各データの集合３１２の生成において、別個の区域３１２の各々に含まれている地理的特徴を表す個々のデータ・レコード３３６は、データの別個のデータの集合３２０（又はグループ分け）に一緒に集められる。すなわち、（各コレクション２３２の）データのデータの集合３２０の各々は、対応する地理的区分３１２に含まれている地理的特徴を表す全てのデータ・レコード３３６を含んでいる。したがって、（コレクション２３２の全てのデータの集合３２０に対応している）全ての地理的区分３１２は、地域全体１００を構成する。すなわち、データのデータの集合３２０の各々は、道路、交差点、関心のある地点及び該データの集合に対応する地理的区分３１２内にある他の特徴を表す、複数のデータ・レコード３３６を含むことができる。
【００３２】
一実施形態によれば、各コレクション２３２内の全てのデータの集合３２０は、均一なデータの集合のサイズを有する。例えば、データのデータの集合３２０の各々は、１Ｋ、２Ｋ、４Ｋ、８Ｋ、１６Ｋ、３２Ｋその他のサイズを有することができる。コレクション２３２の各々のデータの集合のサイズは、データを使用することになるエンドユーザのコンピュータのメモリ・リソースを含む幾つかの要素に基づいて決定することができる。この実施形態によれば、１つのコレクション２３２のデータの集合３２０は、別のコレクション２３２のデータの集合３２０と異なるサイズにすることができる。例えば、１つのコレクション２３２は、サイズが３２Ｋのデータの集合を有することができ、その一方で、別のコレクション２３２は、サイズが１６Ｋのデータの集合を有することができる。
【００３３】
図３及び図４に示すように、コレクション２３２の各々は、複数のデータの集合３２０を含むことができる。コレクション２３２のデータの集合３２０の各々は、全地域１００内に位置する地理的区分３１２の別個の１つに対応する。ダウンロード可能なデータ記憶装置１２４において、コレクション２３２の各々と該コレクション２３２のデータの集合３２０の各々は、予め計算されている。言い換えれば、各コレクション２３２の決定及び生成と、各コレクション２３２を構成する全てのデータの集合３２０の決定及び生成は、ダウンロード可能なデータ記憶装置１２４のデータのいずれかが、エンドユーザのコンピュータ１３０のいずれかにダウンロードできるようになる前に行われる。これにより、どのデータをエンドユーザに送信するかの決定が容易になる。エンドユーザが、彼又は彼女のコンピュータで局所的に使用するためにデータを要求する時には、ナビゲーション・サービス・サーバ１２０が、どの特定のデータ・レコードを該エンドユーザが必要とし、これらのデータ・レコードを該エンドユーザに送信するかを判断する必要はない。代わりに、ナビゲーション・サービス・サーバ１２０は、どの地理的区分３１２がエンドユーザに要求され、これらの地理的区分３１２における全ての地理的特徴を表すデータを含んでいる全てのデータの集合３２０をエンドユーザに送信するかを判断する。エンドユーザに送信されるデータの集合３２０は、地域を表す全てのデータのクリップ又はスライスを表す。これらのデータの集合３２０は、エンドユーザに必要とされる個々のデータ・レコードの全てを含んでいる。この系統化と処理は、ナビゲーション・サービス・サーバ１２０での演算を容易にする。ナビゲーション・サービス・サーバ１２０における地理データ提供アプリケーション２２８は、エンドユーザがデータの集合に対応する定義された地理的区分３１２に対応するいずれかのデータを必要としているかどうかを判断し、必要としている場合には、地理的区分３１２に対応するデータの集合の全部をエンドユーザに送信する。この系統化と処理はまた、後でより詳細に説明するようなメモリ・リソースを管理する方法を与えることで、エンドユーザのコンピュータでの演算を容易にする。
【００３４】
後で説明するのを除いて、ダウンロード可能なデータ記憶装置１２４からエンドユーザのコンピュータにデータがダウンロードされる時に、該データは、全てのデータの集合にダウンロードされる。これは、地理的区分３１２の各々に含まれている地理的特徴を表す全てのデータ・レコード３３６は、グループとして一緒にアクセスされるということを意味する。したがって、データの集合３２０は、エンドユーザのコンピュータで使用するため同時にダウンロードされたデータ・レコードの量を表す。データのデータの集合がエンドユーザのコンピュータに送信されると、該データの集合のデータ・レコードは全て、該エンドユーザのコンピュータで利用可能である。一実施形態において、データの集合の中の全てのデータ・レコードは、エンドユーザのコンピュータ・システムのメモリに同時に保管される。
【００３５】
Ｃ．異なる種類のデータの集合
前述のように、ダウンロード可能な地理データ記憶装置１２４は、地理データの異なるコレクション２３２を含む。これらの異なるコレクション２３２は、全て同じ地域（図１の１００）を表すが、異なる形式のデータ（すなわち別に系統化されたデータ）を含むことができる。これらの異なるデータのコレクション２３２は全て、前述のようにデータの集合に系統化される。前述のように、コレクションの中のデータの集合２３２は、均一なデータの集合のサイズに合わせることが好ましい。しかしながら、１つのコレクション２３２の中のデータの集合の均一サイズは、別のコレクション２３２の中のデータの集合の均一サイズと異なっていてもよい。コレクション２３２の幾つかのコンテンツについて、次に説明する。
【００３６】
（１）ダウンロード可能な地理データの第１コレクション
図５は、コレクション２３２（１）の１つの中の地理データ３３６のデータの集合３２０の１つの中のコンテンツを説明するのに使用する概略図である。データの集合３２０の中のデータ３３６は、地理的区分３１２（１）の１つに対応する。この実施形態において、データの集合３２０は、地理的区分３１２（１）に含まれている全ての特徴を表す全てのデータ３３６を含んでいる。一例として、データの集合３２０は、該データの集合３２０に対応する地理的区分３１２（１）にある全ての道路を表すデータを含んでいる。各道路は、一続きの連結された区間として表され、該区間は、道路沿いの隣接する交差点の間の道路区間か又は交差点と道路の行き止まり位置との間の道路区間に対応する。この実施形態において、各道路区間は、別個のデータ・エンティティ（又はデータ・レコード）で表される。道路区間を表す各データ・レコードは、該道路区間の速度制限（又は速度圏）、該道路区間の機能的分類（すなわちランク）、該道路区間沿いの車線の数その他のような表示された道路区間についてのデータを含む（又は示す）。
【００３７】
道路区間を表すデータ・レコードはまた、道路区間の位置を示すデータも含んでいる。一実施形態において、この情報は、道路区間の終点を表すノード・レコードの記述を含む。ノード・レコードに関連するのは、道路区間の終点（すなわちノード）の位置（例えば緯度、経度、及び必要であれば高度）を示すデータである。直線ではない道路区間については、道路区間の形状を示すために付加的なデータが含まれる。一実施形態において、この目的のために形状ポイントデータが使用される。形状ポイントは、道路区間の終点の間の該道路区間沿いの地点の位置（例えば緯度、経度、及び必要であれば高度）を特定する。１つ又はそれ以上の形状ポイントを使用することで、直線以外の道路区間の形状を表すことができる。
【００３８】
道路区間を表すレコードはまた、道路区間の１つ又はそれ以上の名前を示すデータも含んでいる。一実施形態において、この情報は、１つ又はそれ以上の名前レコードの記述を含む。この実施形態において、道路の名前レコードと他の名前の付いた地理的特徴は、同じデータの集合に含まれる。
【００３９】
図５に示す実施形態において、データの集合３２０はまた、関心のある地点のデータも含んでいる。関心のある地点のデータは、関心のある地点に関する情報を含んでいる。関心のある地点は、企業、公共施設その他を含む。関心のある地点のデータは、名前、種類（例えば、ホテル、飲食店、チェーン店、博物館、警察署その他）、住所、電話番号その他のような表示された関心のある地点に関する情報を含む。この実施形態において、地理的区分に含まれている関心のある地点のデータ・レコードは、道路区間データと、ノード・データと、名前データと共に、同じデータの集合に含まれる。
【００４０】
図５のデータ・コレクション２３２（１）では、全てのデータの集合が１６Ｋのサイズである（しかし、他のどのバイトサイズを使用することもできる）。図６は、別のデータ・コレクション２３２（２）を示す。図６において、コレクション２３２（２）は、同じ種類のデータ、例えば道路区間レコード、ノード・レコード、名前レコード、関心のある地点レコードその他を含むデータの集合３２０に分割される。しかしながら、図６のコレクション２３２（２）を生成するデータの集合３２０は、図５のコレクション２３２（１）の中のデータの集合と異なるサイズを有する。図６のコレクション２３２（２）の中のデータの集合は、それぞれ３２Ｋのサイズである。図６のデータの集合３２０の各々は、図５のデータの集合の各々より多くデータが含まれているので、各データの集合は、より広い地理的区分を表すことができる。したがって、図６に示すように、データの集合３２０に対応する地理的区分３１２（２）は、図５のデータの集合３２０に対応する地理的区分３１２（１）より寸法が大きい。
【００４１】
図７は、別のデータ・コレクション２３２（３）を示す。図７に示すデータのコレクション２３２（３）は、図５及び図６に示すそれぞれコレクション２３２（１）及び２３２（２）のように、同じ種類のデータ、例えば、道路区間レコード、ノード・レコード、名前レコード、関心のある地点レコードその他を含む。さらに、図７のデータ・コレクション２３２（３）の中の各データの集合は、発音データも含んでいる。発音データは、表示された地理的区分における地理的特徴及び／又は関心のある地点の名前に対応している。発音データは、エンドユーザのコンピュータ１３０の適当なハードウェア及びソフトウェアを使用してこれらの名前を聞き取り可能に再生できるように、データの集合３２０の中に、表された地理的区分における地理的特徴及び／又は関心のある地点の名前に対応する音声表現を含んでいる。図７のデータ・コレクション２３２（３）において、各データの集合３２０は６４Ｋのデータを含んでいるが、他のバイトサイズを使用することもできる。
【００４２】
図８は、さらに３つのデータ・コレクション２３２（４）（１）、２３２（４）（２）、及び２３２（４）（３）を示す。この実施形態において、コレクション２３２（４）（１）、２３２（４）（２）、及び２３２（４）（３）の各々は、幾つかの種類（又は属性）のデータのみを含んでいる。例えば、コレクション２３２（４）（１）は、経路データ、例えば区間レコードとノード・レコードのみを含む。コレクション２３２（４）（２）は、名前レコードのみを含む。コレクション２３２（４）（３）は、関心のある地点レコードのみを含む。これらのコレクション２３２（４）（１）、２３２（４）（２）、及び２３２（４）（３）の各々は、別個の地理的区分３１２の各々に対応している別個のデータの集合３２０に系統化される。したがって、コレクション２３２（４）（１）のデータの集合３２０は、地理的区分３１２（４）における道路と交差点を表す区間レコードとノード・レコードを含む。コレクション２３２（４）（２）は、地理的区分３１２（４）における地理的特徴及び／又は関心のある地点の名前を表す名前レコードを含む。コレクション２３２（４）（３）は、地理的区分３１２（４）における関心のある地点の位置を表す関心のある地点レコードを含む。図８のデータ・コレクション２３２（４）（１）、２３２（４）（２）、及び２３２（４）（３）において、各データの集合３２０は、１６Ｋのデータを含む（しかし、他の均一なバイトサイズを使用することもできる）。
【００４３】
図５から図８までに示されている異なるデータ・コレクションの実施形態は、ナビゲーション・サービス・サーバ１２０上のダウンロード可能な地理データ記憶装置（図２の１２４）に保管できるデータ・コレクションの幾つかの異なる形式のみを表している。ダウンロード可能な地理データ記憶装置１２４は、異なるサイズのデータの集合を保有するデータのコレクションを含むことができる。さらに、ダウンロード可能な地理データ記憶装置１２４は、互いに別々に系統化されたデータの集合を保有するデータ・コレクションを含むことができる。例えば、ダウンロード可能な地理データ記憶装置１２４は、アルファベット順に又は行政体系（例えば市、郡、州及び国）により系統化されたデータのデータの集合を保有するコレクションを含むことができる。
【００４４】
III．エンドユーザのコンピュータ
Ａ．概要
前述のように、各エンドユーザは、コンピュータ(図１の１３０）を使用して、ナビゲーション・サービス・サーバ１２０からデータを入手する。また、前述のように、ナビゲーション・サービス・サーバ１２０から入手したデータを用いて、エンドユーザのコンピュータ上で幾つかのナビゲーション関連機能が局所的に実行される。異なるエンドユーザのコンピュータは、異なるハードウェアとソフトウェアを有するので、エンドユーザのコンピュータ上で実行されるナビゲーション関連機能は、該エンドユーザのプラットフォーム毎に変化させることができる。したがって、次のセクションでは、エンドユーザのコンピュータの構成について説明する。全てのエンドユーザのコンピュータが、必ず後述の全ての機能を提供するとは限らず、また、幾つかのエンドユーザ・コンピュータは、付加的な又は他の機能を提供することができる、ということについて理解されたい。
【００４５】
異なるエンドユーザのコンピュータは、異なるハードウェア及びソフトウェア・リソースを有していても良いが、全てのエンドユーザ・コンピュータは、ナビゲーション・サービス・サーバ（図１の１２０）からデータを受信する。エンドユーザ・コンピュータの幾つか又は全ては、ナビゲーション・サービス・サーバ１２０上のダウンロード可能な地理データ記憶装置１２４から地理データを受信する。ダウンロード可能な地理データ記憶装置１２４から地理データを受信するエンドユーザ・コンピュータ１３０は、後述のメモリ管理特徴を用いて、ナビゲーション・サービス・サーバ１２０から入手したデータのデータの集合を処理することができる。
【００４６】
Ｂ．エンドユーザのコンピュータのコンポーネント
図９は、エンドユーザのコンピュータ１３０の１つにおけるコンポーネントの幾つかのブロック図である。エンドユーザのコンピュータ１３０は、通信システム４００を含む。エンドユーザのコンピュータ１３０における通信システム４００は、データ・ネットワーク１７０を介してナビゲーション・サーバ（図１の１２０）との間でメッセージを送受信するのに必要とされるハードウェアとソフトウェア・コンポーネントを含む。通信システム４００は、エンドユーザのコンピュータ１３０における他のコンポーネントとインターフェースする。
【００４７】
エンドユーザのコンピュータ１３０はまた、ユーザ・インターフェース４１０も含んでいる。ユーザ・インターフェース４１０は、エンドユーザが、エンドユーザのコンピュータ１３０に情報を入力し、該エンドユーザのコンピュータ１３０から情報を受け取ることができるようにする。ユーザ・インターフェース４１０は、ハードウェアとソフトウェア・コンポーネントを含んでいる。例えば、ユーザ・インターフェース４１０は、ディスプレイ、マイクロホン、スピーカ、キーパッド、又は情報をコンピュータに入力し、そこから情報を出力するための他の種類の手段を含むことができる。ユーザ・インターフェース４１０は、メニュー、プロンプト、音声その他を提供することができる支援ソフトウェアを含む。ユーザ・インターフェース４１０は、エンドユーザのコンピュータ１３０における他のコンポーネントとインターフェースする。
【００４８】
エンドユーザのコンピュータ１３０には、ナビゲーション関連アプリケーション４２０が含まれる。ナビゲーション関連アプリケーション４２０は、ナビゲーション・サーバ１２０から入手した地理データを使用して、様々な異なる種類のナビゲーション関連のサービスを提供する。ナビゲーション関連アプリケーション４２０の１つは、測位アプリケーション４２０（１）である。測位アプリケーション４２０（１）は、ナビゲーション・サーバ１２０から入手した地理データを使用して、道路網を表すデータに対するエンドユーザのコンピュータ１３０の位置を求める。測位アプリケーション４２０（１）はまた、エンドユーザのコンピュータ１３０の一部である測位システム４３０からデータを入手することもできる。測位システム４３０は、ＧＰＳ、推測航法、或いはこれらの又は他の技術の組み合わせを使用して、エンドユーザのコンピュータ１３０の位置を求めることができる。測位を行う方法は、米国特許第６，１９２，３１２号に開示されており、その開示全体を引用によりここに組み入れる。測位アプリケーション４２０（１）は、必要であれば、すなわち、全てではないエンドユーザのコンピュータは、測位を提供するか又は測位を支援することができる。
【００４９】
エンドユーザのコンピュータにおけるナビゲーション・アプリケーション４２０のその他には、経路案内４２０（２）がある。経路案内アプリケーション４２０（２）は、ナビゲーション・サーバ１２０からのデータを使用して、エンドユーザに所望の目的地まで移動するための指示を与える。
【００５０】
地理データを使用して経路案内を行う方法は、米国特許第６，１９９，０１３号に記載されており、その開示全体を引用によりここに組み入れる。
【００５１】
エンドユーザのコンピュータにおけるナビゲーション・アプリケーション４２０のその他には、地図表示４２０（３）がある。地図表示４２０（３）は、ナビゲーション・サービス・サーバ１２０からのデータを使用して、エンドユーザのコンピュータにおけるユーザ・インターフェース４１０の表示画面に写実的な地図を提供する。この地図は、エンドユーザのコンピュータの位置周辺の区分、エンドユーザが追従する経路沿いの区分、エンドユーザにより指定された位置周辺の区分、又はその他指定された区分を示すことができる。地理データを使用して画面表示を行う方法は、米国特許第６，０９２，０７６号と米国特許第６，１６３，７４９号に開示されており、その開示全体を引用によりここに組み入れる。
【００５２】
エンドユーザのコンピュータ上のナビゲーション・アプリケーション４２０のその他には、経路再指定アプリケーション４２０（４）がある。経路再指定アプリケーション４２０（４）は、エンドユーザが目的地までの経路から逸脱した時に、該エンドユーザが追従できるように案内を受けるために使用される。経路再指定アプリケーション４２０（４）は、ナビゲーション・サーバ１２０からのデータを使用して、目的地までの新たな経路か又は元の経路に引き返す経路を計算する。経路再計算アプリケーション４２０（４）は、米国特許第６，１２９，３１４号に記載されているのと同じ方法を使用して経路計算を行うことができ、その開示全体を引用によりここに組み入れる。
【００５３】
エンドユーザのコンピュータ上のナビゲーション・アプリケーション４２０のその他には、照会アプリケーション４２０（５）がある。照会アプリケーション４２０（５）は、ナビゲーション・サービス・サーバ１２０のナビゲーション・アプリケーション（図２の２１６）への照会（すなわち情報の要求）を生成するのに使用される。照会は、経路計算アプリケーション２２０を使用して経路を計算するための要求とすることもできるし、検索サービス２２４又はナビゲーション・サービス・サーバ１２０により提供されたその他のサービス又はアプリケーションを使用した企業、個人、又は関心のある地点に関する情報の要求とすることもできる。照会アプリケーション４２０（５）は、ナビゲーション・サービス・サーバ１２０にメッセージを送信し、応答を待ち、応答を受信し、次いで要求したデータを局所的に、例えばローカル・アプリケーション４２０で使用することを管理する。
【００５４】
エンドユーザのコンピュータ上のナビゲーション・アプリケーション４２０のその他には、関心のある地点の参照アプリケーション４２０（６）がある。関心のある地点の参照アプリケーション４２０（６）は、関心のある地点の参照（すなわち検索）を使用する。関心のある地点を説明するデータは、ナビゲーション・サービス・サーバ１２０に、又は局所的に保存される。
【００５５】
Ｃ．エンドユーザのコンピュータのメモリ管理機能
エンドユーザのコンピュータ１３０は、メモリ管理アプリケーション５００を含む。メモリ管理アプリケーション５００は、エンドユーザのコンピュータ１３０のメモリ・リソースを管理する。メモリ管理アプリケーション５００により実行される機能には、ナビゲーション・サーバ１２０から受信した地理データの管理がある。この機能の一部として、メモリ管理アプリケーション５００は、ナビゲーション・サービス・サーバ１２０のダウンロード可能な地理データ記憶装置１２４からエンドユーザのコンピュータで受信した地理データのデータの集合３２０を管理する。地理データのデータの集合をメモリで管理する方法は、米国特許第６，０７３，０７６号と米国特許第６，０４７，２８０号に開示されており、その開示全体を引用によりここに組み入れる。
【００５６】
図９を参照すると、メモリ管理アプリケーション５００は、ナビゲーション関連アプリケーション４２０で使用するためエンドユーザのコンピュータ１３０のメモリ５０６の一部５０４を予約し、さらに、データの集合のキャッシュ５２０として使用するため別の部分５１４を予約する。メモリ管理アプリケーション５００は、エンドユーザのコンピュータ１３０の初期化の時に又はこの後のいつでも、これらの部分５０４及び５１４のサイズを決定することができる。この決定は、インストールした利用可能なメモリの全容量を考慮に入れることができる。さらに、メモリ管理アプリケーション５００は、メモリ５０６の再割当て可能な部分５２８を決定することができる。この再割当て可能な部分５２８の幾つか又は全ては、ナビゲーション・アプリケーション４２０のために使用したり、データの集合のキャッシュ５２０のために使用したりすることができる。再割当て可能な部分５２８の使用は、エンドユーザのコンピュータ１３０の実行時に、メモリ管理アプリケーション５００により、エンドユーザの要求に基づいて決定される。
【００５７】
エンドユーザのコンピュータ１３０の動作中に、該エンドユーザのコンピュータ１３０におけるナビゲーション関連アプリケーション４２０は、ナビゲーション・サービス・サーバ１２０からダウンロードしたデータの集合３２０に含まれているデータを使用する。エンドユーザのコンピュータ１３０の性能を向上させるために、エンドユーザのコンピュータ１３０のメモリ５０６の中にキャッシュ５２０が設けられる。キャッシュ５２０は特に、ナビゲーション・サービス・サーバ１２０からダウンロードした多くの地理データのデータの集合３２０を保存するのに使用される。キャッシュ５２０に地理データのデータの集合を保存することにより、多くのデータの集合を使える状態でメモリに保管することにより、エンドユーザのコンピュータ１３０におけるナビゲーション関連アプリケーション４２０を支援する。データの集合を使える状態でメモリに保有することは、ナビゲーション・サービス・サーバ１２０からデータの集合を入手することに関連する比較的大きい遅延が回避される。データの集合のキャッシュ５２０はまた、ナビゲーション機能がすぐに必要とすると予測される地理データのデータの集合を保存するために使用することもできる。前述のように、データの集合のキャッシュ５２０の構成と動作は、メモリ管理アプリケーション５００により実行される。
【００５８】
データの集合のキャッシュのサイズは、種々の要素に基づいている。データの集合のキャッシュのサイズに影響を及ぼす要素の１つは、データの集合のサイズである。データの集合のサイズに対するデータの集合のキャッシュのサイズにより、データの集合のキャッシュにどの位のデータの集合を確保できるかが決まる。上述のように、幾つかの実施形態において、データの集合は、ナビゲーション・サービス・サーバ１２０のダウンロード可能な地理データ記憶装置１２４に、標準サイズ例えば２Ｋ、４Ｋ、８Ｋ、１６Ｋ、３２Ｋその他で保存される。したがって、エンドユーザのコンピュータのデータの集合のキャッシュ５２０のサイズにより、局所的に保存可能なデータの集合の数が定められる。例えば、３８４Ｋのデータの集合のキャッシュは、サイズがそれぞれ１６Ｋのデータの集合を最大２４個保存できる。同様に、より大きいサイズのデータの集合をより少なく保存することもできるし、これに対して、より小さいサイズのデータの集合をより多く保存することもできる。一実施形態において、データの集合のキャッシュ５２０は、全て同じサイズのデータの集合を保有するのに使用され、或いは別の実施形態において、データの集合のキャッシュ５２０は種々のサイズのデータの集合を保有することができる。
【００５９】
データの集合のキャッシュのサイズに影響を及ぼす別の要素は、エンドユーザのコンピュータ１３０の利用可能な全てのメモリ・リソースである。制限されたメモリ・リソースのコンピュータは、データの集合のキャッシュに比較的小さい部分しか提供しないが、これに対して、大きいメモリ・リソースを有するコンピュータは、比較的多くのメモリをデータの集合のキャッシュに提供することができる。
【００６０】
データの集合のキャッシュ５２０に使用されるメモリの量に影響を及ぼすと考えられる更に別の要素は、データの集合のキャッシュ５２０に割り当てられたメモリ５１４と、ナビゲーション・アプリケーション４２０に割り当てられたメモリ５０４との相対的サイズである。データの集合のキャッシュ５２０に対する相対的に多いメモリが割り当てられると、ナビゲーション・アプリケーション４２０で利用可能なメモリ５０４の量が制約される場合には、また逆の場合も同様に、エンドユーザのコンピュータの性能を必ずしも向上させることにはならない。メモリ管理アプリケーション５００は、ナビゲーション・アプリケーション４２０のためのメモリの割り当てと、データの集合のキャッシュで使用するためのメモリの割り当てとの間の適切なバランスを決定するアルゴリズムを含むことができる。ナビゲーション・アプリケーションで必要とされるデータの集合が（メモリ・マネージャ５００で決定されたような）データの集合のキャッシュ５２０にない場合には、メモリ・マネージャ５００は、ナビゲーション・サービス・サーバ１２０からデータの集合を要求する。
【００６１】
IV．動作
Ａ．経路案内
（１）概要
ナビゲーション・システム１１０で実行される機能の１つは、経路案内である。経路案内は、エンドユーザに所望の目的地に到着するための命令を与える。図１０は、図１のナビゲーション・システム１１０で実行される所望の目的地までの経路に追従するための情報をエンドユーザに提供するためのプロセス６００におけるステップを示すフローチャートである。
【００６２】
（２）経路案内に先立つ機能
ａ．目的地の選択
経路案内は、ナビゲーション・システム１１０で実行される１つ又はそれ以上の他の機能と関連する、すなわち該機能から始められる。経路に追従するための情報がエンドユーザに提供される前に、経路の出発地と目的地を決定するステップが存在する（図１０のステップ６１０）。目的地の決定は、地域１００における位置を選択する手段をエンドユーザに提供することを含んでいる。目的地の選択は、住所、通りの交差点、地図位置、又は他の位置特定手段を含むことができる。或いは、目的地の選択は、エンドユーザの指定基準又はカテゴリ、例えば指定距離内に位置する特定の形式のレストランに合致するエンドユーザの位置の特定を含むことができる。
【００６３】
図１と図１０の実施形態において、目的地選択機能は、局所的に利用可能なデータ、ハードウェア又はソフトウェアと、遠隔位置のデータ、ハードウェア又はソフトウェアとの組み合わせを用いて実行することができる。一実施形態によれば、エンドユーザは、彼又は彼女のコンピュータ１３０で、局所的に利用可能なハードウェア及びソフトウェア（例えば図９の照会アプリケーション４２０（５））を使用して、ナビゲーション・サービス・サーバ１２０の検索アプリケーション（図２の２２４）にアクセスする。エンドユーザは、局所的なハードウェア及びソフトウェアと遠隔的なハードウェア及びソフトウェアとのこの組み合わせを使用して、ナビゲーション・サービス・サーバ１２０の作業データベース１２２にアクセスし、目的地としての位置を特定する。目的地は、住所、人名、企業住所、又は企業名とすることができる。或いは、エンドユーザは、検索アプリケーション（図２の２２４）を使用して、位置例えば指定位置に近い銀行により、個人、企業、又は関心のある地点を見つけることができる。
【００６４】
場合によっては、エンドユーザは、エンドユーザのコンピュータに局所的に搭載された測位アプリケーション（図９の４２０（１））を最初に使用して、彼又は彼女の現在位置を識別し、次いでこの位置をナビゲーション・サービス・サーバ１２０の検索アプリケーション２２４に指定して、個人、企業又は関心のある地点を位置ベースで検索するのに使用することができる。
【００６５】
別の実施形態において、エンドユーザは、局所的に利用可能なデータ、ハードウェア又はソフトウェアを使用して、目的地を決定することができる。更に別の実施形態によれば、目的地選択機能は、局所的に利用可能なデータ、ハードウェア又はソフトウェアと、遠隔位置のナビゲーション・サービス・サーバから入手したデータを使用して、エンドユーザのコンピュータ上で実行することができる。
【００６６】
ｂ．出発地の指定
経路を計算するには、出発地点（すなわち出発地）も必要とされる。場合によっては、エンドユーザの現在位置を出発地として使用することもできる。エンドユーザの現在位置は、エンドユーザのコンピュータ１３０のナビゲーション・アプリケーション４２０の中に局所的に搭載された測位アプリケーション４２０（１）を使用して求めることができる。この機能を実行する時に、測位アプリケーション４２０（１）は、局所的に利用可能なデータを使用することができる。これらの局所的に利用可能なデータは、エンドユーザのコンピュータに内蔵された地理データベースの一部とすることができる。或いは、局所的に利用可能なデータは、照会アプリケーション４２０（５）を使用してエンドユーザにより作製された前の要求に対応して、ナビゲーション・サービス・サーバ１２０から予め入手されている。さらに別の実施形態によれば、出発地は、目的地と同じ方法で求めることができる。さらに別の実施形態によれば、エンドユーザの現在位置は、エンドユーザのコンピュータにおける測位システム（図９の４３０）を使用して求められた座標を用いて指定することができる。さらに別の実施形態によれば、ユーザは、経路がどこで始まるのか明示的に示すことができる。これは、前述の目的地選択と同様である。
【００６７】
（３）経路計算
出発地と目的地が指定された後に、プロセス６００は、出発地と目的地を示すデータがナビゲーション・サーバ１２０（図１０のステップ６２２）の経路計算アプリケーション２２０で受信されるステップを含む。上述のように、経路計算アプリケーション２２０は、指定された出発地と目的地との間の法的に有効な連続する一続きの道路（又はその区分）である解答経路を求める。経路計算アプリケーション２２０は、作業地理データベース１２２のデータを使用する。経路計算アプリケーション２２０の動作については既に説明した。解答経路が計算されると、連続的な法的に有効な出発地から目的地までの経路を生成する一続きの道又はその区分が特定される。
【００６８】
経路計算アプリケーション２２０が解答経路を計算した後に、出力６５０が与えられる。図１１は、経路計算アプリケーション２２０の出力６５０のコンポーネントを表す概略図である。経路計算出力６５０は、複数の道路区間を特定する番号付きリストを含む。図１１において、複数の道路区間がデータ・エンティティＩＤにより特定される。これらのＩＤは、作業地理データベース１２２の開発者によりこれらの道路区間を表すデータ・エンティティに割り当てられる。経路計算アプリケーション２２０の出力６５０における複数の道路区間データ・エンティティは、ｓｅｇ１、ｓｅｇ２、ｓｅｇ３、．．．ｓｅｇ（ｎ）のラベルが付けられる。複数のデータ・エンティティは、経路計算アプリケーション２２０で計算された連続的なナビゲーション可能な出発地と目的地の間の経路を生成する道路区間を表す。データ・エンティティＩＤを使用する代わりに、経路計算アプリケーション２２０は、解答経路を作り出す道路区間を特定するためのその他の手段を使用することもできる。
【００６９】
経路計算出力６５０は、道路区間のリストに加えて、他の情報を含むことができる。
【００７０】
（４）エンドユーザに経路（及び付加的データ）を提供する
ナビゲーション・サービス・サーバ１２０の経路計算アプリケーション２２０で解答経路を計算した後に、ナビゲーション・サービス・サーバ１２０は、解答経路に追従するための案内をエンドユーザに提供できるように、エンドユーザのコンピュータ１３０にデータを送信する。ナビゲーション・サービス・サーバ１２０は、エンドユーザのコンピュータ１３０に２種類のデータを送信する。最初に、ナビゲーション・サービス・サーバ１２０は、解答経路を生成する道路区間を示す経路計算アプリケーション２２０の出力６５０を、エンドユーザのコンピュータ１３０に送信する（図１０のステップ６５６）。ナビゲーション・サービス・サーバ１２０は、解答経路を示すデータ６５０に加えて、解答経路に関連する付加的データ６６０も送信する。解答経路に関連する付加的データ６６０は、経路を移動するための有意義な案内をエンドユーザに提供するために、解答経路を示すデータ６５０と組み合わせて使用される。
【００７１】
ナビゲーション・サービス・サーバ１２０によりエンドユーザのコンピュータ１３０に送信される付加的データ６６０は、ダウンロード可能な地理データ記憶装置１２４から入手される。解答経路が（ステップ６３６で）計算された後に、地理データ提供アプリケーション（図２の２２８）は、どのデータがダウンロード可能な地理データ記憶装置１２４からエンドユーザのコンピュータ１３０に送信されるのかを決定する（図１０のステップ６６８）。上述のように、ダウンロード可能な地理データ記憶装置１２４に含まれているデータは、複数のコレクション２３２に系統化され、該コレクション２３２の各々は、複数のデータの集合に系統化される（図４の３２０）。したがって、どの地理データをエンドユーザのコンピュータ１３０に送信するかを決定する時に、地理データ提供アプリケーション２２８が、どのデータの集合３２０を特定のコレクション２３２から送信するかを決定する。
【００７２】
上述のように、地理データを送信する時にどのコレクション２３２を使用するかの決定は、様々な異なる方法で決定することができる。１つの方法は、エンドユーザのコンピュータに、データがそこから送信されることになるコレクションを特定するアプリケーションを搭載することである。コレクション２３２は、ＩＤか又は記述により特定することができる。或いは、地理データ提供アプリケーション２２８は、図２における加入者データベース２０８に照会して、どのコレクション２３２を特定のエンドユーザに使用するかを決定することができる。或いは、地理データ提供アプリケーション２２８は、１つのコレクションをデフォルトで使用することができる。使用に適したコレクションを決定するために、他のどのような手段をも使用することができる。
【００７３】
地理データを送信する時にどのコレクション２３２を使用するかを指定することに加えて、エンドユーザのコンピュータにおけるアプリケーションも、ナビゲーション・サービス・サーバから受信したデータを保存するためエンドユーザのコンピュータで利用可能なメモリ・リソースを、地理データ提供アプリケーション２２８に示すことができる。或いは、エンドユーザのコンピュータで利用可能なメモリ・リソースのサイズは、図２の加入者データベース２０８における設定パラメータとして保存することもできるし、別の手法では、デフォルトのメモリサイズを使用することもできる。
【００７４】
使用するデータのコレクション２３２が決定された後に、コレクション２３２における特定のデータの集合３２０が選択される。図１２は、地理データ提供アプリケーション２２８が、エンドユーザのコンピュータにどのデータの集合を送信するかをどのようにして決定するのか説明している。図１２は、領域１００の一部の地図６９０を示す。経路７００は、地図６９０に示されている。経路７００は、複数の連結された道路区間７０６として示されている。また、地図６９０には、地理的区分３１２（Ａ）から３１２（Ｌ）までのアウトライン７１０が示されている。上述のように、これらの地理的区分３１２（Ａ）から３１２（Ｌ）までの各々は、データの別個のデータの集合３２０に含まれているデータにより表される地理的特徴を含んでおり、該データの集合の中で地理データのコレクション２３２の全体が分割される。地理データ提供アプリケーション２２８は、経路計算アプリケーション２２０で計算されるような解答経路６５０における道路区間の位置を使用して、解答経路が横切るか又は解答経路における道路区間から指定距離内の地理的区分３１２を特定する。（指定距離は、設定可能である。）解答経路が横切るか又は該解答経路に近接した地理的区分は、好適な手段のいずれかにより決定することができる。例えば、経路計算アプリケーション２２０は、解答経路が計算される際に、これらの地理的区分のＩＤ（又はこれら自体のデータの集合のＩＤ）を保存することができる。
【００７５】
解答経路が横切るか又は該解答経路に近接した地理的区分３１２（Ａ）から３１２（Ｌ）までが決定されると、エンドユーザのコンピュータ１３０に送信するために、該地理的区分に含まれている地理的特徴を表すデータを含んでいるデータの集合３２０が決定される。
【００７６】
地理データ提供アプリケーション２２８が解答経路に対応するデータの集合をエンドユーザのコンピュータに送信する時に、該データの集合は、出発地から始まる経路に対応する順に送信される。このようにして、エンドユーザのコンピュータは、出発地周辺の特徴を表すデータを含んでいるデータの集合を最初に受信し、次いで、経路の次の部分周辺の特徴を表すデータを含んでいるデータの集合を受信する。
【００７７】
解答経路に対応するデータの集合をエンドユーザのコンピュータに送信する時に、地理データ提供アプリケーション２２８は、解答経路に対応する全てのデータの集合をエンドユーザのコンピュータに直ちに送信することができる。或いは、地理データ提供アプリケーション２２８は、データの集合の幾つかのみを最初に送信し、次いで、データの集合の残りを１つ又はそれ以上の次の時間に送信することができる。エンドユーザのコンピュータが、解答経路に対応するものとして特定された全てのデータの集合を保有するのに十分なメモリ・リソースを備えている場合には、地理データ提供アプリケーション２２８は、全てのデータの集合を直ちにエンドユーザのコンピュータに送信することができる。しかしながら、エンドユーザのコンピュータが、解答経路に対応するものとして特定された全てのデータの集合を保有するのに十分なメモリ・リソースを備えていない場合には、地理データ提供アプリケーション２２８は、エンドユーザのコンピュータがメモリに保有できるデータの集合の数だけ送信することができる。地理データ提供アプリケーション２２８により最初に送信されたデータの集合は、経路の最初の部分に対応する。地理データ提供アプリケーション２２８が、解答経路に対応するデータの集合の幾つかのみを最初に送信する時には、該地理データ提供アプリケーション２２８は、送信されていないデータの集合を特定するリストを維持する。この実施形態によれば、エンドユーザが、最初にメモリに保存されたデータの集合によって表された区域を通る経路に沿って進んだ後に、エンドユーザのコンピュータは、ナビゲーション・サービス・サーバに、経路の次の部分に対応するデータの集合を送信するよう要求する。地理データ提供アプリケーション２２８に保管された解答経路に対応するデータの集合のリストを使用して、次にどのデータの集合をエンドユーザのコンピュータに送信するかを迅速に特定する。
【００７８】
図１０のプロセス６００に戻ると、解答経路に対応する全てのデータの集合がエンドユーザのコンピュータに送信される場合には、該プロセスは終了する（ステップ７２２及び７２４）。解答経路に対応する全てのデータの集合がエンドユーザのコンピュータに送信されない場合（例えばエンドユーザのコンピュータが全てのデータの集合を保有するのに十分なメモリを備えていない場合）には、送信されていないデータの集合を特定するデータが保存される（ステップ７２５）。次いで、このプロセスは、エンドユーザのコンピュータが経路の次の部分に対応するデータの集合を要求するまで待機する。経路の次の部分に対する要求を受信すると、追加のデータのデータの集合がエンドユーザのコンピュータに送信される（再びステップ７２０）。これらのステップは、解答経路に対応するデータの集合が全て送信されるまで繰り返される（ステップ７２２及び７２４）。
【００７９】
（５）エンドユーザのコンピュータ上でのナビゲーション関連機能の提供
図１３は、ナビゲーション・サービス・サーバ１２０から経路を示すデータ６５０と付加的データ６６０を受信した時に、エンドユーザのコンピュータ上で実行されるプロセス７５０を示す。最初に、データ６５０及び６６０が、エンドユーザのコンピュータ１３０で受信される（ステップ７６０）。
【００８０】
メモリ管理アプリケーション５００は、既に行われていない場合には、データの集合のキャッシュ５２０として使用するためエンドユーザのコンピュータのメモリの一部を予約する（ステップ７６４）。データの集合のキャッシュを生成する時に、メモリ管理アプリケーション５００は、受信するデータの集合のサイズを考慮に入れる。例えば、データの集合が６４Ｋのサイズである場合には、メモリ管理アプリケーション５００は、２００個のデータの集合を保有するに十分な１２８０Ｋのメモリを予約することができる。メモリ管理アプリケーション５００は、データの集合３２０の形態の付加的データ６６０を、データの集合のキャッシュ５２０に保存する（ステップ７７０）。
【００８１】
メモリ管理アプリケーション５００により生成されたデータの集合のキャッシュ５２０は、全経路についての全データの集合を確保するのに十分に大きくすることはできない。この場合には、メモリ管理アプリケーション５００は、ナビゲーション・サービス・サーバ１２０から送信された順にデータの集合を保存し、データの集合のキャッシュが満杯になった時にそれ以上のデータの集合を保存するのを止める。このようにして、経路の始まりに対応する付加的データのデータの集合６６０が、データの集合のキャッシュに保存される。このとき、経路の次の部分に対応する付加的データのデータの集合６６０は、データの集合のキャッシュに保存されない。メモリ管理アプリケーション５００は、地理データ提供アプリケーション２２８にキャッシュのサイズ（又は保存できるデータの集合の数）を示すメッセージを送信することができる。或いは、メモリ管理アプリケーション５００は、地理データ提供アプリケーション２２８に、データの集合のキャッシュが満杯の時にデータの集合を送信するのを止めるようにメッセージを送信することができる。
【００８２】
エンドユーザのコンピュータにおいて、解答経路を示すデータ６５０は、データの集合のキャッシュ５２０には保存されない。その代わりに、解答経路を示すデータ６５０は、メモリの作業部分に保存され（図９の５０４）、該データは、エンドユーザのコンピュータ１３０の種々のナビゲーション・アプリケーション４２０で使用される。
【００８３】
エンドユーザのコンピュータにおいて、ナビゲーション・アプリケーション（図９の４２０）は、解答経路に関連する付加的データ６６０を、解答経路を示すデータ６５０と組み合わせて使用して、ナビゲーション関連機能を提供する（ステップ７７６）。例えば、エンドユーザのコンピュータ１３０の経路案内アプリケーション４２０（２）で経路データ６５０と付加的データ６６０を使用して、解答経路沿いの特定の位置で移動命令を与えることができる。一例として、経路案内アプリケーション４２０（２）は、経路データ６５０と付加的データ６６０を使用して、「次の交差点、左折です」のような移動命令を与える。これらの付加的データ６６０は、表示画面上の文字か又は音声命令としてこれらの命令を与えるのに使用される。
【００８４】
別の実施例によれば、解答経路に関連する経路データ６５０と付加的データ６６０を、エンドユーザのコンピュータ１３０の地図表示アプリケーション４２０（３）で使用して、エンドユーザのコンピュータのユーザ・インターフェース（図９の４１０）の表示画面に経路の地図を与えることができる。経路の地図は、「進路要図」の形式にすることができる。
【００８５】
さらに別の実施形態によれば、経路データ６５０と付加的データ６６０は、解答経路の一部ではないが解答経路に隣接している道路区間の位置を示すのに使用できる。これらのデータは、車両測位ハードウェア及びソフトウェア、例えばエンドユーザのコンピュータの測位アプリケーション４２０（１）で使用して、エンドユーザが解答経路から逸脱しているかどうかを判断し、逸脱している場合には、（例えば経路再指定アプリケーション４２０（４）を使用して）どのようにして解答経路に戻れば良いのか判断することができる。
【００８６】
上述のように、データ６５０により表される全解答経路に関連する全てのデータの集合３２０を最初に保存することは不可能である。この場合には、経路の最初の部分沿いの地理的特徴を表すデータを含んでいるデータの集合のみが、エンドユーザのコンピュータのデータの集合のキャッシュに最初に保存される。次いで、エンドユーザが、経路に沿って中途まで移動した後に、該エンドユーザは、最終的には、データの集合のキャッシュ・エンドにおけるデータの適用範囲の位置に接近する。例えば、再び図１２を参照すると、エンドユーザのコンピュータのデータの集合のキャッシュが、６つのデータの集合のみを格納するスペースを備える場合には、区域３１２（Ａ）から３１２（Ｆ）までに対応する６つのデータの集合が、最初にデータの集合のキャッシュに保存されることになる。次いで、エンドユーザが経路に沿ってＢで示される地点まで移動した後に、該エンドユーザは、データの集合のキャッシュに保存された付加的データの適用範囲が終了する位置に近接するようになる。エンドユーザがこの位置にいる時に、エンドユーザのコンピュータの照会アプリケーション４２０は、ナビゲーション・サービス・サーバ１２０にナビゲーション関連のサービスとデータについての新たな要求を送信する（ステップ７９０及び７９２）。この新たな要求は、前の要求を基準にすることもできるし、新たな経路に対する要求として処理することもできる。
【００８７】
１つの方法によれは、エンドユーザのコンピュータが、そのデータの集合のキャッシュに局所的に含まれるデータの集合に対応する適用範囲の端に接近し、ナビゲーション・サービス・サーバから更にデータの集合を要求した時（ステップ７９２）に、この新たな要求は、前の要求を基準にすることができる。新たな要求が、前の要求を基準にしている場合には、ナビゲーション・サービス・サーバにおけるプロセスは、（図１０のステップ７２５において）エンドユーザのコンピュータに予め送信されていないデータの集合を特定するリストを使用して、どのデータの集合を次に送信するかを決定する。これらのデータの集合は、ダウンロード可能なデータ記憶装置１２４から入手され、エンドユーザのコンピュータに送信される。これらの新たなデータの集合がエンドユーザのコンピュータで受信されると、ステップ７６０によりプロセス７５０が開始される。
【００８８】
別の方法によれば、エンドユーザのコンピュータが該データの集合のキャッシュに局所的に含まれるデータの集合に対応する適用範囲の縁に接近し、ナビゲーション・サービス・サーバから更にデータの集合を要求した時（ステップ７９２）に、該要求は、全く新たな経路に対する要求としてナビゲーション・サービス・サーバで処理することができる。ナビゲーション・サービス・サーバは、図１０のステップ６２２で始まるプロセス６００を実行する。ナビゲーション・サービス・サーバ１２０は、経路計算アプリケーション２２０を使用して、Ｂ地点を新たな出発地として用いて、目的地までの新たな経路を計算する（同じく図１０におけるステップ６３６）。新たな経路に対する要求として経路の次の脚に対する要求を処理することで、ナビゲーション・サービス・サーバの経路計算アプリケーション２２０は、前の経路が計算されてから発生しうる道路状況の変化を考慮に入れることができる。次いで、ナビゲーション・サービス・サーバ１２０は、エンドユーザのコンピュータに（新たな経路データ６５０の形態で）新たな経路と、（データの集合の形態で）新たな付加的データ６６０のデータの集合を送信する（同じく図１０のステップ６５６及び７２０）。新たな経路データ６５０と新たな付加的データ６６０がエンドユーザのコンピュータで受信される時に、これらは全く新たな経路として処理される。データの集合のキャッシュに保存されていたデータの集合は、経路の次の脚に関連して受信された新たなデータの集合で書き換えられる。
【００８９】
Ｂ．経路案内なしの地図表示
別の実施形態において、エンドユーザは、必ずしも経路を要求せずに、地図表示のための地理データを要求することができる。例えば、エンドユーザは、彼又は彼女が存在している位置周辺区域の地図表示を得ようとすることができる。この場合には、エンドユーザは、彼又は彼女の地理的位置周辺の地図表示を要求するよう彼又は彼女のコンピュータを動作させる。エンドユーザは、この目的のために照会アプリケーション４２０（５）を使用することができる。エンドユーザは、彼又は彼女の位置を指定することもできるし、或いは、照会アプリケーション４２０（５）が、（存在する場合には）測位システム４３０からエンドユーザの現在位置を示すデータを入手し、地図表示データに対する要求の中にこの情報を入れることができる。
【００９０】
地図表示データに対する要求は、前述の経路情報に対する要求と同様の方法でナビゲーション・サービス・サーバ１２０で処理される。この場合には、経路を計算する必要はない。ナビゲーション・サービス・サーバは、指定位置周辺の特徴を表す地理データを含むデータの集合を特定する。次いで、ナビゲーション・サービス・サーバは、前述のように、これらのデータの集合をエンドユーザのコンピュータに送信する。エンドユーザのコンピュータにおいて、これらのデータの集合は、図１４に関して既に説明したのと同様の手法で処理される。
【００９１】
彼又は彼女のエンドユーザの現在位置に関する地図データを要求する代わりに、該エンドユーザは、どの位置に関する地図データも要求することができる。エンドユーザは、地図データが要求される位置を特定するために、好適な手段のいずれをも使用することができる。
【００９２】
Ｃ．他の機能
エンドユーザのコンピュータに提供される機能のどれも、互いに組み合わせて使用することもできるし、別個に使用することもできる。例えば、測位機能（すなわち、図９の測位アプリケーション４２０（１）を使用する）は、地図表示機能又は経路案内機能なしで実行することができる。
【００９３】
III．別の実施形態
Ａ．機能に基づくデータ・コレクションの選択
図８に関連して、形式（又は機能）により系統化されたデータのコレクションを説明した。データ・コレクションについての種々の種類と機能が提供される。例えば、経路案内、地図表示、車両測位、音声データ、非音声データその他に、異なるコレクションのデータを与えることができる。エンドユーザのコンピュータが地理データを要求する時には、ナビゲーション・サービス・サーバにデータの種類が示される。この種類は、エンドユーザのコンピュータが対応しているリソースに応じて指定することができる。この種類はまた、エンドユーザのプラットフォームが実行するのに必要とするデータを、機能に応じて指定することができる。例えば、エンドユーザが、地図表示を行うことのみを意図し、経路案内を行うことを意図しない場合には、エンドユーザのコンピュータは、地図表示コレクションから送信されるデータを指定することができる。この方法において、エンドユーザのコンピュータは、必要のないデータは送信せず、これにより、指定された種類のさらに多くのデータを送信できるようにする。
【００９４】
Ｂ．レイヤに基づくデータ・コレクション
前述のデータ・コレクションの種類（図５から図８までの２３２）に加えて、図２におけるダウンロード可能なデータ記憶装置１２４は、レイヤに基づくコレクションを含むことができる。レイヤに基づくコレクションは、地域における道路に割り当てられた順位を使用する。順位は、道路の機能的分類に関連させることができる。移動が一般により速くなる幹線道路は、高次の順序に割り当てられ、移動が一般に遅くなる小さな道路は、低次の順序に割り当てられる。高次の順位の付いた道路を表すデータは、これらの順位を用いて、低い順位の付いた道路とは別の１つ又はそれ以上のコレクションに保存される。
【００９５】
Ｃ．アプレットとプラグインのダウンロード
経路を表すデータと、経路沿い（又は他の位置周辺）の地理的特徴を表す付加的データに加えて、エンドユーザのコンピュータがナビゲーション・サービス・プロバイダから入手可能な他の種類のデータと情報がある。一実施形態によれば、ナビゲーション・サービス・プロバイダは、ナビゲーション・アプリケーションをエンドユーザのコンピュータに送信することができる。ナビゲーション・サービス・サーバがエンドユーザのコンピュータに送信するナビゲーション・アプリケーションは、新たなアプリケーションとすることもできるし、該ナビゲーション・アプリケーションの前のバージョンの更新版とすることもできる。ナビゲーション・サービス・プロバイダが送信するナビゲーション・アプリケーションは、経路案内、地図表示、測位、照会サービス、経路再指定、メモリ管理その他を含むエンドユーザのコンピュータ・プラットフォームで実行されるアプリケーションのいずれかを含むことができる。一実施形態において、これらのナビゲーション・アプリケーションは、アプレットか又はプラグインとして送信される。図２を再び参照すると、一実施形態において、ナビゲーション・サービス・プロバイダ１２８は、ナビゲーション・サービス・サーバ１２０のダウンロード可能な記憶装置８０２に、ナビゲーション・アプレット（又はプラグイン）８００を保管する。次いで、エンドユーザからの要求を受けると、ナビゲーション・サービス・サーバ１２０は、ナビゲーション・アプレットか又はプラグインをエンドユーザのコンピュータに送信する。アプレット又はプラグインは、エンドユーザのコンピュータで使用できる。アプレット又はプラグインは、エンドユーザのコンピュータにインストールされたブラウザのような別のアプリケーションで使用できる。この実施形態において、エンドユーザは、所望のナビゲーション機能の種類を特定し、次いでナビゲーション・サービス・サーバが、ナビゲーション・アプレット（又はプラグイン）だけでなく該アプレット（又はプラグイン）で使用されることになるデータも送信する。一例として、エンドユーザが、経路案内を入手したいと思っている場合には、ナビゲーション・サービス・サーバは、経路案内アプレットと、経路を示すデータと、経路沿いの地理的特徴を表す付加的データを送信する。経路案内アプレットは、エンドユーザのコンピュータにダウンロードされ、適正にインストールされると、経路案内アプリケーション（図９の４２０（２））と同様に動作する。このようにして、エンドユーザが望む機能についてのソフトウェアとデータの両方が、ナビゲーション・サービス・プロバイダから提供される。
【００９６】
IV．利点
開示したシステムの実施形態から種々の利点が得られる。前述のように、ナビゲーション・システム１１０は、多くの異なる種類のエンドユーザのコンピュータに対応している。ナビゲーション・サーバが、異なる種類のコンピュータの各々に送信するのに適したデータ形式を判断しなければならない場合には、ナビゲーション・サーバに、相当の負荷がかかる。したがって、ナビゲーション・サーバは、予め計算されたデータの集合を使用し、これによりこのプロセスを容易にする。
【００９７】
予め計算されたデータの集合は、ナビゲーション・サーバからエンドユーザのコンピュータで使用するために転送されるデータの最小サイズ単位として扱われるように設計される。予め計算されたデータの集合は、均一なサイズを有していることから、エンドユーザのコンピュータは、これらを容易に管理することができる。
【００９８】
ナビゲーション・サービス・サーバで使用される別個の作業データベース（図２の１２２）と、エンドユーザのコンピュータで使用するためのダウンロード可能な地理データ（図２の１２４）とを有することから別の利点が得られる。作業データベースは、サーバで使用するのに最適化することができ、ダウンロード可能な地理データ記憶装置に含まれているデータは、エンドユーザのコンピュータで使用するのに最適化することができる。
【００９９】
開示された実施形態の別の利点は、予め計算され、ナビゲーション・サービス・プロバイダからエンドユーザに送信されたデータの集合は、接続性を有することが保証できるということである。経路沿いの特徴を表すデータがエンドユーザに送信される時には、エンドユーザが到達できる全ての道路区間が表されることが好ましい。これは、相当量の処理を含むことができる。開示された実施形態のいずれかを用いて、予め計算されたデータの集合が生成されると、表された全ての道路の接続性が保証される。
【０１００】
上記の詳細な説明は、限定的なものではなく説明のためのものとみなされることを意図しており、さらに、付属の請求項は、全ての均等物を含むものであり、本発明の範囲を定めることを意図しているということを理解すべきである。
【図面の簡単な説明】
【図１】  地理データを、地域にわたって位置しているエンドユーザ・コンピュータに送信するナビゲーション・システムのコンポーネントを説明する図である。
【図２】  図１のナビゲーション・サービス・プロバイダのコンポーネントを示すブロック図である。
【図３】  図１における地域の地図と、この地図を使用した、ナビゲーション・サーバに格納されたダウンロード可能な地理データを系統化するための実施形態についての説明を示す。
【図４】  図２に示すダウンロード可能な地理データ記憶装置に格納された、地理データのコレクションの中の幾つかのコンポーネントを示す図である。
【図５】  図４に示すダウンロード可能な地理データ記憶装置に格納された、地理データのコレクションの中の１つのコンポーネントを示す図である。
【図６】  図４に示すダウンロード可能な地理データ記憶装置に格納された、地理データのコレクションの中の別のコンポーネントを示す図である。
【図７】  図４に示すダウンロード可能な地理データ記憶装置に格納された、地理データのコレクションの中の別のコンポーネントを示す図である。
【図８】  図４に示すダウンロード可能な地理データ記憶装置に格納された、地理データの付加的なコレクションのコンポーネントを示す図である。
【図９】  図１に示すエンドユーザ・コンピュータのうちの１つのコンポーネントを示すブロック図である。
【図１０】  図１のナビゲーション・サービス・サーバで実行されるプロセスにおけるステップを示すフローチャートである。
【図１１】  図１０に示すプロセスに係るナビゲーション・サービス・サーバからエンドユーザ・コンピュータに送信される経路データのコンポーネントを示すブロック図である。
【図１２】  図１０におけるプロセスの一部を説明するために使用された地図である。
【図１３】  ナビゲーション・サービス・サーバが図１０におけるプロセスを実行した後に、エンドユーザ・コンピュータで実行されるステップのフローチャートである。
【図１】
0004460816.tif 000002
【図２】
0004460816.tif 000003
【図３】
0004460816.tif 000004
【図４】
0004460816.tif 000005
【図５】
0004460816.tif 000006
【図６】
0004460816.tif 000007
【図７】
0004460816.tif 000008
【図８】
0004460816.tif 000009
【図９】
0004460816.tif 000010
【図１０】
0004460816.tif 000011
【図１１】
0004460816.tif 000012
【図１２】
0004460816.tif 000013
【図１３】
0004460816.tif 000014