以下、地図情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、地図情報処理装置が動作していない場合に、地図差分更新処理を行う地図情報システムのブロック図である。
本実施の形態において、地図の更新に関する処理を失敗した場合に、地図情報サーバ装置に失敗の旨を通知する地図情報処理装置を含む地図情報システムについて説明する。
本実施の形態において、一のバージョンの地図情報の更新に関する処理の失敗が予め決められた回数になった場合に、ダウンロードが行われない地図情報サーバ装置を含む地図情報システムについて説明する。
本実施の形態において、地図差分更新処理中に、地図情報処理装置が動作する場合に、地図差分更新処理を中断する地図情報処理装置を含む地図情報システムについて説明する。
本実施の形態において、地図差分更新処理を中断した際の状態を覚えておき、次の地図更新作業の際に、中断した状態から更新処理を行う地図情報処理装置を含む地図情報システムについて説明する。
図1は、本実施の形態における地図情報システムの概念図である。地図情報システムは、1または2以上の地図情報処理装置1、および地図情報サーバ装置2を備える。
地図情報処理装置1は、例えば、車両用のナビゲーション装置である。なお、車両とは、自動車、二輪車、自転車等を含み、広く解する。また、地図情報処理装置1は、例えば、ナビゲーションソフトウェア、地図情報サービスを提供するソフトウェア等がインストールされている、いわゆるスマートフォンやタブレット端末やノートパソコン等である。なお、地図情報処理装置1の種類は問わず、広く解する。
地図情報サーバ装置2は、いわゆるサーバ装置であり、いわゆるクラウドサーバ等でも良い。地図情報サーバ装置2の種類は問わず、広く解する。
図2は、本実施の形態における地図情報システムのブロック図である。
地図情報処理装置1は、格納部10、受付部11、受信部12、処理部13、出力部14、および送信部15を備える。
処理部13は、蓄積部131、判断部132、中断部133、経路探索部134を備える。
地図情報サーバ装置2は、サーバ格納部21、サーバ受付部22、サーバ送信部23、サーバ受信部24、およびサーバ処理部25を備える。サーバ処理部25は、回数記憶部251を備える。
格納部10は、2以上の地図部品を有する地図情報を格納し得る。地図部品とは、一部の領域の地図の情報であり、全体の地図の情報の一部を構成する部品である。地図部品や地図情報のデータ構造やその内容等は問わない。
地図情報が示す地図の種類や、地図情報のデータ形式などは、問わない。当該地図の種類は、例えば、地形図や、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、当該データ形式は、例えば、ラスタデータや、ベクタデータ、KIWIフォーマットなどである。
また、地図情報は、通常、道路を示す1以上の道路情報を有する。道路情報は、例えば、道路の名称や、道路の種類、道路の両端の位置などを示す情報を有する。また、道路情報は、例えば、道路のスコアや、道路を識別する情報などを有する。当該スコアは、通常、経路探索時に用いるコストである。また、道路情報には、道路情報を識別する情報が対応付いていてもよい。
また、地図情報は、例えば、1以上の地点情報を有していてもよい。地点情報とは、地図上の地点を示す情報である。なお、地点の種類は、問わない。当該地点は、例えば、交差点や、休憩地点、観光名所、駅などである。
格納部10は、バージョン識別子に対応付けて、地図情報を格納していることは好適である。格納部10は、バージョン識別子に対応付けて、1以上の差分地図のみを格納していても良い。なお、バージョン識別子は、地図情報のバージョンを識別する情報である。差分地図は、基準となる地図情報と異なる地図部品である。また、基準となる地図情報とは、例えば、直前のバージョンの地図情報、オリジナルの地図情報等である。オリジナルの地図情報とは、最初のバージョン(バージョン1)の地図情報である。オリジナル地図情報とは、通常、元々、地図情報処理装置1に格納されている地図情報である。オリジナル地図情報は、2以上の地図部品を有する。オリジナル地図情報は、例えば、地図情報処理装置1の出荷時に格納されている地図情報である。
格納部10は、2以上のバージョンの地図情報を格納していても良い。各バージョンの地図情報は、領域全体をカバーする地図部品を有しても良いし、直前のバージョンまたは最初のバージョン(バージョン1)の地図情報との差分の地図部品のみを有しても良い。つまり、各バージョンの地図情報の持ち方は問わない。
格納部10は、バージョンによってフォルダを分けて、各バージョンの地図情報を格納していても良い。かかる場合、例えば、フォルダ名がバージョン識別子である。バージョン識別子は、バージョンを識別する情報である。
なお、地図情報は、当該地図情報のバージョン識別子が取得できるように管理されていれば良い。
また、各バージョンの地図情報は、領域全体をカバーする2以上の地図部品を有していることは好適である。かかる場合、通常、バージョン間で、少なくとも一部に同じ地図部品を有することとなる。
格納部10は、オリジナル地図情報を格納し得る。
格納部10は、オリジナル地図情報と、最新のバージョンの地図情報の2つのバージョンの地図情報が格納されることは好適である。最新のバージョンの地図情報とは、最新に更新された地図部品を含む地図情報である。
格納部10は、最新のバージョンの直前のバージョンの地図情報と、最新のバージョンの地図情報の2つのバージョンの地図情報が格納されていても良い。なお、かかる場合、2つのバージョン以外のバージョンの地図情報は、削除されて、格納されていないことは好適である。
格納部10は、オリジナル地図情報と、最新のバージョンの直前のバージョンの地図情報と、最新のバージョンの地図情報の3つのバージョンの地図情報が格納されていても良い。なお、かかる場合、3つのバージョン以外のバージョンの地図情報は、削除されて、格納されていないことは好適である。
受付部11は、指示や情報等を受け付ける。指示や情報等とは、例えば、地図情報の更新指示、地図情報の出力指示、目的地の入力、経路探索指示等である。地図情報の更新指示は、後述する差分地図の送信を地図情報サーバ装置2に促す指示である。目的地の入力が、現在地から目的地までの経路探索の指示でも良い。なお、地図情報の出力指示は、ユーザから受け付けても良いし、地図情報処理装置1が搭載されている車両のエンジンがONになったことを検知することにより受け付けても良いし、車両の装置から受信されても良い。つまり、地図情報の出力指示の入力方法は問わない。
指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部11は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
受信部12は、1以上の差分地図を受信する。差分地図とは、更新された領域の地図部品である。受信部12は、1以上の差分地図を地図情報サーバ装置2から受信する。受信部12は、1以上の差分地図のバージョン識別子とともに、1以上の差分地図を受信しても良い。また、受信部12が1以上の差分地図を受信した場合、後述する処理部13は、最新のバージョンのバージョン識別子を生成しても良い。なお、1以上の差分地図のバージョンとは、地図情報のバージョンである。さらに、受信部12は、最新のバージョンのすべての地図部品を有する最新のバージョンの地図情報を受信しても良い。また、受信部12は、バージョン識別子と1以上の差分地図を受信することは好適である。
受信部12は、1以上の差分地図のうちの少なくとも一部の差分地図を、再度、受信する。ここでの受信とは、通常、通知情報の送信に応じた、1以上の差分地図の受信である。
処理部13は、格納部10に格納されている地図情報を用いて、ナビゲーション関連機能を実行する。ナビゲーション関連機能とは、ナビゲーションに関連する機能であり、地図情報処理装置の起動処理、地図情報の出力処理、経路探索機能、経路案内機能等である。
処理部13は、ナビゲーション関連機能が動作していない場合に、地図情報の差分更新処理を行う。一方、処理部13は、ナビゲーション関連機能が動作している場合に、地図情報の差分更新処理を行わない。安全に差分更新処理を行うため、または安全にナビゲーション関連機能を動作させるためである。なお、ナビゲーション関連機能が適切に動作しない場合、ユーザの運転に支障をきたし、車両の安全な走行を阻害し得る。
ナビゲーション関連機能が実行されていない場合とは、例えば、地図情報処理装置1が動作していない場合である、と考えても良い。また、ナビゲーション関連機能が実行されていない場合とは、例えば、アクセサリー電源(ACC)オフの場合でも良い。また、ナビゲーション関連機能が実行されていない場合とは、ナビゲーション関連機能の実行の停止の指示が受け付けられた場合でも良い。ナビゲーション関連機能の実行の停止の指示が受け付けられた場合とは、エンジンオフの指示が受け付けられた場合、ACCオフの指示が受け付けられた場合等である。なお、かかる指示は、受付部11が受け付ける。
また、ナビゲーション関連機能が実行されていない場合とは、地図情報処理装置1が動作していない場合であり、かつ予め決められた時刻になった場合でも良い。予め決められた時刻は、車両が利用されにくい、例えば、午前3時等が好適である。
また、ナビゲーション関連機能が実行されていない場合とは、例えば、スマートフォンのナビゲーションアプリが起動されていない場合、スマートフォンの電源がOFFの場合などでも良い。
ただし、ナビゲーション関連機能が実行されていない場合でも、地図情報の差分更新処理を実行できる状況ではある。また、地図情報処理装置1が動作していない場合でも、地図情報の差分更新処理を実行できる状況ではある。
また、処理部13は、各種の処理を行う。各種の処理とは、蓄積部131、判断部132、中断部133、経路探索部134等が行う処理である。
処理部13は、例えば、蓄積部131が最新のバージョンの地図情報を蓄積する前、または蓄積した後に、予め決められたバージョンの地図情報以外の地図情報を削除する。予め決められたバージョンの地図情報は、例えば、オリジナル地図情報(バージョン1の地図情報)と最新のバージョンの地図情報である。予め決められたバージョンの地図情報は、例えば、最新のバージョンの直前のバージョンの地図情報と最新のバージョンの地図情報である。予め決められたバージョンの地図情報は、例えば、オリジナル地図情報と最新のバージョンの直前のバージョンの地図情報と最新のバージョンの地図情報である。
処理部13は、例えば、最新のバージョンの地図情報が有するいずれかの地図部品に不具合が存在するか否かを判断する。なお、地図部品の不具合とは、地図部品が利用できない、または利用しない方が良いと判断される何等かの原因であり、例えば、ファイルの破壊、一部の情報の欠落等である。なお、地図部品の不具合により、例えば、当該地図部品の表示が不能になる。また、地図部品の不具合により、例えば、経路探索や経路案内等の地図の情報処理が不能になる。
蓄積部131は、受信部12が受信した1以上の差分地図を格納部10に蓄積する。なお、差分地図は、地図情報を構成する地図部品である。
蓄積部131は、受信部12が受信した1以上の差分地図を用いて、最新のバージョンの地図情報を格納部10に蓄積する。なお、蓄積された最新のバージョンの地図情報は、他のバージョンの地図情報と区別可能な態様で、格納部10に蓄積される。つまり、蓄積部131は、例えば、最新のバージョンのバージョン識別子の名称を有するフォルダに最新のバージョンの地図情報を蓄積する。また、蓄積部131は、例えば、最新のバージョンのバージョン識別子と対にして、最新のバージョンの地図情報を蓄積する。
蓄積部131は、受信部12が受信した1以上の差分地図と、更新されていない1以上の地図部品とを用いた、最新のバージョンの地図情報を格納部10に蓄積しても良い。なお、更新されていない1以上の地図部品は、通常、最新のバージョンの直前のバージョンの地図情報を構成する1以上の地図部品である。
蓄積部131は、受信部12が受信した1以上の差分地図のみを、格納部10に蓄積しても良い。かかる場合、受信部12が受信した1以上の差分地図に対応する領域以外の領域の地図部品は、最新のバージョンの直前のバージョンの地図情報に含まれる地図部品であり当該領域の地図部品、またはオリジナル地図情報に含まれる地図部品であり当該領域の地図部品である。そして、他のバージョンの他の領域の地図部品をも用いて、ナビゲーション関連機能が動作する。
また、蓄積部131は、受信部12が受信した最新のバージョンの地図情報を格納部10に蓄積しても良い。
蓄積部131は、オリジナル地図情報または最新のバージョンの直前のバージョンの地図情報を残すように、最新のバージョンの地図情報を格納部10に蓄積することは好適である。なお、かかる場合、結果として、オリジナル地図情報または最新のバージョンの直前のバージョンの地図情報と、最新のバージョンの地図情報とが格納部10に残れば良い。また、かかる場合、処理部13は、他のバージョンの地図情報を削除するようにしても良い。
蓄積部131は、オリジナル地図情報、および最新のバージョンの直前のバージョンの地図情報を残すように、最新のバージョンの地図情報を格納部10に蓄積することは好適である。なお、かかる場合、結果として、オリジナル地図情報と、最新のバージョンの直前のバージョンの地図情報と、最新のバージョンの地図情報とが格納部10に残れば良い。また、かかる場合、処理部13は、他のバージョンの地図情報を削除するようにしても良い。
判断部132は、差分更新処理が成功したか失敗したかを判断する。差分更新処理とは、地図の差分の更新に関する何らかの処理である。差分更新処理とは、例えば、受信部12における1以上の差分地図の受信の処理である。また、差分更新処理とは、例えば、蓄積部131における1以上の差分地図の蓄積の処理である。また、差分更新処理とは、例えば、受信部12における1以上の差分地図の受信の処理と蓄積部131における1以上の差分地図の蓄積の処理である。
判断部132は、例えば、ファイルシステムのエラーをチェックするCHKDSKにより、差分更新処理が成功したか失敗したかを判断しても良い。また、判断部132は、例えば、最新のバージョンの地図情報が、すべての領域の地図部品を有するか否かを検出することにより、差分更新処理が成功したか失敗したかを判断しても良い。
中断部133は、差分更新処理の実行中に、予め決められた条件を満たす場合、差分更新処理を中断するための処理を行う。予め決められた条件を満たす場合とは、中断部133が、差分地図更新処理が上手くいかない状況になったことを検知した場合である。予め決められた条件を満たす場合とは、例えば、ナビゲーション関連機能の実行が開始される場合またはナビゲーション関連機能の実行が開始された場合等である。予め決められた条件を満たす場合とは、例えば、通信のための電波の強度が閾値以下になった場合である。
中断部133は、例えば、差分更新処理の実行中に、ナビゲーション関連機能の実行が開始される場合またはナビゲーション関連機能の実行が開始された場合、差分更新処理を中断するための処理を行う。
ここで、中断するための処理とは、例えば、完了した作業を特定する情報をバッファに蓄積する処理である。また、中断するための処理とは、例えば、完了していない作業を特定する情報をバッファに蓄積する処理である。また、中断するための処理とは、例えば、書き込み途中のファイルを削除する処理である。さらに、中断するための処理とは、例えば、上記の処理のうちの2以上の処理である。
中断部133は、通常、1以上の状態情報を格納部10に蓄積する。状態情報とは、中断の際の状態に関する情報である。状態情報は、差分更新処理の再開のために必要な情報である。状態情報は、例えば、完了した作業を特定する情報、完了していない作業を特定する情報などである。なお、差分更新処理の再開とは、途中まで実施されている差分更新処理の残りの処理を実行することである。
経路探索部134は、経路探索を行う。経路探索技術は公知技術であるので、詳細な説明を省略する。経路探索部134は、A*探索アルゴリズムにより経路探索を行っても良いし、ダイクストラ法等のアルゴリズムにより経路探索を行っても良い。つまり、経路探索のアルゴリズムは問わないことは言うまでもない。
出力部14は、格納部10に格納されている地図情報を出力する。出力部14は、通常、格納部10に格納されている最新のバージョンの地図情報を出力する。
出力部14は、最新の地図情報に不具合が存在すると判断部132が判断した場合、最新のバージョンの直前のバージョンの地図情報を出力することは好適である。出力部14は、最新の地図情報に不具合が存在すると判断部132が判断した場合、オリジナル地図情報を出力しても良い。さらに、出力部14は、経路探索部134における経路探索の結果や経路案内等を出力しても良い。なお、最新の地図情報に不具合が存在する場合とは、最新の地図情報の一部の地図部品に不具合が存在する場合でも良い。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
送信部15は、判断部132が失敗したと判断した場合に、失敗した旨を示す通知情報を地図情報サーバ装置2に送信する。通知情報は、例えば、バージョン識別子、ユーザ識別子等を有する。
地図情報サーバ装置2を構成するサーバ格納部21は、1以上の差分地図を格納し得る。サーバ格納部21は、全領域の地図部品の集合である地図情報を格納していても良い。サーバ格納部21は、バージョン識別子に対応付けて、2以上のバージョンの地図情報を格納していることは好適である。サーバ格納部21は、装置識別子に対応付けて、後述する回数を示す情報を格納し得る。回数とは、差分更新処理の失敗の回数である。サーバ格納部21は、装置識別子とバージョン識別子とに対応付けて、後述する回数を示す情報を格納していても良い。
サーバ受付部22は、指示や情報等を受け付ける。指示や情報等とは、例えば、1以上の差分地図である。指示や情報等とは、例えば、バージョン識別子と1以上の差分地図である。
指示や情報等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。サーバ受付部22は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
サーバ送信部23は、1以上の差分地図を地図情報処理装置1に送信する。サーバ送信部23は、バージョン識別子と1以上の差分地図を地図情報処理装置1に送信しても良い。なお、1以上の差分地図は、サーバ格納部21に格納されている。
サーバ送信部23は、一の地図情報処理装置1における差分更新処理の失敗の回数が予め決められた条件を満たすほど多い場合は、1以上の差分地図を一の地図情報処理装置1に、再度、送信しない。
サーバ送信部23は、回数記憶部251が記憶した一の地図情報処理装置1に対応する回数が予め決められた条件を満たすほど多い場合は、1以上の差分地図を一の地図情報処理装置1に、再度、送信しない。
サーバ受信部24は、地図情報処理装置1から通知情報を受信する。サーバ受信部24は、通常、地図情報処理装置1を識別する装置識別子と通知情報とを受信する。なお、装置識別子は、ユーザ識別子と同じでも良い。
サーバ処理部25は、各種の処理を行う。各種の処理は、例えば、回数記憶部251が行う処理である。各種の処理は、例えば、ユーザからの問い合わせに対応する差分地図が存在するか否かを示す存在情報を、サーバ格納部21を参照し、取得する処理である。存在情報は、「存在する(例えば「1」)」または「存在しない(例えば「0」)」を採り得る。各種の処理は、例えば、地図情報処理装置1からの問い合わせに対応する1以上の差分地図をサーバ格納部21から取得する処理である。
回数記憶部251は、通知情報を受信した回数を少なくとも一時記憶する。回数記憶部251は、通常、装置識別子に対応付けて、通知情報を受信した回数を記憶する。回数記憶部251は、回数をサーバ格納部21に蓄積しても良い。
格納部10、サーバ格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部10等に地図情報等が記憶される過程は問わない。例えば、記録媒体を介して地図情報等が格納部10等で記憶されるようになってもよく、通信回線等を介して送信された地図情報等が格納部10等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された地図情報等が格納部10等で記憶されるようになってもよい。
受信部12、サーバ受信部24は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、蓄積部131、判断部132、中断部133、経路探索部134、回数記憶部251は、通常、MPUやメモリ等から実現され得る。処理部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部14は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
送信部15、サーバ送信部23は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、地図情報システムの動作について説明する。まず、地図情報処理装置1の動作について、図3、図4のフローチャートを用いて説明する。
(ステップS301)処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。ナビゲーション関連機能が実行中である場合はステップS313に行き、ナビゲーション関連機能が実行中でない場合はステップS302に行く。なお、ここで、処理部13または図示しない手段が、地図情報処理装置1が起動中であるか否かを判断しても良い。そして、起動中であればステップS313に行き、起動中でなければステップS302に行くようにしても良い。
(ステップS302)処理部13は、地図情報の更新が中断中か否かを判断する。中断中であればステップS303に行き、中断中でなければステップS304に行く。処理部13は、例えば、格納部10に状態情報が存在するか否かにより、地図情報の更新が中断中か否かを判断しても良い。
(ステップS303)処理部13は、格納部10に格納されている状態情報を取得する。
(ステップS304)送信部15は、地図情報を取得するために、地図情報サーバ装置2に問い合わせる。
具体的には、中断していた場合、送信部15は、状態情報を用いて、地図情報の更新が中断した以降の地図情報を取得するために、地図情報サーバ装置2に問い合わせる。なお、かかる問い合わせは、例えば、要求する地図情報のバージョンを識別するバージョン識別子、および中断した箇所または必要な地図情報の箇所を特定する箇所識別子を有する。
また、具体的には、中断していない場合、送信部15は、地図情報サーバ装置2に更新された地図部品である1以上の差分地図が存在するか否かを問い合わせる。送信部15は、例えば、現在の地図情報のバージョンを識別するバージョン識別子を有する問い合わせを地図情報サーバ装置2に送信する。また、送信部15は、例えば、現在の地図情報のバージョンの次のバージョンのバージョン識別子を有する問い合わせを地図情報サーバ装置2に送信しても良い。
(ステップS305)受信部12は、ステップS304における問い合わせに応じて、受信すべき1以上の差分地図が地図情報サーバ装置2に存在するか否かを判断する。存在する場合はステップS306に行き、存在しない場合はステップS301に戻る。なお、受信部12は、例えば、受信すべき1以上の差分地図が存在するか否かを示す存在情報を地図情報サーバ装置2から受信する。
(ステップS306)受信部12は、1以上の差分地図を受信する。なお、通常、一のバージョンの地図情報の受信が完了するまで、差分地図の受信を継続する。
(ステップS307)蓄積部131は、ステップS306で受信された1以上の差分地図を格納部10に蓄積する。蓄積部131は、通常、受信部12が受信した差分地図を、順次、蓄積していく。
蓄積部131は、受信部12が受信した1以上の差分地図のみを格納部10に蓄積しても良い。なお、蓄積部131は、受信部12が受信した1以上の差分地図を上書きしても良い。また、蓄積部131は、中断後、蓄積されずにいた残りの地図情報を格納部10に蓄積しても良い。
(ステップS308)蓄積部131は、一のバージョンの差分更新処理を終了するか否かを判断する。差分更新処理を終了する場合はステップS311に行き、差分更新処理を終了しない場合はステップS309に行く。なお、差分更新処理とは、差分地図を蓄積して、一のバージョンの地図情報がすべて蓄積された状態にする処理である。蓄積部131は、例えば、予定しているすべての領域の地図部品が格納部10に蓄積された場合、一のバージョンの差分更新処理を終了する、と判断する。また、蓄積部131は、例えば、地図情報サーバ装置2から差分情報を送信の終了の情報を受信した場合、一のバージョンの差分更新処理を終了する、と判断する。
(ステップS309)中断部133は、中断事由が存在するか否かを判断する。なお、中断事由とは、例えば、ナビゲーション関連機能の実行が開始されること、ナビゲーション関連機能の実行が開始されたこと等である。ナビゲーション関連機能の実行が開始されることとは、例えば、ナビゲーション関連機能の実行がされる何らかの指示を受け付けたことである。
(ステップS310)中断部133は、差分更新処理を中断するための処理を行う。ステップS301に戻る。なお、中断部133は、例えば、状態情報を格納部10に蓄積する。なお、状態情報は、例えば、完了した作業を特定する情報である
(ステップS311)判断部132は、差分更新処理が成功したか失敗したかを判断する。差分更新処理が成功した場合はステップS301に戻り、差分更新処理が失敗したステップS312に行く。
(ステップS312)送信部15は、通知情報を地図情報サーバ装置2に送信する。ステップS301に戻る。なお、通知情報は、例えば、地図情報処理装置1を識別する端末識別子、更新に失敗した地図情報のバージョンを識別するバージョン識別子を有する。
(ステップS313)受付部11は、地図情報の出力指示を受け付けたか否かを判断する。出力指示を受け付けた場合はステップS314に行き、出力指示を受け付けない場合はステップS319に行く。なお、例えば、ACCオンにより、受付部11は、地図情報の出力指示を受け付ける。また、例えば、車両のエンジンONにより、受付部11は、地図情報の出力指示を受け付ける。
(ステップS314)出力部14は、最新のバージョンの地図情報を格納部10から取得する。なお、格納部10に一つのバージョンの地図情報しか存在しない場合もあり得る。
(ステップS315)処理部13は、直前に取得した地図情報に不具合が存在するか否かを判断する。不具合が存在する場合はステップS316に行き、不具合が存在しない場合はステップS318に行く。
(ステップS316)出力部14は、予め決められた次の順序の地図情報を格納部10から取得する。直前に取得された地図情報が最新のバージョンの地図情報である場合、予め決められた次の順序の地図情報は、最新のバージョンの直前のバージョンの地図情報、またはオリジナル地図情報である。また、直前に取得された地図情報が最新のバージョンの直前のバージョンの地図情報である場合、予め決められた次の順序の地図情報はオリジナル地図情報である。なお、予め決められた次の順序とは、予め決められた利用の順序に関し、最優先の次の利用順序、という意味である。
(ステップS317)処理部13は、不具合が存在するバージョンの地図情報を削除する。ステップS315に戻る。
(ステップS318)出力部14は、直前に取得した地図情報を出力する。ステップS301に戻る。
(ステップS319)受付部11は、その他の指示や情報等を受け付けたか否かを判断する。その他の指示や情報等を受け付けた場合はステップS320に行き、その他の指示や情報等を受け付けない場合はステップS301に戻る。
(ステップS320)処理部13等は、その他の指示や情報等に応じた処理を行う。ステップS301に戻る。なお、その他の指示や情報等に応じた処理とは、例えば、経路探索、経路案内等の処理である。
なお、図3、図4のフローチャートにおいて、地図情報処理装置1からの問い合わせをしないで、地図情報処理装置1は、1以上の差分地図を地図情報サーバ装置2から受信しても良い。つまり、1以上の差分地図の送受信は、プッシュ型でもプル型でも良い。
そして、プッシュ型である場合、地図情報処理装置1は、ナビゲーション関連機能が実行中は、1以上の差分地図を受信しない、または1以上の差分地図を蓄積しない。
また、図3、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
さらに、図3、図4のフローチャートにおいて、一のバージョンの差分更新処理が完了した場合に、処理部13は、予め決められたバージョンの地図情報以外の地図情報が、格納部10に存在するか否かを判断しても良い。そして、予め決められたバージョンの地図情報以外の地図情報が格納部10に存在する場合は、処理部13は、予め決められたバージョンの地図情報以外の地図情報を格納部10から削除しても良い。
次に、地図情報サーバ装置2の動作について、図5のフローチャートを用いて説明する。
(ステップS501)サーバ受信部24は、地図情報処理装置1から問い合わせを受信したか否かを判断する。問い合わせを受信した場合はステップS502に行き、問い合わせを受信しない場合はステップS508に行く。
(ステップS502)サーバ処理部25は、地図情報処理装置1からの問い合わせに対応する差分地図が存在するか否かを示す存在情報を、サーバ格納部21を参照し、取得する。
(ステップS503)サーバ送信部23は、ステップS502で取得された存在情報を、問い合わせを送信した地図情報処理装置1に送信する。
(ステップS504)サーバ処理部25は、ステップS502で取得された存在情報が「存在」を示す情報であるか否かを判断する。「存在」を示す情報である場合はステップS505に行き、「存在」を示す情報でない場合はステップS507に行く。なお、「存在」を示す情報は、存在することを示す情報である。
(ステップS505)サーバ処理部25は、問い合わせに対応する1以上の差分地図をサーバ格納部21から取得する。
(ステップS506)サーバ送信部23は、ステップS505で取得された1以上の差分地図を地図情報処理装置1に送信する。ステップS501に戻る。
(ステップS507)サーバ送信部23は、地図情報処理装置1からの問い合わせに対応する差分地図が存在しない旨のメッセージを、地図情報処理装置1に送信する。ステップS501に戻る。なお、かかるメッセージは、通常、地図情報処理装置1で出力される。
(ステップS508)サーバ受信部24は、地図情報処理装置1から通知情報を受信したか否かを判断する。通知情報を受信した場合はステップS509に行き、通知情報を受信しない場合はステップS501に戻る。
(ステップS509)回数記憶部251は、通知情報に含まれる装置識別子と通知情報に含まれるバージョン識別子とに対応付けて、通知情報を受信した回数をインクリメントする。なお、サーバ格納部21に、装置識別子とバージョン識別子と応付けて、通知情報を受信した回数が管理されている、とする。
(ステップS510)サーバ処理部25は、受信された通知情報に含まれる装置識別子とバージョン識別子とに対応する回数が、予め決められた条件を満たすほど多いか否かを判断する。予め決められた条件を満たすほど多い場合はステップS511に行き、予め決められた条件を満たすほど多くない場合はステップS505に行く。
(ステップS511)サーバ送信部23は、1以上の差分地図を地図情報処理装置1に、送信しない旨のメッセージを送信する。ステップS501に戻る。
なお、図5のフローチャートにおいて、蓄積された回数は、閾値以上の時間が経過後、リセットされる。なお、リセットとは、回数が「0」になること、回数を含む情報が削除されること等である。
また、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における地図情報システムの具体的な動作について説明する。地図情報システムの概念図は図1である。
今、地図情報処理装置1は、車両に設置されたナビゲーション装置である、とする。 また、ここでのナビゲーション関連機能が実行されていない場合とは、ACCがオフの場合であり、予め決められた時刻(ここでは、午前3時)になった場合である、とする。つまり、本地図情報処理装置1は、予め決められた時刻になった場合に、地図情報の更新の必要があるか否かを地図情報サーバ装置2に問い合わせる、とする。
そして、地図情報サーバ装置2のサーバ格納部21には、図6に示す構造を有する更新トライ回数管理表が格納されている。更新トライ回数管理表は、地図情報の連続した更新回数のトライ回数を管理する表である。更新トライ回数管理表は、地図情報処理装置1ごと、地図情報のバージョンごとの、更新のトライの回数を管理している。更新トライ回数管理表は、「ID」「装置識別子」「バージョン識別子」「回数」を有する1以上のレコードを有する。「装置識別子」はナビゲーション装置を識別する情報である。「回数」は更新のトライ回数である。なお、連続した更新回数のトライ回数には、通常、閾値以上の時間が経過した後のトライ回数は含まれない。
さらに、2015年5月4日の午前0時に、地図情報サーバ装置2のサーバ格納部21に、最新の地図情報である、バージョン3の地図情報が蓄積された、とする。なお、サーバ格納部21には、バージョン識別子「3」に対応付けて、最新の地図情報が格納されている。
かかる状況において、地図情報システムは、以下のように動作する。つまり、例えば、2015年5月4日の午前3時になった際に、地図情報処理装置1の処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。そして、現在、車両のユーザはドライブ中であり、地図情報処理装置1が動作しており、地図情報が地図情報処理装置1で表示され、経路案内中である、とする。そのため、処理部13は、ナビゲーション関連機能が実行中である、と判断する。
そして、以後、受付部11は、その他の指示や情報等を受け付け、処理部13等は、その他の指示や情報等に応じた処理を行う。
つまり、2015年5月4日には、地図情報は更新されなかった。
次に、翌日の2015年5月5日の午前3時になった際に、地図情報処理装置1の処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。そして、車両のエンジンはオフであり、ACCもオフであり、処理部13は、ナビゲーション関連機能が実行中ではない、と判断する。
次に、処理部13は、格納部10に状態情報が存在しないことを検出する。そして、処理部13は、地図情報の更新が中断中ではない、と判断する。
そして、送信部15は、地図情報を取得するために、地図情報サーバ装置2に問い合わせる。なお、この問い合わせは、新しいバージョンの地図情報が、地図情報サーバ装置2に存在するか否かの問い合わせである。そして、この問い合わせは、地図情報処理装置1に格納されている最新の地図情報のバージョンのバージョン識別子「2」を含む、とする。つまり、送信部15は、命令「地図更新 2」を地図情報サーバ装置2に送信する。「地図更新 2」の「地図更新」は地図の更新を促す命令であり、「2」はバージョン識別子である。
次に、地図情報サーバ装置2のサーバ受信部24は、地図情報処理装置1から命令「地図更新 2」を受信する。
次に、サーバ処理部25は、地図情報処理装置1からの問い合わせに対応する差分地図が存在するか否かを示す存在情報を、サーバ格納部21を参照し、取得する。つまり、サーバ処理部25は、問い合わせ「地図更新 2」からバージョン識別子「2」を取得し、サーバ格納部21から最新のバージョン識別子「3」を取得し、2つのバージョン識別子を比較する。そして、2つのバージョン識別子が一致していなので、サーバ処理部25は、存在情報「存在」を得る。
次に、サーバ送信部23は、存在情報「存在」を、問い合わせを送信した地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、存在情報「存在」を受信する。そして、受信部12は、問い合わせに応じて、受信すべき1以上の差分地図が地図情報サーバ装置2に存在する、と判断する。
次に、地図情報サーバ装置2のサーバ処理部25は、取得された存在情報が「存在」を示す情報である、と判断する。そして、サーバ処理部25は、問い合わせに対応するバージョン3の1以上の差分地図をサーバ格納部21から取得する。
次に、サーバ送信部23は、バージョン3の1以上の差分地図を地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、1以上の差分地図を受信する。そして、蓄積部131は、受信された1以上の差分地図を格納部10に蓄積する。次に、すべての領域の地図部品が格納部10に蓄積され、蓄積部131は、一のバージョン(バージョン3)の差分更新処理を終了した、と判断する。
次に、判断部132は、例えば、DSKCHKにより、差分更新処理が成功したと、判断する。
以上により、ナビゲーション関連機能が実行されていない、地図更新のために良好な環境において、地図更新処理が完了した。そして、地図情報処理装置1には、最新のバージョン3の地図情報が蓄積された。
なお、ここで、処理部13は、バージョン2の地図情報を削除しても良い。かかる場合、格納しておくべきとして、予め決められたバージョンの地図情報は、例えば、オリジナル地図情報と最新のバージョンの地図情報である。そして、かかる場合、最新のバージョンの地図情報に不具合がある場合、ナビゲーション関連機能の実行のために、オリジナル地図情報が利用される。
そして、次に、2015年5月6日の午前0時に、地図情報サーバ装置2のサーバ格納部21に、最新の地図情報である、バージョン4の地図情報が蓄積された、とする。なお、サーバ格納部21には、バージョン識別子「4」に対応付けて、最新の地図情報が格納されている。
そして、車両のユーザは、電波が届きにくい屋内の駐車場に車両を駐車している、とする。
次に、2015年5月6日の午前3時になった際に、地図情報処理装置1の処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。そして、車両のエンジンはオフであり、ACCもオフであり、処理部13は、ナビゲーション関連機能が実行中ではない、と判断する。
次に、処理部13は、地図情報の更新が中断中ではない、と判断する。
そして、送信部15は、地図情報を取得するために、命令「地図更新 3」を地図情報サーバ装置2に送信する。
次に、地図情報サーバ装置2のサーバ受信部24は、地図情報処理装置1から命令「地図更新 3」を受信する。
次に、サーバ処理部25は、地図情報処理装置1からの問い合わせに対応する差分地図が存在するか否かを示す存在情報を、サーバ格納部21を参照し、取得する。つまり、サーバ処理部25は、問い合わせ「地図更新 3」からバージョン識別子「3」を取得し、サーバ格納部21から最新のバージョン識別子「4」を取得し、2つのバージョン識別子を比較する。そして、2つのバージョン識別子が一致していなので、サーバ処理部25は、存在情報「存在」を得る。
次に、サーバ送信部23は、存在情報「存在」を、問い合わせを送信した地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、存在情報「存在」を受信する。そして、受信部12は、問い合わせに応じて、受信すべき1以上の差分地図が地図情報サーバ装置2に存在する、と判断する。
次に、地図情報サーバ装置2のサーバ処理部25は、取得された存在情報が「存在」を示す情報である、と判断する。そして、サーバ処理部25は、問い合わせに対応するバージョン4の1以上の差分地図をサーバ格納部21から取得する。
次に、サーバ送信部23は、バージョン4の1以上の差分地図を地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、1以上の差分地図を受信しようとするが、電波の強度が弱く、一部の差分地図が受信できなかった、とする。そして、蓄積部131は、受信された一部の差分地図を格納部10に蓄積する。次に、受信されたすべての差分地図が格納部10に蓄積され、蓄積部131は、一のバージョン(バージョン4)の差分更新処理を終了した、と判断する。なお、バージョン4の差分更新処理は完了していない。
次に、判断部132は、例えば、すべての領域のバージョン4の地図部品が存在しないので、差分更新処理が失敗したと、判断する。
次に、送信部15は、地図情報処理装置1の装置識別子「d01」を格納部10から取得する。また、送信部15は、バージョン識別子「4」を格納部10から取得する。そして、送信部15は、装置識別子「d01」とバージョン識別子「4」とを含む通知情報を地図情報サーバ装置2に送信する。なお、通知情報は、例えば、「通知 d01,4」である、とする。
次に、地図情報サーバ装置2のサーバ受信部24は、地図情報処理装置1から通知情報「通知 d01,4」を受信する。
次に、回数記憶部251は、通知情報に含まれる装置識別子「d01」、通知情報に含まれるバージョン識別子「4」に対応付けて、通知情報を受信した回数をインクリメントする。そして、図6に示す更新トライ回数管理表の「ID=3」のレコードが得られる。
そして、上記の更新の処理を3度繰り返し、図6に示す更新トライ回数管理表の「ID=3」のレコードが「装置識別子:d01,バージョン識別子:4,回数:3」になった、とする。
そして、サーバ処理部25は、受信された通知情報に含まれる装置識別子とバージョン識別子とに対応する回数が、予め決められた条件を満たすほど多い、と判断する。なお、ここでの予め決められた条件は、「回数>=3」である。
次に、サーバ送信部23は、バージョン4の1以上の差分地図を地図情報処理装置1に、送信しない旨のメッセージを送信する。
次に、地図情報処理装置1の受信部12は、送信しない旨のメッセージを受信する。そして、処理部13は、当該メッセージを蓄積する。なお、蓄積されたメッセージは、次に、地図情報処理装置1が起動された際に、出力部14が出力する、とする。
次に、2015年5月7日の午前3時になった際に、地図情報処理装置1の処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。そして、車両のエンジンはオフであり、ACCもオフであり、処理部13は、ナビゲーション関連機能が実行中ではない、と判断する。
次に、処理部13は、地図情報の更新が中断中ではない、と判断する。
そして、送信部15は、地図情報を取得するために、命令「地図更新 3」を地図情報サーバ装置2に送信する。
次に、地図情報サーバ装置2のサーバ受信部24は、地図情報処理装置1から命令「地図更新 3」を受信する。
次に、サーバ処理部25は、地図情報処理装置1からの問い合わせに対応する差分地図が存在するとの存在情報「存在」を得る。
次に、サーバ送信部23は、存在情報「存在」を、問い合わせを送信した地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、存在情報「存在」を受信する。そして、受信部12は、問い合わせに応じて、受信すべき1以上の差分地図が地図情報サーバ装置2に存在する、と判断する。
次に、地図情報サーバ装置2のサーバ処理部25は、取得された存在情報が「存在」を示す情報である、と判断する。そして、サーバ処理部25は、問い合わせに対応するバージョン4の1以上の差分地図をサーバ格納部21から取得する。
次に、サーバ送信部23は、バージョン4の1以上の差分地図を地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、1以上の差分地図を受信していく。そして、蓄積部131は、受信された1以上の差分地図を格納部10に蓄積していく。
そして、バージョン4の1以上の差分地図の受信、蓄積が完了しない時に、ユーザが車両を動かすべく、エンジンをオンにした、とする。
すると、地図情報処理装置1のナビゲーション関連機能のうちの地図情報の表示が開始されようとする。なお、地図情報の表示が開始されようとすることは、地図情報の表示の直前である、とする。
次に、中断部133は、中断事由が存在する、と判断する。そして、中断部133は、差分更新処理を中断するための処理を行う。つまり、中断部133は、蓄積された差分地図に関する情報である状態情報を構成し、格納部10に蓄積する。状態情報は、「バージョン識別子:4,蓄積済み差分地図:C」である、とする。なお、「蓄積済み差分地図:C」は、バージョン4の地図を、A〜Cの領域まで蓄積済みであり、D〜Zは蓄積されていない、ことを示す、とする。なお、地図情報は、領域A〜Zの地図部品を有し、A〜Zの順に、地図部品はダウンロードされる、とする。
そして、地図情報処理装置1は、バージョン3の地図情報を用いて、ナビゲーション関連機能を実行する。つまり、2015年5月7日には、バージョン4の地図情報のダウンロードは成功しなかった。なお、ここでは、バージョン4の地図情報の更新は、中断されている状況である。
次に、2015年5月8日の午前3時になった際に、地図情報処理装置1の処理部13は、ナビゲーション関連機能が実行中であるか否かを判断する。そして、車両のエンジンはオフであり、ACCもオフであり、処理部13は、ナビゲーション関連機能が実行中ではない、と判断する。
次に、処理部13は、格納部10に状態情報が存在することを検出し、地図情報の更新が中断中である、と判断する。そして、処理部13は、格納部10に格納されている状態情報「バージョン識別子:4,蓄積済み差分地図:C」を取得する。
次に、送信部15は、バージョン4の残る差分地図を取得するために、地図情報サーバ装置2に問い合わせる。かかる問い合わせは、命令「中断地図更新 4,C」である、とする。なお、命令の中の「中断地図更新」は、中断した地図情報の更新を継続する指示であることを示す。また、命令の中の「4」は、更新したい地図情報のバージョンが「4」であることを示す。さらに、命令の中の「C」は、蓄積されている差分地図が領域「C」までであることを示す。
次に、地図情報サーバ装置2のサーバ受信部24は、地図情報処理装置1から問い合わせ「中断地図更新 4,C」を受信する。
次に、サーバ処理部25は、地図情報処理装置1からの問い合わせに対応する差分地図が存在する、と判断する。そして、サーバ処理部25は、存在情報「存在」を取得する。
次に、サーバ送信部23は、存在情報「存在」を、問い合わせを送信した地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、存在情報「存在」を受信する。そして、受信部12は、問い合わせに応じて、受信すべき1以上の差分地図が地図情報サーバ装置2に存在する、と判断する。
次に、地図情報サーバ装置2のサーバ処理部25は、取得された存在情報が「存在」を示す情報である、と判断する。そして、サーバ処理部25は、問い合わせに対応するバージョン4の領域「C」の先の領域「D」から「Z」の差分地図をサーバ格納部21から取得する。
次に、サーバ送信部23は、バージョン4の領域「D」から「Z」の差分地図を地図情報処理装置1に送信する。
次に、地図情報処理装置1の受信部12は、バージョン4の領域「D」から「Z」の差分地図を受信する。そして、蓄積部131は、受信された1以上の差分地図を格納部10に蓄積する。次に、バージョン4のすべての領域の地図部品が格納部10に蓄積され、蓄積部131は、バージョン4の差分更新処理を終了した、と判断する。
次に、判断部132は、例えば、CHKDSKにより、差分更新処理が成功したと、判断する。
以上により、地図更新処理が中断した場合でも、ナビゲーション関連機能が実行されていない、地図更新のために良好な環境において、地図更新処理が継続され、バージョン4の地図更新処理が完了した。
なお、ここで、処理部13は、バージョン3の地図情報を削除しても良い。かかる場合、格納しておくべきとして、予め決められたバージョンの地図情報は、例えば、オリジナル地図情報と最新のバージョンの地図情報である。そして、かかる場合、最新のバージョンの地図情報に不具合がある場合、ナビゲーション関連機能の実行のために、オリジナル地図情報が利用される。
以上、本実施の形態によれば、地図情報の差分更新処理を行う地図情報処理装置において、安全に差分更新を行える。
また、本実施の形態によれば、差分地図を受信できない環境にある場合等において、無用な処理を実行しなくて済む。
さらに、本実施の形態によれば、地図情報の差分更新処理を行う地図情報処理装置において、安全に、かつ効率的に差分更新を行える。
なお、本実施の形態によれば、差分地図更新処理のトリガーは問わない。また、中断した際における差分地図更新処理のトリガーも問わない。ナビゲーション関連機能が動作していない場合に地図情報の差分更新処理を行い、ナビゲーション関連機能が動作している場合に地図情報の差分更新処理を行わなければ良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における地図情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、一部の領域の地図情報であり、全体の地図情報の一部を構成する部品である2以上の地図部品を有する地図情報を格納し得る格納部を具備し、コンピュータを、更新された領域の地図部品である1以上の差分地図を受信する受信部と、前記受信部が受信した1以上の差分地図を前記格納部に蓄積する蓄積部と、前記格納部に格納されている地図情報を用いて、ナビゲーション関連機能を実行する処理部として機能させ、前記処理部がナビゲーション関連機能を実行している場合には、前記受信部が行う1以上の差分地図の受信の処理および前記蓄積部が行う1以上の差分地図の蓄積の処理を含む差分更新処理、または前記受信部が行う1以上の差分地図の受信の処理を含む差分更新処理、または前記蓄積部が行う1以上の差分地図の蓄積の処理を含む差分更新処理は行わないものとして、コンピュータを機能させるためのプログラムである。
上記プログラムにおいて、前記処理部がナビゲーション関連機能を実行していない場合は、地図情報の差分更新処理が実行できる状況であり、かつ地図情報処理装置が動作していない場合であるものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記処理部がナビゲーション関連機能を実行していない場合は、アクセサリー電源がオフである場合であるものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記受信部における1以上の差分地図の受信の処理、または前記蓄積部における1以上の差分地図の蓄積の処理、または前記受信部における1以上の差分地図の受信の処理と前記蓄積部における1以上の差分地図の蓄積の処理である差分更新処理が成功したか失敗したかを判断する判断部と、前記判断部が失敗したと判断した場合に、失敗した旨を示す通知情報をサーバ装置に送信する送信部として、さらにコンピュータを機能させ、前記受信部は、前記1以上の差分地図のうちの少なくとも一部の差分地図を、再度、受信するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記送信部が、一のバージョンの1以上の差分地図に対応する通知情報を、予め決められた回数以上送信しない、または前記送信部が、一のバージョンの1以上の差分地図に対応する通知情報を、予め決められた回数送信した場合、前記受信部は、前記1以上の差分地図のうちの少なくとも一部の差分地図を、再度、受信しないものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記差分更新処理の実行中に、前記ナビゲーション関連機能の実行が開始される場合または前記ナビゲーション関連機能の実行が開始された場合、前記差分更新処理を中断するための処理を行う中断部として、コンピュータをさらに機能させるプログラムであることは好適である。
上記プログラムにおいて、前記中断部は、前記差分更新処理の再開のために必要な情報である1以上の状態情報を前記格納部に蓄積し、前記受信部、または前記蓄積部、または前記受信部と前記蓄積部は、前記1以上の状態情報を用いて、前記差分更新処理を再開するものとして、コンピュータを機能させるプログラムであることは好適である。
また、本実施の形態における地図情報サーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、1以上の差分地図を格納し得るサーバ格納部を具備し、コンピュータを、前記1以上の差分地図を地図情報処理装置に送信するサーバ送信部として機能させ、前記サーバ送信部は、一の地図情報処理装置における差分更新処理の失敗の回数が予め決められた条件を満たすほど多い場合は、前記1以上の差分地図を前記一の地図情報処理装置に、再度、送信しないものとして、コンピュータを機能させるプログラムである。
上記プログラムにおいて、前記地図情報処理装置から通知情報を受信するサーバ受信部と、前記通知情報を受信した回数を少なくとも一時記憶する回数記憶部として、さらにコンピュータを機能させ、前記サーバ送信部は、前記回数記憶部に記憶した前記一の地図情報処理装置に対応する回数が予め決められた条件を満たすほど多い場合は、前記1以上の差分地図を前記一の地図情報処理装置に、再度、送信しないものとして、コンピュータを機能させるプログラムであることは好適である。
また、図7は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の地図情報処理装置1、地図情報サーバ装置2等を実現するコンピュータの外観を示す。地図情報処理装置1の外観は、図1の符号1の付いた図でも良いことは言うまでもない。図7は、このコンピュータシステム300の概観図であり、図8は、システム300のブロック図である。
図7において、コンピュータシステム300は、CD−ROMドライブ3012を含むコンピュータ301と、タッチパネルのモニタ304とを含む。
図8おいて、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の地図情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の地図情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。