説明

データ配信システム、データ配信方法及び車両

【課題】ドライバが特殊な作業/運転を行う必要がない形で、無線通信可能な車両に、アップデータ等のデータを配信することが出来るデータ配信システムを提供する。
【解決手段】データ配信システムを、それらからデータを復元することが可能な複数の、所定時間内に無線送信可能なサイズの部分コードを保持した配信センタ10と、配信センタ10から送信されてきた部分データを車両40に送信する機能を有する複数の路側機20とを備え、配信センタ10によって、車両40の位置から、当該車両40がその後止まる可能性が高い複数の場所が予測され、予測された各場所の傍に設置されている路側機10に、部分データが送信されるシステムとして構成しておく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信可能な車両にデータを配信するためのデータ配信システム及びデータ配信方法と、プログラムの更新データを受信できる車両とに関する。
【背景技術】
【0002】
近年の車両(自動車)は、様々なソフトウェア(エンジン制御用のプログラム、カーナビゲーション・システムのプログラムや地図データ等)が用いられたものとなっている。そして、そのようなソフトウェアを、ROMの差し替え等でしか更新できないのは不便であるため、通信により車両内のソフトウェアを更新できるようにすることが考えられる。なお車両は移動するため、外部との通信には無線機能を利用するのが一般的である。
【0003】
ただし、車両に単純な無線通信機能を付けただけでは、ソフトウェアの更新が必要になったときに、ソフトウェアの無線送信源が設置されている場所に車両を運転していき、その場所で車両をしばらく停止させなければならないことになる。何故ならば、ソフトウェアを更新するためのデータ(いわゆるアップデータ)は、結構大きなサイズのことが多いし、一般的な無線通信技術は、通信可能距離が短いものであることに加え、通信する2装置が相対的な移動速度が速いと通信状態が不安定になるものとなっているからである。
【0004】
【特許文献1】特開2005−57442号公報
【特許文献2】特開2008−90587号公報
【特許文献3】特開2006−38669号公報
【特許文献4】特開2007−34815号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
そこで、本発明の課題は、車両の操縦者(以下、ドライバと表記する)が特殊な作業/運転を行う必要がない形で、通信可能な車両に、アップデータ等のデータを配信することが出来るデータ配信システム及びデータ配信方法を提供することになる。
【0006】
また、本発明の他の課題は、本発明のデータ配信システム等から送信されたデータに基づき、制御装置内のプログラムを安全に更新できる車両を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の、通信機能を有する車両にデータを配信するためのデータ配信システムは、車両が止まる場所及び/或いは車両が減速する場所の近傍に設置された複数の路側機と、配信装置とを含み、前記配信装置が、所定時間内に送信可能なサイズに基づいて或るデータを1つ以上に分割した部分データであって、それらを組み合わせることにより前記データを復元することが可能な1つ以上の部分データを記憶した部分データ記憶手段と、前記データを配信すべき車両の位置の把握結果に基づき、走行経路における走行速度が所定値以下となりえる場所に設置された前記路側機に、前記記憶手段上の部分データとその部分データの送信先とすべき車両を指定する車両指定情報とを送信する処理を、前記部分データ記憶手段上の各部分データについて行う配信手段とを備えた装置であり、前記複数の路側機のそれぞれが、前記配信装置から送信されてきた前記部分データと前記車両指定情報とを受信する受信手段と、前記受信手段によって受信された前記部分データを、通信可能な範囲に入った、前記受信手段によって受信された前記車両指定情報が指定する車両に送信する部分データ送信手段とを備えた装置である構成を、有する。
【0008】
すなわち、本発明のデータ配信システムは、データをそのまま車両に送信するシステムではなく、データを幾つかの、処理時間内に(短時間で)送信可能なサイズの部分データに分けて車両に送信するシステムとなっている。さらに、データ配信システムは、"車両
が止まる場所及び/或いは車両が減速する場所の近傍に設置された複数の路側機"を備え
、車両に、当該車両が近づいた路側機(走行経路における走行速度が所定値以下となりえる場所に設置された前記路側機)から部分データが配信されるシステムとなっている。
【0009】
従って、このデータ配信システムを用いておけば、ドライバ(車両の操縦者)が車両を運転しさえすれば(換言すれば、ドライバが特殊な作業/運転を行う必要がない形で)、当該車両にデータが配信される環境を実現できることになる。
【0010】
なお、本発明において、"車両が止まる場所及び/或いは車両が減速する場所"とは、車両が停止する蓋然性や車両の速度が低下する蓋然性が高い場所(交差点の侵入口部分、一時停止線の前、踏切前、急カーブ等)のことである。
【0011】
本発明のデータ配信システムにおける"データ"は、どのようなものであっても良い。例えば、データを、前記車両内で使用されているソフトウェアを更新するためのソフトウェアとしておくことが出来る。また、"車両指定情報"は、特定の車両を指定する情報であっても、車種を指定する情報であっても良い。
【0012】
本発明のデータ配信システムを実現するに際しては、『送信されてきた前記部分データと前記車両指定情報とを受信する中継車両内受信手段と、前記受信手段によって受信された前記部分データを、通信可能な範囲に入った、前記受信手段によって受信された前記車両指定情報が指定する車両に送信する中継車両内部分データ送信手段とを備えた中継車両』を、その構成要素として付加しておくと共に、各路側機に、通信可能な範囲に入った前記中継車両に、前記受信手段によって受信された前記部分データと前記車両指定情報とを送信する部分データ等供給手段を付加しておくことが出来る。
【0013】
そして、そのような形で実現された本発明のデータ配信システムでは、路側機から車両への部分データの送信が失敗した際に、中継車両から車両へ部分データが送信される場合があることになる。従って、このデータ配信システムは、中継車両を構成要素としないデータ配信システムよりも、全部分データの車両への送信(供給)が短期間で終わるシステムとなっていると言うことが出来る。
【0014】
また、配信装置の配信手段は、どのような方法/手順により車両の位置を把握する手段であっても良いので、例えば、配信手段を、GPS(Global Positioning System)によ
り車両の位置を把握する手段としておくことが出来る。
【0015】
ただし、配置手段として、GPSにより車両の位置を把握する手段を採用した場合、車両に特殊な装置を追加する必要が生ずることになるので、車両に特殊な装置を追加しないですむようにするために、各路側機に、前記部分データ送信手段の通信可能な範囲に入った車両に関する情報である車両情報を前記配信装置に送信する車両情報送信手段を付加した上で、配信装置の前記配信手段を、前記データを配信すべき前記車両の位置を、各路側機の前記車両情報送信手段によって送信された車両情報から把握する手段としておくことが好ましい。
【0016】
また、配信装置の配信手段は、送信する部分データをランダムに決定する手段としておくことも出来る。ただし、同じ部分データを車両に受信させる(同じ部分データは、車両に破棄させる)のは無駄なことであるので、例えば、車両情報として、対応する車両が既
に受信している部分データを示す情報を含む情報を採用し、配信手段として、予測した各場所の傍に設置されている前記路側機に対していずれの部分データを送信するかを、受信した前記車両情報に基づき決定する手段を採用しておくことが望ましい。
【0017】
また、本発明の、車両が止まる場所及び/或いは車両が減速する場所の近傍に設置された複数の通信機能を有する路側機を利用して、通信機能を有する車両にデータを配信するためのデータ配信方法は、前記データを、所定時間内に送信可能なサイズに基づいて1つ以上に分割し、それらを組み合わせることにより前記データを復元することが可能な1つ以上の部分データを生成する生成ステップと、前記データを配信すべき車両の位置の把握結果に基づき、走行経路における走行速度が所定値以下となりえる場所に設置された前記路側機に、前記生成ステップにより生成された部分データとその部分データの送信先とすべき車両を指定する車両指定情報とを送信する処理を、前記生成ステップにより生成された各部分データについて行う配信ステップととを含むものとなっている。
【0018】
すなわち、本発明のデータ配信方法は、データをそのまま車両に送信するものではなく、データを幾つかの、処理時間内に(短時間で)送信可能なサイズの部分データに分けて車両に送信するものとなっている。さらに、データ配信方法は、"車両が止まる場所及び
/或いは車両が減速する場所の近傍に設置された複数の路側機"が、車両が近づいた路側
機(当該車両がその後止まる可能性が高いと予測された複数の場所の傍に設置されているいずれかの路側機)から、車両に部分データが配信されるように制御される方法となっている。
【0019】
従って、このデータ配信方法を用いておけば、ドライバが車両を運転しさえすれば、当該車両にデータが配信される環境を実現できることになる。
【0020】
また、本発明の車両は、通信装置、及び、車両内の装置を制御するための幾つかのプログラムが実行される第1ドメインと、前記第1ドメインとは独立したプログラムの実行環境であり、第1ドメインからのアクセスを拒絶できる第2ドメインとを有する制御装置を
備えた構成であると共に、前記制御装置の前記第2ドメイン内のプログラムにより、前記第1ドメイン内で使用されているプログラムを更新するための更新データを復元可能な複数の部分データが前記通信装置を利用して受信されて前記第1ドメイン上のプログラムが利用出来ないデータとして管理され、前記複数の部分データから前記更新データが復元された後、その更新データが改竄されていないものであることが確認され、当該更新データが改竄されていないものであることが確認された場合にのみ、当該更新データを用いた前記第1ドメイン上のプログラムの更新が行われる構成を有する。
【0021】
すなわち、本発明の車両は、送信されてきた各部分データを、車両内の装置(エンジン、カーナビゲーションシステム等)を制御するための各プログラムの動作に何ら影響を与えない形で管理可能な制御装置を備えている。さらに、本発明の車両が備える制御装置は、更新データが復元可能な状態になった場合には、更新データを復元し、その更新データが改竄されていないもの(元々の更新データと同じもの)であることが確認できた場合にのみ、その更新データに基づくプログラムの更新を行うものとなっている。
【0022】
従って、本発明の車両は、上記した本発明のデータ配信システム等から送信されたデータに基づき、制御装置内のプログラムを安全に更新できるものとなっていることになる。
【発明の効果】
【0023】
本発明のデータ配信システム、データ配信方法によれば、ドライバが特殊な作業/運転を行う必要がない形で、当該車両にデータが配信される環境を実現できることになる。
【0024】
また、本発明の車両の構成を採用しておけば、本発明のデータ配信システム等から送信されたデータに基づき、制御装置内のプログラムを安全に更新できることになる。
【発明を実施するための最良の形態】
【0025】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【0026】
図1に、本発明の一実施形態に係るデータ配信システムの構成を示す。
【0027】
図示してあるように、本実施形態に係るデータ配信システムは、固定通信網に接続された配信センタ10及び多数(図では、2つ)の路側機20と、1台以上(図では、1台)の中継車両30とを備えたシステムである。
【0028】
このデータ配信システムは、所定の構成(機能)を有する車両40に、当該車両40内で使用されているソフトウェアを更新するためのデータ(いわゆる、アップデータ;以下、更新コードと表記する)を無線配信するシステムである。このため、本データ配信システムの詳細を説明する前に、車両40の構成や、本システムの機能の理解に必要な幾つかの事項について、説明しておくことにする。
【0029】
本実施形態に係るデータ配信システムは、通信装置41、通信装置42及びコード更新処理部50を備えた車両40と、通信装置41及びコード更新処理部50′を備えた車両40とに、更新コードを配信できるシステムとして構成されている。
【0030】
通信装置41は、各路側機20と無線通信を行うための装置である。通信装置42は、自車両40の前方を走行している中継車両30と無線通信を行うための装置である。
【0031】
各通信装置41、42は、通信可能な距離が比較的に短く、かつ、通信可能な方向に指向性がある装置となっている。通信装置41は、車両40の左側に位置している機器との間の無線通信が良好に行えるように、車両40に取り付けられている。また、通信装置42は、車両40の前方に位置している機器との間の無線通信が良好に行えるように、車両40に取り付けられている。
【0032】
コード更新処理部50、50′は、更新コード(部分コード群)を受信して車両40内のソフトウェアを更新するためのユニットである。
【0033】
各コード更新処理部50、50′は、車両40内の制御装置の一機能として実現されている。より具体的には、各車両40の制御装置は、プログラムの実行環境として、エンジンの制御プログラム等が実行される主ドメインと、主ドメインに対して独立した保護ドメインとを備えたものとなっている。なお、
保護ドメインは、VMWareやXenなどを利用して複数のゲストOSを生成する手段や、英国ARM社が提供するTrustZoneを利用することで実現できる。
【0034】
そして、コード更新処理部50、50′は、図2に模式的に示したように、保護ドメイン上/内の機能として実現されたものとなっている。
【0035】
以下、図3〜図6を用いて、コード更新処理部50、50′の機能をさらに具体的に説明する。なお、これらの図のうち、図3は、コード更新処理部50の機能ブロック図であり、図4は、コード更新処理部50′の機能ブロック図である。また、図5は、部分コードの説明図であり、図6は、車両40のイグニッションキーがOFFされた場合に、コード更新処理部50、50′(コード更新処理部50、50′内の一部の機能ブロック)が実行する処理の流れ図である。
【0036】
図3に示してあるように、コード更新処理部50は、部分コード復元部51、部分コード管理部52、路側機用通信制御部53、中継車両用通信制御部54、コード更新部55及び情報記憶部56を備えている。また、図4に示してあるように、コード更新処理部50′は、部分コード復元部51、部分コード管理部52、路側機用通信制御部53、コード更新部55及び情報記憶部56を備えている。
【0037】
各コード更新処理部50、50′が備える情報記憶部56は、情報の書き込みが可能な、車両40内の制御装置への電力供給が停止されても書き込んだ情報が失われない機能ブロック(制御装置内の、書換可能な不揮発性メモリに相当する機能ブロック)である。この情報記憶部56には、車両40内で使用されている各種ソフトウェアの名称やバージョン情報、個々の車両40の識別情報である車両ID等からなる車両情報が、予め記憶されている。
【0038】
路側機用通信制御部53は、コード更新処理部50、50′が起動されたとき(イグニッションキーの操作により車両40内の制御装置への電力供給が開始されたとき)に、動作を開始する機能ブロックである。
【0039】
この路側機用通信制御部53は、動作を開始した場合、まず、車両情報メッセージ送信処理を実行しながら、部分コードが通信装置41によって受信されることとイグニッションキーがOFFされることとを監視する監視処理を実行している状態となる。
【0040】
路側機用通信制御部53が実行する車両情報メッセージ送信処理は、基本的には、その時点における情報記憶部56上の車両情報を含めたブロードキャストメッセージである車両情報メッセージを定期的に通信装置41に送信させる処理である。
【0041】
ただし、車両情報メッセージ送信処理は、車速(自車両40の速度)が予め設定されている規定速度以下の場合に限り、車両情報メッセージを通信装置41に送信させる処理となっている。また、車両情報メッセージ送信処理は、車両情報メッセージを送信後、所定時間の間、それに対する確認応答メッセージが路側機20から送信されてくることを監視し、確認応答メッセージが送信されてきた場合には、自車両40が所定距離移動するまで(通信装置41から送信した車両情報メッセージが他の路側機20によって受信される状況となるまで)、車両情報メッセージの送信を停止する処理となっている。
【0042】
さらに、車両情報メッセージ送信処理は、ソフトウェアの更新に成功したか否かを示す処理結果情報(詳細は後述)が情報記憶部56に記憶されている場合には、その処理結果情報も含めた車両情報メッセージ(以下、処理結果メッセージとも表記する)を送信する処理であると共に、処理結果メッセージに対する確認応答メッセージを受信した際には、情報記憶部56上の処理結果情報を消去する処理となっている。
【0043】
部分コードが通信装置41によって受信された場合、路側機用通信制御部53は、監視処理及び車両情報メッセージ送信処理(以下、監視処理等と表記する)を中止して、通信装置41により受信された部分コードを情報記憶部56に記憶する。
【0044】
ここで、部分コードとは、所定数(所定種類)の部分コードが揃えば、更新コードを復元できる、短時間(例えば、1秒)で無線送信可能なサイズのデータのことである。
【0045】
この部分コードは、配信センタ10によって、図5に模式的に示したような形で、更新コードから生成されるデータとなっている。なお、この図に示してある"更新コード(n
/4)"(n=1〜4)とは、更新コードの一部のことである。また、構成情報とは、更
新コードを復元するために必要な部分コードの数(種類)を示す必要コード情報、それを用いることにより復元結果が正当なもの(改竄等がなされていないもの)であるか否かが確認できる情報、復元した更新コードによって更新されるべきソフトウェア(以下、更新対象ソフトウェアと表記する)の名称、復元した更新コードによって更新した後の更新対象ソフトウェアのバージョン情報(以下、更新後バージョン情報と表記する)等からなる情報のことである。
【0046】
図示は省略してあるが、各部分コードは、自身の識別情報であるコードIDを含むデータとなっている。そして、上記した構成情報中の必要コード情報は、更新コードを復元するために必要な他の各部分コードのコードIDを、各部分コードの使用順(結合順)通りに並べた情報となっている。
【0047】
図3に戻って、路側機用通信制御部53の機能説明を続ける。
【0048】
部分コードを情報記憶部56に記憶した路側機用通信制御部53は、当該部分コードのコードIDを、情報記憶部56上の車両情報に追加する処理(コードIDを、車両情報の要素情報として情報記憶部56に記憶する処理)も行う。そして、路側機用通信制御部53は、監視処理等を再び開始する。
【0049】
自車両40のイグニッションキーがOFFされたことを検出した場合、路側機用通信制御部53は、監視処理等を中止して、部分コード管理部52に動作開始を指示する。その後、路側機用通信制御部53は、部分コード管理部52或いは部分コード復元部51から動作完了が通知されるのを待機し、動作完了が通知された場合に制御装置への電力供給を停止させる状態となる。
【0050】
また、路側機用通信制御部53が部分コード管理部52に動作開始を指示すると、部分コード管理部52、部分コード復元部51及びコード更新部55の一部或いは全てにより、図6に示した手順の処理が行われることになる。
【0051】
具体的には、まず、動作開始が指示された部分コード管理部52が、情報記憶部56上の部分コード数をチェックする(ステップS101)。
【0052】
部分コード管理部52は、部分コードが1つも情報記憶部56に記憶されていなかった場合や、部分コードが不足していた場合(ステップS102;NO)には、動作完了を路側機用通信制御部53に通知する(ステップS112)。
【0053】
既に説明したように、路側機用通信制御部53は、部分コード管理部52或いは部分コード復元部51から動作完了が通知された場合、制御装置への電力供給を停止させる。従って、このステップS112の処理が行われると、その後、コード更新処理部50、50′(制御装置)の動作が停止することになる。
【0054】
更新データを復元できる数(種類)の部分コードが情報記憶部56上に記憶されていた場合(ステップS102;YES)、部分コード管理部52は、部分コード復元部51に動作開始を指示する(図示せず)。
【0055】
動作開始を指示された部分コード復元部51は、各部分コードを組み合わせることによって情報記憶部56上に更新コードを復元する(ステップS103)。その後、部分コード復元部51は、復元した更新コードが、正当な更新コード(改竄等されていない更新コード;以下、正当コードと表記する)であるか否かを判断する(ステップS104)。
【0056】
復元した更新コードが正当コードであった場合(ステップS104;YES)、部分コード復元部51は、復元した更新コードの情報記憶部56上での位置、更新対象ソフトウェアの名称等を通知することによりコード更新部55に動作開始を指示する(図示せず)。
【0057】
動作開始を指示されたコード更新部55は、主ドメイン側(図2参照。)で使用されているソフトウェア("コードa"等)を情報記憶部56上の更新コードを用いて実際に更新するためのソフトウェア更新処理(ステップS105)を開始する。そして、コード更新部55は、ソフトウェアの更新が完了した場合には、そのことを部分コード復元部51に通知してから、動作(ソフトウェア更新処理)を終了する。
【0058】
部分コード復元部51は、ソフトウェアの更新が完了したことがコード更新部55から通知された場合には、情報記憶部56上の不要となった情報(各部分コード及び更新コード)を消去する(ステップS109)。次いで、部分コード復元部51は、情報記憶部56上の車両情報中の各コードIDを消去すると共に、車両情報中の更新したソフトウェアに関するバージョン情報を更新後バージョン情報に更新する処理(ステップS110)を行う。
【0059】
さらに、部分コード復元部51は、ソフトウェアの更新に成功したことを示す処理結果情報を情報記憶部56に記憶する処理(ステップS111)も行う。そして、部分コード復元部51は、制御装置への電源供給を停止させるために、動作完了を路側機用通信制御部43に通知(ステップS112)してから動作を終了する。
【0060】
部分コード復元部51は、復元した更新コードが正当コードではなかった場合(ステップS104;NO)には、情報記憶部56上の不要情報を消去する処理(ステップS106)と、情報記憶部56上の車両情報中の各コードIDを消去する処理(ステップS107)と、ソフトウェアの更新に失敗したことを示す処理結果情報を情報記憶部56に記憶する処理(ステップS108)とを行う。
【0061】
そして、部分コード復元部51は、制御装置への電源供給を停止させるために、動作完了を路側機用通信制御部43に通知(ステップS112)してから動作を終了する。
【0062】
コード更新処理部50(図3)のみが備える中継車両用通信制御部54は、コード更新処理部50が起動されたときに、第2車両情報メッセージ送信処理及び部分コード受信処理を開始する機能ブロックである。
【0063】
中継車両用通信制御部54が実行する第2車両情報メッセージ送信処理は、基本的には、車両情報を含むブロードキャストメッセージである第2車両情報メッセージ(車両情報メッセージとは異なるメッセージ)を、通信装置42に定期的に送信させる処理である。ただし、第2車両情報メッセージ送信処理は、車速がほぼ一定値となっている場合にのみ、第2車両情報メッセージを通信装置42に送信させる処理(加速中や減速中には、第2車両情報メッセージを通信装置42に送信させない処理)となっている。
【0064】
部分コード受信処理は、通信装置42により部分コード(中継車両30が送信したもの)が受信されるのを監視して、部分コードが受信された場合、その部分コードの情報記憶部56に記憶すると共に、その部分コードのコードIDを情報記憶部56上の車両情報に追加する処理である。
【0065】
以上、説明した個々の機能ブロックの機能から明らかなように、コード更新処理部50は、以下の機能を有するものとなっている。
【0066】
コード更新処理部50は、車速(自車両40の速度)が規定速度以下である場合には、車両情報メッセージ(通常の車両情報メッセージ、又は処理結果メッセージ)を、自車両40の左側の路側方向に向けて(図1参照)、定期的に送信する。そして、コード更新処理部50は、車両情報メッセージに対する確認応答メッセージが送信されてきた場合には、自車両40が所定距離移動するまで、車両情報メッセージを送信しない状態となる。
【0067】
また、コード更新処理部50は、車速がほぼ一定速度となっている場合には、第2車両情報メッセージ(車両情報メッセージと識別可能な、車両情報を含むブロードキャストメッセージ)を、前方に向けて定期的に送信する。
【0068】
コード更新処理部50は、通信装置41又は42によって部分コードが受信された場合には、その部分コードを情報記憶部56に記憶する処理を行う。また、コード更新処理部50は、その部分コードのコードIDを情報記憶部56上の車両情報に追加する処理も行う。
【0069】
コード更新処理部50は、イグニッションキーがOFFされた場合(図6参照)には、更新コードを復元可能な数の部分コードを既に受信していているか否かを判断し、更新コードを復元可能な数の部分コードを既に受信していた場合(ステップS102;YES)には、ソフトウェアの更新を試みる(ステップS103〜S105)。
【0070】
そして、コード更新処理部50は、ソフトウェアの更新に成功した場合には、情報記憶部56上の各部分コード等を消去する処理(ステップS109)、車両情報中の各コードIDを消去し、更新に成功したソフトウェアに関する車両情報中のバージョン情報を書き換える処理(ステップ110)、及び、ソフトウェアの更新に成功したことを示す処理結果情報を情報記憶部56に記憶する処理(ステップS111)を行う。
【0071】
また、コード更新処理部50は、ソフトウェアの更新に失敗した場合には、ステップS106〜S108にて、それぞれ、ステップS109〜S111とほぼ同内容の処理を行う。ただし、この場合、ソフトウェアの更新に失敗しているので、ステップ110に相当するステップS107では、車両情報中の各コードIDの消去のみが行われる。また、ステップS111に相当するステップS108では、ソフトウェアの更新に失敗したことを示す処理結果情報が情報記憶部56に記憶される。
【0072】
コード更新処理部50(路側機用通信制御部53)は、その始動時に、情報記憶部56上に処理結果情報が記憶されていた場合には、車両情報及び処理結果情報を含む車両情報メッセージ(処理結果メッセージ)を送信することによって、路側機20に、自車両40が近くにいることを通知すると共に、ソフトウェアの更新に成功/失敗したことを通知する。
【0073】
コード更新処理部50′の機能も同様のものである。ただし、コード更新処理部50′(図4)は、中継車両用通信制御部54を備えていない。そのため、コード更新処理部50′は、中継車両30関連の処理を何ら行わないものとなっている。
【0074】
以上のことを前提に、以下、本実施形態に係るデータ配信システムの構成及び機能を、具体的に説明する。
【0075】
まず、路側機20の構成及び機能を説明する。
【0076】
路側機20(図1)は、車両が止まる場所及び/或いは車両が減速する場所(交差点の
入口部分、道路標識により一時停止が指定されている場所、踏切前、急カーブ等の、車両が停止する蓋然性や車両の速度が低下する蓋然性が高い場所)に設置される装置である。
【0077】
本実施形態に係る各路側機20は、そのような場所に存在する既存の装置(信号機等)内の装置、又は、そのような装置とは別装置として実現された装置となっている。ただし、いずれの路側機20も、基本的には、図7に示したように、通信装置21と通信装置22と制御装置23とを備えたものとなっている。
【0078】
通信装置21は、車両40(車両40内の通信装置41)と無線通信を行うための、通信可能な距離が比較的に短く、かつ、通信可能な方向に指向性がある装置である。通信装置22は、配信センタ10と通信を行うための装置(固定配信網を利用した通信を行うための装置)である。
【0079】
制御装置23は、CPU、ROM、RAM等から構成された装置である。この制御装置23は、路側機20への電力供給が開始されると、図8及び図9に示した手順の処理を開始するように、プログラミングされている。
【0080】
すなわち、制御装置23は、路側機20への電力供給が開始されると、通信装置21又は22によって情報が受信されるのを監視する処理(ステップS201)を開始する。
【0081】
通信装置21又は22によって情報が受信された場合(ステップS201;YES)、制御装置23は、受信情報が、通常の車両情報メッセージ(処理結果情報を含まない車両情報メッセージ)、処理結果メッセージ(処理結果情報を含む車両情報メッセージ)、処理完了通知メッセージ、探索用メッセージ、部分コード送信エージェントのいずれであるかを判断する(ステップS202)。
【0082】
ここで、処理完了通知メッセージとは、部分コードの車両40への送信に成功した中継車両30(詳細は後述)が送信するメッセージのことである。この処理完了通知メッセージには、或る部分コードを受信させた車両40に関する車両情報と、当該部分コードのコードIDとが、含まれている。
【0083】
探索用メッセージとは、中継車両30が送信する処理内容のブロードキャストメッセージことである。
【0084】
部分コード送信エージェントとは、部分コード、当該部分コードを受信させるべき車両40の車両ID、時間情報である有効期限、及び当該部分コードのコードIDを含むプログラムのことである。この部分コード送信エージェント(以下、単に、エージェントとも表記する)のプログラム部分は、路側機20の制御装置23用のプログラム(制御装置23によって実行されるプログラム)と、中継車両30内の制御装置33(詳細は後述)用のプログラムとを含むものとなっている。なお、エージェント内の"部分コードのコード
ID"は、処理を容易にするために(部分コードからコードIDを読み出さなくても良い
ようにするために)、用意されている情報となっている。
【0085】
制御装置23は、受信情報が通常の車両情報メッセージであった場合(ステップS202;車両情報メッセージ)には、自路側機20の路側機IDと、当該車両情報メッセージ中の車両情報とを含む車両近接通知メッセージを、通信装置32を利用して配信センタ10に送信する(ステップS203)。
【0086】
なお、このステップS203の処理や、以下で説明する各ステップの処理は、受信メッセージに対する確認応答メッセージを送信してから行われる処理である。また、路側機I
Dとは、路側機20の識別情報のことである。各路側機20の制御装置23内(ROM上)には、自路側機20の路側機ID(以下、自路側機IDと表記する)が設定されている。さらに、制御装置23内には、配信センタ10のアドレス(車両近接通知メッセージ等の送信先アドレスとして使用される情報)も設定されている。
【0087】
制御装置23は、受信情報が処理完了通知メッセージであった場合(ステップS202;送信依頼メッセージ)には、その処理完了通知メッセージ中の車両情報及びコードIDを含めた停止指示メッセージ送信依頼メッセージを配信センタ10に送信する(ステップS203)。
【0088】
制御装置23は、受信情報が処理結果メッセージであった場合(ステップS202;処理結果メッセージ)には、その処理結果メッセージに自路側機IDを加えたものに相当する処理結果通知メッセージを配信センタ10に送信する(ステップS205)。そして、ステップS203、S204又はS205の処理を終えた制御装置23は、再び、ステップS201の処理を開始する。
【0089】
図示は省略してあるが、制御装置23は、受信情報が探索用メッセージであった場合には、その探索用メッセージに対する確認応答メッセージを通信装置21を利用して当該探索用メッセージの送信元(中継車両30)に送信してから、ステップS201の処理を開始する。また、制御装置23は、受信情報が、上記したいずれの情報でもなかった場合(例えば、後述する停止指示メッセージであった場合)には、受信情報を破棄してから、ステップS201の処理を開始する。
【0090】
制御装置23は、受信情報がエージェント(部分コード送信エージェント)であった場合(ステップS202;エージェント)には、受信したエージェントをRAM上に記憶する(ステップS206)。
【0091】
その後、制御装置23は、RAM上のエージェント(制御装置23用のプログラム部分)が規定する内容の、図9に示した手順の処理(以下、エージェント規定処理と表記する)を開始する。
【0092】
このエージェント規定処理を開始した制御装置23は、まず、エージェントの有効期限が切れることと、通信装置21又は通信装置22によりメッセージが受信されることとを監視する処理(ステップS211及びS212のループ処理)を開始する。なお、"エー
ジェントの有効期限が切れる"とは、"エージェントの受信後の経過時間が、エージェント内に設定されている有効期限(これは、時間を示す情報)を超える"ということである。
【0093】
制御装置23は、エージェントの有効期限が切れた場合(ステップS211;YES)には、このエージェント規定処理(図9の処理)を終了する。そして、制御装置12は、RAM上のエージェントを消去した上(図示せず)で、ステップS201(図8)以降の処理を再び開始する。
【0094】
制御装置23は、通信装置21又は通信装置22によりメッセージが受信された場合(ステップS212;YES)には、受信メッセージが、通常の車両情報メッセージ、処理結果メッセージ、処理完了通知メッセージ、探索用メッセージ、中継車両メッセージ、停止指示メッセージのいずれであるかを判断する(ステップS213)。
【0095】
ここで、中継車両メッセージとは、中継車両30が路側方向に向けて送信するブロードキャストメッセージのことである。また、停止指示メッセージとは、配信センタ10が送信する、エージェントの動作停止を指示するメッセージのことである。
【0096】
制御装置23は、受信メッセージが処理完了通知メッセージであった場合(ステップS213;処理完了通知メッセージ)には、既に説明した内容の停止指示メッセージ送信依頼メッセージを配信センタ10に送信する(ステップS214)。
【0097】
制御装置23は、受信メッセージが処理結果メッセージであった場合(ステップS214;処理結果メッセージ)には、既に説明した内容の処理結果通知メッセージを配信センタ10に送信する(ステップS215)。
【0098】
制御装置23は、受信メッセージが中継車両メッセージであった場合(ステップS214;中継車両メッセージ)には、RAM上のエージェントのコピーを、その中継車両メッセージの送信元(つまり、中継車両30)に返送する(ステップS216)。そして、ステップS214〜S216のいずれかの処理を行った制御装置23は、ステップS211の処理を再び開始する。
【0099】
また、図示は省略してあるが、制御装置23は、受信情報が探索用メッセージであった場合には、それに対する確認応答メッセージを、通信装置21を利用して当該探索用メッセージの送信元に送信してからステップS211の処理を開始する。
【0100】
制御装置23は、受信メッセージが停止指示メッセージであった場合(ステップS214;停止指示メッセージ)には、このエージェント規定処理を終了する。そして、RAM上のエージェントを消去してから(図示せず)、ステップS201(図8)以降の処理を再び開始する。
【0101】
制御装置23は、受信メッセージが通常の車両情報メッセージであった場合(ステップS213;車両情報メッセージ)には、その車両情報メッセージを送信した車両40(以下、近接車両と表記する)が、自装置内の部分コード(受信しているエージェント内の部分コード)を送信すべき車両(以下、送信対象車両と表記する)であるか否かを判断する(ステップS217)。
【0102】
具体的には、このステップS217において、制御装置12は、まず、受信した車両情報メッセージ中の車両情報(以下、処理対象車両情報と表記する)に含まれる車両IDと、自装置内の部分コードを受信させるべき車両40の車両ID(受信しているエージェントに、部分コードと共に含まれている車両ID)とを比較する。そして、制御装置12は、両車両IDが一致していなかった場合には、近接車両が送信対象車両ではないと判断する。
【0103】
一方、両車両IDが一致していた場合、制御装置23は、自装置内の部分コードのコードIDと同じコードIDが、処理対象車両情報に含まれているか否かをチェックする。そして、制御装置12は、そのようなコードIDが処理対象車両情報に含まれていた場合には、近接車両が送信対象車両ではないと判断し、そのようなコードIDが処理対象車両情報に含まれていなかった場合には、近接車両が送信対象車両であると判断する。
【0104】
要するに、既に説明したコード更新処理部50、50′の機能から明らかなように、幾つかの部分コードを既に受信している車両40の車両情報には、当該幾つかの部分コードのコードIDが含まれている。従って、自装置内の部分コードのコードIDと同じコードIDが、処理対象車両情報に含まれていた場合、近接車両は、自装置内の部分コードと同じものを既に受信していることになる。そして、受信済みの部分コードを再度受信させる必要はないので、エージェントを、上記のような判断を制御装置23に行わせるプログラムとして作成してあるのである。
【0105】
制御装置23は、近接車両が送信対象車両でなかった場合(ステップS217;NO)には、自路側機IDと受信車両情報メッセージ中の車両情報とを含めた車両近接通知メッセージを、通信装置22を利用して配信センタ10に送信する(ステップS218)。そして、制御装置23は、再び、ステップS211以降の処理を開始する。
【0106】
制御装置12は、近接車両が送信対象車両であった場合(ステップS217;YES)には、部分コード送信処理(ステップS219)を行う。
【0107】
この部分コード送信処理は、『近接車両に対して(近接車両の通信装置41に宛てて)部分コードを送信した後、受信完了を示すメッセージの受信を所定時間の間だけ待機する処理』を、当該メッセージが受信される(部分コードの送信に成功する)か、実行回数が所定回数となる(部分コードの送信に失敗する)まで、繰り返す処理である。
【0108】
近接車両は、今回、受信した車両情報メッセージの送信源であるため、自路側機20の近くに存在している。そして、車両情報メッセージは、車速が規定速度以下となった車両40から送信されるメッセージであるため、上記部分コード送信処理は、原則として(近接車両が、車両情報メッセージの送信直後に急加速等を開始しない限り)、部分コードの送信に成功する処理となっている。
【0109】
部分コード送信処理を終えた制御装置23は、部分コードの送信に成功した場合には、ステップS220にて、近接車両の車両情報(今回、受信した車両情報メッセージ中の車両情報)と、近接車両に送信した部分コードのコードIDと、自路側機IDとを含めた部分コード送信成功メッセージを配信センタ10に送信する。また、制御装置23は、部分コードの送信に失敗した場合には、ステップS220にて、部分コード送信成功メッセージと本質的には同内容の部分コード送信失敗メッセージ(車両情報、コードID及び路側機IDを含むと共に、自身が部分コード送信失敗メッセージであることを示す情報を含むメッセージ)を配信センタ10に送信する。
【0110】
なお、これらの処理で送信される部分コード送信成功/失敗メッセージは、近接車両に送信した部分コードのコードIDが、車両情報中の各コードIDと識別可能な形で含まれるものである。
【0111】
そして、ステップS220の処理を終えた制御装置23は、このエージェント規定処理を終了し、RAM上のエージェントを消去した上(図示せず)で、ステップS201(図8)以降の処理を再び開始する。
【0112】
次に、配信センタ10の構成及び機能を説明する。なお、配信センタ10は、比較的に高機能なコンピュータに各種のプログラムやデータを記憶させることによって実現した装置となっている。このため、以下では、配信センタ10の具体的なハードウェア構成の説明は省略し、配信センタ10のソフトウェア的な構成(配信センタ10が保持している情報の種類/内容)と配信センタ10の機能とを説明することにする。
【0113】
図10に、配信センタ10の機能ブロック図を示す。
【0114】
図示してあるように、配信センタ10は、通信装置11、コード管理部12、通信処理部13、更新状況管理DB14、エージェント管理DB15、地図DB16、エージェント配信先設定部17、信号機状態DB18及びDB更新部19を、備えている。
【0115】
通信装置11は、各路側機20と固定通信網を介して通信を行うための装置である。
【0116】
更新状況管理DB14は、送信結果通知メッセージを受信した配信センタ10により、当該送信結果通知メッセージに含まれる車両情報、処理結果情報及び路側機IDを設定したレコードが追加されるデータベースである。ただし、更新状況管理DB14は、そこに記憶された情報を配信センタ10が利用することがないデータベースとなっている。すなわち、更新状況管理DB14は、本システムの運用者が各車両30のソフトウェアの更新状況を管理できるようにするために、用意されているデータベースとなっている。
【0117】
エージェント管理DB15は、各種車両40に対して用意されたエージェントが配信されている路側機20群(詳細は後述)を管理するためのデータベースである。このエージェント管理DB15は、車両ID、コードID、路側機ID及び送信日時を設定可能な複数のレコードからなるデータベースとなっている。
【0118】
地図DB16は、道路に関する各種情報(各種交差点間の距離等が分かる情報)を記憶したデータベースである。この地図DB16には、各路側機20の位置を各路側機20の路側機IDから特定できる情報も記憶されている。
【0119】
信号機状態DB18は、各所にある信号機や踏切警報機について、その信号機/踏切警報機の状態がいつ変わるのかについての情報を記憶したデータベースである。
【0120】
DB更新部19は、上記したエージェント管理DB15から、"送信日時<現在日時−
設定時間"が成立しているレコードを削除する処理を定期的に行う機能ブロックである。
なお、設定時間とは、オペレータによって設定される時間のことであり、この設定時間としては、通常、エージェントの有効期限と同じ時間が設定される。
【0121】
コード管理部12は、以下の機能を有する機能ブロックである。
【0122】
コード管理部12は、更新コード等がオペレータにより入力された場合には、入力された更新コード等に基づき、その更新コードに応じた内容及び個数の部分コードを生成して(図5参照)コード管理部12内に記憶する部分コード生成処理を行う。
【0123】
なお、この部分コード生成処理をコード管理部12に行わせる場合に実際に入力が必要な情報は、更新コード、更新対象ソフトウェア(更新コードによって更新されるべきソフトウェア)の名称、及び、更新後バージョン情報(更新コード適用後の更新対象ソフトウェアのバージョン情報である。また、コード管理部12は、或る更新コードから生成した部分コード群を既に保持している状態でも、部分コード生成処理を実行可能なもの(複数の更新データに関する部分コード群を同時に保持可能なもの)となっている。
【0124】
コード管理部12は、オペレータが或る部分コード群の消去を指示した場合には、消去を指示された部分コード群を消去する処理を行う。
【0125】
また、コード管理部12は、通信処理部13から、或る車両40(以下、注目車両と表記する)に関する車両情報(以下、注目車両情報と表記する)が与えられた場合には、図11に示した手順の部分コード選択処理を実行する。
【0126】
すなわち、通信処理部13から注目車両情報が与えられたため、この部分コード選択処理を開始したコード管理部12は、まず、未処理の要更新ソフトウェアの中から、1つの要更新ソフトウェアを選択する処理(ステップS301)を行う。ここで、要更新ソフトウェアとは、それに関する部分コード群をコード管理部12が保持しているソフトウェアのことである。また、未処理の要更新ソフトウェアとは、ステップS302以降の処理が
未だ行われていない要更新ソフトウェアのことである。なお、ステップS301の処理は、未処理の要更新ソフトウェアが複数個あった場合、部分コード群の生成が最も過去に行われた要更新ソフトウェアを選択するものとなっている。
【0127】
次いで、コード管理部12は、選択した要更新ソフトウェア(以下、選択ソフトウェアと表記する)に関する更新後バージョン情報と、注目車両情報中の選択ソフトウェアに関するバージョン情報とを比較することにより、注目車両内の選択ソフトウェアが更新済みであるか否かを判断する(ステップS302)。
【0128】
注目車両内の選択ソフトウェアがまだ更新されていなかった場合(ステップS302;NO)、コード管理部12は、自身が管理している選択ソフトウェアに関する部分コードの中から、そのコードIDが注目車両情報中のいずれのコードIDとも一致していない部分コード(つまり、注目車両がまだ受信していない部分コード;以下、未受信コードと表記する)を探索する(ステップS303)。このステップS303の処理は、未受信コードを全て探索する処理ではなく、選択ソフトウェアに関する各部分コードが未受信コードであるか否かを、図5における左端の部分コードから順々に確認していき、最初に未受信コードであることが確認された部分コードを探索結果とする処理となっている。
【0129】
未受信コードの探索に成功した場合(ステップS304;YES)、コード管理部12は、探索した部分コード(未受信コード)を処理結果として通信処理部13に戻す(ステップS305)。そして、コード管理部12は、この部分コード選択処理を終了する。
【0130】
一方、未受信コードの探索に失敗した場合(ステップS304;NO)、コード管理部12は、未処理の要更新ソフトウェアが残っているか否かを判断する(ステップS306)。また、コード管理部12は、注目車両内の選択ソフトウェアが更新済みであった場合(ステップS302;YES)には、ステップS303の処理等を行うことなく、このステップS306の判断を行う。
【0131】
そして、コード管理部12は、未処理の要更新ソフトウェアが残っていた場合(ステップS306;YES)には、ステップS301以降の処理を再び実行する。
【0132】
また、コード管理部12は、未受信コードの探索に失敗した場合(ステップS304;NO)と、未処理の要更新ソフトウェアが残っていなかった場合(ステップS306;NO)とには、注目車両に送信すべき部分コードがないことを示す情報(以下、"更新不要"と表記する)を処理結果として通信処理部13に戻してから(ステップS307)、この部分コード選択処理を終了する。
【0133】
エージェント配信先決定部17(図10)は、通信処理部13から路側機IDが与えられたときに、図12に示した手順のエージェント配信先決定処理を実行する機能ブロックである。
【0134】
すなわち、通信処理部13から路側機IDが与えられたため、このエージェント配信先決定処理を開始したエージェント配信先決定部12は、まず、地図DB16を参照することにより、通信処理部13から与えられた路側機IDで識別される路側機20の傍に位置している車両40(以下、注目車両と表記する)が次に止まる可能性がある幾つかの場所(傍に路側機20が配置されている交差点への侵入口部分、踏切の前等)と、各場所の傍に配置されている路側機20の路側機IDとを特定する処理(ステップS401)を行う。なお、このステップS401にてエージェント配信先決定部12が実際に行う処理は、通信処理部13から与えられた路側機IDで識別される路側機20からの距離が規定距離以下であり、かつ、注目車両の現在の進行方向の±90度の範囲内にある交差点の侵入口
部分等を、注目車両が次に止まる可能性がある場所として特定する処理である。
【0135】
次いで、エージェント配信先決定部17は、信号機状態DB18を参照することにより、特定した場所毎に、その場所が注目車両が止まる可能性が高い場所であるか否かを判定する(ステップS402)。このステップS402の処理は、各道路が渋滞していない(移動中の注目車両の速度が通常の速度である)と仮定して上記判定を行うものとなっている。
【0136】
そして、エージェント配信先決定部17は、注目車両が止まる可能性が高いと判定した各場所の傍に配置されている路側機20の路側機IDを、処理結果として通信処理部13に戻す処理(ステップS403)を行ってから、このエージェント配信先決定処理を終了する。
【0137】
通信処理部13(図10)は、配信センタ10が始動されると、図13に示した手順の処理を開始する機能ブロックである。
【0138】
すなわち、通信処理部13は、配信センタ10が始動されると、まず、通信装置11により路側機20からの各種メッセージが受信されるのを監視(待機)している状態(ステップS500の処理を繰り返している状態)となる。
【0139】
通信装置11により何らかのメッセージが受信された場合(ステップS500;YES)、通信処理部13は、そのメッセージ(以下、受信メッセージと表記する)が、車両近接通知メッセージ、処理結果通知メッセージ、部分コード送信成功メッセージ、部分コード送信失敗メッセージ、停止指示メッセージ送信依頼メッセージのいずれであるかを判別する(ステップS501)。
【0140】
通信処理部13は、受信メッセージが車両近接通知メッセージであった場合(ステップS501;車両近接)には、ステップS505にて、受信メッセージ中の車両情報を渡すことによりコード管理部12に部分コード選択処理を開始させる。その後、通信処理部13は、部分コード選択処理の処理結果(部分コード、又は、"更新不要")がコード管理部12から入力される(戻される)のを待機し、処理結果が入力されたときに、ステップS505の処理を終了する。
【0141】
ステップS505の処理を終えた(部分コード選択処理の処理結果がコード管理部12から入力された)通信処理部13は、コード管理部12から入力された情報が、"更新不
要"であった場合(ステップS506;更新不要)には、通信装置11によりメッセージ
が受信されるのを監視している状態に戻る。
【0142】
一方、コード管理部12から入力された情報が部分コードであった場合(ステップS506;部分コード)、通信処理部13は、ステップS507にて、まず、受信メッセージ中の路側機IDを渡すことによりエージェント配信先決定部17にエージェント配信先決定処理を開始させる処理を行う。その後、通信処理部13は、エージェント配信先決定処理の処理結果(複数の路側機ID)がコード管理部12から入力されるのを待機し、処理結果が入力されたときに、ステップS507の処理を終了する。
【0143】
ステップS507の処理を終えた通信処理部13は、エージェント管理DB15を参照することにより、コード管理部12から入力された複数の路側機IDの中からエージェントが配信されていない路側機20の路側機IDを抽出する(ステップS508)。
【0144】
次いで、通信処理部13は、自身が管理しているエージェントのひな形データを利用し
て、コード管理部12から入力された部分コード、受信メッセージ中の車両ID、オペレータによって予め設定されている有効期限を含めたエージェントを生成する(ステップS509)。そして、通信処理部13は、生成したエージェントを、ステップS508の処理で抽出した各路側機IDで識別される路側機20に送信する(ステップS510)。
【0145】
その後、通信処理部13は、送信した各エージェントに関する情報をエージェント管理DB15に追加する(ステップS511)。すなわち、通信処理部13は、送信したエージェント毎に、そのエージェントの送信先路側機20の路側機IDと、そのエージェントに含めたコードID及び車両IDと、エージェントの送信日時(現在日時)とを設定したレコードをエージェント管理DB15に追加する処理(設定されている路側機IDが異なる複数のレコードを追加する処理)を、このステップS511にて行う。
【0146】
そして、ステップS511の処理を終えた通信処理部13は、通信装置11によりメッセージが受信されるのを監視している状態に戻る。
【0147】
通信処理部13は、受信メッセージが、部分コード送信成功メッセージ又は部分コード送信失敗メッセージであった場合(ステップS501;送信成功/失敗)には、停止指示メッセージ送信処理(ステップS502)を行う。
【0148】
この停止指示メッセージ送信処理は、受信メッセージ中の車両情報中の車両ID、コードID(車両情報中のコードIDではないもの)と、それぞれ、車両ID、コードIDが一致しているエージェント管理DB15内の各レコードについて、そのレコード内の路側機IDで識別される路側機20に対して停止指示メッセージを送信してから、そのレコードを消去する処理のことである。
【0149】
停止指示メッセージ送信処理を終えた通信処理部13は、受信メッセージ(この場合、部分コード送信成功/失敗メッセージ)に対するステップS505〜S511の処理を行う。その後、通信処理部13は、ステップS500の処理を開始する。
【0150】
流れ図(図13)への表記は省略してあるが、通信処理部13は、受信メッセージが、停止指示メッセージ送信依頼メッセージであった場合にも、上記内容の停止指示メッセージ送信処理を行う。ただし、この場合、通信処理部13は、ステップS505〜S511の処理を行うことなく、ステップS500の処理を開始する。
【0151】
通信処理部13は、受信メッセージが処理結果通知メッセージであった場合(ステップS502;処理結果通知)には、受信した処理結果通知メッセージに含まれている各種情報を設定したレコードを更新状況管理DB14に追加する更新状況管理DB更新処理(ステップS503)を行う。そして、更新状況管理DB更新処理を終えた通信処理部13は、受信メッセージ(この場合、処理結果通知メッセージ)に対するステップS505以降の処理を開始する。
【0152】
次に、中継車両30の構成及び機能と、中継車両30内の制御装置33内で実行された場合のエージェント(部分コード送信エージェント)の機能とを、説明する。
【0153】
中継車両30(図1参照)は、バス、タクシー等の路上を走行している時間が長い車両に、通信装置31、通信装置32及び制御装置33を搭載した車両である。
【0154】
通信装置31は、各路側機20と無線通信を行うための装置である。通信装置32は、自中継車両30の後方を走行している車両40と無線通信を行うための装置である。各通信装置31、32は、通信装置41等と同様に、通信可能な距離が短く、かつ、通信可能
な方向に指向性がある装置となっている。
【0155】
制御装置33は、CPU、ROM、RAM等から構成された装置である。この制御装置33は、以下の処理を行うように、プログラミングされている。
【0156】
制御装置33は、通常は、車速(自中継車両30の速度)が規定速度以下となるのを監視している。そして、制御装置33は、車速が規定速度以下となった場合には、既に説明した中継車両メッセージ(ブロードキャストメッセージ)を定期的に通信装置31に送信させる中継車両メッセージ送信処理を開始する。また、中継情報メッセージ送信処理を開始した制御装置33は、路側機20からエージェントが送信されてくることと、車速が規定速度を超えることとを監視するエージェント等監視処理も開始する。
【0157】
制御装置33は、路側機20からエージェントが送信されてくることなく、自車両の車速が規定速度を超えた場合には、エージェント等監視処理及び中継車両メッセージ送信処理を終了する。そして、制御装置33は、通常の状態(自車両の車速が規定速度以下となるのを監視し、車速が規定速度以下となった場合には、中継車両メッセージ送信処理等を開始する状態)に戻る。
【0158】
制御装置33は、路側機20からエージェントが送信されてきた場合には、エージェント等監視処理及び中継車両メッセージ送信処理を終了すると共に、そのエージェントを内部(自装置内のRAM上)に記憶する。
【0159】
そして、制御装置33は、そのエージェントに従って図14に示した手順の処理を開始する。
【0160】
すなわち、エージェントに従った動作を開始した制御装置33は、まず、エージェントの有効期限が切れることと、通信装置32により第2車両情報メッセージが受信されることとを監視する処理(ステップS601及びS602のループ処理)を開始する。
【0161】
制御装置33は、エージェントの有効期限が切れた場合(ステップS601;YES)には、この図の処理を終了する。そして、エージェントをRAM上から消去した上で、通常の状態に戻る。
【0162】
また、制御装置33は、通信装置32により第2車両情報メッセージが受信された場合(ステップS602;YES)には、既に説明したステップS217(図9)の判断と同内容/手順の判断をステップS603にて行う。
【0163】
そして、制御装置33は、近接車両(今回、受信した第2車両情報メッセージを送信した車両40)が、自装置内の部分コード(受信しているエージェント内の部分コード)を送信すべき送信対象車両でなかった場合(ステップS603;NO)には、エージェントの有効期限が切れることと、通信装置32により他の第2車両情報メッセージが受信されることとを監視する処理(ステップS601及びS602のループ処理)を開始する。
【0164】
一方、近接車両が送信対象車両であった場合(ステップS603;YES)、制御装置33は、路側機20が行うものと本質的には同内容の部分コード送信処理を、ステップS604にて行う。
【0165】
具体的には、制御装置33は、『近接車両に対して(近接車両の通信装置42に宛てて)部分コードを送信した後、受信完了を示すメッセージの受信を所定時間の間だけ待機する処理』を、当該メッセージが受信される(部分コードの送信に成功する)か、実行回数
が所定回数となる(部分コードの送信に失敗する)まで、繰り返す部分コード送信処理を、このステップS604にて行う。
【0166】
そして、制御装置33は、部分コード生成処理に失敗した場合(近接車両から、部分コードの受信完了を示すメッセージが受信できなかった場合;ステップS605;YES)には、この図の処理を終了し、エージェントをRAM上から消去した上で、通常の状態に戻る。
【0167】
部分コード生成処理に成功した場合(ステップS605;YES)、制御装置33は、路側機探索処理(ステップS606)を行う。
【0168】
この路側機探索処理は、基本的には、探索用メッセージを、それに対する確認応答メッセージが通信装置31によって受信されるまで、定期的に通信装置31に送信させる処理である。ただし、路側機探索処理は、車速(自中継車両30の速度)が予め設定されている規定速度以下の場合に限り、探索用メッセージを通信装置31に送信させる処理となっている。
【0169】
路側機探索処理を終えた制御装置33は、路側機探索処理で探索した路側機20に対して、近接車両の車両情報(今回、受信した第2車両情報メッセージに含まれていた車両情報)と、近接車両に送信した部分コードのコードIDとを含む停止指示メッセージ送信依頼メッセージを送信する(ステップS607)。
【0170】
そして、制御装置33は、この図の処理を終了し、エージェントをRAM上から消去してから、通常の状態に戻る。
【0171】
次に、本実施形態に係るデータ配信システムの全体としての機能(データ配信システムの各構成要素の時系列的な動作)を、説明する。
【0172】
図15に模式的に示してあるように、ソフトウェアαに関する部分コード群のみが配信センタ10内に用意されている状況下、旧バージョンのソフトウェアαが使用されている車両40が、信号機が赤になった/信号機が赤であるため、交差点Aで止まった場合を考える。なお、車両40の状態は、まだソフトウェアαに関する部分コードを1つも受信していない状態であるとし、図15に示してある路側機20a〜20eの状態は、エージェントを受信していない状態であるとする。
【0173】
この場合、車両40は、完全に止まる少し前の時点(車速が規定速度以下となったとき)から、通常の車両情報メッセージ(車両情報のみを含むブロードキャストメッセージ)を定期的に送信し始める。
【0174】
交差点A近傍には、路側機20aが設置されている。従って、通常は(車両40が路側機20aから過度に離れた場所で停止しない限り)、車両40から、何回目かに送信された車両情報メッセージを、路側機20aが受信することになる。
【0175】
車両情報メッセージを受信した路側機20aは、車両40に対して確認応答メッセージを送信する。また、車両40内で実行される車両情報メッセージ送信処理は、確認応答メッセージが送信されてきた場合には、自車両40が所定距離移動するまで(通信装置41から送信した車両情報メッセージが他の路側機20によって受信される状況となるまで)、車両情報メッセージの送信を停止する処理となっている。このため、車両情報メッセージを定期的に送信する状態にあった車両40は、自車両40が所定距離移動するまで、車両情報メッセージを送信しない状態となる。
【0176】
また、車両情報メッセージを受信した路側機20aは、まだエージェントを受信していない。従って、路側機20aから配信センタ10へ、路側機20aの路側機IDと車両40の車両情報とを含む車両近接通知メッセージが送信される(図8;ステップS205参照。)ことになる。
【0177】
この車両近接通知メッセージが通信装置11によって受信された場合、配信センタ10内では、通信処理部13の制御下(図13;ステップS505)、コード管理部13により部分コード選択処理(図11)が行われる。
【0178】
車両40には、旧バージョンのソフトウェアαが使用されているので、上記車両近接通知メッセージ中の車両情報には、車両40内のソフトウェアαが古いバージョンのものであることを示すバージョン情報が含まれている。また、車両40の状態は、まだソフトウェアαに関する部分コードを1つも受信していない状態であるため、当該車両情報には、コードIDが全く含まれていない。そして、部分コード選択処理は、図6における左側から未受信コードを探索してく処理であるため、部分コード選択処理の終了時(図11;ステップS305)に、通信処理部13に、ソフトウェアαに関する、構成情報を含む部分コードが入力されることになる。
【0179】
通信処理部13に部分コードが入力される(図13:ステップS506;YES)と、エージェント配信先決定部17によりエージェント配信先決定処理が行われる(ステップS507)。
【0180】
エージェント配信先決定処理(図11)のステップS401の処理では、例えば、交差点B〜交差点Eの車両40側の侵入口部分が、車両40が次に止まる可能性がある場所として特定されると共に、各場所の傍に配置されている路側機20b〜20eの路側機IDが特定されることになる。また、続くステップS402の処理では、例えば、交差点C〜交差点Eの車両40側の侵入口部分が、車両40が止まる可能性が高い場所であると判定されることになる。
【0181】
そして、ステップS402の処理の判定結果が上記のようなものであった場合には、エージェント配信先決定処理の終了時に、交差点C〜交差点Eの車両40側の侵入口部分の場所の傍に設置されている路側機20c〜20eに関する3つの路側機IDが、エージェント配信先決定部17から通信処理部13に入力される(ステップS403)ことになる。
【0182】
複数の路側機IDがエージェント配信先決定部17から入力された通信処理部13は、エージェント管理DB15を参照することによって、コード管理部12から入力された複数の路側機IDの中から、エージェントが配信されていない路側機20の路側機IDを抽出する(図13:ステップS508)。また、通信処理部13は、コード管理部12から既に入力されている部分コード等を含むエージェントを生成する(ステップS509)。そして、通信処理部13は、生成したエージェントを、ステップS508の処理で抽出した各路側機IDで識別される路側機20に送信する(ステップS510)。
【0183】
要するに、本データ配信システム内の各路側機20は、複数のエージェントを同時に実行可能なものとはなっていないため、通信処理部13は、ステップS508にて、エージェント配信先決定部17から入力された路側機ID群から、既にエージェントが配信されている路側機20の路側機IDを除外する処理を行う。
【0184】
そして、通信処理部13は、車両40に受信させるべき部分コードを含めたエージェン
トを生成し、生成したエージェントを、図15に模式的に示してあるように、車両40が次に止まる可能性が高い場所に設置されている、エージェントが未だ配信されていない路側機20c〜20eに送信する。
【0185】
その後、通信処理部13は、路側機20c〜20eにエージェントを送信したことをエージェント管理DB15内に記憶(ステップS511)してから、路側機20からメッセージが送信されてくるのを監視する処理(ステップS500)を再び開始する。
【0186】
以上のような一連の処理がデータ配信システムによって行われた後、車両40が直進した場合には、車両40が交差点Eに近づいたときに、交差点Eの信号機が赤に変わることになる。そのため、図16に模式的に示してあるように、車両40(通信装置41)から、車両情報メッセージが送信されることになる。
【0187】
交差点E近傍には、路側機20eが設置されている。従って、路側機20eは、車両40から何回目かに送信された車両情報メッセージを受信することになる。
【0188】
また、路側機20eは、既にエージェント(図における"*")に従った動作を開始している。そのため、車両情報メッセージを受信した路側機20eは、部分コードを車両40に送信する処理(図9:ステップS219)と、配信センタ10に部分コード送信成功/失敗メッセージを送信する処理(ステップS210)とを行う。
【0189】
部分コード送信成功/失敗メッセージが通信装置11によって受信された場合、配信センタ10内では、通信処理部13により、路側機20c〜20eのそれぞれに停止指示メッセージを送信する停止指示メッセージ送信処理(ステップS502)が行われる。そして、その結果として、路側機20c、20d内のエージェントが終了することになる。また、エージェントに従った動作を既に終了している路側機20cは、配信センタ10からの停止指示メッセージを無視(破棄)することになる。
【0190】
なお、停止指示メッセージ送信処理(ステップS502)時には、既に説明したように、エージェント管理DB15内の、路側機20c〜20eに関するレコードを消去する処理も行われる。従って、データ配信システムの状態は、路側機20c〜20eがエージェントの送信先から除外される状態から、路側機20c〜20eがエージェントの送信先から除外されない状態に変化することになる。
【0191】
停止指示メッセージ送信処理が完了した場合には、ステップS505〜S511の処理が、今回、受信した部分コード送信成功/失敗メッセージ中の車両情報及び路側機IDを用いた形で実行される。その結果、新たにエージェントが生成されて、次に車両40が止まる可能性が高い場所の傍に位置している幾つかの路側機20に送信されることになる。なお、部分コード送信成功メッセージが受信された場合に生成されるエージェントは、車両40に関するものとして前回生成したエージェントとは異なる部分コードを含むものであるが、部分コード送信失敗メッセージが受信された場合に生成されるエージェントは、車両40に関するものとして前回生成したエージェントと同じ部分コードを含むものである。
【0192】
このように、本データ配信システムでは、車両40が交差点等で止まる(或いは、車両40の車速が、無線通信可能な速度まで落ちる)度に、車両40に部分コードが配信(送信)されていく。
【0193】
そして、全ての部分コードが車両40に配信された状態で、車両40のイグニッションキーがOFFされた場合には、図6のステップS103〜S112の処理が行われ、車両
40の情報記憶部56上に、ソフトウェアの更新に成功/失敗したことを示す処理結果情報が記憶される。
【0194】
この処理結果情報は、車両40の次回始動時に、処理結果メッセージ(処理結果情報を含む車両情報メッセージ)中の情報として路側機20に通知される。そして、処理結果メッセージを受信した路側機20は、処理結果通知メッセージを配信センタ10に送信し、処理結果通知メッセージを受信した配信センタ10は、その処理結果通知メッセージに含まれている各種情報を設定したレコードを更新状況管理DB14に追加する(ステップS503)。その後、配信センタ10は、車両40内の他のソフトウェアの更新が必要であるか否かを確認することや、部分コード群を車両40に再送信することを目的として、ステップS505以降の処理を開始する。
【0195】
また、中継車両30が、エージェントに従って動作している或る路側機20に近づいた場合、中継車両30に、エージェント(のコピー)が送信される(図9のステップS216参照)。
【0196】
そして、エージェントを受信した中継車両30(図14参照)は、第2車両情報メッセージを送信してきた車両40に対して、その車両40が送信対象車両であることを確認した上で、自車両40内の部分コードを送信する装置として動作を開始する。
【0197】
一方、コード更新処理部50を備えた車両40は、車速がほぼ一定速度となっている場合には、第2車両情報メッセージを前方に向けて定期的に送信し、通信装置42によって部分コードが受信された場合には、その部分コードを情報記憶部56に記憶する処理等を行うものとなっている。
【0198】
従って、コード更新処理部50を備えた車両40の前方を中継車両30が走行していた場合、当該車両40は、上記路側機20からの部分コードの受信に失敗しても、中継車両30から部分コードを受信できることになる。
【0199】
以上、詳細に説明したように、本実施形態に係るデータ配信システムは、データである更新コードをそのまま車両40に無線送信するシステムではなく、更新コードを幾つかの、短時間で無線送信可能なサイズの部分コードに分けて車両40に無線送信するシステムとなっている。さらに、データ配信システムは、車両40が止まる/減速することが多い場所の近傍に設置された複数の路側機20を備え、車両40に、当該車両40が近づいた路側機20〔当該車両がその後止まる可能性が高いと予測された複数の場所(図12;ステップS401)の傍に設置されているいずれかの路側機20〕から部分コードが配信されるシステムとなっている。
【0200】
従って、このデータ配信システムを用いておけば、ドライバが車両40を運転しさえすれば、車両40にデータが配信される環境を実現できることになる。
【0201】
また、上記した車両40が備える制御装置は、無線送信されてきた各部分データを、車両内の装置(エンジン、カーナビゲーションシステム等)を制御するための各プログラムの動作に何ら影響を与えない形で管理する(保護ドメイン内に記憶する)ものとなっている。さらに、制御装置は、更新データが復元可能な状態になった場合には、更新データを復元し、その更新データが改竄されていないもの(元々の更新データと同じもの)であることが確認できた場合にのみ、その更新データに基づくプログラムの更新を行うもの(図6参照)となっている。
【0202】
従って、車両40(制御装置)は、無線送信されたデータに基づき、制御装置内のプロ
グラムを極めて安全に更新できるものとなっていることになる。
【0203】
《変形形態》
上記したデータ配信システムは各種の変形を行うことが出来る。例えば、各路側機20を、何らかのメッセージを周期的にブロードキャストする装置に変形し、車両40を、当該メッセージ受信時に、車両情報等を含むメッセージ(車両情報メッセージ等に相当するユニキャストメッセージ)を送信するものに変形することが出来る。また、データ配信システムを、GPSにより配信センタ10が車両40の位置を特定するシステムに変形することも出来る。
【0204】
データ配信システムを、配信センタ10から路側機20に、部分コード送信エージェントではなく、部分コードが送信されるシステムに変形することも出来る。データ配信システムを、各路側機20として、複数の部分コード送信エージェントを並列的に実行可能な装置/複数の部分コードを同時期に受信できる装置を備えたものに変形することも出来る。データ配信システムを、各車両40にどの部分コードが配信されているかを、配信センタ10が管理する(車両40から、受信済みの部分コードに関する情報が送信されない)システムに変形することも出来る。
【0205】
路側機20や車両40に、指向性がない/指向性が弱い無線通信装置を搭載しておくこともできる。ただし、路側機20や車両40に、そのような無線通信装置を搭載しておいた場合、車両40の進行方向を把握するための処理(車両40が近づいた路側機20の路側機IDを時系列的に記憶しておく処理等)を行わないと、車両40の進行方向を考慮してエージェントの送信先を決定することが出来ないことになるので、路側機20や車両40には、指向性がある無線通信装置を搭載しておくことが望ましい。
【0206】
また、通信の指向性がないものを採用する時、不特定多数から通信内容が盗聴される可能性があるため、通信内容を暗号化し、保護ドメイン内で復号することが望ましい。
【0207】
データ配信システムを、更新コード以外のデータ(車両40内の制御装置が実行可能なアプリケーションプログラム等)も車両40に配信できるシステムや、上記したものとは具体的な構成が異なる車両40にデータを配信するシステムに変形することも出来る。また、データ配信システムを、小サイズのデータについては、分割せず、そのデータを暗号化したデータ等を、部分データとして取り扱うシステムに変形しておいても良いことなどは、当然のことである。
【図面の簡単な説明】
【0208】
【図1】本発明の一実施形態に係るデータ配信システムの構成図である。
【図2】実施形態に係るデータ配信システムが更新データを配信する車両が備える制御装置の説明図である。
【図3】2つの通信装置を制御するコード更新処理部の機能ブロック図である。
【図4】1つの通信装置を制御するコード更新処理部の機能ブロック図である。
【図5】部分コードの説明図である。
【図6】コード更新処理部が実行する処理の流れ図である。
【図7】路側機の構成図である。
【図8】路側機内の制御装置が実行する処理の流れ図である。
【図9】路側機内の制御装置が、部分コード送信エージェントに従って実行する処理の流れ図である。
【図10】配信センタの構成図である。
【図11】配信センタ内のコード管理部が実行する部分コード選択処理の流れ図である。
【図12】配信センタ内のエージェント配信先決定部が実行するエージェント配信先決定処理の流れ図である。
【図13】配信センタ内の通信処理部が実行する処理の流れ図である。
【図14】中継車両内の制御装置が、部分コード送信エージェントに従って実行する処理の流れ図である。
【図15】データ配信システムによる更新データの配信手順を説明するための図である。
【図16】データ配信システムによる更新データの配信手順を説明するための図である。
【符号の説明】
【0209】
10・・・配信センタ
11、21、22、31、32、41、42・・・通信装置
12、23、33・・・制御装置
13・・・通信処理部
14・・・更新状況管理DB
15・・・エージェント管理DB
16・・・地図DB
17・・・エージェント配信先設定部
18・・・信号機状態DB
19・・・DB更新部
20・・・路側機
30・・・中継車両
40・・・車両
43・・・路側機用通信制御部
50・・・コード更新処理部
51・・・部分コード復元部
52・・・部分コード管理部
53・・・路側機用通信制御部
54・・・中継車両用通信制御部
55・・・コード更新部
56・・・情報記憶部

【特許請求の範囲】
【請求項1】
通信機能を有する車両にデータを配信するためのデータ配信システムであって、
車両が止まる場所及び/或いは車両が減速する場所の近傍に設置された複数の路側機と、配信装置とを含み、
前記配信装置が、
所定時間内に送信可能なサイズに基づいて或るデータを1つ以上に分割した部分データであって、それらを組み合わせることにより前記データを復元することが可能な1つ以上の部分データを記憶した部分データ記憶手段と、
前記データを配信すべき車両の位置の把握結果に基づき、走行経路における走行速度が所定値以下となりえる場所に設置された前記路側機に、前記記憶手段上の部分データとその部分データの送信先とすべき車両を指定する車両指定情報とを送信する処理を、前記部分データ記憶手段上の各部分データについて行う配信手段と
を備えた装置であり、
前記複数の路側機のそれぞれが、
前記配信装置から送信されてきた前記部分データと前記車両指定情報とを受信する受信手段と、
前記受信手段によって受信された前記部分データを、通信可能な範囲に入った、前記受信手段によって受信された前記車両指定情報が指定する車両に送信する部分データ送信手段と
を備えた装置である
ことを特徴とするデータ配信システム。
【請求項2】
送信されてきた前記部分データと前記車両指定情報とを受信する中継車両内受信手段と、
前記受信手段によって受信された前記部分データを、通信可能な範囲に入った、前記受信手段によって受信された前記車両指定情報が指定する車両に送信する中継車両内部分データ送信手段と
を備えた中継車両を、さらに含み、
前記複数の路側機のそれぞれが、
通信可能な範囲に入った前記中継車両に、前記受信手段によって受信された前記部分データと前記車両指定情報とを送信する部分データ等供給手段
を、さらに備えた装置である
ことを特徴とする請求項1記載のデータ配信システム。
【請求項3】
前記複数の路側機のそれぞれが、
前記部分データ送信手段の通信可能な範囲に入った車両に関する情報である車両情報を前記配信装置に送信する車両情報送信手段
を、さらに備えた装置であり、
前記配信装置の前記配信手段が、
前記データを配信すべき前記車両の位置を、各路側機の前記車両情報送信手段によって送信された車両情報から把握する手段である
ことを特徴とする請求項1又は請求項2に記載のデータ配信システム。
【請求項4】
前記車両情報が、
対応する車両が既に受信している部分データを示す情報を含む情報であり、
前記配信装置の前記配信手段が、
予測した各場所の傍に設置されている前記路側機に対していずれの部分データを送信するかを、受信した前記車両情報に基づき決定する手段である
ことを特徴とする請求項3記載のデータ配信システム。
【請求項5】
前記複数の部分データから復元されるデータが、
前記車両内で使用されているソフトウェアを更新するためのデータである
ことを特徴とする請求項1乃至請求項4のいずれか一項に記載のデータ配信システム。
【請求項6】
車両が止まる場所及び/或いは車両が減速する場所の近傍に設置された複数の通信機能を有する路側機を利用して、通信機能を有する車両にデータを配信するためのデータ配信方法であって、
前記データを、所定時間内に送信可能なサイズに基づいて1つ以上に分割し、それらを組み合わせることにより前記データを復元することが可能な1つ以上の部分データを生成する生成ステップと、
前記データを配信すべき車両の位置の把握結果に基づき、走行経路における走行速度が所定値以下となりえる場所に設置された前記路側機に、前記生成ステップにより生成された部分データとその部分データの送信先とすべき車両を指定する車両指定情報とを送信する処理を、前記生成ステップにより生成された各部分データについて行う配信ステップと
を含むことを特徴とするデータ配信方法。
【請求項7】
通信装置及び制御装置を備えた車両であって、
前記制御装置が、
車両内の装置を制御するための幾つかのプログラムが実行される第1ドメインと、前記第1ドメインとは独立したプログラムの実行環境である第2ドメインとを有する装置であり、
前記制御装置の前記第2ドメイン内のプログラムにより、
前記第1ドメイン内で使用されているプログラムを更新するための更新データを復元可能な複数の部分データが前記通信装置を利用して受信されて前記第1ドメイン上のプログラムが利用出来ないデータとして管理され、
前記複数の部分データから前記更新データが復元された後、その更新データが改竄されていないものであることが確認され、
当該更新データが改竄されていないものであることが確認された場合にのみ、当該更新データを用いた前記第1ドメイン上のプログラムの更新が行われる
ことを特徴とする車両。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−128965(P2010−128965A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−305158(P2008−305158)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】