DE112006000016T5 - Informationsterminal, Computerressourcen-Verwaltungsverfahren sowie Schaltverfahren für die Ausführungsprozedur einer virtuellen Maschine - Google Patents

Informationsterminal, Computerressourcen-Verwaltungsverfahren sowie Schaltverfahren für die Ausführungsprozedur einer virtuellen Maschine Download PDF

Info

Publication number
DE112006000016T5
DE112006000016T5 DE112006000016T DE112006000016T DE112006000016T5 DE 112006000016 T5 DE112006000016 T5 DE 112006000016T5 DE 112006000016 T DE112006000016 T DE 112006000016T DE 112006000016 T DE112006000016 T DE 112006000016T DE 112006000016 T5 DE112006000016 T5 DE 112006000016T5
Authority
DE
Germany
Prior art keywords
virtual machine
resource
intermediate code
count
limit
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.)
Withdrawn
Application number
DE112006000016T
Other languages
English (en)
Inventor
Shinichiro Kawasaki Kawasaki
Kiyoshi Kawasaki Ikehara
Masaki Kawasaki Nakano
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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Xanavi Informatics Corp
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 Xanavi Informatics Corp filed Critical Xanavi Informatics Corp
Publication of DE112006000016T5 publication Critical patent/DE112006000016T5/de
Withdrawn legal-status Critical Current

Links

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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

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

Abstract

