JP6659509B2 - 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体 - Google Patents

計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体 Download PDF

Info

Publication number
JP6659509B2
JP6659509B2 JP2016194790A JP2016194790A JP6659509B2 JP 6659509 B2 JP6659509 B2 JP 6659509B2 JP 2016194790 A JP2016194790 A JP 2016194790A JP 2016194790 A JP2016194790 A JP 2016194790A JP 6659509 B2 JP6659509 B2 JP 6659509B2
Authority
JP
Japan
Prior art keywords
module
modules
computer system
terminal
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016194790A
Other languages
English (en)
Other versions
JP2018055646A (ja
Inventor
壮希 櫻井
壮希 櫻井
加藤 淳
淳 加藤
昇 木山
昇 木山
博史 峯
博史 峯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2016194790A priority Critical patent/JP6659509B2/ja
Priority to EP17183668.7A priority patent/EP3301564B1/en
Priority to US15/666,997 priority patent/US10310840B2/en
Publication of JP2018055646A publication Critical patent/JP2018055646A/ja
Application granted granted Critical
Publication of JP6659509B2 publication Critical patent/JP6659509B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、端末に更新ソフトウェアを送信する計算機システム等に関する。
近年では、多くの製品に制御システムが汎用されていることに伴って、機能安全の重要性が叫ばれている。したがって、ソフトウェアの遠隔更新を行うシステムとしてのOTA(Over The Air)センタについても同じように機能安全が図られなければならない。OTAセンタとは、被制御製品としてのスマートフォンや自動車等の端末に対し、端末の制御用ソフトウェアを遠隔から更新できるようにしたシステムである。
機能安全規格は1990年代末に欧州を中心に策定されたものであり、国際規格である“IEC 61508”をベースとし、現在では、製品カテゴリごとに独自の機能安全規格が策定されている。
この種の機能安全規格として、“ISO 26262”がある。これは、自動車に搭載されているあらゆるシステムのうち、センサーから、制御装置(ECU)、アクチュエータ(モータ)に関して、電気・電子機器等のハードウェア/ソフトウェアを対象としている。
“ISO 26262”は、自動車の要求定義(構想段階)から、開発、生産、保守・運用、廃車に至るまでのライフサイクル全体という広範囲の領域での機能安全を定義しており、自動車メーカ、自動車部品メーカ等のサプライヤはこの規格を順守しなければならない。
機能安全規格の審査のために、OTAセンタの運営事業者は、端末に配信するソフトウェアの動作実績を利用することができる。これを可能にするシステムとして、例えば、特許文献1で開示されたソフトウェア動作実績管理システムがある。このものは、サーバが端末へ監視ソフトウェアを配信し、サーバが監視ソフトウェアから端末におけるソフトウェアの動作実績を受信するというものである。
特開2008-176722号公報
“ISO 26262”では、ソフトウェア、及び/又は、ハードウェアコンポーネントのモジュールが、“Proven in Use”項によって、定義された安全要求に準拠していることを証明できるようにしている。即ち、OTAセンタが、端末に、システム更新用のソフトウェアを正常に配信できているという実績を備えていれば、機能安全の審査機関は、この実績を機能安全の要求の評価や審査に流用できる。しかしながら、特許文献1には、サーバ側で、この実績を管理することに何ら配慮がされていない。そこで、本発明は、端末にソフトウェアを送信する際の処理の実績を管理可能な計算機システムを提供することを目的とする。
前記目的を達成するために、本発明は、端末を更新するためのソフトウェアを送信する計算機システムであって、前記ソフトウェアを前記端末に送信するまでの処理を順番に実行する複数のモジュールと、前記複数のモジュール夫々の動作ログを収集するコントローラと、前記コントローラが収集した動作ログを保存するメモリと、を備え、前記コントローラは、前記メモリに保存された動作ログに基づいて、前記複数のモジュールのうち所定のモジュールの動作実績を生成する、ことを特徴とする。
本発明によれば、端末にソフトウェアを送信する際の処理の実績を管理可能な計算機システム等を提供することができる。
OTAセンタを構成する計算機システムの機能ブロック図である。 計算機システムを構成する処理装置のハードウェア構成の一例である。 計算機システムのモジュールから実績管理モジュールへ送られるテーブル(実行記録の一例)である。 実績管理モジュールが端末から取得する更新記録の例である。 実績管理モジュールが実績DBに保存する実績データの例である。 実績データ処理モジュールへ入力されるモジュールの例である。 実績管理モジュールの動作を示すフローチャートである。 実績データ処理モジュールの動作を示すフローチャートである。 図8の一部の詳細を示すフローチャートである。 図8の他の一部の詳細を示すフローチャートである。 操作モジュールの例(ユーザインタフェース)である。 対象パスの一例である。 対象パスの判定処理(図8の802に対応)の詳細を示すフローチャートである。 第2の実施形態における成否判定処理の詳細を示すフローチャートである。
本発明に係る計算機システムの一つの態様としてOTAセンタがあることは既述したとりである。端末の動作、機能を制御するソフトウェアは適宜新しいバージョンに更新されるため、OTAセンタは、端末に送信される更新ソフトウェアを管理し、そして、更新ソフトウェアを端末へ送信する等、端末のソフトウェアを更新するための処理の大部分を担っている。
OTAセンタによって、ソフトウェアが更新される端末として、例えば、自動車のエンジンコントロールユニット(ECU)があるが、これに限定されるものではなく、例えば、スマートフォン、インテリジェット家電、ガス器具等であってもよい。端末が機能安全規格に準拠したものでなければならないかぎり、OTAセンタも同じである。
OTAセンタは、ソフトウェアを端末に送信するまでの処理を順番に実行する複数のモジュールを備える。そして、後述の通り、例えば、端末を更新するための差分ソフトウェア(更新ソフトウェア)を生成するアルゴリズムには複数の方式があるため、同じモジュールでも、複数のタイプが存在する。加えて、チェックサムの算出など、更新ソフトウェアに対する付加処理にも複数の方式があるため、計算機システムは、さらに複数のモジュールを備えることになる。
モジュールとは、計算機システムの機能を発揮する単位である。モジュールには、ハードウェアを主体とするモジュールと、ソフトウェアを主体とするモジュール(機能モジュール)とがある。以下、モジュールといったときは、後者を意味すると考えてよい。モジュールは、プログラムを実行するコントローラによって実現される。モジュールは、プログラムの全部又は一部である。
計算機システムは、既述の“Proven in Use”のために、モジュールの動作実績(稼働実績といってもよい)を、機能安全審査のためのエビデンスとして、生成することができる。動作実績とは、モジュールが正常に動作したか否かの指標であり、例えば、故障率(FIT:Failure In Time)がある。さらに、動作実績が機能安全規格の審査にとってエビデンスとして利用できるようにするために、動作実績は、計算機システムが更新ソフトウェアを端末に送信できなかった場合、その原因、例えば、複数のモジュールのうち、どのモジュールにエラーが生じて、ソフトウェアウェア送信までの処理のフローが停止、中断等したかが分かるに足るものであることが望ましい。本発明の計算機システムはこのような動作実績の提供を可能にする。
計算機システムは、ソフトウェアを端末に正しく送信できなかったとき、その原因が端末にあるのか、計算機システムにあるのか、後者の場合、どのモジュールが悪いのかを明らかにすることができる。さらに、計算機システムは、失敗の原因が複数のモジュールの組合せにある場合、これを明らかにすることができる。計算機システム内でソフトウェアウェアを端末に送信するまでの処理のフローは、複数のモジュールのうちどのモジュールを通過したかによって、複数のパスに分かれる。計算機システムは、エラーが発生したパスを明らかにすることもできる。以下、計算機システムについて具体的に説明する。
図1は、OTAセンタを構成する計算機システム100の機能ブロック図である。計算機システム100は、以下に示す通り、複数のモジュールを備えている。符号101は更新対象端末に適用される更新情報(ソフトウェア等)であり、102は更新対象端末を特定するためのキャンペーン情報である。更新対象端末が自動車のエンジンコントロールユニット(ECU)の場合、キャンペーン情報は、自動車メーカ名と車種を含む。更新情報、キャンペーン情報は、自動車メーカのシステムから計算機システム100に送信される。
更新対象端末に適用されるソフトウェアは、例えば、端末に適用される新バージョンのソフトウェアの全部、或いは、一部である。なお、更新対象端末に適用されるソフトウェアは、旧バージョンとの差分であってもよい。この場合、後述の差分ソフトウェア生成処理は省略してよい。
計算機システム100は、更新情報の受信(0)、更新処理の管理(1)、差分ソフトウェアの生成(2)、チェックサムの計算(3)、更新対象端末の選択(4)、差分ソフトウェアの送信(5)のステップを順番に進めることによって、端末に更新ソフトウェアを送信する。各ステップは、以下のモジュールによって実行される。
次に、モジュールの詳細について説明する。更新情報の受信(0)ステップにおいて、ソフトウェア保存モジュール101Aは、自動車メーカのシステムから受信したソフトウェアの新バージョンを所定の記憶領域に保存し、キャンペーン情報は管理データベース(管理DB)102Aに記録される。管理DB102Aには、複数の端末夫々の送信先アドレス、ID等、端末の属性情報が登録されている。
更新処理の管理(1)ステップにおいて、更新管理モジュール(Mod−0)103は、ソフトウェア保存モジュール101Aから、ソフトウェアの新バージョンが記憶されている記憶領域のアクセスパスの情報を受領し、そして、差分ソフトウェア生成モジュール(Mod−1A,Mod−1B,・・・)104,105、・・・の中からどのモジュールを利用するか、さらに、チャックサム計算モジュール(Mod−2A,Mod−2B,・・・)106,107・・・の中からどのモジュールを利用するかを、決定、判定、設定、ないしは、選択する。
差分ソフトウェア生成モジュールとサム値計算モジュールとの組合せに複数のパターンがあるために、更新ソフトウェアを端末に送信するまでに、処理のフローに分岐が生じる。更新管理モジュール(Mod−0)103は、ソフトウェア(新バージョン)の内容に基づいて、どの差分生成モジュール、どのチェックサム計算モジュールを利用するかを決定してよい。
更新管理モジュール(Mod−0)103は、さらに、キャンペーン情報に基づいて管理データベース102Aを参照し、更新ソフトウェアが送信されるべき端末を決定する。更新管理モジュール(Mod−0)103はモジュールの決定情報、端末の決定情報、そして、新旧夫々のバージョンのソフトウェアの記憶領域のアクセス情報を差分ソフトウェアの生成(2)ステップに出力する。
差分ソフトウェアの生成(2)ステップにおいて、差分ソフトウェア生成モジュール(Mod−1A,Mod−1B,・・・)104,105、・・・は、夫々、ソフトウェアの新バージョンと旧バージョンとを比較して、両者の差分に相当する差分ソフトウェアを生成することができる。差分ソフトウェアが端末を更新するためのソフトウェア(更新ソフトウェア)である。
複数の差分ソフトウェア生成モジュールごとに、差分ソフトウェアを生成するためのアルゴリズムが異なっている。更新管理モジュール(Mod−0)103によって決定されたモジュールが差分ソフトウェアを生成する。差分ソフトウェア生成モジュールは、差分ソフトウェアを所定の記憶領域に記録する。差分ソフトウェアを生成したモジュールは、チェックサムの計算(3)ステップに、差分ソフトウェアの記録領域へのアクセス情報と、差分ソフトウェアを送信すべきとして決定された端末の情報とを出力する。
チェックサムの計算(3)のステップにおいて、チェックサム計算モジュール(Mod−2A,Mod−2B,・・・)106,107,・・・は、夫々、差分ソフトウェアのチェックサムを計算する。複数のチェックサム計算モジュールごとに、チェックサムを計算するためのアルゴリズムが異なっている。更新管理モジュール(Mod−0)103によって決定されたモジュールがチェックサムを計算する。このモジュールは、差分ソフトウェアの記録領域へのアクセス情報とともにチェックサムと端末の決定情報とを端末選択(4)ステップに出力する。
更新対象端末の選択のステップ(4)では、更新対象選択モジュール(Mod−3)108は、端末の決定情報の中から、差分ソフトウェアを送信する端末(更新対象端末)を選択して、この選択情報と、差分ソフトウェアへのアクセス情報と、チェックサムとを送信(5)ステップに出力する。更新対象選択モジュール(Mod−3)108は、端末の特性等に応じて、複数の送信モジュールの中から最適な送信モジュールから端末に差分ソフトウェアを送信させる。
送信(5)ステップでは、複数の送信モジュールが存在する。送信モジュール(Mod−4A,Mod−4B,・・・)109,110・・・は、夫々、配信の経路や、通信規格が異なる。複数の送信モジュールの夫々は、選択された端末に差分ソフトウェアを記憶領域から読み込んで送信する。符号111及び112は夫々端末である。端末は計算機システム100から差分ソフトウェアを受け取り、これを自信のシステムにインストールしてソフトウェア更新を行う。差分ソフトウェアを送信するまでのフローは、複数のモジュールのうちどのモジュールを介したか、さらに、どの送信モジュールから端末に送信されたかによって複数のパターンに分岐される。
符号113は実績管理モジュールを示す。実績管理モジュール113は、計算機システム100、そして、複数の端末111、112・・・・、夫々でのソフトウェア更新のための処理の実績を管理するための諸処理を実行する。実績管理モジュール113は、既述のモジュールの夫々から、差分ソフトウェアの生成、送信等に係る処理の実行記録(動作ログ)116を収集し、そして、端末から更新の結果(更新記録)117を収集し、収集したデータから処理の実績データ118を抽出、決定、作成等して、実績データベース(実績DB)114に記録する。更新管理モジュール103から送信モジュール(109、110、・・・)に至る夫々のモジュールは処理を終了する都度、実績管理モジュール113に、モジュールに於ける処理の実行記録116を送る。実績管理モジュール113は、複数の端末夫々をポーリングして処理の終了を確認し、端末から更新記録117を取得してもよい。
符号115は実績データ処理モジュールである。実績データ処理モジュール115はモジュールの動作実績を示すために、実績DB114に保存された実績データ118に基づいて、モジュールのFITを計算すること、そして、差分ソフトウェアに係る処理にエラーが生じたモジュール、或いは、エラーを生じさせた、複数のモジュールの組合せを明示することを行う。実績データ処理モジュール115へのインストラクションは、操作モジュール119から管理者によって与えられる。インストラクションは、実績データ処理モジュール115の対象とすべきモジュール、又は、複数のモジュールの組合せを指定することを含む。
図2は、計算機システム100を構成する処理装置のハードウェア構成の一例を示す。計算機システム100は、CPU201、メモリ202、ストレージ装置203、画面操作インタフェース204を備え、ネットワーク205によって、外部システムと接続されている。計算機システムは、複数の処理装置200を組み合わせて構成されてよい。
既述のモジュールは、1つ以上のプログラムを実行するCPU(コントローラ)201として実現される。実績データDB114はストレージ装置203に存在してよいし、ネットワーク205を経由して、計算機システム100がアクセス可能は外部のストレージ装置に存在してもよい。画面操作インタフェース204は、操作モジュール119を実現する。
図3は、計算機システム100のモジュールから実績管理モジュール113へ送られるテーブル(実行記録116(動作ログ)の一例)である。実行記録116は、モジュールの実行ログ、即ち、モジュールにおける処理の履歴であってよい。実行記録116は、モジュール名300と、モジュールが処理を行った時刻301、モジュールへの入力データの302と、出力データの303、処理結果304、及び、フローID305と、を含む。入力データ及び出力データとして記載されている符号は、データの記憶領域へのアクセスパスであってよいし、データそのものでもよい。図3に示す項目によって、モジュールの処理の状態を明らかにできる。
図3の実行記録は、更新管理モジュール(Mod−0)103のものである。既述の通り、計算機システム100において、モジュールを通過するデータのフローには分岐があるため、更新管理モジュール103は、複数のフローの夫々にフローIDを付与することとした。実行記録を出力するモジュールは、処理が正常終了か、失敗したかを判断し、処理結果304に「正常」、又は、後者の場合に「エラーコード」を記録する。
処理が失敗したとは、モジュールがデータを出力しない、即ち、データフローがこのモジュールのところで途切れることである。失敗とは、モジュールが適正でないデータを出力した場合を含んでもよい。正常とは、モジュールが適正データを出力してデータフローを継続することである。
図3によれば、更新管理モジュール103は、2016/5/25 12:00:00に処理を正常に終了している。モジュール103への入力データは/data/data1であり、出力データは/data/data2である。フローID305は、端末へ差分ソフトウェアを配信するまでの処理を一意に示す。
モジュールは、上流のモジュールから入力データとともにフローIDを受け取り、出力データをフローIDともに下流のモジュールへ渡す。そして、計算機システム100は同じ差分ソフトウェアを複数の端末へ異なる経路で配信するため、データフローは更新対象選択モジュール108以降でさらに分岐する。例えば、送信モジュール109が、更新対象選択モジュール108からフローIDが“Flow−01”のデータを端末に配信した場合、送信モジュール109はフローIDを自身で分岐させて、“Flow−01−A”のフローIDとして実行記録116を実績管理モジュール113に送信する。
図4は、実績管理モジュール113が端末から取得する更新記録117の例である。更新記録117は、端末名400、更新を実行した時刻401、差分ソフトウェア402、処理結果403、及び、フローID117と、から構成される。端末での更新が正常終了した場合、処理結果403には「正常」と記録されるが、失敗した場合にはエラーコードが記録される。
図4に示す例では、端末CL−A(111)が2016/5/25 12:10:00に、差分ソフトウェアである/data/data6に基づいて、ソフトウェアの更新処理を行ったところ、エラーコード001を実績管理モジュール113に返して更新処理が失敗したことを示している。更新処理が失敗されたか否かの決定は端末側で決めてよい。
図5は、実績管理モジュール113が実績DB114に保存する実績データ118の例である。実績管理モジュール113は、実行記録116と更新記録117とに基づいて、実績データ118を作成する。実績データ118は、実行記録リスト501と、更新記録117と、を備える。実行記録リスト501は、同一フローIDのデータフローに係わる複数のモジュール夫々の実行記録の一覧である。実績データ118は、フローID(Flow−01)によって、実行記録116と差分ソフトウェアが送信された端末からの更新記録117とを対応させている。
実行記録116と更新記録117の対応付けについては、図7にて後述する。なお、フローID500は端末から取得した更新記録117に含まれるフローID404(図4)と同じものであり、実績管理モジュール113が端末での更新処理1回に対し1つのフローIDを付与する。実行記録リスト501は、実行記録116と同様に、処理を行った各モジュールのモジュール名502、時刻503、入力データ504、出力データ505、処理結果506、そして、フローID507とからなる。
実績データ118は、各端末での更新処理の1回に対応するため、更新記録117においては、端末の記録は1つである。端末へ差分ソフトウェアを配信できなかった場合、実績データ118に更新記録117は含まれない。実績データ118は、端末ごと、そして、端末の更新ごとに存在する。
図5は、更新管理モジュールMod−0(103)が2016/5/25 12:00:00に処理を行い、入力データ/data/data1を処理して/data/data2を正常に出力し、次に、モジュール差分ソフトウェア生成モジュールMod−1A(104)が2016/5/25
12:01:01に更新管理モジュールMod−0(103)から受け取った入力データ/data/data2を正常に処理して/data/data3を出力し、それをチェックサム計算モジュールMod−2B(107)が2016/5/25
12:02:02に正常に処理して/data/data4(チェックサム付き差分ソフト)を出力することを示している。
図5は、さらに、送信モジュールMod−3(108)は2016/5/25 12:03:09に送信対象端末と経路を決定した上で/data/data4を入力として出力データ/data/data5を出力し、送信モジュールMod−4A(109)は2016/5/25 12:04:03に受け取った/data/data5を端末送信用に/data/data6へと変換して、端末(111)へと送信したことを示している。
複数のモジュール夫々で処理は全て正常に終了したため、処理結果506には全て「正常」が記録されている。モジュールMod−0から、モジュールMod−3までのフローIDはFlow−01であるものの、送信モジュール109、110・・・では、フローに分岐があるため、分岐フローID“Flow−01−A”が記録されている。差分ソフトウェア/data/data6を受け取った端末A(111)は、2016/5/25 12:10:00に更新処理を実行したものの、更新ができなかったため、実行記録の処理結果には「正常」でなくエラーコード“001”が記録されている。
図6は、実績データ処理モジュール115へ入力される対象モジュール120の例である。図6は、画面表示操作モジュール119によって、モジュールの動作実績を管理、取得、確認等するために、モジュール名が実績データ処理モジュール115に指定されことを示している。画面表示操作モジュール119へのモジュール名の入力は管理者によって行われてよい。管理者は、モジュールでの処理の状況、状況、結果、実績等を確認するために、所定のモジュールを、画面表示操作モジュール119を介して、指定、特定、選択することができる。
図7は、実績管理モジュール113の動作を示すフローチャートである。実績管理モジュール113は、計算機システムの夫々のモジュールから、モジュールでの処理が終了される都度、モジュールの実行記録116を取得する(700)。実績管理モジュール113は、実行記録116に基づいて、計算機システム内での処理が完了して端末まで差分ソフトウェアを配信できたか否かを判定し、これを肯定した場合(701:YES)、送信対象端末から更新記録117を受信し(702)、フローID(305:図3)とフローID(404:図4)の類似性に基づいて、モジュールの実行記録116と更新記録117とを対応付けて実績データ118を生成する(703)。実績管理モジュール113は、実績データ118を実績DB114に保存する(704)。
例えば、更新記録117のフローID404が「Flow−01−A−A」であった場合、フローIDが「Flow−01」、又は、「Flow−01−A」である実行記録116をこの更新記録に対応付ける。「Flow−01−−A」の「」は、送信モジュールにおける分岐を示し、「Flow−01−A−」の「」は、送信対象端末の違いに基づいた分岐を示す。
更新管理モジュール(Mod−0)、差分ソフトウェア生成モジュール(Mod−1A,1B・・・)、チェックサム計算モジュール(Mod−2A,2B・・・)までのデータフローの分岐は、枝番(−A,−B・・・)で区別されるのではなく、データフローの本流が異なるとして、異なったID“Flow−01, Flow−02・・・”によって区別される。実績データ118のフローID500(図5)には、更新記録117のフローID404が付与される。
実績管理モジュール113が、ステップ701を否定判定すると、即ち、計算機システム100内での処理がデータフローの途中で失敗して、差分ソフトウェアの端末への配信まで処理が進まなかった場合、処理が進んだモジュールまでの実行記録116から実績データ118を生成して(705)、これを実績DB114に保存する(704)。この結果、実績データ118は更新記録117を含まない。
ステップ701の判定において、実行記録116に含まれる、モジュールの処理結果304が「正常」でない場合は、実績管理モジュール113は、データフローが当該モジュールで中断されたものと判断する。モジュールは、処理の終了が正常であったか、或いは、失敗であったかを自身で判断できる。その他、モジュールから実行記録116が所定時間内に送信されない場合には、実績管理モジュール113は、当該モジュールでの処理が失敗されたと判断してもよい。
図8は、実績データ処理モジュール115の動作を示すフローチャートである。実績データ処理モジュール115は、モジュールの実績を評価、判断するための情報、指標等を算出し、これを、操作モジュール119の画面(ユーザインタフェース)に出力させる。実績データ処理モジュール115は、モジュールの実績を評価する指標としての、処理成功数と処理失敗数(図11参照)を0に、処理失敗リストを空に夫々初期化する(800)。
そして、実績データ処理モジュール115は、実績DB114に保存されている全ての実績データ118(図5)に対してループ処理を実行し(801−805)、管理ユーザが操作モジュール119に入力したモジュール(対象モジュール)120のFITを計算し、さらに、処理失敗時の実績データを画面表示・操作モジュール119に表示する(806)。
ループ処理では、実績データ処理モジュール115は、対象モジュールの名を複数の実績データ118夫々と順番に比較し(802)、実績データ118が対象モジュール名を含むか否かを判定する(803)。実績データ処理モジュール115は、これを肯定判定すると、対象モジュールの処理が成功したか失敗したかを、対象モジュールの処理結果(506:図5)を参照することによって、判定する(804)。実績データ処理モジュール115が、ステップ803を否定判定すると、成否判定(804)を飛ばして、次の実績データの処理を繰り返す。
実績データ処理モジュール115は、全実績データについて処理を行った後は、処理結果506に“失敗”が記録されている対象モジュールの数に基づいて、FITを計算し、さらに、処理成功数、処理失敗数、及び、処理失敗リストを後述の図11のように纏めて表示する(806)。処理失敗リストとは、処理が失敗した対象モジュールを含む実績データ118の一覧であってよい。
図9は判定処理802,803(図8)の詳細を示すフローチャートである。計算機システム100は、複数のモジュールのうち、管理ユーザが望むモジュールについて、処理実績を作成することができる。処理実績を作成することは、統計的処理によって処理失敗数を算出してFITを計算することを含む。
実績データ処理モジュール115は、実績データ118に管理ユーザによって指定されたモジュールが含まれるかを、実績データ118の実行記録リスト501に記録されたモジュール名502によってチェックする(900)。実績データ処理モジュール115は、これを肯定判定すると、実績データ118を動作実績処理用の対象データであると判定し(901)、これを否定判定すると、対象データではないと判定する(902)。
図10は成否判定処理804(図8)の処理の詳細を示すフローチャートである。実績データ処理モジュール115は、対象モジュールの動作実績(図11)を生成するために、成否判定処理を実行することは既述した通りである。実績データ処理モジュール115は、モジュールが管理ユーザによって選択されると、対象モジュールについて成否判定処理を行うが、モジュールが選択されなくても、定期的に、全てのモジュールを順番に判定するようにしてもよい。
実績データ処理モジュール115は、実績データ118をレビューすることによって、端末のソフトウェアの更新ができなかったことが、端末に原因があるのか、又は、計算機システムのモジュールに原因があるのか、後者の場合には、対象モジュールに原因があるか否かを判定、評価、識別、決定、判断等することができる。
実績データ処理モジュール115は、処理対象である実績データ118(901)の実行記録リスト501のうち、対象モジュールの処理結果506、及び、更新記録117の処理結果403の全てに“正常”が記録されているか否かをチェックする(1001)。実績データ処理モジュール115は、このステップを肯定すると、対象モジュールの処理は成功であり、端末の処理も成功していると判定し、対象モジュールの処理成功数(図11参照)を加算(1005)し、処理を終了する。
実績データ処理モジュール115は、ステップ1001を否定判定すると、失敗が端末に起因するのか否かを判定する(1003)。実績データ処理モジュール115は、実績データ118の実行記録リスト501の処理結果506が全て正常であり、及び、更新記録117の処理結果403にエラーコードが記録されていることを判定すると、ステップ1003を肯定判定し、端末の更新の失敗は端末に起因しており、対象モジュールの処理が原因ではないとしてステップ1005に移行する。
実績データ処理モジュール115は、実績データ118の実行記録リスト501の対象モジュールの処理結果に“失敗”が記録されていると、ステップ1003を否定判定してステップ1004に移行する。実績データ処理モジュール115は、ステップ1004において、実績データ118の実行記録リスト501に含まれる対象モジュールに対する入力データ(入力データへのアクセスパス)504を確認し、入力データが正常であるか否かを判定する(1004)。この判定は、入力データを所定の基準、例えば、対象モジュールの設計仕様で想定している入力データ範囲と比較することによって可能である。
実績データ処理モジュール115は、ステップ1004を否定判定すると、入力データに異常がある、即ち、対象モジュールの上流のモジュールに異常があることによって、対象モジュールにおいてデータフローが中断したのであり、対象モジュール自体に失敗の原因はないとして、ステップ1005に移行する。
実績データ処理モジュール115が、対象モジュールへの入力データが正常であると判定(1004:YES)すると、入力データ504から想定される出力データを設計仕様の処理に従う等して計算する(1006)。実績データ処理モジュール115は、出力データ505と想定出力データとを比較する(1007)。実績データ処理モジュール115は、出力データ505が想定出力データと一致していることを判定すると(1007:YES)、対象モジュールの処理の成功を確認してステップ(1005)に移行する。
実績データ処理モジュール115は、ステップ1007を否定判定すると、対象モジュールの処理は失敗と見做して、図10に示すように、対象モジュールの処理失敗数を加算して表示し(1008)、対象モジュールを含む実績データを処理失敗リスト表示領域に追加して(1009)、処理を終了する。
図11は図1に示す操作モジュール119の例(ユーザインタフェース)である。画面操作モジュール119は、対象モジュールの入力領域1200、処理開始ボタン1201、処理成功数表示領域1202、処理失敗数表示領域1203、FIT表示領域1204、処理失敗リスト表示領域1205と、を備える。
管理ユーザは検索対象入力領域1200へモジュールの識別情報(モジュール名)を入力し、処理開始ボタン1201をクリックすることで、実績データ処理モジュール115が処理を開始する。そして、実績データ処理モジュール115のシーケンス(図8:806)によって、対象モジュールの処理成功の累計数を処理成功数表示領域1202に、その処理失敗の累計数を処理失敗数表示領域1203に、FITをFIT表示領域1204に、処理が失敗した対象モジュールのリストを処理失敗リスト表示領域1205のそれぞれに表示させる。
FITは、対象モジュールの処理成功数(1202)と処理失敗数(1203)とから計算される。処理失敗リストは、対象モジュールが原因となって計算機システム内でのデータフローが中断、停止、消滅等した実績データの一欄であってもよい。
以上説明したように、既述の計算機システムによれば、計算機システム内の少なくとも一部のモジュールについてFIT(動作実績)を明らかにすることができる。したがって、管理者はこれをエビデンスとして、計算機システムの機能安全規格のための申請や審査について利用することができる。さらに、計算機システムは端末を更新するための処理が失敗した場合でも、原因となったモジュールを特定することができるので、モジュールを改良できるなど、機能安全規格を取得する上で有効である。さらに、計算機システムは、動作実績を調べたいモジュールを選択することができる。
次に、第2の実施形態について説明する。先の実施形態では、計算機システム100は、図11に示すように、対象モジュールのFITと動作実績を実績データ処理モジュール115が生成するようにしていた。第2の実施形態では、計算機システム100は、データパス、即ち、複数のモジュールの組合せ(パス)の動作実績を生成することができる。例えば、実績データ処理モジュール115に、差分生成モジュールB(105)とチェックサム計算モジュールB(107)との組合せからなるパスを指定することによって、実績データ処理モジュール115は、対象パスのFIT、即ち、差分生成モジュールB(105)で差分ソフトを生成し、チェックサム計算モジュールB(107)でチェックサム計算を行った場合のFITを求めることができる。
さらに、例えば、Mod−2B(チェックサム計算モジュール)は、Mod−1A(差分ソフトウェア生成モジュール)で生成した差分ソフトウェアを受信した場合にはエラーを発生させず、Mod−1B(差分ソフトウェア)で生成した差分ソフトウェアを受信した場合にエラーを発生させる事象が時として起こる。これは、二つのモジュールのアルゴリズムの相性に問題があることが原因である。
このとき、先の実施形態のようにMod−2Bを対象モジュールとすると、対象モジュール(Mod−2B)に対して、Mod−1Aを含む実績データ118ばかりでなく、Mod−1Bを含む実績データ118も、対象モジュール(Mod−2B)の動作実績の分析対象になるため、多量の実績データとなって、Mod−1BとMod−2Bとの組合せによるエラーを見付け出すのは困難である。
これに対して、対象パス1400(図12)を特定して動作実績を分析することによって、計算機システム100は、分析対象となる実績データの範囲を制限でき、それ故、Mod−1BとMod−2Bとの組合せに起因するエラーを比較的容易に見付け出すことができる。
図12に対象パス1400の一例を示す。対象パス1300は、複数のモジュール名の一覧1200から構成される。図12は、モジュールMod−0(更新管理モジュール103)とモジュールMod−1B(差分生成モジュールモジュールB105)、モジュールMod−2B(チェックム計算モジュールB107)、Mod−3(更新対象選択モジュール108)、そして、Mod−4A(送信モジュール109)の組合せからなるパスによって、差分ソフトウェアの生成から差分ソフトウェアの送信までの一連のフローが構成されることを示している。
第2の実施形態に係る計算機システムのブロック図(図1,2)は、先の実施形態のものと同じである。第2の実施形態では、対象モジュール120に代えて、対象パスが操作モジュール119に入力できる点が、第1の実施形態とは異なる。第2の実施形態では、第1の実施形態の“対象モジュール”が“対象パス”に置き換えられる。
図13は、対象パスの判定処理(図8の802に対応)の詳細を示すフローチャートである。実績データ処理モジュール115は、実績データ118に、対象パス1400、即ち、対象パス1400の全てのモジュールが含まれているかを、実行記録リスト501(図8)のモジュール名502によってチェックする(1500)。実績データ処理モジュール115は、これを肯定判定すると、この実績データ118が対象データであると判定する(901,902)。
図14は、第2の実施形態における成否判定処理804(図8)の詳細を示すフローチャートである。実績データ処理モジュール115は、対象パスの選択がされると処理を開始する。実績データ処理モジュール115は、対象データである実績データ118をレビューすることによって、端末のソフトウェアの更新ができなかったことが、端末に原因があるのか、又は、計算機システムの対象パスに原因があるか否かを判定、評価、識別、決定、判断等することができる。
実績データ処理モジュール115は、対象データである実績データ118の実行記録リスト501のうち、対象パスに含まれる複数のモジュールの処理結果506、及び、更新記録117の処理結果403が全てに“正常”が登録されているか否かをチェックする(1001)。実績データ処理モジュール115は、このステップを肯定すると、対象パスの処理は成功であり、端末の処理も成功していると判定し、対象パスの処理成功数(図11参照)を加算(1400)して処理を終了する。
実績データ処理モジュール115は、ステップ1001を否定判定すると、失敗が端末に起因するのか否かを判定する(1003)。実績データ処理モジュール115は、対象パスの複数のモジュールの処理結果506が全て正常であれば、更新記録117の処理結果403にエラーコードが記録されていても、対象パスの処理は成功しているとしてステップ1003を肯定判定し、ステップ1400に移行する。
実績データ処理モジュール115は、対象パスに含まれるモジュールの処理結果に“エラー”が記録されていると、ステップ1003を否定判定してステップ1402に移行する。実績データ処理モジュール115は、対象パス1400に含まれる全てのモジュールに対し、以下のループ処理(1402から1404)を行う。ループ処理では、それぞれのモジュールに対し、実績データ118の実行記録リスト501に含まれる入力データ504を確認し、入力データが正常であったかを判定する(1004)。
モジュールに対する入力データに異常があれば(1004:NO)、このモジュールには問題がなかったとして次のモジュールのループ処理に移る(1404)。モジュールへの入力データが正常であれば(1004:YES)、入力データに対して想定される出力データを計算(1006)し、想定出力データと出力データを比較する(1007)。出力データ505が想定出力値と一致した場合には(1007:YES)、次のモジュールのループ処理に移る(1402)。出力データが想定データと一致しなかった場合は(1007:NO)、ループ処理を終了した上で対象パスの処理は失敗と見做し、図11に示すように、対象パスの処理失敗数を加算して表示し(1406)、対象パスを含む実績データを処理失敗リスト表示領域に追加する(1009)。
以上説明した本発明の複数の実施形態は何れも例であって、本発明はこれら実施形態によって限定されない。実施形態に記載された、要件、条件、装置、方法、部品、機能、範囲、構造、構成等に本発明は限定されない。例えば、計算機システムは、計算機センタ、ソフトウェア送信システム、端末更新システム、サーバ、データセンタ等に言い換えられてもよい。端末は、ソフトウェア更新対象装置、対象製品、対象システム等に言い換えられてもよい。

Claims (13)

  1. 端末を更新するためのソフトウェアを送信する計算機システムであって、
    前記ソフトウェアを前記端末に送信するまでの処理を順番に実行する複数のモジュールと、
    前記複数のモジュール夫々の動作ログを収集するコントローラと、
    前記コントローラが収集した動作ログを保存するメモリと、
    を備え、
    前記コントローラは、前記メモリに保存された動作ログに基づいて、前記複数のモジュールのうち所定のモジュールの動作実績を生成する、
    計算機システム。
  2. 前記コントローラは、前記動作ログとして、前記複数のモジュール夫々の入力データ、出力データ、そして、処理結果を収集する
    請求項1記載の計算機システム。
  3. 前記コントローラは、前記端末から前記ソフトウェアに基づく更新の成否を含む更新情報を取得する
    請求項2記載の計算機システム。
  4. 前記コントローラは、記複数のモジュール夫々の動作ログと前記更新情報とを対応付けることにより、前記端末の更新にエラーが発生した場合、前記複数のモジュールの少なくとも一つに原因があるか、又は、前記端末に原因があるかを区別できるように、前記動作実績を生成する
    請求項3記載の計算機システム。
  5. 前記コントローラは、管理者によって前記複数のモジュールから選択されたモジュールの動作実績を、前記メモリに保存された動作ログに基づいて、生成する、
    請求項1記載の計算機システム。
  6. 前記コントローラは、前記ソフトウェアを前記端末に送信するまでの処理を順番に実行した複数のモジュール夫々の動作ログを一欄にして前記メモリに保存する
    請求項1記載の計算機システム。
  7. 前記コントローラは、
    前記ソフトウェアを前記端末に送信するまでの処理を順番に実行した複数のモジュール夫々の動作ログに基づいて、処理を失敗したモジュールを判定し、
    当該モジュールを報知する
    請求項1記載の計算機システム。
  8. 前記コントローラは、管理者によって前記複数のモジュールから選択されたモジュールの組合せの動作実績を、前記メモリに保存された動作ログに基づいて、生成する、
    請求項1記載の計算機システム。
  9. 前記コントローラは、
    前記ソフトウェアを前記端末に送信するまでの処理を順番に実行した複数のモジュール夫々の動作ログに基づいて、処理を失敗したモジュールの組合せを判定し、
    当該モジュールの組合せを報知する
    請求項1記載の計算機システム。
  10. 前記コントローラは、前記メモリに保存された動作ログから、前記複数のモジュールのうち所定のモジュールについて、処理の成功数と処理の失敗数とに基づいて、前記動作実績として、故障率を生成する、
    請求項1記載の計算機システム。
  11. 計算機システムが端末を更新するためのソフトウェアの送信を管理するソフトウェアの送信管理方法であって、
    前記計算機システムの複数のモジュールが、前記ソフトウェアを前記端末に送信するまでの処理を順番に行い、
    前記計算機システムのコントローラが、
    前記複数のモジュール夫々の動作ログを収集し、
    前記収集した動作ログをメモリに保存し、
    前記メモリに保存された動作ログに基づいて、前記複数のモジュールのうち所定のモジュールの動作実績を生成する、
    送信管理方法。
  12. 計算機システムが端末を更新するためのソフトウェアの送信を管理するようにさせるためのプログラムであって、
    前記計算機システムの複数のモジュールに前記ソフトウェアを前記端末に送信するまでの処理を順番に実行させる機能と、
    前記複数のモジュール夫々の動作ログを収集する機能と、
    前記収集した動作ログをメモリに保存する機能と、
    前記メモリに保存された動作ログに基づいて、前記複数のモジュールのうち所定のモジュールの動作実績を生成する機能と、
    をコンピュータに実現させるためのプログラム。
  13. 請求項12記載のプログラムを記録した、コンピュータが読取可能な非一時的記録媒体。
JP2016194790A 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体 Active JP6659509B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016194790A JP6659509B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体
EP17183668.7A EP3301564B1 (en) 2016-09-30 2017-07-28 Computer system, method of managing transmission of software with computer system, program therefor, and recording medium
US15/666,997 US10310840B2 (en) 2016-09-30 2017-08-02 Computer system, method of managing transmission of software with computer system, program therefor, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016194790A JP6659509B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体

Publications (2)

Publication Number Publication Date
JP2018055646A JP2018055646A (ja) 2018-04-05
JP6659509B2 true JP6659509B2 (ja) 2020-03-04

Family

ID=59485236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016194790A Active JP6659509B2 (ja) 2016-09-30 2016-09-30 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体

Country Status (3)

Country Link
US (1) US10310840B2 (ja)
EP (1) EP3301564B1 (ja)
JP (1) JP6659509B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3851968B1 (en) * 2018-09-10 2024-01-24 Mitsubishi Electric Corporation Air conditioning system and program update method for air conditioning system
CN111414183A (zh) * 2020-04-09 2020-07-14 东风小康汽车有限公司重庆分公司 车辆组件的升级检测方法、装置、计算机设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US7353209B1 (en) * 2000-01-14 2008-04-01 Microsoft Corporation Releasing decrypted digital content to an authenticated path
US20020072893A1 (en) * 2000-10-12 2002-06-13 Alex Wilson System, method and article of manufacture for using a microprocessor emulation in a hardware application with non time-critical functions
US20040015762A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable system testing tools
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
JP2004326287A (ja) * 2003-04-23 2004-11-18 Mitsubishi Electric Corp プログラム遠隔更新システム
US7516209B2 (en) * 2003-06-27 2009-04-07 Microsoft Corporation Method and framework for tracking/logging completion of requests in a computer system
US20070300215A1 (en) * 2006-06-26 2007-12-27 Bardsley Jeffrey S Methods, systems, and computer program products for obtaining and utilizing a score indicative of an overall performance effect of a software update on a software host
JP4905150B2 (ja) 2007-01-22 2012-03-28 富士通株式会社 ソフトウェア動作実績管理システム、方法及びプログラム
JP4720781B2 (ja) * 2007-05-07 2011-07-13 株式会社デンソー 車両制御装置のデータ書換システム
US20090070756A1 (en) * 2007-09-06 2009-03-12 Hongfeng Wei System and method for resource utilization-based throttling of software updates
US8161474B2 (en) * 2007-12-14 2012-04-17 Sharp Laboratories Of America, Inc. Diagnostic information preservation during installations of over the air update of wireless handset software
JP5136889B2 (ja) * 2008-02-15 2013-02-06 Necインフロンティア株式会社 組み込み機器制御システム、組み込み機器制御装置、組み込み機器制御方法、組み込み機器制御プログラム
US20100332634A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C Self-distribution of a peer-to-peer distribution agent
JP2012053760A (ja) * 2010-09-02 2012-03-15 Mitsubishi Electric Corp 障害特定装置、障害特定方法及び障害特定プログラム
EP2738679A1 (en) * 2012-02-24 2014-06-04 Hitachi, Ltd. Computer program and management computer
US9311066B1 (en) * 2012-06-25 2016-04-12 Amazon Technologies, Inc. Managing update deployment
KR102206351B1 (ko) * 2014-04-28 2021-01-22 삼성전자 주식회사 전자 장치 및 이의 작업 연계 방법
KR102191017B1 (ko) * 2014-07-19 2020-12-15 삼성전자주식회사 eSIM 프로비저닝 방법과 이를 지원하는 서버 장치
KR102416549B1 (ko) * 2015-08-12 2022-07-04 삼성전자주식회사 어플리케이션을 관리하는 방법 및 그를 위한 전자 장치

Also Published As

Publication number Publication date
EP3301564B1 (en) 2019-01-30
US10310840B2 (en) 2019-06-04
US20180095744A1 (en) 2018-04-05
EP3301564A1 (en) 2018-04-04
JP2018055646A (ja) 2018-04-05

Similar Documents

Publication Publication Date Title
JP6755158B2 (ja) 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム
US10545469B2 (en) Systems and methods for self provisioning building equipment
CN103530199B (zh) 一种修复软件运行错误的方法、装置及系统
US20190278647A1 (en) Fault tree analysis for technical systems
CN110062918B (zh) 在云端网关中进行软件更新的方法、执行该方法的计算机程序和实施该方法的处理单元
CN107003926B (zh) 故障信息提供服务器、故障信息提供方法
CN106980565B (zh) 升级过程监控方法及装置
CN110830966B (zh) 一种物联网设备的绑定方法及物联网系统
JP6659509B2 (ja) 計算機システム、計算機システムによるソフトウェアの送信管理方法、そのためのプログラム、及び、記録媒体
CN109582670B (zh) 一种车辆维修方案的推荐方法及相关设备
JP6470764B2 (ja) システム管理装置及びシステム管理方法並びに情報システム
US20150169295A1 (en) Design Assistance Device for Control Software
KR101834247B1 (ko) 전장용 소프트웨어 안전성 분석 방법 및 장치
Guissouma et al. Variability-aware process extension for updating cyber physical systems over the air
CN113110381A (zh) 车辆售后用诊断系统及方法
CN109274533B (zh) 一种基于规则引擎的Web服务故障的定位装置和方法
KR101026637B1 (ko) 센서 네트워크에서 결함을 치유하는 방법 및 이를 실행하기위한 센서 네트워크
JP2017163252A (ja) 車両用ゲートウェイ装置及びプログラム
JP7548069B2 (ja) センタ、更新制御方法、更新制御プログラム、otaマスタ、ソフトウェア更新システム
US9372746B2 (en) Methods for identifying silent failures in an application and devices thereof
CN115437910A (zh) 车辆下线检测方法、装置、车辆、管理设备及存储介质
JP2007028037A (ja) 故障検知診断対処装置、故障検知診断対処システムおよび故障検知診断対処方法
CN114428710B (zh) 队列状态校验方法、装置及电子设备
CN114244828B (zh) 一种数据传输方法及车载动态数据管理系统
CN112114902B (zh) 一种基于android客户端的在线诊断分析方法

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200206

R150 Certificate of patent or registration of utility model

Ref document number: 6659509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150