JP7158599B2 - ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法 - Google Patents

ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法 Download PDF

Info

Publication number
JP7158599B2
JP7158599B2 JP2021550730A JP2021550730A JP7158599B2 JP 7158599 B2 JP7158599 B2 JP 7158599B2 JP 2021550730 A JP2021550730 A JP 2021550730A JP 2021550730 A JP2021550730 A JP 2021550730A JP 7158599 B2 JP7158599 B2 JP 7158599B2
Authority
JP
Japan
Prior art keywords
update
software
data
update data
server
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
JP2021550730A
Other languages
English (en)
Other versions
JPWO2021064765A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021064765A1 publication Critical patent/JPWO2021064765A1/ja
Application granted granted Critical
Publication of JP7158599B2 publication Critical patent/JP7158599B2/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
    • 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
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

この発明は、ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法に関するものである。
従来、OTA(Over The Air)を利用して、車両に搭載されたデバイスのソフトウェアを更新する方法が提案されている。この方法において、サーバは、最新ソフトウェアと現行ソフトウェアとの差分に基づいて更新用データを生成してデバイスへ送信し、デバイスは、サーバから受信した更新用データを用いて現行ソフトウェアから最新ソフトウェアへの更新を行う(例えば、特許文献1参照)。
特許第5696018号公報
上記のように、車両に搭載されたデバイスが、ソフトウェア更新の度に更新用データをサーバから受信すると、サーバと車両とのデータ通信量が大きくなるために無線通信のコストが大きくなるという課題があった。
この発明は、上記のような課題を解決するためになされたもので、車両に搭載されたデバイスのソフトウェア更新において、サーバと車両とのデータ通信量を削減することを目的とする。
この発明に係るソフトウェア更新装置は、車両に搭載された複数のデバイスを含むソフトウェア更新装置であって、複数のデバイスのうちの少なくとも1つのデバイスは、複数のデバイスのうちのソフトウェア更新対象となる更新対象デバイスを示す情報、及び、更新対象デバイスが持つ更新対象ソフトウェアを更新するために用いられる更新用データを生成する元となる生成元ソフトウェアを持つ、複数のデバイスのうちの生成元デバイスを示す情報を含む更新情報を、車外のサーバから受信する車外通信部を備え、複数のデバイスのそれぞれは、車外通信部が受信した更新情報に基づき、自デバイスが生成元デバイスである場合に、自デバイスが持つ生成元ソフトウェアを用いて更新用データを生成する更新用データ生成部と、車外通信部が受信した更新情報に基づき、自デバイスが更新対象デバイスである場合に、生成元デバイスが生成した更新用データを用いて自デバイスが持つ更新対象ソフトウェアを更新するソフトウェア更新部とを備えるものである。
この発明によれば、更新対象デバイスが持つ更新対象ソフトウェアを更新するために用いられる更新用データを、サーバではなく車両の生成元デバイスが生成するようにしたので、更新用データをサーバが生成する場合に比べて、サーバと車両とのデータ通信量を削減することができる。
実施の形態1に係るソフトウェア更新システムの概要を示す図である。 実施の形態1に係るソフトウェア更新システムのハードウェア構成例を示す図である。 実施の形態1に係るソフトウェア更新装置の構成例を示す機能ブロック図である。 実施の形態1に係るサーバの構成例を示す機能ブロック図である。 実施の形態1に係るサーバの動作例を示すフローチャートである。 更新用データ生成判断部が管理するソフトウェア情報の一例を示す図である。 生成元デバイス宛の更新情報の一例を示す図である。 更新対象デバイス宛の更新情報の一例を示す図である。 実施の形態1に係るソフトウェア更新装置のデバイスのうち、車外通信部を備えたデバイスの動作例を示すフローチャートである。 車外通信部を備えたデバイスの、図9の更新用データの受信待機状態における動作例を示すフローチャートである。 実施の形態1に係るソフトウェア更新装置のデバイスのうち、車外通信部を備えていないデバイスの動作例を示すフローチャートである。 車外通信部を備えていないデバイスの、図11の更新用データの受信待機状態における動作例を示すフローチャートである。 実施の形態2に係るソフトウェア更新システムの概要を示す図である。 実施の形態2に係るサーバの動作例を示すフローチャートである。 実施の形態3に係るソフトウェア更新装置の構成例を示す機能ブロック図である。 実施の形態3に係るサーバの動作例を示すフローチャートである。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、実施の形態1に係るソフトウェア更新システムの概要を示す図である。このソフトウェア更新システムは、OTAを利用して車両に搭載されたデバイスのソフトウェアを更新するものである。このソフトウェア更新システムにおいては、系統が似ているデバイス100A,100B間で、ソフトウェア更新に用いる更新用データの生成及び配布を行う。この際、ソフトウェア更新の舵取りはサーバ200が行う。具体的には、サーバ200は、デバイス100A,100Bが持つソフトウェアに関する情報(以下、「ソフトウェア情報」と称する)の管理と、デバイス100A,100Bによる更新用データ生成可否の判断とを行う。
なお、系統が似ているデバイスとは、ソフトウェア構成が似ているデバイス、又は制御するハードウェアが似ているデバイス等である。例えば、デバイス100Aとデバイス100Bとが通信バスを介して通信を行う機能を有する場合、デバイス100Aとデバイス100Bとはこの機能に関するソフトウェア構成が似ている。また、例えば、デバイス100Aが車外カメラを制御するデバイスであり、デバイス100Bが車内カメラを制御するデバイスである場合、デバイス100Aとデバイス100Bとは制御するハードウェアが似ている。
ここで、図1を用いて、デバイス100Bのソフトウェア更新処理の流れを説明する。ここでは、車両に搭載されたデバイス100A及びデバイス100Bを含むソフトウェア更新装置において、デバイス100Aが、サーバ200との通信を行う車外通信部111を備える。また、デバイス100Bが、更新対象デバイスであるものとする。
まず、サーバ200は、管理対象であるデバイス100A,100Bのソフトウェア情報に基づき、デバイス100Aの現行ソフトウェアを用いてデバイス100Bの更新用データを生成可能か否かを判断する。
続いて、サーバ200は、デバイス100Aへ、デバイス100Bの更新用データの生成を要求する。この際、サーバ200は、デバイス100Aのソフトウェア情報に基づき、デバイス100Bの更新用データを生成するために使用するソフトウェアが記憶されているデバイス100Aのメモリ位置等を示すデバイス100A宛の更新情報を生成し、この更新情報を送信する。
また、サーバ200は、デバイス100Bへ、ソフトウェアの更新手順等を示すデバイス100B宛の更新情報を生成し、この更新情報を送信する。更新手順は、例えばデバイス100Bのどのメモリ位置に更新用データを適用するか等を示すものである。
続いて、デバイス100Aの車外通信部111が、サーバ200からデバイス100A宛の更新情報とデバイス100B宛の更新情報を受信し、デバイス100B宛の更新情報をデバイス100Bへ送信する。デバイス100Aは、デバイス100A宛の更新情報に基づき、デバイス100Aの現行ソフトウェアを使用してデバイス100Bの更新用データを生成し、この更新用データをデバイス100Bへ送信する。
続いて、デバイス100Bは、デバイス100B宛の更新情報に基づき、デバイス100Bの現行ソフトウェアにデバイス100Aが生成した更新用データを適用することで最新ソフトウェアに更新する。
次に、ソフトウェア更新システムのハードウェア構成を説明する。
図2は、実施の形態1に係るソフトウェア更新システムのハードウェア構成例を示す図である。車両1には、ソフトウェア更新装置2が搭載されている。ソフトウェア更新装置2は、通信バス3によって互いに接続された、複数のデバイス100A~100Eを含む。デバイス100A~100Eは、ECU(Electronic Control Unit)等である。複数のデバイス100A~100Eのうちの少なくとも1つのデバイス100Aは、車外通信部111に相当する車外ネットワークIF(Interface)103を備える。この車外ネットワークIF103は、車外のサーバ200との無線通信を行う。複数のデバイス100A~100Eのそれぞれは、基本構成として、プロセッサ101、メモリ102、及び車内ネットワークIF104を備える。プロセッサ101は、演算等の処理を行う。メモリ102は、自デバイスが使用する情報を記憶する。車内ネットワークIF104は、通信バス3で接続されている他デバイスとの通信を行う。
サーバ200は、プロセッサ201、メモリ202、及びサーバネットワークIF203を備える。プロセッサ201、メモリ202、及びサーバネットワークIF203は、通信バス204によって互いに接続されている。プロセッサ201は、演算等の処理を行う。メモリ102は、サーバ200が使用する情報を記憶する。サーバネットワークIF203は、車両1との無線通信を行う。
ここで、プロセッサ101,201とは、CPU(Central Processing Unit)、処理装置、演算装置、又はマイクロプロセッサ等のことである。
メモリ102,202は、RAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、又はフラッシュメモリ等の不揮発性もしくは揮発性の半導体メモリであってもよいし、ハードディスク又はフレキシブルディスク等の磁気ディスクであってもよいし、CD(Compact Disc)又はDVD(Digital Versatile Disc)等の光ディスクであってもよい。
次に、ソフトウェア更新システムの各構成要素を説明する。
図3は、実施の形態1に係るソフトウェア更新装置2の構成例を示す機能ブロック図である。複数のデバイス100A~100Eのうちの少なくとも1つのデバイス100Aは、車外通信部111を備える。複数のデバイス100A~100Eのそれぞれは、更新用データ生成部112、ソフトウェア更新部113、及び車内通信部114を備える。
車外通信部111は、サーバ側通信部214(図4参照)と無線通信を行う。車外通信部111は、サーバ200から送信されたデータ(更新用データ及び更新情報を含む)を受信した場合、受信データの種別と宛先に応じて、自デバイスの更新用データ生成部112若しくはソフトウェア更新部113へ出力する、又は車内通信部114を通じて他デバイスへ送信する。また、車外通信部111は、自デバイスのソフトウェア更新部113から、又は車内通信部114を通じて他デバイスからデータ(ソフトウェア情報を含む)を受け取った場合、受け取ったデータをサーバ200へ送信する。
更新用データ生成部112は、車外通信部111から受け取った更新情報に基づき、ソフトウェア更新対象の他デバイスの更新用データを生成する。更新用データ生成部112は、生成した更新用データを、車内通信部114を通じて、ソフトウェア更新対象の他デバイスへ送信する。
ソフトウェア更新部113は、車内通信部114を通じて他デバイスから自デバイスの更新用データを受け取る、又は車外通信部111を通じてサーバ200から自デバイスの更新用データを受け取る。ソフトウェア更新部113は、車外通信部111から受け取った更新情報に基づき、上記の更新用データを用いて自デバイスのソフトウェアを更新する。また、デバイス100Aのソフトウェア更新部113は、自デバイスの更新後のソフトウェアに関するソフトウェア情報を、車外通信部111へ出力する。デバイス100B~100Eのソフトウェア更新部113は、自デバイスの更新後のソフトウェアに関するソフトウェア情報を、車内通信部114を通じて車外通信部111へ出力する。
車内通信部114は、通信バス3を通じて他デバイスとの通信を行う。車内通信部114は、デバイス100Aから送信された自デバイス宛の更新情報を受信した場合、この更新情報を自デバイスの更新用データ生成部112及びソフトウェア更新部113へ出力する。車内通信部114は、他デバイスから送信された自デバイスの更新用データを受信した場合、この更新用データを自デバイスのソフトウェア更新部113へ出力する。また、車内通信部114は、他デバイスの更新用データを自デバイスの更新用データ生成部112から受け取った場合、この更新用データを他デバイスへ送信する。また、車内通信部114は、自デバイスのソフトウェア情報を自デバイスのソフトウェア更新部113から受け取った場合、このソフトウェア情報をデバイス100Aへ送信し、デバイス100Aの車外通信部111を通じてサーバ200へ送信させる。
なお、車外通信部111の機能は、車外ネットワークIF103により実現される。車内通信部114の機能は、車内ネットワークIF104により実現される。
更新用データ生成部112及びソフトウェア更新部113の機能は、メモリ102に格納されたプログラムを実行するプロセッサ101により実現される。更新用データ生成部112及びソフトウェア更新部113の機能は、ソフトウェアにより実現される。ソフトウェアはプログラムとして記述され、メモリ102に格納される。プロセッサ101は、メモリ102に格納されたプログラムを読みだして実行することにより、各部の機能を実現する。即ち、デバイス100A~100Eは、プロセッサ101により実行されるときに、後述する図9等のフローチャートで示されるステップが結果的に実行されることになるプログラムを格納するためのメモリ102を備える。また、このプログラムは、更新用データ生成部112及びソフトウェア更新部113の手順又は方法をコンピュータに実行させるものであるとも言える。
図4は、実施の形態1に係るサーバ200の構成例を示す機能ブロック図である。サーバ200は、更新用データ生成判断部211、更新情報生成部212、更新用データ生成部213、及びサーバ側通信部214を備える。
サーバ側通信部214は、デバイス100Aの車外通信部111と無線通信を行う。サーバ側通信部214は、車外通信部111からソフトウェア情報を受信した場合、このソフトウェア情報を更新用データ生成判断部211へ出力する。また、サーバ側通信部214は、更新情報生成部212から受け取った更新情報、及び更新用データ生成部213から受け取った更新用データを、車外通信部111へ送信する。
更新用データ生成判断部211は、サーバ側通信部214から受け取ったデバイス100A~100Eのソフトウェア情報を記憶及び管理する。更新用データ生成判断部211は、これらのソフトウェア情報に基づき、デバイス100A~100Eのうちの少なくとも1つのデバイスによって更新用データが生成可能か否かを判断し、判断結果を更新情報生成部212及び更新用データ生成部213へ出力する。なお、ソフトウェア情報は、定期的に、又はデバイスのソフトウェアが更新された場合に、車両1側から送信される。
更新情報生成部212は、更新用データ生成判断部211により車両1側で更新用データの生成が可能と判断された場合、更新用データを生成する生成元デバイス宛の更新情報と、ソフトウェアを更新する更新対象デバイス宛の更新情報とを生成する。
更新情報生成部212は、更新用データ生成判断部211により車両1側で更新用データの生成が不可能と判断された場合、サーバ200が生成した更新用データを用いて更新対象デバイスのソフトウェアを更新することを示す、更新対象デバイス宛の更新情報を生成する。
更新情報生成部212は、生成した更新情報を、サーバ側通信部214を通じて車外通信部111へ送信する。
更新用データ生成部213は、更新用データ生成判断部211により車両1側で更新用データの生成が不可能と判断された場合、更新用データ生成判断部211が管理しているソフトウェア情報に基づき、更新対象デバイスの更新用データを生成する。更新情報生成部212は、生成した更新用データを、サーバ側通信部214を通じて車外通信部111へ送信する。
なお、サーバ側通信部214の機能は、サーバネットワークIF203により実現される。
更新用データ生成判断部211、更新情報生成部212、及び更新用データ生成部213の機能は、メモリ202に格納されたプログラムを実行するプロセッサ201により実現される。更新用データ生成判断部211、更新情報生成部212、及び更新用データ生成部213の機能は、ソフトウェアにより実現される。ソフトウェアはプログラムとして記述され、メモリ202に格納される。プロセッサ201は、メモリ202に格納されたプログラムを読みだして実行することにより、各部の機能を実現する。即ち、サーバ200は、プロセッサ201により実行されるときに、後述する図5等のフローチャートで示されるステップが結果的に実行されることになるプログラムを格納するためのメモリ202を備える。また、このプログラムは、更新用データ生成判断部211、更新情報生成部212、及び更新用データ生成部213の手順又は方法をコンピュータに実行させるものであるとも言える。
次に、ソフトウェア更新方法を説明する。
図5は、実施の形態1に係るサーバ200の動作例を示すフローチャートである。サーバ200は、デバイス100A~100Eのうちのいずれかのデバイスが持つソフトウェアを更新する指示を外部から受け付けた場合、図5のフローチャートに示される動作を行う。以下では、デバイス100Aが更新対象デバイスであるものとする。
ステップST1において、更新用データ生成判断部211は、更新対象デバイスの更新用データを、更新対象デバイス以外のデバイスのうちの少なくとも1つにより生成可能か否かを判断する。更新対象デバイス以外のデバイスが更新用データを生成可能である場合(ステップST1“YES”)、更新情報生成部212がステップST3の動作を行い、生成不可能である場合(ステップST1“NO”)、更新用データ生成部213がステップST2の動作を行う。
図6は、更新用データ生成判断部211が管理するソフトウェア情報の一例を示す図である。ソフトウェア情報は、例えば、デバイスID、ソフトウェアの現行バージョン、ソフトウェアの最新バージョン、現行バージョンのソフトウェアを記憶しているメモリ位置を示すメモリマップ、及び現行バージョンのソフトウェア内容等を含む。デバイスID「DEV_ID_100A」は、ソフトウェア更新対象であるデバイス100Aを指し、デバイスID「DEV_ID_100B」は、デバイス100Aの更新用データを生成する生成元のデバイス100Bを指す。更新用データ生成判断部211は、デバイス100Aのソフトウェア情報とデバイス100Bのソフトウェア情報とを比較することによって、デバイス100Aの現行バージョンのソフトウェアと最新バージョンのソフトウェアとの差分である更新用データを、デバイス100Bの現行バージョンのソフトウェアを元に生成可能か否かを判断する。
ステップST2において、更新用データ生成部213は、更新用データ生成判断部211が管理しているソフトウェア情報に基づき、更新対象デバイスの更新用データを生成する。
ステップST3において、更新情報生成部212は、更新用データを生成する生成元デバイス宛の更新情報を生成する。
更新情報は、テキストファイル等のデータ量が小さいファイル形式であることが望ましい。
図7は、生成元デバイス宛の更新情報の一例を示す図である。更新情報は、宛先、更新対象デバイス宛の更新情報であるか生成元デバイス宛の更新情報であるか、更新対象デバイス、生成元ソフトウェアのアドレス又はメモリ位置、及び更新用データの出力形式等を含む。図7の更新情報は、デバイス100B宛の更新情報であり、デバイス100Bが生成元デバイスでありデバイス100Aが更新対象デバイスであることを示す。デバイス100Bは、図7の更新情報に基づき、デバイス100Bのメモリ102の「0x0244~0x0300」に記憶されているソフトウェア内容を抽出してバイナリファイルの更新用データを生成し、この更新用データをデバイス100Aへ送信する。
ステップST4において、更新情報生成部212は、更新対象デバイス宛の更新情報を生成する。
図8は、更新対象デバイス宛の更新情報の一例を示す図である。更新情報は、宛先、更新対象デバイス宛の更新情報であるか生成元デバイス宛の更新情報であるか、ソフトウェアの最新バージョン、更新用データ一覧、各更新用データの生成元デバイス、各更新用データの適用先(アドレス又はメモリ位置等)、及び更新用データの適用順序を示す更新順序等を含む。図8の更新情報は、デバイス100A宛の更新情報であり、デバイス100Aが更新対象デバイスであることを示す。デバイス100Aは、図8の更新情報に基づき、まず、デバイス100Bにより生成された更新用データ「UpdateData_1」を、デバイス100Aのメモリ102の「0x01aa~0x0200」へ適用し、続いて、デバイス100Cにより生成された更新用データ「UpdateData_2」を、デバイス100Aのメモリ102の「0x00av~0x00bb」に適用する。
なお、図示は省略するが、更新対象デバイス宛の更新情報に含まれる生成元デバイスの項目は、デバイス100A~100Eに限らず、サーバ200の場合もある。
ステップST5において、サーバ側通信部214は、更新情報生成部212が生成した更新情報を車外通信部111へ送信する。この際、サーバ側通信部214は、車両1側で更新用データを生成可能である場合に更新対象デバイス宛の更新情報と生成元デバイス宛の更新情報とを送信し、車両1側で更新用データを生成不可能である場合に更新対象デバイス宛の更新情報を送信する。
更新用データ生成部213がステップST2で更新用データを生成した場合(ステップST6“YES”)、ステップST7において、サーバ側通信部214は、この更新用データを車外通信部111へ送信する。一方、更新用データ生成部213が更新用データを生成しなかった場合(ステップST6“NO”)、サーバ側通信部214は、ステップST7の動作をスキップする。
図9は、実施の形態1に係るソフトウェア更新装置2のデバイス100A~100Eのうち、車外通信部111を備えたデバイス100Aの動作例を示すフローチャートである。
ステップST11において、車外通信部111は、サーバ200が送信したデータを受信した場合、受信データの宛先を確認する。また、車内通信部114は、他デバイス100B~100Eが送信したデータを受信した場合、受信データの宛先を確認する。車外通信部111及び車内通信部114は、受信データが自デバイス100A宛である場合(ステップST11“YES”)、ステップST13の動作を行い、受信データが他デバイス100B~100Eのいずれか宛である場合(ステップST11“NO”)、ステップST12の動作を行う。
ステップST12において、車外通信部111は、受信データの宛先がサーバ200である場合、この受信データをサーバ200へ送信する。車内通信部114は、受信データの宛先が他デバイス100B~100Eのいずれかである場合、この受信データを宛先の他デバイスへ送信する。
ステップST13において、車外通信部111及び車内通信部114は、受信データが更新情報であるか否かを確認する。車外通信部111及び車内通信部114は、受信データが更新情報である場合(ステップST13“YES”)、ステップST14の動作を行い、受信データが更新情報でない場合(ステップST13“NO”)、図9のフローチャートに示される動作を終了する。
ステップST14において、車外通信部111は、受信データである更新情報に基づき、自デバイス100Aが更新対象デバイスであるか否かを確認する。自デバイス100Aが更新対象デバイスである場合(ステップST14“YES”)、車外通信部111はこの更新情報をソフトウェア更新部113へ出力し、ソフトウェア更新部113はステップST17の動作を行う。自デバイス100Aが更新対象デバイスでない場合(ステップST14“NO”)、車外通信部111はこの更新情報を更新用データ生成部112へ出力し、更新用データ生成部112はステップST15の動作を行う。
ステップST15において、更新用データ生成部112は、更新情報に基づき、他デバイスの更新用データを生成する。
ステップST16において、車内通信部114は、更新用データ生成部112が生成した他デバイスの更新用データを、この他デバイスへ送信する。
図10は、車外通信部111を備えたデバイス100Aの、図9の更新用データの受信待機状態(ステップST17)における動作例を示すフローチャートである。
ステップST21において、車外通信部111は、サーバ200が送信したデータを受信した場合、受信データの宛先を確認する。また、車内通信部114は、他デバイス100B~100Eが送信したデータを受信した場合、受信データの宛先を確認する。車外通信部111及び車内通信部114は、受信データが自デバイス100A宛である場合(ステップST21“YES”)、ステップST23の動作を行い、受信データが他デバイス100B~100Eのいずれか宛である場合(ステップST21“NO”)、ステップST22の動作を行う。
ステップST22において、車外通信部111は、受信データの宛先がサーバ200である場合、この受信データをサーバ200へ送信する。車内通信部114は、受信データの宛先が他デバイス100B~100Eのいずれかである場合、この受信データを宛先の他デバイスへ送信する。
ステップST23において、車外通信部111及び車内通信部114は、受信データが更新用データであるか否かを確認する。車外通信部111及び車内通信部114は、受信データが更新用データである場合(ステップST23“YES”)、更新用データをソフトウェア更新部113へ出力し、ソフトウェア更新部113はステップST24の動作を行う。車外通信部111及び車内通信部114は、受信データが更新用データでない場合(ステップST23“NO”)、ステップST21の動作を行う。
ステップST24において、ソフトウェア更新部113は、車外通信部111から受け取り済みの更新情報を参照し、自デバイス100Aのソフトウェアの更新に必要な更新用データの個数等を確認する。
ステップST25において、ソフトウェア更新部113は、自デバイス100Aのソフトウェアの更新に必要な全ての更新用データが揃ったか否かを確認する。ソフトウェア更新部113は、全ての更新用データが揃った場合(ステップST25“YES”)、ステップST26の動作を行う。未受信の更新用データが存在する場合(ステップST25“NO”)、車外通信部111及び車内通信部114がステップST21の動作を行う。
ステップST26において、ソフトウェア更新部113は、自デバイス100Aのソフトウェアの更新に必要な全ての更新用データを用いて、更新情報に含まれる更新順序に従い、自デバイス100Aのソフトウェアを更新する。ソフトウェア更新部113は、更新完了後、最新のソフトウェア情報を車外通信部111を通じてサーバ200へ送信する。
図11は、実施の形態1に係るソフトウェア更新装置2のデバイス100A~100Eのうち、車外通信部111を備えていないデバイス100B~100Eの動作例を示すフローチャートである。デバイス100B~100Eの動作は同じであるため、以下では代表してデバイス100Bの動作を説明する。
ステップST31において、車内通信部114は、通信バス3を通じて自デバイス100B宛のデータを受信する。車内通信部114は、データを受信した場合(ステップST31“YES”)、ステップST32の動作を行い、データを受信していない場合(ステップST31“NO”)、ステップST31の動作を繰り返す。
ステップST32において、車内通信部114は、受信データが更新情報であるか否かを確認する。車内通信部114は、受信データが更新情報である場合(ステップST32“YES”)、ステップST33の動作を行い、受信データが更新情報でない場合(ステップST32“NO”)、図11のフローチャートに示される動作を終了する。
ステップST33において、車内通信部114は、受信データである更新情報に基づき、自デバイス100Bが更新対象デバイスであるか否かを確認する。自デバイス100Bが更新対象デバイスである場合(ステップST33“YES”)、車内通信部114はこの更新情報をソフトウェア更新部113へ出力し、ソフトウェア更新部113はステップST36の動作を行う。自デバイス100Bが更新対象デバイスでない場合(ステップST33“NO”)、車内通信部114はこの更新情報を更新用データ生成部112へ出力し、更新用データ生成部112はステップST34の動作を行う。
ステップST34において、更新用データ生成部112は、更新情報に基づき、他デバイスの更新用データを生成する。
ステップST35において、車内通信部114は、更新用データ生成部112が生成した他デバイスの更新用データを、この他デバイスへ送信する。
図12は、車外通信部111を備えていないデバイス100B~100Eの、図11の更新用データの受信待機状態(ステップST36)における動作例を示すフローチャートである。
ステップST41において、車内通信部114は、通信バス3を通じて自デバイス100B宛のデータを受信する。車内通信部114は、データを受信した場合(ステップST41“YES”)、ステップST42の動作を行い、データを受信していない場合(ステップST41“NO”)、ステップST41の動作を繰り返す。
ステップST42において、車内通信部114は、受信データが更新用データであるか否かを確認する。車内通信部114は、受信データが更新用データである場合(ステップST42“YES”)、更新用データをソフトウェア更新部113へ出力し、ソフトウェア更新部113はステップST43の動作を行う。車内通信部114は、受信データが更新用データでない場合(ステップST42“NO”)、ステップST41の動作を行う。
ステップST43において、ソフトウェア更新部113は、車内通信部114から受け取り済みの更新情報を参照し、自デバイス100Bのソフトウェアの更新に必要な更新用データの個数等を確認する。
ステップST44において、ソフトウェア更新部113は、自デバイス100Bのソフトウェアの更新に必要な全ての更新用データが揃ったか否かを確認する。ソフトウェア更新部113は、全ての更新用データが揃った場合(ステップST44“YES”)、ステップST45の動作を行う。未受信の更新用データが存在する場合(ステップST44“NO”)、車内通信部114がステップST41の動作を行う。
ステップST45において、ソフトウェア更新部113は、自デバイス100Bのソフトウェアの更新に必要な全ての更新用データを用いて、更新情報に含まれる更新順序に従い、自デバイス100Bのソフトウェアを更新する。ソフトウェア更新部113は、更新完了後、最新のソフトウェア情報を車内通信部114へ出力する。車内通信部114は、ソフトウェア情報を、デバイス100Aの車外通信部111を通じてサーバ200へ送信する。
以上のように、実施の形態1に係るソフトウェア更新装置2を構成する複数のデバイス100A~100Eのうちの少なくとも1つのデバイス100Aは、車外通信部111を備える。車外通信部111は、複数のデバイス100A~100Eのうちのソフトウェア更新対象となる更新対象デバイスを示す情報、及び、更新対象デバイスが持つ更新対象ソフトウェアを更新するために用いられる更新用データを生成する元となる生成元ソフトウェアを持つ、複数のデバイス100A~100Eのうちの生成元デバイスを示す情報を含む更新情報を、車外のサーバ200から受信する。複数のデバイス100A~100Eのそれぞれは、更新用データ生成部112と、ソフトウェア更新部113とを備える。更新用データ生成部112は、車外通信部111が受信した更新情報に基づき、自デバイスが生成元デバイスである場合に、自デバイスが持つ生成元ソフトウェアを用いて更新用データを生成する。ソフトウェア更新部113は、車外通信部111が受信した更新情報に基づき、自デバイスが更新対象デバイスである場合に、生成元デバイスが生成した更新用データを用いて自デバイスが持つ更新対象ソフトウェアを更新する。このように、車両1のデバイス100A~100Eのいずれかが更新用データを生成するので、従来のようにサーバ200が更新用データを生成する場合に比べて、サーバ200と車両1とのデータ通信量を削減することができる。また、従来のようにサーバ200が更新用データを生成する場合、車両1の周囲の電波環境が悪い状態では、車両1が更新用データをサーバ200から受信する上で時間がかかる、または受信できない可能性があるため、ソフトウェア更新ができない可能性があった。これに対し、実施の形態1の車両1は、更新用データよりもデータ量が小さい更新情報を受信できれば、ソフトウェア更新ができるため、車両1の周囲の電波環境が悪い状態であってもソフトウェア更新が可能となる。
また、実施の形態1に係るサーバ200は、更新用データ生成判断部211と、更新情報生成部212と、サーバ側通信部214とを備える。更新用データ生成判断部211は、車両1に搭載された複数のデバイス100A~100Eのうち、ソフトウェア更新対象となる更新対象デバイスが持つ更新対象ソフトウェアと、残りのデバイスが持つソフトウェアとを比較して、更新対象デバイスが持つ更新対象ソフトウェアを更新するために用いられる更新用データを、残りのデバイスが持つソフトウェアを元に生成可能か否かを判断する。更新情報生成部212は、更新用データ生成判断部211が更新用データを生成可能と判断したデバイスを、更新用データを生成する元となる生成元ソフトウェアを持つ生成元デバイスとして、生成元デバイスを示す情報及び更新対象デバイスを示す情報を含む更新情報を生成する。サーバ側通信部214は、更新情報生成部212が生成した更新情報を車両1へ送信する。このように、サーバ200が車両1のデバイス100A~100Eのいずれかに更新用データを生成させるので、従来のようにサーバ200が更新用データを生成する場合に比べて、サーバ200と車両1とのデータ通信量を削減することができる。また、従来のようにサーバ200が更新用データを生成する場合、車両1の周囲の電波環境が悪い状態では、車両1が更新用データをサーバ200から受信する時間がかかる、または受信できない可能性があるため、ソフトウェア更新ができない可能性があった。これに対し、実施の形態1のサーバ200は、更新用データよりもデータ量が小さい更新情報を送信するので、車両1の周囲の電波環境が悪い状態であっても車両1にソフトウェア更新をさせることが可能となる。
実施の形態2.
実施の形態2に係るソフトウェア更新システムにおいては、更新用データの一部をデバイス100A~100Eのいずれかが生成可能である場合、その一部をデバイス100A~100Eのいずれかが生成し、残りをサーバ200が生成する。
ここで、生成元デバイスが生成した更新用データの一部を「第1の更新用データ」と呼び、サーバ200が生成した更新用データの残りの部分を「第2の更新用データ」と呼ぶ。
図13は、実施の形態2に係るソフトウェア更新システムの概要を示す図である。図13において図1~図12と同一又は相当する部分は、同一の符号を付し説明を省略する。また、実施の形態2に係るソフトウェア更新装置2及びサーバ200の構成は、実施の形態1の図2~図4に示された構成と図面上は同一であるため、以下では図2~図4を援用する。
図14は、実施の形態2に係るサーバ200の動作例を示すフローチャートである。サーバ200は、デバイス100A~100Eのうちのいずれかのデバイスが持つソフトウェアを更新する指示を外部から受け付けた場合、図14のフローチャートに示される動作を行う。図14のフローチャートに示されるステップST2~ST7の動作は、図5のフローチャートに示されるステップST2~ST7の動作と同様である。
ステップST51において、更新用データ生成判断部211は、更新対象デバイスの更新用データ全てを、更新対象デバイス以外のデバイスのうちの少なくとも1つにより生成可能か否かを判断する。更新対象デバイス以外のデバイスが更新用データ全てを生成可能である場合(ステップST51“YES”)、更新情報生成部212がステップST3の動作を行い、生成不可能である場合(ステップST51“NO”)、更新用データ生成判断部211がステップST52の動作を行う。
ステップST52において、更新用データ生成判断部211は、更新対象デバイスの更新用データの一部を、更新対象デバイス以外のデバイスのうちの少なくとも1つにより生成可能か否かを判断する。更新対象デバイス以外のデバイスが更新用データの一部を生成可能である場合(ステップST52“YES”)、更新情報生成部212がステップST53の動作を行う。更新対象デバイス以外のデバイスが更新用データの一部を生成不可能である場合(ステップST52“NO”)、デバイス100A~100Eのみでは更新用データを生成できないため、更新用データ生成部213がステップST2の動作を行う。
ステップST53において、更新情報生成部212は、第1の更新用データを生成する生成元デバイス宛の更新情報を生成する。この更新情報は、図7に示された更新情報と同様の内容である。サーバ側通信部214は、更新情報生成部212が生成した生成元デバイス宛の更新情報を車外通信部111へ送信する。
ステップST54において、更新用データ生成部213は、更新用データ生成判断部211が管理しているソフトウェア情報に基づき、第2の更新用データを生成する。サーバ側通信部214は、更新用データ生成部213が生成した第2の更新用データを車外通信部111へ送信する。
実施の形態2に係るソフトウェア更新装置2のデバイス100A~100Eは、実施の形態1の図9~図12に示されたフローチャートに従って動作する。
以上のように、実施の形態2の車外通信部111は、サーバ200において更新用データの一部を生成元デバイスが生成可能と判断された場合にサーバ200から送信される、更新対象デバイスを示す情報、及び、更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報を含む第1の更新用データに関する更新情報、並びに、サーバ200により生成された更新用データの残りの部分を受信する。ソフトウェア更新部113は、車外通信部111が受信した更新情報に基づき、生成元デバイスが生成した更新用データの一部と、車外通信部111が受信した更新用データの残りの部分とを用いて、自デバイスが持つ更新対象ソフトウェアを更新する。このように、車両1のデバイス100A~100Eのいずれかが更新用データの少なくとも一部を生成するので、従来のようにサーバ200が更新用データの全てを生成する場合に比べて、サーバ200と車両1とのデータ通信量を削減することができる。
また、実施の形態2の更新用データ生成部213は、更新用データの一部を更新対象デバイス以外のデバイスが持つソフトウェアを元に生成可能であると更新用データ生成判断部211が判断した場合、更新用データの残りの部分を生成する。更新情報生成部212は、更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を生成する。サーバ側通信部214は、更新情報生成部212が生成した更新情報及び更新用データ生成部213が生成した更新用データの残りの部分とを車両1へ送信する。このように、サーバ200が車両1のデバイス100A~100Eのいずれかに更新用データの少なくとも一部を生成させるので、従来のようにサーバ200が更新用データの全てを生成する場合に比べて、サーバ200と車両1とのデータ通信量を削減することができる。
実施の形態3.
実施の形態3に係るソフトウェア更新システムにおいては、サーバ200は、車両1とサーバ200との通信の品質と更新用データのデータ量とに基づき、更新用データを生成する装置を変更する。
図15は、実施の形態3に係るソフトウェア更新装置2の構成例を示す機能ブロック図である。図15において図1~図14と同一又は相当する部分は、同一の符号を付し説明を省略する。なお、実施の形態3に係るサーバ200の構成は、実施の形態1の図2及び図4に示された構成と図面上は同一であるため、以下では図2及び図4を援用する。
複数のデバイス100A~100Eのうち、車外通信部111を備えるデバイス100Aは、通信品質測定部115を備える。通信品質測定部115は、車外通信部111とサーバ側通信部214との通信の品質を測定し、測定した通信品質を示す情報を車外通信部111へ出力する。車外通信部111は、定期的に、通信品質を示す情報をサーバ側通信部214へ送信する。通信品質は、電波強度又は受信ビットレート等である。
実施の形態3におけるソフトウェア更新方法は、以下の2パターンがある。
パターン1:更新用データの全てをサーバ200が生成する。パターン1は、図5及び図14のステップST2,ST4~ST7の動作に相当する。
パターン2:更新用データの一部である第1の更新用データをデバイス100A~100Eのうちの少なくとも1つが生成し、更新用データの残りの部分である第2の更新用データをサーバ200が生成する。パターン2は、図14のステップST53,ST54の動作に相当する。
サーバ200の更新用データ生成判断部211は、上記2パターンのどちらでソフトウェア更新を行うかを、通信品質と更新用データのデータ量とに基づき判断する。
図16は、実施の形態3に係るサーバ200の動作例を示すフローチャートである。サーバ200は、デバイス100A~100Eのうちのいずれかのデバイスが持つソフトウェアを更新する指示を外部から受け付けた場合、図16のフローチャートに示される動作を行う。図16のフローチャートに示されるステップST2~ST7,ST51~ST54の動作は、図14のフローチャートに示されるステップST2~ST7,ST51~ST54の動作と同様である。
デバイス100A~100Eのうちの少なくとも1つが更新用データの一部(つまり、第1の更新用データ)を生成可能である場合(ステップST52“YES”)、ステップST61において、サーバ側通信部214は、車外通信部111が送信した通信品質を示す情報を受信し、この情報を更新用データ生成判断部211へ出力する。更新用データ生成判断部211は、通信品質が予め定められた閾値以上であるか否かを判断する。通信品質が閾値未満である場合、つまり通信品質が低い場合(ステップST61“NO”)、更新用データ生成判断部211は、パターン2を選択する。そして、サーバ200は、ステップST53,ST54の動作を行う。通信品質が低い場合、サーバ200と車両1とのデータ通信量を抑えることが望ましいため、サーバ200は、第1の更新用データをデバイス100A~100Eのいずれかに生成させる。
通信品質が閾値以上である場合、つまり通信品質が高い場合(ステップST61“YES”)、更新用データ生成判断部211は、ステップST62の動作を行う。
ステップST62において、更新用データ生成判断部211は、ソフトウェア情報に基づき、第1の更新用データのデータ量及び第2の更新用データのデータ量を求める。全更新用データ(つまり、第1の更新用データと第2の更新用データ)のデータ量に比べて第2の更新用データのデータ量の方が小さい場合(ステップST62“YES”)、更新用データ生成判断部211は、パターン2を選択する。そして、サーバ200は、ステップST53,ST54の動作を行う。
第2の更新用データのデータ量が全更新用データのデータ量と同じである場合(ステップST62“NO”)、更新情報生成部212は、パターン1を選択する。そして、サーバ200は、ステップST2,ST4~ST7の動作を行う。なお、第2の更新用データのデータ量と全更新用データのデータ量とが厳密に同じである必要はなく、更新用データ生成判断部211は、両データ量の差が予め定められた値以下であれば同じとみなす。
以上のように、実施の形態3において、車外通信部111を備えるデバイス100Aは、サーバ200との通信の品質を測定する通信品質測定部115を備える。車外通信部111は、通信品質測定部115が測定した通信品質を示す情報をサーバ200へ送信する。車外通信部111は、サーバ200において通信品質が予め定められた閾値以上であると判断された場合かつ更新用データ全てのデータ量が残りの部分のデータ量と同じであると判断された場合、サーバ200により生成された更新用データを受信する。一方、車外通信部111は、サーバ200において通信品質が上記閾値以上であると判断された場合かつ更新用データ全てのデータ量に比べて残りの部分のデータ量の方が小さいと判断された場合、更新用データの一部に関する更新情報とサーバ200により生成された更新用データの残りの部分とを受信する。ソフトウェア更新部113は、車外通信部111が更新用データを受信した場合、更新用データを用いて自デバイスが持つ更新対象ソフトウェアを更新する。また、ソフトウェア更新部113は、車外通信部111が更新用データの一部に関する更新情報と更新用データの残りの部分とを受信した場合、生成元デバイスが生成した更新用データの一部と車外通信部111が受信した更新用データの残りの部分とを用いて自デバイスが持つ更新対象ソフトウェアを更新する。通信品質が高い場合、サーバ200が生成した更新用データを車両1が受信する構成であっても、受信に時間がかからず、かつ受信できない可能性もない。そのため、実施の形態3の車両1は、ソフトウェア更新が可能となる。また、全更新用データのデータ量とサーバ200のみが生成可能な第2の更新用データのデータ量とが略同じである場合、車両1がサーバ200から更新用データ全てを受信するので、生成元デバイスに更新用データ生成のための処理負荷がかからない。
また、実施の形態3の車外通信部111は、サーバ200において通信品質が上記閾値未満であると判断された場合にサーバ200から送信される、更新用データの一部に関する更新情報とサーバ200により生成された更新用データの残りの部分とを受信する。ソフトウェア更新部113は、車外通信部111が更新用データの一部に関する更新情報と更新用データの残りの部分とを受信した場合、生成元デバイスが生成した更新用データの一部と車外通信部111が受信した更新用データの残りの部分とを用いて自デバイスが持つ更新対象ソフトウェアを更新する。通信品質が低い場合、車両1が更新用データの一部を生成するので、サーバ200と車両1とのデータ通信量を削減することができる。そのため、実施の形態3の車両1は、車両1の周囲の電波環境が悪い状態であってもソフトウェア更新が可能となる。
また、実施の形態3において、サーバ側通信部214は、車両1において測定された通信品質を示す情報を受信する。更新用データ生成判断部211は、通信品質が予め定められた閾値以上である場合かつ更新用データ全てのデータ量と残りの部分のデータ量とが同じである場合、更新用データを更新用データ生成部213に生成させる。一方、更新用データ生成判断部211は、通信品質が上記閾値以上である場合かつ更新用データ全てのデータ量に比べて残りの部分のデータ量の方が小さい場合、更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び更新対象デバイスを示す情報を含む更新情報を更新情報生成部212に生成させると共に更新用データの残りの部分を更新用データ生成部213に生成させる。通信品質が高い場合、サーバ200が生成した更新用データを車両1が受信する構成であっても、受信に時間がかからず、かつ受信できない可能性もない。そのため、実施の形態3のサーバ200は、車両1にソフトウェア更新を行わせることが可能となる。また、全更新用データのデータ量とサーバ200のみが生成可能な第2の更新用データのデータ量とが略同じである場合、サーバ200が更新用データ全てを送信するので、生成元デバイスに更新用データ生成のための処理負荷がかからない。
また、実施の形態3において、更新用データ生成判断部211は、通信品質が上記閾値未満である場合、更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び更新対象デバイスを示す情報を含む更新情報を更新情報生成部212に生成させると共に更新用データの残りの部分を更新用データ生成部213に生成させる。通信品質が低い場合、サーバ200は、更新用データの一部を車両1に生成させるようにするので、サーバ200と車両1とのデータ通信量を削減することができる。そのため、実施の形態3のサーバ200は、車両1の周囲の電波環境が悪い状態であっても車両1にソフトウェア更新をさせることが可能となる。
なお、上記説明では、更新対象デバイスは1つであったが、複数であってもよい。例えば、車両1に同一ソフトウェアを持つデバイスが複数存在する場合、同一ソフトウェアを持つ複数のデバイスが更新対象デバイスとなる。
本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、各実施の形態の任意の構成要素の変形、又は各実施の形態の任意の構成要素の省略が可能である。
この発明に係るソフトウェア更新システムは、サーバと車両とのデータ通信量を削減するようにしたので、OTAを利用した車載デバイスのソフトウェア更新を行うソフトウェア更新システム等に用いるのに適している。
1 車両、2 ソフトウェア更新装置、3,204 通信バス、100A~100E デバイス、101,201 プロセッサ、102,202 メモリ、103 車外ネットワークIF、104 車内ネットワークIF、111 車外通信部、112 更新用データ生成部、113 ソフトウェア更新部、114 車内通信部、115 通信品質測定部、200 サーバ、203 サーバネットワークIF、211 更新用データ生成判断部、212 更新情報生成部、213 更新用データ生成部、214 サーバ側通信部。

