(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】ソフトウェアの更新を制御するセンタ
(51)【国際特許分類】
G06F 8/65 20180101AFI20241210BHJP
【FI】
G06F8/65
(21)【出願番号】P 2021134098
(22)【出願日】2021-08-19
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(72)【発明者】
【氏名】石川 智康
(72)【発明者】
【氏名】谷森 俊介
【審査官】今川 悟
(56)【参考文献】
【文献】特開2012-013443(JP,A)
【文献】特開2002-268888(JP,A)
【文献】特開2020-204987(JP,A)
【文献】特開2013-214141(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタであって、
前記車両及び前記車両に紐付いた情報端末との間で通信を行う通信部と、
前記車両に紐付いた情報端末から、前記車両のユーザーに関する情報を取得する取得部と、
前記取得部が取得した前記情報に基づいて、前記車両のユーザーに対応するユーザー種別を判定する判定部と、
前記ソフトウェアの更新対象となる車両について前記判定部が判定した前記ユーザー種別に基づいて、前記ソフトウェアの更新に関する説明を前記車両に配信する制御部と、を備え
、
前記制御部は、
前記ユーザー種別が標準的なユーザーを示すものである場合、第1の文字サイズ及び第1の図表を用いた前記ソフトウェアの更新に関する説明を前記車両に配信し、
前記ユーザー種別が前記標準的なユーザーと比較して細かい文字が見辛いユーザーを示すものである場合、前記第1の文字サイズよりも大きい第2の文字サイズ及び前記第1の図表よりも視覚的に分かり易い第2の図表を用いた前記ソフトウェアの更新に関する説明を前記車両に配信し、
前記ユーザー種別が前記標準的なユーザーと比較して前記車両やスマートフォンの操作に慣れたユーザーを示すものである場合、前記第1の文字サイズよりも小さい第3の文字サイズ及び前記第1の図表よりも表示面積が小さい第3の図表を用いた前記ソフトウェアの更新に関する説明を前記車両に配信する、センタ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタに関する。
【背景技術】
【0002】
車両には、車両の動作を制御するための複数の電子制御ユニット(ECU:Electronic Control Unit)が搭載されている。電子制御ユニットは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部である不揮発性メモリとを備え、プロセッサが不揮発性メモリに記憶されるソフトウェアを実行することにより電子制御ユニットの制御機能を実現する。各電子制御ユニットが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各電子制御ユニットの機能を改善したり、新たな車両制御機能を追加したりすることができる。
【0003】
電子制御ユニットのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネットなどの通信ネットワークとを無線で接続し、車両のソフトウェアの更新処理を担う装置が、無線通信を介してサーバーからソフトウェアをダウンロードし、ダウンロードしたソフトウェアを電子制御ユニットに書き込んでインストールし、インストールしたソフトウェアを有効化するアクティベートを行うことにより、電子制御ユニットのソフトウェアの更新や追加を行うOTA(Over The Air)技術が知られている。例えば、特許文献1を参照。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
OTAを用いたソフトウェア更新では、ヒューマンマシンインターフェイス(HMI)などを用いて、センタが車両のユーザーや管理者などに対してソフトウェア更新に関する説明を事前に行う必要があるものがある。しかしながら、ソフトウェア更新に関する説明としては、全ての車両のユーザーや管理者などに対して一律に設定された内容(用語、サイズ、図表など)が用いられるため、その説明が一部のユーザーや管理者などに対して適切ではないおそれがあった。
【0006】
本開示は、上記課題を鑑みてなされたものであり、車両のユーザーや管理者などに対してソフトウェア更新に関する説明を適切に行うことができるセンタを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示技術の一態様は、車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタであって、車両及び車両に紐付いた情報端末との間で通信を行う通信部と、車両に紐付いた情報端末から、車両のユーザーに関する情報を取得する取得部と、取得部が取得した情報に基づいて、車両のユーザーに対応するユーザー種別を判定する判定部と、ソフトウェアの更新対象となる車両について判定部が判定したユーザー種別に基づいて、ソフトウェアの更新に関する説明を車両に配信する制御部と、を備える、センタである。
【発明の効果】
【0008】
本開示のセンタによれば、車両のユーザーや管理者などに対してソフトウェア更新に関する説明を適切に行うことができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係るネットワークシステムの全体構成を示すブロック図
【
図6】センタが行うユーザー種別を設定する処理のフローチャート
【
図7】センタが行うソフトウェア更新に関する説明の配信処理のフローチャート
【発明を実施するための形態】
【0010】
本開示による車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタは、ユーザーに関する情報に基づいて設定したユーザー種別に従って、車両のユーザーや管理者などに対してソフトウェア更新に関する説明を行う。これにより、ソフトウェア更新に関する説明を車両のユーザーや管理者などに対して適切に行うことができる。
以下、本開示の一実施形態について、図面を参照しながら詳細に説明する。
【0011】
<実施形態>
[システム構成]
図1は、本開示の一実施形態に係るネットワークシステムの全体構成を示すブロック図である。
図1に示すネットワークシステムは、車両に搭載された複数の電子制御ユニット(ECU)50a~50dのソフトウェアを更新するためのシステムであり、車両外にあるセンタ10と、車両内に構築される車載ネットワーク90と、車両と紐付いた情報端末95と、を備える。
【0012】
(1)センタ
センタ10は、ネットワーク100を介して車載ネットワーク90が備える後述のOTAマスタ30と通信可能であり、車両のユーザーや管理者などに対するソフトウェア更新があることの通知やソフトウェア更新についての説明などの送信や、電子制御ユニット50a~50dのソフトウェアの更新データ及び更新処理の手順を定義した情報の送信や、ソフトウェア更新処理の進捗状況を示す通知の受信などを行って、OTAマスタ30に接続された複数の電子制御ユニット50a~50dのソフトウェア更新を制御及び管理することができる。このセンタ10は、いわゆるサーバーとしての機能を有する。また、センタ10は、ネットワーク100を介して情報端末95と通信可能であり、車両のユーザーや管理者などによって行われた情報端末95に対する操作などを含むユーザーの好み、生活様式、癖などに関する様々な情報(以下「ユーザーに関する情報」という)を、受信することができる。
【0013】
図2は、
図1におけるセンタ10の概略構成を示すブロック図である。
図2で示すように、センタ10は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、記憶装置13と、通信装置14と、を備える。記憶装置13は、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの読み書き可能な記憶媒体を備えた装置であり、ソフトウェアの更新管理を実行するためのプログラム、ソフトウェアの更新制御及び更新管理に用いる情報、及び各電子制御ユニットのソフトウェアの更新データなどを記憶する。センタ10において、CPU11は、記憶装置13から読み出したプログラムを、RAM12を作業領域として用いて実行することにより、ソフトウェア更新に関する所定の処理を実行する。通信装置14は、ネットワーク100を介してOTAマスタ30や情報端末95と通信を行うための装置である。
【0014】
図3は、
図2に示したセンタ10の機能ブロック図である。
図3で示すセンタ10は、記憶部16と、通信部17と、制御部18と、取得部19と、判定部20と、を備える。記憶部16は、
図2に示した記憶装置13によって実現される。通信部17、制御部18、取得部19、及び判定部20は、
図2に示したCPU11がRAM12を用いて記憶装置13に記憶されるプログラムを実行することによって実現される。
【0015】
記憶部16は、車両に搭載された1つ以上の電子制御ユニットのソフトウェア更新処理に関する情報を記憶する。ソフトウェア更新処理に関する情報として、記憶部16は、車両を識別する車両識別情報(車両ID)ごとに、電子制御ユニット50a~50dで利用可能なソフトウェアを示す情報を関連付けた更新管理情報と、電子制御ユニット50a~50dのソフトウェアの更新データとを、少なくとも記憶する。電子制御ユニット50a~50dで利用可能なソフトウェアを示す情報としては、例えば、複数の電子制御ユニット50a~50dの各ソフトウェアの最新のバージョン情報の組み合わせが定義される。ソフトウェア更新処理に関する情報として、記憶部16は、車両で実施されているソフトウェアの更新状態を示す更新ステータスを記憶することができる。また、ソフトウェア更新処理に関する情報として、記憶部16は、OTAマスタ30に対して制御の指示を行うための、ソフトウェア更新処理の手順を示した更新シーケンスに関する情報を記憶することができる。また、記憶部16は、後述する判定部20が判定するユーザー種別に対応するユーザー種別情報を記憶することができる。
【0016】
図8に、センタ10の記憶部16が記憶するユーザー種別情報の一例の概要を示す。このユーザー種別情報は、OTAを用いたソフトウェア更新の際に、車両のユーザーや管理者などに対して事前に行うソフトウェア更新に関する説明の態様を定義した情報である。ソフトウェア更新に関する説明の態様は、説明対象として想定される車両のユーザーや管理者などに応じて区分される種別ごとに、それぞれ異なる内容が定められている。
図8の例では、種別「2」が平均的なユーザーなど(標準者)を対象として定義されるユーザー種別であり、ソフトウェア更新に関する説明の態様としては、一般的に標準とされる内容(任意に設定可能であり、その説明は省略)が定義される。種別「1」は、例えば種別「2」の標準者と比較して細かい文字が見辛い者(例えば高齢者)などを対象として定義されるユーザー種別であり、ソフトウェア更新に関する説明の態様としては、種別「2」の内容と比べて、説明の内容を簡略(要約化)したり、車両の専門用語を使用しなかったり(又は使用頻度を少なくしたり)、文字サイズを大きくしたり、視覚的に分かり易い図表を多く用いたり、することなどが設定されている。種別「3」は、例えば種別「2」の標準者と比較して車両やITに詳しい者(例えば専門家)やスマートフォンの操作に慣れた者(例えば若年者)などを対象として定義されるユーザー種別であり、ソフトウェア更新に関する説明の態様としては、種別「2」の内容と比べて、説明の内容を詳細に(専門化)したり、車両の専門用語を多く使用したり、文字サイズを小さくしたり、表示面積をとる図表は少なめに用いたり、することなどが設定されている。なお、ユーザー種別情報は、更新ソフトウェアごとに異なる内容が設定されてもよい。また、記憶部16は、
図8に示したようなソフトウェア更新に関する説明の態様を定義したユーザー種別情報の形式ではなく、そのユーザー種別情報の定義を反映して予め生成した説明用データ(HMIデータなど)そのものを記憶してもよい。
【0017】
通信部17は、OTAマスタ30(車両)との間や情報端末95との間で、データ、情報、通知、及び要求などの送信及び受信を行う送信部及び受信部として機能する。通信部17は、OTAマスタ30からソフトウェアの更新確認要求を受信する(受信部)。更新確認要求は、例えば、車両において電源又はイグニッションがオンされた(以下「電源ON」という)ときに、OTAマスタ30からセンタ10へと送信される情報であって、後述する車両構成情報に基づいて電子制御ユニット50a~50dの更新データがあるか否かの確認をセンタ10に要求するための情報である。また、通信部17は、OTAマスタ30から受信した更新確認要求に応答して、更新データの有無を示す情報をOTAマスタ30に送信する(送信部)。また、通信部17は、OTAマスタ30からの配信パッケージの送信要求(ダウンロード要求)を受信する(受信部)。また、通信部17は、配信パッケージのダウンロード要求を受信すると(受信部)、後述する制御部18で生成される電子制御ユニット50a~50dのソフトウェアの更新データなどを含む配信パッケージを、OTAマスタ30に送信する(送信部)。また、通信部17は、車両に紐付いた情報端末95のユーザーに関する情報を、情報端末95から直接又は車両経由で間接的に受信する(受信部)。また、通信部17は、制御部18の指示に基づいて、後述する判定部20で判定されたユーザー種別に応じたソフトウェアの更新に関する説明を車両に送信する(送信部)。
【0018】
制御部18は、通信部17がOTAマスタ30から更新確認要求を受信すると、記憶部16に記憶されている更新管理情報に基づいて、更新確認要求に含まれる車両IDで特定される車両に搭載された電子制御ユニット50a~50dについてソフトウェアの更新データがあるか否かを判定する。制御部18による更新データがあるか否かの判定結果は、通信部17によってOTAマスタ30に送信される。制御部18は、電子制御ユニット50a~50dのソフトウェアの更新データがあると判定した場合、OTAマスタ30から配信パッケージのダウンロード要求を受信すると、記憶部16に記憶されている該当する更新データなどを含む1つ又は複数の配信パッケージを生成する。また、制御部18は、判定部20が判定したユーザー種別に基づいて、ソフトウェアの更新に関する説明のためのデータを取得又は生成する。ソフトウェアの更新に関する説明のためのデータは、更新データなどと一緒に配信パッケージに含めてもよい。
【0019】
取得部19は、車両のユーザーに関する情報を、通信部17を介して情報端末95から直接又は車両経由(WiFi-DCM経由など)で間接的に取得する。取得部19は、車両のユーザーに関する情報と共に送信される情報端末95の識別IDなどの固有の情報(ユーザー識別情報)に基づいて、どの情報端末95からのユーザーに関する情報かを判断することができる。取得部19がユーザーに関する情報を取得するタイミングや周期などは任意に設定することが可能であり、その取得方式はプッシュ型及びプル型のいずれであってもよい。このユーザーに関する情報には、情報端末95を利用してユーザーが視聴や操作している内容(動画像、音楽、メールなど)、ユーザーの話し言葉(通話、メッセージなど)の情報が、少なくとも含まれる。
【0020】
判定部20は、取得部19が取得した車両のユーザーに関する情報に基づいて、車両のユーザーや管理者などに対応するユーザー種別を判定する。ユーザーに関する情報は、情報端末95の固有の情報に基づいて、情報端末95ごとに蓄積されて、ユーザー種別の判定のために分析/解析が行われる。ユーザー種別の判定方法としては、例えば、表示文字を大きくして情報端末95を操作しているという情報が多い(又は頻度が高い)場合や、テキストで記載されたホームページを閲覧しているという情報が多い場合には、その情報を送信してきたユーザーや管理者などのユーザー種別を「1」と判定することができる。また、例えば、スクロール、フリック、及びスワイプなどを多用して情報端末95を操作しているという情報が多い場合や、音楽配信サイトや動画配信サイトを閲覧しているという情報が多い場合には、その情報を送信してきたユーザーや管理者などのユーザー種別を「3」と判定することができる。そして、ユーザー種別「1」及び「3」のいずれにも該当しない、ユーザーや管理者などのユーザー種別を「2」と判定することができる。判定部20が判定したユーザー種別は、車両及び/又はユーザー識別情報(情報端末95)と紐付けられて記憶部16に記憶される。
【0021】
(2)情報端末
情報端末95は、車両のユーザーや管理者が所有するスマートフォン、パソコン、ネットワークカメラ(見守りカメラ)、及びスマートスピーカーなどの装置である。この情報端末95は、ネットワーク100を介して直接又は車両を経由して間接的に、センタ10と通信可能に接続される。本実施形態の情報端末95は、情報端末95を利用するユーザーなどが視聴や操作している内容(動画像、音楽、メールなど)や、ユーザーなどの話し言葉(通話、メッセージなど)の情報であるユーザーに関する情報(生データ又は加工データ)を、センタ10に送信する。この情報端末95は、固有の情報(端末IDなど)が車両に登録管理されることなどによって車両と紐付けられている。また、この情報端末95は、固有の情報(端末IDなど)がユーザー識別情報(ユーザーIDなど)と紐付けられている。なお、ユーザーIDは端末IDと同じであってもよい。車両やユーザー識別情報と紐付けられる情報端末95は、1つに限られず複数であっても構わない。
【0022】
(3)車載ネットワーク
車載ネットワーク90は、OTAマスタ30と、複数の電子制御ユニット50a~50dと、表示装置70と、通信モジュール80と、を備える。OTAマスタ30と通信モジュール80とは、バス60aを介して接続されている。OTAマスタ30と電子制御ユニット50a及び50bとは、バス60bを介して接続されている。OTAマスタ30と電子制御ユニット50c及び50dとは、バス60cを介して接続されている。OTAマスタ30と表示装置70とは、バス60dを介して接続されている。
【0023】
OTAマスタ30は、バス60a及び通信モジュール80を介してネットワーク100経由でセンタ10と無線による通信が可能である。また、OTAマスタ30は、バス60b~60dを介して電子制御ユニット50a~50d及び表示装置70と有線による通信が可能である。このOTAマスタ30は、OTA状態を管理し、ソフトウェア更新処理の流れである更新シーケンスを制御して更新対象となる電子制御ユニット(以下「ターゲット電子制御ユニット」という)のソフトウェア更新を実施する機能を有する装置である。OTAマスタ30は、センタ10から取得した更新データなどに基づき、電子制御ユニット50a~50dのうちターゲット電子制御ユニットのソフトウェア更新を制御する。また、OTAマスタ30は、センタ10から受信するソフトウェアの更新に関する情報や通知に基づいて、表示装置70に適切な画面表示を制御することができる。OTAマスタ30は、セントラルゲートウェイ(CGW)と称される場合もある。
【0024】
図4は、
図1におけるOTAマスタ30の概略構成を示すブロック図である。
図4で示すように、OTAマスタ30は、CPU31と、RAM32と、ROM(Read-Only Memory)33と、記憶装置34と、通信装置36と、を備える。CPU31、RAM32、ROM33、及び記憶装置34は、マイクロコンピューター35を構成する。OTAマスタ30において、CPU31は、ROM33から読み出したプログラムを、RAM32を作業領域として用いて実行することにより、ソフトウェア更新に関する所定の処理を実行する。通信装置36は、
図1に示したバス60a~60dを介して、通信モジュール80、電子制御ユニット50a~50d、及び表示装置70のそれぞれと通信を行うための装置である。
【0025】
図5は、
図4に示したOTAマスタ30の機能ブロック図である。
図5に示すOTAマスタ30は、記憶部37と、通信部38と、制御部39と、を備える。記憶部37は、
図4に示した記憶装置34によって実現される。通信部38及び制御部39は、
図4に示したCPU31がRAM32を用いてROM33に記憶されるプログラムを実行することによって実現される。
【0026】
記憶部37は、複数の電子制御ユニット50a~50dのソフトウェア更新を実行するためのプログラム(OTAマスタ30の制御用プログラム)や、ソフトウェア更新を実行する際に用いる各種データの他、センタ10からダウンロードしたソフトウェアの更新データなどを記憶する。また、記憶部37は、複数の電子制御ユニット50a~50dのそれぞれに搭載される不揮発性メモリの種別に関する情報を記憶することができる。また、記憶部37は、車両と紐付けられている情報端末95の情報(端末IDなど)を記憶することができる。
【0027】
通信部38は、センタ10との間で、データ、情報、通知、及び要求などの送信及び受信を行う送信部及び受信部として機能する。通信部38は、例えば、車両の電源ONを契機として、ソフトウェアの更新確認要求をセンタ10に送信する(送信部)。更新確認要求は、例えば、車両を識別するための車両IDと、車載ネットワーク90に接続される電子制御ユニット50a~50dのソフトウェアの現バージョンに関する情報とを含む。車両ID及び電子制御ユニット50a~50dのソフトウェアの現バージョンは、センタ10が車両IDごとに保持するソフトウェアの最新バージョンとの比較により、電子制御ユニット50a~50dのソフトウェアの更新データがあるか否かを判定するために用いられる。また、通信部38は、更新確認要求に対する応答としてセンタ10から更新データの有無を示す通知を受信する(受信部)。電子制御ユニット50a~50dのソフトウェアの更新データがある場合、通信部38は、ソフトウェアの更新データなどを含む配信パッケージのダウンロード要求をセンタ10に送信し(送信部)、センタ10から送信される配信パッケージを受信(ダウンロード)する(受信部)。また、通信部38は、電子制御ユニット50a~50dが送信するソフトウェアの更新状態を、センタ10に送信する(送信部)。また、通信部38は、制御部39の指示に基づいて、ソフトウェアの更新に関する情報やその情報の送信に関する通知、ソフトウェアの更新状態を、表示装置70に表示させることができる。
【0028】
制御部39は、通信部38が受信した更新確認要求に対するセンタ10からの応答に基づいて、電子制御ユニット50a~50dのソフトウェアの更新データがあるか否かを判定する。また、制御部39は、通信部38がセンタ10から配信パッケージで受信(ダウンロード)して記憶部37に格納した更新データの真正性を検証する。また、制御部39は、センタ10からダウンロードした更新データを用い、電子制御ユニット50a~50dのソフトウェア更新処理(インストール、アクティベートなど)を制御する。具体的には、制御部39は、ダウンロードした更新データをターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットに更新データに基づく更新ソフトウェアをインストールさせる。インストールの完了後、制御部39は、ターゲット電子制御ユニットに対して、インストールした更新ソフトウェアを有効化させるアクティベートを指示する。
【0029】
複数の電子制御ユニット50a~50dは、車両の各部の動作を制御するための装置(ECU)である。
図1においては、車載ネットワーク90が4つの電子制御ユニット50a~50dを備えている例を示したが、電子制御ユニットの個数は特に限定されない。また、電子制御ユニット50a~50dをOTAマスタ30に接続するバスの本数も特に限定されない。
【0030】
表示装置70は、電子制御ユニット50a~50dのソフトウェアの更新処理時に更新データがあることの表示、ユーザー種別に基づいたソフトウェア更新についての説明などの表示、車両のユーザーや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、及びソフトウェア更新の結果や状態の表示など、各種の表示を行うために用いられる装置である。表示装置70としては、典型的にはカーナビゲーションシステムの表示装置を用いることができる。本実施形態では、センタ10から送信される情報や通知を、表示装置70がOTAマスタ30経由で受信する場合を説明したが、OTAマスタ30を介さず通信モジュール80から直接あるいは通信モジュール80ではなく図示しない他の通信機器(WiFi-DCMなど)を介して直接表示装置70が受信してもよい。なお、
図1に示すバス60dには、表示装置70に加えて電子制御ユニットなどがさらに接続されていてもよい。
【0031】
通信モジュール80は、センタ10と車両との通信を制御する機能を持ったユニットであり、車載ネットワーク90をセンタ10に接続するための通信機器である。通信モジュール80は、ネットワーク100経由でセンタ10と無線で接続され、OTAマスタ30による車両の認証や更新データのダウンロードなどが行われる。この通信モジュール80は、OTAマスタ30に含まれて構成されてもよい。
【0032】
[ソフトウェア更新処理の概要]
OTAマスタ30は、例えば、車両の電源ONを契機として、ソフトウェアの更新確認要求をセンタ10に送信する。更新確認要求は、車両を識別するための車両IDと、車載ネットワーク90に接続される電子制御ユニット50a~50dのハードウェア及びソフトウェアの現バージョンなどの電子制御ユニットの状態(システム構成)に関する情報である車両構成情報と、を含む。車両構成情報は、車載ネットワーク90に接続される電子制御ユニット50a~50dから電子制御ユニットの識別番号(ECU_ID)と、電子制御ユニットのソフトウェアバージョンの識別番号(ECU_Software_ID)とを、取得することで作成可能である。車両ID及び電子制御ユニット50a~50dのソフトウェアの現バージョンは、センタ10が車両IDごとに保持するソフトウェアの最新バージョンとの比較により、電子制御ユニット50a~50dのソフトウェアの更新データがあるか否かを判定するために用いられる。センタ10は、OTAマスタ30から受信した更新確認要求に対する応答として、更新データの有無を示す通知やソフトウェアの更新に関する情報などをOTAマスタ30に送信する。電子制御ユニット50a~50dのソフトウェアの更新データがある場合、OTAマスタ30は、配信パッケージのダウンロード要求をセンタ10に送信する。センタ10は、OTAマスタ30から受信したダウンロード要求に応じて、更新データなどを含む配信パッケージをOTAマスタ30に送信する。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、種別情報、ソフトウェア更新時に用いる各種の制御情報などを含んでいてもよい。
【0033】
OTAマスタ30は、センタ10から受信した更新確認要求に対する応答に基づいて、電子制御ユニット50a~50dのソフトウェアの更新データがあるか否かを判定する。また、OTAマスタ30は、センタ10から受信して記憶装置13に格納した配信パッケージの真正性を検証する。また、OTAマスタ30は、配信パッケージでダウンロードした更新データをターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットに更新データをインストールさせる。インストールの完了後、OTAマスタ30は、ターゲット電子制御ユニットに対して、インストールさせた更新版のソフトウェアを有効とするアクティベートを行うように指示をする。
【0034】
また、センタ10は、承諾要求処理において、ソフトウェアの更新を説明する情報、ソフトウェア更新に対して承諾が必要である旨の通知やソフトウェア更新を承諾した旨の入力を促す通知を、出力装置に出力させる。出力装置としては、車載ネットワーク90に設けられた表示装置70や情報端末95などを利用できる。例えば、承諾要求処理において、車両のユーザーや管理者などに対して事前に説明すべき情報を表示装置70の画面で表示することが可能であれば、表示装置70が出力装置として用いられる。表示装置70を出力装置として用いる場合、OTAマスタ30は、ソフトウェアの更新に関する情報、ユーザー又は管理者にソフトウェア更新の承諾を求めるための承諾要求画面、ユーザー又は管理者が承諾する場合には承諾ボタンを押下するなどの特定の入力操作を促す通知などを、表示装置70に表示させることができる。センタ10は、OTAマスタ30を介して、ユーザーや管理者などから承諾した旨の入力を受け付けると、OTAマスタ30に対して上述したインストール及びアクティベートの制御処理の実行を指示し、ターゲット電子制御ユニットのソフトウェアを更新する。
【0035】
ここで、ターゲット電子制御ユニットの不揮発性メモリが、ソフトウェアなどのデータを格納するための1つの格納領域を有するシングルバンクメモリである場合は、原則的にインストールとアクティベートとがひと続きに行われるため、インストールの実行前に、ソフトウェア更新に対する承諾要求処理が行われる。なお、シングルバンクメモリのターゲット電子制御ユニットであっても、センタ10から指示される更新シーケンスに関する情報によっては、インストール完了の状態で更新処理を一時的に停止、つまりアクティベートを保留(待機)することが要求されることもあり得る。また、ターゲット電子制御ユニットの不揮発性メモリが、ソフトウェアなどのデータを格納するための2つの格納領域を有するデュアルバンクメモリである場合は、少なくとも、インストールの実行後かつアクティベートの実行前に、ソフトウェア更新に対する承諾要求処理が行われる。なお、ターゲット電子制御ユニットの不揮発性メモリがデュアルバンクメモリである場合には、インストール実行前のソフトウェアの更新に対する承諾要求処理は、行われてもよいし、省略されてもよい。
【0036】
ソフトウェア更新処理は、OTAマスタ30がセンタ10から更新データをダウンロードするフェーズ(ダウンロードフェーズ)、ダウンロードした更新データをOTAマスタ30がターゲット電子制御ユニットに転送し、ターゲット電子制御ユニットの格納領域に更新データに基づく更新ソフトウェアをインストールするフェーズ(インストールフェーズ)、及びターゲット電子制御ユニットがインストールした更新ソフトウェアを有効化するフェーズ(アクティベートフェーズ)からなる。
【0037】
ダウンロードは、OTAマスタ30が、センタ10から配信パッケージによって送信された電子制御ユニットのソフトウェアを更新するための更新データを、受信して記憶部37に記憶する処理である。ダウンロードによる更新データの受信については、ダウンロードフェーズでは、ダウンロードの実行だけでなく、ダウンロードの実行可否判断、更新データの検証など、ダウンロードに関する一連の処理の制御を含む。
【0038】
センタ10からOTAマスタ30に送信される更新データは、電子制御ユニットの更新ソフトウェア(全データ又は差分データ)、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェア又は圧縮データを分割した分割データのいずれを含んでいてもよい。また、更新データは、ターゲット電子制御ユニットのECU_ID(又はシリアル番号)と、更新前のターゲット電子制御ユニットのECU_Software_IDとを、含んでいてもよい。更新データは、上述した配信パッケージとしてダウンロードされるが、配信パッケージには、単一の電子制御ユニット又は複数の電子制御ユニットの更新データが含まれる。
【0039】
インストールは、OTAマスタ30が、センタ10からダウンロードした更新データに基づいて、ターゲット電子制御ユニットの不揮発性メモリに更新ソフトウェア(更新版のプログラム)を書き込む処理である。インストールフェーズでは、インストールの実行だけでなく、インストールの実行可否判断、更新データの転送及び更新ソフトウェアの検証など、インストールに関する一連の処理の制御を含む。
【0040】
更新データが更新ソフトウェアそのもの(全データ)を含む場合は、インストールフェーズにおいて、OTAマスタ30が更新データ(更新ソフトウェア)をターゲット電子制御ユニットに転送する。また、更新データが更新ソフトウェアの圧縮データ、又は差分データ、あるいは分割データを含む場合は、OTAマスタ30がターゲット電子制御ユニットに更新データを転送し、ターゲット電子制御ユニットが更新データから更新ソフトウェアを生成してもよいし、OTAマスタ30が更新データから更新ソフトウェアを生成してから、更新ソフトウェアをターゲット電子制御ユニットに転送してもよい。ここで、更新ソフトウェアの生成は、圧縮データの解凍や、差分データ又は分割データの組み付け(統合)により行うことができる。
【0041】
更新ソフトウェアのインストールは、OTAマスタ30からのインストール要求に基づいて、ターゲット電子制御ユニットが行うことができる。なお、更新データを受信した特定のターゲット電子制御ユニットについては、OTAマスタ30からの明示の指示を受けることなく、自律的にインストールを行ってもよい。
【0042】
アクティベートは、ターゲット電子制御ユニットが、自身の不揮発性メモリにインストールした更新ソフトウェアを有効化(アクティベート)する処理である。アクティベートフェーズでは、アクティベートの実行だけでなく、アクティベートの実行可否判断、アクティベートに対する車両のユーザー又は管理者への承諾要求、実行結果の検証など、アクティベートに関する一連の制御を含む。
【0043】
更新ソフトウェアのアクティベートは、OTAマスタ30からのアクティベート要求に基づいて、ターゲット電子制御ユニットが行うことができる。なお、更新データを受信した特定のターゲット電子制御ユニットについては、OTAマスタ30からの明示の指示を受けることなく、インストールの完了後に自律的にアクティベートを行ってもよい。
【0044】
なお、ソフトウェア更新処理は、複数のターゲット電子制御ユニットのそれぞれに対して、連続的あるいは並列的に行うことができる。
【0045】
また、本明細書における「ソフトウェア更新処理」は、ダウンロード、インストール、及びアクティベートの全てを連続して行う処理だけでなく、ダウンロード、インストール、及びアクティベートのうちの一部のみを行う処理も含む。
【0046】
[処理]
次に、
図6及び
図7をさらに参照して、本実施形態のネットワークシステムにおいて実行されるソフトウェア更新に関連する処理を説明する。
【0047】
図6は、センタ10が、情報端末95から取得するユーザーに関する情報に基づいて、車両又は情報端末95に紐付けるユーザー種別を設定する処理の一例を説明するフローチャートである。この
図6に示す処理は、センタ10が、任意の情報端末95からユーザーに関する情報を取得すると開始される。
【0048】
(ステップS601)
センタ10は、ユーザーに関する情報を送信してきた情報端末95を使用するユーザーや管理者など(以下「情報端末95の使用者」という)を特定する。情報端末95の使用者は、情報と共に送信されてくる情報端末95の端末IDなどの固有の情報に基づいて、予め情報端末95と紐付けて管理登録されている車両やユーザー識別情報などによって特定することができる。情報端末95の使用者が特定されると、ステップS602に処理が進む。
【0049】
(ステップS602)
センタ10は、上記ステップS601で特定した情報端末95の使用者について取得したユーザーに関する情報が、十分に蓄積されたか否かを判断する。情報が十分に蓄積されたとは、例えば、蓄積された複数の情報を分析/解析することによって情報端末95の使用者に好適な更新ソフトウェアの説明の仕方を予測するに足りるだけの情報蓄積が行われたことを意味する。情報端末95の使用者についてユーザーに関する情報が十分に蓄積された場合は(ステップS602、はい)、ステップS603に処理が進む。一方、情報端末95の使用者についてユーザーに関する情報がまだ十分に蓄積されていない場合は(ステップS602、いいえ)、本処理が終了する。
【0050】
(ステップS603)
センタ10は、蓄積されたユーザーに関する情報に基づいて、情報端末95の使用者に対応するユーザー種別を判定する。ユーザー種別の判定は、上述の判定部20において説明したように、使用者の見た内容や話した内容など、使用者の嗜好や生活様式などに基づいて行うことが可能である。情報端末95の使用者のユーザー種別が判定されると、ステップS604に処理が進む。
【0051】
(ステップS604)
センタ10は、上記ステップS603で判定したユーザー種別を、上記ステップS601で特定した情報端末95の使用者のユーザー種別(あるいは、情報端末95の使用者と紐付けられた車両のユーザー種別)として設定する。ユーザー種別が設定されると、本処理が終了する。
【0052】
上述したステップS601~S604の処理をセンタ10が繰り返し実施することによって、車両のユーザーや管理者などに好適なソフトウェア更新に関する説明の態様を定めるユーザー種別が設定される。
【0053】
図7は、センタ10が行うユーザー種別に基づいたソフトウェア更新に関する説明を配信する処理の一例を説明するフローチャートである。この
図7に示す処理は、例えば、センタ10がOTAマスタ30からダウンロード要求を受信するなど、ソフトウェアの更新に関する要求が車両から発生すると開始される。
【0054】
(ステップS701)
センタ10は、ソフトウェアの更新を要求する車両を特定する。この車両の特定は、例えば、要求と共に送信される車両を識別するための車両識別情報(車両ID)によって可能である。ソフトウェアの更新を要求する車両が特定されると、ステップS702に処理が進む。
【0055】
(ステップS702)
センタ10は、上記ステップS701で特定した車両に設定されている(紐付けされている)ユーザー種別を判定する。具体例としては、センタ10は、車両に設定されているユーザー種別が標準であるか標準以外であるかを判定する。
図8に例示したユーザー種別情報であれば、ユーザー種別が「2」であれば標準と判定され、ユーザー種別が「1」又は「3」であれば標準以外と判定される。車両に設定されているユーザー種別が標準である場合は(ステップS702、標準)、ステップS703に処理が進む。一方、車両に設定されているユーザー種別が標準以外である場合は(ステップS702、標準以外)、ステップS704に処理が進む。
【0056】
(ステップS703)
センタ10は、特定した車両のユーザーや管理者などに好適なソフトウェア更新に関する説明の態様として、予め定めた標準(デフォルト)のソフトウェア更新に関する説明を選択する。
図8に例示したユーザー種別情報であれば、ユーザー種別「2」の態様による説明が選択される。標準のソフトウェア更新に関する説明が選択されると、ステップS705に処理が進む。
【0057】
(ステップS704)
センタ10は、特定した車両のユーザーや管理者などに好適なソフトウェア更新に関する説明の態様として、判定したユーザー種別に基づいたソフトウェア更新に関する説明を選択する。
図8に例示したユーザー種別情報であれば、ユーザー種別「1」又は「3」の態様による説明が選択される。判定したユーザー種別に基づいたソフトウェア更新に関する説明が選択されると、ステップS705に処理が進む。
【0058】
(ステップS705)
センタ10は、上記ステップS703又はS704で選択したソフトウェア更新に関する説明を、上記ステップS601で特定した車両に配信する。なお、車両への配信に際しては、選択したソフトウェア更新に関する説明の態様に基づいてその都度生成した説明用データを配信してもよいし、態様ごとに予め用意されている説明用データを取得して配信してもよい。選択したソフトウェア更新に関する説明が車両に配信されると、本処理が終了する。
【0059】
上述したステップS701~S705の処理をソフトウェア更新の実施に先立ってセンタ10が実施することによって、車両のユーザーや管理者などの個々の好みに合った文言やイラスト又は理解度に適した内容を用いて、ソフトウェア更新に関する説明を実施することができる。
【0060】
<作用・効果>
以上のように、本開示の一実施形態に係る車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタによれば、ユーザーの好み、生活様式、癖などに関係するユーザーに関する情報に基づいて予め設定したユーザー種別に従って、車両のユーザーや管理者などに対してソフトウェア更新に関する説明を行う。この処理によって、車両のユーザーや管理者などに対して適切なソフトウェア更新に関する説明を実施することができる。
【0061】
以上、本開示技術の一実施形態を説明したが、本開示は、センタだけでなく、プロセッサとメモリを備えたセンタが実行する方法、プログラム、プログラムを記憶したコンピューター読み取り可能な非一時的な記憶媒体、センタと通信可能なOTAマスタ、あるいはOTAマスタを備えた車両など、として捉えることが可能である。
【産業上の利用可能性】
【0062】
本開示技術は、車両に搭載された電子制御ユニットのソフトウェアの更新を制御するセンタに利用できる。
【符号の説明】
【0063】
10 センタ
11、31 CPU
12、32 RAM
13、34 記憶装置
14、36 通信装置
16、37 記憶部
17、38 通信部
18、39 制御部
19 取得部
20 判定部
30 OTAマスタ
33 ROM
35 マイクロコンピューター
50a~50d 電子制御ユニット(ECU)
60a~60d バス
70 表示装置
80 通信モジュール
90 車載ネットワーク
95 情報端末
100 ネットワーク