JP7439720B2 - 更新データを配信するサーバ、方法及びプログラム - Google Patents

更新データを配信するサーバ、方法及びプログラム Download PDF

Info

Publication number
JP7439720B2
JP7439720B2 JP2020169362A JP2020169362A JP7439720B2 JP 7439720 B2 JP7439720 B2 JP 7439720B2 JP 2020169362 A JP2020169362 A JP 2020169362A JP 2020169362 A JP2020169362 A JP 2020169362A JP 7439720 B2 JP7439720 B2 JP 7439720B2
Authority
JP
Japan
Prior art keywords
vehicle
software
update
server
control unit
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
JP2020169362A
Other languages
English (en)
Other versions
JP2022061381A (ja
JP2022061381A5 (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2020169362A priority Critical patent/JP7439720B2/ja
Priority to EP21189839.0A priority patent/EP3982254A1/en
Priority to US17/395,005 priority patent/US11853742B2/en
Priority to CN202110982572.4A priority patent/CN114385202A/zh
Publication of JP2022061381A publication Critical patent/JP2022061381A/ja
Publication of JP2022061381A5 publication Critical patent/JP2022061381A5/ja
Priority to US18/387,988 priority patent/US20240069906A1/en
Priority to JP2024019242A priority patent/JP2024040359A/ja
Application granted granted Critical
Publication of JP7439720B2 publication Critical patent/JP7439720B2/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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • B60R16/0238Electrical distribution centers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、電子制御ユニットのソフトウェアの更新データを配信するサーバ、方法及びプログラムに関する。
車両には、車両の動作を制御するための複数の電子制御ユニット(ECU)が搭載されている。ECUは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部とを備え、プロセッサが不揮発性の記憶部に記憶されるソフトウェアを実行することによりECUの制御機能を実現する。各ECUが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各ECUの機能を改善したり、新たな車両制御機能を追加したりすることができる。
ECUのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネット等の通信ネットワークとを無線で接続し、無線通信を介してサーバからソフトウェアをダウンロードし、ダウンロードしたソフトウェアをインストールすることによりECUのプログラム更新や追加を行うOTA(Over the Air)技術が知られている(例えば、特許文献1参照)。
OTAによるソフトウェアの更新は、車両のIG-ONまたは電源ON時に、車両に搭載された更新制御装置が、車両に搭載された通信機器を介して、車載装置のプログラムのバージョン情報をサーバに送信すること(更新確認)を契機として開始することができる(例えば、特許文献1参照)。更新制御装置は、サーバから更新データをダウンロードすると、車内の表示装置等に表示を行うことにより、更新データがあることをユーザに通知し、ボタン等の入力装置の操作によりユーザの承諾を受け付けたことを契機として、更新データのインストール及びアクティベートを行う。
特開2018-181377号公報
電波状況や故障等により、車両に搭載された通信モジュールがサーバと通信できないケースが想定される。また、車種や車両の用途等によっては、車両にサーバと通信するための通信モジュール自体が搭載されないことも考えられる。これらの場合、OTAにより電子制御ユニットのプログラムを更新できないため、改善の余地がある。
それ故に、本開示は、サーバと車両とが通信できない場合でも、電子制御ユニットのソフトウェアの更新を可能とするサーバ、方法及びプログラムを提供することを目的とする。
本開示に係るサーバは、車両に搭載された電子制御ユニットのソフトウェアの更新データを配信するサーバであって、車両に関する情報と、車両と通信可能な外部端末に関する情報と、を紐づけて記憶する記憶部と、更新データのダウンロード要求の受信に応じて、1)サーバと無線通信が可能な通信モジュールを車両が搭載している場合に、車両へ更新データを送信し、2)サーバと無線通信が可能な通信モジュールを車両が搭載していない場合に、外部端末へ更新データを送信する送信部と、を備える。
本開示に係る方法は、車両に搭載された電子制御ユニットのソフトウェアの更新データを配信する方法であって、車両に関する情報と、車両と通信可能な外部端末に関する情報と、を紐づけて記憶するステップと、更新データのダウンロード要求の受信に応じて、1)サーバと無線通信が可能な通信モジュールを車両が搭載している場合に、車両へ更新データを送信し、2)サーバと無線通信が可能な通信モジュールを車両が搭載していない場合に、外部端末へ更新データを送信するステップと、を備える。
本開示に係るプログラムは、車両に搭載された電子制御ユニットのソフトウェアの更新データを配信させるプログラムであって、コンピュータに、車両に関する情報と、車両と通信可能な外部端末に関する情報と、を紐づけて記憶するステップと、更新データのダウンロード要求の受信に応じて、1)サーバと無線通信が可能な通信モジュールを車両が搭載している場合に、車両へ更新データを送信し、2)サーバと無線通信が可能な通信モジュールを車両が搭載していない場合に、外部端末へ更新データを送信するステップと、を実行させる。
本開示によれば、サーバと車両とが通信できない場合でも、電子制御ユニットのソフトウェアの更新を可能とするサーバ、方法及びプログラムを提供できる。
実施形態に係るネットワークシステムの全体構成を示すブロック図 図1に示したサーバの概略構成を示すブロック図 図1に示したソフトウェア更新装置の概略構成を示すブロック図 図1に示した携帯端末の概略構成を示すブロック図 第1の実施形態に係るサーバの機能ブロック図 サーバが記憶する機器識別情報の一例を示す図 サーバが記憶する更新管理情報の一例を示す図 第1の実施形態に係るソフトウェア更新装置の機能ブロック図 第1の実施形態に係る携帯端末の機能ブロック図 第1の実施形態に係るサーバが実行する制御処理の一例を示すフローチャート 第1の実施形態に係るサーバが実行する更新データ配信処理の一例を示すフローチャート ソフトウェア更新装置が実行するソフトウェア更新処理の一例を示すフローチャート ソフトウェア更新装置が実行するソフトウェア更新処理の他の一例を示すシーケンス図 第2の実施形態に係るサーバが記憶する機器識別情報の一例を示す図 第2の実施形態に係るサーバが行う制御処理の一例を示すフローチャート
(第1及び第2の実施形態に共通の構成)
図1は、実施形態に係るネットワークシステムの全体構成を示すブロック図であり、図2は、図1に示したサーバの概略構成を示すブロック図であり、図3は、図1に示したソフトウェア更新装置の概略構成を示すブロック図であり、図4は、図1に示した携帯端末の概略構成を示すブロック図である。
図1に示すネットワークシステムは、車両に搭載された電子制御ユニット13a~13dのソフトウェアを更新するためのシステムであり、サーバ1(センタ)と、車両に搭載される車載ネットワーク2とを備える。
サーバ1は、ネットワーク5を介して車両に搭載されたソフトウェア更新装置11と通信可能であり、車両に搭載された電子制御ユニット13a~13dのソフトウェア更新を管理する。
図2に示すように、サーバ1は、CPU21と、RAM22と、記憶装置23と、通信装置24とを備える。記憶装置23は、ハードディスクやSSD等の読み書き可能な記憶媒体を備え、ソフトウェアの更新管理を実行するためのプログラムや、更新管理に用いる情報、電子制御ユニットの更新データを記憶する。サーバ1において、CPU21は、記憶装置23から読み出したプログラムを、RAM22を作業領域として用いて実行することにより、後述する制御処理を実行する。通信装置24は、ネットワークを介してソフトウェア更新装置11と通信を行う機器である。
車載ネットワーク2は、ソフトウェア更新装置11(OTAマスタ)と、通信モジュール12と、複数の電子制御ユニット13a~13dと、表示装置14とを備える。ソフトウェア更新装置11は、バス15aを介して通信モジュール12と接続され、バス15bを介して電子制御ユニット13a及び13bと接続され、バス15cを介して電子制御ユニット13c及び13dと接続され、バス15dを介して表示装置14と接続されている。ソフトウェア更新装置11は、通信モジュール12を介してサーバ1と無線での通信が可能である。また、ソフトウェア更新装置11は、スマートフォンや電子キー等の携帯端末3と無線での通信が可能である。ソフトウェア更新装置11は、サーバ1から配信される更新データに基づいて、電子制御ユニット13a~13dのうちの更新対象の電子制御ユニット(ターゲットECU)のソフトウェア更新を制御する。ソフトウェア更新装置11は、セントラルゲートウェイと称される場合もある。通信モジュール12は、車載ネットワーク2とサーバ1とを接続する通信機器である。電子制御ユニット13a~13dは、車両の各部の動作を制御する。表示装置14(HMI)は、電子制御ユニット13a~13dのソフトウェアの更新処理時に、更新データがあることの表示や、ユーザや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、更新結果の表示等の各種表示を行うために用いられる。表示装置14としては、典型的にはカーナビゲーションシステムの表示装置を用いることができるが、プログラムの更新処理時に必要な情報を表示可能なものであれば特に限定されない。尚、図1においては、4つの電子制御ユニット13a~13dを例示したが、電子制御ユニットの数は特に限定されない。また、図1に示すバス15dには、表示装置14以外の電子制御ユニットが更に接続されていても良い。
電子制御ユニット13a~13dは、CPUと、RAMと、不揮発性メモリ(ストレージ)と、通信装置とを備える。CPUは、不揮発性メモリから読み出したソフトウェア(プログラム)を、RAMを作業領域として用いて実行することにより、各電子制御ユニットの機能を実現する。ここで、電子制御ユニットには、ソフトウェアを格納するための1つのデータ格納領域(バンク)を有するものと、ソフトウェアを格納するための2つのデータ格納領域(バンク)を有するものとがある。電子制御ユニットのデータ格納領域には、電子制御ユニットの機能を実現するためのソフトウェアの他に、バージョン情報やパラメータデータ、起動用のブートプログラム、ソフトウェア更新用のプログラム等が格納される場合がある。1つのデータ格納領域を持つ電子制御ユニットにおいては、データ格納領域に更新データをインストールすることにより、電子制御ユニットのソフトウェアに影響が生じる。一方、2つのデータ格納領域を持つ電子ユニットにおいては、2つのデータ格納領域のうち、いずれか一方を読み出し対象の格納領域(運用面)とし、読み出し対象の格納領域に格納されるソフトウェアを実行する。読み出し対象でない他方の格納領域(非運用面)には、読み出し対象の格納領域(運用面)のプログラムの実行中に、バックグラウンドで更新データを書き込み可能である。ソフトウェア更新処理におけるアクティベート時には、CPUによるプログラムの読み出し対象の格納領域を切り替えることにより、更新版のソフトウェアを有効化することができる。
尚、本開示において、2つのデータ格納領域を有する電子制御ユニットには、不揮発性メモリが有する1面のデータ格納領域を擬似的に2面に区画し、一方の面のプログラムを実行中に他方の面にプログラムを書き込み可能にした「1面サスペンドメモリ」と呼ばれる構成のメモリを備えた電子制御ユニットと、1面のデータ格納領域を有する不揮発性メモリに加え、1面のデータ格納領域を有する拡張不揮発性メモリを備え、これら2つの不揮発性メモリを運用面及び非運用面として使用可能な電子制御ユニットも含まれる。
図3に示すように、ソフトウェア更新装置11は、CPU31と、RAM32と、ROM33と、記憶装置34と、通信装置35及び36とを備える。ソフトウェア更新装置11において、CPU31は、ROM33または記憶装置34から読み出したプログラムを、RAM32を作業領域として用いて実行することにより、後述する制御処理を実行する。通信装置35は、図1に示したバス15a~15dを介して、通信モジュール12、電子制御ユニット13a~13d、表示装置14と通信を行う機器である。また、通信機器36は、携帯端末3と無線通信を行う機器であり、例えば、BLE(Bluetooth(登録商標) Low Energy)、Wi-Fi(登録商標)、RF/LF通信等の通信方式により通信が可能である。
ここで、ソフトウェアの更新処理は、更新データをダウンロードするフェーズと、ダウンロードした更新データを更新対象の電子制御ユニットに転送し、更新対象の電子制御ユニットの記憶領域に更新データをインストールするフェーズと、更新対象の電子制御ユニットにおいてインストールした更新版のソフトウェアを有効化するアクティベートのフェーズとからなる。
ダウンロードは、電子制御ユニットのソフトウェアを更新するための更新データをサーバ1から受信して記憶する処理である。ダウンロードのフェーズでは、更新データの受信だけでなく、ダウンロードの実行可否判断、更新データの検証等、ダウンロードに関する一連の処理の制御を含む。インストールは、ダウンロードした更新データに基づいて、更新対象の電子制御ユニットに車載機器の記憶部に更新版のプログラム(更新ソフトウェア)を書き込む処理である。インストールのフェーズでは、インストール実行だけでなく、インストールの実行可否判断、更新データの転送および更新版のプログラムの検証等、インストールに関する一連の処理の制御を含む。アクティベートは、インストールした更新版のプログラムを有効化(アクティベート)する処理である。アクティベートする制御は、アクティベート実行だけでなく、アクティベートの実行可否判断、実行結果の検証等、アクティベートに関する一連の制御を含む。
更新データは、電子制御ユニットの更新ソフトウェア、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェアまたは圧縮データを分割した分割データのいずれを含んでいても良い。また、更新データは、更新対象の電子制御ユニットを識別する識別子(ECU ID)と、更新前のソフトウェアを識別する識別子(ECU ソフトウェア ID)を含んでいても良い。更新データは、上述した配信パッケージとしてダウンロードされるが、配信パッケージには、単一または複数の電子制御ユニットの更新データが含まれる。
更新データが更新ソフトウェアそのものを含む場合は、インストールのフェーズにおいて、ソフトウェア更新装置が更新データ(更新ソフトウェア)を更新対象の電子制御ユニットに転送する。また、更新データが更新ソフトウェアの圧縮データ、差分データあるいは分割データを含む場合、ソフトウェア更新装置11が更新対象の電子制御ユニットに更新データを転送し、更新対象の電子制御ユニットが更新データから更新ソフトウェアを生成しても良いし、ソフトウェア更新装置11が更新データから更新ソフトウェアを生成してから、更新ソフトウェアを更新対象の電子制御ユニットに転送しても良い。ここで、更新ソフトウェアの生成は、圧縮データの解凍、差分データまたは分割データの組み付けにより行うことができる。
更新ソフトウェアのインストールは、ソフトウェア更新装置11からのインストール要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、ソフトウェア更新装置11からの明示の指示を受けることなく、自律的にインストールを行っても良い。
更新ソフトウェアのアクティベートは、ソフトウェア更新装置11からのアクティベート要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、ソフトウェア更新装置11からの明示の指示を受けることなく、自律的にアクティベートを行っても良い。
尚、ソフトウェアの更新処理は、複数の電子制御ユニットのそれぞれに対して、連続的あるいは並列的に行うことができる。
また、本明細書における「ソフトウェア更新処理」は、ダウンロード・インストール・アクティベートの全てを連続して行う処理だけでなく、ダウンロード・インストール・アクティベートの一部のみを行う処理も含む。
図4に示すように、携帯端末3は、CPU41と、RAM42と、不揮発性メモリ等の記憶装置(ストレージ)43と、通信装置44とを備える。CPU41は、記憶装置43から読み出したソフトウェア(プログラム)を、RAM42を作業領域として用いて実行することにより、種々の機能を実現する。携帯端末3は、本実施形態では、サーバ1及びソフトウェア更新装置11と通信可能な端末装置であり、例えば、車両のキーとして利用される携帯機(ワイヤレスキー)やスマートフォン等である。携帯端末3と電子制御ユニット13eとの通信方式は、特に限定されず、BLE(Bluetooth(登録商標) Low Energy)、Wi-Fi(登録商標)、RF/LF通信等を利用することができる。
(第1の実施形態)
図5は、第1の実施形態に係るサーバの機能ブロック図であり、図6は、サーバが記憶する機器識別情報の一例を示す図であり、図7は、サーバが記憶する更新管理情報の一例を示す図である。
サーバ1は、第1記憶部25と、第2記憶部26と、通信部27と、制御部28とを備える。第1記憶部25及び第2記憶部26は、図2に示した記憶装置23によって実現され、通信部27及び制御部28は、図2に示したCPU21がRAM22を用いて記憶装置23に記憶されるプログラム(ソフトウェア更新装置11の制御用プログラム)を実行することにより実現される。
第1記憶部25は、機器識別情報と、更新管理情報とを記憶する。
機器識別情報は、図6に示すように、車両を識別する車両識別情報(車両ID)毎に、車両に搭載された通信モジュール12を特定する情報と、ソフトウェア更新装置11と通信可能な携帯端末3を特定する情報とを関連付けた情報である。通信モジュール12を特定する情報及び携帯端末3を特定する情報は、例えば、サーバ1がデータの送信先を一意に指定することができる情報であり、例えば、IPアドレスのようなネットワーク上のアドレスである。機器識別情報は、サーバ1が、通信モジュール12を介した車両との通信により電子制御ユニットのソフトウェアの更新データを送信できない場合に、更新データの第2の送信先を取得するために用いる。図6の例では、車両ID「VID_1001」及び「VID_1002」で特定される車両には、通信モジュール12及び携帯端末のアドレスが登録され、車両ID「VID_1003」で特定される車両には、携帯端末のアドレスが登録されている。
更新管理情報は、図7に示すように、車両を識別する車両識別情報(車両ID)毎に、無線通信によるソフトウェア更新の可否(OTA可否)を示す情報と、車両に搭載された1以上の電子制御ユニットで利用可能なソフトウェアを示す情報とを関連付けた情報である。電子制御ユニットで利用可能なソフトウェアを示す情報として、例えば、複数の電子制御ユニットのそれぞれのソフトウェアの最新のバージョン情報の組み合わせが定義される。図6に示したように、車両ID「VID_1003」で特定される車両にはサーバ1と通信可能な通信モジュールが搭載されていないため、OTA可否を示す情報として、「不可」が設定されている。
第2記憶部26は、電子制御ユニットの更新データを記憶する。上述したように、更新データは、電子制御ユニットの更新ソフトウェア、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェアまたは圧縮データを分割した分割データのいずれを含んでいても良い。
通信部27は、ソフトウェア更新装置11からソフトウェアの更新確認要求を受信可能である。更新確認要求は、例えば、車両において電源またはイグニッションがオンされたときに、ソフトウェア更新装置11からサーバ1へと送信される情報であって、電子制御ユニットの更新データがあるか否かの確認をサーバ1に要求するための情報である。通信部27は、ソフトウェア更新装置11から受信した更新確認要求に応答して、更新データの有無を示す情報をソフトウェア更新装置11に送信する。また、通信部27は、ソフトウェア更新装置11から、配信パッケージの送信要求(ダウンロード要求)を受信可能である。通信部27は、配信パッケージのダウンロード要求を受信すると、電子制御ユニットのソフトウェアの更新データを含む配信パッケージを、ダウンロード要求を行ったソフトウェア更新装置11に送信する。また、通信部27は、サーバ1とソフトウェア更新装置11との間の通信が可能でない場合、電子制御ユニットの更新データがある旨を示す通知を、機器識別情報においてソフトウェア更新装置11に関連付けられている携帯端末3に送信する。この場合、通信部27は、携帯端末3からダウンロード要求を受信すると、電子制御ユニットのソフトウェアの更新データを含む配信パッケージを、ダウンロード要求を行った携帯端末3に送信する。
制御部28は、通信部27が更新確認要求を受信すると、第1記憶部25に記憶される更新管理情報に基づいて、更新確認要求に含まれる車両IDで特定される車両のソフトウェアの更新データがあるか否かを判定する。制御部28による更新データがあるか否かの判定結果は、通信部27によってソフトウェア更新装置11に送信される。制御部28は、電子制御ユニットの更新データがあると判定した場合、ソフトウェア更新装置11から配信パッケージのダウンロード要求を受信すると、第2記憶部26に記憶される更新データを含む配信パッケージを生成する。この配信パッケージは、通信部27によりソフトウェア更新装置11に送信される。
また、制御部28は、サーバ1とソフトウェア更新装置11との通信の可否を判定する。制御部28は、サーバ1とソフトウェア更新装置との通信が途絶している場合、または、ソフトウェア更新装置11を備える車両に、ソフトウェア更新に必要な車載機器が搭載されていない場合に、サーバ1とソフトウェア更新装置11(車両)との通信が可能でないと判定する。制御部28は、通信部27の通信ログに基づいて、サーバ1とソフトウェア更新装置11間の通信(OTAに関する通信、あるいは、それ以外の通信)が所定期間に行われていない場合に、サーバ1とソフトウェア更新装置11との通信が可能でないと判定することができる。あるいは、制御部28は、更新管理情報に記録された各電子制御ユニットのソフトウェアのバージョンと最新のソフトウェアのバージョンとの差が所定以上である場合や、電子制御ユニットのソフトウェアの更新履歴において、電子制御ユニットのソフトウェア更新が一定期間記録されていない場合に、サーバ1とソフトウェア更新装置11間の通信が可能でないと判定しても良い。車両にソフトウェア更新に必要な車載機器が搭載されているか否かは、図6に示した機器識別情報または図7に示した更新管理情報に基づいて判定することができる。ソフトウェア更新に必要な車載機器としては、上述した通信モジュール12の他に、ユーザによる承諾処理を行うために利用されるカーナビゲーションシステム等の表示装置を備えた機器を例示することができる。
図8は、第1の実施形態に係るソフトウェア更新装置の機能ブロック図である。
ソフトウェア更新装置11は、記憶部37と、通信部38と、制御部39とを備える。記憶部37は、図3に示した記憶装置34によって実現され、通信部38及び制御部39は、図3に示したCPU31がRAM32を用いてROM33に記憶されるプログラム(ソフトウェア更新装置11の制御用プログラム)を実行することにより実現される。
記憶部37は、電子制御ユニット13a~13dのソフトウェア更新を実行するためのプログラムや、ソフトウェア更新を実行する際に用いる各種データの他、サーバ1からダウンロードしたソフトウェアの更新データを記憶する。
通信部38は、車両の電源またはイグニッションがオンされたこと等を契機として、ソフトウェアの更新確認要求をサーバ1に送信する。更新確認要求は、例えば、車両を識別するための車両IDと、車載ネットワーク2に接続される電子制御ユニット13a~13dのソフトウェアのバージョンとを含む。車両ID及び電子制御ユニット13a~13dのソフトウェアのバージョンは、サーバ1が車両ID毎に保持する最新のソフトウェアのバージョンとの比較により、電子制御ユニットのソフトウェアの更新データがあるか否かを判定するために用いられる。また、制御部39は、更新確認要求に対する応答としてサーバ1から更新データの有無を示す確認結果を受信し、確認結果に基づいて更新データの有無を判定する。いずれかの電子制御ユニットのソフトウェアの更新データがある場合、制御部39は、配信パッケージのダウンロード要求をサーバ1に送信し、サーバ1から送信される配信パッケージを受信する。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、インストール順、ソフトウェア更新時に用いる各種制御情報等を含んでいても良い。制御部39は、サーバ1から更新データを含む配信パッケージを受信すると、受信した配信パッケージの真正性を検証する。
制御部39は、更新データを含む配信パッケージがダウンロードされた後、更新データのインストール処理、アクティベート処理、インストール処理またはアクティベート処理の承諾要求処理を行う。制御部39は、ソフトウェア更新の実行時に、承諾要求処理として、ソフトウェア更新に対して承諾が必要である旨の通知やソフトウェア更新を承諾した旨の入力を促す通知を出力装置に出力させる処理と、ユーザからの操作入力を受け付ける処理とを行う。出力装置としては、車載ネットワーク2に設けられた表示装置14や、音声による通知を行う音声出力装置等を利用できる。例えば、承諾要求処理において、表示装置14を出力装置として用いる場合、制御部39は、ソフトウェア更新の承諾を求めるための承諾要求画面を表示装置14に表示させ、ユーザまたは管理者が承諾した場合に承諾ボタンを押下する等の特定の入力操作を促す通知を表示装置14に表示させる。また、制御部39は、承諾要求処理において、電子制御ユニットのソフトウェアの更新データがあることを通知する文言やアイコン等を表示装置14に表示させたり、ソフトウェア更新処理の実行中における制限事項等を表示装置14に表示させたりする。
図9は、第1の実施形態に係る携帯端末の機能ブロック図である。
携帯端末3は、記憶部46と、通信部47と、制御部48と、表示部49とを備える。記憶部46は、図4に示した記憶装置43によって実現され、通信部47及び制御部48は、図4に示したCPU41がRAM42を用いて記憶装置43に記憶されるプログラムを実行することにより実現される。
記憶部46は、電子制御ユニット13a~13dのソフトウェア更新を実行するためのプログラムや、ソフトウェア更新を実行する際に用いる各種データの他、サーバ1からダウンロードしたソフトウェアの更新データを記憶する。
通信部47は、サーバ1及びソフトウェア更新装置11と無線での通信が可能である。通信部47は、電子制御ユニットのソフトウェアの更新データがあることを示す通知をサーバ1から受信する。この通知は、サーバ1とソフトウェア更新装置11との通信が可能でない場合に、サーバ1から送信される。通信部47は、電子制御ユニットのソフトウェアの更新データがあることを示す通知を受信した場合、配信パッケージのダウンロード要求をサーバ1に送信し、サーバ1から送信される配信パッケージを受信することができる。通信部47は、配信パッケージのダウンロード要求を、ユーザからの明示の指示に基づいてサーバ1に送信しても良いし、サーバ1からの上記通知に応答して自動的に送信しても良い。上述の通り、配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、インストール順、ソフトウェア更新時に用いる各種制御情報等を含んでいても良い。携帯端末3及びソフトウェア更新装置11の通信により、電子制御ユニットのソフトウェア更新を行う場合、通信部47は、サーバ1からダウンロードした更新データをソフトウェア更新装置11に転送する。
制御部48は、更新データを含む配信パッケージがダウンロードされた後、ダウンロードされた更新データを用いて、ソフトウェア更新装置11との無線通信により、電子制御ユニットのソフトウェアの更新処理を行う。携帯端末3が実行するソフトウェアの更新処理には、更新データのインストール処理、アクティベート処理、インストールまたはアクティベートの承諾要求処理が含まれる。制御部48は、インストール処理において、ソフトウェア更新装置11に対してインストールを指示する。制御部48は、アクティベート処理において、ソフトウェア更新装置11に対して更新後のソフトウェアの有効化を指示する。また、制御部48は、承諾要求処理として、ソフトウェア更新に対して承諾が必要である旨の通知やソフトウェア更新を承諾した旨の入力を促す通知を表示部49に出力させ、ユーザの承諾を求める処理と、ソフトウェア更新に対するユーザの承諾を受け付ける処理とを行う。制御部48は、表示部49に加えて、携帯端末3が備える音声出力装置等に通知を出力させても良い。例えば、承諾要求処理において、制御部48は、ソフトウェア更新の承諾を求めるための承諾要求画面を表示部49に表示させ、ユーザまたは管理者が承諾した場合に承諾ボタンを押下する等の特定の入力操作を促す通知を表示部49に表示させる。また、制御部48は、承諾要求処理において、電子制御ユニットのソフトウェアの更新データがあることを通知する文言や画像等を表示部49に表示させたり、ソフトウェア更新処理の実行中における制限事項等を表示部49に表示させたりする。
表示部49は、表示画面を有し、制御部48がソフトウェア(アプリケーション)を実行するのに伴う各種の表示内容を表示する。
図10は、第1の実施形態に係るサーバが実行する制御処理の一例を示すフローチャートであり、より詳細には、サーバとソフトウェア更新装置との通信の可否を判定する処理の一例を示したものである。図10の処理は、例えば、一定期間ごとに定期的に実行することができる。
ステップS11において、制御部28は、各車両におけるソフトウェアの更新状況を確認する。具体的には、制御部28は、第1記憶部25に記憶される更新管理情報(図7)を参照し、更新管理情報に記録された電子制御ユニットのソフトウェアのバージョンと、最新のソフトウェアのバージョンとの比較に基づいて、電子制御ユニットのソフトウェア更新が必要な車両のレコードを抽出する。例えば、図7の例において、ECU1、ECU2、ECU3、ECU4の最新のソフトウェアのバージョンが、2.0、2.0、1.4、1.0である場合、車両ID「VID_1001」で特定される車両は、最新のソフトウェアを保持しているため、ソフトウェア更新を必要としないが、車両ID「VID_1002」及び「VID_1003」で特定される車両は、ソフトウェア更新を必要とする。尚、説明を簡略化するため、図7に示す3台の車両は、車種が同じであり、同じ電子制御ユニットを搭載しているものとする。制御部28は、車両ID「VID_1002」及び「VID_1003」で特定される車両のレコードを、ソフトウェア更新が必要な車両のレコードとして抽出する。尚、以下の説明では、ステップS11で抽出された、ソフトウェア更新が必要な車両を「対象車両」という。その後、処理はステップS12に進む。
ステップS12において、制御部28は、ソフトウェア更新が必要な車両があるか否かを判定する。制御部28は、ステップS11においてソフトウェア更新が必要な車両のレコードが抽出された場合に、YESと判定する。ステップS12の判定がYESの場合、処理はステップS13に進み、それ以外の場合、処理を終了する。
ステップS13において、制御部28は、ステップS11で特定した対象車両が、無線通信(OTA)によるソフトウェア更新が可能な車両であるか否かを判定する。より詳細には、制御部28は、ステップS11で抽出した対象車両のレコードから、1つのレコードを選択する。制御部28は、選択したレコードに含まれるOTA可否を示す情報に基づいて、OTAによるソフトウェア更新が可能であるか否かを判定する。ステップS13の判定がYESの場合、処理はステップS14に進み、それ以外の場合、処理はステップS15に進む。
ステップS14において、制御部28は、所定期間内にサーバ1と車両(ソフトウェア更新装置11)間で通信があったか否かを判定する。ステップS14の判定は、通信部27の通信ログに基づいて行うことができる。ステップS14の判定がYESの場合、処理はステップS17に進み、それ以外の場合、処理はステップS15に進む。
ステップS15において、制御部28は、携帯端末の登録があるか否かを判定する。より詳細には、制御部15は、機器識別情報(図6)を参照し、ステップS13で選択したレコードの車両IDに関連付けられた携帯端末の情報が登録されているか否かを判定する。ステップS15の判定がYESの場合、処理はステップS15に進み、それ以外の場合、処理はステップS17に進む。
ステップS16において、通信部27は、電子制御ユニットのソフトウェア更新が必要であることを示す通知を、ステップS13で選択したレコードの車両IDに関連付けられた携帯端末に対して送信する。その後、処理はステップS17に進む。
ステップS17において、制御部28は、ステップS11で抽出した全ての対象車両のレコードが処理済みであるか否か(上記ステップS13~S16の処理を行ったか否か)を判定する。ステップS17の処理がYESの場合、処理を終了し、それ以外の場合、ステップS13に進む。
図11は、第1の実施形態に係るサーバが実行する更新データ配信処理の一例を示すフローチャートである。図11に示す制御処理は、例えば所定の時間間隔で繰り返し実行される。尚、機器識別情報、更新管理情報及び更新データは、図11の制御処理の実行前に予め記憶部(第1記憶部25、第2記憶部26)に登録される、
ステップS21において、通信部27は、ソフトウェア更新装置11から更新確認要求を受信したか否かを判定する。ステップS21の判定がYESの場合、処理はステップS22に進み、それ以外の場合、処理はステップS23に進む。
ステップS22において、通信部27は、更新確認要求を送信した車両に対して、電子制御ユニットのソフトウェアの更新データがあるか否かを示す情報を送信する。更新データの有無は、例えば、制御部28が、更新確認要求に含まれる車両IDに関連付けて更新管理情報に記憶されているソフトウェアのバージョンの組み合わせと、更新確認要求に含まれる現在のソフトウェアのバージョンの組み合わせとを比較し、更新確認要求に含まれる現在のソフトウェアのバージョンの組み合わせが、更新管理情報に記憶されているバージョンの組み合わせより古い場合に、更新データがあると判定することができる。その後、処理はステップS23に進む。
ステップS23において、通信部27は、更新データ(配信パッケージ)のダウンロード要求を受信したか否かを判定する。ステップS23の判定がYESの場合、処理はステップS24に進み、それ以外の場合、処理はステップS21に進む。
ステップS24において、制御部28は、ステップS23で受信したダウンロード要求の送信元が車両(ソフトウェア更新装置11)であるか、携帯端末3であるかを判定する。ダウンロード要求の送信元が車両である場合、処理はステップS25に進み、ダウンロード要求の送信元が携帯端末3である場合、処理はステップS26に進む。
ステップS25において、通信部27は、制御部28が生成した、ソフトウェアの更新データを含む配信パッケージをソフトウェア更新装置11に送信する。その後、処理はステップS21に進む。
ステップS26において、通信部27は、制御部28が生成した、ソフトウェアの更新データを含む配信パッケージを携帯端末3に送信する。その後、処理はステップS21に進む。
尚、図11に示したステップS25の処理は、サーバ1とソフトウェア更新装置11とが通信可能である場合に実行される更新データの配信処理であり、ステップS26の処理は、サーバ1とソフトウェア更新装置とが通信可能出ない場合に実行される更新データの配信処理である。
図12は、ソフトウェア更新装置が実行するソフトウェア更新処理の一例を示すフローチャートである。図12に示す制御処理は、ソフトウェア更新装置11がサーバ1との通信により電子制御ユニットのソフトウェア更新を行う処理であり、例えば、車両の電源またはイグニッションがオンされたことを契機として実行される。
ステップS31において、通信部38は、車両IDと電子制御ユニット13a~13dのソフトウェアのバージョンの組み合わせとを含む更新確認要求をサーバ1に送信する。その後、処理はステップS32に進む。
ステップS32において、通信部38は、サーバ1から更新データの確認結果を受信する。その後、処理はステップS33に進む。
ステップS33において、制御部39は、サーバ1から受信した確認結果に基づいて、電子制御ユニット13a~13dのソフトウェアの更新データがあるか否かを判定する。ステップS33の処理がYESの場合、処理はステップS34に進み、それ以外の場合、処理を終了する。
ステップS34において、通信部38は、ダウンロード処理を実行する。より詳細には、通信部38は、サーバ1に配信パッケージのダウンロード要求を送信し、ダウンロード要求に応答して送信される配信パッケージを受信し、受信した配信パッケージを記憶部37に格納する。通信部38は、受信した配信パッケージに含まれる更新データの真正性を検証する。ステップS34において、ダウンロードの実行可否の判定や、サーバ1に対してダウンロードが完了したことの通知を行っても良い。その後、処理はステップS35に進む。
ステップS5において、制御部39は、更新対象の電子制御ユニットに対してインストール処理を実行する。ステップS35のインストール処理は、インストールの実行可否の判断、ユーザにインストールの承諾を要求し、承諾の入力を受け付ける処理、ソフトウェア更新装置11から更新対象の電子制御ユニットへの更新データの転送、更新対象の電子制御ユニットへのインストール要求、更新対象の電子制御ユニットへのインストールの検証要求等を含む。更新対象の電子制御ユニットは、ソフトウェア更新装置11から受信した更新データを用いて更新版のソフトウェアを格納領域にインストールする。その後、処理はステップS36に進む。
ステップS36において、制御部39は、更新対象の電子制御ユニットに対してアクティベート処理を実行する。ステップS26のアクティベート処理は、アクティベートの実行可否の判断、ユーザにアクティベートの承諾を要求し、承諾の入力を受け付ける処理、更新対象の電子制御ユニットへのアクティベート要求等を含む。更新対象の電子制御ユニットは、実行対象のソフトウェアを更新板のソフトウェアに切り替えることにより、更新版のソフトウェアを有効化して起動する。その後、処理を終了する。
図13は、ソフトウェア更新装置が実行するソフトウェア更新処理の他の一例を示すシーケンス図である。図13に示す制御処理は、ソフトウェア更新装置11が携帯端末3との通信により電子制御ユニットのソフトウェア更新を行う処理であり、例えば、携帯端末3またはソフトウェア更新装置11に入力されたユーザからの指示を契機として実行される。
ステップS41において、携帯端末3の通信部47は、ソフトウェア更新装置11に接続要求を送信する。ステップS41の接続要求は、例えば、ユーザからの指示入力を契機として送信される。その後、処理はステップS42に進む。
ステップS42において、ソフトウェア更新装置11の制御部39は、接続要求を送信した携帯端末を認証するために認証処理を行う。認証処理の方法は特に限定されず、既知の認証処理を採用することができる。認証処理において、ソフトウェア更新装置11は、携帯端末と複数回通信を行っても良い。尚、ステップS42の認証処理は、ソフトウェア更新装置11が行う代わりに、車両の解錠や始動時の認証を行う電子制御ユニットが行っても良い。この場合、電子制御ユニットのソフトウェア更新を、車両の電子キーとして使用される携帯端末3を利用して行うため、セキュリティを向上させることができる。その後、処理はステップS43に進む。
ステップS43において、ソフトウェア更新装置11の通信部38は、認証結果を携帯端末3に送信する。図13の例では、ソフトウェア更新装置11がステップS43で認証に成功したことを示す認証結果を送信したものとする。その後、処理はステップS44に進む。
ステップS44において、携帯端末3の制御部48は、更新データのダウンロードに対する許諾を求めるための許諾要求画面を表示部49に表示させる。その後、処理はステップS45に進む。
ステップS45において、携帯端末3の制御部48は、ダウンロードをユーザが許諾した旨の入力を受け付ける。制御部48は、タッチパネルやボタン操作等により許諾した旨の入力が行われたことを検出すると、処理はステップS46に進む。
ステップS46において、携帯端末3の通信部47は、記憶部46に記憶される更新データをソフトウェア更新装置11に転送する。その後、処理はステップS47に進む。
ステップS47において、ソフトウェア更新装置11の制御部39は、携帯端末3から受信した更新データの真正性をチェックする。その後、処理はステップS48に進む。
ステップS48において、ソフトウェア更新装置11の通信部38は、更新データの真正性のチェック結果を携帯端末3に送信する。図13の例では、ソフトウェア更新装置11がステップS47で更新データが真正なもので合ったことを示すチェック結果を送信したものとする。その後、処理はステップS49に進む。
ステップS49において、携帯端末3の制御部48は、更新データのインストールに対する許諾を求めるための許諾要求画面を表示部49に表示させる。制御部48は、例えば、電子制御ユニットのソフトウェア更新を開始する旨の表示と、必要に応じて、インストールに要する時間や、インストール中の制限事項や注意事項の表示を表示部49に表示させる。その後、処理はステップS50に進む。
ステップS50において、携帯端末3の制御部48は、タッチパネルや操作ボタン等の入力手段を用いたユーザによる操作入力を受け付ける。インストールを承諾する旨の操作入力は、例えば、表示部49に表示された「承諾する」あるいは「更新を開始する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェアの更新開始(インストール)をすぐに承諾せず、後でソフトウェアの更新開始(インストール)を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。制御部48は、タッチパネルやボタン操作等により許諾した旨の入力が行われたことを検出すると、処理はステップS51に進む。
ステップS51において、携帯端末の通信部47は、更新データのインストールの指示をソフトウェア更新装置11に送信する。その後、処理はステップS52に進む。
ステップS52において、ソフトウェア更新装置11の制御部39は、更新対象の電子制御ユニットに対してインストール処理を実行する。ステップS52のインストール処理は、インストールの実行可否の判断、ソフトウェア更新装置11から更新対象の電子制御ユニットへの更新データの転送、更新対象の電子制御ユニットへのインストール要求、更新対象の電子制御ユニットへのインストールの検証要求等を含む。更新対象の電子制御ユニットは、ソフトウェア更新装置11から受信した更新データを用いて更新版のソフトウェアを格納領域にインストールする。その後、処理はステップS53に進む。
ステップS53において、ソフトウェア更新装置11の通信部38は、インストールが完了したことを示すインストール完了通知を携帯端末3に送信する。その後、処理はステップS54に進む。
ステップS54において、携帯端末3の制御部48は、更新版のソフトウェアのアクティベートに対する許諾を求めるための許諾要求画面を表示部49に表示させる。制御部48は、例えば、電子制御ユニットのソフトウェア更新の準備が整い、電源またはイグニッションOFF等の特定の操作を行うことによりプログラムが更新される旨の表示と、必要に応じて、アクティベートに要する時間や、アクティベート中の制限事項や注意事項の表示を表示部49に表示させる。その後、処理はステップS55に進む。
ステップS55において、携帯端末3の制御部48は、タッチパネルや操作ボタン等の入力手段を用いたアクティベートを承諾する旨の操作入力を受け付ける。アクティベートを承諾する旨の操作入力は、例えば、表示部49に表示された「承諾する」あるいは「更新する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェア更新(アクティベート)をすぐに承諾せず、後でソフトウェア更新を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。制御部48は、タッチパネルやボタン操作等により許諾した旨の入力が行われたことを検出すると、処理はステップS56に進む。
ステップS56において、携帯端末の通信部47は、更新版のソフトウェアのアクティベートの指示をソフトウェア更新装置11に送信する。その後、処理はステップS57に進む。
ステップS57において、ソフトウェア更新装置11の制御部39は、更新対象の電子制御ユニットに対してアクティベート処理を実行する。ステップS57のアクティベート処理は、アクティベートの実行可否の判断、承諾の入力を受け付ける処理、更新対象の電子制御ユニットへのアクティベート要求等を含む。更新対象の電子制御ユニットは、実行対象のソフトウェアを更新板のソフトウェアに切り替えることにより、更新版のソフトウェアを有効化して起動する。その後、処理を終了する。
尚、更新対象の電子制御ユニットが1つのデータ格納領域を持つ構成である場合、データ格納領域に更新データをインストールした時点で電子制御ユニットのソフトウェアに影響が及ぶため、インストール及びアクティベートを連続して行うことが好ましい。また、この場合、更新対象の電子制御ユニットが1つのデータ格納領域を持つ構成である場合、インストール実行前にインストール及びアクティベートに対する承諾要求処理を行い、アクティベート実行前の承諾要求処理を省略しても良い。
以上説明したように、本実施形態に係るサーバ1は、車両に搭載されたソフトウェア更新装置11及びこれと通信可能な携帯端末(スマートフォン、スマートキー)の情報(アドレス等)を機器識別情報として保持している。サーバ1とソフトウェア更新装置11との通信によりソフトウェア更新ができない場合、サーバ1において、対象車両のソフトウェア更新装置11と通信可能な携帯端末3を介して、電子制御ユニットのソフトウェア更新を実行させることができる。したがって、サーバ1が車両と通信できない場合でも、電子制御ユニットのソフトウェアを適時に更新することが可能となる。また、サーバ1がソフトウェア更新装置との通信によるソフトウェア更新ができない場合、携帯端末3に対して更新データを選択的に送信して更新処理の実行を指示できるので、サーバ1と車両との通信によるソフトウェア更新と、携帯端末を介したソフトウェア更新とが並行して行われず、ソフトウェア更新の重複や不整合を防止できる。
また、本実施形態に係るサーバ1は、通信モジュール12や表示装置14等のソフトウェア更新に必要な車載機器が搭載されていない場合、携帯端末3の通信機能や表示画面を利用してソフトウェア更新を行うことが可能となる。
(第2の実施形態)
第2の実施形態に係るサーバについて、第1の実施形態との相違点を中心に説明する。
図14は、第2の実施形態に係るサーバが記憶する機器識別情報の一例を示す図である。
図14に示す機器識別情報は、車両を識別する車両識別情報(車両ID)毎に、車両に搭載された通信モジュール12を特定する情報と、ソフトウェア更新装置11と通信可能な携帯端末3を特定する情報とを優先度順に関連付けた情報である。第1の実施形態と同様に、ソフトウェア更新装置11を特定する情報及び携帯端末3を特定する情報は、例えば、サーバ1がデータの送信先を一意に指定することができる情報であり、例えば、IPアドレスのようなネットワーク上のアドレスである。本実施形態に係る機器識別情報は、サーバ1が、電子制御ユニットのソフトウェアの更新データの送信先を取得するために用いる。図14の例では、車両ID「VID_1001」で特定される車両には、優先度が高い順に、通信モジュール12及び携帯端末3のアドレスが登録され、車両ID「VID_1002」で特定される車両には、優先度が高い順に、携帯端末3及び通信モジュール12のアドレスが登録されている。また、車両ID「VID_1003」及び「VID_1004」で特定される車両には、それぞれ、通信モジュール12及び携帯端末3のアドレスが登録されている。図14の例では、1つの車両IDに対して2つの端末の情報が登録されているが、3以上の端末が優先度順に登録されていても良い。
図15は、第2の実施形態に係るサーバが行う制御処理の一例を示すフローチャートである。
ステップS61において、制御部28は、各車両におけるソフトウェアの更新状況を確認する。具体的には、制御部28は、第1記憶部25に記憶される更新管理情報(図7)を参照し、更新管理情報に記録された電子制御ユニットのソフトウェアのバージョンと、最新のソフトウェアのバージョンとの比較に基づいて、電子制御ユニットのソフトウェア更新が必要な車両のレコードを抽出する。尚、以下の説明では、ステップS11で抽出された、ソフトウェア更新が必要な車両を「対象車両」という。その後、処理はステップS62に進む。
ステップS62において、制御部28は、ソフトウェア更新が必要な車両があるか否かを判定する。制御部28は、ステップS61においてソフトウェア更新が必要な車両のレコードが抽出された場合に、YESと判定する。ステップS12の判定がYESの場合、処理はステップS13に進み、それ以外の場合、処理を終了する。
ステップS63において、制御部28は、ステップS61で抽出した対象車両のレコードから1つのレコードを選択し、機器識別情報を参照して、選択したレコードの車両IDに対応付けられた、最も優先度の高い端末が携帯端末3であるか否かを判定する。ステップS63の判定がYESの場合、処理はステップS64に進み、それ以外の場合、処理はステップS65に進む。
ステップS64において、通信部27は、電子制御ユニットのソフトウェア更新が必要であることを示す通知を、ステップS64で参照した携帯端末3に対して送信する。その後、処理はステップS65に進む。
ステップS65において、制御部28は、ステップS61で抽出した全ての対象車両のレコードが処理済みであるか否か(上記ステップS63~S656の処理を行ったか否か)を判定する。ステップS65の処理がYESの場合、処理を終了し、それ以外の場合、ステップS63に進む。
本実施形態に係る機器識別情報を用いた場合、主たる端末(優先度高の端末)との通信ができない場合に、従たる端末(優先度低の端末)を更新データの第2の送信先として選択することができる。したがって、サーバ1が主たる端末と通信できない場合でも、従たる端末との通信を利用して、電子制御ユニットのソフトウェアを適時に更新することが可能となる。また、サーバ1は、主たる端末及び従たる端末のいずれかに更新データを選択的に送信して更新処理の実行を指示できるので、サーバ1と車両との通信によるソフトウェア更新と、携帯端末を介したソフトウェア更新とが並行して行われず、ソフトウェア更新の重複や不整合を防止できる。
また、本実施形態においては、機器識別情報に主たる端末として携帯端末3を登録することができるので、車両に通信モジュール12や表示装置14等のソフトウェア更新に必要な車載機器が搭載されていない場合に、電子制御ユニットのソフトウェアの更新データがあることを確実に通知することができる。また、機器識別情報に主たる端末として携帯端末3を登録した場合、予め登録した携帯端末を用いてソフトウェア更新を管理できるので、レンタカーやカーシェアリング等で複数台の車両を管理する場合に好適である。
(その他の変形例)
上記の各実施形態で例示したサーバ1の機能は、プロセッサ(CPU)とメモリと記憶装置とを備えるコンピュータが実行する更新データの配信方法、あるいは、当該コンピュータに実行させる配信プログラム、配信プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。同様に、各実施形態で例示したソフトウェア更新装置11の機能は、プロセッサ(CPU)とメモリと記憶装置とを備える、車載されたコンピュータが実行する更新制御方法、あるいは、当該車載されたコンピュータに実行させる更新制御プログラム、更新制御プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。
上記の各実施形態では、車両側において、車載ネットワークに設けられたソフトウェア更新装置11が、マスタ装置として、全ての電子制御ユニット13a~13dのプログラム更新を制御する例を説明したが、ソフトウェア更新装置11を設ける代わりに、電子制御ユニット13a~13dのいずれか1つが更新制御機能を有しており、他の電子制御ユニットのプログラム更新を制御しても良い。また、ソフトウェア更新装置11を設ける代わりに、ソフトウェア更新装置11の更新制御機能を、車載ネットワーク2に有線で接続可能な外部機器に設け、この外部機器を用いて電子制御ユニット13a~13dのプログラム更新処理を行うことも可能である。
本開示技術は、電子制御ユニットのソフトウェアを更新するためのネットワークシステムに利用できる。
1 サーバ
2 車載ネットワーク
3 携帯端末
5 ネットワーク
11 ソフトウェア更新装置
13a~13d 電子制御ユニット
25 第1記憶部
26 第2記憶部
27 通信部
28 制御部
29 第2通信部
46 記憶部
47 通信部
48 制御部
49 表示部

