JP2020166583A - 演算装置、判定方法 - Google Patents

演算装置、判定方法 Download PDF

Info

Publication number
JP2020166583A
JP2020166583A JP2019066887A JP2019066887A JP2020166583A JP 2020166583 A JP2020166583 A JP 2020166583A JP 2019066887 A JP2019066887 A JP 2019066887A JP 2019066887 A JP2019066887 A JP 2019066887A JP 2020166583 A JP2020166583 A JP 2020166583A
Authority
JP
Japan
Prior art keywords
function
information
electronic control
unit
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.)
Granted
Application number
JP2019066887A
Other languages
English (en)
Other versions
JP7123843B2 (ja
Inventor
秀敏 寺岡
Hidetoshi Teraoka
秀敏 寺岡
矢野 正
Tadashi Yano
正 矢野
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2019066887A priority Critical patent/JP7123843B2/ja
Priority to CN202080023945.9A priority patent/CN113632155B/zh
Priority to US17/433,080 priority patent/US11928900B2/en
Priority to PCT/JP2020/007013 priority patent/WO2020202886A1/ja
Publication of JP2020166583A publication Critical patent/JP2020166583A/ja
Application granted granted Critical
Publication of JP7123843B2 publication Critical patent/JP7123843B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】機能ごとの構成情報を確認できる。【解決手段】演算装置は、複数の電子制御装置と接続され、複数の電子制御装置は、1以上の電子制御装置によりそれぞれの機能を構成し、機能ごとに、機能を構成する1以上の電子制御装置の第1識別情報および第1検証情報を含む機能構成情報を受信する外部通信部と、複数の電子制御装置のそれぞれから、電子制御装置に搭載されたソフトウェアのバージョン情報および電子制御装置の第2識別情報を取得する取得部と、機能ごとに、機能を構成するすべての電子制御装置のバージョン情報であって取得部が取得したバージョン情報および機能を構成するすべての電子制御装置の第2識別情報を用いて第2検証情報を作成する算出部と、機能ごとに、第1検証情報および第2検証情報の整合を判定する判定部とを備える。【選択図】図7

Description

本発明は、演算装置、および判定方法に関する。
近年、運転支援機能や自動運転技術の進展により、自動車用の電子制御装置(ECU:Electric Control Unit)に搭載されるソフトウェアの規模が増大している。また、それに伴ってソフトウェア不具合に起因するリコールの回数だけでなく、1回あたりに対応が必要な台数も増加している。そのため、ECUに搭載されるソフトウェアを遠隔で更新する技術へのニーズが高まっている。ソフトウェアの更新が容易になることで、自動車を構成する各機能に対するハードウェアとソフトウェアの構成を管理することが課題となる。特許文献1には、複数の電子制御装置を備えた車両を特定するシステムであって、各車両に搭載された各電子制御装置の識別データ及び各電子制御装置間の接続状況を示す接続データをパターンとして記憶するパターン記憶手段と、任意の車両のパターンを前記パターン記憶手段に記憶されたパターンと照合する照合手段と、を有し、任意の車両のパターンと記憶された前記パターンとの同一性により前記任意の車両を特定することを特徴とする車両特定システムが開示されている。
特開2004−276828号公報
特許文献1に記載されている発明では、機能ごとの構成情報を確認できない。
本発明の第1の態様による演算装置は、複数の電子制御装置と接続される演算装置であって、前記複数の電子制御装置は、1以上の前記電子制御装置によりそれぞれの機能を構成し、前記機能ごとに、前記機能を構成する1以上の前記電子制御装置の第1識別情報および第1検証情報を含む機能構成情報を受信する外部通信部と、前記複数の電子制御装置のそれぞれから、前記電子制御装置に搭載されたソフトウェアのバージョン情報および前記電子制御装置の第2識別情報を取得する取得部と、前記機能ごとに、前記機能を構成するすべての前記電子制御装置のバージョン情報であって前記取得部が取得したバージョン情報および前記機能を構成するすべての前記電子制御装置の前記第2識別情報を用いて第2検証情報を作成する算出部と、前記機能ごとに、前記第1検証情報および前記第2検証情報の整合を判定する判定部とを備える。
本発明の第2の態様による判定方法は、複数の電子制御装置と接続される演算装置が実行する判定方法であって、前記複数の電子制御装置は、1以上の前記電子制御装置によりそれぞれの機能を構成し、前記機能ごとに、前記機能を構成する1以上の前記電子制御装置の第1識別情報および第1検証情報を受信することと、前記複数の電子制御装置のそれぞれから、前記電子制御装置に搭載されたソフトウェアのバージョン情報および前記電子制御装置の第2識別情報を取得することと、前記機能ごとに、前記機能を構成するすべての前記電子制御装置のバージョン情報であって取得したバージョン情報および前記機能を構成するすべての前記電子制御装置の前記第2識別情報を用いて第2検証情報を作成することと、前記機能ごとに、前記第1検証情報および前記第2検証情報の整合を判定することとを含む。
本発明によれば、機能ごとの構成情報を確認できる。
第1の実施の形態にかかる機能構成情報管理システムSの構成を示す図 ゲートウェイ10のハードウェア構成を示すブロック図 エンジン制御ECU13のハードウェア構成例を示すブロック図 エンジン制御ECU13上で動作する制御プログラム130の構成を示すブロック図 サーバ2の構成例を示すブロック図 機能構成情報61の一例を示す図 ゲートウェイ10で動作するゲートウェイプログラム100の構成を示すブロック図 本実施の形態におけるテーブル検証情報604の検証を示す概念図 HMI12に表示される表示画面の一例を示す図 ゲートウェイ10における検証処理を示すフローチャート ゲートウェイ10における復旧処理を示すフローチャート ECUのソフトウェア更新の手順を示すシーケンス図 サーバ2における機能構成情報61の登録画面の一例を示す図 変形例1における機能構成情報管理システムSaの構成を示す図 変形例1における診断装置5の構成例を示すブロック図 変形例2における機能構成情報64の一例を示す図 変形例3における機能構成情報65の一例を示す図 第2の実施の形態における機能別バージョン情報951の一例を示す図 第2の実施の形態における機能構成情報62の一例を示す図 第3の実施の形態における機能別バージョン情報952の一例を示す図 第3の実施の形態における機能構成情報63の一例を示す図 第4の実施の形態における機能Dの機能構成情報61cを示す図 第4の実施の形態における機能制限情報91の一例を示す図 第4の実施の形態におけるゲートウェイ10における機能制限処理を示すフローチャート
―第1の実施の形態―
以下、図1〜図13を参照して、本発明に係る演算装置であるゲートウェイの第1の実施の形態に係る機能構成情報管理システムを説明する。
(システム構成)
図1は、第1の実施の形態にかかる機能構成情報管理システムSの構成を示す図である。機能構成情報管理システムSは車両1、およびサーバ2を備える。車両1とサーバ2は、アクセスネットワークや拠点を接続するインターネット3、および通信サービスプロバイダが提供するアクセスネットワーク4を介して接続される。
車両1は、ゲートウェイ10、通信モジュール11、Human Machine Interface(HMI)12、および複数のECU(電子制御装置)を備える。ゲートウェイ10、通信モジュール11、およびHMI12は、車内ネットワーク10aにより接続される。
車両1に備えられるECUは特に限定しないが、本実施の形態ではたとえばエンジン制御ECU13、ブレーキ制御ECU14、自動運転ECU15、および先進運転支援システム(ADAS) ECU16を備える。ゲートウェイ10とこれらのECUは、車内ネットワーク10bにより接続される。ゲートウェイ10と接続されるこれらのECUをまとめて、以下では「配下ECU」と呼ぶ。
車内ネットワーク10aおよび車内ネットワーク10bは既知の通信規格、たとえばControl Area Network(CAN)(登録商標)、Local Interconnect Network(LIN)、およびFlexRay、Ethernet(登録商標)のいずれかを採用する。本実施の形態では、車内ネットワーク10bはCANで、車内ネットワーク10aはEthernetで構成される。ただし車内ネットワーク10aおよび車内ネットワーク10bは同一の通信規格を採用してもよい。また、図1では図示しないが、各種ECUなどの車両内の各構成要素は電力線で蓄電池に接続され、電力供給を受けている。
ゲートウェイ10は、配下ECU同士の通信データの中継、配下ECUのソフトウェア更新、および配下ECUに搭載されるソフトウェアの整合性確認を行う。ただし以下では、ソフトウェアの整合性確認を「検証」や「検証処理」とも呼ぶ。なお本実施の形態ではゲートウェイ10はゲートウェイ10自身のソフトウェア更新および整合性確認を行わないが、ゲートウェイ10がゲートウェイ10自身のソフトウェア更新および整合性確認を行ってもよい。なお本実施の形態では、「検証」と「整合」は同じ意味で用いる。
通信モジュール11は、ゲートウェイ10、HMI12、および配下ECUとサーバ2との通信を中継する。HMI12は、車両1の乗員であるユーザへの情報提示やユーザからの入力を受け付けるための装置である。HMI12は、画面表示を行う表示装置および各種スイッチ等の入力装置、またはこれらを組み合わせたタッチパネル等により構成される。エンジン制御ECU13は、エンジンの制御を行う。ブレーキ制御ECU14は、ブレーキの制御を行う。自動運転ECU15は、自動運転時に環境の認識や車両の起動指示等を行う。ADAS ECU16は、自動ブレーキなどの運転支援制御を行う。
サーバ2は機能構成情報61をゲートウェイ10に送信する。ゲートウェイ10は、機能構成情報61に基づいて車両1の機能構成を管理する。
(ゲートウェイのハードウェア構成)
図2は、ゲートウェイ10のハードウェア構成を示すブロック図である。ゲートウェイ10は、マイコン101、FROM(FlashROM)102、CAN用の通信I/F(インタフェース)104、およびEthernet用の通信I/F105を備える。
マイコン101は、CPU1011、SRAM1012、FROM1013、CAN通信コントローラ1014、およびEther通信コントローラ1015を備える。マイコン101のCPU1011は、FROM1013に格納されるプログラムを実行し、ゲートウェイ10内の他の構成要素を制御するとともに、車内ネットワークにより接続された他の機器とデータ送受信指示を行うなどしてゲートウェイ10を機能させる。ただしCPU1011の代わりにASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)を用いてもよい。
FROM102は、不揮発メモリであり、サーバ2から受信した情報が格納される。CAN通信コントローラ1014は、CAN通信用のインタフェースであり、マイコン101の指示に基づき車内ネットワーク10bを介して、車内ネットワーク10bに接続された配下ECUとの間でデータの送受信を行う。Ether通信コントローラ1015は、Ethernet通信用のインタフェースであり、マイコン101の指示に基づき車内ネットワーク10aを介して、車内ネットワーク10aに接続された機器との間でデータの送受信を行う。
(ECUの構成)
図3は、エンジン制御ECU13のハードウェア構成例を示すブロック図である。ただし本実施の形態においてソフトウェアが更新される対象となるECUはいずれも、少なくとも図3に示すハードウェア構成を備える。エンジン制御ECU13は、マイコン131、およびCAN用の通信I/F133を備える。
マイコン131は、CPU1311、SRAM1312、FROM1313、通信コントローラ1314、およびI/Oコントローラ1315を備える。マイコン131は、FROM1313に格納される制御プログラムを実行し、エンジン制御ECU13内の他の構成要素やI/Oを介して接続されたセンサ/アクチュエータ132を制御するとともに、車内ネットワークで接続された他の機器とデータ送受信指示を行うなどしてエンジン制御を実施する。センサ/アクチュエータ132は、マイコン131の指示によってエンジン制御に必要となるデータを取得しつつ、エンジンの制御を実行する。
FROM1313には、FROM1313に格納される制御プログラムのバージョン情報も格納される。またFROM1313にはそのECUの種類や機能を特定する識別情報であるECU IDも格納される。なおECU IDは、「部品番号」や「型番」とも呼ばれる。ECU IDは個々の製品を識別するための、いわゆる製造番号ではなく、ECUの故障時には同一のECU IDを有する別の製品に交換が可能である。
図4は、エンジン制御ECU13上で動作する制御プログラム130の構成を示すブロック図である。ただし本実施の形態においてソフトウェアが更新される対象となるECUはいずれも、少なくとも図4に示す制御プログラム130と同様の構成を備える。
ECU13の機能を実現する制御プログラム130は、マイコン131のFROM1313に格納されCPU1311で実行される。図4では、機能的なまとまりをブロックとして表現しており、各ブロックが複数に分割されてもよいし、いくつかのブロックが統合されてもよい。また制御プログラムは、1つのソフトウェアにより実現されてもよいし、2以上のソフトウェアの組合せにより実現されてもよい。
制御プログラム130は、制御処理部13001、更新制御部13003、情報管理部13004、および通信制御部13005を備える。制御処理部13001は、I/Oコントローラ1315を制御し、センサ/アクチュエータ132を制御してエンジン制御を実施する。停止部130011は、通信制御部13005を介してゲートウェイ10からの停止指令や再開指令を受信し、機能の停止・再開制御を行う。
更新制御部13003は、通信制御部13005を介してゲートウェイ10からの動作指令やソフトウェアの更新に用いるデータを受信しソフトウェアの更新を制御する。情報管理部13004は、FROM1313に格納されるソフトウェアのバージョン情報やECU IDの読み出し、およびソフトウェアの更新に伴うバージョン情報の書き換えを行う。
通信制御部13005は、更新制御部13003等の指示に従って、通信コントローラ1314を制御し、車内ネットワーク10bに接続された機器と通信を行う。通信の際には、CANフレームを解析・構成する。また通信制御部13005は、UDS等の診断通信プロトコルに準拠したコマンドの生成・解析を行う。
(機能と構成)
本実施の形態では、車両1が有する機能はある1つのECUにより、または複数のECUが協業することにより実現される。協業とは、連携して動作することを意味するが、必ずしも各ECUが協業する他のECUを認識する必要はなく、結果的に複数のECUがその機能の実現に関与していればよい。たとえばある機能Xがエンジン制御ECU13と、自動運転ECU15との協業により実現される場合には、本実施の形態では、エンジン制御ECU13および自動運転ECU15が機能Xを「構成する」と言う。また、エンジン制御ECU13および自動運転ECU15が機能Xを「実現する」とも言う。
(サーバの構成)
図5は、サーバ2の構成例を示すブロック図である。サーバ2は、CPU201、主記憶部202、補助記憶部203、通信部204、入力部205、表示部206を備える。CPU201は、補助記憶部203等に蓄積されたサーバ用プログラムを主記憶部202上で実行し機能構成管理情報の登録や配信の制御を行う。補助記憶部203は、機能構成管理情報や車両に配信するECUソフトウェア更新用のデータを記憶する。
通信部204は、インターネットを介して車両1との間でデータの送受信を行う。入力部205は、サーバ2を操作するオペレータからの操作や入力情報を受け付ける。表示部206は、サーバ2を操作するオペレータに機能構成管理情報登録に関する情報を提供する。
(機能構成管理情報)
図6は、サーバ2で生成され、診断装置5やゲートウェイ10のテーブル管理部10001が管理する機能構成情報61の一例を示す図である。図6(a)は変更前の機能構成情報61である機能構成情報61aを示し、図6(b)は変更後の機能構成情報61である機能構成情報61bを示す。
図6では、機能構成情報61をテーブルとして管理し、機能毎の構成情報を記録する場合の例が示されている。機能構成情報61は複数のレコードを有する。機能構成情報61の各レコードは、機能識別ID601、機能識別検証情報602、組み合わせテーブル603、組み合わせテーブル検証情報604、およびフラグ605のフィールドを備える。図6に示す例では、機能構成情報61はR11、R21、およびR31の3つのレコードを有するが、機能構成情報61が有するレコードは1以上であればよく上限はない。また、機能識別検証情報602およびテーブル検証情報604のフィールドはサーバ2のCPU201による演算の結果が格納される。他のフィールドの情報は、オペレータにより入力される。
機能識別ID601は、機能を構成するECUのハードウェアとソフトウェアの組み合わせを識別するための識別情報が格納されるフィールドである。ただしここで言う「ソフトウェア」とはバージョン番号も含んだ概念である。したがって機能識別ID601は、組み合わせテーブル603に登録されたECU IDが変更された場合だけでなく、ソフトウェアのバージョンが変化した場合にも値が変更される。機能識別ID601はたとえば、機能を識別する文字列とECU IDやバージョンの変化に対応する数字の組み合わせである。
機能識別検証情報602は、機能識別ID601の完全性検証情報を格納する領域である。機能識別ID601の完全性検証情報は、たとえば、機能識別ID601のデジタル署名である。
組み合わせテーブル603は、NET ID6031、ECU ID6032、およびソフトウェアバージョン6033から構成される。組み合わせテーブル603には、機能識別ID601が示す機能に関連するECUのハードウェアとソフトウェアの組み合わせの情報が格納される。NET ID6031には、車載ネットワーク上での当該ECUの識別情報を示すIDが格納される。車載ネットワーク10bがCANの場合にはNET ID6031にはCAN IDが格納され、車載ネットワーク10bがEthernetの場合にはIPアドレスやMACアドレスが格納される。NET ID6031にはネットワーク種別や、チャンネル番号など、不図示の情報が含まれてもよい。
ECU ID6032には、ECUの種類や機能を識別するための情報が格納される。ECU ID6032には、たとえばエンジン制御ECU13の種類や機能を示す識別情報である「エンジン」が格納される。ECUの識別情報としては部品番号などが利用されてもよい。すなわちNET ID6031はECUのネットワーク上の識別子であるのに対して、ECU ID6032はECUの種類を示す識別子である。また以下では、NET ID6031を「第1識別情報」と呼ぶことがあり、ECU ID6032を「第2識別情報」と呼ぶことがある。
ソフトウェアバージョン6033は、ECUに搭載されたソフトウェアのバージョンを識別するための情報が格納されるフィールドである。なお以下では、ECU ID6032に格納される情報とソフトウェアバージョン6033に格納される情報とを合わせて「構成情報」とも呼ぶ。
組み合わせテーブル検証情報604は、組み合わせテーブル603に登録された情報の完全性検証情報を格納する領域である。組み合わせテーブル検証情報604は、たとえば、機能識別ID601とECU ID6032、ソフトウェアバージョン6033を連結した値のデジタル署名である。
フラグ605は、組み合わせテーブル603に登録された情報と、配下ECUから収集した情報に矛盾がある場合に、機能識別ID601により示される機能の動作継続を許可するか否かを示す情報が格納される。継続動作を許可する場合には「動作許可」が格納され、動作許可を許容せず停止が必要な場合には「停止」が格納される。
図6(a)のレコードR1は、機能識別IDが”A1”で示される機能Aに関連する情報が格納されたレコードである。レコードR1の機能識別検証情報602のフィールドには「aaa」が格納され、NET ID6031のフィールドには「700」が格納され、ECU ID6032のフィールドにはエンジン制御ECU13であることを示す「エンジン」が格納され、ソフトウェアバージョン6033のフィールドには「1.0.0.0」が格納され、組み合わせテーブル検証情報604のフィールドには「taaa」が格納され、フラグ605のフィールドには、不整合が発生した場合も当該機能の動作継続を許可する「動作許可」が格納されている。
図6(a)のレコードR2は、機能識別IDが”B1”で示される機能Bに関連する情報が格納されたレコードである。レコードR2の機能識別検証情報602のフィールドには「bbb」が格納され、NET ID6031のフィールドには「701」が格納され、ECU ID6032のフィールドにはブレーキ制御ECU14であることを示す「ブレーキ」が格納され、ソフトウェアバージョン6033のフィールドには「1.0.0.0」が格納され、組み合わせテーブル検証情報604のフィールドには「tbbb」が格納され、フラグ605のフィールドには、不整合が発生した場合は当該機能の動作停止が必要であることを示す「停止」が格納されている。
図6(a)のレコードR3は、機能識別IDが”C1”で示される機能Cに関連する情報が格納されたレコードである。レコードR3の機能識別検証情報602のフィールドには「ccc」が格納される。機能Cを構成するECUは3つであるため、NET ID6031のフィールドには「700」「701」「702」がそれぞれ格納され、ECU ID6032のフィールドには「エンジン」「ブレーキ」「ADAS」がそれぞれ格納され、ソフトウェアバージョン6033のフィールドには「1.0.0.0」「1.0.0.0」「1.0.0.0」がそれぞれ格納される。レコードR3の組み合わせテーブル検証情報604のフィールドには「tccc」が格納され、フラグ605のフィールドには、不整合が発生した場合は当該機能の動作停止が必要であることを示す「停止」が格納されている。
なおここでは、機能Cが3つのECUにより構成される例を示したが、前述のように1つの機能がいくつのECUにより構成されてもよく、1つの機能を構成するECUの数に上限はない。
図6(b)は図6(b)に示す機能構成情報61aからエンジン制御ECU13のソフトウェアが更新された場合の更新後の機能構成情報61である機能構成情報61bを示す図である。具体的には図6(b)ではエンジン制御ECU13のソフトウェアバージョンが「1.0.0.0」から「1.0.0.1」に更新された。図6(b)に示すレコードR12、R22、およびR32は、図6(a)に示すレコードR11、R21、およびR31にそれぞれ対応する。
ソフトウェアの更新に伴って、図6(b)のレコードR12およびR32に示すように、ECU ID6032が「エンジン」であるレコードのソフトウェアバージョン6033が「1.0.0.1」に更新されている。また、エンジン制御ECU13を構成要素に含むレコードD101bとレコードD103bの機能の機能識別ID601がそれぞれ”A2”と”C2”に更新されている。このように、機能構成情報においては、機能実現に関連するECUの構成変更に伴い、機能識別IDが更新する必要がある。
(ゲートウェイまたは診断装置のソフトウェア構成)
図7は、ゲートウェイ10で動作するゲートウェイプログラム100の構成を示すブロック図である。
ゲートウェイ10の機能を実現するゲートウェイプログラム100は、マイコン101のFROM1013に格納されCPU1011により実行される。図7では、機能的なまとまりをブロックとして表現しており、各ブロックが複数に分割されてもよいし、いくつかのブロックが統合されてもよい。また制御プログラムは、1つのソフトウェアにより実現されてもよいし、2以上のソフトウェアの組合せにより実現されてもよい。
ゲートウェイプログラム100は、制御部10000、テーブル管理部10001、算出判定部10002、取得部10004、停止制御部10005、および通信制御部10006を含む。制御部10000は、テーブル管理部10001、算出判定部10002、取得部10004、停止制御部10005、および通信制御部10006を制御する。テーブル管理部10001は、FROM1013に格納される機能構成情報61を管理する。
算出判定部10002は、取得部10004から取得した構成情報を用いて検証値を算出し、機能構成情報61に含まれるテーブル検証情報604との整合を判定する。算出判定部10002は、判定の結果を停止制御部10005に出力する。検証値の算出方法はサーバ2と同様である。算出判定部10002が検証値の算出に用いる値、すなわちECU IDとソフトウェアのバージョンがサーバ2が算出に用いた値と同じであれば、検証値とテーブル検証情報604は整合する。
取得部10004は、テーブル管理部10001が管理する情報に基づいて、ECUからECU IDやソフトウェアバージョンなどの構成情報を取得し、検証情報算出部に出力する。停止制御部10005は、テーブル管理部10001が管理する動作許可・停止を示すフラグと、算出判定部10002の出力情報に基づいて、不整合が発生した機能の動作継続・停止制御を行う。
通信制御部10006は、停止制御部10005等の指示に従って、CAN通信コントローラ1014およびEther通信コントローラ1015を制御し、車内ネットワーク10aおよび10bに接続された機器と通信を行う。車内ネットワーク10aに接続された機器と通信する際には、通信制御部10007は、TCP/IPやUDP/IPなどのパケットを解析・生成する。また車内ネットワーク10bに接続された機器と通信する際には、通信制御部10006は、CANフレームを解析・生成する。なお通信制御部10006は、通信モジュール11を介して車両1の外部との通信が可能なので、「外部通信部」とも呼べる。
(検証)
図8は、本実施の形態におけるテーブル検証情報604の検証を示す概念図である。図8には以下の説明との対応関係を示すために便宜的にステップ番号を付与している。このステップ番号は後述するフローチャートのステップ番号とは対応しない。
サーバ2には予め秘密鍵SKが格納され、ゲートウェイ10には予め公開鍵PKが格納されている。サーバ2のCPU201は、あらかじめ定めたルールにしたがって、機能ごとに構成情報を繋げたビット列Xを作成する(S901)。たとえば図6に示したように機能Aを構成するECU「エンジン制御ECU」だけの場合は、機能Aのテーブル検証情報604を作成するために、CPU201は「エンジン」を所定のルールによりたとえばUTF−8の文字コード番号に変換して「0x834712345」を得て、バージョン番号「1.0.0.0」を所定のルールにより変換して「0x1000」を得る。そしてこの2つのビット列を連結して得られる「0x8347123451000」をビット列Xとする。
なお、ある機能が複数のECUから構成される場合には、ビット列Xを作成する際のビット列を並べる順番は、たとえばNET IDが小さい順番に並べるなどのルールがあらかじめ定められている。
そしてCPU201は、そのビット列Xを対象とし、秘密鍵SKを用いてデジタル署名Yを作成する(S902)。作成したデジタル署名Yは、機能構成情報61のテーブル検証情報604として格納され、ゲートウェイ10に送信される。デジタル署名Yの作成方式はあらかじめゲートウェイ10と共有されている。
ゲートウェイ10は、サーバ2から受信した機能構成情報61を参照し、機能ごとにECUから構成情報を読み出し、あらかじめ定めたルールにしたがって検証値であるビット列Zを作成する(S903)。このビット列Zのルールは、サーバ2に格納されているビット列Xの作成ルールと同一である。そしてゲートウェイ10は、機能構成情報61に格納されたテーブル検証情報604、すなわちデジタル署名Yを公開鍵PKを用いて復号化し、ビット列Xを得る(S904)。
念のために記載すると、あらかじめ用意された秘密鍵SKと公開鍵PKの組合せが適切ならば、ゲートウェイ10に接続されているECUの如何にかかわらず、ゲートウェイ10において復号化されて得られるビット列Xはサーバ2において作成されたビット列Xと同一である。最後にゲートウェイ10は、ビット列Xとビット列Zが同一か否かを判断することで検証の合否を判断する(S905)。
ただしビット列Xを用いたデジタル署名Yの作成において、ビット列Xをそのまま用いずにビット列Xのハッシュ値やビット列Xとあらかじめ定めた値とのXOR値に対してデジタル署名Yを作成してもよい。また上述した説明におけるS903とS904は実行の順番を入れ替えてもよいし略同時に実行してもよい。なお以下では、ビット列Zを「検証値」とも呼ぶ。またビット列Zの比較対象は上述した通りビット列Xであるが、以下の説明では冗長な記載を避けるために、単に「ビット列Zとデジタル署名Yの整合を判定する」、または「検証値とテーブル検証情報604の整合を判定する」と記載する。
(車両側画面表示例)
図9は、HMI12に表示される表示画面の一例を示す図である。図9(a)に示す表示G1aは、機能構成情報と実際の構成の不整合が検出されたことをユーザに示す画面例である。不整合により機能を停止させている場合は、さらに本画面に機能停止している旨の情報を表示してもよい。図9(b)に示す表示G1bは、機能構成情報が不整合なため、機能の一部を停止したことをユーザに示す画面例である。
図9(c)に示す表示G1cは、機能構成情報が不整合で対策できないため、回復のためにディーラに連絡することをユーザに促す画面例である。図9(d)に示す表示G1dは、機能構成情報の不整合が回復され、機能の一部が普及したことをユーザに示す画面例である。
(確認シーケンス)
図10は、ゲートウェイ10における検証処理を示すフローチャートである。図10に示す処理は、車両1のイグニッションスイッチがオンにされると実行される。なおゲートウェイ10は、イグニッションスイッチと信号線で接続されてイグニッションスイッチからオン/オフの状態を示す信号を直接受信してもよいし、イグニッションスイッチと接続される不図示のECUから動作指令信号をうけて動作を開始してもよい。
まず制御部10000は、最初に処理対処のレコードxを1に設定する(S101)。機能構成情報61が図6(a)に示すものの場合は、X=1の場合にはレコードR11が読み込まれ、X=2の場合にはレコードR21が読み込まれる。後述するS112の判断により、ゲートウェイプログラム100は、機能構成情報61に格納されたレコードの数だけS103〜S111の処理を繰り返す。
制御部10000は、機能構成情報61における処理対象レコードxのNET IDを読み出し、取得部10004にそのNET IDを有するECUからの構成情報の読み出しを指示する(S103)。取得部10004は、通信制御部10006を介して、ECUから構成情報、すなわちECU IDとソフトウェアバージョンの組合せを読み出し、算出判定部10002に読み出した構成情報を渡す(S104)。なお図6(a)に示すレコードR31のようにNET IDが複数存在する場合には、そのすべてのNET IDに対して構成情報を読み出す。算出判定部10002は、受信した構成情報を用いて検証情報を算出する(S105)。
算出判定部10002は、機能構成情報61の処理対処のレコードxにおけるテーブル検証情報604を読みだし、S105において算出した検証値との整合を判断する(S106)。算出判定部10002は、検証値とテーブル検証情報604が整合すると判断する場合は(S107:YES)、S112に進んで制御部10000が未確認のレコード有無を確認する。制御部10000は、未確認のレコードがないと判断する場合は(S112:NO)、確認済みレコードの不整合の有無を確認する。制御部10000は、不整合が全くない、すなわち機能構成情報61の全レコードについて算出判定部10002が算出する検証値と機能構成情報61から読み出したテーブル検証情報604が整合すると判断する場合は(S113:NO)は、処理を終了する。
制御部10000は、不整合がある、すなわち機能構成情報61のいずれかのレコードにおいて算出判定部10002が算出する検証値と機能構成情報61から読み出したテーブル検証情報604が整合しないと判断する場合は(S113:YES)、HMIに図9の画面G1aの表示を指示し(S114)、処理を終了する。未確認のレコードがある場合(S112:YES)は、制御部10000は処理対象レコードxを次のレコードに更新して(S115)、S103に戻る。
制御部10000は、整合しないと判断する場合(S107:NO)、バージョン情報が整合しない旨の故障コード、すなわちDTC(diagnostic trouble code)コードを記録する(S108)。停止制御部10005は、制御部10000から処理対象レコードXと比較結果を受信し、機能構成情報61から該当レコードのフラグ605を読み出す(S109)。停止制御部10005は、読み出したフラグ605が「動作許可」の場合(S110:YES)は、何もせずに処理を継続する。読み出したフラグ605が「動作許可」ではない場合(S110:NO)は、通信制御部10006を介して、機能構成情報61の処理対象レコードXに登録された関連ECUに当該機能の停止を指示する(S111)。以上が図10の説明である。
(不整合時の復旧シーケンス)
図11は、ゲートウェイ10における復旧処理を示すフローチャートである。図11に示す処理は、図10に示す処理の完了後であって、機能構成情報61のいずれかのレコードに不整合がある場合に実行される。ただし図11に示す処理は必ずしも図10に示す処理の完了を待機してから開始しなくてもよく、たとえばS107において否定判断がされた際にS108と並列に実行を開始してもよい。
制御部10000は、最初に機能構成情報が不整合である情報を含む構成情報をサーバ2に送信する(S201)。サーバ2は、ゲートウェイ10から受信した構成情報に基づき、次の3つのいずれかの応答を送信する。第1の応答は機能構成情報61の更新指示、第2の応答はECUのソフトウェア更新指示、第3の応答は機能構成情報61およびECUのソフトウェアの更新指示である。サーバ2はたとえば、機能構成情報61の更新日時やECUのソフトウェアの更新日時、ソフトウェアのバージョン番号に基づき第1〜第3の応答のいずれにするかを選択する。ただしサーバ2は更新指示を含めない応答を返してもよい。
制御部10000はサーバ2からの応答を受信すると(S202)、その中に更新指示が含まれるかを判定する。制御部10000は、更新指示が含まれないと判断する場合は(S203:NO)、HMI12に図9(c)に示す画面G1cの表示を指示し(S204)、図11に示す処理を終了する。制御部10000は、応答に更新指示が含まれると判断する場合は、サーバ2からの応答に機能構成情報61の更新指示が含まれるかどうかを判定する。制御部10000は、機能構成情報61の更新指示が含まれると判断する場合は(S205:YES)、機能構成情報61を更新する(S206)。
次に制御部10000は、サーバ2からの応答にECUのソフトウェア更新指示が含まれるか否かを判定する。制御部10000は、ECUのソフトウェア更新指示が含まれないと判断する場合は(S207:NO)、機能を停止していたECUに機能復旧を指示し(S209)、HMI12に図9(d)に示す画面G1dの表示を指示(S210)して、図11に示す処理を終了する。制御部10000は、ECUのソフトウェア更新指示が含まれると判断する場合は(S207:YES)、ECUのソフトウェア更新処理を実行(S208)する。そして制御部10000は、ソフトウェア更新が完了すると、機能を停止していたECUに機能復旧を指示し(S209)、HMI12に図9(d)に示す画面G1dの表示を指示(S210)して、図11に示す処理を終了する。
(ソフトウェア更新シーケンス)
図12は、ECUのソフトウェア更新の手順を示すシーケンス図である。なお図12では処理の一例としてエンジン制御ECU13をソフトウェア更新の処理対象として説明するが、以下に説明するシーケンスは処理対象のECUによらず共通である。
ゲートウェイ10は、最初に更新対象であるエンジン制御ECU13からECU IDとソフトウェアバージョンを読み出す(S2081)。ゲートウェイ10は、次に収集したECU IDとソフトウェアバージョン、すなわち構成情報をサーバに送信する(S2082)。サーバ2は、受信した構成情報をもとに、当該車両のソフトウェア更新有無を判断し、その結果としての更新情報をゲートウェイ10に送信する(S2083)。次に、ゲートウェイ10は、サーバ2から更新に必要なデータをダウンロードする(S2084)。更新に必要なデータには、新しいソフトウェアや、更新後の機能構成情報61が含まれる。
次に、ゲートウェイ10は、更新対象のエンジン制御ECU13を制御してエンジン制御ECU13のソフトウェアを更新する(S2085)。ゲートウェイ10は、更新が完了すると機能構成情報61を更新する(S2086)。
なお、図11のS208におけるソフトウェア更新処理では、S2081〜S2083は、図11のS201で実施済みのため実施を省略できる。またゲートウェイ10は、ダウンロードしたデータに機能構成情報61が含まれない場合は、S2086は実施しなくてよい。
(サーバ側画面表示例)
図13は、サーバ2における機能構成情報61の登録画面の一例を示す図である。登録画面G2は、サーバ2の表示部206に表示される。機能構成情報61の登録画面G2は、対象機能G21、機能識別ID G22、機能実現ECU G23、不整合時動作G24、登録ボタンG25、および行追加ボタンG26から構成される。
対象機能G21は、緊急ブレーキ機能などの管理対象の機能を識別する情報を設定する領域であり、本例では符号G21aに示すように「機能C」が設定されている。機能識別ID G22は、管理対象の構成を一意に識別するための識別情報を設定する領域であり、本例では符号G22aに示すように「C1」が設定されている。
関連ECU G23は、対象機能G21を実現するECUを一意に特定するための情報を設定する領域であり、NET ID、ECU ID、ソフトウェアバージョンで構成される。本例では、符号G23a〜G23cで示す3つのECUにより機能Cが実現されることが示されている。符号G23aに示すECUは、NET IDが「700」、ECU IDが「エンジン」、ソフトウェアバージョンが「1.0.0.0」である。符号G23bに示すECUは、NET IDが「701」、ECU IDが「ブレーキ」、ソフトウェアバージョンが「1.0.0.0」である。符号G23cに示すECUは、NET IDが「702」、ECU IDが「ADAS」、ソフトウェアバージョンが「1.0.0.0」である。
不整合時動作G24は、対象機能G21に示す機能の構成情報に不整合を検出した場合の当該機能の動作を設定する領域絵であり、本例では符号G24aに示すように「停止」が設定されている。登録ボタンG25は入力した情報をサーバ2に登録するためのボタンであり、オペレータがこのボタンを押すと機能識別検証情報602およびテーブル検証情報604のフィールドの値がCPU201によって算出される。行追加ボタンG26は、機能実現ECUの入力欄を増加させるためのボタンである。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)ゲートウェイ10は、複数のECUと接続される。複数のECUのそれぞれは、1以上のECUによりそれぞれの機能を構成する。ゲートウェイ10は、機能ごとに、機能を構成する1以上のECUの第1識別情報、すなわちNET ID6031および第1検証情報、すなわちテーブル検証情報604を含む機能構成情報61を受信する外部通信部、すなわち通信制御部10006と、複数のECUのそれぞれから、ECUに搭載されたソフトウェアバージョン6033およびECUの第2識別情報、すなわちECU ID6032を取得する取得部10004と、機能ごとに、機能を構成するすべてのECUのバージョン情報であって取得部が取得したソフトウェアバージョン6033および機能を構成するすべてのECUの第2識別情報、すなわちECU ID6032を用いて第2検証情報、すなわちビット列Zを算出する算出判定部10002と、機能ごとに、第1検証情報および第2検証情報の整合を判定する算出判定部10002とを備える。そのためゲートウェイ10は、ゲートウェイ10に接続されるECUが構成する全ての機能について、機能ごとの構成情報を確認することができる。
ある機能が複数のECUにより構成される場合には、それら複数のECUに搭載されるソフトウェアのバージョンは、意図された通りの組合せであることが望ましい。たとえば事前に検証されていない組合せでは動作が保証できない場合があるからである。また、ソフトウェアの更新は無線通信を介して実行することも可能なので、専門店に持ち込んでソフトウェアを更新する場合に比べれば、ソフトウェアのバージョンの組合せが予定していないものになる可能性が高まる。また、ECUが故障した際に同一の型番の他のECUと交換し、そのECUのソフトウェアのバージョンが交換前のECUと一致していないことも起こりうる。このような場合に、本実施の形態で示した検証処理を行うことで、機能ごとの構成情報を確認し、問題の発見や問題がないことの確認が可能となる。
(2)第1識別情報とは、ECUのネットワーク上の識別子、すなわちNET ID6031である。第2識別情報とは、ECUの種類を示す識別子、すなわちECU ID6032である。
(3)機能構成情報61には、機能ごとに不整合時の実行を許可または拒否を示すフラグ605が含まれる。停止制御部10005は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、整合しないと判定された第2検証情報に関する機能であって、機能構成情報におけるフラグが不整合時に実行を拒否することを示すフラグを有する機能を停止させる。そのためゲートウェイ10は、フラグ605の設定に応じて不整合時に機能を停止させることができる。
(4)制御部10000は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、Ether通信コントローラ1015から受ける指令に基づき、機能構成情報61およびECUのソフトウェアの少なくとも一方を更新する。そのためゲートウェイ10は、不整合時に機能構成情報61およびECUのソフトウェアの少なくとも一方を更新できる。
(5)制御部10000は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、不整合が生じたことを故障コードとして記憶部であるFROM102に記録する。そのため、FROM102を参照することで不整合の発生を事後的に確認できる。
(6)制御部10000は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、不整合が生じたことを表示部、すなわちHMI12に表示させる。そのため車両1の乗員は不整合の発生をHMI12の表示により知ることができる。
(7)ゲートウェイ10は車両1に搭載される。取得部10004、および算出判定部10002は、車両1のイグニッションスイッチがオンにされると動作を開始する。そのため、車両1の起動時に動作することで、車両1が走行を開始する前に、または車両1が低速で走行している間にソフトウェアの不整合を検出できる。
(変形例1)
各機能の構成情報の確認は、ゲートウェイ10以外の装置が実現してもよい。たとえば車両1に接続可能な診断装置により実行してもよい。
図14は変形例1における機能構成情報管理システムSaの構成を示す図である。図14では、診断装置5が追加されている点が第1の実施の形態と異なる。本変形例では、サーバ2が送信する機能構成情報61は診断装置5が受信する。診断装置5とゲートウェイ10は、OBD2などの汎用コネクタ600を介して接続される。なお図14では通信モジュール11とサーバ2は接続されていないが、ECUのソフトウェアを更新する際には、第1の実施の形態と同様に通信モジュール11はサーバ2と通信を行う。
(診断装置の構成)
図15は、診断装置5の構成例を示すブロック図である。診断装置5は、CPU501、主記憶部502、補助記憶部503、第1通信部504、第2通信部505、入力部506、および表示部507を備える。CPU501は、補助記憶部503等に蓄積されたプログラムを主記憶部502上で実行し機能構成管理の制御を行う。補助記憶部503は、機能構成管理情報や車両に配信するECUソフトウェア更新用のデータを記憶する。
第1通信部504は、インターネット3を介してサーバ2との間でデータの送受信を行う。第2通信部505は、車両1との間でデータの送受信を行う。入力部506は、診断装置5を操作するオペレータからの操作や入力情報を受け付ける。表示部507は、診断装置5を操作するオペレータに機能構成管理情報を表示する。
(動作)
本変形例では、オペレータが入力部506から動作指示を与えることで図10に示した検証処理が開始される。本変形例ではゲートウェイ10は、診断装置5の動作指令に基づき各ECUとの通信を仲介する。その他の動作は第1の実施の形態と同様である。
(変形例2)
上述した第1の実施の形態では、機能構成情報61にECU ID6032およびソフトウェアバージョン6033も含まれた。しかしゲートウェイ10は検証処理も含めて特にECU ID6032およびソフトウェアバージョン6033を必要としないので、機能構成情報61にECU ID6032およびソフトウェアバージョン6033を含めなくてもよい。
図16は変形例1における機能構成情報64の一例を示す図である。機能構成情報64では組合せテーブル603がNET ID6031のみで構成される。本変形例においてもゲートウェイ10の動作は第1の実施の形態と同様である。前述のように、第1の実施の形態においてゲートウェイ10は、サーバ2から受信した機能構成情報61に記載されたECU ID6034および機能バージョン6035を参照する機会がなかった。そのため、機能構成情報64からECU ID6034および機能バージョン6035が削除されても何ら影響がないためである。
(変形例3)
上述した第1の実施の形態では、機能構成情報61にNET ID6031およびソフトウェアバージョン6033も含まれた。しかし機能構成情報61にNET ID6031およびソフトウェアバージョン6033を含めなくてもよい。
図17は変形例3における機能構成情報65の一例を示す図である。機能構成情報65では組合せテーブル603がECU ID6032のみで構成される。本変形例ではゲートウェイ10の図10のS103〜S105を次のように変更する。すなわちゲートウェイ10は、接続されている全てのECUに対してECU IDとソフトウェアのバージョンを問い合わせるメッセージを送信する。そして、機能構成情報65に記載された機能ごとに、取得したECU IDとソフトウェアのバージョンを用いて検証情報、すなわち図8のビット列Zを作成する。
第1の実施の形態ではゲートウェイ10は、機能ごとに機能を構成するECUを特定して問い合わせを行うためにNET ID6031を利用していた。しかし本変形例では機能構成情報65にNET ID6031が含まれないので、接続されているECUの全てに問い合わせを行う。本変形例では、機能構成情報65においてそれぞれの機能を構成するECUはECU ID6032により特定されるので、ゲートウェイ10は問い合わせに対する回答として得られるECU IDとバージョン情報を用いて、機能ごとにビット列Zを作成できる。
(変形例4)
上述した第1の実施の形態では、機能構成情報61にフラグ605が含まれた。しかし機能構成情報61にフラグ605を含めなくてもよい。この場合にはゲートウェイ10は、図10のS110において一律に動作を許可する、または一律に動作を許可しない構成とする。さらにこの場合に、動作を停止させる代わりに機能を制限してもよい。機能の制限とは、処理能力を低下させることや実現する機能の種類を減少させることである。
本変形例によれば次の作用効果が得られる。
(8)停止制御部10005は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、整合しないと判定された第2検証情報に関する機能を停止、または機能を制限させる。そのため、ソフトウェアの不整合が検出された機能を一律に停止、または機能を制限させることができる。
(変形例5)
上述した第1の実施の形態では、公開鍵暗号方式を利用してサーバ2とゲートウェイ10の間で情報の検証を行った。しかし検証の方式は特に限定されず既知の様々な手法に置き換えることや既知の手法を組み合わせることも本発明の範囲に含まれる。たとえば同じ公開鍵暗号方式であっても、サーバ2では秘密鍵SKによる暗号化を行いゲートウェイ10では公開鍵PKによる複合化を行うことで検証を行ってもよい。また公開鍵暗号方式の代わりに対称暗号方式を利用してもよいし、メッセージ認証コードやソルトを利用してもよい。
(変形例6)
サーバ2からのゲートウェイ10への応答に復旧可否フラグを含めてもよい。その場合はゲートウェイ10の制御部10000は、図11のステップS209において、復旧可否フラグにより復旧させてもよい旨のフラグが設定されているECUに対してのみ機能の復旧を指示する。
(変形例7)
第1の実施の形態では特に説明しなかったが、ゲートウェイ10は機能識別検証情報602もテーブル検証情報604と同様に検証を行ってもよい。この場合はゲートウェイ10は、たとえば図10のS108の直前に機能識別検証情報602の検証を行い、検証に成功するとS112に進み、検証に失敗するとS108に進む。本変形例によれば、機能識別ID601を検証できる。
(変形例8)
サーバ2は、テーブル検証情報604の算出に機能識別ID601およびNET ID6031の少なくとも一方をさらに利用してもよい。この場合にはゲートウェイ10も検証処理において同様の算出を行う。
(変形例9)
上述した第1の実施の形態では、ゲートウェイ10は車両1のイグニッションスイッチがオンにされると検証処理を開始した。しかしゲートウェイ10は、外部から動作指令を受けて検証処理を開始してもよい。たとえばゲートウェイ10は、通信モジュール11を介して車両1の外部から動作指令を受けてもよいし、車両1に搭載されるECUなどから動作指令を受けて動作を開始してもよい。
(変形例10)
上述した第1の実施の形態では、機能構成情報61はオペレータが入力した情報に基づきサーバ2により作成された。しかしあらかじめオペレータが機能構成情報61を作成し、オペレータが機能構成情報61そのものをサーバ2の補助記憶部203に格納してもよい。
―第2の実施の形態―
図18〜図19を参照して、本発明に係る演算装置であるゲートウェイの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、機能毎にECU内でソフトウェアのバージョンを管理する点で、第1の実施の形態と異なる。また本実施の形態では機能構成情報に格納される情報が第1の実施の形態と異なる。
図18は第2の実施の形態において各ECUに格納される機能別バージョン情報951の一例を示す図である。図18ではエンジン制御ECU13を具体例として使用し、図18(a)はエンジン制御ECU13の更新前の機能別バージョン情報951aを示し、図18(b)はエンジン制御ECU13の更新後の機能別バージョン情報951bを示す。エンジン制御ECU13は、機能Aおよび機能Cの実現に寄与している。そのため、エンジン制御ECU13に保存される機能別バージョン情報951は、図18(a)に示すようにソフトウェアバージョンである「1.0.0.0」と、機能Aバージョンである「1」と、機能Cバージョンである「1」とから構成される。機能別バージョン情報950はソフトウェアの更新に伴い更新される。
図18(b)に示す更新後の機能別バージョン情報951bでは、ソフトウェアバージョンが「1.0.1.0」に更新され、機能Aバージョンが「2」に更新されている。しかし機能Cに関する更新は行われなかったので、機能Cバージョンは「1」から変更がない。
図19は、本実施の形態における機能構成情報62の一例を示す図である。図19(a)は更新前の機能構成情報62aを示す図、図19(b)は更新後の機能構成情報62bを示す図である。図19(a)に示す例ではR41、R51、およびR61のレコードが含まれ、図19(b)に示す例ではR42、R52、およびR62のレコードが含まれる。本実施の形態における機能構成情報62と第1の実施の形態における機能構成情報61とを比較すると、機能構成情報61におけるソフトウェアバージョン6033のフィールドが削除され、その代わりにDID6034と機能バージョン6035のフィールドが追加される。
DID6034には、ECUから機能毎のバージョンを読み出す際に用いる識別情報が格納される。DID6034はバージョン情報の読み出しのために設定された機能の識別情報である。DID6034は、図19に示すように全ECUに共通して機能と1:1で対応してもよいし、ECUごとにDIDと機能との対応を異ならせてもよい。たとえば図19では、レコードR61では3つのECUが共通するDID6034である「F003」により機能Cのバージョン情報が読み出されることが示されている。
図19(a)と図19(b)を比較すると、レコードR41とレコードR42は相違するが、レコードR51およびレコードR61は、レコードR52およびレコードR62と同一である。これは、ソフトウェアのバージョン情報そのものは機能構成情報62に格納せず、各ソフトウェアの各機能のバージョン情報のみを機能構成情報62に格納しているためである。
(その他の相違点)
本実施の形態では、それぞれのECUはゲートウェイ10からDID6034とともにソフトウェアのバージョン情報の問い合わせを受けると、次の動作を行う。すなわちECUは、FROM1313に格納されている機能構成情報62を参照して、受信したDID6034に対応する機能のバージョン情報を返す。
ゲートウェイ10は、図10のS104において、機能構成情報62に格納されているNET IDのECUに対してDID6034とともにバージョン情報の問い合わせを行う。たとえばゲートウェイ10は、処理対象レコードX=1の場合には、NET IDが「700」のECUに対して「F001」のDID6034とともにバージョン情報の問い合わせを行う。
本実施の形態では、サーバ2は、ECU ID6032、および機能バージョン6035を用いてビット列Xを作成し、そのデジタル署名であるテーブル検証情報604を作成する。ゲートウェイ10はECU ID6032、および機能バージョン6035を用いてビット列Zを作成し、テーブル検証情報604を検証する。
以上のように、機能毎にECU内で関連するソフトウェア部分のバージョン情報を管理することによって、ソフトウェア更新時の機能構成情報への影響低減を図り、機能構成情報62の変更箇所を減らすことができる。
(第2の実施の形態の変形例)
サーバ2は、ビット列Xの作成においてさらにDID6034の値を用いてもよい。この場合にはゲートウェイ10もビット列Zの作成においてDID6034の値を用いる。
―第3の実施の形態―
図20〜図21を参照して、本発明に係る演算装置であるゲートウェイの第3の実施の形態を説明する。以下の説明では、第2の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第2の実施の形態と同じである。本実施の形態では、主に、機能構成情報に格納される情報が第2の実施の形態と異なる。
図20は本実施の形態において各ECUに格納される機能別バージョン情報952の一例を示す図である。図20ではエンジン制御ECU13を具体例として使用し、図20(a)はエンジン制御ECU13の更新前の機能別バージョン情報952aを示し、図20(b)はエンジン制御ECU13の更新後の機能別バージョン情報952bを示す。
機能別バージョン情報952は6バイトで構成され、先頭から、ブートローダ、BSW、ASW、キャリブレーションデータ、機能A、機能Cのそれぞれのソフトウェアのバージョンを一意に識別する情報を示す。機能別バージョン情報952の各桁の値は、それぞれ対象とする部分のソフトウェアの更新にともない更新される。なお図20では説明のために各桁に対応する情報を記載しているが、実際には機能別バージョン情報952には6バイトの値のみから構成される。
図20(a)に示す更新前の機能別バージョン情報952aは、「1,1,1,1,1,1」である。図20(b)に示す更新後の機能別バージョン情報952bは、機能Aに関連する部分が更新されているため、機能Aに該当する識別情報が「2」に更新され、機能Aを含むアプリケーション全体のソフトウェアを示すASWの識別情報が「2」に更新されている。
図21は、本実施の形態における機能構成情報63の一例を示す図である。図21(a)は更新前の機能構成情報63aを示す図、図21(b)は更新後の機能構成情報63bを示す図である。図21(a)に示す例ではR71、R81、およびR91のレコードが含まれ、図21(b)に示す例ではR72、R82、およびR92のレコードが含まれる。本実施の形態における機能構成情報63と第2の実施の形態における機能構成情報62とを比較すると、機能構成情報62におけるDID6034の代わりにマスク6036のフィールドが追加されている。
マスク6036は、当該機能の識別情報が機能別バージョン情報952の先頭から何バイト目に相当するかを示す識別情報である。ゲートウェイ10は、機能別バージョン情報952をECUから読み出したのちにマスク6036を利用することで、読み出した機能別バージョン情報952から、当該機能に関する識別情報を特定する。ただしゲートウェイ10がECUに対してソフトウェアの機能別バージョン情報952の要求とともにマスク6036の値を送信し、ECUが機能別バージョン情報952のうちマスク6036に該当するビットの値だけを返してもよい。
図21(a)と図21(b)とを比較すると、レコードR1とレコードR72は相違するが、レコードR81およびレコードR91は、レコードR82およびレコードR92と同一である。これは、ソフトウェアのバージョン情報そのものは機能構成情報63に格納せず、各ソフトウェアの各機能のバージョン情報のみを機能構成情報63に格納しているためである。
その他の点は第2の実施の形態と同様なので説明を省略する。
以上のように、機能毎にECU内で関連するソフトウェア部分のバージョンを管理することによって、ソフトウェア更新時の機能構成情報への影響低減を図り、不要な変更を減らすことができる。
―第4の実施の形態―
図22〜図24を参照して、本発明に係る演算装置であるゲートウェイの第3の実施の形態を説明する。以下の説明では、第2の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第2の実施の形態と同じである。本実施の形態では、主に、テーブル検証情報が不一致の場合の振る舞いが第1の実施の形態と異なる。
図22は機能Dの機能構成情報61cを示す図、図23は機能Dの機能制限情報91を示す図である。
図22のレコードR4は、機能識別IDが”D2”で示される機能Dに関連する情報が格納されたレコードである。レコードR4の機能識別検証情報602のフィールドには「dzzz」が格納される。機能Dを構成するECUは3つであるため、NET ID6031のフィールドには「701」「702」「703」がそれぞれ格納され、ECU ID6032のフィールドには「ブレーキ」「ADAS」「カメラ」がそれぞれ格納され、ソフトウェアバージョン6033のフィールドには「1.0.0.0」「1.0.0.1」「1.0.0.0」がそれぞれ格納される。レコードR4のテーブル検証情報604のフィールドには「tddd」が格納され、フラグ605のフィールドには、不整合が発生した場合は当該機能の動作制限が必要であることを示す「制限」が格納されている。ここで、当該機能の動作制限とは、機能を停止するのではなく、機能の一部を継続して動作させることをいう。すなわち本実施の形態では、フラグ605のフィールドには、「停止」および「制限」のいずれかが格納され、「動作許可」という値が格納されることはない。
図23は、フラグ605のフィールドが「制限」の場合に参照する機能制限情報91の一例を示す図であり、機能構成情報61cと同様に管理される。図23のレコードR41は、機能Dに関連する機能制限情報が格納されたレコードである。レコードR41の機能600のフィールドには「D」が格納され、機能Dを構成するECUは3つであるため、バージョン不一致ECU ID6038のフィールドには「ブレーキ」「ADAS」「カメラ」がそれぞれ格納され、制限内容6037のフィールドには「警告のみ動作」「機能全停止」「機能全停止」が格納される。
図23に例示した内容について、機能Dが自動ブレーキ機能の場合を例に以下説明する。機能Dの自動ブレーキ機能は、「ブレーキ」「ADAS」「カメラ」のIDを有する3つのECUが連携して機能が実現される。また、自動ブレーキ機能は、ブレーキをかけるべき障害物の検知と障害物が接近した場合のドライバへの警告、ブレーキと3つの基本機能から構成される。本機能構成において、「ブレーキ」ECUのバージョンが不一致の場合は、カメラやADAS ECUは正常に動作できるため、基本機能のうち障害物の検知とドライバへの警告は問題なく実現でき、これらの機能は動作させることが好ましい。一方で、「カメラ」や「ADAS」ECUのバージョンが不一致の場合は、障害物の検知や警告にも問題がある可能性があるため、自動ブレーキ機能の全停止が好ましい。以上により、テーブル検証情報604が不一致の場合でも有用な機能を動作させることが可能になる。
図24は、ゲートウェイ10における機能制限処理を示すフローチャートである。本処理は、図10の処理S111を置き換えることで実現する。まず停止制御部10005は、フラグが「停止」であるか否かを判定し、「停止」の場合(S121のYES)は関連ECUに停止を指示する(S111)。フラグが「停止」でない、すなわち「機能制限」の場合(S121のNO)は、機能制限情報91の機能DのレコードR41を読み出す(S122)。
次にゲートウェイ10はECUごとに、ECUから取得したバージョンと機能構成情報61cのバージョンを比較し、相違を確認する(S123)。ゲートウェイ10は、バージョンが一致すると判断する場合は、何もしない(S124のYES)。ゲートウェイ10は、バージョンが不一致と判断する場合(S124のNO)は、機能制限情報91の制限内容6037に規定された内容に従って、機能の一部を制限する(S125)。次に、ゲートウェイ10バージョンを比較していないECUが存在するか否かを判断し(S126)、すべてのバージョンの比較が完了している場合は処理を終了する(S126のNO)。ゲートウェイ10は、バージョン未比較のECUがあると判断する場合(S126のNO)は、S123に戻って処理を繰り返す。
以上説明した第4の実施の形態では、次の作用効果が得られる。
(9)停止制御部10005は、算出判定部10002により第1検証情報と第2検証情報とが整合しないと判断されると、整合しないと判定された第2検証情報に関する機能であって、フラグが不整合時に実行を許可することを示すフラグを有する機能について、機能制限情報91を参照して、バージョン情報が一致しない第2識別情報に基づき機能を制限するか否かを決定する。そのため、テーブル検証情報が不一致の場合でも有用な機能を動作させることが可能になる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。たとえば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることや各処理における処理の順番を入れ替えることも可能である。たとえば、本実施の形態1では機能構成情報管理装置はゲートウェイ10であるとしたが、通信モジュール11やHMI12が機能構成情報管理装置であってもよい。また、専用の装置を設けてもよい。
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するソフトウェアを解釈し、実行することによりソフトウェアで実現してもよい。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1…車両
5…診断装置
6…機能構成情報
10…ゲートウェイ
61、62、63、64、65…機能構成情報
604…テーブル検証情報
605…フラグ
6031…NET ID
6032…ECU ID
10002…算出判定部
10005…停止制御部

