(57)【特許請求の範囲】
【請求項１】
地図データが格納された地図データベースを備え、更新用データの提供を受けて前記地図データベースの更新処理を行う地図更新システムであって、
前記更新処理に用いられる更新処理用領域と、キャッシュとして用いられるキャッシュ領域とを有するメモリと、
前記更新処理に必要なデータを、当該データが前記キャッシュ領域にあれば前記キャッシュ領域から読み出し、当該データが前記キャッシュ領域になければ前記地図データベースから読み出して、前記更新処理を行う更新処理手段と、
前記更新処理手段により読み出されたデータを前記キャッシュ領域に格納するキャッシュ格納手段と、
前記更新処理の対象となる前記地図データに含まれる道路数及び交差点数の一方又は双方に基づいて、前記更新処理用領域として必要な前記メモリの容量である処理用メモリ容量を決定する処理用メモリ容量決定手段と、
前記処理用メモリ容量に基づいて、前記キャッシュ領域として割り当てる前記メモリの容量であるキャッシュ容量を決定するキャッシュ容量決定手段と、
を備える地図更新システム。
【請求項２】
前記キャッシュ容量決定手段は、前記メモリの全体の容量から前記処理用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、前記キャッシュ容量として決定する請求項１に記載の地図更新システム。
【請求項３】
前記地図データは、交差点に対応する複数のノードと各ノード間を接続する道路に対応する複数のリンクとにより構成される道路ネットワークデータを含み、
前記処理用メモリ容量決定手段は、前記道路数を代表するものとして前記リンクの数を用い、前記交差点数を代表するものとして前記ノードの数を用いる請求項１又は２に記載の地図更新システム。
【請求項４】
前記地図データベースには、対象地域を複数の区画に分割してなる複数の区画毎の地図データが格納され、
前記更新処理手段は、前記各区画の地図データを前記更新処理の対象とする請求項１から３のいずれか一項に記載の地図更新システム。
【請求項５】
前記処理用メモリ容量決定手段は、前記更新処理の対象が次の区画の地図データに移行する際に、当該次の区画の地図データの内容に基づいて前記処理用メモリ容量を新たに決定する請求項４に記載の地図更新システム。
【請求項６】
所定のナビゲーション処理を行うナビゲーション処理手段と、
前記ナビゲーション処理として実行される処理内容に基づいて、当該ナビゲーション処理に用いられる前記メモリの領域として必要な容量であるナビゲーション用メモリ容量を決定するナビゲーション用メモリ容量決定手段と、を更に備え、
前記キャッシュ容量決定手段は、前記処理用メモリ容量及び前記ナビゲーション用メモリ容量に基づいて、前記キャッシュ容量を決定する請求項１から５のいずれか一項に記載の地図更新システム。
【請求項７】
前記キャッシュ容量決定手段は、前記メモリの全体の容量から前記処理用メモリ容量及び前記ナビゲーション用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、前記キャッシュ容量として決定する請求項６に記載の地図更新システム。
【請求項８】
前記ナビゲーション用メモリ容量決定手段は、前記ナビゲーション処理として実行中のアプリケーション処理の種類及び数の一方又は双方に基づいて、前記ナビゲーション用メモリ容量を決定する請求項６又は７に記載の地図更新システム。
【請求項９】
前記ナビゲーション用メモリ容量決定手段は、前記各アプリケーション処理の実行が開始又は終了した際に、前記ナビゲーション用メモリ容量を新たに決定する請求項８に記載の地図更新システム。
【請求項１０】
前記キャッシュ格納手段は、前記キャッシュ領域に新たにデータを格納する際に、先に格納されたデータから順に削除する請求項１から９のいずれか一項に記載の地図更新システム。
【請求項１１】
前記キャッシュ領域に格納された各データを、当該データを含む前記地図データベース中のファイルのアドレスと関連付けて管理するキャッシュ管理手段を更に備える請求項１から１０のいずれか一項に記載の地図更新システム。
【請求項１２】
前記地図データベースは、前記更新用データにより更新するための更新用地図データが格納された更新用データベースと、前記地図データを利用するアプリケーション処理において参照するための参照用地図データが格納された参照用データベースを備え、
前記更新処理手段は、前記更新用データにより前記更新用地図データを更新した後、当該更新後の更新用地図データを変換して更新後の参照用地図データを生成し、前記参照用データベースに格納する請求項１から１１のいずれか一項に記載の地図更新システム。
【請求項１３】
更新用データの提供を受けて、地図データが格納された地図データベースの更新処理を行うための地図更新プログラムであって、
前記更新処理に必要なデータを、当該データがメモリのキャッシュ領域にあれば当該キャッシュ領域から読み出し、当該データが前記キャッシュ領域になければ前記地図データベースから読み出して、前記更新処理を行う更新処理機能と、
前記更新処理機能の実行に際して読み出されたデータを前記キャッシュ領域に格納するキャッシュ格納機能と、
前記更新処理の対象となる前記地図データに含まれる道路数及び交差点数の一方又は双方に基づいて、前記メモリにおける前記更新処理に用いられる更新処理用領域として必要な前記メモリの容量である処理用メモリ容量を決定する処理用メモリ容量決定機能と、
前記処理用メモリ容量に基づいて、前記キャッシュ領域として割り当てる前記メモリの容量であるキャッシュ容量を決定するキャッシュ容量決定機能と、
をコンピュータに実現させるための地図更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図データが格納された地図データベースを備え、更新用データの提供を受けて前記地図データベースの更新処理を行う地図更新システム、及びそのような地図データベースの更新処理を行うための地図更新プログラムに関する。
【背景技術】
【０００２】
一般的に、地図は、刻々と変化する道路や施設等の現実の状態を正確に表していることが望まれる。そこで、例えばナビゲーション装置等に用いられるような、電子データとしての地図データを格納した地図データベースでは、通信ネットワークやデータ記録媒体等を介して更新用データを適宜提供し、当該更新用データを用いて地図データベースの更新を行うシステムが既に知られている。このような地図データベースの更新システムとして、例えば、下記の特許文献１には、以下のような更新システムが記載されている。
【０００３】
すなわち、この更新システムは、所定の動作プログラムに従って動作するナビゲーション装置等の端末装置と、更新用データとしての差分データファイルを提供するサーバ装置とを有して構成される。端末装置は、差分データファイルによる差分更新を行うための更新用データ形式の地図データを格納したローカル保存データベースと、動作プログラムにより参照される参照用データ形式の地図データを格納した参照データベースとを備えている。そして、端末装置は、差分データファイルの提供を受けてローカル保存データベース内の更新用データ形式の地図データの差分更新を行い、当該更新後の地図データを参照用データ形式の地図データに変換して参照データベースに格納する処理を行う。これにより、動作プログラムにより参照される参照データベース内の地図データが更新される。
【０００４】
【特許文献１】特開２００７−３２８７３９号公報（第１７−２１頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような地図データベースの更新システムでは、差分データファイルによりローカル保存データベース内の地図データの差分更新を行う際や、更新後のローカル保存データベース内の地図データを参照用データ形式の地図データに変換する際等に、必要なデータを読み出すために、ローカル保存データベース等の地図データベースに対して多量のファイルアクセスが行われる。そのため、地図データベースの更新処理に要する時間の内、このファイルアクセスのための時間が非常に大きい割合を占めている。このようなファイルアクセスの時間を短縮するためには、一度読み出されたデータをメモリのキャッシュ領域に格納し、再度同じデータを読み出す際に当該キャッシュ領域から読み出す構成とすることも、有効な解決策の一つである。
【０００６】
しかしながら、コストやサイズの制約から大容量のメモリを端末装置に搭載することができない等の理由により、大きなキャッシュ領域の容量を確保することが困難な場合がある。特に、車載用のナビゲーション装置等のような端末装置では、パーソナルコンピュータ等の据え置き型の端末装置と比べて、サイズ等の制約が大きいために、大容量のメモリを搭載することが困難であった。したがって、メモリ内に大きなキャッシュ領域の容量を確保することも困難であった。そのため、キャッシュ領域に多くのデータを格納することができず、ファイルアクセスに占めるキャッシュの利用割合を高くすることができないために、ファイルアクセス時間の大幅な短縮を図ることができなかった。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、限られた容量のメモリを効率的に利用してキャッシュ領域を確保することにより、地図データベースの更新処理に要する時間を短縮することが可能な地図更新システム及び地図更新プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明に係る、地図データが格納された地図データベースを備え、更新用データの提供を受けて前記地図データベースの更新処理を行う地図更新システムの特徴構成は、前記更新処理に用いられる更新処理用領域と、キャッシュとして用いられるキャッシュ領域とを有するメモリと、前記更新処理に必要なデータを、当該データが前記キャッシュ領域にあれば前記キャッシュ領域から読み出し、当該データが前記キャッシュ領域になければ前記地図データベースから読み出して、前記更新処理を行う更新処理手段と、前記更新処理手段により読み出されたデータを前記キャッシュ領域に格納するキャッシュ格納手段と、前記更新処理の対象となる前記地図データに含まれる道路数及び交差点数の一方又は双方に基づいて、前記更新処理用領域として必要な前記メモリの容量である処理用メモリ容量を決定する処理用メモリ容量決定手段と、前記処理用メモリ容量に基づいて、前記キャッシュ領域として割り当てる前記メモリの容量であるキャッシュ容量を決定するキャッシュ容量決定手段と、を備える点にある。
【０００９】
この特徴構成によれば、更新処理に必要なデータの読み出しにメモリが有するキャッシュ領域を用いるので、同じデータを複数回読み出す際に、全てのデータを地図データベースから直接読み出す場合と比べて、読み出し処理を高速化することができる。また、この特徴構成によれば、このような読み出し処理に際して利用されるキャッシュ領域に割り当てるメモリの容量であるキャッシュ容量を、更新処理の対象となる地図データの道路数及び交差点数の一方又は双方に基づいて決定される処理用メモリ容量に基づいて決定することになる。したがって、更新処理の対象となる地図データの道路数及び交差点数の一方又は双方に応じて適切な処理用メモリ容量を可変設定し、当該処理用メモリ容量の設定に応じてキャッシュ容量を可変設定することにより、処理用メモリ容量が少なくて済む場合にはその分キャッシュ容量を増加させることが可能となる。よって、キャッシュ容量を固定する場合に比べて、限られた容量のメモリを効率的に利用してキャッシュ領域を比較的大きく確保することが可能となるので、地図の更新処理に要する時間を短縮することができる。また、この特徴構成によれば、更新処理用領域として必要なメモリ容量に大きな影響を与える地図データの内容である道路数及び交差点数の一方又は双方に応じて処理用メモリ容量を決定するので、当該地図データの更新処理に際して必要な処理用メモリ容量を適切に決定することができる。
【００１０】
ここで、前記キャッシュ容量決定手段は、前記メモリの全体の容量から前記処理用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、前記キャッシュ容量として決定する構成とすると好適である。
【００１１】
この構成によれば、更新処理用領域として必要な処理用メモリ容量を確保した上で、更新処理の対象となる地図データの内容に応じて決定される当該処理用メモリ容量の変化に応じて、適宜キャッシュ容量を最大限に確保することができる。
【００１４】
また、前記地図データは、交差点に対応する複数のノードと各ノード間を接続する道路に対応する複数のリンクとにより構成される道路ネットワークデータを含み、前記処理用メモリ容量決定手段は、前記道路数を代表するものとして前記リンクの数を用い、前記交差点数を代表するものとして前記ノードの数を用いる構成とすると好適である。
【００１５】
この構成によれば、地図データがノード及びリンクにより構成される道路ネットワークデータを含む場合において、更新処理用領域として必要なメモリ容量に大きな影響を与える地図データの内容であるリンク数及びノード数の一方又は双方に応じて処理用メモリ容量を決定するので、当該地図データの更新処理に際して必要な処理用メモリ容量を適切に決定することができる。
【００１８】
また、前記地図データベースには、対象地域を複数の区画に分割してなる複数の区画毎の地図データが格納され、前記更新処理手段は、前記各区画の地図データを前記更新処理の対象とする構成とすると好適である。
【００１９】
この構成によれば、区画毎の地図データを順次更新処理の対象とし、適切に更新処理を行うことができる。
【００２０】
また、前記処理用メモリ容量決定手段は、前記更新処理の対象が次の区画の地図データに移行する際に、当該次の区画の地図データの内容に基づいて前記処理用メモリ容量を新たに決定する構成とすると好適である。
【００２１】
この構成によれば、一つの更新対象の区画の地図データの更新が終了し、次の更新対象の区画の地図データの更新処理が行われる際に、当該次の地図データの内容に応じた処理用メモリ容量を適切に決定することができる。したがって、各時点で更新処理の対象となる地図データの内容に応じて適切な処理用メモリ容量を可変設定し、当該処理用メモリ容量の設定に応じてキャッシュ容量を適切に設定することができる。
【００２２】
また、所定のナビゲーション処理を行うナビゲーション処理手段と、前記ナビゲーション処理として実行される処理内容に基づいて、当該ナビゲーション処理に用いられる前記メモリの領域として必要な容量であるナビゲーション用メモリ容量を決定するナビゲーション用メモリ容量決定手段と、を更に備え、前記キャッシュ容量決定手段は、前記処理用メモリ容量及び前記ナビゲーション用メモリ容量に基づいて、前記キャッシュ容量を決定する構成とすると好適である。
【００２３】
この構成によれば、読み出し処理に際して利用されるキャッシュ領域に割り当てるメモリの容量であるキャッシュ容量を、更新処理の対象となる地図データの内容に基づいて決定される処理用メモリ容量と、ナビゲーション処理として実行される処理内容に基づいて決定されるナビゲーション用メモリ容量との双方に基づいて決定することになる。したがって、更新処理の対象となる地図データの内容に応じて適切な処理用メモリ容量を可変設定するとともに、ナビゲーション処理として実行される処理内容に応じて適切なナビゲーション用メモリ容量を可変設定し、当該処理用メモリ容量及びナビゲーション用メモリ容量の設定に応じてキャッシュ容量を可変設定することにより、処理用メモリ容量及びナビゲーション用メモリ容量が少なくて済む場合にはその分キャッシュ容量を増加させることが可能となる。よって、キャッシュ容量を固定する場合及び処理用メモリ容量のみに基づいてキャッシュ容量を可変設定する場合に比べて、限られた容量のメモリを効率的に利用してキャッシュ領域を比較的大きく確保することが可能となるので、地図の更新処理に要する時間を更に短縮することができる。
【００２４】
ここで、前記キャッシュ容量決定手段は、前記メモリの全体の容量から前記処理用メモリ容量及び前記ナビゲーション用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、前記キャッシュ容量として決定する構成とすると好適である。
【００２５】
この構成によれば、更新処理用領域として必要な処理用メモリ容量及びナビゲーション処理用領域として必要なナビゲーション用メモリ容量を確保した上で、更新処理の対象となる地図データの内容に応じて決定される当該処理用メモリ容量、及びナビゲーション処理として実行される処理内容に応じて決定されるナビゲーション用メモリ容量の変化に応じて、適宜キャッシュ容量を最大限に確保することができる。
【００２６】
また、前記ナビゲーション用メモリ容量決定手段は、前記ナビゲーション処理として実行中のアプリケーション処理の種類及び数の一方又は双方に基づいて、前記ナビゲーション用メモリ容量を決定する構成とすると好適である。
【００２７】
この構成によれば、ナビゲーション処理用領域として必要なメモリ容量に大きな影響を与える実行中のアプリケーション処理の種類及び数の一方又は双方に応じてナビゲーション用メモリ容量を決定するので、ナビゲーション処理手段の動作状態に応じて必要なナビゲーション用メモリ容量を適切に決定することができる。
【００２８】
また、前記ナビゲーション用メモリ容量決定手段は、前記各アプリケーション処理の実行が開始又は終了した際に、前記ナビゲーション用メモリ容量を新たに決定する構成とすると好適である。
【００２９】
この構成によれば、ナビゲーション処理としての各アプリケーション処理の実行が開始又は終了する毎に、その時点でのアプリケーション処理の実行状況に応じたナビゲーション用メモリ容量を適切に決定することができる。したがって、各時点でのアプリケーション処理の実行状況に応じて適切なナビゲーション用メモリ容量を可変設定し、当該ナビゲーション用メモリ容量の設定に応じてキャッシュ容量を適切に設定することができる。
【００３０】
また、前記キャッシュ格納手段は、前記キャッシュ領域に新たにデータを格納する際に、先に格納されたデータから順に削除する構成とすると好適である。
【００３１】
この構成によれば、再度読み出される可能性が比較的低いデータを削除して新たなデータをキャッシュ領域に格納することができるので、限られたキャッシュ領域内に適切にデータを格納することができる。
【００３２】
また、前記キャッシュ領域に格納された各データを、当該データを含む前記地図データベース中のファイルのアドレスと関連付けて管理するキャッシュ管理手段を更に備える構成とすると好適である。
【００３３】
この構成によれば、更新処理に必要なデータを含むファイルのアドレスを指定して当該データの読み出しが行われる場合にも、当該データをキャッシュ領域から容易に読み出すことが可能となる。したがって、データの読み出し処理の更なる高速化を図ることができる。
【００３４】
また、前記地図データベースは、前記更新用データにより更新するための更新用地図データが格納された更新用データベースと、前記地図データを利用するアプリケーション処理において参照するための参照用地図データが格納された参照用データベースを備え、前記更新処理手段は、前記更新用データにより前記更新用地図データを更新した後、当該更新後の更新用地図データを変換して更新後の参照用地図データを生成し、前記参照用データベースに格納する構成とすると好適である。
【００３５】
この構成によれば、更新用データベースに格納された更新用の地図データを更新用データにより更新するので、更新用データによる地図データの更新処理を容易かつ迅速に行うことが可能となる。そして、このような更新後の更新用地図データをアプリケーション処理において参照するための参照用地図データに変換する構成としたことにより、アプリケーション処理からは参照に適した形式の地図データを参照して動作することが可能となる。したがって、更新用データによる地図データの更新を容易かつ迅速に行うことを可能としつつ、アプリケーション処理の動作性能の低下も抑制することができる。
【００３８】
以上の各構成を備えた本発明に係る地図更新システムの技術的特徴は、地図更新方法や地図更新プログラムにも適用可能であり、そのため、本発明は、そのような方法やプログラムも権利の対象とすることができる。
【００３９】
その場合における、更新用データの提供を受けて、地図データが格納された地図データベースの更新処理を行うための地図更新プログラムの特徴構成は、前記更新処理に必要なデータを、当該データがメモリのキャッシュ領域にあれば当該キャッシュ領域から読み出し、当該データが前記キャッシュ領域になければ前記地図データベースから読み出して、前記更新処理を行う更新処理機能と、前記更新処理機能の実行に際して読み出されたデータを前記キャッシュ領域に格納するキャッシュ格納機能と、前記更新処理の対象となる前記地図データの内容に基づいて、前記メモリにおける前記更新処理に用いられる更新処理用領域として必要な前記メモリの容量である処理用メモリ容量を決定する処理用メモリ容量決定機能と、前記処理用メモリ容量に基づいて、前記キャッシュ領域として割り当てる前記メモリの容量であるキャッシュ容量を決定するキャッシュ容量決定機能と、をコンピュータに実現させる点にある。
【００４１】
当然ながら、これらの地図更新プログラムも上述した地図更新システムに係る作用効果を得ることができ、更に、その好適な構成の例として挙げたいくつかの付加的技術を組み込むことが可能である。
【発明を実施するための最良の形態】
【００４２】
本発明の実施形態について図面に基づいて説明する。本実施形態においては、本発明に係る地図更新システムを、車両に搭載される車載端末装置としてのナビゲーション装置１に適用する場合を例として説明する。図１は、本実施形態に係るナビゲーション装置１の機能的な構成を模式的に示すブロック図である。このナビゲーション装置１は、地図データ３としての参照用地図データ７１及び更新用地図データ８１がそれぞれ格納された、地図データベース２としての参照用データベース７０及びローカル保存データベース８０を備えている。そして、ナビゲーション装置１は、サーバ装置５から更新用データファイル４の提供を受けて参照用地図データ７１及び更新用地図データ８１の更新処理を行う。この際、ナビゲーション装置１は、地図の更新処理やナビゲーション処理によって必要とされるメモリ５０の容量に応じてキャッシュ領域５１（図４及び図５参照）の容量を可変設定することができる構成を有している。これにより、このナビゲーション装置１は、限られた容量のメモリ５０を効率的に利用してキャッシュ領域５１を確保することにより、参照用データベース７０及びローカル保存データベース８０の更新処理に要する時間を短縮することが可能となっている。
【００４３】
図１に示すナビゲーション装置１の機能部である、ファイルアクセス管理部１０、更新処理部４０、及びナビゲーション処理部６０は、互いに共通の或いはそれぞれ独立のＣＰＵ等の演算処理装置を中核部材として、入力されたデータに対して種々の処理を行うための機能部がハードウェア又はソフトウェア（プログラム）或いはその両方により実装されて構成されている。また、同じくナビゲーション装置１の機能部である、送受信部９１及び記録媒体再生部９２についても、当該機能を果たすための構成が、ハードウェア又はハードウェアとソフトウェア（プログラム）の組み合わせにより実現されている。そして、これらの各機能部は、図１に矢印で示すように各種の情報やデータを受け渡し可能に接続されている。メモリ５０は、各機能部を構成する演算処理装置により比較的高速に読み出し及び書き込みが可能な記憶装置であり、例えば、ＤＲＡＭ（Dynamic RAM）やＳＲＡＭ（Static RAM）等の揮発性メモリにより構成されている。また、参照用データベース７０及びローカル保存データベース８０は、例えば、ハードディスクドライブやＥＥＰＲＯＭ等の不揮発性半導体メモリなどのような、データを書き換え可能に記録する記録媒体とその駆動手段とを有する装置をハードウェア構成として備えている。以下、このナビゲーション装置１の各部の構成について順に説明する。
【００４４】
〔ナビゲーション処理部〕
ナビゲーション処理部６０は、ナビゲーション装置１の機能としてのナビゲーション処理を実行する処理部である。本実施形態においては、このナビゲーション処理部６０が本発明におけるナビゲーション処理手段に相当する。図示は省略するが、このナビゲーション処理部６０には、自位置検出部、操作部、表示部、及び音声出力部等が各種の情報やデータを受け渡し可能に接続されている。ここで、自位置検出部は、ナビゲーション装置１の現在位置を検出するための機能部であり、例えば、ＧＰＳ受信機、方位センサ、及び距離センサ等を備える。操作部は、例えばタッチパネル、操作スイッチ、リモートコントロールユニット等を有して構成され、使用者が操作して情報の入力や選択を行う。表示部は、例えば液晶表示装置等を有して構成され、地図や案内経路等のナビゲーション処理に関する各種情報を表示する。音声出力部は、例えばスピーカ等を有して構成され、経路案内等のナビゲーション処理に関する各種情報を音声により出力する。
【００４５】
そして、本実施形態においては、ナビゲーション処理部６０は、表示処理部６１、マップマッチング処理部６２、経路探索処理部６３、及び経路案内処理部６４を備えている。これらは、ナビゲーション処理としての各アプリケーション処理を実行するアプリケーション処理部に相当する。これらの各アプリケーション処理部６１〜６４は、通常、演算処理装置と、当該演算処理装置に対して演算処理を行わせるためのプログラムにより構成される。ここで、表示処理部６１は、表示部を用いて、地図表示、当該地図上への自位置表示、案内経路の表示等、ナビゲーション処理に関する各種情報の表示のための処理を行う。マップマッチング処理部６２は、自位置検出部により検出された自位置を地図の道路上に合わせるマップマッチング処理を行う。経路探索処理部６３は、例えば自位置等の出発地から操作部により入力された目的地までの案内経路等を探索する処理を行う。経路案内処理部６４は、経路探索処理部６３により探索された目的地までの経路に従って、表示部による案内表示や音声出力部による音声案内等を用い、使用者に対して適切な進路を案内する処理を行う。なお、これらの各処理部６１〜６４により実行される各種のナビゲーション処理の具体的内容は公知であるので詳細な説明は省略する。本実施形態においては、各アプリケーション処理部６１〜６４により実行される、表示処理、マップマッチング処理、経路探索処理、及び経路案内処理の各処理が、本発明におけるアプリケーション処理に相当する。そして、各アプリケーション処理部６１〜６４は、アプリケーション処理を実行するに際して、参照用データベース７０の参照用地図データ７１を参照する。
【００４６】
また、各アプリケーション処理部６１〜６４は、各アプリケーション処理の実行に際してメモリ５０を利用する。そのため、メモリ５０内には、図４及び図５に示すように、ナビゲーション処理部６０によるナビゲーション処理に用いられるメモリ５０の領域であるナビゲーション処理用領域５３が設定される。ここでは、このナビゲーション処理用領域５３として、ナビゲーション処理部６０の各アプリケーション処理部６１〜６４により実行される各アプリケーション処理に対応して、表示処理領域５４、マップマッチング処理領域５５、経路探索処理領域５６、及び経路案内処理領域５７が設定され得る。本実施形態においては、後述するメモリ管理部３０により、各アプリケーション処理部６１〜６４による各アプリケーション処理の実行状況に応じて、実行中の処理に対応する領域のみが、ナビゲーション処理用領域５３として設定される。これにより、ナビゲーション処理用領域５３のメモリ容量が可変設定される。
【００４７】
〔参照用データベース〕
参照用データベース７０は、地図データを利用する上記各アプリケーション処理を実行する際に、各アプリケーション処理部６１〜６４により参照される参照用地図データ７１が格納されたデータベースである。ここで、参照用地図データ７１は、各アプリケーション処理部６１〜６４により参照されるのに適した参照用データ形式の地図データとされている。すなわち、参照用地図データ７１は、例えば、各アプリケーション処理部６１〜６４が共通して参照する共通地図データと、表示処理部６１及びマップマッチング処理部６２が参照する表示・マップマッチング用地図データと、経路探索処理部６３が参照する経路探索用地図データと、経路案内処理部６４が参照する経路案内用地図データと、を有して構成される。これらの参照用地図データ７１を構成する各地図データは、それぞれの地図データを参照するアプリケーション処理部６１〜６４により参照されるのに適したデータ形式とされている。このようなデータ形式としては、例えば、各アプリケーション処理部６１〜６４が、各種データを処理する順序と同じ順序で各種データが配列されているデータ形式等が該当する。
【００４８】
このような参照用地図データ７１を構成する各地図データは、後述する更新用地図データ８１（図２参照）と同様に、対象地域を複数の区画Ｐに分割してなる複数の区画Ｐ毎の地図データとなっている。更に、各地図データは、後述する更新用地図データ８１と同様に、各区画Ｐ内に存在する複数の交差点のそれぞれに対応する複数のノードＮと、各ノードＮ間を接続する道路に対応する複数のリンクＬとにより構成される道路ネットワークデータを含んでいる。また、参照用地図データ７１は、道路ネットワークデータの他に、表示処理部６１による表示処理に必要な各種の情報を有する描画情報、経路案内処理部６４による経路案内処理に必要な各種の案内情報等を含んでいる。ここで、描画情報には、道路形状、建物、河川等を表示するために必要な背景情報、市町村名や道路名等を表示するために必要な文字情報などが含まれる。また、案内情報には、交差点の詳細情報から成る交差点情報などが含まれる。
【００４９】
〔ローカル保存データベース〕
ローカル保存データベース８０は、更新用データファイル４により更新するための更新用地図データ８１が格納されたデータベースである。本実施形態においては、このローカル保存データベース８０が本発明における更新用データベースに相当する。ここで、更新用地図データ８１は、更新用データファイル４を用いて更新するのに適した更新用データ形式の地図データとされている。このような更新用データ形式としては、例えば、地図データを構成する各種データを、そのデータ種別毎にまとめて配列したデータ形式等が該当する。このようなデータ種別としては、例えば、道路に対応するリンクに関する各種データである道路データ、交差点に対応するノードに関する各種データである交差点データ、各リンクの形状に関する各種データである形状データ、各ノードに接続するリンクに関する各種データである接続データ等がある。
【００５０】
また、図２に示すように、更新用地図データ８１は、対象地域を複数の区画Ｐに分割してなる複数の区画Ｐ毎の地図データとなっている。ここでは、各区画Ｐは、互いに同じ大きさの矩形となるように分割されている。例えば、日本全土の対象地域とする場合、ローカル保存データベース８０には、日本全土を含む範囲の地図データをｍ×ｎ（ｍ、ｎは自然数）分割してなる複数の区画Ｐ毎の更新用地図データ８１が格納されている。また、各更新用地図データ８１は、各区画Ｐ内に存在する複数の交差点のそれぞれに対応する複数のノードＮと、各ノードＮ間を接続する道路に対応する複数のリンクＬとにより構成される道路ネットワークデータを含んでいる。
【００５１】
ここで、ノードＮは現実の道路における交差点に対応し、リンクＬは、各交差点間を結ぶ道路に対応している。各ノードＮは、緯度及び経度で表現された地図上の位置（座標）の情報を有している。また、ノードＮは、ノード属性情報として、通行規制、信号の有無等の情報を有している。各リンクＬは、リンク属性情報として、道路長、道路種別、道路幅、レーン数、リンク形状を表現するための形状補間点等の情報を有している。ここで、道路種別は、例えば、高速道路、国道、県道、一般道、細街路、導入路等のように、道路を複数の種別に区分した際の道路種別の情報である。なお、図２においては、一つの区画Ｐの道路ネットワークデータのみを図示し、他の区画Ｐについては省略している。また、更新用地図データ８１は、参照用地図データ７１に変換された後に、表示処理部６１による表示処理に必要な各種の情報を有する描画情報、経路案内処理部６４による経路案内処理に必要な各種の案内情報等を含んでいる。上記のとおり、描画情報には、道路形状、建物、河川等を表示するために必要な背景情報、市町村名や道路名等を表示するために必要な文字情報などが含まれる。また、案内情報には、交差点の詳細情報から成る交差点情報などが含まれる。
【００５２】
〔送受信部・記録媒体再生部〕
本実施形態に係るナビゲーション装置１は、更新用データファイル４の提供を受けるための手段として、送受信部９１及び記録媒体再生部９２を備えている。送受信部９１は、無線基地局等のサーバ装置５との間で無線通信によりデータの送受信を行うものであり、この無線通信により更新用データファイル４を受信することが可能に構成されている。このような無線通信方法としては、例えば携帯電話網や無線ＬＡＮ（Local Area Network）等の公知の通信網を用いることができる。また、記録媒体再生部９２は、光ディスクや磁気ディスク等の記録媒体８を再生し、当該記録媒体８に記録された更新用データファイル４を読み出すことが可能に構成されている。このような記録媒体８は、例えば、図１に示すように、使用者が、サーバ装置５からインターネット等の通信ネットワーク６を介して自らの所有するパーソナルコンピュータ等の端末装置に更新用データファイル４をダウンロードして取得し、それを記録媒体８に記録することにより生成される。
【００５３】
ここで取得される更新用データファイル４は、ローカル保存データベース８０に格納されている更新用地図データ８１に変更を加えて更新すべき内容を表す各種のデータを一つにまとめたファイルである。ここでは、更新用データファイル４は、ローカル保存データベース８０に格納されている更新用地図データ８１の内容を基準として、現実に変更があった道路や施設等の変更内容を差分として表す差分データのファイルとなっている。そして、この更新用データファイル４には、更新用地図データ８１に対応して、更新対象となる一又は二以上の区画Ｐ毎の更新用データが含まれる。更に、本実施形態においては、更新用データファイル４は、更新用地図データ８１に対する追加、変更、削除等の更新態様毎に分けられるとともに、各更新態様についての更新内容のデータを、更新用地図データ８１と同様にデータ種別毎にまとめて配列したデータ形式を有している。上記のとおり、このようなデータ種別としては、例えば、道路データ、交差点データ、形状データ、及び接続データ等がある。
【００５４】
〔更新処理部〕
更新処理部４０は、更新用データファイル４を用いてローカル保存データベース８０及び参照用データベース７０の更新処理を実行する処理部である。本実施形態においては、更新処理部４０は、差分合成部４１、参照用データ変換部４２、及びファイル名−アドレステーブル４３を備えている。そして、更新処理部４０は、まず、差分合成部４１により、更新用データファイル４を用いてローカル保存データベース８０に格納された更新用地図データ８１を更新する。その後、参照用データ変換部４２により、当該更新後の更新用地図データ８１を変換して更新後の参照用地図データ７１を生成し、それを参照用データベース７０に格納する。これにより、ローカル保存データベース８０及び参照用データベース７０が更新される。本実施形態においては、この更新処理部４０が本発明における更新処理手段に相当する。
【００５５】
差分合成部４１は、送受信部９１又は記録媒体再生部９２により取得した更新用データファイル４を用いて、ローカル保存データベース８０に格納された更新用地図データ８１を更新する処理を行う処理部である。上記のとおり、更新用地図データ８１は区画Ｐ毎のデータとされており、更新用データファイル４に含まれる更新用データも区画Ｐ毎のデータとなっている。そこで、差分合成部４１は、更新用データファイル４に含まれる更新用データが更新対象とする一又は二以上の区画Ｐの中から一つの区画Ｐを選択して更新対象区画として決定する。そして、当該更新対象区画の更新用地図データ８１を、当該区画Ｐについての更新用データにより更新する。更新用データファイル４に複数の区画Ｐについての更新用データが含まれる場合には、各区画Ｐの更新用地図データ８１の更新が終了する毎に、順次更新対象区画を変更して区画Ｐ毎に更新処理を行う。
【００５６】
また、上記のとおり、更新用データファイル４は、ローカル保存データベース８０に格納されている更新用地図データ８１の内容を基準とした差分データのファイルとなっている。したがって、差分合成部４１は、更新用データファイル４に含まれる各区画Ｐの更新用の差分データを更新用地図データ８１に合成する差分合成により、更新用地図データ８１の差分更新を行う。具体的には、差分合成部４１は、追加、変更、削除等の更新態様に従って、更新用地図データ８１に対して差分データの内容を追加し、更新用地図データ８１の内容を差分データの内容に変更し、或いは更新用地図データ８１から差分データに示される内容のデータを削除する等の更新処理を行う。更新後の更新用地図データ８１は、ローカル保存データベース８０に戻されて格納される。
【００５７】
参照用データ変換部４２は、差分合成部４１による更新後の更新用地図データ８１を、参照用地図データ７１に変換する処理を行う処理部である。上記のとおり、差分合成部４１は、区画Ｐ毎に更新用地図データ８１を更新する。そこで、参照用データ変換部４２は、差分合成部４１による更新が終了した更新用地図データ８１を順次対象とし、当該更新後の更新用地図データ８１を、区画Ｐ毎に順次変換して参照用地図データ７１を生成する。これにより、更新用地図データ８１の更新及び当該更新後の更新用地図データ８１に基づく更新後の参照用地図データ７１の生成を、更新対象区画として決定された区画Ｐ毎に一貫して行うことができる。
【００５８】
ここで、参照用データ変換部４２は、更新用データ形式の更新用地図データ８１を、各アプリケーション処理部６１〜６４により参照されるのに適した参照用データ形式の参照用地図データ７１に変換する処理を行う。上記のとおり、参照用地図データ７１は、各アプリケーション処理部６１〜６４による参照に適するように、共通地図データ、表示・マップマッチング用地図データ、経路探索用地図データ、及び経路案内用地図データ等の複数の地図データを有して構成されている。そこで、参照用データ変換部４２は、一つの更新用地図データ８１を変換して、これら複数の地図データを生成する処理を行う。この参照用データ変換部４２により生成された更新後の参照用地図データ７１は、参照用データベース７０に格納される。この際、更新後の参照用地図データ７１に対応する更新前の参照用地図データ７１は参照用データベース７０から削除される。
【００５９】
以上のようにして、更新用データファイル４に基づいて、ローカル保存データベース８０に格納された更新用地図データ８１及び参照用データベース７０に格納された参照用地図データ７１が更新される。更新処理部４０は、このような更新処理に際して、ローカル保存データベース８０から必要なデータを読み出すが、この際、データの読み出し処理の高速化を図るため、メモリ５０内に設定されたキャッシュ領域５１をキャッシュとして用いる。すなわち、更新処理部４０は、更新処理に必要なデータを、当該データがメモリ５０のキャッシュ領域５１にあれば当該キャッシュ領域５１から読み出し、当該データがキャッシュ領域５１になければローカル保存データベース８０から読み出して、更新処理を行う。このような更新処理部４０が必要とするデータの読み出し処理は、後述するファイルリード部２０が行う。本実施形態においては、更新処理部４０は、ファイルリード部２０に対して更新処理に必要なファイルのアドレスを指定することにより、ファイルリード部２０に、当該ファイルを構成するデータの読み出し処理を行わせる。
【００６０】
ところで、更新処理部４０の差分合成部４１及び参照用データ変換部４２は、それぞれにおける処理（更新処理）に必要なファイルをファイル名で取り扱う。そこで、更新処理部４０は、更新処理に必要なファイルのファイル名から当該ファイルのアドレスを特定するためのファイル名−アドレステーブル４３を備えている。ここで、各ファイルのアドレスは、ローカル保存データベース８０内における当該ファイルが格納されている場所を示す情報（アドレス情報）である。すなわち、ファイル名−アドレステーブル４３は、ローカル保存データベース８０に格納されている全てのファイルに関して、各ファイルのファイル名とアドレスとを関連付けたテーブルである。
【００６１】
更新処理部４０の差分合成部４１及び参照用データ変換部４２は、それぞれにおける処理の実行に際してメモリ５０を利用する。そのため、メモリ５０内には、図４及び図５に示すように、更新処理部４０による更新処理に用いられるメモリ５０の領域である更新処理用領域５２が設定される。本実施形態においては、後述するメモリ管理部３０により、更新処理部４０が更新処理の対象とする更新用地図データ８１の内容に応じて、更新処理用領域５２のメモリ容量が可変設定される。
【００６２】
〔ファイルアクセス管理部〕
ファイルアクセス管理部１０は、更新処理部４０が更新処理に必要なデータを読み出す際の読み出し処理や、当該読み出し処理に際してキャッシュとして機能するメモリ５０の管理等、更新処理部４０からローカル保存データベース８０やメモリ５０へのファイルアクセスに関する管理を行う処理部である。本実施形態においては、ファイルアクセス管理部１０は、ファイルリード部２０とメモリ管理部３０とを有している。このファイルアクセス管理部１０の構成が、本発明の特徴をなす部分となっている。以下、このファイルアクセス管理部１０を構成するファイルリード部２０及びメモリ管理部３０の構成について、詳細に説明する。
【００６３】
〔ファイルリード部〕
ファイルリード部２０は、更新処理部４０による更新処理に必要なデータを読み出す際の読み出しに関する処理を行う処理部である。本実施形態においては、ファイルリード部２０は、このような読み出しに関する各処理を担当する機能部として、読み出し処理部２１、キャッシュ格納部２２、及びキャッシュ管理部２３を有している。後述するように、データの読み出しに際して利用されるキャッシュは、メモリ５０内にキャッシュ領域５１として設定される。また、このメモリ５０内には、このキャッシュ領域５１の他に、更新処理部４０により利用される更新処理用領域５２と、ナビゲーション処理部６０により利用されるナビゲーション処理用領域５３とを有している。
【００６４】
読み出し処理部２１は、更新処理部４０から指定された更新処理に必要なファイルを構成するデータをメモリ５０内に設けられたキャッシュ領域５１又はローカル保存データベース８０から読み出す読み出し処理を行う処理部である。この読み出し処理部２１は、更新処理に必要なファイルを構成するデータを、当該データがメモリ５０のキャッシュ領域５１にあればキャッシュ領域５１から読み出し、当該データがキャッシュ領域５１になければローカル保存データベース８０から読み出す処理を行う。すなわち、読み出し処理部２１は、まず、キャッシュ領域５１内に更新処理に必要なファイルを構成するデータが存在するか否かを検索し、存在する場合には当該データをキャッシュ領域５１から読み出す。一方、更新処理に必要なファイルを構成するデータがキャッシュ領域５１内に存在しない場合には、当該データをローカル保存データベース８０から読み出す。
【００６５】
この際、更新処理部４０からの更新処理に必要なファイルの指定は、当該ファイルのアドレスにより行われる。したがって、読み出し処理部２１は、当該ファイルのアドレスに基づいて、キャッシュ領域５１又はローカル保存データベース８０から当該ファイルを構成するデータを検索し、読み出す処理を行う。ところで、更新処理部４０から読み出し処理部２１に対して指定されるファイルのアドレスは、ローカル保存データベース８０内における当該ファイルが格納されている場所を示すアドレスである。したがって、ファイルリード部２０は、指定されたファイルをローカル保存データベース８０から読み出すことは、当該アドレスに基づいて直接的に行うことができる。しかし、指定されたファイルを構成するデータがキャッシュ領域５１に格納されているか否かを検索し或いは読み出すことは、当該アドレスに基づいて直接的に行うことは困難である。そこで、読み出し処理部２１は、キャッシュ領域５１に対するデータの検索及び読み出しに際しては、キャッシュ管理部２３の管理情報を利用する。このキャッシュ管理部２３は、キャッシュ領域５１に格納された各データを、当該データを含むローカル保存データベース８０中のファイルのアドレスと関連付けて管理する管理情報を有している。本実施形態においては、このキャッシュ管理部２３が、本発明におけるキャッシュ管理手段に相当する。
【００６６】
図３は、キャッシュ管理部２３の構成を示す模式図である。この図に示すように、メモリ５０内のキャッシュ領域５１は、複数のセルに分割されており、各セルは所定の単位データ量（例えば６４〔ｋｂｙｔｅ〕や１２８〔ｋｂｙｔｅ〕等）を有するデータの格納領域とされている。図示の例では、キャッシュ領域５１は、ｎ個のセルに分割されている。後述するように、キャッシュ領域５１のメモリ容量は可変設定されるので、当該キャッシュ領域５１のメモリ容量に応じて単位データ量を有するセルの数も可変設定されることになる。キャッシュ管理部２３は、キャッシュ領域５１が有する各セルに関連付けて、各セル内に格納されているデータのアドレスを示す情報を管理情報として有している。具体的には、図示するように、キャッシュ管理部２３は、キャッシュ領域５１の各セル内の各データを、当該データを含むファイルのアドレスａｄ００１〜ａｄ００３、及び各アドレスからのオフセットｏｆ００１〜ｏｆ００６に関連付けて管理する管理情報を有している。
【００６７】
ここで、アドレスａｄ００１〜ａｄ００３は、各セル内の各データについて、当該データを含むファイルのローカル保存データベース８０内でのアドレスを示す情報となっている。より詳しくは、アドレスａｄ００１〜ａｄ００３は、ローカル保存データベース８０内における、当該データを含むファイルを構成する全データの先頭位置の格納場所を示す情報となっている。また、オフセットｏｆ００１〜ｏｆ００６は、各セル内の各データについてのアドレスａｄ００１〜ａｄ００３からのオフセット量を示す情報となっている。このオフセットｏｆ００１〜ｏｆ００６は、各ファイルを構成するデータがキャッシュ領域５１の各セル内に細分化されて格納されることから設けられている情報であり、各データのファイル内での位置を、アドレスａｄ００１〜ａｄ００３として示されるファイルの先頭位置からのオフセットで表す情報となっている。キャッシュ管理部２３は、このオフセットｏｆ００１〜ｏｆ００６の情報を有することにより、一つのファイルを構成するデータの全部又は一部が細分化され、キャッシュ領域５１内に分離されて格納されている場合にも、各セル内の各データと、当該データを含むファイルのアドレスとを関連付けて管理することが可能となっている。ここで、オフセットｏｆ００１〜ｏｆ００６は、アドレスａｄ００１〜ａｄ００３からのオフセット量を、例えば、６４〔ｋｂｙｔｅ〕や２５６〔ｋｂｙｔｅ〕等のデータ長として示す情報とすることができる。
【００６８】
図１に戻り、キャッシュ格納部２２は、読み出し処理部２１により読み出したデータをキャッシュ領域５１に格納する処理を行う処理部である。本実施形態においては、キャッシュ格納部２２は、読み出し処理部２１によりローカル保存データベース８０から読み出したデータを、新たにキャッシュ領域５１に格納する処理を行う。言い換えれば、キャッシュ格納部２２は、読み出し処理部２１によりキャッシュ領域５１からデータを読み出した場合には、当該データを更にキャッシュ領域５１に格納する処理は行わない。そして、図３に示すように、キャッシュ格納部２２は、読み出し処理部２１により読み出したデータを、キャッシュ領域５１の各セルに対応する単位データ量毎に分割して各セル内に格納する。この際、キャッシュ格納部２２は、新たに格納するデータのデータ量に相当するデータ量の古いデータを、キャッシュ領域５１から削除する処理も併せて行う。ここでは、キャッシュ格納部２２は、先にキャッシュ領域５１に格納されたデータ、すなわち格納時期が最も古いデータから順に削除する処理を行う。このような構成を実現するため、キャッシュ領域５１は、例えば、先入れ先出し（ＦＩＦＯ：First-In First-Out）方式のメモリ構造とすると好適である。或いは、キャッシュ領域５１の各セル内のデータにそれぞれ格納時期を示すデータを付与し、当該格納時期の古いものから先に削除する構成としても好適である。本実施形態においては、このキャッシュ格納部２２が、本発明におけるキャッシュ格納手段に相当する。
【００６９】
また、本実施形態においては、キャッシュ格納部２２は、更新処理部４０の差分合成部４１による更新用地図データ８１の更新処理の結果、更新後にローカル保存データベース８０に格納された更新用地図データ８１と、当該更新後の更新用地図データ８１のファイルに対応するキャッシュ領域５１内に格納されたデータとの間で内容的に不一致が生じることを回避するために、キャッシュデータ保証処理を行う。このキャッシュデータ保証処理は、差分合成部４１による更新後の更新用地図データ８１を構成するファイルがローカル保存データベース８０に書き込まれることを検出し、当該書き込まれるファイルと同じアドレス（すなわち同じファイル）のデータがキャッシュ領域５１内にある場合には、当該データをキャッシュ領域５１から削除する処理である。このキャッシュデータ保証処理を行うことにより、読み出し処理部２１が、更新後の更新用地図データ８１を構成するファイルのデータを読み出すつもりで、誤って更新前の古い更新用地図データ８１の対応するファイルのデータをキャッシュ領域５１から読み出すことを回避できる。
【００７０】
以上のように、読み出し処理部２１がメモリ５０内のキャッシュ領域５１をキャッシュとして用いることにより、同じデータを複数回読み出す際に、ローカル保存データベース８０からではなくキャッシュ領域５１から読み出すことになる。したがって、全てのデータをローカル保存データベース８０から直接読み出す場合と比べて、読み出し処理を高速化することができる。本実施形態においては、同じデータが複数回読み出される状況は、特に参照用データ変換部４２により更新後の更新用地図データ８１を参照用地図データ７１に変換する際に多く発生する。その理由は、例えば以下のようなものである。すなわち、参照用データ変換部４２は、一つの更新用地図データ８１に基づいて、共通地図データ、表示・マップマッチング用地図データ、経路探索用地図データ等の複数種類の地図データを参照用地図データ７１として変換生成するため、同じ更新用地図データ８１の内容が複数回読み出される。また、各区画Ｐの参照用地図データ７１は、区画Ｐの境界付近における表示、探索、案内等の便宜のために、隣接する区画Ｐの情報を含んだデータとなっているため、それら隣接する区画Ｐの情報を取得するために、同じ更新用地図データ８１の内容が複数回読み出される。したがって、本実施形態に係るナビゲーション装置１においては、特に参照用データ変換部４２から指定されたファイルのデータを読み出す際に、キャッシュ領域５１を用いることにより、処理の高速化を図ることが可能となっている。
【００７１】
〔メモリ管理部〕
図１に戻り、メモリ管理部３０は、更新処理部４０による更新処理及びナビゲーション処理部６０による各アプリケーション処理の実行に際して利用され、更には、ファイルリード部２０によるデータの読み出し処理に際してキャッシュとして利用されるメモリ５０の管理を行う処理部である。本実施形態においては、メモリ管理部３０は、処理用メモリ容量決定部３１、ナビゲーション用メモリ容量決定部３２、キャッシュ容量決定部３３、及びメモリ領域決定部３４を有している。ここで、処理用メモリ容量決定部３１が本発明における処理用メモリ容量決定手段に相当し、ナビゲーション用メモリ容量決定部３２が本発明におけるナビゲーション用メモリ容量決定手段に相当し、キャッシュ容量決定部３３が本発明におけるキャッシュ容量決定手段に相当する。
【００７２】
図４及び図５は、このメモリ管理部３０による管理対象となるメモリ５０の内部の領域設定の具体例を示す図である。これらの図に示すように、メモリ５０内には、ファイルリード部２０によるデータの読み出し処理に際してキャッシュとして用いられるキャッシュ領域５１と、更新処理部４０による更新処理に用いられる更新処理用領域５２と、ナビゲーション処理部６０によるナビゲーション処理に用いられるナビゲーション処理用領域５３とが設定される。図示の例では、ナビゲーション処理用領域５３として、表示処理領域５４、マップマッチング処理領域５５、経路探索処理領域５６、及び経路案内処理領域５７の全部又は一部が設定され得る。
【００７３】
処理用メモリ容量決定部３１は、更新処理部４０による更新処理の対象となる更新用地図データ８１の内容に基づいて、更新処理用領域５２として必要な前記メモリの容量である処理用メモリ容量を決定する処理を行う処理部である。本実施形態においては、処理用メモリ容量決定部３１は、更新処理の対象となる更新対象区画の更新用地図データ８１に含まれる道路数及び交差点数に基づいて、処理用メモリ容量を決定する。上記のとおり、ローカル保存データベース８０に格納されている更新用地図データ８１は、各更新用地図データ８１が対象とする区画Ｐ内に存在する複数の交差点のそれぞれに対応する複数のノードＮと、各ノードＮ間を接続する道路に対応する複数のリンクＬとにより構成される道路ネットワークデータを含んでいる（図２参照）。そこで、処理用メモリ容量決定部３１は、更新対象区画内の道路数を代表するものとして更新用地図データ８１に含まれるリンクＬの数であるリンク数を用い、更新対象区画内の交差点数を代表するものとして更新用地図データ８１に含まれるノードＮの数であるノード数を用いる。すなわち、処理用メモリ容量決定部３１は、本実施形態においては、更新対象区画の更新用地図データ８１に含まれるリンク数及びノード数に基づいて、処理用メモリ容量を決定する。
【００７４】
具体的には、処理用メモリ容量決定部３１は、下記の式（１）に従って処理用メモリ容量を決定する。
〔処理用メモリ容量〕＝〔リンク数〕×Ｄ１＋〔ノード数〕×Ｄ２＋Ｃ  ・・・（１）
この式において、Ｄ１は１リンクあたりに必要となる更新処理用領域５２のメモリ容量であり、Ｄ２は１ノードあたりに必要となる更新処理用領域５２のメモリ容量である。また、Ｃは固定値であり、リンク数及びノード数に関係なく必要となる更新処理用領域５２のメモリ容量である。ここで、Ｄ１、Ｄ２、及びＣの値は、リンク数及びノード数が様々に異なる更新用地図データ８１を用いた更新処理を行う際に必要であった処理用メモリ容量に基づいて、実験的に求めることができる。
【００７５】
以上により、処理用メモリ容量決定部３１は、例えば都市部に対応する区画Ｐについての更新用地図データ８１のように、リンク数（道路数）及びノード数（交差点数）が多く、道路密度が高い区画Ｐの更新用地図データ８１を更新処理の対象とする際には、処理用メモリ容量を大きい値に決定する。この場合、図４（ａ）に示すように、メモリ領域決定部３４は、メモリ５０内に更新処理用領域５２を比較的大きく設定する。一方、処理用メモリ容量決定部３１は、例えば都市部以外の地域に対応する区画Ｐについての更新用地図データ８１のように、リンク数（道路数）及びノード数（交差点数）が少なく、道路密度が低い区画Ｐの更新用地図データ８１を更新処理の対象とする際には、処理用メモリ容量を小さい値に決定する。この場合、図４（ｂ）に示すように、メモリ領域決定部３４は、メモリ５０内に更新処理用領域５２を比較的小さく設定する。
【００７６】
また、処理用メモリ容量決定部３１は、一つの更新対象区画の更新用地図データ８１の更新処理が終了し、更新処理の対象が次の更新対象区画の更新用地図データ８１に移行する際に、当該次の更新対象区画の更新用地図データ８１のリンク数（道路数）及びノード数（交差点数）に基づいて、処理用メモリ容量を新たに決定する。これにより、各時点での更新対象区画の更新用地図データ８１の内容に応じて、適切な処理用メモリ容量を適宜決定することができる。したがって、メモリ領域決定部３４により、各時点での更新対象区画の更新用地図データ８１の内容に応じて、適切な大きさの更新処理用領域５２をメモリ５０内に可変設定することが可能となる。
【００７７】
ナビゲーション用メモリ容量決定部３２は、ナビゲーション処理部６０によりナビゲーション処理として実行される処理内容に基づいて、ナビゲーション処理用領域５３として必要なメモリ５０の容量であるナビゲーション用メモリ容量を決定する処理を行う処理部である。本実施形態においては、ナビゲーション用メモリ容量決定部３２は、ナビゲーション処理として実行中のアプリケーション処理の種類に基づいて、ナビゲーション用メモリ容量を決定する。上記のとおり、ナビゲーション処理部６０は、表示処理部６１、マップマッチング処理部６２、経路探索処理部６３、及び経路案内処理部６４を備えており、これらの各アプリケーション処理部６１〜６４により実行される、表示処理、マップマッチング処理、経路探索処理、及び経路案内処理のそれぞれが、アプリケーション処理である。そこで、ナビゲーション用メモリ容量決定部３２は、それぞれのアプリケーション処理毎に、当該アプリケーション処理の実行に際して必要なメモリ５０の容量を決定する。具体的には、ナビゲーション用メモリ容量決定部３２は、表示処理に必要な表示処理用メモリ容量、マップマッチング処理に必要なマップマッチング処理用メモリ容量、経路探索処理に必要な経路探索処理用メモリ容量、経路案内処理に必要な経路案内処理用メモリ容量をそれぞれ決定する。そして、ナビゲーション用メモリ容量決定部３２は、各アプリケーション処理の実行状態の情報を取得し、実行中のアプリケーション処理に必要なメモリ容量の合計に基づいて、ナビゲーション用メモリ容量を決定する。
【００７８】
具体的には、ナビゲーション用メモリ容量決定部３２は、表示処理用メモリ容量、マップマッチング処理用メモリ容量、経路探索処理用メモリ容量、経路案内処理用メモリ容量のそれぞれを、固定値として予め設定している。そして、ナビゲーション用メモリ容量決定部３２は、実行中の全てのアプリケーション処理についての前記メモリ容量を加算した合計を、ナビゲーション用メモリ容量として決定する。言い換えれば、実行中でないアプリケーション処理についての前記メモリ容量は、ナビゲーション用メモリ容量としては加算されない。ここで、固定値として予め設定される、表示処理用メモリ容量、マップマッチング処理用メモリ容量、経路探索処理用メモリ容量、及び経路案内処理用メモリ容量の値は、いずれも各アプリケーション処理の一般的な動作状況に基づいて実験的に求めることができる。
【００７９】
以上により、ナビゲーション用メモリ容量決定部３２は、実行中のアプリケーション処理の数が多い場合、及び実行中の各アプリケーション処理に必要なメモリ容量が大きい場合には、ナビゲーション用メモリ容量を大きい値に決定する。この場合、例えば図５（ａ）に示すように、メモリ領域決定部３４は、メモリ５０内にナビゲーション処理用領域５３を比較的大きく設定する。一方、ナビゲーション用メモリ容量決定部３２は、実行中のアプリケーション処理の数が少ない場合、及び実行中の各アプリケーション処理に必要なメモリ容量が小さい場合には、ナビゲーション用メモリ容量を小さい値に決定する。この場合、例えば図５（ｂ）に示すように、メモリ領域決定部３４は、メモリ５０内にナビゲーション処理用領域５３を比較的小さく設定する。ここで、図５（ａ）には、表示処理、マップマッチング処理、経路探索処理、及び経路案内処理の全てのアプリケーション処理が実行中の場合におけるメモリ５０内の各領域の設定の例を示している。この図に示す例では、ナビゲーション処理用領域５３として、表示処理領域５４、マップマッチング処理領域５５、経路探索処理領域５６、及び経路案内処理領域５７が全て設定されており、ナビゲーション処理用領域５３は最大に設定されている。一方、図５（ｂ）には、アプリケーション処理の一部、具体的には、表示処理及びマップマッチング処理のみが実行中の場合におけるメモリ５０内の各領域の設定の例を示している。この図に示す例では、ナビゲーション処理用領域５３として、表示処理領域５４及びマップマッチング処理領域５５のみが設定されており、ナビゲーション処理用領域５３は比較的小さく設定されている。なお、図５（ａ）は、案内経路が設定されている時の状態に相当し、図５（ｂ）は、案内経路が設定されておらず地図上への自位置表示のみが行われている時の状態に相当する。
【００８０】
また、ナビゲーション用メモリ容量決定部３２は、各アプリケーション処理の実行が開始又は終了した際に、ナビゲーション用メモリ容量を新たに決定する。すなわち、ナビゲーション用メモリ容量決定部３２は、いずれかのアプリケーション処理の実行が新たに開始された際、又は実行中のいずれかのアプリケーション処理の実行が終了した際に、当該アプリケーション処理の実行の開始又は終了を考慮した新たなナビゲーション用メモリ容量を決定する。これにより、各時点でのアプリケーション処理の実行状況に応じて、適切なナビゲーション用メモリ容量を適宜決定することができる。したがって、メモリ領域決定部３４により、各時点でのアプリケーション処理の実行状況に応じて、適切な大きさのナビゲーション処理用領域５３をメモリ５０内に可変設定することが可能となる。
【００８１】
キャッシュ容量決定部３３は、処理用メモリ容量決定部３１により決定された処理用メモリ容量、及びナビゲーション用メモリ容量決定部３２により決定されたナビゲーション用メモリ容量に基づいて、キャッシュ領域５１として割り当てるメモリ５０の容量であるキャッシュ容量を決定する処理を行う処理部である。本実施形態においては、キャッシュ容量決定部３３は、メモリ５０の全体の容量から処理用メモリ容量及びナビゲーション用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、キャッシュ容量として決定する。したがって、キャッシュ容量決定部３３は、処理用メモリ容量及びナビゲーション用メモリ容量の合計が大きい程キャッシュ容量を小さく決定し、処理用メモリ容量及びナビゲーション用メモリ容量の合計が小さい程キャッシュ容量を大きく決定する。
【００８２】
そして、メモリ領域決定部３４は、処理用メモリ容量に応じた更新処理用領域５２、及びナビゲーション用メモリ容量に応じたナビゲーション処理用領域５３を設定した後の余剰のメモリ容量であるキャッシュ容量に応じて、メモリ５０内にキャッシュ領域５１を設定する。したがって、メモリ領域決定部３４は、更新処理用領域５２及びナビゲーション処理用領域５３の合計が大きい程キャッシュ領域５１を小さく設定し、更新処理用領域５２及びナビゲーション処理用領域５３の合計が小さい程キャッシュ領域５１を大きく設定する。ところで、本実施形態の構成とは異なり、キャッシュ領域５１の大きさを可変設定しない場合には、更新処理部４０による更新処理に必要な最大のメモリ容量に基づいて更新処理用領域５２を設定し、ナビゲーション処理部６０によるナビゲーション処理の実行に必要な最大のメモリ容量に基づいてナビゲーション処理用領域５３を設定する必要がある。その場合、キャッシュ領域５１のメモリ容量は最も小さい容量で固定されることになり、更新処理の高速化を図ることが困難である。しかし、本実施形態の構成によれば、更新処理に必要なメモリ容量、及びナビゲーション処理の実行に必要なメモリ容量を確保した上で、適宜キャッシュ領域５１のメモリ容量を最大限に確保することができるため、更新処理の高速化を図ることができる。
【００８３】
〔地図更新処理〕
次に、更新処理部４０により実行される地図更新処理の手順について、図６に示すフローチャートに基づいて説明する。更新処理部４０は、更新用データファイル４を取得した場合に（ステップ＃０１：Ｙｅｓ）、更新処理を開始する（ステップ＃０２）。この更新処理の開始により、更新処理フラグがオンされ、メモリ管理部３０等の他の処理部も更新処理が開始したことを認識可能な状態となる。次に、差分合成部４１は、更新対象区画を決定する（ステップ＃０３）。この更新対象区画の決定は、更新用データファイル４に含まれる更新用データが更新対象とする一又は二以上の区画Ｐの中から一つの区画Ｐを選択することにより行う。その後、差分合成部４１は、取得した更新用データファイル４に含まれる更新用データとの差分合成により、更新対象区画の更新用地図データ８１を更新する（ステップ＃０４）。この際、差分合成部４１は、更新対象である更新用地図データ８１を構成するファイルを読み出す際に、当該ファイルのアドレスをファイルリード部２０に対して指定する。これにより、ファイルリード部２０は後述するファイル読み出し処理を実行し、指定されたアドレスのデータをメモリ５０のキャッシュ領域５１又はローカル保存データベース８０から読み出す。そして、差分合成部４１は、更新後の更新用地図データ８１を、ローカル保存データベース８０に格納する（ステップ＃０５）。これにより、ローカル保存データベース８０が更新される。
【００８４】
次に、参照用データ変換部４２は、更新後の更新用地図データ８１をローカル保存データベース８０から読み出し、参照用地図データ７１に変換して更新後の参照用地図データ７１を生成する（ステップ＃０６）。この際、参照用データ変換部４２は、変換処理の対象とする更新後の更新用地図データ８１を構成するファイルを読み出す際に、当該ファイルのアドレスをファイルリード部２０に対して指定する。これにより、ファイルリード部２０は後述するファイル読み出し処理を実行し、指定されたアドレスのデータをメモリ５０のキャッシュ領域５１又はローカル保存データベース８０から読み出す。そして、参照用データ変換部４２は、更新後の参照用地図データ７１を参照用データベース７０に格納する。これにより、参照用データベース７０が更新される。次に、更新処理部４０は、取得した更新用データファイル４に係る全ての区画Ｐの更新処理が終了したか否かを判定する（ステップ＃０８）。全ての区画Ｐの更新処理が終了していない場合には（ステップ＃０８：Ｎｏ）、処理はステップ＃０３へ戻り、差分合成部４１により次の新たな更新対象区画を決定する。そして、上記と同様の処理により、当該新たな更新対象区画の更新用地図データ８１及び参照用地図データ７１を更新する（ステップ＃０４〜＃０７）。一方、取得した更新用データファイル４に係る全ての区画Ｐの更新処理が終了した場合には（ステップ＃０８：Ｙｅｓ）、更新処理部４０は、更新処理を終了する（ステップ＃０９）。この更新処理の終了により、更新処理フラグがオフされ、メモリ管理部３０等の他の処理部も更新処理が終了したことを認識可能な状態となる。以上で地図更新処理の手順が終了する。
【００８５】
〔ファイル読み出し処理〕
次に、ファイルリード部２０により実行されるファイル読み出し処理の手順について、図７に示すフローチャートに基づいて説明する。読み出し処理部２１は、更新処理部４０から読み出し対象のファイルのアドレスが指定された場合に（ステップ＃１１：Ｙｅｓ）、まず、当該指定されたアドレスのデータをキャッシュ管理部２３から検索する（ステップ＃１２）。キャッシュ管理部２３には、メモリ５０のキャッシュ領域５１内に格納されているデータを、当該データを含むローカル保存データベース８０中のファイルのアドレスと関連付けて管理する管理情報が格納されている。したがって、指定されたアドレスのデータがキャッシュ管理部２３から検索されれば、指定されたファイルの少なくとも一部のデータがキャッシュ領域５１に格納されていると判断することができる。そこで、読み出し処理部２１は、キャッシュ管理部２３に指定されたアドレスのデータがあれば（ステップ＃１３：Ｙｅｓ）、当該指定されたアドレスのデータをメモリ５０のキャッシュ領域５１から読み出す（ステップ＃１４）。
【００８６】
一方、キャッシュ管理部２３に指定されたアドレスのデータがなければ（ステップ＃１３：Ｎｏ）、読み出し処理部２１は、当該指定されたアドレスのデータをローカル保存データベース８０から読み出す（ステップ＃１５）。そして、キャッシュ格納部２２は、キャッシュ領域５１内の古いデータを削除し、ステップ＃１５において新たに読み出したデータをキャッシュ領域５１に格納する（ステップ＃１６）。この際、キャッシュ格納部２２は、新たに格納するデータのデータ量に相当するデータ量の古いデータを、格納時期が最も古いものから順に削除する。以上でファイル読み出し処理の手順が終了する。
【００８７】
〔キャッシュデータ保証処理〕
次に、キャッシュ格納部２２により実行されるキャッシュデータ保証処理の手順について、図８に示すフローチャートに基づいて説明する。キャッシュ格納部２２は、図６のステップ＃０５の差分合成部４１による更新後の更新用地図データ８１のローカル保存データベース８０への書き込みがあったか否かを判定する（ステップ＃２１）。そして、更新後のデータの書き込みがあった場合には（ステップ＃２１：Ｙｅｓ）、キャッシュ格納部２２は、当該書き込まれるデータを構成するファイルと同じアドレスのデータをキャッシュ管理部２３から検索する（ステップ＃２２）。ここで、ローカル保存データベース８０へ書き込まれる更新後の更新用地図データ８１を構成するファイルと同じアドレスのデータがキャッシュ管理部２３から検索されれば、当該更新後のデータに対応する更新前の古いデータがキャッシュ領域５１に格納されていると判断することができる。そこで、キャッシュ格納部２２は、当該同じアドレスのデータがキャッシュ管理部２３にあった場合には（ステップ＃２３：Ｙｅｓ）、キャッシュ領域５１内の当該同じアドレスのデータをキャッシュ領域５１から削除する（ステップ＃２４）。これにより、更新用地図データ８１の更新処理によりローカル保存データベース８０に格納された更新後の更新用地図データ８１とキャッシュ領域５１に格納されたデータとの不一致が生じることを回避することができる。
【００８８】
〔メモリ管理処理〕
次に、メモリ管理部３０により実行されるメモリ管理処理の手順について、図９に示すフローチャートに基づいて説明する。メモリ管理部３０は、まず、更新処理が開始されたか否かについて判定する（ステップ＃３１）。この判定は、上述した図６のステップ＃０２により、更新処理フラグがオンされたか否かに基づいて行う。そして、更新処理が開始された場合には（ステップ＃３１：Ｙｅｓ）、キャッシュ容量決定部３３は、処理用メモリ容量決定部３１により決定される処理用メモリ容量を取得する（ステップ＃３２）。この処理用メモリ容量決定部３１による処理用メモリ容量決定処理については、後に図１０のフローチャートに基づいて詳細に説明する。また、キャッシュ容量決定部３３は、ナビゲーション用メモリ容量決定部３２により決定されるナビゲーション用メモリ容量も取得する（ステップ＃３３）。このナビゲーション用メモリ容量決定部３２によるナビゲーション用メモリ容量決定処理については、後に図１１のフローチャートに基づいて詳細に説明する。その後、キャッシュ容量決定部３３は、ステップ＃３２で取得された処理用メモリ容量及びステップ＃３３で取得されたナビゲーション用メモリ容量に基づいて、キャッシュ容量を決定する（ステップ＃３４）。以上により、処理用メモリ容量、ナビゲーション用メモリ容量、及びキャッシュ容量が決定されるので、メモリ領域決定部３４は、メモリ５０内に、処理用メモリ容量に応じた更新処理用領域５２、ナビゲーション用メモリ容量に応じたナビゲーション処理用領域５３、及びキャッシュ容量に応じたキャッシュ領域５１を設定する（ステップ＃３５）。
【００８９】
ところで、後に図１０及び図１１のフローチャートによっても説明するように、処理用メモリ容量決定部３１は、新たな更新対象区画が決定される毎に新たな処理用メモリ容量を決定し、ナビゲーション用メモリ容量決定部３２は、いずれかのアプリケーション処理の実行が開始又は終了する毎に新たなナビゲーション用メモリ容量を決定する。そこで、キャッシュ容量決定部３３は、このような処理用メモリ容量又はナビゲーション用メモリ容量の変更があれば、そのような変更に応じてキャッシュ容量を新たに決定する。これにより、各時点で必要とされる処理用メモリ容量及びナビゲーション用メモリ容量に応じて適宜キャッシュ容量を変更し、各時点で確保可能な最大のキャッシュ容量をキャッシュ領域５１に設定することが可能となっている。
【００９０】
そのため、キャッシュ容量決定部３３は、処理用メモリ容量が新たに決定されたか否かを判定する（ステップ＃３６）。処理用メモリ容量が新たに決定された場合には（ステップ＃３６：Ｙｅｓ）、当該新たな処理用メモリ容量を取得する（ステップ＃３７）。そして、処理はステップ＃３４へ戻り、キャッシュ容量決定部３３は、新たな処理用メモリ容量に基づいて、新たなキャッシュ容量を決定する。また、処理用メモリ容量が新たに決定されていない場合には（ステップ＃３６：Ｎｏ）、ナビゲーション用メモリ容量が新たに決定されたか否かを判定する（ステップ＃３８）。ナビゲーション用メモリ容量が新たに決定された場合には（ステップ＃３８：Ｙｅｓ）、当該新たなナビゲーション用メモリ容量を取得する（ステップ＃３９）。そして、処理はステップ＃３４へ戻り、キャッシュ容量決定部３３は、新たなナビゲーション用メモリ容量に基づいて、新たなキャッシュ容量を決定する。なお、新たに決定されたキャッシュ容量が、以前のキャッシュ容量と異なる場合には、メモリ領域決定部３４が、所定の単位メモリ容量毎に、キャッシュ領域５１のメモリ容量を取り付け又は取り外す処理を行う構成とすると好適である。
【００９１】
処理用メモリ容量及びナビゲーション用メモリ容量が新たに決定されていない場合には（ステップ＃３８：Ｎｏ）、メモリ管理部３０は、更新処理が終了したか否かについて判定する（ステップ＃４０）。この判定は、上述した図６のステップ＃０９により、更新処理フラグがオフされたか否かに基づいて行う。更新処理が終了していない場合には（ステップ＃４０：Ｎｏ）、処理はステップ＃３６へ戻る。そして、更新処理が終了した場合には（ステップ＃４０：Ｙｅｓ）、メモリ管理処理の手順を終了する。
【００９２】
〔処理用メモリ容量決定処理〕
次に、処理用メモリ容量決定部３１により実行される処理用メモリ容量決定処理の手順について、図１０に示すフローチャートに基づいて説明する。処理用メモリ容量決定部３１は、まず、更新対象区画が決定されたか否かについて判定する（ステップ＃５１）。この判定は、上述した図６のステップ＃０３により、更新対象区画が決定されたか否かに基づいて行う。そして、更新対象区画が決定された場合には（ステップ＃５１：Ｙｅｓ）、処理用メモリ容量決定部３１は、決定された更新対象区画の更新用地図データ８１からリンク数及びノード数を取得する（ステップ＃５２）。そして、処理用メモリ容量決定部３１は、ステップ＃５２で取得したリンク数及びノード数に基づいて処理用メモリ容量を決定する（ステップ＃５３）。以上のように、処理用メモリ容量決定部３１は、更新対象区画が決定される毎に、当該更新対象区画の更新用地図データ８１に対応する処理用メモリ容量を決定する。したがって、各時点で更新処理の対象としている更新用地図データ８１に応じた適切な処理用メモリ容量を適宜設定することができる。
【００９３】
〔ナビゲーション用メモリ容量決定処理〕
次に、ナビゲーション用メモリ容量決定部３２により実行されるナビゲーション用メモリ容量決定処理の手順について、図１１に示すフローチャートに基づいて説明する。ナビゲーション用メモリ容量決定部３２は、まず、いずれかのアプリケーション処理の実行が開始又は終了したか否かについて判定する（ステップ＃６１）。この判定は、ナビゲーション用メモリ容量決定部３２が、ナビゲーション処理部６０の表示処理部６１、マップマッチング処理部６２、経路探索処理部６３、及び経路案内処理部６４による各アプリケーション処理の実行状況を監視することにより行う。そして、いずれかのアプリケーション処理の実行が開始又は終了した場合には（ステップ＃６１：Ｙｅｓ）、ナビゲーション用メモリ容量決定部３２は、現時点で実行中のアプリケーション処理の種類を取得する（ステップ＃６２）。そして、ナビゲーション用メモリ容量決定部３２は、ステップ＃６２で取得した実行中のアプリケーション処理の種類に基づいてナビゲーション用メモリ容量を決定する（ステップ＃６３）。以上のように、ナビゲーション用メモリ容量決定部３２は、いずれかのアプリケーション処理の実行が開始又は終了する毎に、その時点で実行中のアプリケーション処理の種類に応じたナビゲーション用メモリ容量を決定する。したがって、各時点で実行中のアプリケーション処理の種類に応じた適切なナビゲーション用メモリ容量を適宜設定することができる。
【００９４】
〔その他の実施形態〕
（１）上記の実施形態では、処理用メモリ容量決定部３１が、更新処理の対象となる更新用地図データ８１に含まれる道路数（リンク数）及び交差点数（ノード数）の双方に基づいて、処理用メモリ容量を決定する場合を例として説明した。しかし、本発明の実施形態はこれに限定されない。したがって、処理用メモリ容量決定部３１が、更新処理の対象となる更新用地図データ８１に含まれる道路数及び交差点数のいずれか一方、又はリンク数及びノード数のいずれか一方に基づいて処理用メモリ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。この場合、上記の式（１）におけるリンク数又はノード数に関する項を削除し、係数Ｄ１又はＤ２の値を適切に設定することにより、上記の実施形態と同様に処理用メモリ容量を決定することが可能である。
【００９５】
（２）また、処理用メモリ容量決定部３１が、道路数（リンク数）や交差点数（ノード数）以外の更新用地図データ８１の内容に基づいて処理用メモリ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。このような更新用地図データ８１の内容としては、例えば、更新処理の対象となる（更新対象区画の）更新用地図データ８１のデータ量を用いることができる。この場合、処理用メモリ容量決定部３１は、例えば、当該更新用地図データ８１のデータ量に比例するように処理用メモリ容量を決定すると好適である。
【００９６】
（３）上記の実施形態では、ナビゲーション用メモリ容量決定部３２が、実行中のアプリケーション処理の種類に基づいてナビゲーション用メモリ容量を決定する場合を例として説明した。しかし、本発明の実施形態はこれに限定されない。したがって、ナビゲーション用メモリ容量決定部３２が、実行中のアプリケーション処理の数に基づいてナビゲーション用メモリ容量を決定し、或いは、実行中のアプリケーション処理の種類及び数の双方に基づいてナビゲーション用メモリ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。実行中のアプリケーション処理の数に基づいてナビゲーション用メモリ容量を決定する場合には、ナビゲーション用メモリ容量決定部３２は、例えば、実行中のアプリケーション処理の数に応じて予め定められたメモリ容量をナビゲーション用メモリ容量として決定する構成とすることができる。
【００９７】
（４）また、ナビゲーション用メモリ容量決定部３２が、実行中のアプリケーション処理の種類や数以外のナビゲーション処理として実行される処理内容に基づいてナビゲーション用メモリ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。このようなナビゲーション処理として実行される処理内容としては、例えば、実行中の全てのアプリケーション処理により参照用データベース７０から読み出されている参照用地図データ７１のデータ量等を用いることができる。この場合、ナビゲーション用メモリ容量決定部３２は、読み出されている参照用地図データ７１のデータ量に比例するようにナビゲーション用メモリ容量を決定すると好適である。
【００９８】
（５）上記の実施形態では、地図更新システムとしてのナビゲーション装置１が、処理用メモリ容量決定部３１及びナビゲーション用メモリ容量決定部３２の双方を備え、キャッシュ容量決定部３３が、これらにより決定される処理用メモリ容量及びナビゲーション用メモリ容量の双方に基づいてキャッシュ容量を決定する場合を例として説明した。しかし、本発明の実施形態はこれに限定されるものではない。したがって、例えば、ナビゲーション処理部６０により利用されるメモリが、更新処理に利用されるメモリ５０から独立して設けられている場合等には、地図更新システムが、ナビゲーション用メモリ容量決定部３２を備えず、キャッシュ容量決定部３３が、処理用メモリ容量決定部３１により決定される処理用メモリ容量に基づいてキャッシュ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。この場合、キャッシュ容量決定部３３は、メモリ５０の全体の容量から処理用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、キャッシュ容量として決定すると好適である。
【００９９】
（６）また、例えば、更新処理の対象となる地図データの内容によって更新処理用領域に必要となる処理用メモリ容量に大きな差がない場合等には、地図更新システムが、処理用メモリ容量決定部３１を備えず、キャッシュ容量決定部３３が、ナビゲーション用メモリ容量決定部３２により決定されるナビゲーション用メモリ容量に基づいてキャッシュ容量を決定する構成とすることも、本発明の好適な実施形態の一つである。この場合、キャッシュ容量決定部３３は、メモリ５０の全体の容量からナビゲーション用メモリ容量を差し引いた容量に基づいて定まる余剰メモリ容量を、キャッシュ容量として決定すると好適である。またこの際、固定値としての処理用メモリ容量も差し引いて前記余剰メモリ容量を決定すると更に好適である。
【０１００】
（７）上記の実施形態では、更新処理部４０が更新用地図データ８１及び参照用地図データ７１を区画Ｐの単位で順次更新処理の対象とする場合を例として説明した。しかし、本発明の実施形態はこれに限定されるものではなく、更新処理の対象とする地図データの単位を、区画Ｐ以外の単位とすることも当然に可能である。したがって、例えばレイヤやデータ種別等のような地図データを区分可能な他の単位毎に更新処理の対象とする構成も、本発明の好適な実施形態の一つである。
【０１０１】
（８）上記の実施形態では、キャッシュ格納部２２が、キャッシュ領域５１に新たにデータを格納する際に、先に格納された古いデータから順に削除する構成を例として説明した。しかし、本発明の実施形態はこれに限定されない。したがって、例えば、先に格納されたデータであっても、最近読み出されたことがあれば削除の対象から除外する構成とし、或いは各データについて、最後に読み出された時期が古いものから順に削除する構成とする等も、本発明の好適な実施形態の一つである。
【０１０２】
（９）上記の実施形態では、地図更新システムとしてのナビゲーション装置１が、更新用データにより更新するための更新用地図データ８１が格納されたローカル保存データベース８０と、ナビゲーション処理部６０により参照するための参照用地図データ７１が格納された参照用データベース７０とを備える場合を例として説明した。しかし、本発明の実施形態はこれに限定されるものではない。したがって、例えば、地図更新システムが地図データを格納する地図データベースを一つだけ備え、当該一つの地図データベースに格納された地図データを更新用データにより更新する構成とすることも、本発明の好適な実施形態の一つである。
【０１０３】
（１０）上記の実施形態では、本発明に係る地図更新システムを車載端末装置としてのナビゲーション装置１に適用した場合を例として説明した。しかし、本発明の実施形態はこれに限定されるものではない。したがって、本発明に係る地図更新システムは、車載用以外のナビゲーション装置に適用し、或いは、ナビゲーション装置とは異なる地図データベースの更新システムに適用することも当然に可能である。
【産業上の利用可能性】
【０１０４】
本発明は、地図データが格納された地図データベースを備え、更新用データの提供を受けて前記地図データベースの更新処理を行う地図更新システム、及びそのような地図データベースの更新処理を行うための地図更新プログラムに好適に利用可能である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施形態に係るナビゲーション装置の機能的な構成を模式的に示すブロック図
【図２】更新用地図データの内容を概略的に示す図
【図３】キャッシュ管理部の構成を示す模式図
【図４】メモリの内部の領域設定の具体例を示す図
【図５】メモリの内部の領域設定の具体例を示す図
【図６】地図更新処理の手順を示すフローチャート
【図７】ファイル読み出し処理の手順を示すフローチャート
【図８】キャッシュデータ保証処理の手順を示すフローチャート
【図９】メモリ管理処理の手順を示すフローチャート
【図１０】処理用メモリ容量決定処理の手順を示すフローチャート
【図１１】ナビゲーション用メモリ容量決定処理の手順を示すフローチャート
【符号の説明】
【０１０６】
１：ナビゲーション装置（地図更新システム）
２：地図データベース
３：地図データ
４：更新用データファイル（更新用データ）
２２：キャッシュ格納部（キャッシュ格納手段）
２３：キャッシュ管理部（キャッシュ管理手段）
３１：処理用メモリ容量決定部（処理用メモリ容量決定手段）
３２：ナビゲーション用メモリ容量決定部（ナビゲーション用メモリ容量決定手段）
３３：キャッシュ容量決定部（キャッシュ容量決定手段）
４０：更新処理部（更新処理手段）
５０：メモリ
５１：キャッシュ領域
５２：更新処理用領域
５３：ナビゲーション処理用領域
６０：ナビゲーション処理部（ナビゲーション処理手段）
７０：参照用データベース
７１：参照用地図データ
８０：ローカル保存データベース（更新用データベース）
８１：更新用地図データ
Ｎ：ノード
Ｌ：リンク
Ｐ：区画
【図１】
0004900725.tif 000002
【図２】
0004900725.tif 000003
【図３】
0004900725.tif 000004
【図４】
0004900725.tif 000005
【図５】
0004900725.tif 000006
【図６】
0004900725.tif 000007
【図７】
0004900725.tif 000008
【図８】
0004900725.tif 000009
【図９】
0004900725.tif 000010
【図１０】
0004900725.tif 000011
【図１１】
0004900725.tif 000012