(58)【調査した分野】(Int.Cl.,DB名)
更新データを配信するサーバ装置と、前記サーバ装置から配信される更新データを受信する複数の端末装置とを有するデータ配信システムにおけるデータ更新方法であって、
前記サーバ装置は、前記サーバ装置内に格納された更新データを配信する配信手段を有し、
前記端末装置は、前記サーバ装置から配信される更新データを受信する受信手段と、前記受信した更新データを格納するメモリと、更新対象のデータを格納する記憶手段と、を有し、
前記方法は、前記端末装置が、
データを更新するタイミングを自動的に判断するステップと、
前記記憶手段に格納されている地図データを区切る格子である管理単位の仕様に従って更新する区画の数を決定するステップと、
前記決定された更新対象領域の更新データを取得するステップと、
前記取得した更新データを用いて前記メモリ上でデータを更新するステップと、
前記データの更新が成功したかを判断するステップと、
前記更新後のデータを前記記憶手段に格納するステップと、
前記更新後のデータのバージョンを更新するステップと、
前記バージョンの更新が終了した後、前記取得した更新データを破棄するステップと、を含むことを特徴とするデータ更新方法。
【背景技術】
【0002】
最近、地図データや地理関連情報を記憶媒体に格納し、無線ネットワーク経由でサーバにアクセスすることによって、最新の地図データを取得し、端末が保持している地図データを更新するナビゲーションシステムが普及しつつある。このようなナビゲーションシステムにおいて、ユーザ操作を契機として地図データ更新処理が実行される。
図2に、従来の更新処理シーケンスを示す。
【0003】
この技術分野の背景技術として特開2005−331278号公報(特許文献1)及び特開2009−157227号公報(特許文献2)がある。
【0004】
特許文献1には、車両の現在位置を検出する位置検出手段1と、地図データを格納する書き換え可能な地図データ格納手段と、地図を表示する表示手段と、車両の現在位置の周辺の所定エリアの地図データを地図データ格納手段から読み出して表示手段に送り、以てナビゲーション機能を実行する制御手段と、更新地図データを取得する更新地図データ取得手段と、制御手段からの指示に応答して地図データ格納手段内の地図データを更新地図データ取得手段で取得された更新地図データに更新する地図データ更新手段とを備え、制御手段は、ナビゲーション機能の実行と並行して、更に、地図データの読み出し状況および更新状況に応じて地図データ更新手段に地図データの更新を指示する。地図データ更新装置が記載されている。
【0005】
また、特許文献2には、ナビゲーション端末と地図配信サーバとを備える地図データ配信システムであって、地図配信サーバは、地図データの差分を示す差分更新データを示す更新エレメントと、識別情報である更新エレメントID、地図データの更新前の更新日時を有して地図データの更新に依存関係を保持する依存更新エレメントIDとを含む更新エレメント管理データとを記憶する管理データ記憶部11と、ナビゲーション端末からの地図配信要求の地図領域と重なる所在領域を有する更新エレメント管理データと、当該更新エレメント管理データのうち、依存更新エレメントIDを有する更新エレメント管理データとを抽出する更新管理データ抽出部と、ナビゲーション端末との間で通信を行うネットワークI/Fとを備える地図データ配信システムが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述した先行技術では、特許文献1に記述されている通り、地図データ更新処理中、ユーザはナビゲーションシステムの機能を停止することを強いられていた。このため、ユーザが長期間又は一度も地図データ更新処理を実行しない場合に、地図データの異なる世代間で伏尾烏合が生じることがあった(特許文献2参照)。例えば、地図更新データ同士の依存関係によって、地図データ配信サーバに保持している更新データを破棄できないことがあった。例えば、
図6に示すように、2代目地図と3代目地図との差分を地図データに反映するとき、初期→2代目地図差分を先に地図データに反映しなければならない状態が発生する。このため、経年により膨大な量の更新データをサーバが保持することとなっており、地図データ配信システムの運用に必要な計算機資源を増大させる要因となっている。
【0008】
また、特許文献1では、更新前の地図データをメモリに格納することによってナビゲーション機能を停止せずに地図データ更新処理を実行する。しかし、更新処理中に端末装置の電源断などの異常が発生した場合、更新途中の地図データが更新地図データ格納装置に残ってしまう。この場合、端末を再起動した後の地図データは整合性が保証されないことがあり、更新処理を最初からやり直さなければならないことが予想される。
【0009】
本発明の目的は、ナビゲーションシステムの機能を停止せずに地図データ更新処理を実行し、サーバが保持する更新データの量を削減することにある。
【課題を解決するための手段】
【0010】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、更新データを配信するサーバ装置と、前記サーバ装置から配信される更新データを受信する複数の端末装置とを有するデータ配信システムにおけるデータ更新方法であって、前記サーバ装置は、前記サーバ装置内に格納された更新データを配信する配信手段を有し、前記端末装置は、前記サーバ装置から配信される更新データを受信する受信手段と、前記受信した更新データを格納するメモリと、更新対象のデータを格納する記憶手段と、を有し、前記方法は、前記端末装置が、データを更新するタイミングを自動的に判断するステップと、前記記憶手段に格納されている地図データを区切る格子である
管理単位の仕様に従って更新する区画の数を決定するステップと、前記決定された更新対象領域の更新データを取得するステップと、前記取得した更新データを用いて前記メモリ上でデータを更新するステップと、前記データの更新が成功したかを判断するステップと、前記更新後のデータを前記記憶手段に格納するステップと、前記更新後のデータのバージョンを更新するステップと、前記バージョンの更新が終了した後、前記取得した更新データを破棄するステップと、を含むことを特徴とする。
【発明の効果】
【0011】
本発明の代表的な形態によれば、ユーザの操作を必要とせず地図データに最新に更新することができる。また、地図データ更新システムの運用に必要なサーバの資源を削減できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【発明を実施するための形態】
【0013】
以下、本発明を適用した端末地図データ更新方法の一実施形態について説明する。
【0014】
図3は、本発明の実施形態のナビゲーションシステムの構成図である。
【0015】
ナビゲーション端末装置31は、ネットワーク32を介して、配信サーバ装置33と接続されている。
【0016】
ナビゲーション端末装置31のナビアプリケーション310は、更新処理実行タイミングを判断し、配信サーバ装置33から更新データを要求する。
【0017】
配信サーバ装置33の更新データ配信アプリケーション330は、ナビゲーション端末装置31の地図バージョンを確認し、配信するデータセットを作成し、ナビゲーション端末装置31に更新データを配信する。
【0018】
ナビアプリケーション310は、更新処理実行タイミングを判断し、配信サーバ装置33から更新データを取得し、更新前データをメモリ装置15にバッファリングし、メモリ装置15内で更新処理を実行する。そして、更新処理が成功した、外部記憶装置13に格納された地図データに反映する。なお、ナビアプリケーション310が実行する地図データ更新処理の詳細は、
図4を用いて後述する。
【0019】
図1は、本実施形態のナビゲーション端末装置31の構成を示すブロック図である。
【0020】
本実施形態のナビゲーション端末装置31は、入出力装置11、GPS装置12、外部記憶装置13、データアクセス処理ブロック14、メモリ装置15、通信装置16、更新処理ブロック17及び全体制御処理ブロック18を有する。
【0021】
入出力装置11は、各種の指示の入力を受け付け、処理結果を表示するインターフェースであり、タッチパネル、操作キー、液晶表示装置などによって構成される。GPS装置12は、GPS衛星から送信される信号を受信して現在位置を検出する。外部記憶装置13は、地図データ及び地図関連情報を格納する不揮発性記憶装置(フラッシュメモリ、磁気ディスク装置など)である。データアクセス処理ブロック14は、外部記憶装置13から地図データや地図関連情報を読み出す機能を有し、例えば、データベース管理システムによって構成することができる。メモリ装置15は、データアクセス処理ブロック14が読み込んだデータや、通信装置16経由で取得したデータを記憶する。通信装置16は、ネットワーク32と接続し、所定の通信プロトコルに従って通信を制御する。具体的には、ナビゲーションシステムは、通信装置16を経由して、配信サーバ装置33にアクセスし、更新データを取得する。更新処理ブロック17は、取得した更新データを利用し、地図データを更新する処理を実行する。全体制御処理ブロック18は、ナビゲーションシステムの全体を制御する。
【0022】
図5は、本実施形態の地図データに含まれる地図バージョン管理テーブルの構成例を説明する図である。
【0023】
図5に示す、地図バージョン管理テーブルは、TYPE_ID、AREA_ID及びVERSIONを含む。
【0024】
TYPE_IDは、地図データを構成するデータを種別ごとに分類した識別情報である。例えば、下記のように区分される。
1:道路や建物などの地物の形状を表現するための形状情報
2:道路に関連する規制情報(制限速度・一方通行など)や実長・勾配など経路探索処理が利用する探索情報
3:道路名称や交差点名称、音声や画像など誘導処理が利用する誘導情報
4:目的地を決定するために利用する施設などの地点情報
5:道路のレーン数(右左折専用レーン情報も含む)や交差点における停止線の位置、道路(歩道を含む)の幅や車道にはみ出している地物の位置など自動運転技術に関連する高精度情報
【0025】
AREA_IDは、地図管理区画ごとに割り当てられた識別情報である。VERSIONは、TYPE_ID及びAREA_IDによって一意に決まるデータのバージョンである。
【0026】
図7は、本実施形態の配信サーバ装置33の構成を示すブロック図である。
【0027】
配信サーバ装置33は、通信装置71、外部記憶装置72、データアクセス処理ブロック73、メモリ装置74、配信データ生成処理ブロック75及び全体制御処理ブロック76を有する。
【0028】
通信装置71は、ネットワーク32と接続し、所定の通信プロトコルに従って通信を制御する。具体的には、配信サーバ装置33は、通信装置71を経由して、ナビゲーション端末装置31からのリクエストを受け付け、処理結果を返信する。外部記憶装置72は、地図データ及び地図関連情報を格納する不揮発性記憶装置(磁気ディスク装置、フラッシュメモリなど)である。データアクセス処理ブロック73は、外部記憶装置72から地図データや地図関連情報を読み出す機能を有し、例えば、データベース管理システムによって構成することができる。メモリ装置74は、データアクセス処理ブロック73が読み込んだデータや、通信装置71経由で取得したデータを記憶する。配信データ生成処理ブロック75は、ナビゲーション端末装置31からのリクエストを解釈し、配信データを生成する。全体制御処理ブロック76は、配信サーバ装置33の全体を制御する。
【0029】
次に、本実施形態の地図更新処理方法について説明する。
【0030】
図4は、本実施形態のナビゲーション端末装置31のナビアプリケーション310が実行する地図データ更新処理のフローチャートである。
【0031】
本実施形態の地図データ更新処理は、ユーザ操作を契機としないので、全体制御処理ブロック18が更新処理実行タイミングを判断する(ステップ410)。更新処理実行タイミングは、所定のイベントから所定時間が経過したときに実行するとよい。例えば、起動時、電源投入後10分経過時などである。なお、所定の時刻(例えば、毎日12時など)に更新処理を実行してもよい。また、端末の位置情報を利用して更新処理実行タイミングを判断してもよい。例えば、初めて通る道路に進入した場合、設定された目的地が初めて行く地点である場合などである。
【0032】
全体制御処理ブロック18が更新処理実行タイミングであると判断した場合、更新処理ブロック17に制御が移る。更新処理ブロック17は、更新処理を実行する前に、これから実行する更新処理以前に、エラー又はやユーザ操作などによって中止した更新処理があるか否かを判断する(ステップ420)。中止した更新処理があるかは、更新処理ブロック17が実行するステップ421〜425までの各処理の実行結果、すなわち、更新途中のデータが外部記憶装置13に保存されているかで判断することができる。
【0033】
更新処理ブロック17は、更新途中のデータはないと判断した場合、更新対象地域を決定する(ステップ421)。端末の位置情報から更新対象地域を決定する場合、外部記憶装置13に格納されている地図管理区画の仕様(地図データを区切る格子である管理単位の仕様)に従って、何区画分更新するかを決定する。目的地として設定された位置情報から更新対象地域を決定する場合も同様である。更新対象地域を決定した後、更新処理ブロック17は、通信装置16を制御し、配信サーバ装置33にアクセスし、更新対象地域を決定する(ステップ421)。更新処理ブロック17が更新対象地域を決定後、データアクセス処理ブロック14に制御が移る。
【0034】
データアクセス処理ブロック14は、外部記憶装置13に格納されている地図バージョン管理テーブル(
図5)から更新対象地域の地図バージョンを取得し、更新処理ブロック17に送る(ステップ431)。更新対象地域の地図バージョンを取得後、更新処理ブロック17に制御が移る。
【0035】
更新処理ブロック17は、データアクセス処理ブロック14から更新対象地域の地図バージョンを受信すると、更新対象地域の地図バージョンを配信サーバ装置33に要求し、要求したバージョンの地図データを配信サーバ装置33から取得する(ステップ422)。その後、更新処理ブロック17は、要求したバージョンの地図データが配信サーバ装置33から取得できたかを判定する(ステップ423)。要求したバージョンの地図データが配信サーバ装置33から取得できなければ、地図データ更新処理を終了する。一方、要求したバージョンの地図データが配信サーバ装置33から取得できれば、データアクセス処理ブロック14に制御が移る。
【0036】
データアクセス処理ブロック14は、更新対象地域の地図データを外部記憶装置13から取得し(ステップ432)、更新処理ブロック17に制御が移る。
【0037】
更新処理ブロック17は、データアクセス処理ブロック14が取得した地図データを地図更新処理の対象としてメモリ装置15に保存する(ステップ424)。メモリ装置15に保存されたデータは、地図データ更新処理が完了するまで、ナビアプリケーション310で利用できない。ナビアプリケーション310が利用する地図データは別途外部記憶装置13から読み出して、メモリ装置15上の別の領域(例えば、ワークエリア)に保存するため、地図更新処理中もナビゲーションシステムの機能を停止させる必要がない。
【0038】
更新処理ブロック17は、取得した地図データをメモリ装置15に保存した後、取得した更新データに基づいてメモリ装置15に格納された地図データを更新する(ステップ424)。その後、更新処理ブロック17は、更新処理がエラーなく正常に成功したかを判定する(ステップ425)。更新処理が成功した場合、データアクセス処理に制御が移る。
【0039】
その後、データアクセス処理ブロック14は、メモリ装置15に格納されている更新後の地図データを、外部記憶装置13に格納されている地図データに反映する。これによって、ナビアプリケーション310は、更新後の地図データを外部記憶装置13から読み込むことができる。また、更新処理ブロック17が取得した更新データに記載されている地図バージョンに更新対象地域の地図バージョンを更新する(ステップ433)。データアクセス処理ブロック14が処理を実行している間、ナビアプリケーション310は、メモリ装置15に格納されている地図データにアクセスする。その後、更新処理ブロック17に制御が移る。
【0040】
更新処理ブロック17は、取得した更新データを破棄する(ステップ426)。その後、全体制御処理ブロック18に制御が移り、地図データ更新処理を終了する。
【0041】
ステップ425において更新処理が失敗したと更新処理ブロック17が判定した場合、全体制御処理ブロック18に制御が移り、更新処理を終了する。その際、更新処理ブロック17やデータアクセス処理ブロック14が取得したデータを外部記憶装置13に退避する。次回の更新処理実行時に更新処理ブロック17が地図データ更新処理を実行するときに使用する。
【0042】
また、ステップ420で、中止した更新処理があると判定した場合、データアクセス処理ブロック14に制御が移る。データアクセス処理ブロック14は、外部記憶装置13に退避されている更新データを取得し(ステップ430)、ステップ432以降の処理を実行する。
【0043】
なお、ナビゲーション端末装置31が更新データの保持期間内で起動されず、地図データ更新処理を実行しなかった場合、別のシステムによってナビゲーション端末装置31の地図データを更新する。
【0044】
以上に説明したように、本実施例の地図データ更新処理では、ナビゲーション端末装置31がナビゲーション機能を停止せずに地図データ更新処理を実行するため、ユーザの操作を必要とせず地図データに最新に更新することができ、最新の地図データを使ったナビゲーション機能を利用することができる。
【0045】
また、メモリ装置15上で更新処理を実施し、かつ更新処理状況を逐次記録するので、更新処理の途中でナビゲーション端末装置31の電源断などによって更新処理が中断しても、地図の整合性が損なわれることはなく、次回に継続して更新処理を実施することができる。
【0046】
また、ユーザの操作を必要とせず、自動的に更新データをサーバから取得するため、サービス運用上取り決めた更新データの保持期間を過ぎた場合、配信サーバ装置33の外部記憶装置72に格納されている更新データを破棄することができる。このため、配信サーバ装置33のストレージ資源の増大を抑えることができる。
【0047】
また、将来の自動運転技術に必要な大容量の高精度地図データの整備が進むと、大容量高精度データの一部(例えば、探索結果である経路上に存在する高精度データのみ)を更新データとして取得することができ、自動運転機能の実現に必要な資源を軽減することができる。
【0048】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0049】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0050】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【0051】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。