DE112022001480T5 - ELECTRONIC CONTROL UNIT AND ANOMALY DETERMINATION METHOD - Google Patents

ELECTRONIC CONTROL UNIT AND ANOMALY DETERMINATION METHOD Download PDF

Info

Publication number
DE112022001480T5
DE112022001480T5 DE112022001480.6T DE112022001480T DE112022001480T5 DE 112022001480 T5 DE112022001480 T5 DE 112022001480T5 DE 112022001480 T DE112022001480 T DE 112022001480T DE 112022001480 T5 DE112022001480 T5 DE 112022001480T5
Authority
DE
Germany
Prior art keywords
hypervisor
recording
peripheral
driver
state
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.)
Pending
Application number
DE112022001480.6T
Other languages
German (de)
Inventor
Masashi MIZOGUCHI
Tomohito Ebina
Kazuyoshi Serizawa
Kenichi Osada
Tasuku Ishigooka
Takeshi Fukuda
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 Astemo Ltd
Original Assignee
Hitachi Astemo 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 Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of DE112022001480T5 publication Critical patent/DE112022001480T5/en
Pending legal-status Critical Current

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine elektronische Steuereinheit enthält Folgendes: eine virtuelle Maschine, die auf einen ersten virtuellen Treiber zugreift, um einen Prozess auszuführen; einen Hypervisor, der einen ersten realen Treiber eines ersten Peripheriegeräts auf der Grundlage einer Peripheriezugriffsanforderung, die vom ersten virtuellen Treiber empfangen wurde, aufruft; eine Zugriffsaufzeichnungseinheit, die den ersten virtuellen Treiber aufruft, um eine Peripheriezugriffsanforderung, die zum Hypervisor gesendet wurde, aufzuzeichnen; eine Zustandsaufzeichnungseinheit, die den ersten realen Treiber aufruft, um einen Zustand eines Registers des ersten Peripheriegeräts aufzuzeichnen; und eine Überwachungseinheit, die einen Betrieb des Hypervisors überwacht. Die Überwachungseinheit bestimmt eine Anomalie des Hypervisors auf der Grundlage einer Aufzeichnung durch die Zugriffsaufzeichnungseinheit und einer Aufzeichnung durch die Zustandsaufzeichnungseinheit.An electronic control unit includes: a virtual machine that accesses a first virtual driver to execute a process; a hypervisor that invokes a first real driver of a first peripheral device based on a peripheral access request received from the first virtual driver; an access recording unit that calls the first virtual driver to record a peripheral access request sent to the hypervisor; a state recording unit that calls the first real driver to record a state of a register of the first peripheral device; and a monitoring unit that monitors operation of the hypervisor. The monitoring unit determines an abnormality of the hypervisor based on a recording by the access recording unit and a recording by the state recording unit.

Description

Aufnahme durch BezugnahmeIncorporation by reference

Diese Anmeldung beansprucht die Priorität der Japanischen Patentanmeldung Nr. 2021-80743 , eingereicht am 12. Mai 2021, deren Inhalt hier durch Bezugnahme vollständig mit aufgenommen ist.This application claims priority Japanese Patent Application No. 2021-80743 , filed May 12, 2021, the contents of which are incorporated herein by reference in their entirety.

Technisches GebietTechnical area

Die vorliegende Erfindung bezieht sich auf eine elektronische Steuereinheit.The present invention relates to an electronic control unit.

Technischer HintergrundTechnical background

Die Verwendung eines Hypervisors ermöglicht ein Aufnehmen mehrerer Steuer-Software-Anwendungen, die in verschiedenen Betriebssystemen (OS) laufen, in einen einzelnen Mikrocomputer. Als Techniken des Überwachens eines Hypervisors sind Techniken, die in JP 2019-144785 A (Patentliteratur 1) und JP 2014-106587 A (Patentliteratur 2) beschrieben werden, bekannt. Patentliteratur 1 beschreibt ein Überwachungsprogramm, gemäß dem eine überwachende virtuelle Maschine in Virtualisierungssoftware betrieben wird, die überwachende virtuelle Maschine verwendet wird, um mehrere Überwachungsziele, die die Virtualisierungssoftware enthalten, zu überwachen, Ergebnisse gegebener Prüfungen, die durch die überwachende virtuelle Maschine in gegebenen Intervallen ausgeführt werden, erhalten werden, das Vorliegen oder das Fehlen einer Anomalie in der überwachenden virtuellen Maschine aus den erfassten Prüfergebnissen bestimmt wird und dann, wenn die überwachende virtuelle Maschine in einem anomalen Zustand ist, ein gegebener Zustand der mehreren Überwachungsziele erfasst wird und ein Ergebnis einer Bestimmung des Vorliegens oder des Fehlens einer Anomalie in der überwachenden virtuellen Maschine und der gegebene Zustand der mehreren Überwachungsziele ausgegeben werden.The use of a hypervisor allows multiple control software applications running in different operating systems (OS) to be incorporated into a single microcomputer. As techniques of monitoring a hypervisor are techniques that are in JP 2019-144785 A (Patent Literature 1) and JP 2014-106587 A (Patent Literature 2) are known. Patent Literature 1 describes a monitoring program according to which a monitoring virtual machine is operated in virtualization software, the monitoring virtual machine is used to monitor multiple monitoring targets containing the virtualization software, results of given checks executed by the monitoring virtual machine at given intervals are obtained, the presence or absence of an anomaly in the monitoring virtual machine is determined from the detected test results and then, if the monitoring virtual machine is in an abnormal state, a given state of the plurality of monitoring targets is detected and a result of a determination the presence or absence of an anomaly in the monitoring virtual machine and the given state of the multiple monitoring targets are output.

Patentliteratur 2 beschreibt ein Verfahren zum Steuern einer Eingabe-/Ausgabe-Vorrichtung, wobei das Verfahren bewirkt, dass ein Hypervisor und ein erstes Gastbetriebssystem eine Eingabe-/Ausgabe-Vorrichtung gemeinsam verwenden und gemäß dem die Eingabe-/Ausgabe-Vorrichtung eine physische Funktion und eine virtuelle Funktion aufweist, der Hypervisor einen physischen Treiber aufweist, der die physische Funktion verwendet, das erste Gastbetriebssystem einen virtuellen Treiber aufweist, der die virtuelle Funktion verwendet, der Hypervisor einen Zustand der Eingabe-/Ausgabe-Vorrichtung mittels des physischen Treibers erfasst und dann, wenn das erste Gastbetriebssystem, das den Hypervisor überwacht, feststellt, dass der Hypervisor in einem gegebenen Zustand ist, ein unterphysischer Treiber, der die Eingabe-/Ausgabe-Vorrichtung betreibt, gestartet wird und das erste Gastbetriebssystem ein Senden/Empfangen von Daten über eine Datenwarteschlange, die in einem Speicher voreingestellt ist, durchführt.Patent Literature 2 describes a method for controlling an input/output device, the method causing a hypervisor and a first guest operating system to share an input/output device, and according to which the input/output device has a physical function and a virtual function, the hypervisor has a physical driver that uses the physical function, the first guest operating system has a virtual driver that uses the virtual function, the hypervisor senses a state of the input/output device using the physical driver, and then , when the first guest operating system monitoring the hypervisor determines that the hypervisor is in a given state, a subphysical driver operating the input/output device is started, and the first guest operating system initiates sending/receiving data via a Data queue that is preset in a memory.

Zusammenfassung der ErfindungSummary of the invention

Technisches ProblemTechnical problem

In einer elektronischen Steuereinheit, in der mehrere Steuer-Software-Anwendungen, die in verschiedenen Betriebssystemen laufen, in einem Mikrocomputer (einer Hardware) integriert sind, wird Virtualisierungssoftware, die als ein Hypervisor bezeichnet wird, verwendet. Der Hypervisor stellt eine virtuelle Maschine als eine Umgebung zum Betreiben eines Betriebssystems und einer Steuer-Software-Anwendung bereit. Die virtuelle Maschine ist eine Einheit mit einer Zugriffsautorität, die für ihr Zugreifen auf eine Zentraleinheit (CPU) im Mikrocomputer gesetzt ist, einem Speicherbereich und Peripheriegeräten, die am Mikrocomputer installiert sind, wie z. B. einer Steuereinheitbereichsnetz-Steuereinheit (CAN-Steuereinheit) und einem Analog/Digital-Umsetzer (A/D-Umsetzer). Aus der Perspektive eines Gastbetriebssystems und einer Steuer-Software-Anwendung in jeder virtuellen Maschine beschreibt dies die logisch entsprechende Tatsache, dass eine CPU, ein Speicherbereich und Peripheriegeräte ohne gesetzte Autorität, auf sie zuzugreifen, in einem verschiedenen Mikrocomputer vorhanden sind. Im Allgemeinen muss, um die Sicherheit und die Zuverlässigkeit einer elektronischen Steuereinheit sicherzustellen, der Betrieb der elektronischen Steuereinheit überwacht werden, um zu bestätigen, dass Hardware und Software, die die elektronische Steuereinheit bilden, normal arbeiten, ohne eine Anomalie zu entwickeln. Insbesondere für den Fall einer elektronischen Steuereinheit unter Verwendung eines Hypervisors ist ein Überwachen des Betriebs des Hypervisors nötig.In an electronic control unit in which multiple control software applications running in different operating systems are integrated in a microcomputer (hardware), virtualization software called a hypervisor is used. The hypervisor provides a virtual machine as an environment for running an operating system and a control software application. The virtual machine is a device with an access authority set for its access to a central processing unit (CPU) in the microcomputer, a memory area and peripheral devices installed on the microcomputer, such as. B. a control unit area network control unit (CAN control unit) and an analog/digital converter (A/D converter). From the perspective of a guest operating system and a control software application in each virtual machine, this describes the logically corresponding fact that a CPU, memory area and peripherals exist in a different microcomputer without any set authority to access them. In general, in order to ensure the safety and reliability of an electronic control unit, the operation of the electronic control unit must be monitored to confirm that hardware and software constituting the electronic control unit are operating normally without developing an abnormality. In particular, in the case of an electronic control unit using a hypervisor, monitoring the operation of the hypervisor is necessary.

Gemäß Patentliteratur 1 ist die überwachende virtuelle Maschine als virtuelle Maschine installiert, führt die überwachende virtuelle Maschine in regelmäßigen Abständen ein Prüfmuster aus und erfasst einen internen Zustand (normal/anomal) des Hypervisors und wird auf der Grundlage eines Ergebnisses einer Ausführung des Prüfmusters und eines Ergebnisses einer Erfassung des internen Zustands des Hypervisors bestimmt, ob eine Anomalie in der elektronischen Steuereinheit aufgetreten ist, und kann dann, wenn eine Anomalie aufgetreten ist, ein Umfang des Einflusses der Anomalie festgelegt werden. Allerdings wird, weil das Überwachen des Hypervisors in Patentliteratur 1 durch ein Erfassen eines normalen oder anomalen Zustands, der durch den Hypervisor selbst bestimmt wird, ausgeführt wird, ein Fall, in dem ein anomaler Zustand des Hypervisors, der durch eine Anomalie verursacht wird, die in ihm aufgetreten ist, nicht ordnungsgemäß bestimmt wird, nicht berücksichtigt und ist deshalb ein normaler Betrieb des Hypervisors nicht garantiert. Zusätzlich kann, weil das Erfassen des internen Zustands des Hypervisors nötig ist, die Technik von Patentliteratur 1 auf einen Hypervisor einer dritten Instanz, dessen interner Zustand nicht für die Öffentlichkeit zugänglich ist, nicht angewendet werden.According to Patent Literature 1, the monitoring virtual machine is installed as a virtual machine, the monitoring virtual machine periodically executes a test pattern and detects an internal state (normal/abnormal) of the hypervisor and is based on a result of execution of the test pattern and a result a detection of the internal state of the hypervisor determines whether an anomaly has occurred in the electronic control unit, and then, if an anomaly has occurred, a level of influence of the anomaly can be determined. However, since monitoring of the hypervisor in Patent Literature 1 is carried out by detecting a normal or abnormal state determined by the hypervisor itself, a case in which an abnormal state of the Hypervisor caused by an anomaly that has occurred in it is not properly determined is not taken into account and therefore normal operation of the hypervisor is not guaranteed. In addition, because detecting the internal state of the hypervisor is necessary, the technique of Patent Literature 1 cannot be applied to a third-party hypervisor whose internal state is not accessible to the public.

Patentliteratur 2 beschreibt ein Verfahren, gemäß dem ein Zähler (ein Wächterzeitgeber) für den Hypervisor vorgesehen ist, der Zähler gesetzt ist, eine Anforderung zu erfüllen, dass er in einem gegebenen Zyklus hochzählt oder herunterzählt, und dann, wenn der Zähler seine Zählung im gegebenen Zeitraum nicht aktualisiert, bestimmt wird, dass eine Anomalie im Hypervisor aufgetreten ist. Dies ermöglicht die Detektion eines unerwarteten Anhaltens des Hypervisors oder eines Deadlocks oder eines Livelocks, der im Hypervisor aufgetreten ist. Um dieses Verfahren anzuwenden, ist es allerdings nötig, Anforderungen festzulegen, die mit dem Aktualisieren einer Zählung durch den Zähler im Hypervisor in Beziehung stehen. Zusätzlich kann, weil einem Zählungsaktualisierungsprozess durch den Wächterzeitgeber im Allgemeinen eine hohe Priorität gegeben wird, dann wenn die Priorität des Zählungsaktualisierungsprozesses größer als die Verarbeitungspriorität einer Aufgabe gesetzt ist, die einen Deadlock oder einen Livelock im Hypervisor entwickelt hat, der Deadlock oder der Livelock nicht detektiert werden.Patent Literature 2 describes a method according to which a counter (a guard timer) is provided for the hypervisor, the counter is set to meet a request to count up or count down in a given cycle, and then when the counter completes its count in the given cycle Period is not updated, it is determined that an anomaly has occurred in the hypervisor. This allows detection of an unexpected hypervisor halt or a deadlock or livelock that has occurred in the hypervisor. To apply this method, however, it is necessary to specify requirements related to updating a count by the counter in the hypervisor. In addition, because a count update process is generally given a high priority by the guard timer, if the priority of the count update process is set greater than the processing priority of a task that has developed a deadlock or a livelock in the hypervisor, the deadlock or the livelock may not be detected become.

Eine Aufgabe der vorliegenden Erfindung ist, einen Hypervisor, der durch eine dritte Instanz oder dergleichen bereitgestellt wird, zu überwachen, wobei der Hypervisor seine interne Logik nicht für die Öffentlichkeit offen gestaltet, und eine Anomalie, die im Hypervisor aufgetreten ist, lediglich auf der Grundlage der Eingabe und der Ausgabe des Hypervisors zu detektieren.An object of the present invention is to monitor a hypervisor provided by a third party or the like, where the hypervisor does not expose its internal logic to the public, and based only on an anomaly that has occurred in the hypervisor the input and output of the hypervisor.

Lösung des Problemsthe solution of the problem