Claims (7)

  1. 車両に搭載された電子制御ユニットのソフトウェアの更新データを配信するサーバであって、
    前記車両に関する情報と、前記車両と通信可能な外部端末に関する情報と、を紐づけて記憶する記憶部と、
    前記更新データのダウンロード要求の受信に応じて、
    1)前記サーバと無線通信が可能な通信モジュールを前記車両が搭載している場合に、前記車両へ前記更新データを送信し、
    2)前記サーバと無線通信が可能な通信モジュールを前記車両が搭載していない場合に、前記外部端末へ前記更新データを送信する送信部と、
    を備えるサーバ。
  2. 前記車両と無線通信可能であるかを判定する判定部を更に備え、
    前記判定部は、前記サーバと無線通信が可能な通信モジュールを前記車両が搭載している場合であって当該通信モジュールとの通信が途絶している場合、および、前記サーバと無線通信が可能な通信モジュールを前記車両が搭載していない場合に、前記車両と無線通信が可能でないと判定する請求項1に記載のサーバ。
  3. 前記外部端末は、前記車両の電子キーである請求項1または2に記載のサーバ。
  4. 前記記憶部は、前記車両に関する情報としての車両識別情報と、前記外部端末に関する情報としての前記外部端末のアドレスと、を紐づけて記憶する請求項1から3のいずれか1項に記載のサーバ。
  5. 前記更新データは、前記電子制御ユニットが用いる更新ソフトウェアの圧縮データ、もしくは、当該更新ソフトウェアないし前記圧縮データを分割した分割データである請求項1から4のいずれか1項に記載のサーバ。
  6. 車両に搭載された電子制御ユニットのソフトウェアの更新データを配信する方法であって、
    前記車両に関する情報と、前記車両と通信可能な外部端末に関する情報と、を紐づけて記憶するステップと、
    前記更新データのダウンロード要求の受信に応じて、
    )サーバと無線通信が可能な通信モジュールを前記車両が搭載している場合に、前記車両へ前記更新データを送信し、
    2)前記サーバと無線通信が可能な通信モジュールを前記車両が搭載していない場合に、前記外部端末へ前記更新データを送信するステップと、
    を備える方法。
  7. 車両に搭載された電子制御ユニットのソフトウェアの更新データを配信させるプログラムであって、前記電子制御ユニットに、
    前記車両に関する情報と、前記車両と通信可能な外部端末に関する情報と、を紐づけて記憶させるステップと、
    前記更新データのダウンロード要求の受信に応じて、
    )サーバと無線通信が可能な通信モジュールを前記車両が搭載している場合に、前記車両へ前記更新データを送信させ
    2)前記サーバと無線通信が可能な通信モジュールを前記車両が搭載していない場合に、前記外部端末へ前記更新データを送信させるステップと、
    を実行させるプログラム。