Informationsterminal mit:
einer virtuellen Maschine, die, in einem OS (Betriebssystem) ein Zwischencodeprogramm ausführt, bei dem es sich um ein durch einen Zwischencode repräsentiertes Programm handelt;
einer Ressourcengrenzwert-Speichereinrichtung, die einen Grenzwert für eine durch die virtuelle Maschine verwendbaren Computerressource speichert; und
einer Ressourcenverwaltungseinrichtung, in der, wenn von der virtuellen Maschine eine Anfrage zum Bereitstellen einer Ressource empfangen wird, auf den in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Grenzwert Bezug genommen wird; wobei
wenn die Computerressource, die dadurch für die virtuelle Maschine verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, niedriger als der Grenzwert liegt, das OS dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen; und
wenn die Computerressource, die für die virtuelle Maschine dadurch verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, dem Grenzwert entspricht oder höher liegt, das OS nicht dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Informationsterminal, das auf einer virtuellen Maschine ein Zwischencodeprogramm ausführt.
  • Hintergrundbildende Technik
  • Derzeit wird eine große Anzahl eingebauter Informationsterminals weitverbreiteten Anwendungen zugeführt. Beispielsweise existiert ein an einem Fahrzeug wie einem Auto angebrachtes Informationsterminal. Ein derartiges Informationsterminal ist mit einem sogenannten Autonavigator versehen, der die Bewegung an ein Ziel dadurch unterstützt, dass ein Anzeigen einer Karte und/oder einer Sprachleitung verwendet wird.
  • In jüngerer Zeit werden Fahrzeug-Informationsterminals zunehmend multifunktionell, und es existieren Terminals mit Funktionen wie dem Anschauen von Videos und dem Anhören von Musik, dem Anzeigen des Fahrzeugzustands und dem Steuern des Fahrzeugs, zusätzlich zur Navigationsfunktion. Um ein derartiges zunehmendes und sich erweiterndes Funktionsvermögen unmittelbar zu unterstützen, wird nun die Anwendung von Zwischencodetechniken bei Fahrzeug-Informationsterminals entwickelt. Der so entwickelte Zwischencode ermöglicht die Ausführung eines einzelnen Programms in mehreren Typen von Informationsterminals, von denen jedes über ein anderes OS und eine andere Bedieneinheit verfügt. Daher kann die Herstellung von Fahrzeug-Informationsterminals und die Erzeugung eines für diese konzipierten Zwischencodeprogramme durch verschiedene Hersteller getrennt ausgeführt werden, was die Produktivität verbessert.
  • Da jedoch beim Anwenden der Zwischencodetechnik ein Zwischenprogramm extern erhalten wird, existiert ein Problem dahingehend, dass es nicht möglich ist, vorab den Umfang erforderlicher Computerressourcen zu kennen. Daher wird die Verwaltung der Computerressourcen schwierig. Wenn ein Zwischencodeprogramm mit einem durch eine Person mit schlechten Absichten erzeugten Zwischencode oder ein einen Fehler enthaltendes Zwischenprogramm ausgeführt wird, kann es unbegrenzt Dateien und Speicher aufbrauchen, mit dem Ergebnis, dass es die Bereitstellung von Ressourcen durch andere Programme stören kann oder die Eigenschaften eines schnellen Ansprechverhaltens des gesamten Systems beeinträchtigen kann.
  • Als Technik zum Vermeiden der obigen Situation offenbart das Patentdokument 1 eine Technik, bei der ein Überwachungsprozess (Task) ausgeführt wird, um periodisch die Ressourcennutzung jedes Prozesses zu prüfen, wobei eine Mitteilung an eine Überwachungsvorrichtung erfolgt und der Prozess entsprechend dem Nutzungsumfang aufgehoben, unterbrochen oder wiederaufgenommen wird.
  • Um ein weiteres Wachstum und eine Funktionserweiterung von Fahrzeug-Informationsterminals zu unterstützen, besteht zunehmender Bedarf an mehreren virtuellen Maschinen, die dafür sorgen, dass gleichzeitig auszuführende Zwischencodeprogramme abgearbeitet werden. Beispielsweise existiert ein Fall, bei dem ein Zwischenprogramm zum Steuern einer Klimaanlage und ein Zwischenprogramm zum Wiedergeben von Musik gleichzeitig ausgeführt werden. Jedoch können gleichzeitige Ausführungsprozeduren durch mehrere virtuelle Maschinen zu einem Problem wie einer Zunahme der im Gebrauch befindlichen Ressourcen und einem Konflikt hinsichtlich Computerressourcen führen. Die in Gebrauch befindlichen Ressourcen müssen nicht nur Speicherplatz und Ausgabevorrichtungen sein, sondern auch CPU-Zuordnungszeit und dergleichen.
  • Wenn Ausführungsprozeduren für mehrere virtuelle Maschinen laufen, werden in vielen Fällen die mehreren virtuellen Maschinen, die arbeiten sollen, normalerweise in kurzen Intervallen umgeschaltet, als würden mehrere Prozesse gleichzeitig ausgeführt. Eine derartige Verarbeitung, wie sie oben beschrieben ist, kann beispielsweise dadurch realisiert werden, dass jeder der mehreren Prozesse in vorbestimmte Intervalle unterteilt wird, und mit jedem so erhaltenen vorbestimmten Intervall mehrere Prozesse gegeneinander umgeschaltet werden.
  • [Patentdokument 1]
    • Japanische Patentoffenlegungsveröffentlichung Nr. 7-311688
  • Offenbarung der Erfindung
  • Durch die Erfindung zu lösende Probleme
  • Die im Patentdokument 1 offenbarte Technik ist mit einem Computerressourcen nutzenden Ressourcenverwendungsprozess und einem Überwachungsprozess versehen, der den durch den Ressourcenverwendungsprozess verwendeten Ressourcenumfang separat überwacht, wobei, nachdem der Ressourcenverwendungsprozess Computerressourcen bereitgestellt hat, der Überwachungsprozess über diese Bereitstellung informiert wird. Daher besteht abhängig vom Umfang der durch den Ressourcenverwendungsprozess bereitgestellten Computerressourcen die Möglichkeit, dass das gesamte System zusammenbricht, wenn die Bereitstellung der Computerressourcen ausgeführt wird.
  • Einige Betriebssystem(OS)typen, wie sie bei eingebauten Anlagen verwendet werden, verfügen u. U. über keinen Mechanismus, bei dem mehrere Prozesse, die jeweils in vorbestimmte Intervalle unterteilt sind, mit jedem vorbestimmten Intervall umgeschaltet werden. Beispielsweise existiert ein OS-Typ mit einem Mechanismus, bei dem, während ein erster Prozess mit Priorität ausgeführt wird, andere Prozesse mit niedriger Priorität nicht ausgeführt werden können, bevor nicht der erste Prozess abgeschlossen ist. Wenn in einem solchen Fall das OS zwei Prozesse mit derselben Priorität ausführen soll, besteht die Möglichkeit, dass nur einer derselben sicher ausgeführt wird.
  • Die Erfindung wurde angesichts der obigen Probleme geschaffen, und es ist eine Aufgabe derselben, Computerressourcen, die durch eine virtuelle Maschine bereitgestellt werden, so zu kontrollieren, dass sie innerhalb eines Grenzwerts derjenigen Computerressourcen verbleiben, die der virtuellen Maschine zugeordnet sind. Eine andere Aufgabe der Erfindung ist es, die Ausführungsprozeduren mehrerer virtueller Maschinen geeignet auszuführen.
  • Maßnahmen zum Lösen des Problems
  • Um die obigen Probleme zu lösen, fordert, wenn von einer virtuellen Maschine eine Anfrage zum Bereitstellen einer Computerressource erfolgt, ein Informationsterminal gemäß einer ersten Erscheinungsform der Erfindung ein OS dazu auf, auf die Anfrage hin die Computerressource bereitzustellen, wenn der angeforderte Umfang niedriger als ein Grenzwert der der virtuellen Maschine zugeordneten Computerressource ist.
  • Ferner ist gemäß der ersten Erscheinungsform der Erfindung ein Informationsterminal geschaffen, das beispielsweise mit Folgendem versehen ist: einer virtuellen Maschine, die in einem OS ein Zwischencodeprogramm ausführt, bei dem es sich um ein durch ei nen Zwischencode repräsentiertes Programm handelt; einer Ressourcengrenzwert-Speichereinrichtung, die einen Grenzwert für eine durch die virtuelle Maschine verwendbaren Computerressource speichert; und einer Ressourcenverwaltungseinrichtung, in der, wenn von der virtuellen Maschine eine Anfrage zum Bereitstellen einer Ressource empfangen wird, auf den in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Grenzwert Bezug genommen wird; wobei wenn die Computerressource, die dadurch für die virtuelle Maschine verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, niedriger als der Grenzwert ist, das OS dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen; und wenn die Computerressource, die für die virtuelle Maschine dadurch verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, dem Grenzwert entspricht oder höher ist, das OS nicht dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen.
  • Ein Informationsterminal gemäß einer zweiten Erscheinungsform der Erfindung prüft, mit vorbestimmten Intervallen, einen kontinuierlich ausgewählten Zählwert der zuvor ausgewählten virtuellen Maschine, und wenn der kontinuierlich ausgewählte Zählwert dem Grenzwert entspricht, oder wenn sich die virtuelle Maschine in einem Bereitschaftszustand befindet, wählt das Informationsterminal eine andere virtuelle Maschine aus und weist das OS dazu an, die Ausführungsprozedur der so ausgewählten virtuellen Maschine abzuarbeiten.
  • Durch die zweite Erscheinungsform der Erfindung ist ein Informationsterminal geschaffen, das beispielsweise mit Folgendem versehen ist: mehreren virtuellen Maschinen, von denen jede, in einem OS, ein Zwischencodeprogramm ausführt, das ein durch einen Zwischencode repräsentiertes Programm ist; einer Ressourcengrenzwert-Speichereinrichtung, in der kontinuierlich auswählbare Zählwerte, von denen jeder der maximal auswählbare Zählwert hinsichtlich jeder der mehreren virtuellen Maschinen ist, so ab gespeichert sind, dass sie jeweils den mehreren virtuellen Maschinen zugeordnet sind; und einer Virtuelle-Maschine-Schalteinrichtung, die jede der mehreren virtuellen Maschinen auf Grundlage der kontinuierlich auswählbaren, in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Zählwerte schaltet und ausführt; wobei sie mit vorbestimmten Intervallen ermittelt, ob sich die aktuell ausgewählte virtuelle Maschine in einem Bereitschaftszustand befindet oder nicht, und wenn sie sich im Bereitschaftszustand befindet, eine virtuelle Maschine auswählt, die von der aktuell ausgewählten virtuellen Maschine verschieden ist, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch einen kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; wenn sich die aktuell ausgewählte virtuelle Maschine in Ausführung befindet, auf den kontinuierlich auswählbaren, in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Zählwert Bezug nimmt und dann, wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine dem ihr zugeordneten kontinuierlich auswählbaren Zählwert entspricht, eine virtuelle Maschine auswählt, die von der aktuell ausgewählten virtuellen Maschine verschieden ist, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; und wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine niedriger als der ihr zugeordnete kontinuierlich auswählbare Zählwert ist, erneut die aktuell ausgewählte virtuelle Maschine auswählt, das OS dazu anweist, die wieder ausgewählte virtuelle Maschine auszuführen, und sie den kontinuierlich ausgewählten Zählwert der wieder ausgewählten virtuellen Maschine um Eins inkrementiert.
  • Wirkung der Erfindung
  • Durch das Informationsterminal gemäß der Erfindung ist es gewährleistet, dass die durch die virtuelle Maschine bereitgestellte Computerressource so kontrolliert wird, dass sie innerhalb eines Grenzwerts der der virtuellen Maschine zugeordneten Computerressourcen liegt. Beim Fahrzeug-Informationsterminal gemäß der Erfindung ist es möglich, die Ausführungsprozeduren mehrerer virtueller Maschinen geeignet auszuführen.
  • Bevorzugte Ausführungsformen der Erfindung
  • Nachfolgend werden bevorzugte Ausführungsformen der Erfindung erläutert.
  • Die 1 zeigt eine Konfiguration eines Fahrzeug-Kommunikationssystems 10 betreffend eine Ausführungsform der Erfindung. Das Fahrzeug-Kommunikationssystem 10 ist an einem sich bewegenden Objekt wie einem Fahrzeug angebracht, und es ist mit einem Fahrzeugterminal 101 versehen. Das Fahrzeugterminal 101 ist über ein internes Netzwerk 121 mit einer Klimaanlagensteuerung 111, einem Fahrzustandsmonitor 112, einem Bremszustandsmonitor 113 und dergleichen verbunden. Das Fahrzeugterminal 101 erhält von der obigen Anlage den Fahrzeugzustand, und es steuert die Klimaanlage und dergleichen. Das Fahrzeugterminal 101 führt mit einer durch eine im Fahrzeug befindliche Person bediente Fernsteuerung 114 eine leitungsgebundene oder drahtlose Kommunikation aus. Die Person im Fahrzeug bedient das Fahrzeugterminal 101 mittels der Fernsteuerung 114.
  • Das Fahrzeugterminal 101 führt mit einem Zwischencodeprogramm-Verwaltungsserver 116 über ein tragbares Kommunikationsterminal 115 und ein externes Netzwerk 122 wie das Internet und ein Funktelefonnetz Kommunikationsvorgänge aus. Bei der vorliegenden Ausführungsform kann das tragbare Kommunikationsterminal 115 ein Funk-Kommunikationsgerät wie ein Mobiltelefon und ein PDA sein, das außerhalb des Fahrzeugterminals 101 installiert ist. Als alternatives Beispiel kann das Fahrzeugterminal 101 über Funktionen wie das tragbare Kommunikationsterminal 115 verfügen.
  • Der Zwischencodeprogramm-Verwaltungsserver 116 versorgt das Fahrzeugterminal 101 über das externe Netzwerk 122 und das tragbare Kommunikationsterminal 115 mit einem Programm und dergleichen, das in ihm abzuarbeiten ist. Ferner erhält der Zwischencodeprogramm-Verwaltungsserver 116 vom Fahrzeugterminal 101 einen Fehler im an es gelieferten Programm, und es liefert Information zur jüngsten Version des Zwischencodeprogramms, das bereits in ihm installiert wurde.
  • Als Nächstes wird das Fahrzeugterminal 101 detailliert erläutert. Das Fahrzeugterminal 101 verfügt über eine Primärspeichereinheit 102, eine Sekundärspeichereinheit 103, eine CPU 104, eine Anzeigeeinheit 105, eine Tonausgabeeinheit 106, eine interne Kommunikationseinheit 107, eine Fernsteuerungs-Kommunikationseinheit 108 und eine externe Kommunikationseinheit 109.
  • Die Sekundärspeichereinheit 103 verfügt über eine Funktion zum Aufrechterhalten aufgezeichneter Daten selbst dann, wenn die Spannungsversorgung abgeschaltet wird, und sie speichert ein Programm und Daten, die vom Programm zu verwenden sind, Einstellinformation für das Programm und dergleichen. Die Sekundärspeichereinheit 103 verfügt über eine Grundprogrammgruppe 151, eine Zwischencodeprogrammgruppe 152, eine Dateigruppe 153, Ressourcengrenzdaten 154, einen Ressourcenverletzungsverlauf 155 sowie die Prozesseinstellung 156 beim Auftreten einer Verletzung. Die CPU 104 lädt das Programm und dergleichen, wie sie in der Sekundärspeichereinheit 103 abgespeichert sind, zu einem vorbestimmten Zeitpunkt, wie dem Einschalten der Spannung im Fahrzeugterminal 101, in die Primärspeichereinheit 102, und sie führt das geladene Programm aus.
  • Die Anzeigeeinheit 105 und die Tonausgabeeinheit 106 versorgen eine Person im Fahrzeug unter Verwendung von Bildern bzw. Schall mit Information. Die Fernsteuerungs-Kommunikationseinheit 108 erhält über die Fernsteuerung 114 von der Person im Fahrzeug Bedienungsinformation. Ein Benutzer des Fahrzeugterminals 101 gibt über die Fernsteuerung 114 Information in es ein, und er empfängt über die Anzeigeeinheit 105 und die Tonausgabeeinheit 106 Information von ihm. Für eine Informations-Eingabe/Ausgabe-Vorrichtung besteht keine Einschränkung auf die hier dargestellten, und es können andere Vorrichtungen verwendet werden. Beispielsweise kann Information unter Verwendung einer Taste und eines Bedientabletts, die im Fahrzeugterminal 101 installiert sind, eingegeben werden. Die interne Kommunikationseinheit 107 ist für das Ausführen von Kommunikationsvorgängen mit der Klimaanlagensteuerung 111 und dergleichen über das interne Netzwerk 121 zuständig. Die externe Kommunikationseinheit 109 ist für das Ausführen von Kommunikationsvorgängen mit dem Zwischencodeprogramm-Verwaltungsserver 116 und dergleichen über das tragbare Kommunikationsterminal 115 und einen Fahrzustandsmonitor 112 zuständig.
  • In die Primärspeichereinheit 102 werden mehrere Tasks und ein Betriebssystem 143 (nachfolgend als "OS 143" bezeichnet) geladen. Diese mehreren Tasks werden unter der Verwaltung durch das OS 143 parallel ausgeführt. Diese Tasks und das OS 143 sind in der in der Sekundärspeichereinheit 103 abgespeicherten Grundprogrammgruppe 151 enthalten.
  • Jede der mehreren virtuellen Maschinen (virtuelle Maschine 1a1, 1b1), deren Ausführungsprozeduren in der Primärspeichereinheit 102 ausgeführt werden, verfügt über mindestens einen Task für eine virtuelle Maschine. Jede der Tasks für eine virtuelle Maschine unterscheidet sich vom durch das OS 143 verwalteten Task.
  • Jeder der Tasks für eine virtuelle Maschine wird einem der durch das OS 143 verwalteten Task zugeordnet, und der Task für eine virtuelle Maschine wird über den so zugeordneten Task durch das OS 143 ausgeführt.
  • Beim vorliegenden Beispiel wird jeder der Tasks für eine virtuelle Maschine irgendeinem der durch das OS 143 verwalteten Tasks zugeordnet. Jedoch ist, als alternatives Beispiel, eine Konfiguration wie eine solche möglich, bei der die durch das OS 143 verwalteten Tasks einer virtuellen Maschine zugeordnet werden und der Task für eine virtuelle Maschine, der über den zugeordneten Task ausgeführt wird, innerhalb der virtuellen Maschine umgeschaltet wird, um dadurch jeden Task einer virtuellen Maschine auszuführen.
  • In die Primärspeichereinheit 102 werden ein Virtuelle-Maschine-Verwaltungstask 131, andere Tasks 142 und dergleichen geladen, und das OS 143 verwaltet diese Tasks und führt sie aus. Ferner nutzt das OS 143 eine interne Ablaufsteuerungsfunktion zum Ausführen aller Tasks auf parallele Weise, und es vermittelt den Austausch zwischen anderen Vorrichtungen außerhalb des Fahrzeugterminals 101 und jedem Task in diesem.
  • Eine Liste 140 von auf Sicherheit getesteten Zwischencodes speichert Information betreffend ein Zwischencodeprogramm, das entsprechend dem folgenden Prozess einem Sicherheitstest unterworfen wurde. Auf die Liste 140 von auf Sicherheit getesteten Zwischencodes wird durch mehrere virtuelle Maschinen (virtuelle Maschine 1a1, virtuelle Maschine 1b1) Bezug genommen.
  • Die Zwischencodeprogrammgruppe 152 speichert Codestrings des Zwischencodeprogramms, Einstellinformation des Programms und dergleichen. Das in der Zwischencodeprogrammgruppe 152 gespeicherte Zwischencodeprogramm kann vorab beim Herstellen des Fahrzeugterminals 101 abgespeichert werden, oder es kann in diesem abgespeichert werden, nachdem es über das externe Netzwerk 122 und das tragbare Kommunikationsterminal 115 vom Zwischenprogramm-Verwaltungsserver 116 erhalten wurde.
  • Sowohl die virtuelle Maschine 1a1 als auch die virtuelle Maschine 1b1 liest die Zwischencodestrings und dergleichen unter Verwendung eines JIT(Just-In-Time)-Compilers und dergleichen aus der Zwischencodeprogrammgruppe 152, um beispielsweise die so gelesenen Zwischencodestrings in ein zur Ausführung geeignetes Format zu wandeln und um dann die gewandelten Codestrings auszuführen. Die Dateigruppe 153 speichert Daten und dergleichen, wie sie zum Ausführen dieser Tasks und des Zwischencodeprogramms erforderlich sind. Die Ressourcengrenzdaten 154 sind Daten, die von der virtuellen Maschine 1a1 und der virtuellen Maschine 1b1 beim Start gelesen werden, und jede virtuelle Maschine speichert die Grenzinformation für die Ressourcen, die verwendet werden, während jede virtuelle Maschine das Zwischencodeprogramm ausführt.
  • Der Ressourcenverletzungsverlauf 155 speichert als Verlauf Information betreffend eine Verletzung, wenn die virtuelle Maschine 1a1 und die virtuelle Maschine 1b1 die ihnen jeweils zugeordneten Ressourcengrenzen verletzen. Die Prozesseinstellung 156 beim Auftreten einer Verletzung speichert Information hinsichtlich eines Prozesses, der einen Fall handhabt, bei dem sowohl die virtuelle Maschine 1a1 als auch die virtuelle Maschine 1b1 die Ressourcengrenze verletzen, wobei jede Maschine das Zwischencodeprogramm ausführt.
  • Bei der vorliegenden Ausführungsform erfolgt eine Erläuterung, für die ein Beispiel verwendet ist, bei dem zwei virtuelle Maschinen vorliegen, die innerhalb des Fahrzeugterminals arbeiten. Jedoch ist die Erfindung nicht auf dieses Beispiel beschränkt, und die Anzahl der Maschinen kann eine beliebige Anzahl, zwei oder mehr, sein.
  • Die virtuelle Maschine 1a1 beinhaltet eine Verwendete-Ressourcen-Gruppe 1a2, einen Ressourcenverwaltungsabschnitt 1a3, einen Zwischencodeprogramm-Ladeabschnitt 1a4, eine Ausführungszwischencodeprogrammgruppe 1a5 und einen Zwischencode-Ausführungsabschnitt 1a6. Bei diesem Beispiel verfügen die virtuelle Maschine 1a1 und die virtuelle Maschine 1b1 über dieselbe Konfiguration, und Erläuterungen werden weggelassen.
  • Die Verwendete-Ressourcen-Gruppe 1a2 enthält Ressourcen, die zum Ausführen des Zwischencodeprogramms erforderlich sind. Die Ausführungszwischencodeprogrammgruppe 1a5 enthält den Programmcode des das Ausführungsziel bildenden Zwischencodeprogramms. Der Zwischencodeprogramm-Ladeabschnitt 1a4 lädt aus der Zwischencodeprogrammgruppe 152 in der Sekundärspeichereinheit 103 das erforderliche Zwischencodeprogramm in die virtuelle Maschine ein, er wandelt das gelesene Zwischencodeprogramm in ein zur Ausführung geeignetes Format, und er speichert das gewandelte Programm in der Ausführungszwischencodeprogrammgruppe 1a5 ab.
  • Der Zwischencode-Ausführungsabschnitt 1a6 führt ein in der Ausführungszwischencodeprogrammgruppe 1a5 gespeichertes Programm aus. Wenn es erforderlich wird, verschiedene Computerressourcen bereitzustellen, freizugeben oder zu handhaben, während das Programm ausgeführt wird, fordert der Zwischencode-Ausführungsabschnitt 1a6 den Ressourcenverwaltungsabschnitt 1a3 dazu auf, die entsprechenden Computerressourcen bereitzustellen, freizugeben oder zu handhaben.
  • Der Ressourcenverwaltungsabschnitt 1a3 führt eine Verwaltung der Verwendete-Ressourcen-Gruppe 1a2 aus, und er führt beispielsweise die folgenden Operationen aus: Initialisieren der Verwendete-Ressourcen-Gruppe 1a2 beim Starten der virtuellen Maschine; wenn eine Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 vorliegt, die Computerressourcen bereitzustellen oder handzuhaben, wird auf die Ressourcengrenzdaten 154 innerhalb der Sekundärspeichereinheit 103 Bezug genommen, und das OS 143 wird dazu aufgefordert, Ressourcen in Reaktion auf die Anfrage bereitzustellen oder zu handhaben, wenn die Anfrage innerhalb des Ressourcengrenzwerts liegt, der in der virtuellen Maschine 1a1 zulässig ist.
  • Der Virtuelle-Maschine-Verwaltungstask 131 führt Aktionen wie die folgenden aus: Einstellungen zwischen jeder virtuellen Maschine und einer I/O-Vorrichtung des Fahrzeugterminals 101, Löschen der durch jede der virtuellen Maschinen ausgeführten Zwischencodeprogramme, und Steuern der geeigneten Zeit der CPU 104 durch jede der virtuellen Maschinen. Der Virtuelle-Maschine-Verwaltungstask 131 beinhaltet eine Ressourcenbelegungszustandsliste 132, einen Schirmverwaltungsabschnitt 133, einen Tonausgabe-Verwaltungsabschnitt 134, einen Ereignisverwaltungsabschnitt 135, einen Zwischencodeprogramm-Verwaltungsabschnitt 136 und einen Virtuelle-Maschine-Schaltsteuerabschnitt 137.
  • Die Ressourcenbelegungszustandsliste 132 enthält Zustandsinformation zum Identifizieren einer virtuellen Maschine, die die Anzeigeeinheit 105, die Tonausgabeeinheit 106 oder die Fernsteuerungs-Kommunikationseinheit 108 in Anspruch nimmt. Der Schirmverwaltungsabschnitt 133 steuert das Recht zum Belegen der Anzeigeeinheit 105 durch die virtuelle Maschine, und er speichert in der Ressourcenbelegungszustandsliste 132 Kennungsinformation zur virtuellen Maschine ab, die aktuell die Anzeigeeinheit 105 belegt. Der Tonausgabe-Verwaltungsabschnitt 134 steuert das Recht zum Belegen der Tonausgabeeinheit 106 durch die virtuelle Maschine, und er speichert in der Ressourcenbelegungszustandsliste 132 Kennungsinformation zur virtuellen Maschine ab, die aktuell die Tonausgabeeinheit 106 belegt. Der Ereignisverwaltungsabschnitt 135 steuert das Recht, die Fernsteuerungs-Kommunikationseinheit 108 durch die virtuelle Maschine zu belegen, und er speichert in der Ressourcenbelegungszustandsliste 132 Kennungsinformation der virtuellen Maschine ab, die aktuell die Fernsteuerungs-Kommunikationseinheit 108 belegt.
  • Der Zwischencodeprogramm-Verwaltungsabschnitt 136 verwaltet die Zwischencodeprogrammgruppe 152 innerhalb der Sekundärspeichereinheit 103, und er führt eine Verarbeitung wie die folgende aus: Löschen eines Zwischencodeprogramms, das die Grenze der Computerressourcen häufig verletzt, und Aktualisieren des Zwischencodeprogramms auf die jüngste Version. Der Virtuelle-Maschine-Schaltsteuerabschnitt 137 weist das OS 143 dazu an, den jeder virtuellen Maschine zugeordneten Task aufzuheben und wieder aufzunehmen, um dadurch die Ausführungszeit jeder virtuellen Maschine zu verwalten, und um die Zeitperiode zu steuern, in der jede der virtuellen Maschinen die CPU 104 in Anspruch nimmt.
  • Die 2 zeigt ein Beispiel der Detailkonfiguration der Verwendete-Ressourcen-Gruppe 1a2 und der Verwendete-Ressourcen-Gruppe 1b2. Die Verwendete-Ressourcen-Gruppe 1b2 speichert Information jeder der durch die virtuelle Maschine 1a1 bereitgestellten Ressourcen in Zuordnung der Information zu den Ressourcentypen, die den Typ der Ressourcen kennzeichnen. Da die Verwendete-Ressourcen-Gruppe 1a2 und die Verwendete-Ressourcen-Gruppe 1b2 über dieselbe Konfiguration verfügen, erfolgt eine Erläuterung nur hinsichtlich der Verwendete-Ressourcen-Gruppe 1a2, während eine Erläuterung der Verwendete-Ressourcen-Gruppe 1b2 weggelassen wird. Die Verwendete-Ressourcen-Gruppe 1a2 speichert Taskinformation 201, Dateiinformation 202, Semaphorinformation 103 und dynamische Speicherbereichsinformation 204.
  • Die Taskinformation 201 speichert den Zustand des Tasks, der einem jeweiligen der mehreren Virtuelle-Maschine-Tasks in der virtuellen Maschine, die durch das OS 143 verwaltet wird, zugeordnet ist, und die Priorität des Tasks, wobei die Priorität jeder Task-ID zugeordnet wird. Die Priorität ist diejenige des Virtuelle-Maschine-Tasks entsprechend einer Konfiguration durch den Designer des durch die virtuelle Maschine 1a1 ausgeführten Zwischencodeprogramms, und diese Priorität vom OS 143 wird dazu verwendet, die Ausführungszeitzuordnung und die Ausführungssequenz der durch es verwalteten Tasks zu bestimmen.
  • Wenn der Zwischenprogrammabschnitt 1a6 auf die Ausführung eines Programms hin ermittelt, dass es erforderlich ist, einen durch das OS 143 verwalteten Task bereitzustellen, fordert er den Ressourcenverwaltungsabschnitt 1a3 dazu auf, diesen Task bereitzustellen. Dann nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Ressourcengrenzdaten 154 Bezug, und wenn diese Anfrage dem Grenzwert genügt, fordert der Ressourcenverwaltungsabschnitt 1a3 das OS 143 dazu auf, den Task in Reaktion auf diese Anfrage bereitzustellen, und er stellt den Zustand als "in Gebrauch" ein, und er fügt den Task in der Taskinformation 201 hinzu. Wenn der Ressourcenverwaltungsabschnitt 1a3 eine Abschlussmitteilung für den so durch den Zwischencode-Ausführungsabschnitt 1a6 bereitgestellten Task empfängt, ändert er den Zustand des entsprechenden Tasks in der Taskinformation 201 auf "Bereitschaft". Dabei weist der Ressourcenverwaltungsabschnitt 1a3 das OS 143 nicht dazu an, den Task freizugeben, dessen Zustand auf "Bereitschaft" geändert wurde.
  • Die Dateiinformation 102 führt eine Speicherung und Zuordnung zwischen einem Zwischencodeprogrammnamen sowie einer Datengröße und einem Dateinamen aus, wobei es sich um Information einer Datei handelt, die eine Einheit zum Verwalten der in der Sekundärspeichereinheit 103 gespeicherten Daten ist.
  • Wenn der Zwischencode-Ausführungsabschnitt 1a6 ermittelt, dass es erforderlich ist, entsprechend der Programmausführung eine Datei zu erzeugen, zu schreiben oder zu löschen, fordert er den Ressourcenverwaltungsabschnitt 1a3 dazu auf, die Datei oder dergleichen zu erzeugen. Dann nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Ressourcengrenzdaten 154 Bezug, und wenn die Anfrage dem Grenzwert genügt, fordert er das OS 143 dazu auf, die Datei oder dergleichen auf die Anfrage hin zu erzeugen, und er ändert die Dateiinformation 202.
  • Die Semaphorinformation 201 führt eine Speicherung und Zuordnung hinsichtlich einer Semaphor-ID und einem Semaphor-Nutzungszustand aus, wobei der Semaphor eine Softwareressource ist, die eine Funktion zum Ausführen eines Synchronisiervorgangs liefert, wenn mehrere Tasks auf dieselbe Computerressource zugreifen. Jede virtuelle Maschine fordert das OS 143 beim Start dazu auf, Semaphore entsprechend einer eingeschränkten Anzahl von Einheiten bereitzustellen, und sie speichert die Semaphore in der Semaphorinformation 203, nachdem der Zustand aller Semaphore auf "Bereitschaft" geändert wurde.
  • Wenn der Ressourcenverwaltungsabschnitt 1a3 die Anfrage zur Verwendung eines Semaphors vom Zwischencode-Ausführungsabschnitt 1a6 empfängt, nimmt er auf die Semaphorinformation 203 Bezug, er ändert einen der Semaphore vom Zustand "Bereitschaft" auf "in Gebrauch", und er informiert den Zwischencode-Ausführungsabschnitt 1a6 über die Erlaubnis zur Verwendung des Semaphors. Wenn der Ressourcenverwaltungsabschnitt 1a3 eine Anfrage zum Freigeben eines Semaphors vom Zwischencode-Ausführungsabschnitt 1a6 empfängt, fordert er das OS 143 nicht dazu auf, den Semaphor freizugeben, sondern er ändert den Zustand desselben auf "Bereitschaft". Wie auf diese Weise beschrieben, führt die virtuelle Maschine 1a1 keine neue Bereitstellung oder Freigabe eines Semaphors aus, während gerade ein Programm ausgeführt wird, sondern sie führt das Programm unter Wiederverwendung eines vorab bereitgestellten Semaphors aus.
  • Die dynamische Speicherbereichsinformation 204 führt eine Speicherung und Zuordnung zwischen einem Speichersegment und ID-Information hinsichtlich Speicher aus, der entsprechen der Ausführung eines Programms durch den Zwischencode-Ausführungs abschnitt 1a6 dynamisch bereitgestellt wird. Jede der virtuellen Maschinen fordert das OS 143 beim Start dazu auf, Speicher entsprechend eingeschränkter Größe bereitzustellen, und auf eine Speicherbereitstellanfrage vom Zwischencode-Ausführungsabschnitt 1a6 hin wird der Speicher innerhalb des Speicherbereichs, der beim Start bereitgestellt wurde, dynamisch bereitgestellt und freigegeben.
  • Wenn der Zwischencode-Ausführungsabschnitt 1a6 ermittelt, dass es erforderlich ist, Speicher entsprechend der Ausführung eines Programms bereitzustellen oder freizugeben, fordert er den Ressourcenverwaltungsabschnitt 1a3 dazu auf, den Speicher oder dergleichen bereitzustellen. Dann nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Ressourcengrenzdaten 154 Bezug, und wenn die Anfrage dem Grenzwert genügt, führt er eine Bereitstellung von Speicher oder dergleichen in Reaktion auf die Anfrage aus.
  • Es sei darauf hingewiesen, dass die Verwendete-Ressourcen-Gruppe 1a2 und die Verwendete-Ressourcen-Gruppe 1b2 Zugriffsrechte und Plattenunterteilungen, Schnittstellen oder dergleichen, zusätzlich zu den obigen Computerressourcen, speichern können.
  • Die 3 zeigt ein Beispiel einer Detailkonfiguration der Ressourcenbelegungszustandsliste 132. Die Ressourcenbelegungszustandsliste 132 speichert eine Virtuelle-Maschine-ID 1321, die aktuell die Computerressource belegt, um eine Zuordnung zu einem Ressourcentyp 1320 vorzunehmen, der den Typ der Computerressource anzeigt. Computerressourcen wie ein Schirm, eine Fernsteuerung, eine Tonquelle und eine CPU können nur von einer virtuellen Maschine verwendet werden.
  • Unter Bezugnahme auf die Ressourcenbelegungszustandsliste 132 ist es möglich, eine virtuelle Maschine zu erkennen, die aktuell die Ressourcen verwendet.
  • Die 4 zeigt ein Beispiel einer Detailkonfiguration der Liste 140 für auf Sicherheit getestete Zwischencodes. Die Liste 140 für auf Sicherheit getestete Zwischencodes speichert den Stringnamen 1401 für auf Sicherheit getestete Zwischencodes, für die ein Sicherheitstest durch den Zwischencodeprogramm-Ladeabschnitt 1a4 abgeschlossen wurde, und eine ID 1402 für die den Test ausführende virtuelle Maschine, wobei es sich um die ID derjenigen virtuelle Maschine handelt, die den Test ausführte, um dieser den Zwischencodeprogrammnamen 1400 zuzuordnen. Unter Bezugnahme auf die Liste 140 von auf Sicherheit getestete Zwischencodes ist es möglich, dass die virtuelle Maschine 1a1 und die virtuelle Maschine 1b1 ermitteln, ob der Test hinsichtlich des Zwischencodestrings, der das Ladeziel bildet, bereits abgeschlossen wurde. Wenn der Sicherheitstest bereits abgeschlossen wurde, kann das Zwischencodeprogramm geladen werden, ohne den Sicherheitstest durch den Zwischencodeprogramm-Ladeabschnitt 1a4 auszuführen.
  • Die 5 zeigt ein Beispiel einer Detailkonfiguration der Ressourcengrenzdaten 154. Die Ressourcengrenzdaten 154 führen eine Speicherung und Zuordnung von Ressourcentypen 1541 jeweils mit Grenzwerten 1542 der Computerressourcen hinsichtlich jeder Virtuelle-Maschine-ID 1540, für die der Grenzwert angewandt wird, aus. Die jeweiligen Grenzwerte 1542 für die Computerressourcen, die in den Ressourcengrenzdaten 154 eingestellt sind, werden vorab beispielsweise durch den Hersteller oder dergleichen, beim Versand des Fahrzeugterminals 101 konfiguriert.
  • Bei diesem Beispiel kennzeichnet "aaa" die Virtuelle-Maschine-ID der virtuellen Maschine 1a1, und "bbb" kennzeichnet die Virtuelle-Maschine-ID der virtuellen Maschine 1b1. Für die Ressourcengrenzdaten 154 ist ein Beispiel dargestellt, bei dem die virtuelle Maschine 1a1 unter der Annahme konfiguriert ist, dass sie ein Zwischencodeprogramm ausführt, das wesentlicher als das der virtuellen Maschine 1b1 ist. Daher sind die Grenzwerte der der virtuellen Maschine 1a1 zugeordneten Computerressourcen höher eingestellt, und diejenigen der der virtuellen Maschine 1b1 zugeordneten Computerressourcen sind niedriger eingestellt, so dass die virtuelle Maschine 1a1 bei der Zuordnung von Computerressourcen über Priorität verfügt.
  • Es sei darauf hingewiesen, dass für die Typen der Computerressourcen keine Einschränkung auf das in der 5 dargestellte Beispiel besteht, sondern dass dazu Computerressourcen und dergleichen gehören können, die die Partition spezifizieren, von der jede virtuelle Maschine lesen kann und auf die sie schreiben kann. Beispielsweise werden, wenn die wesentlichsten Daten, wie die Grundprogrammgruppe 151, in der ersten Partition gespeichert sind, wesentliche Daten wie Fahrzeuginformation und Personeninformation in der zweiten Partition gespeichert, und andere allgemeine Daten werden in der dritten Partition gespeichert, wobei nur eine spezielle virtuelle Maschine die Zulassung erhält, auf die erste Partition zuzugreifen.
  • Die 6 zeigt ein Beispiel einer Detailkonfiguration des Ressourcenverletzungsverlaufs 155. Der Ressourcenverletzungsverlauf 155 speichert eine Virtuelle-Maschine-ID 1551, einen Zwischencodeprogrammnamen 1552, der den Grenzwert verletzt hat, einen verletzten Grenzwert 1553 und einen Verletzungsumfang 1554, um diese dem Verletzungsdatum und dem Verletzungszeitpunkt 1550 zuzuordnen, zu denen die Grenze verletzt wurde.
  • Unter Bezugnahme auf den Ressourcenverletzungsverlauf 155 kann die CPU 104 den Zwischencodeprogramm-Verwaltungsserver 116 über den Inhalt einer auftretenden Grenzverletzung über das tragbare Kommunikationsterminal 115 und das externe Netzwerk 122 informieren. Demgemäß können der Entwickler und dergleichen des Zwischencodeprogramms den Grund für die Verletzung der Ressourcengrenze effizient untersuchen und vorbeugende Schritte gegen die Verletzung studieren.
  • Die 7 zeigt ein Beispiel einer Detailkonfiguration der Prozesseinstellung 156, wenn eine Verletzung auftritt. Die Prozesseinstellung 156, wenn eine Verletzung auftritt, definiert Prozesse, wie sie jeweils auszuführen sind, wenn Verletzungen der Grenzwerte auftreten, wobei die Grenzwerte in der 5 dargestellt sind. Die Prozesseinstellung 156 bei der Verletzung speichert den Verletzungszählwert 1562 der Computerressourcen sowie die Verarbeitung 1563 beim Auftreten der Verletzung, wie sie ausgeführt wird, wenn die Verletzung des Grenzwerts erkannt wird, was für jede Virtuelle-Maschine-ID 1560, für die die Verarbeitung gilt, auf solche Weise erfolgt, dass eine Zuordnung zu den Ressourcentypen 1561 vorliegt. Beispielsweise wird die Prozesseinstellung 156 beim Auftreten einer Verletzung vorab beim Versatz des Fahrzeugterminals 101 vom Hersteller und dergleichen konfiguriert. Es sei darauf hingewiesen, dass die Anzahl der eingestellten Einzelpunkte und die Einstellwerte von einer virtuellen Maschine zur anderen verschieden sein können.
  • Wenn beim Beispiel der 7 eine Verletzung der Anzahl der zur Erzeugung verfügbaren Tasks in der virtuellen Maschine 1a1 drei Mal auftritt, wird diese aufgehoben und beendet, und der Zwischencodeprogramm-Verwaltungsserver 116 wird über das Auftreten der Verletzung informiert. Jedoch wird das Zwischencodeprogramm, das beim Auftreten der Verletzung abgearbeitet wurde, nicht gelöscht. Wenn eine Verletzung der Grenze der maximal erzeugbaren Dateigröße ein Mal auftritt, wird die virtuelle Maschine 1a1 nicht aufgehoben, jedoch wird sie aufgehoben, wenn die gezählte Anzahl von Verletzungen zehn Mal erreicht.
  • Unter Verwendung der Prozesseinstellung 156 beim Auftreten einer Verletzung kann der Verarbeitungsinhalt für den Zeitpunkt des Auftretens der Ressourcenverletzung in jeder virtuellen Maschine detailliert eingestellt werden. Entsprechend dem Signifikanzwert jeder virtuellen Maschine, dem Signifikanzwert der auszuführenden Anwendung, dem Umfang jeder Ressource, der Häufigkeit der Grenzverletzung, dem Umfang der Grenzverletzung und dergleichen kann ein spezifizierter Prozess geändert werden, um dadurch einen späteren stabilen Betrieb des Fahrzeugterminals 101 zu ermöglichen.
  • Beim vorliegenden Beispiel wird der Verarbeitungsinhalt auf Grundlage der gezählten Anzahl von Verletzungen definiert. Jedoch ist es ferner möglich, den Verarbeitungsinhalt entsprechend dem Umfang der Verletzung, der Häufigkeit der Verletzung sowie der Entwicklungsquelle und dergleichen des Zwischencodeprogramms, das die Verletzung verursacht hat, zu definieren.
  • Als Nächstes werden unter Bezugnahme auf die 8 bis 18 Operationen des Fahrzeugterminals 101 erläutert.
  • Die 8 ist ein Flussdiagramm, das ein Beispiel von Operationen im Fahrzeugterminal 101 zeigt. Das Fahrzeugterminal 101 startet die im vorliegenden Flussdiagramm dargestellte Verarbeitung zu einem vorbestimmten Zeitpunkt wie dem Anlegen von Spannung an es. Zunächst werden mehrere Tasks gestartet, einschließlich der virtuellen Maschine 1a1, der virtuellen Maschine 1b1 und dem Virtuelle-Maschine-Verwaltungstask 131. Es sei hier darauf hingewiesen, dass in den folgenden Beschreibungsteilen die virtuelle Maschine 1a1 und die virtuelle Maschine 1b1 dieselbe Verarbeitung ausführen. Daher erfolgen Erläuterungen nur hinsichtlich der virtuellen Maschine 1a1 für die Verarbeitung, die zwischen ihr und der virtuellen Maschine 1b1 identisch ist.
  • Der Ressourcenverwaltungsabschnitt 1a3 liest die Ressourcengrenzdaten 154, um die Computerressourcen einzuschränken, die verwendet werden, während das Zwischencodeprogramm ausgeführt wird (S100). Bei dieser Gelegenheit wird, falls erforderlich, zur Ressourcenverwaltung eine Verarbeitung wie eine Initialisierung ausgeführt.
  • Als Nächstes liest der Zwischencodeprogramm-Ladeabschnitt 1a4 ein Zwischencodeprogramm als Ausführungsziel aus der Zwischencodeprogrammgruppe 152 (S200). Bei dieser Gelegenheit wandelt der Zwischencodeprogramm-Ladeabschnitt 1a4 das so gelesene Zwischencodeprogramm in ein ausführbares Format, und er speichert es in einer Ausführbare-Zwischencodeprogramme-Gruppe 1a5. Dann führt der Zwischencode-Ausführungsabschnitt 1a6 ein in der Ausführungszwischencodeprogrammgruppe 1a5 gespeichertes Programm aus (S300).
  • Die 9 ist ein Flussdiagramm, das ein Beispiel eines Leseprozesses für Ressourcengrenzdaten zeigt (S100). Der Ressourcenverwaltungsabschnitt 1a3 liest einen Grenzwert für die Anzahl erzeugbarer Tasks (S101), er liest einen Grenzwert hinsichtlich einer Datei (S102), er liest einen Grenzwert hinsichtlich der Anzahl erzeugbarer Semaphore (S103), und er liest einen Grenzwert für die Maximalgröße des zur Bereitstellung verfügbaren dynamischen Speichers (S104).
  • Es sei hier darauf hingewiesen, dass im Schritt 103, wenn ein Grenzwert hinsichtlich der Anzahl erzeugbarer Semaphore gelesen wird, der Ressourcenverwaltungsabschnitt 1a3 Semaphore entsprechend dem Grenzwert durch Ausführen einer Anfrage beim OS 143 bereitstellt, er den Zustand aller dem Grenzwert entsprechenden, so bereitgestellten Semaphore auf "Bereitschaft" ändert und sie in der Verwendete-Ressourcen-Gruppe 1a2 registriert. In ähnlicher Weise stellt der Ressourcenverwaltungsabschnitt 1a3 im Schritt 104, wenn ein Grenzwert für die Maximalgröße des zur Bereitstellung verfügbaren dynamischen Speichers gelesen wird, einen Speicher entsprechend den Grenzwert durch Ausführen einer Anfrage beim OS 143 bereit, er ändert den Zustand des gesamten so bereitgestellten Speichers entsprechend dem Grenzwert auf "nicht verwendet", und er registriert den Speicher in der Verwendete-Ressourcen-Gruppe 1a2.
  • Die 10 ist ein Flussdiagramm, das ein Beispiel des Zwischencodeprogramm-Leseprozesses (S200) zeigt. Als Erstes erhält der Zwischencodeprogramm-Ladeabschnitt 1a4 eine Liste, in der Kennungsinformation der zu lesenden Zwischencodeprogramme beschrieben ist, von der Zwischencodeprogrammgruppe 152 (S201). Dann wählt der Zwischencodeprogramm-Ladeabschnitt 1a4 eines der in der erhaltenen Liste angegebenen Zwischencodeprogramme aus (S202).
  • Der Zwischencodeprogramm-Ladeabschnitt 1a4 nimmt auf die Liste 140 von auf Sicherheit getesteten Zwischencodes Bezug, und er ermittelt, ob der Sicherheitstest für das ausgewählte Zwischencodeprogramm abgeschlossen ist (S203). Wenn der Sicherheitstest bereits abgeschlossen ist (S203: Ja), führt der Zwischencodeprogramm-Ladeabschnitt 1a4 eine Verarbeitung aus, wie es im Schritt 207 dargestellt ist.
  • Wie es demgemäß beschrieben ist, ist es durch Weglassen eines Sicherheitstestprozesses für das Zwischencodeprogramm, für das eine andere virtuelle Maschine bereits den Sicherheitstest ausgeführt hat, möglich, die Verarbeitungsbelastung zu verringern, wenn das Zwischencodeprogramm geladen wird.
  • Wenn der Sicherheitstest noch nicht abgeschlossen ist (S203: Nein), führt der Zwischencodeprogramm-Ladeabschnitt 1a4 am so ausgewählten Zwischencodeprogramm einen Sicherheitstest aus (S204). Im Schritt 204 führt der Zwischencodeprogramm-Ladeabschnitt 1a4 einen Testvorgang dahingehend aus, ob im Zwischencodeprogramm irgendein ungültiger Befehlscode enthalten ist oder nicht, ob in den Befehlscodestrings Folgerichtigkeit vorliegt oder nicht und ob ein Befehlscodestring vorliegt, der auf eine nicht zugreifbare Adresse zugreift.
  • Nachdem die Sicherheit geklärt wurde (S205: Ja), speichert der Zwischencodeprogramm-Ladeabschnitt 1a4 das Testergebnis in der Liste 140 von auf Sicherheit getesteten Zwischencodeprogramms (S206). Dann wird ermittelt, ob alle in der Liste enthaltenen Zwischencodes eingelesen wurden oder nicht (S207). Wenn noch nicht alle Zwischencodes eingelesen sind, führt der Zwischencodeprogramm-Ladeabschnitt 1a4 die im Schritt 203 angegebene Verarbeitung aus. Wenn alle Codes eingelesen sind, wird die im vorliegenden Flussdiagramm dargestellte Verarbeitung beendet.
  • Wenn die Sicherheit noch nicht geklärt ist (S205: Nein), gibt der Zwischencodeprogramm-Ladeabschnitt 1a4 über 105 und dergleichen an den Benutzer des Fahrzeugterminals 101 eine Mitteilung dahingehend aus, dass ein Sicherheitsproblem existiert, und er informiert den Zwischencodeprogramm-Verwaltungsserver 116 über das tragbare Kommunikationsterminal 115 und das externe Netzwerk 122 über das Problem (S208). Dann weist der Zwischencodeprogramm-Ladeabschnitt 1a4 den Zwischencode-Ausführungsabschnitt 1a6 dazu an, den Start oder die Ausführung des Zwischencodeprogramms aufzuheben, und dann wird die im vorliegenden Flussdiagramm angegebene Verarbeitung beendet.
  • Die 11 ist ein Flussdiagramm, das ein Beispiel des Zwischencodeprogramms-Ausführungsprozesses (S300) zeigt. Als Erstes führt der Zwischencode-Ausführungsabschnitt 1a6 eine Interpretation und Ausführung eines Befehls des Zwischencodestrings nach dem anderen aus, um dadurch das Zwischencodeprogramm auszuführen (S301). Dann ermittelt der Zwischencode-Ausführungsabschnitt 1a6, ob der Aufruf nativer Funktionen, wie des Bereitstellens, Freigebens und Handhabens verschiedener Ressourcen, erforderlich ist, wobei diese nativen Funktionen durch das Zwischencodeprogramm nicht ausgeführt werden können (S302).
  • Wenn der Aufruf nativer Funktionen nicht erforderlich ist (S302: Nein), ermittelt der Zwischencode-Ausführungsabschnitt 1a6, ob die Ausführung des Zwischencodeprogramms beendet wurde oder nicht (S308). Wenn die Ausführung des Zwischencodeprogramms noch nicht beendet ist (S308: Nein), führt der Zwischencode-Ausführungsabschnitt 1a6 im Schritt 301 den nächsten Befehl des Zwischencodestrings aus. Wenn die Ausführung des Zwischencodeprogramms abgeschlossen ist (S308: Ja), beendet der Zwischencode-Ausführungsabschnitt 1a6 die im vorliegenden Flussdiagramm dargestellte Verarbeitung.
  • Wenn ein Aufruf der nativen Funktionen erforderlich ist (S302: Ja), weist der Zwischencode-Ausführungsabschnitt 1a6 den Ressourcenverwaltungsabschnitt 1a3 an, die entsprechenden nativen Funktionen auszuführen (S400, S500, S600, S303, S304). Einzelheiten der Verarbeitung im Schritt 400 bis zum Schritt 600 werden unten beschrieben. Im Schritt 303 nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Ressourcengrenzdaten 154 innerhalb der Sekundärspeichereinheit 103 Bezug, und er führt eine dynamische Bereitstellung oder Freigabe des Speichers aus, während die Gesamtgröße des Speichers beschränkt wird, der innerhalb des Grenzwerts dynamisch bereitgestellt werden kann. Im Schritt 304 führt der Ressourcenverwaltungsabschnitt 1a3 eine Verarbeitung anderer Funktionen als der oben beschriebenen aus, wie das Bereitstellen von Kommunikations-Schnittstellen.
  • Wenn während der Ausführung irgendeines der obigen nativen Prozesse eine Grenzwertverletzung der Computerressourcen auftritt (S305: Ja), führt der Ressourcenverwaltungsabschnitt 1a3 einen Prozess gegen den aufgetretenen Fehler aus (S700). Dann informiert, im Prozess gegen den Fehler, wenn die Arbeit der virtuellen Maschine nicht zwangsweise beendet wird (S306: Nein), der Ressourcenverwaltungsabschnitt 1a3 den Zwischencode-Ausführungsabschnitt 1a6 über die Fehlerinformation, wodurch dieser eine Fehlerverarbeitung ausführen kann (S307), und dann den im Schritt 308 dargestellten Prozess ausführen kann.
  • Die 12 ist ein Flussdiagramm, das ein Beispiel eines Task-Erzeugungs/Lösch-Prozesses (S400) zeigt. Als Erstes ermittelt der Ressourcenverwaltungsabschnitt 1a3, ob die Verarbeitung ein Taskerzeugungsprozess ist oder nicht (S401), und wenn es ein Taskerzeugungsprozess ist, nimmt er auf die Verwendete-Ressourcen-Gruppe 1a2 Bezug und ermittelt, ob ein nicht verwendeter Task vorhanden ist oder nicht (S402). Wenn ein nicht verwendeter Task vorhanden ist (S402: Ja), fordert der Ressourcenverwaltungsabschnitt 1a3 das OS 143 dazu auf, den Zustand des entsprechenden Tasks auf "aktiv" zu ändern (S406), und er beendet die Verarbeitung, wie durch das vorliegende Flussdiagramm angegeben.
  • Wenn keinerlei nicht verwendeter Task vorliegt (S402: Nein), ermittelt der Ressourcenverwaltungsabschnitt 1a3, ob die Erzeugung eines Tasks dazu führen kann, oder nicht dazu führen kann, dass die Gesamtanzahl erzeugter Tasks niedriger als der Grenzwert der Anzahl der zur Erzeugung verfügbarer Tasks ist (S403). Wenn der Wert dem Grenzwert entspricht oder höher ist (S403: Nein), informiert der Ressourcenverwaltungsabschnitt 1a4 den Zwischencode-Ausführungsabschnitt 1a6 über einen Fehler, der angibt, dass eine Taskerzeugung unzulässig ist, und er beendet die im vorliegenden Flussdiagramm dargestellte Verarbeitung.
  • Wenn der Wert niedriger als der Grenzwert ist (S403: Ja), fordert der Ressourcenverwaltungsabschnitt 1a3 das OS 143 dazu auf, einen Task zu erzeugen (S404). Dann ändert der Ressourcenverwaltungsabschnitt 1a3 den Zustand des so erzeugten Tasks auf "in Gebrauch", er registriert den Task in der Verwendete-Ressourcen-Gruppe 1a2 (S405), und dann beendet er die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Wenn die Verarbeitung ein Tasklöschprozess ist (S401: Nein), fordert der Ressourcenverwaltungsabschnitt 1a3 das OS 143 dazu auf, den Zustand des entsprechenden Tasks auf "Bereitschaft" zu ändern, um dadurch den Task aufzuheben (S408). Im Schritt 408 fordert der Ressourcenverwaltungsabschnitt 1a3 das OS 143 nicht dazu auf, den aufzuhebenden Task freizugeben, sondern er bleibt bereitgestellt. Der Ressourcenverwaltungsabschnitt 1a3 ändert den Zustand des aufgehobenen Tasks innerhalb der Verwendete-Ressourcen-Gruppe 1a2 auf "Bereitschaft" (S409), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Die 13 ist ein Flussdiagramm, das ein Beispiel eines Datei-Erzeugungs/Lösch/Schreib-Prozesses zeigt (S500). Als Erstes nimmt der Ressourcenverwaltungsabschnitt 1a3, wenn eine Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 ein Dateierzeugungsprozess ist (S501: Ja), auf die Ressourcengrenzdaten 154 Bezug, und er ermittelt, ob die Erzeugung einer Datei auf die Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 die Anzahl erzeugter Dateien niedriger als den Grenzwert der Anzahl von zu Erzeugung verfügbaren Dateien machen kann (S502). Wenn die Anzahl der erzeugten Dateien dem Grenzwert entspricht oder höher ist (S502: Nein), informiert der Ressourcenverwaltungsabschnitt 1a3 den Zwischencode-Ausführungsabschnitt 1a6 über einen Fehler (S506), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Wenn die Anzahl der erzeugten Dateien niedriger als der Grenzwert ist (S502: Ja), erzeugt der Ressourcenverwaltungsabschnitt 1a3 eine Datei (S504), wenn die virtuelle Maschine 1a1 ein Zugriffsrecht auf ein Plattengebiet hat, in dem die Datei zu erzeugen ist (S503: Ja). Dann registriert der Ressourcenverwaltungsabschnitt 1a3 Information zur erzeugten Datei in der Verwendete-Ressourcen-Gruppe 1a2 (S505), und die im vorliegenden Flussdiagramm angegebene Verarbeitung wird beendet.
  • Wenn die Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 kein Dateierzeugungsprozess ist (S501: Nein), und wenn die Anfrage von ihm ein Schreibprozess in eine Datei ist, nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Ressourcengrenzdaten 154 Bezug, und er ermittelt, ob die Größe der so in Reaktion auf die Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 geschriebenen Datei niedriger als der Grenzwert der zur Erzeugung verfügbaren maximalen Dateigröße ist (S508). Wenn die Dateigröße dem Grenzwert entspricht oder höher ist (S508: Nein), führt der Ressourcenverwaltungsabschnitt 1a3 die im Schritt 506 angegebene Verarbeitung aus.
  • Wenn die Dateigröße niedriger als der Grenzwert ist (S508: Ja), erlaubt der Ressourcenverwaltungsabschnitt 1a3 ein Schreiben in die Datei, er erlaubt es, dem Zwischencode-Ausführungsabschnitt 1a6, Daten in die Datei zu schreiben (S509), er ändert die Größe der entsprechenden Datei innerhalb der Verwendete-Ressourcen-Gruppe 1a2 (S510), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Wenn die Anfrage vom Zwischencode-Ausführungsabschnitt 1a6 keine solche zum Schreiben in die Datei ist (S507: Nein), löscht der Ressourcenverwaltungsabschnitt 1a3 die Datei (S511), er löscht die entsprechende Dateiinformation in der Verwendete-Ressourcen-Gruppe 1a2 (S512), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Die 14 ist ein Flussdiagramm, das ein Beispiel des Semaphor-Erzeugungs/Lösch-Prozesses zeigt (S600). Als Erstes ermittelt der Ressourcenverwaltungsabschnitt 1a3, ob die Verarbeitung eine Semaphorerzeugung ist oder nicht (S601), und wenn es sich um eine Semaphorerzeugung handelt, nimmt er auf die Verwendete-Ressourcen-Gruppe 1a2 Bezug, und er ermittelt, ob ein unverwendeter Semaphor vorliegt oder nicht (S602). Wenn ein unverwendeter Semaphor vorliegt (S602: Ja), informiert der Ressourcenverwaltungsabschnitt 1a3 den Zwischencode-Ausführungsabschnitt 1a6 über die Erlaubnis zum Verwenden des Semaphors, und er ändert den Zustand desselben innerhalb der Verwendete-Ressourcen-Gruppe 1a2 auf "in Gebrauch" (S603), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Wenn keinerlei unverwendeter Semaphor vorliegt (S602): Nein), informiert der Ressourcenverwaltungsabschnitt 1a3 den Zwischencode-Ausführungsabschnitt 1a6 über einen Fehler, der anzeigt, dass kein Semaphor bereitgestellt werden kann (S604), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung. Wenn die Verarbeitung kein Semaphorerzeugungsprozess ist (S601: Nein), ändert der Ressourcenverwaltungsabschnitt 1a3 den Zustand des entsprechenden Semaphors innerhalb der Verwendete-Ressourcen-Gruppe 1a2 auf "Bereitschaft" (S605), und er beendet die im vorliegenden Flussdiagramm angegebene Verarbeitung.
  • Es sei darauf hingewiesen, dass beim vorliegenden Beispiel Semaphore, deren Zählwert dem Grenzwert entspricht, vorab bereitgestellt werden, wenn die virtuelle Maschine 1a1 gestartet wird. Wenn beim vorliegenden Flussdiagramm die Erzeugung eines Semaphors erforderlich ist, wird das OS 143 nicht dazu aufgefordert, einen Semaphor neu bereitzustellen, sondern aus den Semaphoren, die bereits zum Startzeitpunkt bereitgestellt wurden, wird ein unverwendeter Semaphor zugeordnet. Außerdem wird, wenn die Erzeugung eines Semaphors nicht erforderlich ist, das OS 143 nicht dazu aufgefordert, den Semaphor freizugeben, sondern sein Zustand wird auf "Bereitschaft" geändert.
  • Wie es in den 12 bis 14 dargestellt ist, können ein Ressourcenerzeugungsprozess und ein Löschprozess auf verschiedene Arten implementiert werden. Jedoch ist es, bei jeder der Arten, möglich, den zur Erzeugung oder Löschung verwendeten Ressourcenumfang zu erkennen, und beim Auftreten einer Verletzung eines Grenzwerts kann der Umfang direkt erfasst werden.
  • Die 15 ist ein Flussdiagramm, das ein Beispiel des Prozesses zur Grenzwertverletzung zeigt (S700). Als Erstes zeichnet der Ressourcenverwaltungsabschnitt 1a3 den Inhalt einer Grenzverletzung, die in einem der Schritte 400, 500, 600, 303 oder 304 aufgetreten ist, wie es in der 11 dargestellt ist, im Ressourcenverletzungsverlauf 155 auf (S701). Unter Bezugnahme auf den Ressourcenverletzungsverlauf 155 und die Prozesseinstellung 156 beim Auftreten der Verletzung ermittelt der Ressourcenverwaltungsabschnitt 1a3, ob, abhängig von der so aufgetretenen Verletzung, eine Beendigung der virtuellen Maschine erforderlich ist oder nicht (S702).
  • Wenn ermittelt wird, dass eine Beendigung der virtuellen Maschine nicht erforderlich ist (S702: Nein), nimmt der Ressourcenverwaltungsabschnitt 1a3 auf den Reinigungsvorgang 155 und die Prozesseinstellung 156 beim Auftreten der Verletzung Bezug. Wenn entsprechend der aufgetretenen Verletzung eine Aufhebung der virtuellen Maschine erforderlich ist (S703: Ja), weist der Ressourcenverwaltungsabschnitt 1a3 den Virtuelle-Maschine-Schaltsteuerabschnitt 137 dazu an, die entsprechende virtuelle Maschine aufzuheben (S704), und es wird die im Schritt 705 angegebene Verarbeitung ausgeführt. Wenn keine Aufhebung der virtuellen Maschine erforderlich ist (S703: Nein), wird die im Schritt 705 dargestellte Verarbeitung ausgeführt.
  • Wenn der Ressourcenverwaltungsabschnitt 1a3 unter Bezugnahme auf den Ressourcenverletzungsverlauf 155 und die Prozesseinstellung 156 beim Auftreten der Verletzung ermittelt, dass entsprechend der aufgetretenen Verletzung eine Beendigung der virtuellen Maschine erforderlich ist (S702: Ja), weist er den Virtuelle-Maschine-Schaltsteuerabschnitt 137 dazu an, die entsprechende virtuelle Maschine zu beenden (S720).
  • Als Nächstes wird, unter Bezugnahme auf den Ressourcenverletzungsverlauf 155 und die Prozesseinstellung 156 beim Auftreten der Verletzung entsprechend der so aufgetretenen Verletzung ermittelt, ob es erforderlich ist, das durch die virtuelle Maschine ausgeführte Zwischencodeprogramm zu löschen oder nicht (S705). Wenn es nicht erforderlich ist, das entsprechende Zwischencodeprogramm zu löschen (S705: Nein), wird die im Schritt 707 angegebene Verarbeitung ausgeführt. Wenn es erforderlich ist, das entsprechende Zwischencodeprogramm zu löschen (S075: Ja), fordert der Ressourcenverwaltungsabschnitt 1a3 den Zwischencodeprogramm-Verwaltungsabschnitt 1a6 dazu auf, das entsprechende Zwischencodeprogramm zu löschen, um es ihm dadurch zu ermöglichen, das entsprechende Zwischencodeprogramm zu löschen (S706). Im Schritt 706 löscht der Zwischencodeprogramm-Verwaltungsabschnitt 136 das Zwischencodeprogramm als Löschziel aus den anderen Tasks 142.
  • Die 16 ist ein Flussdiagramm, das ein Beispiel des Virtuelle-Maschine-Beendigungsprozesses zeigt (S720). Als Erstes nimmt der Ressourcenverwaltungsabschnitt 1a3 auf die Verwendete-Ressourcen-Gruppe 1a2 Bezug, er wählt eine der Computerressourcen aus, die durch das zu beendende Zwischencodeprogramm bereitgestellt wurden (S721), und er fordert das OS 143 dazu auf, die ausgewählte Computerressource freizugeben (S722). Dann ermittelt der Ressourcenverwaltungsabschnitt 1a3, ob alle Computerressourcen, die durch das zu beendende Zwischencodeprogramm bereitgestellt wurden, ausgewählt wurden oder nicht (S723). Wenn eine noch nicht ausgewählte Computerressource existiert (S723: Nein), wird erneut die im Schritt 721 angegebene Verarbeitung ausgeführt. Wenn alle Computerressourcen, die durch das zu beendende Zwischencodeprogramm bereitgestellt wurden, ausgewählt wurden (S723: Ja), wird die im vorliegenden Flussdiagramm angegebene Verarbeitung beendet.
  • Unter Bezugnahme auf die Verwendete-Ressourcen-Gruppe 1a2 ist der Ressourcenverwaltungsabschnitt 1a3 dazu in der Lage, die Computerressourcen, die durch das zu beendende Zwischencodeprogramm bereitgestellt wurden, zuverlässig zu beenden.
  • Die 17 ist ein Flussdiagramm, das ein Beispiel der Operation des Virtuelle-Maschine-Schaltsteuerabschnitts 137 zeigt. Der Virtuelle-Maschine-Schaltsteuerabschnitt 137 startet die im vor liegenden Flussdiagramm angegebene Verarbeitung zu einem vorbestimmten Zeitpunkt, wie dann, wenn Spannung an das Fahrzeugterminal 101 angelegt wird. Als Erstes ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt 137, ob die Anzahl der aktuell aktiven Virtuelle-Maschine-Einheiten mindestens zwei beträgt oder nicht (S801). Wenn die Anzahl der aktuell aktiven Virtuelle-Maschine-Einheiten eins oder weniger beträgt (S801: Nein), wird der Schritt 801 wiederholt, bis die Anzahl der Virtuelle-Maschine-Einheiten zwei oder mehr wird.
  • Wenn die Anzahl der aktuell aktiven Virtuelle-Maschine-Einheiten zwei oder mehr ist (S801: Ja), führt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 einen Virtuelle-Maschine-Wiederauswählprozess aus, bei dem eine beliebige Maschine aus mehreren virtuellen Maschinen ausgewählt wird (S810). Dann ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt 137, ob die so ausgewählte virtuelle Maschine von der aktuell aktiven virtuellen Maschine verschieden ist oder nicht (S802). Wenn die ausgewählte virtuelle Maschine mit der aktuell aktiven virtuellen Maschine identisch ist (S802: Nein), wird die im Schritt 806 angegebene Verarbeitung ausgeführt.
  • Wenn die ausgewählte virtuelle Maschine von der aktuell aktiven virtuellen Maschine verschieden ist (S802: Ja), fordert der Virtuelle-Maschine-Schaltsteuerabschnitt 137 das OS 143 dazu auf, diejenigen Tasks vorübergehend aufzuheben, die den gesamten Tasks entsprechen, die der aktuell aktiven virtuellen Maschine entsprechen und durch das OS 143 verwaltet werden (S803). Dann führt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 eine Vorbereitung zum Umschalten der virtuellen Maschinen aus (S804). Im Schritt 804 führt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 eine Verarbeitung wie ein Umschreiben der Virtuelle-Maschine-ID 1321 in Zuordnung mit dem durch die ausgewählte virtuelle Maschine verwendeten Ressourcentyp in der Ressourcenbelegungszustandsliste 132 und das Abspeichern einer Ausführungsumgebung aus, wie das Abspeichern eines global variablen Bereichs, der im gemeinsamen Speicher 141 durch den Task verwendet wurde, der der virtuellen Maschine zugeordnet war, die aktiv war, im gemeinsamen Speichersicherungsbereich 1a7 oder im gemeinsamen Speichersicherungsbereich 1b7 der virtuellen Maschine, die aktiv war.
  • Als Nächstes fordert der Virtuelle-Maschine-Schaltsteuerabschnitt 137 das OS 143 dazu auf, die Ausführung des Tasks neu zu starten, der der im Schritt 2602 ausgewählten virtuellen Maschine zugeordnet ist (S805). Dann wartet der Virtuelle-Maschine-Schaltsteuerabschnitt 137 für eine vorbestimmte Zeitperiode, wie 100 ms (S806), und dann führt er erneut die im Schritt 801 angegebene Verarbeitung aus.
  • Die 18 ist ein Flussdiagramm, das ein Beispiel des Virtuelle-Maschine-Wiederauswählprozesses zeigt (S810). Als Erstes fragt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 das OS 143 ab, um den Zustand des aktuell aktiven Tasks, d. h. des zuvor ausgewählten Tasks, zu erfassen (S811). Dann ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt 137, ob alle Tasks, die der zuvor ausgewählten virtuellen Maschine zugeordnet waren, im Zustand "Bereitschaft" vorliegen oder nicht, und er wartet auf eine Eingabe oder er wartet auf ein Ereignis wie einen Timer (S812).
  • Wenn irgendeiner der Tasks nicht im Bereitschaftszustand vorliegt (S812: Nein), ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt 137, ob der kontinuierlich ausgewählte Zählwert der zuvor ausgewählten virtuellen Maschine über dem kontinuierlich auswählbaren Zählwert, wie er der virtuellen Maschine zugeordnet ist, liegt oder nicht (S814). Im Schritt 814 speichert der Virtuelle-Maschine-Schaltabschnitt 137 den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine. Außerdem berechnet der Virtuelle-Maschine-Schaltsteuerabschnitt 137 den kontinuierlich auswählbaren Zählwert jeder der virtuellen Ma schinen auf Grundlage des Grenzwerts der CPU-Inanspruchnahmerate innerhalb der Ressourcengrenzdaten 154, wie es in der 5 dargestellt ist. Beim vorliegenden Beispiel berechnet, da der Grenzwert der der virtuellen Maschine 1a1 zugeordneten CPU-Inanspruchnahmerate 70 beträgt, und der der virtuellen Maschine 1b1 zugeordnete Grenzwert der CPU-Belegungsverhältnisses 30 ist, der Virtuelle-Maschine-Schaltsteuerabschnitt 137 den kontinuierlich auswählbaren Zählwert proportional zu diesen Verhältnissen. Beispielsweise berechnet der Virtuelle-Maschine-Schaltsteuerabschnitt 137 den kontinuierlich auswählbaren Zählwert der virtuellen Maschine 1a7 als sieben Mal und den kontinuierlich auswählbaren Zählwert der virtuellen Maschine 1b als drei Mal.
  • Wenn der kontinuierlich ausgewählte Zählwert der zuvor ausgewählten virtuellen Maschine dem der virtuellen Maschine zugeordneten kontinuierlich auswählbaren Zählwert entspricht oder kleiner ist (S814: Nein), wählt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 die zuvor ausgewählte virtuelle Maschine diesmal erneut aus, und er inkrementiert den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine (S815), und dann wird die im vorliegenden Flussdiagramm angegebene Verarbeitung beendet. Wenn der kontinuierlich ausgewählte Zählwert, der zuvor ausgewählten virtuellen Maschine über dem ihr zugeordneten kontinuierlich auswählbaren Zählwert liegt (S814: Ja), wählt der Virtuelle-Maschine-Schaltsteuerabschnitt 137 eine virtuelle Maschine aus, die von der zuvor ausgewählten virtuellen Maschine verschieden ist, und er stellt den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf 1 (eins) ein (S813), und es wird die im vorliegenden Flussdiagramm angegebene Verarbeitung beendet.
  • Wie derart beschrieben, ist es durch Schalten der virtuellen Maschinen in solcher Weise, dass ihre Ausführungsprozedur entsprechend einer vorbestimmten Zuordnung ausgeführt wird, möglich, die Ausführungsprozedur mehrerer virtuellen Maschinen parallel auszuführen, während CPU-Verarbeitungszeit mit einer Zuordnung zugewiesen wird, die nahezu der bei der Konzeption spezifizierten CPU-Inanspruchnahmerate entspricht. Dieser Schaltprozess verwendet eine Taskaufhebe- und -wiederaufnahmefunktion sowie eine Taskereignis-Bereitschaftsabfragefunktion, die im OS 143 enthalten sind. Daher ist es, wenn das OS 143 ein Multitask-OS ist, das die obigen Funktionen bereitstellt, möglich, die CPU-Inanspruchnahmerate der virtuellen Maschine selbst ohne CPU-Inanspruchnahmerate-Kontrollfunktion zu kontrollieren, wodurch mehrere virtuelle Maschinen geeignet arbeiten können.
  • Außerdem wird der durch den oben angegebenen Virtuelle-Maschine-Schaltsteuerabschnitt 137 ausgeführte Virtuelle-Maschine-Umschaltprozess dadurch realisiert, dass das OS dazu aufgefordert wird, Tasks zu handhaben, und dieser Schaltprozess steuert nicht direkt die dem OS 143 eigene Ablaufsteuerung. Daher beeinflusst die virtuelle Maschine nicht das Taskumschalten anderer Tasks 142, die eine andere native Verarbeitung ausführen, die nicht den Tasks entspricht, die der virtuellen Maschine 1a1 oder der virtuellen Maschine 1b1 zugeordnet sind, und sie beeinflusst auch nicht den Virtuelle-Maschine-Verwaltungstask 131. Demgemäß kann der Virtuelle-Maschine-Schaltprozess innerhalb des Bereichs der dem OS 143 eigenen Funktionen implementiert werden, um dadurch einen stabilen Betrieb des Systems zu erzielen.
  • Bisher wurden bevorzugte Ausführungsformen der Erfindung erläutert.
  • Wie es aus der obigen Beschreibung ersichtlich ist, ist es mit dem Fahrzeugterminal 101 gemäß der Erfindung möglich, die für die virtuelle Maschine 1a1 oder die virtuelle Maschine 1b1 bereitgestellten Computerressourcen innerhalb des Grenzwerts, der der entsprechenden virtuellen Maschine zugeordnet ist, zuverlässig zu steuern. Außerdem können, beim Fahrzeugterminal 101 gemäß der Erfindung, die Ausführungsprozeduren mehrerer virtueller Maschinen geeignet ausgeführt werden.
  • Es sei hier darauf hingewiesen, dass die Erfindung nicht auf die obigen Ausführungsformen beschränkt ist, sondern dass innerhalb des Schutzumfangs der Erfindung verschiedene Variationen verfügbar sind.
  • Beispielsweise erfolgten, bei der vorliegenden Ausführungsform, Erläuterungen unter Verwendung zweier Einheiten virtueller Maschinen als Beispiel, jedoch ist die Erfindung nicht auf dieses Beispiel beschränkt. Die Erfindung ist bei einem Fahrzeugterminal 101 anwendbar, das eine Einheit einer virtuellen Maschine ausführt. Im obigen Fall entspricht die Konfiguration des Fahrzeugterminals 101 gemäß dem alternativen Beispiel derjenigen des in der 1 dargestellten Fahrzeugterminal 101, aus dem die folgenden Funktionen ausgeschlossen sind, nämlich die Funktionen, die eine Verarbeitung unter der Voraussetzung ausführen, dass mehrere virtuelle Maschinen existieren (gemeinsamer Speichersicherungsbereich 1a7, gemeinsamer Speichersicherungsbereich 1b7, Ressourcenbelegungszustandsliste 132, Virtuelle-Maschine-Schaltsteuerabschnitt 137, Liste 149 von auf Sicherheit getesteten Zwischencodes sowie gemeinsamer Speicher 141).
  • Es sei darauf hingewiesen, dass die Erfindung für eingebaute Anlagen geeignet ist, die an Computerressourcen relativ reich sind und bei denen eine Parallelausführung von Anwendungen benötigt wird, wie bei einem an einem Auto und dergleichen montierten Fahrzeugterminal. Außer bei einem Fahrzeugterminal ist die Erfindung beim Anwenden der Zwischencodetechnik bei AV-Geräten, wie Fernsehgeräten und Festplattenrecordern oder bei tragbaren Terminals wie Mobiltelefonen und PDAs, besonders effektiv.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine Konfiguration eines Fahrzeug-Kommunikationssystems 10 gemäß einer Ausführungsform der Erfindung;
  • 2 zeigt ein Beispiel einer Detailkonfiguration einer Verwendete-Ressourcen-Gruppe 1a2 und einer Verwendete-Ressourcen-Gruppe 1b2;
  • 3 zeigt ein Beispiel einer Detailkonfiguration einer Ressourcenbelegungszustandsliste 132;
  • 4 zeigt ein Beispiel einer Detailkonfiguration einer Liste von auf Sicherheit getesteten Zwischencodes;
  • 5 zeigt ein Beispiel einer Detailkonfiguration von Ressourcengrenzdaten 154;
  • 6 zeigt ein Beispiel einer Detailkonfiguration eines Ressourcenverletzungsverlaufs 155;
  • 7 zeigt ein Beispiel einer Detailkonfiguration einer Prozesseinstellung 156, wenn eine Verletzung auftritt;
  • 8 ist ein Flussdiagramm, das ein Beispiel von Operationen im Fahrzeugterminal 101 zeigt;
  • 9 ist ein Flussdiagramm, das ein Beispiel eines Ressourcengrenzdaten-Leseprozesses zeigt;
  • 10 ist ein Flussdiagramm, das ein Beispiel eines Zwischencodeprogramm-Leseprozesses zeigt;
  • 11 ist ein Flussdiagramm, das ein Beispiel eines Zwischencodeprogramm-Ausführungsprozesses zeigt;
  • 12 ist ein Flussdiagramm, das ein Beispiel eines Task-Erzeugungs/Lösch-Prozesses zeigt;
  • 13 ist ein Flussdiagramm, das ein Beispiel eines Datei-Erzeugungs/Lösch-Schreib-Prozesses zeigt;
  • 14 ist ein Flussdiagramm, das ein Beispiel eines Sempaphor-Erzeugungs/Lösch-Prozesses zeigt;
  • 15 ist ein Flussdiagramm, das ein Beispiel eines Grenzverletzungsprozesses zeigt;
  • 16 ist ein Flussdiagramm, das ein Beispiel eines Virtuelle-Maschine-Beendigungsprozesses zeigt;
  • 17 ist ein Flussdiagramm, das ein Beispiel des Betriebs eines Virtuelle-Maschine-Schaltsteuerabschnitts 137 zeigt, und
  • 18 ist ein Flussdiagramm, das ein Beispiel eines Virtuelle-Maschine-Wiederauswählprozesses zeigt.
  • Zusammenfassung
  • Es ist ein Fahrzeugterminal (101) geschaffen, das über die Funktion verfügt, zu gewährleisten, dass ein durch eine virtuelle Maschine (1a1) oder eine virtuelle Maschine (1b1) bereitgestellte Computerressource innerhalb eines Grenzwerts derselben, der der entsprechenden virtuellen Maschine zugeordnet wird, kontrolliert wird, oder eine Funktion, die die Ausführung mehrerer virtueller Maschinen geeignet vornehmen kann.
  • Wenn die virtuelle Maschine (1a1) oder die virtuelle Maschine (1b1) das Bereitstellen der Computerressource anfordert, fordert das Fahrzeugterminal (101) das OS (143) dazu auf, auf die Anfrage hin eine Computerressource bereitzustellen, wenn die angeforderte Ressource niedriger als der Grenzwert derjenigen Computerressource liegt, die der entsprechenden virtuellen Maschine zugeordnet ist. Ferner prüft das Fahrzeugterminal (101) mit vorbestimmten Intervallen den kontinuierlich ausgewählten Zählwert der zuvor ausgewählten virtuellen Maschine, und wenn dieser dem Grenzwert entspricht, oder wenn sich die virtuelle Maschine im Bereitschaftszustand befindet, wird eine andere virtuelle Maschine ausgewählt, und das OS (143) wird dazu angewiesen, die ausgewählte virtuelle Maschine auszuführen.
  • 10
    Fahrzeug-Kommunikationssystem
    101
    Fahrzeugterminal
    102
    Primärspeichereinheit
    103
    Sekundärspeichereinheit
    104
    CPU
    105
    Anzeigeeinheit
    106
    Tonausgabeeinheit
    107
    interne Kommunikationseinheit
    108
    Fernsteuerungs-Kommunikationseinheit
    109
    externe Kommunikationseinheit
    111
    Klimaanlagensteuerung
    112
    Fahrzustandsmonitor
    113
    Bremszustandsmonitor
    114
    Fernsteuerung
    115
    tragbares Kommunikationsterminal
    116
    Zwischenprogramm-Verwaltungsserver
    121
    internes Netzwerk
    122
    externes Netzwerk
    1a1
    virtuelle Maschine
    1a2
    Verwendete-Ressourcen-Gruppe
    1a3
    Ressourcenverwaltungsabschnitt
    1a4
    Zwischencodeprogramm-Ladeabschnitt
    1a5
    Ausführungszwischencodeprogrammgruppe
    1a6
    Zwischencode-Ausführungsabschnitt
    1a7
    gemeinsamer Speichersicherungsbereich
    1b1
    virtuelle Maschine
    1b2
    Verwendete-Ressourcen-Gruppe
    1b3
    Ressourcenverwaltungsabschnitt
    1b4
    Zwischenprogramm-Ladeabschnitt
    1b5
    Ausführungszwischencodeprogrammgruppe
    1b6
    Ausführungsprozedur
    1b7
    gemeinsamer Speichersicherungsbereich
    131
    Virtuelle-Maschine-Verwaltungstask
    132
    Ressourcenbelegungszustandsliste
    1320, 1541, 1561
    Ressourcentyp
    1321, 1540, 1551, 1560
    Virtuelle-Maschine-ID
    133
    Schirmverwaltungsabschnitt
    134
    Tonausgabe-Verwaltungsabschnitt
    135
    Ereignisverwaltungsabschnitt
    136
    Zwischencodeprogramm-Verwaltungsabschnitt
    137
    Virtuelle-Maschine-Schaltsteuerabschnitt
    140
    Liste von auf Sicherheit getesteten Zwischencodes
    141
    gemeinsamer Speicher
    142
    andere Tasks
    143
    OS
    151
    Grundprogrammgruppe
    152
    Zwischencodeprogrammgruppe
    153
    Dateigruppe
    154
    Ressourcengrenzdaten
    1542
    Grenzwert
    155
    Ressourcenverletzungsverlauf
    1550
    Verletzungsdatum und -zeit
    1552
    Zwischencodeprogrammname
    1553
    verletzte Grenzdaten
    1554
    verletzter Umfang
    156
    Programmeinstellung beim Auftreten der Verletzung
    1562
    Verletzungszählwert
    1563
    Prozess beim Auftreten der Verletzung
    201
    Taskinformation
    202
    Dateiinformation
    203
    Semaphorinformation
    204
    dynamische Speicherbereichsinformation