Ein typisches Beispiel der vorliegenden Erfindung, die hier offenbart wird, gestaltet sich wie folgt. Eine elektronische Steuereinheit enthält Folgendes: eine virtuelle Maschine, die auf einen ersten virtuellen Treiber zugreift, um einen Prozess auszuführen; einen Hypervisor, der einen ersten realen Treiber eines ersten Peripheriegeräts auf der Grundlage einer Peripheriezugriffsanforderung, die vom ersten virtuellen Treiber empfangen wurde, aufruft; eine Zugriffsaufzeichnungseinheit, die den ersten virtuellen Treiber aufruft, um eine Peripheriezugriffsanforderung, die zum Hypervisor gesendet wurde, aufzuzeichnen; eine Zustandsaufzeichnungseinheit, die den ersten realen Treiber aufruft, um einen Zustand eines Registers des ersten Peripheriegeräts aufzuzeichnen; und eine Überwachungseinheit, die einen Betrieb des Hypervisors überwacht. Die Überwachungseinheit bestimmt eine Anomalie des Hypervisors auf der Grundlage einer Aufzeichnung durch die Zugriffsaufzeichnungseinheit und einer Aufzeichnung durch die Zustandsaufzeichnungseinheit.A typical example of the present invention disclosed herein is as follows. An electronic control unit includes: a virtual machine that accesses a first virtual driver to execute a process; a hypervisor that invokes a first real driver of a first peripheral device based on a peripheral access request received from the first virtual driver; an access recording unit that calls the first virtual driver to record a peripheral access request sent to the hypervisor; a state recording unit that calls the first real driver to record a state of a register of the first peripheral device; and a monitoring unit that monitors operation of the hypervisor. The monitoring unit determines an abnormality of the hypervisor based on a recording by the access recording unit and a recording by the state recording unit.

Vorteilhafte Wirkungen der ErfindungAdvantageous effects of the invention

Gemäß einem Aspekt der vorliegenden Erfindung kann eine Anomalie eines Hypervisors detektiert werden, ohne auf einen internen Zustand des Hypervisors zuzugreifen. Probleme, Konfigurationen und Wirkungen, die oben nicht beschrieben werden, werden durch die folgende Beschreibung von Ausführungsformen verdeutlicht.According to one aspect of the present invention, an anomaly of a hypervisor may be detected without accessing an internal state of the hypervisor. Problems, configurations and effects not described above will be clarified by the following description of embodiments.

Kurzbeschreibung der ZeichnungenBrief description of the drawings

  • [1] 1 stellt eine Hardware-Konfiguration einer elektronischen Steuereinheit gemäß einer ersten Ausführungsform dar.[ 1 ] 1 represents a hardware configuration of an electronic control unit according to a first embodiment.
  • [2] 2 stellt eine Software-Konfiguration der elektronischen Steuereinheit gemäß der ersten Ausführungsform dar.[ 2 ] 2 illustrates a software configuration of the electronic control unit according to the first embodiment.
  • [3] 3 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn eine erste Steuer-Software-Anwendung der ersten Ausführungsform ein erstes Peripheriegerät verwendet.[ 3 ] 3 illustrates an overview of a process flow that is executed when a first control software application of the first embodiment uses a first peripheral device.
  • [4] 4 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die erste Steuer-Software-Anwendung der ersten Ausführungsform ein gemeinsam verwendetes Peripheriegerät verwendet.[ 4 ] 4 illustrates an overview of a process flow that is executed when the first control software application of the first embodiment uses a shared peripheral device.
  • [5] 5 stellt ein Beispiel von Peripheriezugriffsanforderungs-Informationen gemäß der ersten Ausführungsform dar.[ 5 ] 5 illustrates an example of peripheral access request information according to the first embodiment.
  • [6] 6 stellt ein Beispiel von Peripheriezugriffsergebnis-Informationen der ersten Ausführungsform dar.[ 6 ] 6 illustrates an example of peripheral access result information of the first embodiment.
  • [7] 7 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn eine zweite Steuer-Software-Anwendung der ersten Ausführungsform ein zweites Peripheriegerät verwendet.[ 7 ] 7 illustrates an overview of a process flow that is executed when a second control software application of the first embodiment uses a second peripheral device.
  • [8] 8 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die zweite Steuer-Software-Anwendung der ersten Ausführungsform das gemeinsam verwendete Peripheriegerät verwendet.[ 8th ] 8th illustrates an overview of a process flow executed when the second control software application of the first embodiment uses the shared peripheral device.
  • [9] 9 stellt ein Beispiel von Peripheriezugriffsaufzeichnungs-Informationen gemäß der ersten Ausführungsform dar.[ 9 ] 9 illustrates an example of peripheral access record information according to the first embodiment.
  • [10] 10 stellt ein Beispiel von Peripheriezustandsaufzeichnungs-Informationen gemäß der ersten Ausführungsform dar.[ 10 ] 10 illustrates an example of peripheral state recording information according to the first embodiment.
  • [11] 11 stellt einen Überblick eines Prozessablaufs eines Hypervisor-Überwachungsprogramms der ersten Ausführungsform dar.[ 11 ] 11 illustrates an overview of a process flow of a hypervisor monitoring program of the first embodiment.
  • [12] 12 stellt ein Beispiel von Peripheriebestimmungszustands-Informationen gemäß der ersten Ausführungsform dar.[ 12 ] 12 illustrates an example of peripheral determination state information according to the first embodiment.
  • [13] 13 ist ein Diagramm, das einen Prozess des Erzeugens der Peripheriebestimmungszustands-Informationen schematisch zeigt, der in Schritt S1 des Hypervisor-Überwachungsprogramms der ersten Ausführungsform ausgeführt wird.[ 13 ] 13 is a diagram schematically showing a process of generating the peripheral determination state information executed in step S1 of the hypervisor monitoring program of the first embodiment.
  • [14] 14 ist ein Diagramm, das den Prozess des Erzeugens der Peripheriebestimmungszustands-Informationen schematisch zeigt, der in Schritt S1 des Hypervisor-Überwachungsprogramms der ersten Ausführungsform ausgeführt wird.[ 14 ] 14 is a diagram schematically showing the process of generating the peripheral determination state information executed in step S1 of the hypervisor monitoring program of the first embodiment.
  • [15] 15 stellt eine Software-Konfiguration einer elektronischen Steuereinheit gemäß einer zweiten Ausführungsform dar.[ 15 ] 15 represents a software configuration of an electronic control unit according to a second embodiment.
  • [16] 16 stellt einen Überblick eines Prozessablaufs eines Hypervisor-Überwachungsprogramms der zweiten Ausführungsform dar.[ 16 ] 16 illustrates an overview of a process flow of a hypervisor monitoring program of the second embodiment.
  • [17] 17 stellt eine Hardware-Konfiguration einer elektronischen Steuereinheit gemäß einer dritten Ausführungsform dar.[ 17 ] 17 represents a hardware configuration of an electronic control unit according to a third embodiment.
  • [18] 18 stellt eine Software-Konfiguration der elektronischen Steuereinheit gemäß der dritten Ausführungsform dar.[ 18 ] 18 illustrates a software configuration of the electronic control unit according to the third embodiment.
  • [19] 19 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die erste Steuer-Software-Anwendung der dritten Ausführungsform eine CAN-Steuereinheit verwendet, die das gemeinsam verwendete Peripheriegerät ist.[ 19 ] 19 illustrates an overview of a process flow executed when the first control software application of the third embodiment uses a CAN controller which is the shared peripheral device.
  • [20] 20 stellt ein CAN-Hauptbuch der dritten Ausführungsform dar.[ 20 ] 20 represents a CAN ledger of the third embodiment.
  • [21] 21 stellt einen Überblick eines Prozessablaufs eines Überwachungsergebnisspeicherprogramms einer vierten Ausführungsform dar.[ 21 ] 21 illustrates an overview of a process flow of a monitoring result storage program of a fourth embodiment.
  • [22] 22 stellt ein Beispiel von Hypervisoranomalieauftrittszeit-Informationen der vierten Ausführungsform dar.[ 22 ] 22 illustrates an example of hypervisor anomaly occurrence time information of the fourth embodiment.
  • [23] 23 ist ein Diagramm, das einen Überblick eines Prozesses schematisch zeigt, der in Schritt S7 des Überwachungsergebnisspeicherprogramms der vierten Ausführungsform ausgeführt wird.[ 23 ] 23 is a diagram schematically showing an overview of a process executed in step S7 of the monitoring result storage program of the fourth embodiment.

Beschreibung der AusführungsformenDescription of the embodiments

Hier beschriebene Ausführungsformen beziehen sich auf eine elektronische Steuereinheit und beziehen sich insbesondere auf eine elektronische Steuereinheit, in der mehrere Steuer-Software-Anwendungen in einem Mikrocomputer integriert sind.Embodiments described herein relate to an electronic control unit and particularly relate to an electronic control unit in which multiple control software applications are integrated in a microcomputer.

Im Folgenden werden Beispiele bevorzugter Ausführungsformen der vorliegenden Erfindung beschrieben. In den Ausführungsformen wird zur Vereinfachung der Beschreibung ein Beispiel erläutert, in dem zwei Steuer-Software-Anwendungen, d. h. eine erste Steuer-Software-Anwendung und eine zweite Steuer-Software-Anwendung, in einer elektronischen Steuereinheit integriert sind. In einem verschiedenen Beispiel können allerdings eine dritte Steuer-Software-Anwendung und eine vierte Steuer-Software-Anwendung in einer elektronischen Steuereinheit integriert sein.Examples of preferred embodiments of the present invention are described below. In the embodiments, for convenience of description, an example is explained in which two control software applications, i.e. H. a first control software application and a second control software application, are integrated in an electronic control unit. However, in a different example, a third control software application and a fourth control software application may be integrated into an electronic control unit.

Erste AusführungsformFirst embodiment

<Konfiguration><Configuration>

1 stellt eine Hardware-Konfiguration einer elektronischen Steuereinheit gemäß einer ersten Ausführungsform dar. 1 represents a hardware configuration of an electronic control unit according to a first embodiment.

<Elektronische Steuereinheit 0><Electronic control unit 0>

Die elektronische Steuereinheit gemäß der ersten Ausführungsform wird im Folgenden unter Bezugnahme auf 1 beschrieben. Eine elektronische Steuereinheit 0 enthält einen Mikrocomputer 900 und eine Stromversorgungsschaltung 901. Der Mikrocomputer 900 enthält eine Zentraleinheit (CPU) 1, die Berechnungsprozesse ausführt, ein Peripheriegerät 2, das eine Peripherievorrichtungsgruppe ist, die an der elektronischen Steuereinheit 0 installiert ist, einen Speicher 3, der Software speichert, und einen Bus 4, der die CPU 1, das Peripheriegerät 2 und den Speicher 3 verbindet und der CPU 1 ermöglicht, auf das Peripheriegerät 2 und den Speicher 3 zuzugreifen.The electronic control unit according to the first embodiment will be described below with reference to 1 described. An electronic control unit 0 includes a microcomputer 900 and a power supply circuit 901. The microcomputer 900 includes a central processing unit (CPU) 1 that executes calculation processes, a peripheral device 2 which is a peripheral device group installed on the electronic control unit 0, a memory 3, the software stores, and a bus 4 that connects the CPU 1, the peripheral device 2 and the memory 3 and allows the CPU 1 to access the peripheral device 2 and the memory 3.

Ein Leistungseingabeanschluss des Mikrocomputers 900 ist mit einer Stromversorgungsschaltung 901 verbunden. Der Mikrocomputer 900 startet, wenn er von der Stromversorgungsschaltung 901 mit Leistung versorgt wird. Der Mikrocomputer 900 weist einen Selbstrücksetzsignalausgabeanschluss auf. Wenn der Mikrocomputer 900 ein digitales Signal aus dem Selbstrücksetzsignalausgabeanschluss ausgibt, stoppt die Stromversorgungsschaltung 901 ein Zuführen von Leistung zum Mikrocomputer 900.A power input terminal of the microcomputer 900 is connected to a power supply circuit 901. The microcomputer 900 starts when powered by the power supply circuit 901. The microcomputer 900 has a self-reset signal output terminal. When the microcomputer 900 outputs a digital signal from the self-reset signal output terminal, the power supply circuit 901 stops supplying power to the microcomputer 900.

<CPU 1><CPU 1>

Die CPU 1 enthält zwei CPU-Kerne, d. h. einen ersten CPU-Kern 101 und einen zweiten CPU-Kern 102. Es ist festzuhalten, dass zwei CPU-Kerne zur Vereinfachung der Beschreibung beispielhaft erwähnt werden. Zum Beispiel kann die CPU 1 einen CPU-Kern oder drei oder mehr CPU-Kerne enthalten.The CPU 1 contains two CPU cores, i.e. H. a first CPU core 101 and a second CPU core 102. It should be noted that two CPU cores are mentioned by way of example to simplify the description. For example, the CPU 1 may include one CPU core or three or more CPU cores.

<Peripheriegerät 2><Peripheral device 2>

Das Peripheriegerät 2 ist eine Vorrichtung, die Daten/Signale in oder aus dem Mikrocomputer 900 eingibt und ausgibt, und enthält ein gemeinsam verwendetes Peripheriegerät 201, auf das sowohl durch eine erste Steuer-Software-Anwendung 10 (d. h. einen ersten CPU-Kern 101) als auch eine zweite Steuer-Software-Anwendung 15 (d. h. einen zweiten CPU-Kern 102) zugegriffen wird, ein erstes Peripheriegerät 202, auf das lediglich durch die erste Steuer-Software-Anwendung 10 (d. h. den ersten CPU-Kern 101) zugegriffen wird, und ein zweites Peripheriegerät 203, auf das lediglich durch die zweite Steuer-Software-Anwendung 15 (d. h. den zweiten CPU-Kern 103) zugegriffen wird. Das Peripheriegerät 2 bezieht sich im Allgemeinen auf Peripherieschaltungen, die die CPU 1 und den Speicher 3, die am Mikrocomputer 900 installiert sind, nicht enthalten. Das Peripheriegerät 2 enthält speziell eine Steuereinheitbereichsnetz-Steuereinheit (CAN-Steuereinheit), einen Analog/Digital-Umsetzer, eine Direktspeicherzugriffssteuereinheit und eine allgemein verwendbare Eingabe/Ausgabe (GPIO), die am Mikrocomputer 900 installiert sind.The peripheral device 2 is a device that inputs and outputs data/signals to or from the microcomputer 900, and includes a shared peripheral device 201 accessed by both a first control software application 10 (i.e., a first CPU core 101). as well as a second control software application 15 (i.e., a second CPU core 102), a first peripheral device 202 accessed only by the first control software application 10 (i.e., the first CPU core 101). , and a second peripheral device 203 accessed only by the second control software application 15 (i.e., the second CPU core 103). The peripheral device 2 generally refers to peripheral circuits that do not include the CPU 1 and the memory 3 installed on the microcomputer 900. The peripheral device 2 specifically includes a control unit area network (CAN) control unit, an analog-to-digital converter, a direct memory access control unit, and a general purpose input/output (GPIO) installed on the microcomputer 900.

<Speicher 3><Memory 3>

