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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime 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
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-Kommunikationssystems10 betreffend eine Ausführungsform der Erfindung. Das Fahrzeug-Kommunikationssystem10 ist an einem sich bewegenden Objekt wie einem Fahrzeug angebracht, und es ist mit einem Fahrzeugterminal101 versehen. Das Fahrzeugterminal101 ist über ein internes Netzwerk121 mit einer Klimaanlagensteuerung111 , einem Fahrzustandsmonitor112 , einem Bremszustandsmonitor113 und dergleichen verbunden. Das Fahrzeugterminal101 erhält von der obigen Anlage den Fahrzeugzustand, und es steuert die Klimaanlage und dergleichen. Das Fahrzeugterminal101 führt mit einer durch eine im Fahrzeug befindliche Person bediente Fernsteuerung114 eine leitungsgebundene oder drahtlose Kommunikation aus. Die Person im Fahrzeug bedient das Fahrzeugterminal101 mittels der Fernsteuerung114 . - Das Fahrzeugterminal
101 führt mit einem Zwischencodeprogramm-Verwaltungsserver116 über ein tragbares Kommunikationsterminal115 und ein externes Netzwerk122 wie das Internet und ein Funktelefonnetz Kommunikationsvorgänge aus. Bei der vorliegenden Ausführungsform kann das tragbare Kommunikationsterminal115 ein Funk-Kommunikationsgerät wie ein Mobiltelefon und ein PDA sein, das außerhalb des Fahrzeugterminals101 installiert ist. Als alternatives Beispiel kann das Fahrzeugterminal101 über Funktionen wie das tragbare Kommunikationsterminal115 verfügen. - Der Zwischencodeprogramm-Verwaltungsserver
116 versorgt das Fahrzeugterminal101 über das externe Netzwerk122 und das tragbare Kommunikationsterminal115 mit einem Programm und dergleichen, das in ihm abzuarbeiten ist. Ferner erhält der Zwischencodeprogramm-Verwaltungsserver116 vom Fahrzeugterminal101 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 Fahrzeugterminal101 verfügt über eine Primärspeichereinheit102 , eine Sekundärspeichereinheit103 , eine CPU104 , eine Anzeigeeinheit105 , eine Tonausgabeeinheit106 , eine interne Kommunikationseinheit107 , eine Fernsteuerungs-Kommunikationseinheit108 und eine externe Kommunikationseinheit109 . - 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ärspeichereinheit103 verfügt über eine Grundprogrammgruppe151 , eine Zwischencodeprogrammgruppe152 , eine Dateigruppe153 , Ressourcengrenzdaten154 , einen Ressourcenverletzungsverlauf155 sowie die Prozesseinstellung156 beim Auftreten einer Verletzung. Die CPU104 lädt das Programm und dergleichen, wie sie in der Sekundärspeichereinheit103 abgespeichert sind, zu einem vorbestimmten Zeitpunkt, wie dem Einschalten der Spannung im Fahrzeugterminal101 , in die Primärspeichereinheit102 , und sie führt das geladene Programm aus. - Die Anzeigeeinheit
105 und die Tonausgabeeinheit106 versorgen eine Person im Fahrzeug unter Verwendung von Bildern bzw. Schall mit Information. Die Fernsteuerungs-Kommunikationseinheit108 erhält über die Fernsteuerung114 von der Person im Fahrzeug Bedienungsinformation. Ein Benutzer des Fahrzeugterminals101 gibt über die Fernsteuerung114 Information in es ein, und er empfängt über die Anzeigeeinheit105 und die Tonausgabeeinheit106 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 Fahrzeugterminal101 installiert sind, eingegeben werden. Die interne Kommunikationseinheit107 ist für das Ausführen von Kommunikationsvorgängen mit der Klimaanlagensteuerung111 und dergleichen über das interne Netzwerk121 zuständig. Die externe Kommunikationseinheit109 ist für das Ausführen von Kommunikationsvorgängen mit dem Zwischencodeprogramm-Verwaltungsserver116 und dergleichen über das tragbare Kommunikationsterminal115 und einen Fahrzustandsmonitor112 zuständig. - In die Primärspeichereinheit
102 werden mehrere Tasks und ein Betriebssystem143 (nachfolgend als "OS143 " bezeichnet) geladen. Diese mehreren Tasks werden unter der Verwaltung durch das OS143 parallel ausgeführt. Diese Tasks und das OS143 sind in der in der Sekundärspeichereinheit103 abgespeicherten Grundprogrammgruppe151 enthalten. - Jede der mehreren virtuellen Maschinen (virtuelle Maschine
1a1 ,1b1 ), deren Ausführungsprozeduren in der Primärspeichereinheit102 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 OS143 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 OS143 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 OS143 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-Verwaltungstask131 , andere Tasks142 und dergleichen geladen, und das OS143 verwaltet diese Tasks und führt sie aus. Ferner nutzt das OS143 eine interne Ablaufsteuerungsfunktion zum Ausführen aller Tasks auf parallele Weise, und es vermittelt den Austausch zwischen anderen Vorrichtungen außerhalb des Fahrzeugterminals101 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 Liste140 von auf Sicherheit getesteten Zwischencodes wird durch mehrere virtuelle Maschinen (virtuelle Maschine1a1 , virtuelle Maschine1b1 ) Bezug genommen. - Die Zwischencodeprogrammgruppe
152 speichert Codestrings des Zwischencodeprogramms, Einstellinformation des Programms und dergleichen. Das in der Zwischencodeprogrammgruppe152 gespeicherte Zwischencodeprogramm kann vorab beim Herstellen des Fahrzeugterminals101 abgespeichert werden, oder es kann in diesem abgespeichert werden, nachdem es über das externe Netzwerk122 und das tragbare Kommunikationsterminal115 vom Zwischenprogramm-Verwaltungsserver116 erhalten wurde. - Sowohl die virtuelle Maschine
1a1 als auch die virtuelle Maschine1b1 liest die Zwischencodestrings und dergleichen unter Verwendung eines JIT(Just-In-Time)-Compilers und dergleichen aus der Zwischencodeprogrammgruppe152 , um beispielsweise die so gelesenen Zwischencodestrings in ein zur Ausführung geeignetes Format zu wandeln und um dann die gewandelten Codestrings auszuführen. Die Dateigruppe153 speichert Daten und dergleichen, wie sie zum Ausführen dieser Tasks und des Zwischencodeprogramms erforderlich sind. Die Ressourcengrenzdaten154 sind Daten, die von der virtuellen Maschine1a1 und der virtuellen Maschine1b1 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 Maschine1a1 und die virtuelle Maschine1b1 die ihnen jeweils zugeordneten Ressourcengrenzen verletzen. Die Prozesseinstellung156 beim Auftreten einer Verletzung speichert Information hinsichtlich eines Prozesses, der einen Fall handhabt, bei dem sowohl die virtuelle Maschine1a1 als auch die virtuelle Maschine1b1 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-Gruppe1a2 , einen Ressourcenverwaltungsabschnitt1a3 , einen Zwischencodeprogramm-Ladeabschnitt1a4 , eine Ausführungszwischencodeprogrammgruppe1a5 und einen Zwischencode-Ausführungsabschnitt1a6 . Bei diesem Beispiel verfügen die virtuelle Maschine1a1 und die virtuelle Maschine1b1 ü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ührungszwischencodeprogrammgruppe1a5 enthält den Programmcode des das Ausführungsziel bildenden Zwischencodeprogramms. Der Zwischencodeprogramm-Ladeabschnitt1a4 lädt aus der Zwischencodeprogrammgruppe152 in der Sekundärspeichereinheit103 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ührungszwischencodeprogrammgruppe1a5 ab. - Der Zwischencode-Ausführungsabschnitt
1a6 führt ein in der Ausführungszwischencodeprogrammgruppe1a5 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ührungsabschnitt1a6 den Ressourcenverwaltungsabschnitt1a3 dazu auf, die entsprechenden Computerressourcen bereitzustellen, freizugeben oder zu handhaben. - Der Ressourcenverwaltungsabschnitt
1a3 führt eine Verwaltung der Verwendete-Ressourcen-Gruppe1a2 aus, und er führt beispielsweise die folgenden Operationen aus: Initialisieren der Verwendete-Ressourcen-Gruppe1a2 beim Starten der virtuellen Maschine; wenn eine Anfrage vom Zwischencode-Ausführungsabschnitt1a6 vorliegt, die Computerressourcen bereitzustellen oder handzuhaben, wird auf die Ressourcengrenzdaten154 innerhalb der Sekundärspeichereinheit103 Bezug genommen, und das OS143 wird dazu aufgefordert, Ressourcen in Reaktion auf die Anfrage bereitzustellen oder zu handhaben, wenn die Anfrage innerhalb des Ressourcengrenzwerts liegt, der in der virtuellen Maschine1a1 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 Fahrzeugterminals101 , Löschen der durch jede der virtuellen Maschinen ausgeführten Zwischencodeprogramme, und Steuern der geeigneten Zeit der CPU104 durch jede der virtuellen Maschinen. Der Virtuelle-Maschine-Verwaltungstask131 beinhaltet eine Ressourcenbelegungszustandsliste132 , einen Schirmverwaltungsabschnitt133 , einen Tonausgabe-Verwaltungsabschnitt134 , einen Ereignisverwaltungsabschnitt135 , einen Zwischencodeprogramm-Verwaltungsabschnitt136 und einen Virtuelle-Maschine-Schaltsteuerabschnitt137 . - Die Ressourcenbelegungszustandsliste
132 enthält Zustandsinformation zum Identifizieren einer virtuellen Maschine, die die Anzeigeeinheit105 , die Tonausgabeeinheit106 oder die Fernsteuerungs-Kommunikationseinheit108 in Anspruch nimmt. Der Schirmverwaltungsabschnitt133 steuert das Recht zum Belegen der Anzeigeeinheit105 durch die virtuelle Maschine, und er speichert in der Ressourcenbelegungszustandsliste132 Kennungsinformation zur virtuellen Maschine ab, die aktuell die Anzeigeeinheit105 belegt. Der Tonausgabe-Verwaltungsabschnitt134 steuert das Recht zum Belegen der Tonausgabeeinheit106 durch die virtuelle Maschine, und er speichert in der Ressourcenbelegungszustandsliste132 Kennungsinformation zur virtuellen Maschine ab, die aktuell die Tonausgabeeinheit106 belegt. Der Ereignisverwaltungsabschnitt135 steuert das Recht, die Fernsteuerungs-Kommunikationseinheit108 durch die virtuelle Maschine zu belegen, und er speichert in der Ressourcenbelegungszustandsliste132 Kennungsinformation der virtuellen Maschine ab, die aktuell die Fernsteuerungs-Kommunikationseinheit108 belegt. - Der Zwischencodeprogramm-Verwaltungsabschnitt
136 verwaltet die Zwischencodeprogrammgruppe152 innerhalb der Sekundärspeichereinheit103 , 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-Schaltsteuerabschnitt137 weist das OS143 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 CPU104 in Anspruch nimmt. - Die
2 zeigt ein Beispiel der Detailkonfiguration der Verwendete-Ressourcen-Gruppe1a2 und der Verwendete-Ressourcen-Gruppe1b2 . Die Verwendete-Ressourcen-Gruppe1b2 speichert Information jeder der durch die virtuelle Maschine1a1 bereitgestellten Ressourcen in Zuordnung der Information zu den Ressourcentypen, die den Typ der Ressourcen kennzeichnen. Da die Verwendete-Ressourcen-Gruppe1a2 und die Verwendete-Ressourcen-Gruppe1b2 über dieselbe Konfiguration verfügen, erfolgt eine Erläuterung nur hinsichtlich der Verwendete-Ressourcen-Gruppe1a2 , während eine Erläuterung der Verwendete-Ressourcen-Gruppe1b2 weggelassen wird. Die Verwendete-Ressourcen-Gruppe1a2 speichert Taskinformation201 , Dateiinformation202 , Semaphorinformation103 und dynamische Speicherbereichsinformation204 . - Die Taskinformation
201 speichert den Zustand des Tasks, der einem jeweiligen der mehreren Virtuelle-Maschine-Tasks in der virtuellen Maschine, die durch das OS143 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 Maschine1a1 ausgeführten Zwischencodeprogramms, und diese Priorität vom OS143 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 OS143 verwalteten Task bereitzustellen, fordert er den Ressourcenverwaltungsabschnitt1a3 dazu auf, diesen Task bereitzustellen. Dann nimmt der Ressourcenverwaltungsabschnitt1a3 auf die Ressourcengrenzdaten154 Bezug, und wenn diese Anfrage dem Grenzwert genügt, fordert der Ressourcenverwaltungsabschnitt1a3 das OS143 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 Taskinformation201 hinzu. Wenn der Ressourcenverwaltungsabschnitt1a3 eine Abschlussmitteilung für den so durch den Zwischencode-Ausführungsabschnitt1a6 bereitgestellten Task empfängt, ändert er den Zustand des entsprechenden Tasks in der Taskinformation201 auf "Bereitschaft". Dabei weist der Ressourcenverwaltungsabschnitt1a3 das OS143 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ärspeichereinheit103 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 Ressourcenverwaltungsabschnitt1a3 dazu auf, die Datei oder dergleichen zu erzeugen. Dann nimmt der Ressourcenverwaltungsabschnitt1a3 auf die Ressourcengrenzdaten154 Bezug, und wenn die Anfrage dem Grenzwert genügt, fordert er das OS143 dazu auf, die Datei oder dergleichen auf die Anfrage hin zu erzeugen, und er ändert die Dateiinformation202 . - 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 OS143 beim Start dazu auf, Semaphore entsprechend einer eingeschränkten Anzahl von Einheiten bereitzustellen, und sie speichert die Semaphore in der Semaphorinformation203 , nachdem der Zustand aller Semaphore auf "Bereitschaft" geändert wurde. - Wenn der Ressourcenverwaltungsabschnitt
1a3 die Anfrage zur Verwendung eines Semaphors vom Zwischencode-Ausführungsabschnitt1a6 empfängt, nimmt er auf die Semaphorinformation203 Bezug, er ändert einen der Semaphore vom Zustand "Bereitschaft" auf "in Gebrauch", und er informiert den Zwischencode-Ausführungsabschnitt1a6 über die Erlaubnis zur Verwendung des Semaphors. Wenn der Ressourcenverwaltungsabschnitt1a3 eine Anfrage zum Freigeben eines Semaphors vom Zwischencode-Ausführungsabschnitt1a6 empfängt, fordert er das OS143 nicht dazu auf, den Semaphor freizugeben, sondern er ändert den Zustand desselben auf "Bereitschaft". Wie auf diese Weise beschrieben, führt die virtuelle Maschine1a1 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 abschnitt1a6 dynamisch bereitgestellt wird. Jede der virtuellen Maschinen fordert das OS143 beim Start dazu auf, Speicher entsprechend eingeschränkter Größe bereitzustellen, und auf eine Speicherbereitstellanfrage vom Zwischencode-Ausführungsabschnitt1a6 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 Ressourcenverwaltungsabschnitt1a3 dazu auf, den Speicher oder dergleichen bereitzustellen. Dann nimmt der Ressourcenverwaltungsabschnitt1a3 auf die Ressourcengrenzdaten154 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-Gruppe1b2 Zugriffsrechte und Plattenunterteilungen, Schnittstellen oder dergleichen, zusätzlich zu den obigen Computerressourcen, speichern können. - Die
3 zeigt ein Beispiel einer Detailkonfiguration der Ressourcenbelegungszustandsliste132 . Die Ressourcenbelegungszustandsliste132 speichert eine Virtuelle-Maschine-ID1321 , die aktuell die Computerressource belegt, um eine Zuordnung zu einem Ressourcentyp1320 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 Liste140 für auf Sicherheit getestete Zwischencodes. Die Liste140 für auf Sicherheit getestete Zwischencodes speichert den Stringnamen1401 für auf Sicherheit getestete Zwischencodes, für die ein Sicherheitstest durch den Zwischencodeprogramm-Ladeabschnitt1a4 abgeschlossen wurde, und eine ID1402 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 Zwischencodeprogrammnamen1400 zuzuordnen. Unter Bezugnahme auf die Liste140 von auf Sicherheit getestete Zwischencodes ist es möglich, dass die virtuelle Maschine1a1 und die virtuelle Maschine1b1 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-Ladeabschnitt1a4 auszuführen. - Die
5 zeigt ein Beispiel einer Detailkonfiguration der Ressourcengrenzdaten154 . Die Ressourcengrenzdaten154 führen eine Speicherung und Zuordnung von Ressourcentypen1541 jeweils mit Grenzwerten1542 der Computerressourcen hinsichtlich jeder Virtuelle-Maschine-ID1540 , für die der Grenzwert angewandt wird, aus. Die jeweiligen Grenzwerte1542 für die Computerressourcen, die in den Ressourcengrenzdaten154 eingestellt sind, werden vorab beispielsweise durch den Hersteller oder dergleichen, beim Versand des Fahrzeugterminals101 konfiguriert. - Bei diesem Beispiel kennzeichnet "aaa" die Virtuelle-Maschine-ID der virtuellen Maschine
1a1 , und "bbb" kennzeichnet die Virtuelle-Maschine-ID der virtuellen Maschine1b1 . Für die Ressourcengrenzdaten154 ist ein Beispiel dargestellt, bei dem die virtuelle Maschine1a1 unter der Annahme konfiguriert ist, dass sie ein Zwischencodeprogramm ausführt, das wesentlicher als das der virtuellen Maschine1b1 ist. Daher sind die Grenzwerte der der virtuellen Maschine1a1 zugeordneten Computerressourcen höher eingestellt, und diejenigen der der virtuellen Maschine1b1 zugeordneten Computerressourcen sind niedriger eingestellt, so dass die virtuelle Maschine1a1 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 Grundprogrammgruppe151 , 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 Ressourcenverletzungsverlaufs155 . Der Ressourcenverletzungsverlauf155 speichert eine Virtuelle-Maschine-ID1551 , einen Zwischencodeprogrammnamen1552 , der den Grenzwert verletzt hat, einen verletzten Grenzwert1553 und einen Verletzungsumfang1554 , um diese dem Verletzungsdatum und dem Verletzungszeitpunkt1550 zuzuordnen, zu denen die Grenze verletzt wurde. - Unter Bezugnahme auf den Ressourcenverletzungsverlauf
155 kann die CPU104 den Zwischencodeprogramm-Verwaltungsserver116 über den Inhalt einer auftretenden Grenzverletzung über das tragbare Kommunikationsterminal115 und das externe Netzwerk122 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 Prozesseinstellung156 , wenn eine Verletzung auftritt. Die Prozesseinstellung156 , wenn eine Verletzung auftritt, definiert Prozesse, wie sie jeweils auszuführen sind, wenn Verletzungen der Grenzwerte auftreten, wobei die Grenzwerte in der5 dargestellt sind. Die Prozesseinstellung156 bei der Verletzung speichert den Verletzungszählwert1562 der Computerressourcen sowie die Verarbeitung1563 beim Auftreten der Verletzung, wie sie ausgeführt wird, wenn die Verletzung des Grenzwerts erkannt wird, was für jede Virtuelle-Maschine-ID1560 , für die die Verarbeitung gilt, auf solche Weise erfolgt, dass eine Zuordnung zu den Ressourcentypen1561 vorliegt. Beispielsweise wird die Prozesseinstellung156 beim Auftreten einer Verletzung vorab beim Versatz des Fahrzeugterminals101 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 Maschine1a1 drei Mal auftritt, wird diese aufgehoben und beendet, und der Zwischencodeprogramm-Verwaltungsserver116 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 Maschine1a1 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 Fahrzeugterminals101 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 bis18 Operationen des Fahrzeugterminals101 erläutert. - Die
8 ist ein Flussdiagramm, das ein Beispiel von Operationen im Fahrzeugterminal101 zeigt. Das Fahrzeugterminal101 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 Maschine1a1 , der virtuellen Maschine1b1 und dem Virtuelle-Maschine-Verwaltungstask131 . Es sei hier darauf hingewiesen, dass in den folgenden Beschreibungsteilen die virtuelle Maschine1a1 und die virtuelle Maschine1b1 dieselbe Verarbeitung ausführen. Daher erfolgen Erläuterungen nur hinsichtlich der virtuellen Maschine1a1 für die Verarbeitung, die zwischen ihr und der virtuellen Maschine1b1 identisch ist. - Der Ressourcenverwaltungsabschnitt
1a3 liest die Ressourcengrenzdaten154 , 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 Zwischencodeprogrammgruppe152 (S200). Bei dieser Gelegenheit wandelt der Zwischencodeprogramm-Ladeabschnitt1a4 das so gelesene Zwischencodeprogramm in ein ausführbares Format, und er speichert es in einer Ausführbare-Zwischencodeprogramme-Gruppe1a5 . Dann führt der Zwischencode-Ausführungsabschnitt1a6 ein in der Ausführungszwischencodeprogrammgruppe1a5 gespeichertes Programm aus (S300). - Die
9 ist ein Flussdiagramm, das ein Beispiel eines Leseprozesses für Ressourcengrenzdaten zeigt (S100). Der Ressourcenverwaltungsabschnitt1a3 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 Ressourcenverwaltungsabschnitt1a3 Semaphore entsprechend dem Grenzwert durch Ausführen einer Anfrage beim OS143 bereitstellt, er den Zustand aller dem Grenzwert entsprechenden, so bereitgestellten Semaphore auf "Bereitschaft" ändert und sie in der Verwendete-Ressourcen-Gruppe1a2 registriert. In ähnlicher Weise stellt der Ressourcenverwaltungsabschnitt1a3 im Schritt104 , 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 OS143 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-Gruppe1a2 . - Die
10 ist ein Flussdiagramm, das ein Beispiel des Zwischencodeprogramm-Leseprozesses (S200) zeigt. Als Erstes erhält der Zwischencodeprogramm-Ladeabschnitt1a4 eine Liste, in der Kennungsinformation der zu lesenden Zwischencodeprogramme beschrieben ist, von der Zwischencodeprogrammgruppe152 (S201). Dann wählt der Zwischencodeprogramm-Ladeabschnitt1a4 eines der in der erhaltenen Liste angegebenen Zwischencodeprogramme aus (S202). - Der Zwischencodeprogramm-Ladeabschnitt
1a4 nimmt auf die Liste140 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-Ladeabschnitt1a4 eine Verarbeitung aus, wie es im Schritt207 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 Schritt204 führt der Zwischencodeprogramm-Ladeabschnitt1a4 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 Liste140 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-Ladeabschnitt1a4 die im Schritt203 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 über105 und dergleichen an den Benutzer des Fahrzeugterminals101 eine Mitteilung dahingehend aus, dass ein Sicherheitsproblem existiert, und er informiert den Zwischencodeprogramm-Verwaltungsserver116 über das tragbare Kommunikationsterminal115 und das externe Netzwerk122 über das Problem (S208). Dann weist der Zwischencodeprogramm-Ladeabschnitt1a4 den Zwischencode-Ausführungsabschnitt1a6 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ührungsabschnitt1a6 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ührungsabschnitt1a6 , 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ührungsabschnitt1a6 im Schritt301 den nächsten Befehl des Zwischencodestrings aus. Wenn die Ausführung des Zwischencodeprogramms abgeschlossen ist (S308: Ja), beendet der Zwischencode-Ausführungsabschnitt1a6 die im vorliegenden Flussdiagramm dargestellte Verarbeitung. - Wenn ein Aufruf der nativen Funktionen erforderlich ist (S302: Ja), weist der Zwischencode-Ausführungsabschnitt
1a6 den Ressourcenverwaltungsabschnitt1a3 an, die entsprechenden nativen Funktionen auszuführen (S400, S500, S600, S303, S304). Einzelheiten der Verarbeitung im Schritt400 bis zum Schritt600 werden unten beschrieben. Im Schritt303 nimmt der Ressourcenverwaltungsabschnitt1a3 auf die Ressourcengrenzdaten154 innerhalb der Sekundärspeichereinheit103 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 Schritt304 führt der Ressourcenverwaltungsabschnitt1a3 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 Ressourcenverwaltungsabschnitt1a3 den Zwischencode-Ausführungsabschnitt1a6 über die Fehlerinformation, wodurch dieser eine Fehlerverarbeitung ausführen kann (S307), und dann den im Schritt308 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 Ressourcenverwaltungsabschnitt1a3 , ob die Verarbeitung ein Taskerzeugungsprozess ist oder nicht (S401), und wenn es ein Taskerzeugungsprozess ist, nimmt er auf die Verwendete-Ressourcen-Gruppe1a2 Bezug und ermittelt, ob ein nicht verwendeter Task vorhanden ist oder nicht (S402). Wenn ein nicht verwendeter Task vorhanden ist (S402: Ja), fordert der Ressourcenverwaltungsabschnitt1a3 das OS143 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 Ressourcenverwaltungsabschnitt1a4 den Zwischencode-Ausführungsabschnitt1a6 ü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 OS143 dazu auf, einen Task zu erzeugen (S404). Dann ändert der Ressourcenverwaltungsabschnitt1a3 den Zustand des so erzeugten Tasks auf "in Gebrauch", er registriert den Task in der Verwendete-Ressourcen-Gruppe1a2 (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 OS143 dazu auf, den Zustand des entsprechenden Tasks auf "Bereitschaft" zu ändern, um dadurch den Task aufzuheben (S408). Im Schritt408 fordert der Ressourcenverwaltungsabschnitt1a3 das OS143 nicht dazu auf, den aufzuhebenden Task freizugeben, sondern er bleibt bereitgestellt. Der Ressourcenverwaltungsabschnitt1a3 ändert den Zustand des aufgehobenen Tasks innerhalb der Verwendete-Ressourcen-Gruppe1a2 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 Ressourcenverwaltungsabschnitt1a3 , wenn eine Anfrage vom Zwischencode-Ausführungsabschnitt1a6 ein Dateierzeugungsprozess ist (S501: Ja), auf die Ressourcengrenzdaten154 Bezug, und er ermittelt, ob die Erzeugung einer Datei auf die Anfrage vom Zwischencode-Ausführungsabschnitt1a6 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 Ressourcenverwaltungsabschnitt1a3 den Zwischencode-Ausführungsabschnitt1a6 ü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 Maschine1a1 ein Zugriffsrecht auf ein Plattengebiet hat, in dem die Datei zu erzeugen ist (S503: Ja). Dann registriert der Ressourcenverwaltungsabschnitt1a3 Information zur erzeugten Datei in der Verwendete-Ressourcen-Gruppe1a2 (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 Ressourcenverwaltungsabschnitt1a3 auf die Ressourcengrenzdaten154 Bezug, und er ermittelt, ob die Größe der so in Reaktion auf die Anfrage vom Zwischencode-Ausführungsabschnitt1a6 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 Ressourcenverwaltungsabschnitt1a3 die im Schritt506 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ührungsabschnitt1a6 , Daten in die Datei zu schreiben (S509), er ändert die Größe der entsprechenden Datei innerhalb der Verwendete-Ressourcen-Gruppe1a2 (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 Ressourcenverwaltungsabschnitt1a3 die Datei (S511), er löscht die entsprechende Dateiinformation in der Verwendete-Ressourcen-Gruppe1a2 (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 Ressourcenverwaltungsabschnitt1a3 , ob die Verarbeitung eine Semaphorerzeugung ist oder nicht (S601), und wenn es sich um eine Semaphorerzeugung handelt, nimmt er auf die Verwendete-Ressourcen-Gruppe1a2 Bezug, und er ermittelt, ob ein unverwendeter Semaphor vorliegt oder nicht (S602). Wenn ein unverwendeter Semaphor vorliegt (S602: Ja), informiert der Ressourcenverwaltungsabschnitt1a3 den Zwischencode-Ausführungsabschnitt1a6 über die Erlaubnis zum Verwenden des Semaphors, und er ändert den Zustand desselben innerhalb der Verwendete-Ressourcen-Gruppe1a2 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ührungsabschnitt1a6 ü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 Ressourcenverwaltungsabschnitt1a3 den Zustand des entsprechenden Semaphors innerhalb der Verwendete-Ressourcen-Gruppe1a2 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 OS143 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 OS143 nicht dazu aufgefordert, den Semaphor freizugeben, sondern sein Zustand wird auf "Bereitschaft" geändert. - Wie es in den
12 bis14 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 Ressourcenverwaltungsabschnitt1a3 den Inhalt einer Grenzverletzung, die in einem der Schritte400 ,500 ,600 ,303 oder304 aufgetreten ist, wie es in der11 dargestellt ist, im Ressourcenverletzungsverlauf155 auf (S701). Unter Bezugnahme auf den Ressourcenverletzungsverlauf155 und die Prozesseinstellung156 beim Auftreten der Verletzung ermittelt der Ressourcenverwaltungsabschnitt1a3 , 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 Reinigungsvorgang155 und die Prozesseinstellung156 beim Auftreten der Verletzung Bezug. Wenn entsprechend der aufgetretenen Verletzung eine Aufhebung der virtuellen Maschine erforderlich ist (S703: Ja), weist der Ressourcenverwaltungsabschnitt1a3 den Virtuelle-Maschine-Schaltsteuerabschnitt137 dazu an, die entsprechende virtuelle Maschine aufzuheben (S704), und es wird die im Schritt705 angegebene Verarbeitung ausgeführt. Wenn keine Aufhebung der virtuellen Maschine erforderlich ist (S703: Nein), wird die im Schritt705 dargestellte Verarbeitung ausgeführt. - Wenn der Ressourcenverwaltungsabschnitt
1a3 unter Bezugnahme auf den Ressourcenverletzungsverlauf155 und die Prozesseinstellung156 beim Auftreten der Verletzung ermittelt, dass entsprechend der aufgetretenen Verletzung eine Beendigung der virtuellen Maschine erforderlich ist (S702: Ja), weist er den Virtuelle-Maschine-Schaltsteuerabschnitt137 dazu an, die entsprechende virtuelle Maschine zu beenden (S720). - Als Nächstes wird, unter Bezugnahme auf den Ressourcenverletzungsverlauf
155 und die Prozesseinstellung156 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 Schritt707 angegebene Verarbeitung ausgeführt. Wenn es erforderlich ist, das entsprechende Zwischencodeprogramm zu löschen (S075: Ja), fordert der Ressourcenverwaltungsabschnitt1a3 den Zwischencodeprogramm-Verwaltungsabschnitt1a6 dazu auf, das entsprechende Zwischencodeprogramm zu löschen, um es ihm dadurch zu ermöglichen, das entsprechende Zwischencodeprogramm zu löschen (S706). Im Schritt706 löscht der Zwischencodeprogramm-Verwaltungsabschnitt136 das Zwischencodeprogramm als Löschziel aus den anderen Tasks142 . - Die
16 ist ein Flussdiagramm, das ein Beispiel des Virtuelle-Maschine-Beendigungsprozesses zeigt (S720). Als Erstes nimmt der Ressourcenverwaltungsabschnitt1a3 auf die Verwendete-Ressourcen-Gruppe1a2 Bezug, er wählt eine der Computerressourcen aus, die durch das zu beendende Zwischencodeprogramm bereitgestellt wurden (S721), und er fordert das OS143 dazu auf, die ausgewählte Computerressource freizugeben (S722). Dann ermittelt der Ressourcenverwaltungsabschnitt1a3 , 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 Schritt721 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 Ressourcenverwaltungsabschnitt1a3 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-Schaltsteuerabschnitts137 zeigt. Der Virtuelle-Maschine-Schaltsteuerabschnitt137 startet die im vor liegenden Flussdiagramm angegebene Verarbeitung zu einem vorbestimmten Zeitpunkt, wie dann, wenn Spannung an das Fahrzeugterminal101 angelegt wird. Als Erstes ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt137 , 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 Schritt801 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-Schaltsteuerabschnitt137 , 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 Schritt806 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 OS143 dazu auf, diejenigen Tasks vorübergehend aufzuheben, die den gesamten Tasks entsprechen, die der aktuell aktiven virtuellen Maschine entsprechen und durch das OS143 verwaltet werden (S803). Dann führt der Virtuelle-Maschine-Schaltsteuerabschnitt137 eine Vorbereitung zum Umschalten der virtuellen Maschinen aus (S804). Im Schritt804 führt der Virtuelle-Maschine-Schaltsteuerabschnitt137 eine Verarbeitung wie ein Umschreiben der Virtuelle-Maschine-ID1321 in Zuordnung mit dem durch die ausgewählte virtuelle Maschine verwendeten Ressourcentyp in der Ressourcenbelegungszustandsliste132 und das Abspeichern einer Ausführungsumgebung aus, wie das Abspeichern eines global variablen Bereichs, der im gemeinsamen Speicher141 durch den Task verwendet wurde, der der virtuellen Maschine zugeordnet war, die aktiv war, im gemeinsamen Speichersicherungsbereich1a7 oder im gemeinsamen Speichersicherungsbereich1b7 der virtuellen Maschine, die aktiv war. - Als Nächstes fordert der Virtuelle-Maschine-Schaltsteuerabschnitt
137 das OS143 dazu auf, die Ausführung des Tasks neu zu starten, der der im Schritt2602 ausgewählten virtuellen Maschine zugeordnet ist (S805). Dann wartet der Virtuelle-Maschine-Schaltsteuerabschnitt137 für eine vorbestimmte Zeitperiode, wie 100 ms (S806), und dann führt er erneut die im Schritt801 angegebene Verarbeitung aus. - Die
18 ist ein Flussdiagramm, das ein Beispiel des Virtuelle-Maschine-Wiederauswählprozesses zeigt (S810). Als Erstes fragt der Virtuelle-Maschine-Schaltsteuerabschnitt137 das OS143 ab, um den Zustand des aktuell aktiven Tasks, d. h. des zuvor ausgewählten Tasks, zu erfassen (S811). Dann ermittelt der Virtuelle-Maschine-Schaltsteuerabschnitt137 , 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 Schritt814 speichert der Virtuelle-Maschine-Schaltabschnitt137 den kontinuierlich ausgewählten Zählwert der ausgewählten virtuellen Maschine. Außerdem berechnet der Virtuelle-Maschine-Schaltsteuerabschnitt137 den kontinuierlich auswählbaren Zählwert jeder der virtuellen Ma schinen auf Grundlage des Grenzwerts der CPU-Inanspruchnahmerate innerhalb der Ressourcengrenzdaten154 , wie es in der5 dargestellt ist. Beim vorliegenden Beispiel berechnet, da der Grenzwert der der virtuellen Maschine1a1 zugeordneten CPU-Inanspruchnahmerate70 beträgt, und der der virtuellen Maschine1b1 zugeordnete Grenzwert der CPU-Belegungsverhältnisses30 ist, der Virtuelle-Maschine-Schaltsteuerabschnitt137 den kontinuierlich auswählbaren Zählwert proportional zu diesen Verhältnissen. Beispielsweise berechnet der Virtuelle-Maschine-Schaltsteuerabschnitt137 den kontinuierlich auswählbaren Zählwert der virtuellen Maschine1a7 als sieben Mal und den kontinuierlich auswählbaren Zählwert der virtuellen Maschine1b 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-Schaltsteuerabschnitt137 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 auf1 (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 OS143 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 OS143 eigene Ablaufsteuerung. Daher beeinflusst die virtuelle Maschine nicht das Taskumschalten anderer Tasks142 , die eine andere native Verarbeitung ausführen, die nicht den Tasks entspricht, die der virtuellen Maschine1a1 oder der virtuellen Maschine1b1 zugeordnet sind, und sie beeinflusst auch nicht den Virtuelle-Maschine-Verwaltungstask131 . Demgemäß kann der Virtuelle-Maschine-Schaltprozess innerhalb des Bereichs der dem OS143 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 Maschine1a1 oder die virtuelle Maschine1b1 bereitgestellten Computerressourcen innerhalb des Grenzwerts, der der entsprechenden virtuellen Maschine zugeordnet ist, zuverlässig zu steuern. Außerdem können, beim Fahrzeugterminal101 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 Fahrzeugterminals101 gemäß dem alternativen Beispiel derjenigen des in der1 dargestellten Fahrzeugterminal101 , 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 Speichersicherungsbereich1a7 , gemeinsamer Speichersicherungsbereich1b7 , Ressourcenbelegungszustandsliste132 , Virtuelle-Maschine-Schaltsteuerabschnitt137 , Liste149 von auf Sicherheit getesteten Zwischencodes sowie gemeinsamer Speicher141 ). - 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-Kommunikationssystems10 gemäß einer Ausführungsform der Erfindung; -
2 zeigt ein Beispiel einer Detailkonfiguration einer Verwendete-Ressourcen-Gruppe1a2 und einer Verwendete-Ressourcen-Gruppe1b2 ; -
3 zeigt ein Beispiel einer Detailkonfiguration einer Ressourcenbelegungszustandsliste132 ; -
4 zeigt ein Beispiel einer Detailkonfiguration einer Liste von auf Sicherheit getesteten Zwischencodes; -
5 zeigt ein Beispiel einer Detailkonfiguration von Ressourcengrenzdaten154 ; -
6 zeigt ein Beispiel einer Detailkonfiguration eines Ressourcenverletzungsverlaufs155 ; -
7 zeigt ein Beispiel einer Detailkonfiguration einer Prozesseinstellung156 , wenn eine Verletzung auftritt; -
8 ist ein Flussdiagramm, das ein Beispiel von Operationen im Fahrzeugterminal101 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-Schaltsteuerabschnitts137 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)
- 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.
- 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.
- 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.
- 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.
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)
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)
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)
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 | セイコーエプソン株式会社 | リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法 |
-
2005
- 2005-06-28 JP JP2005188474A patent/JP4955943B2/ja not_active Expired - Fee Related
-
2006
- 2006-06-28 CN CNB200680000107XA patent/CN100465902C/zh not_active Expired - Fee Related
- 2006-06-28 DE DE112006000016T patent/DE112006000016T5/de not_active Withdrawn
- 2006-06-28 US US10/593,572 patent/US8365180B2/en not_active Expired - Fee Related
- 2006-06-28 WO PCT/JP2006/312868 patent/WO2007001014A1/ja active Application Filing
Cited By (1)
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 |