Claims (10)

  1. 車両に搭載された複数のデバイスを含むソフトウェア更新装置であって、
    前記複数のデバイスのうちの少なくとも1つのデバイスは、
    前記複数のデバイスのうちのソフトウェア更新対象となる更新対象デバイスを示す情報、及び、前記更新対象デバイスが持つ更新対象ソフトウェアを更新するために用いられる更新用データを生成する元となる生成元ソフトウェアを持つ、前記複数のデバイスのうちの生成元デバイスを示す情報を含む更新情報を、車外のサーバから受信する車外通信部を備え、
    前記複数のデバイスのそれぞれは、
    前記車外通信部が受信した前記更新情報に基づき、自デバイスが前記生成元デバイスである場合に、前記自デバイスが持つ前記生成元ソフトウェアを用いて前記更新用データを生成する更新用データ生成部と、
    前記車外通信部が受信した前記更新情報に基づき、自デバイスが前記更新対象デバイスである場合に、前記生成元デバイスが生成した前記更新用データを用いて前記自デバイスが持つ前記更新対象ソフトウェアを更新するソフトウェア更新部とを備えることを特徴とするソフトウェア更新装置。
  2. 前記車外通信部が、前記サーバにおいて前記更新用データの一部を前記生成元デバイスが生成可能と判断された場合に前記サーバから送信される、前記更新対象デバイスを示す情報、及び、前記更新用データの一部を生成する元となる生成元ソフトウェアを持つ前記生成元デバイスを示す情報を含む更新情報、並びに、前記サーバにより生成された前記更新用データの残りの部分を受信した場合、
    前記ソフトウェア更新部は、前記車外通信部が受信した前記更新情報に基づき、前記生成元デバイスが生成した前記更新用データの一部と、前記車外通信部が受信した前記更新用データの残りの部分とを用いて、前記自デバイスが持つ前記更新対象ソフトウェアを更新することを特徴とする請求項1記載のソフトウェア更新装置。
  3. 前記車外通信部を備えるデバイスは、前記サーバとの通信の品質を測定する通信品質測定部を備え、
    前記車外通信部は、前記通信品質測定部が測定した通信品質を示す情報を前記サーバへ送信し、前記サーバにおいて前記通信品質が予め定められた閾値以上であると判断された場合かつ前記更新用データ全てのデータ量が前記更新用データの残りの部分のデータ量と同じであると判断された場合に前記サーバから送信される、前記サーバにより生成された前記更新用データを受信し、前記サーバにおいて前記通信品質が前記閾値以上であると判断された場合かつ前記更新用データ全てのデータ量に比べて前記更新用データの残りの部分のデータ量の方が小さいと判断された場合に前記サーバから送信される、前記更新用データの一部に関する更新情報と前記サーバにより生成された前記更新用データの残りの部分とを受信し、
    前記ソフトウェア更新部は、前記車外通信部が前記更新用データを受信した場合、前記更新用データを用いて前記自デバイスが持つ前記更新対象ソフトウェアを更新し、前記車外通信部が前記更新用データの一部に関する更新情報と前記更新用データの残りの部分とを受信した場合、前記生成元デバイスが生成した前記更新用データの一部と前記車外通信部が受信した前記更新用データの残りの部分とを用いて前記自デバイスが持つ前記更新対象ソフトウェアを更新することを特徴とする請求項2記載のソフトウェア更新装置。
  4. 前記車外通信部は、前記サーバにおいて前記通信品質が前記閾値未満であると判断された場合に前記サーバから送信される、前記更新用データの一部に関する更新情報と前記サーバにより生成された前記更新用データの残りの部分とを受信し、
    前記ソフトウェア更新部は、前記車外通信部が前記更新用データの一部に関する更新情報と前記更新用データの残りの部分とを受信した場合、前記生成元デバイスが生成した前記更新用データの一部と前記車外通信部が受信した前記更新用データの残りの部分とを用いて前記自デバイスが持つ前記更新対象ソフトウェアを更新することを特徴とする請求項3記載のソフトウェア更新装置。
  5. 車両に搭載された複数のデバイスのうち、ソフトウェア更新対象となる更新対象デバイスが持つ更新対象ソフトウェアと、残りのデバイスが持つソフトウェアとを比較して、前記更新対象デバイスが持つ前記更新対象ソフトウェアを更新するために用いられる更新用データを、前記残りのデバイスが持つ前記ソフトウェアを元に生成可能か否かを判断する更新用データ生成判断部と、
    前記更新用データ生成判断部が前記更新用データを生成可能と判断したデバイスを、前記更新用データを生成する元となる生成元ソフトウェアを持つ生成元デバイスとして、前記生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を生成する更新情報生成部と、
    前記更新情報生成部が生成した前記更新情報を前記車両へ送信するサーバ側通信部とを備えるサーバ。
  6. 前記更新用データの一部を前記更新対象デバイス以外のデバイスが持つ前記ソフトウェアを元に生成可能であると前記更新用データ生成判断部が判断した場合、前記更新用データの残りの部分を生成する更新用データ生成部を備え、
    前記更新情報生成部は、前記更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を生成し、
    前記サーバ側通信部は、前記更新情報生成部が生成した前記更新情報及び前記更新用データ生成部が生成した前記更新用データの残りの部分とを前記車両へ送信することを特徴とする請求項5記載のサーバ。
  7. 前記サーバ側通信部は、前記車両において測定された通信品質を示す情報を受信し、
    前記更新用データ生成判断部は、前記通信品質が予め定められた閾値以上である場合かつ前記更新用データ全てのデータ量と前記更新用データの残りの部分のデータ量とが同じである場合に前記更新用データを前記更新用データ生成部に生成させ、前記通信品質が前記閾値以上である場合かつ前記更新用データ全てのデータ量に比べて前記更新用データの残りの部分のデータ量の方が小さい場合に前記更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を前記更新情報生成部に生成させると共に前記更新用データの残りの部分を前記更新用データ生成部に生成させることを特徴とする請求項6記載のサーバ。
  8. 前記更新用データ生成判断部は、前記通信品質が前記閾値未満である場合、前記更新用データの一部を生成する元となる生成元ソフトウェアを持つ生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を前記更新情報生成部に生成させると共に前記更新用データの残りの部分を前記更新用データ生成部に生成させることを特徴とする請求項7記載のサーバ。
  9. 請求項1記載のソフトウェア更新装置と、
    請求項5記載のサーバとを備えることを特徴とするソフトウェア更新システム。
  10. サーバが、
    車両に搭載された複数のデバイスのうち、ソフトウェア更新対象となる更新対象デバイスが持つ更新対象ソフトウェアと、残りのデバイスが持つソフトウェアとを比較して、前記更新対象デバイスが持つ前記更新対象ソフトウェアを更新するために用いられる更新用データを、前記残りのデバイスが持つ前記ソフトウェアを元に生成可能か否かを判断し、
    前記更新用データを生成可能と判断したデバイスを、前記更新用データを生成する元となる生成元ソフトウェアを持つ生成元デバイスとして、前記生成元デバイスを示す情報及び前記更新対象デバイスを示す情報を含む更新情報を生成し、
    生成した前記更新情報を前記車両へ送信し、
    前記複数のデバイスのうちの少なくとも1つのデバイスが、
    前記更新情報を前記サーバから受信し、
    前記複数のデバイスのそれぞれが、
    前記複数のデバイスのうちの少なくとも1つのデバイスが受信した前記更新情報に基づき、自デバイスが前記生成元デバイスである場合に、前記自デバイスが持つ前記生成元ソフトウェアを用いて前記更新用データを生成し、
    前記複数のデバイスのうちの少なくとも1つのデバイスが受信した前記更新情報に基づき、自デバイスが前記更新対象デバイスである場合に、前記生成元デバイスが生成した前記更新用データを用いて前記自デバイスが持つ前記更新対象ソフトウェアを更新することを特徴とするソフトウェア更新方法。