Der Speicher 3 enthält einen ROM, der ein nichtflüchtiges Speicherelement ist, und einen RAM, der ein flüchtiges Speicherelement ist. Der ROM speichert ein unveränderbares Programm (z. B. ein BIOS) und dergleichen. Der RAM ist ein flüchtiges Speicherelement, das einen Hochgeschwindigkeitszugriff ermöglicht, wie z. B. ein dynamischer Schreib-/Lese-Speicher (DRAM), der Programme, die durch die CPU 1 ausgeführt werden, und Daten, die zur Ausführung von Programmen verwendet werden, speichert.The memory 3 includes a ROM, which is a non-volatile memory element, and a RAM, which is a volatile memory element. The ROM stores an unchangeable program (e.g. BIOS) and the like. RAM is a volatile memory element that allows high-speed access, such as: B. a dynamic random access memory (DRAM) that stores programs executed by the CPU 1 and data used to execute programs.

Zur Vereinfachung wird diese Ausführungsform unter der Annahme beschrieben, dass das gemeinsam verwendete Peripheriegerät 201 einen digitalen Ausgangsanschluss 2011 enthält, das erste Peripheriegerät 202 einen analogen Ausgangsanschluss 2021 enthält und das zweite Peripheriegerät 203 einen digitalen Eingangsanschluss 2031 enthält.For simplicity, this embodiment will be described assuming that the shared peripheral device 201 includes a digital output port 2011, the first peripheral device 202 includes an analog output port 2021, and the second peripheral device 203 includes a digital input port 2031.

2 stellt eine Software-Konfiguration der elektronischen Steuereinheit gemäß der ersten Ausführungsform dar. Die Software-Stücke, die in 2 gezeigt sind, sind im Speicher 3 gespeichert. 2 illustrates a software configuration of the electronic control unit according to the first embodiment. The software pieces included in 2 are shown are stored in memory 3.

<Software-Konfiguration><Software configuration>

Der folgende Prozess wird entweder in dem ersten CPU-Kern 101 oder dem zweiten CPU-Kern 102 der CPU 1 ausgeführt.The following process is executed in either the first CPU core 101 or the second CPU core 102 of the CPU 1.

Ein Host-Betriebssystem (Host-OS) 5 ist im Mikrocomputer 900 installiert. Das Host-Betriebssystem 5 aktiviert einen Hypervisor 6, ein Hypervisor-Überwachungsprogramm 17 und ein Registerwerterfassungsprogramm 18. Der Hypervisor 6 wird durch ein Aktivierungsverfahren aktiviert, das durch den Hypervisor 6 definiert ist. Das Hypervisor-Überwachungsprogramm 17 und das Registerwerterfassungsprogramm 18 werden in einem Zyklus von 5 Millisekunden aktiviert, um Informationen zum Überwachen zu erfassen. Zur Vereinfachung wird der Aktivierungszyklus in dieser Ausführungsform als 5 Millisekunden beschrieben. Ohne Beschränkung auf 5 Millisekunden kann allerdings auch ein verschiedener Aktivierungszyklus angewendet werden. Der Hypervisor 6 kann durch Software, die im Host-Betriebssystem 5 ausgeführt wird, oder durch Hardware, die am Mikrocomputer 900 installiert ist, konfiguriert sein.A host operating system (host OS) 5 is installed in the microcomputer 900. The host operating system 5 activates a hypervisor 6, a hypervisor monitoring program 17 and a register value acquisition program 18. The hypervisor 6 is activated by an activation procedure defined by the hypervisor 6. The hypervisor monitor program 17 and the register value capture program 18 are activated in a 5 millisecond cycle to collect information for monitoring. For simplicity, the activation cycle in this embodiment is described as 5 milliseconds. However, a different activation cycle can also be used without a limitation of 5 milliseconds. The hypervisor 6 may be configured by software running in the host operating system 5 or by hardware installed on the microcomputer 900.

Der Hypervisor 6 konfiguriert eine erste virtuelle Maschine 7 und eine zweite virtuelle Maschine 8 durch ein Verfahren, das durch den Hypervisor 6 definiert ist, und aktiviert jede der ersten virtuellen Maschine 7 und der zweiten virtuellen Maschine 8. Zur Vereinfachung werden in dieser Ausführungsform zwei virtuelle Maschinen beschrieben. Ohne Beschränkung auf zwei können allerdings eine oder drei oder mehr virtuelle Maschinen vorgesehen sein.The hypervisor 6 configures a first virtual machine 7 and a second virtual machine 8 through a method defined by the hypervisor 6, and activates each of the first virtual machine 7 and the second virtual machine 8. For convenience, in this embodiment, two virtual machines are used Machines described. However, one or three or more virtual machines can be provided without being limited to two.

In der ersten virtuellen Maschine 7 werden ein erstes Gastbetriebssystem 9, die erste Steuer-Software-Anwendung 10, ein virtueller Treiber 11, ein Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 und ein Treiber 12 für analoge Ausgangsanschlüsse ausgeführt. In der zweiten virtuellen Maschine 8 werden ein zweites Gastbetriebssystem 13, die zweite Steuer-Software-Anwendung 15, der virtuelle Treiber 11 und ein Treiber 14 für digitale Eingangsanschlüsse ausgeführt. Das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 wird in der ersten virtuellen Maschine 7 ausgeführt, kann jedoch in der zweiten virtuellen Maschine 8 ausgeführt werden. Mit anderen Worten ist mindestens ein Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19, das im Hypervisor 6 ausgeführt wird, ausreichend.In the first virtual machine 7, a first guest operating system 9, the first control software application 10, a virtual driver 11, a peripheral access request recording program 19 and an analog output port driver 12 are executed. In the second virtual machine 8, a second guest operating system 13, the second control software application 15, the virtual driver 11 and a digital input port driver 14 are executed. The peripheral access request recording program 19 is executed in the first virtual machine 7, but may be executed in the second virtual machine 8. In other words, at least one peripheral access request recording program 19 executed in the hypervisor 6 is sufficient.

<Erste virtuelle Maschine 7><First virtual machine 7>

Der Betrieb von Software in der ersten virtuellen Maschine 7 wird beschrieben. Wenn der Hypervisor 6 die erste virtuelle Maschine 7 konfiguriert, aktiviert die erste virtuelle Maschine 7 das erste Gastbetriebssystem 9. Das erste Gastbetriebssystem 9 aktiviert die erste Steuer-Software-Anwendung 10. Die erste Steuer-Software-Anwendung 10 verwendet den digitalen Ausgangsanschluss 2011, der das gemeinsam verwendete Peripheriegerät 201 ist, und den analogen Ausgangsanschluss 2021, der das erste Peripheriegerät 202 ist.The operation of software in the first virtual machine 7 is described. When the hypervisor 6 configures the first virtual machine 7, the first virtual machine 7 activates the first guest operating system 9. The first guest operating system 9 activates the first control software application 10. The first control software application 10 uses the digital output port 2011, which is the shared peripheral device 201, and the analog output port 2021 which is the first peripheral device 202.

3 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die erste Steuer-Software-Anwendung 10 das erste Peripheriegerät 202 verwendet. 3 illustrates an overview of a process flow that is executed when the first control software application 10 uses the first peripheral device 202.

<Zugriff von der ersten virtuellen Maschine 7 auf das erste Peripheriegerät 202><Access from the first virtual machine 7 to the first peripheral device 202>

Um auf den analogen Ausgangsanschluss 2021, der das erste Peripheriegerät 202 ist, zuzugreifen, verwendet die erste Steuer-Software-Anwendung 10 den Treiber 12 für analoge Ausgangsanschlüsse. Speziell greift dann, wenn die erste Steuer-Software-Anwendung 10 den Treiber 12 für analoge Ausgangsanschlüsse durch Festlegen eines Parameters von 5 V aufruft, wobei der Aufruf als eine Peripheriezugriffsanforderung vorgenommen wird, der Treiber 12 für analoge Ausgangsanschlüsse auf ein Register des analogen Ausgangsanschlusses 2021 zu, gibt einen Wert zum Setzen einer Ausgangssanpannung von 5 V an einem gegebenen Ort eines Registers des Mikrocomputers 900 ein und sendet eine Antwort, die einen normalen Abschluss angibt, zur ersten Steuer-Software-Anwendung 10.To access the analog output port 2021, which is the first peripheral device 202, the first control software application 10 uses the analog output port driver 12. Specifically, when the first control software application 10 calls the analog output port driver 12 by setting a parameter of 5V, the call being made as a peripheral access request, the analog output port driver 12 accesses a register of the analog output port 2021 to, inputs a value for setting an output voltage of 5 V at a given location of a register of the microcomputer 900 and sends a response indicating normal termination to the first control software application 10.

4 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die erste Steuer-Software-Anwendung 10 das gemeinsam verwendete Peripheriegerät 201 verwendet. 4 illustrates an overview of a process flow that is executed when the first control software application 10 uses the shared peripheral device 201.

<Zugriff von der ersten virtuellen Maschine 7 auf das gemeinsam verwendete Peripheriegerät 201><Access from the first virtual machine 7 to the shared peripheral device 201>

Um auf den digitalen Ausgangsanschluss 2011, der das gemeinsam verwendete Peripheriegerät 201 ist, zuzugreifen, verwendet die erste Steuer-Software-Anwendung 10 das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19, den virtuellen Treiber 11, den Hypervisor 6 und den Treiber 16 für digitale Ausgangsanschlüsse. Speziell ruft die erste Steuer-Software-Anwendung 10 das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 durch Festlegen eines Parameters von H auf, wobei der Aufruf als eine Peripheriezugriffsanforderung vorgenommen wird. Das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 zeichnet Peripheriezugriffsanforderungs-Informationen 51 von der ersten Steuer-Software-Anwendung 10 auf und ruft den virtuellen Treiber 11 durch Festlegen eines Parameters von H auf. Der virtuelle Treiber 11 führt einen Prozess des Änderns eines Verarbeitungskontexts der CPU 1 von der ersten virtuellen Maschine 7 zum Hypervisor 6 (wobei dieser Prozess im Allgemeinen als VMExit bezeichnet wird) aus. Der Hypervisor 6 prüft einen Verwendungsstatus des digitalen Ausgangsanschlusses 2011. Wenn festgestellt wird, dass die zweite virtuelle Maschine 8 den digitalen Ausgangsanschluss 2011 nicht verwendet, ruft der Hypervisor 6 den Treiber 16 für digitale Ausgangsanschlüsse zum Zugreifen auf den digitalen Ausgangsanschluss 2011 durch Festlegen eines Parameters von H auf. Wenn festgestellt wird, dass die zweite virtuelle Maschine 8 den digitalen Ausgangsanschluss 2011 verwendet, speichert der Hypervisor 6 den Parameter H in einem Puffer, der im Hypervisor 6 vorgesehen ist, und geht in Bereitschaft, nimmt den Parameter H aus dem Puffer, nachdem die zweite virtuelle Maschine 8 das Verwenden des digitalen Ausgangsanschlusses 2011 abgeschlossen hat, und ruft dann den Treiber 16 für digitale Ausgangsanschlüsse durch Anfügen des herausgenommenen Parameters an den Aufruf auf.To access the digital output port 2011, which is the shared peripheral device 201, the first control software application 10 uses the peripheral access request recorder 19, the virtual driver 11, the hypervisor 6 and the digital output port driver 16. Specifically, the first control software application 10 calls the peripheral access request recording program 19 by setting a parameter of H, which call is made as a peripheral access request. The peripheral access request recording program 19 records peripheral access request information 51 from the first control software application 10 and calls the virtual driver 11 by setting a parameter of H. The virtual driver 11 executes a process of changing a processing context of the CPU 1 from the first virtual machine 7 to the hypervisor 6 (this process is generally referred to as VMExit). The hypervisor 6 checks a usage status of the digital output port 2011. If it is determined that the second virtual machine 8 is not using the digital output port 2011, the hypervisor 6 calls the digital output port driver 16 to access the digital output port 2011 by setting a parameter of H up. When it is determined that the second virtual machine 8 is using the digital output port 2011, the hypervisor 6 stores the parameter H in a buffer provided in the hypervisor 6 and goes to standby, taking the parameter H out of the buffer after the second virtual machine 8 has finished using the digital output port 2011, and then calls the digital output port driver 16 by appending the extracted parameter to the call.

Der Treiber 16 für digitale Ausgangsanschlüsse greift auf ein Register des digitalen Ausgangsanschlusses 2011 zu, gibt einen Wert zum Setzen eines Ausgabewerts von H (hoch oder 1) an einem gegebenen Ort des Registers des Mikrocomputers 900 ein und sendet eine Antwort, die einen normalen Abschluss angibt, zurück zum Hypervisor 6. Nach Eingang der Antwort, die einen normalen Abschluss angibt, vom Treiber 16 für digitale Ausgangsanschlüsse führt der Hypervisor 6 einen Prozess des Änderns des Verarbeitungskontexts der CPU 1 vom Hypervisor 6 zur ersten virtuellen Maschine 7 (wobei dieser Prozess im Allgemeinen als VMEntry bezeichnet wird) aus. Wenn Informationen, die einen normalen Abschluss angeben, vom Hypervisor 6 empfangen werden, ruft der virtuelle Treiber 11 das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 auf. Das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 zeichnet Peripheriezugriffsergebnis-Informationen 52 über die erste Steuer-Software-Anwendung 10 auf und sendet eine Antwort, die einen normalen Abschluss angibt, zur ersten Steuer-Software-Anwendung 10.The digital output port driver 16 accesses a register of the digital output port 2011, inputs a value for setting an output value of H (high or 1) to a given location of the register of the microcomputer 900, and sends a response indicating normal completion , back to the hypervisor 6. Upon receipt of the response indicating normal completion from the digital output port driver 16, the hypervisor 6 performs a process of changing the processing context of the CPU 1 from the hypervisor 6 to the first virtual machine 7 (this process generally called VVMentry). When information indicating normal completion is received from the hypervisor 6, the virtual driver 11 calls the peripheral access request recorder 19. The peripheral access request recording program 19 records peripheral access result information 52 about the first control software application 10 and sends a response indicating normal completion to the first control software application 10.

5 stellt ein Beispiel der Peripheriezugriffsanforderungs-Informationen 51 von der ersten Steuer-Software-Anwendung 10 dar. 5 illustrates an example of the peripheral access request information 51 from the first control software application 10.

<Peripheriezugriffsanforderungs-Informationen 51 von der ersten Steuer-Software-Anwendung 10 ><Peripheral access request information 51 from the first control software application 10>

Die Peripheriezugriffsanforderungs-Informationen 51 von der ersten Steuer-Software-Anwendung 10 enthalten Informationen über eine Zeit, zu der die erste Steuer-Software-Anwendung 10 das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 aufgerufen hat, über ein Peripheriegerät, auf das eine Zugriffsanforderung durch den Aufruf gestellt wird, und über einen Parameter, der durch den Aufruf festgelegt wird.The peripheral access request information 51 from the first control software application 10 includes information about a time at which the first control software application 10 called the peripheral access request recording program 19 about a peripheral device to which an access request was made by the call and via a parameter that is set by the call.

6 stellt ein Beispiel der Peripheriezugriffsergebnis-Informationen 52 über die erste Steuer-Software-Anwendung 10 dar. 6 illustrates an example of the peripheral access result information 52 about the first control software application 10.

<Peripheriezugriffsergebnis-Informationen 52 über eine erste Steuer-Software-Anwendung 10><Peripheral access result information 52 about a first control software application 10>