JP2020169362A 2020-10-06 2020-10-06 更新データを配信するサーバ、方法及びプログラム Active JP7439720B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020169362A JP7439720B2 (ja) 2020-10-06 2020-10-06 更新データを配信するサーバ、方法及びプログラム
EP21189839.0A EP3982254A1 (en) 2020-10-06 2021-08-05 Server, software update system, distribution method, and non-transitory storage medium
US17/395,005 US11853742B2 (en) 2020-10-06 2021-08-05 Server, software update system, distribution method, and non-transitory storage medium
CN202110982572.4A CN114385202A (zh) 2020-10-06 2021-08-25 服务器、软件更新***、分发方法及非临时存储介质
US18/387,988 US20240069906A1 (en) 2020-10-06 2023-11-08 Server, software update system, distribution method, and non-transitory storage medium
JP2024019242A JP2024040359A (ja) 2020-10-06 2024-02-13 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020169362A JP7439720B2 (ja) 2020-10-06 2020-10-06 更新データを配信するサーバ、方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024019242A Division JP2024040359A (ja) 2020-10-06 2024-02-13 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム

Publications (3)

Publication Number Publication Date
JP2022061381A JP2022061381A (ja) 2022-04-18
JP2022061381A5 JP2022061381A5 (ja) 2022-12-02
JP7439720B2 true JP7439720B2 (ja) 2024-02-28

