JP2020021381A - ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法 - Google Patents

ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法 Download PDF

Info

Publication number
JP2020021381A
JP2020021381A JP2018146333A JP2018146333A JP2020021381A JP 2020021381 A JP2020021381 A JP 2020021381A JP 2018146333 A JP2018146333 A JP 2018146333A JP 2018146333 A JP2018146333 A JP 2018146333A JP 2020021381 A JP2020021381 A JP 2020021381A
Authority
JP
Japan
Prior art keywords
campaign
software
information
update
vehicle
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
JP2018146333A
Other languages
English (en)
Other versions
JP6930949B2 (ja
Inventor
昇 木山
Noboru Kiyama
昇 木山
加藤 淳
Atsushi Kato
淳 加藤
奈央美 泉
Naomi Izumi
奈央美 泉
晴樹 大石
Haruki Oishi
晴樹 大石
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2018146333A priority Critical patent/JP6930949B2/ja
Priority to EP19188099.6A priority patent/EP3605320B1/en
Priority to US16/528,109 priority patent/US10956147B2/en
Priority to CN201910699410.2A priority patent/CN110795138B/zh
Publication of JP2020021381A publication Critical patent/JP2020021381A/ja
Application granted granted Critical
Publication of JP6930949B2 publication Critical patent/JP6930949B2/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】人為的ミスによる誤ったソフトウェアの配信を防止する。【解決手段】ソフトウェア配信システム1は、車両20の車載機器(ECU)に対する機能のアップデートをキャンペーンで管理し、キャンペーンに基づくソフトウェアを遠隔で配信するソフトウェア配信サーバ(テレマティクスセンタ10)と、入出力を行う端末(端末30,ナビゲーション端末230)と、車両20に搭載され、配信されたソフトウェアをダウンロードし、対象の車載機器にインストールするソフトウェア更新装置210と、を備える。このソフトウェア配信システム1において、キャンペーンの作成が依頼されたとき、依頼キャンペーンの対象車載機器における直近の複数回のキャンペーンによるソフトウェアの更新量の統計情報と、依頼キャンペーンによるソフトウェアの更新量とを比較し、所定の条件を満たした場合には、依頼キャンペーンを作成せず、所定の警告を通知する。【選択図】図1

Description

本発明は、ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法に関し、自動車等の車両に搭載される機器に対して遠隔のソフトウェア更新を実現するソフトウェア配信サーバ、ソフトウェア配信システム、及びソフトウェア配信方法に適用して好適なものである。
近年、運転支援機能や自動運転技術の進展により、自動車の車載機器(電子制御装置(ECU:Electric Control Unit))に搭載されるソフトウェアの規模が増大している。このECUソフトウェアに対しては、設計開発段階におけるテストバージョンアップ、ソフトウェア不具合に起因するリコール対応や、量産前後の一斉バージョンアップ等、更新を必要とする場面が増えている。このようなソフトウェアの更新機会の増加に効率的に対応するために、従来携帯電話やテレビに使われていた無線による遠隔ソフト更新技術を自動車に適用することによって、自動車のECUソフトウェアを遠隔で更新するソフトウェア配信技術、所謂OTA(Over The Air)への期待が高まっている。
ここで、例えば特許文献1には、車両に搭載される制御装置のプログラム更新中に、ユーザが車両機器の操作をすることを防止するプログラム提供システムが開示されている。特許文献1に開示されたプログラム提供システムでは、車両のユーザが車両から十分に離れている場合にプログラムの更新を指示することによって、プログラムの更新中に車両機器の操作が行われないようにして、プログラム(ソフトウェア)の更新を有効に完了できるようにしている。
特許第5829839号公報
しかし、上述の特許文献1に開示されたプログラム提供システムによれば、配信されたソフトウェアを確実に更新できる効果は得られるが、それ以前に、人為的ミス(ヒューマンエラー)によって、配信するソフトウェアが誤って選択されることは防止できなかった。
自動車のECUに対するOTAにおいて、ソフトウェアが配信されるECUの種類は増加傾向にあり、また、各ECUにおいて配信されるソフトウェアのファイル名やバージョン名は類似していることが多い。したがって、配信するソフトウェアを決定する際に、人為的ミスによるソフトウェアの誤選択が発生するおそれがあった。特に、自動車の設計開発工程では、複数のバージョンのソフトを用いてテストが繰り返されることから、ソフトウェアのバージョンの確認ミスや読み違い等がより発生しやすくなり、誤ったソフトウェアを配信してしまった場合には、手戻りのために貴重なテスト時間が失われてしまうおそれがあった。したがって、このような課題に対して有効なソフトウェア配信技術が求められている。
本発明は以上の点を考慮してなされたもので、車載機器に対するソフトウェア更新において、人為的ミスによる誤ったソフトウェアの配信を防止することが可能なソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法を提案しようとするものである。
かかる課題を解決するため本発明においては、車両の車載機器に対する機能のアップデートを制御する、以下のようなソフトウェア配信システムが提供される。このソフトウェア配信システムは、前記機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信サーバと、操作者による操作を受けて前記ソフトウェア配信サーバに対する入出力を行う端末と、前記車両に搭載され、前記ソフトウェア配信サーバから配信された前記ソフトウェアをダウンロードし、対象の車載機器にインストールするソフトウェア更新装置と、を備える。また、前記ソフトウェア配信サーバは、前記ソフトウェアを含む各種の情報を記憶する記憶部と、前記端末から前記キャンペーンのために必要な情報を受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、を有する。そして、本ソフトウェア配信システムでは、前記端末の操作によって前記キャンペーンの作成が依頼されたとき、前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較し、所定の条件を満たした場合には、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信し、前記端末が、前記キャンペーン管理部から受信した前記所定の警告を所定の表示画面に表示することを特徴とする。
また、かかる課題を解決するため本発明においては、車両の車載機器に対する機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信する、以下のようなソフトウェア配信サーバが提供される。このソフトウェア配信サーバは、前記ソフトウェアを含む各種の情報を記憶する記憶部と、前記キャンペーンのために必要な情報を端末から受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、を備え、前記端末から前記キャンペーンを作成する依頼を受けたときに、前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較して、所定の条件を満たした場合には、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信することを特徴とする。
また、かかる課題を解決するため本発明においては、車両の車載機器に対する機能のアップデートを制御するソフトウェア配信システムによる以下のようなソフトウェア配信方法が提供される。ここで、前記ソフトウェア配信システムは、前記機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信サーバと、操作者による操作を受けて前記ソフトウェア配信サーバに対する入出力を行う端末と、前記車両に搭載され、前記ソフトウェア配信サーバから配信された前記ソフトウェアをダウンロードし、対象の車載機器にインストールするソフトウェア更新装置と、を有する。また、前記ソフトウェア配信サーバは、前記ソフトウェアを含む各種の情報を記憶する記憶部と、前記端末から前記キャンペーンのために必要な情報を受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、を有する。本ソフトウェア配信方法は、上記の構成を有するソフトウェア配信システムにおいて、前記端末の操作によって前記キャンペーンの作成が依頼されたとき、前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較する比較ステップと、前記比較ステップにおいて所定の条件を満たした場合には、前記キャンペーン管理部が、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信するキャンペーン非作成ステップと、前記キャンペーン非作成を受けて、前記端末が、前記キャンペーン管理部から受信した前記所定の警告を所定の表示画面に表示する警告表示ステップと、を備えることを特徴とする。
本発明によれば、車載機器に対するソフトウェア更新において、人為的ミスによる誤ったソフトウェアの配信を防止することができる。本発明は、特に開発工程のテストにおいて有効な効果を奏する。
本発明の一実施の形態に係るソフトウェア配信システムの構成例を示す図である。 車両情報の具体例を示す図である。 車両構成情報の具体例を示す図である。 キャンペーン情報の具体例を示す図である。 更新用ソフトウェア情報の具体例を示す図である。 更新用ソフトウェアの登録処理の処理手順の一例を示すシーケンス図である。 キャンペーンの作成処理の処理手順の一例を示すシーケンス図である。 過誤可能性判定処理の処理手順の一例を示すフローチャートである。 キャンペーン作成画面の一例を説明する図である。 キャンペーンに基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その1)である。 キャンペーンに基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その2)である。 テスト計画情報の具体例を示す図である。 テスト計画の作成処理の処理手順の一例を示すシーケンス図である。 テスト計画に基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その1)である。 テスト計画に基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その2)である。 テスト計画確認画面の一例を説明する図である。
以下、図面を参照して、本発明の実施の形態を詳述する。
本説明において「キャンペーン」とは、車両に搭載された車載機器(ECU)の同一機能を更新するために配信しようとする更新用ソフトウェアに対して、配信先である1以上の車両の情報を紐付けして管理するための情報の単位を意味する。
キャンペーンの用途は様々であるが、多数の車両を対象とする更新用ソフトウェアの全体的な配信に用いられる場合と、テスト(検証)用途に限定された特定の車両(テスト車両)を対象とする更新用ソフトウェアの限定的な配信に用いられる場合とがある。更新用ソフトウェアの全体的な配信としては、量産工程あるいは流通後の複数の車両に対して、機能向上やリコール対応等を目的としてアップデート用の更新用ソフトウェアを配信することがある。例えば、リコールの原因を解消するための更新用ソフトウェアが配信され、対象のECUにインストールされることにより、機能のアップデートが行われる。また、更新用ソフトウェアの限定的な配信としては、設計開発段階の特定の車両(テスト車両)に対して、機能確認や性能測定等を目的としてテスト用の更新用ソフトウェアを配信することがある。例えば、テスト用の更新用ソフトウェアがテスト車両に配信され、対象のECUにインストールされることにより、テストコース等で行われる走行テスト用のソフトウェアセッティングが行われる。
キャンペーンによるソフトウェア配信では、更新用ソフトウェアを指定したキャンペーン情報の登録によってキャンペーンを作成しておき、登録されたキャンペーン情報に基づいて対象とする車両20に更新用ソフトウェアを配信し、ECUへのインストールを行う。ここで、キャンペーンの作成においては、操作者(エンジニアや管理者等)が更新用ソフトウェアを指定する必要があるが、バージョン情報の見間違いや操作ミスといった人為的なミスによって、誤ったソフトウェアを選択してしまう可能性がある。そこで、本実施の形態に係るソフトウェア配信システム1では、後述する「過誤可能性判定処理」を行うことによって、上記のようなソフトウェアの選択ミスによってキャンペーンが作成されてしまうことを防止することを特徴の1つとしている。
(1)第1の実施の形態
(1−1)ソフトウェア配信システム1の構成
図1は、本発明の一実施の形態に係るソフトウェア配信システムの構成例を示す図である。図1に示すソフトウェア配信システム1は、車両20にソフトウェアを配信するシステムであって、ソフトウェア配信サーバであるテレマティクスセンタ10と、ソフトウェア更新装置210及びナビゲーション端末230が搭載された車両20と、テレマティクスセンタ10に対して入出力を行う端末30とを備える。
図1に示したように、テレマティクスセンタ10は通信部130を介してネットワーク40に接続され、車両20のソフトウェア更新装置210は車両20の通信部220を介してネットワーク40に接続され、端末30は通信部340を介してネットワーク40に接続されている。この結果、テレマティクスセンタ10、車両20(ソフトウェア更新装置210)、及び端末30は、ネットワーク40を介して相互に通信可能に接続される。ネットワーク40は、例えば、携帯電話網、インターネット網、無線LAN(Local Area Network)等の近距離無線通信、あるいはそれらの組合せによって構成することができる。
なお、図1では、車両20が1台だけ示されているが、本実施の形態における構成はこれに限定されるものではなく、それぞれにソフトウェア更新装置210及びナビゲーション端末230を搭載した複数台の車両20が、ネットワーク40を介してテレマティクスセンタ10及び端末30と通信可能に接続される構成であってもよい。また、テレマティクスセンタ10と端末30は同一の機器によって実現されてもよい。
(1−1−1)テレマティクスセンタ10
テレマティクスセンタ10は、ソフトウェア配信サーバ(例えばクラウド型サーバ)であって、ネットワーク40を介して、端末30からソフトウェア配信指示を受信し、車両20に対してソフトウェアを配信する。テレマティクスセンタ10は、中央演算処理装置110と、記憶装置120と、通信部130とを備える。
中央演算処理装置110は、例えばCPU(Central Processing Unit)やRAM(Random Access Memory)等から構成され、所定のプログラムを実行することによって、テレマティクスセンタ10の各機能を実現する。中央演算処理装置110は、これらの機能別の構成として、車両管理部111、キャンペーン管理部112、更新用ソフトウェア配信部113、及びテスト計画管理部114を備える。なお、テスト計画管理部114は、第2の実施の形態のための構成であり、第1の実施の形態において必ずしも必要な構成ではない。
車両管理部111は、記憶装置120の車両DB121及び車両構成DB122に格納されている各情報を管理し、必要に応じて各情報の登録、変更、及び削除を行う。
キャンペーン管理部112は、記憶装置120のキャンペーンDB123に格納されているキャンペーン情報を管理し、ソフトウェア配信システム1における処理のなかで各キャンペーン情報の登録、変更、及び削除を行う。
更新用ソフトウェア配信部113は、車両20(更新用ソフトウェア要求部213)からの要求に応じて、車両20にとって適切な更新用ソフトウェアを記憶装置120のソフトウェアDB124から取り出し、通信部130及びネットワーク40を介して車両20に配信する。
テスト計画管理部114は、記憶装置120のテスト計画DB125に格納されているテスト計画情報を管理し、ソフトウェア配信システム1における処理のなかで各テスト計画情報の登録、変更、及び削除を行う。テスト計画情報については、第2の実施の形態で詳述する。
記憶装置120は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、またはROM(Read Only Memory)等から構成される。記憶装置120には、中央演算処理装置110が実行するプログラムのほか、当該プログラムの実行に必要なデータ群等が格納される。
図1に示したように、記憶装置120に格納されるデータ群として、記憶装置120は、車両DB121、車両構成DB122、キャンペーンDB123、ソフトウェアDB124、及びテスト計画DB125等を備える。なお、テスト計画DB125は、第2の実施の形態のための構成であり、第1の実施の形態において必ずしも必要な構成ではない。
車両DB121は、1以上の車両20のそれぞれ(各車両20)について、車種、利用状況、及びソフトウェア配信時の制約条件となり得る情報等から構成される「車両情報」を蓄積する。車両情報の具体例は後述する図2に示される。
車両構成DB122は、各車両20について、搭載されているECUの種別、及びインストールされているソフトウェアのバージョンを管理するための情報等から構成される「車両構成情報」を蓄積する。車両構成情報の具体例は後述する図3に示される。
キャンペーンDB123は、車両20に対して行われるキャンペーンのために必要な情報から構成される「キャンペーン情報」を蓄積する。キャンペーン情報は、キャンペーンにおいてソフトウェアのアップデート対象となるECUの種別、更新用ソフトウェアの配信時における制約条件、及び更新対象となる車両台数を管理するための情報等から構成され、その具体例は後述する図4に示される。
ソフトウェアDB124は、キャンペーンで車両20に配信する更新用ソフトウェアと、その管理情報(更新用ソフトウェア情報)とを蓄積する。なお、本説明では簡略のため、「更新用ソフトウェア情報」を「ソフトウェア情報」と称することがある。
テスト計画DB125は、テスト向けの特定の車両20(テスト車両)に対して行われるテスト計画のために必要な情報から構成される「テスト計画情報」を蓄積する。
通信部130は、ネットワーク40で用いられる通信規格に準拠したネットワークカード等から構成され、ネットワーク40を介して、車両20及び端末30との間で、各種プロトコルに基づいてデータを送受信する。ネットワークカードは、有線LAN等の有線通信や無線LAN等の無線通信、あるいはその両方に必要な通信規格に準拠する。
(1−1−2)車両20
車両20は、ソフトウェア更新装置210と、通信部220と、ナビゲーション端末230と、各種ECU(エンジンECU241、自動運転ECU242、…)とを備える。車両20の各機器は、CAN(Controller Area Network)、Ethernet(登録商標)等の車内ネットワークで接続される。
ソフトウェア更新装置210は、中央演算処理装置211と、記憶装置215と、位置測位装置216とを備える。
中央演算処理装置211は、例えばCPUやRAM等から構成され、所定のプログラムを実行することによって、ソフトウェア更新装置210の各機能を実現する。中央演算処理装置211は、これらの機能別の構成として、キャンペーン確認部212、更新用ソフトウェア要求部213、及びECUソフトウェア更新部214を備える。
キャンペーン確認部212は、車両20のエンジン始動をトリガとして、テレマティクスセンタ10に問い合わせを行い、自車両のECUにソフトウェアアップデートを実施するキャンペーンがないかを確認する。
更新用ソフトウェア要求部213は、キャンペーン確認部212による確認の結果、自車両のECUを対象とするキャンペーンがあった場合に、テレマティクスセンタ10に対して当該キャンペーンの更新用ソフトウェアを要求し、ダウンロードする。
ECUソフトウェア更新部214は、更新用ソフトウェア要求部213がダウンロードした更新用ソフトウェアを用いて、更新対象のECUをアップデートする。
記憶装置215は、例えばHDD、SSD、フラッシュメモリ、またはROM等から構成される。記憶装置215には、中央演算処理装置211が実行するプログラムのほか、当該プログラムの実行に必要なデータ群等が格納される。
位置測位装置216は、例えばGPS(Global Positioning System)センサ等で構成され、車両20の現在位置を特定する位置情報(緯度情報及び経度情報)を取得する。
通信部220は、ネットワーク40で用いられる通信規格に準拠したネットワークカード等から構成され、ネットワーク40を介して、テレマティクスセンタ10及び端末30との間で、各種プロトコルに基づいてデータを送受信する。ネットワークカードは、例えば無線LAN等の無線通信に準拠する。
ナビゲーション端末230は、車両20の走行時に現在位置や目的地への経路案内を行うナビゲーション機能を有する一般的なカーナビゲーション装置やタブレット端末等で構成される。ナビゲーション端末230は、中央演算処理装置231と、記憶装置233と、入出力装置234とを備える。
中央演算処理装置231は、例えばCPUやRAM等から構成され、所定の動作プログラムを実行することで、ナビゲーション端末230によるナビゲーション機能を実現する。中央演算処理装置231は、その機能構成として更新情報表示部232備える。更新情報表示部232は、ナビゲーション機能に基づく表示画面やテレマティクスセンタ10から送信された更新用ソフトウェアの情報に基づく表示画面等を、入出力装置234に表示する。
記憶装置233は、例えばHDD、SSD、フラッシュメモリ、またはROM等から構成される。記憶装置233には、中央演算処理装置231が実行するプログラムのほか、当該プログラムの実行に必要なデータ群等が格納される。
入出力装置234は、タッチパネル、キーボード、またはマウス等を組み合わせて構成され、ナビゲーション端末230やソフトウェア更新装置210に対する入力部及び出力部(表示部)として機能する。
なお、本実施の形態の車両20において、ソフトウェア更新装置210とナビゲーション端末230は同一の機器によって実現されても良い。また、ナビゲーション端末230が車両20に搭載された構成に限定されるものではなく、例えば、ナビゲーション端末230の代わりに、ナビゲーション端末230と同様の機能を発揮するスマートフォンやタブレット等の携帯端末を用いるようにしてもよい。この場合、通信部220を携帯端末と通信可能な近傍に配置し、ソフトウェア更新装置210が例えばOBD(On Board Diagnostics)等のコネクタを用いることによって、ソフトウェア更新装置210が携帯端末と通信することが考えられる。
エンジンECU241は、車両20におけるエンジン動作を管理するECUである。自動運転ECU242は、車両20における自動運転の動作制御を管理するECUである。図1に示すように、これらのECUはバス型CANネットワークに接続され、ソフトウェア更新装置210がこれらのバス型ネットワークのハブ機能を有する。
なお、図1では、ソフトウェア配信システム1において更新用ソフトウェアの配信対象となる車両20の車載機器の一例として、エンジンECU241と自動運転ECU242を示しているが、車両20に搭載される各種ECUはこれらに限られるものではない。例えば、サスペンション制御用のECUや、電子ミラー制御用のECU等、車両20の制御や安全を支援する機能を有するECUが搭載されていてもよい。なお、これらのECUには、自身を動作させるためのソフトウェアがそれぞれ内蔵されている。このソフトウェアは、各ECUが有する記憶装置(不図示)にそれぞれ格納されており、各ECUが有する中央演算処理装置(不図示)によって実行される。本実施の形態に係るソフトウェア配信サーバ(テレマティクスセンタ10)は、これらのECUを更新対象とする更新用ソフトウェアを配信する。
(1−1−3)端末30
端末30は、汎用的な計算機や、タブレットやスマートフォン等の携帯端末等であって、中央演算処理装置310と、記憶装置320と、入出力装置330と、通信部340とを備える。
中央演算処理装置310は、例えばCPUやRAM等から構成され、所定の動作プログラムを実行することによって、端末30の機能を実現する。中央演算処理装置310は、その機能構成として、キャンペーン情報入出力部311を備える。
キャンペーン情報入出力部311は、ユーザによる入出力装置330の操作に応じて、テレマティクスセンタ10に、キャンペーン情報に相当する情報等を送信する。また、キャンペーン情報入出力部311は、テレマティクスセンタ10から受信した情報を入出力装置330に表示する。
記憶装置320は、例えばHDD、SSD、フラッシュメモリ、またはROM等から構成される。記憶装置320には、中央演算処理装置211が実行するプログラムのほか、当該プログラムの実行に必要なデータ群等が格納される。
入出力装置330は、タッチパネル、キーボード、またはマウス等を組み合わせて構成され、端末30やテレマティクスセンタ10に対する入力部及び出力部(表示部)として機能する。
通信部340は、ネットワーク40で用いられる通信規格に準拠したネットワークカード等から構成され、ネットワーク40を介して、テレマティクスセンタ10との間で、各種プロトコルに基づいてデータを送受信する。ネットワークカードは、例えば無線LAN等の無線通信に準拠する。
なお、前述したように、端末30は、テレマティクスセンタ10と同一の機器によって実現されてもよく、例えばテレマティクスセンタ10が端末30の機能を含んで構成される場合、テレマティクスセンタ10が、端末30の入出力装置330に相当する入出力装置を備え、さらに、中央演算処理装置110がキャンペーン情報入出力部311を備えるようにすればよい。
(1−2)各種データの構造
以下では、図1に示したテレマティクスセンタ10の記憶装置120においてDBに格納される各種データの構造について具体例を挙げて説明する。但し、テスト計画DB125に格納されるテスト計画情報1250については、第2の実施の形態で説明する。なお、本具体例では、テーブル形式によるデータ構造を示すが、本実施の形態における各種データの構造はこれに限定されるものではない。
図2は、車両情報の具体例を示す図である。車両情報は、各車両20についての車両本体のメタ情報であって、車両DB121に格納される。図2に示した車両情報1210は、VIN1211、車種ID1212、位置1213、及び更新日時1214を備えて構成されるテーブル形式のデータである。
VIN1211は、車両20を一意に特定可能な識別子(VIN:Vehicle Identification Number)である。車種ID1212は、VIN1211で特定される車両20(当該レコードにおける対象車両20)の車種を一意に特定可能な識別子である。位置1213は、対象車両20が最後にエンジンOFFとなったときの位置情報であって、緯度、経度の順で表記されている。そして更新日時1214は、車両情報1210の当該レコードが更新された日時を示す情報である。
図3は、車両構成情報の具体例を示す図である。車両構成情報は、各車両20が有するECUに関する情報であって、車両構成DB122に格納される。図3に示した車両構成情報1220は、VIN1221、ECU−ID1222、シリアルID1223、ソフトウェアバージョン1224、及び更新日時1225を備えて構成されるテーブル形式のデータである。
VIN1221は、車両情報1210のVIN1211と共通のデータであり、対象車両20を一意に特定可能な識別子である。
ECU−ID1222は、対象車両20に搭載されるECUの種別を一意に特定可能な識別子である。また、シリアルID1223は、対象車両20に搭載されるECUを一意に特定可能な識別子である。例えば、図3のデータ行の1行目と3行目とを比較すると分かるように、ECUの種別(ECU−ID1222)が同一であっても、それぞれのECUのシリアルID1223は異なる。
また、ソフトウェアバージョン1224は、当該レコードで特定するECU(対象車両20に搭載される特定のECU)にインストールされたソフトウェアを一意に特定可能な識別子である。そして更新日時1225は、車両構成情報1220の当該レコードが更新された日時を示す情報である。
図4は、キャンペーン情報の具体例を示す図である。前述したように、キャンペーン情報はキャンペーンのために必要な情報で構成され、キャンペーンDB123に格納される。図4に示したキャンペーン情報1230は、キャンペーンID1231、VIN1232、ECU−ID1233、ソフトウェアID1234、ステータス1235、及び更新日時1236を備えて構成されるテーブル形式のデータである。
キャンペーンID1231は、キャンペーン情報を一意に特定可能な識別子である。
VIN1232は、車両情報1210のVIN1211や車両構成情報1220のVIN1221と共通のデータであり、当該レコードのキャンペーン時にソフトウェアを配信する車両20を特定するための情報である。
ECU−ID1233は、車両構成情報1220のECU−ID1222と共通のデータであり、当該レコードのキャンペーンにおいてソフトウェアの更新対象とされるECUの種別(ECU−ID)を示す情報である。
ソフトウェアID1234は、当該レコードのキャンペーンで配信される更新用ソフトウェアを識別するための識別子である。ソフトウェアID1234は、図5に例示する更新用ソフトウェア情報1240のソフトウェアID1241に対応する。
ステータス1235は、当該レコードのキャンペーンについて、VIN1232で特定される車両20における処理状況(進捗状況)を表す情報であり、更新日時1236は、当該レコードが更新された日時を示す情報である。
具体的には例えば、図4のデータ行の1行目のようにステータス1235が「更新完了」である場合は、対象の車両20(VIN「9GJH」)の対象ECU(ECU−ID「Engine_MY15」)において更新用ソフトウェア(ソフトウェアID「APA_ver13」)のインストールが完了したことを意味する。このとき、更新日時1236には、「更新完了」が確認された日時(インストールが完了した日時でもよい)が記録される。
また例えば、図4のデータ行の2行目のようにステータス1235が「ダウンロード完了」である場合は、対象の車両20(VIN「7RTM」)の対象ECU(ECU−ID「Steer_16JP」)において更新用ソフトウェア(ソフトウェアID「B73H_v5」)のダウンロードは完了したが、インストールは完了していないことを意味する。このとき、更新日時1236には、「ダウンロード完了」が確認された日時(ダウンロードが完了した日時でもよい)が記録される。
また例えば、図4のデータ行の3行目のようにステータス1235が「インストール中」である場合は、対象の車両20(VIN「6ABC」)の対象ECU(ECU−ID「Engine_MY14EU」)において更新用ソフトウェア(ソフトウェアID「CC8Y_v2」)のダウンロードが完了してインストールの途中であることを意味する。このとき、更新日時1236には、インストール開始が確認された日時(インストールが開始した日時でもよい)が記録される。
図5は、更新用ソフトウェア情報の具体例を示す図である。更新用ソフトウェア情報(ソフトウェア情報)は、車両20に配信する更新用ソフトウェアの管理情報であって、当該ソフトウェアとともにソフトウェアDB124に格納される。図5に示した更新用ソフトウェア情報(ソフトウェア情報)1240は、ソフトウェアID1241、ファイル名1242、更新タイプ1243、前バージョン1244、後バージョン1245、ファイルサイズ1246、及び更新日時1247を備えて構成されるテーブル形式のデータである。
ソフトウェアID1241は、更新用ソフトウェアを一意に特定可能な識別子であり、図4に例示したキャンペーン情報1230のソフトウェアID1234と共通のデータである。
ファイル名1242は、当該レコードで管理する更新用ソフトウェアのファイル名である。また、更新タイプ1243は、当該更新用ソフトウェアの更新種別である。例えば、更新タイプ1243が「差分」である場合、当該更新用ソフトウェアが前バージョンからの差分ファイルであることを意味する。更新タイプ1243が「フル」である場合、当該更新用ソフトウェアは差分ファイルではなく、完全ファイル(フルファイル)であることを意味する。
前バージョン1244は、当該レコードで管理する更新用ソフトウェアの1つ前のバージョン名であり、後バージョン1245は、1つ後のバージョン名である。前バージョン1244または後バージョン1245が「null」である場合は、1つ前のバージョンまたは1つ後のバージョンが存在しないことを意味する。ファイルサイズ1246は、当該レコードで管理する更新用ソフトウェアのファイルサイズであり、図5では例えばキロバイト(kB)の単位で記載されている。そして更新日時1247は、更新用ソフトウェア情報1240の当該レコードが更新された日時を示す情報である。
以上、図1に示したテレマティクスセンタ10の記憶装置120においてDBに格納される各種データの構造について具体例を挙げて説明した。これらの具体例は、以降の説明でも適宜用いられる。
(1−3)キャンペーンの処理
次に、本実施の形態に係るソフトウェア配信システム1によるキャンペーンの作成や実行に関する処理について説明する。
(1−3−1)更新用ソフトウェアの登録
図6は、更新用ソフトウェアの登録処理の処理手順の一例を示すシーケンス図である。図6に示す処理は、キャンペーンで配信される更新用ソフトウェアをソフトウェアDB124に登録(蓄積)するための処理である。
まず、エンジニアや管理者等によって端末30の入出力装置330が操作され、更新用ソフトウェアの登録を要求する操作が行われる。このとき、登録対象の更新用ソフトウェア及び当該ソフトウェアに関する管理情報(ソフトウェア情報1240に相当する情報)が入力される。入力された情報は、例えば記憶装置320に記憶されてもよい。
そして、ステップS101では、端末30のキャンペーン情報入出力部311が、上記操作で指定された更新用ソフトウェアの登録をテレマティクスセンタ10に依頼する。このとき、当該更新用ソフトウェア及び管理情報も送信される。
ステップS101の依頼を受信したテレマティクスセンタ10では、キャンペーン管理部112(または車両管理部111)が、受信した管理情報を更新用ソフトウェアのソフトウェア情報1240としてソフトウェアDB124に格納する(ステップS111)。このとき、受信した更新用ソフトウェアもソフトウェアDB124に格納する。なお、ステップS111において何らかの理由で更新用ソフトウェアの登録を受けられる状況ではないと判定した場合は、更新用ソフトウェア及びソフトウェア情報の登録は行わず、その旨を登録結果とする。そしてステップS112において、キャンペーン管理部112(または車両管理部111)は、ステップS111で実行した更新用ソフトウェア情報1240の登録結果を端末30に送信する。
ステップS112で送信された登録結果を受信すると、端末30のキャンペーン情報入出力部311は、その登録結果を入出力装置330に表示する(ステップS102)。これにより、エンジニアや管理者等は、更新用ソフトウェアの登録結果を確認することができる。
(1−3−2)キャンペーンの作成
図7は、キャンペーンの作成処理の処理手順の一例を示すシーケンス図である。図7に示す処理は、キャンペーン情報を登録することによって新たなキャンペーン(以後、新キャンペーンとも称する)を作成するための処理である。
なお、図7では、キャンペーンの作成を依頼する端末を車両20のナビゲーション端末230としているが、本実施の形態に係るソフトウェア配信システム1では、端末30からもキャンペーンの作成を依頼できるように構成されてもよい。この場合、図7に示した更新情報表示部232の代わりに、端末30のキャンペーン情報入出力部311が同様の処理を行うようにすればよい。具体的に想定されるケースとしては例えば、車両20からキャンペーンの作成を依頼するケースの具体例としては、設計開発段階のテストにおいて、特定の車両20(テスト車両)を対象としてエンジニア等がテスト現場で直接キャンペーンを作成する場合が挙げられる。また、端末30からキャンペーンの作成を依頼するケースの具体例としては、多数の車両20を対象として更新用プログラムの全体的な配信を行うキャンペーンを作成する場合が挙げられる。
図7によればまず、ステップS201において、更新情報表示部232は、エンジニアによるナビゲーション端末230の入出力装置234の操作に応じて、ソフトウェア情報1240、キャンペーン情報1230、及び過去の更新履歴(ソフトウェアの更新履歴や、キャンペーンによる配信履歴等)について、テレマティクスセンタ10に問い合わせる。
ステップS201の問い合わせを受信したテレマティクスセンタ10では、車両管理部111及びキャンペーン管理部112が、問い合わせに応じて情報を検索し、抽出する(ステップS211)。具体的には例えば、車両管理部111が問い合わせ元の車両20に関する情報を検索・抽出したり、キャンペーン管理部112がソフトウェアDB124やキャンペーンDB123からソフトウェア情報1240やキャンペーン情報1230等を検索・抽出したりする。そして、ステップS212において、車両管理部111及びキャンペーン管理部112は、ステップS211で抽出した検索結果をナビゲーション端末230に送信する。
ステップS212で送信された検索結果を受信すると、更新情報表示部232は、その検索結果を入出力装置234に表示する(ステップS202)。この表示を確認することにより、過去のキャンペーン等の履歴を把握することができる。
次いで、エンジニアは、更新情報表示部232に表示される所定の画面(キャンペーン作成画面)に対して、新キャンペーンを作成するために必要な所定の情報を入力(指定)する。キャンペーン作成画面は、図9に具体例を示すが、ステップS202において更新情報表示部232に表示された画面を流用するものであってもよい。そして、上記の入力操作を受けて、更新情報表示部232は、テレマティクスセンタ10に新キャンペーンの作成を依頼する(ステップS203)。
テレマティクスセンタ10では、ステップS203の新キャンペーンの作成依頼を受信すると(ステップS213)、キャンペーン管理部112が、新キャンペーンにおいて配信する更新用ソフトウェアについて、ソフトウェアの選択ミスの可能性を判定する「過誤可能性判定処理」を実行する(ステップS214)。
詳細は図8を参照しながら後述するが、過誤可能性判定処理において、ソフトウェア選択を間違えた可能性があると判定された場合は、新キャンペーンを作成せずに警告メッセージを準備する。一方、ソフトウェア選択を間違えた可能性がないと判定された場合は、新キャンペーンを作成(キャンペーン情報1230を作成・登録)する。そして、ステップS215において、キャンペーン管理部112は、ステップS214の過誤可能性判定処理の判定結果に基づく新キャンペーンの作成結果をナビゲーション端末230に送信する(ステップS215)。
ステップS215で送信された作成結果を受信すると、更新情報表示部232は、その作成結果を入出力装置234(キャンペーン作成画面)に表示する(ステップS204)。詳しくは、過誤可能性判定処理でソフトウェア選択を間違えた可能性があると判定された場合は(ステップS227経由)、ソフトウェアの選択ミスの可能性を指摘する警告メッセージが表示され、新キャンペーンを本当に作成してよいか再確認させる。一方、過誤可能性判定処理でソフトウェア選択を間違えた可能性はない判定された場合は(ステップS228経由)、ステップS203で依頼された新キャンペーンの作成が完了した旨が表示される。新キャンペーンの作成が完了すると、テレマティクスセンタ10において当該キャンペーンによる更新用ソフトウェアの配信準備が整う。
図8は、過誤可能性判定処理の処理手順の一例を示すフローチャートである。図7のステップS214で述べたように、過誤可能性判定処理はキャンペーン管理部112によって実行される。
図8によればまず、キャンペーン管理部112は、更新情報表示部232からの作成依頼(図7のステップS203)で指定されたVIN及びECU−IDと同一の値を持つレコードを、キャンペーンDB123に蓄積されているキャンペーン情報1230から検索し、該当するレコードを抽出する(ステップS221)。すなわち、ステップS221で抽出されるレコードは、新キャンペーンにおいて更新用ソフトウェアの配信対象となる車両のECUについて、当該ECUを対象として実行された過去のキャンペーン情報1230である。
次に、キャンペーン管理部112は、ステップS221で抽出したレコードを更新日時1236に基づいて降順にソートし、直近N回(Nは2以上の任意の整数)のレコードからなるキャンペーン履歴を抽出する(ステップS222)。
次に、キャンペーン管理部112は、ステップS222で抽出したキャンペーン履歴に含まれる各キャンペーンにおけるソフトウェアの更新量を算出する(ステップS223)。詳しくは、キャンペーン情報1230のソフトウェアID1234に対応するソフトウェア情報1240をソフトウェアDB124から抽出し、そのファイルサイズ1246(差分サイズ)を参照することでソフトウェアの更新量を算出することができる。そして、キャンペーン管理部112は、ステップS223で算出した直近N回のキャンペーン履歴におけるソフトウェアの更新量に基づいて、その平均値Aを算出する(ステップS234)。
次に、キャンペーン管理部112は、最後のキャンペーン(最新のキャンペーン履歴)で配信されたソフトウェアを今回指定された新キャンペーンで配信予定の更新用ソフトウェアに更新した場合のソフトウェアの更新量Dを算出する(ステップS225)。
そして、キャンペーン管理部112は、ステップS224で算出した平均値A及びステップS225で算出した更新量Dを用いて、「2A<D」の関係が成立しているか否かを判定する(ステップS226)。ステップS226において「2A<D」であった場合は(ステップS226のYES)、ステップS227に進み、「2A≧D」であった場合は(ステップS226のNO)、ステップS228に進む。なお、ステップS226における「2A<D」という判定条件は、従来の(直近N回のキャンペーンにおける)ソフトウェアの平均的な更新量と比較したときに、作成予定の新キャンペーンで指定されたソフトウェアの更新量が際立って異なる更新量になっていないか(乖離していないか)を判定するための指標の一例であって、この趣旨に基づく他の指標を用いてもよい。
ステップS227では、新キャンペーンで指定されたソフトウェアの更新量が従来のソフトウェアの更新量とは大きく異なっているため、キャンペーン管理部112は、ソフトウェア選択を間違えた可能性があると判定し、依頼された新キャンペーンについてのキャンペーン情報1230を作成せず、ソフトウェアの選択ミスの可能性を指摘する所定の警告メッセージを準備する。
一方、ステップS228では、作成予定のキャンペーンで指定されたソフトウェアの更新量が従来のソフトウェアの更新量と比べて特段の差異がないため、キャンペーン管理部112は、ソフトウェア選択を間違えた可能性はないと判定し、依頼された新キャンペーンについてのキャンペーン情報1230を作成してキャンペーンDB123に登録する。
ステップS227またはS228の処理をもって過誤可能性判定処理は終了となり、その後は、前述したように図7のステップS215以降の処理が行われる。
なお、図8に示した過誤可能性判定処理では、ソフトウェアの更新量の算出において、当該ソフトウェアの更新用ファイルのファイルサイズを利用するとしたが、これは一例であって、ファイルサイズ以外の情報を利用してソフトウェアの更新量を算出するようにしてもよい。ファイルサイズ以外の情報を利用したソフトウェアの更新量の算出方法としては例えば、更新用ファイルにおけるソースコードの行数の差分に基づいて算出する方法、更新用ファイルがバイナリ形式で提供される場合の(または、更新用ファイルをバイナリファイルと見なしたとき)の差分ビットに基づいて算出する方法、あるいは、更新用ファイルをECUに書き込む際に更新されるROMのブロック数に基づいて算出する方法等が挙げられる。また、これらの複数の情報を組み合わせてソフトウェアの更新量を算出するようにしてもよい。
何れにしても、本実施の形態における過誤可能性判定処理は、過去N回分のソフトウェア更新量の統計情報と今回のソフトウェア更新量とを比較して、所定の条件を満たした場合に、過誤によるソフトウェアの選択ミスの可能性があると判定するものであればよく、この場合に、今回のソフトウェアの登録(キャンペーンの作成)を留保または拒否し、警告メッセージを準備するものであればよい。またさらに、上記判定に用いる「所定の条件」についても、過去N回分のソフトウェア更新量の統計情報と今回のソフトウェア更新量との間で大きな乖離があると判断可能な条件や閾値でありさえすれば、特定の条件式等に限定されるものではない。
図9は、キャンペーン作成画面の一例を説明する図である。図9に示したように、キャンペーン作成画面1000は入出力装置234に表示される。
図9に例示したキャンペーン作成画面1000において、上部の表示領域1001には、新キャンペーン(キャンペーンID「T45M012」)の詳細な情報がツリー形式で可視化されている。表示領域1001に表示されたキャンペーンID、ECU−ID、及びソフトウェアIDは、キャンペーン情報1230の構成情報に対応する。また、表示領域1001に表示された「ファイル名」以下の情報は、上記ソフトウェアID(ソフトウェアID「APA_ver13」)に対応するソフトウェア情報1240の構成情報に対応する。
また、キャンペーン作成画面1000において、表示領域1001の下方には、操作者(エンジニアや管理者等)が選択可能なボタン1002が配置されている。ボタン1002は「キャンペーンを作成する」と表示されている通り、表示領域1001に表示された情報によるキャンペーンの作成を依頼するときに選択される。
キャンペーン作成画面1000では、表示領域1001に新キャンペーン(今回のキャンペーン)に必要な情報が入力され、ボタン1002の選択によって当該キャンペーンの作成が依頼されると、前述した過誤可能性判定処理(図7のステップS214)を経て、その作成結果が下部の表示領域1003に表示される。
表示領域1003は、作成依頼された新キャンペーン(今回のキャンペーン)で指定されたソフトウェアについて、過去のキャンペーンにおけるソフトウェア更新との比較結果を視覚的に表示する領域である。図9には、過誤可能性判定処理でソフトウェア選択を間違えた可能性があると判定された場合の一表示例として、表示領域1003において、過去のキャンペーンにおけるソフトウェアの変更量(更新量)、及び今回の新キャンペーンで指定されたソフトウェアによる変更量のイメージが表示されている。
ここで、図8のステップS706のNO〜ステップS227で説明したように、今回のキャンペーンで指定されたソフトウェアの更新量(図中の「今回」)について、従来のソフトウェアの更新量(図中の「前回」や「前々回」等)とは大きく異なっていると判定された場合には、表示領域1003に、ソフトウェアの選択ミスの可能性を指摘する所定の警告メッセージが表示される。図9には具体例として、「<注意>今回のソフトウェア更新は、これまでと比べて変更量が多くなっています。本当にキャンペーンを作成して良いですか?」という警告メッセージが表されている。
そして、キャンペーン作成画面1000において、表示領域1003の下方には、操作者(エンジニアや管理者等)が選択可能なボタン1004,1005が配置されている。ボタン1004,1005は、表示領域1003に警告メッセージが表示された場合に、操作者が対応を決定するために操作される。
より具体的には、ソフトウェアの選択ミスの可能性を指摘する表示領域1003の警告メッセージに対して、操作者が選択ミスではない(指定した更新用ソフトウェアをキャンペーンで配信する)と判断した場合には、「はい」と表示されたボタン1004を選択することによって、現在の入力内容でキャンペーンを作成することが最終的に決定される。この場合の処理は、図7には示していないが、例えば、更新情報表示部232からテレマティクスセンタ10に対してキャンペーンの作成が改めて指示され、テレマティクスセンタ10のキャンペーン管理部112は当該キャンペーンのキャンペーン情報1230を作成してキャンペーンDB123に格納する。このように、意図した更新用ソフトウェアが指定されていた場合であっても、過去の履歴と比べて更新量が大きく乖離しているには警告メッセージを表示してボタン1004の選択を求めることによって、操作ミスでないことを再確認させることができる。
また、ソフトウェアの選択ミスの可能性を指摘する表示領域1003の警告メッセージに対して、操作者が選択ミスである(キャンペーンで配信する更新用ソフトウェアではない)と判断した場合には、「いいえ」と表示されたボタン1004を選択することによって、現在の入力内容ではキャンペーンを作成しないことが最終的に決定される。この場合の処理は、図7には示していないが、例えば、操作者が表示領域1001に適正な更新用ソフトウェアを入力し直した後にボタン1002を選択することによって、更新情報表示部232からテレマティクスセンタ10に対して、修正された新キャンペーンの作成依頼が行われる(図7のステップS203に戻ると考えてよい)。
以上、図7〜図9を参照しながら説明したように、本実施の形態に係るソフトウェア配信システム1では、新キャンペーンの作成依頼に対して、更新用ソフトウェアの選択ミスの可能性がないと判定した場合に限り、キャンペーン情報1230が作成・登録され、当該キャンペーンが作成される。一方、更新用ソフトウェアの選択ミスの可能性があると判定した場合には、キャンペーン作成画面1000で警告メッセージ(表示領域1003)を示すことにより、指定したソフトウェアが誤っていないか確認・検討させることができる。このようにすることで、人為的な選択ミスに起因してキャンペーンで誤った更新用ソフトウェアが配信されることを防止できる。
(1−3−3)更新用ソフトウェアの配信
図10及び図11は、キャンペーンに基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その1,その2)である。図10には、車両20がテレマティクスセンタ10から更新用ソフトウェアをダウンロードする処理が示され、図11には、図10に示したダウンロードの後、車両20が更新用ソフトウェアを対象ECUにインストールし、その結果をテレマティクスセンタ10に通知する処理が示される。
まず、図10を参照しながら、作成済みのキャンペーンに基づく更新用ソフトウェアのダウンロード処理を説明する。図10に示した処理は、車両20に搭載されているソフトウェア更新装置210のキャンペーン確認部212及び更新用ソフトウェア要求部213と、テレマティクスセンタ10に搭載されている中央演算処理装置110のキャンペーン管理部112及び更新用ソフトウェア配信部113とによって実行される。
図10によればまず、車両20のキャンペーン確認部212が、エンジンECU241から得られる情報を用いてエンジン始動(ON状態)を検知する(ステップS301)。ステップS301でエンジン始動を検知すると、キャンペーン確認部212は、当該車両20のVIN(車両情報1210のVIN1211)についてキャンペーンの有無をテレマティクスセンタ10に問い合わせる(ステップS302)。
ステップS302の問い合わせを受けたテレマティクスセンタ10では、キャンペーン管理部112が、キャンペーンDB123に格納されたキャンペーン情報1230を検索し、VIN1232が送信元の車両20のVINと一致するレコードが存在するか否かを確認することによって、キャンペーンの有無を検索する(ステップS311)。そして、キャンペーン管理部112は、ステップS311の確認結果(検索結果)を車両20に送信する(ステップS312)。詳しくは、ステップS311で送信元の車両20のVINと一致するレコードが存在した場合には、当該レコードのキャンペーン情報1230が検索結果として送信され、ステップS311で一致するレコードが存在しなかった場合には、キャンペーンがない旨の検索結果が送信される。
テレマティクスセンタ10からの検索結果を受信した車両20では(ステップS303)、キャンペーン確認部212が、検索結果からキャンペーンの有無を確認する(ステップS304)。具体的には例えば、検索結果にキャンペーン情報1230が含まれているかを確認する。検索結果にキャンペーン情報1230が含まれていなかった場合には、キャンペーンがないと判断し(ステップS304のNO)、このときダウンロードする更新用ソフトウェアも存在しないことから、処理を終了する。一方、検索結果にキャンペーン情報1230が含まれていた場合には、キャンペーンがあると判断し(ステップS304のYES)、更新用ソフトウェア要求部213は、当該キャンペーン情報1230のソフトウェアID1234から特定される更新用ソフトウェアの提供をテレマティクスセンタ10に要求する(ステップS305)。なお、以下の説明では、検索結果から見つかったキャンペーンを「実行キャンペーン」と称する。
テレマティクスセンタ10では、ステップS305の要求を受信すると(ステップS313)、更新用ソフトウェア配信部113が、指定されたソフトウェアID1234に基づいて、ソフトウェアDB124から要求された更新用ソフトウェア(すなわち、実行キャンペーンの更新用ソフトウェア)を抽出し、車両20に送信する(ステップS314)。
ステップS314で送信された更新用ソフトウェアは、車両20で受信されてダウンロードが開始され(ステップS306)、ダウンロードデータは記憶装置215に蓄積される(ステップS307)。そして、更新用ソフトウェアのダウンロードが完了すると、キャンペーン確認部212は、ダウンロード完了をテレマティクスセンタ10に通知する(ステップS308)。
テレマティクスセンタ10では、ステップS308のダウンロード完了通知を受信(受領)すると、キャンペーン管理部112が、実行キャンペーンのキャンペーン情報1230に対してステータス1235を「ダウンロード完了」に更新し、キャンペーンDB123に上書きする(ステップS315)。その後、キャンペーン管理部112は、ステップS314で送信した更新用ソフトウェアのインストールの開始命令を車両20に送信する(ステップS316)。
そして、ステップS316のインストール開始命令を受信(受領)すると(ステップS309)、車両20のキャンペーン確認部212は、エンジンが停止状態(OFF状態)になるまで、更新用ソフトウェアのインストール開始を待機する待機状態に移行する。キャンペーン確認部212は、エンジンECU241から得られる情報を用いてエンジン停止を検知することができる。エンジンが停止した後の処理は図11に示される。
次に、図11を参照しながら、キャンペーンに基づく更新用ソフトウェアのインストール処理を説明する。図11に示した処理は、車両20に搭載されているソフトウェア更新装置210のキャンペーン確認部212及びECUソフトウェア更新部214と、テレマティクスセンタ10に搭載されている中央演算処理装置110のキャンペーン管理部112とによって実行される。
図11によればまず、車両20のキャンペーン確認部212が、エンジンECU241から得られる情報を用いてエンジン停止(OFF状態)を検知する(ステップS401)。ステップS401でエンジン停止を検知すると、キャンペーン確認部212は、実行中のキャンペーン(実行キャンペーン)が存在するか否かを確認する(ステップS402)。具体的には例えば、キャンペーン確認部212は、インストール開始命令を受領したが(図10のステップS309)、インストールまでは完了していない更新用ソフトウェアの有無を確認すればよい。
ステップS402の確認で実行キャンペーンが存在しなかった場合には(ステップS402のNO)、インストールする更新用ソフトウェアも存在しないことから、処理を終了する。一方、ステップS402の確認で実行キャンペーンが存在した場合には(ステップS402のYES)、キャンペーン確認部212は、実行キャンペーンの更新用ソフトウェア(図10の処理を経てダウンロード済み)の対象ECUへのインストール開始をテレマティクスセンタ10に通知する(ステップS403)。なお、更新用ソフトウェアのインストール先となる対象ECUは、実行キャンペーンのキャンペーン情報1230のECU−ID1233から特定することができる。
ステップS403のインストール開始通知を受けて、テレマティクスセンタ10では、キャンペーン管理部112が、実行キャンペーンのキャンペーン情報1230に対してステータス1235を「インストール中」に更新し、キャンペーンDB123に上書きする(ステップS411)。
また、インストール開始通知を送信した車両20では、ECUソフトウェア更新部214が、対象ECUのソフトウェアインストールを実行し、当該ECUの記憶装置を上書きする(ステップS404)。その後、ECUソフトウェア更新部214は、対象ECUからインストール結果(更新の成否情報)を受け取り、受け取った更新の成否情報をテレマティクスセンタ10に通知する(ステップS405)。
そして、ステップS405の通知を受けて、テレマティクスセンタ10では、キャンペーン管理部112が、実行キャンペーンのキャンペーン情報1230に対してステータス1235を「更新完了」に更新し、キャンペーンDB123に上書きする(ステップS412)。
以上のように、図10及び図11に示した処理が正常に進行することによって、本実施の形態に係るソフトウェア配信システム1では、キャンペーンによる更新用ソフトウェアの配信(ダウンロード及びインストール)が完了し、これをもってキャンペーンの実行が完了する。
(2)第2の実施の形態
前述したように、キャンペーンの用途の1つに、テストにおけるテスト車両を対象とする更新用ソフトウェアの限定的な配信がある。このテストのうち、主に設計開発段階のトライアルフェーズにおけるテストでは、1回のソフトウェアの更新でテストが完了することは少なく、複数回のソフトウェア更新を伴って一連のテストが実行されることが多い。具体的には例えば、テストコースにおいて、テスト車両の同一のECUに対して異なるバージョンのソフトウェアを順次更新しながらテスト走行を行い、その走行性能の変化を検証したりする。
このような一連のテストを1つのテスト計画としてみると、1つのテスト計画において異なる更新用ソフトウェアの配信が複数回に亘って実行されることになるため、複数のキャンペーンを作成し、テスト計画の進行にあわせてキャンペーンを順次実行する必要がある。また、テストの実行順序(テスト回次)やテストの開始位置等も定められることがあるため、テスト計画を管理するための情報には、第1の実施の形態で説明したキャンペーン情報よりも詳細な情報が必要となる。
以上の背景を鑑みて、第2の実施の形態では、第1の実施の形態と同様にキャンペーン全般について、操作ミスによる誤った更新用ソフトウェアの登録を防止できるだけでなく、キャンペーン情報を派生させたテスト計画情報を用いて、上記テスト計画を管理できるようにする。
なお、第2の実施の形態は、第1の実施の形態と同様に、図1に例示したソフトウェア配信システム1を用いて説明される。また、特段の記載がない限り、各DBに格納される情報の構成やキャンペーンの処理等も、第1の実施の形態と共通とする。そして、第1の実施の形態と共通する部分については、その説明を省略することがある。
(2−1)テスト計画情報の構成
図12は、テスト計画情報の具体例を示す図である。テスト計画情報は、設計開発段階等のテスト計画に特有の詳細な情報から構成され、テスト計画DB125に格納される。テスト計画情報は、キャンペーン情報の派生と捉えることができるが、第1の実施の形態で図4に例示したキャンペーン情報1230よりも詳細な項目を有する。
図12に例示したテスト計画情報1250は、テスト計画ID1251、テスト回次1252、ステータス1253、テスト開始日時1254、テスト終了日時1255、テスト車両VIN1256、ECU−ID1257、ソフトウェアID1258、テスト開始位置1259、及び更新日時1260を備えて構成されるテーブル形式のデータである。
テスト計画ID1251は、テスト計画を一意に特定可能な識別子であり、キャンペーンIDが派生したものである。なお、本例では、キャンペーン情報1230のキャンペーンID1231と区別できるように、テスト計画ID1251には「Trial」の文字列が含まれるようにしている。例えば、図12のデータ行の1行目には、テスト計画ID1251として「T45M012Trial」が記載されているが、このIDは、キャンペーンID「T45M012」で示されるキャンペーン(図4のデータ行の1行目参照)に対応するテスト計画のIDであることを意味する。
テスト回次1252は、テスト計画(同一のテスト計画ID)に含まれる個々のテストの実行順序を表す情報である。
ステータス1253は、当該レコードに示すテストの処理状況(進捗状況)を表す情報であり、例えば、「完了」または「未配信」で記載される。
テスト開始日時1254は、当該レコードに示すテストの実行開始日時を示す情報であり、テスト終了日時1255は、その実行終了日時を示す情報である。テスト開始日時1254及びテスト終了日時1255には予定の情報が記載されてもよい。また、当初は予定の情報を記載し、テストを実行したときに実際の実行日時で更新するようにしてもよい。
テスト車両VIN1256は、当該レコードに示すテストにおいて更新用ソフトウェアの配信対象となる車両20を特定するための情報であり、これまで説明してきた各種情報におけるVINと共通のデータである。なお、本例では、簡便のために、1台のテスト車両(図12によればテスト車両VIN「9GJH」)に限定して説明を進めるが、実際には、複数台のテスト車両が記載されてもよい。
ECU−ID1257は、当該レコードに示すテストにおいてソフトウェアの更新対象とされるECUの種別を特定するための情報であり、これまで説明してきた各種情報におけるECU−IDと共通のデータである。
ソフトウェアID1258は、当該レコードに示すテストにおいて配信される更新用ソフトウェアを特定するための情報であり、図5のソフトウェア情報1240のソフトウェアID1241と共通のデータである。ソフトウェアID1258には、更新用ソフトウェアをバージョン単位まで識別可能な識別子が記載される。
テスト開始位置1259は、当該レコードに示すテストにおいて、テストを開始する際の対象車両の位置を示す情報であり、例えば、テストコースのピットの座標等が記載される。テスト開始位置1259は、当該テストで配信される更新用ソフトウェアのECUへのインストールを許可する位置との意味合いも持つ。
そして、更新日時1260は、テスト計画情報1250の当該レコードが(最後に)更新された日時を示す情報である。
(2−2)テスト計画の処理
次に、本実施の形態に係るソフトウェア配信システム1によるテスト計画の作成や実行に関する処理について説明する。
なお、テスト計画において配信される更新用ソフトウェアは、第1の実施の形態で図6を参照しながら説明した更新用ソフトウェアの登録処理を準用することによって、ソフトウェアDB124に登録される。具体的には、図6におけるキャンペーン管理部112による処理をテスト計画管理部114が実行すればよい。
(2−2−1)テスト計画の作成
図13は、テスト計画の作成処理の処理手順の一例を示すシーケンス図である。図13に示す処理は、テスト計画情報を登録することによって新たなテスト計画を作成するための処理である。
なお、図13では、テスト計画の作成を依頼する端末を端末30としているが、本実施の形態では、車両20のナビゲーション端末230に置き換えてもよい。その場合、図13に示したキャンペーン情報入出力部311の代わりに、ナビゲーション端末230の更新情報表示部232が同様の処理を行うようにすればよい。
図13によればまず、テスト計画を策定するエンジニア等によって端末30の入出力装置330が操作され、登録しようとするテスト計画に必要な詳細情報(テスト計画情報1250に相当する情報)が入力される。具体例は省略するが、入出力装置330には、第1の実施の形態で説明したキャンペーン作成画面(図9参照)のような所定のテスト計画作成画面が表示されるとよい。
そしてステップS501では、上記の入力操作を受けて、端末30のキャンペーン情報入出力部311が、テレマティクスセンタ10に新しいテスト計画の作成を依頼する。このとき、上記入力操作で入力されたテスト計画の詳細情報がテレマティクスセンタ10に送信される。
ステップS501の依頼を受信したテレマティクスセンタ10では、キャンペーン管理部112(または車両管理部111)が、受信したテスト計画の詳細情報をテスト計画情報1250としてテスト計画DB125に格納することにより、依頼されたテスト計画情報を登録する(ステップS511)。そしてステップS512において、キャンペーン管理部112(または車両管理部111)は、ステップS511で実行したテスト計画情報1250の登録結果(すなわち、テスト計画の作成結果)を端末30に送信する。
なお、上記のステップS511においては、登録を依頼されたテスト計画情報に不備がないことを確認した上で、テスト計画情報1250を登録することが好ましい。具体的には例えば、指定されたテスト車両VIN、ECU−ID、ソフトウェアIDに対応する情報が、記憶装置120のDBに格納されているかを確認する。そして、確認の結果、当該情報が格納されていない場合には、ステップS511においてテスト計画情報1250の登録は行わず、ステップS512においてテスト計画を作成しなかった旨の作成結果を送信する。
また、キャンペーン管理部112は、テスト計画情報の登録を依頼されたとき、第1の実施の形態におけるキャンペーン情報の登録依頼時と同様に、過誤可能性判定処理を行い(図7及び図8参照)、今回のテスト計画情報で指定された更新用ソフトウェアの更新量が過去のテスト計画における更新用ソフトウェアの更新量から大きく乖離していないかを判定するようにしてもよい。補足すると、図8における「キャンペーン」を「テスト計画」に読み替えればよい。このとき、過誤可能性判定によって今回のテスト計画で指定された更新用ソフトウェアの更新量が過去履歴と比較して大きく乖離していると判定した場合には(図8のステップS226のYESに相当)、テスト計画情報を登録(テスト計画を作成)せずに警告メッセージを準備し、ステップS512で作成結果として送信する。このように過誤可能性判定処理を行うことによって、テスト計画の作成においても、ソフトウェアの選択ミスの防止効果に期待できる。
そして、ステップS512で送信されたテスト計画の作成結果を受信すると、端末30のキャンペーン情報入出力部311は、その作成結果を入出力装置330に表示する(ステップS502)。これにより、エンジニア等の操作者は、依頼したテスト計画の作成結果を確認することができる。
(2−2−2)更新用ソフトウェアの配信
図14及び図15は、テスト計画に基づく更新用ソフトウェアの配信処理の処理手順の一例を示すシーケンス図(その1,その2)である。図14には、テストで使用される車両20(テスト車両)がテレマティクスセンタ10から更新用ソフトウェアをダウンロードする処理が示され、図15には、図14に示したダウンロードの後、車両20(テスト車両)が更新用ソフトウェアを対象ECUにインストールし、その結果をテレマティクスセンタ10に通知する処理が示される。また、図16は、テスト計画確認画面の一例を説明する図である。
まず、図14を参照しながら、作成済みのテスト計画による更新用ソフトウェアのダウンロード処理を説明する。図14に示した処理は、車両20に搭載されているソフトウェア更新装置210のキャンペーン確認部212及び更新用ソフトウェア要求部213と、テレマティクスセンタ10に搭載されている中央演算処理装置110の更新用ソフトウェア配信部113及びテスト計画管理部114とによって実行される。
図14によればまず、車両20のキャンペーン確認部212が、エンジンECU241から得られる情報を用いてエンジン始動を検知する(ステップS601)。ステップS601でエンジン始動を検知すると、キャンペーン確認部212は、テレマティクスセンタ10からテスト計画を受信済みではないかを確認する(ステップS602)。
ステップS602においてテスト計画が未受信である場合は(ステップS602のYES)、キャンペーン確認部212は、自車両20を対象とするテスト計画の有無をテレマティクスセンタ10に問い合わせる(ステップS603)。一方、ステップS602においてテスト計画を受信済みである場合は(ステップS602のNO)、ステップS603及びS604の処理をスキップし、ステップS605に進む。
ステップS603の問い合わせを受けたテレマティクスセンタ10では、テスト計画管理部114が、テスト計画DB125に格納されたテスト計画情報1250を検索し、テスト車両VIN1256が送信元の車両20のVINと一致するレコードが存在するか否かを確認することによって、テスト計画の有無を検索する(ステップS611)。そして、テスト計画管理部114は、ステップS611の確認結果(検索結果)を車両20に送信する(ステップS612)。詳しくは、ステップS611で送信元の車両20のVINと一致するレコードが存在した場合には、当該レコードのテスト計画情報1250が検索結果として送信され、ステップS611で一致するレコードが存在しなかった場合には、テスト計画がない旨の検索結果が送信される。
テレマティクスセンタ10からの検索結果を受信した車両20では(ステップS604)、キャンペーン確認部212が、検索結果から次のテスト回次の有無を確認する(ステップS605)。具体的には、受信済みのテスト計画情報1250(ステップS604で受信したものを含む)のテスト回次1252及びステータス1253を参照し、ステータス「未配信」となっているテスト回次が存在する場合には、次のテスト回次があると判断し(ステップS605のYES)、ステップS606に進む。なお、次のテスト回次の判断では、テスト開始日時1254に記載された日時が近いか等も判断要素としてよい。一方、ステータス「未配信」となっているテスト回次が存在しない、あるいは、受信済みのテスト計画情報1250そのものが存在しない場合には、次のテスト回次がないと判断し(ステップS605のNO)、このときテスト計画による更新用ソフトウェアの配信は行われないため、処理を終了する。
ステップS606では、更新用ソフトウェア要求部213が、次のテスト回次に対応するテスト計画情報1250のレコードにおけるソフトウェアID1258から特定される更新用ソフトウェアの提供をテレマティクスセンタ10に要求する(ステップS606)。なお、以下の説明では、上記受信済みのテスト計画を「実行テスト計画」と称する。
テレマティクスセンタ10では、ステップS606の要求を受信すると(ステップS613)、更新用ソフトウェア配信部113が、指定されたソフトウェアID1258に基づいて、ソフトウェアDB124から要求された更新用ソフトウェア(すなわち、実行テスト計画の更新用ソフトウェア)を抽出し、車両20に送信する(ステップS614)。
ステップS614で送信された更新用ソフトウェアは、車両20で受信されてダウンロードが開始され(ステップS607)、ダウンロードデータは記憶装置215に蓄積される(ステップS608)。そして、更新用ソフトウェアのダウンロードが完了すると、キャンペーン確認部212は、ダウンロード完了をテレマティクスセンタ10に通知する(ステップS609)。
テレマティクスセンタ10では、ステップS609のダウンロード完了通知を受信(受領)すると、テスト計画管理部114が、実行テスト計画のテスト計画情報1250に対してステータス1253を「ダウンロード完了」に更新し、テスト計画DB125に上書きする(ステップS615)。その後、テスト計画管理部114は、ステップS614で送信した更新用ソフトウェアのインストールの開始命令を車両20に送信する(ステップS616)。
そして、ステップS616のインストール開始命令を受信(受領)すると(ステップS610)、車両20のキャンペーン確認部212は、エンジンが停止状態(OFF状態)になるまで、更新用ソフトウェアのインストール開始を待機する待機状態に移行する。キャンペーン確認部212は、エンジンECU241から得られる情報を用いてエンジン停止を検知することができる。エンジンが停止した後の処理は図15に示される。
なお、上記の説明では、更新用ソフトウェアの配信(ダウンロード)は、各テスト回次の前にそれぞれ行われるとしたが、処理の別例として、テスト計画単位で更新用ソフトウェアの配信(ダウンロード)を実行するようにしてもよい。
その場合、図14の処理は、ステップS605において、前述のように次のテスト回次の有無を判断するのではなく、ステップS604でテスト計画情報1250を受信したか否かを判断する。そして、テレマティクスセンタ10からテスト計画情報1250を受信した場合にのみ、ステップS606に進んで、テスト計画で配信予定の更新用ソフトウェア(同一のテスト計画ID1251を有するレコードで指定されたソフトウェアID1258によって特定される全ての更新用ソフトウェア)の提供をテレマティクスセンタ10に要求する。
このように、テスト計画単位で複数の更新用ソフトウェアを一括してダウンロードしておけば、その後の各ソフトウェアのインストールタイミングにおいて、速やかにインストールを開始することができ、テストの準備時間を短縮する効果に期待できる。例えば、テスト走行中にダウンロードを行うことによって、ダウンロード完了を待つだけの時間が発生することを抑制でき、テスト車両の停止時(エンジン停止時)には速やかに次のソフトウェアのインストールを開始することができる。
次に、図15を参照しながら、テスト計画に基づく更新用ソフトウェアのインストール処理を説明する。図15に示した処理は、車両20に搭載されているソフトウェア更新装置210のキャンペーン確認部212及びECUソフトウェア更新部214と、テレマティクスセンタ10に搭載されている中央演算処理装置110のテスト計画管理部114とによって実行される。
図15によればまず、車両20のキャンペーン確認部212が、エンジンECU241から得られる情報を用いてエンジン停止を検知する(ステップS701)。
ステップS701でエンジン停止を検知すると、キャンペーン確認部212は、次のテスト回次が存在するか否かを確認する(ステップS702)。具体的には例えば、現在のテスト計画のテスト計画情報1250を参照し、テスト回次1252に次回が存在するかを確認する。次のテスト回次が存在しなければ(ステップS702のNO)、インストールすべき更新用ソフトウェアもないので、処理を終了する。
一方、ステップS702において次のテスト回次が存在する場合(ステップS702のYES)、キャンペーン確認部212は、次回のテストに関する情報を入出力装置234に表示する(ステップS703)。
ここで、入出力装置234における表示画面について説明する。ステップS703において、操作者(例えばドライバ)に対する情報表示等の目的から、入出力装置234には、図16に例示するような画面「テスト計画確認画面」が表示される。
図16によれば、テスト計画確認画面1100は入出力装置234に表示され、上から順に、表示領域1101,1102,1103,1104を有し、さらに表示領域1104の下部にボタン1105,1106を有している。
表示領域1101〜1103は、テスト計画における次回のテストに関する情報等を表示するために設けられ、主にテスト計画情報1250に記載された情報が表示される。
具体的には、表示領域1101の表示内容は、テスト車両VIN1256及びECU−ID1257から取得することができる。また、表示領域1103の表示内容は、テスト計画ID1251、テスト回次1252、テスト開始日時1254及びテスト終了日時1255(テスト期間)、ソフトウェアID1258等に対応している。なお、表示領域1103のソフトウェアIDに紐付いて表示された「更新タイプ」及び「後バージョン」は、ソフトウェアID「APA_ver13_2」に基づいてソフトウェア情報1240(ソフトウェアDB124)を参照することによって取得できる。
表示領域1102には、テストコースにおいて次回のテストが開始される位置(テスト開始位置)と、テスト車両の現在位置(車両位置)とが示される。テスト開始位置は、テスト計画情報1250のテスト開始位置1259から取得することができる。車両位置は、車両DB121に記憶された車両情報1210の位置1213から取得することができる。図16の表示領域1102のように、数値データではなく情報を可視化して示すことにより、ドライバ等の操作者は、現在の状況を簡単に把握することができる。
表示領域1104には、更新用ソフトウェアのインストールについて、操作者(例えばドライバ)に許諾を求めるメッセージが表示されている。このメッセージへの回答として、ドライバは、ボタン1105の「はい」、またはボタン1106の「いいえ」を選択することにより、更新用ソフトウェアのインストールに対する許諾/不許可を与える。なお、表示領域1104に表示可能なメッセージは、図16の例に限定されない。他にも例えば、次回のテストで配信予定の更新用ソフトウェアのダウンロードが完了していない場合に、「ダウンロード完了までお待ちください」のようなメッセージを表示する等してもよい。
図15の説明に戻る。ステップS703でテスト計画確認画面が表示された後、キャンペーン確認部212は、ドライバの許諾が得られたか判断する(ステップS704)。具体的には、テスト計画確認画面1100のボタン1105が選択された場合に、次回のテスト用の更新用ソフトウェアのインストール開始に対する許諾が得られたと判断し(ステップS704のYES)、このとき、ステップS705に進む。一方、テスト計画確認画面1100のボタン1106が選択された場合は、ドライバの許諾が得らえなかったと判断し(ステップS704のNO)、処理を終了する。
次に、ステップS706では、キャンペーン確認部212は、自車両20(テスト車両)の現在位置がテスト開始位置から距離X以内であるか確認する。ここでの「距離X」とは、テスト計画情報1250のテスト開始位置1259で厳密に指定された開始位置からの所定の許容範囲を規定するものであって、適当な距離が予め設定される。ステップS706において自車両20の現在位置がテスト開始位置から距離Xを超えて離れていた場合には(ステップS706のNO)、更新用ソフトウェアのインストールを開始可能な位置にいないことから、処理を終了する。一方、ステップS706において距離X以内であった場合は(ステップS706のYES)、ステップS707に進む。
そして、ステップS707では、キャンペーン確認部212は、更新用ソフトウェアの対象ECUへのインストール開始をテレマティクスセンタ10に通知する。ステップS707のインストール開始通知を受けて、テレマティクスセンタ10では、テスト計画管理部114が、実行テスト計画のテスト計画情報1250に対してステータス1253を「インストール中」に更新し、テスト計画DB125に上書きする(ステップS711)。
また、インストール開始通知を送信した車両20では、ECUソフトウェア更新部214が、対象ECUのソフトウェアインストールを実行し、当該ECUの記憶装置を上書きする(ステップS708)。その後、ECUソフトウェア更新部214は、対象ECUからインストール結果(更新の成否情報)を受け取り、受け取った更新の成否情報をテレマティクスセンタ10に通知する(ステップS709)。
そして、ステップS709の通知を受けて、テレマティクスセンタ10では、テスト計画管理部114が、実行テスト計画のテスト計画情報1250に対してステータス1253を「完了」に更新し、テスト計画DB125に上書きする(ステップS712)。
以上のように、図14及び図15に示した処理が正常に進行することによって、本実施の形態に係るソフトウェア配信システム1では、テスト計画による更新用ソフトウェアの配信(ダウンロード及びインストール)が完了し、これをもってテスト計画における次回のテストを実行可能な準備が整う。
以上に説明してきたように、第2の実施の形態に係るソフトウェア配信システム1では、複数回の更新用ソフトウェアの配信を必要とするようなテスト計画について、通常のキャンペーンよりも詳細な情報(テスト計画情報)を用いて、車載機器に対する更新用ソフトウェアの配信を管理することができる。
また、上記のようなテスト計画が実行されるテストコース等では、テスト時間の制約や、ソフトウェアに対する専門知識を持たないテストスタッフ(ドライバ等)が、テスト計画の進行に合わせて更新用ソフトウェアをテスト車両にインストールしなければならないといった難しさがあった。このような課題に対して、第2の実施の形態に係るソフトウェア配信システム1は、以下のような効果を奏する。
まず、第2の実施の形態では、テストの開始前にテスト計画を作成し、テスト計画内で更新されるソフトウェアをまとめて指定して登録できるようにしている(図13参照)。このテスト計画の作成に関する操作は、テストコースに行く前に、専門知識を有するエンジニア等によって可能であるため、テストスタッフによる操作エラーを防止する効果に期待できる。また、テスト計画を作成において、第1の実施の形態におけるキャンペーンの作成と同様に過誤可能性判定処理を行うことも可能であることから、この場合、エンジニア等によるソフトウェアの選択ミスを防止することにも期待できる。
次に、第2の実施の形態では、テスト計画が作成された後、実際にテストを実施するテストコース等において、簡易な操作で複数の更新用ソフトウェアの配信(ダウンロード及びインストール)を実現できるようにしている(図14、図15参照)。
例えば、図14に示したように、テスト計画における更新用ソフトウェアのダウンロードについては、テスト車両(車両20)のエンジンの始動を契機として、自動的にテスト計画を検索したり(ステップS602〜S604、ステップS611〜S612)、次のテスト回次があった場合には、更新用ソフトウェアのダウンロードを自動的に実行したりすることができる(ステップS606〜S609、ステップS613〜S615)。このような処理が行われることによって、テストスタッフ(例えばドライバ)に専門的な判断を求めることなく、テスト走行をしている間に、次のテスト用の更新用ソフトウェアをダウンロードすることができ、人為的ミスの発生を抑制することができる。
また例えば、図15に示したように、テスト計画における更新用ソフトウェアのインストールについては、テスト車両(車両20)のエンジンの停止を契機として、テスト計画確認画面(図16参照)に次回のテストに関する情報が表示され、インストール可能な条件が整った場合には、テストスタッフ(例えばドライバ)が当該画面を確認して「はい」を意味するボタン1105を選択すれば、次の更新用ソフトウェアのインストールがすぐに開始される。すなわち、テストコースにおいて、専門知識を有するエンジニアでなくとも、テスト計画の進行に応じて表示されるテスト計画確認画面を見ながら簡単な操作(「はい」または「いいえ」を選択するだけ)で、次のテスト用のソフトウェアの更新を行うことが可能となり、人為的ミスの発生を抑制することができる。
以上のように、第2の実施の形態では、人為的ミスの発生を抑制しつつ、テストコース等において簡易な操作で複数の更新用ソフトウェアの配信を実現することができるため、操作ミス等による再設定の発生を防止し、また、次のテストに向けた準備に要する時間を短縮する効果に期待できる。
また、第2の実施の形態では、テスト計画以外のキャンペーンについては第1の実施の形態と同様の取り扱いがなされることから、第1の実施の形態と同様に、新キャンペーンの作成依頼に対して、更新用ソフトウェアの選択ミスの可能性がないと判定した場合に限り、キャンペーン情報1230が作成・登録され、当該キャンペーンが作成される。また、更新用ソフトウェアの選択ミスの可能性があると判定した場合には、キャンペーン作成画面1000で警告メッセージ(表示領域1003)を示すことにより、指定したソフトウェアが誤っていないか確認・検討させることができる。かくして、第2の実施の形態に係るソフトウェア配信システム1は、人為的な選択ミスに起因してキャンペーンで誤った更新用ソフトウェアが配信されることを防止できる。
(3)その他
なお、第1及び第2の実施の形態で示した本発明は、設計開発工程といった販売前のフェーズにのみ適用可能ではなく、車両の販売後におけるOTA(Field Over The Air)にも適用可能である。具体的には例えば、車両のユーザが、機能追加や車両のチューニングを目的としてソフトウェアを選択・購入するような場合に、キャンペーンによって更新用ソフトウェアを配信するケースが想定でき、このようなキャンペーンについて本発明を適用することにより、キャンペーンの作成時に、操作者の本来の意図とは異なる選択による、ソフトウェアの選択ミスを抑制する効果を奏する。
また、本発明は、上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。具体的には例えば、ソフトウェア配信サーバであるテレマティクスセンタ10が、表示機能を有する入出力装置を備え、端末30の入出力装置330や車両20(ナビゲーション端末230)の入出力装置234と同様の表示(キャンペーン作成画面やテスト計画確認画面)を行うようにする等してもよい。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
1 ソフトウェア配信システム
10 テレマティクスセンタ
20 車両
30 端末
40 ネットワーク
110 中央演算処理装置
111 車両管理部
112 キャンペーン管理部
113 更新用ソフトウェア配信部
114 テスト計画管理部
120 記憶装置
121 車両DB
122 車両構成DB
123 キャンペーンDB
124 ソフトウェアDB
125 テスト計画DB
130 通信部
210 ソフトウェア更新装置
211 中央演算処理装置
212 キャンペーン確認部
213 更新用ソフトウェア要求部
214 ECUソフトウェア更新部
215 記憶装置
216 位置測位装置
220 通信部
230 ナビゲーション端末
231 中央演算処理装置
232 更新情報表示部
233 記憶装置
234 入出力装置
241 エンジンECU
242 自動運転ECU
310 中央演算処理装置
311 キャンペーン情報入出力部
320 記憶装置
330 入出力装置
340 通信部
1000 キャンペーン作成画面
1100 テスト計画確認画面
1210 車両情報
1220 車両構成情報
1230 キャンペーン情報
1240 更新用ソフトウェア情報(ソフトウェア情報)
1250 テスト計画情報

