JP2018055645A - 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム - Google Patents

計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム Download PDF

Info

Publication number
JP2018055645A
JP2018055645A JP2016194786A JP2016194786A JP2018055645A JP 2018055645 A JP2018055645 A JP 2018055645A JP 2016194786 A JP2016194786 A JP 2016194786A JP 2016194786 A JP2016194786 A JP 2016194786A JP 2018055645 A JP2018055645 A JP 2018055645A
Authority
JP
Japan
Prior art keywords
software
update
terminal
update file
computer system
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
JP2016194786A
Other languages
English (en)
Other versions
JP6755158B2 (ja
Inventor
博史 峯
Hiroshi Mine
博史 峯
壮希 櫻井
Soki Sakurai
壮希 櫻井
昇 木山
Noboru Kiyama
昇 木山
加藤 淳
Atsushi Kato
淳 加藤
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 JP2016194786A priority Critical patent/JP6755158B2/ja
Priority to EP17183669.5A priority patent/EP3301565B1/en
Priority to US15/667,778 priority patent/US11048493B2/en
Publication of JP2018055645A publication Critical patent/JP2018055645A/ja
Application granted granted Critical
Publication of JP6755158B2 publication Critical patent/JP6755158B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

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

Abstract

【課題】端末の制御システムを更新するために、端末にソフトウェアを送信できれば、端末がソフトウェアによって正しく機能できるようにした計算機システムを提供する。【解決手段】端末のソフトウェアを遠隔から更新できるように構成された計算機システム10であり、プロセッサは、端末のソフトウェアを更新するための更新ファイルを生成してメモリに保存し、更新ファイルを送信すべき特定端末を決定し、更新ファイルをメモリから読み出して送信モジュールから特定端末に送信し、特定端末から更新ファイルの動作情報を、受信モジュールを介して受信し、動作情報に基づいて、特定端末以外の端末への前記更新ファイルの配信の要否を判定する。【選択図】図1

Description

本発明は計算機システムに係り、例えば、端末のソフトウェアを遠隔から更新するための計算機システムに関する。本発明は、さらに、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラムに関する。
近年では、多くの製品がソフトウェアによって制御されるようなっている。そして、製品のソフトウェアを更新するためのシステムが存在する(例えば、特開2005-349878号公報)。この種のシステムの一つに、OTA(Over The Air)センタがあり、これは、車両のエンジンコントロールユニット(ECU)や、その他、スマートフォン等、様々な製品や端末の制御システムを無線通信によって遠隔から更新することを可能にしている。
特開2005-349878号公報
制御システムを備える製品は、機能安全に配慮されたものであることが大切である。機能安全規格は1990年代末に欧州を中心に策定されたものであり、国際規格である“IEC 61508”をベースとし、現在では、製品カテゴリごとに独自の機能安全規格が策定されている。
この種の機能安全規格として、例えば、“ISO 26262”がある。これは、自動車に搭載されているあらゆるシステムのうち、センサーから、制御装置(ECU)、アクチュエータ(モータ)に関して、電気・電子機器等のハードウェア/ソフトウェアを対象としている。
“ISO 26262”は、自動車の要求定義(構想段階)から、開発、生産、保守・運用、廃車に至るまでのライフサイクル全体という広範囲の領域での機能安全を定義しており、自動車メーカ、自動車部品メーカ等のサプライヤはこの規格を順守しなければならない。
自動車の制御用ソフトウェアを更新するOTAセンタ自体も、自動車と同様に、機能安全規格に準拠したものでなければならない。“ISO 26262”では、ソフトウェア、及び/又は、ハードウェアコンポーネントのモジュールが、“Proven in Use”項によって、定義された安全要求に準拠していることを証明できるようにしている。即ち、OTAセンタが、端末に、システム更新用のソフトウェアを正常に配信できているという実績を備えていれば、機能安全の審査機関は、この実績を機能安全の要求の評価や審査に流用できる。
しかしながら、OTAセンタによって、更新用ソフトウェアが端末に問題なく適用できたとしても、端末がソフトウェアによって正しく機能できない場合には、OTAセンタはソフトウェアの更新をやり直さなければならないばかりか、ひいては、実績の評価も影響を受けるおそれがあった。
そこで、本発明は、端末の制御システムを更新するために、端末にソフトウェアを送信できれば、端末がソフトウェアによって正しく機能できるようにした計算機システム、及び、それに関連する発明を提供することを目的とする。
前記目的を達成するために、本願発明は、端末のソフトウェアを遠隔から更新できるように構成された計算機システムであって、プロセッサと、メモリと、送信モジュールと、受信モジュールと、を備え、前記プロセッサは、前記端末のソフトウェアを更新するための更新ファイルを生成して前記メモリに保存し、前記更新ファイルを送信すべき特定端末を決定し、前記更新ファイルを前記メモリから読み出して前記送信モジュールから前記特定端末に送信し、前記特定端末から前記更新ファイルの動作情報を、前記受信モジュールを介して受信し、前記動作情報に基づいて、前記特定端末以外の端末への前記更新ファイルの配信の要否を判定する、ことを特徴とする。本発明は、さらに、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラムを提供する。
本発明によれば、端末の制御システムを更新するために、端末にソフトウェアを送信できれば、端末がソフトウェアによって正しく機能できるようにした計算機システムを提供することができる。
計算機システムのハードウェアブロック図である。計算機システム10を構成する複数のモジュールのブロック図である。 計算機システムを構成する複数のモジュールのブロック図である。 更新情報の一例に係るテーブルである。 更新用ソフトウェアのメタ情報の一例に係るテーブルである。 管理DBのうち、車種IDとECU ID(エンジンコントロールユニットのID)との対応テーブルの一例である。 更新情報の累積テーブルの一例である。 更新用ソフトウェアDBの一例である。 パッケージ生成モジュールの詳細ブロック図である。 ソフトウェアパッケージのメタ情報の一例に係るテーブルである。 パッケージDBに記録された、ソフトウェアパッケージと試験ログのリンクテーブルの一例である。 試験ログ情報テーブルの一例である。 車両データベースの第1のテーブルである。 車両データベースの第2のテーブルである。 車両選択モジュールの詳細ブロック図である。 ソフトウェアパッケージに属性フラグを設定するためのフローチャートである。 車両選択モジュールの動作を示すフローチャートである。 送信モジュールの動作を示すフローチャートである。 抽出モジュールの動作を示すフローチャートである。 第2の実施形態での更新用ソフトウェアのメタ情報のテーブルの一例である。 複数のタグを階層化したツリー構造の一例である。
本発明に係る計算機システムは、端末のソフトウェアを遠隔から更新できるように構成される。計算機システムの一つの態様としてOTAセンタがあることは既述したとりである。端末の動作、機能を制御するソフトウェアは適宜新しいバージョンに更新されるため、計算機システムは、端末を更新するためのソフトウェアを管理し、そして、ソフトウェアを端末へ送信する等、端末のソフトウェアを更新するための処理の大部分を担っている。
計算機システムによって、ソフトウェアが更新される端末として、例えば、自動車のエンジンコントロールユニット(ECU)があるが、これに限定されるものではなく、例えば、スマートフォン、インテリジェット家電、ガス器具等であってもよい。端末は、製品、又は、更新対象と言い換えられてもよい。
計算機システムは、端末を更新するためのソフトウェアを端末に送信するまでの処理を順番に実行する複数のモジュールを備える。モジュールとは、計算機システムの機能を発揮するための単位である。モジュールには、ハードウェアを主体とするモジュールと、ソフトウェアを主体とするモジュール(機能モジュール)とがある。計算機システムのプロセッサはソフトウェアを実行して、機能モジュールを実現する。機能モジュールは、プログラムの全部又は一部である。
計算機システムは、ソフトウェアが端末で正しく動作しなかった場合、端末からの情報、例えば、エラーコードを解析して、ソフトウェアに不具合があることを特定することは可能である。そして、計算機システムは不具合を解消するためのソフトウェアがあれば、これを端末に配信することはできる。しかしながら、ソフトウェアの配信対象が自動車等機能安全規格に準拠することが求められるものである場合、ソフトウェアを広く配信した後にソフトウェアの不具合が発覚することによる影響は大きい。そこで、計算機システムは、ソフトウェアを端末に広く配信する前に、ソフトウェアの動作具合を実際に検証し、事前検証が済んだソフトウェアを端末に配信するようにした。以下に説明する計算機システムは、自動車のECUの制御用システムを更新するソフトウェアを、自動車の通信モジュールに無線によって配信するように構成されている。
図1に、計算機システム10のハードウェアブロック図を示す。計算機システム10は、サーバシステムとして構成されてよく、プロセッサ、又は、コントローラとしてのCPU12と、端末、即ち、更新対象としてのECUのソフトウェアの更新処理を実行するための制御プログラムや制御用データを記録するメモリ14(非一時的記録媒体)と、各種データ及びデータベースを記録するストレージ装置16と、を備える。ストレージ装置16は計算機システムに内蔵されるハードディスク装置等、及び/又は、ネットワーク20によって計算機システムがアクセス可能な外部記憶装置(データセンタ)等であってよい。プロセッサ12は、制御プログラムを実行することによって、複数のモジュールを実現して、端末に於けるソフトウェアの更新を可能にする。計算機システム10は、ユーザ(車両のサプライヤ、OEMメーカ等)の計算機システム(サーバ計算機、クライアント計算機)とネットワーク20によって接続されている。計算機システムをサーバシステム、又は、データセンタと呼んでもよい。
図2は、計算機システム10を構成する複数のモジュールのブロック図である。インターフェース104は、計算機システム10外の計算機から、更新情報100と、更新用ソフトウェア(ECU用ソフトウェア)102を取り込む。更新情報は、例えば、OEMメーカによって計算機システム10に提供される。更新用ソフトウェアは、例えば、サプライヤから計算機システム10に提供される。
更新情報100は、ソフトウェアの更新を管理するための管理情報である。更新情報の一例が図3Aに示されている。更新情報100は、更新ID(100A)、対象車種(100B)と、更新ファイルID(100C)と、更新前バージョン情報(100D)と、更新後バージョン情報(100E)と、更新ソフトウェアの内容:テキスト文(100F)と、含んでいる。更新ファイルは更新用ソフトウェアのファイルである。
更新IDは、ソフトウェアの更新のためのタスクを一意に区別する識別情報である。対象車種は、更新用ソフトウェアが適用される対象としての車種の情報である。更新ファイルIDは、更新用ソフトウェア(更新ファイル)を一意に区別する情報である。更新前バージョン情報は、更新用ソフトウェアの一つ前のバージョンの識別情報であり、更新後バージョンは、更新用ソフトウェアの現在のバージョンの識別情報である。
図3Bに、更新用ソフトウェア102のメタ情報の例を示す。更新用ソフトウェアは、更新ファイルと更新スクリプトから構成され、メタ情報は、更新ファイルID(102A)と、更新用ソフトウェアのバージョン情報(102B)と、更新ファイルの記憶領域へのリンク情報(102C)と、更新スクリプトのリンク情報(102D)と、を含んでいる。
図2において、インターフェース104は、更新情報100を受信すると、更新情報100を管理データベース(DB)106に累積記録し、更新用ソフトウェア102を受信すると、更新用ソフトウェアを更新用ソフトウェアDB108に累積記録する。
図4Aは、管理DB106のうち、車種IDとECU ID(エンジンコントロールユニットのID)との対応テーブルの一例であり、図4Bは、更新情報100の累積テーブルの一例である。さらに、図5は更新用ソフトウェアDB108の一例である。DB108には更新用ソフトウェアの古いバージョンも記録されている。
計算機システム10は、更新用ソフトウェアに基づいて対象を更新するための更新ファイルを生成する。更新ファイルは、後述の差分ファイルを備えるソフトウェアパッケージとして生成されてよい。パッケージ生成モジュール110(図2)は、ソフトウェアパッケージを生成する。図6は、パッケージ生成モジュールの詳細ブロック図である。差分生成モジュール110Aは、更新IDごとに、管理データベース106と、更新用ソフトウェアDB108とを参照して、更新用ソフトウェアの現在のバージョンと前回のバージョンとを比較し、前者の後者に対する差分を求めて、差分ファイルを生成する。計算機システム10は差分ファイルを更新対象に適用することによって、対象のソフトウェアを旧バージョンから新バージョンにアップデートすることができる。
合成モジュール110Bは、管理データベース106を参照して、更新IDから対象車種を決定し、対象車種からECU IDを求め、これを差分ソフトウェアに付加して、更新対象に配信されるソフトウェアパッケージを生成する。合成モジュール110Bは、ソフトウェアパッケージをパッケージDB114に記録する。計算機システム10は、差分ファイルを更新対象に配信することによって、送信するデータ量を低減することができる。
図7に、ソフトウェアパッケージ(パッケージ保存DB114)のメタ情報の一例を示す。ソフトウェアパッケージは、パッケージを一意に区別するパッケージID(112A)と、パッケージが配信されるべきECU(対象ECU)のID(112B)と、差分ファイルのリンク情報(112C)と、差分スクリプトのリンク情報(112D)と、属性情報112Eと、を含む。属性情報とは、ソフトウェアパッケージの事前検証や配信等、更新ファイルを管理するための情報であり、フラグによって管理される。フラグの詳細については後述する。
パッケージDB114(図2)は、ソフトウェアパッケージと、更新ファイルの事前検証の結果(検証情報)とを関連させて記録する。事前検証とは、更新ソフトウェアを一般車両のECU(特定端末以外の端末、即ち、一般端末)に広く配信する前に試験車両のECU(特定端末)に送信し、更新ファイルを試験車両において実際に動作させて、更新用ソフトウェアが試験車両で正常に動作するかを試験することである。試験車両からは更新ファイルの動作情報、即ち、動作試験の結果である検証情報が発信され、計算機システム10はこれを受信して更新ファイルが動作試験に合格したか否かを判定する。動作試験の合否は、計算機システム10が判定してもよいし、試験車両の制御システムによって判定されてもよい。検証情報は、試験のログ(試験の実施日時、試験結果)を含む。試験は、複数の項目について実施されてよい。試験が、複数の項目について実施されることによって、更新用ソフトウェアの品質がより正しく評価される。
図8に、パッケージDB114に記録された、ソフトウェアパッケージと試験ログのリンクテーブルの一例を示す。このテーブルでは、ソフトウェアパッケージID(114A)に対象ECUのID(114B)と試験ログの経過114Cとを対応させている。計算機システム(後述の試験結果抽出モジュール126)は、試験車両から試験結果の情報を受信する都度、試験ログIDを決めて試験ログ情報テーブル(図9)を生成するとともに、試験結果(114D)を判定してリンクテーブル(図8)に記録する。図8の「起動」、「ブレーキ」、「加速」、「ステアリング」は、試験項目の例である。「1」は、更新ソフトウェアが試験車両において正常に動作したことを示し、「−」は、試験が行われなかったことを示す。なお、更新ソフトウェアが試験車両において正常に動作しなかった場合には、「0」がリンクテーブルに記録される。なお、試験ログは、既述の“Proven in Use”項に対するエビデンスとなり得る。
図9は試験ログ情報テーブルの一例である。このテーブルは、パッケージデータDB114に記録されていてよい。このテーブルは、試験ログのID毎に、試験を行った試験車両のIDと、試験開始日時と、試験終了日時と、結果コード、試験対象と、を含んでいる。計算機システム10は、結果コードから試験結果を判定する。「000」は、ソフトウェアが正常に動作したことを示す。
計算機システム10は、さらに、更新対象(車両)の情報を記録した車両DB116(図2)を備える。次に、車両DB116は車両の情報テーブルであり、図10Aにその一例として第1のテーブルを示す。このテーブルは、車両ID毎に、車種、ECU ID、ECUを動作させるソフトウェアのバージョン、試験車両フラグ(1:試験車両、0:一般車両)、車両の所在地情報と、車両状態フラグ(1:メンテナンス中、2:試験可能、3:試験中)、走行データと、を含んでいる。
走行データには、「ブレーキ頻度」、「高速道路利用頻度」等車両の走行態様が含まる。計算機システム10(例えば、モジュール126)は、車両を車両データベース116に登録する際に、車両ID、車種、ECU ID、試験車両フラグを設定する。計算機システム10は、車両のソフトウェアを更新する都度、ソフトウェアのバージョンを書き換える。計算機システム10は車両から受信した情報に基づいて、車両の所在地情報と、走行データと、を更新する。一般車両にとっては、所在地情報と、走行データは必須ではないが、これら情報は、複数の試験車両の中から、ソフトウェアの動作試験に適した試験車両を選択する際に有効である。
図10Bは、車両データベース116の第2のテーブルであって、試験車両のID毎に、試験項目と、試験が実施された日時、又は、試験が実施される日時(スケジュール)が記録されている。試験項目はフラグ(1:起動試験、2:走行試験、3:故障注入試験)によって管理される。試験車両とは、更新用ソフトウェア(ソフトウェアパッケージ)の検証に適した車両、例えば、ソフトウェアの動作を検出するためのシステム(センサ等)を備えた車両である。試験項目毎に試験車両が別であってもよい。
計算機システム10は、車両選択モジュール118(図2)によって、ソフトウェアパッケージを適用すべき車両を選択する。図11は当該モジュールの詳細図である。パッケージ選択モジュール500は、パッケージDB114に基づいて、ソフトウェアパッケージを選択する。パッケージDB検索モジュール502は、選択されたソフトウェアパッケージのIDに基づいてソフトウェアパッケージの送信の要否を判定し、車両DB検索モジュール504は、ソフトウェアパッケージの送信が必要との判定結果に基づいて車両DB116を検索して、ソフトウェアパッケージを送信すべき車両を選択し、結果を送信モジュール120に送信する。送信モジュール120は、選択された車両にソフトウェアパッケージを送信する。車両には既述のとおり一般車両130A,130B、試験車両124がある。試験車両は、道路上を実際には走行することなくソフトウェアの動作試験を可能とする模擬試験装置122、例えば、運転シミュレータの形態を呈するものであってもよい。
車両情報受信モジュール128(図2)は、ソフトウェアパッケージが送信された車両からの情報を受信する。受信情報には、模擬試験装置、試験車両から送られた、ソフトウェアの動作試験の結果が含まれる。その他、受信情報には、ソフトウェアパッケージをECUに正常にインストールできたか否かの情報が含まれてもよい。
抽出モジュール126は、車両情報受信モジュール128が受信した情報から、ソフトウェアの動作試験の結果を抽出して、これを、パッケージDB114と車両DB116とに記録する。
計算機システム10は、ソフトウェアパッケージについて、一般車両に広く配信してよいか、配信の前に事前検証をすべきか、事前検証の結果、ソフトウェアの動作に不具合が見つかり、修復作業(デバック等)を必要とするか、等を判定して、判定結果に沿った処理を実施する。計算機システム10は、これらの判定を、ソフトウェアパッケージ(更新ファイル)の属性に基づいて行う。
ソフトウェアパッケージの属性とは、更新ファイルの事前検証に関する情報であり、フラグFr1:事前検証試験の有無(Fr1=0:事前検証試験未、Fr1=1:事前検証試験実施)、フラグFr2:事前検証試験結果(Fr2=0:試験不合格、Fr2=1:試験合格)、フラグFr3:一般車両への配信の要否(Fr3=0:配信不要、Fr3=1:配信要)、フラグFr4:一般車両への配信の有無(Fr4=0:配信未、Fr4=1:配信済)、フラグFr5:試験車両への配信の要否(Fr5=0:配信不要、Fr5=1:配信要)、フラグFr6:試験車両への配信の有無(Fr6=0:配信未、Fr6=1:配信済)を含む。初期状態では、Fr1←0、 Fr2←Null、Fr3←0、Fr4←0、Fr5←0、Fr6←0のように設定されている。
計算機システム10(例えば、パッケージ生成モジュール110)は、パッケージDB114を定期的に参照し、複数のソフトウェアパッケージをパッケージIDにしたがって順番に以下のように処理する。図12に、ソフトウェアパッケージに属性フラグを設定するためのフローチャートを示す。パッケージ生成モジュール110は、処理対象パッケージIDのフラグFr1をチェックする(S1200)。フラグFr1=「0」である場合にはFr1に「1」をリセット(S1206)してリターンする。
フラグFr1=「1」である場合には、パッケージ生成モジュール110は、フラグFr2がNullか否かを判定し(S1202)、これを肯定すると、ソフトウェアパッケージを一般車両に配信する前に、試験車両において更新ソフトウェアの事前検証が必要であるとして、フラグFr5に「1」をセットする(S1210)。
パッケージ生成モジュール110は、ステップ1202を否定すると、フラグFr2をチェックし(S1204)、Fr2=「1」を判定すると、更新用ソフトウェアの事前検証の結果、更新用ソフトウェアが車両のECUにおいて正常に動作されたとして、一般車両へのソフトウェアパッケージの配信を許容するために、フラグFr3に「1」をセット(S1208)してリターンする。S1204において、フラグFr2=「0」を判定すると、このステップを行うことなくリターンする。
図13は、車両選択モジュール118の動作を示すフローチャートである。車両選択モジュール118は、フラグFr3をチェックし(S1300)、そして、フラグFr4をチェックして(S1304)、Fr3=「1」、Fr4=「0」を判定すると、処理対象パッケージIDのECU IDに基づいて、ソフトウェアパッケージDBを参照して対応車種を特定し、同じ車種として登録されている一般車両を選択する(S1306)。
車両選択モジュール118は、S1300においてFr3=「0」を判定すると、S1308に移行してフラグFr5をチェックする(S1308)。Fr5=「1」を判定するとS1310に移行し、フラグFr6をチェックする。
そして、Fr6=「0」を判定すると、処理対象パッケージIDに対応するECU IDに基づいてDB114を参照して対応車種を特定し、同じ車種として登録されている試験車両を選択する(S1312)。車両選択モジュール118は、試験車両が複数対応する場合には、試験に適している車両を選択する。選択の基準の一つに、例えば、車両の所在置がある。ソフトウェアについて速度試験を行う場合、テストコースや高速道路に近い車両が好ましいし、通常走行試験を行う場合、一般公道にある車両でよい。パッケージDB114の走行データも試験車両を選択する上で参考にしてよい。試験項目毎に異なる試験車両が選択されてもよい。
車両選択モジュール118は、Fr4=「1」(S1304)、Fr5=「0」(S1308)、Fr6=「1」(S1310)を判定すると、車両を選択することなくリターンする。車両選択モジュール118は、選択車両の情報を送信モジュール120に伝達する。
図14は、送信モジュール120の動作を示すフローチャートである。送信モジュール120は、処理対象パッケージIDのフラグFr3をチェックし(S1400)、そして、フラグFr4をチェックする(S1402)。送信モジュール120は、Fr3=「0」、そして、Fr4=「0」を判定すると、一般車両が選択されているか否かを判定し(S1404)、これを肯定すると、フラグFr4に「1」を設定して(S1406)、一般車両にソフトウェアパッケージを配信して(S1408)、リターンする。S1404においてFr4=1を判定し、S1404を否定判定すると、一般車両にソフトウェアパッケージを配信することなくリターンする。
送信モジュール120は、S1400において、Fr3=0を判定すると、S1410に移行し、さらに、フラグFr5をチェックし、Fr5=「1」を判定するとS1412に移行し、Fr5=「0」を判定するとリターンする。S1412において、Fr6をチェックし、Fr6=「0」を判定すると、試験車両が選択されているか否かを判定し(S1414)、これを肯定するとFr6に「1」を設定して(S1416)、試験車両にソフトウェアパッケージを送信して(1408)、リターンする。送信モジュール120は、ステップS1412において、Fr6=1を判定した場合、S1414を否定判定した場合には、S1408を経ることなくリターンする。
図15は、抽出モジュール126の動作を示すフローチャートである。抽出モジュール126は、処理対象パッケージIDにパッケージDB114を参照して、既述の全ての試験項目の全てにおいて更新ファイルの試験が合格していることを判定すると(S1500:YES)、Fr2に「1」を設定し(S1502)、S1500を否定判定するとFr2に「0」を設定して(S1504)、リターンする。計算機システム10は、処理対象パッケージIDにFr2=「0」を確認すると、処理対象パッケージIDのソフトウェアについて、修復処理(デバック等)の対策を講じることができる。なお、抽出モジュール126は、処理対象パッケージIDにパッケージDB114を参照して、既述の全ての試験項目の主要な一部のものにおいて更新ファイルの試験が合格していることを判定すると、Fr2に「1」を設定してもよい。
既述の計算機システムによれば、複数のモジュールが、フラグを参照することによって、更新用ソフトウェアが事前検証されることなく、多数の端末に配信されることを防ぐことができる。したがって、ソフトウェアが端末に適用出来た場合には、端末がソフトウェアによって正しく機能することを保証することができる。さらに、既述の計算機システムによれば、サプライヤ、OEMメーカ等ユーザと協同してソフトウェアの更新を行うことができる。
次に、本発明の第2の実施形態について説明する。この実施形態が先の実施形態と異な点は次のとおりである。計算機システム10は、既述の更新用ソフトウェアにトレーサビリティ情報を付加、関連させる等して、システムが更新されるべき対象を特定、管理等することができる。トレーサビリティ情報として、例えば、ソフトウェアIDタグ(以下、タグ、と記載する。)がある。図16は、更新用ソフトウェアのメタ情報のテーブルである。更新用ソフトウェアには、対象車種に代えてタグが付されている。計算機システムは、更新用ソフトウェアの対象への適用をタグによって分類することができる。
複数のタグを、例えば、図17に示すように階層化することができる。図17によれば、TAG1はTAG2とTAG5との上位タグであり、TAG2はTAG3とTAG4との上位タグである。TAG1がECU 1、ECU 2、ECU 3、そして、ECU 4、に関係し、TAG2がECU 1、ECU 2に関係し、TAG3がECU 1に関係し、TAG4がECU 2に関係し、そして、TAG5がECU 3、ECU 4に関係する等、TAGと更新対象とを対応付けることによって、計算機システムはソフトウェアの更新を効率的に進めることができる。
例えば、TAG1が付された更新ファイルを車両に適用すれば、TAG1は最上位のタグであるため、TAG2〜TAG5が付されたソフトウェアによる更新は必ずしも必要ではない。同じように、TAG2は、TAG3とTAG4との上位タグであるため、TAG2が付されたソフトウェアによって対象の更新を行えば、TAG3、TAG4に基づく更新は必ずしも必要とはされない。TAGの階層化構造、TAGと更新対象との対応は、管理テーブルの形態で計算機システムのメモリ14に設定されてよい。この管理テーブルは、サプライヤによって計算機システムに設定されてよい。パッケージ生成モジュール110は、TAGから更新対象を、管理テーブルによって特定して、ソフトウェアパッケージに付加すればよい。
以上の実施の形態の説明等は本発明を限定するものとして理解されてはならない。この実施の形態は適宜変更されてよい。例えば、計算機システムは、試験車両で正常に動作しなかった更新ファイルに配信禁止フラグを設定し、この更新ファイルが修正されて禁止フラグが解除されるまで一般車両への更新ファイルの配信がされないようにしてもよい。計算機システムは試験車両で正常に動作しなかった更新ファイルをメモリから削除してもよい。計算機システムは、事前検証が不要な更新ファイルに試験不要フラグを設定し、同フラグを確認すると更新ファイルを速やかに一般車両に配信してもよい。
本願発明は、端末のソフトウェアを更新するためのセンタに利用可能である。
10 計算機システム
12 プロセッサ
14 メモリ
16 ストレージ装置
20 ネットワーク

Claims (12)

  1. 端末のソフトウェアを遠隔から更新できるように構成された計算機システムであって、
    プロセッサと、
    メモリと、
    送信モジュールと、
    受信モジュールと、
    を備え、
    前記プロセッサは、
    前記端末のソフトウェアを更新するための更新ファイルを生成して前記メモリに保存し、
    前記更新ファイルを送信すべき特定端末を決定し、
    前記更新ファイルを前記メモリから読み出して前記送信モジュールから前記特定端末に送信し、
    前記特定端末から前記更新ファイルの動作情報を、前記受信モジュールを介して受信し、そして、
    前記動作情報に基づいて、前記特定端末以外の端末への前記更新ファイルの配信の要否を判定する
    計算機システム。
  2. 前記プロセッサは、
    外部の計算機から前記端末に対する更新用ソフトウェアを受信し、
    前記更新用ソフトウェアに基づいて前記更新ファイルを生成し、
    前記動作情報に基づいて、前記更新ファイルが前記特定端末で正しく動作したことを確認した後、前記更新ファイルを前記特定端末以外の端末に配信する
    請求項1記載の計算機システム。
  3. 前記プロセッサは、
    前記更新用ソフトウェアの新バージョンの旧バージョンに対する差分を、前記更新ファイルとして生成する
    請求項2記載の計算機システム。
  4. 前記プロセッサは、
    前記特定端末から前記更新ファイルの動作試験の結果を前記動作情報として受信する、
    請求項1記載の計算機システム。
  5. 前記プロセッサは、
    前記更新ファイルを前記動作試験のログと対応させて前記メモリに記録する、
    請求項4記載の計算機システム。
  6. 前記プロセッサは、
    前記特定端末から前記更新ファイルの複数の項目夫々での動作試験の結果を前記動作情報として受信する、
    請求項4記載の計算機システム。
  7. 前記メモリは、前記端末の情報テーブルを備え、
    前記プロセッサは、前記情報テーブルを参照して、前記動作試験が可能な複数の端末の中から前記特定端末を選択する、
    請求項3記載の計算機システム。
  8. 前記プロセッサは、
    前記更新ファイルの複数の夫々に付されたタグを参照して、前記更新ファイルを前記特定端末以外の端末に配信する、
    請求項1記載の計算機システム。
  9. 前記タグとして複数のタグが階層化されて存在し、
    複数のタグと複数の端末とに所定の対応関係が設定されている、
    請求項8記載の計算機システム。
  10. 前記端末が車両の制御システムであり、
    前記特定端末が前記更新ファイルの動作試験が可能な試験車両の制御システムであり、
    前記特定端末以外の端末が、前記更新ファイルが配信される複数の一般車両夫々の制御システムである、
    請求項1記載の計算機システム。
  11. 計算機システムが端末のソフトウェアを遠隔から更新する、ソフトウェアの更新方法であって、
    前記計算機システムは、
    前記端末のソフトウェアを更新するための更新ファイルを生成して保存し、
    前記更新ファイルを送信すべき特定端末を決定し、
    前記更新ファイルを読み出して前記特定端末に送信し、
    前記特定端末から前記更新ファイルの動作情報を受信し、そして、
    前記動作情報に基づいて、前記特定端末以外の端末への前記更新ファイルの配信の要否を判定する
    ソフトウェアの更新方法。
  12. コンピュータに端末のソフトウェアを遠隔から更新させるためのプログラムであって、
    前記端末のソフトウェアを更新するための更新ファイルを生成して保存することと、
    前記更新ファイルを送信すべき特定端末を決定することと、
    前記更新ファイルを読み出して前記特定端末に送信することと、
    前記特定端末から前記更新ファイルの動作情報を受信することと、そして、
    前記動作情報に基づいて、前記特定端末以外の端末への前記更新ファイルの配信の要否を判定することと、
    を前記コンピュータに実現させるためのプログラム。
JP2016194786A 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム Active JP6755158B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016194786A JP6755158B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム
EP17183669.5A EP3301565B1 (en) 2016-09-30 2017-07-28 Computer system, method of updating software with computer system, and program therefor
US15/667,778 US11048493B2 (en) 2016-09-30 2017-08-03 Computer system, method of updating software with computer system, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016194786A JP6755158B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム

Publications (2)

Publication Number Publication Date
JP2018055645A true JP2018055645A (ja) 2018-04-05
JP6755158B2 JP6755158B2 (ja) 2020-09-16

Family

ID=59501258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016194786A Active JP6755158B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム

Country Status (3)

Country Link
US (1) US11048493B2 (ja)
EP (1) EP3301565B1 (ja)
JP (1) JP6755158B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021381A (ja) * 2018-08-02 2020-02-06 株式会社日立製作所 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
JP2020154987A (ja) * 2019-03-22 2020-09-24 株式会社デンソー センター装置、データ通信システム及び配信制御プログラム
US11907698B2 (en) 2018-08-10 2024-02-20 Denso Corporation Vehicle electronic control system, vehicle master device, method for controlling transmission of data storage bank information and computer program product for controlling transmission of data storage bank information
JP7490486B2 (ja) 2020-07-28 2024-05-27 株式会社日立製作所 ソフトウェア照会情報管理システム、及びソフトウェア照会情報管理方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656932B2 (en) * 2016-07-12 2020-05-19 United Radio, Inc. Radio updating method
US10303460B2 (en) 2017-07-25 2019-05-28 Aurora Labs Ltd. Self-healing learning system for one or more vehicles
JP7047444B2 (ja) * 2018-02-16 2022-04-05 トヨタ自動車株式会社 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ
EP3759885B1 (en) * 2018-02-27 2022-08-17 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US11255290B2 (en) * 2018-03-30 2022-02-22 Honda Motor Co., Ltd. Internal combustion engine management system, server device, and internal combustion engine management method
CN108762889A (zh) * 2018-05-30 2018-11-06 济南浪潮高新科技投资发展有限公司 一种自动驾驶仿真云平台及方法
DE102018209972A1 (de) * 2018-06-20 2019-12-24 Robert Bosch Gmbh Verfahren zum Aktualisieren von Software auf einem Zielgerät mittels einer Aktualisierungseinrichtung und Verfahren zum Verarbeiten eines Datenpakets und/oder einer Unterscheidungsinformation mittels eines Zielgeräts
DE102018211979A1 (de) * 2018-07-18 2020-01-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur zentralen Update-Verwaltung für ein Fahrzeug und System zur zentralen Update-Verwaltung für ein Fahrzeug
DE102018213045A1 (de) * 2018-08-03 2020-02-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Steuervorrichtung, Computerprogramm und Computerprogrammprodukt zum Aktualisieren einer Software für eine Steuervorrichtung
CN108897240A (zh) * 2018-08-13 2018-11-27 济南浪潮高新科技投资发展有限公司 自动驾驶仿真测试云平台及自动驾驶仿真测试方法
US11064323B2 (en) * 2018-08-23 2021-07-13 Ford Global Technologies, Llc Method and apparatus for peer to peer distribution strategy for updates
EP3647943B1 (de) * 2018-10-30 2024-01-24 Siemens Aktiengesellschaft Verfahren zum bestimmen mindestens eines kennzeichens mindestens einer änderung
JP7095634B2 (ja) * 2019-03-13 2022-07-05 トヨタ自動車株式会社 自動更新システム、その更新方法及びプログラム
KR20220028879A (ko) * 2020-08-31 2022-03-08 현대자동차주식회사 차량의 ecu 업데이트 관리 장치 및 그 방법
US11556329B2 (en) 2020-11-16 2023-01-17 Ford Global Technologies, Llc System for updating vehicle software
US11271971B1 (en) * 2021-03-19 2022-03-08 King Saud University Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026252A (ja) * 2005-07-20 2007-02-01 Seiko Epson Corp 保守システム、プログラム、保守システムの制御方法
JP2007034826A (ja) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd 機能アップデート方法および携帯通信端末
JP2010152749A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd 資源配付システム
JP2014021586A (ja) * 2012-07-13 2014-02-03 Ricoh Co Ltd プログラムのアップグレードを実施するサーバ、サーバと複数の機器からなるプログラムのアップグレードシステム及びプログラムのアップグレード方法
JP2014182571A (ja) * 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP2016170740A (ja) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694291B2 (en) * 2004-04-06 2010-04-06 Hewlett-Packard Development Company, L.P. Build optimizer tool for efficient management of software builds for mobile devices
JP4234062B2 (ja) 2004-06-08 2009-03-04 富士通テン株式会社 ソフトウェア管理装置
CN102346709A (zh) * 2010-07-30 2012-02-08 国际商业机器公司 软件开发辅助方法及系统
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
EP2891978B1 (en) * 2014-01-06 2017-08-16 2236008 Ontario Inc. System and method for distributing software updates
CN104834537B (zh) * 2014-12-30 2018-04-27 沈阳东软医疗系统有限公司 数据处理方法、服务器及客户端
US9880837B2 (en) * 2015-06-24 2018-01-30 Vmware, Inc. Artifact manager for release automation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026252A (ja) * 2005-07-20 2007-02-01 Seiko Epson Corp 保守システム、プログラム、保守システムの制御方法
JP2007034826A (ja) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd 機能アップデート方法および携帯通信端末
JP2010152749A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd 資源配付システム
JP2014021586A (ja) * 2012-07-13 2014-02-03 Ricoh Co Ltd プログラムのアップグレードを実施するサーバ、サーバと複数の機器からなるプログラムのアップグレードシステム及びプログラムのアップグレード方法
JP2014182571A (ja) * 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP2016170740A (ja) * 2015-03-16 2016-09-23 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021381A (ja) * 2018-08-02 2020-02-06 株式会社日立製作所 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
US11907698B2 (en) 2018-08-10 2024-02-20 Denso Corporation Vehicle electronic control system, vehicle master device, method for controlling transmission of data storage bank information and computer program product for controlling transmission of data storage bank information
US12045599B2 (en) 2018-08-10 2024-07-23 Denso Corporation Distribution package generation device, distribution package communication system, distribution package transmission method, and storage medium
JP2020154987A (ja) * 2019-03-22 2020-09-24 株式会社デンソー センター装置、データ通信システム及び配信制御プログラム
WO2020195750A1 (ja) * 2019-03-22 2020-10-01 株式会社デンソー センター装置、データ通信システム及び配信制御プログラム
JP7392272B2 (ja) 2019-03-22 2023-12-06 株式会社デンソー センター装置、データ通信システム、配信制御プログラム及び配信制御方法
JP7490486B2 (ja) 2020-07-28 2024-05-27 株式会社日立製作所 ソフトウェア照会情報管理システム、及びソフトウェア照会情報管理方法

Also Published As

Publication number Publication date
US20180095745A1 (en) 2018-04-05
EP3301565B1 (en) 2022-09-07
JP6755158B2 (ja) 2020-09-16
US11048493B2 (en) 2021-06-29
EP3301565A1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
JP6755158B2 (ja) 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム
US8677348B1 (en) Method and apparatus for determining least risk install order of software patches
US9658846B2 (en) Software configuration control wherein containers are associated with physical storage of software application versions in a software production landscape
CN1987923B (zh) 为预装载软件进行许可激活的方法及装置
CN102035892A (zh) 操作系统版本自动发布和软件包自动更新的系统及方法
KR102442296B1 (ko) IoT 기반 가변 재구성 유연 조립 시스템 및 생산 라인 재구성 방법
CN103530199A (zh) 一种修复软件运行错误的方法、装置及系统
CN113111000B (zh) 持续集成自动化测试系统和方法、电子设备、存储介质
CN113515297A (zh) 一种版本更新方法、装置、电子设备及存储介质
KR20200067474A (ko) Autosar 기반 차량 소프트웨어의 결함 테스트 방법 및 결함 테스트 시스템
CN109471646A (zh) 一种服务器的bmc版本的升级方法、装置及存储介质
CN117950763A (zh) 一种基于activiti工作流引擎的流程处理方法
CN107015831A (zh) 一种基于服务器端升级的客户端升级管理方法及系统
CN110716737A (zh) 系统应用版本管理系统及系统应用版本管理方法
CN102270129A (zh) 将软件产品分发为包括脚本逻辑和外部资源的可执行文件
JP6659509B2 (ja) 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体
CN114741738A (zh) 基于区块链的溯源数据处理方法、装置、电子设备及介质
US8385626B2 (en) Replacement of build to order parts with post configured images in any manufacturing environment
CN111930387B (zh) 一种集成包的集成方法及装置、电子设备和存储介质
CN114237687A (zh) 软件版本的获取方法、系统、电子设备和存储介质
CN111488158B (zh) 仪表远程升级处理方法及系统
CN113721918A (zh) 一种基于koji进行编译和软件源制作的方法和装置
KR101912410B1 (ko) 광고 접속정보 관리 시스템 및 그 방법
CN104199774A (zh) 程序安全测试方法和装置
CN114595106B (zh) 一种业务控制设备调测方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200825

R150 Certificate of patent or registration of utility model

Ref document number: 6755158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150