WO2019193845A1 - 電子制御装置および電子制御システム - Google Patents
電子制御装置および電子制御システム Download PDFInfo
- Publication number
- WO2019193845A1 WO2019193845A1 PCT/JP2019/005763 JP2019005763W WO2019193845A1 WO 2019193845 A1 WO2019193845 A1 WO 2019193845A1 JP 2019005763 W JP2019005763 W JP 2019005763W WO 2019193845 A1 WO2019193845 A1 WO 2019193845A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- electronic control
- control device
- allocation
- save
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
ハイパーバイザ(300)によって管理される複数の仮想マシンを有する電子制御装置(10,20,30)は、複数の仮想マシンのうち一の仮想マシン(100)に発生した異常を検出するとともに、異常を検出した場合に一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力する、一の仮想マシンとは異なる他の仮想マシン(200)に設けられた監視部(201)と、停止要求に基づいて一の仮想マシンに対するCPU資源の割り当てを停止する、ハイパーバイザに設けられた割り当て制御部301と、共有メモリ(401)と、CPU資源の割り当てが停止された一の仮想マシンに宛てて送信されたデータを共有メモリにDMA(Direct Memory Access)転送するDMAコントローラ(402)と、を備える。
Description
本出願は、2018年4月2日に出願された日本特許出願番号2018-071073号に基づくもので、ここにその記載内容を援用する。
本出願は、電子制御装置(ECU:Electric Control Unit)に関するものであり、主として、車両用の電子制御装置に用いるものである。
従来より、自動車には、CAN(Controller Area Network)などの車載ネットワークで互いに接続された様々な種類の電子制御装置が搭載されている。これらの電子制御装置には、エンジンやハンドルといった車両の動作を制御するものが含まれているため、車両の安全性を確保するためには、車内ネットワークやアプリケーションを監視し異常を検知・防止する等によりセキュリティを確保することが求められる。
例えば、特許文献1には、ハイパーバイザによって管理される複数の仮想マシンのうち1つの仮想マシンに異常が発生した場合、異常が発生した仮想マシンのみの通信を遮断することにより、異常が発生していない他の仮想マシンの通信状態を確保しながら、他の仮想マシンのセキュリティを確保する技術が開示されている。
特許文献1に開示された技術によれば、異常が発生した仮想マシンの通信を遮断することによって他の仮想マシンのセキュリティを確保することができるが、異常が発生した仮想マシンの通信を遮断している間に当該仮想マシン宛てに送信されたデータは、記録されずに失われてしまう。発明者の詳細な検討の結果、仮想マシン宛てに送信されるデータの中には、仮想マシンに発生した異常、あるいは、電子制御装置や電子制御装置を搭載した車両に発生した異常などの事後の原因調査に使用されるデータが含まれている可能性があるため、仮想マシンに異常が発生している間もこのようなネットワーク上の通信データは適切にログに記録されることが望ましいという課題を見出した。
そこで、本開示の目的は、仮想マシンに異常が発生した場合であっても、セキュリティを確保しながら、異常が発生した仮想マシンに関するデータの確保を実現することにある。
本開示の一態様による電子制御装置は、ハイパーバイザによって管理される複数の仮想マシンを有する電子制御装置であり、複数の仮想マシンのうち一の仮想マシンに発生した異常を検出するとともに、異常を検出した場合に一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力する、一の仮想マシンとは異なる他の仮想マシンに設けられた監視部と、停止要求に基づいて一の仮想マシンに対するCPU資源の割り当てを停止する、ハイパーバイザに設けられた割り当て制御部と、共有メモリと、CPU資源の割り当てが停止された一の仮想マシンに宛てて送信されたデータを共有メモリにDMA(Direct Memory Access)転送するDMAコントローラと、を備える。
本開示の他の態様による電子制御システムは、マスタ電子制御装置と、通信ネットワークを介してマスタ電子制御装置に接続され、マスタ電子制御装置によって制御されるスレーブ電子制御装置と、を備える電子制御システムであって、マスタ電子制御装置及びスレーブ電子制御装置の少なくとも一方は、ハイパーバイザによって管理される複数の仮想マシンを有し、さらに、複数の仮想マシンのうち一の仮想マシンに発生した異常を検出するとともに、異常を検出した場合に一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力する、一の仮想マシンとは異なる他の仮想マシンに設けられた監視部と、停止要求に基づいて一の仮想マシンに対するCPU資源の割り当てを停止する、ハイパーバイザに設けられた割り当て制御部と、共有メモリと、CPU資源の割り当てが停止された一の仮想マシンに宛てて送信されたデータを共有メモリにDMA転送するDMAコントローラと、を備える。
本開示の他の態様による電子制御装置の処理方法は、ハイパーバイザによって管理される複数の仮想マシンを有する電子制御装置で実行される処理方法であって、複数の仮想マシンのうち一の仮想マシンに発生した異常を検出し、異常を検出した場合に一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力し、停止要求に基づいて一の仮想マシンに対するCPU資源の割り当てを停止し、CPU資源の割り当てが停止された一の仮想マシンに宛てて送信されたデータを共有メモリにDMA転送する。
本開示の他の態様によるコンピュータにて実行可能な処理プログラムは、ハイパーバイザによって管理される複数の仮想マシンを有する電子制御装置で実行される処理プログラムであって、複数の仮想マシンのうち一の仮想マシンに発生した異常を検出し、異常を検出した場合に一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力し、停止要求に基づいて一の仮想マシンに対するCPU資源の割り当てを停止し、CPU資源の割り当てが停止された一の仮想マシンに宛てて送信されたデータを共有メモリにDMA転送する。
本開示の電子制御装置、電子制御システム、電子制御装置の処理方法、およびコンピュータにて実行可能な処理プログラムによれば、仮想マシンに異常が発生した場合にCPUの割り当てを停止することにより、他の仮想マシンへの影響が及ばないようにすることでセキュリティを確保する事ができる。更にDMA転送を有効にしておくことによりCPUが割り当てられなくとも当該仮想マシン宛の通信データを受信する事が可能であるため、異常が発生した仮想マシンに関するデータの確保を継続することができる。
以下、本開示の実施形態について、図面を参照して説明する。
なお、本開示とは、以下の実施形態に限定されるものではない。また、少なくともダブルクォーテーション内の語句は、請求の範囲に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本開示の例示としての実施形態の構成を有する場合の効果であり、必ずしも本開示が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
本開示に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本開示の構成及び方法と共に発明の進歩性を肯定する事実である。
なお、本開示とは、以下の実施形態に限定されるものではない。また、少なくともダブルクォーテーション内の語句は、請求の範囲に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本開示の例示としての実施形態の構成を有する場合の効果であり、必ずしも本開示が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
本開示に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本開示の構成及び方法と共に発明の進歩性を肯定する事実である。
(各実施形態に共通の構成)
図1は、通信ネットワーク2を介して複数の電子制御装置が接続されている車載電子制御システム1を示している。図1では、マスタ電子制御装置3とn個のスレーブ電子制御装置4とが接続されており、マスタ電子制御装置3およびスレーブ電子制御装置4は、通信ネットワーク2を介してデータを送受信する。同様に、複数のスレーブ電子制御装置4同士でデータを送受信することができる。通信ネットワーク2には、例えば、CAN、LIN(Local Interconnect Network)といった通信方式の他、Ethernet(登録商標)やWi-Fi(登録商標)、Bluetooth(登録商標)等、任意の通信方式を用いることができる。
図1は、通信ネットワーク2を介して複数の電子制御装置が接続されている車載電子制御システム1を示している。図1では、マスタ電子制御装置3とn個のスレーブ電子制御装置4とが接続されており、マスタ電子制御装置3およびスレーブ電子制御装置4は、通信ネットワーク2を介してデータを送受信する。同様に、複数のスレーブ電子制御装置4同士でデータを送受信することができる。通信ネットワーク2には、例えば、CAN、LIN(Local Interconnect Network)といった通信方式の他、Ethernet(登録商標)やWi-Fi(登録商標)、Bluetooth(登録商標)等、任意の通信方式を用いることができる。
マスタ電子制御装置3は、例えば、ゲートウェイ機能や、車両外部との通信機能を有する電子制御装置である。また、スレーブ電子制御装置4は、マスタ電子制御装置3から送信された指示に基づいて制御される電子制御装置であり、例えば、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、ナビゲーション装置等の情報系電子制御装置、あるいは、障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置が挙げられる。しかしながら、マスタ電子制御装置3およびスレーブ電子制御装置4のいずれも、上記の例に限定されるものではない。また、マスタ電子制御装置3は、スレーブ電子制御装置の機能を包含していてもよい。
車載システム1を構成する電子制御装置のうち、マスタ電子制御装置3またはスレーブ電子制御装置4の少なくとも一つが以下に詳述する各実施形態の電子制御装置の構成および機能を有する。
(実施形態1)
本実施形態1の電子制御装置10の構成を図2を用いて説明する。本開示の“電子制御装置”は、ハイパーバイザによって管理される“複数の仮想マシン”を有する。図2に示す電子制御装置10は、第1の仮想マシン100及び第2の仮想マシン200、これらの仮想マシンを管理するハイパーバイザ300、および、ハードウェアである共有メモリ401とDMAコントローラ402を備えている。そして、第1および第2の仮想マシン100、200はそれぞれ、仮想マシン上にインストールされたゲストOSと、ゲストOS上にインストールされた複数のアプリケーションを有する。
本実施形態1の電子制御装置10の構成を図2を用いて説明する。本開示の“電子制御装置”は、ハイパーバイザによって管理される“複数の仮想マシン”を有する。図2に示す電子制御装置10は、第1の仮想マシン100及び第2の仮想マシン200、これらの仮想マシンを管理するハイパーバイザ300、および、ハードウェアである共有メモリ401とDMAコントローラ402を備えている。そして、第1および第2の仮想マシン100、200はそれぞれ、仮想マシン上にインストールされたゲストOSと、ゲストOS上にインストールされた複数のアプリケーションを有する。
ここで、本開示の“電子制御装置”は、例えば、主に半導体装置で構成され、CPU(Central Processing Unit)、およびRAM(Random Access Memory)等の揮発性記憶部を有する、いわゆる情報処理装置として構成されていてもよい。この場合、情報処理装置はさらに、フラッシュメモリ等の不揮発性記憶部、通信ネットワーク等に接続されるネットワークインターフェース部等を有していてもよい。さらに、このような情報処理装置はパッケージ化された半導体装置であっても、配線基板において各半導体装置が配線接続された構成であってもよい。
また、本開示の“複数の仮想マシン”とは、一の仮想マシンと他の仮想マシンとを含むものであればよく、それ以外の仮想マシンを含んでもよい。
また、本開示の“複数の仮想マシン”とは、一の仮想マシンと他の仮想マシンとを含むものであればよく、それ以外の仮想マシンを含んでもよい。
電子制御装置10はさらに、“非セキュア領域”と、非セキュア領域からはアクセスできない領域である“セキュア領域”とを有している。非セキュア領域およびセキュア領域は、ハイパーバイザ300によって構成される。図2に示す実施形態では、第1の仮想マシン100及び共有メモリ401は非セキュア領域に、第2の仮想マシン200及びハイパーバイザ300はセキュア領域に設けられている。ただし、ハイパーバイザ300は、必ずしもセキュア領域に設けられていなくともよい。
ここで、本開示の“非セキュア領域”とは、“非セキュア領域”および“セキュア領域”のいずれからもアクセス可能な領域をいう。また、本開示の“セキュア領域”とは、“非セキュア領域”からはアクセスできず、同じ“セキュア領域”からのみアクセス可能な領域をいう。
複数の仮想マシンのうち第1の仮想マシン100(一の仮想マシンに相当)は、任意のアプリケーションを実行するアプリケーション実行部101(図中では、APP実行部と示す)を有する。
一方、第2の仮想マシン200(他の仮想マシンに相当)は、監視部201を有する。なお、本実施形態では、監視部201は第2の仮想マシン200に設けられているが、例えば、後述する監視部201の機能ごとにそれぞれ異なる仮想マシンに設けられてもよい。つまり、第2の仮想マシン200が監視部201の機能の1つを有し、第3の仮想マシン(図示せず)が監視部201の別の機能を有するようにしてもよい。
一方、第2の仮想マシン200(他の仮想マシンに相当)は、監視部201を有する。なお、本実施形態では、監視部201は第2の仮想マシン200に設けられているが、例えば、後述する監視部201の機能ごとにそれぞれ異なる仮想マシンに設けられてもよい。つまり、第2の仮想マシン200が監視部201の機能の1つを有し、第3の仮想マシン(図示せず)が監視部201の別の機能を有するようにしてもよい。
ここで、本開示の“他の仮想マシン”とは、1台の仮想マシンで構成される場合の他、複数の仮想マシンで構成されてもよい。複数の仮想マシンで構成される場合、監視部の機能がこれらの複数の仮想マシンをまたいで設けられていてもよい。
第2の仮想マシン200の監視部201は、サイバー攻撃等によって異常を引き起こされる可能性がある非セキュア領域内の仮想マシンを監視する。そして、複数の仮想マシンのうち第1の仮想マシン100に発生した異常を“検出”した場合には、監視部201は、異常が発生した第1の仮想マシン100に対する“CPU資源の割り当て”の停止を要求する割り当て停止要求(停止要求に相当)を出力する。
ここで、本開示の“検出”する、とは、監視部が仮想マシンをモニタ等することによって、仮想マシンの異常を検出することの他、異常が発生したこと示す情報を受信することによって、監視部は仮想マシンの異常を検出してもよい。
また、本開示の“CPU資源の割り当て”とは、CPUの機能を享受できる状態に置くことをいう。本開示の“CPU”とは、汎用の中央演算装置の他、専用の中央演算装置も含み、マイコン等その名称は問わない。
また、本開示の“CPU資源の割り当て”とは、CPUの機能を享受できる状態に置くことをいう。本開示の“CPU”とは、汎用の中央演算装置の他、専用の中央演算装置も含み、マイコン等その名称は問わない。
監視部201はさらに、第1の仮想マシン100を監視することにより、第1の仮想マシン100に発生した異常が回復したことを“検出”する。そして、第1の仮想マシン100に発生した異常の回復を検出した場合には、第1の仮想マシン100に対する“CPU資源の割り当て”の再開を要求する割り当て再開要求(再開要求に相当)を出力する。
ハイパーバイザ300には、割り当て制御部301が設けられる。この割り当て制御部301は、電子制御装置10が有する各仮想マシンに対するCPU資源の割り当てを制御する。つまり、割り当て制御部301は、仮想マシンに対するCPU資源の割り当てを停止する、あるいは、CPU資源の割り当てが停止された仮想マシンに対して、CPU資源の割り当てを再開する。
共有メモリ401は、非セキュア領域に設けられたランダムアクセスメモリである。ランダムアクセスメモリは揮発性メモリであり、SRAMやDRAMをはじめ、様々な方式のメモリを含む。
DMAコントローラ402は、バスを介して接続された周辺デバイス(図示せず)から共有メモリへと“データ”のDMA転送を行う。
なお、本実施形態では、仮想マシンに異常が発生する前の通常動作時および異常発生後のいずれも、DMAコントローラ402がDMA転送によって共有メモリにデータをDMA転送する構成を説明している。しかしながら、仮想マシンに異常が発生するまではPIO(Programmed I/O)転送を行い、仮想マシンに異常が発生したことをトリガとしてDMA転送が開始される構成としてもよい。いずれの構成を採用した場合も、DMAコントローラ402は、CPU資源の割り当てが停止された仮想マシンに宛てて送信されたデータを共有メモリにDMA転送する。
ここで、本開示の“データ”とは、アプリケーションが取り扱うデータの他、アプリケーションやシステムの履歴を示すログをも含む。
なお、本実施形態では、仮想マシンに異常が発生する前の通常動作時および異常発生後のいずれも、DMAコントローラ402がDMA転送によって共有メモリにデータをDMA転送する構成を説明している。しかしながら、仮想マシンに異常が発生するまではPIO(Programmed I/O)転送を行い、仮想マシンに異常が発生したことをトリガとしてDMA転送が開始される構成としてもよい。いずれの構成を採用した場合も、DMAコントローラ402は、CPU資源の割り当てが停止された仮想マシンに宛てて送信されたデータを共有メモリにDMA転送する。
ここで、本開示の“データ”とは、アプリケーションが取り扱うデータの他、アプリケーションやシステムの履歴を示すログをも含む。
次に、本実施形態の電子制御装置10の動作を、図3を用いて説明する。
第2の仮想マシン200に設けられた監視部201は、非セキュア領域内の仮想マシンに異常が発生しているかどうかを監視する。そして、第1の仮想マシン100に発生した異常を検出(S101)すると、監視部201は、割り当て制御部301に対して、異常が発生した第1の仮想マシン100に対するCPU資源の割り当ての停止を要求する割り当て停止要求を出力する(S102)。
割り当て制御部301は、監視部201から出力された割り当て停止要求に“基づいて”、第1の仮想マシン100に対するCPU資源の割り当てを停止する(S103)。そして、割り当て制御部301は、監視部201に対して、第1の仮想マシン100に対するCPU資源の割り当てを停止させたことを示す停止通知を出力する(S104)。
ここで、本開示の“基づいて”とは、与えられた情報や指示の結果として所定の処理が行われていればよく、与えられた情報や指示を直接的に受けて処理を行う場合の他、与えられた情報や指示の結果を受けて、すなわち、与えられた情報や指示を間接的に受けて処理を行ってもよい。以下、原則同じである。例えば、割り当て停止要求に“基づいて”割り当てを停止する、とは、割り当て停止要求を用いて割り当て停止に関する動作制御が行われていればよく、割り当て制御部は必ずしも監視部から直接的に割り当て停止要求を受信しなくともよい。
ここで、本開示の“基づいて”とは、与えられた情報や指示の結果として所定の処理が行われていればよく、与えられた情報や指示を直接的に受けて処理を行う場合の他、与えられた情報や指示の結果を受けて、すなわち、与えられた情報や指示を間接的に受けて処理を行ってもよい。以下、原則同じである。例えば、割り当て停止要求に“基づいて”割り当てを停止する、とは、割り当て停止要求を用いて割り当て停止に関する動作制御が行われていればよく、割り当て制御部は必ずしも監視部から直接的に割り当て停止要求を受信しなくともよい。
S103において第1の仮想マシン100に対するCPU資源の割り当てが停止されると、第1の仮想マシン100からのデータの送信は制限される。しかしながら、第1の仮想マシン100に宛てて送信されたデータは、DMAコントローラ402が共有メモリ401にDMA転送するため、第1の仮想マシン100に関するログデータは共有メモリ401内に記録される。
その後、異常が発生した第1の仮想マシン100にパッチが適用され、異常が修正される(S105)と、監視部201は、第1の仮想マシン100に発生した異常が回復したことを検出する(S106)。そして、異常の回復を検出した監視部201は、割り当て制御部301に対して、第1の仮想マシン100に対するCPU資源の割り当ての再開を要求する割り当て再開要求を出力する(S107)。
割り当て制御部301は、監視部201から出力された割り当て再開要求に“基づいて”、第1の仮想マシン100に対するCPU資源の割り当てを再開する(S108)。そして、割り当て制御部301は、監視部201に対して、第1の仮想マシン100に対するCPU資源の割り当てを再開させたことを示す再開通知を出力する(S109)。
上記実施形態1によれば、異常が発生した第1の仮想マシン100に対するCPU資源の割り当てを停止させることにより、異常が発生していない他の仮想マシンのセキュリティを確保することが可能となる。さらに、第1の仮想マシン100に対するCPU資源の割り当てが停止している間、DMA転送によって、第1の仮想マシン100に宛てて送信されたデータを共有メモリ401に記録することが可能となる。
(変形例)
上記実施形態1では、電子制御装置10が2つの仮想マシン、すなわち、第1及び第2の仮想マシン100、200を有する構成を説明した。しかしながら、電子制御装置10は任意の数の仮想マシンをセキュア領域または非セキュア領域のいずれにも有することができる。例えば、電子制御装置10は非セキュア領域内に第3の仮想マシンを有してもよい。しかしながら、この場合、監視部201からCPU資源の割り当て停止要求または割り当て再開要求を受信した割り当て制御部301は、CPU資源の割り当てを停止または再開させる対象の仮想マシンが、第1の仮想マシンおよび第3の仮想マシンのいずれであるかを認識することができない。
上記実施形態1では、電子制御装置10が2つの仮想マシン、すなわち、第1及び第2の仮想マシン100、200を有する構成を説明した。しかしながら、電子制御装置10は任意の数の仮想マシンをセキュア領域または非セキュア領域のいずれにも有することができる。例えば、電子制御装置10は非セキュア領域内に第3の仮想マシンを有してもよい。しかしながら、この場合、監視部201からCPU資源の割り当て停止要求または割り当て再開要求を受信した割り当て制御部301は、CPU資源の割り当てを停止または再開させる対象の仮想マシンが、第1の仮想マシンおよび第3の仮想マシンのいずれであるかを認識することができない。
そこで、非セキュア領域内に複数の仮想マシンが存在する場合は、本変形例の監視部201は、割り当て停止要求または割り当て再開要求に加えて、異常が発生した仮想マシンを識別する“識別情報”、例えば、仮想マシンのドメインを出力してもよい。そして、割り当て制御部301は、仮想マシンの識別情報に基づいて、CPU資源の割り当てを制御する対象の仮想マシンを識別するとともに、この仮想マシンに対するCPU資源の割り当てを停止または再開する。
ここで、本開示の“識別情報”とは、仮想マシンを識別することができる情報であればよく、いわゆるIDに限定されるものではない。
ここで、本開示の“識別情報”とは、仮想マシンを識別することができる情報であればよく、いわゆるIDに限定されるものではない。
上記変形例によれば、電子制御装置10が非セキュア領域内に2以上の仮想マシンを有する場合であっても、割り当て制御部301はCPU資源の割り当てを制御すべき仮想マシンを認識することが可能となる。
(実施形態2)
実施形態1によれば、第1の仮想マシン100に対するCPU資源の割り当てが停止している間であっても、DMA転送によって、第1の仮想マシン100に宛てて送信されたデータを共有メモリに記録することが可能となる。しかしながら、共有メモリ401は非セキュア領域に設けられているため、共有メモリ401に書き込まれたデータは、サイバー攻撃等によって改ざん又は削除される可能性がある。
実施形態1によれば、第1の仮想マシン100に対するCPU資源の割り当てが停止している間であっても、DMA転送によって、第1の仮想マシン100に宛てて送信されたデータを共有メモリに記録することが可能となる。しかしながら、共有メモリ401は非セキュア領域に設けられているため、共有メモリ401に書き込まれたデータは、サイバー攻撃等によって改ざん又は削除される可能性がある。
そこで、実施形態2では、非セキュア領域内の共有メモリ401に記録されたデータを保護することができる電子制御装置の構成を、実施形態1との相違点を中心に説明する。ここで、図4は、実施形態2の電子制御装置20を示しており、実施形態1と共通する構成については同じ符号を付している。
実施形態2の電子制御装置20は、セキュア領域内に退避実行部202および退避先メモリ403を備えているという点で、図2に示す実施形態1の電子制御装置10とは異なっている。なお、図4に示す電子制御装置20では、退避実行部202が監視部201と同じく第2の仮想マシン200に設けられているが、退避実行部202は、監視部201とは異なる仮想マシンに設けられてもよい。
本実施形態2の監視部201は、仮想マシンに発生した異常を検出した場合に、割り当て停止要求および割り当て再開要求に加えて、共有メモリ401内のデータを退避先メモリ403に退避させることを要求する退避要求を出力する。
退避実行部202は、監視部201からの退避要求に“基づいて”、共有メモリ401内に記録されたデータを退避先メモリ403に退避させる処理を実行する。
退避先メモリ403は、セキュア領域に設けられたランダムアクセスメモリ、もしくはフラッシュメモリであり、共有メモリ401に書き込まれたデータの退避先となるメモリである。退避先メモリ403はセキュア領域に設けられているため、退避先メモリ403に書き込まれたデータがサイバー攻撃等によって改ざん等される可能性は低く、セキュリティ性が高い。
図5は、共有メモリ内に記録されたデータを退避先メモリ403に退避させる場合のフローを示している。
本実施形態2の電子制御装置20では、監視部201が第1の仮想マシン100に発生した異常を検出した場合、監視部201は、共有メモリ401内のデータを退避先メモリ403に退避させることを要求する退避要求を退避実行部202に対して出力する(S201)。
退避実行部202は、監視部201から出力された退避要求に基づいて、共有メモリ401内に記録されたデータを退避させる処理を実行する。具体的には、退避実行部202は共有メモリ内に記録されたデータを読み出し(S202)、次いで、読み出したデータを退避先メモリ403に“退避”させる(S203)。なお、共有メモリ401へのデータの書き込み等と同様、共有メモリ401から退避先メモリ403へのデータの退避は、ドライバおよびメモリコントローラを介して行われるが、本書の説明では省略する。
なお、本開示における、データを“退避”とは、データを共有メモリから読み出して退避先メモリに書き込むことをいい、共有メモリに保存されていたデータが削除されるか否かは問わない。
なお、本開示における、データを“退避”とは、データを共有メモリから読み出して退避先メモリに書き込むことをいい、共有メモリに保存されていたデータが削除されるか否かは問わない。
退避先メモリ403へのデータの退避が完了した場合、図5のS204に示すように、共有メモリ401の空き容量を増加させるために、監視部201は退避させたデータを共有メモリ401から削除し、退避させたデータが記録されていた領域を解放することが望ましいが、当該構成は任意である。
このように、第1の仮想マシン100に発生した異常が検出された場合に、共有メモリ401から退避先メモリ403へとデータを退避させることにより、共有メモリ401内のデータ、特に、異常発生時のログデータを確保することが可能となる。
なお、監視部201が異常を検出した後に退避要求を出力するタイミングは任意であるが、監視部201は、第1の仮想マシン100に対するCPU資源の割り当てが停止された後、第1の仮想マシン100に対するCPU資源の割り当てが再開されるまでの間に退避要求を出力することが望ましい。例えば、監視部201は、割り当て停止要求を出力した後、割り当て再開要求を出力する前、すなわち、図3に示すS102からS107の間に退避要求を出力し、図5に示す一連の処理を実行する。あるいは、監視部201は、第1の仮想マシン100に発生した異常の回復を検出(図3のS106)したことをトリガとして、図5に示す処理を実行してもよい。
この場合、第1の仮想マシン100に対するCPU資源の割り当てが停止している間、第2の仮想マシン200に対してより多くのCPU資源を割り当てることが可能になるため、第2の仮想マシン200は退避処理を最適に実行することが可能となる。
この場合、第1の仮想マシン100に対するCPU資源の割り当てが停止している間、第2の仮想マシン200に対してより多くのCPU資源を割り当てることが可能になるため、第2の仮想マシン200は退避処理を最適に実行することが可能となる。
また、監視部201は、第1の仮想マシン100に対するCPU資源の割り当て停止要求の出力“に続いて”、退避要求を出力することがさらに望ましい。例えば、監視部201は、図3に示すS102において割り当て停止要求を出力すると直ちに退避要求を出力する。あるいは、監視部201は、図3に示すS104において、割り当て制御部301から第1の仮想マシン100に対するCPU資源の割り当てを停止したことを示す停止通知を受信し次第、退避実行部202に対して退避要求を出力して、図5に示す一連の処理を実行する。
この場合、第1の仮想マシン100に対するCPU資源の割り当て停止をトリガとして、退避が実行されるため、例えば、第1の仮想マシン100に発生した異常の回復を検出したことをトリガとする場合とは異なり、第1の仮想マシン100に発生した異常を修正することができず、異常の回復が検出されない場合であっても、共有メモリ401内のデータを確実に、セキュリティ性の高い退避先メモリ403へと退避させることができる。
ここで、本開示の停止要求の出力“に続いて”とは、停止要求を出力後、遅滞なく退避要求を出力する場合の他、一の仮想マシンに対するCPU資源の割り当てが停止されたことを検出した後、監視部の準備が整い次第、遅滞なく退避要求を出力する場合も含む。
この場合、第1の仮想マシン100に対するCPU資源の割り当て停止をトリガとして、退避が実行されるため、例えば、第1の仮想マシン100に発生した異常の回復を検出したことをトリガとする場合とは異なり、第1の仮想マシン100に発生した異常を修正することができず、異常の回復が検出されない場合であっても、共有メモリ401内のデータを確実に、セキュリティ性の高い退避先メモリ403へと退避させることができる。
ここで、本開示の停止要求の出力“に続いて”とは、停止要求を出力後、遅滞なく退避要求を出力する場合の他、一の仮想マシンに対するCPU資源の割り当てが停止されたことを検出した後、監視部の準備が整い次第、遅滞なく退避要求を出力する場合も含む。
(実施形態3)
上記実施形態2では、共有メモリ401から退避先メモリ403へとデータを退避させることにより、共有メモリ401内に記録されたデータを保護することができる。しかしながら、退避先メモリ403の空き容量には限界があるため、退避先メモリ403に十分な空き容量がない状態で退避処理が行われた場合、共有メモリ401から退避先メモリ403にデータが適切に退避されず、データが失われてしまうおそれがある。そこで、本実施形態3では、退避先メモリ403に退避されたデータを、電子制御装置の外部に設けられたストレージに適宜転送する構成を説明する。
上記実施形態2では、共有メモリ401から退避先メモリ403へとデータを退避させることにより、共有メモリ401内に記録されたデータを保護することができる。しかしながら、退避先メモリ403の空き容量には限界があるため、退避先メモリ403に十分な空き容量がない状態で退避処理が行われた場合、共有メモリ401から退避先メモリ403にデータが適切に退避されず、データが失われてしまうおそれがある。そこで、本実施形態3では、退避先メモリ403に退避されたデータを、電子制御装置の外部に設けられたストレージに適宜転送する構成を説明する。
図6は、本実施形態3の電子制御装置30を示している。電子制御装置30は、セキュア領域に設けられたアップロード実行部203を備えている点で、図4の電子制御装置20とは異なっている。さらに、図6は、有線または無線によって電子制御装置30に接続された、ストレージ501を有するサーバ500を示している。サーバ500は、車載電子制御システム1に含まれ、通信ネットワーク2を介して電子制御装置30と接続されていてもよく、あるいは、車載電子制御システム1を搭載する車両の外部に配置されてもよい。
電子制御装置30のアップロード実行部203は、退避先メモリ403に退避されたデータをストレージ501に転送する。そして、退避先メモリ403からストレージ501へのデータの転送が完了すると、アップロード実行部203は退避先メモリ403からデータを削除する。なお、図6では、アップロード実行部203が第2の仮想マシン200に設けられているが、セキュア領域内であれば、監視部201又は退避実行部202とは異なる仮想マシンに設けられてもよい。
退避先メモリ403からストレージ501へのデータの転送は任意のタイミングで実行することができる。例えば、アップロード実行部203は、周期的にデータをストレージ501に転送する。あるいは、アップロード実行部203は、共有メモリ401から退避先メモリ403へとデータが退避された後、遅滞なく、退避先メモリ403内のデータをストレージ501に転送してもよい。
以上のとおり、本変形例によれば、退避先メモリ403に退避されたデータは、電子制御装置の外部に設けられたストレージ501へと適宜転送されるため、退避先メモリ403の空き容量不足によって、共有メモリ401から退避先メモリ403へのデータの退避ができなくなるのを防ぐことが可能となる。
各実施形態は、車両に搭載される車載電子制御システムを構成する電子制御装置を前提としているが、本開示は、車載電子制御システム以外の電子制御装置(情報処理装置)も含むものである。
(総括)
以上、本開示の各実施形態における電子制御装置の特徴について説明した。なお、複数の実施形態およびその変形例の特徴を説明したが、各実施形態およびその変形例の特徴を2以上含むようにしてもよい。
以上、本開示の各実施形態における電子制御装置の特徴について説明した。なお、複数の実施形態およびその変形例の特徴を説明したが、各実施形態およびその変形例の特徴を2以上含むようにしてもよい。
図1に示す車載電子制御システム1を構成するマスタ電子制御装置3またはスレーブ電子制御装置4のいずれか一方が実施形態1乃至3の電子制御装置の構成および機能を有する場合、マスタ電子制御装置3またはスレーブ電子制御装置4のセキュリティ性を高めることが可能となる。特に、マスタ電子制御装置3に本開示の電子制御装置を採用した場合には、マスタ電子制御装置3のセキュリティ性を高めるだけでなく、マスタ電子制御装置3の指示に基づいて動作するスレーブ電子制御装置4のセキュリティをも確保しながら、データを確保することが可能となる。
また、マスタ電子制御装置3およびスレーブ電子制御装置4の双方が実施形態1、2の電子制御装置の構成および機能を有する場合、車載システム1全体のセキュリティ性を高めるとともに、データを確保することが可能となる。あるいは、特定の電子制御装置、例えば、マスタ電子制御装置と、車両の走行に必須の電子制御装置や重要なデータを取り扱う電子制御装置といった一部のスレーブ電子制御装置のみに本開示の電子制御装置を採用することにより、特定の電子制御装置のセキュリティ性を高めながら、データを確保できるようにしてもよい。
また、マスタ電子制御装置3およびスレーブ電子制御装置4の双方が実施形態1、2の電子制御装置の構成および機能を有する場合、車載システム1全体のセキュリティ性を高めるとともに、データを確保することが可能となる。あるいは、特定の電子制御装置、例えば、マスタ電子制御装置と、車両の走行に必須の電子制御装置や重要なデータを取り扱う電子制御装置といった一部のスレーブ電子制御装置のみに本開示の電子制御装置を採用することにより、特定の電子制御装置のセキュリティ性を高めながら、データを確保できるようにしてもよい。
また、本開示の電子制御装置の形態の例として、半導体、電子回路、モジュール、マイクロコンピュータが挙げられる。またこれらにアンテナや通信用インターフェースなど、必要な機能を追加してもよい。また、カーナビゲーションシステム、スマートフォン、パーソナルコンピュータ、携帯情報端末のような形態をとることも可能である。
加えて、本開示は、上述の専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録したプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
専用や汎用のハードウェアの記憶領域(外部記憶装置(ハードディスク、USBメモリ等)、内部記憶装置(RAM,ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して上述の専用又は汎用のハードウェア(コンピュータに相当)に提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
本開示の電子制御装置は、主として自動車に搭載される車載用電子制御装置として説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能である。また、移動体に限らず、マイクロコンピュータを包含する製品全般に適用可能である。
Claims (11)
- ハイパーバイザ(300)によって管理される複数の仮想マシンを有する電子制御装置(10,20,30)であって、
前記複数の仮想マシンのうち一の仮想マシン(100)に発生した異常を検出するとともに、異常を検出した場合に前記一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力する、前記一の仮想マシンとは異なる他の仮想マシン(200)に設けられた監視部(201)と、
前記停止要求に基づいて前記一の仮想マシンに対するCPU資源の割り当てを停止する、前記ハイパーバイザに設けられた割り当て制御部(301)と、
共有メモリ(401)と、
CPU資源の割り当てが停止された前記一の仮想マシンに宛てて送信されたデータを前記共有メモリにDMA(Direct Memory Access)転送するDMAコントローラ(402)と、
を備える、電子制御装置。 - 前記監視部はさらに、前記一の仮想マシンに発生した異常が回復したことを検出するとともに、異常の回復を検出した場合に前記一の仮想マシンに対するCPU資源の割り当ての再開を要求する再開要求を出力し、
前記割り当て制御部は、前記再開要求に基づいて前記一の仮想マシンに対するCPU資源の割り当てを再開する、
請求項1記載の電子制御装置。 - 当該電子制御装置は非セキュア領域とセキュア領域とを有しており、
前記共有メモリは前記非セキュア領域に設けられており、
前記他の仮想マシン及び前記ハイパーバイザは前記セキュア領域に設けられている、
請求項1記載の電子制御装置。 - 当該電子制御装置は非セキュア領域とセキュア領域とを有し、さらに、
前記セキュア領域内の退避先メモリ(403)と、
前記非セキュア領域に設けられた前記共有メモリ内のデータを前記退避先メモリに退避させる退避実行部(202)と、
を備え、
前記監視部は、前記一の仮想マシンに発生した異常を検出した場合に、前記共有メモリ内のデータを前記退避先メモリに退避させることを要求する退避要求を出力し、
前記退避実行部は、前記退避要求に基づいて前記共有メモリ内のデータを前記退避先メモリに退避させる、
請求項1記載の電子制御装置(20)。 - 前記監視部は、前記停止要求の出力に続いて、前記退避要求を出力する、
請求項4記載の電子制御装置。 - 当該電子制御装置は非セキュア領域とセキュア領域とを有し、さらに、
前記セキュア領域内の退避先メモリ(403)と、
前記非セキュア領域に設けられた前記共有メモリ内のデータを前記退避先メモリに退避させる退避実行部(202)と、
を備え、
前記監視部は、前記停止要求の出力後、かつ、前記再開要求の出力前に、前記共有メモリ内のデータを前記退避先メモリに退避させることを要求する退避要求を出力し、
前記退避実行部は、前記退避要求に基づいて前記共有メモリ内のデータを前記退避先メモリに退避させる、
請求項2記載の電子制御装置(20)。 - 当該電子制御装置はさらに、前記退避先メモリに退避された前記データを当該電子制御装置の外部に設けられたストレージに転送するアップロード実行部(203)を備える、
請求項4乃至6のいずれか一項に記載の電子制御装置(30)。 - 前記監視部は、前記停止要求に加えて、前記一の仮想マシンを識別する識別情報を出力する、
請求項1記載の電子制御装置。 - マスタ電子制御装置(3)と、通信ネットワーク(2)を介して前記マスタ電子制御装置に接続され、前記マスタ電子制御装置によって制御されるスレーブ電子制御装置(4)と、を備える電子制御システム(1)であって、
前記マスタ電子制御装置及び前記スレーブ電子制御装置の少なくとも一方は、ハイパーバイザ(300)によって管理される複数の仮想マシンを有し、さらに、
前記複数の仮想マシンのうち一の仮想マシン(100)に発生した異常を検出するとともに、異常を検出した場合に前記一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力する、前記一の仮想マシンとは異なる他の仮想マシン(200)に設けられた監視部(201)と、
前記停止要求に基づいて前記一の仮想マシンに対するCPU資源の割り当てを停止する、前記ハイパーバイザに設けられた割り当て制御部(301)と、
共有メモリ(401)と、
CPU資源の割り当てが停止された前記一の仮想マシンに宛てて送信されたデータを前記共有メモリにDMA(Direct Memory Access)転送するDMAコントローラ(402)と、を備える、
電子制御システム。 - ハイパーバイザによって管理される複数の仮想マシンを有する電子制御装置で実行される処理方法であって、
前記複数の仮想マシンのうち一の仮想マシンに発生した異常を検出し、
異常を検出した場合に前記一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力し、
前記停止要求に基づいて前記一の仮想マシンに対するCPU資源の割り当てを停止し、
CPU資源の割り当てが停止された前記一の仮想マシンに宛てて送信されたデータを共有メモリにDMA(Direct Memory Access)転送する、
電子制御装置の処理方法。 - ハイパーバイザによって管理される複数の仮想マシンを有する電子制御装置で実行される処理プログラムであって、
前記複数の仮想マシンのうち一の仮想マシンに発生した異常を検出し、
異常を検出した場合に前記一の仮想マシンに対するCPU資源の割り当ての停止を要求する停止要求を出力し、
前記停止要求に基づいて前記一の仮想マシンに対するCPU資源の割り当てを停止し、
CPU資源の割り当てが停止された前記一の仮想マシンに宛てて送信されたデータを共有メモリにDMA(Direct Memory Access)転送する、
コンピュータにて実行可能な処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/039,696 US11915027B2 (en) | 2018-04-02 | 2020-09-30 | Security and data logging of virtual machines |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018071073A JP7006461B2 (ja) | 2018-04-02 | 2018-04-02 | 電子制御装置および電子制御システム |
JP2018-071073 | 2018-04-02 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/039,696 Continuation US11915027B2 (en) | 2018-04-02 | 2020-09-30 | Security and data logging of virtual machines |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019193845A1 true WO2019193845A1 (ja) | 2019-10-10 |
Family
ID=68100385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/005763 WO2019193845A1 (ja) | 2018-04-02 | 2019-02-18 | 電子制御装置および電子制御システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11915027B2 (ja) |
JP (1) | JP7006461B2 (ja) |
WO (1) | WO2019193845A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021117371A1 (ja) * | 2019-12-11 | 2021-06-17 | パナソニックIpマネジメント株式会社 | 情報処理装置、情報処理方法、および、プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7141942B2 (ja) * | 2018-12-18 | 2022-09-26 | ルネサスエレクトロニクス株式会社 | 半導体装置および電子制御装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263454A (ja) * | 1995-03-23 | 1996-10-11 | Hitachi Ltd | 障害回復処理方法 |
JP2012230444A (ja) * | 2011-04-25 | 2012-11-22 | Hitachi Ltd | 計算機システムでの部分障害処理方法 |
JP2014126963A (ja) * | 2012-12-26 | 2014-07-07 | Nec Corp | 通信制御システム、通信制御方法および通信制御プログラム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309553A (ja) | 2004-04-19 | 2005-11-04 | Hitachi Ltd | 計算機 |
US8499297B2 (en) * | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
CN102662821B (zh) * | 2012-03-22 | 2015-03-11 | 华为技术有限公司 | 虚拟机故障的辅助诊断方法、装置和系统 |
US20140282470A1 (en) * | 2013-03-13 | 2014-09-18 | Arynga Inc. | Remote transfer of electronic images to a vehicle |
US10002059B2 (en) * | 2013-06-13 | 2018-06-19 | Vmware, Inc. | System and method for assigning memory available for high availability failover to virtual machines |
US9727439B2 (en) * | 2014-05-28 | 2017-08-08 | Vmware, Inc. | Tracking application deployment errors via cloud logs |
US9336039B2 (en) * | 2014-06-26 | 2016-05-10 | Vmware, Inc. | Determining status of migrating virtual machines |
JP2016167143A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 情報処理システムおよび情報処理システムの制御方法 |
WO2017034008A1 (ja) * | 2015-08-25 | 2017-03-02 | 株式会社Seltech | ハイパーバイザーを有するシステム |
US9639388B2 (en) * | 2015-09-30 | 2017-05-02 | Red Hat, Inc. | Deferred assignment of devices in virtual machine migration |
US10255147B2 (en) * | 2016-04-14 | 2019-04-09 | Vmware, Inc. | Fault tolerance for containers in a virtualized computing environment |
US10162770B2 (en) * | 2016-06-30 | 2018-12-25 | Intel Corporation | Virtual machine migration in rack scale systems |
DE102016219202A1 (de) * | 2016-10-04 | 2018-04-05 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Schützen eines Arbeitsspeichers |
CN106708603B (zh) * | 2016-12-28 | 2019-04-26 | 平安科技(深圳)有限公司 | 虚拟机快速恢复方法及装置 |
EP3355188B1 (en) * | 2017-01-31 | 2021-08-25 | OpenSynergy GmbH | Instrument display on a car dashboard by checking frames of a gui by a realtime os |
US10740146B2 (en) * | 2017-02-10 | 2020-08-11 | Xilinx, Inc. | Migrating virtual machines between compute systems by transmitting programmable logic accelerator state |
US10496425B2 (en) * | 2017-02-21 | 2019-12-03 | Red Hat, Inc. | Systems and methods for providing processor state protections in a virtualized environment |
US10353729B1 (en) * | 2017-03-24 | 2019-07-16 | Intuit Inc. | Managing service dependencies across virtual machines in a development environment |
JP6838234B2 (ja) * | 2017-03-24 | 2021-03-03 | 日立Astemo株式会社 | 車両制御装置 |
JP6762924B2 (ja) * | 2017-12-01 | 2020-09-30 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
US11442768B2 (en) * | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
-
2018
- 2018-04-02 JP JP2018071073A patent/JP7006461B2/ja active Active
-
2019
- 2019-02-18 WO PCT/JP2019/005763 patent/WO2019193845A1/ja active Application Filing
-
2020
- 2020-09-30 US US17/039,696 patent/US11915027B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263454A (ja) * | 1995-03-23 | 1996-10-11 | Hitachi Ltd | 障害回復処理方法 |
JP2012230444A (ja) * | 2011-04-25 | 2012-11-22 | Hitachi Ltd | 計算機システムでの部分障害処理方法 |
JP2014126963A (ja) * | 2012-12-26 | 2014-07-07 | Nec Corp | 通信制御システム、通信制御方法および通信制御プログラム |
Non-Patent Citations (3)
Title |
---|
HONDA, SHINYA ET AL.: "RTOS Integrated Virtual Machine Monitor with Hardware Virtualization Support for Automotive System. IPSJ SIG Technical Report", SYSTEM SOFTWARE AND OPERATING SYSTEMS (OS), vol. 2017-OS-139, no. 9, 1 March 2017 (2017-03-01), pages 1 - 7, ISSN: 2188-8795 * |
KAWAHARA, KAKERU ET AL.: "VM Migration Enabling Continuous Out-of-Band Remote Management. IPSJ SIG Technical Report", SYSTEM SOFTWARE AND OPERATING SYSTEMS (OS), vol. 2015-OS-132, no. 1, 26 February 2015 (2015-02-26), pages 1 - 9, ISSN: 2188-8795 * |
WATANABE, YOUSUKE ET AL.: "Evaluation of VM-based Sustainable Stream Processing Environment", IEICE TECHNICAL REPORT, vol. 2007, no. 65, 4 July 2007 (2007-07-04), pages 339 - 344, ISSN: 0919-6072 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021117371A1 (ja) * | 2019-12-11 | 2021-06-17 | パナソニックIpマネジメント株式会社 | 情報処理装置、情報処理方法、および、プログラム |
Also Published As
Publication number | Publication date |
---|---|
US11915027B2 (en) | 2024-02-27 |
JP7006461B2 (ja) | 2022-01-24 |
US20210019170A1 (en) | 2021-01-21 |
JP2019185130A (ja) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599349B2 (en) | Gateway device, in-vehicle network system, and firmware update method | |
CN105981336B (zh) | 不正常检测电子控制单元、车载网络系统以及不正常检测方法 | |
CN108363347B (zh) | 用于电子控制单元的硬件安全 | |
JP6585019B2 (ja) | ネットワーク監視装置、ネットワークシステムおよびプログラム | |
JP7231559B2 (ja) | 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法 | |
US9081699B2 (en) | Relay device | |
US11842185B2 (en) | Gateway device, in-vehicle network system, and firmware update method | |
JP6170915B2 (ja) | ブレーキシステム | |
US11915027B2 (en) | Security and data logging of virtual machines | |
US10839619B2 (en) | Electronic control unit and method for connection authentication | |
WO2021111681A1 (ja) | 情報処理装置、制御方法及びプログラム | |
JP2007034910A (ja) | マルチcpuシステム及びスケジューラ | |
JP2019220770A (ja) | 電子制御装置、監視方法、プログラム及びゲートウェイ装置 | |
JPWO2020158377A1 (ja) | 電子制御装置、電子制御装置のセキュリティ検証方法 | |
JP2013009370A (ja) | 車両ネットワーク用の安全なデータストア | |
US20220250655A1 (en) | Mobility control system, method, and program | |
WO2019044174A1 (ja) | 監視装置、監視システムおよびコンピュータプログラム | |
US11814069B2 (en) | Vehicle control system, data transmitting method, and recording medium on which program is recorded | |
US20180068501A1 (en) | Multiprocessor system and vehicle control system | |
JP6969426B2 (ja) | 電子制御装置 | |
JP2020068506A (ja) | 電子制御装置、電子制御システム及びプログラム | |
JP7428116B2 (ja) | 電子制御装置、ソフトウェア認証方法、ソフトウェア認証プログラム、及び電子制御システム | |
US20230061614A1 (en) | Vehicle-based apparatus for noise injection and monitoring | |
JP2011250008A (ja) | ゲートウェイ装置 | |
JP2020129238A (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19782408 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19782408 Country of ref document: EP Kind code of ref document: A1 |