-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft eine Programmliefervorrichtung, die
die Sicherheit des Betriebs eines Programms prüft, das für ein an einem Kraftfahrzeug
angebrachtes Informationssystem entwickelt ist, ohne den Betrieb
des Programms an einem echten System zu prüfen, und die das Programm für das am
Kraftfahrzeug angebrachte Informationssystem liefert, und das am
Kraftfahrzeug angebrachte Informationssystem, das das durch diese Programmliefervorrichtung
gelieferte Programm ausführt.
-
Hintergrund der Erfindung
-
Ein
Gerät,
das mit dem Internet verbunden werden kann, wie beispielsweise ein
Personalcomputer oder ein Mobiltelefon, die in den letzten Jahren zu
einer weiten Anwendung gekommen sind, kann Programme von verschiedenen
Servern über
das Internet herunterladen. Daher kann jeder ein Programm frei entwickeln
und es zu einem Server hinauf laden und kann auch jedes zu diesem
Server hinaufgeladene Programm zu einem Zielgerät herunterladen, um es auszuführen. Es
gibt jedoch eine Möglichkeit,
dass dann, wenn ein bösartiges
Programm heruntergeladen und ausgeführt wird, ein Programm, das
einen Entwicklungsfehler oder ähnliches
enthält, das
Zielgerät
eine Fehlfunktion haben oder einen Schaden erleiden kann, wie beispielsweise
einen Mangel an Information im Gerät.
-
Um
dieses Problem zu lösen,
führt eine
Berechtigungsautorität
einen Betriebstest eines von einem Programmentwickler entwickelten
Programms aus und stellt die Sicherheit des Betriebs des Programms
sicher, indem Information, die eine Zulassung für einen Zugriff nur zu einem
erforderlichen Betriebsmittel anzeigt, hinzugefügt wird. Beispielsweise untersucht
gemäß einem
Zugriffsbeziehungsweise Zugangs-Steuerverfahren zur Verwendung in
Kommunikationsendgeräten,
das durch eine Patentreferenz 1 offenbart ist, eine Berechtigungsautorität eine Java(registrierte
Marke, was hier im Nachfolgenden weggelassen wird)-Anwendung, die
für Mobiltelefone beabsichtigt
ist, für
welche ein Inhaltslieferer eine Anfrage der Berechtigungsautorität zum Berechtigen durchführt, und
dann, wenn die Berechtigungsautorität berechtigt, dass diese Java-Anwendung ein autorisiertes
Programm ist, das ein vorbestimmtes Betriebserfordernis als Programm
erfüllt,
welches auf Betriebsmittel zugreift, für welche der Inhaltslieferer eine
Anwendung hat, und welches auf die Betriebsmittel zugreifen kann,
gibt es Betriebsmittelspezifikationsinformation, die die Betriebsmittel
spezifiziert, zu der Java-Anwendung unter Verwendung eines Berechtigungsservers.
Ein Mobiltelefon beschränkt
Betriebsmittel, auf welche eine Java-Anwendung, welche durch eine
Berechtigungsautorität
autorisiert ist, während
der Ausführung
einer Anwendung zugreifen kann, auf die Betriebsmittel, die durch
die Betriebsmittelspezifikationsinformation spezifiziert sind, die zu
dieser Java-Anwendung hinzugefügt
ist.
-
- [Patentreferenz 1] JP,2003-283494,A
-
Jedoch
muss unter dem Gesichtspunkt der Sicherheit der Betrieb eines Programms,
das in beispielsweise einem an einem Kraftfahrzeug angebrachten
Informationssystem, wie einer Autonavigationsvorrichtung, installiert
ist, gemäß dem Betriebszustand
des Kraftfahrzeugs beispielsweise diesbezüglich beschränkt werden,
ob das Kraftfahrzeug fährt
oder stillsteht, was ungleich dem Fall eines Programms ist, das
in einem Mobiltelefon installiert ist. Daher kann das durch die
Patentreferenz 1 offenbarte Verfahren keine adäquate Betriebsverifizierung ausführen und
kann keine geeignete Zugangszulassung zur Verfügung stellen. Um allgemeine
und normale Programmierer zum Entwickeln von Programmen zu ermutigen,
ist es angenehm, gleichzeitig sowohl eine Verifizierung des Betriebs
eines Programms als auch ein Liefern des Programms, das verifiziert
worden ist, durchzuführen.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, eine Programmliefervorrichtung,
die für eine
Verifizierung des Betriebs eines Programms geeignet ist, das für ein an
einem Kraftfahrzeug angebrachten Informationssystem entwickelt ist,
und ein Liefern des Programms und das an einem Kraftfahrzeug angebrachte
Informationssystem, das das durch die Programmliefervorrichtung
gelieferte Programm ausführt,
zur Verfügung
zu stellen.
-
Offenbarung der Erfindung
-
Gemäß der vorliegenden
Erfindung wird eine Programmliefervorrichtung zur Verfügung gestellt, die
Folgendes enthält:
eine Emulationseinrichtung zum Emulieren einer Hardwareumgebung
und einer Softwareumgebung eines an einem Kraftfahrzeug angebrachten
Informationssystems; eine Programmempfangseinrichtung zum Empfangen
eines Programms, das für
das am Kraftfahrzeug angebrachte Informationssystem entwickelt ist;
eine Beschränkungs-Halteeinrichtung
zum Halten von Betriebsmittelzuständen und Umgebungsbedingungen
des am Kraftfahrzeug angebrachten Informationssystems als Beschränkungen;
eine Programmausführungs-Beschränkungseinrichtung
zum Beschränken
eines Betriebs des Programms auf der Basis der durch die Beschränkungs- Halteeinrichtung
gehaltenen Beschränkungen;
und eine Programmausführungseinrichtung zum
Ausführen
des durch die Programmempfangseinrichtung empfangenen Programms
durch Verwenden von Betriebsmitteln, die durch die Emulationseinrichtung
zur Verfügung
gestellt sind, gemäß den Beschränkungen,
die durch die Programmausführungs-Beschränkungseinrichtung
zur Verfügung
gestellt sind.
-
Gemäß der vorliegenden
Erfindung wird ein an einem Kraftfahrzeug angebrachtes Informationssystem
zur Verfügung
gestellt, das Folgendes enthält:
eine Programmempfangseinrichtung zum Empfangen eines Programms,
das für
ein am Kraftfahrtzeug angebrachtes Informationssystem entwickelt ist,
und von Berechtigungs- bzw. Authentifizierungsinformation; eine
Programmauthentifizierungs- bzw. Programmberechtigungseinrichtung
zum Entschlüsseln
der von der Programmempfangseinrichtung empfangenen Authentifizierungsinformation
zum Berechtigen bzw. Authentifizieren der Authentifizierungsinformation;
eine Programmausführungs-Beschränkungseinrichtung
zum Beschränken
eines Betriebs des Programms gemäß einem
Ergebnis der von der Programmauthentifizierungseinrichtung empfangenen
Authentifizierung; und eine Programmausführungseinrichtung zum Ausführen des
von der Programmempfangseinrichtung empfangenen Programms gemäß den durch
die Programmausführungs-Beschränkungseinrichtung
zur Verfügung
gestellten Beschränkungen.
-
Gemäß der vorliegenden
Erfindung wird ein Speichermedium zur Verfügung gestellt, das Folgendes
enthält:
eine Emulationseinrichtung zum Emulieren einer Hardwareumgebung
und einer Softwareumgebung eines an einem Kraftfahrzeug angebrachten
Informationssystems; eine Programmempfangseinrichtung zum Empfangen
eines Programms, das für
das am Kraftfahrzeug angebrachte Informationssystem entwickelt ist;
eine Beschränkungs-Halteeinrichtung
zum Halten von Betriebsmittelzuständen und Umgebungsbedingungen
des am Kraftfahrzeug angebrachten Informationssystems als Beschränkungen.
Eine Programmausführungs-Beschränkungseinrichtung
zum Beschränken
des Betriebs des Programms auf der Basis der durch die Beschränkungs-Halteeinrichtung
gehaltenen Beschränkungen;
und eine Programmausführungseinrichtung zum
Ausführen
des durch die Programmempfangseinrichtung empfangenen Programms
unter Verwendung von durch die Emulationseinrichtung gelieferten Betriebsmittel
gemäß den durch
die Programmausführungs-Beschränkungseinrichtung
zur Verfügung gestellten
Beschränkungen.
-
Die
Programmliefervorrichtung gemäß der vorliegenden
Erfindung kann Funktionsprüfungen
an einem Programm in einer Umgebung, wie einem an einem Kraftfahrzeug
angebrachten Informationssystem, unter Verwendung der Emulationseinrichtung durch
Einstellen von Betriebsmittelzuständen und Umgebungsbedingungen
als die Beschränkungen durchführen. Daher
ist die Programmliefervorrichtung für eine Verifizierung des Betriebs
des Programms, das für
an einem Kraftfahrzeug angebrachte Informationssysteme entwickelt
ist, und ein Liefern des Programms geeignet.
-
Weil
das am Kraftfahrzeug angebrachte Informationssystem gemäß der vorliegenden
Erfindung so aufgebaut ist, dass der Betrieb des Programms auf der
Basis der empfangenen Authentifizierungsinformation beschränkt wird,
kann selbst dann, wenn die Verifizierung des durch die Programmliefervorrichtung
gelieferten Programms ungeeignet ist, das am Kraftfahrzeug angebrachte
Informationssystem das Programm geeignet ausführen.
-
Das
Speichermedium gemäß der vorliegenden
Erfindung bietet denselben Vorteil, wie er durch die oben angegebene
Programmliefervorrichtung zur Verfügung gestellt wird.
-
Kurze Beschreibung der Figuren
-
1 ist
ein Blockdiagramm, das die Hardwarekonfiguration einer Autonavigationsvorrichtung zeigt,
die als am Kraftfahrzeug angebrachtes Informationssystem gemäß einem
Ausführungsbeispiel
1 der vorliegenden Erfindung vorgesehen ist;
-
2 ist
ein Diagramm, das die Softwarekonfiguration der in 1 gezeigten
Autonavigationsvorrichtung zeigt;
-
3 ist
ein Diagramm, das die Struktur eines Hauptteilabschnitts einer Programmliefervorrichtung
gemäß dem Ausführungsbeispiel
der vorliegenden Erfindung zeigt;
-
4 ist
ein Diagramm zum Erklären
von Beschränkungen
zur Verwendung in der Autonavigationsvorrichtung, die als am Kraftfahrzeug
angebrachtes Informationssystem gemäß dem Ausführungsbeispiel 1 der vorliegenden
Erfindung vorgesehen ist;
-
5 ist
ein Ablaufdiagramm, das eine Prozedur zum Ausführen einer entwickelten Java-Anwendung
zeigt, welcher die Programmliefervorrichtung gemäß dem Ausführungsbeispiel 1 der vorliegenden
Erfindung folgt.
-
6 ist
ein Ablaufdiagramm, das eine Prozedur zum Ausführen einer Java-Anwendung zeigt, welcher
die Autonavigationsvorrichtung folgt, die als am Kraftfahrzeug angebrachtes
Informationssystem gemäß dem Ausführungsbeispiel
1 der vorliegenden Erfindung vorgesehen ist, wobei die Java-Anwendung durch die
Programmliefervorrichtung geliefert wird;
-
7 ist
ein Diagramm, das die Softwarekonfiguration einer Autonavigationsvorrichtung
zeigt, welche ein am Kraftfahrzeug angebrachtes Informationssystem
gemäß einem
Ausführungsbeispiel
2 der vorliegenden Erfindung ist;
-
8 ist
ein Ablaufdiagramm, das eine Prozedur zum Ausführen einer Java-Anwendung zeigt, welcher
die Autonavigationsvorrichtung folgt, die als am Kraftfahrzeug angebrachtes
Informationssystem gemäß dem Ausführungsbeispiel
2 der vorliegenden Erfindung vorgesehen ist, wobei die Java-Anwendung durch die
Programmliefervorrichtung geliefert wird;
-
9 ist
ein Diagramm, das die Softwarekonfiguration einer Autonavigationsvorrichtung
zeigt, die ein am Kraftfahrzeug angebrachtes Informationssystem
gemäß einem
Ausführungsbeispiel
3 der vorliegenden Erfindung ist; und
-
10 ist
ein Ablaufdiagramm, das eine Prozedur zum Ausführen einer Java-Anwendung zeigt,
welcher die Autonavigationsvorrichtung folgt, die als am Kraftfahrzeug
angebrachtes Informationssystem gemäß dem Ausführungsbeispiel 3 der vorliegenden
Erfindung vorgesehen ist, wobei die Java-Anwendung durch die Programmliefervorrichtung geliefert
wird. Bevorzugte Ausführungsbeispiele
der Erfindung
-
Das
bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben werden. Hierin nachfolgend wird eine Autonavigationsvorrichtung
als Beispiel eines am Kraftfahrzeug angebrachten Informationssystems
gemäß der vorliegenden
Erfindung erklärt
werden. Weiterhin soll angenommen werden, dass ein Programm, das
für das am
Kraftfahrzeug angebrachte Informationssystem entwickelt ist, ein
Java-Anwendungsprogramm (das von hier an "Java-Anwendung" genannt wird) ist und eine Programmliefervorrichtung
ein Testprogramm zum Testen einer Java-Anwendung enthält, die
für eine
Autonavigationsvorrichtung beabsichtigt ist, wobei das Testprogramm
auf einem Personalcomputer läuft.
Zusätzlich
soll angenommen sein, dass die Autonavigationsvorrichtung nur eine
durch die Programmliefervorrichtung gelieferte Java-Anwendung ausführen kann.
-
Ausführungsbeispiel
1.
-
1 ist
ein Blockdiagramm, das die Hardwarekonfiguration einer Autonavigationsvorrichtung zeigt,
die als am Kraftfahrzeug angebrachtes Informationssystem gemäß einem
Ausführungsbeispiel
1 der vorliegenden Erfindung vorgesehen ist. Die Autonavigationsvorrichtung
ist mit einer CPU (zentralen Verarbeitungseinheit) 1, einem
ROM (Nurlesespeicher) 2, einem RAM (Direktzugriffsspeicher) 3,
einer Operationseinheitsschnittstelle 4, einer Ausgabeeinheitsschnittstelle 5,
einer Kommunikationseinheitsschnittstelle 6 und einer Schnittstelle
für eine
externe Aufzeichnungseinheit 7 versehen.
-
Die
CPU 1 steuert die gesamte Autonavigationsvorrichtung durch
Ausführen
einer arithmetischen Verarbeitung gemäß einem im ROM 2 gespeicherten Programm.
Der ROM 2 speichert Kartendaten und Programme (ein Navigationsprogramm
und so weiter). Die Inhalte dieses ROM 2 können durch
die CPU 1 gelesen werden. Der RAM 3 wird als Arbeitsbereich zum
temporären
Speichern von Daten zu einer Zeit verwendet, zu welcher ein Programm
durch die CPU 1 ausgeführt
wird.
-
Eine
Fernbedienung (die von hier an als "Fernbedienung" abgekürzt wird) 41 und ein
Mikrofon (das von hier an als "Mikro" abgekürzt wird) 42 sind an
die Operationseinheitsschnittstelle 4 angeschlossen. Diese
Operationseinheitsschnittstelle 4 führt eine Steueroperation zum
Senden einer von entweder der Fernbedienung 41 oder dem
Mikro 42 eingegebenen Anweisung zu der CPU 1 aus.
Eine Anzeige 51 und ein Lautsprecher 52 sind an
die Ausgabeeinheitsschnittstelle 5 angeschlossen. Diese
Ausgabeeinheitsschnittstelle 5 führt eine Steueroperation zum Senden
von von der CPU 1 gesendeten Ausgabedaten zu sowohl der
Anzeige 51 als auch dem Lautsprecher 52 aus.
-
Ein
Kommunikationsgerät 61,
wie beispielsweise ein Mobiltelefon oder ein an einem Kraftfahrzeug
angebrachtes DSRC-(bestimmte Kurzbereichskommunikation)-Gerät und ein
LAN (lokales Netz) im Auto 62 sind an die Kommunikationseinheitsschnittstelle 6 angeschlossen.
Die Kommunikationseinheitsschnittstelle 6 steuert Kommunikationen
zwischen der CPU 1 und dem Kommunikationsgerät 61 und
Kommunikationen zwischen der CPU 1 und dem LAN im Auto 62.
Die CPU 1 erfasst Kraftfahrzeuginformation, wie beispielsweise
die Geschwindigkeit des Kraftfahrzeugs und eine übrige Menge an Kraftstoff von
dem LAN im Auto 62 über
die Kommunikationseinheitsschnittstelle 6.
-
Ein
Treiber für
eine externe Aufzeichnungseinheit 71 zum Lesen von Daten
von einem Aufzeichnungsmedium, wie beispielsweise einer CD (Kompaktdisk)
oder einer DVD (einer digitalen vielseitigen Platte) ist an die
Schnittstelle für
eine externe Aufzeichnungseinheit 7 angeschlossen. Diese
Schnittstelle für
eine externe Aufzeichnungseinheit 7 steuert ein Senden
und ein Empfangen von Daten zwischen dem Treiber für eine externe
Aufzeichnungseinheit 71 und der CPU 1.
-
2 ist
ein Diagramm, das die Softwarekonfiguration der in 1 gezeigten
Autonavigationsvorrichtung zeigt. Ein Betriebssystem (das von hier
an als "Autonavigations-OS" abgekürzt wird)
der Autonavigationsvorrichtung ist an verschiedenen Vorrichtungstreibern
ausgebildet, um zu veranlassen, dass die Hardware (die von hier
an als die "Autonavigations-Hardware" bezeichnet wird)
der Autonavigationsvorrichtung arbeitet. Auf einer höheren Ebene
dieses Autonavigations-OS sind eine Bibliothek und eine Anwendungsprogrammschnittstelle (die
von hier an "API:
Anwendungsprogrammschnittstelle" genannt
wird) vorgesehen. Auf einer weiteren oberen Ebene bzw. Schicht sind
ein Navigationsdienst 10, der aus einem Programm aufgebaut
ist, eine Java-Anwendung 11, eine Java-Anwendungs-Ausführungseinheit
(JavaVM; virtuelle Java-Maschine) 12, eine Java-Anwendungs-Managementeinheit 13 und
eine Java- Anwendungs-Authentifizierungseinheit
bzw. Berechtigungseinheit 14 angeordnet.
-
Der
Navigationsdienst 10 bietet Grunddienste einer Autonavigation,
wie beispielsweise einen Dienst zum Anzeigen der aktuellen Position
und einen Dienst zum Einstellen eines Zielorts und zum Ausführen einer
Weg- bzw. Routenführung.
Die Java-Anwendung 11 ist ein Inhalt, wie beispielsweise ein
Spiel oder ein Kraftfahrzeugreise-Unterstützungsprogramm. Die Java-Anwendungs-Ausführungseinheit 12 stellt
eine Umgebung zur Verfügung, in
welcher die Java-Anwendung 11 ausgeführt wird. Die Java-Anwendungs-Managementeinheit 13 managt
den gesamten Betrieb der Java-Anwendung 11. Die Java-Anwendungs-Authentifizierungseinheit 14 authentifiziert,
ob die Java-Anwendung 11 eine
autorisierte ist.
-
Der
Navigationsdienst 10 wird mit einem JavaVM-Schnittstellenmodul 10a geliefert.
Die Java-Anwendungs-Ausführungseinheit 12 hat
ein Navigationsdienst-Schnittstellenmodul 12a.
Diese Module, nämlich
das JavaVM-Schnittstellenmodul 10a und das
Navigationsdienst-Schnittstellenmodul 12a, kommunizieren
miteinander, so dass der Navigationsdienst 10 und die Java-Anwendungs-Ausführungseinheit 12 in
Kooperation miteinander laufen.
-
3 ist
ein Diagramm, das die Struktur eines Hauptteilabschnitts der Programmliefervorrichtung
gemäß dem Ausführungsbeispiel
1 der vorliegenden Erfindung zeigt. Diese Programmliefervorrichtung
ist mit einem Operationstestprogramm 20 verstehen, das
aus einem Hardware-Emulator
aufgebaut ist, der eine Hardwareumgebung emuliert, und einem Software-Emulator,
der eine Softwareumgebung emuliert, einem Navigationsbildschirm-Anzeigeausgabefenster 31,
einem Operationseingabefenster 32 und einem Navigationsumgebungs-Einstellfenster 33,
und ist als Programm zum Duplizieren der Funktionen der Hardware
und der Software der oben angegebenen Autonavigationsvorrichtung
auf einem Personalcomputer aufgebaut. Der Hardware-Emulator und
der Software-Emulator entsprechen einer Emulationseinrichtung der
vorliegenden Erfindung.
-
Das
Operationstestprogramm 20 ist mit einer Beschränkungs-Halteeinheit 21,
einer Java-Anwendungs-Ausführungsbeschränkungseinheit 22 und
einer Authentifizierungseinheit 23 als Struktur versehen,
die in der tatsächlich
implementierten Autonavigationsvorrichtung nicht existiert. Komponenten,
die in der tatsächlich
implementierten Autonavigationsvorrichtung existieren, sind durch
Bezugszeichen bezeichnet, von welchen jedes ein Zusatz von "100" zu einem in 1 gezeigten
entsprechenden Bezugszeichen ist, und jede der Komponenten hat dieselbe Funktion
wie diejenige der tatsächlich
implementierten Autonavigationsvorrichtung.
-
Die
Beschränkungs-Halteeinheit 21 entspricht
einer Beschränkungs-Halteeinrichtung
der vorliegenden Erfindung. Beschränkungen, die im Voraus durch
den Lieferer des Operationstestprogramms 20 eingestellt
sind, werden durch diese Beschränkungs-Halteeinheit 21 gehalten.
Diese Beschränkungs-Halteeinheit 21 hält mögliche Betriebsmittelzustände und
Umgebungsbedingungen der Autonavigationsvorrichtung, während sie
miteinander verbunden werden. Beispielsweise sind sie, wie es in 4 gezeigt
ist, als Datei ausgebildet, in welcher mögliche Betriebszustände aufgelistet
sind. 4 zeigt, dass beispielsweise eine Bildschirmanzeige nur
dann erzeugt werden kann, wenn das Kraftfahrzeug still steht.
-
Die
durch die Beschränkungs-Halteinheit 21 als
Beschränkungen
gehaltenen Betriebsmittelzustände
enthalten als Information über
Hardware-Betriebsmittel wenigstens eines einer CPU-Nutzung, einer
Speichernutzung, einer Festplattennutzung (d.h. einer Programmgröße), einer
Bus-Nutzung, einer Freigabe
oder eines Sperrens eines Verwendens eines Netzwerks, usw. Weiterhin
enthalten die Betriebsmittelzustände
als Software-Betriebsmittel wenigstens eines einer Freigabe oder
eines Sperrens eines Verwendens der API, eines Freigebens oder eines
Sperrens einer Verwendung der Bibliothek und eines Zustands einer
Ausführung
eines spezifischen Programms. Die Umgebungsbedingungen enthalten wenigstens
eines eines Fahrzustands, der anzeigt, ob das Kraftfahrzeug fährt oder
still steht, der Fahrgeschwindigkeit, der Position, der Richtung
und der Höhe
des Fahrzeugs, der Temperatur, der Feuchtigkeit, des Wetters und
des Straßentyps
der Straße, entlang
welcher das Fahrzeug fährt.
-
Die
Java-Anwendungs-Ausführungsbeschränkungseinheit 22 entspricht
einer Programmausführungsbeschränkungseinrichtung der
vorliegenden Erfindung und beschränkt den Betrieb einer Java-Anwendung,
die durch die Java-Anwendungs-Ausführungseinheit 112 ausgeführt wird, gemäß den aktuell
durch die Beschränkungs-Halteeinheit 21 gehaltenen
Beschränkungen.
Die Authentifizierungseinheit 23 erzeugt Authentifizierungsinformation
für eine
Java-Anwendung, an welcher Funktionsprüfungen durchgeführt worden
sind, indem ein Schlüssel
verwendet wird, der im Voraus in die Java-Anwendung eingebettet ist.
-
Das
Navigationsbildschirmanzeigeausgabefenster 31 ist ein Fenster
zum Anzeigen eines Bildschirms, der auf der Anzeige 51 in
der Autonavigationsvorrichtung auf dem Bildschirm der Personalcomputers
anzuzeigen ist. Das Operationseingabefenster 32 ist ein
Fenster zum Eingeben von Information, die durch Verwenden von entweder
der Fernbedienung 41 oder des Mikros 42 in der
Autonavigationsvorrichtung von einer Eingabevorrichtung des Personalcomputers
einzugeben ist.
-
Das
Navigationsumgebungseinstellfenster 33 ist ein Fenster
zum Eingeben von Informationen, die eine Umgebungsbedingung anzeigt,
die von dem Kraftfahrzeug in der Autonavigationsvorrichtung von einer
Eingabevorrichtung des Personalcomputers zu erfassen ist. Die zu
der Beschränkungs-Halteeinheit 21 eingestellten
Beschränkungen
werden durch den Lieferer der Programmliefervorrichtung im Voraus eingestellt,
können
aber nicht durch Verwenden des Navigationsumgebungseinstellfensters 33 eingestellt werden.
-
Als
Nächstes
wird eine Prozedur zum Ausführen
einer entwickelten Java-Anwendung unter Verwendung des oben angegebenen
Operationstestprogramms 20 unter Bezugnahme auf ein in 5 gezeigtes
Ablaufdiagramm erklärt
werden.
-
Zuerst
wird eine Java-Anwendung erfasst (Schritt ST11). Das heißt, dass
unter Verwendung einer nicht gezeigten Kommunikationsschnittstelle,
die durch das Operationstestprogramm 20 implementiert ist,
eine Java-Anwendung
empfangen und als Java-Anwendung 111 des Operationstestprogramms 20 eingestellt
wird. In diesem Fall entspricht die nicht gezeigte Kommunikationsschnittstelle
einer Programmempfangseinrichtung der Programmliefervorrichtung
gemäß der vorliegenden
Erfindung und entspricht die Java-Anwendung, die durch diese Kommunikationsschnittstelle
empfangen wird, einem Programm.
-
Dann
wird die Java-Anwendung ausgeführt (Schritt
ST12). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 112 eine
Operation zum Ausführen
der im Schritt ST11 eingestellten Java-Anwendung 111 ausführt. Diese
Java-Anwendungs-Ausführungseinheit 112 entspricht
einer Programmausführungseinrichtung
der vorliegenden Erfindung.
-
Ob
der Operationstest beendet wird, wird dann geprüft, um dies zu sehen (Schritt
ST13). Konkret ausgedrückt,
wird geprüft,
ob der Operationstest, der in verschiedenen Umgebungen durch die
Operation des Navigationsumgebungseinstellfensters 33 ausgeführt wird,
beendet worden ist, um es zu sehen. In diesem Schritt ST13 wird
dann, wenn beurteilt wird, dass der Operationstest nicht beendet
worden ist, das Einstellen von Umgebungsbedingungen ausgeführt (Schritt
ST14). In diesem Schritt ST14 kann der Anwender verschiedene Umgebungsbedingungen
unter Verwendung des Navigationsumgebungseinstellfensters 22 einstellen.
Beispielsweise kann der Anwender zwischen dem Fahrzustand und dem Stillstandszustand
umschalten, kann er die Fahrposition, die Höhe und die Richtung des Fahrzeugs ändern, die
Temperatur im Auto und die Feuchtigkeit und die Außentemperatur
und die Feuchtigkeit, und kann er zwischen einem Zustand, in welchem
das Fahrzeug entlang einer allgemeinen Straße fährt, und einem Zustand, in
welchem das Fahrzeug entlang einem Highway fährt, umschalten. Weiterhin kann
der Anwender Emulationsumgebungsbedingungen durch beispielsweise
Einstellen der CPU-Nutzung auf 70% des speicherfreien Raums auf
1 MB und der Busnutzung auf 80% ändern
und veranlassen, dass das Operationstestprogramm einen Operationstest
unter diesen Emulationsumgebungsbedingungen ausführt.
-
Ob
der Prozess ein zu beschränkender
Prozess ist, wird dann geprüft,
um es zu sehen (Schritt ST15). Das bedeutet, dass geprüft wird,
ob der Prozess ein Prozess ist, der an Betriebsmitteln durchzuführen ist,
die als Beschränkungen
eingestellt sind, um dies zu sehen. In diesem Schritt ST15 wird
dann, wenn beurteilt wird, dass der Prozess kein zu beschränkender
Prozess ist, diese Sequenz zum Schritt ST13 zurückgebracht und wird der oben
angegebene Prozess wiederholt. Gegensätzlich dazu werden dann, wenn
im Schritt ST15 beurteilt wird, dass der Prozess ein zu beschränkender Prozess
ist, Umgebungsbedingungen erfasst (Schritt ST16). Das bedeutet,
dass die Java-Anwendungs-Ausführungseinheit 112 Umgebungsbedingungen
von dem Navigationsdienst 110 erfasst.
-
Ob
die Java-Anwendung ausgeführt
werden kann, wird dann geprüft,
um dies zu sehen (Schritt ST17). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 112 prüft, ob die
Java-Anwendung ausgeführt
werden kann, um dies zu sehen, und zwar auf der Basis der im Schritt
ST14 erfassten Umgebungsbedingungen. Wenn die Java-Anwendungs-Ausführungseinheit
in diesem Schritt ST17 beurteilt, dass die Java-Anwendung ausgeführt werden
kann, wird die Sequenz zum Schritt ST13 zurückgebracht und wird der oben
angegebene Prozess wiederholt. Gegensätzlich dazu beendet dann, wenn
die Java-Anwendungs-Ausführungseinheit
im Schritt ST17 beurteilt, dass die Java-Anwendung nicht ausgeführt werden
kann, sie den Prozess.
-
Wenn
im oben angegebenen Schritt ST13 beurteilt wird, dass der Operationstest
beendet worden ist, wird Authentifizierungsinformation erzeugt (Schritt
ST18). Das bedeutet, dass dann, wenn geprüft werden kann, dass die Ziel-Java-Anwendung normal
läuft,
nachdem Operationstests unter verschiedenen Umgebungen durch die
Operation beziehungsweise Betätigung
des Navigationsumgebungseinstellfensters 33 ausgeführt worden
sind, die Authentifizierungseinheit 23 Authentifizierungsinformation
unter Verwender der Java-Anwendung
erzeugt. Als Authentifizierungsverfahren, das durch die Authentifizierungseinheit 23 ausgeführt wird,
kann ein Verfahren zum Schreiben einer Signatur auf der Java-Anwendung
unter Verwendung eines Schlüssels, der
für die
Authentifizierungseinheit 23 im Voraus vorbereitet ist,
oder ein Verfahren zum Verschlüsseln der
Java-Anwendung verwendet werden. Zusätzlich kann eine bekannte Technik
als Technologie zum Schreiben einer Signatur auf der Java-Anwendung verwendet
werden und kann eine bekannte Technik als Technologie zum Verschlüsseln der
Java-Anwendung verwendet werden. Danach wird der Prozess beendet.
-
Die
Authentifizierungseinheit 23 kann so aufgebaut sein, um
in diesem Schritt ST13 die Authentifizierungsinformation gemäß den Beschränkungen zu
erzeugen, die die Betriebsmittelzustände enthalten, die wenigstens
eines der CPU-Nutzung, der Speichernutzung, der Festplattennutzung,
der Busnutzung und der Freigabe oder des Sperrens einer Nutzung
des Netzwerks enthalten, und die Umgebungsbedingungen, die wenigstens
eines des Fahrzeugzustands, der Fahrgeschwindigkeit, der Position,
der Richtung und der Höhe
des Kraftfahrzeugs, der Temperatur, der Feuchtigkeit, des Wetters
und des Typs der Straße,
entlang welcher das Fahrzeug fährt,
enthalten. Gemäß dieser
Struktur kann die Authentifizierungseinheit die Operation der Ziel-Java-Anwendung für jeden
Faktor der Beschränkungen an
der Hardware authentifizieren.
-
Als
Alternative kann die Authentifizierungseinheit 23 so aufgebaut
sein, um die Authentifizierungsinformation gemäß den Beschränkungen
zu erzeugen, die die Betriebsmittelzustände enthalten, die wenigstens
eines eines Freigebens oder eines Sperrens einer Verwendung der
API, des Freigebens oder des Sperrens einer Verwendung der Bibliothek
und des Zustands einer Ausführung
eines spezifischen Programms enthalten, und die Umgebungsbedingungen,
die wenigstens eines des Fahrzustands, der Fahrgeschwindigkeit,
der Position, der Richtung und der Höhe des Kraftfahrzeugs, der
Temperatur, der Feuchtigkeit, des Wetters und des Typs der Straße, entlang
welcher das Fahrzeug fährt,
enthalten. Gemäß dieser
Struktur kann die Authentifizierungseinheit die Operation der Ziel-Java-Anwendung
für jeden
Faktor der Beschränkungen
an der Software authentifizieren.
-
Als
Alternative kann die Authentifizierungseinheit 23 so aufgebaut
sein, um die Authentifizierungsinformation gemäß dem Lieferer des Programms
zu erzeugen. Gemäß dieser
Struktur kann die Authentifizierungseinheit die Authentifizierungsinformation
für jedes
Ziel erzeugen, für
welches die Programmliefervorrichtung vorgesehen ist (beispielsweise
für jeden
Autohersteller oder für
jeden Inhaltslieferer).
-
Die
in diesem Schritt ST18 erzeugte Authentifizierungsinformation sowie
die Java-Anwendung können
zusammen in einem nicht gezeigten Speicher gespeichert werden. In
diesem Fall entspricht der nicht gezeigte Speicher einer Programmspeichereinrichtung
der vorliegenden Erfindung und entspricht die in diesem Speicher
gespeicherte Java-Anwendung
einem Programm. Die im Schritt ST18 erzeugte Authentifizierungsinformation
sowie die Java-Anwendung können
direkt zu der Autonavigationsvorrichtung übertragen werden, indem eine
nicht gezeigte Kommunikationsschnittstelle verwendet wird, die durch
das Operationstestprogramm 20 implementiert ist. In diesem
Fall entspricht die nicht gezeigte Kommunikationsschnittstelle einer
Programmsendeeinrichtung der Programmliefervorrichtung gemäß der vorliegenden
Erfindung und entspricht die Java-Anwendung, die durch diese Kommunikationsschnittstelle
empfangen wird, einem Programm.
-
Als
Nächstes
wird eine Operation einer gemäß der oben
angegebenen Prozedur erzeugten authentifizierenden Authentifizierungsinformation
und eines Ausführens
einer Java-Anwendung, die durch die Autonavigationsvorrichtung ausgeführt wird,
unter Bezugnahme auf das in 6 gezeigte
Ablaufdiagramm erklärt
werden.
-
Zuerst
wird eine Java-Anwendung erfasst (Schritt ST21). Konkret gesagt
empfängt
die Autonavigationsvorrichtung eine Java-Anwendung und Authentifikationsinformation über das
Kommunikationsgerät 61 (siehe 1).
Die empfangene Java-Anwendung
wird als die Java-Anwendung 11 eingestellt.
-
Dann
wird die Java-Anwendung authentifiziert (Schritt ST22). Das bedeutet,
dass die Java-Anwendungs-Authentifizierungseinheit 14 die
empfangene Authentifizierungsinformation authentifiziert. Diese
Java-Anwendungs-Authentifizierungseinheit 14 entspricht
einer Programmauthententifizierungseinrichtung der vorliegenden
Erfindung. Als Authentifizierungsverfahren, welches die Java-Anwendungs-Authentifizierungseinheit 14 verwendet,
kann entweder ein Verfahren zum Authentifizieren der Signatur unter
Verwendung eines Schlüssels,
der im Voraus für
die Java-Anwendungs-Authentifizierungseinheit 14 vorbereitet
ist, oder ein Verfahren zum Entschlüsseln der verschlüsselten
Java-Anwendung unter Verwendung des Schlüssels verwendet werden. Eine
bekannte Technik kann als Technologie zum Authentifizieren der Signatur
verwendet werden und eine bekannte Technik kann als Technologie
zum Entschlüsseln
der verschlüsselten
Java-Anwendung verwendet werden. Die Java-Anwendungs-Authentifizierungseinheit 14 sendet
das Authentifizierungsergebnis zu der Java-Anwendungs-Ausführungseinheit 12.
-
Ob
die Authentifizierung geeignet (O.K.) ist oder nicht, wird dann
geprüft,
um dies zu sehen (Schritt ST23). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 prüft, um zu
sehen, ob das von der Java-Anwendungs-Authentifizierungseinheit 14 gesendete
Authentifizierungsergebnis geeignet ist oder nicht. Wenn sie in
diesem Schritt ST23 beurteilt, dass die Authentifizierung geeignet
ist, führt die
Java-Anwendungs-Ausführungseinheit
die Java-Anwendung aus (Schritt ST24). Gegensätzlich dazu beendet dann, wenn
sie beurteilt, dass die Authentifizierung nicht geeignet ist (beispielsweise
bis der Schlüssel existiert
oder bis die auf dem Java-Programm geschriebene Signatur nicht mit
der richtigen übereinstimmt,
wenn die Authentifizierung ausgeführt wird), die Java-Anwendungs-Ausführungseinheit
die Verarbeitung ohne ein Ausführen
der Java-Anwendung.
-
Wie
es zuvor erklärt
ist, kann die Programmliefervorrichtung gemäß dem Ausführungsbeispiel 1 der vorliegenden
Erfindung die Operation eines Programms prüfen, welches tatsächlich in
einer Umgebung, wie einer Autonavigationsvorrichtung, auf einem
Personalcomputer läuft,
indem Betriebsmittelzustände
und Umgebungsbedingungen als Beschränkungen eingestellt werden.
Daher ist die Programmliefervorrichtung gemäß diesem Ausführungsbeispiel für eine Verifizierung
der Operation eines Programms geeignet, das für eine Autonavigationsvorrichtung entwickelt
ist, und für
ein Liefern eines Programms, das für eine Autonavigationsvorrichtung
entwickelt ist. Weiterhin kann die Autonavigationsvorrichtung gemäß diesem
Ausführungsbeispiel
verhindern, dass eine nicht autorisierte Java-Anwendung läuft, weil
sie nur eine Java-Anwendung authentifiziert, für die durch das Operationstestprogramm
beurteilt worden ist, dass sie richtig funktioniert.
-
Weil
die Programmliefervorrichtung so aufgebaut ist, um die Verwendung
von Betriebsmitteln zu beschränken,
die durch den Hardware-Emulator und den Software-Emulator gemäß den Umgebungsbedingungen
emuliert sind, kann die Programmliefervorrichtung ein Programm testen,
während
die Operation des Programms gemäß dem Betriebszustand von
beispielsweise dem Kraftfahrzeug beschränkt wird, ob das Kraftfahrzeug
fährt oder
stillsteht, und kann sie eine adäquate
Verifizierung der Operation des Programms unter dem Gesichtspunkt
der Sicherheit ausführen,
was ungleich dem Fall eines Verwendens der in der Patentreferenz
1 offenbarten Technologie ist.
-
Zusätzlich kann
deshalb, weil die Programmliefervorrichtung die Beschränkungen
in der Form einer Datei hält,
der Lieferer der Programmliefervorrichtung die Inhalte der Datei ändern, um
eine Umgebung zur Verfügung
zu stellen, in welcher die Beschränkungen für jedes Ziel (beispielsweise
jeden Autohersteller, jeden Inhaltsprovider bzw. Inhaltslieferer
und so weiter) geändert
sind, zu welchem der Lieferer die Programmliefervorrichtung liefert.
-
Weiterhin
kann deshalb, weil die Programmliefervorrichtung so aufgebaut ist,
dass die Java-Anwendungs-Ausführungseinheit 112 die
Authentifizierungsinformation erzeugt, die authentifiziert, dass
die Java-Anwendung normal ausgeführt
wird, und sie sowie die Java-Anwendung für den Anwender zur Verfügung stellt,
der Anwender das Programm erlangen bzw. erfassen, das derart authentifiziert
worden ist, dass es den Operationstest durch die Programmliefervorrichtung
durchlaufen hat, und kann daher verhindern, dass ein bösartiges
Programm und ein Programm, das Entwicklungsfehler enthält, durch
die Autonavigationsvorrichtung ausgeführt werden. Als Ergebnis kann
dieses Ausführungsbeispiel
verhindern, dass Beschädigungen
auftreten, wie beispielsweise eine Fehlfunktion des Geräts und ein
Mangel an Information im Gerät.
-
Gemäß dem oben
angegebenen Ausführungsbeispiel
1 wird dem Anwender erlaubt, verschiedene Umgebungen für die Autonavigationsvorrichtung
einzustellen, indem das Navigationsumgebungseinstellfenster 33 verwendet
wird, um zu veranlassen, dass die Programmliefervorrichtung Funktionsprüfungen an
dem Zielprogramm in den verschiedenen Umgebungen durchführt. Als
Alternative kann die Programmliefervorrichtung so aufgebaut sein,
um das Einstellen von Umgebungen automatisch durchzuführen.
-
Beispielsweise
bereitet der Lieferer des Operationstestprogramms 20 Daten über einen
Testverlauf im Voraus vor und beurteilt die Programmliefervorrichtung
dann, wenn das Fahrzeug normal fährt, während dieser
Testverlauf läuft,
dass die Java-Anwendung sicher läuft,
und erzeugt sie eine Authentifizierungsinformation.
-
Zusätzlich ist
die Programmliefervorrichtung gemäß dem oben angegebenen Ausführungsbeispiel 1
so aufgebaut, um Betriebsmittelzustände und Umgebungsbedingungen
in der Datei aufzulisten, wie es als Beispiel zum Halten der Beschränkungen
gezeigt ist. Als Alternative kann die Programmliefervorrichtung
so aufgebaut sein, um die Beschränkungen
zu der Java-Regelungsdatei hinzuzufügen, die als Standard für die Zugangssteuerung
von Java vorbereitet ist. Weiterhin können die Beschränkungen
auch durch Updaten dieser Java-Regelungsdatei anhand des Netzwerks
einem Updaten unterzogen werden.
-
Wenn
ein Hersteller einer Autonavigationsvorrichtung wünscht, eine
Umgebung zur Verfügung zu
stellen, in welcher ein allgemeiner Anwendung eine Java-Anwendung
für eine
Autonavigationsvorrichtung dieser Firma erzeugen kann, kann ein
Einstellen eines Betriebsbereichs, in welchem einem solchen allgemeinen
Anwender erlaubt wird, die Beschränkungen zu ändern, durchgeführt werden,
und wird ein ursprünglicher
Schlüssel
des Herstellers der Autonavigationsvorrichtung, der einem Schlüssel entspricht,
der in die Java-Anwendungs-Authentifizierungseinheit 14 der
Autonavigationsvorrichtung eingebettet ist, in die Authentifizierungseinheit 23 des Operationstestprogramms 20 eingebettet
und wird dann das Operationstestprogramm 20 vertrieben. Zusätzlich werden
die Beschränkungen
für reguläre Händler gegenüber denjenigen
geändert
die für
allgemeine Anwender vorgesehen sind, und wird das Operationstestprogramm 20 vertrieben.
In diesem Fall ist es nicht nötig,
den Schlüssel
zu ändern,
der in die Authentifizierungseinheit 23 des Operationstestprogramms 20 eingebettet
ist. Als Ergebnis kann der Autohersteller das Operationstestprogramm,
das für jeden
Lieferungszielort geeignet ist, nur durch Ändern der Beschränkungen
senden.
-
Ausführungsbeispiel
2.
-
Gemäß einem
Ausführungsbeispiel
2 der vorliegenden Erfindung werden Beschränkungen in Authentifizierungsinformation
eingebettet. Dieses Ausführungsbeispiel
2 unterscheidet sich vom Ausführungsbeispiel
1 bezüglich
des Authentifizierungsverfahrens, welches die Authentifizierungseinheit 23 des
Java-Anwendungs-Operationstestprogramms 20 verwendet,
und der Softwarekonfiguration der Autonavigationsvorrichtung. Hierin
nachfolgend wird hauptsächlich
der Unterschied zwischen diesem Ausführungsbeispiel und dem Ausführungsbeispiel
1 erklärt
werden.
-
Die
Authentifizierungseinheit 23 des Operationstestprogramms 20,
das die Programmliefervorrichtung gemäß diesem Ausführungsbeispiel
2 aufbaut, erzeugt Authentifizierungsinformation, die Beschränkungen
enthält.
Wenn beispielsweise die Beschränkungen
in einer Datei gehalten werden, wie es in 4 gezeigt
ist, verschlüsselt
die Authentifizierungseinheit 23 die Datei und bettet sie
dann in die Authentifizierungsinformation ein.
-
7 ist
ein Diagramm, das die Softwarekonfiguration der Authentifizierungsvorrichtung
gemäß dem Ausführungsbeispiel
2 der vorliegenden Erfindung zeigt. Diese Softwarekonfiguration
ist auf solche Weise aufgebaut, dass eine Java-Anwendungs-Ausführungsbeschränkungseinheit 15 zu
der Softwarekonfiguration der Autonavigationsvorrichtung gemäß dem Ausführungsbeispiel
1 hinzugefügt ist.
Beim Ausführungsbeispiel
1 ist die Java-Anwendungs- Ausführungsbeschränkungseinheit
nur im Operationstestprogramm 20 enthalten, aber sie ist nicht
in der Autonavigationsvorrichtung enthalten.
-
Als
Nächstes
wird eine Operation zum Authentifizieren der durch die Programmliefervorrichtung
erzeugten Authentifizierungsinformation und zum Ausführen einer
Java-Anwendung,
die durch die Autonavigationsvorrichtung ausgeführt wird, unter Bezugnahme
auf das in 8 gezeigte Ablaufdiagramm erklärt werden.
-
Zuerst
wird eine Java-Anwendung erfasst (Schritt ST31). Konkret gesagt
empfängt
die Autonavigationsvorrichtung eine Java-Anwendung und die Authentifizierungsinformation über das
Kommunikationsgerät 61 (siehe 1).
In diesem Fall entspricht das Kommunikationsgerät 61 einer Programmempfangseinrichtung
des am Kraftfahrzeug angebrachten Informationssystems gemäß der vorliegenden
Erfindung und entspricht die Java-Anwendung, die durch dieses Kommunikationsgerät 61 empfangen wird,
einem Programm. Die empfangene Java-Anwendung wird als die Java-Anwendung 11 eingestellt.
-
Dann
wird die Java-Anwendung authentifiziert (Schritt ST32). Das bedeutet,
dass die Java-Anwendungs-Authentifizierungseinheit 14 die
empfangene Authentifizierungsinformation authentifiziert. Als Authentifizierungsverfahren,
welches die Java-Anwendungs-Authentifizierungseinheit 14 verwendet,
kann ein Verfahren zum Entschlüsseln
der verschlüsselten
Authentifizierungsinformation unter Verwendung eines Schlüssels, der
im Voraus für
die Java-Anwendungs-Authentifizierungseinheit 14 vorbereitet
ist, verwendet werden. Ob die Authentifizierung geeignet (O.K.)
ist oder nicht, wird dann geprüft, um
dies zu sehen (Schritt ST33). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 prüft, um zu
sehen, ob das von der Java-Anwendungs-Authentifizierungseinheit 14 gesendete
Authentifizierungsergebnis ungeeignet ist oder nicht. Wenn sie in diesem
Schritt ST33 beurteilt, dass die Authentifizierung ungeeignet ist,
beendet die Java-Anwendungs-Ausführungseinheit
die Verarbeitung, ohne die Java-Anwendung auszuführen.
-
Gegensätzlich dazu
erfasst die Java-Anwendungs-Ausführungseinheit
dann, wenn sie im Schritt ST33 beurteilt, dass die Authentifizierung
geeignet ist, die Beschränkungen
(Schritt ST34). Das bedeutet, dass dann, wenn sie beurteilt, dass
die Authentifizierung geeignet ist, die Java-Anwendungs-Ausführungseinheit 12 die
Beschränkungen
von der Authentifizierungsinformation erfasst und sie zu der Java-Anwendungs-Ausführungsbeschränkungseinheit 15 sendet.
Dann wird die Java-Anwendung ausgeführt (Schritt ST35). Das bedeutet,
dass die Java-Anwendungs-Ausführungseinheit 12 die
Java-Anwendung 11 ausführt.
Zu dieser Zeit beschränkt
die Java-Anwendungs-Ausführungsbeschränkungseinheit 15 die
Operation der Java-Anwendung 11 gemäß den im Schritt ST34 erfassten
Beschränkungen.
Die Anwendung tritt normal auf, wenn ein Austrittsprozess der Anwendung
aufgerufen wird.
-
Wenn
dann die API als Beschränkungen
bezüglich
der Operation der Java-Anwendung während der Ausführung der
Anwendung aufgerufen wird, wird geprüft, um zu sehen, ob der Prozess
ein zu beschränkender
Prozess ist (Schritt ST36). Das bedeutet, dass es geprüft wird,
um zu sehen, ob der Prozess ein Prozess ist, der auf Betriebsmitteln
durchzuführen
ist, die in den Beschränkungen
beschrieben sind. Wenn in diesem Schritt ST36 beurteilt wird, dass
der Prozess kein zu beschränkender
Prozess ist, wird die Sequenz veranlasst, zum Schritt ST35 zurückzuspringen,
und wird der oben angegebene Prozess wiederholt. Gegensätzlich dazu
werden dann, wenn im Schritt ST36 beurteilt wird, dass der Prozess
ein zu beschränkender
Prozess ist, die Umgebungsbedingungen erfasst (Schritt ST37). Das
bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 die
Umgebungsbedingungen vom Navigationsdienst 10 erlangt beziehungsweise
erfasst.
-
Ob
die Java-Anwendung ausgeführt
werden kann, wird dann geprüft,
um dies zu sehen (Schritt ST38). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 prüft, um zu
sehen, ob die Java-Anwendung ausgeführt werden kann, auf der Basis
der Umgebungsbedingungen, die im Schritt ST37 erfasst sind. Wenn
in diesem Schritt ST38 beurteilt wird, dass die Java-Anwendung ausgeführt werden
kann, wird die Sequenz veranlasst, zum Schritt ST35 zurückzuspringen,
und wird der oben angegebene Prozess wiederholt. Gegensätzlich dazu
tritt der Prozess dann, wenn im Schritt ST38 beurteilt wird, dass
die Java-Anwendung nicht ausgeführt
werden kann, mit einem Fehler aus.
-
Wie
es zuvor erklärt
ist, kann gemäß dem Ausführungsbeispiel
2 der vorliegenden Erfindung deshalb, weil Beschränkungen
an einer empfangenen Java-Anwendung angebracht sind, die Autonavigationsvorrichtung
die Betriebsumgebung kennen, in welcher die Java-Anwendung auszuführen ist.
Daher kann der Anwender der Autonavigationsvorrichtung diesbezüglich benachrichtigt
werden, ob die Java-Anwendung, wenn sie platziert ist, in welchem
Zustand ausgeführt
werden kann. Als Ergebnis kann durch beispielsweise Benachrichtigen
des Anwenders, dass eine von dem Autohersteller erlangte Java-Anwendung
A auch während
eines Fahrens laufen kann, aber eine von einem Inhaltslieferer erlangte Java-Anwendung
B nur während
eines Stillstehens laufen kann, die Autonavigationsvorrichtung verhindern,
dass der Anwender eine Absicht hat, die Java-Anwendung B während eines Fahrens zu betätigen.
-
Eine
detaillierte Betriebsumgebung der Software-Betriebsmittel, wie beispielsweise eine
Betriebsumgebung, in welcher zum Ausführen einer Dienstanwendung
C eine Bibliothek C vorgesehen sein muss und eine Dienstanwendung
D ausgeführt werden
muss, und eine detaillierte Betriebsumgebung der Hardware-Betriebsmittel,
wie beispielsweise eine Betriebsumgebung, in welcher zum Ausführen der
Dienstanwendung C zur Verfügung
gestellt werden muss, welches Ausmaß an freiem Platz der Festplatte
und welches Ausmaß an
freiem Platz des Speichers es gibt, und die Belastung der CPU gleich oder
niedriger als ein bestimmter Prozentsatz sein muss, können dem
Anwender mitgeteilt werden.
-
Die über das
Kommunikationsgerät 61 empfangene
Authentifizierungsinformation kann die Betriebsmittelzustände enthalten,
die wenigstens eines der CPU-Nutzung, der Speichernutzung, der Festplattennutzung,
der Busnutzung und des Freigebens oder Sperrens einer Verwendung
des Netzwerks enthalten, und die Umgebungsbedingungen, die wenigstens
eines des Fahrzustands, der anzeigt, ob das Fahrzeug fährt oder
stillsteht, der Fahrgeschwindigkeit, der Position, der Richtung
und der Höhe
des Fahrzeugs, der Temperatur, der Feuchtigkeit, des Wetter und
des Typs der Straße,
entlang welcher das Fahrzeug fährt,
enthalten. Gemäß dieser
Struktur kann deshalb, weil die Umgebungsbedingungen und die Betriebsmittelzustände der
Hardware als die Authentifizierungsinformation enthalten sind, das
am Fahrzeug angebrachte Informationssystem einen Zustand bestimmen,
in welchem das Zielprogramm mit Sicherheit laufen kann.
-
Die über das
Kommunikationsgerät 61 empfangene
Authentifizierungsinformation kann die Betriebsmittelzustände enthalten,
die wenigstens eines eines Freigebens oder Sperrens einer Verwendung von
API, eines Freigebens oder eines Sperrens einer Verwendung der Bibliothek
und des Zustands einer Ausführung
eines spezifischen Programms enthalten, und die Umgebungsbedingungen,
die wenigstens eines des Fahrzustands, der anzeigt, ob das Fahrzeug
fährt oder
stillsteht, der Fahrgeschwindigkeit, der Position, der Richtung
und der Höhe
des Fahrzeugs, der Temperatur, der Feuchtigkeit, des Wetters und
des Typs der Straße,
entlang welcher das Fahrzeug fährt,
enthalten. Gemäß dieser
Struktur kann deshalb, weil die Umgebungsbedingungen die Betriebsmittelzustände der
Software als die Authentifizierungsinformation enthalten sind, das
am Fahrzeug angebrachte Informationssystem einen Zustand bestimmen,
in welchem das Zielprogramm mit Sicherheit laufen kann.
-
Ausführungsbeispiel
3.
-
Gemäß einem
Ausführungsbeispiel
3 der vorliegenden Erfindung ist Liefererinformation in Authentifizierungsinformation
eingebettet. Dieses Ausführungsbeispiel
3 unterscheidet sich vom Ausführungsbeispiel
1 bezüglich
des Authentifizierungsverfahrens, welches die Authentifizierungseinheit 23 des Java-Anwendungs-Operationstestprogramms 20 verwendet,
und der Softwarekonfiguration der Autonavigationsvorrichtung. Hierin
nachfolgend wird hauptsächlich
der Unterschied zwischen diesem Ausführungsbeispiel und dem Ausführungsbeispiel
1 erklärt
werden.
-
Die
Authentifizierungseinheit 23 des Operationstestprogramms 20,
das die Programmliefervorrichtung aufbaut, erzeugt Authentifizierungsinformation,
die Informationen über
den Lieferer einer Java-Anwendung enthält. Beispielsweise unterscheidet sich
ein Schlüssel,
den die Authentifizierungseinheit 23 hat, für jeden
Lieferer und ist eine Signatur auf der Authentifizierungsinformation
geschrieben oder ist die Authentifizierungsinformation unter Verwendung dieses
Schlüssels
verschlüsselt,
so dass die Information über
den Lieferer in die Authentifizierungsinformation eingebettet sein
kann.
-
9 ist
im Diagramm, das die Softwarekonfiguration der Autonavigationsvorrichtung
gemäß dem Ausführungsbeispiel
3 der vorliegenden Erfindung zeigt. Diese Softwarekonfiguration
ist auf solche Weise aufgebaut, dass eine Beschränkungsliste 16 zu
der Softwarekonfiguration der Autonavigationsvorrichtung gemäß dem Ausführungsbeispiel
2 hinzugefügt
ist. Diese Beschränkungsliste 16 entspricht einer
Beschränkungserfassungseinrichtung
der vorliegenden Erfindung und definiert eine Operation gemäß dem Typ
des Schlüssels.
-
Als
Nächstes
wird eine Operation zum Authentifizieren von Authentifizierungsinformationen, die
auf die oben angegebene Weise erzeugt wird und eine Java-Anwendung
ausführt,
die durch die Autonavigationsvorrichtung durchgeführt wird,
unter Bezugnahme auf ein in 10 gezeigtes
Ablaufdiagramm erklärt
werden.
-
Zuerst
wird eine Java-Anwendung erfasst (Schritt ST41). Konkret gesagt
empfängt
die Autonavigationsvorrichtung eine Java-Anwendung und Authentifizierungsinformation über das
Kommunikationsgerät 61 (siehe 1).
In diesem Fall entspricht das Kommunikationsgerät 61 einer Programmempfangseinrichtung
des am Kraftfahrzeug angebrachten Informationssystems gemäß der vorliegenden
Erfindung und entspricht die Java-Anwendung, die durch dieses Kommunikationsgerät 61 empfangen wird,
einem Programm. Die empfangene Java-Anwendung wird als die Java-Anwendung 11 eingestellt.
-
Dann
wird die Java-Anwendung authentifiziert (Schritt ST42). Das bedeutet,
dass die Java-Anwendungs-Authentifizierungseinheit 14 die
empfangene Authentifizierungsinformation authentifiziert. Als Authentifizierungsverfahren,
welches die Java-Anwendungs-Authentifizierungseinheit 14 verwendet,
kann ein Verfahren zum Entschlüsseln
der unter Verwendung eines Schlüssels
unabhängig
von dem Lieferer, der für
die Java-Anwendungs-Authentifizierungseinheit 14 im
Voraus vorbereitet ist, verschlüsselten
Authentifizierungsinformation verwendet werden. Zu dieser Zeit kann
der Lieferer der Java-Anwendung von dem Schlüssel identifiziert werden,
der beim Entschlüsseln
der Authentifizierungsinformation erfolgreich gewesen ist.
-
Dann
wird geprüft,
um zu sehen, ob die Authentifizierung geeignet (O.K.) ist oder nicht
(Schritt ST43). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 prüft, um zu
sehen, ob das von der Java-Anwendungs-Authentifizierungseinheit 14 gesendete
Authentifizierungsergebnis ungeeignet ist oder nicht. Wenn sie in
diesem Schritt ST43 beurteilt, dass die Authentifizierung ungeeignet ist,
beendet die Java-Anwendungs-Ausführungseinheit
die Verarbeitung mit Fehler und ohne ein Ausführen der Java-Anwendung. Gegensätzlich dazu
wählt dann,
wenn sie im Schritt ST43 beurteilt, dass die Authentifizierung geeignet
ist, die Java-Anwendungs-Ausführungseinheit
entsprechende Beschränkungen
aus der Beschränkungsliste 16 auf
der Basis des Ergebnisses der Identifizierung des Lieferers der Java-Anwendung
aus (Schritt ST44). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 dann,
wenn sie beurteilt, dass das Authentifizierungsergebnis geeignet
ist, Beschränkungen
von der Beschränkungsliste 16 erfasst
und sie zu der Java-Anwendungs-Ausführungsbeschränkungseinheit 15 sendet.
-
Dann
wird die Java-Anwendung ausgeführt (Schritt
ST45). Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 die
Java-Anwendung ausführt.
Zu dieser Zeit beschränkt
die Java-Anwendungs-Ausführungsbeschränkungseinheit 15 die Operation
der Java-Anwendung gemäß den im Schritt
ST44 erfassten Beschränkungen.
Die Anwendung tritt normal aus, wenn ein Austrittsprozess der Anwendung
aufgerufen wird.
-
Wenn
dann API als Beschränkungen
bezüglich
der Operation der Java-Anwendung während der Ausführung der
Anwendung aufgerufen wird, wird geprüft, um zu sehen, ob der Prozess
ein zu beschränkender
Prozess ist (Schritt ST46). Das bedeutet, dass geprüft wird,
um zu sehen, ob der Prozess ein Prozess ist, der auf Betriebsmitteln
durchzuführen
ist, die in den Beschränkungen
beschrieben sind. Wenn in diesem Schritt ST46 beurteilt wird, dass
der Prozess kein zu beschränkender
Prozess ist, wird die Sequenz veranlasst, zum Schritt ST45 zurückzuspringen,
und wird der oben angegebene Prozess wiederholt. Gegensätzlich dazu
werden dann, wenn im Schritt ST46 beurteilt wird, dass der Prozess
ein zu beschränkender
Prozess ist, die Umgebungsbedingungen erfasst (Schritt ST47). Das
bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 die Umgebungsbedingungen
von dem Navigationsdienst 10 erfasst.
-
Dann
wird geprüft,
um zu sehen, ob die Java-Anwendung ausgeführt werden kann (Schritt ST48).
Das bedeutet, dass die Java-Anwendungs-Ausführungseinheit 12 auf
der Basis der im Schritt ST47 erfassten Umgebungsbedingungen prüft, um zu
sehen, ob die Java-Anwendung ausgeführt werden kann. Wenn in diesem
Schritt ST48 beurteilt wird, dass die Java-Anwendung ausgeführt werden
kann, wird die Sequenz veranlasst, zum Schritt ST45 zurückzuspringen,
und wird der oben angegebene Prozess wiederholt. Gegensätzlich dazu
tritt dann, wenn in Schritt ST48 beurteilt wird, dass die Java-Anwendung
nicht ausgeführt
werden kann, der Prozess mit Fehler aus.
-
Wie
es oben erklärt
ist, kann deshalb, weil die Programmliefervorrichtung gemäß dem Ausführungsbeispiel
3 der vorliegenden Erfindung so aufgebaut ist, um den Lieferer einer
Anwendung von der Beschränkungsliste
zu identifizieren, die das am Fahrzeug angebrachte Informationssystem
im Voraus als Authentifizierungsinformation besitzt, sie Beschränkungen
gemäß dem Lieferer
der Operation der Anwendung auferlegen. Weil nur Information über den
Lieferer in die Java-Anwendung geschrieben ist, können selbst
dann, wenn es ein großes
Ausmaß von
Daten mit Beschränkungen
aufgrund detaillierter Operationseinstellungen gibt, die für Kommunikationen
erforderlichen Kosten reduziert werden. Wenn eine Änderung
an der Betriebsumgebung der Java-Anwendung durchgeführt wird,
nachdem das Operationstestprogramm vertrieben ist, kann die Änderung
durch Updaten der Beschränkungsliste
behandelt werden, die aktuell in die Autonavigationsvorrichtung
aufgezeichnet ist.
-
Gemäß dem oben
angegebenen Ausführungsbeispiel
3 wird der Typ des Schlüssels
als Verfahren zum Identifizieren des Lieferers der Java-Anwendung
verwendet. Als Alternative kann Information, die den Lieferer anzeigt,
wie beispielsweise Daten, in welchen eine ID, eine URL, ein Name
oder ähnliches
aufgezeichnet ist, an die Java-Anwendung angebracht sein.
-
Bei
den oben angegebenen Ausführungsbeispielen
1 bis 3 ist das zu entwickelnde Programm, das oben erklärt ist,
eine Java-Anwendung. Als Alternative kann das zu entwickelnde Programm
eine ursprüngliche
Anwendung sein, die beispielsweise in der C-Sprache geschrieben
ist. Weil die Programmliefervorrichtung gemäß irgendeinem der Ausführungsbeispiele
1 bis 3 ein Programm ist, das auf einem Personalcomputer ausgeführt wird,
kann dieses Programm vertrieben werden, während es in einem Aufzeichnungsmedium
gespeichert ist.
-
Industrielle Anwendbarkeit
-
Wie
es oben angegeben ist, sind die Programmliefervorrichtung und das
Speichermedium gemäß der vorliegenden
Erfindung für
eine Verifizierung und eine Lieferung eines Programms geeignet, das
für am
Fahrzeug angebrachte Informationssysteme entwickelt ist, und ist
das am Fahrzeug angebrachte Informationssystem gemäß der vorliegenden Erfindung
zur Ausführung
des durch die Programmliefervorrichtung gelieferten Programms geeignet.
-
Zusammenfassung
-
Eine
Programmliefervorrichtung enthält
eine Emulationseinrichtung zum Emulieren einer Hardwareumgebung
und einer Softwareumgebung eines an einem Kraftfahrzeug angebrachten
Informationssystems, eine Programmempfangseinrichtung zum Empfangen
eines Programms, das für
das am Kraftfahrzeug angebrachte Informationssystem entwickelt ist,
eine Beschränkungs-Hardwareeinrichtung
(21) zum Halten von Betriebsmittelzuständen und Umgebungsbedingungen
des am Kraftfahrzeug angebrachten Informationssystems als Beschränkungen, eine
Programmausführungsbeschränkungseinrichtung
(22) zum Beschränken
der Operation des Programms auf der Basis der durch die Beschränkungs-Halteeinrichtung
gehaltenen Beschränkungen und
eine Programmausführungseinrichtung
(112) zum Ausführen
des von der Programmempfangseinrichtung empfangenen Programms durch
Verwenden von Betriebsmitteln, die durch die Emulationseinrichtung
geliefert sind, gemäß den Beschränkungen,
die durch die Programmausführungsbeschränkungseinrichtung
geliefert sind.