(57)【要約】【課題】車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避する。【解決手段】車両の車載通信装置は、メモリに記憶されているバージョン識別子と、コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、管理サーバから、メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得してメモリに記憶されているバージョン識別子とともにコントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定してコントロールユニットのメモリから管理サーバにデータを送信する。【選択図】図２
2020004193.tif 000002
【特許請求の範囲】
【請求項１】
メモリにプログラムを格納し、格納された前記プログラムを実行することで車両の各部を制御するコントロールユニットと、
前記コントロールユニットとメモリアドレスとを関連付けて保持し、メモリアドレスを指定して前記コントロールユニットの前記メモリから車外の管理サーバにデータを送信する車載通信装置と、
を備え、
前記コントロールユニットの前記メモリには、前記プログラムとともに、前記プログラムのバージョンを識別するバージョン識別子が格納され、
前記車載通信装置では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子が前記コントロールユニットに関連付けられ、
前記車載通信装置は、前記メモリに記憶されているバージョン識別子と、前記コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、前記管理サーバから、前記メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得して前記メモリに記憶されているバージョン識別子とともに前記コントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定して前記コントロールユニットの前記メモリから前記管理サーバにデータを送信する車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信システムを構成する車両に関する。
【背景技術】
【０００２】
特許文献１には、各コンテンツプロバイダとの契約状態が記載されている契約管理テーブルが車載端末装置のハードディスクに記憶されており、その契約管理テーブルを車外のサーバ側の記憶内容に合わせて更新する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２９３８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、車両の各部を制御する１または複数のコントロールユニット内のメモリには、制御に供するプログラムとともに、車両の各部の動作結果などの各種のデータが記憶されることがある。そこで、例えば、車両の各部の動作が安全に行われているか否かの確認などを行うために、コントロールユニットのメモリ内のデータを、車載通信装置を介して車外の管理サーバに送信することがある。例えば、車載通信装置は、メモリのメモリアドレスを指定して読み出したデータを管理サーバに送信する。
【０００５】
ここで、車両が市場に流通した後に、コントロールユニットのプログラムを個々に改良することがある。このような場合、サービスステーションなどにおいて、コントロールユニットのプログラムのアップデートが行われる。このアップデートの際には、コンパイルされた最新バージョンのプログラムがコントロールユニットのメモリに格納される。
【０００６】
しかし、このようなアップデートが行われると、プログラムをコンパイルするコンパイラの影響により、メモリのメモリアドレスと各種のデータとの関係が、アップデートの前後において変更されることがある。また、アップデートはコントロールユニットを対象として個々に行われるため、車載通信装置において、メモリアドレスが変更されたことが認識されないことがある。
【０００７】
このような場合、アップデート後に車載通信装置がメモリアドレスを指定する際、変更される前のメモリアドレスが指定されることとなり、本来読み出すべきデータとは異なるデータが読み出されるおそれがある。その結果、車内のコントロールユニットから車外の管理サーバに誤ったデータが送信されるおそれがある。
【０００８】
そこで、本発明は、車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避することが可能な車両を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の車両は、メモリにプログラムを格納し、格納されたプログラムを実行することで車両の各部を制御するコントロールユニットと、コントロールユニットとメモリアドレスとを関連付けて保持し、メモリアドレスを指定してコントロールユニットのメモリから車外の管理サーバにデータを送信する車載通信装置と、を備え、コントロールユニットのメモリには、プログラムとともに、プログラムのバージョンを識別するバージョン識別子が格納され、車載通信装置では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子がコントロールユニットに関連付けられ、車載通信装置は、メモリに記憶されているバージョン識別子と、コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、管理サーバから、メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得してメモリに記憶されているバージョン識別子とともにコントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定してコントロールユニットのメモリから管理サーバにデータを送信する。
【発明の効果】
【００１０】
本発明によれば、車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態によるデータ通信システムの構成を示すブロック図である。
【図２】データ通信システムの動作を説明する説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００１３】
図１は、本実施形態によるデータ通信システム１の構成を示すブロック図である。図１では、信号の流れを破線の矢印で示している。以下では、本実施形態に関係する構成や処理について詳細に説明し、本実施形態と無関係の構成や処理については説明を省略する。
【００１４】
データ通信システム１は、車両２と、車外の管理サーバ３とを含んで構成される。車両２は、例えば、ハイブリッド自動車である。車両２は、複数のコントロールユニット１０Ａ、１０Ｂ、１０Ｃと、車載通信装置２０と、バス３０とを含んで構成される。以後、コントロールユニット１０Ａ、１０Ｂ、１０Ｃを区別しないときは、コントロールユニット１０と表記する。データ通信システム１は、車内のコントロールユニット１０から車外の管理サーバ３にデータを送信することが可能な構成となっている。
【００１５】
コントロールユニット１０Ａは、例えば、車両２全体を統括制御する統合コントロールユニットであり、コントロールユニット１０Ｂは、例えば、エンジンを制御するエンジンコントロールユニットであり、コントロールユニット１０Ｃは、例えば、モータを制御するモータコントロールユニットである。なお、コントロールユニット１０Ａ、１０Ｂ、１０Ｃは、統合コントロールユニット、エンジンコントロールユニット、モータコントロールユニットに限らず、例えば、トルクコントロールユニットやバッテリコントロールユニットなどであってもよい。
【００１６】
コントロールユニット１０は、中央処理装置（ＣＰＵ）、不揮発性メモリ１２、揮発性メモリ１４等を含む半導体集積回路から構成される。不揮発性メモリ１２は、例えば、プログラム１６等が格納されるＲＯＭである。揮発性メモリ１４は、例えば、ワークエリアとして機能するＲＡＭである。コントロールユニット１０は、例えば、起動時に不揮発性メモリ１２内のプログラム１６を揮発性メモリ１４に複製（転記）する。コントロールユニット１０の中央処理装置は、揮発性メモリ１４に複製されたプログラム１６を読み出して実行することで、車両２の各部を制御する。
【００１７】
車両２は、各コントロールユニット１０の不揮発性メモリ１２内のプログラム１６をアップデートすることが可能となっている。例えば、最新バージョンのプログラム１６が作成されると、その作成された最新バージョンのプログラム１６は、車外に設けられたコンパイラでコンパイルされる。コンパイル済の最新バージョンのプログラム１６は、例えば、管理サーバ３およびサービスステーション（ディーラー）のコンピュータに格納される。なお、以下では、最新バージョンのことを単に最新ということがある。
【００１８】
車両２には、例えば、バス３０に接続される入出力コネクタ（図示略）が設けられている。プログラム１６のアップデートの対象となる車両２は、サービスステーションに搬入される。サービスステーションに搬入された車両２は、入出力コネクタがサービスステーションのコンピュータに接続される。サービスステーションのコンピュータは、入出力コネクタを介してコンパイル済の最新のプログラム１６を車両２のコントロールユニット１０に送信する。そして、コントロールユニット１０は、不揮発性メモリ１２内のプログラム１６を、受信したコンパイル済の最新のプログラム１６に更新する。
【００１９】
コントロールユニット１０の揮発性メモリ１４には、プログラム１６の他に、各種のデータ１８が格納される。各種のデータ１８は、例えば、車両２の各部の動作結果などである。データ１８の一例としては、エンジンの回転数やトルクの推移、モータの回転数やトルクの推移などが挙げられる。
【００２０】
また、コントロールユニット１０は、例えば、コントロールユニット１０のシャットダウン時などにおいて、揮発性メモリ１４内の各種のデータ１８を不揮発性メモリ１２に複製してもよい。また、コントロールユニット１０は、例えば、コントロールユニット１０の起動時などにおいて、不揮発性メモリ１２に複製されていた各種のデータ１８を揮発性メモリ１４に複製してもよい。
【００２１】
車両２は、コントロールユニット１０の揮発性メモリ１４に格納される各種のデータ１８のうち、所望のデータ１８（例えば、車両２の安全確認に関するデータなど）を管理サーバ３に送信可能な構成となっている。コントロールユニット１０内の所望のデータ１８を管理サーバ３に送信する理由は、例えば、車両２の各部の動作が安全に行われているか否かを車外において確認することを可能とするためである。以後、管理サーバ３へ送信する所望のデータ１８を送信対象のデータ１８と呼ぶことがある。
【００２２】
車載通信装置２０は、車内に設けられており、中央処理装置（ＣＰＵ）、不揮発性メモリ、揮発性メモリ等を含む半導体集積回路から構成される。車載通信装置２０は、例えば、ＤＣＭ（Data Communication Module）である。車載通信装置２０は、不揮発性メモリに格納されたプログラムを実行することで、通信制御部２２として機能する。通信制御部２２は、車載通信装置２０とコントロールユニット１０との間の通信、および、車載通信装置２０と管理サーバ３との間の通信を行う。
【００２３】
車載通信装置２０および各コントロールユニット１０は、バス３０を介して接続されている。車載通信装置２０、各コントロールユニット１０およびバス３０は、ＣＡＮ（Controller Area Network）を構成する。つまり、車載通信装置２０は、各コントロールユニット１０との間で、バス３０を介した有線通信を行う。
【００２４】
車載通信装置２０は、不図示のアンテナを含んで構成されており、携帯電話網などの無線通信網に接続される。また、管理サーバ３は、不図示のアンテナを含んで構成されており、携帯電話網などの無線通信網に接続される。つまり、車載通信装置２０は、無線通信網を介して管理サーバ３に接続され、管理サーバ３との間で無線通信を行う。
【００２５】
管理サーバ３は、車両２から送信される送信対象のデータ１８を受信する。また、管理サーバ３は、各コントロールユニット１０のプログラム１６の最新バージョンを保持する。なお、管理サーバ３は、最新バージョンのプログラム１６を保持するだけでなく、最新バージョンから所定世代前までの過去のバージョンのプログラム１６を保持してもよい。
【００２６】
車載通信装置２０は、送信対象のデータ１８の送信タイミングにおいて、コントロールユニット１０の揮発性メモリ１４のメモリアドレスを指定する。コントロールユニット１０の中央処理装置は、指定されたメモリアドレスに格納されているデータ１８（送信対象のデータ１８）を読み出す。そして、コントロールユニット１０の中央処理装置は、読み出されたデータ１８を車載通信装置２０に送信し、車載通信装置２０は、受信したデータ１８を管理サーバ３に送信する。
【００２７】
ここで、コントロールユニット１０の不揮発性メモリ１２内のプログラム１６が、コンパイル済の最新のプログラム１６に更新されると、コンパイル済の最新のプログラム１６を作成したコンパイラの影響により、揮発性メモリ１４のメモリアドレスと送信対象のデータ１８との関係が、プログラム１６の更新の前後において変更されることがある。しかし、プログラム１６の更新は個々のコントロールユニット１０について行われるので、車載通信装置２０が保持しているメモリアドレスと送信対象のデータ１８との関係は、更新されないことがある。
【００２８】
コントロールユニット１０においてメモリアドレスと送信対象のデータ１８との関係が変更されたとしても、車載通信装置２０においてメモリアドレスと送信対象のデータ１８との関係が変更されていなければ、車載通信装置２０は、変更される前のメモリアドレスを指定してしまう。これにより、コントロールユニット１０の中央処理装置は、本来読み出すべきデータ１８とは異なるデータ１８を読み出すおそれがある。その結果、コントロールユニット１０の中央処理装置は、誤ったデータ１８を、車載通信装置２０を介して管理サーバ３に送信するおそれがある。
【００２９】
そこで、本実施形態の車両２は、送信対象のデータ１８をコントロールユニット１０から管理サーバ３に送信する際に、プログラム１６のバージョンを識別する識別子（バージョン識別子４０）を用いた通信制御を行うことで、誤ったデータ１８が管理サーバ３に送信されることを回避する。
【００３０】
コントロールユニット１０の不揮発性メモリ１２には、バージョン識別子４０が格納されている。バージョン識別子４０は、不揮発性メモリ１２毎に設けられている。バージョン識別子４０は、コントロールユニット１０のプログラム１６のバージョンを一意に識別する識別子である。バージョン識別子４０は、例えば、数字や文字が所定桁数（例えば、１０桁など）だけ羅列されたコードである。
【００３１】
具体的には、コントロールユニット１０内のバージョン識別子４０は、不揮発性メモリ１２に現在格納されているプログラム１６のバージョンを示す。コントロールユニット１０内のバージョン識別子４０は、不揮発性メモリ１２内のプログラム１６の更新に合わせて、更新後のプログラム１６のバージョンを示すバージョン識別子４０に更新される。
【００３２】
不揮発性メモリ１２に格納されているバージョン識別子４０は、例えば、コントロールユニット１０の起動時に、プログラム１６とともに揮発性メモリ１４に格納される。この際、バージョン識別子４０は、揮発性メモリ１４におけるデータ１８が格納されるメモリアドレス（データ格納領域）以外の固定のメモリアドレスに格納される。このため、メモリアドレスとデータ１８との関係がプログラム１６の更新の前後において変更されたとしても、メモリアドレスとバージョン識別子４０との関係は、プログラム１６の更新の前後において変更されない。つまり、コントロールユニット１０の中央処理装置は、プログラム１６が更新されたとしても、バージョン識別子４０を確実に読み出すことができる。
【００３３】
管理サーバ３には、管理ファイル５０が格納されている。管理ファイル５０は、車載通信装置２０とコントロールユニット１０との間の通信、および、車載通信装置２０と管理サーバ３との間の通信に用いられる各種の設定値が定義されているデータベースファイルである。
【００３４】
管理ファイル５０には、少なくとも、バージョン識別子４０、メモリアドレス情報６０、スケジュール情報７０が含まれている。なお、管理ファイル５０に含まれる情報は、バージョン識別子４０、メモリアドレス情報６０、スケジュール情報７０に限らない。例えば、管理ファイル５０には、車載通信装置２０とコントロールユニット１０との間の通信に必要な設定値などが含まれていてもよい。
【００３５】
管理サーバ３の管理ファイル５０内に含まれるバージョン識別子４０は、コントロールユニット１０のプログラム１６の最新バージョンを示す。また、管理ファイル５０内には、各コントロールユニット１０の不揮発性メモリ１２の数だけバージョン識別子４０が含まれている。管理サーバ３の管理ファイル５０内のバージョン識別子４０は、コンパイル済の最新バージョンのプログラム１６が管理サーバ３に格納される際に、その最新バージョンを示すバージョン識別子４０に更新される。
【００３６】
メモリアドレス情報６０は、すべてのコントロールユニット１０の揮発性メモリ１４について、コントロールユニット１０の揮発性メモリ１４の各メモリアドレス（例えば、データ領域のメモリアドレス）と、送信対象のデータ１８の種類とが関連付けられてリスト化された情報である。メモリアドレスは、例えば、物理アドレスであってもよく、論理アドレスであってもよい。
【００３７】
管理サーバ３の管理ファイル５０内に含まれるメモリアドレス情報６０は、最新のメモリアドレス情報６０である。管理サーバ３の管理ファイル５０内のメモリアドレス情報６０は、コンパイル済の最新バージョンのプログラム１６が管理サーバ３に格納される際に、その最新バージョンのプログラム１６に合わせて、最新のメモリアドレス情報６０に更新される。
【００３８】
スケジュール情報７０は、車載通信装置２０の動作のスケジュールが定義された情報である。スケジュール情報７０には、例えば、送信対象のデータ１８をコントロールユニット１０から管理サーバ３へ送信するという一連の処理の開始時期が定義されている。
【００３９】
管理サーバ３の管理ファイル５０内に含まれるスケジュール情報７０は、最新のスケジュール情報７０である。管理サーバ３の管理ファイル５０内のスケジュール情報７０は、コンパイル済の最新のプログラム１６が管理サーバ３に格納される際に、最新のスケジュール情報７０に更新される。
【００４０】
このように、管理サーバ３の管理ファイル５０内のバージョン識別子４０、メモリアドレス情報６０およびスケジュール情報７０（換言すると、管理サーバ３の管理ファイル５０）は、常に最新の内容となっている。
【００４１】
車載通信装置２０にも、管理ファイル５０が格納されている。車載通信装置２０の管理ファイル５０には、バージョン識別子４０、メモリアドレス情報６０、スケジュール情報７０が含まれている。車載通信装置２０の管理ファイル５０は、後述するが、所定の条件を満たした場合に、管理サーバ３から取得されて更新される。つまり、車載通信装置２０内のバージョン識別子４０、メモリアドレス情報６０およびスケジュール情報７０（管理ファイル５０）の更新は、コントロールユニット１０のプログラム１６の更新に同期されていない。このため、車載通信装置２０内のバージョン識別子４０、メモリアドレス情報６０およびスケジュール情報７０は、最新のものとなっていない場合がある。
【００４２】
車載通信装置２０の通信制御部２２は、車載通信装置２０の管理ファイル５０内のスケジュール情報７０にしたがって、コントロールユニット１０の不揮発性メモリ１２に記憶されているバージョン識別子４０を取得する。通信制御部２２は、取得したコントロールユニット１０のバージョン識別子４０と、車載通信装置２０に記憶されているバージョン識別子４０とを比較する。取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致する場合、通信制御部２２は、コントロールユニット１０の揮発性メモリ１４のメモリアドレスを指定して送信対象のデータ１８を取得し、取得した送信対象のデータ１８を管理サーバ３に送信する。
【００４３】
一方、取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致しない場合、通信制御部２２は、管理サーバ３から最新の管理ファイル５０を取得して車載通信装置２０の管理ファイル５０を更新する。その後、通信制御部２２は、コントロールユニット１０の揮発性メモリ１４のメモリアドレスを指定して送信対象のデータ１８を取得し、取得した送信対象のデータ１８を管理サーバ３に送信する。
【００４４】
図２は、データ通信システム１の動作を説明する説明図である。車両２のイグニッションスイッチがオンされて車載通信装置２０が起動すると、車載通信装置２０の通信制御部２２は、まず、管理ファイル５０内のスケジュール情報７０を読み出す（Ｓ１００）。
【００４５】
次に、通信制御部２２は、読み出されたスケジュール情報７０に示された所定の開始条件を満たしたか否かを判定する（Ｓ１１０）。所定の開始条件は、例えば、前回データ１８の送信を行ってから７日が経過したか否かである。なお、所定の開始条件は、前回データ１８の送信を行ってから７日が経過したか否かに限らず、例えば、前回データ１８の送信を行ってから１４日が経過したか否かや１月が経過したか否かなどであってもよい。
【００４６】
所定の開始条件を満たしていない場合（Ｓ１１０におけるＮＯ）、通信制御部２２は、処理を終了する。一方、所定の開始条件を満たした場合（Ｓ１１０におけるＹＥＳ）、通信制御部２２は、ステップＳ１２０の処理に進み、送信対象のデータ１８の送信に関する一連の処理を開始する。
【００４７】
まず、通信制御部２２は、送信対象のデータ１８が格納されているコントロールユニット１０に対して、バージョン識別子４０の送信を要求するバージョン識別子送信要求を送信する（Ｓ１２０）。なお、バージョン識別子送信要求の送信先のコントロールユニット１０は、例えば、スケジュール情報７０などに定義されていてもよい。
【００４８】
バージョン識別子送信要求を受信したコントロールユニット１０の中央処理装置は、揮発性メモリ１４に格納されたバージョン識別子４０を読み出して車載通信装置２０に送信する（Ｓ１３０）。このようにして、車載通信装置２０は、コントロールユニット１０のバージョン識別子４０を取得する。なお、上述のように、バージョン識別子４０が格納されるメモリアドレスはプログラム１６の更新に拘らず固定であるため、車載通信装置２０は、確実にバージョン識別子４０を取得することができる。
【００４９】
なお、ステップＳ１２０およびステップＳ１３０は、車載通信装置２０がコントロールユニット１０からバージョン識別子４０を取得するバージョン識別子取得工程である。
【００５０】
また、バージョン識別子取得工程において、送信対象のデータ１８が複数の揮発性メモリ１４に亘って複数ある場合、通信制御部２２は、送信対象のデータ１８がある複数のコントロールユニット１０のそれぞれに対して、バージョン識別子送信要求を送信する（Ｓ１２０）。そして、バージョン識別子送信要求を受信した各コントロールユニット１０の中央処理装置は、各々のバージョン識別子４０を車載通信装置２０に送信する（Ｓ１３０）。
【００５１】
バージョン識別子４０の取得後、通信制御部２２は、取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０（管理ファイル５０内のバージョン識別子４０）とが一致するか否かを判定する（Ｓ１４０）。なお、ステップＳ１４０は、取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とを比較するバージョン識別子比較工程である。
【００５２】
また、送信対象のデータ１８が複数の揮発性メモリ１４に亘って複数ある場合、通信制御部２２は、取得した複数のバージョン識別子４０のそれぞれについて、バージョン識別子４０の比較を行う。例えば、コントロールユニット１０Ａのバージョン識別子４０とコントロールユニット１０Ｂのバージョン識別子４０とを取得したとする。この場合、通信制御部２２は、コントロールユニット１０Ａのバージョン識別子４０と車載通信装置２０に記憶されているコントロールユニット１０Ａに対応するバージョン識別子４０とを比較するとともに、コントロールユニット１０Ｂのバージョン識別子４０と車載通信装置２０に記憶されているコントロールユニット１０Ｂに対応するバージョン識別子４０とを比較する。
【００５３】
取得したコントロールユニット１０の個々のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とが一致する場合（Ｓ１４０におけるＹＥＳ）、通信制御部２２は、管理ファイル５０を更新することなく、後述のステップＳ１８０の処理（データ送信工程）に移る。ここで、管理ファイル５０を更新しない理由は、バージョン識別子４０が一致していれば、車載通信装置２０の管理ファイル５０が既に最新の管理ファイル５０となっているからである。つまり、この場合、揮発性メモリ１４のメモリアドレスと送信対象のデータ１８との関係と、車載通信装置２０のメモリアドレス情報６０におけるメモリアドレスと送信対象のデータ１８との関係とが、既に一致していることとなる。
【００５４】
なお、通信制御部２２は、バージョン識別子４０を複数取得したとき、取得したすべてのバージョン識別子４０について、取得したバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致する場合、取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とが一致すると判定する。
【００５５】
一方、取得したコントロールユニット１０の個々のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とが一致しない場合、（Ｓ１４０におけるＮＯ）、通信制御部２２は、管理ファイル５０の送信を要求する管理ファイル送信要求を管理サーバ３に送信する（Ｓ１５０）。ここで、管理ファイル送信要求を送信する理由は、バージョン識別子４０が一致していなければ、車載通信装置２０の管理ファイル５０が最新の管理ファイル５０となっていないからである。
【００５６】
なお、通信制御部２２は、バージョン識別子４０を複数取得したとき、取得した複数のバージョン識別子４０のうち、いずれか１個以上のバージョン識別子４０について、取得したバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致しない場合、取得したコントロールユニット１０のバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とが一致しないと判定する。
【００５７】
管理ファイル送信要求を受信した管理サーバ３は、管理ファイル５０を読み出して車載通信装置２０に送信する（Ｓ１６０）。このようにして、車載通信装置２０は、管理サーバ３から最新の管理ファイル５０を取得する。
【００５８】
管理ファイル５０を受信した車載通信装置２０の通信制御部２２は、受信した管理ファイル５０を車載通信装置２０の管理ファイル５０として上書きし、車載通信装置２０の管理ファイル５０を更新する（Ｓ１７０）。
【００５９】
車載通信装置２０の管理ファイル５０が更新されると、車載通信装置２０におけるバージョン識別子４０およびメモリアドレス情報６０が最新のものとなる。つまり、管理ファイル５０の更新によって、揮発性メモリ１４のメモリアドレスと送信対象のデータ１８との関係と、車載通信装置２０のメモリアドレス情報が示すメモリアドレスと送信対象のデータ１８との関係とが、一致することとなる。
【００６０】
なお、ステップＳ１５０、ステップＳ１６０、ステップＳ１７０は、車載通信装置２０の管理ファイル５０を更新する管理ファイル更新工程である。
【００６１】
また、車載通信装置２０の管理ファイル５０が更新されると、コントロールユニット１０のプログラム１６が次回アップデートされるまで、コントロールユニット１０のバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致する状態が継続される。また、コントロールユニット１０のプログラム１６が次回アップデートされるまで、不揮発性メモリ１２におけるメモリアドレスに対する送信対象のデータ１８の関係と、車載通信装置２０のメモリアドレス情報６０が示すメモリアドレスに対する送信対象のデータ１８の関係とが一致する状態が継続される。
【００６２】
管理ファイル５０の更新（Ｓ１７０）後、または、取得したバージョン識別子４０と車載通信装置２０に記憶されているバージョン識別子４０とが一致する場合（Ｓ１４０におけるＹＥＳ）、通信制御部２２は、車載通信装置２０の管理ファイル５０内のメモリアドレス情報６０を参照し、送信対象のデータ１８が格納されるメモリアドレスを示す情報を、送信対象のデータ１８の送信を要求するデータ送信要求のフレーム内に格納する。そして、通信制御部２２は、送信対象のデータ１８が格納されているコントロールユニット１０に対して、メモリアドレスを示す情報が格納されたデータ送信要求を送信する（Ｓ１８０）。
【００６３】
データ送信要求を受信したコントロールユニット１０は、データ送信要求に格納されているメモリアドレスを示す情報に対応するメモリアドレスからデータ１８を読み出す。そして、コントロールユニット１０は、読み出したデータ１８を車載通信装置２０に送信する（Ｓ１９０）。このようにして、車載通信装置２０は、送信対象のデータ１８を、メモリアドレスを指定してコントロールユニット１０から取得する。
【００６４】
送信対象のデータ１８を受信した車載通信装置２０の通信制御部２２は、管理サーバ３へ送信する送信データを構築する（Ｓ２００）。例えば、通信制御部２２は、受信した送信対象のデータ１８を送信データのフレームへ格納する。送信対象のデータ１８が複数ある場合、通信制御部２２は、複数の送信対象のデータ１８を送信データのフレームへ纏めて格納する。
【００６５】
その後、通信制御部２２は、送信データを管理サーバ３に送信し（Ｓ２１０）、一連の処理を終了する。このようにして、送信対象のデータ１８がコントロールユニット１０から管理サーバ３に送信される。なお、ステップＳ１８０、ステップＳ１９０、ステップＳ２００は、送信対象のデータ１８を管理サーバ３に送信するデータ送信工程である。また、管理サーバ３は、送信データの受信が完了したことを示す受信完了信号を車載通信装置２０に送信し、車載通信装置２０の通信制御部２２は、受信完了信号の受信後に一連の処理を終了してもよい。
【００６６】
以上のように、本実施形態の車両２では、コントロールユニット１０内のバージョン識別子４０と車載通信装置２０内のバージョン識別子４０とが一致するか否かの比較が行われる。そして、本実施形態の車両２では、コントロールユニット１０内のバージョン識別子４０と車載通信装置２０内のバージョン識別子４０とが一致しない場合、車載通信装置２０内の管理ファイル５０が最新のものに更新される。
【００６７】
これにより、車載通信装置２０内のメモリアドレス情報６０が最新のものに更新される。車載通信装置２０内のメモリアドレス情報６０が最新のものに更新されると、揮発性メモリ１４のメモリアドレスと送信対象のデータ１８との関係と、車載通信装置２０のメモリアドレス情報６０が示すメモリアドレスと送信対象のデータ１８との関係とが一致することとなる。
【００６８】
このため、本実施形態の車両２では、車載通信装置２０がメモリアドレスを指定する際、本来指定すべきメモリアドレスとは異なるメモリアドレスが指定されることが回避される。その結果、本実施形態の車両２では、本来読み出すべきデータ１８とは異なる誤ったデータ１８が読み出されることを回避できる。
【００６９】
したがって、本実施形態の車両２によれば、車内のコントロールユニット１０から車外の管理サーバ３にデータ１８を送信する際に、誤ったデータ１８が送信されることを回避することが可能となる。換言すると、本実施形態の車両２によれば、車内のコントロールユニット１０から車外の管理サーバ３に送信対象のデータ１８を確実に送信することができる。その結果、本実施形態のデータ通信システム１を用いれば、車両２の各部の動作が安全に行われているか否かなどを車外において確認することができる。
【００７０】
また、本実施形態の車両２は、車載通信装置２０と管理サーバ３との間の既存の通信の仕組みを利用して、車載通信装置２０のメモリアドレス情報６０を更新している。このため、本実施形態の車両２では、メモリアドレス情報６０を更新するための新たな構成を追加することが不要となる。
【００７１】
また、本実施形態の車両２では、コントロールユニット１０のバージョン識別子４０と車載通信装置２０のバージョン識別子４０とが一致しない場合にのみ、車載通信装置２０の管理ファイル５０の更新が行われる。このため、本実施形態の車両２は、送信対象のデータ１８の送信毎に管理ファイル５０の更新を行う比較例に比べ、車載通信装置２０と管理サーバ３との間の通信の頻度を低減することができる。その結果、本実施形態の車両２では、車載通信装置２０と管理サーバ３との間の通信コストを抑えることが可能となる。
【００７２】
また、例えば、コントロールユニット１０のプログラム１６の更新時に、車載通信装置２０のメモリアドレス情報６０を個別に更新する構成とすることが挙げられる。この態様では、コントロールユニット１０のプログラム１６の更新時に、車載通信装置２０のメモリアドレス情報６０の更新を忘れることがある。
【００７３】
これに対し、本実施形態の車両２は、車載通信装置２０のメモリアドレス情報６０を個別に更新する構成として車載通信装置２０のメモリアドレス情報６０の更新を忘れたとしても、送信対象のデータ１８の送信時に車載通信装置２０のメモリアドレス情報６０（管理ファイル５０）が自動的に更新されるため、送信対象のデータ１８をより確実に送信することができる。
【００７４】
また、車内のコントロールユニット１０から車外の管理サーバ３に送信対象のデータ１８を送信する比較例として、管理サーバ３から車載通信装置２０へ送信対象のデータ１８の送信要求を送信することが挙げられる。しかし、この比較例において、車両２のイグニッションスイッチがオンされていない場合、車載通信装置２０は、動作していないため、管理サーバ３からの送信要求を受信することができず、送信対象のデータ１８を管理サーバ３に送信することができない。
【００７５】
これに対し、本実施形態の車両２では、車載通信装置２０内のスケジュール情報７０にしたがって、車載通信装置２０が主体となって送信対象のデータ１８の送信に関する一連の処理が実行される。このため、本実施形態の車両２では、管理サーバ３が主体となって送信対象のデータ１８の送信を行う比較例に比べ、送信対象のデータ１８を確実に管理サーバ３に送信することができる。
【００７６】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００７７】
例えば、上記実施形態において、バージョン識別子４０は、不揮発性メモリ１２毎に設けられていた。しかし、バージョン識別子４０は、コントロールユニット１０のプログラム１６毎に設けられてもよい。
【００７８】
また、上記実施形態では、３個のコントロールユニット１０が例示されていた。しかし、車両２に設けられるコントロールユニット１０は３個に限らない。例えば、２個以下のコントロールユニット１０が車両に設けられてもよいし、４個以上のコントロールユニット１０が車両に設けられてもよい。つまり、１または複数のコントロールユニットが車両２に設けられていればよい。
【００７９】
また、上記実施形態では、１個のコントロールユニット１０に１個の不揮発性メモリ１２が設けられていた。しかし、複数のコントロールユニット１０で共通の不揮発性メモリ１２が設けられてもよいし、１個のコントロールユニット１０に複数の不揮発性メモリ１２が設けられてもよい。
【００８０】
また、上記実施形態では、バージョン識別子４０およびメモリアドレス情報６０が管理ファイル５０に含まれていた。しかし、バージョン識別子４０およびメモリアドレス情報６０が管理ファイル５０に含まれる態様に限らない。つまり、車載通信装置２０では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子４０がコントロールユニット１０に関連付けられていればよい。
【００８１】
また、上記実施形態では、車載通信装置２０の管理ファイル５０が更新された。しかし、車載通信装置２０のメモリアドレス情報６０およびバージョン識別子４０が更新されればよく、管理ファイル５０が更新される態様に限らない。つまり、車載通信装置２０は、管理サーバ３から、コントロールユニット１０の不揮発性メモリ１２（揮発性メモリ１４）に記憶されているバージョン識別子４０に対応するメモリアドレスを取得してコントロールユニット１０の不揮発性メモリ１２（揮発性メモリ１４）に記憶されているバージョン識別子４０とともにコントロールユニット１０に関連付ければよい。
【産業上の利用可能性】
【００８２】
本発明は、データ通信システムを構成する車両に利用できる。
【符号の説明】
【００８３】
１  データ通信システム
２  車両
３  管理サーバ
１０  コントロールユニット
１２  不揮発性メモリ
１４  揮発性メモリ
１６  プログラム
１８  データ
２０  車載通信装置
４０  バージョン識別子
５０  管理ファイル
６０  メモリアドレス情報
７０  スケジュール情報
【図１】
2020004193.tif 000003
【図２】
2020004193.tif 000004