JP2021550730A 2019-09-30 2019-09-30 ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法 Active JP7158599B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/038440 WO2021064765A1 (ja) 2019-09-30 2019-09-30 ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法

Publications (2)

Publication Number Publication Date
JPWO2021064765A1 JPWO2021064765A1 (ja) 2021-04-08
JP7158599B2 true JP7158599B2 (ja) 2022-10-21

Family

ID=75337772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021550730A Active JP7158599B2 (ja) 2019-09-30 2019-09-30 ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法

Country Status (5)

Country Link
US (1) US12026500B2 (ja)
JP (1) JP7158599B2 (ja)
CN (1) CN114450664A (ja)
DE (1) DE112019007763T5 (ja)
WO (1) WO2021064765A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7327325B2 (ja) * 2020-08-31 2023-08-16 トヨタ自動車株式会社 車載機器、情報生成方法、情報生成プログラム、および、車両
JP2024032416A (ja) * 2022-08-29 2024-03-12 トヨタ自動車株式会社 通信システム、サーバ、通信システムの制御方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199183A (ja) 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 車両用電子制御装置、プログラム更新方法、サーバ装置
JP2019074800A (ja) 2017-10-12 2019-05-16 日立オートモティブシステムズ株式会社 情報更新装置、情報更新方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269395A (ja) 2007-04-23 2008-11-06 Fujitsu Ten Ltd マルチメディアシステムおよびナビゲーションユニット端末
JP5696018B2 (ja) 2011-09-28 2015-04-08 クラリオン株式会社 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム
JP6369332B2 (ja) * 2015-01-05 2018-08-08 株式会社オートネットワーク技術研究所 車載中継装置
KR101682699B1 (ko) * 2015-04-02 2016-12-07 주식회사 한국토프톤 스피커유니트가 장착된 슬림화된 박스
CN118312196A (zh) * 2015-09-14 2024-07-09 松下电器(美国)知识产权公司 网关装置、车载网络系统以及固件更新方法
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP2019101917A (ja) * 2017-12-06 2019-06-24 クラリオン株式会社 更新装置、更新システム
JP7225596B2 (ja) * 2018-07-30 2023-02-21 トヨタ自動車株式会社 プログラム更新システム、プログラム更新サーバーおよび車両
JP7003976B2 (ja) * 2018-08-10 2022-01-21 株式会社デンソー 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199183A (ja) 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 車両用電子制御装置、プログラム更新方法、サーバ装置
JP2019074800A (ja) 2017-10-12 2019-05-16 日立オートモティブシステムズ株式会社 情報更新装置、情報更新方法