Claims (15)

  1. 車両の車載機器に対する機能のアップデートを制御するソフトウェア配信システムであって、
    前記機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信サーバと、
    操作者による操作を受けて前記ソフトウェア配信サーバに対する入出力を行う端末と、
    前記車両に搭載され、前記ソフトウェア配信サーバから配信された前記ソフトウェアをダウンロードし、対象の車載機器にインストールするソフトウェア更新装置と、
    を備え、
    前記ソフトウェア配信サーバは、
    前記ソフトウェアを含む各種の情報を記憶する記憶部と、
    前記端末から前記キャンペーンのために必要な情報を受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、
    前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、
    を有し、
    前記端末の操作によって前記キャンペーンの作成が依頼されたとき、
    前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較し、所定の条件を満たした場合には、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信し、
    前記端末が、前記キャンペーン管理部から受信した前記所定の警告を所定の表示画面に表示する
    ことを特徴とするソフトウェア配信システム。
  2. 前記端末は、前記所定の警告を表示した前記所定の表示画面において、前記依頼されたキャンペーンを作成するか否かを再度決定するための入力手段を合わせて表示し、
    前記入力手段によって前記依頼されたキャンペーンを作成する決定がなされた場合、前記キャンペーン管理部は当該キャンペーンを作成する
    ことを特徴とする請求項1に記載のソフトウェア配信システム。
  3. 前記キャンペーン管理部が前記キャンペーンの作成を依頼されたときに用いる前記所定の条件とは、直近の複数回のキャンペーンによる前記ソフトウェアの更新量の前記統計情報に比べて、前記依頼されたキャンペーンによる前記ソフトウェアの更新量が乖離していることを判定するための条件である
    ことを特徴とする請求項1に記載のソフトウェア配信システム。
  4. 前記ソフトウェアの更新量は、更新の前後におけるソフトウェアのファイルサイズまたはソースコードの行数の差分またはバイナリファイルと見なした時の差分ビットの量またはECUに書き込む際に更新されるROMのブロック数に基づいて算出される
    ことを特徴とする請求項1に記載のソフトウェア配信システム。
  5. 複数の前記キャンペーンを段階的に実行するテスト計画について、
    前記ソフトウェア配信サーバは、
    前記端末から前記テスト計画のために必要な情報を受信し、前記受信した情報で構成されるテスト計画情報を前記記憶部に登録することによって当該テスト計画を作成するテスト計画管理部をさらに有し、
    前記ソフトウェア配信部は、前記テスト計画管理部に登録された前記テスト計画情報に従って、前記テスト計画に含まれる複数のキャンペーンに基づく前記ソフトウェアを当該テスト計画の対象車両に遠隔で配信し、
    前記テスト計画に基づいて前記ソフトウェアを配信された前記対象車両では、当該テスト計画に含まれるそれぞれのキャンペーンの実行前に、前記端末を介して当該キャンペーンに基づく前記ソフトウェアのインストールの実行についての許諾を操作者に求め、許諾が得られた場合に前記ソフトウェア更新装置が当該ソフトウェアのインストールを行う
    ことを特徴とする請求項1に記載のソフトウェア配信システム。
  6. 前記テスト計画情報には、前記キャンペーン情報を構成する情報に加えて、前記テスト計画におけるテストの回次及び開始位置を示す情報が少なくとも含まれる
    ことを特徴とする請求項5に記載のソフトウェア配信システム。
  7. 前記ソフトウェアのインストールの実行についての許諾を操作者に求める前記端末は、前記ソフトウェアが配信される前記対象車両に配置される
    ことを特徴とする請求項5に記載のソフトウェア配信システム。
  8. 前記ソフトウェア配信部は、前記テスト計画の開始前に、当該テスト計画に含まれる複数のキャンペーンに基づく前記ソフトウェアを一括して当該テスト計画の対象車両に遠隔で配信する
    ことを特徴とする請求項5に記載のソフトウェア配信システム。
  9. 車両の車載機器に対する機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信サーバであって、
    前記ソフトウェアを含む各種の情報を記憶する記憶部と、
    前記キャンペーンのために必要な情報を端末から受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、
    前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、
    を備え、
    前記端末から前記キャンペーンを作成する依頼を受けたときに、
    前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較して、所定の条件を満たした場合には、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信する
    ことを特徴とするソフトウェア配信サーバ。
  10. 前記キャンペーン管理部は、
    前記端末から前記キャンペーンを作成する依頼を受けたものの、前記依頼されたキャンペーンを作成せずに前記所定の警告を前記端末に送信した後、
    前記端末から、前記依頼されたキャンペーンを作成する旨の指示を改めて受けた場合には、当該キャンペーンを作成する
    ことを特徴とする請求項9に記載のソフトウェア配信サーバ。
  11. 前記キャンペーン管理部が前記キャンペーンの作成を依頼されたときに用いる前記所定の条件とは、直近の複数回のキャンペーンによる前記ソフトウェアの更新量の前記統計情報に比べて、前記依頼されたキャンペーンによる前記ソフトウェアの更新量が乖離していると判定するための条件である
    ことを特徴とする請求項9に記載のソフトウェア配信サーバ。
  12. 前記ソフトウェアの更新量は、更新の前後におけるソフトウェアのファイルサイズまたはソースコードの行数の差分またはバイナリファイルと見なした時の差分ビットの量またはECUに書き込む際に更新されるROMのブロック数に基づいて算出される
    ことを特徴とする請求項9に記載のソフトウェア配信サーバ。
  13. 車両の車載機器に対する機能のアップデートを制御するソフトウェア配信システムによるソフトウェア配信方法であって、
    前記ソフトウェア配信システムは、
    前記機能のアップデートをキャンペーンで管理し、当該キャンペーンに基づくソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信サーバと、
    操作者による操作を受けて前記ソフトウェア配信サーバに対する入出力を行う端末と、
    前記車両に搭載され、前記ソフトウェア配信サーバから配信された前記ソフトウェアをダウンロードし、対象の車載機器にインストールするソフトウェア更新装置と、
    を有し、
    前記ソフトウェア配信サーバは、
    前記ソフトウェアを含む各種の情報を記憶する記憶部と、
    前記端末から前記キャンペーンのために必要な情報を受信し、前記受信した情報で構成されるキャンペーン情報を前記記憶部に登録することによって当該キャンペーンを作成するキャンペーン管理部と、
    前記キャンペーン管理部に登録された前記キャンペーン情報に従って、前記キャンペーンに基づく前記ソフトウェアを当該キャンペーンの対象車両に遠隔で配信するソフトウェア配信部と、
    を有し、
    前記端末の操作によって前記キャンペーンの作成が依頼されたとき、
    前記キャンペーン管理部が、前記依頼されたキャンペーンの対象となる前記車両の車載機器における直近の複数回のキャンペーンによる前記ソフトウェアの更新量の統計情報と、前記依頼されたキャンペーンによる前記ソフトウェアの更新量とを比較する比較ステップと、
    前記比較ステップにおいて所定の条件を満たした場合には、前記キャンペーン管理部が、前記依頼されたキャンペーンを作成せず、所定の警告を準備して前記端末に送信するキャンペーン非作成ステップと、
    前記キャンペーン非作成ステップを受けて、前記端末が、前記キャンペーン管理部から受信した前記所定の警告を所定の表示画面に表示する警告表示ステップと、
    を備えることを特徴とするソフトウェア配信方法。
  14. 前記警告表示ステップにおいて、前記端末は、前記所定の警告を表示した前記所定の表示画面に、前記依頼されたキャンペーンを作成するか否かを再度決定するための入力手段を合わせて表示し、
    前記警告表示ステップの後、前記入力手段によって前記依頼されたキャンペーンを作成する決定がなされた場合に、前記キャンペーン管理部が当該キャンペーンを作成するキャンペーン作成ステップと、をさらに備える
    ことを特徴とする請求項13に記載のソフトウェア配信方法。
  15. 複数の前記キャンペーンを段階的に実行するテスト計画について、
    前記ソフトウェア配信サーバは、
    前記端末から前記テスト計画のために必要な情報を受信し、前記受信した情報で構成されるテスト計画情報を前記記憶部に登録することによって当該テスト計画を作成するテスト計画管理部をさらに有し、
    前記ソフトウェア配信部は、前記テスト計画管理部に登録された前記テスト計画情報に従って、前記テスト計画に含まれる複数のキャンペーンに基づく前記ソフトウェアを当該テスト計画の対象車両に遠隔で配信し、
    前記テスト計画に基づいて前記ソフトウェアを配信された前記対象車両では、当該テスト計画に含まれるそれぞれのキャンペーンの実行前に、前記端末を介して当該キャンペーンに基づく前記ソフトウェアのインストールの実行についての許諾を操作者に求め、許諾が得られた場合に前記ソフトウェア更新装置が当該ソフトウェアのインストールを行う
    ことを特徴とする請求項13に記載のソフトウェア配信方法。