Family

ID=77226681

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020169362A Active JP7439720B2 (ja) 2020-10-06 2020-10-06 更新データを配信するサーバ、方法及びプログラム
JP2024019242A Pending JP2024040359A (ja) 2020-10-06 2024-02-13 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024019242A Pending JP2024040359A (ja) 2020-10-06 2024-02-13 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム

Country Status (4)

Country Link
US (2) US11853742B2 (ja)
EP (1) EP3982254A1 (ja)
JP (2) JP7439720B2 (ja)
CN (1) CN114385202A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230403369A1 (en) * 2022-06-10 2023-12-14 Ford Global Technologies, Llc Adaptive vehicle experience presentation
WO2024096088A1 (ja) * 2022-11-04 2024-05-10 株式会社デンソー 制御装置、制御方法、及び制御プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087613A1 (ja) 2012-12-05 2014-06-12 パナソニック株式会社 通信装置、電子機器、通信方法、車両用鍵
JP2014182571A (ja) 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
US20160210131A1 (en) 2015-01-21 2016-07-21 Ford Global Technologies, Llc Vehicle control update methods and systems
JP2017167646A (ja) 2016-03-14 2017-09-21 トヨタ自動車株式会社 車両用のソフトウェア管理システム、管理サーバ及び車両
JP2018116349A (ja) 2017-01-16 2018-07-26 住友電気工業株式会社 中継装置、通信制御方法および通信制御プログラム
JP2019020866A (ja) 2017-07-12 2019-02-07 クラリオン株式会社 情報配信システム及び車載装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326689A (ja) 2003-04-28 2004-11-18 Nissan Motor Co Ltd 車載機器のソフトウェア書き換え方法、テレマティクスシステムおよびテレマティクス装置
CN101501697B (zh) * 2006-08-07 2013-05-01 三菱电机株式会社 数据转送装置
EP2592760B1 (en) * 2010-07-07 2015-10-14 Panasonic Intellectual Property Corporation of America Communication device and communication method
US8856780B2 (en) * 2011-11-25 2014-10-07 Automotive Data Solutions Inc. Method and system to remotely flash an external module
JP5886099B2 (ja) * 2012-03-21 2016-03-16 日立オートモティブシステムズ株式会社 自動車用電子制御装置
KR102179097B1 (ko) * 2014-06-17 2020-11-16 현대자동차주식회사 스마트폰을 이용한 차량용 소프트웨어 갱신 방법 및 시스템
US9841970B2 (en) 2015-01-13 2017-12-12 Ford Global Technologies, Llc Vehicle control update methods and systems
JP6962252B2 (ja) * 2018-03-23 2021-11-05 株式会社オートネットワーク技術研究所 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6562134B2 (ja) 2018-07-31 2019-08-21 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087613A1 (ja) 2012-12-05 2014-06-12 パナソニック株式会社 通信装置、電子機器、通信方法、車両用鍵
JP2014182571A (ja) 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
US20160210131A1 (en) 2015-01-21 2016-07-21 Ford Global Technologies, Llc Vehicle control update methods and systems
JP2017167646A (ja) 2016-03-14 2017-09-21 トヨタ自動車株式会社 車両用のソフトウェア管理システム、管理サーバ及び車両
JP2018116349A (ja) 2017-01-16 2018-07-26 住友電気工業株式会社 中継装置、通信制御方法および通信制御プログラム
JP2019020866A (ja) 2017-07-12 2019-02-07 クラリオン株式会社 情報配信システム及び車載装置

