(57)【特許請求の範囲】
【請求項１】
地図データを配信するデータ配信サーバと、前記地図データを受信する端末とを含む地図データ配信システムであって、
前記データ配信サーバは、前記地図データが更新された場合に、更新前の前記地図データと更新後の前記地図データとの差分データが領域ごとに記録される差分データ記録部を備え、
前記端末は、前記データ配信サーバから配信された地図データが格納されるデータベース、前記更新された地図データが前記データベースに反映されるまで格納される更新済みデータ蓄積部、及び、前記更新された地図データが、前記データベースか前記更新済みデータ蓄積部かの何れかに記録されているかを検索する更新済みデータ検索部を備え、
前記データ配信サーバは、前記端末から更新された領域の地図データが要求された場合には、前記更新対象の領域の差分データを前記差分データ記録部から前記端末に送信し、
前記端末は、
前記データ配信サーバから送信された前記更新対象の領域の差分データを、前記データベースから取得された地図データに適用することによって、更新済みデータを生成し、
前記生成された更新済みデータを前記更新済みデータ蓄積部に書き込み、
前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込み、
前記更新済みデータ検索部は、
前記地図データを利用するアプリケーションから地図データの取得要求を受け付けた場合には、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了したか否かを判定し、
前記取得要求された地図データに対応する前記生成された更新済みデータが前記更新済みデータ蓄積部に格納されており、かつ、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了していない場合には、前記更新済みデータ蓄積部から前記取得要求された地図データを取得し、
前記取得要求された地図データに対応するすべての前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了した場合には、前記データベースから前記取得要求された地図データを取得することを特徴とする地図データ配信システム。
【請求項２】
前記差分データ記録部には、前記更新対象の領域の地図データが更新された場合に影響を受ける領域が前記更新対象の領域に対応する更新波及領域として記録され、
前記データ配信サーバは、前記更新対象の領域の差分データ、及び、前記更新対象の領域に対応する更新波及領域の差分データを前記端末に送信することを特徴とする請求項１に記載の地図データ配信システム。
【請求項３】
前記端末は、前記取得要求された地図データの領域に更新対象の領域及び更新対象でない領域が含まれる場合には、前記更新済みデータ蓄積部に格納された更新済みデータと、前記データベースに格納された地図データとを併合して、前記取得要求された地図データを取得することを特徴とする請求項１に記載の地図データ配信システム。
【請求項４】
前記端末は、
前記端末の稼働状況を抽出する監視部を備え、
前記監視部によって抽出された前記端末の稼働状況に基づいて、前記端末の稼働負荷が小さい場合に、前記更新済みデータ蓄積部に格納されたデータを前記データベースに反映することを特徴とする請求項１に記載の地図データ配信システム。
【請求項５】
前記端末は、前記生成された更新済みデータが前記更新済みデータ蓄積部にすべて書き込まれるまでは、前記取得要求に対して、前記データベースに格納された地図データを提供することを特徴とする請求項１に記載の地図データ配信システム。
【請求項６】
前記端末が前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込む処理が、前記更新済みデータに基づいてインデックスを更新する処理を含むことを特徴とする請求項１に記載の地図データ配信システム。
【請求項７】
地図データを配信するデータ配信サーバと、前記地図データを受信する端末を含む地図データ配信システムにおける前記端末に格納された地図データのデータ更新方法であって、
前記データ配信サーバは、前記地図データが更新された場合に、更新前の前記地図データと更新後の前記地図データとの差分データが領域ごとに記録される差分データ記録部を備え、
前記端末は、前記データ配信サーバから配信された地図データが格納されるデータベース、前記更新された地図データが前記データベースに反映されるまで格納される更新済みデータ蓄積部、及び、前記更新された地図データが、前記データベースか前記更新済みデータ蓄積部かの何れかに記録されているかを検索する更新済みデータ検索部を備え、
前記データ配信サーバは、前記端末から更新された領域の地図データが要求された場合には、前記更新対象の領域の差分データを前記差分データ記録部から前記端末に送信し、
前記端末は、
前記データ配信サーバから送信された前記更新対象の領域の差分データを、前記データベースから取得された地図データに適用することによって、更新済みデータを生成し、
前記生成された更新済みデータを前記更新済みデータ蓄積部に書き込み、
前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込み、
前記更新済みデータ検索部は、
前記地図データを利用するアプリケーションから地図データの取得要求を受け付けた場合には、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了したか否かを判定し、
前記取得要求された地図データに対応する前記生成された更新済みデータが前記更新済みデータ蓄積部に格納されており、かつ、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了していない場合には、前記更新済みデータ蓄積部から前記取得要求された地図データを取得し、
前記取得要求された地図データに対応するすべての前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了した場合には、前記データベースから前記取得要求された地図データを取得することを特徴とする地図データ更新方法。
【請求項８】
前記データ配信サーバは、
前記差分データを記録する場合に、前記更新対象の領域の地図データが更新された場合に影響を受ける領域を前記更新対象の領域に対応する更新波及領域として前記差分データ記録部に記録し、
前記更新対象の領域の差分データ、及び、前記更新対象の領域に対応する更新波及領域の差分データを前記端末に送信することを特徴とする請求項７に記載の地図データ更新方法。
【請求項９】
前記端末は、前記取得要求された地図データの領域に更新対象の領域及び更新対象でない領域が含まれる場合には、前記更新済みデータ蓄積部に格納された更新済みデータと、前記データベースに格納された地図データとを併合して、前記取得要求された地図データを取得することを特徴とする請求項７に記載の地図データ更新方法。
【請求項１０】
前記端末は、前記端末の稼働状況を抽出する監視部を備え、
前記地図データ更新方法は、前記端末が、前記監視部によって抽出された前記端末の稼働状況に基づいて、前記端末の稼働負荷が小さい場合に、前記更新済みデータ蓄積部に格納されたデータを前記データベースに反映させることを含むことを特徴とする請求項７に記載の地図データ更新方法。
【請求項１１】
前記端末は、前記生成された更新済みデータが前記更新済みデータ蓄積部にすべて書き込まれるまでは、前記取得要求に対して、前記データベースに格納された地図データを提供することを特徴とする請求項７に記載の地図データ更新方法。
【請求項１２】
前記端末が前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込む処理が、前記更新済みデータに基づいてインデックスを更新する処理を含むことを特徴とする請求項７に記載の地図データ更新方法。
【請求項１３】
データ配信サーバから地図データを受信する端末であって、
前記端末は、
前記データ配信サーバから配信された地図データが格納されるデータベースと、
更新された地図データが前記データベースに反映されるまで格納される更新済みデータ蓄積部と、
前記更新された地図データが、前記データベースか前記更新済みデータ蓄積部かの何れかに記録されているかを検索する更新済みデータ検索部とを有し、
前記データ配信サーバから送信された更新対象の領域の差分データを、前記データベースから取得された地図データに適用することによって、更新済みデータを生成し、
前記生成された更新済みデータを前記更新済みデータ蓄積部に書き込み、
前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込み、
前記更新済みデータ検索部は、
前記地図データの取得要求を受け付けた場合には、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了したか否かを判定し、
前記取得要求された地図データに対応する前記生成された更新済みデータが前記更新済みデータ蓄積部に格納されており、かつ、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了していない場合には、前記更新済みデータ蓄積部から前記取得要求された地図データを取得し、
前記取得要求された地図データに対応するすべての前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了した場合には、前記データベースから前記取得要求された地図データを取得することを特徴とする地図データ受信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動端末に格納された地図データを更新する技術に関する。
【背景技術】
【０００２】
ナビゲーションシステムでは、サーバ側に格納された地図データの一部が更新された場合に、移動端末側で一部地域の変化分のみの地図データが更新されると、適切なナビゲーション機能を実行できない場合がある。例えば、更新対象の地域に新たに道路が建設された場合に、地図データが更新された地域に含まれる道路と、地図データが未更新であって、更新対象の地域と隣接する地域に含まれる道路とが接続されない可能性がある。このような問題を解決するために、変更された道路を辿り、既存の道路に接続するまでの地域まで更新地域を広げることによって道路の接続性を保証する技術が開示されている（特許文献１参照）。
【０００３】
また、全国の地図データに変更情報を反映させると、膨大な処理時間を必要とし、更新処理の実行中は地図データを使用できなくなってしまうという問題がある。そこで、必要になった地域の地図データを必要になった時点で更新し、地図の変更部分のみを更新する技術が開示されている（特許文献２参照）。特許文献２に開示された技術を適用することによって、全国分の地図データの更新が完了しなくても、少なくとも必要な地域分の地図データの更新が完了していることが保証できるため、適切なナビゲーションを実行することが可能となる。
【特許文献１】特開２００４−１７７２４５号公報
【特許文献２】特開２００６−２２０５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術によれば、道路の接続性を維持可能な範囲まで更新地域を拡大することによって、地域を限定した更新であっても道路の接続性を保証することができる。しかし、拡大された更新地域は、必ず同時に更新されなければならないため、更新対象の領域が広範囲にわたってしまい、結果として多くの更新時間を必要とする。更新処理を実行している間は地図データを参照することができないため、地図データを長時間参照できなくなってしまうという問題がある。
【０００５】
また、特許文献２に開示された技術によれば、更新が必要になった時点で地図データを更新するため、更新処理の実行中であっても地図データを参照することができる。しかし、更新単位となる地域ごとにファイルを作成しなければならないため、例えば、日本全国を数ｋｍ単位で分割すると数万ものファイルを管理する必要があり、地図データの参照の際に大きな負荷がかかるという問題がある。
【０００６】
そこで、特許文献２に開示された技術の問題点を解決する方法として、データベース管理システム（以下、「ＤＢＭＳ」）を利用する方法が一般的である。しかし、ＤＢＭＳを用いて地図データ高速に参照するためには、ファイルのどの部分にどの地域のデータが記録されているかを検索する索引情報（インデックス）が必要である。そのため、更新対象の領域が広範囲にわたる場合には、インデックスの更新に多くの時間を必要とし、結果として地図データを長時間参照できなくなってしまう場合がある。
【０００７】
本発明は、前述した問題点に鑑みてなされたものであり、ＤＢＭＳを利用した地図データ配信システムにおいて、インデックスの生成に多くの処理時間を要する場合であっても地図データの利用を可能とすることを目的としている。
【課題を解決するための手段】
【０００８】
本発明の代表的な一形態では、地図データを配信するデータ配信サーバと、前記地図データを受信する端末とを含む地図データ配信システムであって、前記データ配信サーバは、前記地図データが更新された場合に、更新前の前記地図データと更新後の前記地図データとの差分データが領域ごとに記録される差分データ記録部を備え、前記端末は、前記データ配信サーバから配信された地図データが格納されるデータベース、前記更新された地図データが前記データベースに反映されるまで格納される更新済みデータ蓄積部、及び、前記更新された地図データが、前記データベースか前記更新済みデータ蓄積部かの何れかに記録されているかを検索する更新済みデータ検索部を備え、前記データ配信サーバは、前記端末から更新された領域の地図データを要求された場合には、前記更新対象の領域の差分データを前記差分データ記録部から前記端末に送信し、前記端末は、前記データ配信サーバから配信された前記更新対象の領域の差分データを、前記データベースから取得された地図データに適用することによって、更新済みデータを生成し、前記生成された更新済みデータを前記更新済みデータ蓄積部に書き込み、前記更新済みデータ蓄積部に格納された更新済みデータを前記データベースに書き込み、前記更新済みデータ検索部は、前記地図データを利用するアプリケーションから地図データの取得要求を受け付けた場合には、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了したか否かを判定し、前記取得要求された地図データに対応する前記生成された更新済みデータが前記更新済みデータ蓄積部に格納されており、かつ、前記取得要求された地図データに対応するいずれかの前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了していない場合には、前記更新済みデータ蓄積部から前記取得要求された地図データを取得し、前記取得要求された地図データに対応するすべての前記生成された更新済みデータの前記更新済みデータ蓄積部から前記データベースへの書き込みが終了した場合には、前記データベースから前記取得要求された地図データを取得する。
【発明の効果】
【０００９】
本発明の一形態によれば、データベースに格納された地図データが更新中であっても、地図データを利用することができる。
【発明を実施するための最良の形態】
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の地図データ配信システムのシステム構成図である。
【００１１】
本発明の第１の実施の形態の地図データ配信システムは、地図配信サーバ１１及び車載機１２を備える。地図配信サーバ１１及び車載機１２は、ネットワーク１２０を介して接続される。地図配信サーバ１１は、地図データを車載機１２に配信する。車載機１２は、配信された地図データを受信して格納する。格納された地図データを使用して地図情報を表示し、利用者からの指示に基づいて、ナビゲーション機能を実行する。
【００１２】
地図配信サーバ１１は、演算処理装置１１０、入出力装置１１１、記憶装置１１２及び通信装置１１３を含む。
【００１３】
演算処理装置１１０は、ＣＰＵ１０５及びメモリ１０６を含む。ＣＰＵ１０５は、メモリ１０６に記憶されたプログラムを処理し、所定の処理を実行する。メモリ１０６は、ＣＰＵ１０５によって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。メモリ１０６は、揮発性メモリであってもよいし、不揮発性メモリであってもよい。なお、メモリ１０６に記憶されるプログラム及びデータについては、図２にて詳細を説明する。
【００１４】
入出力装置１１１は、入力装置１０１及び出力装置１０２を含む。入力装置１０１は、地図配信サーバ１１の管理に必要な情報などを入力する。例えば、キーボードなどである。出力装置１０２は、地図配信サーバ１１の管理情報などを表示する。例えば、ディスプレイなどである。
【００１５】
記憶装置１１２は、外部記憶装置１０３及び読取装置１０４を含む。外部記憶装置１０３は、地図配信サーバ１１によって配信される地図データを格納する。外部記憶装置１０３は、例えば、磁気ディスク装置、フラッシュメモリなどである。読取装置１０４は、ＤＶＤなどの記憶媒体に格納された情報を読み出す装置である。なお、記憶装置に格納されたデータについては、図２にて詳細を説明する。
【００１６】
通信装置１１３は、ネットワークＩＦ１０７を含む。地図配信サーバ１１は、ネットワークＩＦ１０７を介して、ネットワーク１２０に接続される。
【００１７】
ＣＰＵ１０５、メモリ１０６、入力装置１０１、出力装置１０２、外部記憶装置１０３、読取装置１０４及びネットワークＩＦ１０７は、内部バスを介して、互いに接続されている。
【００１８】
ネットワーク１２０は、無線基地局１２１を含み、無線通信装置１２２を備えた車載機１２によって接続される。
【００１９】
車載機１２は、演算処理装置１３１、通信装置１３２、現在位置計測装置１３３、記憶装置１３４及び入出力装置１３５を含む。
【００２０】
演算処理装置１３１は、ＣＰＵ１４１及びメモリ１４２を含む。ＣＰＵ１４１は、メモリ１４２に記憶されたプログラムを処理し、所定の処理を実行する。メモリ１４２は、ＣＰＵ１４１によって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。メモリ１４２は、揮発性メモリであってもよいし、不揮発性メモリであってもよい。なお、メモリ１４２に記憶されるプログラム及びデータについては、図２にて詳細を説明する。
【００２１】
通信装置１３２は、ネットワークＩＦ１４３及び無線通信装置１２２を含む。ネットワークＩＦ１４３は、無線通信装置１２２を介して、ネットワーク１２０に接続される。
【００２２】
現在位置計測装置１３３は、車載機１２の現在位置を計測する装置である。具体的には、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）などによって、車載機１２の現在位置が計測される。
【００２３】
記憶装置１３４は、外部記憶装置１４６及び読取装置１４７を含む。外部記憶装置１４６は、地図データを格納する。外部記憶装置１４６は、例えば、磁気ディスク装置などである。読取装置１４７は、ＤＶＤなどの記憶媒体に格納された情報を読み出す装置である。なお、記憶装置に格納されたデータについては、図２にて詳細を説明する。
【００２４】
入出力装置１３５は、入力装置１４４及び出力装置１４５を含む。入力装置１４４は、ナビゲーションシステムの起動など、車載機１２を操作し、また、必要な情報を入力する。入力装置１４４は、例えば、タッチパネルなどである。出力装置１４５は、現在位置又は目的地周辺の地図情報などを表示する。出力装置１０２は、例えば、ＬＣＤディスプレイなどである。また、音声によって情報を出力してもよい。
【００２５】
ＣＰＵ１４１、メモリ１４２、入力装置１４４、出力装置１４５、外部記憶装置１４６、読取装置１４７、ネットワークＩＦ１４３及び現在位置計測装置１３３は、内部バスを介して、互いに接続されている。
【００２６】
図２は、本発明の第１の実施の形態の地図データ配信システムに含まれるプログラム及びデータを説明する図である。
【００２７】
地図配信サーバ１１の演算処理装置１１０は、差分データ生成部２１６及び配信データ選別部２１４を含む。差分データ生成部２１６及び配信データ選別部２１４は、演算処理装置１１０に含まれるメモリ１０６に記憶される。差分データ生成部２１６及び配信データ選別部２１４は、ＣＰＵ１０５によって実行されるプログラムである。
【００２８】
また、地図配信サーバ１１の記憶装置１１２は、差分データ記録部２１５を含む。差分データ記録部２１５は、記憶装置１１２の外部記憶装置１０３に格納される。
【００２９】
差分データ生成部２１６は、ＣＰＵ１０５に処理されることによって、最新の地図データと、更新前の地図データとの差分データを抽出し、差分データ記録部２１５に蓄積する。蓄積されるデータは、例えば、新しい道路の追加、制限速度の変更、又は新規店舗などの変更情報である。また、蓄積された差分データは、ＣＰＵ１０５に配信データ選別部２１４が処理されることによって、車載機１２からの要求に応じて選別及び配信される。なお、差分データ記録部２１５は、初期状態の地図データを含むので、差分データ記録部２１５に格納された情報のみを用いて差分データを生成することができる。
【００３０】
地図配信サーバ１１は、通信装置１１３にサーバ通信部２１３を含む。前述の蓄積された差分データは、サーバ通信部２１３を介し、ネットワークを経由して車載機１２に配信される。
【００３１】
車載機１２は、通信装置１３２に端末通信部２１２を含む。車載機１２は、端末通信部２１２を介して、地図配信サーバ１１から配信された差分データを受信し、外部記憶装置１４６に格納する。
【００３２】
車載機１２の演算処理装置１３１は、更新波及範囲判定部２０３、地図データ検索部２０４、アプリケーション実行部２０５、差分データ取得部２０６、更新済みデータ生成部２０７、アプリケーション監視部２０８、更新済みデータ検索部２０９及び更新済みデータ転送部２１１を含む。更新波及範囲判定部２０３、地図データ検索部２０４、アプリケーション実行部２０５、差分データ取得部２０６、更新済みデータ生成部２０７、アプリケーション監視部２０８、更新済みデータ検索部２０９及び更新済みデータ転送部２１１は、演算処理装置１３１のメモリ１４２に記憶されるプログラムである。
【００３３】
車載機１２の記憶装置１３４は、データベース２０２及び更新済みデータ蓄積部２１０を含む。
【００３４】
データベース２０２は、地図データを格納する。データベース２０２は、記憶装置１３４の外部記憶装置１４６に格納される。
【００３５】
更新済みデータ蓄積部２１０は、データベース２０２に格納された地図データに地図配信サーバ１１から配信された差分データを適用することによって生成された更新済みデータを一時的に格納する。具体的には、生成された更新済みデータがデータベース２０２に格納されるまで、更新済みデータ蓄積部２１０に格納される。更新済みデータ蓄積部２１０は、図示するように外部記憶装置１４６に格納されてもよいが、生成される更新済みデータが小さい場合又は演算処理装置１３１のメモリ１４２の容量が大きい場合には、メモリ１４２に格納されてもよい。
【００３６】
更新波及範囲判定部２０３は、配信された差分データによって更新される範囲である波及範囲を判定する。地図データ検索部２０４は、利用者の指示に基づいて、地図データを検索する。アプリケーション実行部２０５は、利用者の指示に基づいて、要求された地図データを表示したり、経路誘導などのナビゲーション機能を実行したりする。差分データ取得部２０６は、地図配信サーバ１１から差分データを取得する。
【００３７】
また、更新済みデータ生成部２０７、アプリケーション監視部２０８、更新済みデータ検索部２０９、更新済みデータ蓄積部２１０及び更新済みデータ転送部２１１は、更新済みデータ管理部２０１を構成する。更新済みデータ管理部２０１は、地図配信サーバ１１から配信された差分データに基づいて、データベース２０２に格納された地図データを更新する。
【００３８】
更新済みデータ生成部２０７は、データベース２０２に格納された地図データ及び配信された差分データに基づいて、更新済み地図データを生成する。アプリケーション監視部２０８は、アプリケーションの実行状態を監視する。更新済みデータ検索部２０９は、要求された更新済み地図データを検索する。更新済みデータ転送部２１１は、更新済み地図データをデータベース２０２に格納する。
【００３９】
地図データに含まれる道路データは、道路に対応するリンクと、交差点に対応するノードとを含むネットワークのデータ構造によって格納されており、リンク及びノードごとに識別子が付与されている。
【００４０】
また、地図データの領域は、例えば矩形領域に分割され、各領域に対して識別子が付与されている。本発明の第１の実施の形態の地図データ配信システムでは、領域ごとに地図データを更新することができる。以下、分割された領域をエリアとし、各領域の識別子をエリアＩＤとする。なお、エリアは矩形でなくともよく、多角形又は円形などであってもよい。さらに、地図配信サーバ１１からエリアの変更情報を受信することにより、運用開始後であってもエリア形状を変更できる。
【００４１】
本発明の第１の実施の形態では、所定の大きさに地図を分割することによって、各用途に適した単位で地図を更新することができる。例えば、現在地を含むエリアのみの更新、又は、経路を含むエリアのみの更新などを実行することができる。
【００４２】
図３は、本発明の第１の実施の形態の地図データを格納するエリアデータテーブル３００を示す図である。エリアデータテーブル３００は、エリアごとに道路及び交差点のデータを格納する。エリアデータテーブル３００は、データベース２０２に格納されている。また、地図配信サーバ１１に格納されている地図データについても同じテーブル構造を含む。
【００４３】
エリアデータテーブル３００は、エリアＩＤ３０１、リンクデータカラム３０２及びノードデータカラム３０３を含む。エリアＩＤ３０１は、エリアを識別する識別子を格納する。リンクデータカラム３０２は、道路に対応するリンクデータを格納する。ノードデータカラム３０３は、交差点又は道路種別の変化点に対応するノードデータを格納する。
【００４４】
リンクデータカラム３０２に格納された情報は、一つ以上のリンクデータ３０５の情報がバイナリ形式で格納されている。リンクデータ３０５は、リンクＩＤ、道路種別、道路の幅員、形状点数、形状点データ、始点ノードＩＤ、及び終点ノードＩＤなどの情報を含む。一つのカラムに複数のデータをまとめて作成されたバイナリデータを記録することによって、同時にアクセスされる可能性の高いデータを同時に読み出すことができる。
【００４５】
リンクＩＤは、リンクを識別する識別子が格納される。道路種別は、高速道路などの道路の種別が格納される。道路の幅員は、道路の幅が格納される。形状点数、形状点データ、始点ノードＩＤ及び終点ノードＩＤは、リンクの形状及び接続状況を特定する情報が格納される。
【００４６】
また、ノードデータカラム３０３に格納された情報は、リンクデータカラム３０２と同様に、ノードデータ３０４がバイナリ形式で格納されている。ノードデータ３０４は、ノードＩＤ、座標ｘ、座標ｙ、接続リンク数、及び接続先リンクＩＤを含む。
【００４７】
ノードＩＤは、ノードを特定する識別子が格納される。座標ｘ及び座標ｙは、ノードの位置の座標が格納される。接続リンク数及び接続先リンクＩＤは、ノードに接続されているリンクの情報が格納される。
【００４８】
なお、複数の道路（リンク）に共通のノードＩＤが含まれている場合には、当該複数の道路が接続されていることを示す。そして、道路の接続状況に基づいて、現在地から目的地までの経路をダイクストラ法などの公知の経路探索手法によって探索することができる。
【００４９】
車載機１２は、入出力装置１３５を介して利用者から指定されたエリアの地図更新を要求されると、ネットワーク１２０を介して、指定エリアを最新の情報に更新するために必要な差分データを地図配信サーバ１１に要求する。以下、更新対象の地図データに対応するエリアを更新対象エリアとする。車載機１２は、地図配信サーバ１１よって取得された差分データを読み出し、取得された差分データに含まれる道路又は交差点の更新情報に基づいて、データベース２０２に格納された地図データを更新する。
【００５０】
また、エリア単位で地図データを更新した場合に、利用者が指定した範囲外であっても実際に接続されている道路が地図データにおいても接続されていなければ、車載機１２がナビゲーション機能を発揮することができない。また、変更前及び変更後の同じ道路の地図データが二重に登録されていてはならない。さらに、更新対象エリア外まで接続される道路は、少なくとも更新対象エリア以外の道路まで接続されるように地図データが更新されていることが望ましい。
【００５１】
そこで、以上の課題を解決するために、地図配信サーバ１１は、エリア間の道路の接続が切断されないように差分データを配信する。
【００５２】
本発明の第１の実施の形態の地図データ配信システムでは、定期的に地図データが更新され、更新される地図データは以下の二つの条件を満たす。第一の条件としては、現実に変更されていない道路のリンクＩＤ及び交差点のノードＩＤは、各バージョン間で同じであることである。第一の条件によって、道路データの差分を適切に取得することができる。第二の条件としては、すべてのエリアの地図データにおいて、道路が他のエリアに接続されていることである。したがって、一つのエリアの地図データで経路探索を実行すれば、少なくとも一つは経路が存在する。また、定期的に更新される地図データに付与された通し番号をバージョン番号とする。なお、バージョン番号が大きいものほど後に更新された地図データとする。
【００５３】
ここで、地図データをエリアごとに更新する手順について、図４Ａから図４Ｃを参照しながら、概要を説明する。
【００５４】
図４Ａは、本発明の第１の実施の形態のバージョン１の地図データを示す図である。バージョン１の地図データは、更新前の地図データとする。
【００５５】
図４Ｂは、本発明の第１の実施の形態のバージョン２の地図データを示す図である。バージョン２の地図データは、最新の地図データとする。
【００５６】
バージョン１の地図データとバージョン２の地図データを比較すると、バージョン１の地図に含まれるリンク４０１が削除され、リンク４０２及びリンク４０３が追加されている。したがって、差分データは、リンク４０１の削除、リンク４０２の追加及びリンク４０３の追加となる。
【００５７】
ここで、差分データの中から、追加、削除又は変更されているリンク同士が接続されているデータを収集し、地図更新データとする。例えば、第一の地図更新データは、リンク４０３の追加である。また、第二の地図更新データは、リンク４０１の削除及びリンク４０２の追加である。
【００５８】
本発明の第１の実施の形態では、更新対象エリアの地図データを更新する場合には、更新前の地図データに対し、更新対象エリアに含まれる地図更新データを適用すれば、道路の接続性を保証することができる。
【００５９】
ここで、現時点の車載機１２に格納されたデータベースには、バージョン１の地図データが格納されているものとする。また、地図配信サーバ１１には、最新の地図データであるバージョン２の地図データが格納されているものとする。このとき、エリアＩＤ＝４のエリアを更新対象エリアとする場合について説明する。
【００６０】
図４Ｃは、本発明の第１の実施の形態の一部のエリアが更新された後の状態の地図データを示す図である。
【００６１】
第１の地図更新データについては、リンク４０３がエリアＩＤ＝４のエリアに含まれないため、車載機１２に格納された地図データに更新を反映させる必要がない。一方、第２の地図更新データについては、エリアＩＤ＝４のエリアに含まれるリンクが更新されるため、車載機１２に格納されたデータに第２の地図更新データを反映させる。このとき、第２の地図更新データを含むエリアＩＤ＝２及びエリアＩＤ＝３のエリアについても更新される。
【００６２】
このように、車載機１２に格納された地図データが地図更新データに基づいて更新されるため、各バージョンのエリアごとに、適用された地図更新データ及び同時に更新されるエリアが地図配信サーバ１１に保持されている。各エリアのバージョンごとの更新情報の一例を図５に示す。
【００６３】
図５は、本発明の第１の実施の形態のエリア単位地図更新データ管理テーブル５００を示す図である。エリア単位地図更新データ管理テーブル５００は、各エリアのバージョンごとにレコードが作成される。エリア単位地図更新データ管理テーブル５００は、差分データ生成部２１６に含まれてもよいし、差分データ記録部２１５に含まれてもよい。
【００６４】
エリア単位地図更新データ管理テーブル５００は、エリアＩＤ５０１、バージョン５０２、必要地図更新データＩＤリスト５０３、及び更新対象エリアＩＤリスト５０４を含む。エリアＩＤ５０１は、エリアの識別子である。バージョン５０２は、エリアのバージョンを示す通し番号である。
【００６５】
必要地図更新データＩＤリスト５０３は、エリアＩＤ５０１及びバージョン５０２によって識別されるエリアの地図データに適用されていなければならない地図更新データの識別子を格納する。更新対象エリアＩＤリスト５０４は、エリアＩＤ５０１及びバージョン５０２によって識別されるエリアの地図データを更新する場合に、同時に更新されるエリアの識別子を格納する。
【００６６】
車載機１２は、特定のエリアを最新情報に更新する場合には、まず、保持している地図データのバージョン情報と更新対象のエリアＩＤとを地図配信サーバ１１に送信する。地図配信サーバ１１は、更新対象エリアＩＤ及びバージョン情報を受信すると、エリア単位地図更新データ管理テーブル５００を参照し、車載機１２に格納された地図データに適用済みの地図更新データの一覧（適用済み更新データリスト）を作成する。
【００６７】
次に、地図配信サーバ１１は、受信した更新要求対象エリアＩＤに関連づけられた地図更新データのリストを取得する。そして、更新要求対象エリアＩＤに関連づけられた地図更新データのリストから、適用済み更新データリストに含まれる地図更新データを除外することによって、更新要求対象エリアを最新の状態に更新するために必要な地図更新データの一覧を作成することができる。このようにして、車載機１２から指定されたエリアを更新するために必要な地図更新データのみを取得することを可能とし、ダウンロードに必要な時間を削減することができる。
【００６８】
以下、本発明の第１の実施の形態において、車載機１２に格納された地図データを更新する手順について説明する。
【００６９】
図６は、本発明の第１の実施の形態の車載機１２に格納された地図データを更新する手順の概要を示す図である。地図データの更新処理は、車載機１２の入力装置１４４が利用者によって操作された場合などに実行される。
【００７０】
まず、車載機１２のＣＰＵ１４１は、アプリケーション実行部２０５の処理によって、利用者に指定された更新対象エリアの差分データを地図配信サーバ１１に要求する。配信された差分データを受信すると、更新済みデータを生成する更新済みデータ生成処理６１０を実行する。生成された更新済みデータは、更新済みデータ蓄積部２１０に格納される。
【００７１】
車載機１２のＣＰＵ１４１は、すべての更新済みデータの生成が完了すると、生成された更新済みデータをデータベース２０２に反映するための更新済みデータ転送処理６１１を実行する。更新済みデータ転送処理６１１は、すべての更新済みデータが更新済みデータ蓄積部２１０からデータベース２０２に転送及び格納されるまで繰り返し実行される。そして、更新されたデータが大量の場合には、更新済みデータ転送処理６１１が完了するまでには多くの時間を必要とする。
【００７２】
本発明の第１の実施の形態では、更新済みデータ転送処理６１１が実行されている間であっても、更新済みデータ管理部２０１によって、更新済の地図データを利用してナビゲーション機能を実行することができる。
【００７３】
車載機１２のＣＰＵ１４１は、地図データ要求６１５を受け付けると、更新済みデータ管理部２０１による更新済みデータ検索処理６１２によって、更新済みデータ蓄積部２１０に格納された更新済みデータを検索する。要求された地図データが更新済みデータ蓄積部２１０に格納されている場合には、更新済みデータ蓄積部２１０から要求された地図データを取得する。また、要求された地図データの一部又は全部が更新済みデータ蓄積部２１０に格納されていない場合には、データベース２０２から地図データを検索する。そして、データベース２０２、更新済みデータ蓄積部２１０、又は、データベース２０２及び更新済みデータ蓄積部２１０から取得された地図データを結合して地図データとし、道路の接続性などを保証した状態で地図データ返答６１４を送信する。
【００７４】
図７は、本発明の第１の実施の形態の更新済みデータ蓄積部２１０のデータ構造を示す図である。
【００７５】
更新済みデータ蓄積部２１０は、更新済みデータ検索用インデックス７０１及び更新済みデータ７０２を含む。
【００７６】
更新済みデータ検索用インデックス７０１は、更新済みデータ蓄積部２１０に格納された更新済みデータ７０２の索引情報を格納する。更新済みデータ検索用インデックス７０１は、更新済みデータ７０２の識別子と更新済みデータ７０２が格納された領域のアドレスとの対応などを含む、更新済みデータを高速に取得可能な構造となっている。そして、公知の二分木探索又は線形探索などの検索アルゴリズムによって検索することができる。具体的には、更新済みデータ検索用インデックス７０１には、更新済みデータの識別子７０３及び更新済みデータのアドレス７０４が含まれる。更新済みデータの識別子７０３は、例えば、更新対象エリアのエリアＩＤである。
【００７７】
更新済みデータ７０２は、データベース２０２に格納された地図データに対し、地図配信サーバ１１から配信された差分データが適用された地図データである。
【００７８】
更新済みデータは、更新された領域のみを対象とするデータであるため、インデックスの格納に多くの容量を必要としない。したがって、インデックスの作成及び更新データの検索を高速に実行することができる。なお、更新済みデータは、データベース２０２にすべてのデータが反映されると消去される。
【００７９】
図８は、本発明の第１の実施の形態の車載機１２に格納された地図データの更新処理の全体の手順を示すフローチャートである。地図データの更新処理は、車載機１２のＣＰＵ１４１によって、メモリ１４２に記憶された各種プログラムが処理されることによって実行される。
【００８０】
車載機１２のＣＰＵ１４１は、まず、差分データ取得処理８０１を実行する。差分データ取得処理８０１は、差分データ取得部２０６が処理されることによって実行される。
【００８１】
車載機１２のＣＰＵ１４１は、更新済みデータ生成部２０７を処理することによって、更新済みデータ生成処理６１０を実行する。更新済みデータ生成処理６１０は、差分データ取得処理８０１によって取得された差分データと、車載機１２に備えられたデータベース２０２に格納された地図データを用いて更新済みデータを作成する処理である。
【００８２】
車載機１２のＣＰＵ１４１は、更新済みデータ生成処理６１０が完了すると、更新準備完了通知処理８０３を実行する。更新準備完了通知処理８０３は、アプリケーションなどの地図データを使用するモジュールに、更新準備が完了した旨を通知する処理である。
【００８３】
車載機１２のＣＰＵ１４１は、更新準備完了通知処理８０３が実行されると、検索対象の地図データを更新済みデータに切り替える。そして、更新済みデータをデータベースに反映させる更新済みデータ転送処理６１１を他の処理と並行して実行する。
【００８４】
車載機１２のＣＰＵ１４１は、更新済みデータ転送処理６１１が終了すると、地図データを使用するモジュールに、更新完了通知処理８０５更新が完了した旨を通知し、地図更新を完了する。
【００８５】
図９は、本発明の第１の実施の形態の地図データ更新処理の各処理におけるデータの更新状況を示す図である。
【００８６】
本発明の第１の実施の形態では、地図データ更新処理の過程において使用される領域として、一時記憶領域、更新済みデータが格納される更新済みデータ蓄積部２１０、及び、更新された地図データが最終的に格納されるデータベース２０２が使用される。なお、一時記憶領域は、メモリ１４２によって提供される記憶領域以外に、外部記憶装置１４６などによって提供される記憶領域であってもよい。また、一時記憶領域への地図データは、ファイルとして格納されてもよいし、データベースのテーブルとして格納されてもよい。
【００８７】
車載機１２のＣＰＵ１４１は、まず、差分データ取得処理８０１を実行することによって、地図配信サーバ１１から地図更新データを取得する。図９の９０１は、地図配信サーバ１１からネットワーク１２０を介して地図更新データを取得し、一時記憶領域に記憶した状態を示している。以下、差分データ取得処理について、差分データのデータ構造とともに説明する。
【００８８】
図１０は、本発明の第１の実施の形態の差分データのデータ構造の一例を示す図である。
【００８９】
差分データは、更新波及エリアＩＤリスト１００１と各エリアのエリア差分データ１００２を含む。エリア差分データ１００２は、エリアＩＤ及び当該エリアの差分データが格納されたアドレスを含む。このように構成することによって、エリアごとに差分データを抽出することができる。
【００９０】
各エリアのエリア差分データは、エリアＩＤ１００３と当該エリアに対応する差分データ１００４を含む。差分データ１００４には、対象領域に対する地図データの追加、削除及び変更などの情報が含まれる。そして、差分データ１００４に格納された情報に基づいて、地図データを更新することによって、地図データを最新の状態にすることができる。
【００９１】
ここで、地図更新データ１０１３、１０１４及び１０１５の各エリアの差分データを抽出する例を、図１０を参照しながら説明する。
【００９２】
差分データ取得処理では、更新波及エリアＩＤリスト１０１０から波及範囲となるエリアの差分データ格納領域を一時記憶領域に割り当てる。そして、割り当てられた差分データ格納領域に、各エリアの差分データを格納する。
【００９３】
具体的には、車載機１２のＣＰＵ１４１は、まず、地図更新データ１０１３のエリア１差分データ１０１１を格納するために、エリア１の差分データ格納領域１０２０を作成する。そして、地図更新データ１０１３に含まれるエリア１差分データ１０１１をエリア１の差分データ格納領域１０２０に記録する。エリア２など他の更新波及エリアの差分データも同様に記録する。そして、地図更新データ１０１４及び１０１５に対しても更新波及エリアに対して差分データを取得し、エリアごとの差分データを対応する差分データ格納領域に格納する。
【００９４】
車載機１２のＣＰＵ１４１は、差分データ取得処理８０１が終了し、車載機１２の一時記憶領域に更新対象エリアの差分データを格納すると、差分データを反映させた更新済みデータを作成する。図９の９０２は、更新対象のデータをデータベースから取得した時点の一時記憶領域の状態を示している。また、図９の９０３は、データベースから取得された更新対象データに差分データを適用した後の一時記憶領域の状態を示している。以下、更新済みデータ生成処理３１０の手順について、前後の処理とあわせて説明する。
【００９５】
図１１は、本発明の第１の実施の形態の更新済みデータ生成処理６１０の手順を示す図である。
【００９６】
車載機１２のＣＰＵ１４１は、利用者による操作によって、アプリケーション実行部２０５から地図データの更新要求を受け付けると、差分データ取得部２０６の処理を実行する。車載機１２のＣＰＵ１４１は、更新要求に含まれる指定された更新対象の地域などの情報に基づいて、端末通信部２１２を介して地図配信サーバ１１に必要な差分データを要求する。
【００９７】
車載機１２のＣＰＵ１４１は、地図配信サーバ１１から差分データを受信すると、更新済みデータ生成部２０７を実行することによって、データベース２０２に格納されたデータに受信した差分データを反映させることによって、更新済みデータを生成する。そして、生成された更新済みデータは、更新済みデータ蓄積部２１０に格納される。更新が要求された地域のすべての更新済みデータの生成が完了すると、更新済みデータ生成処理３１０を終了する。
【００９８】
また、車載機１２のＣＰＵ１４１は、更新済みデータ生成処理３１０が終了する直前に、常駐しているアプリケーション監視部２０８の処理によって、バッファに格納されたデータを破棄するバッファ破棄信号を動作中のアプリケーションに対して送信する。すべての更新済みデータの生成が完了した場合には、更新前のデータではなく、更新後のデータを使用するためである。
【００９９】
車載機１２のＣＰＵ１４１は、アプリケーション実行部２０５の処理において、バッファ破棄信号を受信すると、実行中のアプリケーションが保持している地図データを破棄する。その後、更新波及範囲判定部２０３の処理を介して必要な地図データを取得する。必要な地図データを取得するためのデータの流れについては、図１４及び図１５にて後述する。
【０１００】
車載機１２のＣＰＵ１４１は、更新済みデータ生成処理６１０が終了すると、更新済みデータ転送部２１１を実行し、更新済みデータ転送処理６１１を開始する。更新済みデータ転送処理６１１は、作成された更新済みデータをデータベースに反映させる。図９の最下段に、更新済みデータを更新済みデータ蓄積部２１０からデータベース２０２に反映させるデータの流れを示している。また、更新済みデータ転送処理６１１の実行中にアプリケーションによって地図データが要求された場合には、更新済みデータ蓄積部２１０に記録されている更新済みデータを応答する。以下、更新済みデータ転送処理６１１の手順について説明する。
【０１０１】
図１２は、本発明の第１の実施の形態の更新済みデータ転送処理６１１のデータフローを示す図である。更新済みデータ転送処理６１１は、車載機１２のＣＰＵ１４１によって更新済みデータ転送部２１１が処理されることによって実行される。
【０１０２】
車載機１２のＣＰＵ１４１は、アプリケーション実行部２０５によって実行されているアプリケーションの処理負荷に基づいて、処理負荷が小さい場合に、データベース２０２に更新済みデータを転送し、データベース２０２に更新済みデータを反映させる。
【０１０３】
更新済みデータ転送処理６１１は、アプリケーションの実行状況に応じて更新済みデータがすべてデータベース２０２に転送されるまで実行される。なお、アプリケーションの実行状況は、アプリケーション監視部２０８によって取得することができる。
【０１０４】
車載機１２のＣＰＵ１４１は、定期的に更新済みデータを転送するなどの公知のタスクスケジューリング方式を利用することによって、アプリケーション及び更新済みデータ転送処理６１１を並行して実行する。
【０１０５】
図１３は、本発明の第１の実施の形態の更新済みデータ転送処理６１１の手順を示す図である。
【０１０６】
車載機１２のＣＰＵ１４１は、まず、更新済みデータ転送処理６１１と並行して実行されているアプリケーションの動作状況を取得するアプリケーション監視処理を実行する（ステップ１３０１）。アプリケーション監視処理では、公知の技術を利用してアプリケーションによる処理負荷が高いか否かを判定する。
【０１０７】
また、車載機１２のＣＰＵ１４１は、アプリケーション監視処理において、地図データの取得要求についても監視し、アプリケーションによって地図データの取得要求が送信されたか否かを判定する（ステップ１３０３）。アプリケーションによって地図データの取得要求が送信された場合には（ステップ１３０３の結果が「ｙ」）、地図データ検索部２０４を処理することによって、アプリケーション要求データ検索処理を実行し（ステップ１３０５）、さらに、要求された地図データが取得されるまで待機する。
【０１０８】
車載機１２のＣＰＵ１４１は、アプリケーション要求データ検索処理において、更新波及範囲に含まれる地図データが要求された場合には、更新済みデータ検索部２０９を実行することによって更新済みデータを取得する。また、更新波及範囲以外の地図データが要求された場合には、データベース２０２から地図データを取得する。アプリケーション要求データ検索処理の詳細については、図１６にて後述する。
【０１０９】
また、車載機１２のＣＰＵ１４１は、アプリケーションによって地図データの取得要求が送信されていない場合には（ステップ１３０３の結果が「ｎ」）、アプリケーションによる処理の負荷を所定の閾値と比較し、負荷が大きいか否かを判定する（ステップ１３０４）。アプリケーションによる負荷が大きい場合には（ステップ１３０４の結果が「ｙ」）、データの更新処理を実行せずにアプリケーション監視処理に戻る（ステップ１３０１）。
【０１１０】
車載機１２のＣＰＵ１４１は、アプリケーションによる処理の負荷が大きくない場合には（ステップ１３０４の結果が「ｎ」）、更新済みデータ蓄積部２１０に格納された更新済みデータを転送し（ステップ１３０６Ａ）、さらに、データベース２０２に反映させる（ステップ１３０６Ｂ）。
【０１１１】
最後に、車載機１２のＣＰＵ１４１は、すべての更新済みデータをデータベース２０２に反映したか否かを判定する（ステップ１３０７）。更新済みデータがデータベース２０２にすべて反映されていない場合には（ステップ１３０７の結果が「ｎ」）、アプリケーション監視処理に戻る。一方、更新済みデータがデータベース２０２にすべて反映された場合には（ステップ１３０７の結果が「ｙ」）、本処理を終了する。
【０１１２】
図１４は、本発明の第１の実施の形態のアプリケーションから地図データを要求する処理のデータの流れを説明する図である。
【０１１３】
車載機１２のＣＰＵ１４１は、アプリケーションから地図データ要求１４００が送信されると、地図データ検索部２０４を実行する。地図データ要求１４００には、要求された地図データの領域の指定などが含まれる。
【０１１４】
車載機１２のＣＰＵ１４１は、地図データ検索部２０４が実行されると、地図データ要求１４００から取得対象の地域のエリアＩＤを抽出する。そして、更新波及範囲判定部２０３を実行し、抽出されたエリアＩＤの地図データが更新対象であるか否かを判定する。
【０１１５】
車載機１２のＣＰＵ１４１は、抽出されたエリアＩＤの地図データが更新対象でない場合には、データベース２０２から地図データを取得する。一方、抽出されたエリアＩＤの地図データが更新対象である場合には、更新済みデータ検索部２０９を実行し、更新済みデータ蓄積部２１０を検索し、要求された地図データを取得する。このとき、更新済みデータがデータベース２０２に格納済みである場合には、データベースからデータを取得してもよい。
【０１１６】
図１５は、本発明の第１の実施の形態の要求された地図データを取得し、アプリケーションに送信する処理のデータの流れを説明する図である。
【０１１７】
車載機１２のＣＰＵ１４１は、更新対象でない地図データが要求された場合には、データベース２０２から非更新対象地図データ１５０１を更新波及範囲判定部２０３の処理に送信する。一方、更新対象の地図データが要求された場合には、更新済みデータ蓄積部２１０から更新済みデータ１５００が送信される。更新済みデータ１５００は、更新済みデータ検索部２０９の処理を経由して更新波及範囲判定部２０３の処理に送信される。
【０１１８】
また、車載機１２のＣＰＵ１４１は、取得された更新済みデータを更新済みデータ転送部２１１の処理に送信してもよい。更新済みデータ転送部２１１の処理に更新済みデータを送信し、データベース２０２に反映させることによって、更新済みデータ蓄積部２１０からの地図データの読み出し回数を削減することができる。
【０１１９】
車載機１２のＣＰＵ１４１は、更新波及範囲判定部２０３の処理において、受信した非更新対象地図データと更新済みデータとを結合し、地図データ検索部２０４の処理に送信する。車載機１２のＣＰＵ１４１は、アプリケーションに結合された地図データ１５０２を送信する。
【０１２０】
図１６は、本発明の第１の実施の形態のアプリケーション要求データ検索処理を説明する図である。
【０１２１】
車載機１２のＣＰＵ１４１は、実行中のアプリケーションから地図データの要求を受け付けると、更新波及範囲判定部２０３を実行することによって、要求された地図データが更新波及範囲に含まれるか否かを判定する。要求された地図データが更新波及範囲に含まれるか否かは、更新済みデータ蓄積部２１０に含まれる更新済みデータのインデックス７０１を参照して判定する。具体的には、更新済みデータ検索用インデックス７０３に更新対象エリアのエリアＩＤに対応する更新済みデータのアドレス７０４が存在すれば、要求された地図データが更新波及範囲に含まれると判定される。なお、図１６では、前述のように、更新済みデータ検索用インデックス７０３はエリアＩＤに対応する。
【０１２２】
また、更新済みデータ転送処理によってデータベース２０２に転送されたデータは、インデックス１６０１のようにインデックスに記録されているアドレス値を“００００”に変更される。このように処理することによって、更新波及範囲判定部２０３の処理において、要求されたエリアの更新済みデータがデータベースに反映されているか否かを判定することができる。
【０１２３】
図１７は、本発明の第１の実施の形態の地図データ更新時の処理を説明する図である。
【０１２４】
車載機１２は、利用者からの地図データの更新指示を受け付けると、更新処理を開始する（１７０１）。更新処理が開始されるまでは、通常のナビゲーション処理が実行されている。
【０１２５】
車載機１２は、地図配信サーバ１１から差分データを受信し、更新済みデータを作成する（１７０５）。このとき、更新済みデータの生成が完了するまでは、データの整合性を保証できないため、更新前のデータを使用してナビゲーション処理が実行される（１７０２）。
【０１２６】
車載機１２は、更新済みデータの生成が完了すると、更新が完了した旨がアプリケーションなどに通知され、更新済みデータ蓄積部２１０に格納された更新済みデータをデータベース２０２に転送し、インデックスの更新処理が開始される（１７０６）。このとき、車載機１２は、更新波及範囲判定部２０３の処理によって、データベースに格納された地図データと、更新済みデータ蓄積部２１０に格納された更新済みデータを使用し、更新後のデータを使用してナビゲーション処理が実行される（１７０３）。
【０１２７】
車載機１２は、インデックス更新の処理が完了し、すべての更新済みデータがデータベースに転送されると、データベースに格納された地図データが更新後のデータとなる。その後、車載機１２は、更新後のデータを使用して通常のナビゲーション処理を実行する（１７０４）。
【０１２８】
以上のように、本発明によれば、地図データ及び当該地図データのインデックスを更新している間であってもナビゲーション機能を停止する必要がない。
【０１２９】
図１８は、本発明の第１の実施の形態の画面遷移と処理手順との対応を説明する図である。
【０１３０】
車載機１２は、利用者からの地図データの更新指示を受け付けると、差分データ取得処理８０１が実行される。このとき、車載機１２の出力装置１４５には、差分データの取得状況が表示される（１８０１）。
【０１３１】
車載機１２は、更新に必要な差分データの取得が完了すると、更新済みデータ生成処理６１０が実行される。このとき、車載機１２の出力装置１４５には、更新データが作成されている旨が表示される（１８０２）。なお、利用者には、更新データを生成するために何らかの処理が実行されている旨が表示されていればよく、差分データのダウンロードが完了したことを利用者が認識できればよい。
【０１３２】
車載機１２は、更新済みデータの生成が完了すると、最新のデータを使用することが可能となる。そこで、アプリケーションで保持されている更新前のデータを破棄し、更新後のデータを取得する更新準備完了通知処理８０３を実行する。このとき、車載機１２の出力装置１４５には、更新後の地図データに切り替られる旨が表示される（１８０３）。本発明の第１の実施の形態では、更新準備完了通知処理８０３において、アプリケーションで保持されている更新前のデータを破棄している間に限り、ナビゲーション機能が停止される。
【０１３３】
車載機１２は、データベース２０２にデータを転送し、インデックスを生成する更新済みデータ転送処理６１１を実行する。このとき、車載機１２の出力装置１４５には、更新済みデータ転送処理６１１が実行されていることを示すために、進捗状況などが表示される（１８０４）。この段階で、最新データを利用してナビゲーション機能が実行されているが、データベース２０２の更新処理などの影響によって、処理性能が低下していることを利用者に通知することができる。
【０１３４】
最後に、車載機１２は、地図データの更新が完了した旨を通知する更新完了通知処理８０５を実行する。このとき、車載機１２の出力装置１４５には、地図データの更新が完了した旨が表示される（１８０５）。
【０１３５】
本発明の第１の実施の形態によれば、データベース２０２のインデックス構築処理が実行されている間であっても、更新済みデータ蓄積部２１０から更新済みデータを取得することによって、更新後の地図データを参照することができる。
【０１３６】
また、本発明の第１の実施の形態によれば、更新前の地図データから更新後の地図データに切り替えるためにバッファをクリアするタイミング以外ではナビゲーション機能を停止させる必要がなく、ナビゲーション機能の停止時間を短縮することができる。
【０１３７】
なお、本発明の第１の実施の形態では、自動車に搭載する車載機に本発明を適用したが、携帯電話又はＰＤＡなどの携帯可能な端末に適用することも可能である。
【０１３８】
（第２の実施の形態）
本発明の第１の実施の形態では、更新済みデータを更新済みデータ蓄積部に格納していたが、本発明の第２の実施の形態では、更新済みデータについてもデータベースに格納する。
【０１３９】
本発明の第２の実施の形態の地図データ配信システムの構成は、第１の実施の形態の地図データ配信システムと同じである。なお、同一の構成及び同一の処理については説明を省略する。
【０１４０】
図１９は、本発明の第２の実施の形態のデータベースに格納されたテーブルの一例を示す図である。図１９には、道路名称テーブル１９０１、更新済み道路名称テーブル１９０２、エリアデータテーブル１９０３及び更新済みエリアデータテーブル１９０４が示されている。
【０１４１】
道路名称テーブル１９０１は、エリアＩＤ、リンクＩＤ及び名称データカラムを含む。名称データカラムには、道路ごとの名称データが格納されている。また、更新済み道路名称テーブル１９０２は、道路名称テーブル１９０１と同じ構造である。
【０１４２】
エリアデータテーブル１９０３は、本発明の第１の実施の形態のエリアデータテーブルと同じ構造である。更新済みエリアデータテーブル１９０４は、エリアデータテーブル１９０３と同じ構造である。
【０１４３】
このように、ＤＢＭＳを利用して更新済みデータを管理することによって、更新前のデータを検索する手段と更新後のデータを検索する手段を共通化することができる。以下、データベースに反映されていない更新後のデータを検索する手順を具体的に説明する。
【０１４４】
図２０は、本発明の第２の実施の形態のアプリケーション要求データ検索処理の手順を示すフローチャートである。
【０１４５】
車載機１２のＣＰＵ１４１は、まず、要求されたデータの種別を判定する（ステップ２００１）。本発明の第２の実施の形態では、判定されるデータの種別は、道路の名称データとエリアデータの２種類である。車載機１２のＣＰＵ１４１は、判定されたデータの種別に基づいて、処理を分岐させる。また、前述した二種類以外に交通規制情報などのデータの種別がある場合には、データの種別ごとに処理を分岐させればよい。
【０１４６】
車載機１２のＣＰＵ１４１は、データの種別が「名称データ」の場合には（ステップ２００１の結果が「名称データ」）、更新済み名称テーブル検索処理を実行する（ステップ２００２）。更新済み名称テーブル検索処理は、更新済み道路名称テーブル１９０２から要求されたデータを検索する処理である。そして、要求されたデータが更新済みデータに含まれているか否かを判定する（ステップ２００４）。
【０１４７】
車載機１２のＣＰＵ１４１は、更新済みデータに要求されたデータが含まれている場合には（ステップ２００４の結果が「ｙ」）、更新済みデータから要求されたデータを抽出する。一方、更新済みデータに要求されたデータが含まれていない場合には（ステップ２００４の結果が「ｎ」）、道路名称テーブル１９０１を検索してデータを抽出する（ステップ２００６）。
【０１４８】
一方、車載機１２のＣＰＵ１４１は、データの種別が「エリアデータ」の場合には（ステップ２００１の結果が「エリアデータ」）、更新済みエリアデータテーブル検索処理を実行する（ステップ２００３）。更新済み名称テーブル検索処理は、更新済みエリアデータテーブル１９０４から要求されたデータを検索する処理である。そして、要求されたデータが更新済みデータに含まれているか否かを判定する（ステップ２００５）。
【０１４９】
車載機１２のＣＰＵ１４１は、更新済みデータに要求されたデータが含まれている場合には（ステップ２００５の結果が「ｙ」）、更新済みデータから要求されたデータを抽出する。一方、更新済みデータに要求されたデータが含まれていない場合には（ステップ２００４の結果が「ｎ」）、エリアデータテーブル１９０３を検索してデータを抽出する（ステップ２００７）。
【０１５０】
このように、要求されたデータを格納するテーブルに対応する更新済みデータを格納するテーブルをデータベースに作成することによって、更新済みデータを取得する手順を共通化することができる。
【０１５１】
本発明の第２の実施の形態によれば、ＤＢＭＳの機能を利用することによって、更新済みデータの管理を容易にすることができる。また、ＤＢＭＳの機能を利用した柔軟な検索が可能となる。
【０１５２】
（第３の実施の形態）
本発明の第１の実施の形態及び第２の実施の形態では、エリアデータテーブルにリンクデータ及びノードデータが圧縮された形式で格納されていたが、第３の実施の形態では、道路データを１リンク又は１ノード当たり１レコードとしてデータを格納する。
【０１５３】
図２１は、本発明の第３の実施の形態のノードデータテーブル２１０１及びリンクデータテーブル２１０２の一例を示す図である。
【０１５４】
ノードデータテーブル２１０１及びリンクデータテーブル２１０２に格納されている情報は、本発明の第１の実施の形態及び第２の実施の形態と同じである。このように、テーブル形式でデータを格納することによって、ＤＢＭＳの検索機能を利用して、要求されたデータを検索することができる。
【０１５５】
図２２は、本発明の第３の実施の形態の更新済みデータを格納するテーブルを示す図である。
【０１５６】
本発明の第３の実施の形態のように、ノードデータ及びリンクデータがテーブルの１レコードとして管理されている場合には、ノードとリンクのそれぞれについて更新済みデータを格納するためのテーブルが必要となる。そこで、本発明の第３の実施の形態では、更新済みノードデータテーブル２２０１及び更新済みリンクデータテーブル２２０２を備える。
【０１５７】
更新済みノードデータテーブル２２０１は、ノードデータテーブル２１０１の構造に「処理種別」のカラムが追加された構造となっている。同様に、更新済みリンクデータテーブル２２０２は、リンクデータテーブル２１０２「処理種別」のカラムが追加された構造となっている。「処理種別」のカラムには、レコードの「削除」又は「追加」などの処理の内容が記録される。
【０１５８】
地図データを格納するノードデータテーブル２１０１などのテーブルに対し、ＤＢＭＳによって提供される検索機能を利用して検索する場合に、更新データを格納する更新済みノードデータテーブル２２０１などのテーブルに対しても同一の手順で検索することができる。例えば、座標（ｘ，ｙ）を指定することによって、当該座標を含む区域を指定し、指定された区域内に含まれているノードを検索する場合、ノードデータテーブル２１０１及び更新済みノードデータテーブル２２０１の両方に対して検索を要求する。そして、ノードデータテーブル２１０１から取得された結果に対し、更新済みノードデータテーブル２２０１から取得された処理種別に基づいて、追加、削除又は更新などの処理を実行し、更新済みデータを取得することができる。
【０１５９】
本発明の第３の実施の形態によれば、ノードデータ及又はリンクデータを構成する各情報に対して、ＤＢＭＳの機能を利用した柔軟な検索が可能となる。
【図面の簡単な説明】
【０１６０】
【図１】本発明の第１の実施の形態の地図データ配信システムのシステム構成図である。
【図２】本発明の第１の実施の形態の地図データ配信システムに含まれるプログラム及びデータを説明する図である。
【図３】本発明の第１の実施の形態の地図データを格納するエリアデータテーブルを示す図である。
【図４Ａ】本発明の第１の実施の形態のバージョン１の地図データを示す図である。
【図４Ｂ】本発明の第１の実施の形態のバージョン２の地図データを示す図である。
【図４Ｃ】本発明の第１の実施の形態の一部のエリアが更新された後の状態の地図データを示す図である。
【図５】本発明の第１の実施の形態のエリア単位地図更新データ管理テーブルを示す図である。
【図６】本発明の第１の実施の形態の車載機に格納された地図データを更新する手順の概要を示す図である。
【図７】本発明の第１の実施の形態の更新済みデータ蓄積部のデータ構造を示す図である。
【図８】本発明の第１の実施の形態の車載機に格納された地図データの更新処理の全体の手順を示すフローチャートである。
【図９】本発明の第１の実施の形態の地図データ更新処理の各処理におけるデータの更新状況を示す図である。
【図１０】本発明の第１の実施の形態の差分データのデータ構造の一例を示す図である。
【図１１】本発明の第１の実施の形態の更新済みデータ生成処理の手順を示す図である。
【図１２】本発明の第１の実施の形態の更新済みデータ転送処理のデータの流れを示す図である。
【図１３】本発明の第１の実施の形態の更新済みデータ転送処理の手順を示す図である。
【図１４】本発明の第１の実施の形態のアプリケーションから地図データを要求する処理のデータの流れを説明する図である。
【図１５】本発明の第１の実施の形態の要求された地図データを取得し、アプリケーションに送信する処理のデータの流れを説明する図である。
【図１６】本発明の第１の実施の形態のアプリケーション要求データ検索処理を説明する図である。
【図１７】本発明の第１の実施の形態の地図データ更新時の処理を説明する図である。
【図１８】本発明の第１の実施の形態の画面遷移と処理手順との対応を説明する図である。
【図１９】本発明の第２の実施の形態のデータベースに格納されたテーブルの一例を示す図である。
【図２０】本発明の第２の実施の形態のアプリケーション要求データ検索処理の手順を示すフローチャートである。
【図２１】本発明の第３の実施の形態のノードデータテーブル及びリンクデータテーブルの一例を示す図である。
【図２２】本発明の第３の実施の形態の更新済みデータを格納するテーブルを示す図である。
【符号の説明】
【０１６１】
１１    地図配信サーバ
１２    車載機
１０１    入力装置
１０２    出力装置
１０３    外部記憶装置
１０４    読取装置
１０５    ＣＰＵ
１０６    メモリ
１０７    ネットワークＩＦ
１１０    演算処理装置
１１１    入出力装置
１１２    記憶装置
１１３    通信装置
１２０    ネットワーク
１２１    無線基地局
１２２    無線通信装置
１３１    演算処理装置
１３２    通信装置
１３３    現在位置計測装置
１３４    記憶装置
１３５    入出力装置
１４１    ＣＰＵ
１４２    メモリ
１４３    ネットワークＩＦ
１４４    入力装置
１４５    出力装置
１４６    外部記憶装置
１４７    読取装置
２０１    更新済みデータ管理部
２０２    データベース
２０３    更新波及範囲判定部
２０４    地図データ検索部
２０５    アプリケーション実行部
２０６    差分データ取得部
２０７    更新済みデータ生成部
２０８    アプリケーション監視部
２０９    更新済みデータ検索部
２１０    更新済みデータ蓄積部
２１１    更新済みデータ転送部
２１２    端末通信部
２１３    サーバ通信部
２１４    配信データ選別部
２１５    差分データ記録部
２１６    差分データ生成部
３００    エリアデータテーブル
５００    エリア単位地図更新データ管理テーブル
１９０１    道路名称テーブル
１９０２    更新済み道路名称テーブル
１９０３    エリアデータテーブル
１９０４    更新済みエリアデータテーブル
２１０１    ノードデータテーブル
２１０２    リンクデータテーブル
２２０１    更新済みノードデータテーブル
２２０２    更新済みリンクデータテーブル
【図２】
0005327497.tif 000002
【図３】
0005327497.tif 000003
【図４Ａ】
0005327497.tif 000004
【図４Ｂ】
0005327497.tif 000005
【図４Ｃ】
0005327497.tif 000006
【図５】
0005327497.tif 000007
【図６】
0005327497.tif 000008
【図７】
0005327497.tif 000009
【図８】
0005327497.tif 000010
【図９】
0005327497.tif 000011
【図１０】
0005327497.tif 000012
【図１１】
0005327497.tif 000013
【図１２】
0005327497.tif 000014
【図１３】
0005327497.tif 000015
【図１４】
0005327497.tif 000016
【図１５】
0005327497.tif 000017
【図１６】
0005327497.tif 000018
【図１７】
0005327497.tif 000019
【図１９】
0005327497.tif 000020
【図２０】
0005327497.tif 000021
【図２１】
0005327497.tif 000022
【図２２】
0005327497.tif 000023
【図１】
0005327497.tif 000024
【図１８】
0005327497.tif 000025