Die Peripheriezugriffsergebnis-Informationen 52 über die erste Steuer-Software-Anwendung 10 enthalten Informationen über eine Zeit, zu der der Hypervisor 6 eine Antwort, die einen normalen Abschluss eines Prozesses angibt, zurück zum virtuellen Treiber 11 gesendet hat, über ein Peripheriegerät, das einem Prozess durch den Hypervisor 6 unterworfen wird, und über Prozessergebnisse.The peripheral access result information 52 about the first control software application 10 includes information about a time at which the hypervisor 6 sent a response indicating normal completion of a process back to the virtual driver 11 via a peripheral device that is a Process is subjected to by the hypervisor 6, and about process results.

<Zweite virtuelle Maschine 8><Second virtual machine 8>

Der Betrieb von Software in der zweiten virtuellen Maschine 8 wird beschrieben. Wenn der Hypervisor 6 die zweite virtuelle Maschine 8 konfiguriert, aktiviert die zweite virtuelle Maschine 8 das zweite Gastbetriebssystem 13. Das zweite Gastbetriebssystem 13 aktiviert die zweite Steuer-Software-Anwendung 15. Die zweite Steuer-Software-Anwendung 15 verwendet den digitalen Ausgangsanschluss 2011, der das gemeinsam verwendete Peripheriegerät 201 ist, und den digitalen Eingangsanschluss 2031, der das zweite Peripheriegerät 203 ist.The operation of software in the second virtual machine 8 is described. When the hypervisor 6 configures the second virtual machine 8, the second virtual machine 8 activates the second guest operating system 13. The second guest operating system 13 activates the second control software application 15. The second control software application 15 uses the digital output port 2011, which is the shared peripheral device 201, and the digital input port 2031 which is the second peripheral device 203.

7 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die zweite Steuer-Software-Anwendung 15 das zweite Peripheriegerät 203 verwendet. 7 illustrates an overview of a process flow that is executed when the second control software application 15 uses the second peripheral device 203.

<Zugriff von zweiten virtuellen Maschinen 8 auf das zweite Peripheriegerät 203><Access from second virtual machines 8 to the second peripheral device 203>

Um auf den digitalen Eingangsanschluss 2031, der das zweite Peripheriegerät 203 ist, zuzugreifen, verwendet die zweite Steuer-Software-Anwendung 15 den Treiber 14 für digitale Eingangsanschlüsse. Speziell greift dann, wenn die zweite Steuer-Software-Anwendung 15 den Treiber 14 für digitale Eingangsanschlüsse aufruft, wobei der Aufruf als eine Peripheriezugriffsanforderung vorgenommen wird, der Treiber 14 für digitale Eingangsanschlüsse auf ein Register des digitalen Eingangsanschlusses 2031 zu, liest einen Wert an einem gegebenen Ort des Registers des Mikrocomputers 900 und sendet eine Antwort, der der abgelesene Wert beigefügt ist, zurück zur zweiten Steuer-Software-Anwendung 15.To access the digital input port 2031, which is the second peripheral device 203, the second control software application 15 uses the digital input port driver 14. Specifically, when the second control software application 15 calls the digital input port driver 14, the call being made as a peripheral access request, the digital input port driver 14 accesses a register of the digital input port 2031, reads a value at one given location of the register of the microcomputer 900 and sends a response accompanied by the read value back to the second control software application 15.

8 stellt einen Überblick eines Prozessablaufs dar, der ausgeführt wird, wenn die zweite Steuer-Software-Anwendung 15 das gemeinsam verwendete Peripheriegerät 201 verwendet. 8th illustrates an overview of a process flow that is executed when the second control software application 15 uses the shared peripheral device 201.

<Zugriff von der zweiten virtuellen Maschine 8 zum gemeinsam verwendeten Peripheriegerät 201><Access from the second virtual machine 8 to the shared peripheral device 201>

Um auf den digitalen Ausgangsanschluss 2011 zuzugreifen, der das gemeinsam verwendete Peripheriegerät 201 ist, verwendet die zweite Steuer-Software-Anwendung 15 den virtuellen Treiber 11, den Hypervisor 6 und den Treiber 16 für digitale Ausgangsanschlüsse. Speziell ruft die erste Steuer-Software-Anwendung 10 den virtuellen Treiber 11 durch Festlegen eines Parameters von H auf, wobei der Aufruf als eine Peripheriezugriffsanforderung vorgenommen wird. Der virtuelle Treiber 11 führt einen Prozess des Änderns eines Verarbeitungskontexts der CPU 1 von der zweiten virtuellen Maschine 8 zum Hypervisor 6 (wobei dieser Prozess im Allgemeinen als VMExit bezeichnet wird) aus. Der Hypervisor 6 prüft einen Verwendungsstatus des digitalen Ausgangsanschlusses 2011. Wenn festgestellt wird, dass die erste virtuelle Maschine 7 den digitalen Ausgangsanschluss 2011 nicht verwendet, ruft der Hypervisor 6 den Treiber 16 für digitale Ausgangsanschlüsse zum Zugreifen auf den digitalen Ausgangsanschluss 2011 durch Festlegen eines Parameters von H auf. Wenn festgestellt wird, dass die erste virtuelle Maschine 7 den digitalen Ausgangsanschluss 2011 verwendet, speichert der Hypervisor 6 den Parameter H im Puffer, der im Hypervisor 6 vorgesehen ist, und geht in Bereitschaft, nimmt den Parameter H aus dem Puffer, nachdem die erste virtuelle Maschine 7 die Verwendung des digitalen Ausgangsanschlusses 2011 abgeschlossen hat, und ruft dann den Treiber 16 für digitale Ausgangsanschlüsse durch Anfügen des herausgenommenen Parameters an den Aufruf auf.To access the digital output port 2011, which is the shared peripheral device 201, the second control software application 15 uses the virtual driver 11, the hypervisor 6 and the digital output port driver 16. Specifically, the first control software application 10 calls the virtual driver 11 by setting a parameter of H, the call being made as a peripheral access request. The virtual driver 11 executes a process of changing a processing context of the CPU 1 from the second virtual machine 8 to the hypervisor 6 (this process is generally referred to as VMExit). The hypervisor 6 checks a usage status of the digital output port 2011. If it is determined that the first virtual machine 7 is not using the digital output port 2011, the hypervisor 6 calls the digital output port driver 16 to access the digital output port 2011 by setting a parameter of H up. When it is determined that the first virtual machine 7 is using the digital output port 2011, the hypervisor 6 stores the parameter H in the buffer provided in the hypervisor 6 and goes into standby, taking the parameter H out of the buffer after the first virtual Machine 7 has completed using the digital output port 2011, and then calls the digital output port driver 16 by appending the extracted parameter to the call.

Der Treiber 16 für digitale Ausgangsanschlüsse greift auf ein Register des digitalen Ausgangsanschlusses 2011 zu, gibt in einem Wert zum Setzen eines Ausgabewerts von H (hoch oder 1) in einem gegebenen Ort des Registers des Mikrocomputers 900 ein und sendet eine Antwort, die einen normalen Abschluss angibt, zurück zum Hypervisor 6. Nach Eingang der Antwort, die einen normalen Abschluss angibt, vom Treiber 16 für digitale Ausgangsanschlüsse, führt der Hypervisor 6 einen Prozess des Änderns des Verarbeitungskontexts der CPU 1 vom Hypervisor 6 zur ersten virtuellen Maschine 7 (wobei der Prozess im Allgemeinen als VMEntry bezeichnet wird) aus. Wenn Informationen, die einen normalen Abschluss angeben, vom Hypervisor 6 empfangen werden, sendet der virtuelle Treiber 11 eine Antwort, die einen normalen Abschluss angibt, zurück zur ersten Steuer-Software-Anwendung 10.The digital output port driver 16 accesses a register of the digital output port 2011, inputs a value for setting an output value of H (high or 1) in a given location of the register of the microcomputer 900, and sends a response indicating normal completion indicates, back to the hypervisor 6. Upon receipt of the response indicating normal completion from the digital output port driver 16, the hypervisor 6 performs a process of changing the processing context of the CPU 1 from hypervisor 6 to the first virtual machine 7 (the process is generally referred to as VMBentry). When information indicating normal completion is received from the hypervisor 6, the virtual driver 11 sends a response indicating normal completion back to the first control software application 10.

<Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19><Peripheral access request recording program 19>

Wie in 4 gezeigt ist, erzeugt dann, wenn die erste Steuer-Software-Anwendung 10 eine Peripheriezugriffsanforderung aussendet, das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 die Peripheriezugriffsanforderungs-Informationen 51 über Zugriffsanforderungen durch die erste Steuer-Software-Anwendung 10. Wie in 4 gezeigt ist, erzeugt dann, wenn der virtuelle Treiber 11 Informationen, die einen normalen Abschluss angeben, vom Hypervisor 6 empfängt, das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 die Peripheriezugriffsergebnis-Informationen 52 über die erste Steuer-Software-Anwendung 10. Ferner wird das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 durch das erste Gastbetriebssystem 9 in einem gegebenen Zeitablauf (z. B. in einem Zyklus von 100 Millisekunden) wiederholt aktiviert, erzeugt Peripheriezugriffsaufzeichnungs-Informationen 53, in die die Peripheriezugriffsanforderungs-Informationen 51 von der ersten Steuer-Software-Anwendung 10 und die Peripheriezugriffsergebnis-Informationen 52 über die erste Steuer-Software-Anwendung 10 integriert sind, und schreibt die Peripheriezugriffsaufzeichnungs-Informationen 53 zu einem Speicherbereich, auf den das Hypervisor-Überwachungsprogramm 17 Bezug nehmen kann.As in 4 As shown in FIG 4 As shown, when the virtual driver 11 receives information indicating normal completion from the hypervisor 6, the peripheral access request recording program 19 generates the peripheral access result information 52 via the first control software application 10. Further, the peripheral access request recording program 19 repeatedly activated by the first guest operating system 9 in a given timing (e.g., in a cycle of 100 milliseconds), generates peripheral access record information 53 into which the peripheral access request information 51 from the first control software application 10 and the peripheral access result -Information 52 is integrated via the first control software application 10, and writes the peripheral access record information 53 to a memory area to which the hypervisor monitoring program 17 can refer.

9 stellt ein Beispiel der Peripheriezugriffsaufzeichnungs-Informationen 53 dar. 9 illustrates an example of the peripheral access record information 53.

<Peripheriezugriffsaufzeichnungs-Informationen 53><Peripheral access record information 53>

Die Peripheriezugriffsaufzeichnungs-Informationen 53 enthalten Informationen über eine Zeit, zu der die erste Steuer-Software-Anwendung 10 das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 aufgerufen hat, über ein Peripheriegerät, auf das durch eine Peripheriezugriffsanforderung ein Zugriff vorgenommen wird, auf einem Parameter, der an die Peripheriezugriffsanforderung angefügt ist, auf eine Zeit, zu der der Hypervisor 6 gemäß der Peripheriezugriffsanforderung Informationen, die einen normalen Abschluss eines Prozesses angeben, zum virtuellen Treiber 11 gesendet hat, und auf Prozessergebnissen durch den Hypervisor 6.The peripheral access record information 53 includes information about a time at which the first control software application 10 called the peripheral access request recording program 19, about a peripheral accessed by a peripheral access request, on a parameter sent to the Peripheral access request is attached to a time at which the hypervisor 6 has sent information indicating normal completion of a process to the virtual driver 11 according to the peripheral access request, and to process results by the hypervisor 6.

<Registerwerterfassungsprogramm 18><Register value acquisition program 18>

Das Registerwerterfassungsprogramm 18 wird durch das Host-Betriebssystem 5 in einem gegebenen Zeitablauf (z. B. in einem Zyklus von 5 Millisekunden) wiederholt aktiviert. Jedes Mal, wenn es aktiviert wird, ruft das Registerwerterfassungsprogramm 18 den Treiber 16 für digitale Ausgangsanschlüsse auf, um einen Wert an einem gegebenen Ort des Registers des Mikrocomputers 900 zu erfassen, wobei der Wert einen Zustand des digitalen Ausgangsanschlusses 2011, der das gemeinsam verwendete Peripheriegerät 201 ist, darstellt, erzeugt Peripheriezustandsaufzeichnungs-Informationen 54 und schreibt die erzeugten Peripheriezustandsaufzeichnungs-Informationen 54 zu einem Speicherbereich, auf den das Hypervisor-Überwachungsprogramm 17 Bezug nehmen kann. Das Registerwerterfassungsprogramm 18 wird im Host-Betriebssystem 5 ausgeführt, kann jedoch im Hypervisor 6 ausgeführt werden.The register value acquisition program 18 is repeatedly activated by the host operating system 5 at a given timing (e.g. in a cycle of 5 milliseconds). Each time it is activated, the register value capture program 18 calls the digital output port driver 16 to capture a value at a given location of the register of the microcomputer 900, the value indicating a state of the digital output port 2011 that is the shared peripheral device 201, generates peripheral state record information 54 and writes the generated peripheral state record information 54 to a memory area to which the hypervisor monitoring program 17 can reference. The register value capture program 18 is executed in the host operating system 5, but can be executed in the hypervisor 6.

10 stellt ein Beispiel der Peripheriezustandsaufzeichnungs-Informationen 54 dar. 10 illustrates an example of the peripheral state record information 54.

<Peripheriezustandsaufzeichnungs-Informationen 54><Peripheral state record information 54>

Die Peripheriezustandsaufzeichnungs-Informationen 54 enthalten Informationen über eine Prozesszielperipherie, die einem Prozess durch das Registerwerterfassungsprogramm 18 unterworfen wird, über eine Zeit, zu der das Registerwerterfassungsprogramm 18 das Peripheriegerät (den Treiber 16 für digitale Ausgangsanschlüsse) aufgerufen hat, und über einen Registerwert, der durch den Aufruf erfasst wird.The peripheral state record information 54 includes information about a process target peripheral subjected to a process by the register value acquisition program 18, a time at which the register value acquisition program 18 called the peripheral device (the digital output port driver 16), and a register value determined by the call is recorded.

11 stellt einen Überblick eines Prozessablaufs des Hypervisor-Überwachungsprogramms 17 dar. 11 represents an overview of a process flow of the hypervisor monitoring program 17.

<Hypervisor-Überwachungsprogramm 17><Hypervisor Monitor 17>

Das Hypervisor-Überwachungsprogramm 17 berechnet einen Wert, von dem auf der Grundlage der Peripheriezugriffsaufzeichnungs-Informationen 53 angenommen wird, dass er als ein Registerwert eingegeben wird, und bestimmt dann, wenn der Wert, von dem angenommen wird, dass er als der Registerwert eingegeben wird, nicht mit dem entsprechenden Wert übereinstimmt, der durch die Peripheriezustandsaufzeichnungs-Informationen 54 angegeben ist, dass eine Anomalie im Hypervisor 6 aufgetreten ist.The hypervisor monitoring program 17 calculates a value assumed to be input as a register value based on the peripheral access record information 53, and then determines when the value assumed to be input as the register value , does not match the corresponding value indicated by the peripheral state record information 54 that an abnormality has occurred in the hypervisor 6.

In Schritt S1 erzeugt das Hypervisor-Überwachungsprogramm 17 Peripheriebestimmungszustands-Informationen 55 auf der Grundlage von allen Stücken von Informationen, die die Peripheriezugriffsaufzeichnungs-Informationen 53 bilden, und von Zustandsprüfungszeit-Informationen, die in den Peripheriezustandsaufzeichnungs-Informationen 54 enthalten sind.In step S1, the hypervisor monitoring program 17 generates peripheral determination state information 55 based on all pieces of information that the peripheral access srecording information 53, and status check time information contained in the peripheral status recording information 54.

