特許第6361671号(P6361671)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 住友電気工業株式会社の特許一覧

特許6361671プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
<>
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000002
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000003
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000004
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000005
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000006
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000007
  • 特許6361671-プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6361671
(24)【登録日】2018年7月6日
(45)【発行日】2018年7月25日
(54)【発明の名称】プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20180712BHJP
   G06F 13/00 20060101ALI20180712BHJP
   B60R 16/02 20060101ALI20180712BHJP
【FI】
   G06F8/65
   G06F13/00 530B
   B60R16/02 660U
【請求項の数】6
【全頁数】14
(21)【出願番号】特願2016-39879(P2016-39879)
(22)【出願日】2016年3月2日
(65)【公開番号】特開2017-157003(P2017-157003A)
(43)【公開日】2017年9月7日
【審査請求日】2018年4月18日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000280
【氏名又は名称】特許業務法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】関 竜介
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開2005−078324(JP,A)
【文献】 特開2012−091755(JP,A)
【文献】 特開2007−213189(JP,A)
【文献】 特開2001−067232(JP,A)
【文献】 特開2006−298260(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65−8/658
G06F 13/00
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、
前記中継装置は、
複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、
受信した複数の前記更新プログラムを記憶する記憶部と、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
下記に定義する第1プログラムの前記記憶部への格納を下記に定義する第2プログラムの前記記憶部への格納よりも優先させる処理部と、を備えるプログラム更新システム。
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【請求項2】
前記記憶部に、ダウンロード予定の前記第1及び第2プログラムが存在しない場合には、
前記処理部は、現状のメモリ空き領域が前記ダウンロード予定の前記第1及び第2プログラムの全データ容量よりも小さい場合に、前記ダウンロード予定の前記第1プログラムの優先的な受信を前記通信部に実行させる請求項1に記載のプログラム更新システム。
【請求項3】
前記記憶部に、ダウンロード予定の前記第1プログラムが存在せず、前記第2プログラムが存在する場合には、
前記処理部は、現状のメモリ空き容量が前記ダウンロード予定の前記第1プログラムのデータ容量よりも小さい場合に、前記第2プログラムを削除してから、前記ダウンロード予定の前記第1プログラムの受信を前記通信部に実行させる請求項1に記載のプログラム更新システム。
【請求項4】
車両に搭載された複数の制御装置と車内通信可能な中継装置が実行するプログラム更新方法であって、
複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
下記に定義する第1プログラムの記憶部への格納を下記に定義する第2プログラムの記憶部への格納よりも優先させるステップと、を含むプログラム更新方法。
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【請求項5】
車両に搭載された複数の制御装置と車内通信可能な中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、
複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
下記に定義する第1プログラムの記憶部への格納を下記に定義する第2プログラムの記憶部への格納よりも優先させるステップと、を含むコンピュータプログラム。
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【請求項6】
車両に搭載された複数の制御装置と車内通信可能な中継装置であって、
複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、
受信した複数の前記更新プログラムを記憶する記憶部と、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
下記に定義する第1プログラムの前記記憶部への格納を下記に定義する第2プログラムの前記記憶部への格納よりも優先させる処理部と、を備える中継装置
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラムに関する。具体的には、本発明は、動作確認が取れた複数の制御装置に対する制御プログラムの更新を確実に行うための技術に関する。
【背景技術】
【0002】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
【0003】
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
【0004】
例えば、特許文献1及び2には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バーションから新バーションに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−65856号公報
【特許文献2】特開2010−198155号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
車両に搭載されたECUのうち、更新後の相互間の動作確認が取れている複数のECUの制御プログラムを更新する場合には、ゲートウェイは、管理サーバなどの車外装置から受信した複数の更新プログラムをすべて同時に記憶部に記憶する必要がある。
しかし、例えば、単独での更新が可能である他の更新プログラムが既にメモリ領域に格納されている場合には、更新後の相互間の動作確認が取れている複数のECUの更新プログラムのためのメモリ空き領域が不足し、これが原因で、複数のECUについての更新のシーケンスを実行できない可能性がある。
【0007】
本発明は、かかる従来の問題点に鑑み、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる、プログラム更新システム等を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1) 本発明の一態様に係るシステムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、下記に定義する第1プログラムの前記記憶部への格納を下記に定義する第2プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【0009】
(4) 本発明の一態様に係る方法は、車両に搭載された複数の制御装置と車内通信可能な中継装置が実行するプログラム更新方法であって、複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記第1プログラムの記憶部への格納を前記第2プログラムの記憶部への格納よりも優先させるステップと、を含む。
【0010】
(5) 本発明の一態様に係るコンピュータプログラムは、車両に搭載された複数の制御装置と車内通信可能な中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記第1プログラムの記憶部への格納を前記第2プログラムの記憶部への格納よりも優先させるステップと、を含む。
【0011】
(6) 本発明の一態様に係る中継装置は、車両に搭載された複数の制御装置と車内通信可能な中継装置であって、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、前記第1プログラムの前記記憶部への格納を前記第2プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
【発明の効果】
【0012】
本発明によれば、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる。
【図面の簡単な説明】
【0013】
図1】本発明の実施形態に係るプログラム更新システムの全体構成図である。
図2】ゲートウェイの内部構成を示すブロック図である。
図3】ECUの内部構成を示すブロック図である。
図4】管理サーバの内部構成を示すブロック図である。
図5】ゲートウェイの記憶部に確保された更新プログラムのメモリ領域の説明図である。
図6】優先ダウンロード処理の一例を示すフローチャートである。
図7】優先ダウンロード処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【0014】
<本発明の実施形態の概要>
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態のプログラム更新システムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、下記に定義する第1プログラムの前記記憶部への格納を下記に定義する第2プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
第1プログラム:更新後の相互間の動作確認が取れている複数の更新プログラム
第2プログラム:単独での更新が可能である更新プログラム
【0015】
本実施形態のプログラム更新システムによれば、中継装置の処理部が、第1プログラムの記憶部への格納を第2プログラムの記憶部への格納よりも優先させるので、更新後の相互間の動作確認が取れている複数の更新プログラム(第1プログラム)をより確実に記憶部に記憶させることができる。
このため、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる。
【0016】
(2) 例えば、本実施形態のプログラム更新システムにおいて、前記記憶部に、ダウンロード予定の前記第1プログラムが存在せず、前記第2プログラムが存在する場合には、前記処理部は、現状のメモリ空き容量が前記ダウンロード予定の前記第1プログラムのデータ容量よりも小さい場合に、前記第2プログラムを削除してから、前記ダウンロード予定の前記第1プログラムの受信を前記通信部に実行させるようにすればよい。
この場合、第2プログラムの削除後に第1プログラムの受信が実行されるので、第1プログラムをより確実に記憶部に記憶させることができる。
【0017】
(3) また、本実施形態のプログラム更新システムにおいて、前記記憶部に、ダウンロード予定の前記第1及び第2プログラムが存在しない場合には、前記処理部は、現状のメモリ空き領域が前記ダウンロード予定の前記第1及び第2プログラムの全データ容量よりも小さい場合に、前記ダウンロード予定の前記第1プログラムの優先的な受信を前記通信部に実行させるようにすればよい。
この場合、第1プログラムの優先的な受信が実行されるので、第1プログラムをより確実に記憶部に記憶させることができる。
【0018】
リコールなどにより、高緊急度の更新プログラムがサーバから配信される場合、前記更新プログラムを第1プログラム及び第2プログラムよりも優先してダウンロードすることにしてもよい。
例えば、高緊急度の更新プログラムのファイル容量がメモリ空き領域よりも大きい場合に、優先度の低い第2プログラムを削除する。第2プログラムを削除してもなおメモリ空き容量が足りない場合、第1プログラムを削除することで、高緊急度の更新プログラムを最優先でダウンロードすることができる。
【0019】
(4) 本実施形態のプログラム更新方法は、上述の(1)〜(3)のいずれかに記載のプログラム更新システムに含まれる中継装置が実行するプログラム更新方法に関する。
従って、本実施形態のプログラム更新方法は、上述の(1)〜(3)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【0020】
(5) 本実施形態のコンピュータプログラムは、上述の(1)〜(3)のいずれかに記載のプログラム更新システムに含まれる中継装置として、コンピュータを機能させるためのコンピュータプログラムに関する。
従って、本実施形態のコンピュータプログラムは、上述の(1)〜(3)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【0021】
(6) 本実施形態の中継装置は、上述の(1)〜(3)のいずれかに記載のプログラム更新システムに含まれる中継装置に関する。
従って、本実施形態の中継装置は、上述の(1)〜(3)のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【0022】
<本発明の実施形態の詳細>
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0023】
〔システムの全体構成〕
図1は、本発明の実施形態に係るプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5及びDL(ダウンロード)サーバ6を含む。
管理サーバ5及びDLサーバ6は、例えば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
【0024】
車両1には、ゲートウェイ10及び複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)が搭載されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
【0025】
ゲートウェイ10は、携帯電話網などの広域通信網2に通信可能に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5及びDLサーバ6などの車外装置から受信した情報をECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を、広域通信網2を介して管理サーバ5などの車外装置に送信する。
【0026】
図1では、ゲートウェイ10が車外装置と直接通信を行う場合が例示されている。もっとも、ゲートウェイ10に別の通信装置を接続し、別の通信装置を介して車外装置と通信を行う構成としてもよい。
ゲートウェイ10に接続される別の通信装置としては、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
【0027】
図1のプログラム更新システムでは、管理サーバ5とDLサーバ6が別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。
【0028】
〔ゲートウェイの内部構成〕
図2はゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、及び車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
【0029】
CPU11は、記憶部13に記憶された一又は複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、例えば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【0030】
記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子などにより構成されている。
記憶部13は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6から受信した各ECU30の更新プログラムなども記憶する。
【0031】
車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、例えばCAN(Controller Area Network)、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、又はMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格に応じて、ECU30との通信を行う。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【0032】
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
【0033】
ゲートウェイ10において、無線通信部15に代えて、上述の別の通信装置が接続される有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)又はRS232C等の規格に応じた通信ケーブルを介して通信装置を接続するコネクタを有し、通信ケーブルを介して接続された別の通信装置と通信を行う。
有線通信部は、CPU11から与えられた情報を別の通信装置により車外装置へ送信するとともに、広域通信網2を通じて車外装置から受信した情報をCPU11に与える。
【0034】
〔ECUの内部構成〕
図3はECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、通信部34などを備える。ECU30は、車両1に搭載された複数の車載機器を個別に制御する制御装置である。ECU30の種類には、例えば、エンジン制御ECU、ステアリング制御ECU、及びドアロック制御ECUなどがある。
【0035】
CPU31は、記憶部33に予め記憶された一又は複数のプログラムをRAM32に読み出して実行することにより、自身が担当する車載機器の動作を制御する。
RAM32は、SRAM又はDRAM等のメモリ素子で構成され、CPU31が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【0036】
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33が記憶する情報には、例えば、制御対象である車載装置を制御するための処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
【0037】
通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、例えばCAN、Ethernet、又はMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【0038】
〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、及び通信部55などを備える。
【0039】
CPU51は、ROM52に予め記憶された一又は複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。
RAM53は、SRAM又はDRAM等のメモリ素子で構成され、CPU51が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【0040】
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
【0041】
図4に示すように、記憶部54が記憶する情報には、車両1に搭載されたECU30(ここでは、VIN=1の車両1に搭載されたECU30の識別番号を1〜3とする。)の制御プログラムのバーションを記録したリビジョンテーブルRTが含まれる。
リビジョンテーブルRTは、車両1の車両識別番号(VIN)と、車両識別番号ごとのリビジョンアップの履歴を表す識別情報であるリビジョン番号と、各リビジョン番号に対応するECU1〜3のバージョンとを纏めたテーブルよりなる。
【0042】
図4のリビジョンテーブルRTにおいて、同じリビジョン番号に含まれる各ECU1〜3の制御プログラムのバーションは、カーメーカーにおいて動作確認が取れていることを示している。
例えば、現状のリビジョン番号である「R2.0」の場合には、ECU1のバーション1.0の制御プログラム、ECU2のバージョン1.3の制御プログラム、及びECU3のバーション2.0の制御プログラムの相互間の動作確認が取れている。
【0043】
最新のリビジョン番号である「R2.4」の場合には、ECU1のバーション1.2の制御プログラム、ECU2のバージョン2.0の制御プログラム、及びECU3のバーション2.2の制御プログラムの相互間の動作確認が取れている。
従って、車両1をR2.0からR2.4にリビジョンアップする場合には、ECU1の1.0から1.2へのバーションアップ、ECU2の1.3から2.0へのバーションアップ、及びECU3の2.0から2.2へのバーションアップを同時に行う必要がある。
【0044】
図4のリビジョンテーブルRTには、一例として車両識別番号VIN=1の場合のバージョン情報のみが例示されている。
もっとも、管理サーバ5が保持するリビジョンテーブルRTには、管理サーバ5の登録会員が所有するすべての車両1の車両識別番号(VIN)ごとに、上記と同様のバーション情報が記録されている。また、DLサーバ6には、すべてのECU30に関する複数の更新プログラムが格納されている。
【0045】
CPU51は、ゲートウェイ10から車両識別番号と各ECU1〜3の現状の制御プログラムのバーションが通知されると、通知されたバーション情報をリビジョンテーブルRTに含まれる当該車両識別番号の最新バーションと照合する。
CPU51は、照合の結果、ゲートウェイ10から通知されたECU1〜3のバーション情報が最新でないと判定した場合には、最新バーションに更新するための更新プログラムの保存先URLとダウンロード要求をゲートウェイ10に送信する。
【0046】
〔ゲートウェイにおける更新プログラムのメモリ領域〕
図5は、ゲートウェイ10の記憶部13に確保された更新プログラムのメモリ領域の説明図である。
図5において、ECU1〜3は、更新後の制御プログラムの相互間の動作確認が取れているECU30(制御プログラムの同時更新が必要なECU30)を示し、ECU4,5は、当該同時更新が不要なECU30(制御プログラムの更新を単独で実行するECU30)であるとする。また、各ECU1〜5が制御プログラムの更新に用いる更新プログラムを、それぞれ「Δ1」〜「Δ5」とする。
【0047】
DLサーバ6から送信されるダウンロード予定の更新プログラムΔ1〜Δ5は、一般的には複数存在する。
各ECU1〜5は、ユーザの指定した順序や更新の緊急度などに応じて、順番にリプログラムを実行する場合もあれば、いわゆる同時更新の場合のように、複数のECU1〜3が同時並行によりリプログラムしなければならない場合もある。
【0048】
ここで、複数のECU1〜3について同時更新を行う場合には、各ECU1〜3のための更新プログラムΔ1〜Δ3を一時的にすべてゲートウェイ10の記憶部13の所定のメモリ領域に保存しておく必要がある。
しかし、例えば図5(a)に示すように、単純に時刻順で更新プログラムΔ1〜Δ5をダウンロードする場合には、非同時更新のECU4,5の更新プログラムΔ4,Δ5が既にメモリ領域に格納されているため、同時更新のECU1〜3の更新プログラムΔ1〜Δ3を格納するにはメモリ空き領域が不足する場合が想定される。
【0049】
この場合、ECU1〜3の更新プログラムΔ1〜Δ3のうちの一部(図例では更新プログラムΔ1)がバッファ漏れとなり、これが原因でECU1〜3についての同時更新のシーケンスを実行できない。
そこで、ゲートウェイ10のCPU11は、同時更新に必要な更新プログラムΔ1〜Δ3のデータ容量(ファイルサイズ)Cmと現状のメモリ空き容量Cpとを比較し、Cp<Cmである場合には同時更新が不要な更新プログラムΔ4,Δ5を削除し、メモリ空き領域を確保してから更新プログラムΔ1〜Δ3のダウンロードを開始する(図5(b))。
【0050】
これにより、同時更新に用いる更新プログラムΔ1〜Δ3がすべて記憶部13の所定のメモリ領域に保存することができ、ECU1〜3に対する同時更新のシーケンスを実行可能な状態となる。
なお、ゲートウェイ10のCPU11は、容量確保のために削除したECU4,5の更新プログラムΔ4,Δ5を、ECU1〜3の同時更新が終了した後に改めてダウンロードし、記憶部13の所定のメモリ領域に格納する。
【0051】
〔ゲートウェイによる優先ダウンロード処理〕
図6は、ゲートウェイ10のCPU11が実行する優先ダウンロード処理の一例を示すフローチャートである。
図6に示すように、CPU11は、同時更新を実行するか否かを判定しており(ステップST1)、実行する場合には、同時更新に用いる更新プログラムΔ1〜Δ3のデータ容量Cmを算出する(ステップST2)。
【0052】
次に、CPU11は、記憶部13のメモリ領域の現状での空き容量Cpを算出し(ステップST3)、Cp<Cmであるか否かを判定する(ステップST4)。
上記の判定結果が肯定的である場合は、CPU11は、非同時更新の更新プログラムΔ4,Δ5を削除した上で(ステップST5)、同時更新に用いる更新プログラムΔ1〜Δ3をダウンロードし、記憶部13のメモリ領域に格納する(ステップST6)。
【0053】
上記の判定結果が否定的である場合は、CPU11は、非同時更新の更新プログラムΔ4,Δ5の削除(ステップST5)を行わずに、同時更新に用いる更新プログラムΔ1〜Δ3をダウンロードし、記憶部13のメモリ領域に格納する(ステップST6)。
【0054】
〔更新プログラムが記憶されていない場合の優先ダウンロード手順〕
図5及び図6の例では、記憶部13のメモリ領域に更新プログラムΔ4,Δ5が既存である場合を例示したが、メモリ領域に更新プログラムΔ4,Δ5が存在しない場合もあり得る。
ここでは、記憶部13のメモリ領域に更新プログラムΔ1〜Δ5が存在しない状態において、これからダウンロードすべき5つのECU1〜5の更新プログラムΔ1〜Δ5が存在し、そのうち3つのECU1〜3が、同時更新が必要である場合を想定する。
【0055】
また、同時更新に用いる更新プログラムΔ1〜Δ3のデータ容量をCm、単独更新の更新プログラムΔ4,Δ5のデータ容量をCn、全更新プログラムΔ1〜Δ5のデータ容量をCd(=Cm+Cn)、記憶部13の更新プログラムに関するメモリ容量(=メモリ空き容量)をCpとし、Cp≧Cmであるとする。
【0056】
この場合、Cp<Cd(=Cm+Cn)であるならば、ECU1〜5の更新プログラムΔ1〜Δ5を成り行き(例えば、時刻順など)でダウンロードすると、最終的にメモリ容量不足となり、ECU1〜3の更新プログラムΔ1〜Δ3を同時に記憶することができず、ECU1〜3の同時更新ができない可能性がある。
【0057】
そこで、ゲートウェイ10のCPU11は、Cp<Cdの条件を満たす場合には、同時更新が必要なECU1〜3の更新プログラムΔ1〜Δ3を優先的にダウンロードして記憶部13に記憶させ、記憶したΔ1〜Δ3を各ECU1〜3に送信することにより、ECU1〜3による同時更新を可能とする。
なお、更新プログラムΔ4,Δ5のダウンロードは、ECU1〜3が同時更新を完了してから、更新プログラムΔ1〜3を記憶部13から削除した後に行えばよい。
【0058】
〔優先ダウンロード処理の変形例〕
図7は、ゲートウェイ10のCPU11が実行する優先ダウンロード処理の変形例を示すフローチャートである。
図7の変形例が図6の例と異なる点は、ステップST11〜ST16の処理が追加されている点にある。
【0059】
図7に示すように、ゲートウェイ10のCPU11は、まず、高緊急度の更新プログラムが無いか否かを判定する(ステップST11)。
上記の判定結果が無しの場合は、CPU11は、ステップST1〜ST6の処理(図6のフローと同じ)を実行し、上記の判定結果が有りの場合は、CPU11は、ステップST12〜ST16の処理を実行する。
【0060】
ステップST12〜ST16の処理では、CPU11は、高緊急度の更新プログラムのファイル容量Ceとメモリ領域の空き容量Cpをそれぞれ算出し(ステップST12,ST13)、両者を比較する(ステップST14)。
CPU11は、Cp<Ceならば、高緊急度ではない更新プログラム(例えば、優先度の低い非同時更新の更新プログラムΔ4,Δ5:第2プログラム)を削除してから(ステップST15)、高緊急度の更新プログラムをダウンロードする(ステップST16)。
【0061】
この場合、第2プログラムを削除しても、Cp<Ceが成立する場合、CPU11は、優先度の高い同時更新の更新プログラムΔ1〜Δ3(第1プログラム)を削除することにより、高緊急度の更新プログラムを最優先でダウンロードする。
CPU11は、Cp<Ceでないならば、高緊急度ではない更新プログラムの削除(ステップST15)を行わずに、高緊急度の更新プログラムをダウンロードする(ステップST16)。
【0062】
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
【符号の説明】
【0063】
1 車両
2 広域通信網
5 管理サーバ
6 DLサーバ
10 ゲートウェイ(中継装置)
11 CPU(処理部)
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
30 ECU(制御装置)
31 CPU
32 RAM
33 記憶部
34 通信部
51 CPU(処理部)
52 ROM
53 RAM
54 記憶部
55 通信部
図1
図2
図3
図4
図5
図6
図7