(57)【特許請求の範囲】
【請求項１】
システム情報および地図情報からなるデータが記録されるデータ記録手段と、
該データ記録手段に記録されるデータと当該データよりも新しいデータとの比較により相違するデータが抽出された更新差分データを、ネットワークを介して受信する通信手段と、
前記更新差分データに基づいて前記新しいデータを作成するために利用されるメモリ手段と、
前記データ記録手段に記録されるデータのうち更新対象となるデータを読み出して前記メモリ手段に一時的に記録させ、当該メモリ手段に記録されたデータのうち前記新しいデータと相違するデータを前記更新差分データに基づいて変更することにより前記新しいデータを前記メモリ手段に作成し、作成された当該新しいデータに基づいて前記データ記録手段に記録されるデータを更新させる制御手段と、
経路案内を行っているか否かを判断する経路案内判断手段と
を備え、
前記制御手段は、
前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも大きい場合には、前記経路案内判断手段が経路案内を行っていないと判断した後に、前記更新対象となる前記データのうち前記メモリ手段に記録可能なデータ量のデータだけを前記メモリ手段に一時的に記録させて前記新しいデータを作成して前記データ記録手段の一部のデータを更新し、更新対象となる全てのデータが更新されるまで前記データ記録手段における一部のデータの更新処理を繰り返し実行し、
前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも小さい場合には、前記経路案内判断手段による判断結果に拘わらず、前記更新対象となる前記データを前記メモリ手段に一時的に記録させて前記新しいデータを作成して前記データ記録手段におけるデータの更新処理を実行すること
を特徴とするカーナビゲーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカーナビゲーションシステムに関し、より詳細には、経路案内処理などを中断することなくデータの更新処理を行うことが可能なカーナビゲーションシステムに関する。
【背景技術】
【０００２】
近年では、地図画像をディスプレイ上に表示させ、目的地までの経路案内処理を行うカーナビゲーションシステムが広く普及している。
【０００３】
カーナビゲーションシステムにおいて、経路案内処理の精度を向上させるためには、できるだけ新しい地図情報をカーナビゲーションシステムで保持しておくことが望ましい。また、今日のカーナビゲーションシステムは、単なる経路案内処理だけではなく、ＣＤやＭＤ等に記録される音楽の操作・再生処理を行うための車載用オーディオ装置としての機能や、ＤＶＤやブルーレイディスク（登録商標）などの再生を行うための映像再生装置としての機能を有するものが多い。このため、必要に応じてシステムの更新などを行うことにより、ユーザのニーズに対応するような機能を追加する必要が生じている。
【０００４】
このような地図情報の更新や、システム情報の更新を行うために、最新の地図情報やシステム情報が記録された記録媒体（例えばＣＤ―ＲＯＭやＤＶＤ―ＲＯＭなど）を用いて、カーナビゲーションシステムの地図情報やシステム情報の更新を行う方法が多く用いられている（例えば、特許文献１参照）。
【０００５】
特に、今日では、全ての地図情報やシステム情報を更新するのではなく、一部の地図情報やシステム情報のみを古いデータから新しいデータに更新し、新しいデータと古いデータとでデータ内容が変わっていないデータ（つまり、変更がなされていないデータ）に関しては、全く更新処理を行わない差分更新処理方法が知られている。
【０００６】
この差分更新処理方法では、一般的に、カーナビゲーションシステムのデータ記録部の内容を、複数のファイルデータ（部分的に区分けされた１まとまりのデータ）の集合として判断し、更新対象となるファイルデータのみ変更し、更新対象とならないファイルデータはそのまま利用する方法が用いられている。
【０００７】
しかしながら、更新されたファイルデータであっても、そのファイルデータを構成する全てのデータの更新が行われるのではなく、ファイルデータ内の一部のデータのみが更新対象となることが多い。このため、さらに、ファイルデータ毎に更新箇所を求めて更新差分データを作成してデータの更新を行う場合と、ファイルデータの全体をそのまま用いて更新を行う場合とを必要に応じて使い分ける方法も提案されている（例えば、特許文献２参照）。
【０００８】
特に、更新差分データによってシステム情報などの更新を行う場合には、ファイルデータをそのまま用いて更新を行う場合に比べて更新データのデータ量を小さくすることができる。このため、携帯電話回線などの通信回線を用いてカーナビゲーションシステムがサーバから更新差分データを取得し、システム情報などの更新を行うことにより、常に最新のシステム情報を維持することが容易になる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３―３３７０２７号公報
【特許文献２】特開２００６―２５１７６８号公報（図２〜図４）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、カーナビゲーションシステムにおいてシステム情報の更新処理を行う場合に、単にシステム情報を古い情報から新しい情報に変更するだけでなく、情報の変更後に、カーナビゲーションシステムを再度起動させ直すことによって、新しいシステム情報をカーナビゲーションシステムの動作処理に反映させる必要が生ずる場合がある。
【００１１】
しかしながら、サーバから更新差分データを受信しても、カーナビゲーションシステムによる経路案内処理の最中にシステムの再起動を行うと、カーナビゲーションシステムの経路案内に基づいて運転を行っている運転者が混乱を招いてしまうおそれがある。
【００１２】
本発明は上記の問題に鑑みてなされたものであり、カーナビゲーションシステムにおける情報の更新処理を、経路案内処理の妨げにならずに行うことが可能なカーナビゲーションシステムを提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明に係るカーナビゲーションシステムは、システム情報および地図情報からなるデータが記録されるデータ記録手段と、該データ記録手段に記録されるデータと当該データよりも新しいデータとの比較により相違するデータが抽出された更新差分データを、ネットワークを介して受信する通信手段と、前記更新差分データに基づいて前記新しいデータを作成するために利用されるメモリ手段と、前記データ記録手段に記録されるデータのうち更新対象となるデータを読み出して前記メモリ手段に一時的に記録させ、当該メモリ手段に記録されたデータのうち前記新しいデータと相違するデータを前記更新差分データに基づいて変更することにより前記新しいデータを前記メモリ手段に作成し、作成された当該新しいデータに基づいて前記データ記録手段に記録されるデータを更新させる制御手段とを備え、前記制御手段は、前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも小さい場合には、前記更新対象となる前記データを前記メモリ手段に一時的に記録させて前記新しいデータを作成して前記データ記録手段におけるデータの更新処理を実行することを特徴とする。
【００１４】
本発明に係るカーナビゲーションシステムは、データ記録手段に記録されるデータのうち更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも小さい場合に、更新対象となるデータをメモリ手段に一時的に記録させて新しいデータを作成してデータ記録手段におけるデータの更新処理を実行する。
【００１５】
一般にカーナビゲーションシステムにおいてワークエリアとして利用されるメモリ手段は、地図情報などが記録されるデータ記録手段よりもデータの読み出し・書き込み速度が高速である一方で、記録可能なデータ記録容量が小さいという特徴を備えている。このため、更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも小さい場合には、新しいデータをメモリ手段に作成してデータ記録手段のデータを更新する処理を、一度の処理で完了することができるため、データの更新処理を迅速に行うことができる。
【００１６】
このように、新しいデータの作成処理およびデータの更新処理を、メモリ手段を用いて一度の処理で迅速に行うことができるので、カーナビゲーションシステムにおける経路案内処理の大幅な遅延や停止を伴うことなく、データの更新処理を完了させることが可能となる。
【００１７】
また、上述したカーナビゲーションシステムは、経路案内を行っているか否かを判断する経路案内判断手段をさらに備え、前記制御手段が、前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも大きい場合には、前記経路案内判断手段が経路案内を行っていないと判断した後に、前記更新対象となる前記データのうち前記メモリ手段に記録可能なデータ量のデータだけを前記メモリ手段に一時的に記録させて前記新しいデータを作成して前記データ記録手段の一部のデータを更新し、更新対象となる全てのデータが更新されるまで前記データ記録手段における一部のデータの更新処理を繰り返し実行し、前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも小さい場合には、前記経路案内判断手段による判断結果に拘わらず、前記更新対象となる前記データを前記メモリ手段に一時的に記録させて前記新しいデータを作成して前記データ記録手段におけるデータの更新処理を実行するものであってもよい。
【００１８】
本発明に係るカーナビゲーションシステムは、データ記録手段に記録されるデータのうち更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合に、経路案内判断手段が経路案内を行っていないと判断した後に、更新対象となるデータのうちメモリ手段に記録可能なデータ量のデータだけをメモリ手段に一時的に記録させて新しいデータを作成してデータ記録手段の一部のデータを更新し、更新対象となる全てのデータが更新されるまでデータ記録手段における一部のデータの更新処理を繰り返し実行する。
【００１９】
このように、更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合には、データ記録手段よりデータを読み出してメモリ手段に記録し、相違するデータの書き換えを行って新しいデータを作成し、データ記録手段のデータを更新する処理を複数回行う必要が生じる。複数回のデータの読み出し、書き換え、更新処理を行う場合には、更新処理によって経路案内処理に大幅な遅延を招いたり、経路案内処理を一時的に中断させなくてはいけなくなる事態も生じ得る。
【００２０】
このため、更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合には、経路案内処理が行われていない状態で、データの更新処理を行うことによって、経路案内処理への影響をなくすことが可能となる。
【００２１】
また、本発明に係るカーナビゲーションシステムは、システム情報および地図情報からなるデータが記録されるデータ記録手段と、該データ記録手段に記録されるデータと当該データよりも新しいデータとの比較により相違するデータが抽出された更新差分データを、ネットワークを介して受信する通信手段と、前記更新差分データに基づいて前記新しいデータを作成するために利用されるメモリ手段と、前記データ記録手段に記録されるデータのうち更新対象となるデータを読み出して前記メモリ手段に一時的に記録させ、当該メモリ手段に記録されたデータのうち前記新しいデータと相違するデータを前記更新差分データに基づいて変更することにより前記新しいデータを前記メモリ手段に作成し、作成された当該新しいデータに基づいて前記データ記録手段に記録されるデータを更新させる制御手段と、経路案内を行っているか否かを判断する経路案内判断手段とを備え、前記制御手段は、前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも大きい場合において、前記経路案内判断手段が経路案内を行っていると判断しているときには再起動を行わないようにすることを特徴とする。
【００２２】
さらに、上述したカーナビゲーションシステムにおいて、前記制御手段は、前記データ記録手段に記録されるデータのうち更新対象となるデータのデータ量が前記メモリ手段のデータ記録容量よりも大きい場合において、前記経路案内判断手段が経路案内を行っていないと判断した後に再起動を行うものであってもよい。
【００２３】
データ記録手段におけるデータの更新処理が行われた場合には、システム手段の再起動を行わなければ、更新されたデータを経路案内処理などに反映させることができない場合も存在する。しかしながら、経路案内処理が行われている最中にシステム手段が再起動されると、再起動により経路案内処理が中断されるため、ユーザに混乱を与えてしまうおそれが生じ得る。
【００２４】
このため、本発明に係るカーナビゲーションシステムによれば、経路案内処理が行われていない状態において、システム手段を再起動させることにより、経路案内処理中に再起動が行われてしまうことを防止することができ、経路案内処理中にユーザに混乱を生じさせてしまうことを避けることが可能となる。
【発明の効果】
【００２５】
本発明に係るカーナビゲーションシステムによれば、データ記録手段に記録されるデータのうち更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも小さい場合に、更新対象となるデータをメモリ手段に一時的に記録させて新しいデータを作成してデータ記録手段におけるデータの更新処理を実行することができる。
【００２６】
一般にカーナビゲーションシステムにおいてワークエリアとして利用されるメモリ手段は、地図情報などが記録されるデータ記録手段よりもデータの読み出し・書き込み速度が高速である一方で、記録可能なデータ記録容量が小さいという特徴を備えている。更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも小さい場合には、新しいデータをメモリ手段に作成してデータ記録手段のデータを更新する処理を、一度の処理で完了することができるため、データの更新処理を迅速に行うことができる。
【００２７】
このように、新しいデータの作成処理およびデータの更新処理を、メモリ手段を用いて一度の処理で迅速に行うことができるので、カーナビゲーションシステムにおける経路案内処理の大幅な遅延や停止を伴うことなく、データの更新処理を完了させることが可能となる。
【００２８】
一方で、本発明に係るカーナビゲーションシステムは、データ記録手段に記録されるデータのうち更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合に、経路案内判断手段が経路案内を行っていないと判断した後に、更新対象となるデータのうちメモリ手段に記録可能なデータ量のデータだけをメモリ手段に一時的に記録させて新しいデータを作成してデータ記録手段の一部のデータを更新し、更新対象となる全てのデータが更新されるまでデータ記録手段における一部のデータの更新処理を繰り返し実行することができる。
【００２９】
このように、更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合には、データ記録手段よりデータを読み出してメモリ手段に記録し、相違するデータの書き換えを行って新しいデータを作成し、データ記録手段のデータを更新する処理を複数回行う必要が生じる。複数回のデータの読み出し、書き換え、更新処理を行う場合には、更新処理によって経路案内処理に大幅な遅延を招いたり、経路案内処理を一時的に中断させなくてはいけなくなる事態も生じ得る。このため、更新対象となるデータのデータ量がメモリ手段のデータ記録容量よりも大きい場合には、経路案内処理が行われていない状態で、データの更新処理を行うことによって、経路案内処理への影響をなくすことが可能となる。
【図面の簡単な説明】
【００３０】
【図１】実施の形態に係るカーナビゲーションシステムとサーバとがネットワーク回線を介して接続された状態を示した図である。
【図２】実施の形態に係るカーナビゲーションシステムの概略構成を示したブロック図である。
【図３】実施の形態に係るデータ記録部のデータ記録構造を説明するための図である。
【図４】実施の形態に係るサーバの概略構成を示したブロック図である。
【図５】実施の形態に係るカーナビゲーションシステムとサーバとの間の情報の送受信を示したタイミングチャートである。
【図６】実施の形態に係るカーナビゲーションシステムのＣＰＵにより実行されるデータ更新処理を示したフローチャートである。
【図７】実施の形態に係るサーバのサーバ用ＣＰＵにより実行されるデータ更新処理を示したフローチャートである。
【図８】実施の形態に係るサーバのサーバ用ＣＰＵにおいて、更新差分データなどを作成する手順を説明するための図である。
【発明を実施するための形態】
【００３１】
以下、本発明に係るカーナビゲーションシステムの一例を、図面を用いて詳細に説明する。
【００３２】
図１は、本実施の形態に係るカーナビゲーションシステム１と、サーバ２０とを示した図である。図１に示すように、カーナビゲーションシステム１とサーバ２０とは、ネットワーク回線３０を介して接続されている。具体的に、カーナビゲーションシステム１は、車両２に搭載されると共に、後述するように携帯電話回線を介してネットワーク回線３０に接続することが可能となっている。一方で、サーバ２０もネットワーク回線３０に接続されており、カーナビゲーションシステム１とサーバ２０とは、ネットワーク回線３０を介して、データの送受信を行うことが可能となっている。
【００３３】
なお、ネットワーク回線３０は、インターネットのように広く第三者に公開されているネットワークであってもよく、ＬＡＮ等のように、ネットワークのアクセスに一定の制限が課されるネットワークであってもよい。さらに、カーナビゲーションシステム１におけるネットワーク回線３０への接続は、必ずしも携帯電話回線だけには限定されず、Ｗｉ−Ｆｉ(Wireless Fidelity)やＷｉＭＡＸ(Worldwide Interoperability for Microwave Access)などの通信回線を利用するものであってもよい。
【００３４】
さらに、図１には、カーナビゲーションシステム１とサーバ２０とが１つずつしか示されていないが、カーナビゲーションシステム１やサーバ２０は必ずしも１つずつには限定されない。一般的に、カーナビゲーションシステム１は、ネットワーク回線３０を介して多数存在し、各ユーザが各々のカーナビゲーションシステム１を利用することによって、サーバ２０にアクセスすることが可能となっている。また、サーバ２０は、ネットワーク回線３０に対して１台だけ接続されているものであってよく、また、多数接続されているものであってもよい。
【００３５】
［カーナビゲーションシステム１について］
図２は、カーナビゲーションシステム１の概略構成を示したブロック図である。カーナビゲーションシステム１は、ディスプレイ部５と、タッチパネル部６と、本体部１０と、キーシリンダ部（アクセサリ電源検出手段）１６とを有している。ディスプレイ部５には、経路案内時にユーザに対して走行中の周囲の地図情報などを表示する役割を有している。一般的に、ディスプレイ部５には、液晶ディスプレイが用いられる。また、必要に応じてディスプレイ部５には、経路案内時に音声情報を出力させるためのスピーカ（図示省略）などが設けられている。なお、このスピーカは、ディスプレイ部５に直接設けられるものには限定されず、車両に設置される音楽用スピーカを利用するものであってもよい。
【００３６】
タッチパネル部６は、ディスプレイ部５に表示されるメニューアイコンなどのタッチ操作を検出する役割を有している。ユーザのタッチ位置の情報が後述するＣＰＵ（制御手段、システム手段）１５に伝達され、タッチ位置の情報と、ディスプレイ部５に表示されるメニューアイコンの表示位置との関係に基づいて、ＣＰＵ１５がユーザの操作内容を判断することが可能となっている。なお、本実施の形態においては、タッチパネル部６によりユーザの入力操作の検出を行う構成を説明するが、タッチパネル部６以外の操作手段として、例えば、キーボード、ジョイスティックおよび操作リモコンなどを用いることにより、ユーザの入力操作検出を行う構成であってもよい。
【００３７】
本体部１０は、通信部（通信手段）１１と、データ記録部（データ記録手段）１２と、ＳＤＲＡＭ（メモリ手段）１３と、ＳＤカード読み書き部１４、ＣＰＵ１５とを有している。通信部１１は、ネットワーク回線３０との接続を行う役割を有している。通信部１１として、具体的には携帯電話回線（例えば、ＣＤＭＡ（Code Division Multiple Access：２Ｇ）方式、Ｗ−ＣＤＭＡ（Wideband Code Division Multiple Access：３Ｇ）方式、ＨＳＤＰＡ（High-Speed Downlink Packet Access）方式など）を用いるネットワークインターフェース機器などが該当する。通信部１１はＣＰＵ１５の指示（制御命令）に応じて、次述するカーナビゲーションシステム１の情報をサーバ２０に出力し、また、サーバ２０が出力したデータの取得処理を行う。
【００３８】
データ記録部１２には、カーナビゲーションシステム１におけるシステム情報および地図情報が記録されている。データ記録部１２には、ハードディスク、ＳＳＤ（Solid State Drive）、ＦＬＡＳＨメモリ、ＳＤカードなどの一般的な補助記録装置を用いることが可能となっている。本実施の形態に係るカーナビゲーションシステム１では、データ記録部１２として、ＦＬＡＳＨメモリが用いられる場合について説明する。
【００３９】
データ記録部１２には、一般的な補助記録装置と同じように、記録されたデータの記録位置を示すためのアドレスが割り当てられており、このアドレスを参照することによってデータの内容を判断することが可能となっている。特に、本実施の形態に係るデータ記録部１２では、予め規定された容量のアドレス範囲毎に、予め記録対象となるファイルデータの種類（データ構造）が決められている。
【００４０】
例えば、図３（ａ）に示すように、予めファイルデータＡ１（データＡ１）の記録には、アドレス１０００〜２０００のアドレス範囲が確保（規定）されており、ファイルデータＢ（データＢ）の記録には、アドレス００００〜１０００のアドレス範囲が確保（規定）されており、ファイルデータＣ（データＣ）の記録には、アドレス２０００〜３０００のアドレス範囲が確保（規定）されている。このため、図３（ａ）のファイルデータＡ１（データＡ１）の場合のように、確保されたデータ容量（アドレス１０００〜２０００の範囲に該当するデータ容量）よりも、記録されるファイルデータＡ１のデータ量の方が小さい場合には、ファイルデータＡ１の最後のアドレスから確保されたアドレス範囲の最後のアドレスまで（ファイルデータＡ１においては、アドレス２０００まで）のデータ領域に空データ（例えば、Ｎｕｌｌデータ）が記録されるデータ構造となっている。
【００４１】
このため、図３（ｂ）に示すように、ファイルデータＡ１が更新されてファイルデータＡ２（データＡ２）となり、ファイルデータＡ２のデータ量が増えた場合であっても、予め空データ領域を考慮してファイルデータＡ２のアドレス範囲が確保されているため、開始アドレス１０００から終了アドレス２０００までの範囲（アドレス範囲）を変更することなく、ファイルデータＡ１よりもデータ量が増大したファイルデータＡ２にデータを更新することが可能となる。従って、更新されたファイルデータＡ２以外のファイルデータＢ、ファイルデータＣは、開始アドレスおよび終了アドレスを変更する必要がなく、データ記録部１２に記録されていたファイルデータが他のファイルデータの更新に伴って、後のアドレスへとアドレス範囲がずれ込んで変わってしまうことを防止することができる。
【００４２】
データ記録部１２には、システム情報、地図情報などのほかに、カーナビゲーションシステム１のＩＤ情報（カーナビゲーションシステム１をそれぞれの機器毎に特定するため情報であって、カーナビゲーションシステム１の製造番号情報や識別番号情報などが該当する）、および、データ記録部１２に記録される地図情報やシステム情報のバージョン情報（このバージョン情報によって、データ記録部１２に記録される地図情報やシステム情報の更新回数、具体的なデータ内容などを、サーバ２０で特定することが可能となる。）が記録されている。
【００４３】
また、データ記録部１２に記録されるシステム情報には、ＣＰＵ１５がカーナビゲーションシステム１における様々な機能を実現するためのプログラムなどが含まれる。プログラムとして、例えば、ＣＰＵ１５が、経路案内を行うためのプログラムや、データ記録部１２に記録される情報を更新するためのデータ更新処理用のプログラム（例えば、図６においてフローチャートで示されたプログラム）などが該当する。ＣＰＵ１５は、データ記録部１２に記録されるプログラムに基づいて、カーナビゲーションシステム１における様々な処理を実行する。
【００４４】
ＳＤＲＡＭ１３は、更新差分データを用いてデータの更新処理を行う際に利用されるワークエリアである。ＳＤＲＡＭ１３のデータ容量は、データ記録部１２よりも小容量となっている。本実施の形態に係るデータ記録部１２では、ＦＬＡＳＨメモリが用いられているため、更新対象となるＦＬＡＳＨメモリのデータ領域のデータを一時的にＳＤＲＡＭ１３に記録し、ＳＤＲＡＭ１３に記録されたデータを更新差分データに基づいて新たなデータ（更新データ）に変更する。その後、ＣＰＵ１５が、ＦＬＡＳＨメモリの該当データ領域を消去した後に、ＳＤＲＡＭ１３に記録された新たなデータをＦＬＡＳＨメモリに書き込むことによって、データ記録部１２のデータ更新が行われることになる。
【００４５】
ここで、更新差分データとは、データ記録部１２に現在記録されているバーションのデータと、最新のバージョンのデータとを比較して相違するデータの情報が抽出されてまとめられたデータである。ＣＰＵ１５は、データ記録部１２に記録されるデータを更新する場合に、データ記録部１２に記録されている古いバージョンのデータの更新対象部分だけを、更新差分データを用いて更新することによって、新しいバージョンのデータを作成する。
【００４６】
例えば、新しいバージョンのデータと古いバージョンのデータとの相違が少ない場合には、更新差分データのデータ量を小さくすることが可能となる。また、更新差分データのデータ量が小さい場合であっても、新しいバージョンのデータが古いバージョンの先頭に数バイトのデータを追加したものである場合には、実質的に相違するデータは先頭の数バイトだけであるが、アドレスがシフトされる全てのデータに対して更新が必要となるため、新しいバージョンのデータのデータ量が大きくなってしまう。
【００４７】
新しいバージョンのデータ量が小さい場合であって、ＳＤＲＡＭ１３のデータ記録容量以下である場合、ＣＰＵ１５は、新しいバージョンのデータをＳＤＲＡＭ１３に展開した後に、データの更新処理を実行することができる。一方で、所定アドレス以降のデータをシフトして記録しなければいけない場合のように、新しいバージョンのデータが大容量となってしまう場合には、ＳＤＲＡＭ１３に更新データ全体を展開することができない。このため、ＣＰＵ１５は、更新差分データに基づいて新しいバーションのデータを部分的にＳＤＲＡＭ１３に展開した後に、展開された新しいバーションのデータの一部をデータ記録部１２の所定領域に記録し、以後、新しいバーションの全てのデータが、更新差分データに基づいて展開されてデータ記録部１２の所定領域に記録されるまで、処理を繰り返し行う。
【００４８】
このようにして、データ記録部１２に、ＳＤＲＡＭ１３の記録容量を超える大きさの新しいバージョンのデータが全て記録された場合、ＣＰＵ１５では、後述するＡＣＣ（アクセサリー電源）がオフ状態（例えば、キーシリンダにおいてキーがオフ（ＬＯＣＫ）位置に設定されてキーシリンダに挿入されているキーを抜くことができる状態となる操作を意味する）となった後に、新しいバージョンへデータの更新処理を行う。その詳細については後述する。
【００４９】
さらに、更新差分データではなく、ファイルデータそのものが更新データとしてサーバから送信される場合も存在する。この場合に、ＣＰＵ１５は、データ記録部１２の所定領域に、受信したファイルデータそのものを記録する。このようにして、ファイルデータがそのままデータ記録部１２に記録された場合にも、ＣＰＵ１５では、後述するＡＣＣがオフ状態となった後に、新しいバージョンへデータの更新処理を行う。その詳細についても後述する。
【００５０】
ＳＤカード読み書き部１４は、ＳＤカードに記録されるデータの読み取りおよび書き込みを行う役割を有している。具体的に、ＳＤカード読み書き部１４は、データ記録部１２のシステム情報または地図情報をファイルデータ毎に更新する場合、あるいはデータ記録部１２の全データを更新する場合に、更新データの記録されたＳＤカードから必要とされる更新データを読み出す処理を行う。ＳＤカード読み書き部１４では、ＣＰＵ１５の指示（制御命令）に基づいて、ＳＤカードにアクセスして必要な更新データを読み出し、ＣＰＵ１５では、ＳＤカード読み書き部１４によって読み出された更新データに基づいて、データ記録部１２のデータの更新処理を行う。
【００５１】
なお、ＳＤカード読み書き部１４は、ＳＤカードの情報を読み出すだけでなく、必要に応じて情報を書き込むことも可能となっている。さらに、ＳＤカード読み書き部１４の利用は、ＳＤカードからシステム情報または地図情報を読み出してデータ記録部１２を更新する場合だけには限定されない。例えば、ＳＤカードに記録される音楽データを読み取って、車載スピーカから出力させたり、あるいは、ＳＤカードに記録される映像や画像を読み出してディスプレイ部５に表示させることにも利用可能である。
【００５２】
ＣＰＵ１５は、データ記録部１２に記録されるプログラムに従って、経路案内処理を行ったり、データ記録部１２のデータを更新する処理を行ったりする役割を有している。ＣＰＵ１５が経路案内処理を行う場合には、図示を省略したＧＰＳアンテナを介して車両２の現在位置を取得し、さらに図示を省略したジャイロや車速パルス検出器を介して、車両２の走行状態（進行方向、移動速度など）を取得する。そしてＣＰＵ１５は、車両２の現在位置および走行状態に基づいて地図情報をディスプレイ部５に表示させて、必要に応じて音声情報により走行経路や交差点名などの案内を行う。ＣＰＵ１５が、データ記録部１２のデータを更新する処理については後述する。
【００５３】
なお、ＣＰＵ１５の処理内容を示したプログラムは、必ずしもデータ記録部１２に記録されるものには限定されない。例えば、データ記録部１２とは別にプログラムを記録したＲＯＭなどを用意し、このＲＯＭに記録されるプログラムをカーナビゲーションシステム１の起動時にＣＰＵ１５が読み込んで実行することにより、システムの起動処理を行うものであってもよい。また、ＣＰＵ１５には、図示を省略したＲＡＭなどを備えており、ＲＡＭをプログラム処理におけるワークエリアとして利用する。
【００５４】
さらに、カーナビゲーションシステム１には、図示を省略した車両用のバッテリより電力が供給されている。この電力供給は、ＡＣＣのオン／オフ状態に左右されることなく常に供給されるものであるため、ＡＣＣがオフの状態であっても、上述したデータ記録部１２のデータを更新する処理を行ったり、システムの再起動を行うことが可能となっている。また、カーナビゲーションシステム１は、図２に示すように、キーシリンダ部１６を備えている。キーシリンダ部１６は、キーの回動位置（あるいは、車両の動作状態）に基づいて、車両２がＡＣＣのオフ状態であるか否かを検出する役割を有している。キーシリンダ部１６により検出されたＡＣＣのオン／オフ情報は、ＡＣＣ情報としてＣＰＵ１５へ出力される。
【００５５】
［サーバ２０について］
続いて、サーバ２０について説明する。図４は、サーバ２０の概略構成を示したブロック図である。サーバ２０は、通信部２１と、更新情報記録部２２と、サーバ用ＣＰＵ２３と、ＲＯＭ２４と、ＲＡＭ２５とを備えている。
【００５６】
通信部２１は、ネットワーク回線３０との接続を行う役割を有している。具体的には、有線通信あるいは無線通信を用いてネットワーク回線３０に接続し、サーバ用ＣＰＵ２３の指示（制御命令）に応じて、カーナビゲーションシステム１のＩＤ情報およびバージョン情報を取得し、また、更新差分データをカーナビゲーションシステム１へ出力する。通信部２１として、例えば、一般的なＮＩＣ（ネットワーク・インターフェース・カード）などが該当する。
【００５７】
更新情報記録部２２は、ハードディスク、ＳＳＤなどの一般的な補助記録装置により構成されている。更新情報記録部２２には、カーナビゲーションシステム１のハード構成と、様々なバージョンの更新データ（部分的な更新データではなく全体の更新データ）とが記録されている。例えば、カーナビゲーションシステム１は、ハード構成に応じて実現可能な機能などが異なっており、またハード構成に基づく機能に応じて、データ記録部１２のデータ構造が異なっている。このため、サーバ用ＣＰＵ２３は、通信部２１を介して取得したカーナビゲーションシステム１のＩＤ情報に基づいて、データ記録部１２のデータ構造を判断する。
【００５８】
上述したように、データ記録部１２には、予め規定された容量のアドレス範囲毎に、記録されるファイルデータのデータ構造が決められている。このため、サーバ用ＣＰＵ２３は、ＩＤ情報によりハード構成を特定することによって、データ記録部１２に記録されるファイルデータの種類（内容、役割）およびその開始アドレスから終了アドレスまでの範囲（アドレス範囲）を把握することが可能となる。
【００５９】
また、更新情報記録部２２には、データ記録部１２に記録され得る様々なバージョンのデータが記録されている。サーバ用ＣＰＵ２３は、カーナビゲーションシステム１からバージョン情報を取得することによって、ＩＤ情報により特定されるハード構成に関して、該当するバージョン情報のデータ内容と、最新の更新データのデータ内容とを判断することが可能になっている。このため、サーバ用ＣＰＵ２３では、取得された異なるバージョンのデータ内容に基づいて、データ記録部１２のデータ更新を行うための更新差分データの作成を行うことが可能になっている。
【００６０】
ＲＯＭ２４は、サーバ用ＣＰＵ２３においてデータ更新処理を行うためのプログラム（例えば、図７においてフローチャートで示されたプログラム）が記録されている。サーバ用ＣＰＵ２３は、ＲＯＭ２４に記録されるプログラムに基づいて、後述する更新差分データの作成を行う。また、ＲＡＭ２５は、サーバ用ＣＰＵ２３における更新差分データの作成処理においてワークエリアとして利用される。
【００６１】
なお、本実施の形態に係るサーバ２０で作成されるデータは、上述した更新差分データと、ファイルデータとの２種類である。
【００６２】
［データ更新処理について］
次に、カーナビゲーションシステム１およびサーバ２０におけるデータ更新処理について説明する。なお、データ更新処理の説明を行うに当たって、カーナビゲーションシステム１のＳＤカード読み書き部１４には、データを読み出し可能な状態で予めＳＤカードがセットされており、このＳＤカードには、最新バージョンのデータが記録されているものとする。
【００６３】
図５は、カーナビゲーションシステム１とサーバ２０との間の情報の送受信を示したタイミングチャートである。また、図６は、カーナビゲーションシステム１におけるデータ更新処理を示したフローチャートを示し、図７は、サーバ２０におけるデータ更新処理を示したフローチャートを示している。
【００６４】
まず、カーナビゲーションシステム１のＣＰＵ１５は、サーバ２０のサーバ用ＣＰＵ２３に対して、ＩＤ情報とバージョン情報とを出力する（ステップＳ．１）。ＣＰＵ１５は、ＩＤ情報とバージョン情報とをサーバ用ＣＰＵ２３に出力することにより、サーバ２０に対して新しい更新データが存在するかどうか（データ記録部１２に記録されるシステム情報および地図情報が最新バージョンの情報であるか否か）の確認を行うことが可能となる。その後、ＣＰＵ１５は、送信した情報に対応する返信情報をサーバ用ＣＰＵ２３から受信したか否かの判断を行い（ステップＳ．２）、返信情報を受信していない場合（ステップＳ．２においてＮｏの場合）には、返信情報を取得するまで、同じ処理を繰り返し実行する。
【００６５】
なお、返信情報とは、サーバ用ＣＰＵ２３が、ＩＤ情報およびバージョン情報に基づいてデータの更新処理を行うか否かの判断を行った結果の情報であって、後述するように、更新を必要とする情報が存在しない旨の情報か、ファイルデータ単位で更新が必要とされる旨の情報か、更新差分データそのものかのいずれかが該当する。
【００６６】
一方で、サーバ用ＣＰＵ２３では、ネットワーク回線３０を介して、いずれかのカーナビゲーションシステム１のＣＰＵ１５から、ＩＤ情報とバージョン情報とを受信したか否かの判断を行い（ステップＳ．３１）、ＩＤ情報とバージョン情報とを受信するまで、同じ処理を繰り返す（ステップＳ．３１においてＮｏの場合にステップＳ．３１の受信判断処理を繰り返し実行する）。
【００６７】
そして、サーバ用ＣＰＵ２３が、ＩＤ情報とバージョン情報とを受信した場合（ステップＳ．３１においてＹｅｓの場合）、ＩＤ情報に基づいて、情報の送信元であるカーナビゲーションシステム１を特定し、データ記録部１２のデータ構造を判断する（ステップＳ．３２）。次いで、サーバ用ＣＰＵ２３は、判断されたデータ記録部１２のデータ構造に対応するシステム情報および地図情報であって、最新のバージョンの情報と受信したバージョン情報に基づく情報とを更新情報記録部２２から読み出して、データの相違点を抽出する（ステップＳ．３３）。
【００６８】
そして、サーバ用ＣＰＵ２３は、双方の情報においてデータの相違点が存在するか否かを判断し（ステップＳ．３４）、相違点が存在しない場合（ステップＳ．３４においてＮｏの場合）には、カーナビゲーションシステム１に対して、最新バージョンの情報がデータ記録部１２に記録されているため、更新を必要とする情報が存在しない旨の情報を、カーナビゲーションシステム１のＣＰＵ１５に対して出力し（ステップＳ．３５）、データ更新処理を終了する。
【００６９】
一方で、データの相違点が存在する場合（ステップＳ．３４においてＹｅｓ場合）、サーバ用ＣＰＵ２３は、まず、更新差分データでなくファイルデータをそのまま利用して更新する必要があるか否かの判断を行う（ステップＳ．３６）。ファイルデータ単位で更新を行う必要がある場合（ステップＳ．３６においてＹｅｓの場合）、サーバ用ＣＰＵ２３は、該当するアドレス情報とそのデータ量の情報とを抽出して、一時的に更新情報記録部２２に記録する（ステップＳ．３７）。
【００７０】
ここで、ファイルデータ単位で更新を必要とする場合とは、例えば、ファイルデータのデータ内容が新しいバージョンのデータと古いバージョンのデータとで大きく異なっており、データの相違点が多い場合が該当する。上述したように、カーナビゲーションシステム１のデータ記録部１２では、予め規定された容量のアドレス範囲毎に、予め記録されるファイルデータのデータ構造が決められている。このため、図３で説明したように、古いバージョンのファイルデータ（例えば、図３（ａ）に示すデータＡ１）と、新しいバージョンのファイルデータ（例えば、図３（ｂ）に示すデータＡ２）との相違が多い場合に、サーバ用ＣＰＵ２３は、該当するアドレスを基準として、古いファイルデータから新しいファイルデータへとファイルデータを丸ごと更新する処理を行う。このように、サーバ用ＣＰＵ２３は、ファイルデータ単位で更新を行う必要があると判断した場合に、該当するアドレス情報とデータ量の情報とを更新情報記録部２２に記録する。
【００７１】
なお、新しいバージョンのデータ量が古いバージョンのデータ量に対して増減した場合であっても、データの相違が少ない場合には、サーバ用ＣＰＵ２３は、ファイルデータそのものを用いて更新処理を行うのではなく、更新差分データに基づいてデータ更新処理を行う。例えば、新しいバージョンのデータが、古いバージョンのデータの先頭に数バイトのデータを追加しただけにすぎない場合には、実質的なデータの相違は先頭の数バイトだけであり、それ以降のデータは追加されたデータの後のアドレスへとデータをシフトすればよい。このため、ファイルデータのデータ量が増減した場合であっても、新しいバージョンのデータと古いバージョンのデータとの相違が僅かである場合には、サーバ用ＣＰＵ２３は、ファイルデータをそのまま用いてデータの更新処理を行うのではなく、更新差分データを用いてデータの更新処理を行う。
【００７２】
ファイルデータ単位で更新を必要としない場合（ステップＳ．３６においてＮｏの場合）、または、ファイルデータ単位で更新を行うためのアドレス情報とデータ量の情報とをデータ記録部１２に記録した場合（ステップＳ．３７）に、サーバ用ＣＰＵ２３は、データの相違点が存在する位置（アドレス）とその相違するデータの連続性などを考慮して、更新差分データを作成する（ステップＳ．３８）。そして、サーバ用ＣＰＵ２３は、作成された更新差分データを、更新情報記録部２２に一時的に記録する。
【００７３】
図８は、更新差分データを作成する手順を説明するための図である。データ記録部１２に記録される古いバージョンのデータをold/rom1.binで示し、新しいバージョンのデータをnew/rom1.binとする。それぞれのデータは、ブロックサイズ毎に分割されている。サーバ用ＣＰＵ２３は、このブロックサイズ毎にデータの相違点の有無を判断し、一部のデータであっても相違点が存在する場合には、該当する単位ブロック毎のアドレスを検出する。図８（ａ）には、アドレス０００１で示される単位ブロックの一部において相違点（old/rom1.binにおける「０２」とnew/rom1.binにおける「ｆｆ」）が存在し、また、アドレス０００２で示される単位ブロックの一部において相違点（old/rom1.binにおける「０ａ」とnew/rom1.binにおける「００」）が存在する場合が示されている。
【００７４】
サーバ用ＣＰＵ２３は、図８（ｂ）に示すように、該当する単位ブロックのアドレス０００１、０００２を抽出し、該当するアドレスの単位ブロック間において、古いバージョンのデータ（old/0001.rom1、old/0002.rom1）と新しいバージョンのデータ（new/0001.rom1、new/0002.rom1）との差分（相違）をとって、図８（ｃ）に示すように、更新差分データ（pat/rom1.pat）を作成する。更新差分データには、相違点が存在したアドレスとそのデータ内容とが記録されることになる。この更新差分データは、パッチファイルとして作成され、相違データがブロックサイズで抽出された更新差分データとそのアドレスとが記録されるため、全体的なデータ量を低減させることが可能となる。
【００７５】
なお、サーバ用ＣＰＵ２３が更新差分データを作成する方法は、上述した方法だけには限定されない。例えば、図８（ｂ）に示すように、アドレス０００１で示される単位ブロックの一部と、アドレス０００２で示される単位ブロックの一部において相違点が存在する場合に、サーバ用ＣＰＵ２３が、該当する単位ブロックのアドレス０００１、０００２のブロックデータを結合して新たなファイルを作成し、さらに、差分のあるブロックに関するアドレス一覧ファイルを作成するものであってもよい。
【００７６】
その後、サーバ用ＣＰＵ２３は、全てのアドレス（ファイルデータを構成し得る全てのアドレス範囲）に対して、上述したステップＳ．３６〜Ｓ．３８の更新確認処理が行われたか否かを判断し（ステップＳ．３９）、全てのアドレスに対してステップＳ．３６〜Ｓ．３８の処理が行われるまで（ステップＳ．３９においてＹｅｓになるまで）、ステップＳ．３６〜Ｓ．３８の処理を繰り返す。
【００７７】
そして、サーバ用ＣＰＵ２３は、全てのアドレスにおいて、データの相違点を抽出して、ステップＳ．３６〜Ｓ．３８の処理が行われたものと判断した場合（ステップＳ．３９においてＹｅｓの場合）に、作成された更新差分データや、ファイルデータ単位で更新が必要とされる旨の情報（アドレス情報とデータ量の情報）を、一時的に記録されていた更新情報記録部２２から読み出して、カーナビゲーションシステム１のＣＰＵ１５に対して出力する（ステップＳ．４０）。
【００７８】
ＣＰＵ１５では、返信情報を受信した場合（ステップＳ．２においてＹｅｓの場合）、返信情報が、更新を必要とする情報が存在しない旨の情報であるか否かの判断を行う（ステップＳ．３）。返信情報が更新を必要とする情報が存在しない旨の情報である場合（ステップＳ．３においてＹｅｓの場合）、ＣＰＵ１５は、データ記録部１２のデータ更新処理を終了する。
【００７９】
一方で、返信情報が、更新を必要とする情報が存在しない旨の情報ではない場合（ステップＳ．３においてＮｏの場合）、ＣＰＵ１５は、返信情報にファイルデータ単位で更新が必要とされる旨の情報（アドレス情報とデータ量の情報）が含まれているか否かの判断を行う（ステップＳ．４）。返信情報にファイルデータ単位で更新が必要とされる旨の情報が含まれている場合（ステップＳ．４においてＹｅｓの場合）、ＣＰＵ１５は、該当する情報から更新を行うアドレス情報とデータ量の情報とを取得して、データ記録部１２の所定領域に記録する（ステップＳ．５）。
【００８０】
なお、本実施の形態に係るカーナビゲーションシステム１では、ファイルデータ単位で更新が必要とされる場合において、サーバ２０のサーバ用ＣＰＵ２３から更新を行うアドレス情報とデータ量の情報が送信される場合について説明を行うが、サーバ用ＣＰＵ２３から、直接ファイルデータそのものを受信する構成とすることも可能である。ファイルデータは一般的にデータ量が大きくなるため、携帯電話回線などを通じて直接データの送受信を行うことは現状では多くない。しかしながら、今後の通信速度の向上および通信コストの低減により、ファイルデータそのものが送信される場合も想定され得る。従って、ファイルデータそのものを受信した場合、ＣＰＵ１５は、受信したファイルデータをデータ記録部１２の所定領域に記録する処理を行う。
【００８１】
このようにして、データ記録部１２の所定領域にアドレス情報とデータ量の情報とが記録された場合、あるいは、上述したように、データ記録部１２の所定領域にファイルデータそのものが記録された場合、ＣＰＵ１５では、ＡＣＣがオフにセットされたか否かの情報（以下、ＡＣＣ情報とする）を取得して、ＡＣＣがオフにセットされたと判断された後に、データの更新処理を行う。
【００８２】
返信情報にファイルデータ単位で更新が必要とされる旨の情報が含まれていない場合（ステップＳ．４においてＮｏの場合）、あるいは、データ記録部１２の所定領域にアドレス情報とデータ量の情報とを記録した場合（ステップＳ．５）に、ＣＰＵ１５は、返信情報に更新差分データが含まれているか否かの判断を行う（ステップＳ．６）。
【００８３】
返信情報に更新差分データが含まれている場合（ステップＳ．６においてＹｅｓの場合）、ＣＰＵ１５は、更新差分データに基づいて求められる新しいバージョンのデータ量が、ＳＤＲＡＭ１３のデータ記録容量よりも小さいか否かの判断を行う（ステップＳ．７）。
【００８４】
具体的にＣＰＵ１５では、次の処理を行うことによって新しいバージョンのデータのデータ量の判断を行う。
（１）ＣＰＵ１５が、更新対象となるデータ記録部１２のアドレス情報を更新差分データから抽出する。
（２）ＣＰＵ１５が、抽出したアドレス情報に基づいてデータ記録部１２より古いバージョンのデータを読み出して、ＳＤＲＡＭ１３に一時的に記録する。
【００８５】
古いバージョンのデータを読み出してＳＤＲＡＭ１３に記録させる際に、更新差分データに基づいて更新対象となる一群のデータを一度にＳＤＲＡＭ１３へと記録させることができない場合、ＣＰＵ１５は、更新差分データに基づいて求められる新しいバージョンのデータ量が、ＳＤＲＡＭ１３のデータ記録容量よりも大きいと判断する。一方で、古いバージョンのデータを読み出してＳＤＲＡＭ１３に記録させる際に、更新差分データに基づいて更新対象となる一群のデータを一度にＳＤＲＡＭ１３へと記録させることができる場合、ＣＰＵ１５は、更新差分データに基づいて求められる新しいバージョンのデータ量が、ＳＤＲＡＭ１３のデータ記録容量よりも小さいと判断する。
【００８６】
更新差分データに基づいて求められる新しいバージョンのデータ量が、ＳＤＲＡＭ１３のデータ記録容量よりも小さいと判断した場合（ステップＳ．７においてＹｅｓの場合）、ＣＰＵ１５は、（３）ＳＤＲＡＭ１３に記録されたデータ記録部１２のデータを、更新差分データを用いて更新（変更）することにより、更新後のデータ（新しいバージョンのデータ）をＳＤＲＡＭ１３に作成する。そして、ＣＰＵ１５は、（４）更新対象となるデータ記録部１２のデータを、サーバ用ＣＰＵ２３より取得したアドレス情報に基づいて消去し、（５）ＳＤＲＡＭ１３に記録された更新後のデータを読み出して、消去されたデータ記録部１２の該当するアドレスに書き込みを行うことにより、そのままデータの更新処理を完了させる。
【００８７】
ＳＤＲＡＭ１３は、データ記録部１２やＳＤカードよりもデータの読み書き速度が速い。このため、更新対象となるデータのデータ量がＳＤＲＡＭ１３のデータ記録容量よりも小さい場合には、経路案内処理に遅延などをもたらすことなく迅速にデータの更新処理を行うことが可能である。従って、更新対象となるデータ（新しいバージョンのデータ）のデータ量がＳＤＲＡＭ１３のデータ記録容量よりも小さい場合、ＣＰＵ１５は、そのままデータの更新処理を実行する（ステップＳ．８）
【００８８】
一方で、更新差分データに基づいて求められる新しいバージョンのデータ量が、ＳＤＲＡＭ１３のデータ記録容量よりも大きいと判断した場合（ステップＳ．７においてＮｏの場合）、ＣＰＵ１５は、更新差分データをデータ記録部１２の所定の領域に記録する（ステップＳ．９）。
【００８９】
返信情報に更新差分データが含まれていない場合（ステップＳ．６においてＮｏの場合）、更新差分データを用いてデータの更新処理を行った場合（ステップＳ．８）、あるいは、更新差分データをデータ記録部１２の所定の領域に記録した場合（ステップＳ．９）、ＣＰＵ１５は、サーバ用ＣＰＵ２３より取得した返信情報に基づいて、更新対象となる全ての情報について更新判断処理（ステップＳ．４〜ステップＳ．９の処理）を行ったか否かの判断を行う（ステップＳ．１０）。
【００９０】
全ての情報について更新判断処理が行われていない場合（ステップＳ．１０においてＮｏの場合）、ＣＰＵ１５は、更新判断処理（ステップＳ．４〜ステップＳ．９）を繰り返し実行する。一方で、全ての情報の更新が完了した場合（ステップＳ．１０においてＹｅｓの場合）、ＣＰＵ１５は、更新が完了した旨の情報を、ネットワーク回線３０を介してサーバ用ＣＰＵ２３に出力する（ステップＳ．１１）。
【００９１】
サーバ用ＣＰＵ２３では、ＣＰＵ１５から更新が完了した旨の情報が受信されたか否かの判断を行い（ステップＳ．４１）、情報が受信されない場合（ステップＳ．４１においてＮｏの場合）には、受信判断処理（ステップＳ．４１）を繰り返し実行する。
【００９２】
なお、通信回線のトラブルなどによってＣＰＵ１５から更新が完了した旨の情報が受信できない場合もあり得るため、完了した旨の情報が受信されたか否かの判断処理においてタイマー設定を行い、ステップＳ．４０による情報の送信後に、一定期間経過しても更新が完了した旨の情報が受信されない場合に、サーバ用ＣＰＵ２３が更新処理を強制的に終了するようにしてもよい。
【００９３】
更新が完了した旨の情報を受信した場合（ステップＳ．４１においてＹｅｓの場合）、サーバ用ＣＰＵ２３は、更新情報記録部２２に記録されるデータ記録部１２のバージョン情報を、最新情報に更新して（ステップＳ．４２）、カーナビゲーションシステム１のデータ記録部１２における更新処理を終了する。
【００９４】
一方で、カーナビゲーションシステム１のＣＰＵ１５では、更新が完了した旨の情報をサーバ用ＣＰＵ２３に出力（ステップＳ．１１）した後に、キーシリンダ部１６よりＡＣＣ情報を取得し、ＡＣＣがオフであるか否かの判断を行う（ステップＳ．１２）。ＡＣＣ情報によりＡＣＣがオフでないと判断される場合（ステップＳ．１２においてＮｏの場合）には、ＡＣＣ情報がオフになるまで、ＡＣＣがオフであるか否かの判断（ステップＳ．１２）を繰り返し行う。
【００９５】
一方で、ＡＣＣがオフであると判断された場合（ステップＳ．１２においてＹｅｓの場合）、ＣＰＵ１５は、返信情報に基づくアドレス情報およびデータ量の情報や、更新差分データが、データ記録部１２の所定領域に記録（ステップＳ．５、ステップＳ．９）されているか否かの判断を行う（ステップＳ．１３）。アドレス情報およびデータ量の情報や、更新差分データが記録されている場合（ステップＳ．１３においてＹｅｓの場合）、ＣＰＵ１５は、これらの情報を読み出して、データ記録部１２のデータの更新処理を実行する（ステップＳ．１４）。
【００９６】
具体的に、ＣＰＵ１５がデータの更新処理を行う場合には、記録されたアドレス情報およびデータ量の情報に基づいて新しいバーションのファイルデータを更新する場合と、更新差分データに基づいて新しいバーションのデータを更新する場合とに分類される。ファイルデータ単位でデータの更新を行う場合、ＣＰＵ１５は、該当するアドレスのデータを、ＳＤカード読み書き部１４を介してＳＤカードから読み出して、データ記録部１２に記録される情報の更新処理を行う。
【００９７】
本実施の形態に係るカーナビゲーションシステム１におけるデータ記録部１２の更新処理は、
（１）ＣＰＵ１５が、ＳＤカードに記録されるファイルデータ単位の情報を、サーバ用ＣＰＵ２３より取得したアドレス情報とデータ量とに基づいて読み出す。このとき、ＣＰＵ１５は、ＳＤＲＡＭ１３のデータ記録容量を考慮して、読み出し対象となるデータのデータ量を決定する。
（２）ＣＰＵ１５が、ＳＤカードより読み出した情報をＳＤＲＡＭ１３に一時的に記録する。
（３）ＣＰＵ１５が、データ記録部１２においてデータの更新対象となるアドレスを、サーバ用ＣＰＵ２３より取得したアドレス情報に基づいて判断し、当該アドレスからＳＤＲＡＭ１３に読み出したデータのデータ量に対応するデータ量だけデータを消去する。
（４）ＣＰＵ１５が、ＳＤＲＡＭ１３に記録された情報を、消去されたデータ記録部１２に記録する。
ＣＰＵ１５は、上述した４つのステップを繰り返し実行して、ファイルデータ単位でのデータの更新を行う。
【００９８】
一方で、更新差分データに基づいてデータの更新処理を行う場合、
（１）ＣＰＵ１５が、更新対象となるデータ記録部１２のアドレス情報を更新差分データから抽出する。
（２）ＣＰＵ１５が、抽出したアドレス情報に基づいて、データ記録部１２より古いバージョンのデータを読み出して、ＳＤＲＡＭ１３に一時的に記録する。このとき、ＣＰＵ１５は、ＳＤＲＡＭ１３のデータ記録容量を考慮して、読み出し対象となるデータのデータ量を決定する。
（３）ＣＰＵ１５が、ＳＤＲＡＭ１３に記録されたデータ記録部１２のデータを、更新差分データを用いて更新することにより、更新後のデータ（新しいバージョンのデータ）をＳＤＲＡＭ１３に作成する。
（４）ＣＰＵ１５は、更新対象となるデータ記録部１２のデータを、サーバ用ＣＰＵ２３より取得したアドレス情報に基づいて、ＳＤＲＡＭ１３のデータ容量に対応させて消去する。
（５）ＣＰＵ１５が、ＳＤＲＡＭ１３に記録された更新後のデータを読み出して、消去されたデータ記録部１２に書き込みを行う。
ＣＰＵ１５は、上述した５つのステップを繰り返し実行することにより、データ記録部１２のデータを、更新差分データに基づいて更新する。
【００９９】
その後、ＣＰＵ１５は、カーナビゲーションシステム１の再起動を行うことによって更新されたデータを反映させてから、カーナビゲーションシステム１を終了させて、（ステップＳ．１５）、データ記録部１２のデータ更新処理を終了する。
【０１００】
以上説明したように、カーナビゲーションシステム１では、サーバ２０より受信した更新差分データにより作成された新しいバーションのデータが、ＳＤＲＡＭ１３を用いて一度に更新可能な場合に、そのままデータの更新処理を行う。このように、ＳＤＲＡＭ１３を用いて一度にデータの更新を行うことが可能な場合には、ＳＤＲＡＭ１３の読み書き速度が、データ記録部１２やＳＤカードよりも高速であることから、経路案内処理に大きな処理遅延を与えることなく、また、経路案内処理を中断することなく、データの更新処理を行うことが可能となる。
【０１０１】
一方で、更新差分データに基づくデータの更新処理であっても、ＳＤＲＡＭ１３を用いて一度に更新を行うことができない場合には、データ記録部１２に対して何度もデータの読み出し・書き込みを行わなくてはいけなくなる。このため、経路案内処理中にデータの更新処理を行うと、経路案内処理を一時的に停止させて更新させなくてはいけなくなってしまうおそれが生じ得る。この点は、ファイルデータを用いてデータ記録部１２のデータ更新を行う場合においても同様である。このため、本実施の形態に係るカーナビゲーションシステム１では、更新差分データを用いてデータの更新処理行うときに更新データのデータ量が大きくなってしまう場合や、ファイルデータを用いてデータの更新を行う場合には、データ更新処理によって経路案内処理などに影響がでないように、ＡＣＣがオフにされた後に、データの更新処理を行う。ＡＣＣがオフにセットされた場合には、車両２のエンジンが停止された状態となるため、データ更新処理を行っても、経路案内処理などに影響が生ずることがなくなる。
【０１０２】
さらに、本実施の形態に係るカーナビゲーションシステム１では、データ更新処理が行われた後に、システムの再起動が必要になる場合もあるため、ＡＣＣがオフになった後であって、データの更新処理が行われた後に、システムの再起動を実行する。このように、ＡＣＣがオフに設定されてエンジンが停止された状態であれば、システムの再起動を行っても経路案内処理などに影響が生ずることがなくなる。さらに、ＡＣＣがオフになっている間に、システムの再起動を実行させておくことによって、次にユーザがＡＣＣをオンにして車両２を動かすときに、更新されたデータが確実にシステムにおいて反映された状態で、カーナビゲーションシステム１を使用することができ、カーナビゲーションシステム１を新しいバージョンのデータに基づいてすぐに使用することが可能となる。
【０１０３】
以上、本発明に係るカーナビゲーションシステムについて説明を行ったが、本発明に係るカーナビゲーションシステムは上述した実施の形態には限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１０４】
例えば、本実施の形態に係るカーナビゲーションシステム１では、更新差分データに基づくデータの更新処理であって、ＳＤＲＡＭ１３を用いて一度に更新を行うことができない場合のデータ更新処理や、ファイルデータによるデータ更新処理において、すぐにデータの更新処理を行わずに、ＡＣＣがオフになった後にデータ更新処理を行う場合について説明した。しかしながら、データ記録部１２におけるデータの読み書き速度が比較的速い場合や、更新データのデータ量が比較的小さい場合には、そのままデータの更新処理を行っても、経路案内処理の中断などが生じない場合がある。このような場合には、ＡＣＣがオフになっていなくてもデータの更新処理を行うような構成とすることが可能である。
【０１０５】
さらに、更新差分データに基づくデータの更新処理であって、ＳＤＲＡＭ１３を用いて一度に更新を行うことができない場合、ＣＰＵ１５は、ＡＣＣがオフになるまで更新処理を待つのではなく、積極的に経路案内処理を停止させて、データ更新処理を行う構成とすることも可能である。
【０１０６】
一方で、本実施の形態に係るカーナビゲーションシステム１では、更新差分データに基づくデータの更新処理を、ＳＤＲＡＭ１３を用いて一度に更新を行うことができる場合には、ＡＣＣがオフであるか否かに拘わらず、データ更新処理を行う構成について説明を行ったが、更新差分データに基づくデータの更新処理を、ＳＤＲＡＭ１３を用いて一度に更新を行うことができる場合であっても、ＡＣＣがオフになった後に、データ更新処理を行う構成とするものであってもよい。
【０１０７】
また、本実施の形態に係るカーナビゲーションシステム１では、データの更新処理が行われた場合に、システムの再起動を行う構成について説明を行ったが、データ更新処理を行った場合であっても、システムの再起動を必要としない場合も存在する。このため、例えば、ＣＰＵ１５が更新されたデータのアドレスなどから、システムの再起動をさせなくても更新されたデータを反映させることができるかどうかを判断し、システムを再起動させる必要がないと判断した場合にシステムの再起動を行うことなくデータの更新処理を終了するものであってもよい。
【符号の説明】
【０１０８】
１     …カーナビゲーションシステム
２     …車両
５     …ディスプレイ部
６     …タッチパネル部
１０   …本体部
１１   …（カーナビゲーションシステム）通信部（通信手段）
１２   …データ記録部（データ記録手段）
１３   …ＳＤＲＡＭ（メモリ手段）
１４   …ＳＤカード読み書き部
１５   …ＣＰＵ（制御手段、システム手段）
１６   …キーシリンダ部（アクセサリ電源検出手段）
２０   …サーバ
２１   …（サーバの）通信部
２２   …更新情報記録部
２３   …サーバ用ＣＰＵ
２４   …ＲＯＭ
２５   …ＲＡＭ
３０   …ネットワーク回線
【図１】
0005855781.tif 000002
【図２】
0005855781.tif 000003
【図３】
0005855781.tif 000004
【図４】
0005855781.tif 000005
【図５】
0005855781.tif 000006
【図６】
0005855781.tif 000007
【図７】
0005855781.tif 000008
【図８】
0005855781.tif 000009