In Schritt S2 vergleicht das Hypervisor-Überwachungsprogramm 17 die Peripheriezustandsaufzeichnungs-Informationen 54 mit den Peripheriebestimmungszustands-Informationen 55 und bestimmt, ob der Hypervisor 6 in einem normalen Zustand oder in einem anomalen Zustand ist.In step S2, the hypervisor monitoring program 17 compares the peripheral state record information 54 with the peripheral determination state information 55 and determines whether the hypervisor 6 is in a normal state or an abnormal state.

12 stellt ein Beispiel der Peripheriebestimmungszustands-Informationen 55 dar. 12 illustrates an example of the peripheral determination state information 55.

<Peripheriebestimmungszustands-Informationen 55><Peripheral determination state information 55>

Die Peripheriebestimmungszustands-Informationen 55 enthalten Informationen über eine Zeit, zu der das Registerwerterfassungsprogramm 18 den Treiber 16 für digitale Ausgangsanschlüsse aufgerufen hat, und über einen Peripherieregisterwert zu einer Zeit, die auf der Grundlage der Peripheriezugriffsaufzeichnungs-Informationen 53 berechnet wird.The peripheral determination state information 55 includes information about a time at which the register value acquisition program 18 called the digital output terminal driver 16 and a peripheral register value at a time calculated based on the peripheral access record information 53.

13 ist ein Diagramm, das einen Prozess des Erzeugens der Peripheriebestimmungszustands-Informationen, der in Schritt S1 des Hypervisor-Überwachungsprogramms 17 ausgeführt wird, schematisch zeigt. 13 is a diagram schematically showing a process of generating the peripheral determination state information executed in step S1 of the hypervisor monitoring program 17.

<Schritt S1><Step S1>

In dieser Ausführungsform ist ein Anfangswert für das Register ein nicht fester Wert.In this embodiment, an initial value for the register is a non-fixed value.

Gemäß den Peripheriezugriffsaufzeichnungs-Informationen 53 sendet die erste Steuer-Software-Anwendung 10 eine Peripheriezugriffsanforderung mit einem festgelegten Parameter H bei 10:00. Nun ist eine Zuschlagzeit in einem Zeitraum zwischen dem Senden der Peripheriezugriffsanforderung durch die erste Steuer-Software-Anwendung 10 und dem tatsächlichem Verarbeiten eines Registerwerts des Treibers 16 für digitale Ausgangsanschlüsse gemäß dem Ablauf, der in 4 gezeigt ist, vorhanden. Die Länge der Zuschlagzeit kann nicht vorhergesagt werden. Dennoch wird unter Bezugnahme auf eine Antwortzeit eines Hypervisors, die in den Peripheriezugriffsaufzeichnungs-Informationen 53 angegeben ist, abgeleitet, dass der Registerwert zu einem beliebigen Zeitpunkt zwischen 10:00 und 16:00 zu H gesetzt wird.According to the peripheral access record information 53, the first control software application 10 sends a peripheral access request with a specified parameter H at 10:00. Now, an overhead time is a period between the sending of the peripheral access request by the first control software application 10 and the actual processing of a register value of the digital output port driver 16 according to the flow shown in 4 shown is present. The length of the surcharge period cannot be predicted. However, with reference to a response time of a hypervisor indicated in the peripheral access record information 53, it is deduced that the register value is set to H at any time between 10:00 and 16:00.

Entsprechend sendet gemäß den Peripheriezugriffsaufzeichnungs-Informationen 53 die erste Steuer-Software-Anwendung 10 eine Peripheriezugriffsanforderung mit einem festgelegten Parameter L bei 25:00. Nun ist eine Zuschlagzeit in einem Zeitraum zwischen dem Senden der Peripheriezugriffsanforderung durch die erste Steuer-Software-Anwendung 10 und dem tatsächlichen Verarbeiten eines Registerwerts des Treibers 16 für digitale Ausgangsanschlüsse gemäß dem Ablauf, der in 4 gezeigt ist, vorhanden. Die Länge der Zuschlagzeit kann nicht vorhergesagt werden. Dennoch wird unter Bezugnahme auf eine Antwortzeit eines Hypervisors, die in den Peripheriezugriffsaufzeichnungs-Informationen 53 angegeben ist, abgeleitet, dass der Registerwert zu einem beliebigen Zeitpunkt zwischen 25:00 und 32:00 zu L gesetzt wird.Accordingly, according to the peripheral access record information 53, the first control software application 10 sends a peripheral access request with a set parameter L at 25:00. Now, an overhead time is a period between the sending of the peripheral access request by the first control software application 10 and the actual processing of a register value of the digital output port driver 16 according to the flow shown in FIG 4 shown is present. The length of the surcharge period cannot be predicted. However, with reference to a response time of a hypervisor indicated in the peripheral access record information 53, it is deduced that the register value is set to L at any time between 25:00 and 32:00.

Daher werden die Peripheriebestimmungszustands-Informationen 55, die in 12 gezeigt sind, erzeugt. Speziell resultiert bei 12:10 entweder der Anfangswert, d. h. ein nicht fester Wert, der aufrechterhalten wird, oder H, das als die Registerwertübereinstimmung zur Peripheriezugriffsanforderung, die bei 10:00 gesendet wurde, eingegeben wird, was bedeutet, dass sowohl der Registerwert H als auch der Registerwert L resultieren könnte. Bei 17:10, eine Zeit hinter 16:00, ist der Registerwert H, was auch bei 22:10 resultiert. Bei 27:10 resultiert allerdings entweder der Registerwert, der H bleibt, oder der Registerwert, der in Übereinstimmung mit der Peripheriezugriffsanforderung, die bei 25:00 gesendet wurde, zu L geschaltet wird, was bedeutet, dass sowohl der Registerwert H als auch der Registerwert L resultieren könnte. Bei 32:10, einer Zeit hinter 32:00, ist der Registerwert L, was auch bei 37:10 resultiert.Therefore, the peripheral determination state information 55 included in 12 are shown. Specifically, at 12:10, either the initial value results, that is, a non-fixed value that is maintained, or H, which is entered as the register value match to the peripheral access request sent at 10:00, meaning that both the register value H and The register value L could also result. At 17:10, a time behind 16:00, the register value is H, which also results in 22:10. However, at 27:10 this results in either the register value remaining H or the register value being switched to L in accordance with the peripheral access request sent at 25:00, meaning that both the register value is H and the register value L could result. At 32:10, a time behind 32:00, the register value is L, which also results in 37:10.

14 ist ein Diagramm, das den Prozess des Erzeugens der Peripheriebestimmungszustands-Informationen, der in Schritt S1 des Hypervisor-Überwachungsprogramms 17 ausgeführt wird, schematisch zeigt. 14 is a diagram schematically showing the process of generating the peripheral determination state information executed in step S1 of the hypervisor monitoring program 17.

<Schritt S2><Step S2>

In Schritt S2 vergleicht das Hypervisor-Überwachungsprogramm 17 die Peripheriebestimmungszustands-Informationen 55 mit den Peripheriezustandsaufzeichnungs-Informationen 54 und bestimmt, dass eine Anomalie im Hypervisor 6 aufgetreten ist, wenn die ein Peripherieregisterwert zu jeder berechneten Zeit in den Peripheriebestimmungszustands-Informationen 55 von dem entsprechenden Registerwert, der in Peripheriezustandsaufzeichnungs-Informationen 54 aufgezeichnet ist, verschieden ist. Speziell soll, wie in 14 angegeben ist, der Registerwert bei 32:10 gemäß den Peripheriebestimmungszustands-Informationen 55 L sein, jedoch ist der tatsächliche Registerwert bei 32:10 gemäß den Peripheriezustandsaufzeichnungs-Informationen 54 H. Dies zeigt die Tatsache, dass eine Anomalie im Hypervisor 6 aufgetreten ist, was eine Detektion einer Anomalie bedeutet. Dies gibt einen Fall an, in dem die erste Steuer-Software-Anwendung 10 eine Peripheriezugriffsanforderung des Setzens eines Registerwerts des digitalen Ausgangsanschlusses 2011 zu L gesendet hat und der Hypervisor 6 eine Antwort, die einen normalen Abschluss einer Prozesses angibt, zurück zur ersten Steuer-Software-Anwendung 10 gesendet hat, jedoch wird tatsächlich der Registerwert des digitalen Ausgangsanschlusses 2011 nicht geändert, d. h. bleibt H.In step S2, the hypervisor monitoring program 17 compares the peripheral determination state information 55 with the peripheral state record information 54 and determines that an abnormality has occurred in the hypervisor 6 if the peripheral register value at each calculated time in the peripheral determination state information 55 differs from the corresponding register value recorded in peripheral state record information 54 is different. Specifically should, as in 14 is specified, the register value at 32:10 according to the peripheral determination state information will be 55 L, however, the actual register value at 32:10 according to the peripheral state recording information is 54 H. This indicates the fact that an abnormality has occurred in the hypervisor 6, which means detection of an anomaly. This indicates a case where the first tax soft ware application 10 has sent a peripheral access request of setting a register value of the digital output port 2011 to L and the hypervisor 6 has sent a response indicating normal completion of a process back to the first control software application 10, but in fact the register value is of the digital output connection has not changed in 2011, i.e. H remains.

Gemäß dieser Ausführungsform wird selbst im Falle des Hypervisors 6, dessen interne Logik nicht offen zur Öffentlichkeit gestaltet ist, unter Verwendung einer Aufzeichnung von Änderungen der Registerwerte des Mikrocomputers 900, der durch den Hypervisor 6 betrieben wird, von außerhalb des Hypervisors 6 überwacht, ob der Hypervisor 6 Prozesse, die durch die Steuer-Software-Anwendungen 10 und 15 in den virtuellen Maschinen 7 und 8 angefordert wurden, korrekt ausführt. Durch diesen Prozess kann eine Anomalie des Hypervisors 6 auf der Grundlage einer Eingabe in und einer Ausgabe aus dem Hypervisor 6 detektiert werden, ohne auf einen internen Zustand des Hypervisors 6 zuzugreifen. Selbst in einem Fall, in dem der Hypervisor 6 eine Antwort, die einen Abschluss eines normalen Prozesses angibt, zurück zu den virtuellen Maschinen 7 und 8 sendet, kann, wenn der Prozess tatsächlich nicht normal ausgeführt wird, diese Tatsache als eine Anomalie des Hypervisors 6 detektiert werden.According to this embodiment, even in the case of the hypervisor 6 whose internal logic is not made open to the public, it is monitored from outside the hypervisor 6 using a record of changes in the register values of the microcomputer 900 operated by the hypervisor 6 Hypervisor 6 correctly executes processes requested by control software applications 10 and 15 in virtual machines 7 and 8. Through this process, an anomaly of the hypervisor 6 can be detected based on input to and output from the hypervisor 6 without accessing an internal state of the hypervisor 6. Even in a case where the hypervisor 6 sends a response indicating completion of a normal process back to the virtual machines 7 and 8, if the process is actually not executing normally, this fact may be considered an anomaly of the hypervisor 6 be detected.

Zusätzlich ist es, weil eine Anomalie des Hypervisors 6 auf der Grundlage der Inkonsistenz zwischen einem tatsächlichen Wert des Registers und einem voreingestellten Wert bestimmt wird, ein zusätzlicher Prozess wie z. B. ein Prüfmuster unnötig, was eine negative Wirkung auf einen Hauptprozess verringert.In addition, because an abnormality of the hypervisor 6 is determined based on the inconsistency between an actual value of the register and a preset value, an additional process such as B. a test sample is unnecessary, which reduces a negative impact on a main process.

Zweite AusführungsformSecond embodiment

Eine elektronische Steuereinheit und ein Anomaliedetektionsverfahren gemäß einer zweiten Ausführungsform der vorliegenden Erfindung werden beschrieben. Die zweite Ausführungsform ist von der ersten Ausführungsform dahingehend verschieden, dass ein Überwachungsergebnisspeicherprogramm 20 zu einer Software-Konfiguration hinzugefügt wird. Dieselben Bestandteile wie die der ersten Ausführungsform werden durch dieselben Bezugszeichen bezeichnet und werden in der weiteren Beschreibung ausgelassen.An electronic control unit and an abnormality detection method according to a second embodiment of the present invention will be described. The second embodiment is different from the first embodiment in that a monitoring result storage program 20 is added to a software configuration. The same components as those of the first embodiment are denoted by the same reference numerals and will be omitted from further description.

15 stellt eine Software-Konfiguration der elektronischen Steuereinheit gemäß der zweiten Ausführungsform dar. Stücke einer Software, die in 15 gezeigt ist, sind im Speicher 3 gespeichert. 15 represents a software configuration of the electronic control unit according to the second embodiment. Pieces of software included in 15 is shown are stored in memory 3.

<Software-Konfiguration><Software configuration>

Das Host-Betriebssystem 5 ist im Mikrocomputer 900 installiert. Das Host-Betriebssystem 5 aktiviert einen Hypervisor 6, ein Hypervisor-Überwachungsprogramm 17 und ein Registerwerterfassungsprogramm 18. Das Host-Betriebssystem 5 prüft wiederholt einen Wert des Anomaliedetektionsmerkers 56 in einem gegebenen Zeitablauf (z. B. in einem Zyklus von 5 Millisekunden) und schreibt dann, wenn bestätigt wird, dass der Wert des Anomaliedetektionsmerkers 56 Wahr ist, den Wert des Anomaliedetektionsmerkers 56 zu Falsch um und startet dann das Überwachungsergebnisspeicherprogramm 20.The host operating system 5 is installed in the microcomputer 900. The host operating system 5 activates a hypervisor 6, a hypervisor monitoring program 17, and a register value detection program 18. The host operating system 5 repeatedly checks and writes a value of the anomaly detection flag 56 at a given timing (e.g., in a 5 millisecond cycle). then, when it is confirmed that the value of the abnormality detection flag 56 is True, changes the value of the abnormality detection flag 56 to False, and then starts the monitoring result storage program 20.

<Anomaliedetektionsmerker 56><Anomaly detection flag 56>

Der Anomaliedetektionsmerker 56 ist eine Variable, die einen von zwei Werten annimmt: Wahr und Falsch.The anomaly detection flag 56 is a variable that takes one of two values: true and false.

16 stellt einen Überblick eines Prozessablaufs des Hypervisor-Überwachungsprogramms 17 dar. 16 represents an overview of a process flow of the hypervisor monitoring program 17.

<Schritt S3><Step S3>

In Schritt S3 verursacht das Hypervisor-Überwachungsprogramm 17, dass sich der Prozessablauf abhängig davon verzweigt, ob ein Bestimmungsergebnis in Schritt S2 ein normaler Zustand oder ein anomaler Zustand ist. Mit anderen Worten beendet das Hypervisor-Überwachungsprogramm 17 den Prozessablauf, ohne etwas zu unternehmen, wenn das Bestimmungsergebnis in Schritt S2 ein normaler Zustand ist, schreitet jedoch fort zu Schritt S4, wenn das Bestimmungsergebnis in Schritt S2 ein anomaler Zustand ist.In step S3, the hypervisor monitoring program 17 causes the process flow to branch depending on whether a determination result in step S2 is a normal state or an abnormal state. In other words, the hypervisor monitoring program 17 ends the process flow without taking any action when the determination result in step S2 is a normal state, but proceeds to step S4 when the determination result in step S2 is an abnormal state.