Claims (12)

  1. 複数の電子制御装置と接続される演算装置であって、
    前記複数の電子制御装置は、1以上の前記電子制御装置によりそれぞれの機能を構成し、
    前記機能ごとに、前記機能を構成する1以上の前記電子制御装置の第1識別情報および第1検証情報を含む機能構成情報を受信する外部通信部と、
    前記複数の電子制御装置のそれぞれから、前記電子制御装置に搭載されたソフトウェアのバージョン情報および前記電子制御装置の第2識別情報を取得する取得部と、
    前記機能ごとに、前記機能を構成するすべての前記電子制御装置のバージョン情報であって前記取得部が取得したバージョン情報および前記機能を構成するすべての前記電子制御装置の前記第2識別情報を用いて第2検証情報を算出する算出部と、
    前記機能ごとに、前記第1検証情報および前記第2検証情報の整合を判定する判定部とを備える演算装置。
  2. 請求項1に記載の演算装置において、
    前記第1識別情報とは、前記電子制御装置のネットワーク上の識別子であり、
    前記第2識別情報とは、前記電子制御装置の種類を示す識別子である演算装置。
  3. 請求項1に記載の演算装置において、
    前記第1識別情報および前記第2識別情報は、前記電子制御装置の種類を示す識別子である演算装置。
  4. 請求項1に記載の演算装置において、
    前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、整合しないと判定された前記第2検証情報に関する前記機能を停止または制限させる停止制御部をさらに備える演算装置。
  5. 請求項1に記載の演算装置において、
    前記機能構成情報には、前記機能ごとに不整合時の実行を許可または拒否を示すフラグが含まれ、
    前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、整合しないと判定された前記第2検証情報に関する前記機能であって、前記機能構成情報における前記フラグが不整合時に実行を拒否することを示すフラグを有する機能を停止させる停止制御部をさらに備える演算装置。
  6. 請求項5に記載の演算装置において、
    前記停止制御部は、前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、整合しないと判定された前記第2検証情報に関する前記機能であって、前記フラグが不整合時に実行を許可することを示すフラグを有する機能について、前記バージョン情報が一致しない前記第2識別情報に基づき前記機能を制限するか否かを決定する演算装置。
  7. 請求項1に記載の演算装置において、
    前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、前記外部通信部から受ける指令に基づき、前記機能構成情報および前記電子制御装置のソフトウェアの少なくとも一方を更新する更新制御部をさらに備える演算装置。
  8. 請求項1に記載の演算装置において、
    前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、不整合が生じたことを記憶部に記録する制御部をさらに備える演算装置。
  9. 請求項1に記載の演算装置において、
    前記判定部により前記第1検証情報と前記第2検証情報とが整合しないと判断されると、不整合が生じたことを表示部に表示させる制御部をさらに備える演算装置。
  10. 請求項1に記載の演算装置において、
    前記演算装置は車両に搭載され、
    前記取得部、前記算出部、および前記判定部は、前記車両のイグニッションスイッチがオンにされると動作を開始する演算装置。
  11. 請求項1に記載の演算装置において、
    前記取得部、前記算出部、および前記判定部は、外部から動作指令を受けると動作を開始する演算装置。
  12. 複数の電子制御装置と接続される演算装置が実行する判定方法であって、
    前記複数の電子制御装置は、1以上の前記電子制御装置によりそれぞれの機能を構成し、
    前記機能ごとに、前記機能を構成する1以上の前記電子制御装置の第1識別情報および第1検証情報を受信することと、
    前記複数の電子制御装置のそれぞれから、前記電子制御装置に搭載されたソフトウェアのバージョン情報および前記電子制御装置の第2識別情報を取得することと、
    前記機能ごとに、前記機能を構成するすべての前記電子制御装置のバージョン情報であって取得したバージョン情報および前記機能を構成するすべての前記電子制御装置の前記第2識別情報を用いて第2検証情報を作成することと、
    前記機能ごとに、前記第1検証情報および前記第2検証情報の整合を判定することとを含む判定方法。
