JP7207301B2 - 更新制御装置、制御方法、およびコンピュータプログラム - Google Patents

更新制御装置、制御方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP7207301B2
JP7207301B2 JP2019525106A JP2019525106A JP7207301B2 JP 7207301 B2 JP7207301 B2 JP 7207301B2 JP 2019525106 A JP2019525106 A JP 2019525106A JP 2019525106 A JP2019525106 A JP 2019525106A JP 7207301 B2 JP7207301 B2 JP 7207301B2
Authority
JP
Japan
Prior art keywords
update
control
target device
vehicle
ecu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019525106A
Other languages
English (en)
Other versions
JPWO2018230084A1 (ja
Inventor
祐輔 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Publication of JPWO2018230084A1 publication Critical patent/JPWO2018230084A1/ja
Application granted granted Critical
Publication of JP7207301B2 publication Critical patent/JP7207301B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle

Description

この発明は更新制御装置、制御方法、およびコンピュータプログラムに関する。
本出願は、2017年6月13日出願の日本出願第2017-116109号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、機能向上や防犯対策などを目的とした制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
たとえば、特許文献1には、ネットワークを介して更新用プログラムをダウンロードし、プログラムの更新を行う技術(オンライン更新機能)が開示されている。
特開2015-37938号公報
ある実施の形態に従うと、更新制御装置は、車載制御装置と車内通信線を含む伝送路を介して通信する通信部と、下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に更新処理の一部の代替を要求する要求メッセージを、通信部に送信させる制御部と、を備える、更新制御装置。
対象装置:制御プログラムの更新対象である車載制御装置
非対象装置:制御プログラムの更新対象ではない車載制御装置
他の実施の形態に従うと、制御方法は、車載制御装置と車内通信線を含む伝送路を介して通信する更新制御装置での制御方法であって、下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に更新処理の一部の代替を要求する要求メッセージを送信するステップを備える、制御方法。
対象装置:制御プログラムの更新対象である車載制御装置
非対象装置:制御プログラムの更新対象ではない車載制御装置
他の実施の形態に従うと、コンピュータプログラムは、車載制御装置と車内通信線を含む伝送路を介して通信する更新制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、車載制御装置と車内通信線を含む伝送路を介して通信する通信部と、下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に更新処理の一部の代替を要求する要求メッセージを、通信部に送信させる制御部と、として機能させる、コンピュータプログラム。
対象装置:制御プログラムの更新対象である車載制御装置
非対象装置:制御プログラムの更新対象ではない車載制御装置
図1は、プログラム更新システムの全体構成図である。 図2は、ゲートウェイの内部構成を示すブロック図である。 図3は、ECUの内部構成を示すブロック図である。 図4は、管理サーバの内部構成を示すブロック図である。 図5は、比較例のプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。 図6は、第1の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。 図7は、更新制御処理の具体的な内容を表したフローチャートである。 図8は、図7のステップS103の決定処理の流れを表したフローチャートである。 図9は、第2の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。 図10は、第3の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。
<本開示が解決しようとする課題>
特許文献1に開示されているようなオンライン更新では、制御プログラムの更新を指示されたECUが更新を実行できない状態である場合には、ネットワークを介してダウンロードされた更新用プログラムはゲートウェイなどの制御装置にいったん保存され、更新を実行できる状態になると、制御装置から転送されて更新が開始されることが想定される。制御プログラムの更新を実行できない状態とは、たとえば、対象のECUが走行に関わる機能を制御するECUであって、車両が走行中の状態や、対象のECUが起動していない状態などである。
この場合、制御装置は更新用プログラムをメモリに保存するために、メモリが圧迫される。特に、昨今のECUの高機能化に鑑みると、更新用プログラムのサイズが大きかったり、同じタイミングに更新が必要なECUが複数であったりするため、メモリが大きく圧迫されるおそれがある。
また、対象のECUが更新を実行できる状態となるのを待って制御装置が更新用プログラムを転送して当該ECUにおいて更新が開始されると、当該ECUが更新を実行できる状態となってから更新が完了するまでの期間が長くなる。特に、同じタイミングに更新が必要なECUが複数ある場合には、それぞれのECUが更新を実行できる状態となってから更新が開始されるために、すべてのECUの更新が完了するまでの期間が長くなる。
本開示のある局面における目的は、車載制御装置が制御プログラムの更新ができない状態である場合における当該車載制御装置での更新を制御する更新制御装置、制御方法、およびコンピュータプログラムを提供することである。
<本開示の効果>
この開示によると、車載制御装置が制御プログラムの更新ができない状態である場合における当該車載制御装置での更新を制御することができる。
[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。すなわち、
(1)本実施の形態に含まれる更新制御装置は、車載制御装置と車内通信線を含む伝送路を介して通信する通信部と、下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に更新処理の一部の代替を要求する要求メッセージを、通信部に送信させる制御部と、を備える。
対象装置:制御プログラムの更新対象である車載制御装置
非対象装置:制御プログラムの更新対象ではない車載制御装置
これにより、更新対象の車載制御装置が制御プログラムの更新処理を実行できない状態であっても、代替装置によって更新処理の少なくとも一部が実行される。そのため、更新対象の車載制御装置が制御プログラムの更新処理実行できる状態になるまで1台の装置で更新用プログラムを保存しておく場合と比較して、更新用プログラムの保存先を分散することができ、当該1台の装置のメモリの圧迫を回避することができる。また、更新制御処理の開始を早めることができ、その結果、更新対象の車載制御装置での更新完了の遅延を抑えることができる。
(2)好ましくは、制御部は、代替の可否を問い合わせる非対象装置宛の問い合わせメッセージを通信部に送信させ、非対象装置からの応答メッセージの内容に応じて、非対象装置を代替装置とするか否かを決定する。
これにより、非対象装置の応答内容に応じて代替装置を決定することができる。
(3)好ましくは、制御部は、複数の非対象装置に、優先度に従って代替の可否を問い合わせる。
これにより、優先度の高い車載制御装置を代替装置と決定することができる。
(4)好ましくは、制御部は、動的な処理能力が所定値以上であることを含む応答メッセージを受信した場合は、当該応答メッセージの送信元の非対象装置を代替装置と決定する。
これにより、動的な処理能力が高い車載制御装置を代替装置と決定することができる。その結果、代替装置と決定された車載制御装置の過負荷を回避できる。
(5)好ましくは、制御部は、応答メッセージの送信元の複数の非対象装置から優先度に従って代替装置を決定する。
これにより、適切な車載制御装置を代替装置と決定することができる。
(6)好ましくは、通信部に複数の車内通信線が終端し、かつ、通信部が車内通信線に接続された機器を選択的に起動する機能を有しない場合は、制御部は、対象装置と同じ車内通信線に繋がる非対象装置を、対象装置と異なる車内通信線に繋がる非対象装置よりも高優先とする。
通信部が車内通信線に接続された機器を選択的に起動する機能を有しない場合、1つの車内通信線でデータを転送すると当該車内通信線に接続されたすべての車載制御装置が起動する。この場合に、更新対象の車載制御装置と異なる車内通信線に接続された車載制御装置を代替装置とすることによって当該代替装置と同一の車内通信線に接続された他の車載制御装置が起動していない場合にも起動させてしまう、という事態を回避できる。
(7)好ましくは、制御部は、車両走行に無関係な制御機能を担う非対象装置を、その他の機能を担う非対象装置よりも高優先とする。
これにより、非対象装置が代替する更新処理の一部が、当該非対象装置が本来実行する処理に影響を及ぼす可能性がある場合であっても、車両走行への当該影響を防止できる。
(8)好ましくは、更新処理は複数のプロセスを含み、制御部は、複数のプロセスのうちの代替装置に代替を要求するプロセスを決定する。
これにより、代替車載制御処理の過負荷を抑えながら、更新対象の車載制御装置での更新の完了を早めることができる。
(9)本実施の形態に含まれる制御方法は、(1)~(8)のいずれか1つに記載の更新制御装置において、車載制御装置での制御プログラムの更新を制御する方法である。
かかる制御方法は、上記(1)~(8)の更新制御装置と同様の効果を奏する。
(10)本実施の形態に含まれるコンピュータプログラムは、コンピュータを、(1)~(8)のいずれか1つに記載の更新制御装置として機能させる。
かかるコンピュータプログラムは、上記(1)~(8)の更新制御装置と同様の効果を奏する。
[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<第1の実施の形態>
〔システムの全体構成〕
図1は、実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、一例として広域通信網2である通信ネットワークを介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5は、車両1の更新情報を管理する。DLサーバ6は、更新用プログラムを保存する。管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
車両1には、車内通信線16で接続された複数のECU30とゲートウェイ10とを含む車内ネットワーク(通信ネットワーク)4と、無線通信部15と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)と、が搭載されている。
車内ネットワーク4は複数の車内通信線16A,16Bを有する。車内ネットワーク4は、車内通信線16Aにバス接続されたECU30A~30C、車内通信線16Bにバス接続されたECU30D,30Eである、複数の通信グループを含む。ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には車内通信線16A,16Bが接続されている。車内通信線16A,16Bを車内通信線16とも総称する。
無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、車内通信線を介してECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
また、ECU30同士は、車内通信線を介して情報を送受信する。
車両1に搭載される無線通信部15としては、車載の専用通信端末の他に、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。また、管理サーバ5およびDLサーバ6は、いずれも、複数の装置からなるものであってもよい。
なお、プログラム更新システムには、DLサーバ6に替えて(または加えて)、更新用プログラムを保存し、ゲートウェイ10と有線または無線通信で通信可能な車外装置が含まれてもよい。
〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
CPU11が実現するコンピュータプログラムは、CD-ROMやDVD-ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にデータを転送(送信)することを「ダウンロードする」ともいう。
記憶部13は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子などにより構成されている。記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶するとともに、DLサーバ6から受信した、ダウンロード対象の各ECU30の更新用プログラムなどを記憶する。
車内通信部14には、車両1に配設された車内通信線16を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)の規格に応じて、ECU30との通信を行う。車内通信部14の採用する通信規格はCANに限定されず、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格であってもよい。複数の車内通信線16A,16Bの中には、通信規格の異なるものが含まれていてもよい。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車内ネットワーク4に用いる他の通信規格によって通信してもよい。
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
図2に示す無線通信部15に代えて、車両1内の中継装置として機能する通信部を採用してもよい。この通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行ってもよい。また、この通信部は、Bluetooth(登録商標)またはWi-Fi(Wireless Fidelity:登録商標)等の規格に応じたインタフェースを有し、近距離無線を介して接続された別の通信装置と無線通信を行ってもよい。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33は、CPU31が読み出して実行するプログラムを格納する。記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラムや、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータである制御プログラムが含まれる。
通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムのデータの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
DLサーバ6からゲートウェイ10を介してECU30に更新用プログラムがダウンロードされ、当該更新用プログラムを用いて制御プログラムを更新することを、オンライン更新とも称する。
〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
CPU51は、ROM52に予め記憶された一または複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協働して実現するものであってもよい。
RAM53は、SRAMまたはDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
〔比較例の制御プログラムの更新シーケンス〕
図5は、比較例のプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。比較例の制御プログラムの更新シーケンスおよび後述する実施の形態にかかる制御プログラムの更新シーケンスでは、いずれも、図1に示されたECU30Aの制御プログラムを更新するECU(対象ECUとも称する)とする場合を例に説明する。対象ECUが図1に示された他のECU30である場合も、同じ動作が行われる。DLサーバ6に1または複数の更新用プログラムが格納され、一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
なお、制御プログラムは、プログラムそのもののみならず、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータも含む。それらを代表させて「制御プログラム」と表現している。そのため、更新用プログラムは、プログラムの更新用のプログラムのみならず、当該プログラムを実行する際に用いるデータの更新用のデータを含む。
制御プログラムを更新するタイミングに達すると、管理サーバ5は、該当する車両1のゲートウェイ10宛てに、更新を通知する。管理サーバ5から更新の通知を受信したゲートウェイ10は、DLサーバ6に対して更新用プログラムのダウンロードを要求する。ゲートウェイ10からダウンロードが要求されたDLサーバ6は、ダウンロード対象の更新用プログラムをゲートウェイ10に送信する(ステップS1)。
ゲートウェイ10は、更新用プログラムをダウンロードすると、記憶部13にいったん記憶する(ステップS2)。その後、対象ECUであるECU30A(この説明において対象ECU30Aと略する)に制御プログラムの更新が可能な状態であるか否かの状態を問い合わせる(ステップS3A)。
この説明において、期間T1は、対象ECU30Aが制御プログラムの更新を実行できない状態(不可状態とも称する)である期間を指し、期間T2は、対象ECU30Aが更新を実行できる状態(可状態とも称する)である期間を指す。期間T1は、たとえば、車両1が走行中の期間であり、期間T2は、たとえば、車両1が停車中の期間である。
期間T1内にステップS3Aの問い合わせがあった場合、対象ECU30Aは不可状態を回答する(ステップS3B)。この場合、ゲートウェイ10は、更新用プログラムを記憶部13に保持して、所定の間隔で対象ECU30Aへの更新の要求を繰り返す。
期間T1が終了して期間T2となると、対象ECU30Aは可状態になるため、その期間に問い合わせがあった場合、対象ECU30Aは可状態を回答する。対象ECU30Aから可状態の回答を得たゲートウェイ10は、対象ECU30Aに更新用プログラムを送信して、制御プログラムの更新を要求する(ステップS4)。この要求に応じて、対象ECU30Aでは更新処理が実行され(ステップS5)、制御プログラムが更新される。
ECU30において実行される更新処理は、ゲートウェイ10から更新用プログラムを受信してから開始され、記憶部33の制御プログラムの保存領域に更新後(新バージョン)の制御プログラムが完了して終了する、一連の処理を指し、当該処理の開始から終了までの間に複数プロセスを含む。一例として、次の5つのプロセスを含む。更新処理に含まれる複数のプロセスは下のプロセス#1~#5に限定されない。
プロセス#1:ファイル(更新用プログラム)を記憶部33に保存する
プロセス#2:暗号化されたファイルを復号処理して圧縮ファイルを取得する
プロセス#3:復号後の、圧縮ファイルを解凍処理して更新用プログラムを取得する
プロセス#4:更新前(旧バージョン)の制御プログラムに更新用プログラムを適用して、更新後(新バージョン)の制御プログラムを構築する
プロセス#5:記憶部33の制御プログラムの保存領域に新バージョンの制御プログラムを上書きすることで、旧バージョンの制御プログラムを書き換える
ステップS4で更新の要求を受けた対象ECU30Aは、プロセス#1から処理を開始して、プロセス#5まで順に実行して、更新処理を完了する。期間T1が期間T2に移行して対象ECU30Aが可状態となってから対象ECU30Aにおいて更新処理が完了するまでの期間、つまり、対象ECU30Aにおいて更新処理を行っていた期間を処理時間Dとすると、比較例の処理時間D1は、期間T1が期間T2に移行したタイミングt1から対象ECU30AでステップS5の更新処理が完了するタイミングt2までの時間(t2-t1)となる。
[実施の形態の制御プログラムの更新シーケンス]
図6は、第1の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。図6において、図5の比較例のオンライン更新の流れと同じ動作については、同じステップ番号で表されている。
図6を参照して、実施の形態にかかるプログラム更新システムでは、ゲートウェイ10が、対象ECU30Aでの制御プログラムの更新を制御する更新制御装置として機能する。ゲートウェイ10は、期間T1内のステップS3Aの問い合わせに対して対象ECU30Aから不可状態の回答を得ると(ステップS3B)、対象ECU30Aでの制御プログラムの更新を制御するために更新制御処理を実行する(ステップS20)。
更新制御処理は、対象ECU30Aが不可状態である場合に、当該更新用プログラムを用いた更新処理の少なくとも一部を、対象ECU30Aとは異なるECU(代替ECUとも称する)に代替させるための処理である。図6の例では、代替ECUが図1に示されたECU30Bであるものとしている。特に限定されない場合には代替ECUはECU30Bに限定されず、対象ECU以外のいずれのECU30であってもよい。これは、後述する第2の実施の形態および第3の実施の形態にかかるプログラム更新システムの動作(図9、図10)でも同様である。他のECU30が代替ECUとなる場合であっても、図6と同じ動作が行われる。具体的には、図6を参照して、ゲートウェイ10は、代替ECUであるECU30B(この説明において代替ECU30Bと略する)に更新処理の実行の可否を問い合わせ(ステップS21A)、代替ECU30Bから可状態の回答を得ると(ステップS21B)、代替ECU30Bに更新用プログラムを送信して、プロセス#1~#5の少なくとも一部の更新処理である第1の更新処理を要求する(ステップS22)。この要求に応じて、代替ECU30Bでは、第1の更新処理が実行される(ステップS23)。第1の更新処理の処理結果は、代替ECU30Bの記憶部33に保存される。
期間T1が終了して期間T2となって対象ECU30Aから可状態の回答を得ると、ゲートウェイ10は、代替ECU30Bに対して第1の更新処理の処理結果の送信を要求し(ステップS24)、代替ECU30Bから第1の更新処理の処理結果を取得する(ステップS25)。ゲートウェイ10は、対象ECU30Aに第1の更新処理の処理結果を送信して、プロセス#1~#5の残りの更新処理である第2の更新処理を要求する(ステップS4’)。この要求に応じて、対象ECU30Aでは第2の更新処理が実行され(ステップS5’)、制御プログラムが更新される。
本実施の形態にかかるプログラム更新システムの対象ECU30Aでの処理時間D2は、期間T1が期間T2に移行したタイミングt1から対象ECU30AでステップS5’の更新処理が完了するタイミングt3までの時間(t3-t1)となる。実施の形態の制御プログラムの更新シーケンスでは、期間T1のうちの代替ECU30Bにおいて更新処理の一部が実行されるため、対象ECU30Aでの処理時間D2は比較例における対象ECU30Aでの処理時間D1よりも短くできる。
[ゲートウェイの機能構成]
図2を参照して、ゲートウェイ10のCPU11は、更新制御処理を実行するための機能として更新制御部111を含む。更新制御処理は、決定処理を含む。そこで、更新制御部111は、決定処理を実行するための機能として決定部112を含む。これらの機能は、CPU11が記憶部13に記憶されている1つまたは複数のプログラムを読み出して実行することによって、CPU11において実現される機能である。しかしながら、これら機能の少なくとも一部が、電子回路などのハードウェアによって実現されてもよい。
(決定処理)
決定処理は、代替ECUを決定する第1の処理と、当該代替ECUが代替するプロセスを決定する第2の処理と、を含む。決定部112は、第1の処理において、対象ECU以外の非対象装置である複数のECU30のうち、動的な処理能力が所定値以上ある、たとえば、CPU31の使用率が閾値以下であるECU30を代替ECUに決定する。これにより、代替ECUでの過負担を回避できる。
第1の処理のために、決定部112は、各ECU30のCPU31の使用率を取得する。一例として、決定部112は、各ECU30に更新処理の可否として、CPU31の使用率を問い合わせる。決定部112は、CAN通信における送信情報のフォーマットであるフレームに問い合わせコマンドを含めた問い合わせ用のフレーム(メッセージ)を生成し、車内通信14から各ECU30に送信させる。
決定部112は、一例として、複数のECU30のうちのCPU31の使用率が最も低いECU30を代替ECUに決定する。これにより、動的な処理能力が最も大きいECU30が代替ECUとされる。
他の例として、決定部112は、CPU31の使用率が閾値以下の複数のECU30の中から優先度に従って代替ECUに決定する。優先度は、一例として、車載メディアプレイヤーなどの走行に関連しない機能を制御するECUの方が、そうでない機能を制御するECUよりも高く設定されている。代替ECUが更新処理の一部を代替する場合、その更新処理の一部が当該ECUが本来実行する処理に影響を及ぼす可能性がある場合もある。この場合、代替ECUが車両走行に関連する機能を制御するものである場合、車両走行に当該影響が生じるおそれもある。そのため、車両走行に関連しない機能を制御するECUを高優先とすることによって、車両走行への当該影響を防止できる。
また、優先度は、他の例として、ゲートウェイ10と対象ECUとを繋ぐ車内通信線16と同一の車載通信線16に接続されたECUの方が、異なる車内通信線16に接続されたECUよりも高く設定されている。具体的には、車内ネットワーク4が図1の構成であって、対象ECUがECU30Aである場合、ECU30Aと同じ車内通信線16Aに接続されているECU30B,30Cの方が、異なる車内通信線16Bに接続されている30D,30Eよりも優先度が高く設定されている。車内通信がCAN通信であって、いわゆるパーシャルネットワークと呼ばれる機能である、各車載通信線16に接続された複数の機器を選択的に起動する機能(いわゆるパーシャルウェイクアップ機能)を有さない場合、1つの車内通信線16でデータを転送すると当該車内通信線16に接続されたすべてのECUが起動する。そのため、対象ECUと異なる車内通信線16に接続されたECU30を代替ECUとすると、当該代替ECUと同一の車内通信線16に接続されたECU30が起動していない場合にも起動させることになるためである。
なお、図6、および後述する図9ならびに図10では、代替ECUが一例としてECU30Bである例が示されている。これは、ECU30D,30Eよりも高優先度であるためにECU30Bが代替ECUに決定されたためとも言える。なお、代替ECU30が優先度の低いECU30D,30Eであった場合であっても、これら図で説明された動作と同じ動作が行われる。
決定部112は、車両1に搭載されているすべてのECU30のうちの対象ECU(たとえばECU30A)以外のすべてに問い合わせてもよい。これにより、最適な代替ECUを決定することができる。または、決定部112は、対象ECU以外のECUのうちの優先度の高い(たとえば所定優先度以上の)ECUのみに問い合わせてもよい。これにより、効率的に代替ECUを決定できる。
決定部112は、第2の処理において、更新処理の複数のプロセス(#1~#5)のうちの代替ECUに代替させる1つ以上のプロセスを決定する。そのために、決定部112は、プロセスごとに必要な処理量と、代替ECUの動的な処理能力とを比較する。そして、決定部112は、プロセス#1から順に、処理量が代替ECUの動的な処理能力の規定範囲内であるまでのプロセスを、代替ECUに代替させるプロセスと決定する。
プロセスごとの処理量は更新用プログラムのデータサイズに依存するため、一例として、データサイズと処理量との対応を予め記憶しておくことで、データサイズに基づいて算出することができる。更新用プログラムのデータサイズは、DLサーバ6から取得することができる。
更新制御部111は、代替ECUに第1の更新処理を要求するために、決定したプロセスの実行を要求するコマンドを含んだフレーム(メッセージ)を生成し、車内通信部14に当該フレームを代替ECUに送信させる。
[更新制御処理]
図7は、更新制御処理の具体例を表したフローチャートである。図7のフローチャートに表された処理は、ゲートウェイ10のCPU11が、記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって決定部112および更新制御部111の機能を実現することで実行される。図7の処理は、ゲートウェイ10がDLサーバ6から更新用プログラムをダウンロードすると開始される。
図7を参照して、CPU11は、当該更新用プログラムを用いて制御プログラムを更新する対象ECU(たとえばECU30A)に状態を問い合わせ、可状態が不可状態かを特定する。対象ECUが可状態である場合には(ステップS101でYES)、CPU11は、対象ECUに更新用プログラムを送信し、更新を要求する(ステップS102)。
対象ECUが不可状態であった場合(ステップS101でNO)、CPU11は決定処理を実行する(ステップS103)。そして、CPU11は、決定した代替ECU(たとえばECU30B)に、更新用プログラムを送信し、当該更新用プログラムを用いた更新処理のうちの決定されたプロセスの処理である第1の更新処理の実行を指示する(ステップS105)。ステップS105でCPU11は、必要なフレームを生成し、車内通信部14に当該フレームを代替ECUに対して送信させる。
CPU11は、その後も、対象ECUの状態を問い合わせる。そして、可状態となると(ステップS107でYES)、CPU11は、代替ECUに対して第1の更新処理の処理結果を要求し、取得した処理結果を対象ECUに送信して残りの更新処理である第2の更新処理を要求する(ステップS109)。ステップS109でCPU11は、必要なフレームを生成し、車内通信部14に当該フレームを代替ECUに対して送信させる。
図8は、図7のステップS103の決定処理の流れを表したフローチャートである。始めに、CPU11は、決定処理の第1の処理(ステップS201~S205)を実行して、代替ECUを決定する。図8を参照して、CPU11は、対象ECU以外の複数のECU30に対して、動的な処理能力(CPU31の使用率)を問い合わせる(ステップS201)。ステップS201でCPU11は、必要なフレームを生成し、車内通信部14に当該フレームを対象ECU以外の複数のECU30対して送信させる。好ましくは、CPU11は、対象ECU以外の複数のECUに対して、予め記憶している優先度に応じて問い合わせる。
ステップS201の問い合わせに対して回答したECU30があった場合(ステップS203でYES)、CPU11は、動的な処理能力を回答したECU30を代替ECUに決定する(ステップS205)。
代替ECUが決定されると、CPU11は、決定処理の第2の処理を実行して、当該代替ECUが代替するプロセスを決定する(ステップS207)。
[第1の実施の形態の効果]
第1の実施の形態にかかるプログラム更新システムでは、ゲートウェイ10がDLサーバ6から更新用プログラムをダウンロードした際に、対象ECUが更新処理が不可状態であった場合に、他のECU30が当該更新用プログラムを受信し、更新処理の少なくとも一部のプロセスを代替する。
比較例のプログラム更新システムでは、期間T1が経過し、対象ECUが更新処理が可状態となるまで、ゲートウェイ10が更新用プログラムを保持する。そのため、期間T1が長くなるほどゲートウェイ10のメモリが圧迫される。特に、複数のECU用の複数の更新用プログラムがダウンロードされ、当該複数の対象ECUがいずれも不可状態である場合には、ゲートウェイ10のメモリの圧迫が深刻になる。
これに対して、第1の実施の形態にかかるプログラム更新システムでは、期間T1内ではゲートウェイ10から他のECUに更新用プログラムが送信される。つまり、更新用プログラムが分散して保存される。そのため、ゲートウェイ10でのメモリの圧迫を回避できる。
また、比較例のプログラム更新システムでは、期間T1が期間T2に移行して、対象ECUが可状態となってから更新処理が開始されるため、対象ECUでの処理時間D1が長くなる。その結果、オンライン更新の完了が遅延する。
これに対して、第1の実施の形態にかかるプログラム更新システムでは、期間T1内で代替ECUにおいて更新処理の少なくとも一部(第1の更新処理)が行われる。そして、期間T1の経過後、対象ECUにおいて残りの更新処理(第2の更新処理)が行われる。そのため、対象ECUでの処理時間D2は処理時間D1に比べて短い。その結果、オンライン更新の完了の遅延を抑えることができる。
<変形例1>
なお、図6の例では、対象ECUが可状態となると、ゲートウェイ10が代替ECUでの第1の更新処理の処理結果を取得して対象ECUに送信するものとしている。対象ECUへの処理結果の送信は、この方法に限定されない。ゲートウェイ10は、代替ECUに対して対象ECUに第1の更新処理の処理結果を送信することを指示してもよい。これにより、データ送信を効率化することができる。これは、以降の実施の形態でも同様である。
<変形例2>
代替ECUは、複数のECUであってもよい。つまり、決定部112は、決定処理の第1の処理において、CPU31の使用率が閾値以下である複数のECUを代替ECUに決定してもよい。この場合、決定部112は、第2の処理において、複数の代替ECUそれぞれが代替するプロセスを決定する。そして、更新制御部111は、プロセスの順に従って、当該プロセスを代替する代替ECUに、先のプロセスを実行した代替ECUでの処理結果を送信して、処理を要求する。
複数のECUを代替ECUとすることで、代替ECUそれぞれの処理の負担を軽減させることができる。
<第2の実施の形態>
第1の実施の形態にかかるプログラム更新システムでは、ゲートウェイ10が更新制御装置として機能して、上記の更新制御処理を実行する。しかしながら、更新制御装置はゲートウェイ10に限定されない。他の例として、対象ECUが更新制御装置として機能して、自身が更新を制御するための更新制御処理を実行してもよい。この場合、対象ECUのCPU31は、図3に表されたように、更新制御処理を実行するために更新制御部111に相当する更新制御部311を含む。さらに、更新制御部311は、決定部112に相当する決定部312を含む。
図9は、第2の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。図9において、図6のオンライン更新の流れと同じ動作については、同じステップ番号で表されている。
図9を参照して、第2の実施の形態にかかるプログラム更新システムでは、ゲートウェイ10は、DLサーバ6から更新用プログラムをダウンロードすると(ステップS1)、対象ECUに更新用プログラムを送信して更新を要求する(ステップS1’)。
対象ECUは、受信した更新用プログラムを記憶部33に保存する(ステップS2)。対象ECUは、期間T1において更新制御処理を実行する(ステップS30)。すなわち、第2の実施の形態では、対象ECUが他のECU30に動的な処理能力(CPU31の使用率)を問い合わせ(ステップS31A)、回答を得ると(ステップS31B)、その中から代替ECUを決定する。また、代替ECUに処理を要求するプロセスを決定する。そして、対象ECUは代替ECUに対して更新用プログラムを送信して、第1の更新処理を要求する(ステップS33)。
期間T2となって可状態となると、対象ECUは、代替ECUに第1の更新処理の処理結果を要求し(ステップS37)、処理結果を取得する(ステップS39)。対象ECUは、代替ECUから取得した処理結果を用いて第2の更新処理を実行する(ステップS5’)。
第2の実施の形態にかかるプログラム更新システムでは、対象ECUにおいて、不可状態から可状態になるまで更新用プログラムを記憶しておく場合と比較して、対象ECUでのメモリの圧迫を回避できる。また、第1の実施の形態にかかるプログラム更新システムと同様に対象ECUでの処理時間を短くすることができるため、オンライン更新の完了の遅延を抑えることができる。
<第3の実施の形態>
更新制御装置のさらに他の例として、管理サーバ5が更新制御装置として機能してもよい。このため、第3の実施の形態にかかるプログラム更新システムでは、管理サーバ5のCPU51は、図4に表わされたように、更新制御処理を実行するために更新制御部111に相当する更新制御部511を含む。さらに、更新制御部511は、決定部112に相当する決定部512を含む。
図10は、第3の実施の形態にかかるプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。図10において、図6のオンライン更新の流れと同じ動作については、同じステップ番号で表されている。
図10を参照して、第3の実施の形態にかかるプログラム更新システムでは、ゲートウェイ10は、DLサーバ6から更新用プログラムをダウンロードすると(ステップS1)、第1の実施の形態のオンライン更新と同様に、対象ECUに状態を問い合わせる(ステップS3A)。この問い合わせは、管理サーバ5からの要求に応じて行われてもよい。対象ECUが不可状態である場合(ステップS3B)、ゲートウェイ10は、対象ECUが不可状態であることを管理サーバ5に通知する(ステップS41)。
ゲートウェイ10から通知を受けた管理サーバ5は、更新制御処理を実行する(ステップS30)。管理サーバ5は、ゲートウェイ10に動的な処理能力の問い合わせを要求する(ステップS42)。ゲートウェイ10は、要求に従って対象ECU以外のECUに、動的な処理能力(CPU31の使用率)を問い合わせる(ステップS43A)。そして、回答が得られると、ゲートウェイ10は管理サーバ5に通知する(ステップS44)。
管理サーバ5は、ゲートウェイ10からの通知に基づいて決定処理の第1の処理を実行し、代替ECUを決定する。また、管理サーバ5は、決定処理の第2の処理を実行し、代替ECUに処理を要求するプロセスを決定する。そして、管理サーバ5は、ゲートウェイ10に、当該ECU30を代替ECUとして第1の更新処理を要求することを要求する(ステップS45)。ゲートウェイ10は、要求に従って代替ECUに更新用プログラムを送信して、第1の更新処理を要求する(ステップS46)。
期間T2となって対象ECUから可状態の回答を得ると、ゲートウェイ10は、管理サーバ5に通知する(ステップS48)。この通知を受けた管理サーバ5は、ゲートウェイ10に、対象ECUに第2の更新処理を要求することを要求する(ステップS49)。ゲートウェイ10は、管理サーバ5の要求に従って代替ECUに処理結果を要求し(ステップS50)、代替ECUから処理結果を取得する(ステップS51)。ゲートウェイ10は、対象ECUに当該処理結果を送信して、第2の更新処理を要求する(ステップS4’)。これにより、対象ECUにおいて、第2の更新処理が実行される(ステップS5’)。
第3の実施の形態にかかるプログラム更新システムでも、比較例のオンライン更新と比較して、ゲートウェイ10でのメモリの圧迫を回避できる。また、第1の実施の形態にかかるプログラム更新システムと同様に対象ECUでの処理時間を短くすることができるため、オンライン更新の完了の遅延を抑えることができる。
開示された特徴は、1つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
上述の動作をコンピュータに実行させるための、1つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD-ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 車両
2 広域通信網
4 車内ネットワーク
5 管理サーバ
6 DLサーバ
10 ゲートウェイ
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
16,16A,16B 車内通信線
30 ECU
31 CPU
32 RAM
33 記憶部
34 通信部
35 起動部
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
111 更新制御部
112 決定部
311 更新制御部
312 決定部
511 更新制御部
512 決定部

Claims (8)

  1. 車載制御装置と車内通信線を含む伝送路を介して通信する通信部と、
    下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に前記更新処理の一部の代替を要求する要求メッセージを、前記通信部に送信させる制御部と、を備え、
    前記制御部は、
    前記代替の可否を問い合わせる前記非対象装置宛の問い合わせメッセージを前記通信部に送信させ、前記非対象装置からの応答メッセージの内容に応じて、前記非対象装置を前記代替装置とするか否かを決定し、
    前記通信部に複数の前記車内通信線が終端し、かつ、前記通信部が前記車内通信線に接続された機器を選択的に起動する機能を有しない場合は、前記制御部は、
    前記対象装置と同じ前記車内通信線に繋がる前記非対象装置を、前記対象装置と異なる前記車内通信線に繋がる前記非対象装置よりも高優先とする、更新制御装置。
    対象装置:制御プログラムの更新対象である車載制御装置
    非対象装置:制御プログラムの更新対象ではない車載制御装置
  2. 前記制御部は、
    複数の前記非対象装置に、優先度に従って前記代替の可否を問い合わせる、請求項に記載の更新制御装置。
  3. 前記制御部は、
    動的な処理能力が所定値以上であることを含む前記応答メッセージを受信した場合は、当該応答メッセージの送信元の前記非対象装置を前記代替装置と決定する、請求項1又は請求項に記載の更新制御装置。
  4. 前記制御部は、
    前記応答メッセージの送信元の複数の前記非対象装置から優先度に従って前記代替装置を決定する、請求項に記載の更新制御装置。
  5. 前記制御部は、車両走行に無関係な制御機能を担う前記非対象装置を、その他の機能を担う前記非対象装置よりも高優先とする、請求項~請求項のいずれか一項に記載の更新制御装置。
  6. 前記更新処理は複数のプロセスを含み、
    前記制御部は、前記複数のプロセスのうちの前記代替装置に代替を要求するプロセスを決定する、請求項1~請求項のいずれか一項に記載の更新制御装置。
  7. 車載制御装置と車内通信線を含む伝送路を介して通信する通信部を含む更新制御装置での制御方法であって、
    下記の対象装置による制御プログラムの更新処理の一部の代替の可否を問い合わせる問い合わせメッセージを下記の非対象装置宛に送信し、前記非対象装置からの応答メッセージの内容に応じて、前記非対象装置を、前記更新処理の一部を代替する代替装置とするか否かを決定するステップと、
    前記対象装置が前記制御プログラムの更新処理を実行できない場合に、前記代替装置に前記更新処理の一部の代替を要求する要求メッセージを送信するステップと、を備え、
    前記通信部に複数の前記車内通信線が終端し、かつ、前記通信部が前記車内通信線に接続された機器を選択的に起動する機能を有しない場合に、前記対象装置と同じ前記車内通信線に繋がる前記非対象装置を、前記対象装置と異なる前記車内通信線に繋がる前記非対象装置よりも高優先とする、更新制御方法。
    対象装置:制御プログラムの更新対象である車載制御装置
    非対象装置:制御プログラムの更新対象ではない車載制御装置
  8. 車載制御装置と車内通信線を含む伝送路を介して通信する更新制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータを、
    車載制御装置と車内通信線を含む伝送路を介して通信する通信部と、
    下記の対象装置が制御プログラムの更新処理を実行できない場合に、下記の非対象装置である代替装置に前記更新処理の一部の代替を要求する要求メッセージを、前記通信部に送信させる制御部と、として機能させ、
    前記制御部は、
    前記代替の可否を問い合わせる前記非対象装置宛の問い合わせメッセージを前記通信部に送信させ、前記非対象装置からの応答メッセージの内容に応じて、前記非対象装置を前記代替装置とするか否かを決定し、
    前記通信部に複数の前記車内通信線が終端し、かつ、前記通信部が前記車内通信線に接続された機器を選択的に起動する機能を有しない場合は、前記制御部は、
    前記対象装置と同じ前記車内通信線に繋がる前記非対象装置を、前記対象装置と異なる前記車内通信線に繋がる前記非対象装置よりも高優先とする、コンピュータプログラム。
    対象装置:制御プログラムの更新対象である車載制御装置
    非対象装置:制御プログラムの更新対象ではない車載制御装置
JP2019525106A 2017-06-13 2018-03-26 更新制御装置、制御方法、およびコンピュータプログラム Active JP7207301B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017116109 2017-06-13
JP2017116109 2017-06-13
PCT/JP2018/012073 WO2018230084A1 (ja) 2017-06-13 2018-03-26 更新制御装置、制御方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2018230084A1 JPWO2018230084A1 (ja) 2020-04-09
JP7207301B2 true JP7207301B2 (ja) 2023-01-18

Family

ID=64660101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019525106A Active JP7207301B2 (ja) 2017-06-13 2018-03-26 更新制御装置、制御方法、およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11537382B2 (ja)
JP (1) JP7207301B2 (ja)
CN (1) CN110753906B (ja)
DE (1) DE112018002998T5 (ja)
WO (1) WO2018230084A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020140636A (ja) * 2019-03-01 2020-09-03 株式会社デンソー アプリケーションサーバ装置及び電子制御装置
WO2021024589A1 (ja) * 2019-08-06 2021-02-11 日本電気株式会社 モビリティ制御システム、方法、および、プログラム
CN112882742A (zh) * 2019-11-30 2021-06-01 华为技术有限公司 软件更新方法以及相关设备
WO2021181828A1 (ja) * 2020-03-10 2021-09-16 日立Astemo株式会社 車両制御装置及び車両制御システム
JP2023131640A (ja) * 2022-03-09 2023-09-22 株式会社オートネットワーク技術研究所 車載装置、プログラム、及びプログラムの更新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059211A (ja) 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017097851A (ja) 2015-11-13 2017-06-01 株式会社東芝 中継装置、中継方法およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
JP2010218070A (ja) * 2009-03-16 2010-09-30 Toyota Motor Corp 管理装置
US20100318666A1 (en) * 2009-06-10 2010-12-16 International Business Machines Corporation Expediting adapter failover
JP6399797B2 (ja) * 2014-05-02 2018-10-03 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US20150363210A1 (en) * 2014-06-12 2015-12-17 Ford Global Technologies, Llc Vehicle download by remote mobile device
JP5997740B2 (ja) 2014-09-17 2016-09-28 クラリオン株式会社 車載機のオンライン更新方法
EP3200077B1 (en) * 2014-09-26 2022-03-09 Hitachi Astemo, Ltd. Vehicle control device, reprogramming system
US9529580B2 (en) * 2015-01-21 2016-12-27 Ford Global Technologies, Llc Vehicle control update methods and systems
US10228930B2 (en) * 2016-01-28 2019-03-12 Microsoft Technology Licensing, Llc Offloading network connectivity and execution tasks to an assistant device
JP6417348B2 (ja) * 2016-03-07 2018-11-07 日立建機株式会社 建設機械のプログラム書換え装置
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017059211A (ja) 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017097851A (ja) 2015-11-13 2017-06-01 株式会社東芝 中継装置、中継方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
寺岡 秀敏 ,外2名,「車載ECU向け差分更新方式」,情報処理学会研究報告 コンシューマ・デバイス&システム(CDS),情報処理学会,2016年05月26日,Vol.2016-CDS-16,No.5,p.1-8

Also Published As

Publication number Publication date
WO2018230084A1 (ja) 2018-12-20
CN110753906A (zh) 2020-02-04
US20200192656A1 (en) 2020-06-18
US11537382B2 (en) 2022-12-27
CN110753906B (zh) 2023-08-08
DE112018002998T5 (de) 2020-02-20
JPWO2018230084A1 (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
JP7207301B2 (ja) 更新制御装置、制御方法、およびコンピュータプログラム
JP6376312B1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6380461B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP6525109B2 (ja) 制御装置、転送方法、およびコンピュータプログラム
WO2018142751A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
US11704104B2 (en) Control apparatus, control method, and computer program
JP2017157003A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6562134B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
JP2017157007A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
WO2018154949A1 (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
CN111051139B (zh) 控制设备、控制方法和计算机程序
JP6547904B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP2018074306A (ja) 車内通信システム、車内通信方法、マネージャ装置、及び車載制御装置
CN115454462A (zh) Ota管理器、系统、方法、非暂时性存储介质以及车辆
JP2022187189A (ja) Otaマスタ、センタ、システム、方法、プログラム、及び車両
WO2019146170A1 (ja) 中継装置、制御方法、およびコンピュータプログラム
JP2023001993A (ja) Otaマスタ、システム、方法、プログラム、及び車両
CN115509567A (zh) 中心、ota管理器、系统、方法、非暂时性存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R150 Certificate of patent or registration of utility model

Ref document number: 7207301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150