-
HINTERGRUND DER ERFINDUNG
-
Eine Ausführungsform bezieht sich allgemein auf die Integration externer Vorrichtungen in ein Fahrzeug.
-
Fahrzeuge können verschiedene softwaregestützte Anwendungen enthalten, die Telefonnetzfähigkeiten, Navigation, Web-Browsen usw. bereitstellen. Falls solche Anwendungen von dem Hersteller verfügbar sind, können sie als eine Option, die üblicherweise als wesentliche Zusatzkosten erscheint, zu einem Fahrzeug hinzugefügt werden. Jede zu dem Fahrzeug hinzugefügte jeweilige Anwendung weist üblicherweise eine bezeichnete Schnittstelle auf, die für die Wechselwirkung mit dem Nutzer des Fahrzeugs spezifisch ist. Schnittstellenvorrichtungen, die die Eingabebedienelemente kombinieren können, sodass zum Steuern mehr als einer Anwendung eine einzelne Schnittstellenvorrichtung verwendet wird, sind eine Möglichkeit; falls die Anwendung nicht zu dem Zeitpunkt hinzugefügt wird, zu dem das Fahrzeug hergestellt wird, werden die notwendigen Kommunikationsverbindungen, Eingabebedienelemente und das für den Betrieb der Anwendung erforderliche Betriebssystem allerdings nicht eingebaut und können sie üblicherweise danach nicht hinzugefügt werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ein Vorteil einer Ausführungsform ist die Verwendung einer tragbaren Vorrichtung, die mehrere autorisierte Softwareanwendungen aufweist, wobei jede autorisierte Softwareanwendung durch ein fahrzeuggestütztes Schnittstellensystem auf der tragbaren Vorrichtung gestartet werden kann. Eine in der tragbaren Vorrichtung gespeicherte Host-Softwareanwendung wirkt als ein Host zum Beginnen der Kommunikation und zum Bereitstellen der Authentisierung zwischen dem Fahrzeugschnittstellensystem und der tragbaren Vorrichtung. Die Host-Softwareanwendung stellt einem Nutzer über eine Fahrzeug-Mensch-Maschine-Schnittstelle eine Liste autorisierter Softwareanwendungen dar. Der Nutzer wählt unter Verwendung der Mensch-Maschine-Schnittstelle eine jeweilige Softwareanwendung aus der Liste aus, wobei die Auswahl durch die tragbare Vorrichtung ausgeführt wird. Der ausgewählte Anwendungsinhalt wird über eine Fahrzeugzubehörvorrichtung des Fahrzeugs an den Nutzer ausgegeben. Das Starten der in der tragbaren Vorrichtung gespeicherten Softwareanwendungen ermöglicht, dass ein Nutzer auf den Kauf optionaler und kostspieliger Softwareanwendungen in dem Fahrzeug zur Zeit der Herstellung verzichtet. Darüber hinaus können die Anwendungen nach Ermessen des Nutzers hinzugefügt oder gelöscht werden.
-
Eine Ausführungsform betrachtet ein Verfahren zum Kommunizieren zwischen Softwareanwendungen in einer tragbaren Vorrichtung und einem softwaregesteuerten Fahrzeugsystem eines Fahrzeugs. Die tragbare Vorrichtung ist mit dem softwaregesteuerten Fahrzeugsystem verbunden. Die tragbare Vorrichtung enthält eine Host-Softwareanwendung und Slave-Softwareanwendungen. Die Host-Softwareanwendung kann in der tragbaren Vorrichtung gespeicherte Slave-Softwareanwendungen durch das softwaregesteuerte Fahrzeugsystem freigeben. Die Host-Softwareanwendung wird in Ansprechen auf das Aufbauen einer Kommunikationsverbindung von dem softwaregesteuerten Fahrzeugsystem zu der tragbaren Vorrichtung freigegeben. Eine autorisierte Slave-Softwareanwendung der tragbaren Vorrichtung wird unter Nutzung einer Fahrzeug-Mensch-Maschine-Schnittstelle des Fahrzeugs manuell ausgewählt. Die ausgewählte Slave-Softwareanwendung wird über die Host-Softwareanwendung, die einen Startanforderungsbefehl für die ausgewählte Slave-Softwareanwendung aufruft, gestartet. Ein Betriebssystem der tragbaren Vorrichtung führt über die Fahrzeug-Mensch-Maschine-Schnittstelle die Steuerung der ausgewählten Slave-Softwareanwendung aus.
-
Eine Ausführungsform betrachtet ein Tragbare-Vorrichtung-zu-Fahrzeug-Schnittstellenkommunikationssystem. Es wird eine tragbare Vorrichtung bereitgestellt, die eine Host-Softwareanwendung und mehrere Slave-Softwareanwendungen ausführen kann. Die Host-Softwareanwendung kann in der tragbaren Vorrichtung gespeicherte Slave-Softwareanwendungen über ein Fahrzeug freigeben. Ein Fahrzeugschnittstellensystem kommuniziert mit der tragbaren Vorrichtung. Das Fahrzeugschnittstellensystem enthält wenigstens eine Mensch-Maschine-Schnittstellenvorrichtung zum Empfangen von Eingabebefehlen von einem Nutzer zum Auswählen und Steuern der mehreren Slave-Software-anwendungen in der tragbaren Vorrichtung. Die Host-Softwareanwendung wird in Ansprechen auf das Aufbauen einer Kommunikationsverbindung von dem Fahrzeugschnittstellensystem zu der tragbaren Vorrichtung freigegeben. Zwischen dem Fahrzeugschnittstellensystem und der Host-Softwareanwendung wird eine Abtrage-Antwort-Authentisierung begonnen. Die Host-Softwareanwendung stellt einem Nutzer eine Liste autorisierter Slave-Softwareanwendungen dar. Eine jeweilige Slave-Software-anwendung wird unter Nutzung der wenigstens einen Mensch-Maschine-Schnittstellenvorrichtung manuell ausgewählt. Die ausgewählte Slave-Softwareanwendung wird durch die Host-Softwareanwendung gestartet, die einen Startanforderungsbefehl für die ausgewählte Slave-Software-anwendung aufruft. Ein Betriebssystem der tragbaren Vorrichtung führt die Steuerung der über die Fahrzeug-Mensch-Maschine-Schnittstelle ausgewählten Slave-Softwareanwendung aus.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschaltplan eines Tragbare-Vorrichtung-zu-Fahrzeug-Schnittstellenkommunikationssystems.
-
2 ist ein Ablaufplan für ein Verfahren zum Freigeben mehrerer in einer tragbaren Vorrichtung gespeicherter Softwareanwendungen über ein Fahrzeug.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In 1 ist ein Blockschaltplan eines Tragbare-Vorrichtung-zu-Fahrzeug-Schnittstellenkommunikationssystems gezeigt, das allgemein bei 10 gezeigt ist. Das System 10 enthält ein Fahrzeugschnittstellensystem 12, das mit einer tragbaren Vorrichtung 14 kommuniziert.
-
Die tragbare Vorrichtung 14 wird von einem Nutzer des Fahrzeugs getragen und kann mehrere Softwareanwendungen 16 (im Folgenden als Slave-Softwareanwendungen bezeichnet) speichern und ausführen. Beispiele einer tragbaren Vorrichtung 14 enthalten, sind aber nicht beschränkt auf, Smartphones, Netbooks, eReader, Personal Digital Assistant (PDA) und irgendeine andere Vorrichtung, die die mehreren Softwareanwendungen ausführen kann. Die mehreren Slave-Softwareanwendungen 16 enthalten, sind aber nicht beschränkt auf, Musik, DVD, Telefon, Navigation, Wetter, E-Mail und einen Web-Browser. Nach Ermessen des Nutzers können Anwendungen zu der tragbaren Vorrichtung 14 hinzugefügt oder von ihr gelöscht werden. Dass Anwendungen zu der tragbaren Vorrichtung hinzugefügt werden, wird durch Verbinden mit einem fernen Server 17 und Herunterladen der Anwendung ausgeführt. Alternativ kann zum Herunterladen der Anwendung auch eine Wechselspeichervorrichtung verwendet werden. Die von dem fernen Server 17 erhaltenen Anwendungen können Pay-for-download oder ein freier Download sein. Es ist festzustellen, dass alle mit dem System 10 verwendeten Anwendungen zur Nutzung durch eine Zweitpartei-Entität genehmigt worden sind. Dies minimiert das Risiko der Nutzung unberechtigter Software, die verfälschte oder bösartige Software sein kann oder Software sein kann, die zur Verwendung während des Fahrens unsicher ist.
-
Ferner enthält die tragbare Vorrichtung 14 eine Host-Softwareanwendung 18. Die Host-Softwareanwendung 18 stellt Funktionalität wie etwa Authentisieren der tragbaren Vorrichtung, Darstellen einer Liste verfügbarer Slave-Softwareanwendungen für einen Nutzer und Freigeben einer ausgewählten Slave-Softwareanwendung bereit. Außerdem erhält die Host-Softwareanwendung 18 von dem Fahrzeug einen Schlüssel 20 zum Authentisieren von Slave-Softwareanwendungen 16 für das Fahrzeugschnittstellensystem 12. Das Fahrzeug kann entweder einen vorher vorhandenen Schlüssel enthalten oder das Fahrzeug kann Schlüsselerzeugungssoftware (wie etwa ein gesichertes Modul) und Software zum Herstellen des Schlüssels, der für die tragbare Vorrichtung 14 zum Speichern bereitgestellt wird, enthalten. Der Schlüssel 20 kann ein digitaler Schlüssel, ein Berechtigungsschlüssel oder ähnlich sein. Wenn der Schlüssel 20 durch die Host-Softwareanwendung 22 für eine ausgewählte Slave-Softwareanwendung 16 bereitgestellt wird, stellt er Berechtigungen für die Überprüfung für das Fahrzeugschnittstellensystem 12, dass die ausgewählte Slave-Softwareanwendung eine autorisierte Anwendung ist, bereit. Falls eine Anwendung den zugeordneten Schlüssel nicht besitzt, bestimmt das Fahrzeugschnittstellensystem 12, dass die Anwendung keine zugelassene Softwareanwendung ist, und lässt nicht zu, dass die Anwendung das Fahrzeug stört.
-
Das fahrzeuggestützte Schnittstellensystem 12 enthält wenigstens eine Mensch-Maschine-Schnittstellenvorrichtung (HMI-Vorrichtung) 22. Vorzugsweise weist die HMI-Vorrichtung 22 eine doppelte Funktionalität auf, die das Annehmen einer manuellen Eingabe des Nutzers und/oder das Darstellen von Anwendungsinhalt für den Nutzer enthält. Ein Beispiel einer HMI, die eine doppelte Funktionalität enthält, ist eine Navigationsvorrichtung. Die Navigationsvorrichtung weist dedizierte Tasten oder einen Touchscreen zum Annehmen der Auswahl des Nutzers auf. Ferner enthält die Navigationsvorrichtung einen Anzeigebildschirm, der zum Anzeigen von Anwendungsinhalt verwendet werden kann. Ein weiteres Beispiel einer Vorrichtung mit doppelter Funktionalität ist ein Radiosystem. Von dem Nutzer können Radiobedientasten/-knöpfe verwendet werden, um Eingabeauswahlen zu treffen, und die Radioanzeige kann zum Darstellen des Anwendungsinhalts für den Nutzer verwendet werden.
-
Alternativ können für die Eingabeauswahl bzw. für die Ausgabeauswahl zwei getrennte Vorrichtungen verwendet werden. Zum Beispiel kann eine jeweilige HMI-Vorrichtung wie etwa ein an dem Lenkrad angeordneter Schalter zum Empfangen einer Nutzereingabeauswahl verwendet werden. Eine zweite jeweilige Vorrichtung 24, die zum Darstellen von Anwendungsinhalt für den Nutzer verwendet wird, kann einen Nachrichtenanzeigebildschirm wie etwa jene, die zum Anzeigen der Fahrzeuggeschwindigkeit, der Kraftstoffwirtschaftlichkeit, von Kilometerständen usw. verwendet werden, enthalten. Die tragbare Vorrichtung 14 kann ebenfalls zum Darstellen von Anwendungsinhalt für den Nutzer verwendet werden. Darüber hinaus kann durch das Fahrzeugschnittstellensystem 12 oder durch die tragbare Vorrichtung 14 ebenfalls Text-zu-Sprache-Funktionalität bereitgestellt werden, um Audiosignale an den Nutzer in dem Fahrzeug auszugeben. Außerdem könnte das Fahrzeug ebenfalls ein Spracherkennungssystem zum Eingeben von Text in eine Anwendung in der tragbaren Vorrichtung enthalten. Das Spracherkennungssystem wäre eine Alternative für einen Steuereingabeschalter, für einen Touchscreen, für eine Tastatur oder Ähnlich.
-
Ferner enthält das System 10 eine Anwendungsprogrammierungsschnittstelle (API) 26, die ein Softwareprogramm ist, das zum Ermöglichen der Wechselwirkung zwischen der tragbaren Vorrichtung 14 und dem Fahrzeugschnittstellensystem 12 verwendet wird. Das heißt, die API 26 ermöglicht, dass die HMI 22 des Fahrzeugschnittstellensystems 12 für die Datenkommunikation mit der tragbaren Vorrichtung 14 konfiguriert wird. Die API 26 nutzt Anwendungen, Anweisungen, Bibliotheken und Betriebssysteme, um die Spezifikationen für Routinen, Datenstrukturen und Protokolle zu bestimmen, die zum Kommunizieren zwischen der tragbaren Vorrichtung 14 und dem Fahrzeugschnittstellensystem 12 verwendet werden. Die API 26 definiert, wie das Fahrzeugschnittstellensystem 12 und die tragbare Vorrichtung 14 kommunizieren, um die HMI 22 zu authentisieren, zu konfigurieren, Inhalt auszutauschen und Steuerinformationen auszutauschen. Es ist festzustellen, dass die API 26 eine vollständige Schnittstelle, eine Einzelfunktionsschnittstelle oder mehrere Schnittstellen enthalten kann. Die API kann nur das Kommunikationsprotokoll definieren oder sich auf das Enthalten einer Programmiersprachensyntax und von Softwarefunktionsaufrufen erstrecken.
-
2 stellt einen Ablaufplan zum Freigeben einer in der tragbaren Vorrichtung gespeicherten ausgewählten Slave-Softwareanwendung durch das Fahrzeugschnittstellensystem eines Fahrzeugs dar.
-
In Block 30 wird die tragbare Vorrichtung mit dem Fahrzeugschnittstellensystem des Fahrzeugs verbunden. Die Kommunikationsverbindung kann ein drahtloses Kommunikationsmedium oder ein drahtgebundenes Kommunikationsmedium sein. Die tragbare Vorrichtung 14 kann zur Verbindung zwischen dem Fahrzeug und der tragbaren Vorrichtung die Universal-Serial-Bus-Spezifikation (USB-Spezifikation) nutzen, während Schalter an der Fahrzeug-HMI eingestellte Spannungsausgaben zum Übermitteln von Signalen an die Fahrzeug-HMI nutzen können. Zum Beispiel können Lenkungssteuerschalter Gleichspannungseingaben von 5 Volt sein, während die tragbare Vorrichtung die USB-Kommunikationsnorm nutzen kann. Da eine USB-gestützte Vorrichtung Daten gemäß verschiedenen Bandbreiten bei verschiedenen Spannungen überträgt, sind die zwei Vorrichtungen nicht direkt miteinander kompatibel. Im Ergebnis wird die HMI zum Übersetzen von Signalen zwischen den jeweiligen Vorrichtungen in Bezug auf die Eingabebefehle durch den Nutzer verwendet. Es ist festzustellen, dass einer oder mehrere Prozessoren, entweder innerhalb der verschiedenen HMI-Vorrichtungen oder ferne Prozessoren, die gemeinsame Verantwortlichkeiten aufweisen, die jeweiligen Signale für Authentisierungsabfragen verarbeiten, Signale zwischen der HMI und USB übersetzen und andere Verarbeitungsoperationen ausführen. Außerdem kann die tragbare Kommunikationsvorrichtung ebenfalls ein direktes Hardwarevideoausgangssignal nutzen, um die graphischen Inhalte des Bildschirms der tragbaren Vorrichtung oder irgendwelchen anderen graphischen Inhalt auf einen Fahrzeugbildschirm zu projizieren. Es können Videosignale wie etwa HDMI oder Composite-Video verwendet werden.
-
In Block 31 beginnt das Fahrzeugschnittstellensystem des Fahrzeugs einen Authentisierungsprozess mit der Host-Softwareanwendung der tragbaren Vorrichtung. Dieser kann durch einen Abfrage-Antwort-Authentisierungsprozess oder durch irgendeinen anderen Sicherheitsprozess, der die Kommunikation zwischen der Host-Softwareanwendung und dem fernen Server zur Überprüfung der Authentisierung enthält, ausgeführt werden.
-
In Block 32 wird eine Bestimmung vorgenommen, ob die Authentisierung gültig ist. Wenn der Authentisierungsprozess erfolglos ist, wird die Kommunikationsverbindung zur tragbaren Vorrichtung in Block 33 beendet. Wenn der Authentisierungsprozess erfolgreich ist, geht die Routine zu Block 34 über. Die in den Blöcken 31 und 32 beschriebene Sicherheitsprüfung kann periodisch wiederholt werden, um die Authentizität zu überprüfen. Falls die Kommunikation zwischen den zwei Vorrichtungen zu irgendeinem Zeitpunkt nicht authentisiert werden kann, wird die Kommunikationsverbindung beendet. Zur zusätzlichen Sicherheit kann die Host-Softwareanwendung bei Bedarf die Identifizierung des Fahrzeugschnittstellensystems authentisieren. Zum Beispiel kann die Host-Anwendung nur mit bestimmten von demselben Hersteller hergestellten Fahrzeugen über eine Schnittstelle verbunden werden können.
-
In Block 34 liefert das Fahrzeugschnittstellensystem des Fahrzeugs einen digitalen Schlüssel oder Ähnliches über die aufgebaute Kommunikationsverbindung an die Host-Softwareanwendung der tragbaren Vorrichtung. Der Schlüssel wird zum Authentisieren einer Slave-Softwareanwendung verwendet, wenn sie ausgewählt wird. Sofern nicht durch die ausgewählte Softwareanwendung der Schlüssel übergeben wird, wenn die Softwareanwendung durch das Fahrzeug abgefragt wird, wird durch das Fahrzeugschnittstellensystem verhindert, dass Slave-Softwareanwendungen funktionieren. Außerdem ist festzustellen, dass die Host-Softwareanwendung den digitalen Schlüssel auch als eine Nachführungsvorrichtung nutzt, um zu bestimmen, welche Slave-Softwareanwendung gegenwärtig freigegeben ist. Obgleich der Nutzer mehr als eine Slave-Softwareanwendung auf der tragbaren Vorrichtung geöffnet haben kann, kann jederzeit nur eine Anwendung zur Wechselwirkung mit der Fahrzeug-HMI freigegeben sein. Somit wird der Schlüssel verwendet, um zu identifizieren, welche Slave-Softwareanwendung zum Verbinden über eine Schnittstelle mit dem Fahrzeugschnittstellensystem autorisiert ist.
-
In Block 35 stellt die Host-Softwareanwendung der tragbaren Vorrichtung eine Liste aller verfügbaren Slave-Softwareanwendungen, die zur Ausführung autorisiert sind, durch die HMI des Fahrzeugschnittstellensystems dar. Einige Slave-Softwareanwendungen können zu einem gegenwärtigen Zeitpunkt wegen des Zustands des Fahrzeugs von der Verwendung/Funktionalität beschränkt sein. Zum Beispiel werden Anwendungen, die während des Fahrens über bestimmten Geschwindigkeiten als unsicher für die Ausführung angesehen werden, davor beschränkt aktiviert zu werden. Somit werden in einen beschränkten Zustand bestimmte Anwendungen oder die gesamte Anwendungsfunktionalität gesperrt. Es wird angemerkt, dass Fahrzeuginformationen wie etwa die Fahrzeuggeschwindigkeit, der Fahrzeugort und andere Informationen, die für Anwendungen der tragbaren Vorrichtung nützlich sind, über die API von dem Fahrzeug zu der tragbaren Vorrichtung gesendet werden können.
-
Wie zuvor beschrieben wurde, kann die Liste von Anwendungen durch den Nutzer geändert werden. Der Nutzer kann durch individuelle Anpassung der Host-Softwareanwendung der tragbaren Vorrichtungen Anwendungen, die in dem Fahrzeug unterstützt werden, hinzufügen/entfernen. Die individuelle Anpassung der Liste der Slave-Softwareanwendungen kann durch das Fahrzeugschnittstellensystem des Fahrzeugs, durch die Host-Softwareanwendung der tragbaren Vorrichtung oder über einen fernen Server durch eine Website ausgeführt werden. Autorisierte Slave-Softwareanwendungen, die zur Verwendung in einem Fahrzeug kompatibel sind und die mit der Host-Softwareanwendung der tragbaren Vorrichtung kompatibel sind, können durch eine bestimmende Zweitpartei bestimmt werden. Dies kann aus herstellerspezifischen Gründen erfolgen oder um zu verhindern, dass Anwendungen, die zur Verwendung in dem Fahrzeug während des Fahrens ungeeignet sind, betrieben werden, oder um zu verhindern, dass unbekannte oder böswillige Softwareanwendungen in dem Fahrzeugschnittstellensystem des Fahrzeugs betrieben werden.
-
Die Host-Softwareanwendung kann sich periodisch mit einem fernen Server verbinden, um zu überprüfen, dass die autorisierten Slave-Softwareanwendungen, die der Nutzer gewählt hat und/oder für die er gezahlt hat, auf der Liste stehen.
-
In Block 36 wählt der Nutzer in Ansprechen auf die Liste von Slave-Softwareanwendungen, die durch die HMI dargestellt wird, eine gewünschte Slave-Softwareanwendung zum Starten aus. Die zum Auswählen aus der Liste der Slave-Softwareanwendungen verwendete HMI kann Schalter an dem Lenkrad, Eingaben für die Navigationseinheit (z. B. feste Knöpfe oder Touchscreen), Radiobedienschalter, Nachrichtenzentralen-Anzeigeschalter und Spracherkennung enthalten, ist darauf aber nicht beschränkt. Die Schnittstelle zwischen der Host-Softwareanwendung und der HMI wird durch die API gesteuert. Darüber hinaus wird verhindert, dass der Nutzer Anwendungen auswählt oder freigibt, die nicht als Teil der durch die Host-Softwareanwendung bereitgestellten Liste autorisiert sind.
-
In Block 37 ruft die Host-Softwareanwendung einen Startanforderungsbefehl für die jeweilige Slave-Softwareanwendung zusammen mit dem Schlüssel auf. Um den Startanforderungsbefehl und den Schlüssel von der Host-Softwareanwendung zu der ausgewählten Slave-Softwareanwendung zu senden, kann ein entfernter Prozeduraufruf (RPC) verwendet werden. Der durch die Host-Softwareanwendung begonnene RPC ist eine Anordnung zum Ausführen einer Startprozedur. Die Slave-Softwareanwendung kann die Startanforderung durch Ansprechen auf die Host-Softwareanwendung und Fortsetzen ihres Startprozesses quittieren. Wenn die Antwort empfangen wird, kann die Host-Softwareanwendung deaktiviert werden, um zu ermöglichen, dass sich die Slave-Softwareanwendung über eine Schnittstelle mit dem Fahrzeugschnittstellensystem des Fahrzeugs verbindet. Das Betriebssystem der tragbaren Vorrichtung managt und koordiniert die Aktivitäten, die Ausführung und die gemeinsame Nutzung der Betriebsmittel der Host-Softwareanwendung und der Slave-Softwareanwendungen der tragbaren Vorrichtung. Einige Betriebssysteme lassen nicht zu, dass mehrere Softwareanwendungen gleichzeitig ausgeführt werden, wobei die Deaktivierung in diesem Fall aus dem Schließen der Anwendung bestehen kann. In anderen Betriebssystemen, die Multitasking zulassen, kann die Deaktivierung bedeuten, dass die Host-Anwendung in einen Hintergrundzustand geht.
-
In einigen Systemen kann die Host-Softwareanwendung das Fahrzeug benachrichtigen, dass eine Slave-Anwendung kurz davor steht gestartet zu werden. Dies kann das Fahrzeug auffordern, eine Authentisierungsabfrage an die Slave-Softwareanwendung zu senden, gerade wenn sie startet.
-
In Block 38 startet die tragbare Vorrichtung die Slave-Softwareanwendung in Ansprechen auf die Startantwortnachricht von der Host-Softwareanwendung.
-
In Block 39 bestimmt das Fahrzeugschnittstellensystem des Fahrzeugs, ob die Slave-Softwareanwendung, die gerade gestartet wird, den gültigen Schlüssel aufweist. Die Bestimmung erfolgt, um zu überprüfen, dass gerade eine genehmigte Anwendung gestartet wird. Wenn die Bestimmung erfolgt, dass die Slave-Softwareanwendung den gültigen Schlüssel nicht besitzt, wird nicht zugelassen, dass die Slave-Softwareanwendung auf die Fahrzeugschnittstelle zugreift, und erfolgt eine Rückkehr zu Block 34. Für den Nutzer kann eine Mitteilung bereitgestellt werden, die den Nutzer darüber informiert, dass eine unberechtigte Anwendung zu starten versucht. Der Nutzer wird automatisch umgeleitet oder der Nutzer wird aufgefordert, den Versuch der unberechtigten Software zu starten zu quittieren und die Routine zu der Homepage (z. B. zur Anzeige autorisierter Slave-Softwareanwendungen) umzuleiten. Das Verfahren dieser Rückkehr kann in Abhängigkeit von dem tragbaren Fahrzeugsystem variieren. In einigen Fällen kann das Fahrzeug daraufhin die Host-Anwendung über die API starten und sie in den Vordergrund bringen, damit sie der Nutzer manipuliert. Falls die Bestimmung erfolgt, dass die Slave-Softwareanwendung nicht den gültigen Schlüssel besitzt, fährt die Routine mit Block 39 fort.
-
Das fahrzeuggestützte Schnittstellensystem des Fahrzeugs kann jederzeit während der Aktivierung der Slave-Softwareanwendung die Überprüfung des Schlüssels anfordern. Dies wird für zusätzliche Sicherheit bereitgestellt, sodass die gegenwärtige Anwendung nicht durch eine böswillige Anwendung, die das Fahrzeugschnittstellensystem zu unterbrechen oder zu verfälschen versucht, unterbrochen wird.
-
In Block 40 setzt das Fahrzeugschnittstellensystem den Prozess des Ausführens der Slave-Softwareanwendung in Ansprechen auf einen gültigen Authentisierungsschlüssel fort. Die HMI-Vorrichtung empfängt Eingaben von dem Nutzer des Fahrzeugs, um Auswahlen zum Steuern der Ausgabe der Slave-Softwareanwendung zu treffen. Das Betriebssystem der tragbaren Vorrichtung tritt mit der Fahrzeugschnittstellenvorrichtung des Fahrzeugs in Wechselwirkung, um Anforderungen zu empfangen und Antworten oder Anwendungsinhalt auszugeben.
-
Zum Ausgeben des Anwendungsinhalts an den Nutzer des Fahrzeugs werden Ausgabevorrichtungen wie etwa Fahrzeugzubehörvorrichtungen verwendet. Die Zubehörvorrichtungen können eine HMI-gestützte Vorrichtung enthalten oder können eine Vorrichtung, die allein für die Ausgabe von Anwendungsinhalt verwendet wird, wie etwa Bildschirme und Lautsprecher, enthalten. Die Ausgabevorrichtung gibt den in der tragbaren Vorrichtung ausgeführten Anwendungsinhalt durch das Fahrzeug wieder. Die geeignete Zubehörvorrichtung, die als Schnittstelle dient, wird in Abhängigkeit von dem Anwendungsinhalt ausgewählt, der wiedergegeben wird. Wenn z. B. erforderlich ist, dass eine Wechselwirkung mit dem Nutzer erforderlich ist, wird eine HMI verwendet, die für den Nutzer Eingaben darstellt und Auswahlen/Befehle von dem Nutzer annimmt. Wenn alternativ kein Ansprechen von dem Nutzer erforderlich ist, kann die Zubehörvorrichtung nur erfordern, dass die Vorrichtung eine Wiedergabevorrichtung (z. B. Lautsprecher zum Abspielen von Musik) ist. Zusammengefasst können die Fahrzeugzubehörvorrichtungen Vorrichtungen enthalten, die Eingaben empfangen und Ausgaben erzeugen, nur Eingaben empfangen oder nur Ausgaben erzeugen können.
-
In Block 41 wählt der Nutzer unter Verwendung einer HMI des Fahrzeugs aus, dass die gegenwärtig ausgewählte Anwendung geschlossen wird, oder fordert er einen Startbildschirm (d. h. Host-Softwareanwendung) an. Außerdem ist festzustellen, dass irgendeine Eingabe durch den Nutzer zum Reaktivieren einer anderen Anwendung durch das Fahrzeugschnittstellensystem oder durch die tragbare Vorrichtung oder zum Unterbrechen der Kommunikation zwischen der tragbaren Vorrichtung und dem Fahrzeugschnittstellensystem als Anforderung durch den Nutzer zum Deaktivieren der gegenwärtig ausgewählten Anwendung interpretiert wird.
-
In Block 42 kann der digitale Schlüssel von der vorher ausgewählten Slave-Softwareanwendung an die Host-Softwareanwendung zurück übertragen werden, wenn die Slave-Anwendung deaktiviert wird oder das Fahrzeugschnittstellensystem benachrichtigt, dass sie deaktiviert wird. Die Übertragung des digitalen Schlüssels an die Host-Softwareanwendung meldet den Schlüssel an, sodass die Host-Softwareanwendung den Ort des digitalen Schlüssels nachführen kann. Außerdem kann sich die Host-Softwareanwendung selbst für das Fahrzeug authentisieren, um einen neu erzeugten Schlüssel zu erhalten. Somit stellt die Host-Anwendung sicher, dass der Schlüssel, der für eine Slave-Softwareanwendung bereitgestellt wird, der autorisierte Schlüssel ist. Im Ergebnis hält die Host-Softwareanwendung den aktualisierten Schlüssel in der Weise aufrecht, dass die nächste ausgewählte Slave-Softwareanwendung den gültigen Schlüssel zum Starten besitzt.
-
In Block 43 wird die Host-Softwareanwendung in Ansprechen auf die Deaktivierung der zuvor ausgewählten Slave-Softwareanwendung reaktiviert. Die Host-Softwareanwendung steuert den Host-Zustand der tragbaren Vorrichtung durch Verbinden über eine Schnittstelle mit dem Fahrzeugschnittstellensystem, wenn eine Slave-Softwareanwendung nicht ausgeführt wird. Es erfolgt eine Rückkehr zu Block 34, um dem Nutzer über die HMI die Liste autorisierter Anwendungen darzustellen. Falls die Kommunikation zwischen der tragbaren Vorrichtung und dem Fahrzeugschnittstellensystem zu irgendeinem Zeitpunkt verloren geht, beginnen beide Schnittstellen erneut und kehrt die Routine zu Block 30 zurück und wartet auf eine Bestätigung einer Kommunikationsverbindung zwischen der tragbaren Vorrichtung und dem Fahrzeugschnittstellensystem.
-
Obgleich bestimmte Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben worden sind, erkennt der Fachmann auf dem Gebiet, auf das sich diese Erfindung bezieht, verschiedene alternative Entwürfe und Ausführungsformen, um die wie durch die folgenden Ansprüche definierte Erfindung zu verwirklichen.