JP2019066887A 2019-03-29 2019-03-29 演算装置、判定方法 Active JP7123843B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019066887A JP7123843B2 (ja) 2019-03-29 2019-03-29 演算装置、判定方法
CN202080023945.9A CN113632155B (zh) 2019-03-29 2020-02-21 运算装置、判定方法
US17/433,080 US11928900B2 (en) 2019-03-29 2020-02-21 Arithmetic operation device and determination method
PCT/JP2020/007013 WO2020202886A1 (ja) 2019-03-29 2020-02-21 演算装置、判定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019066887A JP7123843B2 (ja) 2019-03-29 2019-03-29 演算装置、判定方法

Publications (2)

Publication Number Publication Date
JP2020166583A true JP2020166583A (ja) 2020-10-08
JP7123843B2 JP7123843B2 (ja) 2022-08-23

Family

ID=72667980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019066887A Active JP7123843B2 (ja) 2019-03-29 2019-03-29 演算装置、判定方法

Country Status (4)

Country Link
US (1) US11928900B2 (ja)
JP (1) JP7123843B2 (ja)
CN (1) CN113632155B (ja)
WO (1) WO2020202886A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023171475A1 (ja) * 2022-03-09 2023-09-14 株式会社オートネットワーク技術研究所 車載通信装置及び車載通信システム
WO2024018728A1 (ja) * 2022-07-19 2024-01-25 日立Astemo株式会社 ソフトウェア分析システム、ソフトウェア分析方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7359055B2 (ja) * 2020-03-26 2023-10-11 株式会社オートネットワーク技術研究所 車載情報処理装置、情報処理方法及びクライアントプログラム
CN114764339A (zh) * 2021-01-14 2022-07-19 丰田自动车株式会社 中心、管理方法以及非暂时性存储介质
WO2024127532A1 (ja) * 2022-12-13 2024-06-20 パナソニックIpマネジメント株式会社 アクセス許可装置、および、アクセス許可方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199497A (ja) * 2008-02-25 2009-09-03 Panasonic Corp プログラム管理装置、プログラム管理方法及びプログラム管理プログラム
WO2015011840A1 (ja) * 2013-07-26 2015-01-29 株式会社日立製作所 差分データ転送システム及び方法
WO2016147766A1 (ja) * 2015-03-16 2016-09-22 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP2016188016A (ja) * 2015-03-30 2016-11-04 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP2018124749A (ja) * 2017-01-31 2018-08-09 京セラドキュメントソリューションズ株式会社 電子機器、バージョンチェックシステム及びバージョンチェックプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4004422B2 (ja) 2003-03-18 2007-11-07 トヨタ自動車株式会社 車両特定システム及び車両特定方法
JP2011148398A (ja) * 2010-01-21 2011-08-04 Denso Corp 車両用プログラム更新システム
US20180081671A1 (en) 2015-03-30 2018-03-22 Honda Motor Co., Ltd. Program rewriting device and program rewriting method
JP6197000B2 (ja) * 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6723829B2 (ja) * 2015-09-14 2020-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム
JP6678548B2 (ja) * 2015-11-13 2020-04-08 株式会社東芝 中継装置、中継方法およびプログラム
JP6609508B2 (ja) * 2016-04-27 2019-11-20 日立オートモティブシステムズ株式会社 車両用電子制御装置、プログラム更新方法
JP6526906B2 (ja) * 2016-10-28 2019-06-05 株式会社東芝 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム
JP6440334B2 (ja) * 2017-08-18 2018-12-19 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
JP6953947B2 (ja) * 2017-09-22 2021-10-27 コニカミノルタ株式会社 情報処理装置、ファームウェア更新プログラム
JP7311245B2 (ja) * 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
JP6975854B2 (ja) * 2018-06-13 2021-12-01 株式会社日立製作所 制御コントローラおよび車両制御システム
KR102529916B1 (ko) * 2018-09-14 2023-05-08 현대자동차주식회사 가상머신 기반 차량 제어 검증 시스템 및 방법
US11520891B1 (en) * 2019-12-11 2022-12-06 Amazon Technologies, Inc. Secure boot of an integrated circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199497A (ja) * 2008-02-25 2009-09-03 Panasonic Corp プログラム管理装置、プログラム管理方法及びプログラム管理プログラム
WO2015011840A1 (ja) * 2013-07-26 2015-01-29 株式会社日立製作所 差分データ転送システム及び方法
WO2016147766A1 (ja) * 2015-03-16 2016-09-22 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP2016188016A (ja) * 2015-03-30 2016-11-04 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP2018124749A (ja) * 2017-01-31 2018-08-09 京セラドキュメントソリューションズ株式会社 電子機器、バージョンチェックシステム及びバージョンチェックプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023171475A1 (ja) * 2022-03-09 2023-09-14 株式会社オートネットワーク技術研究所 車載通信装置及び車載通信システム
WO2024018728A1 (ja) * 2022-07-19 2024-01-25 日立Astemo株式会社 ソフトウェア分析システム、ソフトウェア分析方法