<Schritt S4><Step S4>

In Schritt S4 schaltet das Hypervisor-Überwachungsprogramm 17 einen Wert des Anomaliedetektionsmerkers 56 zu Wahr und beendet den Prozessablauf.In step S4, the hypervisor monitoring program 17 sets a value of the anomaly detection flag 56 to True and ends the process flow.

<Überwachungsergebnisspeicherprogramm 20><Monitoring result storage program 20>

Das Überwachungsergebnisspeicherprogramm 20 speichert die Peripheriezugriffsaufzeichnungs-Informationen 53, die Peripheriezustandsaufzeichnungs-Informationen 54 und die Peripheriebestimmungszustands-Informationen 55 in einem nichtflüchtigen Speicherbereich im Speicher 3 des Mikrocomputers 900.The monitoring result storage program 20 stores the peripheral access record information 53, the peripheral state record information 54 and the peripheral determination state information 55 in a non-volatile memory area in the memory 3 of the microcomputer 900.

Gemäß dieser Ausführungsform können unter Bezugnahme auf den nichtflüchtigen Speicherbereich die Peripheriezugriffsaufzeichnungs-Informationen 53, die Peripheriezustandsaufzeichnungs-Informationen 54 und die Peripheriebestimmungszustands-Informationen 55 als Informationen zum Beheben von Fehlern verwendet werden, die den Grund dafür, dass eine Anomalie im Hypervisor 6 detektiert wird, und einem Operationsmuster, das eine Anomalie des Hypervisors 6 verursacht, identifizieren.According to this embodiment, with reference to the non-volatile memory area, the peripheral access record information mations 53, the peripheral state record information 54 and the peripheral determination state information 55 are used as error recovery information that identifies the reason that an abnormality is detected in the hypervisor 6 and an operation pattern that causes an abnormality of the hypervisor 6 .

Dritte AusführungsformThird embodiment

Eine elektronische Steuereinheit und ein Anomaliedetektionsverfahren gemäß einer dritten Ausführungsform der vorliegenden Erfindung werden beschrieben. Die dritte Ausführungsform ist von der ersten Ausführungsform dahingehend verschieden, dass ein verschiedener virtueller Treiber verwendet wird, um die Peripheriezugriffsaufzeichnungs-Informationen 53 zu extrahieren. Dieselben Bestandteile wie die der ersten Ausführungsform werden durch dieselben Bezugszeichen bezeichnet und werden in der weiteren Beschreibung ausgelassen.An electronic control unit and an abnormality detection method according to a third embodiment of the present invention will be described. The third embodiment is different from the first embodiment in that a different virtual driver is used to extract the peripheral access record information 53. The same components as those of the first embodiment are denoted by the same reference numerals and will be omitted from further description.

<Konfiguration><Configuration>

17 stellt eine Hardware-Konfiguration der elektronischen Steuereinheit gemäß der dritten Ausführungsform dar. 17 illustrates a hardware configuration of the electronic control unit according to the third embodiment.

<Peripheriegerät 2><Peripheral device 2>

In dieser Ausführungsform enthält das gemeinsam verwendete Peripheriegerät 201 den digitalen Ausgangsanschluss 2011 und eine CAN-Steuereinheit 2012, enthält das erste Peripheriegerät 202 den analogen Ausgangsanschluss 2021 und enthält das zweite Peripheriegerät 203 den digitalen Eingangsanschluss 2031.In this embodiment, the shared peripheral device 201 includes the digital output port 2011 and a CAN controller 2012, the first peripheral device 202 includes the analog output port 2021, and the second peripheral device 203 includes the digital input port 2031.

18 stellt eine Software-Konfiguration der elektronischen Steuereinheit gemäß der dritten Ausführungsform dar. Stücke einer Software, die in 18 gezeigt ist, sind im Speicher 3 gespeichert. 18 represents a software configuration of the electronic control unit according to the third embodiment. Pieces of software included in 18 is shown are stored in memory 3.

<Software-Konfiguration><Software configuration>

Die erste virtuelle Maschine 7 enthält das erste Gastbetriebssystem 9, die erste Steuer-Software-Anwendung 10, den virtuellen Treiber 11, das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19, den Treiber 12 für analoge Ausgangsanschlüsse und einen virtuellen CAN-Treiber 21. Die zweite virtuelle Maschine 8 enthält das zweite Gastbetriebssystem 13, die zweite Steuer-Software-Anwendung 15, den virtuellen Treiber 11, den Treiber 14 für digitale Eingangsanschlüsse und einen virtuellen CAN-Treiber 21.The first virtual machine 7 includes the first guest operating system 9, the first control software application 10, the virtual driver 11, the peripheral access request recording program 19, the analog output port driver 12 and a virtual CAN driver 21. The second virtual machine 8 contains the second guest operating system 13, the second control software application 15, the virtual driver 11, the digital input port driver 14 and a virtual CAN driver 21.

<Erste virtuelle Maschine 7><First virtual machine 7>

Der Betrieb einer Software in der ersten virtuellen Maschine 7 wird beschrieben. Wenn der Hypervisor 6 die erste virtuelle Maschine 7 konfiguriert, aktiviert die erste virtuelle Maschine 7 das erste Gastbetriebssystem 9. Das erste Gastbetriebssystem 9 aktiviert die erste Steuer-Software-Anwendung 10. Die erste Steuer-Software-Anwendung 10 verwendet den digitalen Ausgangsanschluss 2011 und die CAN-Steuereinheit 2012, die das gemeinsam verwendete Peripheriegerät 201 bilden, und den analogen Ausgangsanschluss 2021, der das erste Peripheriegerät 202 ist.The operation of software in the first virtual machine 7 is described. When the hypervisor 6 configures the first virtual machine 7, the first virtual machine 7 activates the first guest operating system 9. The first guest operating system 9 activates the first control software application 10. The first control software application 10 uses the digital output port 2011 and the CAN control unit 2012, which forms the shared peripheral device 201, and the analog output port 2021, which is the first peripheral device 202.

19 stellt einen Überblick eines Prozessablaufs, der ausgeführt wird, wenn die erste Steuer-Software-Anwendung 10 der dritten Ausführungsform die CAN-Steuereinheit 2012 verwendet, die das gemeinsam verwendete Peripheriegerät 201 ist, dar. 19 Fig. 12 illustrates an overview of a process flow executed when the first control software application 10 of the third embodiment uses the CAN controller 2012, which is the shared peripheral device 201.

<Zugriff von der ersten virtuellen Maschine 7 auf die CAN-Steuereinheit 2012><Access from the first virtual machine 7 to the CAN control unit 2012>

Um auf die CAN-Steuereinheit 2012 zuzugreifen, die das gemeinsam verwendete Peripheriegerät 201 ist, verwendet die erste Steuer-Software-Anwendung 10 den virtuellen CAN-Treiber 21, den Hypervisor 6 und einen CAN-Treiber 22. Speziell ruft die erste Steuer-Software-Anwendung 10 den virtuellen CAN-Treiber 21 durch Festlegen einer Kennung, die in Übereinstimmung mit einem CAN-Nachrichtenprotokoll zugewiesen wird, und Daten, die zu einem CAN-Rahmen gesendet werden sollen, als Parameter auf, wobei der Aufruf als eine Peripheriezugriffsanforderung vorgenommen wird. Der virtuelle CAN-Treiber 21 führt einen Prozess des Änderns eines Verarbeitungskontexts der CPU 1 von der ersten virtuellen Maschine 7 zum Hypervisor 6 (wobei der Prozess im Allgemeinen als VMExit bezeichnet wird) aus. Der Hypervisor 6 prüft einen Verwendungsstatus der CAN-Steuereinheit 2012. Wenn festgestellt wird, dass die zweite virtuelle Maschine 8 die CAN-Steuereinheit 2012 nicht verwendet, ruft der Hypervisor 6 den CAN-Treiber 22 zum Zugreifen auf die CAN-Steuereinheit 2012 durch Festlegen der Kennung und der Daten als die Parameter auf. Wenn festgestellt wird, dass die zweite virtuelle Maschine 8 die CAN-Steuereinheit 2012 verwendet, speichert der Hypervisor 6 die Kennung und die Daten im Puffer, der im Hypervisor 6 vorgesehen ist, und geht in Bereitschaft, nimmt die Kennung und die Daten aus dem Puffer, nachdem die zweite virtuelle Maschine 8 die Verwendung der CAN-Steuereinheit 2012 abgeschlossen hat, und ruft dann den CAN-Treiber 22 durch Anfügen des herausgenommenen Parameters an den Aufruf auf.To access the CAN controller 2012, which is the shared peripheral device 201, the first control software application 10 uses the virtual CAN driver 21, the hypervisor 6 and a CAN driver 22. Specifically, the first control software calls Application 10 calls the virtual CAN driver 21 by setting an identifier assigned in accordance with a CAN message protocol and data to be sent to a CAN frame as parameters, the call being made as a peripheral access request . The virtual CAN driver 21 executes a process of changing a processing context of the CPU 1 from the first virtual machine 7 to the hypervisor 6 (the process is generally referred to as VMExit). The hypervisor 6 checks a usage status of the CAN controller 2012. If it is determined that the second virtual machine 8 is not using the CAN controller 2012, the hypervisor 6 calls the CAN driver 22 to access the CAN controller 2012 by setting the Identifier and data as the parameters. When it is determined that the second virtual machine 8 is using the CAN controller 2012, the hypervisor 6 stores the identifier and data in the buffer provided in the hypervisor 6 and stands by, taking the identifier and data from the buffer , after the second virtual machine 8 completes the use of the CAN controller 2012, and then calls the CAN driver 22 by appending the extracted parameter to the call.

Der CAN-Treiber 22 greift auf ein Register der CAN-Steuereinheit 2012 zu, speichert die Kennung und die Daten in einem CAN-Rahmen und sendet den CAN-Rahmen über einen CAN-Kommunikationsbus und sendet dann eine Antwort, die einen normalen Abschluss angibt, zurück zum Hypervisor 6. Nach Eingang der Antwort, die einen normalen Abschluss angibt, vom CAN-Treiber 22 führt der Hypervisor 6 einen Prozess des Änderns des Verarbeitungskontexts der CPU 1 vom Hypervisor 6 zur ersten virtuellen Maschine 7 aus (wobei der Prozess im Allgemeinen als VMEntry bezeichnet wird). Wenn Informationen, die einen normalen Abschluss angeben, vom Hypervisor 6 empfangen werden, sendet der virtuelle CAN-Treiber 21 eine Antwort, die einen normalen Abschluss angibt, zurück zur ersten Steuer-Software-Anwendung 10.The CAN driver 22 accesses a register of the CAN controller 2012, stores the identifier and data in a CAN frame, and sends the CAN frame over a CAN communication bus, and then sends a response indicating normal completion, back to the hypervisor 6. Upon receipt of the response indicating normal completion from the CAN driver 22, the hypervisor 6 executes a process of changing the processing context of the CPU 1 from the hypervisor 6 to the first virtual machine 7 (which process is generally referred to as VMEntry). When information indicating normal completion is received from the hypervisor 6, the virtual CAN driver 21 sends a response indicating normal completion back to the first control software application 10.

20 stellt ein CAN-Hauptbuch 57 der dritten Ausführungsform dar. 20 represents a CAN ledger 57 of the third embodiment.

<CAN-Hauptbuch 57><CAN ledger 57>

Das CAN-Hauptbuch 57, das im CAN-Treiber 22 gehalten wird, enthält Informationen über eine Nachrichtenkennung zum Identifizieren jedes CAN-Rahmens, über Dateninhalte, die die Inhalte von Daten darstellen, die im CAN-Rahmen enthalten sind, darüber, ob der CAN-Rahmen gesendet wird oder ob der CAN-Rahmen empfangen wird, und über eine Datenlänge im CAN-Rahmen. In dieser Ausführungsform werden CAN-Rahmen mit Kennungen im Bereich von 0 bis 2000 für herkömmliche Steuerprozesse verwendet und werden zum CAN-Kommunikationsbus gesendet oder von ihm empfangen. In einem CAN-Rahmen mit einer Nachrichtenkennung 9900 ist ein Satz einer Zustandsprüfzeit, eines Prozessziels und eines Registerwerts, der in den Peripheriezustandsaufzeichnungs-Informationen 54 angegeben ist, als 8 Byte-Daten gespeichert und werden Informationen darüber, ob der CAN-Rahmen, der gesendet wird, oder der CAN-Rahmen, der empfangen wird, als „Übertragung zur Überwachungseinheit“ eingegeben wird.The CAN ledger 57 held in the CAN driver 22 contains information about a message identifier for identifying each CAN frame, about data contents representing the contents of data contained in the CAN frame, about whether the CAN frame is sent or whether the CAN frame is received, and about a data length in the CAN frame. In this embodiment, CAN frames with identifiers in the range 0 to 2000 are used for conventional control processes and are sent to or received from the CAN communication bus. In a CAN frame with a message identifier 9900, a set of a status check time, a process destination and a register value specified in the peripheral status record information 54 is stored as 8 byte data and information about whether the CAN frame that is sent or the CAN frame that is received is entered as “Transmission to Monitoring Unit”.

<CAN-Treiber 22><CAN driver 22>

Der CAN-Treiber 22 betreibt ein Register der CAN-Steuereinheit 2012 gemäß Informationen, die in das CAN-Hauptbuch 57 eingegeben wurden. Speziell empfängt der CAN-Treiber 22 durch Betreiben des Registers der CAN-Steuereinheit 2012 8 Byte-Daten eines CAN-Rahmens mit einer Nachrichtenkennung 0 vom CAN-Kommunikationsbus als Fahrzeuggeschwindigkeit, sendet durch Betreiben des Registers der CAN-Steuereinheit 2012 8 Byte-Daten eines CAN-Rahmens mit einer Nachrichtenkennung 1 zum CAN-Kommunikationsbus als Kraftmaschinendrehzahl und sendet durch Betreiben des Registers der CAN-Steuereinheit 2012 8 Byte-Daten eines CAN-Rahmens mit einer Nachrichtenkennung 2 zum CAN-Kommunikationsbus als Drosselklappenöffnungsgrad.The CAN driver 22 operates a register of the CAN controller 2012 according to information entered into the CAN ledger 57. Specifically, the CAN driver 22 receives by operating the register of the CAN controller 2012 8 byte data of a CAN frame with a message identifier 0 from the CAN communication bus as a vehicle speed, sends by operating the register of the CAN controller 2012 8 byte data of a CAN frame with a message identifier 1 to the CAN communication bus as engine speed and sends 8 byte data of a CAN frame with a message identifier 2 to the CAN communication bus as throttle opening degree by operating the register of the CAN control unit 2012.