JP2018146333A 2018-08-02 2018-08-02 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法 Active JP6930949B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018146333A JP6930949B2 (ja) 2018-08-02 2018-08-02 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
EP19188099.6A EP3605320B1 (en) 2018-08-02 2019-07-24 Software distribution system, software distribution server, and software distribution method
US16/528,109 US10956147B2 (en) 2018-08-02 2019-07-31 Software distribution system, software distribution server, and software distribution method
CN201910699410.2A CN110795138B (zh) 2018-08-02 2019-07-31 软件发布系统、软件发布服务器和软件发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018146333A JP6930949B2 (ja) 2018-08-02 2018-08-02 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法

Publications (2)

Publication Number Publication Date
JP2020021381A true JP2020021381A (ja) 2020-02-06
JP6930949B2 JP6930949B2 (ja) 2021-09-01

Family

ID=67438721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018146333A Active JP6930949B2 (ja) 2018-08-02 2018-08-02 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法

Country Status (4)

Country Link
US (1) US10956147B2 (ja)
EP (1) EP3605320B1 (ja)
JP (1) JP6930949B2 (ja)
CN (1) CN110795138B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022025565A (ja) * 2020-07-29 2022-02-10 株式会社デンソー セキュリティ監視システム
JP2022150141A (ja) * 2021-03-26 2022-10-07 本田技研工業株式会社 プログラム更新管理システム、移動体故障診断装置、プログラム更新管理方法
KR20230068520A (ko) * 2021-11-11 2023-05-18 엘아이지넥스원 주식회사 소프트웨어 업데이트 시스템 및 소프트웨어 업데이트 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397817B2 (en) * 2019-08-22 2022-07-26 Denso Corporation Binary patch reconciliation and instrumentation system
JP7392407B2 (ja) * 2019-11-14 2023-12-06 株式会社デンソー センター装置、車両用電子制御システム、プログラム更新の進捗制御方法及びプログラム更新の進捗制御プログラム
JP7143360B2 (ja) * 2020-03-27 2022-09-28 矢崎総業株式会社 車両通信システム
JP7457585B2 (ja) * 2020-06-16 2024-03-28 株式会社日立製作所 ソフトウェア照会情報管理システム、及びソフトウェア照会情報管理方法
DE102022104321A1 (de) * 2021-03-05 2022-09-08 Toyota Jidosha Kabushiki Kaisha Center, aktualisierungsmanagementverfahren und nicht-transitorisches speichermedium
KR20230025108A (ko) 2021-08-13 2023-02-21 현대자동차주식회사 차량용 ota 업데이트 수행 장치 및 방법
US20230064124A1 (en) * 2021-08-26 2023-03-02 Uber Technologies, Inc. User-Assisted Autonomous Vehicle Motion Initiation for Transportation Services
CN114710521B (zh) * 2022-03-11 2023-04-18 重庆长安汽车股份有限公司 一种实现车载软件付费授权的车云平台架构系统及方法
CN115658091B (zh) * 2022-10-25 2024-04-16 广州汽车集团股份有限公司 软件发布方法、装置、计算机设备以及存储介质
KR102585388B1 (ko) * 2022-11-30 2023-10-23 펜타시큐리티 주식회사 차량 ota 업데이트의 효율성 향상을 위한 oma-dm 프로토콜의 메시지 노드 확장 방법 및 이를 이용하는 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280415A (ja) * 2007-06-04 2007-10-25 Hitachi Electronics Service Co Ltd 管理装置及びバージョン管理システム及びプログラムバージョン管理方法
JP2011100464A (ja) * 2010-11-24 2011-05-19 Konica Minolta Business Technologies Inc プログラム更新管理装置
JP2016071816A (ja) * 2014-10-02 2016-05-09 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法
JP2018045515A (ja) * 2016-09-15 2018-03-22 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP2018055645A (ja) * 2016-09-30 2018-04-05 株式会社日立製作所 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU502805B2 (en) 1974-09-05 1979-08-09 Chevron Research Company Sulphur-containing carboxylaten as ep. agents
JP2006011717A (ja) * 2004-06-24 2006-01-12 Toshiba Corp ソフトウエア更新システムとこのシステムで使用される携帯端末
TWI280521B (en) * 2005-11-25 2007-05-01 Far Eastone Telecomm Co Ltd System for updating composite object for on board unit (OBU) and method thereof
JP4864557B2 (ja) * 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
JP2011039996A (ja) * 2009-08-18 2011-02-24 Chugoku Electric Power Co Inc:The 作業支援システム
US8667477B2 (en) * 2010-12-30 2014-03-04 Sap Ag Modifying software code
JP5829839B2 (ja) 2011-06-16 2015-12-09 富士通テン株式会社 サーバ装置、プログラム提供システム、プログラム提供方法、及び、プログラム
US9201804B1 (en) * 2012-02-06 2015-12-01 Google Inc. Dynamically adapting the configuration of a multi-queue cache based on access patterns
WO2013133212A1 (ja) * 2012-03-09 2013-09-12 三菱電機株式会社 無線通信端末、ソフトウェア更新システムおよびソフトウェア更新方法
US8978160B2 (en) * 2012-09-12 2015-03-10 GM Global Technology Operations LLC Method for selective software rollback
US10127036B2 (en) * 2015-06-15 2018-11-13 Lear Corporation Method for OTA updating vehicle electronic control unit
US10165084B2 (en) * 2015-06-16 2018-12-25 Lear Corporation Method for software updating of vehicle components
US9940122B2 (en) * 2015-12-22 2018-04-10 Intel Corporation Dynamic data difference generation and distribution
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
JP6440643B2 (ja) * 2016-01-26 2018-12-19 株式会社日立製作所 ソフトウェア更新システム、サーバ
JPWO2017145357A1 (ja) * 2016-02-26 2018-06-07 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP6365572B2 (ja) * 2016-03-14 2018-08-01 トヨタ自動車株式会社 車両用のソフトウェア管理システム、管理サーバ及び車両
US20180024826A1 (en) * 2016-07-19 2018-01-25 Ford Global Technologies, Llc Vehicle region-specific software updates distribution
CN105978921A (zh) * 2016-07-29 2016-09-28 重庆长安汽车股份有限公司 一种车载通信终端远程升级方法
CN107493186A (zh) * 2016-12-23 2017-12-19 宝沃汽车(中国)有限公司 车辆的远程升级系统及其控制方法
US10565330B2 (en) * 2017-03-07 2020-02-18 Wipro Limited System and method of vehicle telematics simulation and testing
CN110494847B (zh) * 2017-04-12 2023-02-17 住友电气工业株式会社 中继设备、传送方法和计算机程序
US11768936B2 (en) * 2018-07-31 2023-09-26 EMC IP Holding Company LLC Anomaly-based ransomware detection for encrypted files

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280415A (ja) * 2007-06-04 2007-10-25 Hitachi Electronics Service Co Ltd 管理装置及びバージョン管理システム及びプログラムバージョン管理方法
JP2011100464A (ja) * 2010-11-24 2011-05-19 Konica Minolta Business Technologies Inc プログラム更新管理装置
JP2016071816A (ja) * 2014-10-02 2016-05-09 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法
JP2018045515A (ja) * 2016-09-15 2018-03-22 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP2018055645A (ja) * 2016-09-30 2018-04-05 株式会社日立製作所 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022025565A (ja) * 2020-07-29 2022-02-10 株式会社デンソー セキュリティ監視システム
JP7380473B2 (ja) 2020-07-29 2023-11-15 株式会社デンソー セキュリティ監視システム
JP2022150141A (ja) * 2021-03-26 2022-10-07 本田技研工業株式会社 プログラム更新管理システム、移動体故障診断装置、プログラム更新管理方法
JP7434205B2 (ja) 2021-03-26 2024-02-20 本田技研工業株式会社 プログラム更新管理システム、移動体故障診断装置、プログラム更新管理方法
KR20230068520A (ko) * 2021-11-11 2023-05-18 엘아이지넥스원 주식회사 소프트웨어 업데이트 시스템 및 소프트웨어 업데이트 방법
KR102621442B1 (ko) * 2021-11-11 2024-01-09 엘아이지넥스원 주식회사 소프트웨어 업데이트 시스템 및 소프트웨어 업데이트 방법