Also Published As

Publication number Publication date
CN113632155A (zh) 2021-11-09
US11928900B2 (en) 2024-03-12
CN113632155B (zh) 2024-04-12
JP7123843B2 (ja) 2022-08-23
WO2020202886A1 (ja) 2020-10-08
US20220148344A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
WO2020202886A1 (ja) 演算装置、判定方法
WO2018079385A1 (ja) 車載機器判定システム及び情報収集装置
US20180152341A1 (en) Gateway device, firmware update method, and recording medium
US9126601B2 (en) Method and system for a vehicle information integrity verification
US20210397433A1 (en) On-board update device, update processing program, program update method, and on-board update system
US20150372906A1 (en) Method for routing data, computer program, network controller and network associated therewith
CN104572320A (zh) 用于确认校正程序的方法以及信息处理设备
JP2018133743A (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
JP2015090708A (ja) 無線車両制御システム
US9443359B2 (en) Vehicle electronic control unit calibration
JP6674007B1 (ja) 車載通信装置、通信制御方法および通信制御プログラム
JP2023041817A (ja) 代替装置、代替制御プログラム及び代替方法
US20210021615A1 (en) On-board communication system, switching device, verification method, and verification program
JP6524905B2 (ja) 電子制御装置
US20120185603A1 (en) Relay server and relay communication system
US20120179838A1 (en) Relay server and relay communication system
JP6779853B2 (ja) 情報処理システム、および情報処理方法
JP2023182795A (ja) 制御装置、制御システム及び制御装置の機能又は動作の決定方法
US20220264293A1 (en) Relay device and vehicle communication method
JP5402725B2 (ja) リモート制御システム
CN102469107A (zh) 用于车辆的安全连接系统和方法
JP2019165444A (ja) ゲートウェイ装置及び通信方法
KR100431209B1 (ko) 관리 센서를 이용한 네트워크 관리방법
JP2021154854A (ja) 車載情報処理装置、情報処理方法及びサーバプログラム
JP5266997B2 (ja) ネットワーク接続局情報出力装置、ネットワーク接続局情報出力方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

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: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220810

R150 Certificate of patent or registration of utility model

Ref document number: 7123843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150