Hinsichtlich Daten eines CAN-Rahmens mit einer Nachrichtenkennung 9900, dessen Informationen darüber, ob gesendet oder empfangen werden als „Übertragung zur Überwachungseinheit“ in das CAN-Hauptbuch 57 eingegeben ist, betreibt der CAN-Treiber 22 nicht das Register der CAN-Steuereinheit 2012, sondern schreibt die Daten zu einem Speicherbereich, auf den das Hypervisor-Überwachungsprogramm 17 sich beziehen kann. Da er außerhalb der ersten virtuellen Maschine 7 und des Hypervisors 6 vorhanden ist, empfängt der CAN-Treiber 22 nicht den Bezug einer Begrenzung auf einen Bezugsraum in dem Speicherbereich, der durch den Hypervisor 6 angeordnet ist. Zusätzlich ermöglicht ein Verwenden eines Peripheriegeräts (eines digitalen Ausgangsanschlusses 2011), das zum Überwachen des Hypervisors 6 verwendet wird, und eines weiteren Peripheriegeräts (der CAN-Steuereinheit 2012) dem Hypervisor 6, die Peripheriezugriffsaufzeichnungs-Informationen 53 in dem Speicherbereich zu speichern, auf den das Hypervisor-Überwachungsprogramm 17 Bezug nehmen kann, wenn eine Anomalie während des Betriebs des digitalen Ausgangsanschlusses 2011 auftritt.With regard to data of a CAN frame with a message identifier 9900, the information about whether to be sent or received is entered into the CAN ledger 57 as "transmission to the monitoring unit", the CAN driver 22 does not operate the register of the CAN control unit 2012, but writes the data to a memory area that the hypervisor monitoring program 17 can refer to. Since it exists outside the first virtual machine 7 and the hypervisor 6, the CAN driver 22 does not receive the reference of a limit to a reference space in the memory area arranged by the hypervisor 6. In addition, using a peripheral device (a digital output port 2011) used for monitoring the hypervisor 6 and another peripheral device (the CAN controller 2012) enables the hypervisor 6 to store the peripheral access record information 53 in the memory area to which the hypervisor monitoring program 17 can refer if an anomaly occurs during the operation of the digital output port 2011.

Gemäß dieser Ausführungsform können selbst in einem Fall, in dem ein Zugriff von innerhalb der virtuellen Maschine, die durch den Hypervisor 6 konfiguriert ist, zur Außenseite der virtuellen Maschine verboten ist und folglich das Peripheriezugriffsanforderungs-Aufzeichnungsprogramm 19 die Peripheriezugriffsaufzeichnungs-Informationen 53 nicht zu dem Speicherbereich, auf den das Hypervisor-Überwachungsprogramm 17 sich beziehen kann, schreiben kann, die Peripheriezugriffsaufzeichnungs-Informationen 53 aus der ersten virtuellen Maschine 7 genommen und zu dem Speicherbereich, auf den das Hypervisor-Überwachungsprogramm 17 sich beziehen kann, geschrieben werden.According to this embodiment, even in a case where access from inside the virtual machine configured by the hypervisor 6 to the outside of the virtual machine is prohibited, and hence the peripheral access request recording program 19 cannot record the peripheral access recording information 53 to the memory area , to which the hypervisor monitor program 17 can refer, the peripheral access record information 53 is taken from the first virtual machine 7 and written to the memory area to which the hypervisor monitor program 17 can refer.

Vierte AusführungsformFourth embodiment

Eine elektronische Steuereinheit und ein Anomaliedetektionsverfahren gemäß einer vierten Ausführungsform der vorliegenden Erfindung wird beschrieben. Die vierte Ausführungsform ist von der zweiten Ausführungsform dahingehend verschieden, dass die elektronische Steuereinheit abgeschaltet wird, wenn ein Fehler des Hypervisors 6 bei einer Frequenz detektiert wird, die gleich oder größer als ein gegebener Wert ist. Dieselben Bestandteile wie die der zweiten Ausführungsform werden durch dieselben Bezugszeichen bezeichnet und werden in der weiteren Beschreibung ausgelassen.An electronic control unit and an abnormality detection method according to a fourth embodiment of the present invention will be described. The fourth embodiment is different from the second embodiment in that the electronic control unit is turned off when a failure of the hypervisor 6 is detected at a frequency equal to or greater than a given value. The same components as those of the second embodiment are denoted by the same reference numerals and will be omitted from further description.

21 stellt einen Überblick eines Prozessablaufs eines Überwachungsergebnisspeicherprogramms 20 der vierten Ausführungsform dar. 21 illustrates an overview of a process flow of a monitoring result storage program 20 of the fourth embodiment.

<Überwachungsergebnisspeicherprogramm 20><Monitoring result storage program 20>

Das Überwachungsergebnisspeicherprogramm 20 speichert die Peripheriezugriffsaufzeichnungs-Informationen 53, die Peripheriezustandsaufzeichnungs-Informationen 54 und die Peripheriebestimmungszustands-Informationen 55 in einem nichtflüchtigen Speicherbereich im Speicher 3 des Mikrocomputers 900, berechnet die Auftrittshäufigkeit von Anomalien im Hypervisor 6 und schaltet dann, wenn die berechnete Auftrittshäufigkeit von Anomalien gleich oder größer als ein gegebener Schwellenwert ist, die elektronische Steuereinheit 0 ab.The monitoring result storage program 20 stores the peripheral access record information 53, the peripheral state record information 54 and the peripheral determination state information 55 in a non-volatile memory area in the memory 3 of the microcomputer 900, calculates the occurrence frequency of anomalies in the hypervisor 6, and then switches when the calculated occurrence frequency of anomalies is equal to or greater than a given threshold value, the electronic control unit 0.

<Schritt S5><Step S5>

In Schritt S5 speichert das Überwachungsergebnisspeicherprogramm 20 die Peripheriezugriffsaufzeichnungs-Informationen 53, die Peripheriezustandsaufzeichnungs-Informationen 54 und die Peripheriebestimmungszustands-Informationen 55 im nichtflüchtigen Speicherbereich im Speicher 3 des Mikrocomputers 900.In step S5, the monitoring result storage program 20 stores the peripheral access record information 53, the peripheral state record information 54 and the peripheral determination state information 55 in the non-volatile memory area in the memory 3 of the microcomputer 900.

<Schritt S6><Step S6>

in Schritt S6 berechnet das Überwachungsergebnisspeicherprogramm 20 eine Zeit, zu der eine Anomalie im Hypervisor 6 aufgetreten ist. Weil es schwierig ist, die Zeit, zu der die Anomalie tatsächlich im Hypervisor 6 aufgetreten ist, von außerhalb des Hypervisors 6 festzulegen, wird eine Zeit, die in den Peripheriezustandsaufzeichnungs-Informationen 54 und den Peripheriebestimmungszustands-Informationen 55 angegeben ist, wobei die Zeit durch das Hypervisor-Überwachungsprogramm 17 als Grundlage zum Bestimmen des Auftretens einer Anomalie im Hypervisor 6 genommen wird, als die Zeit bestimmt, zu der die Anomalie im Hypervisor 6 aufgetreten ist. Speziell wird, wie in den Peripheriezustandsaufzeichnungs-Informationen 54 und den Peripheriebestimmungszustands-Informationen 55, die in 14 gezeigt sind, angegeben ist, die Zeit, zu der die Anomalie, die im Hypervisor 6 aufgetreten ist, als 00:32:10 berechnet. Das Überwachungsergebnisspeicherprogramm 20 speichert die berechnete Zeit, d. h. 00:32:10 in Hypervisoranomalieauftrittszeit-Informationen 58.In step S6, the monitoring result storage program 20 calculates a time at which an abnormality occurred in the hypervisor 6. Because it is difficult to determine the time at which the abnormality actually occurred in the hypervisor 6 from outside the hypervisor 6, a time indicated in the peripheral state record information 54 and the peripheral determination state information 55, the time by taking the hypervisor monitoring program 17 as a basis for determining the occurrence of an anomaly in the hypervisor 6, the time at which the anomaly occurred in the hypervisor 6 is determined. Specifically, as in the peripheral state recording information 54 and the peripheral determination state information 55 shown in 14 The time at which the anomaly occurred in the hypervisor 6 is calculated as 00:32:10. The monitoring result storage program 20 stores the calculated time, that is, 00:32:10 in hypervisor anomaly occurrence time information 58.

22 stellt ein Beispiel der Hypervisoranomalieauftrittszeit-Informationen 58 der vierten Ausführungsform dar. 22 illustrates an example of the hypervisor anomaly occurrence time information 58 of the fourth embodiment.

<Hypervisoranomalieauftrittszeit-Informationen 58><Hypervisor anomaly occurrence time information 58>

Die Hypervisoranomalieauftrittszeit-Informationen 58 speichert Informationen über eine Zeit, die in Schritt S6 des Überwachungsergebnisspeicherprogramms 20 der elektronischen Steuereinheit der vierten Ausführungsform berechnet wird.The hypervisor abnormality occurrence time information 58 stores information about a time calculated in step S6 of the monitoring result storage program 20 of the electronic control unit of the fourth embodiment.

<Hypervisoranomalieauftrittsfrequenz-Bedingung 59><Hypervisor anomaly occurrence frequency condition 59>

Ein Hypervisoranomalieauftrittsfrequenz-Bedingung 59 ist ein Bedingung zum Abschalten der elektronischen Steuereinheit 0. In dieser Ausführungsform legt diese Bedingung eine Anomalie des Hypervisors 6, die in einer Zeitspanne 10:00 zweimal detektiert wird, als eine Bedingung zur Abschaltung fest.A hypervisor abnormality occurrence frequency condition 59 is a condition for shutting down the electronic control unit 0. In this embodiment, this condition sets an abnormality of the hypervisor 6 detected twice in a period of 10:00 as a shutdown condition.

23 ist ein Diagramm, das einen Überblick eines Prozesses schematisch zeigt, der in Schritt S7 des Überwachungsergebnisspeicherprogramms 20 der vierten Ausführungsform ausgeführt wird. 23 is a diagram schematically showing an overview of a process executed in step S7 of the monitoring result storage program 20 of the fourth embodiment.

<Schritt S7><Step S7>

In Schritt S7 berechnet das Überwachungsergebnisspeicherprogramm 20 die Auftrittshäufigkeit von Anomalien im Hypervisor 6. Da die Hypervisoranomalieauftrittsfrequenz-Bedingung 59 die Auftrittshäufigkeit von Anomalien im Hypervisor 6 in der Zeitspanne 10:00 als eine Abschaltungsbedingung setzt, werden Aufzeichnungen einer Hypervisoranomalieauftrittszeit in der Zeitspanne 10:00, die sich von der jüngsten Anomalieauftrittszeit rückwärts erstreckt, gezählt. Dieser Prozess wird unter Bezugnahme auf 23 beschrieben. Beim Punkt 50:25 ist die jüngste Anomalieauftrittszeit 47:10 und ist die Auftrittsanzahl von Anomalien in der Zeitspanne 10:00, die sich von 47:10 rückwärts erstreckt, d. h. im Zeitraum zwischen 37:10 und 47:10, gemäß den Hypervisoranomalieauftrittszeit-Informationen 58 1 und wird deshalb die Frequenz in der Zeitspanne als 1 bestimmt. Beim Punkt 54:35 ist die jüngste Anomalieauftrittszeit 52:10 und ist die Auftrittsanzahl von Anomalien in der Zeitspanne 10:00, die sich von 52:10 rückwärts erstreckt, d. h. im Zeitraum zwischen 42:10 und 52:10 gemäß den Hypervisoranomalieauftrittszeit-Informationen 58 2 und wird deshalb die Frequenz in der Zeitspanne als 2 bestimmt.In step S7, the monitoring result storage program 20 calculates the occurrence frequency of anomalies in the hypervisor 6. Since the hypervisor anomaly occurrence frequency condition 59 sets the occurrence frequency of anomalies in the hypervisor 6 in the period 10:00 as a shutdown condition, records of a hypervisor anomaly occurrence time in the period 10:00, that extends backwards from the most recent anomaly occurrence time. This process is described with reference to 23 described. At point 50:25, the most recent anomaly occurrence time is 47:10 and is the occurrence number of anomalies in the 10:00 period extending backwards from 47:10, that is, in the period between 37:10 and 47:10, according to the hypervisor anomaly occurrence time Information 58 1 and therefore the frequency in the time period is determined as 1. At point 54:35, the most recent anomaly occurrence time is 52:10 and is the occurrence number of anomalies in the 10:00 period extending backwards from 52:10, that is, in the period between 42:10 and 52:10 according to the hypervisor anomaly occurrence time information 58 2 and therefore the frequency in the time period is determined as 2.

<Schritt S8><Step S8>

In Schritt S8 schreitet dann, wenn die Auftrittshäufigkeit von Anomalien, die in Schritt S7 bestimmt wird, gleich oder größer als eine Schwellenwertfrequenz ist, die durch den Hypervisoranomalieauftrittsfrequenz-Bedingung 59 definiert ist, das Überwachungsergebnisspeicherprogramm 20 fort zu Schritt S9. Andernfalls lässt das Überwachungsergebnisspeicherprogramm 20 einen Schritt S9 aus und beendet den Prozessablauf.In step S8, if the anomaly occurrence frequency determined in step S7 is equal to or greater than a threshold frequency defined by the hypervisor anomaly occurrence frequency condition 59, the monitoring result storage program 20 proceeds to step S9. Otherwise, the monitoring result storage program 20 skips a step S9 and ends the process flow.

<Schritt S9><Step S9>

In Schritt S9 gibt das Überwachungsergebnisspeicherprogramm 20 ein Rücksetzsignal aus dem Selbstrücksetzausgabeanschluss des Mikrocomputers 900 aus. Als Ergebnis stoppt die Stromversorgungsschaltung 901 ein Zuführen von Leistung zum Mikrocomputer 900, der die elektronische Steuereinheit 0 abschaltet. Die elektronische Steuereinheit 0 ist teilweise abgeschaltet oder vollständig abgeschaltet.In step S9, the monitoring result storage program 20 outputs a reset signal from the self-reset output terminal of the microcomputer 900. As a result, the power supply circuit 901 stops supplying power to the microcomputer 900, which turns off the electronic control unit 0. The electronic control unit 0 is partially switched off or completely switched off.

Gemäß dieser Ausführungsform wird, wenn die Detektionshäufigkeit von Anomalien im Hypervisor 6 niedrig ist, die elektronische Steuereinheit in Betrieb gehalten, um Einflüsse auf die elektronische Steuereinheit und ein Fahrzeug, in dem das elektronische Steuereinheit aufgenommen ist, zu verhindern. Andererseits wird, wenn die Detektionshäufigkeit von Anomalien im Hypervisor 6 hoch ist, die elektronische Steuereinheit abgeschaltet, um Einflüsse, die die Anomalien, die im Hypervisor 6 aufgetreten sind, auf die Sicherheit der elektronischen Steuereinheit und des Fahrzeugs, in das die elektronische Steuereinheit aufgenommen ist, ausüben, zu verringern. Daher kann sowohl die Benutzerfreundlichkeit als auch die Sicherheit sichergestellt werden.According to this embodiment, when the detection frequency of abnormalities in the hypervisor 6 is low, the electronic control unit is kept in operation to prevent influences on the electronic control unit and a vehicle in which the electronic control unit is accommodated. On the other hand, when the detection frequency of abnormalities in the hypervisor 6 is high, the electronic control unit is shut down to influence the anomalies that have occurred in the hypervisor 6 on the safety of the electronic control unit and the vehicle in which the electronic control unit is incorporated , exercise, reduce. Therefore, both usability and security can be ensured.