Also Published As

Publication number Publication date
CN114385202A (zh) 2022-04-22
US11853742B2 (en) 2023-12-26
JP2022061381A (ja) 2022-04-18
JP2024040359A (ja) 2024-03-25
US20240069906A1 (en) 2024-02-29
US20220107798A1 (en) 2022-04-07
EP3982254A1 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP7388301B2 (ja) サーバ、管理方法、管理プログラム及びソフトウェア更新装置
JP2024040359A (ja) 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム
US20230359454A1 (en) Software update device, update control method, and non-transitory storage medium
JP2023108066A (ja) ソフトウェア更新装置、更新制御方法、更新制御プログラム及びサーバ
US20220391194A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2022020439A (ja) サーバ、更新管理方法、更新管理プログラム、ソフトウェア更新装置、サーバ及びソフトウェア更新装置を備えるシステム
JP2022187189A (ja) Otaマスタ、センタ、システム、方法、プログラム、及び車両
US20230032451A1 (en) Center, method, and non-transitory storage medium
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2023023616A (ja) ソフトウェアの更新を制御するセンタ
US20220405080A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220276853A1 (en) Ota master, center, system, update method, and vehicle
US11947951B2 (en) Center, distribution control method, and non-transitory storage medium
US11941126B2 (en) Center, information rewriting method, and non-transitory storage medium
US11972248B2 (en) Controlling software update of electronic control units mounted on a vehicle
JP2023019099A (ja) 車両用のシステム、センタ、方法、及びプログラム
KR20220147020A (ko) 센터, ota 마스터, 시스템, 배신 방법, 비일시적인 기억 매체 및 차량
JP2022168477A (ja) Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240129

R151 Written notification of patent or utility model registration

Ref document number: 7439720

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151