Claims (4)

  1. Informationsterminal mit: einer virtuellen Maschine, die, in einem OS (Betriebssystem) ein Zwischencodeprogramm ausführt, bei dem es sich um ein durch einen Zwischencode repräsentiertes Programm handelt; einer Ressourcengrenzwert-Speichereinrichtung, die einen Grenzwert für eine durch die virtuelle Maschine verwendbaren Computerressource speichert; und einer Ressourcenverwaltungseinrichtung, in der, wenn von der virtuellen Maschine eine Anfrage zum Bereitstellen einer Ressource empfangen wird, auf den in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Grenzwert Bezug genommen wird; wobei wenn die Computerressource, die dadurch für die virtuelle Maschine verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, niedriger als der Grenzwert liegt, das OS dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen; und wenn die Computerressource, die für die virtuelle Maschine dadurch verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, dem Grenzwert entspricht oder höher liegt, das OS nicht dazu aufgefordert wird, die Computerressource auf die Anfrage hin bereitzustellen.
  2. Informationsterminal mit mehreren virtuellen Maschinen, von denen jede, in einem OS (Betriebssystem), ein Zwischencodeprogramm ausführt, das ein durch einen Zwischencode repräsentiertes Programm ist; einer Ressourcengrenzwert-Speichereinrichtung, in der kontinuierlich auswählbare Zählwerte, von denen jeder der maximal auswählbare Zählwert hinsichtlich jeder der mehre ren virtuellen Maschinen ist, so abgespeichert sind, dass sie jeweils den mehreren virtuellen Maschinen zugeordnet sind; und einer Virtuelle-Maschine-Schalteinrichtung, die jede der mehreren virtuellen Maschinen auf Grundlage der kontinuierlich auswählbaren, in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Zählwerte schaltet und ausführt; wobei sie mit vorbestimmten Intervallen ermittelt, ob sich die aktuell ausgewählte virtuelle Maschine in einem Bereitschaftszustand befindet oder nicht, und wenn sie sich im Bereitschaftszustand befindet, eine virtuelle Maschine auswählt, die von der aktuell ausgewählten virtuellen Maschine verschieden ist, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch einen kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; wenn sich die aktuell ausgewählte virtuelle Maschine in Ausführung befindet, auf den kontinuierlich auswählbaren, in der Ressourcengrenzwert-Speichereinrichtung gespeicherten Zählwert Bezug nimmt und dann, wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine dem ihr zugeordneten kontinuierlich auswählbaren Zählwert entspricht, eine virtuelle Maschine auswählt, die von der aktuell ausgewählten virtuellen Maschine verschieden ist, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; und wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine niedriger als der ihr zugeordnete kontinuierlich auswählbare Zählwert ist, erneut die aktuell ausgewählte virtuelle Maschine auswählt, das OS dazu anweist, die wieder ausgewählte virtuelle Maschine auszuführen, und sie den kontinuierlich ausgewählten Zählwert der wieder ausgewählten virtuellen Maschine um Eins inkrementiert.
  3. Computerressourcen-Verwaltungsverfahren für ein Informationsterminal, bei dem das Informationsterminal auf eine Ressourcengrenzwert-Speichereinrichtung Bezug nimmt, die einen Grenzwert einer durch eine virtuelle Maschine verwendbaren Computerressource speichert, wenn eine Anfrage zum Bereitstellen der Ressource von der virtuellen Maschine empfangen wird, die, in einem OS (Betriebssystem), ein Zwischencodeprogramm ausführt, bei dem es sich um ein durch einen Zwischencode repräsentierten Code handelt; das OS dazu auffordert, die Computerressource auf die Anforderung hin bereitzustellen, wenn eine Computerressource, die dadurch für die virtuelle Maschine verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, unter dem Grenzwert liegt; und das OS nicht dazu auffordert, auf die Anfrage hin die Computerressource bereitzustellen, wenn die Computerressource, die für die virtuelle Maschine dadurch verfügbar wird, dass sie auf die Anfrage hin bereitgestellt wird, dem Grenzwert entspricht oder höher ist.
  4. Virtuelle-Maschine-Ausführungsschaltverfahren für ein Informationsterminal, bei dem das Informationsterminal mit vorbestimmten Intervallen ermittelt, ob sich eine aktuell ausgewählte virtuelle Maschine unter mehreren virtuellen Maschinen, die jeweils, in einem OS (Betriebssystem), ein Zwischencodeprogramm ausführen, bei dem es sich um durch einen Zwischencode repräsentiertes Programm handelt, in einem Bereitschaftszustand befindet oder nicht; wenn sich die aktuell ausgewählte virtuelle Maschine im Bereitschaftszustand befindet, eine von dieser verschiedene virtuelle Maschine auswählt, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch den kon tinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; wenn sich die aktuell ausgewählte virtuelle Maschine im Ausführungszustand befindet, auf den in der Ressourcengrenzwert-Speichereinrichtung abgespeicherten kontinuierlich auswählbaren Zählwert Bezug nimmt; wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine dem ihr zugeordneten kontinuierlich auswählbaren Zählwert entspricht, eine virtuelle Maschine auswählt, die von der aktuell ausgewählten virtuellen Maschine verschieden ist, das OS dazu anweist, die ausgewählte virtuelle Maschine auszuführen, und sie auch den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine auf Eins einstellt; und wenn der kontinuierlich ausgewählte Zählwert der aktuell ausgewählten virtuellen Maschine niedriger als der ihr zugeordnete kontinuierlich auswählbare Zählwert ist, erneut die aktuell ausgewählte virtuelle Maschine auswählt und den kontinuierlich ausgewählten Zählwert der wieder ausgewählten virtuellen Maschine um Eins inkrementiert.