Die vorliegende Erfindung ist nicht auf die oben beschriebenen Ausführungsformen beschränkt und enthält verschiedene Abwandlungen und Konfigurationen, die den Ausführungsformen, die im Umfang der beigefügten Ansprüche sind, entsprechen. Zum Beispiel wurden die oben beschriebenen Ausführungsformen genau beschrieben, um das Verständnis der vorliegenden Erfindung zu erleichtern, und die vorliegende Erfindung ist nicht notwendigerweise auf eine Ausführungsform beschränkt, die alle Bestandteile enthält, die oben beschrieben sind. Gewisse Bestandteile einer bestimmten Ausführungsform können durch Bestandteile einer weiteren Ausführungsform ersetzt werden. Ein Bestandteil einer weiteren Ausführungsform kann zu einem Bestandteil einer bestimmten Ausführungsform hinzugefügt werden. Einige Bestandteile jeder Ausführungsform können entfernt werden oder zu Bestandteilen einer weiteren Ausführungsform hinzufügen oder durch sie ersetzt werden.The present invention is not limited to the embodiments described above and includes various modifications and configurations corresponding to the embodiments included within the scope of the appended claims. For example, the embodiments described above have been described in detail to facilitate understanding of the present invention, and the present invention is not necessarily limited to an embodiment containing all of the components described above. Certain components of a particular embodiment may be replaced by components of a further embodiment. A component of another embodiment may be added to a component of a particular embodiment. Some components of each embodiment may be removed or added to or replaced with components of another embodiment.

Einige oder alle der oben beschriebenen Bestandteile, Funktionen, Verarbeitungseinheiten, Prozessmittel und dergleichen können in Form von Hardware durch ihr Konfektionieren in einer integrierten Schaltung oder in Form einer Software, indem verursacht wird, dass ein Prozessor Programme interpretiert und ausführt, die jeweilige Funktionen implementieren, vorgesehen sein.Some or all of the components, functions, processing units, process means and the like described above may be in the form of hardware by packaging them in an integrated circuit or in the form of software by causing a processor to interpret and execute programs that implement respective functions. be provided.

Informationen zu Programmen, Tabellen, Dateien und dergleichen zum Implementieren verschiedener Funktionen können in einer Speichervorrichtung wie z. B. einem Speicher, einer Festplatte und einem Festkörperlaufwerk (SSD) oder in einem Aufzeichnungsmedium wie z. B. einer IC-Karte, einer SD-Karte und einem DVD gespeichert sein.Information about programs, tables, files and the like for implementing various functions can be stored in a storage device such as. B. a memory, a hard drive and a solid state drive (SSD) or in a recording medium such as. B. an IC card, an SD card and a DVD.

Eine Gruppe von Steuerleitungen und Datenleitungen, die zur Beschreibung nötig erachtet werden, ist veranschaulicht und es sind nicht notwendigerweise alle Steuerleitungen und Datenleitungen, die für die Konfiguration benötigt werden, veranschaulicht. Man kann davon ausgehen, dass tatsächlich nahezu alle Bestandteile verbunden sind.A group of control lines and data lines deemed necessary for description are illustrated, and not necessarily all control lines and data lines needed for configuration are illustrated. One can assume that almost all components are actually connected.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 202180743 [0001]JP 202180743 [0001]
  • JP 2019144785 A [0003]JP 2019144785 A [0003]
  • JP 2014106587 A [0003]JP 2014106587 A [0003]

Claims (8)

Elektronische Steuereinheit, die Folgendes umfasst: eine virtuelle Maschine, die auf einen ersten virtuellen Treiber zugreift, um einen Prozess auszuführen; einen Hypervisor, der einen ersten realen Treiber eines ersten Peripheriegeräts auf der Grundlage einer Peripheriezugriffsanforderung, die vom ersten virtuellen Treiber empfangen wurde, aufruft; eine Zugriffsaufzeichnungseinheit, die den ersten virtuellen Treiber aufruft, um eine Peripheriezugriffsanforderung, die zum Hypervisor gesendet wurde, aufzuzeichnen; eine Zustandsaufzeichnungseinheit, die den ersten realen Treiber aufruft, um einen Zustand eines Registers des ersten Peripheriegeräts aufzuzeichnen; und eine Überwachungseinheit, die einen Betrieb des Hypervisors überwacht, wobei die Überwachungseinheit eine Anomalie des Hypervisors auf der Grundlage einer Aufzeichnung durch die Zugriffsaufzeichnungseinheit und einer Aufzeichnung durch die Zustandsaufzeichnungseinheit bestimmt.Electronic control unit, which includes: a virtual machine accessing a first virtual driver to execute a process; a hypervisor that invokes a first real driver of a first peripheral device based on a peripheral access request received from the first virtual driver; an access recording unit that calls the first virtual driver to record a peripheral access request sent to the hypervisor; a state recording unit that calls the first real driver to record a state of a register of the first peripheral device; and a monitoring unit that monitors operation of the hypervisor, wherein the monitoring unit determines an anomaly of the hypervisor based on a recording by the access recording unit and a recording by the state recording unit. Elektronische Steuereinheit nach Anspruch 1, wobei dann, wenn eine Aufzeichnung durch die Zugriffsaufzeichnungseinheit und eine Aufzeichnung durch die Zustandsaufzeichnungseinheit nicht übereinstimmen, die Überwachungseinheit bestimmt, dass der Hypervisor in einem anomalen Zustand ist.Electronic control unit Claim 1 , wherein when a recording by the access recording unit and a recording by the state recording unit do not match, the monitoring unit determines that the hypervisor is in an abnormal state. Elektronische Steuereinheit nach Anspruch 2, wobei die Zustandsaufzeichnungseinheit einen Zustand des Registers in einem gegebenen Zeitablauf wiederholt erfasst.Electronic control unit Claim 2 , wherein the state recording unit repeatedly records a state of the register in a given period of time. Elektronische Steuereinheit nach Anspruch 2, wobei die Überwachungseinheit bestimmt, dass der Hypervisor in einem anomalen Zustand ist, wenn eine Aufzeichnung einer Zugriffsanforderung in der Zugriffsaufzeichnungseinheit vorhanden ist, eine Aufzeichnung eines Prozessergebnisses des realen Treibers, das als eine Antwort, die einen normalen Abschluss angibt, zum virtuellen Treiber zurückgesendet worden ist, vorhanden ist, und sich ein Zustand eines Registers der Zustandsaufzeichnungseinheit nicht ändert.Electronic control unit Claim 2 , wherein the monitoring unit determines that the hypervisor is in an abnormal state when there is a record of an access request in the access recording unit, a record of a process result of the real driver that has been sent back to the virtual driver as a response indicating normal completion is, is present, and a state of a register of the state recording unit does not change. Elektronische Steuereinheit nach Anspruch 1, die eine Überwachungsergebnisspeichereinheit umfasst, die, wenn die Überwachungseinheit eine Anomalie bestimmt, eine Aufzeichnung durch die Zugriffsaufzeichnungseinheit und eine Aufzeichnung durch die Zustandsaufzeichnungseinheit in einem nichtflüchtigen Speicher speichert.Electronic control unit Claim 1 , which includes a monitoring result storage unit that, when the monitoring unit determines an anomaly, stores a record by the access recording unit and a record by the state recording unit in a non-volatile memory. Elektronische Steuereinheit nach Anspruch 5, wobei dann, wenn eine Frequenz des Bestimmens, dass der Hypervisor in einem anomalen Zustand ist, gleich oder größer als ein gegebener Schwellenwert ist, die Überwachungsergebnisspeichereinheit die elektronische Steuereinheit teilweise oder vollständig zu einem Stopp bringt.Electronic control unit Claim 5 , wherein when a frequency of determining that the hypervisor is in an abnormal state is equal to or greater than a given threshold, the monitoring result storage unit partially or completely brings the electronic control unit to a stop. Elektronische Steuereinheit nach Anspruch 1, die Folgendes umfasst: ein zweites Peripheriegerät, das vom ersten Peripheriegerät verschieden ist; und einen zweiten realen Treiber zum Betreiben des zweiten Peripheriegeräts, wobei das zweite Peripheriegerät auf einen Befehl vom zweiten realen Treiber folgend eine Aufzeichnung durch die Zugriffsaufzeichnungseinheit zu außerhalb der virtuellen Maschine ausgibt und die Überwachungseinheit sich auf die Aufzeichnung durch die Zugriffsaufzeichnungseinheit bezieht, wobei die Aufzeichnung zur Außenseite der virtuellen Maschine ausgegeben wird.Electronic control unit Claim 1 , comprising: a second peripheral device different from the first peripheral device; and a second real driver for operating the second peripheral device, the second peripheral device following a command from the second real driver outputting a recording by the access recording unit to outside the virtual machine and the monitoring unit relating to the recording by the access recording unit, the recording being sent to outside of the virtual machine. Anomaliebestimmungsverfahren für einen Hypervisor, der in einer elektronischen Steuereinheit arbeitet, wobei die elektronische Steuereinheit Folgendes enthält: eine virtuelle Maschine, die auf einen ersten virtuellen Treiber zugreift, um einen Prozess auszuführen; den Hypervisor, der einen ersten realen Treiber eines ersten Peripheriegeräts auf der Grundlage einer Peripheriezugriffsanforderung, die vom ersten virtuellen Treiber empfangen wurde, aufruft; eine Zugriffsaufzeichnungseinheit, die den ersten virtuellen Treiber aufruft, um eine Peripheriezugriffsanforderung, die zum Hypervisor gesendet wurde, aufzuzeichnen; eine Zustandsaufzeichnungseinheit, die den ersten realen Treiber aufruft, um einen Zustand eines Registers des ersten Peripheriegeräts aufzuzeichnen; und eine Überwachungseinheit, die einen Betrieb des Hypervisors überwacht, und das Anomaliebestimmungsverfahren Folgendes umfasst: Verursachen, dass die Zustandsaufzeichnungseinheit den ersten realen Treiber aufruft und einen Zustand eines Registers des ersten Peripheriegeräts aufzeichnet; und Verursachen, dass die Überwachungseinheit auf der Grundlage einer Aufzeichnung durch die Zugriffsaufzeichnungseinheit und einer Aufzeichnung durch die Zustandsaufzeichnungseinheit eine Anomalie des Hypervisors bestimmt.Anomaly determination method for a hypervisor operating in an electronic control unit, the electronic control unit including: a virtual machine accessing a first virtual driver to execute a process; the hypervisor invoking a first real driver of a first peripheral device based on a peripheral access request received from the first virtual driver; an access recording unit that calls the first virtual driver to record a peripheral access request sent to the hypervisor; a state recording unit that calls the first real driver to record a state of a register of the first peripheral device; and a monitoring unit that monitors operation of the hypervisor, and the anomaly determination method includes: causing the state recording unit to invoke the first real driver and record a state of a register of the first peripheral device; and Cause the monitoring unit to determine an anomaly of the hypervisor based on a recording by the access recording unit and a recording by the state recording unit.
DE112022001480.6T 2021-05-12 2022-02-04 ELECTRONIC CONTROL UNIT AND ANOMALY DETERMINATION METHOD Pending DE112022001480T5 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021080743A JP2022174784A (en) 2021-05-12 2021-05-12 Electronic control apparatus and abnormality determination method
JP2021-080743 2021-05-12
PCT/JP2022/004527 WO2022239331A1 (en) 2021-05-12 2022-02-04 Electronic controller and abnormality determination method

Publications (1)

Publication Number Publication Date
DE112022001480T5 true DE112022001480T5 (en) 2024-01-11

Family

ID=84029069

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022001480.6T Pending DE112022001480T5 (en) 2021-05-12 2022-02-04 ELECTRONIC CONTROL UNIT AND ANOMALY DETERMINATION METHOD

Country Status (4)

Country Link
US (1) US20240241747A1 (en)
JP (1) JP2022174784A (en)
DE (1) DE112022001480T5 (en)
WO (1) WO2022239331A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106587A (en) 2012-11-26 2014-06-09 Hitachi Ltd Control method for i/o device and virtual computer system
JP2019144785A (en) 2018-02-20 2019-08-29 富士通株式会社 Monitoring program, monitoring apparatus and monitoring method
JP2021080743A (en) 2019-11-19 2021-05-27 鹿島道路株式会社 Recycled asphalt mixture manufacturing system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268687A (en) * 2005-03-25 2006-10-05 Mitsubishi Electric Corp Computer virus monitoring program and computer terminal employing the same
JP2010122736A (en) * 2008-11-17 2010-06-03 Ricoh Co Ltd Serial communication apparatus, and image forming apparatus with the same
JP6171430B2 (en) * 2013-03-15 2017-08-02 日本電気株式会社 Computer apparatus, method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106587A (en) 2012-11-26 2014-06-09 Hitachi Ltd Control method for i/o device and virtual computer system
JP2019144785A (en) 2018-02-20 2019-08-29 富士通株式会社 Monitoring program, monitoring apparatus and monitoring method
JP2021080743A (en) 2019-11-19 2021-05-27 鹿島道路株式会社 Recycled asphalt mixture manufacturing system and method

Also Published As

Publication number Publication date
JP2022174784A (en) 2022-11-25
WO2022239331A1 (en) 2022-11-17
US20240241747A1 (en) 2024-07-18

Similar Documents

Publication Publication Date Title
DE68924119T2 (en) Method and device for restarting after a fault in a digital computer system.
DE2210325C3 (en) Data processing device
EP2466466B1 (en) Method for detecting errors when executing a real-time operating system
DE2611907A1 (en) IT SYSTEM WITH A PRIORITY INTERRUPTION ARRANGEMENT
DE112007001714T5 (en) Virtualize Performance Counters
DE10225664A1 (en) System and method for checking polling events with polling wrappers
DE102014108249A1 (en) Implement advanced error handling for a shared adapter in a virtualized system
DE112006002908T5 (en) Technique for the communication and synchronization of threads
DE102013014172A1 (en) PROTECTION GLOBAL REGISTER IN A MULTITHREADED PROCESSOR
DE68922440T2 (en) Device and method for simultaneously submitting fault interruption and fault data to a support processor.
DE69815006T2 (en) Data processing unit with troubleshooting options
DE68924992T2 (en) Symmetrical control arrangement for multi-processing.
DE112012003420B4 (en) Vehicle control device and vehicle control system
DE102009004726A1 (en) Systems and methods for tracking instruction pointers and data access
DE19955776C1 (en) Multitasking processor system
DE112018007428T5 (en) DEVICE FOR INFORMATION PROCESSING, TUNING PROCEDURES AND TUNING PROGRAM
DE2611975A1 (en) IT SYSTEM WITH A DEVICE FOR THE ASSIGNMENT OF PROCESSES TO A PROCESSOR ON A PRIORITY BASIS
DE102017123812A1 (en) control device
DE102011011333A1 (en) Read into peripheral devices and write from peripherals with time-separated, redundant processor execution
DE69022773T2 (en) Data processing equipment.
DE10392810T5 (en) System and method for filtering processors for integrity during early firmware for a split-partition architecture
DE112022001480T5 (en) ELECTRONIC CONTROL UNIT AND ANOMALY DETERMINATION METHOD
EP1870787B1 (en) Method for monitoring a cyclic control program
EP3566398A1 (en) Method and semiconductor circuit for protecting an operating system of a security system of a vehicle
EP1283471B1 (en) Program controlled unit

Legal Events

Date Code Title Description
R012 Request for examination validly filed