Also Published As

Publication number Publication date
CN114450664A (zh) 2022-05-06
JPWO2021064765A1 (ja) 2021-04-08
US20220253300A1 (en) 2022-08-11
WO2021064765A1 (ja) 2021-04-08
US12026500B2 (en) 2024-07-02
DE112019007763T5 (de) 2022-07-14

Similar Documents

Publication Publication Date Title
JP6941743B2 (ja) 機械学習モデルパッケージの生成および展開
JP7158599B2 (ja) ソフトウェア更新装置、サーバ、ソフトウェア更新システム、及びソフトウェア更新方法
US20230259528A1 (en) Synchronization cache seeding
JP6428652B2 (ja) 車載更新装置、更新システム及び更新処理プログラム
US9015695B2 (en) Information processing apparatus and information processing method
US20220179661A1 (en) Electronic device and method of controlling same
JP5939305B2 (ja) 情報処理装置,並列計算機システム及び情報処理装置の制御方法
US20110131293A1 (en) Data delivery apparatus and data delivery method
US7765363B2 (en) Mask usable for snoop requests
JP6571602B2 (ja) 車両制御装置、車載ネットワークシステム
JP2021144635A (ja) プログラム更新システム、並びに情報処理装置及び情報処理プログラム
WO2020115818A1 (ja) 更新管理装置、更新管理システム及び更新管理方法
US10909270B2 (en) Information processing device, mobile object, information processing method, and computer program product
CN112214224A (zh) 一种dubbo应用级全链路灰度发布方法及系统
WO2019221058A1 (ja) 車載中継装置、通信システム、バス決定方法及びコンピュータプログラム
CN114185572A (zh) 数据的刷写方法、装置、设备及存储介质
JP2007079773A (ja) ソフトウエア配布サーバ及びソフトウエア配布方法
JPH1117714A (ja) アドレス設定方法、及びこのアドレス設定方法が適用される通信システム
JP2007026318A (ja) 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法
JP2022080171A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
CN113742309A (zh) 副本存储方法、装置、存储介质及计算机设备
JP6877487B2 (ja) 機器制御装置、機器制御方法及び機器制御プログラム
JP2019023931A (ja) 車載更新装置、更新システム及び更新処理プログラム
JP7367346B2 (ja) 機器、データ生成プログラム、およびデータ生成方法
JP6502808B2 (ja) 無線通信装置、システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221011

R150 Certificate of patent or registration of utility model

Ref document number: 7158599

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350