DE112006000016T 2005-06-28 2006-06-28 Informationsterminal, Computerressourcen-Verwaltungsverfahren sowie Schaltverfahren für die Ausführungsprozedur einer virtuellen Maschine Withdrawn DE112006000016T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005-188474 2005-06-28
JP2005188474A JP4955943B2 (ja) 2005-06-28 2005-06-28 情報端末および計算機資源管理方法
PCT/JP2006/312868 WO2007001014A1 (ja) 2005-06-28 2006-06-28 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法

Publications (1)

Publication Number Publication Date
DE112006000016T5 true DE112006000016T5 (de) 2008-04-03

Family

ID=37595263

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006000016T Withdrawn DE112006000016T5 (de) 2005-06-28 2006-06-28 Informationsterminal, Computerressourcen-Verwaltungsverfahren sowie Schaltverfahren für die Ausführungsprozedur einer virtuellen Maschine

Country Status (5)

Country Link
US (1) US8365180B2 (de)
JP (1) JP4955943B2 (de)
CN (1) CN100465902C (de)
DE (1) DE112006000016T5 (de)
WO (1) WO2007001014A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019081774A1 (de) 2017-10-26 2019-05-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur herstellung von gussteilen mit mikrokanälen

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140373144A9 (en) * 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
US8060883B1 (en) * 2007-02-16 2011-11-15 Vmware, Inc. System for managing and providing expandable resource reservations in a tree hierarchy
US8045828B2 (en) * 2007-07-09 2011-10-25 Kabushiki Kaisha Toshiba Apparatus for processing images, and method and computer program product for detecting image updates
JP4982347B2 (ja) * 2007-12-11 2012-07-25 株式会社東芝 画像情報の更新を検出するプログラム、方法および画像処理装置
JP5010492B2 (ja) * 2008-01-31 2012-08-29 株式会社東芝 通信装置、方法及びプログラム
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
JP5125659B2 (ja) * 2008-03-24 2013-01-23 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8522237B2 (en) * 2008-04-09 2013-08-27 The Boeing Company Virtualizing embedded systems
US9106697B2 (en) * 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
JP2012033001A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
US8869167B2 (en) * 2011-05-19 2014-10-21 International Business Machines Corporation Application hibernation
US8533715B2 (en) * 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
GB2506195A (en) * 2012-09-25 2014-03-26 Ibm Managing a virtual computer resource
WO2014109019A1 (ja) * 2013-01-09 2014-07-17 三菱電機株式会社 プラントエンジニアリングシステム
US9027098B2 (en) * 2013-03-14 2015-05-05 Genband Us Llc Systems, methods, and computer program products for recording service status of applications
JP6070355B2 (ja) * 2013-03-28 2017-02-01 富士通株式会社 仮想マシン制御プログラム,仮想マシン制御方法,仮想マシン制御装置及びクラウドシステム
US9280385B2 (en) * 2013-12-19 2016-03-08 International Business Machines Corporation Optimally provisioning and merging shared resources to maximize resource availability
CN103713957B (zh) * 2014-01-08 2018-12-14 厦门雅迅网络股份有限公司 一种车载终端利用串口实现cpu负担动态平衡的方法
US10274937B2 (en) * 2014-01-31 2019-04-30 AgBrain—Agritechnical Basic Research for Advanced Innovation GmbH Operating terminal of an agricultural machine with hypervisor software
US9582373B2 (en) * 2014-03-31 2017-02-28 Vmware, Inc. Methods and systems to hot-swap a virtual machine
US9690608B2 (en) * 2014-06-12 2017-06-27 Vmware, Inc. Method and system for managing hosts that run virtual machines within a cluster
JP6423645B2 (ja) * 2014-08-08 2018-11-14 キヤノン株式会社 画像形成装置およびリソース管理方法およびプログラム
WO2016077546A1 (en) * 2014-11-12 2016-05-19 Sikorsky Aircraft Corporation Centralized processing for aircraft operations
EP3243313B1 (de) 2015-01-07 2020-09-16 GoSecure Inc. System und verfahren zur überwachung eines computersystems unter verwendung eines maschineninterpretierbaren codes
DE102015214390A1 (de) * 2015-07-29 2017-02-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben wechselnder Gastsysteme unter einem Hypervisor
US9806956B1 (en) * 2016-09-15 2017-10-31 Sas Institute Inc. Managing computing resources by predicting resource usage
US10534646B2 (en) * 2017-05-09 2020-01-14 Sap Se Memory management for applications operating on java virtual machines
CN107729141B (zh) * 2017-09-27 2022-06-10 华为技术有限公司 一种业务分配方法、装置和服务器
US11175937B2 (en) * 2018-03-30 2021-11-16 The Boeing Company Virtualized avionics systems for operational environments
US10698668B1 (en) * 2018-05-29 2020-06-30 Amazon Technologies, Inc. Custom code transformations during compilation process
US10884779B2 (en) * 2018-12-07 2021-01-05 Nutanix, Inc. Systems and methods for selecting virtual machines to be migrated
JP7259656B2 (ja) * 2019-09-04 2023-04-18 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム
JP2021124902A (ja) * 2020-02-04 2021-08-30 トヨタ自動車株式会社 車両制御装置、車両制御方法、及び車両制御プログラム
CN112699458B (zh) * 2020-12-28 2023-03-03 东风汽车集团有限公司 一种车载域控制器算力计算方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0566954A (ja) * 1991-09-05 1993-03-19 Kobe Nippon Denki Software Kk タイムスライス最適化方式
JPH07200315A (ja) * 1994-01-07 1995-08-04 Fuji Facom Corp 計算機システムにおけるプロセスのスケジューリング装置
JPH07311688A (ja) 1994-05-19 1995-11-28 Nec Corp システム資源管理方法及び装置
JPH08328880A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp 複数のアプリケーションプログラムを同時に実行できるオペレーティングシステムにおける計算機運転管理システム
JP2000267869A (ja) * 1999-03-19 2000-09-29 Ntt Communicationware Corp リソース異常制御方法、リソース異常制御装置、コンピュータシステムおよび記録媒体
DE60042937D1 (de) * 1999-11-30 2009-10-22 Sun Microsystems Inc Verfahren und vorrichtungen zur kommunikation zwischen ressourcenbereichen
US6510448B1 (en) * 2000-01-31 2003-01-21 Networks Associates Technology, Inc. System, method and computer program product for increasing the performance of a proxy server
JP3927027B2 (ja) * 2001-12-21 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ リソース制御システム、リソース制御方法、及びこれらに用いて好適な基地局
JP2003330732A (ja) * 2002-05-17 2003-11-21 Canon Inc 画像形成装置、制御方法、制御プログラム
JP2004151809A (ja) * 2002-10-29 2004-05-27 Nec Corp 情報処理装置およびプログラム
US20050125537A1 (en) * 2003-11-26 2005-06-09 Martins Fernando C.M. Method, apparatus and system for resource sharing in grid computing networks
US20050177635A1 (en) * 2003-12-18 2005-08-11 Roland Schmidt System and method for allocating server resources
US7228331B2 (en) * 2004-05-04 2007-06-05 Nokia, Inc. User oriented penalty count random rejection of electronic messages
JP2006107197A (ja) * 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
JP4215037B2 (ja) * 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019081774A1 (de) 2017-10-26 2019-05-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur herstellung von gussteilen mit mikrokanälen

