JP2021092875A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP2021092875A
JP2021092875A JP2019221804A JP2019221804A JP2021092875A JP 2021092875 A JP2021092875 A JP 2021092875A JP 2019221804 A JP2019221804 A JP 2019221804A JP 2019221804 A JP2019221804 A JP 2019221804A JP 2021092875 A JP2021092875 A JP 2021092875A
Authority
JP
Japan
Prior art keywords
program
storage area
ecu
storage
controller
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
JP2019221804A
Other languages
English (en)
Other versions
JP7220397B2 (ja
Inventor
孝彦 上辻
Takahiko Kamitsuji
孝彦 上辻
大輝 松田
Daiki Matsuda
大輝 松田
宏和 玉野
Hirokazu Tamano
宏和 玉野
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2019221804A priority Critical patent/JP7220397B2/ja
Priority to CN202080025847.9A priority patent/CN113678101A/zh
Priority to PCT/JP2020/043029 priority patent/WO2021117445A1/ja
Priority to DE112020001541.6T priority patent/DE112020001541T5/de
Publication of JP2021092875A publication Critical patent/JP2021092875A/ja
Priority to US17/493,286 priority patent/US11947970B2/en
Application granted granted Critical
Publication of JP7220397B2 publication Critical patent/JP7220397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】更新対象の制御器のプログラムを当該制御器に影響を与えないように更新することができる情報処理装置などを提供する。【解決手段】情報処理装置210は、ECU230と、一方の記憶領域にECU230が起動時に実行する第1プログラムが格納されている、第1記憶領域241および第2記憶領域242を有する仮想ストレージをECU230に提供する管理ECU220と、外部装置から第1プログラムの更新用の第2プログラムを取得し、取得した第2プログラムを第1記憶領域241および第2記憶領域242の他方の記憶領域に格納させる更新制御部221と、第2プログラムが他方の記憶領域に格納された後で、ECU230が起動時に実行するプログラムを第1プログラムから他方の記憶領域に格納された第2プログラムに切り替える切替部222と、を備える。【選択図】図4

Description

本開示は、情報処理装置および情報処理方法に関する。
特許文献1では、自動車に搭載される電子機器の制御用ソフトウェアの更新において、更新バージョンプログラムを現行バージョンプログラムとは異なる格納エリアに格納した後で、更新バージョンプログラムの格納エリアを現行バージョンプログラムの格納エリアに切り替える自動車用制御ユニットが開示されている。
特開2006−301960号公報
本開示は、更新対象の制御器のプログラムを当該制御器に影響を与えないように更新することができる情報処理装置などを提供する。
本開示における情報処理装置は、第1制御器と、一方の記憶領域に前記第1制御器が起動時に実行する第1プログラムが格納されている、第1記憶領域および第2記憶領域を有する仮想ストレージを前記第1制御器に提供する第2制御器と、外部装置から前記第1プログラムの更新用の第2プログラムを取得し、取得した前記第2プログラムを前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させる更新制御部と、前記第2プログラムが前記他方の記憶領域に格納された後で、前記第1制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替える切替部と、を備える。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示における情報処理装置などは、更新対象の制御器のプログラムを当該制御器に影響を与えないように更新することができる。
図1は、実施の形態に係るデータ配信システムの概略図である。 図2は、実施の形態に係るサーバのハードウェア構成の一例を示すブロック図である。 図3は、実施の形態に係る移動体のハードウェア構成の一例を示すブロック図である。 図4は、実施の形態に係る情報処理装置210の機能構成の一例を示すブロック図である。 図5は、実施の形態に係る情報処理装置210によるプログラムの更新動作の一例を示すフローチャートである。 図6は、実施の形態に係る情報処理装置210によるプログラムの復旧動作の一例を示すフローチャートである。 図7は、変形例1に係る情報処理装置210Aの機能構成の一例を示すブロック図である。 図8は、変形例2に係る情報処理装置210Bの機能構成の一例を示すブロック図である。 図9は、情報処理装置210Bの機能を実現する仮想マシンの構成を示す図である。
(本発明の基礎となった知見)
本発明者らは、「背景技術」の欄において記載した、自動車用制御ユニットに関し、以下の問題が生じることを見出した。
特許文献1の自動車用制御ユニット(ECU:Electronic Control Unit)では、更新後のプログラムに不具合が生じている場合、ECUが更新後のプログラムを実行したときに起動不能になる、または、起動したとしてもデッドロックになることがある。このように、ECUが起動不能またはデッドロックになると、ECUが動作できなくなるため、新しいプログラムを古いプログラムとは異なる格納エリアに格納したとしても、古いプログラムを用いてECUを再起動することができないという課題がある。
また、複数のECUがそれぞれで独立してプログラムの更新を行う場合、ECU毎に処理能力が異なることが多いため、プログラムの更新品質にばらつきが生じてしまうという課題がある。例えば、プログラムの更新指示を更新対象とは異なる管理ECUが行う場合、更新対象のECUは、管理ECUからの更新指示に応じてプログラムの更新を自身で行うことがある。管理ECUは、プログラムの更新品質に各ECUでばらつきが生じないように各ECUにおけるプログラムの更新を管理しようとすると、例えば、各ECUの処理能力に応じた条件を満たすようにプログラムの更新指示をするなどの工夫が必要になる。つまり、管理ECUに各ECUのプログラムの更新品質を管理するための機能を実装する必要があり、当該機能を実現するためのプログラムを用意する必要がある。
このような課題を解決するために、発明者らは、更新対象の制御器のプログラムを、当該制御器に影響を与えないように、更新対象の制御器とは別の制御器に管理させることができる情報処理装置および情報処理方法を見出すに至った。
本開示の一態様に係る情報処理装置は、第1制御器と、一方の記憶領域に前記第1制御器が起動時に実行する第1プログラムが格納されている、第1記憶領域および第2記憶領域を有する仮想ストレージを前記第1制御器に提供する第2制御器と、外部装置から前記第1プログラムの更新用の第2プログラムを取得し、取得した前記第2プログラムを前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させる更新制御部と、前記第2プログラムが前記他方の記憶領域に格納された後で、前記第1制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替える切替部と、を備える。
これによれば、第1制御器が実行する第1プログラムは、第2制御器が提供する仮想ストレージの第1記憶領域および第2記憶領域の一方の記憶領域に格納されており、更新用の第2プログラムが取得されると第2プログラムは他方の記憶領域に格納される。その後、第1制御器が起動時に実行するプログラムが第2プログラムに切り替えられるため、第1制御器のプログラムの更新を、第1制御器を用いずに行うことができる。よって、更新対象の第1制御器のプログラムを第1制御器に影響を与えないように更新することができる。
また、前記切替部は、前記第2プログラムを実行した第1制御器に異常が検知された場合、前記第1制御器が起動時に実行するプログラムを前記第2プログラムから前記一方の記憶領域に格納されている前記第1プログラムに再変更してもよい。
これによれば、第2プログラムに異常が検知された場合、第1制御器とは異なる切替部が、第1制御器が起動時に実行するプログラムを第2プログラムから第1プログラムに切り替えることができる。よって、第1制御器が異常がある第2プログラムを実行することで起動不能またはデッドロックになったとしても、第1制御器を、正常に動作する第1プログラムを実行するように再起動することができる。このため、第1制御器が機能しなくなることを抑制することができる。
また、前記第1制御器は、前記更新制御部を有してもよい。
このため、第1制御器が第2プログラムを他方の記憶領域に格納することができる。
また、前記第2制御器は、前記更新制御部を有してもよい。
このため、第2制御器が第2プログラムを他方の記憶領域に格納することができる。
また、前記情報処理装置は、複数の前記第1制御器を備え、前記第2制御器による前記仮想ストレージは、前記複数の第1制御器にそれぞれアクセスされる、複数の前記第1記憶領域および複数の前記第2記憶領域を有してもよい。
このため、複数の第1制御器のそれぞれについて、当該第1制御器のプログラムを当該第1制御器に影響を与えないように更新することができる。
また、前記複数の第1制御器は、依存関係にある複数の依存制御器を有し、前記複数の依存制御器のそれぞれについて、前記仮想ストレージは、当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域を有し、当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域の一方の記憶領域は、当該依存制御器の起動時に前記当該依存制御器が実行する第1プログラムを格納しており、前記更新制御部は、前記外部装置から当該依存制御器に対応する更新用の第2プログラムを取得した場合、取得した前記第2プログラムを当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させ、前記切替部は、前記第2プログラムが前記他方の記憶領域に格納された後で、当該依存制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替え、前記切替部は、前記複数の依存制御器のうちの少なくとも1つの依存制御器が第2プログラムを実行したときに異常が検知された場合、前記複数の依存制御器がそれぞれ起動時に実行するプログラムを、前記第2プログラムから前記一方の記憶領域に格納されている前記第1プログラムに再変更してもよい。
これによれば、複数の依存制御器のうちの1つの依存制御器の第2プログラムに異常が検知された場合、複数の依存制御器とは異なる切替部が、全ての依存制御器が起動時に実行するプログラムを第2プログラムから第1プログラムに切り替えることができる。よって、一部の依存制御器が異常がある第2プログラムを実行することで起動不能またはデッドロックになって他の依存制御器に悪影響を及ぼす状態となったとしても、全ての複数の依存制御器を、正常に動作する第1プログラムを実行するように再起動することができる。このため、複数の依存制御器が機能しなくなることを抑制することができる。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
(実施の形態)
以下、図1〜図9を用いて、実施の形態を説明する。
[構成]
図1は、実施の形態に係る自動車への更新用のプログラムを配信するシステムの概略図である。
具体的には、図1において、サーバ100、自動車200、通信ネットワーク300および移動体通信網の基地局310が示されている。
サーバ100は、自動車200が備えるECUなどの電子機器のプログラム(ファームウェア)を記憶しており、自動車200に当該プログラムを通信ネットワーク300を介して提供する装置である。
自動車200は、基地局310を介して移動体通信網に通信接続することが可能な移動体である。
このように、図1では、OTA(Over The Air)で、自動車200のECUの更新用のプログラムが自動車200に配信されることで、ECUのプログラムが更新される例が示されている。なお、ECUのプログラムの更新方法は、OTAを用いて更新することに限らずない。例えば、更新用の装置を自動車200に有線接続して、更新用の装置を用いて記録媒体に記録された更新用プログラムを、自動車200のECUに適用するようにしてもよい。
図2は、実施の形態に係るサーバのハードウェア構成の一例を示すブロック図である。
図2に示すように、サーバ100は、ハードウェア構成として、CPU11(Central Processing Unit)と、メインメモリ12と、ストレージ13と、通信IF(Interface)14とを備える。
CPU11は、ストレージ13等に記憶された制御プログラムを実行するプロセッサである。
メインメモリ12は、CPU11が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
ストレージ13は、制御プログラム、コンテンツなどを保持する不揮発性の記憶領域である。
通信IF14は、通信ネットワーク300を介して複数の自動車200と通信する通信インタフェースである。通信IF14は、例えば、有線LANインタフェースである。なお、通信IF14は、無線LANインタフェースであってもよい。また、通信IF14は、LANインタフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インタフェースであれば、どのような通信インタフェースであってもよい。
図3は、実施の形態に係る自動車が備える情報処理装置210のハードウェア構成の一例を示すブロック図である。
図3に示すように、情報処理装置210は、ハードウェア構成として、TCU(Telematics Control Unit)21と、n個のECU22とを備える。なお、図3には、複数の自動車200それぞれの構成が示されている。なお、情報処理装置210は、図3に示されるハードウェア構成を全て含んでいなくてもよい。例えば、情報処理装置210は、TCU21を有していなくてもよい。
TCU21は、自動車200が通信ネットワーク300との間で無線通信を行う通信ユニットである。TCU21は、移動体通信網の規格に対応したセルラモジュールを含む通信ユニットである。
n個のECU22は、自動車200が備えるエンジン、モータ、メータ、トランスミッション、ブレーキ、ステアリング、パワーウィンドウ、エアコンなどの各種機器の制御を実行する制御回路である。例えば、n個のECU22は、これらの各種機器のそれぞれに対応して設けられている。n個のECU22のそれぞれは、図示しないが、プログラムを記憶する記憶部を備える。記憶部は、例えば、不揮発性のメモリである。
ストレージ23は、制御プログラムなどを保持する不揮発性の記憶領域である。
次に、自動車200の情報処理装置210の機能構成について図4を用いて説明する。
図4は、実施の形態に係る情報処理装置210の機能構成の一例を示すブロック図である。
情報処理装置210は、管理ECU220と、ECU230と、記憶部240とを備える。
管理ECU220は、ECU230が実行するプログラムの更新を管理するECUである。管理ECU220は、ECU230に仮想ストレージとして機能する記憶部240を提供する。管理ECU220は、例えば、n個のECU22のうちの少なくとも1つのECUにより実現される。管理ECU220は、TCU21を含んでいてもよい。管理ECU220は、第2制御器の一例である。
記憶部240は、管理ECU220を介して仮想ストレージとしてECU230に提供される。仮想ストレージは、第1記憶領域241および第2記憶領域242を有する。第1記憶領域241および第2記憶領域242の一方の記憶領域には、ECU230が起動時に実行する第1プログラムが格納されている。第1プログラムは、ECU230が現在使用中のプログラムである。記憶部240は、ストレージ23により実現される。
ECU230は、記憶部240の第1プログラムが格納されている記憶領域にアクセスし、第1プログラムを実行する。ECU230は、起動時に第1プログラムを実行することで自身の機能を実現する。ECU230は、例えば、n個のECU22のうちの管理ECU220を実現するECU22とは異なる少なくとも1つのECUにより実現される。ECU230は、第1制御器の一例である。
以下、管理ECU220およびECU230の具体的な機能について説明する。
管理ECU220は、具体的には、更新制御部221と、切替部222と、仮想ストレージホスト部223とを有する。
更新制御部221は、ECU230が実行するプログラムの更新を制御する。更新制御部221は、具体的には、外部装置から第1プログラムの更新用の第2プログラムを取得し、取得した第2プログラムを、仮想ストレージの第1記憶領域241および第2記憶領域242の他方の記憶領域に格納させる。他方の記憶領域は、第1記憶領域241および第2記憶領域242のうちで、ECU230が現在使用している第1プログラムが格納されていない記憶領域である。なお、外部装置は、例えば、サーバ100、または、更新用の装置である。
また、更新制御部221は、ECU230が第2プログラムを実行したときに、ECU230の動作に異常が生じたことを検知する。更新制御部221は、例えば、ECU230の動作状態をECU230から定期的に取得しており、ECU230が第2プログラムを実行したときに、ECU230の動作状態を前回取得した時から所定期間以上取得できない場合に、ECU230に異常が生じたと判定してもよい。また、ECU230の動作状態を前回取得した時から所定期間以上取得できない場合、更新制御部221は、ECU230を所定回数以上再起動させてもECU230の動作状態を取得できない場合に、ECU230に異常が生じたと判定してもよい。また、更新制御部221は、ECU230の動作状態を取得できても、動作状態が事前の想定から大きく異なる動作状態である場合には、ECU230に異常が生じたと判定してもよい。ここで、動作状態とは、例えば、ECU230を構成するCPU(Central Processing Unit)およびメモリ(RAM:Random Access Memory)についての、CPUの利用量、メモリの利用量、通信頻度、通信パターンなどである。
切替部222は、第2プログラムが他方の記憶領域に格納された後では、仮想ストレージの第1記憶領域241および第2記憶領域242の両方にECU230が実行するプログラムが格納されることとなるため、ECU230が実行するプログラムとして2つの記憶領域にそれぞれ記憶されている2つのプログラムのうちの1つを選択する処理部である。具体的には、切替部222は、第2プログラムが他方の記憶領域に格納された後で、ECU230が起動時に実行するプログラムを第1プログラムから他方の記憶領域に格納された第2プログラムに切り替える。また、切替部222は、更新制御部221により第2プログラムを実行したECU230に異常が検知された場合、ECU230が起動時に実行するプログラムを第2プログラムから一方の記憶装置に格納されている第1プログラムに再変更する。
仮想ストレージホスト部223は、記憶部240を実現しているストレージ23を用いて、ECU230に対して仮想ストレージとしての記憶部240を提供する処理部である。仮想ストレージホスト部223は、仮想クライアント機能を有するECU230からアクセスされ、ストレージ23の実記憶領域を、仮想的な第1記憶領域241および第2記憶領域242として提供する。
ECU230は、具体的には、制御部231と、状態検知部232と、仮想ストレージクライアント部233とを有する。
制御部231は、第1プログラムを実行して、ECU230の機能を実現する処理部である。制御部231は、具体的には、仮想ストレージクライアント部233を制御して、管理ECU220を介して記憶部240にアクセスし、第1記憶領域241および第2記憶領域242の一方の記憶領域に格納されている第1プログラムを実行する。
状態検知部232は、ECU230が起動中において、一定間隔でECU230の動作状態を取得し、取得した動作状態を管理ECU220に通知する。状態検知部232は、ECU230に異常が生じて動作できなくなると、動作状態を管理ECU220に通知できなくなる。つまり、状態検知部232が動作状態を管理ECU220に通知できないことが、ECU230の動作に異常が生じたことを示している。
仮想ストレージクライアント部233は、管理ECU220の仮想ストレージホスト部223との間で情報をやり取りすることで、仮想ストレージホスト部223から仮想ストレージとして機能する記憶部240の提供を受ける処理部である。
[動作]
以上のように構成された情報処理装置210について、その動作を以下に説明する。
図5は、実施の形態に係る情報処理装置210によるプログラムの更新動作の一例を示すフローチャートである。
管理ECU220は、第2プログラムを取得したか否かを判定する(S11)。
管理ECU220は、第2プログラムを取得したと判定した場合(S11でYes)、仮想ストレージの第1記憶領域241および第2記憶領域242のうちでECU230が起動時に使用していない記憶領域に第2プログラムを格納する(S12)。管理ECU220は、第2プログラムを取得していないと判定した場合、ステップS11に戻る。
次に、管理ECU220は、ECU230が起動時に使用する記憶領域を、第1記憶領域241および第2記憶領域242のうちで第2プログラムを格納した記憶領域に切り替える(S13)。これにより、管理ECU220は、ECU230の起動時に第2プログラムを実行させる。なお、管理ECU220は、ECU230が起動時に使用する記憶領域を切り替えた後で、ECU230を再起動する。
図6は、実施の形態に係る情報処理装置210によるプログラムの復旧動作の一例を示すフローチャートである。復旧動作は、図5で説明した更新動作が行われた後に行われる。
管理ECU220は、第2プログラムを実行したECU230に異常が生じたか否かを判定する(S21)。
管理ECU220は、ECU230に異常が生じたと判定した場合(S21でYes)、ECU230が起動時に使用する記憶領域を、第1記憶領域241および第2記憶領域242のうちで、第2プログラムが記憶されている記憶領域から第1プログラムが記憶されている記憶領域に切り替える(S22)。これにより、管理ECU220は、ECU230の起動時に第1プログラムを実行させる。なお、管理ECU220は、ECU230が起動時に使用する記憶領域を切り替えた後で、ECU230を再起動する。
[効果など]
本実施の形態に係る情報処理装置210によれば、ECU230が実行する第1プログラムは、管理ECU220が提供する仮想ストレージの第1記憶領域241および第2記憶領域242の一方の記憶領域に格納されており、更新用の第2プログラムが取得されると第2プログラムは他方の記憶領域に格納される。その後、ECU230が起動時に実行するプログラムが第2プログラムに切り替えられるため、ECU230のプログラムの更新を、ECU230を用いずに行うことができる。よって、更新対象のECU230のプログラムを動作中のECU230に影響を与えないように更新することができる。
また、本実施の形態に係る情報処理装置210において、切替部222は、第2プログラムを実行したECU230に異常が検知された場合、ECU230が起動時に実行するプログラムを第2プログラムから一方の記憶領域に格納されている第1プログラムに再変更する。これによれば、第2プログラムに異常が検知された場合、ECU230とは異なる管理ECU220が有する切替部222が、ECU230が起動時に実行するプログラムを第2プログラムから第1プログラムに切り替えることができる。よって、ECU230が異常がある第2プログラムを実行することで起動不能またはデッドロックになったとしても、ECU230を、正常に動作する第1プログラムを実行するように再起動することができる。このため、ECU230が機能しなくなることを抑制することができる。
[変形例]
(変形例1)
上記実施の形態に係る情報処理装置210では、1つのECU230に対して仮想ストレージとしての第1記憶領域241および第2記憶領域242が管理ECU220によって提供される例を説明したが、複数のECU230a、230bに対して仮想ストレージが提供されてもよい。図7は、変形例1に係る情報処理装置210Aの機能構成の一例を示すブロック図である。
情報処理装置210Aは、実施の形態の情報処理装置210と比較して、管理ECU220Aが複数のECU230a、230bに対して仮想ストレージとしての記憶部240Aを提供している点が異なる。以下では、主に、実施の形態の情報処理装置210の異なる点について説明する。
管理ECU220Aでは、仮想ストレージホスト部223Aが複数のECU230a、230bに記憶部240Aを提供している。仮想ストレージホスト部223Aは、複数のECU230a、230bにそれぞれアクセスされる、複数の第1記憶領域241、243、および、複数の第2記憶領域242、244を有する。具体的には、仮想ストレージホスト部223Aは、ECU230aに第1記憶領域241および第2記憶領域242を提供し、ECU230bに第1記憶領域243および第2記憶領域244を提供する。このように、仮想ストレージホスト部223Aは、複数のECU230a、230bに対してそれぞれ独立した2つの記憶領域を提供する。第1記憶領域241および第2記憶領域242の一方の記憶領域には、ECU230aが起動時に実行する第1プログラムが格納されている。同様に、第1記憶領域243および第2記憶領域244の一方の記憶領域には、ECU230bが起動時に実行する第1プログラムが格納されている。
更新制御部221Aは、複数のECU230a、230bのそれぞれに対して、実施の形態の更新制御部221と同様の処理を行う。更新制御部221Aは、具体的には、外部装置からECU230aの第1プログラムの更新用の第2プログラムを取得し、取得した第2プログラムを、仮想ストレージの第1記憶領域241および第2記憶領域242の他方の記憶領域に格納させる。同様に、更新制御部221Aは、外部装置からECU230bの第1プログラムの更新用の第2プログラムを取得し、取得した第2プログラムを、仮想ストレージの第1記憶領域243および第2記憶領域244の他方の記憶領域に格納させる。
切替部222Aは、ECU230aの第2プログラムが他方の記憶領域に格納された後で、ECU230aが起動時に実行するプログラムを第1プログラムから他方の記憶領域に格納された第2プログラムに切り替える。同様に、切替部222Aは、ECU230bの第2プログラムが他方の記憶領域に格納された後で、ECU230bが起動時に実行するプログラムを第1プログラムから他方の記憶領域に格納された第2プログラムに切り替える。
また、切替部222Aは、更新制御部221Aにより第2プログラムを実行したECU230aに異常が検知された場合、ECU230aが起動時に実行するプログラムを第2プログラムから一方の記憶装置に格納されている第1プログラムに再変更する。同様に、切替部222Aは、更新制御部221Aにより第2プログラムを実行したECU230bに異常が検知された場合、ECU230bが起動時に実行するプログラムを第2プログラムから一方の記憶装置に格納されている第1プログラムに再変更する。
変形例1の情報処理装置210Aでは、複数のECU230a、230bのそれぞれについて、当該ECUのプログラムを当該ECUに影響を与えないように更新することができる。
なお、変形例1において、複数のECU230a、230bが依存関係にある場合がある。依存関係にあるとは、一のECUの機能が実現されていることが前提で他のECUの機能が実現されている関係にあることである。つまり、依存関係のECUでは、一のECUの動作が正常に行われないと、他のECUの動作も正常に行われない。このため、切替部222Aは、依存関係について考慮して、プログラムの切り替えを行ってもよい。具体的には、切替部222Aは、依存関係にある複数のECU230a、230bのうちの少なくとも1つのECUが第2プログラムを実行したときに異常が検知された場合、複数のECU230a、230bがそれぞれ起動時に実行するプログラムを、第2プログラムから一方の記憶領域に格納されている第1プログラムに再変更する。
これによれば、複数のECU230a、230bのうちの1つのECUが第2プログラムを実行したときに当該ECUから異常が検知された場合、複数のECU230a、230bとは異なる管理ECU220Aの切替部222Aが、依存関係にある全てのECU230a、230bが起動時に実行するプログラムを第2プログラムから第1プログラムに切り替えることができる。よって、ECU230aが異常がある第2プログラムを実行することで起動不能またはデッドロックになってECU230bに悪影響を及ぼす状態となったとしても、全ての複数のECU230a、230bを、正常に動作する第1プログラムを実行するように再起動することができる。このため、複数のECU230a、230bが機能しなくなることを抑制することができる。
(変形例2)
上記実施の形態では、管理ECU220と、ECU230とは、n個のECU22のうちのいずれかで実現されるとしたが、これに限らずに、1以上のプロセッサ、および、仮想化環境を実現するためのプログラムが格納されているメモリまたはストレージにより実現されてもよい。
図8は、変形例2に係る情報処理装置210Bの機能構成の一例を示すブロック図である。図9は、情報処理装置210Bの機能を実現する仮想マシンの構成を示す図である。
情報処理装置210Bは、図8に示すように、管理VM(Virtual Machine)220Bと、複数のVM(Virtual Machine)230Ba、230Bbと、監視部250と、共有メモリ260とを備える。情報処理装置210Bは、図9に示すように、1以上のハードウェアの上にソフトウェアにより仮想的に実現される仮想マシンを有する。例えば、情報処理装置210Bは、ハイパーバイザー型の仮想化環境で実現される。
管理VM220Bは、実施の形態に係る管理ECU220と同様の機能を有する。複数のVM230Ba、230Bbは、実施の形態に係るECU230a、230bと同様の機能を有する。
監視部250は、VM230Ba、230Bbの状態検知部232から動作状態を定期的に取得し、取得した動作状態を管理VM220Bの更新制御部221に出力する。このように、監視部250は、管理VM220BおよびVM230Ba、230Bbとは異なる処理部として実現されているため、管理VM220BおよびVM230Ba、230Bbに依存することなく、より効果的に各VMからの動作状態を取得することができる。
共有メモリ260は、仮想ストレージ機能による記憶領域を提供する。このように、共有メモリ260により、各VMのプログラムの記憶領域が実現されているため、管理VM220BおよびVM230Ba、230Bb間の情報の受け渡しを高速に行うことができる。
(変形例3)
上記実施の形態では、管理ECU220が有する更新制御部221において、外部装置から第1プログラムの更新用の第2プログラムを取得し、取得した第2プログラムを、仮想ストレージの第1記憶領域241および第2記憶領域242の他方の記憶領域に格納させる処理を行うとしたが、これに限らずに、ECU230が当該処理を行う更新制御部をさらに有していてもよい。これにより、ECU230の書き換え機能が特殊な場合に、ECU230の機能に応じた書き換えを実現することができる。
(変形例4)
上記実施の形態では、切替部222、222Aは、管理ECU220が有するとしたが、これに限らずに、管理ECU220およびECU230とは異なる処理部または制御器が有していてもよい。
(変形例5)
上記実施の形態では、自動車200を移動体の一例として挙げたが、移動体は、自動車200に限らずに、他の乗り物であってもよいし、無人の車両、ドローンなどの飛行体などであってもよい。また、情報処理装置210は、例えば、移動体に搭載されるコンピュータシステムに限らずに、複数の制御器を備えていればどのようなコンピュータシステムに適用されてもよい。
[その他]
なお、上記実施の形態およびその変形例1〜4において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の配信ルール生成方法などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、第1制御器と、一方の記憶領域に前記第1制御器が起動時に実行する第1プログラムが格納されている、第1記憶領域および第2記憶領域を有する仮想ストレージを前記第1制御器に提供する第2制御器と、を備える情報処理装置により実行される情報処理方法であって、外部装置から前記第1プログラムの更新用の第2プログラムを取得し、取得した前記第2プログラムを前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させ、前記第2プログラムが前記他方の記憶領域に格納された後で、前記第1制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替える情報処理方法を実行させる。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
本開示は、更新対象の制御器のプログラムを当該制御器に影響を与えないように更新することができる情報処理装置等に適用可能である。
11 CPU(Central Processing Unit)
12 メインメモリ
13 ストレージ
14 通信IF(Interface)
21 TCU(Telematics Control Unit)
22 ECU(Electronic Control Unit)
23 ストレージ
100 サーバ
200 自動車
210、210A、210B 情報処理装置
220、220A 管理ECU
220B 管理VM
221、221A 更新制御部
222、222A 切替部
223、223A 仮想ストレージホスト部
230、230a,230b ECU
230Ba、230Bb VM
231 制御部
232 状態検知部
233 仮想ストレージクライアント部
240、240A 記憶部
241、243 第1記憶領域
242、244 第2記憶領域
250 監視部
260 共有メモリ
300 通信ネットワーク
310 基地局

Claims (7)

  1. 第1制御器と、
    一方の記憶領域に前記第1制御器が起動時に実行する第1プログラムが格納されている、第1記憶領域および第2記憶領域を有する仮想ストレージを前記第1制御器に提供する第2制御器と、
    外部装置から前記第1プログラムの更新用の第2プログラムを取得し、取得した前記第2プログラムを前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させる更新制御部と、
    前記第2プログラムが前記他方の記憶領域に格納された後で、前記第1制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替える切替部と、を備える
    情報処理装置。
  2. 前記切替部は、前記第2プログラムを実行した第1制御器に異常が検知された場合、前記第1制御器が起動時に実行するプログラムを前記第2プログラムから前記一方の記憶領域に格納されている前記第1プログラムに再変更する
    請求項1に記載の情報処理装置。
  3. 前記第1制御器は、前記更新制御部を有する
    請求項1または2に記載の情報処理装置。
  4. 前記第2制御器は、前記更新制御部を有する
    請求項1または2に記載の情報処理装置。
  5. 前記情報処理装置は、複数の前記第1制御器を備え、
    前記第2制御器による前記仮想ストレージは、前記複数の第1制御器にそれぞれアクセスされる、複数の前記第1記憶領域および複数の前記第2記憶領域を有する
    請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記複数の第1制御器は、依存関係にある複数の依存制御器を有し、
    前記複数の依存制御器のそれぞれについて、
    前記仮想ストレージは、当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域を有し、
    当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域の一方の記憶領域は、当該依存制御器の起動時に前記当該依存制御器が実行する第1プログラムを格納しており、
    前記更新制御部は、前記外部装置から当該依存制御器に対応する更新用の第2プログラムを取得した場合、取得した前記第2プログラムを当該依存制御器に対応する前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させ、
    前記切替部は、前記第2プログラムが前記他方の記憶領域に格納された後で、当該依存制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替え、
    前記切替部は、前記複数の依存制御器のうちの少なくとも1つの依存制御器が第2プログラムを実行したときに異常が検知された場合、前記複数の依存制御器がそれぞれ起動時に実行するプログラムを、前記第2プログラムから前記一方の記憶領域に格納されている前記第1プログラムに再変更する
    請求項5に記載の情報処理装置。
  7. 第1制御器と、一方の記憶領域に前記第1制御器が起動時に実行する第1プログラムが格納されている、第1記憶領域および第2記憶領域を有する仮想ストレージを前記第1制御器に提供する第2制御器と、を備える情報処理装置により実行される情報処理方法であって、
    外部装置から前記第1プログラムの更新用の第2プログラムを取得し、
    取得した前記第2プログラムを前記第1記憶領域および前記第2記憶領域の他方の記憶領域に格納させ、
    前記第2プログラムが前記他方の記憶領域に格納された後で、前記第1制御器が起動時に実行するプログラムを前記第1プログラムから前記他方の記憶領域に格納された前記第2プログラムに切り替える
    情報処理方法。
JP2019221804A 2019-12-09 2019-12-09 情報処理装置および情報処理方法 Active JP7220397B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019221804A JP7220397B2 (ja) 2019-12-09 2019-12-09 情報処理装置および情報処理方法
CN202080025847.9A CN113678101A (zh) 2019-12-09 2020-11-18 信息处理装置、移动体以及信息处理方法
PCT/JP2020/043029 WO2021117445A1 (ja) 2019-12-09 2020-11-18 情報処理装置、移動体および情報処理方法
DE112020001541.6T DE112020001541T5 (de) 2019-12-09 2020-11-18 Informationsverarbeitungsvorrichtung, beweglicher gegenstand und informationsverarbeitungsverfahren
US17/493,286 US11947970B2 (en) 2019-12-09 2021-10-04 Information processing device, moving object, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019221804A JP7220397B2 (ja) 2019-12-09 2019-12-09 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2021092875A true JP2021092875A (ja) 2021-06-17
JP7220397B2 JP7220397B2 (ja) 2023-02-10

Family

ID=76313291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019221804A Active JP7220397B2 (ja) 2019-12-09 2019-12-09 情報処理装置および情報処理方法

Country Status (5)

Country Link
US (1) US11947970B2 (ja)
JP (1) JP7220397B2 (ja)
CN (1) CN113678101A (ja)
DE (1) DE112020001541T5 (ja)
WO (1) WO2021117445A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023007577A1 (ja) * 2021-07-27 2023-02-02 日産自動車株式会社 ソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243004A (ja) * 1997-02-21 1998-09-11 Honda Motor Co Ltd 車両用ネットワークシステムと車載用オペレーティングシステム
JP2002099517A (ja) * 2000-09-25 2002-04-05 Matsushita Electric Ind Co Ltd スレーブマイクロコンピュータの起動方法およびマイクロコンピュータ装置
JP2010111233A (ja) * 2008-11-05 2010-05-20 Fujitsu Ten Ltd マイクロコンピュータ及びマイクロコンピュートシステム
JP2013041436A (ja) * 2011-08-17 2013-02-28 Nec Engineering Ltd マルチプロセッサシステム及び起動方法
JP2015179411A (ja) * 2014-03-19 2015-10-08 日本電気株式会社 複数cpuの起動回路、複数cpuの起動方法及び複数cpuの起動回路のプログラム
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4548601B2 (ja) 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
US20060259207A1 (en) 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
EP3219553B1 (en) * 2014-11-12 2019-01-23 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
JP6361671B2 (ja) * 2016-03-02 2018-07-25 住友電気工業株式会社 プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
JP6390644B2 (ja) * 2016-03-02 2018-09-19 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6756225B2 (ja) * 2016-10-04 2020-09-16 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び更新方法
JP6724717B2 (ja) * 2016-10-25 2020-07-15 株式会社オートネットワーク技術研究所 車載機器判定システム
JP6747339B2 (ja) * 2017-02-27 2020-08-26 株式会社オートネットワーク技術研究所 プログラム更新方法
JP6911591B2 (ja) * 2017-07-07 2021-07-28 富士通株式会社 情報処理装置、制御装置および情報処理装置の制御方法
JP6915500B2 (ja) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP7027940B2 (ja) 2018-02-20 2022-03-02 株式会社デンソー 制御装置
WO2019187535A1 (ja) * 2018-03-28 2019-10-03 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243004A (ja) * 1997-02-21 1998-09-11 Honda Motor Co Ltd 車両用ネットワークシステムと車載用オペレーティングシステム
JP2002099517A (ja) * 2000-09-25 2002-04-05 Matsushita Electric Ind Co Ltd スレーブマイクロコンピュータの起動方法およびマイクロコンピュータ装置
JP2010111233A (ja) * 2008-11-05 2010-05-20 Fujitsu Ten Ltd マイクロコンピュータ及びマイクロコンピュートシステム
JP2013041436A (ja) * 2011-08-17 2013-02-28 Nec Engineering Ltd マルチプロセッサシステム及び起動方法
JP2015179411A (ja) * 2014-03-19 2015-10-08 日本電気株式会社 複数cpuの起動回路、複数cpuの起動方法及び複数cpuの起動回路のプログラム
JP2018200510A (ja) * 2017-05-25 2018-12-20 株式会社デンソーテン ソフトウェア更新装置、ソフトウェア更新システム、及び、ソフトウェア更新方法

Also Published As

Publication number Publication date
US20220027166A1 (en) 2022-01-27
CN113678101A (zh) 2021-11-19
US11947970B2 (en) 2024-04-02
WO2021117445A1 (ja) 2021-06-17
JP7220397B2 (ja) 2023-02-10
DE112020001541T5 (de) 2022-01-05

Similar Documents

Publication Publication Date Title
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US9575785B2 (en) Cluster system and method for providing service availability in cluster system
JP2014142957A5 (ja)
US9792150B1 (en) Detecting site change for migrated virtual machines
US10467106B2 (en) Data processing method, data processing system, and non-transitory computer program product for controlling a workload delay time
JP6111181B2 (ja) 計算機の制御方法及び計算機
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP3933587B2 (ja) 計算機システム、計算機装置及びオペレーティングシステムの移送方法
JP7002358B2 (ja) 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
JP6165964B2 (ja) 計算機
CN110874261A (zh) 可用性系统、方法和存储有程序的存储介质
CN108319492B (zh) 复位物理机的方法、装置与系统
WO2014099887A1 (en) Distributed cache coherency directory with failure redundancy
WO2021117445A1 (ja) 情報処理装置、移動体および情報処理方法
CN114185603B (zh) 一种智能加速卡的控制方法、服务器及智能加速卡
EP3316518B1 (en) Method and device for upgrading virtual network element, and computer storage medium
CN116501343A (zh) 一种程序升级方法、电源及计算设备
KR102377729B1 (ko) 멀티 코어 프로세서 및 그것의 동작 방법
CN115033337A (zh) 虚拟机内存迁移方法、装置、设备及存储介质
US11392423B2 (en) Method for running a quorum-based system by dynamically managing the quorum
WO2021153224A1 (ja) 情報処理装置および情報処理方法
CN114115703A (zh) 裸金属服务器在线迁移方法以及系统
US20220334821A1 (en) Ota master, update control method, non-transitory storage medium, and ota center
KR101564144B1 (ko) 펌웨어 관리 장치 및 방법
JP4330838B2 (ja) ストレージ共有計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230120

R151 Written notification of patent or utility model registration

Ref document number: 7220397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03