Also Published As

Publication number Publication date
CN110795138A (zh) 2020-02-14
CN110795138B (zh) 2023-11-28
EP3605320B1 (en) 2021-06-02
US20200042306A1 (en) 2020-02-06
EP3605320A1 (en) 2020-02-05
JP6930949B2 (ja) 2021-09-01
US10956147B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
JP6930949B2 (ja) ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
CN109857418B (zh) 车载软件分发系统、服务器及方法
US11782691B2 (en) Method and apparatus for over the air updates
US12001825B2 (en) Method and apparatus for vehicle software update installation
EP2740062B1 (en) Software distribution amongst medical devices taking into account dependencies between devices
EP3937013B1 (en) Software distribution to medical devices via an intermediary which enforces maintenance of a transaction log
EP2740032B1 (en) Managing software distribution for regulatory compliance
CN102741900A (zh) 道路状况管理系统及道路状况管理方法
CN108710497A (zh) 一种车载中控的系统更新方法及车载中控
US20190155998A1 (en) Information terminal, communication terminal, server, license transfer system and license transfer method
CN101663666B (zh) 二进制码验证服务
JP7484791B2 (ja) Otaマスタ、更新制御方法、及び更新制御プログラム
CN115454486A (zh) 一种自动驾驶软件的管理方法、装置、设备及介质
CN115016809A (zh) 中心、更新管理方法、以及非暂时性存储介质
JP2022099197A (ja) 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
JP4567311B2 (ja) 開発管理システムおよび開発管理プログラム
JP7069431B1 (ja) データ配信プログラム、サーバ装置、端末装置、データ配信方法およびデータ配信システム
JP7509059B2 (ja) センタ、更新管理方法、及び更新管理プログラム
US11599351B2 (en) Server, update management method, non-transitory storage medium, and center
US20220414615A1 (en) Information processing apparatus, information processing method, and storage medium
US20220222054A1 (en) Center, update management method, and non-transitory storage medium
US20220405081A1 (en) Center, ota master, method, non-transitory storage medium, and vehicle
KR20100073236A (ko) 복수 모델의 네비게이션 기기의 통합 업그레이드 방법 및 장치 그리고 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR20240025970A (ko) Rxswin 정보를 포함하는 차량 제어 장치 및 그를 포함한 차량 제어 시스템
KR20240022935A (ko) 펌웨어 업데이트 시스템 및 그의 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200817

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210730

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210812

R150 Certificate of patent or registration of utility model

Ref document number: 6930949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150