Also Published As

Publication number Publication date
JP2007011491A (ja) 2007-01-18
CN100465902C (zh) 2009-03-04
JP4955943B2 (ja) 2012-06-20
US20080301673A1 (en) 2008-12-04
WO2007001014A1 (ja) 2007-01-04
CN1969261A (zh) 2007-05-23
US8365180B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
DE112006000016T5 (de) Informationsterminal, Computerressourcen-Verwaltungsverfahren sowie Schaltverfahren für die Ausführungsprozedur einer virtuellen Maschine
DE112010003554B4 (de) Symmetrische Direktmigration von Virtuellen Maschinen
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE102014101392B4 (de) Konfigurieren eines Geräts ausgehend von der Nähe zu anderen Geräten
DE102013217995B4 (de) Verfahren und System zum Thread-Scheduling (Fadenzuteilung)
DE69023499T2 (de) Rechner mit erweitertem virtuellem Speicher.
DE102014002021A1 (de) Informationsverarbeitungsvorrichtung und Verfahren dafür
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE112012004893B4 (de) Implementieren eines Software-Abbildes auf mehreren Zielen unter Verwendung einer Datenstromtechnik
DE112011103829T5 (de) Verfahren und System zum Erzeugen einer virtuellen Maschine auf der Grundlage von Vorlagen
DE112011104356T5 (de) Heraufstufen von Software-Images auf der Grundlage von Streaming-Technik
DE102015102678A1 (de) Startabbild- discovery und -bereitstellung
DE112011102443T5 (de) Server-Verwaltung unter Verwendung eines Baseboard Management Controllers zum Aufbau eines Drahtlosnetzwerks
DE102013103293A1 (de) Serverschrank und Verfahren für gleichzeitiges Aktualisieren der Basisdatenaustauschsysteme
DE112012005973T5 (de) Informationsverarbeitungsvorrichtung, elektronische Steuereinheit, Informationsverarbeitungsverfahren und Programm
DE102015015196A1 (de) Verwaltungssystem und Steuerungsverfahren für Verwaltungssystem
DE112016001377B4 (de) Fahrzeugbordsystem
DE102014225538A1 (de) Verwaltungsvorrichtung und verwaltungsverfahren für eine verwaltungsvorrichtung
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE112016007336T5 (de) Informationsverarbeitungsvorrichtung, Vorrichtungszuweisungsverfahren undVorrichtungszuweisungsprogramm
DE102021130897A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE102022101068A1 (de) Absichts-basierte dynamische northbound-anwendungsschnittstelle
DE102012221512A1 (de) Steuern der Verwendung virtueller Festplatten vor deren Anbindung an virtuelle Maschinen
DE112021003803T5 (de) Pool-verwaltung für den anwendungsstart in einer bordeinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R082 Change of representative

Representative=s name: PATENTANWAELTE STREHL, SCHUEBEL-HOPF & PARTNER, DE

R081 Change of applicant/patentee

Owner name: CLARION CO., LTD., JP

Free format text: FORMER OWNER: XANAVI INFORMATICS CORP., ZAMA-SHI, JP

Effective date: 20140311

Owner name: CLARION CO., LTD., SAITAMA-SHI, JP

Free format text: FORMER OWNER: XANAVI INFORMATICS CORP., ZAMA-SHI, KANAGAWA, JP

Effective date: 20140311

R082 Change of representative

Representative=s name: PATENTANWAELTE STREHL, SCHUEBEL-HOPF & PARTNER, DE

Effective date: 20140311

Representative=s name: STREHL SCHUEBEL-HOPF & PARTNER MBB PATENTANWAE, DE

Effective date: 20140311

R009 Remittal by federal patent court to dpma for new decision or registration
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee